<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>10463</bug_id>
          
          <creation_ts>2006-08-17 12:16:54 -0700</creation_ts>
          <short_desc>WTF Changes needed for Qt platform code</short_desc>
          <delta_ts>2006-08-18 12:07:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>darin</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>52846</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-17 12:16:54 -0700</bug_when>
    <thetext>The WebKit Template Framework needs some adjustments for the Qt platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52847</commentid>
    <comment_count>1</comment_count>
      <attachid>10099</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-17 12:21:45 -0700</bug_when>
    <thetext>Created attachment 10099
Initial patch

Some Unicode changes for Qt4 done by George Staikos, and a tiny
adjustment for wtf/Platform.h as no KDE stuff is involved so far - only Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52851</commentid>
    <comment_count>2</comment_count>
      <attachid>10102</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2006-08-17 12:43:16 -0700</bug_when>
    <thetext>Created attachment 10102
Corrected patch

Forgot a reference to the bug in the ChangeLog. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52906</commentid>
    <comment_count>3</comment_count>
      <attachid>10102</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-18 03:14:41 -0700</bug_when>
    <thetext>Comment on attachment 10102
Corrected patch

Maciej or darin should review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52935</commentid>
    <comment_count>4</comment_count>
      <attachid>10102</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-08-18 11:21:48 -0700</bug_when>
    <thetext>Comment on attachment 10102
Corrected patch

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10099</attachid>
            <date>2006-08-17 12:21:45 -0700</date>
            <delta_ts>2006-08-17 12:43:16 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>wtf-changes.diff</filename>
            <type>text/plain</type>
            <size>16838</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKFJldmlzaW9uIDE1OTI1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCShBcmJlaXRza29waWUpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDYtMDgtMTcgIE5pa29sYXMg
WmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXVEYgQ2hhbmdlcyBuZWVkZWQgZm9yIFF0IHBsYXRm
b3JtIGNvZGUuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvdW5p
Y29kZS9Vbmljb2RlRGVjb21wb3NpdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdURjo6VW5pY29k
ZTo6KToKKyAgICAgICAgKiB3dGYvdW5pY29kZS9Vbmljb2RlRGlyZWN0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAoV1RGOjpVbmljb2RlOjopOgorICAgICAgICAqIHd0Zi91bmljb2RlL3F0NC9Vbmlj
b2RlUXQ0LmNwcDogQWRkZWQuCisgICAgICAgIChXVEY6OlVuaWNvZGU6OmRpcmVjdGlvbik6Cisg
ICAgICAgIChXVEY6OlVuaWNvZGU6OmNhdGVnb3J5KToKKyAgICAgICAgKFdURjo6VW5pY29kZTo6
ZGVjb21wb3NpdGlvbik6CisgICAgICAgICogd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaDoK
KyAgICAgICAgKFdURjo6VW5pY29kZTo6dG9Mb3dlcik6CisgICAgICAgIChXVEY6OlVuaWNvZGU6
OnRvVXBwZXIpOgorICAgICAgICAoV1RGOjpVbmljb2RlOjppc1ByaW50YWJsZUNoYXIpOgorICAg
ICAgICAoV1RGOjpVbmljb2RlOjppc1NwYWNlKToKKyAgICAgICAgKFdURjo6VW5pY29kZTo6aXNQ
dW5jdCk6CisgICAgICAgIChXVEY6OlVuaWNvZGU6OmlzRGlnaXQpOgorICAgICAgICAoV1RGOjpV
bmljb2RlOjptaXJyb3JlZENoYXIpOgorICAgICAgICAoV1RGOjpVbmljb2RlOjpjb21wYXJlKToK
KwogMjAwNi0wOC0xNSAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IG1qcy4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L3F0NC9Vbmljb2RlUXQ0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvdW5p
Y29kZS9xdDQvVW5pY29kZVF0NC5jcHAJKFJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5jcHAJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTk3
IEBACisvLyAtKi0gYy1iYXNpYy1vZmZzZXQ6IDIgLSotCisvKgorICogIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBLREUgbGlicmFyaWVzCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEdlb3JnZSBT
dGFpa29zIDxzdGFpa29zQGtkZS5vcmc+CisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiVW5pY29k
ZVF0NC5oIgorCit1c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOworCitEaXJlY3Rpb24gV1RG
OjpVbmljb2RlOjpkaXJlY3Rpb24oaW50IGMpCit7CisgIC8vIEZJWE1FOiBpbXBsZW1lbnQgc3Vw
cG9ydCBmb3Igbm9uLUJNUCBjb2RlIHBvaW50cworICBpZiAoKGMgJiAweGZmZmYwMDAwKSAhPSAw
KQorICAgIHJldHVybiBMZWZ0VG9SaWdodDsKKworICBzd2l0Y2ggKFFDaGFyKCh1bnNpZ25lZCBz
aG9ydCljKS5kaXJlY3Rpb24oKSkgeworICAgIGNhc2UgUUNoYXI6OkRpckw6CisgICAgICByZXR1
cm4gTGVmdFRvUmlnaHQ7CisgICAgY2FzZSBRQ2hhcjo6RGlyUjoKKyAgICAgIHJldHVybiBSaWdo
dFRvTGVmdDsKKyAgICBjYXNlIFFDaGFyOjpEaXJOU006CisgICAgICByZXR1cm4gTm9uU3BhY2lu
Z01hcms7CisgICAgY2FzZSBRQ2hhcjo6RGlyQk46CisgICAgICByZXR1cm4gQm91bmRhcnlOZXV0
cmFsOworICAgIGNhc2UgUUNoYXI6OkRpckVOOgorICAgICAgcmV0dXJuIEV1cm9wZWFuTnVtYmVy
OworICAgIGNhc2UgUUNoYXI6OkRpckVTOgorICAgICAgcmV0dXJuIEV1cm9wZWFuTnVtYmVyU2Vw
YXJhdG9yOworICAgIGNhc2UgUUNoYXI6OkRpckVUOgorICAgICAgcmV0dXJuIEV1cm9wZWFuTnVt
YmVyVGVybWluYXRvcjsKKyAgICBjYXNlIFFDaGFyOjpEaXJBTjoKKyAgICAgIHJldHVybiBBcmFi
aWNOdW1iZXI7CisgICAgY2FzZSBRQ2hhcjo6RGlyQ1M6CisgICAgICByZXR1cm4gQ29tbW9uTnVt
YmVyU2VwYXJhdG9yOworICAgIGNhc2UgUUNoYXI6OkRpckI6CisgICAgICByZXR1cm4gQmxvY2tT
ZXBhcmF0b3I7CisgICAgY2FzZSBRQ2hhcjo6RGlyUzoKKyAgICAgIHJldHVybiBTZWdtZW50U2Vw
YXJhdG9yOworICAgIGNhc2UgUUNoYXI6OkRpcldTOgorICAgICAgcmV0dXJuIFdoaXRlU3BhY2VO
ZXV0cmFsOworICAgIGNhc2UgUUNoYXI6OkRpck9OOgorICAgICAgcmV0dXJuIE90aGVyTmV1dHJh
bDsKKyAgICBjYXNlIFFDaGFyOjpEaXJMUkU6CisgICAgICByZXR1cm4gTGVmdFRvUmlnaHRFbWJl
ZGRpbmc7CisgICAgY2FzZSBRQ2hhcjo6RGlyTFJPOgorICAgICAgcmV0dXJuIExlZnRUb1JpZ2h0
T3ZlcnJpZGU7CisgICAgY2FzZSBRQ2hhcjo6RGlyQUw6CisgICAgICByZXR1cm4gUmlnaHRUb0xl
ZnRBcmFiaWM7CisgICAgY2FzZSBRQ2hhcjo6RGlyUkxFOgorICAgICAgcmV0dXJuIFJpZ2h0VG9M
ZWZ0RW1iZWRkaW5nOworICAgIGNhc2UgUUNoYXI6OkRpclJMTzoKKyAgICAgIHJldHVybiBSaWdo
dFRvTGVmdE92ZXJyaWRlOworICAgIGNhc2UgUUNoYXI6OkRpclBERjoKKyAgICAgIHJldHVybiBQ
b3BEaXJlY3Rpb25hbEZvcm1hdDsKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuIExlZnRUb1Jp
Z2h0OworICB9Cit9CisKK0NoYXJDYXRlZ29yeSBXVEY6OlVuaWNvZGU6OmNhdGVnb3J5KGludCBj
KQoreworICAvLyBGSVhNRTogaW1wbGVtZW50IHN1cHBvcnQgZm9yIG5vbi1CTVAgY29kZSBwb2lu
dHMKKyAgaWYgKChjICYgMHhmZmZmMDAwMCkgIT0gMCkKKyAgICByZXR1cm4gTm9DYXRlZ29yeTsK
KworICBzd2l0Y2ggKFFDaGFyKCh1bnNpZ25lZCBzaG9ydCljKS5jYXRlZ29yeSgpKSB7CisgICAg
Y2FzZSBRQ2hhcjo6TWFya19Ob25TcGFjaW5nOgorICAgICAgcmV0dXJuIE1hcmtfTm9uU3BhY2lu
ZzsKKyAgICBjYXNlIFFDaGFyOjpNYXJrX1NwYWNpbmdDb21iaW5pbmc6CisgICAgICByZXR1cm4g
TWFya19TcGFjaW5nQ29tYmluaW5nOworICAgIGNhc2UgUUNoYXI6Ok1hcmtfRW5jbG9zaW5nOgor
ICAgICAgcmV0dXJuIE1hcmtfRW5jbG9zaW5nOworICAgIGNhc2UgUUNoYXI6Ok51bWJlcl9EZWNp
bWFsRGlnaXQ6CisgICAgICByZXR1cm4gTnVtYmVyX0RlY2ltYWxEaWdpdDsKKyAgICBjYXNlIFFD
aGFyOjpOdW1iZXJfTGV0dGVyOgorICAgICAgcmV0dXJuIE51bWJlcl9MZXR0ZXI7CisgICAgY2Fz
ZSBRQ2hhcjo6TnVtYmVyX090aGVyOgorICAgICAgcmV0dXJuIE51bWJlcl9PdGhlcjsKKyAgICBj
YXNlIFFDaGFyOjpTZXBhcmF0b3JfU3BhY2U6CisgICAgICByZXR1cm4gU2VwYXJhdG9yX1NwYWNl
OworICAgIGNhc2UgUUNoYXI6OlNlcGFyYXRvcl9MaW5lOgorICAgICAgcmV0dXJuIFNlcGFyYXRv
cl9MaW5lOworICAgIGNhc2UgUUNoYXI6OlNlcGFyYXRvcl9QYXJhZ3JhcGg6CisgICAgICByZXR1
cm4gU2VwYXJhdG9yX1BhcmFncmFwaDsKKyAgICBjYXNlIFFDaGFyOjpPdGhlcl9Db250cm9sOgor
ICAgICAgcmV0dXJuIE90aGVyX0NvbnRyb2w7CisgICAgY2FzZSBRQ2hhcjo6T3RoZXJfRm9ybWF0
OgorICAgICAgcmV0dXJuIE90aGVyX0Zvcm1hdDsKKyAgICBjYXNlIFFDaGFyOjpPdGhlcl9TdXJy
b2dhdGU6CisgICAgICByZXR1cm4gT3RoZXJfU3Vycm9nYXRlOworICAgIGNhc2UgUUNoYXI6Ok90
aGVyX1ByaXZhdGVVc2U6CisgICAgICByZXR1cm4gT3RoZXJfUHJpdmF0ZVVzZTsKKyAgICBjYXNl
IFFDaGFyOjpPdGhlcl9Ob3RBc3NpZ25lZDoKKyAgICAgIHJldHVybiBPdGhlcl9Ob3RBc3NpZ25l
ZDsKKyAgICBjYXNlIFFDaGFyOjpMZXR0ZXJfVXBwZXJjYXNlOgorICAgICAgcmV0dXJuIExldHRl
cl9VcHBlcmNhc2U7CisgICAgY2FzZSBRQ2hhcjo6TGV0dGVyX0xvd2VyY2FzZToKKyAgICAgIHJl
dHVybiBMZXR0ZXJfTG93ZXJjYXNlOworICAgIGNhc2UgUUNoYXI6OkxldHRlcl9UaXRsZWNhc2U6
CisgICAgICByZXR1cm4gTGV0dGVyX1RpdGxlY2FzZTsKKyAgICBjYXNlIFFDaGFyOjpMZXR0ZXJf
TW9kaWZpZXI6CisgICAgICByZXR1cm4gTGV0dGVyX01vZGlmaWVyOworICAgIGNhc2UgUUNoYXI6
OkxldHRlcl9PdGhlcjoKKyAgICAgIHJldHVybiBMZXR0ZXJfT3RoZXI7CisgICAgY2FzZSBRQ2hh
cjo6UHVuY3R1YXRpb25fQ29ubmVjdG9yOgorICAgICAgcmV0dXJuIFB1bmN0dWF0aW9uX0Nvbm5l
Y3RvcjsKKyAgICBjYXNlIFFDaGFyOjpQdW5jdHVhdGlvbl9EYXNoOgorICAgICAgcmV0dXJuIFB1
bmN0dWF0aW9uX0Rhc2g7CisgICAgY2FzZSBRQ2hhcjo6UHVuY3R1YXRpb25fT3BlbjoKKyAgICAg
IHJldHVybiBQdW5jdHVhdGlvbl9PcGVuOworICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0Ns
b3NlOgorICAgICAgcmV0dXJuIFB1bmN0dWF0aW9uX0Nsb3NlOworICAgIGNhc2UgUUNoYXI6OlB1
bmN0dWF0aW9uX0luaXRpYWxRdW90ZToKKyAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9Jbml0aWFs
UXVvdGU7CisgICAgY2FzZSBRQ2hhcjo6UHVuY3R1YXRpb25fRmluYWxRdW90ZToKKyAgICAgIHJl
dHVybiBQdW5jdHVhdGlvbl9GaW5hbFF1b3RlOworICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9u
X090aGVyOgorICAgICAgcmV0dXJuIFB1bmN0dWF0aW9uX090aGVyOworICAgIGNhc2UgUUNoYXI6
OlN5bWJvbF9NYXRoOgorICAgICAgcmV0dXJuIFN5bWJvbF9NYXRoOworICAgIGNhc2UgUUNoYXI6
OlN5bWJvbF9DdXJyZW5jeToKKyAgICAgIHJldHVybiBTeW1ib2xfQ3VycmVuY3k7CisgICAgY2Fz
ZSBRQ2hhcjo6U3ltYm9sX01vZGlmaWVyOgorICAgICAgcmV0dXJuIFN5bWJvbF9Nb2RpZmllcjsK
KyAgICBjYXNlIFFDaGFyOjpTeW1ib2xfT3RoZXI6CisgICAgICByZXR1cm4gU3ltYm9sX090aGVy
OworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gTm9DYXRlZ29yeTsKKyAgfQorfQorCisKK0Rl
Y29tcG9zaXRpb24gV1RGOjpVbmljb2RlOjpkZWNvbXBvc2l0aW9uKGludCBjKQoreworICAvLyBG
SVhNRTogaW1wbGVtZW50IHN1cHBvcnQgZm9yIG5vbi1CTVAgY29kZSBwb2ludHMKKyAgaWYgKChj
ICYgMHhmZmZmMDAwMCkgIT0gMCkKKyAgICByZXR1cm4gTm9uZTsKKworICBzd2l0Y2ggKFFDaGFy
KCh1bnNpZ25lZCBzaG9ydCljKS5kZWNvbXBvc2l0aW9uVGFnKCkpIHsKKyAgICBkZWZhdWx0Ogor
ICAgIGNhc2UgUUNoYXI6Ok5vRGVjb21wb3NpdGlvbjoKKyAgICAgIHJldHVybiBOb25lOworICAg
IGNhc2UgUUNoYXI6OkNhbm9uaWNhbDoKKyAgICAgIHJldHVybiBDYW5vbmljYWw7CisgICAgY2Fz
ZSBRQ2hhcjo6Rm9udDoKKyAgICAgIHJldHVybiBGb250OworICAgIGNhc2UgUUNoYXI6Ok5vQnJl
YWs6CisgICAgICByZXR1cm4gTm9CcmVhazsKKyAgICBjYXNlIFFDaGFyOjpJbml0aWFsOgorICAg
ICAgcmV0dXJuIEluaXRpYWw7CisgICAgY2FzZSBRQ2hhcjo6TWVkaWFsOgorICAgICAgcmV0dXJu
IE1lZGlhbDsKKyAgICBjYXNlIFFDaGFyOjpGaW5hbDoKKyAgICAgIHJldHVybiBGaW5hbDsKKyAg
ICBjYXNlIFFDaGFyOjpJc29sYXRlZDoKKyAgICAgIHJldHVybiBJc29sYXRlZDsKKyAgICBjYXNl
IFFDaGFyOjpDaXJjbGU6CisgICAgICByZXR1cm4gQ2lyY2xlOworICAgIGNhc2UgUUNoYXI6OlN1
cGVyOgorICAgICAgcmV0dXJuIFN1cGVyOworICAgIGNhc2UgUUNoYXI6OlN1YjoKKyAgICAgIHJl
dHVybiBTdWI7CisgICAgY2FzZSBRQ2hhcjo6VmVydGljYWw6CisgICAgICByZXR1cm4gVmVydGlj
YWw7CisgICAgY2FzZSBRQ2hhcjo6V2lkZToKKyAgICAgIHJldHVybiBXaWRlOworICAgIGNhc2Ug
UUNoYXI6Ok5hcnJvdzoKKyAgICAgIHJldHVybiBOYXJyb3c7CisgICAgY2FzZSBRQ2hhcjo6U21h
bGw6CisgICAgICByZXR1cm4gU21hbGw7CisgICAgY2FzZSBRQ2hhcjo6U3F1YXJlOgorICAgICAg
cmV0dXJuIFNxdWFyZTsKKyAgICBjYXNlIFFDaGFyOjpDb21wYXQ6CisgICAgICByZXR1cm4gQ29t
cGF0OworICAgIGNhc2UgUUNoYXI6OkZyYWN0aW9uOgorICAgICAgcmV0dXJuIEZyYWN0aW9uOwor
ICB9Cit9CisKKy8vIHZpbTogdHM9MiBzdz0yIGV0CkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0
Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgJKFJldmlzaW9uIDE1OTI0KQorKysgSmF2YVNjcmlw
dENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAkoQXJiZWl0c2tvcGllKQpAQCAtMjUs
OSArMjUsMTcgQEAKICNkZWZpbmUgS0pTX1VOSUNPREVfUVQ0X0gKIAogI2luY2x1ZGUgPFFDaGFy
PgorI2luY2x1ZGUgPFFTdHJpbmc+CiAKKyNpbmNsdWRlIDxjb25maWcuaD4KKyNpbmNsdWRlIDxr
anMvdXN0cmluZy5oPgorCiAjaW5jbHVkZSAiLi4vVW5pY29kZUNhdGVnb3J5LmgiCisjaW5jbHVk
ZSAiLi4vVW5pY29kZURlY29tcG9zaXRpb24uaCIKKyNpbmNsdWRlICIuLi9Vbmljb2RlRGlyZWN0
aW9uLmgiCiAKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwogbmFtZXNwYWNlIFdURiB7CiAgIG5hbWVz
cGFjZSBVbmljb2RlIHsKICAgICBpbmxpbmUgaW50IHRvTG93ZXIodWludDE2X3QqIHN0ciwgaW50
IHN0ckxlbmd0aCwgdWludDE2X3QqJiBkZXN0SWZOZWVkZWQpCkBAIC00MCw2ICs0OCwxMSBAQAog
ICAgICAgcmV0dXJuIHN0ckxlbmd0aDsKICAgICB9CiAKKyAgICBpbmxpbmUgdWludDE2X3QgdG9M
b3dlcih1aW50MTZfdCBjaCkKKyAgICB7CisgICAgICByZXR1cm4gUUNoYXIoY2gpLnRvTG93ZXIo
KS51bmljb2RlKCk7CisgICAgfQorCiAgICAgaW5saW5lIGludCB0b1VwcGVyKHVpbnQxNl90KiBz
dHIsIGludCBzdHJMZW5ndGgsIHVpbnQxNl90KiYgZGVzdElmTmVlZGVkKQogICAgIHsKICAgICAg
IGRlc3RJZk5lZWRlZCA9IDA7CkBAIC01MCw4NyArNjMsNTggQEAKICAgICAgIHJldHVybiBzdHJM
ZW5ndGg7CiAgICAgfQogCisgICAgaW5saW5lIHVpbnQxNl90IHRvVXBwZXIodWludDE2X3QgY2gp
CisgICAgeworICAgICAgcmV0dXJuIFFDaGFyKGNoKS50b1VwcGVyKCkudW5pY29kZSgpOworICAg
IH0KKwogICAgIGlubGluZSBib29sIGlzRm9ybWF0Q2hhcihpbnQzMl90IGMpCiAgICAgewogICAg
ICAgcmV0dXJuIChjICYgMHhmZmZmMDAwMCkgPT0gMCAmJiBRQ2hhcigodW5zaWduZWQgc2hvcnQp
YykuY2F0ZWdvcnkoKSA9PSBRQ2hhcjo6T3RoZXJfRm9ybWF0OwogICAgIH0KIAorICAgIGlubGlu
ZSBib29sIGlzUHJpbnRhYmxlQ2hhcihpbnQzMl90IGMpCisgICAgeworICAgICAgcmV0dXJuIChj
ICYgMHhmZmZmMDAwMCkgPT0gMCAmJiBRQ2hhcigodW5zaWduZWQgc2hvcnQpYykuaXNQcmludCgp
OyAKKyAgICB9CisJCiAgICAgaW5saW5lIGJvb2wgaXNTZXBhcmF0b3JTcGFjZShpbnQzMl90IGMp
CiAgICAgewogICAgICAgcmV0dXJuIChjICYgMHhmZmZmMDAwMCkgPT0gMCAmJiBRQ2hhcigodW5z
aWduZWQgc2hvcnQpYykuY2F0ZWdvcnkoKSA9PSBRQ2hhcjo6U2VwYXJhdG9yX1NwYWNlOwogICAg
IH0KIAotICAgIGlubGluZSBDaGFyQ2F0ZWdvcnkgY2F0ZWdvcnkoaW50MzJfdCBjKQorICAgIGlu
bGluZSBib29sIGlzU3BhY2UoaW50MzJfdCBjKQogICAgIHsKLSAgICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQgc3VwcG9ydCBmb3Igbm9uLUJNUCBjb2RlIHBvaW50cwotICAgICAgaWYgKChjICYgMHhm
ZmZmMDAwMCkgIT0gMCkKLSAgICAgICAgcmV0dXJuIE5vQ2F0ZWdvcnk7CisgICAgICByZXR1cm4g
KGMgJiAweGZmZmYwMDAwKSA9PSAwICYmIFFDaGFyKCh1bnNpZ25lZCBzaG9ydCljKS5pc1NwYWNl
KCk7CisgICAgfQogCi0gICAgICBzd2l0Y2ggKFFDaGFyKCh1bnNpZ25lZCBzaG9ydCljKS5jYXRl
Z29yeSgpKSB7Ci0gICAgICAgIGNhc2UgUUNoYXI6Ok1hcmtfTm9uU3BhY2luZzoKLSAgICAgICAg
ICByZXR1cm4gTWFya19Ob25TcGFjaW5nOwotICAgICAgICBjYXNlIFFDaGFyOjpNYXJrX1NwYWNp
bmdDb21iaW5pbmc6Ci0gICAgICAgICAgcmV0dXJuIE1hcmtfU3BhY2luZ0NvbWJpbmluZzsKLSAg
ICAgICAgY2FzZSBRQ2hhcjo6TWFya19FbmNsb3Npbmc6Ci0gICAgICAgICAgcmV0dXJuIE1hcmtf
RW5jbG9zaW5nOwotICAgICAgICBjYXNlIFFDaGFyOjpOdW1iZXJfRGVjaW1hbERpZ2l0OgotICAg
ICAgICAgIHJldHVybiBOdW1iZXJfRGVjaW1hbERpZ2l0OwotICAgICAgICBjYXNlIFFDaGFyOjpO
dW1iZXJfTGV0dGVyOgotICAgICAgICAgIHJldHVybiBOdW1iZXJfTGV0dGVyOwotICAgICAgICBj
YXNlIFFDaGFyOjpOdW1iZXJfT3RoZXI6Ci0gICAgICAgICAgcmV0dXJuIE51bWJlcl9PdGhlcjsK
LSAgICAgICAgY2FzZSBRQ2hhcjo6U2VwYXJhdG9yX1NwYWNlOgotICAgICAgICAgIHJldHVybiBT
ZXBhcmF0b3JfU3BhY2U7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlNlcGFyYXRvcl9MaW5lOgotICAg
ICAgICAgIHJldHVybiBTZXBhcmF0b3JfTGluZTsKLSAgICAgICAgY2FzZSBRQ2hhcjo6U2VwYXJh
dG9yX1BhcmFncmFwaDoKLSAgICAgICAgICByZXR1cm4gU2VwYXJhdG9yX1BhcmFncmFwaDsKLSAg
ICAgICAgY2FzZSBRQ2hhcjo6T3RoZXJfQ29udHJvbDoKLSAgICAgICAgICByZXR1cm4gT3RoZXJf
Q29udHJvbDsKLSAgICAgICAgY2FzZSBRQ2hhcjo6T3RoZXJfRm9ybWF0OgotICAgICAgICAgIHJl
dHVybiBPdGhlcl9Gb3JtYXQ7Ci0gICAgICAgIGNhc2UgUUNoYXI6Ok90aGVyX1N1cnJvZ2F0ZToK
LSAgICAgICAgICByZXR1cm4gT3RoZXJfU3Vycm9nYXRlOwotICAgICAgICBjYXNlIFFDaGFyOjpP
dGhlcl9Qcml2YXRlVXNlOgotICAgICAgICAgIHJldHVybiBPdGhlcl9Qcml2YXRlVXNlOwotICAg
ICAgICBjYXNlIFFDaGFyOjpPdGhlcl9Ob3RBc3NpZ25lZDoKLSAgICAgICAgICByZXR1cm4gT3Ro
ZXJfTm90QXNzaWduZWQ7Ci0gICAgICAgIGNhc2UgUUNoYXI6OkxldHRlcl9VcHBlcmNhc2U6Ci0g
ICAgICAgICAgcmV0dXJuIExldHRlcl9VcHBlcmNhc2U7Ci0gICAgICAgIGNhc2UgUUNoYXI6Okxl
dHRlcl9Mb3dlcmNhc2U6Ci0gICAgICAgICAgcmV0dXJuIExldHRlcl9Mb3dlcmNhc2U7Ci0gICAg
ICAgIGNhc2UgUUNoYXI6OkxldHRlcl9UaXRsZWNhc2U6Ci0gICAgICAgICAgcmV0dXJuIExldHRl
cl9UaXRsZWNhc2U7Ci0gICAgICAgIGNhc2UgUUNoYXI6OkxldHRlcl9Nb2RpZmllcjoKLSAgICAg
ICAgICByZXR1cm4gTGV0dGVyX01vZGlmaWVyOwotICAgICAgICBjYXNlIFFDaGFyOjpMZXR0ZXJf
T3RoZXI6Ci0gICAgICAgICAgcmV0dXJuIExldHRlcl9PdGhlcjsKLSAgICAgICAgY2FzZSBRQ2hh
cjo6UHVuY3R1YXRpb25fQ29ubmVjdG9yOgotICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9D
b25uZWN0b3I7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0Rhc2g6Ci0gICAgICAg
ICAgcmV0dXJuIFB1bmN0dWF0aW9uX0Rhc2g7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0
aW9uX09wZW46Ci0gICAgICAgICAgcmV0dXJuIFB1bmN0dWF0aW9uX09wZW47Ci0gICAgICAgIGNh
c2UgUUNoYXI6OlB1bmN0dWF0aW9uX0Nsb3NlOgotICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlv
bl9DbG9zZTsKLSAgICAgICAgY2FzZSBRQ2hhcjo6UHVuY3R1YXRpb25fSW5pdGlhbFF1b3RlOgot
ICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9Jbml0aWFsUXVvdGU7Ci0gICAgICAgIGNhc2Ug
UUNoYXI6OlB1bmN0dWF0aW9uX0ZpbmFsUXVvdGU6Ci0gICAgICAgICAgcmV0dXJuIFB1bmN0dWF0
aW9uX0ZpbmFsUXVvdGU7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX090aGVyOgot
ICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9PdGhlcjsKLSAgICAgICAgY2FzZSBRQ2hhcjo6
U3ltYm9sX01hdGg6Ci0gICAgICAgICAgcmV0dXJuIFN5bWJvbF9NYXRoOwotICAgICAgICBjYXNl
IFFDaGFyOjpTeW1ib2xfQ3VycmVuY3k6Ci0gICAgICAgICAgcmV0dXJuIFN5bWJvbF9DdXJyZW5j
eTsKLSAgICAgICAgY2FzZSBRQ2hhcjo6U3ltYm9sX01vZGlmaWVyOgotICAgICAgICAgIHJldHVy
biBTeW1ib2xfTW9kaWZpZXI7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlN5bWJvbF9PdGhlcjoKLSAg
ICAgICAgICByZXR1cm4gU3ltYm9sX090aGVyOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
IHJldHVybiBOb0NhdGVnb3J5OwotICAgICAgfQorICAgIGlubGluZSBib29sIGlzUHVuY3QoaW50
MzJfdCBjKQorICAgIHsKKyAgICAgIHJldHVybiAoYyAmIDB4ZmZmZjAwMDApID09IDAgJiYgUUNo
YXIoKHVuc2lnbmVkIHNob3J0KWMpLmlzUHVuY3QoKTsKICAgICB9CisKKyAgICBpbmxpbmUgYm9v
bCBpc0RpZ2l0KGludDMyX3QgYykKKyAgICB7CisgICAgICByZXR1cm4gKGMgJiAweGZmZmYwMDAw
KSA9PSAwICYmIFFDaGFyKCh1bnNpZ25lZCBzaG9ydCljKS5pc0RpZ2l0KCk7CisgICAgfQorCisg
ICAgaW5saW5lIHVpbnQxNl90IG1pcnJvcmVkQ2hhcih1aW50MTZfdCBjKQorICAgIHsKKyAgICAg
IHJldHVybiBRQ2hhcihjKS5taXJyb3JlZENoYXIoKS51bmljb2RlKCk7CisgICAgfQorCisgICAg
aW5saW5lIGludCBjb21wYXJlKGNvbnN0IEtKUzo6VUNoYXIgKmEsIGNvbnN0IEtKUzo6VUNoYXIg
KmIsIGludCBsZW4sIGJvb2wgY2FzZVNlbnNpdGl2ZSA9IHRydWUpCisgICAgeworICAgICAgY29u
c3QgUVN0cmluZyBsZWZ0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIgKj4oYSksIGxlbik7
CisgICAgICBjb25zdCBRU3RyaW5nIHJpZ2h0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIg
Kj4oYiksIGxlbik7CisgICAgICByZXR1cm4gbGVmdC5jb21wYXJlKHJpZ2h0LCBjYXNlU2Vuc2l0
aXZlID8gUXQ6OkNhc2VTZW5zaXRpdmUgOiBRdDo6Q2FzZUluc2Vuc2l0aXZlKTsKKyAgICB9CisK
KyAgICBEaXJlY3Rpb24gZGlyZWN0aW9uKGludCBjKTsKKworICAgIENoYXJDYXRlZ29yeSBjYXRl
Z29yeShpbnQgYyk7CisKKyAgICBEZWNvbXBvc2l0aW9uIGRlY29tcG9zaXRpb24oaW50IGMpOwog
ICB9CiB9CiAKSW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVEZWNvbXBv
c2l0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29k
ZURlY29tcG9zaXRpb24uaAkoUmV2aXNpb24gMCkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi91bmlj
b2RlL1VuaWNvZGVEZWNvbXBvc2l0aW9uLmgJKFJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAK
Ky8vIC0qLSBjLWJhc2ljLW9mZnNldDogMiAtKi0KKy8qCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIEtERSBsaWJyYXJpZXMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYgR2VvcmdlIFN0YWlr
b3MgPHN0YWlrb3NAa2RlLm9yZz4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgS0pTX1VOSUNPREVf
REVDT01QT1NJVElPTl9ICisjZGVmaW5lIEtKU19VTklDT0RFX0RFQ09NUE9TSVRJT05fSAorCitu
YW1lc3BhY2UgV1RGIHsKKyAgbmFtZXNwYWNlIFVuaWNvZGUgeworICAgIGVudW0gRGVjb21wb3Np
dGlvbiB7CisgICAgICBOb25lID0gMCwKKyAgICAgIENhbm9uaWNhbCA9IDB4MDAwMDAwMDEsCisg
ICAgICBGb250ID0gMHgwMDAwMDAwMiwKKyAgICAgIE5vQnJlYWsgPSAweDAwMDAwMDA0LAorICAg
ICAgSW5pdGlhbCA9IDB4MDAwMDAwMDgsCisgICAgICBNZWRpYWwgPSAweDAwMDAwMDEwLAorICAg
ICAgRmluYWwgPSAweDAwMDAwMDIwLAorICAgICAgSXNvbGF0ZWQgPSAweDAwMDAwMDQwLAorICAg
ICAgQ2lyY2xlID0gMHgwMDAwMDA4MCwKKyAgICAgIFN1cGVyID0gMHgwMDAwMDEwMCwKKyAgICAg
IFN1YiA9IDB4MDAwMDAyMDAsCisgICAgICBWZXJ0aWNhbCA9IDB4MDAwMDA0MDAsCisgICAgICBX
aWRlID0gMHgwMDAwMDgwMCwKKyAgICAgIE5hcnJvdyA9IDB4MDAwMDEwMDAsCisgICAgICBTbWFs
bCA9IDB4MDAwMDIwMDAsCisgICAgICBTcXVhcmUgPSAweDAwMDA0MDAwLAorICAgICAgQ29tcGF0
ID0gMHgwMDAwODAwMCwKKyAgICAgIEZyYWN0aW9uID0gMHgwMDAxMDAwMAorICAgIH07CisgIH0K
K30KKworI2VuZGlmCisvLyB2aW06IHRzPTIgc3c9MiBldApJbmRleDogSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVW5pY29kZURpcmVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL1VuaWNvZGVEaXJlY3Rpb24uaAkoUmV2aXNpb24gMCkKKysrIEphdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVEaXJlY3Rpb24uaAkoUmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1MyBAQAorLy8gLSotIGMtYmFzaWMtb2Zmc2V0OiAyIC0qLQorLyoKKyAqICBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIGxpYnJhcmllcworICogIENvcHlyaWdodCAoQykgMjAw
NiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRl
ZiBLSlNfVU5JQ09ERV9ESVJFQ1RJT05fSAorI2RlZmluZSBLSlNfVU5JQ09ERV9ESVJFQ1RJT05f
SAorCituYW1lc3BhY2UgV1RGIHsKKyAgbmFtZXNwYWNlIFVuaWNvZGUgeworICAgIGVudW0gRGly
ZWN0aW9uIHsKKyAgICAgIExlZnRUb1JpZ2h0ID0gMCwKKyAgICAgIFJpZ2h0VG9MZWZ0ID0gMHgw
MDAwMDAwMSwKKyAgICAgIEV1cm9wZWFuTnVtYmVyID0gMHgwMDAwMDAwMiwKKyAgICAgIEV1cm9w
ZWFuTnVtYmVyU2VwYXJhdG9yID0gMHgwMDAwMDAwNCwKKyAgICAgIEV1cm9wZWFuTnVtYmVyVGVy
bWluYXRvciA9IDB4MDAwMDAwMDgsCisgICAgICBBcmFiaWNOdW1iZXIgPSAweDAwMDAwMDEwLAor
ICAgICAgQ29tbW9uTnVtYmVyU2VwYXJhdG9yID0gMHgwMDAwMDAyMCwKKyAgICAgIEJsb2NrU2Vw
YXJhdG9yID0gMHgwMDAwMDA0MCwKKyAgICAgIFNlZ21lbnRTZXBhcmF0b3IgPSAweDAwMDAwMDgw
LAorICAgICAgV2hpdGVTcGFjZU5ldXRyYWwgPSAweDAwMDAwMTAwLAorICAgICAgT3RoZXJOZXV0
cmFsID0gMHgwMDAwMDIwMCwKKyAgICAgIExlZnRUb1JpZ2h0RW1iZWRkaW5nID0gMHgwMDAwMDQw
MCwKKyAgICAgIExlZnRUb1JpZ2h0T3ZlcnJpZGUgPSAweDAwMDAwODAwLAorICAgICAgUmlnaHRU
b0xlZnRBcmFiaWMgPSAweDAwMDAxMDAwLAorICAgICAgUmlnaHRUb0xlZnRFbWJlZGRpbmcgPSAw
eDAwMDAyMDAwLAorICAgICAgUmlnaHRUb0xlZnRPdmVycmlkZSA9IDB4MDAwMDQwMDAsCisgICAg
ICBQb3BEaXJlY3Rpb25hbEZvcm1hdCA9IDB4MDAwMDgwMDAsCisgICAgICBOb25TcGFjaW5nTWFy
ayA9IDB4MDAwMTAwMDAsCisgICAgICBCb3VuZGFyeU5ldXRyYWwgPSAweDAwMDIwMDAwCisgICAg
fTsKKyAgfQorfQorCisjZW5kaWYKKy8vIHZpbTogdHM9MiBzdz0yIGV0CkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAkoUmV2aXNpb24gMTU5MjQpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAkoQXJiZWl0c2tvcGllKQpAQCAtNjQsMTMgKzY0LDExIEBACiAKIC8qIE9wZXJhdGluZyBl
bnZpcm9ubWVudHMgKi8KIAotLyogSSBtYWRlIHRoZSBCVUlMRElOR19LREVfXyBtYWNybyB1cCBm
b3IgdGhlIEtERSBidWlsZCBzeXN0ZW0gdG8gZGVmaW5lICovCi0KLS8qIFBMQVRGT1JNKEtERSkg
Ki8KKy8qIFBMQVRGT1JNKFFUKSAqLwogLyogUExBVEZPUk0oTUFDKSAqLwogLyogUExBVEZPUk0o
V0lOKSAqLwotI2lmIGRlZmluZWQoQlVJTERJTkdfS0RFX18pCi0jZGVmaW5lIEtYTUxDT1JFX1BM
QVRGT1JNX0tERSAxCisjaWYgZGVmaW5lZChCVUlMRElOR19RVF9fKQorI2RlZmluZSBLWE1MQ09S
RV9QTEFURk9STV9RVCAxCiAjZWxpZiBQTEFURk9STShEQVJXSU4pCiAjZGVmaW5lIEtYTUxDT1JF
X1BMQVRGT1JNX01BQyAxCiAjZWxpZiBQTEFURk9STShXSU5fT1MpCkBAIC04MCw3ICs3OCw2IEBA
CiAjZGVmaW5lIEtYTUxDT1JFX1BMQVRGT1JNX0dESyAxCiAjZW5kaWYKIAotCiAvKiBDUFUgKi8K
IAogLyogUExBVEZPUk0oUFBDKSAqLwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10102</attachid>
            <date>2006-08-17 12:43:16 -0700</date>
            <delta_ts>2006-08-18 11:21:48 -0700</delta_ts>
            <desc>Corrected patch</desc>
            <filename>wtf-changes.diff</filename>
            <type>text/plain</type>
            <size>16908</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKFJldmlzaW9uIDE1OTI1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCShBcmJlaXRza29waWUpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMDYtMDgtMTcgIE5pa29sYXMg
WmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlczogaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2MworICAgICAgICBXVEYgQ2hhbmdlcyBuZWVkZWQg
Zm9yIFF0IHBsYXRmb3JtIGNvZGUuCisJCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisgICAg
ICAgICogd3RmL3VuaWNvZGUvVW5pY29kZURlY29tcG9zaXRpb24uaDogQWRkZWQuCisgICAgICAg
IChXVEY6OlVuaWNvZGU6Oik6CisgICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZURpcmVjdGlv
bi5oOiBBZGRlZC4KKyAgICAgICAgKFdURjo6VW5pY29kZTo6KToKKyAgICAgICAgKiB3dGYvdW5p
Y29kZS9xdDQvVW5pY29kZVF0NC5jcHA6IEFkZGVkLgorICAgICAgICAoV1RGOjpVbmljb2RlOjpk
aXJlY3Rpb24pOgorICAgICAgICAoV1RGOjpVbmljb2RlOjpjYXRlZ29yeSk6CisgICAgICAgIChX
VEY6OlVuaWNvZGU6OmRlY29tcG9zaXRpb24pOgorICAgICAgICAqIHd0Zi91bmljb2RlL3F0NC9V
bmljb2RlUXQ0Lmg6CisgICAgICAgIChXVEY6OlVuaWNvZGU6OnRvTG93ZXIpOgorICAgICAgICAo
V1RGOjpVbmljb2RlOjp0b1VwcGVyKToKKyAgICAgICAgKFdURjo6VW5pY29kZTo6aXNQcmludGFi
bGVDaGFyKToKKyAgICAgICAgKFdURjo6VW5pY29kZTo6aXNTcGFjZSk6CisgICAgICAgIChXVEY6
OlVuaWNvZGU6OmlzUHVuY3QpOgorICAgICAgICAoV1RGOjpVbmljb2RlOjppc0RpZ2l0KToKKyAg
ICAgICAgKFdURjo6VW5pY29kZTo6bWlycm9yZWRDaGFyKToKKyAgICAgICAgKFdURjo6VW5pY29k
ZTo6Y29tcGFyZSk6CisKIDIwMDYtMDgtMTUgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBtanMuCkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlw
dENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuY3BwCShSZXZpc2lvbiAwKQorKysgSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuY3BwCShSZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE5NyBAQAorLy8gLSotIGMtYmFzaWMtb2Zmc2V0OiAyIC0qLQorLyoKKyAqICBU
aGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIGxpYnJhcmllcworICogIENvcHlyaWdodCAoQykg
MjAwNiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lu
Y2x1ZGUgIlVuaWNvZGVRdDQuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKKwor
RGlyZWN0aW9uIFdURjo6VW5pY29kZTo6ZGlyZWN0aW9uKGludCBjKQoreworICAvLyBGSVhNRTog
aW1wbGVtZW50IHN1cHBvcnQgZm9yIG5vbi1CTVAgY29kZSBwb2ludHMKKyAgaWYgKChjICYgMHhm
ZmZmMDAwMCkgIT0gMCkKKyAgICByZXR1cm4gTGVmdFRvUmlnaHQ7CisKKyAgc3dpdGNoIChRQ2hh
cigodW5zaWduZWQgc2hvcnQpYykuZGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIFFDaGFyOjpEaXJM
OgorICAgICAgcmV0dXJuIExlZnRUb1JpZ2h0OworICAgIGNhc2UgUUNoYXI6OkRpclI6CisgICAg
ICByZXR1cm4gUmlnaHRUb0xlZnQ7CisgICAgY2FzZSBRQ2hhcjo6RGlyTlNNOgorICAgICAgcmV0
dXJuIE5vblNwYWNpbmdNYXJrOworICAgIGNhc2UgUUNoYXI6OkRpckJOOgorICAgICAgcmV0dXJu
IEJvdW5kYXJ5TmV1dHJhbDsKKyAgICBjYXNlIFFDaGFyOjpEaXJFTjoKKyAgICAgIHJldHVybiBF
dXJvcGVhbk51bWJlcjsKKyAgICBjYXNlIFFDaGFyOjpEaXJFUzoKKyAgICAgIHJldHVybiBFdXJv
cGVhbk51bWJlclNlcGFyYXRvcjsKKyAgICBjYXNlIFFDaGFyOjpEaXJFVDoKKyAgICAgIHJldHVy
biBFdXJvcGVhbk51bWJlclRlcm1pbmF0b3I7CisgICAgY2FzZSBRQ2hhcjo6RGlyQU46CisgICAg
ICByZXR1cm4gQXJhYmljTnVtYmVyOworICAgIGNhc2UgUUNoYXI6OkRpckNTOgorICAgICAgcmV0
dXJuIENvbW1vbk51bWJlclNlcGFyYXRvcjsKKyAgICBjYXNlIFFDaGFyOjpEaXJCOgorICAgICAg
cmV0dXJuIEJsb2NrU2VwYXJhdG9yOworICAgIGNhc2UgUUNoYXI6OkRpclM6CisgICAgICByZXR1
cm4gU2VnbWVudFNlcGFyYXRvcjsKKyAgICBjYXNlIFFDaGFyOjpEaXJXUzoKKyAgICAgIHJldHVy
biBXaGl0ZVNwYWNlTmV1dHJhbDsKKyAgICBjYXNlIFFDaGFyOjpEaXJPTjoKKyAgICAgIHJldHVy
biBPdGhlck5ldXRyYWw7CisgICAgY2FzZSBRQ2hhcjo6RGlyTFJFOgorICAgICAgcmV0dXJuIExl
ZnRUb1JpZ2h0RW1iZWRkaW5nOworICAgIGNhc2UgUUNoYXI6OkRpckxSTzoKKyAgICAgIHJldHVy
biBMZWZ0VG9SaWdodE92ZXJyaWRlOworICAgIGNhc2UgUUNoYXI6OkRpckFMOgorICAgICAgcmV0
dXJuIFJpZ2h0VG9MZWZ0QXJhYmljOworICAgIGNhc2UgUUNoYXI6OkRpclJMRToKKyAgICAgIHJl
dHVybiBSaWdodFRvTGVmdEVtYmVkZGluZzsKKyAgICBjYXNlIFFDaGFyOjpEaXJSTE86CisgICAg
ICByZXR1cm4gUmlnaHRUb0xlZnRPdmVycmlkZTsKKyAgICBjYXNlIFFDaGFyOjpEaXJQREY6Cisg
ICAgICByZXR1cm4gUG9wRGlyZWN0aW9uYWxGb3JtYXQ7CisgICAgZGVmYXVsdDoKKyAgICAgIHJl
dHVybiBMZWZ0VG9SaWdodDsKKyAgfQorfQorCitDaGFyQ2F0ZWdvcnkgV1RGOjpVbmljb2RlOjpj
YXRlZ29yeShpbnQgYykKK3sKKyAgLy8gRklYTUU6IGltcGxlbWVudCBzdXBwb3J0IGZvciBub24t
Qk1QIGNvZGUgcG9pbnRzCisgIGlmICgoYyAmIDB4ZmZmZjAwMDApICE9IDApCisgICAgcmV0dXJu
IE5vQ2F0ZWdvcnk7CisKKyAgc3dpdGNoIChRQ2hhcigodW5zaWduZWQgc2hvcnQpYykuY2F0ZWdv
cnkoKSkgeworICAgIGNhc2UgUUNoYXI6Ok1hcmtfTm9uU3BhY2luZzoKKyAgICAgIHJldHVybiBN
YXJrX05vblNwYWNpbmc7CisgICAgY2FzZSBRQ2hhcjo6TWFya19TcGFjaW5nQ29tYmluaW5nOgor
ICAgICAgcmV0dXJuIE1hcmtfU3BhY2luZ0NvbWJpbmluZzsKKyAgICBjYXNlIFFDaGFyOjpNYXJr
X0VuY2xvc2luZzoKKyAgICAgIHJldHVybiBNYXJrX0VuY2xvc2luZzsKKyAgICBjYXNlIFFDaGFy
OjpOdW1iZXJfRGVjaW1hbERpZ2l0OgorICAgICAgcmV0dXJuIE51bWJlcl9EZWNpbWFsRGlnaXQ7
CisgICAgY2FzZSBRQ2hhcjo6TnVtYmVyX0xldHRlcjoKKyAgICAgIHJldHVybiBOdW1iZXJfTGV0
dGVyOworICAgIGNhc2UgUUNoYXI6Ok51bWJlcl9PdGhlcjoKKyAgICAgIHJldHVybiBOdW1iZXJf
T3RoZXI7CisgICAgY2FzZSBRQ2hhcjo6U2VwYXJhdG9yX1NwYWNlOgorICAgICAgcmV0dXJuIFNl
cGFyYXRvcl9TcGFjZTsKKyAgICBjYXNlIFFDaGFyOjpTZXBhcmF0b3JfTGluZToKKyAgICAgIHJl
dHVybiBTZXBhcmF0b3JfTGluZTsKKyAgICBjYXNlIFFDaGFyOjpTZXBhcmF0b3JfUGFyYWdyYXBo
OgorICAgICAgcmV0dXJuIFNlcGFyYXRvcl9QYXJhZ3JhcGg7CisgICAgY2FzZSBRQ2hhcjo6T3Ro
ZXJfQ29udHJvbDoKKyAgICAgIHJldHVybiBPdGhlcl9Db250cm9sOworICAgIGNhc2UgUUNoYXI6
Ok90aGVyX0Zvcm1hdDoKKyAgICAgIHJldHVybiBPdGhlcl9Gb3JtYXQ7CisgICAgY2FzZSBRQ2hh
cjo6T3RoZXJfU3Vycm9nYXRlOgorICAgICAgcmV0dXJuIE90aGVyX1N1cnJvZ2F0ZTsKKyAgICBj
YXNlIFFDaGFyOjpPdGhlcl9Qcml2YXRlVXNlOgorICAgICAgcmV0dXJuIE90aGVyX1ByaXZhdGVV
c2U7CisgICAgY2FzZSBRQ2hhcjo6T3RoZXJfTm90QXNzaWduZWQ6CisgICAgICByZXR1cm4gT3Ro
ZXJfTm90QXNzaWduZWQ7CisgICAgY2FzZSBRQ2hhcjo6TGV0dGVyX1VwcGVyY2FzZToKKyAgICAg
IHJldHVybiBMZXR0ZXJfVXBwZXJjYXNlOworICAgIGNhc2UgUUNoYXI6OkxldHRlcl9Mb3dlcmNh
c2U6CisgICAgICByZXR1cm4gTGV0dGVyX0xvd2VyY2FzZTsKKyAgICBjYXNlIFFDaGFyOjpMZXR0
ZXJfVGl0bGVjYXNlOgorICAgICAgcmV0dXJuIExldHRlcl9UaXRsZWNhc2U7CisgICAgY2FzZSBR
Q2hhcjo6TGV0dGVyX01vZGlmaWVyOgorICAgICAgcmV0dXJuIExldHRlcl9Nb2RpZmllcjsKKyAg
ICBjYXNlIFFDaGFyOjpMZXR0ZXJfT3RoZXI6CisgICAgICByZXR1cm4gTGV0dGVyX090aGVyOwor
ICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0Nvbm5lY3RvcjoKKyAgICAgIHJldHVybiBQdW5j
dHVhdGlvbl9Db25uZWN0b3I7CisgICAgY2FzZSBRQ2hhcjo6UHVuY3R1YXRpb25fRGFzaDoKKyAg
ICAgIHJldHVybiBQdW5jdHVhdGlvbl9EYXNoOworICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9u
X09wZW46CisgICAgICByZXR1cm4gUHVuY3R1YXRpb25fT3BlbjsKKyAgICBjYXNlIFFDaGFyOjpQ
dW5jdHVhdGlvbl9DbG9zZToKKyAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9DbG9zZTsKKyAgICBj
YXNlIFFDaGFyOjpQdW5jdHVhdGlvbl9Jbml0aWFsUXVvdGU6CisgICAgICByZXR1cm4gUHVuY3R1
YXRpb25fSW5pdGlhbFF1b3RlOworICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0ZpbmFsUXVv
dGU6CisgICAgICByZXR1cm4gUHVuY3R1YXRpb25fRmluYWxRdW90ZTsKKyAgICBjYXNlIFFDaGFy
OjpQdW5jdHVhdGlvbl9PdGhlcjoKKyAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9PdGhlcjsKKyAg
ICBjYXNlIFFDaGFyOjpTeW1ib2xfTWF0aDoKKyAgICAgIHJldHVybiBTeW1ib2xfTWF0aDsKKyAg
ICBjYXNlIFFDaGFyOjpTeW1ib2xfQ3VycmVuY3k6CisgICAgICByZXR1cm4gU3ltYm9sX0N1cnJl
bmN5OworICAgIGNhc2UgUUNoYXI6OlN5bWJvbF9Nb2RpZmllcjoKKyAgICAgIHJldHVybiBTeW1i
b2xfTW9kaWZpZXI7CisgICAgY2FzZSBRQ2hhcjo6U3ltYm9sX090aGVyOgorICAgICAgcmV0dXJu
IFN5bWJvbF9PdGhlcjsKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuIE5vQ2F0ZWdvcnk7Cisg
IH0KK30KKworCitEZWNvbXBvc2l0aW9uIFdURjo6VW5pY29kZTo6ZGVjb21wb3NpdGlvbihpbnQg
YykKK3sKKyAgLy8gRklYTUU6IGltcGxlbWVudCBzdXBwb3J0IGZvciBub24tQk1QIGNvZGUgcG9p
bnRzCisgIGlmICgoYyAmIDB4ZmZmZjAwMDApICE9IDApCisgICAgcmV0dXJuIE5vbmU7CisKKyAg
c3dpdGNoIChRQ2hhcigodW5zaWduZWQgc2hvcnQpYykuZGVjb21wb3NpdGlvblRhZygpKSB7Cisg
ICAgZGVmYXVsdDoKKyAgICBjYXNlIFFDaGFyOjpOb0RlY29tcG9zaXRpb246CisgICAgICByZXR1
cm4gTm9uZTsKKyAgICBjYXNlIFFDaGFyOjpDYW5vbmljYWw6CisgICAgICByZXR1cm4gQ2Fub25p
Y2FsOworICAgIGNhc2UgUUNoYXI6OkZvbnQ6CisgICAgICByZXR1cm4gRm9udDsKKyAgICBjYXNl
IFFDaGFyOjpOb0JyZWFrOgorICAgICAgcmV0dXJuIE5vQnJlYWs7CisgICAgY2FzZSBRQ2hhcjo6
SW5pdGlhbDoKKyAgICAgIHJldHVybiBJbml0aWFsOworICAgIGNhc2UgUUNoYXI6Ok1lZGlhbDoK
KyAgICAgIHJldHVybiBNZWRpYWw7CisgICAgY2FzZSBRQ2hhcjo6RmluYWw6CisgICAgICByZXR1
cm4gRmluYWw7CisgICAgY2FzZSBRQ2hhcjo6SXNvbGF0ZWQ6CisgICAgICByZXR1cm4gSXNvbGF0
ZWQ7CisgICAgY2FzZSBRQ2hhcjo6Q2lyY2xlOgorICAgICAgcmV0dXJuIENpcmNsZTsKKyAgICBj
YXNlIFFDaGFyOjpTdXBlcjoKKyAgICAgIHJldHVybiBTdXBlcjsKKyAgICBjYXNlIFFDaGFyOjpT
dWI6CisgICAgICByZXR1cm4gU3ViOworICAgIGNhc2UgUUNoYXI6OlZlcnRpY2FsOgorICAgICAg
cmV0dXJuIFZlcnRpY2FsOworICAgIGNhc2UgUUNoYXI6OldpZGU6CisgICAgICByZXR1cm4gV2lk
ZTsKKyAgICBjYXNlIFFDaGFyOjpOYXJyb3c6CisgICAgICByZXR1cm4gTmFycm93OworICAgIGNh
c2UgUUNoYXI6OlNtYWxsOgorICAgICAgcmV0dXJuIFNtYWxsOworICAgIGNhc2UgUUNoYXI6OlNx
dWFyZToKKyAgICAgIHJldHVybiBTcXVhcmU7CisgICAgY2FzZSBRQ2hhcjo6Q29tcGF0OgorICAg
ICAgcmV0dXJuIENvbXBhdDsKKyAgICBjYXNlIFFDaGFyOjpGcmFjdGlvbjoKKyAgICAgIHJldHVy
biBGcmFjdGlvbjsKKyAgfQorfQorCisvLyB2aW06IHRzPTIgc3c9MiBldApJbmRleDogSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCShSZXZpc2lvbiAxNTkyNCkK
KysrIEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgJKEFyYmVpdHNr
b3BpZSkKQEAgLTI1LDkgKzI1LDE3IEBACiAjZGVmaW5lIEtKU19VTklDT0RFX1FUNF9ICiAKICNp
bmNsdWRlIDxRQ2hhcj4KKyNpbmNsdWRlIDxRU3RyaW5nPgogCisjaW5jbHVkZSA8Y29uZmlnLmg+
CisjaW5jbHVkZSA8a2pzL3VzdHJpbmcuaD4KKwogI2luY2x1ZGUgIi4uL1VuaWNvZGVDYXRlZ29y
eS5oIgorI2luY2x1ZGUgIi4uL1VuaWNvZGVEZWNvbXBvc2l0aW9uLmgiCisjaW5jbHVkZSAiLi4v
VW5pY29kZURpcmVjdGlvbi5oIgogCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKIG5hbWVzcGFjZSBX
VEYgewogICBuYW1lc3BhY2UgVW5pY29kZSB7CiAgICAgaW5saW5lIGludCB0b0xvd2VyKHVpbnQx
Nl90KiBzdHIsIGludCBzdHJMZW5ndGgsIHVpbnQxNl90KiYgZGVzdElmTmVlZGVkKQpAQCAtNDAs
NiArNDgsMTEgQEAKICAgICAgIHJldHVybiBzdHJMZW5ndGg7CiAgICAgfQogCisgICAgaW5saW5l
IHVpbnQxNl90IHRvTG93ZXIodWludDE2X3QgY2gpCisgICAgeworICAgICAgcmV0dXJuIFFDaGFy
KGNoKS50b0xvd2VyKCkudW5pY29kZSgpOworICAgIH0KKwogICAgIGlubGluZSBpbnQgdG9VcHBl
cih1aW50MTZfdCogc3RyLCBpbnQgc3RyTGVuZ3RoLCB1aW50MTZfdComIGRlc3RJZk5lZWRlZCkK
ICAgICB7CiAgICAgICBkZXN0SWZOZWVkZWQgPSAwOwpAQCAtNTAsODcgKzYzLDU4IEBACiAgICAg
ICByZXR1cm4gc3RyTGVuZ3RoOwogICAgIH0KIAorICAgIGlubGluZSB1aW50MTZfdCB0b1VwcGVy
KHVpbnQxNl90IGNoKQorICAgIHsKKyAgICAgIHJldHVybiBRQ2hhcihjaCkudG9VcHBlcigpLnVu
aWNvZGUoKTsKKyAgICB9CisKICAgICBpbmxpbmUgYm9vbCBpc0Zvcm1hdENoYXIoaW50MzJfdCBj
KQogICAgIHsKICAgICAgIHJldHVybiAoYyAmIDB4ZmZmZjAwMDApID09IDAgJiYgUUNoYXIoKHVu
c2lnbmVkIHNob3J0KWMpLmNhdGVnb3J5KCkgPT0gUUNoYXI6Ok90aGVyX0Zvcm1hdDsKICAgICB9
CiAKKyAgICBpbmxpbmUgYm9vbCBpc1ByaW50YWJsZUNoYXIoaW50MzJfdCBjKQorICAgIHsKKyAg
ICAgIHJldHVybiAoYyAmIDB4ZmZmZjAwMDApID09IDAgJiYgUUNoYXIoKHVuc2lnbmVkIHNob3J0
KWMpLmlzUHJpbnQoKTsgCisgICAgfQorCQogICAgIGlubGluZSBib29sIGlzU2VwYXJhdG9yU3Bh
Y2UoaW50MzJfdCBjKQogICAgIHsKICAgICAgIHJldHVybiAoYyAmIDB4ZmZmZjAwMDApID09IDAg
JiYgUUNoYXIoKHVuc2lnbmVkIHNob3J0KWMpLmNhdGVnb3J5KCkgPT0gUUNoYXI6OlNlcGFyYXRv
cl9TcGFjZTsKICAgICB9CiAKLSAgICBpbmxpbmUgQ2hhckNhdGVnb3J5IGNhdGVnb3J5KGludDMy
X3QgYykKKyAgICBpbmxpbmUgYm9vbCBpc1NwYWNlKGludDMyX3QgYykKICAgICB7Ci0gICAgICAv
LyBGSVhNRTogaW1wbGVtZW50IHN1cHBvcnQgZm9yIG5vbi1CTVAgY29kZSBwb2ludHMKLSAgICAg
IGlmICgoYyAmIDB4ZmZmZjAwMDApICE9IDApCi0gICAgICAgIHJldHVybiBOb0NhdGVnb3J5Owor
ICAgICAgcmV0dXJuIChjICYgMHhmZmZmMDAwMCkgPT0gMCAmJiBRQ2hhcigodW5zaWduZWQgc2hv
cnQpYykuaXNTcGFjZSgpOworICAgIH0KIAotICAgICAgc3dpdGNoIChRQ2hhcigodW5zaWduZWQg
c2hvcnQpYykuY2F0ZWdvcnkoKSkgewotICAgICAgICBjYXNlIFFDaGFyOjpNYXJrX05vblNwYWNp
bmc6Ci0gICAgICAgICAgcmV0dXJuIE1hcmtfTm9uU3BhY2luZzsKLSAgICAgICAgY2FzZSBRQ2hh
cjo6TWFya19TcGFjaW5nQ29tYmluaW5nOgotICAgICAgICAgIHJldHVybiBNYXJrX1NwYWNpbmdD
b21iaW5pbmc7Ci0gICAgICAgIGNhc2UgUUNoYXI6Ok1hcmtfRW5jbG9zaW5nOgotICAgICAgICAg
IHJldHVybiBNYXJrX0VuY2xvc2luZzsKLSAgICAgICAgY2FzZSBRQ2hhcjo6TnVtYmVyX0RlY2lt
YWxEaWdpdDoKLSAgICAgICAgICByZXR1cm4gTnVtYmVyX0RlY2ltYWxEaWdpdDsKLSAgICAgICAg
Y2FzZSBRQ2hhcjo6TnVtYmVyX0xldHRlcjoKLSAgICAgICAgICByZXR1cm4gTnVtYmVyX0xldHRl
cjsKLSAgICAgICAgY2FzZSBRQ2hhcjo6TnVtYmVyX090aGVyOgotICAgICAgICAgIHJldHVybiBO
dW1iZXJfT3RoZXI7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlNlcGFyYXRvcl9TcGFjZToKLSAgICAg
ICAgICByZXR1cm4gU2VwYXJhdG9yX1NwYWNlOwotICAgICAgICBjYXNlIFFDaGFyOjpTZXBhcmF0
b3JfTGluZToKLSAgICAgICAgICByZXR1cm4gU2VwYXJhdG9yX0xpbmU7Ci0gICAgICAgIGNhc2Ug
UUNoYXI6OlNlcGFyYXRvcl9QYXJhZ3JhcGg6Ci0gICAgICAgICAgcmV0dXJuIFNlcGFyYXRvcl9Q
YXJhZ3JhcGg7Ci0gICAgICAgIGNhc2UgUUNoYXI6Ok90aGVyX0NvbnRyb2w6Ci0gICAgICAgICAg
cmV0dXJuIE90aGVyX0NvbnRyb2w7Ci0gICAgICAgIGNhc2UgUUNoYXI6Ok90aGVyX0Zvcm1hdDoK
LSAgICAgICAgICByZXR1cm4gT3RoZXJfRm9ybWF0OwotICAgICAgICBjYXNlIFFDaGFyOjpPdGhl
cl9TdXJyb2dhdGU6Ci0gICAgICAgICAgcmV0dXJuIE90aGVyX1N1cnJvZ2F0ZTsKLSAgICAgICAg
Y2FzZSBRQ2hhcjo6T3RoZXJfUHJpdmF0ZVVzZToKLSAgICAgICAgICByZXR1cm4gT3RoZXJfUHJp
dmF0ZVVzZTsKLSAgICAgICAgY2FzZSBRQ2hhcjo6T3RoZXJfTm90QXNzaWduZWQ6Ci0gICAgICAg
ICAgcmV0dXJuIE90aGVyX05vdEFzc2lnbmVkOwotICAgICAgICBjYXNlIFFDaGFyOjpMZXR0ZXJf
VXBwZXJjYXNlOgotICAgICAgICAgIHJldHVybiBMZXR0ZXJfVXBwZXJjYXNlOwotICAgICAgICBj
YXNlIFFDaGFyOjpMZXR0ZXJfTG93ZXJjYXNlOgotICAgICAgICAgIHJldHVybiBMZXR0ZXJfTG93
ZXJjYXNlOwotICAgICAgICBjYXNlIFFDaGFyOjpMZXR0ZXJfVGl0bGVjYXNlOgotICAgICAgICAg
IHJldHVybiBMZXR0ZXJfVGl0bGVjYXNlOwotICAgICAgICBjYXNlIFFDaGFyOjpMZXR0ZXJfTW9k
aWZpZXI6Ci0gICAgICAgICAgcmV0dXJuIExldHRlcl9Nb2RpZmllcjsKLSAgICAgICAgY2FzZSBR
Q2hhcjo6TGV0dGVyX090aGVyOgotICAgICAgICAgIHJldHVybiBMZXR0ZXJfT3RoZXI7Ci0gICAg
ICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0Nvbm5lY3RvcjoKLSAgICAgICAgICByZXR1cm4g
UHVuY3R1YXRpb25fQ29ubmVjdG9yOwotICAgICAgICBjYXNlIFFDaGFyOjpQdW5jdHVhdGlvbl9E
YXNoOgotICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9EYXNoOwotICAgICAgICBjYXNlIFFD
aGFyOjpQdW5jdHVhdGlvbl9PcGVuOgotICAgICAgICAgIHJldHVybiBQdW5jdHVhdGlvbl9PcGVu
OwotICAgICAgICBjYXNlIFFDaGFyOjpQdW5jdHVhdGlvbl9DbG9zZToKLSAgICAgICAgICByZXR1
cm4gUHVuY3R1YXRpb25fQ2xvc2U7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlB1bmN0dWF0aW9uX0lu
aXRpYWxRdW90ZToKLSAgICAgICAgICByZXR1cm4gUHVuY3R1YXRpb25fSW5pdGlhbFF1b3RlOwot
ICAgICAgICBjYXNlIFFDaGFyOjpQdW5jdHVhdGlvbl9GaW5hbFF1b3RlOgotICAgICAgICAgIHJl
dHVybiBQdW5jdHVhdGlvbl9GaW5hbFF1b3RlOwotICAgICAgICBjYXNlIFFDaGFyOjpQdW5jdHVh
dGlvbl9PdGhlcjoKLSAgICAgICAgICByZXR1cm4gUHVuY3R1YXRpb25fT3RoZXI7Ci0gICAgICAg
IGNhc2UgUUNoYXI6OlN5bWJvbF9NYXRoOgotICAgICAgICAgIHJldHVybiBTeW1ib2xfTWF0aDsK
LSAgICAgICAgY2FzZSBRQ2hhcjo6U3ltYm9sX0N1cnJlbmN5OgotICAgICAgICAgIHJldHVybiBT
eW1ib2xfQ3VycmVuY3k7Ci0gICAgICAgIGNhc2UgUUNoYXI6OlN5bWJvbF9Nb2RpZmllcjoKLSAg
ICAgICAgICByZXR1cm4gU3ltYm9sX01vZGlmaWVyOwotICAgICAgICBjYXNlIFFDaGFyOjpTeW1i
b2xfT3RoZXI6Ci0gICAgICAgICAgcmV0dXJuIFN5bWJvbF9PdGhlcjsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICByZXR1cm4gTm9DYXRlZ29yeTsKLSAgICAgIH0KKyAgICBpbmxpbmUgYm9v
bCBpc1B1bmN0KGludDMyX3QgYykKKyAgICB7CisgICAgICByZXR1cm4gKGMgJiAweGZmZmYwMDAw
KSA9PSAwICYmIFFDaGFyKCh1bnNpZ25lZCBzaG9ydCljKS5pc1B1bmN0KCk7CiAgICAgfQorCisg
ICAgaW5saW5lIGJvb2wgaXNEaWdpdChpbnQzMl90IGMpCisgICAgeworICAgICAgcmV0dXJuIChj
ICYgMHhmZmZmMDAwMCkgPT0gMCAmJiBRQ2hhcigodW5zaWduZWQgc2hvcnQpYykuaXNEaWdpdCgp
OworICAgIH0KKworICAgIGlubGluZSB1aW50MTZfdCBtaXJyb3JlZENoYXIodWludDE2X3QgYykK
KyAgICB7CisgICAgICByZXR1cm4gUUNoYXIoYykubWlycm9yZWRDaGFyKCkudW5pY29kZSgpOwor
ICAgIH0KKworICAgIGlubGluZSBpbnQgY29tcGFyZShjb25zdCBLSlM6OlVDaGFyICphLCBjb25z
dCBLSlM6OlVDaGFyICpiLCBpbnQgbGVuLCBib29sIGNhc2VTZW5zaXRpdmUgPSB0cnVlKQorICAg
IHsKKyAgICAgIGNvbnN0IFFTdHJpbmcgbGVmdChyZWludGVycHJldF9jYXN0PGNvbnN0IFFDaGFy
ICo+KGEpLCBsZW4pOworICAgICAgY29uc3QgUVN0cmluZyByaWdodChyZWludGVycHJldF9jYXN0
PGNvbnN0IFFDaGFyICo+KGIpLCBsZW4pOworICAgICAgcmV0dXJuIGxlZnQuY29tcGFyZShyaWdo
dCwgY2FzZVNlbnNpdGl2ZSA/IFF0OjpDYXNlU2Vuc2l0aXZlIDogUXQ6OkNhc2VJbnNlbnNpdGl2
ZSk7CisgICAgfQorCisgICAgRGlyZWN0aW9uIGRpcmVjdGlvbihpbnQgYyk7CisKKyAgICBDaGFy
Q2F0ZWdvcnkgY2F0ZWdvcnkoaW50IGMpOworCisgICAgRGVjb21wb3NpdGlvbiBkZWNvbXBvc2l0
aW9uKGludCBjKTsKICAgfQogfQogCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9V
bmljb2RlRGVjb21wb3NpdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi91
bmljb2RlL1VuaWNvZGVEZWNvbXBvc2l0aW9uLmgJKFJldmlzaW9uIDApCisrKyBKYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlRGVjb21wb3NpdGlvbi5oCShSZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDUyIEBACisvLyAtKi0gYy1iYXNpYy1vZmZzZXQ6IDIgLSotCisvKgorICogIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgbGlicmFyaWVzCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2
IEdlb3JnZSBTdGFpa29zIDxzdGFpa29zQGtkZS5vcmc+CisgKgorICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVm
IEtKU19VTklDT0RFX0RFQ09NUE9TSVRJT05fSAorI2RlZmluZSBLSlNfVU5JQ09ERV9ERUNPTVBP
U0lUSU9OX0gKKworbmFtZXNwYWNlIFdURiB7CisgIG5hbWVzcGFjZSBVbmljb2RlIHsKKyAgICBl
bnVtIERlY29tcG9zaXRpb24geworICAgICAgTm9uZSA9IDAsCisgICAgICBDYW5vbmljYWwgPSAw
eDAwMDAwMDAxLAorICAgICAgRm9udCA9IDB4MDAwMDAwMDIsCisgICAgICBOb0JyZWFrID0gMHgw
MDAwMDAwNCwKKyAgICAgIEluaXRpYWwgPSAweDAwMDAwMDA4LAorICAgICAgTWVkaWFsID0gMHgw
MDAwMDAxMCwKKyAgICAgIEZpbmFsID0gMHgwMDAwMDAyMCwKKyAgICAgIElzb2xhdGVkID0gMHgw
MDAwMDA0MCwKKyAgICAgIENpcmNsZSA9IDB4MDAwMDAwODAsCisgICAgICBTdXBlciA9IDB4MDAw
MDAxMDAsCisgICAgICBTdWIgPSAweDAwMDAwMjAwLAorICAgICAgVmVydGljYWwgPSAweDAwMDAw
NDAwLAorICAgICAgV2lkZSA9IDB4MDAwMDA4MDAsCisgICAgICBOYXJyb3cgPSAweDAwMDAxMDAw
LAorICAgICAgU21hbGwgPSAweDAwMDAyMDAwLAorICAgICAgU3F1YXJlID0gMHgwMDAwNDAwMCwK
KyAgICAgIENvbXBhdCA9IDB4MDAwMDgwMDAsCisgICAgICBGcmFjdGlvbiA9IDB4MDAwMTAwMDAK
KyAgICB9OworICB9Cit9CisKKyNlbmRpZgorLy8gdmltOiB0cz0yIHN3PTIgZXQKSW5kZXg6IEph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVEaXJlY3Rpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlRGlyZWN0aW9uLmgJKFJldmlzaW9u
IDApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlRGlyZWN0aW9uLmgJKFJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKy8vIC0qLSBjLWJhc2ljLW9mZnNldDogMiAtKi0K
Ky8qCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKKyAqICBDb3B5
cmlnaHQgKEMpIDIwMDYgR2VvcmdlIFN0YWlrb3MgPHN0YWlrb3NAa2RlLm9yZz4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgor
ICovCisKKyNpZm5kZWYgS0pTX1VOSUNPREVfRElSRUNUSU9OX0gKKyNkZWZpbmUgS0pTX1VOSUNP
REVfRElSRUNUSU9OX0gKKworbmFtZXNwYWNlIFdURiB7CisgIG5hbWVzcGFjZSBVbmljb2RlIHsK
KyAgICBlbnVtIERpcmVjdGlvbiB7CisgICAgICBMZWZ0VG9SaWdodCA9IDAsCisgICAgICBSaWdo
dFRvTGVmdCA9IDB4MDAwMDAwMDEsCisgICAgICBFdXJvcGVhbk51bWJlciA9IDB4MDAwMDAwMDIs
CisgICAgICBFdXJvcGVhbk51bWJlclNlcGFyYXRvciA9IDB4MDAwMDAwMDQsCisgICAgICBFdXJv
cGVhbk51bWJlclRlcm1pbmF0b3IgPSAweDAwMDAwMDA4LAorICAgICAgQXJhYmljTnVtYmVyID0g
MHgwMDAwMDAxMCwKKyAgICAgIENvbW1vbk51bWJlclNlcGFyYXRvciA9IDB4MDAwMDAwMjAsCisg
ICAgICBCbG9ja1NlcGFyYXRvciA9IDB4MDAwMDAwNDAsCisgICAgICBTZWdtZW50U2VwYXJhdG9y
ID0gMHgwMDAwMDA4MCwKKyAgICAgIFdoaXRlU3BhY2VOZXV0cmFsID0gMHgwMDAwMDEwMCwKKyAg
ICAgIE90aGVyTmV1dHJhbCA9IDB4MDAwMDAyMDAsCisgICAgICBMZWZ0VG9SaWdodEVtYmVkZGlu
ZyA9IDB4MDAwMDA0MDAsCisgICAgICBMZWZ0VG9SaWdodE92ZXJyaWRlID0gMHgwMDAwMDgwMCwK
KyAgICAgIFJpZ2h0VG9MZWZ0QXJhYmljID0gMHgwMDAwMTAwMCwKKyAgICAgIFJpZ2h0VG9MZWZ0
RW1iZWRkaW5nID0gMHgwMDAwMjAwMCwKKyAgICAgIFJpZ2h0VG9MZWZ0T3ZlcnJpZGUgPSAweDAw
MDA0MDAwLAorICAgICAgUG9wRGlyZWN0aW9uYWxGb3JtYXQgPSAweDAwMDA4MDAwLAorICAgICAg
Tm9uU3BhY2luZ01hcmsgPSAweDAwMDEwMDAwLAorICAgICAgQm91bmRhcnlOZXV0cmFsID0gMHgw
MDAyMDAwMAorICAgIH07CisgIH0KK30KKworI2VuZGlmCisvLyB2aW06IHRzPTIgc3c9MiBldApJ
bmRleDogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKFJldmlzaW9uIDE1OTI0KQorKysgSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgJKEFyYmVpdHNrb3BpZSkKQEAgLTY0LDEzICs2NCwxMSBAQAogCiAv
KiBPcGVyYXRpbmcgZW52aXJvbm1lbnRzICovCiAKLS8qIEkgbWFkZSB0aGUgQlVJTERJTkdfS0RF
X18gbWFjcm8gdXAgZm9yIHRoZSBLREUgYnVpbGQgc3lzdGVtIHRvIGRlZmluZSAqLwotCi0vKiBQ
TEFURk9STShLREUpICovCisvKiBQTEFURk9STShRVCkgKi8KIC8qIFBMQVRGT1JNKE1BQykgKi8K
IC8qIFBMQVRGT1JNKFdJTikgKi8KLSNpZiBkZWZpbmVkKEJVSUxESU5HX0tERV9fKQotI2RlZmlu
ZSBLWE1MQ09SRV9QTEFURk9STV9LREUgMQorI2lmIGRlZmluZWQoQlVJTERJTkdfUVRfXykKKyNk
ZWZpbmUgS1hNTENPUkVfUExBVEZPUk1fUVQgMQogI2VsaWYgUExBVEZPUk0oREFSV0lOKQogI2Rl
ZmluZSBLWE1MQ09SRV9QTEFURk9STV9NQUMgMQogI2VsaWYgUExBVEZPUk0oV0lOX09TKQpAQCAt
ODAsNyArNzgsNiBAQAogI2RlZmluZSBLWE1MQ09SRV9QTEFURk9STV9HREsgMQogI2VuZGlmCiAK
LQogLyogQ1BVICovCiAKIC8qIFBMQVRGT1JNKFBQQykgKi8K
</data>
<flag name="review"
          id="3146"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>