<?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>120801</bug_id>
          
          <creation_ts>2013-09-05 15:18:49 -0700</creation_ts>
          <short_desc>Make it simpler to introduce new data types to the global object</short_desc>
          <delta_ts>2013-09-05 22:49:35 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>925242</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-05 15:18:49 -0700</bug_when>
    <thetext>Make it simpler to introduce new data types to the global object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925243</commentid>
    <comment_count>1</comment_count>
      <attachid>210669</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-05 15:21:13 -0700</bug_when>
    <thetext>Created attachment 210669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925269</commentid>
    <comment_count>2</comment_count>
      <attachid>210677</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-05 16:10:24 -0700</bug_when>
    <thetext>Created attachment 210677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925270</commentid>
    <comment_count>3</comment_count>
      <attachid>210678</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-05 16:20:53 -0700</bug_when>
    <thetext>Created attachment 210678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925408</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-09-05 22:49:35 -0700</bug_when>
    <thetext>Committed r155177: &lt;http://trac.webkit.org/changeset/155177&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210669</attachid>
            <date>2013-09-05 15:21:13 -0700</date>
            <delta_ts>2013-09-05 16:10:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120801-20130905152112.patch</filename>
            <type>text/plain</type>
            <size>9444</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDI3OTRjN2UzNDI5Mzk5YmYxNmQzYzU2MDkxNWY2YWQ5YzQwMjkyLi45MjhkYTEyMWM0MDk5NjVk
ZDUzMTVhYWJkNjY3MzAyNWZmYjA2YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0wOS0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgc2ltcGxlciB0byBpbnRyb2R1Y2UgbmV3IGRhdGEgdHlwZXMgdG8g
dGhlIGdsb2JhbCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMDgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhbiBpdGVyYXRvciBtYWNybyB0aGF0IGxpc3RzIGFsbCB0aGUgInNpbXBs
ZSIgRVMgdHlwZXMgKGUuZy4gdHlwZQorICAgICAgICBjb25zaXN0cyBvZiBpbnN0YW5jZSwgY29u
c3RydWN0b3IsIGFuZCBwcm90b3R5cGUgY2xhc3NlcykuICBTbyB0aGF0CisgICAgICAgIHdlIGRv
bid0IG5lZWQgdG8gaGF2ZSBldmVyeSBuZXcgdHlwZSBsaXR0ZXIgSlNHbG9iYWxPYmplY3Que2Nw
cCxofSB3aXRoCisgICAgICAgIG1lbWJlcnMsIGFjY2Vzc29ycywgYW5kIG1hbnVhbCBHQyB2aXNp
dGluZy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oOgorCiAyMDEzLTA5LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3Ig
RGVidWdTdWZmaXggdGFyZ2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDVlZGY3NzU1ZGVhZWZiNTU0Nzk0MmZhMjczYTJjOGNk
M2JiMzAwMGYuLjUyMzk0MzZjZWIxYTlmMWU5ZGM4Zjg0NDUyODMzMTRiZmQxODkyYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAg
LTYxMiwxMSArNjEyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX29iamVjdFByb3RvdHlwZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fZnVuY3Rpb25Qcm90b3R5cGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2FycmF5UHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9i
b29sZWFuUHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zdHJp
bmdQcm90b3R5cGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX251bWJlclBy
b3RvdHlwZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZGF0ZVByb3RvdHlw
ZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwUHJvdG90eXBlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9lcnJvclByb3RvdHlwZSk7CiAjaWYg
RU5BQkxFKFBST01JU0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb21p
c2VQcm90b3R5cGUpOwpAQCAtNjQwLDE3ICs2MzUsMTQgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX29iamNDYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJl
KTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9vYmpjV3JhcHBlck9iamVjdFN0
cnVjdHVyZSk7CiAjZW5kaWYKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kYXRl
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9udWxsUHJvdG90
eXBlT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9l
cnJvclN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rp
b25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX251
bWJlck9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
cHJpdmF0ZU5hbWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9zdHJpbmdPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUpOwogCiAjaWYgRU5BQkxFKFBST01JU0VT
KQpAQCAtNjU5LDE1ICs2NTEsMTcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJl
bihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX3Byb21pc2VDYWxsYmFja1N0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fcHJvbWlzZVdyYXBwZXJDYWxsYmFja1N0cnVjdHVyZSk7CiAj
ZW5kaWYgLy8gRU5BQkxFKFBST01JU0VTKQotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX21hcFByb3RvdHlwZSk7CisKKyNkZWZpbmUgVklTSVRfU0lNUExFX1RZUEUoQ2FwaXRhbE5h
bWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSkgXAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tXyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlKTsgXAorICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tXyAjIyBwcm9wZXJOYW1lICMjIFN0cnVjdHVyZSk7IFwKKworICAgIEZP
Ul9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoVklTSVRfU0lNUExFX1RZUEUpCisKKyN1bmRlZiBW
SVNJVF9TSU1QTEVfVFlQRVMKKwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX21h
cERhdGFTdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX21hcFN0
cnVjdHVyZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc2V0UHJvdG90eXBl
KTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zZXRTdHJ1Y3R1cmUpOwogCi0g
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyYXlCdWZmZXJQcm90b3R5cGUpOwot
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FycmF5QnVmZmVyU3RydWN0dXJlKTsK
LSAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBOVU1CRVJfT0ZfVFlQRURfQVJSQVlfVFlQRVM7
IGktLTspIHsKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fdHlwZWRBcnJh
eXNbaV0ucHJvdG90eXBlKTsKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
dHlwZWRBcnJheXNbaV0uc3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGFlOGVjMDYzMjIzNmU2MTg0OWU0ODA3MDJjMWJl
OTY0MGJmYTEzMzkuLjhmMjVjMzc4NWVlMjM1YWI4ZmZiM2VjNzY5OWQzMmQ3MWZiNWY2MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAt
NDgsNyArNDgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgQXJyYXlQcm90b3R5cGU7CiBj
bGFzcyBCb29sZWFuUHJvdG90eXBlOwotY2xhc3MgRGF0ZVByb3RvdHlwZTsKIGNsYXNzIERlYnVn
Z2VyOwogY2xhc3MgRXJyb3JDb25zdHJ1Y3RvcjsKIGNsYXNzIEVycm9yUHJvdG90eXBlOwpAQCAt
NjMsMTcgKzYyLDM1IEBAIGNsYXNzIEpTUHJvbWlzZVByb3RvdHlwZTsKIGNsYXNzIEpTUHJvbWlz
ZVJlc29sdmVyUHJvdG90eXBlOwogY2xhc3MgSlNTdGFjazsKIGNsYXNzIExMSW50T2Zmc2V0c0V4
dHJhY3RvcjsKLWNsYXNzIE1hcFByb3RvdHlwZTsKIGNsYXNzIE5hdGl2ZUVycm9yQ29uc3RydWN0
b3I7CiBjbGFzcyBQcm9ncmFtQ29kZUJsb2NrOwogY2xhc3MgUHJvZ3JhbUV4ZWN1dGFibGU7CiBj
bGFzcyBSZWdFeHBDb25zdHJ1Y3RvcjsKIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKLWNsYXNzIFNl
dFByb3RvdHlwZTsKIGNsYXNzIFNvdXJjZUNvZGU7CiBzdHJ1Y3QgQWN0aXZhdGlvblN0YWNrTm9k
ZTsKIHN0cnVjdCBIYXNoVGFibGU7CiAKKyNkZWZpbmUgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5f
VFlQRShtYWNybykgXAorICAgIG1hY3JvKFNldCwgc2V0LCBzZXQpIFwKKyAgICBtYWNybyhNYXAs
IG1hcCwgbWFwKSBcCisgICAgbWFjcm8oRGF0ZSwgZGF0ZSwgZGF0ZSkgXAorICAgIG1hY3JvKFN0
cmluZywgc3RyaW5nLCBzdHJpbmdPYmplY3QpIFwKKyAgICBtYWNybyhCb29sZWFuLCBib29sZWFu
LCBib29sZWFuT2JqZWN0KSBcCisgICAgbWFjcm8oTnVtYmVyLCBudW1iZXIsIG51bWJlck9iamVj
dCkgXAorICAgIG1hY3JvKEVycm9yLCBlcnJvciwgZXJyb3IpIFwKKyAgICBtYWNybyhSZWdFeHAs
IHJlZ0V4cCwgcmVnRXhwKSBcCisgICAgbWFjcm8oSlNBcnJheUJ1ZmZlciwgYXJyYXlCdWZmZXIs
IGFycmF5QnVmZmVyKSBcCisKKyNkZWZpbmUgREVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFKGNh
cGl0YWxOYW1lLCBsb3dlck5hbWUsIHByb3Blck5hbWUpIFwKKyAgICBjbGFzcyBKUyAjIyBjYXBp
dGFsTmFtZTsgXAorICAgIGNsYXNzIGNhcGl0YWxOYW1lICMjIFByb3RvdHlwZTsgXAorICAgIGNs
YXNzIGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOworCitGT1JfRUFDSF9TSU1QTEVfQlVJTFRJ
Tl9UWVBFKERFQ0xBUkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKKworI3VuZGVmIERFQ0xBUkVfU0lN
UExFX0JVSUxUSU5fVFlQRQorCiB0eXBlZGVmIFZlY3RvcjxFeGVjU3RhdGUqLCAxNj4gRXhlY1N0
YXRlU3RhY2s7CiAKIGNsYXNzIFRhc2tDb250ZXh0IDogcHVibGljIFJlZkNvdW50ZWQ8VGFza0Nv
bnRleHQ+IHsKQEAgLTE0NCwxNiArMTYxLDggQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmll
cjxPYmplY3RQcm90b3R5cGU+IG1fb2JqZWN0UHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxG
dW5jdGlvblByb3RvdHlwZT4gbV9mdW5jdGlvblByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8
QXJyYXlQcm90b3R5cGU+IG1fYXJyYXlQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVyPEJvb2xl
YW5Qcm90b3R5cGU+IG1fYm9vbGVhblByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RyaW5n
UHJvdG90eXBlPiBtX3N0cmluZ1Byb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TnVtYmVyUHJv
dG90eXBlPiBtX251bWJlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8RGF0ZVByb3RvdHlw
ZT4gbV9kYXRlUHJvdG90eXBlOwotICAgIFdyaXRlQmFycmllcjxSZWdFeHBQcm90b3R5cGU+IG1f
cmVnRXhwUHJvdG90eXBlOwotICAgIFdyaXRlQmFycmllcjxFcnJvclByb3RvdHlwZT4gbV9lcnJv
clByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9taXNlUHJvdG90eXBlPiBtX3Byb21p
c2VQcm90b3R5cGU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvbWlzZVJlc29sdmVyUHJvdG90eXBl
PiBtX3Byb21pc2VSZXNvbHZlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TWFwUHJvdG90
eXBlPiBtX21hcFByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U2V0UHJvdG90eXBlPiBtX3Nl
dFByb3RvdHlwZTsKIAogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fd2l0aFNjb3BlU3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaWN0RXZhbEFjdGl2YXRp
b25TdHJ1Y3R1cmU7CkBAIC0xNjUsOCArMTc0LDcgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nU2hhcGVb
TnVtYmVyT2ZJbmRleGluZ1NoYXBlc107CiAgICAgLy8gTGlzdHMgdGhlIHN0cnVjdHVyZXMgd2Ug
c2hvdWxkIHVzZSBkdXJpbmcgYWxsb2NhdGlvbiBmb3IgdGhlc2UgcGFydGljdWxhciBpbmRleGlu
ZyBzaGFwZXMuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZUZv
ckluZGV4aW5nU2hhcGVEdXJpbmdBbGxvY2F0aW9uW051bWJlck9mSW5kZXhpbmdTaGFwZXNdOwot
ICAgICAgICAKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5PYmplY3RTdHJ1
Y3R1cmU7CisKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxiYWNrQ29uc3RydWN0
b3JTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsYmFja0Z1bmN0
aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJhY2tPYmpl
Y3RTdHJ1Y3R1cmU7CkBAIC0xNzQsMTggKzE4MiwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9vYmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX29iamNXcmFwcGVyT2JqZWN0U3RydWN0dXJlOwogI2Vu
ZGlmCi0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9kYXRlU3RydWN0dXJlOwogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZTsKLSAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Vycm9yU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX251bWJlck9i
amVjdFN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1l
U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwTWF0Y2hlc0Fy
cmF5U3RydWN0dXJlOwotICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwU3RydWN0
dXJlOwotICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaW5nT2JqZWN0U3RydWN0dXJl
OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVy
ZTsKIAogI2lmIEVOQUJMRShQUk9NSVNFUykKQEAgLTE5NiwxMiArMTk5LDE1IEBAIHByb3RlY3Rl
ZDoKICNlbmRpZiAvLyBFTkFCTEUoUFJPTUlTRVMpCiAKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX21hcERhdGFTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9t
YXBTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zZXRTdHJ1Y3R1cmU7
Ci0gICAgCi0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXJQcm90b3R5cGU+IG1fYXJyYXlC
dWZmZXJQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheUJ1ZmZl
clN0cnVjdHVyZTsKLSAgICAKKworI2RlZmluZSBERUZJTkVfU1RPUkFHRV9GT1JfU0lNUExFX1RZ
UEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSkgXAorICAgIFdyaXRlQmFycmll
cjxjYXBpdGFsTmFtZSAjIyBQcm90b3R5cGU+IG1fICMjIGxvd2VyTmFtZSAjIyBQcm90b3R5cGU7
IFwKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtXyAjIyBwcm9wZXJOYW1lICMjIFN0cnVj
dHVyZTsKKworICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoREVGSU5FX1NUT1JBR0Vf
Rk9SX1NJTVBMRV9UWVBFKQorCisjdW5kZWYgREVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFCisK
ICAgICBzdHJ1Y3QgVHlwZWRBcnJheURhdGEgewogICAgICAgICBXcml0ZUJhcnJpZXI8SlNPYmpl
Y3Q+IHByb3RvdHlwZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gc3RydWN0dXJl
OwpAQCAtNDA0LDggKzQxMCwxNCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxFKFBST01JU0VT
KQogCiAgICAgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogYXJyYXlCdWZmZXJQcm90b3R5cGUoKSBj
b25zdCB7IHJldHVybiBtX2FycmF5QnVmZmVyUHJvdG90eXBlLmdldCgpOyB9Ci0gICAgU3RydWN0
dXJlKiBhcnJheUJ1ZmZlclN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlCdWZmZXJT
dHJ1Y3R1cmUuZ2V0KCk7IH0KLSAgICAKKworI2RlZmluZSBERUZJTkVfQUNDRVNTT1JTX0ZPUl9T
SU1QTEVfVFlQRShjYXBpdGFsTmFtZSwgbG93ZXJOYW1lLCBwcm9wZXJOYW1lKSBcCisgICAgU3Ry
dWN0dXJlKiBwcm9wZXJOYW1lICMjIFN0cnVjdHVyZSgpIHsgcmV0dXJuIG1fICMjIHByb3Blck5h
bWUgIyMgU3RydWN0dXJlLmdldCgpOyB9CisKKyAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9U
WVBFKERFRklORV9BQ0NFU1NPUlNfRk9SX1NJTVBMRV9UWVBFKQorCisjdW5kZWYgREVDTEFSRV9T
SU1QTEVfQlVJTFRJTl9UWVBFCisKICAgICBTdHJ1Y3R1cmUqIHR5cGVkQXJyYXlTdHJ1Y3R1cmUo
VHlwZWRBcnJheVR5cGUgdHlwZSkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX3R5cGVk
QXJyYXlzW3RvSW5kZXgodHlwZSldLnN0cnVjdHVyZS5nZXQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210677</attachid>
            <date>2013-09-05 16:10:24 -0700</date>
            <delta_ts>2013-09-05 16:20:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120801-20130905161023.patch</filename>
            <type>text/plain</type>
            <size>27400</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDI3OTRjN2UzNDI5Mzk5YmYxNmQzYzU2MDkxNWY2YWQ5YzQwMjkyLi45MjhkYTEyMWM0MDk5NjVk
ZDUzMTVhYWJkNjY3MzAyNWZmYjA2YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0wOS0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgc2ltcGxlciB0byBpbnRyb2R1Y2UgbmV3IGRhdGEgdHlwZXMgdG8g
dGhlIGdsb2JhbCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMDgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhbiBpdGVyYXRvciBtYWNybyB0aGF0IGxpc3RzIGFsbCB0aGUgInNpbXBs
ZSIgRVMgdHlwZXMgKGUuZy4gdHlwZQorICAgICAgICBjb25zaXN0cyBvZiBpbnN0YW5jZSwgY29u
c3RydWN0b3IsIGFuZCBwcm90b3R5cGUgY2xhc3NlcykuICBTbyB0aGF0CisgICAgICAgIHdlIGRv
bid0IG5lZWQgdG8gaGF2ZSBldmVyeSBuZXcgdHlwZSBsaXR0ZXIgSlNHbG9iYWxPYmplY3Que2Nw
cCxofSB3aXRoCisgICAgICAgIG1lbWJlcnMsIGFjY2Vzc29ycywgYW5kIG1hbnVhbCBHQyB2aXNp
dGluZy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oOgorCiAyMDEzLTA5LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3Ig
RGVidWdTdWZmaXggdGFyZ2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzc3Mzk1MjBmMGQ4
ZGNmMmViNzU0NzAxYzViOGEzOTJjM2Q0NjU3OS4uODIxYjg1M2ZlZTMyMjdmOWQyMDE1YTZjMTI3
Zjc5N2RhYjUyYTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC01MywxMCArNTMsOSBAQCB2
b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlKiBwcgogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSk7CiB9CiAKLUpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoCi0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3Rv
dHlwZSkKK0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
OjpjcmVhdGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5
cGUpCiB7Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFZNJiB2bSA9IGNh
bGxGcmFtZS0+dm0oKTsKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3VsdCA9CiAg
ICAgICAgIG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
cj4odm0uaGVhcCkpCiAgICAgICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGUyZDk1ZWY2YTg5MzZiMTA0MjEz
NmFkZWI2OWEzNmMyNWQ2YmZlNWEuLmRhZGY5MDMyMWJjN2UwZGY4NWU1YjIzYmRhNjQ1MjVlNTg2
NWVmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCkBAIC00MSw3ICs0MSw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOwogCiBw
dWJsaWM6Ci0gICAgc3RhdGljIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHN0
YXRpYyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShDYWxsRnJhbWUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKICAgICAKICAg
ICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNWVkZjc3NTVkZWFlZmI1NTQ3OTQyZmEyNzNhMmM4
Y2QzYmIzMDAwZi4uY2UxMzc4ZGU2ZDFmYmRlZTU3M2I3ZDQ0MzJkODc1Y2FmZTRmNzEwNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApA
QCAtMjQxLDcgKzI0MSw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJv
dG90eXBlKQogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RBY2Nlc3NvcihleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBwcm90b0FjY2Vzc29yLCBBY2Nl
c3NvciB8IERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+
c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgbV9vYmplY3RQcm90b3R5
cGUuZ2V0KCkpOwogICAgIAotICAgIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuc2V0KGV4ZWMtPnZt
KCksIHRoaXMsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9v
YmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJ
bnQ4KV0ucHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU0ludDhBcnJheVByb3RvdHlw
ZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEpTSW50OEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1
cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90
eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQxNildLnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwg
dGhpcywgSlNJbnQxNkFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgSlNJbnQxNkFy
cmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQ
cm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQzMild
LnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQzMkFycmF5UHJvdG90eXBlOjpj
cmVhdGUoZXhlYywgdGhpcywgSlNJbnQzMkFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CkBAIC0yNTMsNyAr
MjUyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVGbG9hdDY0KV0ucHJvdG90eXBlLnNldChleGVj
LT52bSgpLCB0aGlzLCBKU0Zsb2F0NjRBcnJheVByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IEpTRmxvYXQ2NEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhp
cywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4
KFR5cGVEYXRhVmlldyldLnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNEYXRhVmll
d1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMtPnZtKCksIEpTRGF0YVZpZXdQcm90b3R5cGU6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsK
ICAgICAKLSAgICBtX2FycmF5QnVmZmVyU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBK
U0FycmF5QnVmZmVyOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9hcnJheUJ1
ZmZlclByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlSW50
OCldLnN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQ4QXJyYXk6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDgp
XS5wcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDE2
KV0uc3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU0ludDE2QXJyYXk6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDE2
KV0ucHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQz
MildLnN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQzMkFycmF5OjpjcmVhdGVT
dHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQz
MildLnByb3RvdHlwZS5nZXQoKSkpOwpAQCAtMjk0LDI2ICsyOTIsMTEgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgCiAgICAgbV9yZWdFeHBNYXRj
aGVzQXJyYXlTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJh
eTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCkpKTsKIAotICAgIG1fc3RyaW5nUHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBTdHJp
bmdQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBTdHJpbmdQcm90b3R5cGU6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAg
ICBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgU3RyaW5nT2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9zdHJpbmdQcm90b3R5cGUu
Z2V0KCkpKTsKLQotICAgIG1fYm9vbGVhblByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywg
Qm9vbGVhblByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEJvb2xlYW5Qcm90b3R5cGU6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
KTsKLSAgICBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIEJv
b2xlYW5PYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX2Jvb2xlYW5Q
cm90b3R5cGUuZ2V0KCkpKTsKLQotICAgIG1fbnVtYmVyUHJvdG90eXBlLnNldChleGVjLT52bSgp
LCB0aGlzLCBOdW1iZXJQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBOdW1iZXJQcm90b3R5
cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5n
ZXQoKSkpKTsKLSAgICBtX251bWJlck9iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhp
cywgTnVtYmVyT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9udW1i
ZXJQcm90b3R5cGUuZ2V0KCkpKTsKLQotICAgIG1fZGF0ZVByb3RvdHlwZS5zZXQoZXhlYy0+dm0o
KSwgdGhpcywgRGF0ZVByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIERhdGVQcm90b3R5cGU6
OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQo
KSkpKTsKLSAgICBtX2RhdGVTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIERhdGVJbnN0
YW5jZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZGF0ZVByb3RvdHlwZS5n
ZXQoKSkpOwotCiAgICAgUmVnRXhwKiBlbXB0eVJlZ2V4ID0gUmVnRXhwOjpjcmVhdGUoZXhlYy0+
dm0oKSwgIiIsIE5vRmxhZ3MpOwogICAgIAogICAgIG1fcmVnRXhwUHJvdG90eXBlLnNldChleGVj
LT52bSgpLCB0aGlzLCBSZWdFeHBQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBSZWdFeHBQ
cm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3Rv
dHlwZS5nZXQoKSksIGVtcHR5UmVnZXgpKTsKICAgICBtX3JlZ0V4cFN0cnVjdHVyZS5zZXQoZXhl
Yy0+dm0oKSwgdGhpcywgUmVnRXhwT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwg
dGhpcywgbV9yZWdFeHBQcm90b3R5cGUuZ2V0KCkpKTsKIAotICAgIG1fZXJyb3JQcm90b3R5cGUu
c2V0KGV4ZWMtPnZtKCksIHRoaXMsIEVycm9yUHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywg
RXJyb3JQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVj
dFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX2Vycm9yU3RydWN0dXJlLnNldChleGVjLT52bSgp
LCB0aGlzLCBFcnJvckluc3RhbmNlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywg
bV9lcnJvclByb3RvdHlwZS5nZXQoKSkpOwotCiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgIG1f
cHJvbWlzZVByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNQcm9taXNlUHJvdG90eXBl
OjpjcmVhdGUoZXhlYywgdGhpcywgSlNQcm9taXNlUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV9wcm9t
aXNlU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU1Byb21pc2U6OmNyZWF0ZVN0cnVj
dHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTMy
NiwzMyArMzA5LDI4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG90
eXBlKQogCiAKICAgICBtX21hcERhdGFTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIE1h
cERhdGE6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBqc051bGwoKSkpOwotICAg
IG1fbWFwUHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBNYXBQcm90b3R5cGU6OmNyZWF0
ZShleGVjLCB0aGlzLCBNYXBQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0
aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX21hcFN0cnVjdHVyZS5zZXQo
ZXhlYy0+dm0oKSwgdGhpcywgSlNNYXA6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlz
LCBtX21hcFByb3RvdHlwZS5nZXQoKSkpOwogCi0gICAgbV9zZXRQcm90b3R5cGUuc2V0KGV4ZWMt
PnZtKCksIHRoaXMsIFNldFByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFNldFByb3RvdHlw
ZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSkpOwotICAgIG1fc2V0U3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU1NldDo6
Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fc2V0UHJvdG90eXBlLmdldCgpKSk7
CisjZGVmaW5lIENSRUFURV9QUk9UT1RZUEVfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxOYW1lLCBs
b3dlck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCisgICAgbV8gIyMg
bG93ZXJOYW1lICMjIFByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgY2FwaXRhbE5hbWUj
I1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIGNhcGl0YWxOYW1lIyNQcm90b3R5cGU6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
KTsgXAorICAgIG1fICMjIHByb3Blck5hbWUgIyMgU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0
aGlzLCBpbnN0YW5jZVR5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtXyAj
IyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgpKSk7CisKKyAgICBGT1JfRUFDSF9TSU1QTEVf
QlVJTFRJTl9UWVBFKENSRUFURV9QUk9UT1RZUEVfRk9SX1NJTVBMRV9UWVBFKQorCisjdW5kZWYg
Q1JFQVRFX1BST1RPVFlQRV9GT1JfU0lNUExFX1RZUEUKIAogICAgIC8vIENvbnN0cnVjdG9ycwog
CiAgICAgSlNDZWxsKiBvYmplY3RDb25zdHJ1Y3RvciA9IE9iamVjdENvbnN0cnVjdG9yOjpjcmVh
dGUoZXhlYywgdGhpcywgT2JqZWN0Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52
bSgpLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9vYmplY3RQcm90b3R5cGUu
Z2V0KCkpOwogICAgIEpTQ2VsbCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3Ry
dWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBGdW5jdGlvbkNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpOwogICAgIEpTQ2VsbCogYXJyYXlDb25zdHJ1Y3RvciA9IEFy
cmF5Q29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVh
dGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCogc3RyaW5nQ29uc3RydWN0b3Ig
PSBTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFN0cmluZ0NvbnN0cnVjdG9y
OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSksIG1fc3RyaW5nUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwqIGJvb2xlYW5Db25z
dHJ1Y3RvciA9IEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEJvb2xlYW5D
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX2Jvb2xlYW5Qcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCog
bnVtYmVyQ29uc3RydWN0b3IgPSBOdW1iZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IE51bWJlckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fbnVtYmVyUHJvdG90eXBlLmdldCgpKTsKLSAgICBK
U0NlbGwqIGRhdGVDb25zdHJ1Y3RvciA9IERhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRo
aXMsIERhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2RhdGVQcm90b3R5cGUuZ2V0KCkpOwogCiAjaWYg
RU5BQkxFKFBST01JU0VTKQogICAgIEpTQ2VsbCogcHJvbWlzZUNvbnN0cnVjdG9yID0gSlNQcm9t
aXNlQ29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6
Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpOwogICAgIEpTQ2VsbCogcHJvbWlzZVJlc29s
dmVyQ29uc3RydWN0b3IgPSBKU1Byb21pc2VSZXNvbHZlckNvbnN0cnVjdG9yOjpjcmVhdGUoZXhl
YywgdGhpcywgSlNQcm9taXNlUmVzb2x2ZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VSZXNv
bHZlclByb3RvdHlwZS5nZXQoKSk7CiAjZW5kaWYgLy8gRU5BQkxFKFBST01JU0VTKQotICAgIEpT
Q2VsbCogbWFwQ29uc3RydWN0b3IgPSBNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IE1hcENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fbWFwUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwq
IHNldENvbnN0cnVjdG9yID0gU2V0Q29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBTZXRD
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX3NldFByb3RvdHlwZS5nZXQoKSk7CiAKICAgICBtX3JlZ0V4cENv
bnN0cnVjdG9yLnNldChleGVjLT52bSgpLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0o
KSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdl
dCgpKSk7CiAKLSAgICBtX2Vycm9yQ29uc3RydWN0b3Iuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIEVy
cm9yQ29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBFcnJvckNvbnN0cnVjdG9yOjpjcmVh
dGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fZXJyb3JQcm90b3R5cGUuZ2V0KCkpKTsKLQogICAgIFN0cnVjdHVyZSogbmF0aXZlRXJyb3JQ
cm90b3R5cGVTdHJ1Y3R1cmUgPSBOYXRpdmVFcnJvclByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJl
KGV4ZWMtPnZtKCksIHRoaXMsIG1fZXJyb3JQcm90b3R5cGUuZ2V0KCkpOwogICAgIFN0cnVjdHVy
ZSogbmF0aXZlRXJyb3JTdHJ1Y3R1cmUgPSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSk7CiAg
ICAgbV9ldmFsRXJyb3JDb25zdHJ1Y3Rvci5zZXQoZXhlYy0+dm0oKSwgdGhpcywgTmF0aXZlRXJy
b3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIG5hdGl2ZUVycm9yU3RydWN0dXJlLCBu
YXRpdmVFcnJvclByb3RvdHlwZVN0cnVjdHVyZSwgQVNDSUlMaXRlcmFsKCJFdmFsRXJyb3IiKSkp
OwpAQCAtMzY1LDI4ICszNDMsMTcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1
ZSBwcm90b3R5cGUpCiAgICAgbV9vYmplY3RQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvciwgb2Jq
ZWN0Q29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
Y29uc3RydWN0b3IsIGZ1bmN0aW9uQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAgICBtX2FycmF5
UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIGFycmF5Q29uc3RydWN0b3IsIERvbnRFbnVtKTsK
LSAgICBtX2Jvb2xlYW5Qcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMt
PnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgYm9vbGVhbkNvbnN0cnVj
dG9yLCBEb250RW51bSk7Ci0gICAgbV9zdHJpbmdQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRU
cmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvciwg
c3RyaW5nQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBtX251bWJlclByb3RvdHlwZS0+cHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
LmNvbnN0cnVjdG9yLCBudW1iZXJDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIG1fZGF0ZVBy
b3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJv
cGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBkYXRlQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICAg
ICBtX3JlZ0V4cFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0o
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBtX3JlZ0V4cENvbnN0cnVjdG9y
LmdldCgpLCBEb250RW51bSk7CiAgICAgbV9lcnJvclByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9y
LCBtX2Vycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVtKTsKICNpZiBFTkFCTEUoUFJPTUlT
RVMpCiAgICAgbV9wcm9taXNlUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihl
eGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIHByb21pc2VDb25z
dHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fcHJvbWlzZVJlc29sdmVyUHJvdG90eXBlLT5wdXRE
aXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCku
Y29uc3RydWN0b3IsIHByb21pc2VSZXNvbHZlckNvbnN0cnVjdG9yLCBEb250RW51bSk7CiAjZW5k
aWYKLSAgICBtX21hcFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+
dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBtYXBDb25zdHJ1Y3Rvciwg
RG9udEVudW0pOwotICAgIG1fc2V0UHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlv
bihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIHNldENvbnN0
cnVjdG9yLCBEb250RW51bSk7CiAKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuT2JqZWN0LCBvYmplY3RDb25zdHJ1Y3Rvciwg
RG9udEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5GdW5jdGlvbiwgZnVuY3Rpb25Db25zdHJ1Y3RvciwgRG9udEVu
dW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5BcnJheSwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMo
KS5Cb29sZWFuLCBib29sZWFuQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuU3RyaW5n
LCBzdHJpbmdDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5OdW1iZXIsIG51bWJlckNv
bnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhl
Yy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLkRhdGUsIGRhdGVDb25zdHJ1Y3RvciwgRG9u
dEVudW0pOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5SZWdFeHAsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkuRXJyb3IsIG1fZXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0p
OwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3Bl
cnR5TmFtZXMoKS5FdmFsRXJyb3IsIG1fZXZhbEVycm9yQ29uc3RydWN0b3IuZ2V0KCksIERvbnRF
bnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkuUmFuZ2VFcnJvciwgbV9yYW5nZUVycm9yQ29uc3RydWN0b3IuZ2V0KCks
IERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuUmVmZXJlbmNlRXJyb3IsIG1fcmVmZXJlbmNlRXJyb3JDb25z
dHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwpAQCAtMzk3LDggKzM2NCwxNyBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvdHlwZSkKICAgICBwdXREaXJlY3RXaXRob3V0
VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuUHJvbWlzZSwgcHJv
bWlzZUNvbnN0cnVjdG9yLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLlByb21pc2VSZXNvbHZlciwgcHJv
bWlzZVJlc29sdmVyQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICNlbmRpZgotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5NYXAs
IG1hcENvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLlNldCwgc2V0Q29uc3RydWN0b3Is
IERvbnRFbnVtKTsKKworCisjZGVmaW5lIENSRUFURV9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZ
UEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05h
bWUpIHsgXAorICAgICAgICBKU0NlbGwqIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3RvciA9IGNhcGl0
YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGUoZXhlYywgdGhpcywgY2FwaXRhbE5hbWUgIyMg
Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSwgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS5nZXQoKSk7IFwK
KyAgICAgICAgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBs
b3dlck5hbWUgIyMgQ29uc3RydWN0b3IsIERvbnRFbnVtKTsgXAorICAgICAgICBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuIGpzTmFt
ZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdG9yLCBEb250RW51bSk7IFwKKyAgICB9CisgICAgRk9S
X0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShDUkVBVEVfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9U
WVBFKQorCisjdW5kZWYgQ1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRQorCiAKICAg
ICBtX2V2YWxGdW5jdGlvbi5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIDEsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5ldmFsLnN0cmluZygpLCBnbG9i
YWxGdW5jRXZhbCkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCks
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5ldmFsLCBtX2V2YWxGdW5jdGlvbi5nZXQoKSwgRG9udEVu
dW0pOwpAQCAtNDA2LDcgKzM4Miw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFs
dWUgcHJvdG90eXBlKQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCks
IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5KU09OLCBKU09OT2JqZWN0OjpjcmVhdGUoZXhlYywgdGhp
cywgSlNPTk9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fb2JqZWN0
UHJvdG90eXBlLmdldCgpKSksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNp
dGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuTWF0aCwgTWF0aE9iamVjdDo6
Y3JlYXRlKGV4ZWMsIHRoaXMsIE1hdGhPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgp
LCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgCi0gICAg
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBhcnJheUJ1ZmZlckNvbnN0cnVjdG9yID0gSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUodGhpcywgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSksIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuZ2V0KCkpOwogICAgIEZpeGVkQXJyYXk8SW50
ZXJuYWxGdW5jdGlvbiosIE5VTUJFUl9PRl9UWVBFRF9BUlJBWV9UWVBFUz4gdHlwZWRBcnJheUNv
bnN0cnVjdG9yczsKICAgICB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3RvSW5kZXgoVHlwZUludDgp
XSA9IEpTSW50OEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh0aGlzLCBKU0ludDhBcnJheUNvbnN0
cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSksIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlSW50OCldLnByb3RvdHlwZS5n
ZXQoKSwgIkludDhBcnJheSIpOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnNbdG9JbmRleChU
eXBlSW50MTYpXSA9IEpTSW50MTZBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodGhpcywgSlNJbnQx
NkFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQxNild
LnByb3RvdHlwZS5nZXQoKSwgIkludDE2QXJyYXkiKTsKQEAgLTQxOCwxMCArMzkzLDcgQEAgdm9p
ZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgdHlwZWRBcnJh
eUNvbnN0cnVjdG9yc1t0b0luZGV4KFR5cGVGbG9hdDMyKV0gPSBKU0Zsb2F0MzJBcnJheUNvbnN0
cnVjdG9yOjpjcmVhdGUodGhpcywgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3Ry
dWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5
cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUZsb2F0MzIpXS5wcm90b3R5cGUuZ2V0KCksICJGbG9hdDMy
QXJyYXkiKTsKICAgICB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3RvSW5kZXgoVHlwZUZsb2F0NjQp
XSA9IEpTRmxvYXQ2NEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh0aGlzLCBKU0Zsb2F0NjRBcnJh
eUNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlv
blByb3RvdHlwZS5nZXQoKSksIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlRmxvYXQ2NCldLnBy
b3RvdHlwZS5nZXQoKSwgIkZsb2F0NjRBcnJheSIpOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnNbdG9JbmRleChUeXBlRGF0YVZpZXcpXSA9IEpTRGF0YVZpZXdDb25zdHJ1Y3Rvcjo6Y3JlYXRl
KHRoaXMsIEpTRGF0YVZpZXdDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCks
IHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgo
VHlwZURhdGFWaWV3KV0ucHJvdG90eXBlLmdldCgpLCAiRGF0YVZpZXciKTsKLSAgICAKLSAgICBt
X2FycmF5QnVmZmVyUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52
bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIGFycmF5QnVmZmVyQ29uc3Ry
dWN0b3IsIERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52
bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuQXJyYXlCdWZmZXIsIGFycmF5QnVmZmVyQ29uc3Ry
dWN0b3IsIERvbnRFbnVtKTsKLSAgICAKKwogICAgIGZvciAodW5zaWduZWQgdHlwZWRBcnJheUlu
ZGV4ID0gTlVNQkVSX09GX1RZUEVEX0FSUkFZX1RZUEVTOyB0eXBlZEFycmF5SW5kZXgtLTspIHsK
ICAgICAgICAgbV90eXBlZEFycmF5c1t0eXBlZEFycmF5SW5kZXhdLnByb3RvdHlwZS0+cHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNv
bnN0cnVjdG9yLCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0sIERvbnRF
bnVtKTsKICAgICAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgSWRl
bnRpZmllcihleGVjLCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0tPm5h
bWUoZXhlYykpLCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0sIERvbnRF
bnVtKTsKQEAgLTYxMiwxMSArNTg0LDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX29iamVjdFByb3RvdHlwZSk7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fZnVuY3Rpb25Qcm90b3R5cGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX2FycmF5UHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9ib29sZWFuUHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9zdHJpbmdQcm90b3R5cGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X251bWJlclByb3RvdHlwZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZGF0
ZVByb3RvdHlwZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwUHJv
dG90eXBlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9lcnJvclByb3RvdHlw
ZSk7CiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX3Byb21pc2VQcm90b3R5cGUpOwpAQCAtNjQwLDE3ICs2MDcsMTQgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX29iamNDYWxsYmFja0Z1bmN0aW9u
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9vYmpjV3JhcHBl
ck9iamVjdFN0cnVjdHVyZSk7CiAjZW5kaWYKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9kYXRlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9u
dWxsUHJvdG90eXBlT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9lcnJvclN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX251bWJlck9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9zdHJpbmdPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUpOwogCiAjaWYgRU5BQkxF
KFBST01JU0VTKQpAQCAtNjU5LDE1ICs2MjMsMTcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb21pc2VDYWxsYmFja1N0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcHJvbWlzZVdyYXBwZXJDYWxsYmFja1N0cnVj
dHVyZSk7CiAjZW5kaWYgLy8gRU5BQkxFKFBST01JU0VTKQotICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX21hcFByb3RvdHlwZSk7CisKKyNkZWZpbmUgVklTSVRfU0lNUExFX1RZUEUo
Q2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUp
IFwKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV8gIyMgbG93ZXJOYW1lICMjIFBy
b3RvdHlwZSk7IFwKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV8gIyMgcHJvcGVy
TmFtZSAjIyBTdHJ1Y3R1cmUpOyBcCisKKyAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBF
KFZJU0lUX1NJTVBMRV9UWVBFKQorCisjdW5kZWYgVklTSVRfU0lNUExFX1RZUEUKKwogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX21hcERhdGFTdHJ1Y3R1cmUpOwotICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX21hcFN0cnVjdHVyZSk7Ci0gICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fc2V0UHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9zZXRTdHJ1Y3R1cmUpOwogCi0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fYXJyYXlCdWZmZXJQcm90b3R5cGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2FycmF5QnVmZmVyU3RydWN0dXJlKTsKLSAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBOVU1CRVJfT0ZfVFlQRURfQVJSQVlfVFlQRVM7IGktLTspIHsKICAgICAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fdHlwZWRBcnJheXNbaV0ucHJvdG90eXBlKTsKICAgICAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fdHlwZWRBcnJheXNbaV0uc3RydWN0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4
IGFlOGVjMDYzMjIzNmU2MTg0OWU0ODA3MDJjMWJlOTY0MGJmYTEzMzkuLmRhNjE4OTRjNjY2MjFi
N2VjNzRkZjg3OGI0NmNmMGMzODJmMTNlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDgsNyArNDgsNiBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY2xhc3MgQXJyYXlQcm90b3R5cGU7CiBjbGFzcyBCb29sZWFuUHJvdG90eXBlOwotY2xh
c3MgRGF0ZVByb3RvdHlwZTsKIGNsYXNzIERlYnVnZ2VyOwogY2xhc3MgRXJyb3JDb25zdHJ1Y3Rv
cjsKIGNsYXNzIEVycm9yUHJvdG90eXBlOwpAQCAtNjMsMTcgKzYyLDM0IEBAIGNsYXNzIEpTUHJv
bWlzZVByb3RvdHlwZTsKIGNsYXNzIEpTUHJvbWlzZVJlc29sdmVyUHJvdG90eXBlOwogY2xhc3Mg
SlNTdGFjazsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKLWNsYXNzIE1hcFByb3RvdHlw
ZTsKIGNsYXNzIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I7CiBjbGFzcyBQcm9ncmFtQ29kZUJsb2Nr
OwogY2xhc3MgUHJvZ3JhbUV4ZWN1dGFibGU7CiBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvcjsKIGNs
YXNzIFJlZ0V4cFByb3RvdHlwZTsKLWNsYXNzIFNldFByb3RvdHlwZTsKIGNsYXNzIFNvdXJjZUNv
ZGU7CiBzdHJ1Y3QgQWN0aXZhdGlvblN0YWNrTm9kZTsKIHN0cnVjdCBIYXNoVGFibGU7CiAKKyNk
ZWZpbmUgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShtYWNybykgXAorICAgIG1hY3JvKFNl
dCwgc2V0LCBzZXQsIEpTU2V0LCBTZXQpIFwKKyAgICBtYWNybyhNYXAsIG1hcCwgbWFwLCBKU01h
cCwgTWFwKSBcCisgICAgbWFjcm8oRGF0ZSwgZGF0ZSwgZGF0ZSwgRGF0ZUluc3RhbmNlLCBEYXRl
KSBcCisgICAgbWFjcm8oU3RyaW5nLCBzdHJpbmcsIHN0cmluZ09iamVjdCwgU3RyaW5nT2JqZWN0
LCBTdHJpbmcpIFwKKyAgICBtYWNybyhCb29sZWFuLCBib29sZWFuLCBib29sZWFuT2JqZWN0LCBC
b29sZWFuT2JqZWN0LCBCb29sZWFuKSBcCisgICAgbWFjcm8oTnVtYmVyLCBudW1iZXIsIG51bWJl
ck9iamVjdCwgTnVtYmVyT2JqZWN0LCBOdW1iZXIpIFwKKyAgICBtYWNybyhFcnJvciwgZXJyb3Is
IGVycm9yLCBFcnJvckluc3RhbmNlLCBFcnJvcikgXAorICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIs
IGFycmF5QnVmZmVyLCBhcnJheUJ1ZmZlciwgSlNBcnJheUJ1ZmZlciwgQXJyYXlCdWZmZXIpIFwK
KworI2RlZmluZSBERUNMQVJFX1NJTVBMRV9CVUlMVElOX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2Vy
TmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKKyAgICBjbGFzcyBKUyAj
IyBjYXBpdGFsTmFtZTsgXAorICAgIGNsYXNzIGNhcGl0YWxOYW1lICMjIFByb3RvdHlwZTsgXAor
ICAgIGNsYXNzIGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOworCitGT1JfRUFDSF9TSU1QTEVf
QlVJTFRJTl9UWVBFKERFQ0xBUkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKKworI3VuZGVmIERFQ0xB
UkVfU0lNUExFX0JVSUxUSU5fVFlQRQorCiB0eXBlZGVmIFZlY3RvcjxFeGVjU3RhdGUqLCAxNj4g
RXhlY1N0YXRlU3RhY2s7CiAKIGNsYXNzIFRhc2tDb250ZXh0IDogcHVibGljIFJlZkNvdW50ZWQ8
VGFza0NvbnRleHQ+IHsKQEAgLTE0NCwxNiArMTYwLDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRl
QmFycmllcjxPYmplY3RQcm90b3R5cGU+IG1fb2JqZWN0UHJvdG90eXBlOwogICAgIFdyaXRlQmFy
cmllcjxGdW5jdGlvblByb3RvdHlwZT4gbV9mdW5jdGlvblByb3RvdHlwZTsKICAgICBXcml0ZUJh
cnJpZXI8QXJyYXlQcm90b3R5cGU+IG1fYXJyYXlQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVy
PEJvb2xlYW5Qcm90b3R5cGU+IG1fYm9vbGVhblByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8
U3RyaW5nUHJvdG90eXBlPiBtX3N0cmluZ1Byb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TnVt
YmVyUHJvdG90eXBlPiBtX251bWJlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8RGF0ZVBy
b3RvdHlwZT4gbV9kYXRlUHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBQcm90b3R5
cGU+IG1fcmVnRXhwUHJvdG90eXBlOwotICAgIFdyaXRlQmFycmllcjxFcnJvclByb3RvdHlwZT4g
bV9lcnJvclByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9taXNlUHJvdG90eXBlPiBt
X3Byb21pc2VQcm90b3R5cGU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvbWlzZVJlc29sdmVyUHJv
dG90eXBlPiBtX3Byb21pc2VSZXNvbHZlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TWFw
UHJvdG90eXBlPiBtX21hcFByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U2V0UHJvdG90eXBl
PiBtX3NldFByb3RvdHlwZTsKIAogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fd2l0aFNj
b3BlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaWN0RXZhbEFj
dGl2YXRpb25TdHJ1Y3R1cmU7CkBAIC0xNjUsOCArMTc0LDcgQEAgcHJvdGVjdGVkOgogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5n
U2hhcGVbTnVtYmVyT2ZJbmRleGluZ1NoYXBlc107CiAgICAgLy8gTGlzdHMgdGhlIHN0cnVjdHVy
ZXMgd2Ugc2hvdWxkIHVzZSBkdXJpbmcgYWxsb2NhdGlvbiBmb3IgdGhlc2UgcGFydGljdWxhciBp
bmRleGluZyBzaGFwZXMuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVj
dHVyZUZvckluZGV4aW5nU2hhcGVEdXJpbmdBbGxvY2F0aW9uW051bWJlck9mSW5kZXhpbmdTaGFw
ZXNdOwotICAgICAgICAKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5PYmpl
Y3RTdHJ1Y3R1cmU7CisKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxiYWNrQ29u
c3RydWN0b3JTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsYmFj
a0Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJh
Y2tPYmplY3RTdHJ1Y3R1cmU7CkBAIC0xNzQsMTggKzE4MiwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9vYmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX29iamNXcmFwcGVyT2JqZWN0U3RydWN0dXJl
OwogI2VuZGlmCi0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9kYXRlU3RydWN0dXJlOwog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVy
ZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Vycm9yU3RydWN0dXJlOwogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNl
dCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX251
bWJlck9iamVjdFN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZh
dGVOYW1lU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwTWF0
Y2hlc0FycmF5U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhw
U3RydWN0dXJlOwotICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaW5nT2JqZWN0U3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1faW50ZXJuYWxGdW5jdGlvblN0
cnVjdHVyZTsKIAogI2lmIEVOQUJMRShQUk9NSVNFUykKQEAgLTE5NiwxMiArMjAwLDE1IEBAIHBy
b3RlY3RlZDoKICNlbmRpZiAvLyBFTkFCTEUoUFJPTUlTRVMpCiAKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX21hcERhdGFTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9tYXBTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zZXRTdHJ1
Y3R1cmU7Ci0gICAgCi0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXJQcm90b3R5cGU+IG1f
YXJyYXlCdWZmZXJQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJh
eUJ1ZmZlclN0cnVjdHVyZTsKLSAgICAKKworI2RlZmluZSBERUZJTkVfU1RPUkFHRV9GT1JfU0lN
UExFX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBl
LCBqc05hbWUpIFwKKyAgICBXcml0ZUJhcnJpZXI8Y2FwaXRhbE5hbWUgIyMgUHJvdG90eXBlPiBt
XyAjIyBsb3dlck5hbWUgIyMgUHJvdG90eXBlOyBcCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV8gIyMgcHJvcGVyTmFtZSAjIyBTdHJ1Y3R1cmU7CisKKyAgICBGT1JfRUFDSF9TSU1QTEVf
QlVJTFRJTl9UWVBFKERFRklORV9TVE9SQUdFX0ZPUl9TSU1QTEVfVFlQRSkKKworI3VuZGVmIERF
RklORV9TVE9SQUdFX0ZPUl9TSU1QTEVfVFlQRQorCiAgICAgc3RydWN0IFR5cGVkQXJyYXlEYXRh
IHsKICAgICAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBwcm90b3R5cGU7CiAgICAgICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZTsKQEAgLTQwNCw4ICs0MTEsMTQgQEAgcHVi
bGljOgogI2VuZGlmIC8vIEVOQUJMRShQUk9NSVNFUykKIAogICAgIEpTQXJyYXlCdWZmZXJQcm90
b3R5cGUqIGFycmF5QnVmZmVyUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheUJ1ZmZl
clByb3RvdHlwZS5nZXQoKTsgfQotICAgIFN0cnVjdHVyZSogYXJyYXlCdWZmZXJTdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJlLmdldCgpOyB9Ci0gICAgCisK
KyNkZWZpbmUgREVGSU5FX0FDQ0VTU09SU19GT1JfU0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxv
d2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKKyAgICBTdHJ1Y3R1
cmUqIHByb3Blck5hbWUgIyMgU3RydWN0dXJlKCkgeyByZXR1cm4gbV8gIyMgcHJvcGVyTmFtZSAj
IyBTdHJ1Y3R1cmUuZ2V0KCk7IH0KKworICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUo
REVGSU5FX0FDQ0VTU09SU19GT1JfU0lNUExFX1RZUEUpCisKKyN1bmRlZiBERUZJTkVfQUNDRVNT
T1JTX0ZPUl9TSU1QTEVfVFlQRQorCiAgICAgU3RydWN0dXJlKiB0eXBlZEFycmF5U3RydWN0dXJl
KFR5cGVkQXJyYXlUeXBlIHR5cGUpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV90eXBl
ZEFycmF5c1t0b0luZGV4KHR5cGUpXS5zdHJ1Y3R1cmUuZ2V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210678</attachid>
            <date>2013-09-05 16:20:53 -0700</date>
            <delta_ts>2013-09-05 16:30:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120801-20130905162053.patch</filename>
            <type>text/plain</type>
            <size>27505</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDI3OTRjN2UzNDI5Mzk5YmYxNmQzYzU2MDkxNWY2YWQ5YzQwMjkyLi45MjhkYTEyMWM0MDk5NjVk
ZDUzMTVhYWJkNjY3MzAyNWZmYjA2YmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0wOS0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgc2ltcGxlciB0byBpbnRyb2R1Y2UgbmV3IGRhdGEgdHlwZXMgdG8g
dGhlIGdsb2JhbCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMDgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhbiBpdGVyYXRvciBtYWNybyB0aGF0IGxpc3RzIGFsbCB0aGUgInNpbXBs
ZSIgRVMgdHlwZXMgKGUuZy4gdHlwZQorICAgICAgICBjb25zaXN0cyBvZiBpbnN0YW5jZSwgY29u
c3RydWN0b3IsIGFuZCBwcm90b3R5cGUgY2xhc3NlcykuICBTbyB0aGF0CisgICAgICAgIHdlIGRv
bid0IG5lZWQgdG8gaGF2ZSBldmVyeSBuZXcgdHlwZSBsaXR0ZXIgSlNHbG9iYWxPYmplY3Que2Nw
cCxofSB3aXRoCisgICAgICAgIG1lbWJlcnMsIGFjY2Vzc29ycywgYW5kIG1hbnVhbCBHQyB2aXNp
dGluZy4KKworICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oOgorCiAyMDEzLTA5LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3Ig
RGVidWdTdWZmaXggdGFyZ2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMzc3Mzk1MjBmMGQ4
ZGNmMmViNzU0NzAxYzViOGEzOTJjM2Q0NjU3OS4uODIxYjg1M2ZlZTMyMjdmOWQyMDE1YTZjMTI3
Zjc5N2RhYjUyYTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuY3BwCkBAIC01MywxMCArNTMsOSBAQCB2
b2lkIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlKiBwcgogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDEpLCBEb250RW51bSB8IERvbnRE
ZWxldGUgfCBSZWFkT25seSk7CiB9CiAKLUpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUoCi0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIHByb3Rv
dHlwZSkKK0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
OjpjcmVhdGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBwcm90b3R5
cGUpCiB7Ci0gICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFZNJiB2bSA9IGNh
bGxGcmFtZS0+dm0oKTsKICAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIHJlc3VsdCA9CiAg
ICAgICAgIG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
cj4odm0uaGVhcCkpCiAgICAgICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvcihnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCmluZGV4IGUyZDk1ZWY2YTg5MzZiMTA0MjEz
NmFkZWI2OWEzNmMyNWQ2YmZlNWEuLmRhZGY5MDMyMWJjN2UwZGY4NWU1YjIzYmRhNjQ1MjVlNTg2
NWVmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oCkBAIC00MSw3ICs0MSw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOwogCiBw
dWJsaWM6Ci0gICAgc3RhdGljIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogY3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSopOworICAgIHN0
YXRpYyBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGNyZWF0ZShDYWxsRnJhbWUqLCBKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSosIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqKTsKICAgICAKICAg
ICBERUNMQVJFX0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNWVkZjc3NTVkZWFlZmI1NTQ3OTQyZmEyNzNhMmM4
Y2QzYmIzMDAwZi4uMDVmZTg1NzRkMjYxYmI2NGU2MzMzNTA3YWRkZTVkODg2NGRiYWY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApA
QCAtMjQxLDcgKzI0MSw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJv
dG90eXBlKQogICAgIG1fb2JqZWN0UHJvdG90eXBlLT5wdXREaXJlY3RBY2Nlc3NvcihleGVjLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBwcm90b0FjY2Vzc29yLCBBY2Nl
c3NvciB8IERvbnRFbnVtKTsKICAgICBtX2Z1bmN0aW9uUHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+
c2V0UHJvdG90eXBlV2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgbV9vYmplY3RQcm90b3R5
cGUuZ2V0KCkpOwogICAgIAotICAgIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuc2V0KGV4ZWMtPnZt
KCksIHRoaXMsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBKU0Fy
cmF5QnVmZmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9v
YmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJ
bnQ4KV0ucHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU0ludDhBcnJheVByb3RvdHlw
ZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEpTSW50OEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1
cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90
eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQxNildLnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwg
dGhpcywgSlNJbnQxNkFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgSlNJbnQxNkFy
cmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQ
cm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQzMild
LnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQzMkFycmF5UHJvdG90eXBlOjpj
cmVhdGUoZXhlYywgdGhpcywgSlNJbnQzMkFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CkBAIC0yNTMsNyAr
MjUyLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAg
ICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVGbG9hdDY0KV0ucHJvdG90eXBlLnNldChleGVj
LT52bSgpLCB0aGlzLCBKU0Zsb2F0NjRBcnJheVByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IEpTRmxvYXQ2NEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhp
cywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4
KFR5cGVEYXRhVmlldyldLnByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNEYXRhVmll
d1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMtPnZtKCksIEpTRGF0YVZpZXdQcm90b3R5cGU6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsK
ICAgICAKLSAgICBtX2FycmF5QnVmZmVyU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBK
U0FycmF5QnVmZmVyOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9hcnJheUJ1
ZmZlclByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlSW50
OCldLnN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQ4QXJyYXk6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDgp
XS5wcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDE2
KV0uc3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU0ludDE2QXJyYXk6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDE2
KV0ucHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQz
MildLnN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNJbnQzMkFycmF5OjpjcmVhdGVT
dHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQz
MildLnByb3RvdHlwZS5nZXQoKSkpOwpAQCAtMjk0LDI2ICsyOTIsMTEgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgCiAgICAgbV9yZWdFeHBNYXRj
aGVzQXJyYXlTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJh
eTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCkpKTsKIAotICAgIG1fc3RyaW5nUHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBTdHJp
bmdQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBTdHJpbmdQcm90b3R5cGU6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAg
ICBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgU3RyaW5nT2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9zdHJpbmdQcm90b3R5cGUu
Z2V0KCkpKTsKLQotICAgIG1fYm9vbGVhblByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywg
Qm9vbGVhblByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEJvb2xlYW5Qcm90b3R5cGU6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
KTsKLSAgICBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIEJv
b2xlYW5PYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX2Jvb2xlYW5Q
cm90b3R5cGUuZ2V0KCkpKTsKLQotICAgIG1fbnVtYmVyUHJvdG90eXBlLnNldChleGVjLT52bSgp
LCB0aGlzLCBOdW1iZXJQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBOdW1iZXJQcm90b3R5
cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5n
ZXQoKSkpKTsKLSAgICBtX251bWJlck9iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+dm0oKSwgdGhp
cywgTnVtYmVyT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9udW1i
ZXJQcm90b3R5cGUuZ2V0KCkpKTsKLQotICAgIG1fZGF0ZVByb3RvdHlwZS5zZXQoZXhlYy0+dm0o
KSwgdGhpcywgRGF0ZVByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIERhdGVQcm90b3R5cGU6
OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQo
KSkpKTsKLSAgICBtX2RhdGVTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIERhdGVJbnN0
YW5jZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZGF0ZVByb3RvdHlwZS5n
ZXQoKSkpOwotCiAgICAgUmVnRXhwKiBlbXB0eVJlZ2V4ID0gUmVnRXhwOjpjcmVhdGUoZXhlYy0+
dm0oKSwgIiIsIE5vRmxhZ3MpOwogICAgIAogICAgIG1fcmVnRXhwUHJvdG90eXBlLnNldChleGVj
LT52bSgpLCB0aGlzLCBSZWdFeHBQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBSZWdFeHBQ
cm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3Rv
dHlwZS5nZXQoKSksIGVtcHR5UmVnZXgpKTsKICAgICBtX3JlZ0V4cFN0cnVjdHVyZS5zZXQoZXhl
Yy0+dm0oKSwgdGhpcywgUmVnRXhwT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwg
dGhpcywgbV9yZWdFeHBQcm90b3R5cGUuZ2V0KCkpKTsKIAotICAgIG1fZXJyb3JQcm90b3R5cGUu
c2V0KGV4ZWMtPnZtKCksIHRoaXMsIEVycm9yUHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywg
RXJyb3JQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVj
dFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX2Vycm9yU3RydWN0dXJlLnNldChleGVjLT52bSgp
LCB0aGlzLCBFcnJvckluc3RhbmNlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywg
bV9lcnJvclByb3RvdHlwZS5nZXQoKSkpOwotCiAjaWYgRU5BQkxFKFBST01JU0VTKQogICAgIG1f
cHJvbWlzZVByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNQcm9taXNlUHJvdG90eXBl
OjpjcmVhdGUoZXhlYywgdGhpcywgSlNQcm9taXNlUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+dm0oKSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CiAgICAgbV9wcm9t
aXNlU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU1Byb21pc2U6OmNyZWF0ZVN0cnVj
dHVyZShleGVjLT52bSgpLCB0aGlzLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTMy
NiwzMiArMzA5LDM3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG90
eXBlKQogCiAKICAgICBtX21hcERhdGFTdHJ1Y3R1cmUuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIE1h
cERhdGE6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBqc051bGwoKSkpOwotICAg
IG1fbWFwUHJvdG90eXBlLnNldChleGVjLT52bSgpLCB0aGlzLCBNYXBQcm90b3R5cGU6OmNyZWF0
ZShleGVjLCB0aGlzLCBNYXBQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0
aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX21hcFN0cnVjdHVyZS5zZXQo
ZXhlYy0+dm0oKSwgdGhpcywgSlNNYXA6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlz
LCBtX21hcFByb3RvdHlwZS5nZXQoKSkpOwogCi0gICAgbV9zZXRQcm90b3R5cGUuc2V0KGV4ZWMt
PnZtKCksIHRoaXMsIFNldFByb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFNldFByb3RvdHlw
ZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSkpOwotICAgIG1fc2V0U3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0aGlzLCBKU1NldDo6
Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fc2V0UHJvdG90eXBlLmdldCgpKSk7
CisjZGVmaW5lIENSRUFURV9QUk9UT1RZUEVfRk9SX1NJTVBMRV9UWVBFKGNhcGl0YWxOYW1lLCBs
b3dlck5hbWUsIHByb3Blck5hbWUsIGluc3RhbmNlVHlwZSwganNOYW1lKSBcCisgICAgbV8gIyMg
bG93ZXJOYW1lICMjIFByb3RvdHlwZS5zZXQoZXhlYy0+dm0oKSwgdGhpcywgY2FwaXRhbE5hbWUj
I1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIGNhcGl0YWxOYW1lIyNQcm90b3R5cGU6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
KTsgXAorICAgIG1fICMjIHByb3Blck5hbWUgIyMgU3RydWN0dXJlLnNldChleGVjLT52bSgpLCB0
aGlzLCBpbnN0YW5jZVR5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtXyAj
IyBsb3dlck5hbWUgIyMgUHJvdG90eXBlLmdldCgpKSk7CisKKyAgICBGT1JfRUFDSF9TSU1QTEVf
QlVJTFRJTl9UWVBFKENSRUFURV9QUk9UT1RZUEVfRk9SX1NJTVBMRV9UWVBFKQorCisjdW5kZWYg
Q1JFQVRFX1BST1RPVFlQRV9GT1JfU0lNUExFX1RZUEUKIAogICAgIC8vIENvbnN0cnVjdG9ycwog
CiAgICAgSlNDZWxsKiBvYmplY3RDb25zdHJ1Y3RvciA9IE9iamVjdENvbnN0cnVjdG9yOjpjcmVh
dGUoZXhlYywgdGhpcywgT2JqZWN0Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52
bSgpLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSwgbV9vYmplY3RQcm90b3R5cGUu
Z2V0KCkpOwogICAgIEpTQ2VsbCogZnVuY3Rpb25Db25zdHJ1Y3RvciA9IEZ1bmN0aW9uQ29uc3Ry
dWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBGdW5jdGlvbkNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1
Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpOwogICAgIEpTQ2VsbCogYXJyYXlDb25zdHJ1Y3RvciA9IEFy
cmF5Q29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBBcnJheUNvbnN0cnVjdG9yOjpjcmVh
dGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCogc3RyaW5nQ29uc3RydWN0b3Ig
PSBTdHJpbmdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFN0cmluZ0NvbnN0cnVjdG9y
OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSksIG1fc3RyaW5nUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwqIGJvb2xlYW5Db25z
dHJ1Y3RvciA9IEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIEJvb2xlYW5D
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX2Jvb2xlYW5Qcm90b3R5cGUuZ2V0KCkpOwotICAgIEpTQ2VsbCog
bnVtYmVyQ29uc3RydWN0b3IgPSBOdW1iZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IE51bWJlckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fbnVtYmVyUHJvdG90eXBlLmdldCgpKTsKLSAgICBK
U0NlbGwqIGRhdGVDb25zdHJ1Y3RvciA9IERhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRo
aXMsIERhdGVDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2RhdGVQcm90b3R5cGUuZ2V0KCkpOwogCiAjaWYg
RU5BQkxFKFBST01JU0VTKQogICAgIEpTQ2VsbCogcHJvbWlzZUNvbnN0cnVjdG9yID0gSlNQcm9t
aXNlQ29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBKU1Byb21pc2VDb25zdHJ1Y3Rvcjo6
Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpLCBtX3Byb21pc2VQcm90b3R5cGUuZ2V0KCkpOwogICAgIEpTQ2VsbCogcHJvbWlzZVJlc29s
dmVyQ29uc3RydWN0b3IgPSBKU1Byb21pc2VSZXNvbHZlckNvbnN0cnVjdG9yOjpjcmVhdGUoZXhl
YywgdGhpcywgSlNQcm9taXNlUmVzb2x2ZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3Byb21pc2VSZXNv
bHZlclByb3RvdHlwZS5nZXQoKSk7CiAjZW5kaWYgLy8gRU5BQkxFKFBST01JU0VTKQotICAgIEpT
Q2VsbCogbWFwQ29uc3RydWN0b3IgPSBNYXBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4ZWMsIHRoaXMs
IE1hcENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSksIG1fbWFwUHJvdG90eXBlLmdldCgpKTsKLSAgICBKU0NlbGwq
IHNldENvbnN0cnVjdG9yID0gU2V0Q29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBTZXRD
b25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpLCBtX3NldFByb3RvdHlwZS5nZXQoKSk7CiAKICAgICBtX3JlZ0V4cENv
bnN0cnVjdG9yLnNldChleGVjLT52bSgpLCB0aGlzLCBSZWdFeHBDb25zdHJ1Y3Rvcjo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0o
KSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdl
dCgpKSk7CiAKLSAgICBtX2Vycm9yQ29uc3RydWN0b3Iuc2V0KGV4ZWMtPnZtKCksIHRoaXMsIEVy
cm9yQ29uc3RydWN0b3I6OmNyZWF0ZShleGVjLCB0aGlzLCBFcnJvckNvbnN0cnVjdG9yOjpjcmVh
dGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSks
IG1fZXJyb3JQcm90b3R5cGUuZ2V0KCkpKTsKKyNkZWZpbmUgQ1JFQVRFX0NPTlNUUlVDVE9SX0ZP
Ul9TSU1QTEVfVFlQRShjYXBpdGFsTmFtZSwgbG93ZXJOYW1lLCBwcm9wZXJOYW1lLCBpbnN0YW5j
ZVR5cGUsIGpzTmFtZSkgXAorICAgIGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yKiBsb3dlck5h
bWUgIyMgQ29uc3RydWN0b3IgPSBjYXBpdGFsTmFtZSAjIyBDb25zdHJ1Y3Rvcjo6Y3JlYXRlKGV4
ZWMsIHRoaXMsIGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhl
Yy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fICMjIGxvd2VyTmFt
ZSAjIyBQcm90b3R5cGUuZ2V0KCkpOyBcCisgICAgbV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlw
ZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlO
YW1lcygpLmNvbnN0cnVjdG9yLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IsIERvbnRFbnVtKTsg
XAorCisgICAgRk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShDUkVBVEVfQ09OU1RSVUNUT1Jf
Rk9SX1NJTVBMRV9UWVBFKQorCisjdW5kZWYgQ1JFQVRFX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVf
VFlQRQorCisgICAgbV9lcnJvckNvbnN0cnVjdG9yLnNldChleGVjLT52bSgpLCB0aGlzLCBlcnJv
ckNvbnN0cnVjdG9yKTsKIAogICAgIFN0cnVjdHVyZSogbmF0aXZlRXJyb3JQcm90b3R5cGVTdHJ1
Y3R1cmUgPSBOYXRpdmVFcnJvclByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCks
IHRoaXMsIG1fZXJyb3JQcm90b3R5cGUuZ2V0KCkpOwogICAgIFN0cnVjdHVyZSogbmF0aXZlRXJy
b3JTdHJ1Y3R1cmUgPSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhl
Yy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSk7CkBAIC0zNjUsMjggKzM1
MywxNiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvdHlwZSkKICAg
ICBtX29iamVjdFByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0o
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBvYmplY3RDb25zdHJ1Y3Rvciwg
RG9udEVudW0pOwogICAgIG1fZnVuY3Rpb25Qcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgZnVu
Y3Rpb25Db25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fYXJyYXlQcm90b3R5cGUtPnB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5j
b25zdHJ1Y3RvciwgYXJyYXlDb25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIG1fYm9vbGVhblBy
b3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJv
cGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBib29sZWFuQ29uc3RydWN0b3IsIERvbnRFbnVtKTsK
LSAgICBtX3N0cmluZ1Byb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+
dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBzdHJpbmdDb25zdHJ1Y3Rv
ciwgRG9udEVudW0pOwotICAgIG1fbnVtYmVyUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJh
bnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIG51
bWJlckNvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgbV9kYXRlUHJvdG90eXBlLT5wdXREaXJl
Y3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29u
c3RydWN0b3IsIGRhdGVDb25zdHJ1Y3RvciwgRG9udEVudW0pOwogICAgIG1fcmVnRXhwUHJvdG90
eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9wZXJ0
eU5hbWVzKCkuY29uc3RydWN0b3IsIG1fcmVnRXhwQ29uc3RydWN0b3IuZ2V0KCksIERvbnRFbnVt
KTsKLSAgICBtX2Vycm9yUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIG1fZXJyb3JDb25zdHJ1
Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogI2lmIEVOQUJMRShQUk9NSVNFUykKICAgICBtX3Byb21p
c2VQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgcHJvbWlzZUNvbnN0cnVjdG9yLCBEb250RW51
bSk7CiAgICAgbV9wcm9taXNlUmVzb2x2ZXJQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFu
c2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3RvciwgcHJv
bWlzZVJlc29sdmVyQ29uc3RydWN0b3IsIERvbnRFbnVtKTsKICNlbmRpZgotICAgIG1fbWFwUHJv
dG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5wcm9w
ZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIG1hcENvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAg
bV9zZXRQcm90b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4
ZWMtPnByb3BlcnR5TmFtZXMoKS5jb25zdHJ1Y3Rvciwgc2V0Q29uc3RydWN0b3IsIERvbnRFbnVt
KTsKIAogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5PYmplY3QsIG9iamVjdENvbnN0cnVjdG9yLCBEb250RW51bSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLkZ1bmN0aW9uLCBmdW5jdGlvbkNvbnN0cnVjdG9yLCBEb250RW51bSk7CiAgICAgcHV0RGly
ZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLkFy
cmF5LCBhcnJheUNvbnN0cnVjdG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRy
YW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLkJvb2xlYW4sIGJvb2xl
YW5Db25zdHJ1Y3RvciwgRG9udEVudW0pOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9u
KGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5TdHJpbmcsIHN0cmluZ0NvbnN0cnVj
dG9yLCBEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0o
KSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLk51bWJlciwgbnVtYmVyQ29uc3RydWN0b3IsIERvbnRF
bnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVjLT5w
cm9wZXJ0eU5hbWVzKCkuRGF0ZSwgZGF0ZUNvbnN0cnVjdG9yLCBEb250RW51bSk7CiAgICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygp
LlJlZ0V4cCwgbV9yZWdFeHBDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwotICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5F
cnJvciwgbV9lcnJvckNvbnN0cnVjdG9yLmdldCgpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0
V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLkV2YWxF
cnJvciwgbV9ldmFsRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5S
YW5nZUVycm9yLCBtX3JhbmdlRXJyb3JDb25zdHJ1Y3Rvci5nZXQoKSwgRG9udEVudW0pOwogICAg
IHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFt
ZXMoKS5SZWZlcmVuY2VFcnJvciwgbV9yZWZlcmVuY2VFcnJvckNvbnN0cnVjdG9yLmdldCgpLCBE
b250RW51bSk7CkBAIC0zOTcsOCArMzczLDE1IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0
KEpTVmFsdWUgcHJvdG90eXBlKQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMt
PnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5Qcm9taXNlLCBwcm9taXNlQ29uc3RydWN0b3Is
IERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuUHJvbWlzZVJlc29sdmVyLCBwcm9taXNlUmVzb2x2ZXJDb25z
dHJ1Y3RvciwgRG9udEVudW0pOwogI2VuZGlmCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLk1hcCwgbWFwQ29uc3RydWN0b3Is
IERvbnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBl
eGVjLT5wcm9wZXJ0eU5hbWVzKCkuU2V0LCBzZXRDb25zdHJ1Y3RvciwgRG9udEVudW0pOworCisK
KyNkZWZpbmUgUFVUX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRShjYXBpdGFsTmFtZSwgbG93
ZXJOYW1lLCBwcm9wZXJOYW1lLCBpbnN0YW5jZVR5cGUsIGpzTmFtZSkgXAorICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS4ganNO
YW1lLCBsb3dlck5hbWUgIyMgQ29uc3RydWN0b3IsIERvbnRFbnVtKTsgXAorCisgICAgRk9SX0VB
Q0hfU0lNUExFX0JVSUxUSU5fVFlQRShQVVRfQ09OU1RSVUNUT1JfRk9SX1NJTVBMRV9UWVBFKQor
CisjdW5kZWYgUFVUX0NPTlNUUlVDVE9SX0ZPUl9TSU1QTEVfVFlQRQorCiAKICAgICBtX2V2YWxG
dW5jdGlvbi5zZXQoZXhlYy0+dm0oKSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMsIHRo
aXMsIDEsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5ldmFsLnN0cmluZygpLCBnbG9iYWxGdW5jRXZh
bCkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5ldmFsLCBtX2V2YWxGdW5jdGlvbi5nZXQoKSwgRG9udEVudW0pOwpAQCAt
NDA2LDcgKzM4OSw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG90
eXBlKQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKGV4ZWMtPnZtKCksIGV4ZWMtPnBy
b3BlcnR5TmFtZXMoKS5KU09OLCBKU09OT2JqZWN0OjpjcmVhdGUoZXhlYywgdGhpcywgSlNPTk9i
amVjdDo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBl
LmdldCgpKSksIERvbnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVj
LT52bSgpLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuTWF0aCwgTWF0aE9iamVjdDo6Y3JlYXRlKGV4
ZWMsIHRoaXMsIE1hdGhPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBt
X29iamVjdFByb3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgCi0gICAgSlNBcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKiBhcnJheUJ1ZmZlckNvbnN0cnVjdG9yID0gSlNBcnJheUJ1ZmZlckNv
bnN0cnVjdG9yOjpjcmVhdGUodGhpcywgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGVT
dHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1f
YXJyYXlCdWZmZXJQcm90b3R5cGUuZ2V0KCkpOwogICAgIEZpeGVkQXJyYXk8SW50ZXJuYWxGdW5j
dGlvbiosIE5VTUJFUl9PRl9UWVBFRF9BUlJBWV9UWVBFUz4gdHlwZWRBcnJheUNvbnN0cnVjdG9y
czsKICAgICB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3RvSW5kZXgoVHlwZUludDgpXSA9IEpTSW50
OEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh0aGlzLCBKU0ludDhBcnJheUNvbnN0cnVjdG9yOjpj
cmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQo
KSksIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlSW50OCldLnByb3RvdHlwZS5nZXQoKSwgIklu
dDhBcnJheSIpOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnNbdG9JbmRleChUeXBlSW50MTYp
XSA9IEpTSW50MTZBcnJheUNvbnN0cnVjdG9yOjpjcmVhdGUodGhpcywgSlNJbnQxNkFycmF5Q29u
c3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT52bSgpLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSwgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQxNildLnByb3RvdHlw
ZS5nZXQoKSwgIkludDE2QXJyYXkiKTsKQEAgLTQxOCwxMCArNDAwLDcgQEAgdm9pZCBKU0dsb2Jh
bE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgdHlwZWRBcnJheUNvbnN0cnVj
dG9yc1t0b0luZGV4KFR5cGVGbG9hdDMyKV0gPSBKU0Zsb2F0MzJBcnJheUNvbnN0cnVjdG9yOjpj
cmVhdGUodGhpcywgSlNGbG9hdDMyQXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPnZtKCksIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5cGVkQXJyYXlz
W3RvSW5kZXgoVHlwZUZsb2F0MzIpXS5wcm90b3R5cGUuZ2V0KCksICJGbG9hdDMyQXJyYXkiKTsK
ICAgICB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3RvSW5kZXgoVHlwZUZsb2F0NjQpXSA9IEpTRmxv
YXQ2NEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh0aGlzLCBKU0Zsb2F0NjRBcnJheUNvbnN0cnVj
dG9yOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+dm0oKSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSksIG1fdHlwZWRBcnJheXNbdG9JbmRleChUeXBlRmxvYXQ2NCldLnByb3RvdHlwZS5n
ZXQoKSwgIkZsb2F0NjRBcnJheSIpOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnNbdG9JbmRl
eChUeXBlRGF0YVZpZXcpXSA9IEpTRGF0YVZpZXdDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHRoaXMsIEpT
RGF0YVZpZXdDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPnZtKCksIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5cGVkQXJyYXlzW3RvSW5kZXgoVHlwZURhdGFW
aWV3KV0ucHJvdG90eXBlLmdldCgpLCAiRGF0YVZpZXciKTsKLSAgICAKLSAgICBtX2FycmF5QnVm
ZmVyUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVj
LT5wcm9wZXJ0eU5hbWVzKCkuY29uc3RydWN0b3IsIGFycmF5QnVmZmVyQ29uc3RydWN0b3IsIERv
bnRFbnVtKTsKLSAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbihleGVjLT52bSgpLCBleGVj
LT5wcm9wZXJ0eU5hbWVzKCkuQXJyYXlCdWZmZXIsIGFycmF5QnVmZmVyQ29uc3RydWN0b3IsIERv
bnRFbnVtKTsKLSAgICAKKwogICAgIGZvciAodW5zaWduZWQgdHlwZWRBcnJheUluZGV4ID0gTlVN
QkVSX09GX1RZUEVEX0FSUkFZX1RZUEVTOyB0eXBlZEFycmF5SW5kZXgtLTspIHsKICAgICAgICAg
bV90eXBlZEFycmF5c1t0eXBlZEFycmF5SW5kZXhdLnByb3RvdHlwZS0+cHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9y
LCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0sIERvbnRFbnVtKTsKICAg
ICAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oZXhlYy0+dm0oKSwgSWRlbnRpZmllcihl
eGVjLCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0tPm5hbWUoZXhlYykp
LCB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3R5cGVkQXJyYXlJbmRleF0sIERvbnRFbnVtKTsKQEAg
LTYxMiwxMSArNTkxLDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX29iamVjdFByb3RvdHlwZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fZnVuY3Rpb25Qcm90b3R5cGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2FycmF5UHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9i
b29sZWFuUHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zdHJp
bmdQcm90b3R5cGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX251bWJlclBy
b3RvdHlwZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZGF0ZVByb3RvdHlw
ZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwUHJvdG90eXBlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9lcnJvclByb3RvdHlwZSk7CiAjaWYg
RU5BQkxFKFBST01JU0VTKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3Byb21p
c2VQcm90b3R5cGUpOwpAQCAtNjQwLDE3ICs2MTQsMTQgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX29iamNDYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJl
KTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9vYmpjV3JhcHBlck9iamVjdFN0
cnVjdHVyZSk7CiAjZW5kaWYKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9kYXRl
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9udWxsUHJvdG90
eXBlT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9l
cnJvclN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rp
b25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX251
bWJlck9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
cHJpdmF0ZU5hbWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9zdHJpbmdPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUpOwogCiAjaWYgRU5BQkxFKFBST01JU0VT
KQpAQCAtNjU5LDE1ICs2MzAsMTcgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJl
bihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX3Byb21pc2VDYWxsYmFja1N0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fcHJvbWlzZVdyYXBwZXJDYWxsYmFja1N0cnVjdHVyZSk7CiAj
ZW5kaWYgLy8gRU5BQkxFKFBST01JU0VTKQotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX21hcFByb3RvdHlwZSk7CisKKyNkZWZpbmUgVklTSVRfU0lNUExFX1RZUEUoQ2FwaXRhbE5h
bWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKKyAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV8gIyMgbG93ZXJOYW1lICMjIFByb3RvdHlwZSk7
IFwKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV8gIyMgcHJvcGVyTmFtZSAjIyBT
dHJ1Y3R1cmUpOyBcCisKKyAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9UWVBFKFZJU0lUX1NJ
TVBMRV9UWVBFKQorCisjdW5kZWYgVklTSVRfU0lNUExFX1RZUEUKKwogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX21hcERhdGFTdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX21hcFN0cnVjdHVyZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fc2V0UHJvdG90eXBlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+
bV9zZXRTdHJ1Y3R1cmUpOwogCi0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJy
YXlCdWZmZXJQcm90b3R5cGUpOwotICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fy
cmF5QnVmZmVyU3RydWN0dXJlKTsKLSAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBOVU1CRVJf
T0ZfVFlQRURfQVJSQVlfVFlQRVM7IGktLTspIHsKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fdHlwZWRBcnJheXNbaV0ucHJvdG90eXBlKTsKICAgICAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fdHlwZWRBcnJheXNbaV0uc3RydWN0dXJlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGFlOGVjMDYz
MjIzNmU2MTg0OWU0ODA3MDJjMWJlOTY0MGJmYTEzMzkuLmRhNjE4OTRjNjY2MjFiN2VjNzRkZjg3
OGI0NmNmMGMzODJmMTNlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaApAQCAtNDgsNyArNDgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xh
c3MgQXJyYXlQcm90b3R5cGU7CiBjbGFzcyBCb29sZWFuUHJvdG90eXBlOwotY2xhc3MgRGF0ZVBy
b3RvdHlwZTsKIGNsYXNzIERlYnVnZ2VyOwogY2xhc3MgRXJyb3JDb25zdHJ1Y3RvcjsKIGNsYXNz
IEVycm9yUHJvdG90eXBlOwpAQCAtNjMsMTcgKzYyLDM0IEBAIGNsYXNzIEpTUHJvbWlzZVByb3Rv
dHlwZTsKIGNsYXNzIEpTUHJvbWlzZVJlc29sdmVyUHJvdG90eXBlOwogY2xhc3MgSlNTdGFjazsK
IGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKLWNsYXNzIE1hcFByb3RvdHlwZTsKIGNsYXNz
IE5hdGl2ZUVycm9yQ29uc3RydWN0b3I7CiBjbGFzcyBQcm9ncmFtQ29kZUJsb2NrOwogY2xhc3Mg
UHJvZ3JhbUV4ZWN1dGFibGU7CiBjbGFzcyBSZWdFeHBDb25zdHJ1Y3RvcjsKIGNsYXNzIFJlZ0V4
cFByb3RvdHlwZTsKLWNsYXNzIFNldFByb3RvdHlwZTsKIGNsYXNzIFNvdXJjZUNvZGU7CiBzdHJ1
Y3QgQWN0aXZhdGlvblN0YWNrTm9kZTsKIHN0cnVjdCBIYXNoVGFibGU7CiAKKyNkZWZpbmUgRk9S
X0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShtYWNybykgXAorICAgIG1hY3JvKFNldCwgc2V0LCBz
ZXQsIEpTU2V0LCBTZXQpIFwKKyAgICBtYWNybyhNYXAsIG1hcCwgbWFwLCBKU01hcCwgTWFwKSBc
CisgICAgbWFjcm8oRGF0ZSwgZGF0ZSwgZGF0ZSwgRGF0ZUluc3RhbmNlLCBEYXRlKSBcCisgICAg
bWFjcm8oU3RyaW5nLCBzdHJpbmcsIHN0cmluZ09iamVjdCwgU3RyaW5nT2JqZWN0LCBTdHJpbmcp
IFwKKyAgICBtYWNybyhCb29sZWFuLCBib29sZWFuLCBib29sZWFuT2JqZWN0LCBCb29sZWFuT2Jq
ZWN0LCBCb29sZWFuKSBcCisgICAgbWFjcm8oTnVtYmVyLCBudW1iZXIsIG51bWJlck9iamVjdCwg
TnVtYmVyT2JqZWN0LCBOdW1iZXIpIFwKKyAgICBtYWNybyhFcnJvciwgZXJyb3IsIGVycm9yLCBF
cnJvckluc3RhbmNlLCBFcnJvcikgXAorICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIsIGFycmF5QnVm
ZmVyLCBhcnJheUJ1ZmZlciwgSlNBcnJheUJ1ZmZlciwgQXJyYXlCdWZmZXIpIFwKKworI2RlZmlu
ZSBERUNMQVJFX1NJTVBMRV9CVUlMVElOX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJv
cGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKKyAgICBjbGFzcyBKUyAjIyBjYXBpdGFs
TmFtZTsgXAorICAgIGNsYXNzIGNhcGl0YWxOYW1lICMjIFByb3RvdHlwZTsgXAorICAgIGNsYXNz
IGNhcGl0YWxOYW1lICMjIENvbnN0cnVjdG9yOworCitGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9U
WVBFKERFQ0xBUkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKKworI3VuZGVmIERFQ0xBUkVfU0lNUExF
X0JVSUxUSU5fVFlQRQorCiB0eXBlZGVmIFZlY3RvcjxFeGVjU3RhdGUqLCAxNj4gRXhlY1N0YXRl
U3RhY2s7CiAKIGNsYXNzIFRhc2tDb250ZXh0IDogcHVibGljIFJlZkNvdW50ZWQ8VGFza0NvbnRl
eHQ+IHsKQEAgLTE0NCwxNiArMTYwLDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxP
YmplY3RQcm90b3R5cGU+IG1fb2JqZWN0UHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxGdW5j
dGlvblByb3RvdHlwZT4gbV9mdW5jdGlvblByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8QXJy
YXlQcm90b3R5cGU+IG1fYXJyYXlQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVyPEJvb2xlYW5Q
cm90b3R5cGU+IG1fYm9vbGVhblByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RyaW5nUHJv
dG90eXBlPiBtX3N0cmluZ1Byb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TnVtYmVyUHJvdG90
eXBlPiBtX251bWJlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8RGF0ZVByb3RvdHlwZT4g
bV9kYXRlUHJvdG90eXBlOwogICAgIFdyaXRlQmFycmllcjxSZWdFeHBQcm90b3R5cGU+IG1fcmVn
RXhwUHJvdG90eXBlOwotICAgIFdyaXRlQmFycmllcjxFcnJvclByb3RvdHlwZT4gbV9lcnJvclBy
b3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9taXNlUHJvdG90eXBlPiBtX3Byb21pc2VQ
cm90b3R5cGU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvbWlzZVJlc29sdmVyUHJvdG90eXBlPiBt
X3Byb21pc2VSZXNvbHZlclByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8TWFwUHJvdG90eXBl
PiBtX21hcFByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U2V0UHJvdG90eXBlPiBtX3NldFBy
b3RvdHlwZTsKIAogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fd2l0aFNjb3BlU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaWN0RXZhbEFjdGl2YXRpb25T
dHJ1Y3R1cmU7CkBAIC0xNjUsOCArMTc0LDcgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nU2hhcGVbTnVt
YmVyT2ZJbmRleGluZ1NoYXBlc107CiAgICAgLy8gTGlzdHMgdGhlIHN0cnVjdHVyZXMgd2Ugc2hv
dWxkIHVzZSBkdXJpbmcgYWxsb2NhdGlvbiBmb3IgdGhlc2UgcGFydGljdWxhciBpbmRleGluZyBz
aGFwZXMuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZUZvcklu
ZGV4aW5nU2hhcGVEdXJpbmdBbGxvY2F0aW9uW051bWJlck9mSW5kZXhpbmdTaGFwZXNdOwotICAg
ICAgICAKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1
cmU7CisKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxiYWNrQ29uc3RydWN0b3JT
dHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsYmFja0Z1bmN0aW9u
U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJhY2tPYmplY3RT
dHJ1Y3R1cmU7CkBAIC0xNzQsMTggKzE4MiwxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT4gbV9vYmpjQ2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX29iamNXcmFwcGVyT2JqZWN0U3RydWN0dXJlOwogI2VuZGlm
Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9kYXRlU3RydWN0dXJlOwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fbnVsbFByb3RvdHlwZU9iamVjdFN0cnVjdHVyZTsKLSAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Vycm9yU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0
aW9uTmFtZU9mZnNldDsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX251bWJlck9iamVj
dFN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwTWF0Y2hlc0FycmF5
U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcmVnRXhwU3RydWN0dXJl
OwotICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaW5nT2JqZWN0U3RydWN0dXJlOwog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZTsK
IAogI2lmIEVOQUJMRShQUk9NSVNFUykKQEAgLTE5NiwxMiArMjAwLDE1IEBAIHByb3RlY3RlZDoK
ICNlbmRpZiAvLyBFTkFCTEUoUFJPTUlTRVMpCiAKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX21hcERhdGFTdHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9tYXBT
dHJ1Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zZXRTdHJ1Y3R1cmU7Ci0g
ICAgCi0gICAgV3JpdGVCYXJyaWVyPEpTQXJyYXlCdWZmZXJQcm90b3R5cGU+IG1fYXJyYXlCdWZm
ZXJQcm90b3R5cGU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheUJ1ZmZlclN0
cnVjdHVyZTsKLSAgICAKKworI2RlZmluZSBERUZJTkVfU1RPUkFHRV9GT1JfU0lNUExFX1RZUEUo
Y2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwgcHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUp
IFwKKyAgICBXcml0ZUJhcnJpZXI8Y2FwaXRhbE5hbWUgIyMgUHJvdG90eXBlPiBtXyAjIyBsb3dl
ck5hbWUgIyMgUHJvdG90eXBlOyBcCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV8gIyMg
cHJvcGVyTmFtZSAjIyBTdHJ1Y3R1cmU7CisKKyAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJTl9U
WVBFKERFRklORV9TVE9SQUdFX0ZPUl9TSU1QTEVfVFlQRSkKKworI3VuZGVmIERFRklORV9TVE9S
QUdFX0ZPUl9TSU1QTEVfVFlQRQorCiAgICAgc3RydWN0IFR5cGVkQXJyYXlEYXRhIHsKICAgICAg
ICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBwcm90b3R5cGU7CiAgICAgICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IHN0cnVjdHVyZTsKQEAgLTQwNCw4ICs0MTEsMTQgQEAgcHVibGljOgogI2Vu
ZGlmIC8vIEVOQUJMRShQUk9NSVNFUykKIAogICAgIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIGFy
cmF5QnVmZmVyUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheUJ1ZmZlclByb3RvdHlw
ZS5nZXQoKTsgfQotICAgIFN0cnVjdHVyZSogYXJyYXlCdWZmZXJTdHJ1Y3R1cmUoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJlLmdldCgpOyB9Ci0gICAgCisKKyNkZWZpbmUg
REVGSU5FX0FDQ0VTU09SU19GT1JfU0lNUExFX1RZUEUoY2FwaXRhbE5hbWUsIGxvd2VyTmFtZSwg
cHJvcGVyTmFtZSwgaW5zdGFuY2VUeXBlLCBqc05hbWUpIFwKKyAgICBTdHJ1Y3R1cmUqIHByb3Bl
ck5hbWUgIyMgU3RydWN0dXJlKCkgeyByZXR1cm4gbV8gIyMgcHJvcGVyTmFtZSAjIyBTdHJ1Y3R1
cmUuZ2V0KCk7IH0KKworICAgIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoREVGSU5FX0FD
Q0VTU09SU19GT1JfU0lNUExFX1RZUEUpCisKKyN1bmRlZiBERUZJTkVfQUNDRVNTT1JTX0ZPUl9T
SU1QTEVfVFlQRQorCiAgICAgU3RydWN0dXJlKiB0eXBlZEFycmF5U3RydWN0dXJlKFR5cGVkQXJy
YXlUeXBlIHR5cGUpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV90eXBlZEFycmF5c1t0
b0luZGV4KHR5cGUpXS5zdHJ1Y3R1cmUuZ2V0KCk7Cg==
</data>
<flag name="review"
          id="232769"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>