<?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>79539</bug_id>
          
          <creation_ts>2012-02-24 15:43:54 -0800</creation_ts>
          <short_desc>[chromium] WebKit::setColorNames is a client API</short_desc>
          <delta_ts>2012-02-24 17:57:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>79544</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564711</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:43:54 -0800</bug_when>
    <thetext>[chromium] WebKit::setColorNames is a client API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564712</commentid>
    <comment_count>1</comment_count>
      <attachid>128819</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:44:22 -0800</bug_when>
    <thetext>Created attachment 128819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564713</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:45:54 -0800</bug_when>
    <thetext>I moved WebColor into Platform/ since it&apos;s needed for some compositor APIs, but upon reflection WebKit::setNamedColors is really logically a client API.  This moves setNamedColors and the WebColorName enums back into the client space.  I can update the chromium headers as a follow-up and then remove the platform/WebColorName.h forwarding header.  I think WebColor as a typedef for unsigned should remain in both APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564714</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:48:05 -0800</bug_when>
    <thetext>Actually, I should probably move the setNamedColors() impl from WebColor.cpp to WebColorName.cpp if I do this.  Will update patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564717</commentid>
    <comment_count>4</comment_count>
      <attachid>128820</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:50:21 -0800</bug_when>
    <thetext>Created attachment 128820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564728</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 15:58:38 -0800</bug_when>
    <thetext>Committed r108860: &lt;http://trac.webkit.org/changeset/108860&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564748</commentid>
    <comment_count>6</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-02-24 16:23:49 -0800</bug_when>
    <thetext>Rolled out in r108865. From http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests/builds/18924/steps/compile/logs/stdio:

--SNIP--
  CXX(target) out/Release/obj.target/content_common/content/common/swapped_out_messages.o
In file included from ./third_party/WebKit/Source/WebKit/chromium/public/platform/WebColorName.h:29,
                 from ./content/common/css_colors.h:13,
                 from ./content/common/view_messages.h:11,
                 from content/browser/resolve_proxy_msg_helper.cc:10:
./third_party/WebKit/Source/WebKit/chromium/public/platform/../WebColorName.h:34:29:error: public/WebColor.h: No such file or directory
./third_party/WebKit/Source/WebKit/chromium/public/platform/../WebColorName.h:35:30:error: public/WebCommon.h: No such file or directory
--SNIP--</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564754</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 16:27:30 -0800</bug_when>
    <thetext>Code on the chromium side that #inclues WebColorName.h depends on the WebKit client API but not the Platform API, so it doesn&apos;t have the Platform API&apos;s include paths.  I think the fix is to use full relative include paths like &quot;../../../Platform/chromium/public/WebColor.h&quot; in WebKit/chromium/public/WebColorName.h or to jigger the dependencies around so that every target that depends on the WebKit client API also has the Platform API&apos;s include paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564790</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-24 17:57:13 -0800</bug_when>
    <thetext>Committed r108877: &lt;http://trac.webkit.org/changeset/108877&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128819</attachid>
            <date>2012-02-24 15:44:22 -0800</date>
            <delta_ts>2012-02-24 15:50:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79539-20120224154420.patch</filename>
            <type>text/plain</type>
            <size>10914</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjNTBmMmMyOGJlZDRl
Y2E2MTA4YzI5MTE1NTQ3Y2ZhNmU5NTg5ZmRiLi44ZTkwYmY1YTEyY2U5ZGVkMzgyNmQ5MmI5MDNm
ZjczMDM1ZTY5YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMi0yNCAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gV2ViS2l0OjpzZXRDb2xvck5hbWVzIGlzIGEgY2xpZW50IEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6CisgICAgICAg
ICogY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmg6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTAyLTIyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBNb3ZlIFdlYkdyYXBoaWNzQ29udGV4dDNEIGhlYWRlciBpbnRvIHRoZSBQbGF0
Zm9ybSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYTVhOWYxOTE4OTUy
ZWYzYjA4NDYxMWFiOWY0YzhmY2Q5MDE3NGQ3ZC4uNDI4NDllMDNjMDQyMDI3MWM1YTM4Nzc2YjM5
NmIyY2FmM2JhNjI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMi0wMi0yNCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gV2ViS2l0OjpzZXRDb2xvck5hbWVzIGlzIGEgY2xpZW50IEFQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5n
eXA6CisgICAgICAgICogcHVibGljL1dlYkNvbG9yTmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaC4KKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYkNvbG9yTmFtZS5oOgorICAgICAgICAq
IHNyYy9XZWJDb2xvci5jcHA6CisKIDIwMTItMDItMjIgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1vdmUgV2ViR3JhcGhpY3NDb250
ZXh0M0QgaGVhZGVyIGludG8gdGhlIFBsYXRmb3JtIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291
cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lw
aQppbmRleCBhODM4NTMwNWIwNGRhYjI4M2YwYWI0MTljZTQzNGY5YjliYmYzNmZhLi5hZmExNDcx
M2Y1ZDZhYWNiODMxOWQ3NWE2NzczNmE2ZjIzYjEzNDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxh
dGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpA
QCAtMzQsNyArMzQsNiBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDU3RyaW5n
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDYW52YXMuaCcsCiAgICAgICAg
ICAgICAnY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmgnLAotICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViQ29udGVudExheWVy
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDb250ZW50TGF5ZXJDbGllbnQu
aCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbG9y
LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmgKaW5kZXggZGE0
NWViMWM2ZTQ5NTg2NGVjNGFiMmE5N2M5YWE4NDQxOWNhOTZjNy4uZDQ0OWUzNmMxMmQ5NGRlMGVk
ZTc1MTg5MzAzNDg4MmU1MTczZDg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJDb2xvci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViQ29sb3IuaApAQCAtMzEsMTYgKzMxLDEwIEBACiAjaWZuZGVmIFdlYkNvbG9yX2gKICNk
ZWZpbmUgV2ViQ29sb3JfaAogCi0jaW5jbHVkZSAiV2ViQ29sb3JOYW1lLmgiCi0jaW5jbHVkZSAi
V2ViQ29tbW9uLmgiCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiB0eXBlZGVmIHVuc2lnbmVkIFdl
YkNvbG9yOyAgLy8gUkdCQSBxdWFkLiBFcXVpdmFsZW50IHRvIFNrQ29sb3IuCiAKLS8vIFNldHMg
dGhlIHZhbHVlcyBvZiBhIHNldCBvZiBuYW1lZCBjb2xvcnMuCi1XRUJLSVRfRVhQT1JUIHZvaWQg
c2V0TmFtZWRDb2xvcnMoY29uc3QgV2ViQ29sb3JOYW1lKiwgY29uc3QgV2ViQ29sb3IqLCBzaXpl
X3QgbGVuZ3RoKTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaCBiL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQ29sb3JOYW1lLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY5N2VkMjY1ZjNiZTYwZTM4ZjQ2MzRiOTg4ODA1YmM3ZmUzYTAzNzUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDcxICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotKiBtZXQ6Ci0q
Ci0qICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0qIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0qIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSogZGlzdHJpYnV0aW9uLgotKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0qIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0qIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0qCi0qIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0qIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0qIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAotKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0qIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpZm5kZWYgV2ViQ29sb3JO
YW1lX2gKLSNkZWZpbmUgV2ViQ29sb3JOYW1lX2gKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWVu
dW0gV2ViQ29sb3JOYW1lIHsKLSAgICBXZWJDb2xvckFjdGl2ZUJvcmRlciwKLSAgICBXZWJDb2xv
ckFjdGl2ZUNhcHRpb24sCi0gICAgV2ViQ29sb3JBcHB3b3Jrc3BhY2UsCi0gICAgV2ViQ29sb3JC
YWNrZ3JvdW5kLAotICAgIFdlYkNvbG9yQnV0dG9uRmFjZSwKLSAgICBXZWJDb2xvckJ1dHRvbkhp
Z2hsaWdodCwKLSAgICBXZWJDb2xvckJ1dHRvblNoYWRvdywKLSAgICBXZWJDb2xvckJ1dHRvblRl
eHQsCi0gICAgV2ViQ29sb3JDYXB0aW9uVGV4dCwKLSAgICBXZWJDb2xvckdyYXlUZXh0LAotICAg
IFdlYkNvbG9ySGlnaGxpZ2h0LAotICAgIFdlYkNvbG9ySGlnaGxpZ2h0VGV4dCwKLSAgICBXZWJD
b2xvckluYWN0aXZlQm9yZGVyLAotICAgIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uLAotICAgIFdl
YkNvbG9ySW5hY3RpdmVDYXB0aW9uVGV4dCwKLSAgICBXZWJDb2xvckluZm9CYWNrZ3JvdW5kLAot
ICAgIFdlYkNvbG9ySW5mb1RleHQsCi0gICAgV2ViQ29sb3JNZW51LAotICAgIFdlYkNvbG9yTWVu
dVRleHQsCi0gICAgV2ViQ29sb3JTY3JvbGxiYXIsCi0gICAgV2ViQ29sb3JUZXh0LAotICAgIFdl
YkNvbG9yVGhyZWVkRGFya1NoYWRvdywKLSAgICBXZWJDb2xvclRocmVlZFNoYWRvdywKLSAgICBX
ZWJDb2xvclRocmVlZEZhY2UsCi0gICAgV2ViQ29sb3JUaHJlZWRIaWdobGlnaHQsCi0gICAgV2Vi
Q29sb3JUaHJlZWRMaWdodFNoYWRvdywKLSAgICBXZWJDb2xvcldlYmtpdEZvY3VzUmluZ0NvbG9y
LAotICAgIFdlYkNvbG9yV2luZG93LAotICAgIFdlYkNvbG9yV2luZG93RnJhbWUsCi0gICAgV2Vi
Q29sb3JXaW5kb3dUZXh0Ci19OwotCi19ICAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IGY4ZTU4YjM4M2IxYjNjNTE0NzUzMzhjMWY1
ZjYzOTk5MDNmNDNjN2UuLjZkZmNkYzhhNWEzZThmY2QyZDE4NWQwMjdlMmFhMzMxZGU5Njc1MWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTExMiw2ICsxMTIsNyBAQAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViQ2FjaGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJDb2xvckNob29zZXIuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29z
ZXJDbGllbnQuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJDb21wb3NpdGlvblVuZGVybGluZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkNvbXBvc2l0b3IuaCcsCkBAIC0yOTIsNyArMjkzLDYgQEAKICAgICAg
ICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL1dlYkNhbnZhcy5oJywKICAgICAgICAgICAgICAg
ICAncHVibGljL3BsYXRmb3JtL1dlYkNsaXBib2FyZC5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL3BsYXRmb3JtL1dlYkNvbG9yLmgnLAotICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZv
cm0vV2ViQ29sb3JOYW1lLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2Vi
Q29tbW9uLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViQ29udGVudExh
eWVyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViQ29udGVudExheWVy
Q2xpZW50LmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q29sb3JOYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MjVlYjVmNjA3YTkyY2Y5NWU0MTA4NjU1NGRmZDBmMWYzOGUwYTczCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29sb3JO
YW1lLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisqIG1ldDoKKyoKKyogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorKiBkaXN0cmlidXRpb24uCisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRl
ZiBXZWJDb2xvck5hbWVfaAorI2RlZmluZSBXZWJDb2xvck5hbWVfaAorCisjaW5jbHVkZSA8cHVi
bGljL1dlYkNvbG9yLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkNvbW1vbi5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworZW51bSBXZWJDb2xvck5hbWUgeworICAgIFdlYkNvbG9yQWN0aXZlQm9y
ZGVyLAorICAgIFdlYkNvbG9yQWN0aXZlQ2FwdGlvbiwKKyAgICBXZWJDb2xvckFwcHdvcmtzcGFj
ZSwKKyAgICBXZWJDb2xvckJhY2tncm91bmQsCisgICAgV2ViQ29sb3JCdXR0b25GYWNlLAorICAg
IFdlYkNvbG9yQnV0dG9uSGlnaGxpZ2h0LAorICAgIFdlYkNvbG9yQnV0dG9uU2hhZG93LAorICAg
IFdlYkNvbG9yQnV0dG9uVGV4dCwKKyAgICBXZWJDb2xvckNhcHRpb25UZXh0LAorICAgIFdlYkNv
bG9yR3JheVRleHQsCisgICAgV2ViQ29sb3JIaWdobGlnaHQsCisgICAgV2ViQ29sb3JIaWdobGln
aHRUZXh0LAorICAgIFdlYkNvbG9ySW5hY3RpdmVCb3JkZXIsCisgICAgV2ViQ29sb3JJbmFjdGl2
ZUNhcHRpb24sCisgICAgV2ViQ29sb3JJbmFjdGl2ZUNhcHRpb25UZXh0LAorICAgIFdlYkNvbG9y
SW5mb0JhY2tncm91bmQsCisgICAgV2ViQ29sb3JJbmZvVGV4dCwKKyAgICBXZWJDb2xvck1lbnUs
CisgICAgV2ViQ29sb3JNZW51VGV4dCwKKyAgICBXZWJDb2xvclNjcm9sbGJhciwKKyAgICBXZWJD
b2xvclRleHQsCisgICAgV2ViQ29sb3JUaHJlZWREYXJrU2hhZG93LAorICAgIFdlYkNvbG9yVGhy
ZWVkU2hhZG93LAorICAgIFdlYkNvbG9yVGhyZWVkRmFjZSwKKyAgICBXZWJDb2xvclRocmVlZEhp
Z2hsaWdodCwKKyAgICBXZWJDb2xvclRocmVlZExpZ2h0U2hhZG93LAorICAgIFdlYkNvbG9yV2Vi
a2l0Rm9jdXNSaW5nQ29sb3IsCisgICAgV2ViQ29sb3JXaW5kb3csCisgICAgV2ViQ29sb3JXaW5k
b3dGcmFtZSwKKyAgICBXZWJDb2xvcldpbmRvd1RleHQKK307CisKKy8vIFNldHMgdGhlIHZhbHVl
cyBvZiBhIHNldCBvZiBuYW1lZCBjb2xvcnMuCitXRUJLSVRfRVhQT1JUIHZvaWQgc2V0TmFtZWRD
b2xvcnMoY29uc3QgV2ViQ29sb3JOYW1lKiwgY29uc3QgV2ViQ29sb3IqLCBzaXplX3QgbGVuZ3Ro
KTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViQ29sb3JOYW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJDb2xvck5hbWUuaAppbmRleCAxN2Rm
M2YyODg2YzQwZmE2MWQ1ZWYwYmNmODE4YWY3NDM5NmU3ZTY1Li5jM2E4YWZlZGRkOTZlMzdhM2Yx
ZGU3NGU3ODcwYjRmYjg1YmFiYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9wbGF0Zm9ybS9XZWJDb2xvck5hbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJDb2xvck5hbWUuaApAQCAtMjMsNCArMjMsNyBAQAogICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi0jaW5jbHVkZSAiLi4vLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYkNvbG9yTmFtZS5oIgorLy8gRklYTUU6IFRoaXMgaXMgbG9naWNhbGx5IHBhcnQg
b2YgdGhlIFdlYktpdCBjbGllbnQgQVBJIGFuZCBkb2Vzbid0IGJlbG9uZyBpbiBwbGF0Zm9ybS4g
VGhpcyBpcyBhIGZvcndhcmRpbmcgaGVhZGVyIHRvIGF2b2lkIHJlcXVpcmluZyBhIHR3by1zaWRl
ZCBjb21taXQuCisvLyBBcyBzb29uIGFzIGFsbCBjaHJvbWl1bSBjb2RlIGlzIHVwZGF0ZWQgZm9y
IHRoZSBuZXcgbG9jYXRpb24gb2YgdGhpcyBoZWFkZXIsIHJlbW92ZSB0aGlzLgorCisjaW5jbHVk
ZSAiLi4vV2ViQ29sb3JOYW1lLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJDb2xvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb2xvci5j
cHAKaW5kZXggNzM3MzM4YThiMmU1ODVmN2MwMWJmZmE1OWMwZTNiZDZmNjFjNGFkNS4uMTg2NDcw
YzhjYTcxZTY5MzA1Y2JhMjY0NTQwNGZhYThlZTVlZmUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ29sb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkNvbG9yLmNwcApAQCAtMzEsMTEgKzMxLDExIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29sb3IuaCIKIAotI2luY2x1ZGUgIkNvbG9yLmgi
CiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJVbnVzZWRQYXJhbS5oIgotI2luY2x1ZGUg
InBsYXRmb3JtL1dlYkNvbG9yTmFtZS5oIgorI2luY2x1ZGUgIldlYkNvbG9yTmFtZS5oIgogCiB1
c2luZyBuYW1lc3BhY2U6OldlYkNvcmU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128820</attachid>
            <date>2012-02-24 15:50:21 -0800</date>
            <delta_ts>2012-02-24 15:52:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79539-20120224155019.patch</filename>
            <type>text/plain</type>
            <size>20631</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBjNTBmMmMyOGJlZDRl
Y2E2MTA4YzI5MTE1NTQ3Y2ZhNmU5NTg5ZmRiLi44ZTkwYmY1YTEyY2U5ZGVkMzgyNmQ5MmI5MDNm
ZjczMDM1ZTY5YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMi0yNCAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gV2ViS2l0OjpzZXRDb2xvck5hbWVzIGlzIGEgY2xpZW50IEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6CisgICAgICAg
ICogY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmg6CisgICAgICAgIChXZWJLaXQpOgorCiAyMDEy
LTAyLTIyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBNb3ZlIFdlYkdyYXBoaWNzQ29udGV4dDNEIGhlYWRlciBpbnRvIHRoZSBQbGF0
Zm9ybSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYTVhOWYxOTE4OTUy
ZWYzYjA4NDYxMWFiOWY0YzhmY2Q5MDE3NGQ3ZC4uNDI4NDllMDNjMDQyMDI3MWM1YTM4Nzc2YjM5
NmIyY2FmM2JhNjI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMi0wMi0yNCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gV2ViS2l0OjpzZXRDb2xvck5hbWVzIGlzIGEgY2xpZW50IEFQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5n
eXA6CisgICAgICAgICogcHVibGljL1dlYkNvbG9yTmFtZS5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaC4KKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYkNvbG9yTmFtZS5oOgorICAgICAgICAq
IHNyYy9XZWJDb2xvci5jcHA6CisKIDIwMTItMDItMjIgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1vdmUgV2ViR3JhcGhpY3NDb250
ZXh0M0QgaGVhZGVyIGludG8gdGhlIFBsYXRmb3JtIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291
cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lw
aQppbmRleCBhODM4NTMwNWIwNGRhYjI4M2YwYWI0MTljZTQzNGY5YjliYmYzNmZhLi5hZmExNDcx
M2Y1ZDZhYWNiODMxOWQ3NWE2NzczNmE2ZjIzYjEzNDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxh
dGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpA
QCAtMzQsNyArMzQsNiBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDU3RyaW5n
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDYW52YXMuaCcsCiAgICAgICAg
ICAgICAnY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmgnLAotICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViQ29udGVudExheWVy
LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDb250ZW50TGF5ZXJDbGllbnQu
aCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbG9y
LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbG9yLmgKaW5kZXggZGE0
NWViMWM2ZTQ5NTg2NGVjNGFiMmE5N2M5YWE4NDQxOWNhOTZjNy4uZDQ0OWUzNmMxMmQ5NGRlMGVk
ZTc1MTg5MzAzNDg4MmU1MTczZDg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJDb2xvci5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViQ29sb3IuaApAQCAtMzEsMTYgKzMxLDEwIEBACiAjaWZuZGVmIFdlYkNvbG9yX2gKICNk
ZWZpbmUgV2ViQ29sb3JfaAogCi0jaW5jbHVkZSAiV2ViQ29sb3JOYW1lLmgiCi0jaW5jbHVkZSAi
V2ViQ29tbW9uLmgiCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiB0eXBlZGVmIHVuc2lnbmVkIFdl
YkNvbG9yOyAgLy8gUkdCQSBxdWFkLiBFcXVpdmFsZW50IHRvIFNrQ29sb3IuCiAKLS8vIFNldHMg
dGhlIHZhbHVlcyBvZiBhIHNldCBvZiBuYW1lZCBjb2xvcnMuCi1XRUJLSVRfRVhQT1JUIHZvaWQg
c2V0TmFtZWRDb2xvcnMoY29uc3QgV2ViQ29sb3JOYW1lKiwgY29uc3QgV2ViQ29sb3IqLCBzaXpl
X3QgbGVuZ3RoKTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaCBiL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQ29sb3JOYW1lLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY5N2VkMjY1ZjNiZTYwZTM4ZjQ2MzRiOTg4ODA1YmM3ZmUzYTAzNzUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDb2xvck5hbWUuaAorKysgL2Rldi9udWxsCkBAIC0x
LDcxICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotKgotKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotKiBtZXQ6Ci0q
Ci0qICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0qIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0qIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
LSogZGlzdHJpYnV0aW9uLgotKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0qIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0qIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0qCi0qIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0qIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0qIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAotKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCi0qIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpZm5kZWYgV2ViQ29sb3JO
YW1lX2gKLSNkZWZpbmUgV2ViQ29sb3JOYW1lX2gKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWVu
dW0gV2ViQ29sb3JOYW1lIHsKLSAgICBXZWJDb2xvckFjdGl2ZUJvcmRlciwKLSAgICBXZWJDb2xv
ckFjdGl2ZUNhcHRpb24sCi0gICAgV2ViQ29sb3JBcHB3b3Jrc3BhY2UsCi0gICAgV2ViQ29sb3JC
YWNrZ3JvdW5kLAotICAgIFdlYkNvbG9yQnV0dG9uRmFjZSwKLSAgICBXZWJDb2xvckJ1dHRvbkhp
Z2hsaWdodCwKLSAgICBXZWJDb2xvckJ1dHRvblNoYWRvdywKLSAgICBXZWJDb2xvckJ1dHRvblRl
eHQsCi0gICAgV2ViQ29sb3JDYXB0aW9uVGV4dCwKLSAgICBXZWJDb2xvckdyYXlUZXh0LAotICAg
IFdlYkNvbG9ySGlnaGxpZ2h0LAotICAgIFdlYkNvbG9ySGlnaGxpZ2h0VGV4dCwKLSAgICBXZWJD
b2xvckluYWN0aXZlQm9yZGVyLAotICAgIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uLAotICAgIFdl
YkNvbG9ySW5hY3RpdmVDYXB0aW9uVGV4dCwKLSAgICBXZWJDb2xvckluZm9CYWNrZ3JvdW5kLAot
ICAgIFdlYkNvbG9ySW5mb1RleHQsCi0gICAgV2ViQ29sb3JNZW51LAotICAgIFdlYkNvbG9yTWVu
dVRleHQsCi0gICAgV2ViQ29sb3JTY3JvbGxiYXIsCi0gICAgV2ViQ29sb3JUZXh0LAotICAgIFdl
YkNvbG9yVGhyZWVkRGFya1NoYWRvdywKLSAgICBXZWJDb2xvclRocmVlZFNoYWRvdywKLSAgICBX
ZWJDb2xvclRocmVlZEZhY2UsCi0gICAgV2ViQ29sb3JUaHJlZWRIaWdobGlnaHQsCi0gICAgV2Vi
Q29sb3JUaHJlZWRMaWdodFNoYWRvdywKLSAgICBXZWJDb2xvcldlYmtpdEZvY3VzUmluZ0NvbG9y
LAotICAgIFdlYkNvbG9yV2luZG93LAotICAgIFdlYkNvbG9yV2luZG93RnJhbWUsCi0gICAgV2Vi
Q29sb3JXaW5kb3dUZXh0Ci19OwotCi19ICAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IGY4ZTU4YjM4M2IxYjNjNTE0NzUzMzhjMWY1
ZjYzOTk5MDNmNDNjN2UuLjNkYTA0NzdhMDExNGRlOWY4Yjc2MDRkZmQxYmI1MGM4YzdjNjRmYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTExMiw2ICsxMTIsNyBAQAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViQ2FjaGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJDb2xvckNob29zZXIuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29z
ZXJDbGllbnQuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJDb21wb3NpdGlvblVuZGVybGluZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkNvbXBvc2l0b3IuaCcsCkBAIC0yOTIsNyArMjkzLDYgQEAKICAgICAg
ICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL1dlYkNhbnZhcy5oJywKICAgICAgICAgICAgICAg
ICAncHVibGljL3BsYXRmb3JtL1dlYkNsaXBib2FyZC5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL3BsYXRmb3JtL1dlYkNvbG9yLmgnLAotICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZv
cm0vV2ViQ29sb3JOYW1lLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2Vi
Q29tbW9uLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViQ29udGVudExh
eWVyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViQ29udGVudExheWVy
Q2xpZW50LmgnLApAQCAtNDk0LDkgKzQ5NCw5IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJC
bG9iLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJCbG9iRGF0YS5jcHAnLAogICAgICAg
ICAgICAgICAgICdzcmMvV2ViQ2FjaGUuY3BwJywKLSAgICAgICAgICAgICAgICAnc3JjL1dlYkNv
bG9yLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb2xvckNob29zZXJDbGllbnRJbXBs
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb2xvckNob29zZXJDbGllbnRJbXBsLmgn
LAorICAgICAgICAgICAgICAgICdzcmMvV2ViQ29sb3JOYW1lLmNwcCcsCiAgICAgICAgICAgICAg
ICAgJ3NyYy9XZWJDb21tb24uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkNvbXBvc2l0
b3JJbXBsLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb21wb3NpdG9ySW1wbC5oJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbG9yTmFtZS5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29sb3JOYW1lLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjI1ZWI1ZjYwN2E5MmNmOTVlNDEwODY1NTRkZmQwZjFmMzhlMGE3MwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbG9yTmFtZS5oCkBAIC0w
LDAgKzEsNzcgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorKiBtZXQ6Cisq
CisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyogZGlzdHJpYnV0aW9uLgorKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisqCisqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpZm5kZWYgV2ViQ29sb3JO
YW1lX2gKKyNkZWZpbmUgV2ViQ29sb3JOYW1lX2gKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJDb2xv
ci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21tb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2VudW0gV2ViQ29sb3JOYW1lIHsKKyAgICBXZWJDb2xvckFjdGl2ZUJvcmRlciwKKyAgICBX
ZWJDb2xvckFjdGl2ZUNhcHRpb24sCisgICAgV2ViQ29sb3JBcHB3b3Jrc3BhY2UsCisgICAgV2Vi
Q29sb3JCYWNrZ3JvdW5kLAorICAgIFdlYkNvbG9yQnV0dG9uRmFjZSwKKyAgICBXZWJDb2xvckJ1
dHRvbkhpZ2hsaWdodCwKKyAgICBXZWJDb2xvckJ1dHRvblNoYWRvdywKKyAgICBXZWJDb2xvckJ1
dHRvblRleHQsCisgICAgV2ViQ29sb3JDYXB0aW9uVGV4dCwKKyAgICBXZWJDb2xvckdyYXlUZXh0
LAorICAgIFdlYkNvbG9ySGlnaGxpZ2h0LAorICAgIFdlYkNvbG9ySGlnaGxpZ2h0VGV4dCwKKyAg
ICBXZWJDb2xvckluYWN0aXZlQm9yZGVyLAorICAgIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uLAor
ICAgIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uVGV4dCwKKyAgICBXZWJDb2xvckluZm9CYWNrZ3Jv
dW5kLAorICAgIFdlYkNvbG9ySW5mb1RleHQsCisgICAgV2ViQ29sb3JNZW51LAorICAgIFdlYkNv
bG9yTWVudVRleHQsCisgICAgV2ViQ29sb3JTY3JvbGxiYXIsCisgICAgV2ViQ29sb3JUZXh0LAor
ICAgIFdlYkNvbG9yVGhyZWVkRGFya1NoYWRvdywKKyAgICBXZWJDb2xvclRocmVlZFNoYWRvdywK
KyAgICBXZWJDb2xvclRocmVlZEZhY2UsCisgICAgV2ViQ29sb3JUaHJlZWRIaWdobGlnaHQsCisg
ICAgV2ViQ29sb3JUaHJlZWRMaWdodFNoYWRvdywKKyAgICBXZWJDb2xvcldlYmtpdEZvY3VzUmlu
Z0NvbG9yLAorICAgIFdlYkNvbG9yV2luZG93LAorICAgIFdlYkNvbG9yV2luZG93RnJhbWUsCisg
ICAgV2ViQ29sb3JXaW5kb3dUZXh0Cit9OworCisvLyBTZXRzIHRoZSB2YWx1ZXMgb2YgYSBzZXQg
b2YgbmFtZWQgY29sb3JzLgorV0VCS0lUX0VYUE9SVCB2b2lkIHNldE5hbWVkQ29sb3JzKGNvbnN0
IFdlYkNvbG9yTmFtZSosIGNvbnN0IFdlYkNvbG9yKiwgc2l6ZV90IGxlbmd0aCk7CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkNvbG9yTmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViQ29sb3JOYW1lLmgKaW5kZXggMTdkZjNmMjg4NmM0MGZh
NjFkNWVmMGJjZjgxOGFmNzQzOTZlN2U2NS4uYzNhOGFmZWRkZDk2ZTM3YTNmMWRlNzRlNzg3MGI0
ZmI4NWJhYmEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxh
dGZvcm0vV2ViQ29sb3JOYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
cGxhdGZvcm0vV2ViQ29sb3JOYW1lLmgKQEAgLTIzLDQgKzIzLDcgQEAKICAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAotI2luY2x1ZGUgIi4uLy4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJD
b2xvck5hbWUuaCIKKy8vIEZJWE1FOiBUaGlzIGlzIGxvZ2ljYWxseSBwYXJ0IG9mIHRoZSBXZWJL
aXQgY2xpZW50IEFQSSBhbmQgZG9lc24ndCBiZWxvbmcgaW4gcGxhdGZvcm0uIFRoaXMgaXMgYSBm
b3J3YXJkaW5nIGhlYWRlciB0byBhdm9pZCByZXF1aXJpbmcgYSB0d28tc2lkZWQgY29tbWl0Lgor
Ly8gQXMgc29vbiBhcyBhbGwgY2hyb21pdW0gY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgbmV3IGxv
Y2F0aW9uIG9mIHRoaXMgaGVhZGVyLCByZW1vdmUgdGhpcy4KKworI2luY2x1ZGUgIi4uL1dlYkNv
bG9yTmFtZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29s
b3IuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29sb3IuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzczMzhhOGIyZTU4NWY3YzAxYmZmYTU5YzBlM2JkNmY2
MWM0YWQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDEyOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBt
ZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNv
bG9yLmgiCi0KLSNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMu
aCIKLSNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgotI2luY2x1ZGUgIlVudXNlZFBhcmFtLmgiCi0j
aW5jbHVkZSAicGxhdGZvcm0vV2ViQ29sb3JOYW1lLmgiCi0KLXVzaW5nIG5hbWVzcGFjZTo6V2Vi
Q29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXN0YXRpYyBpbnQgdG9DU1NWYWx1ZUtleXdv
cmQoV2ViQ29sb3JOYW1lIGluX3ZhbHVlKQotewotICAgIHN3aXRjaCAoaW5fdmFsdWUpIHsKLSAg
ICBjYXNlIFdlYkNvbG9yQWN0aXZlQm9yZGVyOgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVBY3Rp
dmVib3JkZXI7Ci0gICAgY2FzZSBXZWJDb2xvckFjdGl2ZUNhcHRpb246Ci0gICAgICAgIHJldHVy
biBDU1NWYWx1ZUFjdGl2ZWNhcHRpb247Ci0gICAgY2FzZSBXZWJDb2xvckFwcHdvcmtzcGFjZToK
LSAgICAgICAgcmV0dXJuIENTU1ZhbHVlQXBwd29ya3NwYWNlOwotICAgIGNhc2UgV2ViQ29sb3JC
YWNrZ3JvdW5kOgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVCYWNrZ3JvdW5kOwotICAgIGNhc2Ug
V2ViQ29sb3JCdXR0b25GYWNlOgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVCdXR0b25mYWNlOwot
ICAgIGNhc2UgV2ViQ29sb3JCdXR0b25IaWdobGlnaHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1
ZUJ1dHRvbmhpZ2hsaWdodDsKLSAgICBjYXNlIFdlYkNvbG9yQnV0dG9uU2hhZG93OgotICAgICAg
ICByZXR1cm4gQ1NTVmFsdWVCdXR0b25zaGFkb3c7Ci0gICAgY2FzZSBXZWJDb2xvckJ1dHRvblRl
eHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZUJ1dHRvbnRleHQ7Ci0gICAgY2FzZSBXZWJDb2xv
ckNhcHRpb25UZXh0OgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVDYXB0aW9udGV4dDsKLSAgICBj
YXNlIFdlYkNvbG9yR3JheVRleHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZUdyYXl0ZXh0Owot
ICAgIGNhc2UgV2ViQ29sb3JIaWdobGlnaHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZUhpZ2hs
aWdodDsKLSAgICBjYXNlIFdlYkNvbG9ySGlnaGxpZ2h0VGV4dDoKLSAgICAgICAgcmV0dXJuIENT
U1ZhbHVlSGlnaGxpZ2h0dGV4dDsKLSAgICBjYXNlIFdlYkNvbG9ySW5hY3RpdmVCb3JkZXI6Ci0g
ICAgICAgIHJldHVybiBDU1NWYWx1ZUluYWN0aXZlYm9yZGVyOwotICAgIGNhc2UgV2ViQ29sb3JJ
bmFjdGl2ZUNhcHRpb246Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbjsK
LSAgICBjYXNlIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uVGV4dDoKLSAgICAgICAgcmV0dXJuIENT
U1ZhbHVlSW5hY3RpdmVjYXB0aW9udGV4dDsKLSAgICBjYXNlIFdlYkNvbG9ySW5mb0JhY2tncm91
bmQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZUluZm9iYWNrZ3JvdW5kOwotICAgIGNhc2UgV2Vi
Q29sb3JJbmZvVGV4dDoKLSAgICAgICAgcmV0dXJuIENTU1ZhbHVlSW5mb3RleHQ7Ci0gICAgY2Fz
ZSBXZWJDb2xvck1lbnU6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZU1lbnU7Ci0gICAgY2FzZSBX
ZWJDb2xvck1lbnVUZXh0OgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVNZW51dGV4dDsKLSAgICBj
YXNlIFdlYkNvbG9yU2Nyb2xsYmFyOgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVTY3JvbGxiYXI7
Ci0gICAgY2FzZSBXZWJDb2xvclRleHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZVRleHQ7Ci0g
ICAgY2FzZSBXZWJDb2xvclRocmVlZERhcmtTaGFkb3c6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1
ZVRocmVlZGRhcmtzaGFkb3c7Ci0gICAgY2FzZSBXZWJDb2xvclRocmVlZFNoYWRvdzoKLSAgICAg
ICAgcmV0dXJuIENTU1ZhbHVlVGhyZWVkc2hhZG93OwotICAgIGNhc2UgV2ViQ29sb3JUaHJlZWRG
YWNlOgotICAgICAgICByZXR1cm4gQ1NTVmFsdWVUaHJlZWRmYWNlOwotICAgIGNhc2UgV2ViQ29s
b3JUaHJlZWRIaWdobGlnaHQ6Ci0gICAgICAgIHJldHVybiBDU1NWYWx1ZVRocmVlZGhpZ2hsaWdo
dDsKLSAgICBjYXNlIFdlYkNvbG9yVGhyZWVkTGlnaHRTaGFkb3c6Ci0gICAgICAgIHJldHVybiBD
U1NWYWx1ZVRocmVlZGxpZ2h0c2hhZG93OwotICAgIGNhc2UgV2ViQ29sb3JXZWJraXRGb2N1c1Jp
bmdDb2xvcjoKLSAgICAgICAgcmV0dXJuIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I7Ci0g
ICAgY2FzZSBXZWJDb2xvcldpbmRvdzoKLSAgICAgICAgcmV0dXJuIENTU1ZhbHVlV2luZG93Owot
ICAgIGNhc2UgV2ViQ29sb3JXaW5kb3dGcmFtZToKLSAgICAgICAgcmV0dXJuIENTU1ZhbHVlV2lu
ZG93ZnJhbWU7Ci0gICAgY2FzZSBXZWJDb2xvcldpbmRvd1RleHQ6Ci0gICAgICAgIHJldHVybiBD
U1NWYWx1ZVdpbmRvd3RleHQ7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIENTU1ZhbHVl
SW52YWxpZDsKLSAgICB9Ci19Ci0KLXZvaWQgc2V0TmFtZWRDb2xvcnMoY29uc3QgV2ViQ29sb3JO
YW1lKiBjb2xvck5hbWVzLCBjb25zdCBXZWJDb2xvciogY29sb3JzLCBzaXplX3QgbGVuZ3RoKQot
ewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgV2Vi
Q29sb3JOYW1lIGNvbG9yTmFtZSA9IGNvbG9yTmFtZXNbaV07Ci0gICAgICAgIFdlYkNvbG9yIGNv
bG9yID0gY29sb3JzW2ldOwotCi0gICAgICAgIC8vIENvbnZlcnQgY29sb3IgdG8gaW50ZXJuYWwg
dmFsdWUgaWRlbnRpZmllci4KLSAgICAgICAgaW50IGludGVybmFsQ29sb3JOYW1lID0gdG9DU1NW
YWx1ZUtleXdvcmQoY29sb3JOYW1lKTsKLSAgICAgICAgaWYgKGludGVybmFsQ29sb3JOYW1lID09
IENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3IpIHsKLSAgICAgICAgICAgIFJlbmRlclRoZW1l
OjpzZXRDdXN0b21Gb2N1c1JpbmdDb2xvcihjb2xvcik7Ci0gICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIFRPRE8oamVyZW15KTogVGVsbCBSZW5kZXJUaGVt
ZSB0byB1cGRhdGUgY29sb3JzLgotfQotCi19IC8vIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29sb3JOYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkNvbG9yTmFtZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDRkOGVkOGE4M2RjYWY4NDBk
ZDkxZTIxYjVlNzdmMWVlMTQ5YmVkMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkNvbG9yTmFtZS5jcHAKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29sb3JOYW1lLmgiCisKKyNpbmNsdWRlICJDU1NWYWx1
ZUtleXdvcmRzLmgiCisjaW5jbHVkZSAiQ29sb3IuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5o
IgorI2luY2x1ZGUgIlVudXNlZFBhcmFtLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkNvbG9yLmg+
CisKK3VzaW5nIG5hbWVzcGFjZTo6V2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0
YXRpYyBpbnQgdG9DU1NWYWx1ZUtleXdvcmQoV2ViQ29sb3JOYW1lIG5hbWUpCit7CisgICAgc3dp
dGNoIChuYW1lKSB7CisgICAgY2FzZSBXZWJDb2xvckFjdGl2ZUJvcmRlcjoKKyAgICAgICAgcmV0
dXJuIENTU1ZhbHVlQWN0aXZlYm9yZGVyOworICAgIGNhc2UgV2ViQ29sb3JBY3RpdmVDYXB0aW9u
OgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVBY3RpdmVjYXB0aW9uOworICAgIGNhc2UgV2ViQ29s
b3JBcHB3b3Jrc3BhY2U6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZUFwcHdvcmtzcGFjZTsKKyAg
ICBjYXNlIFdlYkNvbG9yQmFja2dyb3VuZDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlQmFja2dy
b3VuZDsKKyAgICBjYXNlIFdlYkNvbG9yQnV0dG9uRmFjZToKKyAgICAgICAgcmV0dXJuIENTU1Zh
bHVlQnV0dG9uZmFjZTsKKyAgICBjYXNlIFdlYkNvbG9yQnV0dG9uSGlnaGxpZ2h0OgorICAgICAg
ICByZXR1cm4gQ1NTVmFsdWVCdXR0b25oaWdobGlnaHQ7CisgICAgY2FzZSBXZWJDb2xvckJ1dHRv
blNoYWRvdzoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlQnV0dG9uc2hhZG93OworICAgIGNhc2Ug
V2ViQ29sb3JCdXR0b25UZXh0OgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVCdXR0b250ZXh0Owor
ICAgIGNhc2UgV2ViQ29sb3JDYXB0aW9uVGV4dDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlQ2Fw
dGlvbnRleHQ7CisgICAgY2FzZSBXZWJDb2xvckdyYXlUZXh0OgorICAgICAgICByZXR1cm4gQ1NT
VmFsdWVHcmF5dGV4dDsKKyAgICBjYXNlIFdlYkNvbG9ySGlnaGxpZ2h0OgorICAgICAgICByZXR1
cm4gQ1NTVmFsdWVIaWdobGlnaHQ7CisgICAgY2FzZSBXZWJDb2xvckhpZ2hsaWdodFRleHQ6Cisg
ICAgICAgIHJldHVybiBDU1NWYWx1ZUhpZ2hsaWdodHRleHQ7CisgICAgY2FzZSBXZWJDb2xvcklu
YWN0aXZlQm9yZGVyOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVJbmFjdGl2ZWJvcmRlcjsKKyAg
ICBjYXNlIFdlYkNvbG9ySW5hY3RpdmVDYXB0aW9uOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVJ
bmFjdGl2ZWNhcHRpb247CisgICAgY2FzZSBXZWJDb2xvckluYWN0aXZlQ2FwdGlvblRleHQ6Cisg
ICAgICAgIHJldHVybiBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbnRleHQ7CisgICAgY2FzZSBXZWJD
b2xvckluZm9CYWNrZ3JvdW5kOgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVJbmZvYmFja2dyb3Vu
ZDsKKyAgICBjYXNlIFdlYkNvbG9ySW5mb1RleHQ6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZUlu
Zm90ZXh0OworICAgIGNhc2UgV2ViQ29sb3JNZW51OgorICAgICAgICByZXR1cm4gQ1NTVmFsdWVN
ZW51OworICAgIGNhc2UgV2ViQ29sb3JNZW51VGV4dDoKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVl
TWVudXRleHQ7CisgICAgY2FzZSBXZWJDb2xvclNjcm9sbGJhcjoKKyAgICAgICAgcmV0dXJuIENT
U1ZhbHVlU2Nyb2xsYmFyOworICAgIGNhc2UgV2ViQ29sb3JUZXh0OgorICAgICAgICByZXR1cm4g
Q1NTVmFsdWVUZXh0OworICAgIGNhc2UgV2ViQ29sb3JUaHJlZWREYXJrU2hhZG93OgorICAgICAg
ICByZXR1cm4gQ1NTVmFsdWVUaHJlZWRkYXJrc2hhZG93OworICAgIGNhc2UgV2ViQ29sb3JUaHJl
ZWRTaGFkb3c6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVRocmVlZHNoYWRvdzsKKyAgICBjYXNl
IFdlYkNvbG9yVGhyZWVkRmFjZToKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlVGhyZWVkZmFjZTsK
KyAgICBjYXNlIFdlYkNvbG9yVGhyZWVkSGlnaGxpZ2h0OgorICAgICAgICByZXR1cm4gQ1NTVmFs
dWVUaHJlZWRoaWdobGlnaHQ7CisgICAgY2FzZSBXZWJDb2xvclRocmVlZExpZ2h0U2hhZG93Ogor
ICAgICAgICByZXR1cm4gQ1NTVmFsdWVUaHJlZWRsaWdodHNoYWRvdzsKKyAgICBjYXNlIFdlYkNv
bG9yV2Via2l0Rm9jdXNSaW5nQ29sb3I6CisgICAgICAgIHJldHVybiBDU1NWYWx1ZVdlYmtpdEZv
Y3VzUmluZ0NvbG9yOworICAgIGNhc2UgV2ViQ29sb3JXaW5kb3c6CisgICAgICAgIHJldHVybiBD
U1NWYWx1ZVdpbmRvdzsKKyAgICBjYXNlIFdlYkNvbG9yV2luZG93RnJhbWU6CisgICAgICAgIHJl
dHVybiBDU1NWYWx1ZVdpbmRvd2ZyYW1lOworICAgIGNhc2UgV2ViQ29sb3JXaW5kb3dUZXh0Ogor
ICAgICAgICByZXR1cm4gQ1NTVmFsdWVXaW5kb3d0ZXh0OworICAgIGRlZmF1bHQ6CisgICAgICAg
IHJldHVybiBDU1NWYWx1ZUludmFsaWQ7CisgICAgfQorfQorCit2b2lkIHNldE5hbWVkQ29sb3Jz
KGNvbnN0IFdlYkNvbG9yTmFtZSogY29sb3JOYW1lcywgY29uc3QgV2ViQ29sb3IqIGNvbG9ycywg
c2l6ZV90IGxlbmd0aCkKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytp
KSB7CisgICAgICAgIFdlYkNvbG9yTmFtZSBjb2xvck5hbWUgPSBjb2xvck5hbWVzW2ldOworICAg
ICAgICBXZWJDb2xvciBjb2xvciA9IGNvbG9yc1tpXTsKKworICAgICAgICAvLyBDb252ZXJ0IGNv
bG9yIHRvIGludGVybmFsIHZhbHVlIGlkZW50aWZpZXIuCisgICAgICAgIGludCBpbnRlcm5hbENv
bG9yTmFtZSA9IHRvQ1NTVmFsdWVLZXl3b3JkKGNvbG9yTmFtZSk7CisgICAgICAgIGlmIChpbnRl
cm5hbENvbG9yTmFtZSA9PSBDU1NWYWx1ZVdlYmtpdEZvY3VzUmluZ0NvbG9yKSB7CisgICAgICAg
ICAgICBSZW5kZXJUaGVtZTo6c2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3IoY29sb3IpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBUT0RPKGplcmVteSk6
IFRlbGwgUmVuZGVyVGhlbWUgdG8gdXBkYXRlIGNvbG9ycy4KK30KKworfSAvLyBXZWJLaXQK
</data>
<flag name="review"
          id="131318"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>