<?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>140456</bug_id>
          
          <creation_ts>2015-01-14 10:58:38 -0800</creation_ts>
          <short_desc>Web Replay: purge remaining PassRefPtr uses and minor cleanup</short_desc>
          <delta_ts>2015-01-16 14:13: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>136290</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Brian Burg">burg</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061237</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:58:38 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061238</commentid>
    <comment_count>1</comment_count>
      <attachid>244623</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:59:14 -0800</bug_when>
    <thetext>Created attachment 244623
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061306</commentid>
    <comment_count>2</comment_count>
      <attachid>244638</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 14:42:48 -0800</bug_when>
    <thetext>Created attachment 244638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061308</commentid>
    <comment_count>3</comment_count>
      <attachid>244638</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 14:43:42 -0800</bug_when>
    <thetext>Comment on attachment 244638
Patch

Wrong bug, command line typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061708</commentid>
    <comment_count>4</comment_count>
      <attachid>244730</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-15 16:57:22 -0800</bug_when>
    <thetext>Created attachment 244730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061960</commentid>
    <comment_count>5</comment_count>
      <attachid>244730</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 14:13:08 -0800</bug_when>
    <thetext>Comment on attachment 244730
Patch

Clearing flags on attachment: 244730

Committed r178603: &lt;http://trac.webkit.org/changeset/178603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061961</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-16 14:13:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244623</attachid>
            <date>2015-01-14 10:59:14 -0800</date>
            <delta_ts>2015-01-15 16:57:18 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-140456-20150114105847.patch</filename>
            <type>text/plain</type>
            <size>6596</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcmVwbGF5L0VtcHR5SW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
ZXBsYXkvRW1wdHlJbnB1dEN1cnNvci5oCmluZGV4IGYyYTlhNDBlOGE5MTYzYzcxZmNkYWVhMzQ5
M2U2YmQ5MGE3MWE1ZDkuLmEzOGFlZTIzN2Q5NzMwZGEyMGMzMWY2YmUzOWVjMDBmNGQ3NmU0NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvRW1wdHlJbnB1dEN1cnNv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvRW1wdHlJbnB1dEN1cnNvci5o
CkBAIC00MCw5ICs0MCw5IEBAIGNsYXNzIEVtcHR5SW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMg
SW5wdXRDdXJzb3IgewogcHVibGljOgogICAgIHZpcnR1YWwgfkVtcHR5SW5wdXRDdXJzb3IoKSB7
IH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEVtcHR5SW5wdXRDdXJzb3I+IGNyZWF0ZSgpCisg
ICAgc3RhdGljIFJlZjxFbXB0eUlucHV0Q3Vyc29yPiBjcmVhdGUoKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBFbXB0eUlucHV0Q3Vyc29yKCkpOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBFbXB0eUlucHV0Q3Vyc29yKCkpOwogICAgIH0KIAogICAgIHZpcnR1YWwg
Ym9vbCBpc0NhcHR1cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC02
MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIE5v
bmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9t
aWNTdHJpbmcmKSBvdmVycmlkZQorICAgIHZpcnR1YWwgTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFz
ZSogbG9hZElucHV0KElucHV0UXVldWUsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlCiAgICAgewog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L0lucHV0Q3Vyc29yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L0lucHV0Q3Vyc29yLmgKaW5kZXggNWMyYTg1ZTlh
MDM3Y2I3ZDI1MmI4ZGZhNDg0Y2YzZGM4NmQ2ZDQ5MS4uY2EzY2YyZmIxZDQzNGJkYjI1ZGQwY2Ni
ZDlkYWUyMDMzNGM3MzI3YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxh
eS9JbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvSW5wdXRD
dXJzb3IuaApAQCAtMzMsMTggKzMzLDEzIEBACiAjaW5jbHVkZSAiTm9uZGV0ZXJtaW5pc3RpY0lu
cHV0LmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIElucHV0Q3Vyc29yIDogcHVibGljIFJlZkNvdW50ZWQ8SW5wdXRDdXJz
b3I+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dEN1cnNvcik7CiBwdWJsaWM6Ci0g
ICAgSW5wdXRDdXJzb3IoKQotICAgICAgICA6IG1fd2l0aGluRXZlbnRMb29wSW5wdXRFeHRlbnQo
ZmFsc2UpCi0gICAgewotICAgIH0KLQorICAgIElucHV0Q3Vyc29yKCkgeyB9CiAgICAgdmlydHVh
bCB+SW5wdXRDdXJzb3IoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0NhcHR1cmluZygpIGNv
bnN0ID0gMDsKQEAgLTc4LDEwICs3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0
b3JlSW5wdXQoc3RkOjp1bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+KSA9IDA7
CiAgICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiB1bmNoZWNrZWRMb2FkSW5w
dXQoSW5wdXRRdWV1ZSkgPSAwOwogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgTm9uZGV0ZXJtaW5p
c3RpY0lucHV0QmFzZSogbG9hZElucHV0KElucHV0UXVldWUsIGNvbnN0IEF0b21pY1N0cmluZyYp
ID0gMDsKKyAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJ
bnB1dFF1ZXVlLCBjb25zdCBTdHJpbmcmKSA9IDA7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBtX3dp
dGhpbkV2ZW50TG9vcElucHV0RXh0ZW50OworICAgIGJvb2wgbV93aXRoaW5FdmVudExvb3BJbnB1
dEV4dGVudCA9IHtmYWxzZX07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCmluZGV4IDg4NWRmNThiOTll
NWY1NmZjNmQ4MDYxOTczNDNjODVjZjQ4MWVjZGYuLmM4MTgwNzQzMTZmZmZkYTk3MjI5NDY5Mjk5
NWVkNWE3YmFkM2YwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lu
cHV0Q3Vyc29yLmNwcApAQCAtNjcsNyArNjcsNyBAQCB2b2lkIENhcHR1cmluZ0lucHV0Q3Vyc29y
OjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlPgog
ICAgIG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0b3JlKFdURjo6bW92ZShpbnB1dCkpOwogfQogCi1O
b25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6bG9hZElucHV0
KElucHV0UXVldWUsIGNvbnN0IEF0b21pY1N0cmluZyYpCitOb25kZXRlcm1pbmlzdGljSW5wdXRC
YXNlKiBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6bG9hZElucHV0KElucHV0UXVldWUsIGNvbnN0IFN0
cmluZyYpCiB7CiAgICAgLy8gQ2FuJ3QgbG9hZCBpbnB1dHMgZnJvbSBjYXB0dXJpbmcgY3Vyc29y
LgogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2Fw
dHVyaW5nSW5wdXRDdXJzb3IuaAppbmRleCAwODAxN2FiYmI3OWUyYWFiYzQ2OTc2ZTFlMzY5ZGU3
NTRjNzE2YTUxLi44NTFhODg5ODNhNWMyMGIyYzg2OWIwYmI3YzRmZmIwMWVlMGNjNDRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuaApAQCAtNDksNyAr
NDksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUmVwbGF5aW5nKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgTm9uZGV0
ZXJtaW5pc3RpY0lucHV0QmFzZSogbG9hZElucHV0KElucHV0UXVldWUsIGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRC
YXNlKiBsb2FkSW5wdXQoSW5wdXRRdWV1ZSwgY29uc3QgU3RyaW5nJiB0eXBlKSBvdmVycmlkZTsK
IAogcHJpdmF0ZToKICAgICBDYXB0dXJpbmdJbnB1dEN1cnNvcihQYXNzUmVmUHRyPFJlcGxheVNl
c3Npb25TZWdtZW50Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRnVuY3Rv
cklucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRnVuY3RvcklucHV0Q3Vyc29y
LmgKaW5kZXggYzhkZjkwMzFjZDlhN2U5YzA4NTNmMTk3ODg5ZTQ0ZDMzMzA2ZGIyZi4uYWZmNDZl
NWZjZTJlNWRjYWYwMGZhNmEyZjcyYTllODg0YzVkNjY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0Z1bmN0b3JJbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9GdW5jdG9ySW5wdXRDdXJzb3IuaApAQCAtNDMsOSArNDMsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBGdW5jdG9ySW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJz
b3IgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bmN0b3JJbnB1dEN1cnNvcik7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3RvcklucHV0Q3Vyc29yPiBjcmVhdGUoUGFz
c1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gc2VnbWVudCkKKyAgICBzdGF0aWMgUmVmPEZ1
bmN0b3JJbnB1dEN1cnNvcj4gY3JlYXRlKFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4mJiBz
ZWdtZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGdW5jdG9ySW5wdXRD
dXJzb3Ioc2VnbWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGdW5jdG9ySW5w
dXRDdXJzb3IoV1RGOjptb3ZlKHNlZ21lbnQpKSk7CiAgICAgfQogCiAgICAgLy8gSW5wdXRDdXJz
b3IKQEAgLTU4LDkgKzU4LDkgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0
b3I+CiAgICAgdHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBmb3JFYWNoSW5wdXRJblF1ZXVl
KElucHV0UXVldWUsIEZ1bmN0b3ImKTsKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIE5vbmRldGVy
bWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxv
YWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKIHByaXZhdGU6Ci0g
ICAgRnVuY3RvcklucHV0Q3Vyc29yKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+KTsK
KyAgICBGdW5jdG9ySW5wdXRDdXJzb3IoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmKTsK
IAogICAgIFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gbV9zZWdtZW50OwogfTsKQEAgLTc0
LDggKzc0LDggQEAgdHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBGdW5jdG9ySW5wdXRDdXJz
b3I6OmZvckVhY2hJbnB1dEluUXVldWUoSW5wdXRRdWV1ZQogICAgIHJldHVybiBmdW5jdG9yLnJl
dHVyblZhbHVlKCk7CiB9CiAKLWlubGluZSBGdW5jdG9ySW5wdXRDdXJzb3I6OkZ1bmN0b3JJbnB1
dEN1cnNvcihQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBzZWdtZW50KQotICAgIDog
bV9zZWdtZW50KHNlZ21lbnQpCitpbmxpbmUgRnVuY3RvcklucHV0Q3Vyc29yOjpGdW5jdG9ySW5w
dXRDdXJzb3IoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQpCisgICAgOiBt
X3NlZ21lbnQoV1RGOjptb3ZlKHNlZ21lbnQpKQogewogfQogCkBAIC04NCw3ICs4NCw3IEBAIGlu
bGluZSB2b2lkIEZ1bmN0b3JJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLWlu
bGluZSBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBGdW5jdG9ySW5wdXRDdXJzb3I6OmxvYWRJ
bnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmKQoraW5saW5lIE5vbmRldGVybWlu
aXN0aWNJbnB1dEJhc2UqIEZ1bmN0b3JJbnB1dEN1cnNvcjo6bG9hZElucHV0KElucHV0UXVldWUs
IGNvbnN0IFN0cmluZyYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJu
IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5w
dXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29y
LmNwcAppbmRleCA4ODIyZWU1NGUwNTc4MWU1ZDNkNDA1YTBkYmRmYWJlNDBlNGVkMTZlLi4wYmEz
NzBhMWEzNDMwM2NmZWYyNzJkNjJiMGUwODZmNjVkNjc3MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgTm9u
ZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogUmVwbGF5aW5nSW5wdXRDdXJzb3I6OmxvYWRJbnB1dChJ
bnB1dFF1ZXVlIHF1ZXVlLCBjb24KICAgICBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBpbnB1
dCA9IHVuY2hlY2tlZExvYWRJbnB1dChxdWV1ZSk7CiAKICAgICBpZiAoaW5wdXQtPnR5cGUoKSAh
PSB0eXBlKSB7Ci0gICAgICAgIExPR19FUlJPUigiJS0yNXMgRVJST1I6IEV4cGVjdGVkIHJlcGxh
eSBpbnB1dCBvZiB0eXBlICVzLCBidXQgZ290IHR5cGUgJXNcbiIsICJbUmVwbGF5aW5nSW5wdXRD
dXJzb3JdIiwgdHlwZS5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSwgaW5wdXQtPnR5cGUoKS5hc2Np
aSgpLmRhdGEoKSk7CisgICAgICAgIExPR19FUlJPUigiJS0yNXMgRVJST1I6IEV4cGVjdGVkIHJl
cGxheSBpbnB1dCBvZiB0eXBlICVzLCBidXQgZ290IHR5cGUgJXNcbiIsICJbUmVwbGF5aW5nSW5w
dXRDdXJzb3JdIiwgdHlwZS5hc2NpaSgpLmRhdGEoKSwgaW5wdXQtPnR5cGUoKS5hc2NpaSgpLmRh
dGEoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244638</attachid>
            <date>2015-01-14 14:42:48 -0800</date>
            <delta_ts>2015-01-14 14:43:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140456-20150114144220.patch</filename>
            <type>text/plain</type>
            <size>14293</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MTQ5YWIwNzQyYzlmZGUxODZiNjVkZGRlMTY0N2Y2MWY5NzFjMTc1Li44ZDdmYTdkNjMxMDY5YmFi
ZjhmOTljODNkNzk4MTQyM2JhZmQ4MjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNC0wOC0yNyAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAgV2ViIFJlcGxheTogb25seSBnZW5lcmF0ZSBFbmNvZGluZ1RyYWl0
cyBmb3IgZW51bXMgZGVmaW5lZCBpbiB0aGUgdGFyZ2V0IGZyYW1ld29yaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MzExCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgZ2VuZXJhdGUgRW5jb2Rp
bmdUcmFpdHMgZm9yIGVudW1zIHVubGVzcyB0aGV5IGJlbG9uZyB0byB0aGUgdGFyZ2V0IGZyYW1l
d29yay4KKyAgICAgICAgT3RoZXJ3aXNlLCBlbnVtcyB1c2VkIGluIG11bHRpcGxlIGZyYW1ld29y
a3MnIGlucHV0cyBjYW5ub3QgYmUgdW5hbWJpZ3VvdXNseSBlbmNvZGVkL2RlY29kZWQuCisKKyAg
ICAgICAgQWxzbyB1c2UgVHlwZS5lbmNvZGluZ190eXBlX2FyZ3VtZW50IGluIG1vcmUgcGxhY2Vz
LgorCisgICAgICAgICogcmVwbGF5L0pTSW5wdXRzLmpzb246IE1vdmUgdGhlIElucHV0UXVldWUg
ZW51bSB0byBoZXJlLgorICAgICAgICAqIHJlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBs
YXlJbnB1dHMucHk6IEluY2x1ZGUgV2ViUmVwbGF5SW5wdXRzLmggZm9yIFdlYktpdC4KKyAgICAg
ICAgKEdlbmVyYXRvci5nZW5lcmF0ZV9oZWFkZXIpOiBTZWxlY3RpdmVseSBnZW5lcmF0ZSB0cmFp
dHMgdW5sZXNzIHdlIGFyZSBydW5uaW5nIHRlc3RzLgorICAgICAgICAoR2VuZXJhdG9yLmdlbmVy
YXRlX2ltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKEdlbmVyYXRvci5nZW5lcmF0ZV9lbnVtX3Ry
YWl0X2ltcGxlbWVudGF0aW9uKTogYWRkIFdFQkNPUkVfRVhQT1JUIG1hY3JvIHRvIGVudW0gZW5j
b2RpbmcgdHJhaXRzLgorICAgICAgICAqIHJlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBs
YXlJbnB1dHNUZW1wbGF0ZXMucHk6CisKIDIwMTUtMDEtMDkgIEJyaWFuIEouIEJ1cmcgIDxidXJn
QGNzLndhc2hpbmd0b24uZWR1PgogCiAgICAgICAgIFdlYiBSZXBsYXk6IGFkZCBzdXBwb3J0IGZv
ciBkaXNwYXRjaGluZyBpbnB1dHMgd2l0aCBQYWdlIG9yIFdlYlBhZ2UgY29udGV4dApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGI3ZWRkYTkzNGU1MTJiMDEwNTU3NTA1MGYwMGEzY2E1ZTVmMjY4ZGMuLjY5ODUzNzNm
N2ZjYmQ4YjUzZjA4ZDdjMmYyNWJhNTNlM2Y4YjRhZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxNC0wOC0yNyAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+
CisKKyAgICAgICAgV2ViIFJlcGxheTogb25seSBnZW5lcmF0ZSBFbmNvZGluZ1RyYWl0cyBmb3Ig
ZW51bXMgZGVmaW5lZCBpbiB0aGUgdGFyZ2V0IGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MzExCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVwbGljYXRlIHRoZSBkZWZpbml0aW9ucyBm
b3Igc29tZSBlbnVtZXJhdGlvbnMgdXNlZCBpbiBXZWJLaXQgYnV0IG5vdCBpbiBXZWJDb3JlLgor
ICAgICAgICBBZGQgZW51bSBlbmNvZGluZyB0cmFpdHMgc3ltYm9scyB0byB0aGUgZXhwb3J0IGZp
bGUuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBnZW5lcmF0b3IgdGVzdHMuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiByZXBsYXkvV2ViSW5wdXRzLmpzb246
CisKIDIwMTUtMDEtMTEgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1Pgog
CiAgICAgICAgIFdlYiBSZXBsYXk6IGNhcHR1cmUgYW5kIGRpc3BhdGNoIG5hdmlnYXRpb24gaW5w
dXRzIGZyb20gV2ViUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxh
eS9KU0lucHV0cy5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9KU0lucHV0cy5q
c29uCmluZGV4IDczOTRkOTQ3MGE4NGIyOWZkZDNkNGI0MWNmM2I5MThkZjM1ZjQzODAuLjg0MTkx
NzA2MGQ3MGM0OTYxMmRmZDQ5YzNkN2JjYzRiNWVjMzQ0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9yZXBsYXkvSlNJbnB1dHMuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcmVwbGF5L0pTSW5wdXRzLmpzb24KQEAgLTMsNiArMywxNSBAQAogICAgICAgICAiR2xv
YmFsIjogWwogICAgICAgICAgICAgeyAibmFtZSI6ICJkb3VibGUiLCAibW9kZSI6ICJTQ0FMQVIi
IH0sCiAgICAgICAgICAgICB7ICJuYW1lIjogInVpbnQ2NF90IiwgIm1vZGUiOiAiU0NBTEFSIiB9
CisgICAgICAgIF0sCisKKyAgICAgICAgIkphdmFTY3JpcHRDb3JlIjogWworICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJuYW1lIjogIklucHV0UXVldWUiLCAibW9kZSI6ICJTQ0FMQVIi
LCAic3RvcmFnZSI6ICJ1aW50OF90IiwKKyAgICAgICAgICAgICAgICAiZmxhZ3MiOiBbIkVOVU1f
Q0xBU1MiXSwKKyAgICAgICAgICAgICAgICAidmFsdWVzIjogWyJFdmVudExvb3BJbnB1dCIsICJM
b2FkZXJNZW1vaXplZERhdGEiLCAiU2NyaXB0TWVtb2l6ZWREYXRhIiwgIkNvdW50Il0sCisgICAg
ICAgICAgICAgICAgImhlYWRlciI6ICJyZXBsYXkvTm9uZGV0ZXJtaW5pc3RpY0lucHV0LmgiCisg
ICAgICAgICAgICB9CiAgICAgICAgIF0KICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weSBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5
SW5wdXRzLnB5CmluZGV4IDNiZGMwNzA3OWViY2EwMDljN2E2N2IxMTIyZTFkODQ2YTA0NzM3MGUu
LjZiZmU3ZTFmMWJhODQxNmFmMmNmN2NkY2RlMzUzNjcxYWEwOGIxZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5w
dXRzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yUmVwbGF5SW5wdXRzLnB5CkBAIC01MSw2ICs1MSw5IEBAIEdMT0JBTF9DT05GSUcgPSB7
CiAgICAgICAgIChbIldlYktpdCJdLAogICAgICAgICAgICAgKCJXZWJLaXQiLCAiV2ViUHJvY2Vz
cy9SZXBsYXkvV2ViRXZlbnRMb29wSW5wdXQuaCIpCiAgICAgICAgICksCisgICAgICAgIChbIldl
YktpdCJdLAorICAgICAgICAgICAgKCJXZWJDb3JlIiwgIldlYlJlcGxheUlucHV0cy5oIikKKyAg
ICAgICAgKSwKICAgICAgICAgKFsiV2ViQ29yZSJdLAogICAgICAgICAgICAgKCJXZWJDb3JlIiwg
InJlcGxheS9FdmVudExvb3BJbnB1dC5oIikKICAgICAgICAgKSwKQEAgLTExMiw2ICsxMTUsNyBA
QCBGUkFNRVdPUktfQ09ORklHX01BUCA9IHsKICAgICAiV2ViQ29yZSI6IHsKICAgICAgICAgInBy
ZWZpeCI6ICJXZWIiLAogICAgICAgICAibmFtZXNwYWNlIjogIldlYkNvcmUiLAorICAgICAgICAi
ZXhwb3J0TWFjcm8iOiAiV0VCQ09SRV9FWFBPUlQiCiAgICAgfSwKICAgICAiV2ViS2l0Ijogewog
ICAgICAgICAicHJlZml4IjogIldLIiwKQEAgLTU5NSw2ICs1OTksMTAgQEAgY2xhc3MgR2VuZXJh
dG9yOgogICAgICAgICBpbXBsZW1lbnRhdGlvbl9maWxlLmNsb3NlKCkKIAogICAgIGRlZiBnZW5l
cmF0ZV9oZWFkZXIoc2VsZik6CisgICAgICAgIGVudW1zX3RvX2dlbmVyYXRlID0gc2VsZi5fbW9k
ZWwuZW51bV90eXBlcygpCisgICAgICAgIGlmIHNlbGYudGFyZ2V0X2ZyYW1ld29yayBpcyBub3Qg
RnJhbWV3b3Jrcy5UZXN0OiAgIyBGb3JjZSBnZW5lcmF0aW9uIG9mIGVudW0gdHJhaXRzIGZvciB0
ZXN0aW5nLgorICAgICAgICAgICAgZW51bXNfdG9fZ2VuZXJhdGUgPSBmaWx0ZXIobGFtYmRhIGVu
dW06IGVudW0uZnJhbWV3b3JrIGlzIHNlbGYudGFyZ2V0X2ZyYW1ld29yaywgZW51bXNfdG9fZ2Vu
ZXJhdGUpCisKICAgICAgICAgdGVtcGxhdGVfYXJndW1lbnRzID0gewogICAgICAgICAgICAgJ2xp
Y2Vuc2VCbG9jayc6IHNlbGYuZ2VuZXJhdGVfbGljZW5zZSgpLAogICAgICAgICAgICAgJ2hlYWRl
ckd1YXJkJzogcmUuc3ViKCdbLS4vXScsICdfJywgc2VsZi5vdXRwdXRfZmlsZW5hbWUoKSArICIu
aCIpLApAQCAtNjA3LDEzICs2MTUsMTcgQEAgY2xhc3MgR2VuZXJhdG9yOgogICAgICAgICAgICAg
J2lucHV0Rm9yd2FyZERlY2xhcmF0aW9ucyc6ICJcbiIuam9pbihbd3JhcF93aXRoX2d1YXJkKCJj
bGFzcyAlczsiLCBfaW5wdXQuZ3VhcmQpICUgX2lucHV0Lm5hbWUgZm9yIF9pbnB1dCBpbiBzZWxm
Ll9tb2RlbC5pbnB1dHNdKSwKICAgICAgICAgICAgICdpbnB1dENsYXNzRGVjbGFyYXRpb25zJzog
IlxuXG4iLmpvaW4oW3NlbGYuZ2VuZXJhdGVfY2xhc3NfZGVjbGFyYXRpb24oX2lucHV0KSBmb3Ig
X2lucHV0IGluIHNlbGYuX21vZGVsLmlucHV0c10pLAogICAgICAgICAgICAgJ2lucHV0VHJhaXRE
ZWNsYXJhdGlvbnMnOiAiXG5cbiIuam9pbihbc2VsZi5nZW5lcmF0ZV9pbnB1dF90cmFpdF9kZWNs
YXJhdGlvbihfaW5wdXQpIGZvciBfaW5wdXQgaW4gc2VsZi5fbW9kZWwuaW5wdXRzXSksCi0gICAg
ICAgICAgICAnZW51bVRyYWl0RGVjbGFyYXRpb25zJzogIlxuXG4iLmpvaW4oW3dyYXBfd2l0aF9n
dWFyZChzZWxmLmdlbmVyYXRlX2VudW1fdHJhaXRfZGVjbGFyYXRpb24oX3R5cGUpLCBfdHlwZS5n
dWFyZCkgZm9yIF90eXBlIGluIHNlbGYuX21vZGVsLmVudW1fdHlwZXMoKV0pLAorICAgICAgICAg
ICAgJ2VudW1UcmFpdERlY2xhcmF0aW9ucyc6ICJcblxuIi5qb2luKFt3cmFwX3dpdGhfZ3VhcmQo
c2VsZi5nZW5lcmF0ZV9lbnVtX3RyYWl0X2RlY2xhcmF0aW9uKF90eXBlKSwgX3R5cGUuZ3VhcmQp
IGZvciBfdHlwZSBpbiBlbnVtc190b19nZW5lcmF0ZV0pLAogICAgICAgICAgICAgJ2ZvckVhY2hN
YWNybyc6IHNlbGYuZ2VuZXJhdGVfZm9yX2VhY2hfbWFjcm8oKSwKICAgICAgICAgfQogCiAgICAg
ICAgIHJldHVybiBUZW1wbGF0ZShUZW1wbGF0ZXMuSGVhZGVyU2tlbGV0b24pLnN1YnN0aXR1dGUo
dGVtcGxhdGVfYXJndW1lbnRzKQogCiAgICAgZGVmIGdlbmVyYXRlX2ltcGxlbWVudGF0aW9uKHNl
bGYpOgorICAgICAgICBlbnVtc190b19nZW5lcmF0ZSA9IHNlbGYuX21vZGVsLmVudW1fdHlwZXMo
KQorICAgICAgICBpZiBzZWxmLnRhcmdldF9mcmFtZXdvcmsgaXMgbm90IEZyYW1ld29ya3MuVGVz
dDogICMgRm9yY2UgZ2VuZXJhdGlvbiBvZiBlbnVtIHRyYWl0cyBmb3IgdGVzdGluZy4KKyAgICAg
ICAgICAgIGVudW1zX3RvX2dlbmVyYXRlID0gZmlsdGVyKGxhbWJkYSBlbnVtOiBlbnVtLmZyYW1l
d29yayBpcyBzZWxmLnRhcmdldF9mcmFtZXdvcmssIGVudW1zX3RvX2dlbmVyYXRlKQorCiAgICAg
ICAgIHRlbXBsYXRlX2FyZ3VtZW50cyA9IHsKICAgICAgICAgICAgICdsaWNlbnNlQmxvY2snOiBz
ZWxmLmdlbmVyYXRlX2xpY2Vuc2UoKSwKICAgICAgICAgICAgICdmaWxlbmFtZSc6IHNlbGYub3V0
cHV0X2ZpbGVuYW1lKCksCkBAIC02MjMsNyArNjM1LDcgQEAgY2xhc3MgR2VuZXJhdG9yOgogICAg
ICAgICAgICAgJ2luY2x1ZGVzJzogc2VsZi5nZW5lcmF0ZV9pbmNsdWRlcyhkZWZhdWx0cz1zZWxm
LnNldHRpbmcoJ2ltcGxJbmNsdWRlcycpLCBpbmNsdWRlc19mb3JfdHlwZXM9VHJ1ZSksCiAgICAg
ICAgICAgICAnaW5wdXRDbGFzc0ltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2luKFtzZWxmLmdl
bmVyYXRlX2NsYXNzX2ltcGxlbWVudGF0aW9uKF9pbnB1dCkgZm9yIF9pbnB1dCBpbiBzZWxmLl9t
b2RlbC5pbnB1dHNdKSwKICAgICAgICAgICAgICdpbnB1dFRyYWl0SW1wbGVtZW50YXRpb25zJzog
IlxuXG4iLmpvaW4oW3NlbGYuZ2VuZXJhdGVfaW5wdXRfdHJhaXRfaW1wbGVtZW50YXRpb24oX2lu
cHV0KSBmb3IgX2lucHV0IGluIHNlbGYuX21vZGVsLmlucHV0c10pLAotICAgICAgICAgICAgJ2Vu
dW1UcmFpdEltcGxlbWVudGF0aW9ucyc6ICJcblxuIi5qb2luKFt3cmFwX3dpdGhfZ3VhcmQoc2Vs
Zi5nZW5lcmF0ZV9lbnVtX3RyYWl0X2ltcGxlbWVudGF0aW9uKF90eXBlKSwgX3R5cGUuZ3VhcmQp
IGZvciBfdHlwZSBpbiBzZWxmLl9tb2RlbC5lbnVtX3R5cGVzKCldKSwKKyAgICAgICAgICAgICdl
bnVtVHJhaXRJbXBsZW1lbnRhdGlvbnMnOiAiXG5cbiIuam9pbihbd3JhcF93aXRoX2d1YXJkKHNl
bGYuZ2VuZXJhdGVfZW51bV90cmFpdF9pbXBsZW1lbnRhdGlvbihfdHlwZSksIF90eXBlLmd1YXJk
KSBmb3IgX3R5cGUgaW4gZW51bXNfdG9fZ2VuZXJhdGVdKSwKICAgICAgICAgfQogCiAgICAgICAg
IHJldHVybiBUZW1wbGF0ZShUZW1wbGF0ZXMuSW1wbGVtZW50YXRpb25Ta2VsZXRvbikuc3Vic3Rp
dHV0ZSh0ZW1wbGF0ZV9hcmd1bWVudHMpCkBAIC04MTEsMTAgKzgyMywxNiBAQCBjbGFzcyBHZW5l
cmF0b3I6CiAgICAgICAgIHJldHVybiB3cmFwX3dpdGhfZ3VhcmQoVGVtcGxhdGUoVGVtcGxhdGVz
LklucHV0VHJhaXRzRGVjbGFyYXRpb24pLnN1YnN0aXR1dGUodGVtcGxhdGVfYXJndW1lbnRzKSwg
X2lucHV0Lmd1YXJkKQogCiAgICAgZGVmIGdlbmVyYXRlX2VudW1fdHJhaXRfZGVjbGFyYXRpb24o
c2VsZiwgX3R5cGUpOgorICAgICAgICBkZWNsX3R5cGUgPSBbJ3N0cnVjdCddCisgICAgICAgIGlm
IGxlbihzZWxmLnNldHRpbmcoJ2V4cG9ydE1hY3JvJykpID4gMDoKKyAgICAgICAgICAgIGRlY2xf
dHlwZS5hcHBlbmQoc2VsZi5zZXR0aW5nKCdleHBvcnRNYWNybycpKQorCiAgICAgICAgIHNob3Vs
ZF9xdWFsaWZ5X3R5cGUgPSBfdHlwZS5mcmFtZXdvcmsgIT0gc2VsZi50cmFpdHNfZnJhbWV3b3Jr
CiAgICAgICAgIHRlbXBsYXRlID0gVGVtcGxhdGVzLkVudW1UcmFpdERlY2xhcmF0aW9uIGlmIF90
eXBlLmlzX2VudW0oKSBlbHNlIFRlbXBsYXRlcy5FbnVtQ2xhc3NUcmFpdERlY2xhcmF0aW9uCiAg
ICAgICAgIHRlbXBsYXRlX2FyZ3VtZW50cyA9IHsKLSAgICAgICAgICAgICdlbnVtTmFtZSc6IF90
eXBlLnR5cGVfbmFtZShxdWFsaWZpZWQ9c2hvdWxkX3F1YWxpZnlfdHlwZSksCisgICAgICAgICAg
ICAnZW5jb2RpbmdUeXBlQXJndW1lbnQnOiBfdHlwZS5lbmNvZGluZ190eXBlX2FyZ3VtZW50KHF1
YWxpZmllZD1zaG91bGRfcXVhbGlmeV90eXBlKSwKKyAgICAgICAgICAgICdlbnVtVHlwZSc6IF90
eXBlLnR5cGVfbmFtZShxdWFsaWZpZWQ9c2hvdWxkX3F1YWxpZnlfdHlwZSksCisgICAgICAgICAg
ICAnc3RydWN0T3JDbGFzcyc6ICIgIi5qb2luKGRlY2xfdHlwZSkKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gVGVtcGxhdGUodGVtcGxhdGUpLnN1YnN0aXR1dGUodGVtcGxhdGVfYXJndW1lbnRz
KQogCkBAIC05MDIsNyArOTIwLDggQEAgY2xhc3MgR2VuZXJhdG9yOgogICAgICAgICAgICAgZGVj
b2RlTGluZXMuYXBwZW5kKHdyYXBfd2l0aF9ndWFyZCgiXG4iLmpvaW4oZ3VhcmRlZExpbmVzKSwg
Z3VhcmQpKQogCiAgICAgICAgIHRlbXBsYXRlX2FyZ3VtZW50cyA9IHsKLSAgICAgICAgICAgICdl
bnVtTmFtZSc6IF90eXBlLnR5cGVfbmFtZShxdWFsaWZpZWQ9c2hvdWxkX3F1YWxpZnlfdHlwZSks
CisgICAgICAgICAgICAnZW5jb2RpbmdUeXBlQXJndW1lbnQnOiBfdHlwZS5lbmNvZGluZ190eXBl
X2FyZ3VtZW50KHF1YWxpZmllZD1zaG91bGRfcXVhbGlmeV90eXBlKSwKKyAgICAgICAgICAgICdl
bnVtVHlwZSc6IF90eXBlLnR5cGVfbmFtZShxdWFsaWZpZWQ9c2hvdWxkX3F1YWxpZnlfdHlwZSks
CiAgICAgICAgICAgICAnZW5jb2RlQ2FzZXMnOiAiXG4iLmpvaW4oZW5jb2RlTGluZXMpLAogICAg
ICAgICAgICAgJ2RlY29kZUNhc2VzJzogIlxuIi5qb2luKGRlY29kZUxpbmVzKQogICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29kZUdl
bmVyYXRvclJlcGxheUlucHV0c1RlbXBsYXRlcy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
ZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5CmluZGV4
IDhkZTdiZjZiMDc0NTZjN2FiOTI1OTMyMTVjMzE1MTdhNmQzYzY1YmIuLmJlMDA5ODFlODRiNThh
ZmE1ZTk3NmZlMWU0ZmExOTZmOWE4ODYzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
UmVwbGF5SW5wdXRzVGVtcGxhdGVzLnB5CkBAIC0xMDUsMTkgKzEwNSwxOSBAQCAke2ZvckVhY2hN
YWNyb30KIH07IiIiKQogCiAgICAgRW51bVRyYWl0RGVjbGFyYXRpb24gPSAoCi0gICAgIiIidGVt
cGxhdGU8PiBzdHJ1Y3QgRW5jb2RpbmdUcmFpdHM8JHtlbnVtTmFtZX0+IHsKLSAgICB0eXBlZGVm
ICR7ZW51bU5hbWV9IERlY29kZWRUeXBlOworICAgICIiInRlbXBsYXRlPD4gJHtzdHJ1Y3RPckNs
YXNzfSBFbmNvZGluZ1RyYWl0czwke2VuY29kaW5nVHlwZUFyZ3VtZW50fT4geworICAgIHR5cGVk
ZWYgJHtlbnVtVHlwZX0gRGVjb2RlZFR5cGU7CiAKLSAgICBzdGF0aWMgRW5jb2RlZFZhbHVlIGVu
Y29kZVZhbHVlKGNvbnN0ICR7ZW51bU5hbWV9JiB2YWx1ZSk7Ci0gICAgc3RhdGljIGJvb2wgZGVj
b2RlVmFsdWUoRW5jb2RlZFZhbHVlJiwgJHtlbnVtTmFtZX0mIHZhbHVlKTsKKyAgICBzdGF0aWMg
RW5jb2RlZFZhbHVlIGVuY29kZVZhbHVlKGNvbnN0ICR7ZW51bVR5cGV9JiB2YWx1ZSk7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlVmFsdWUoRW5jb2RlZFZhbHVlJiwgJHtlbnVtVHlwZX0mIHZhbHVl
KTsKIH07IiIiKQogCiAgICAgRW51bUNsYXNzVHJhaXREZWNsYXJhdGlvbiA9ICgKLSAgICAiIiJ0
ZW1wbGF0ZTw+IHN0cnVjdCBFbmNvZGluZ1RyYWl0czwke2VudW1OYW1lfT4gewotICAgIHR5cGVk
ZWYgJHtlbnVtTmFtZX0gRGVjb2RlZFR5cGU7CisgICAgIiIidGVtcGxhdGU8PiAke3N0cnVjdE9y
Q2xhc3N9IEVuY29kaW5nVHJhaXRzPCR7ZW5jb2RpbmdUeXBlQXJndW1lbnR9PiB7CisgICAgdHlw
ZWRlZiAke2VudW1UeXBlfSBEZWNvZGVkVHlwZTsKIAotICAgIHN0YXRpYyBFbmNvZGVkVmFsdWUg
ZW5jb2RlVmFsdWUoY29uc3QgJHtlbnVtTmFtZX0mIHZhbHVlKTsKLSAgICBzdGF0aWMgYm9vbCBk
ZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUmLCAke2VudW1OYW1lfSYgdmFsdWUpOworICAgIHN0YXRp
YyBFbmNvZGVkVmFsdWUgZW5jb2RlVmFsdWUoY29uc3QgJHtlbnVtVHlwZX0mIHZhbHVlKTsKKyAg
ICBzdGF0aWMgYm9vbCBkZWNvZGVWYWx1ZShFbmNvZGVkVmFsdWUmLCAke2VudW1UeXBlfSYgdmFs
dWUpOwogfTsiIiIpCiAKICAgICBJbnB1dENsYXNzRGVjbGFyYXRpb24gPSAoCkBAIC0xNzEsNyAr
MTcxLDcgQEAgJHtkZWNvZGVTdGVwc30KIH0iIiIpCiAKICAgICBFbnVtQ2xhc3NUcmFpdEltcGxl
bWVudGF0aW9uID0gKAotICAgICIiIkVuY29kZWRWYWx1ZSBFbmNvZGluZ1RyYWl0czwke2VudW1O
YW1lfT46OmVuY29kZVZhbHVlKGNvbnN0ICR7ZW51bU5hbWV9JiBlbnVtVmFsdWUpCisgICAgIiIi
RW5jb2RlZFZhbHVlIEVuY29kaW5nVHJhaXRzPCR7ZW5jb2RpbmdUeXBlQXJndW1lbnR9Pjo6ZW5j
b2RlVmFsdWUoY29uc3QgJHtlbnVtVHlwZX0mIGVudW1WYWx1ZSkKIHsKICAgICBzd2l0Y2ggKGVu
dW1WYWx1ZSkgewogJHtlbmNvZGVDYXNlc30KQEAgLTE3OSw3ICsxNzksNyBAQCAke2VuY29kZUNh
c2VzfQogICAgIH0KIH0KIAotYm9vbCBFbmNvZGluZ1RyYWl0czwke2VudW1OYW1lfT46OmRlY29k
ZVZhbHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCAke2VudW1OYW1lfSYgZW51bVZhbHVl
KQorYm9vbCBFbmNvZGluZ1RyYWl0czwke2VuY29kaW5nVHlwZUFyZ3VtZW50fT46OmRlY29kZVZh
bHVlKEVuY29kZWRWYWx1ZSYgZW5jb2RlZFZhbHVlLCAke2VudW1UeXBlfSYgZW51bVZhbHVlKQog
ewogICAgIFN0cmluZyBlbnVtU3RyaW5nID0gZW5jb2RlZFZhbHVlLmNvbnZlcnRUbzxTdHJpbmc+
KCk7CiAke2RlY29kZUNhc2VzfQpAQCAtMTk2LDE0ICsxOTYsMTQgQEAgJHtkZWNvZGVDYXNlc30K
ICAgICB9IiIiKQogCiAgICAgRW51bVRyYWl0SW1wbGVtZW50YXRpb24gPSAoCi0gICAgIiIiRW5j
b2RlZFZhbHVlIEVuY29kaW5nVHJhaXRzPCR7ZW51bU5hbWV9Pjo6ZW5jb2RlVmFsdWUoY29uc3Qg
JHtlbnVtTmFtZX0mIGVudW1WYWx1ZSkKKyAgICAiIiJFbmNvZGVkVmFsdWUgRW5jb2RpbmdUcmFp
dHM8JHtlbmNvZGluZ1R5cGVBcmd1bWVudH0+OjplbmNvZGVWYWx1ZShjb25zdCAke2VudW1UeXBl
fSYgZW51bVZhbHVlKQogewogICAgIEVuY29kZWRWYWx1ZSBlbmNvZGVkVmFsdWUgPSBFbmNvZGVk
VmFsdWU6OmNyZWF0ZUFycmF5KCk7CiAke2VuY29kZUNhc2VzfQogICAgIHJldHVybiBlbmNvZGVk
VmFsdWU7CiB9CiAKLWJvb2wgRW5jb2RpbmdUcmFpdHM8JHtlbnVtTmFtZX0+OjpkZWNvZGVWYWx1
ZShFbmNvZGVkVmFsdWUmIGVuY29kZWRWYWx1ZSwgJHtlbnVtTmFtZX0mIGVudW1WYWx1ZSkKK2Jv
b2wgRW5jb2RpbmdUcmFpdHM8JHtlbmNvZGluZ1R5cGVBcmd1bWVudH0+OjpkZWNvZGVWYWx1ZShF
bmNvZGVkVmFsdWUmIGVuY29kZWRWYWx1ZSwgJHtlbnVtVHlwZX0mIGVudW1WYWx1ZSkKIHsKICAg
ICBWZWN0b3I8U3RyaW5nPiBlbnVtU3RyaW5nczsKICAgICBpZiAoIUVuY29kaW5nVHJhaXRzPFZl
Y3RvcjxTdHJpbmc+Pjo6ZGVjb2RlVmFsdWUoZW5jb2RlZFZhbHVlLCBlbnVtU3RyaW5ncykpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCmluZGV4IDY2NWY5NDU3YmMzNjA1YmZhODhiMmRhNTVhNDg5MGFhZWQ3
MjNkYTcuLmE2M2RkZjc2OTdiYTc2Nzg3NDdmN2ZkN2VlZGVkZGI0NmZlNTEzZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC0zNTY2LDggKzM1NjYsMTIgQEAgX19aTjNKU0MxMUlucHV0VHJhaXRz
SU43V2ViQ29yZTMyUmVzb3VyY2VMb2FkZXJEaWRSZWNlaXZlUmVzcG9uc2VFRTZkZWNvZGVFUk5T
XzEKIF9fWk4zSlNDMTFJbnB1dFRyYWl0c0lON1dlYkNvcmUzMlJlc291cmNlTG9hZGVyRGlkUmVj
ZWl2ZVJlc3BvbnNlRUU2ZW5jb2RlRVJOU18xMkVuY29kZWRWYWx1ZUVSS1MyXwogX19aTjNKU0Mx
NEVuY29kaW5nVHJhaXRzSU43V2ViQ29yZTE1S2V5cHJlc3NDb21tYW5kRUUxMWRlY29kZVZhbHVl
RVJOU18xMkVuY29kZWRWYWx1ZUVSUzJfCiBfX1pOM0pTQzE0RW5jb2RpbmdUcmFpdHNJTjdXZWJD
b3JlMTVLZXlwcmVzc0NvbW1hbmRFRTExZW5jb2RlVmFsdWVFUktTMl8KK19fWk4zSlNDMTRFbmNv
ZGluZ1RyYWl0c0lON1dlYkNvcmUxNVNjcm9sbERpcmVjdGlvbkVFMTFkZWNvZGVWYWx1ZUVSTlNf
MTJFbmNvZGVkVmFsdWVFUlMyXworX19aTjNKU0MxNEVuY29kaW5nVHJhaXRzSU43V2ViQ29yZTE1
U2Nyb2xsRGlyZWN0aW9uRUUxMWVuY29kZVZhbHVlRVJLUzJfCiBfX1pOM0pTQzE0RW5jb2RpbmdU
cmFpdHNJTjdXZWJDb3JlMTZGcmFtZUxvYWRSZXF1ZXN0RUUxMWRlY29kZVZhbHVlRVJOU18xMkVu
Y29kZWRWYWx1ZUVSTlN0M19fMTEwdW5pcXVlX3B0cklTMl9OUzZfMTRkZWZhdWx0X2RlbGV0ZUlT
Ml9FRUVFCiBfX1pOM0pTQzE0RW5jb2RpbmdUcmFpdHNJTjdXZWJDb3JlMTZGcmFtZUxvYWRSZXF1
ZXN0RUUxMWVuY29kZVZhbHVlRVJLUzJfCitfX1pOM0pTQzE0RW5jb2RpbmdUcmFpdHNJTjdXZWJD
b3JlMTdTY3JvbGxHcmFudWxhcml0eUVFMTFkZWNvZGVWYWx1ZUVSTlNfMTJFbmNvZGVkVmFsdWVF
UlMyXworX19aTjNKU0MxNEVuY29kaW5nVHJhaXRzSU43V2ViQ29yZTE3U2Nyb2xsR3JhbnVsYXJp
dHlFRTExZW5jb2RlVmFsdWVFUktTMl8KIF9fWk4zSlNDMTRFbmNvZGluZ1RyYWl0c0lON1dlYkNv
cmU4SW50UG9pbnRFRTExZGVjb2RlVmFsdWVFUk5TXzEyRW5jb2RlZFZhbHVlRVJTMl8KIF9fWk4z
SlNDMTRFbmNvZGluZ1RyYWl0c0lON1dlYkNvcmU4SW50UG9pbnRFRTExZW5jb2RlVmFsdWVFUktT
Ml8KIF9fWk4zSlNDMTRFbmNvZGluZ1RyYWl0c0lON1dlYkNvcmU5RmxvYXRTaXplRUUxMWRlY29k
ZVZhbHVlRVJOU18xMkVuY29kZWRWYWx1ZUVSUzJfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvV2ViSW5wdXRzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvV2ViSW5wdXRz
Lmpzb24KaW5kZXggZDRmM2IzNDk0ZmQ0Nzk5MzQ3YTdhNGI1OTZjNDVjYThkM2Y5YzJhNi4uMTli
Y2JkZTA0NWJlMzI5ZWFjNjIzMWIyZTg2M2I1ODUxNWQyMTYwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1dlYklucHV0cy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9XZWJJbnB1dHMuanNvbgpAQCAtODYsNiArODYsMzUgQEAKICAgICAgICAgICAgICAgICAiaGVh
ZGVyIjogInBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZS5oIgogICAgICAgICAgICAg
fSwKICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJTY3JvbGxEaXJlY3Rp
b24iLCAibW9kZSI6ICJTQ0FMQVIiLCAic3RvcmFnZSI6ICJ1aW50OF90IiwKKyAgICAgICAgICAg
ICAgICAiZmxhZ3MiOiBbIkVOVU0iXSwKKyAgICAgICAgICAgICAgICAidmFsdWVzIjogWyJTY3Jv
bGxVcCIsICJTY3JvbGxEb3duIiwgIlNjcm9sbExlZnQiLCAiU2Nyb2xsUmlnaHQiXSwKKyAgICAg
ICAgICAgICAgICAiaGVhZGVyIjogInBsYXRmb3JtL1Njcm9sbFR5cGVzLmgiCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogIlNjcm9sbEdyYW51
bGFyaXR5IiwgIm1vZGUiOiAiU0NBTEFSIiwgInN0b3JhZ2UiOiAidWludDhfdCIsCisgICAgICAg
ICAgICAgICAgImZsYWdzIjogWyJFTlVNIl0sCisgICAgICAgICAgICAgICAgInZhbHVlcyI6IFsK
KyAgICAgICAgICAgICAgICAgICAgIlNjcm9sbEJ5TGluZSIsCisgICAgICAgICAgICAgICAgICAg
ICJTY3JvbGxCeVBhZ2UiLAorICAgICAgICAgICAgICAgICAgICAiU2Nyb2xsQnlEb2N1bWVudCIs
CisgICAgICAgICAgICAgICAgICAgICJTY3JvbGxCeVBpeGVsIiwKKyAgICAgICAgICAgICAgICAg
ICAgIlNjcm9sbEJ5UHJlY2lzZVBpeGVsIgorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgImhlYWRlciI6ICJwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIgorICAgICAgICAgICAgfSwK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uIiwgIm1vZGUiOiAiU0NBTEFSIiwgInN0b3JhZ2UiOiAidWludDhfdCIsCisgICAgICAg
ICAgICAgICAgImZsYWdzIjogWyJFTlVNIl0sCisgICAgICAgICAgICAgICAgInZhbHVlcyI6IFsK
KyAgICAgICAgICAgICAgICAgICAgIlNjcm9sbEJsb2NrRGlyZWN0aW9uQmFja3dhcmQiLAorICAg
ICAgICAgICAgICAgICAgICAiU2Nyb2xsQmxvY2tEaXJlY3Rpb25Gb3J3YXJkIiwKKyAgICAgICAg
ICAgICAgICAgICAgIlNjcm9sbElubGluZURpcmVjdGlvbkJhY2t3YXJkIiwKKyAgICAgICAgICAg
ICAgICAgICAgIlNjcm9sbElubGluZURpcmVjdGlvbkZvcndhcmQiCisgICAgICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICAgICAiaGVhZGVyIjogInBsYXRmb3JtL1Njcm9sbFR5cGVzLmgiCisg
ICAgICAgICAgICB9LAorICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogIlNl
Y3VyaXR5T3JpZ2luIiwgIm1vZGUiOiAiU0hBUkVEIiwKICAgICAgICAgICAgICAgICAiaGVhZGVy
IjogInBhZ2UvU2VjdXJpdHlPcmlnaW4uaCIKICAgICAgICAgICAgIH0sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244730</attachid>
            <date>2015-01-15 16:57:22 -0800</date>
            <delta_ts>2015-01-16 14:13:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140456-20150115165649.patch</filename>
            <type>text/plain</type>
            <size>42710</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NWUyYjc4Yjg5NmE4YmFhZTlhNDE0NGJkZmY3M2UzYjNmZmZlYTkwLi40Zjk4NGMyMTYyNjYyMjBl
YWZjMTI1OTA0YWEwZGEzYWY0Nzc0NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNS0wMS0xNSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAgV2ViIFJlcGxheTogcHVyZ2UgcmVtYWluaW5nIFBhc3NSZWZQdHIg
dXNlcyBhbmQgbWlub3IgY2xlYW51cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwNDU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiBQYXNzUmVmUHRyLiBJbnRyb2R1Y2UgZGVmYXVsdCBp
bml0aWFsaXplcnMgd2hlcmUgaXQgbWFrZXMgc2Vuc2UuCisgICAgICAgIFJlbW92ZSBtaXN0YWtl
biB1c2VzIG9mIEF0b21pY1N0cmluZyB0aGF0IHdlcmUgbm90IHJlbW92ZWQgYXMgcGFydCBvZiBy
MTc0MTEzLgorCisgICAgICAgICogcmVwbGF5L0VtcHR5SW5wdXRDdXJzb3IuaDoKKyAgICAgICAg
KiByZXBsYXkvSW5wdXRDdXJzb3IuaDoKKyAgICAgICAgKEpTQzo6SW5wdXRDdXJzb3I6OklucHV0
Q3Vyc29yKToKKwogMjAxNS0wMS0xNCAgTWF0dGhldyBNaXJtYW4gIDxtbWlybWFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmVkIGFjY2lkZW50YWwgY29tbWl0IG9mICJpbnZhbGlkX2FycmF5
LmpzIiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA1M2U5YzA5Mjc0NWE5NmFjYTM1MzJlYmZiM2U1NDVjZmUzYjg4
N2UyLi5iNTI1ZjUzZWFmMTljZTMzODZiNjNkMWIxNDI0MmEwZGY5MzlhOTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsODEgQEAKKzIwMTUtMDEtMTUgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndh
c2hpbmd0b24uZWR1PgorCisgICAgICAgIFdlYiBSZXBsYXk6IHB1cmdlIHJlbWFpbmluZyBQYXNz
UmVmUHRyIHVzZXMgYW5kIG1pbm9yIGNsZWFudXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDQ1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgUGFzc1JlZlB0ci4gSW50cm9kdWNlIGRl
ZmF1bHQgaW5pdGlhbGl6ZXJzIHdoZXJlIGl0IG1ha2VzIHNlbnNlLiBDaGFuZ2UKKyAgICAgICAg
dXNlcyBvZiBBU1NFUlQgdG8gQVNTRVJUX0FSRyB3aGVuIHRoZSBhc3NlcnQgaXMgYSBwcmVjb25k
aXRpb24gb24gYW4gYXJndW1lbnQuCisKKyAgICAgICAgUmVtb3ZlIG1pc3Rha2VuIHVzZXMgb2Yg
QXRvbWljU3RyaW5nIHRoYXQgd2VyZSBub3QgcmVtb3ZlZCBhcyBwYXJ0IG9mIHIxNzQxMTMuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2VkLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cmlhbGl6ZUlucHV0VG9KU09ORnVuY3Rvcjo6b3BlcmF0b3IoKSk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJpYWxpemVJbnB1dFRvSlNPTkZ1bmN0b3I6OnJldHVyblZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclJlcGxheUFnZW50OjpzZXNzaW9uQ3JlYXRlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6c2Vzc2lvbk1vZGlmaWVkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclJlcGxheUFnZW50OjpzZXNzaW9uTG9hZGVkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclJlcGxheUFnZW50OjpzZWdtZW50Q3JlYXRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6c2VnbWVudENvbXBsZXRlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6c2VnbWVudExvYWRlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6c3dpdGNoU2Vzc2lvbik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6aW5zZXJ0U2Vzc2lvblNlZ21lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnJlbW92ZVNlc3Npb25T
ZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlcGxheUFnZW50OjpmaW5kU2Vz
c2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXBsYXlBZ2VudDo6ZmluZFNlZ21l
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oOgorICAgICAg
ICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YXB0dXJpbmdJbnB1dEN1cnNvcjo6Q2FwdHVyaW5nSW5wdXRDdXJzb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FwdHVyaW5nSW5wdXRDdXJzb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YXB0dXJpbmdJbnB1dEN1cnNvcjo6bG9hZElucHV0KToKKyAgICAgICAgKiByZXBsYXkvQ2FwdHVy
aW5nSW5wdXRDdXJzb3IuaDoKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyKToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L0Z1bmN0b3JJbnB1dEN1cnNvci5oOgorICAg
ICAgICAoV2ViQ29yZTo6RnVuY3RvcklucHV0Q3Vyc29yOjpGdW5jdG9ySW5wdXRDdXJzb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6RnVuY3RvcklucHV0Q3Vyc29yOjpsb2FkSW5wdXQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxh
eUNvbnRyb2xsZXI6OlJlcGxheUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5
Q29udHJvbGxlcjo6c2V0Rm9yY2VEZXRlcm1pbmlzdGljU2V0dGluZ3MpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVwbGF5Q29udHJvbGxlcjo6c2V0U2Vzc2lvblN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlcGxheUNvbnRyb2xsZXI6OnNldFNlZ21lbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZXBsYXlDb250cm9sbGVyOjpzd2l0Y2hTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
cGxheUNvbnRyb2xsZXI6OmNyZWF0ZVNlZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5
Q29udHJvbGxlcjo6Y29tcGxldGVTZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheUNv
bnRyb2xsZXI6OmxvYWRTZWdtZW50QXRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlD
b250cm9sbGVyOjp1bmxvYWRTZWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheUNvbnRy
b2xsZXI6OmZyYW1lTmF2aWdhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheUNvbnRyb2xs
ZXI6OmxvYWRlZFNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5Q29udHJvbGxlcjo6
bG9hZGVkU2VnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlDb250cm9sbGVyOjphY3Rp
dmVJbnB1dEN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlDb250cm9sbGVyOjpkaXNw
YXRjaGVyKToKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oOgorICAgICAgICAq
IHJlcGxheS9SZXBsYXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Np
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uOjphdCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uOjphcHBlbmRTZWdtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlcGxheVNlc3Npb246Omluc2VydFNlZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVwbGF5U2Vzc2lvbjo6cmVtb3ZlU2VnbWVudCk6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNl
c3Npb24uaDoKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAg
ICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlpbmdJbnB1
dEN1cnNvcjo6UmVwbGF5aW5nSW5wdXRDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5
aW5nSW5wdXRDdXJzb3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlpbmdJbnB1
dEN1cnNvcjo6bG9hZElucHV0KToKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJz
b3IuaDoKKyAgICAgICAgKiByZXBsYXkvU2VnbWVudGVkSW5wdXRTdG9yYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlZ21lbnRlZElucHV0U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VnbWVudGVkSW5wdXRTdG9yYWdlOjpxdWV1ZSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZWdtZW50ZWRJbnB1dFN0b3JhZ2U6OlNlZ21lbnRlZElucHV0U3RvcmFnZSk6IERlbGV0ZWQuCisg
ICAgICAgICogcmVwbGF5L1NlZ21lbnRlZElucHV0U3RvcmFnZS5oOgorCiAyMDE1LTAxLTE1ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cC90
ZXN0cy9taXNjL2FjaWQzLmh0bWwgaXMgZmxha2V5IG9uIE1hdmVyaWNrcwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9FbXB0eUlucHV0Q3Vyc29yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcmVwbGF5L0VtcHR5SW5wdXRDdXJzb3IuaAppbmRleCBmMmE5YTQwZThh
OTE2M2M3MWZjZGFlYTM0OTNlNmJkOTBhNzFhNWQ5Li5hMzhhZWUyMzdkOTczMGRhMjBjMzFmNmJl
MzllYzAwZjRkNzZlNDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5
L0VtcHR5SW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L0Vt
cHR5SW5wdXRDdXJzb3IuaApAQCAtNDAsOSArNDAsOSBAQCBjbGFzcyBFbXB0eUlucHV0Q3Vyc29y
IGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0
eUlucHV0Q3Vyc29yKCkgeyB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFbXB0eUlucHV0Q3Vy
c29yPiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8RW1wdHlJbnB1dEN1cnNvcj4gY3JlYXRlKCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlJbnB1dEN1cnNvcigpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRW1wdHlJbnB1dEN1cnNvcigpKTsKICAgICB9
CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDYXB0dXJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfQpAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6
Ci0gICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBsb2FkSW5wdXQoSW5wdXRR
dWV1ZSwgY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGUKKyAgICB2aXJ0dWFsIE5vbmRldGVy
bWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBTdHJpbmcmKSBv
dmVycmlkZQogICAgIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9J
bnB1dEN1cnNvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9JbnB1dEN1cnNvci5o
CmluZGV4IDVjMmE4NWU5YTAzN2NiN2QyNTJiOGRmYTQ4NGNmM2RjODZkNmQ0OTEuLjZjZGIyOTJh
NTIwZjdjYWFhYTVlYzk3MGM0NGZlOTUxZjRlYWYzNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9yZXBsYXkvSW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcmVwbGF5L0lucHV0Q3Vyc29yLmgKQEAgLTMzLDE4ICszMywxMyBAQAogI2luY2x1ZGUgIk5v
bmRldGVybWluaXN0aWNJbnB1dC5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBJbnB1dEN1cnNvciA6IHB1YmxpYyBSZWZD
b3VudGVkPElucHV0Q3Vyc29yPiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRDdXJz
b3IpOwogcHVibGljOgotICAgIElucHV0Q3Vyc29yKCkKLSAgICAgICAgOiBtX3dpdGhpbkV2ZW50
TG9vcElucHV0RXh0ZW50KGZhbHNlKQotICAgIHsKLSAgICB9Ci0KKyAgICBJbnB1dEN1cnNvcigp
IHsgfQogICAgIHZpcnR1YWwgfklucHV0Q3Vyc29yKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wg
aXNDYXB0dXJpbmcoKSBjb25zdCA9IDA7CkBAIC03OCwxMCArNzMsMTAgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGlj
SW5wdXRCYXNlPikgPSAwOwogICAgIHZpcnR1YWwgTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSog
dW5jaGVja2VkTG9hZElucHV0KElucHV0UXVldWUpID0gMDsKIHByb3RlY3RlZDoKLSAgICB2aXJ0
dWFsIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25z
dCBBdG9taWNTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRC
YXNlKiBsb2FkSW5wdXQoSW5wdXRRdWV1ZSwgY29uc3QgU3RyaW5nJikgPSAwOwogCiBwcml2YXRl
OgotICAgIGJvb2wgbV93aXRoaW5FdmVudExvb3BJbnB1dEV4dGVudDsKKyAgICBib29sIG1fd2l0
aGluRXZlbnRMb29wSW5wdXRFeHRlbnQge2ZhbHNlfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAKaW5kZXggOGZjNDQxZTEzMWYwYWRmYjdiOWNiZDIyNGQ1ZTFiY2I3ZTJiMmNkYy4uMDYxMDVk
NTBjY2Y4MmMzYmViOTNkNGQ1NTRkZmE0NDQ1NzMwYzExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCkBAIC0xMTgsMTAgKzExOCwx
MCBAQCBwdWJsaWM6CiAgICAgICAgIExPRyhXZWJSZXBsYXksICIlLTI1cyBXcml0aW5nICU1enU6
ICVzXG4iLCAiW1NlcmlhbGl6ZUlucHV0XSIsIGluZGV4LCBpbnB1dC0+dHlwZSgpLmFzY2lpKCku
ZGF0YSgpKTsKIAogICAgICAgICBpZiAoUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJlcGxh
eTo6UmVwbGF5SW5wdXQ+IHNlcmlhbGl6ZWRJbnB1dCA9IGJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9y
SW5wdXQoKmlucHV0LCBpbmRleCkpCi0gICAgICAgICAgICBtX2lucHV0cy0+YWRkSXRlbShzZXJp
YWxpemVkSW5wdXQucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIG1faW5wdXRzLT5hZGRJdGVtKFdU
Rjo6bW92ZShzZXJpYWxpemVkSW5wdXQpKTsKICAgICB9CiAKLSAgICBSZXR1cm5UeXBlIHJldHVy
blZhbHVlKCkgeyByZXR1cm4gbV9pbnB1dHMucmVsZWFzZSgpOyB9CisgICAgUmV0dXJuVHlwZSBy
ZXR1cm5WYWx1ZSgpIHsgcmV0dXJuIFdURjo6bW92ZShtX2lucHV0cyk7IH0KIHByaXZhdGU6CiAg
ICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6
OlJlcGxheTo6UmVwbGF5SW5wdXQ+PiBtX2lucHV0czsKIH07CkBAIC0yMTQsMTAgKzIxNCw4IEBA
IHZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OndpbGxEaXNwYXRjaEV2ZW50KGNvbnN0IEV2ZW50
JiBldmVudCwgRnJhbWUqIGZyYW1lKQogICAgICAgICBtX3BhZ2UucmVwbGF5Q29udHJvbGxlcigp
LndpbGxEaXNwYXRjaEV2ZW50KGV2ZW50LCBmcmFtZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVw
bGF5QWdlbnQ6OnNlc3Npb25DcmVhdGVkKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gcHJwU2Vz
c2lvbikKK3ZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnNlc3Npb25DcmVhdGVkKFJlZlB0cjxS
ZXBsYXlTZXNzaW9uPiYmIHNlc3Npb24pCiB7Ci0gICAgUmVmUHRyPFJlcGxheVNlc3Npb24+IHNl
c3Npb24gPSBwcnBTZXNzaW9uOwotCiAgICAgYXV0byByZXN1bHQgPSBtX3Nlc3Npb25zTWFwLmFk
ZChzZXNzaW9uLT5pZGVudGlmaWVyKCksIHNlc3Npb24pOwogICAgIC8vIENhbid0IGhhdmUgdHdv
IHNlc3Npb25zIHdpdGggc2FtZSBpZGVudGlmaWVyLgogICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0
LCByZXN1bHQuaXNOZXdFbnRyeSk7CkBAIC0yMjUsMjUgKzIyMywyMSBAQCB2b2lkIEluc3BlY3Rv
clJlcGxheUFnZW50OjpzZXNzaW9uQ3JlYXRlZChQYXNzUmVmUHRyPFJlcGxheVNlc3Npb24+IHBy
cFNlc3Npb24pCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnNlc3Npb25DcmVhdGVkKHNlc3Np
b24tPmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnNlc3Np
b25Nb2RpZmllZChQYXNzUmVmUHRyPFJlcGxheVNlc3Npb24+IHNlc3Npb24pCit2b2lkIEluc3Bl
Y3RvclJlcGxheUFnZW50OjpzZXNzaW9uTW9kaWZpZWQoUmVmUHRyPFJlcGxheVNlc3Npb24+JiYg
c2Vzc2lvbikKIHsKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+c2Vzc2lvbk1vZGlmaWVkKHNl
c3Npb24tPmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnNl
c3Npb25Mb2FkZWQoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uPiBwcnBTZXNzaW9uKQordm9pZCBJ
bnNwZWN0b3JSZXBsYXlBZ2VudDo6c2Vzc2lvbkxvYWRlZChSZWZQdHI8UmVwbGF5U2Vzc2lvbj4m
JiBzZXNzaW9uKQogewotICAgIFJlZlB0cjxSZXBsYXlTZXNzaW9uPiBzZXNzaW9uID0gcHJwU2Vz
c2lvbjsKLQogICAgIC8vIEluIGNhc2Ugd2UgZGlkbid0IGtub3cgYWJvdXQgdGhlIGxvYWRlZCBz
ZXNzaW9uLCBhZGQgaGVyZS4KICAgICBtX3Nlc3Npb25zTWFwLmFkZChzZXNzaW9uLT5pZGVudGlm
aWVyKCksIHNlc3Npb24pOwogCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnNlc3Npb25Mb2Fk
ZWQoc2Vzc2lvbi0+aWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXBsYXlBZ2Vu
dDo6c2VnbWVudENyZWF0ZWQoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gcHJwU2Vn
bWVudCkKK3ZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnNlZ21lbnRDcmVhdGVkKFJlZlB0cjxS
ZXBsYXlTZXNzaW9uU2VnbWVudD4mJiBzZWdtZW50KQogewotICAgIFJlZlB0cjxSZXBsYXlTZXNz
aW9uU2VnbWVudD4gc2VnbWVudCA9IHBycFNlZ21lbnQ7Ci0KICAgICBhdXRvIHJlc3VsdCA9IG1f
c2VnbWVudHNNYXAuYWRkKHNlZ21lbnQtPmlkZW50aWZpZXIoKSwgc2VnbWVudCk7CiAgICAgLy8g
Q2FuJ3QgaGF2ZSB0d28gc2VnbWVudHMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyLgogICAgIEFT
U0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CkBAIC0yNTEsMTcgKzI0NSwx
NSBAQCB2b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpzZWdtZW50Q3JlYXRlZChQYXNzUmVmUHRy
PFJlcGxheVNlc3Npb25TZWdtZW50PiBwcnBTZQogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5z
ZWdtZW50Q3JlYXRlZChzZWdtZW50LT5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIEluc3BlY3Rv
clJlcGxheUFnZW50OjpzZWdtZW50Q29tcGxldGVkKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNl
Z21lbnQ+IHNlZ21lbnQpCit2b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpzZWdtZW50Q29tcGxl
dGVkKFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4mJiBzZWdtZW50KQogewogICAgIG1fZnJv
bnRlbmREaXNwYXRjaGVyLT5zZWdtZW50Q29tcGxldGVkKHNlZ21lbnQtPmlkZW50aWZpZXIoKSk7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnNlZ21lbnRMb2FkZWQoUGFzc1JlZlB0
cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gcHJwU2VnbWVudCkKK3ZvaWQgSW5zcGVjdG9yUmVwbGF5
QWdlbnQ6OnNlZ21lbnRMb2FkZWQoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21l
bnQpCiB7Ci0gICAgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBzZWdtZW50ID0gcHJwU2Vn
bWVudDsKLQogICAgIC8vIEluIGNhc2Ugd2UgZGlkbid0IGtub3cgYWJvdXQgdGhlIGxvYWRlZCBz
ZWdtZW50LCBhZGQgaGVyZS4KLSAgICBtX3NlZ21lbnRzTWFwLmFkZChzZWdtZW50LT5pZGVudGlm
aWVyKCksIHNlZ21lbnQpOworICAgIG1fc2VnbWVudHNNYXAuYWRkKHNlZ21lbnQtPmlkZW50aWZp
ZXIoKSwgc2VnbWVudC5jb3B5UmVmKCkpOwogCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPnNl
Z21lbnRMb2FkZWQoc2VnbWVudC0+aWRlbnRpZmllcigpKTsKIH0KQEAgLTM4NCw3ICszNzYsNyBA
QCB2b2lkIEluc3BlY3RvclJlcGxheUFnZW50OjpjYW5jZWxQbGF5YmFjayhFcnJvclN0cmluZyYg
ZXJyb3JTdHJpbmcpCiAKIHZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnN3aXRjaFNlc3Npb24o
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNl
c3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKGlkZW50aWZpZXIgPiAw
KTsKKyAgICBBU1NFUlRfQVJHKGlkZW50aWZpZXIsIGlkZW50aWZpZXIgPiAwKTsKIAogICAgIGlm
IChzZXNzaW9uU3RhdGUoKSAhPSBXZWJDb3JlOjpTZXNzaW9uU3RhdGU6OkluYWN0aXZlKSB7CiAg
ICAgICAgIGVycm9yU3RyaW5nID0gQVNDSUlMaXRlcmFsKCJDYW4ndCBzd2l0Y2ggc2Vzc2lvbnMg
dW5sZXNzIHRoZSBzZXNzaW9uIGlzIG5laXRoZXIgY2FwdHVyaW5nIG9yIHJlcGxheWluZy4iKTsK
QEAgLTM5NSwxNCArMzg3LDE0IEBAIHZvaWQgSW5zcGVjdG9yUmVwbGF5QWdlbnQ6OnN3aXRjaFNl
c3Npb24oRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBJbnNwZWN0b3I6OlByCiAgICAgaWYgKCFz
ZXNzaW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2UucmVwbGF5Q29udHJvbGxlcigp
LnN3aXRjaFNlc3Npb24oc2Vzc2lvbik7CisgICAgbV9wYWdlLnJlcGxheUNvbnRyb2xsZXIoKS5z
d2l0Y2hTZXNzaW9uKFdURjo6bW92ZShzZXNzaW9uKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVw
bGF5QWdlbnQ6Omluc2VydFNlc3Npb25TZWdtZW50KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywg
SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uSWRlbnRpZmllciBzZXNzaW9uSWRl
bnRpZmllciwgU2VnbWVudElkZW50aWZpZXIgc2VnbWVudElkZW50aWZpZXIsIGludCBzZWdtZW50
SW5kZXgpCiB7Ci0gICAgQVNTRVJUKHNlc3Npb25JZGVudGlmaWVyID4gMCk7Ci0gICAgQVNTRVJU
KHNlZ21lbnRJZGVudGlmaWVyID4gMCk7Ci0gICAgQVNTRVJUKHNlZ21lbnRJbmRleCA+PSAwKTsK
KyAgICBBU1NFUlRfQVJHKHNlc3Npb25JZGVudGlmaWVyLCBzZXNzaW9uSWRlbnRpZmllciA+IDAp
OworICAgIEFTU0VSVF9BUkcoc2VnbWVudElkZW50aWZpZXIsIHNlZ21lbnRJZGVudGlmaWVyID4g
MCk7CisgICAgQVNTRVJUX0FSRyhzZWdtZW50SW5kZXgsIHNlZ21lbnRJbmRleCA+PSAwKTsKIAog
ICAgIFJlZlB0cjxSZXBsYXlTZXNzaW9uPiBzZXNzaW9uID0gZmluZFNlc3Npb24oZXJyb3JTdHJp
bmcsIHNlc3Npb25JZGVudGlmaWVyKTsKICAgICBSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+
IHNlZ21lbnQgPSBmaW5kU2VnbWVudChlcnJvclN0cmluZywgc2VnbWVudElkZW50aWZpZXIpOwpA
QCAtNDIwLDE0ICs0MTIsMTQgQEAgdm9pZCBJbnNwZWN0b3JSZXBsYXlBZ2VudDo6aW5zZXJ0U2Vz
c2lvblNlZ21lbnQoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBJbnNwZWMKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHNlc3Npb24tPmluc2VydFNlZ21lbnQoc2VnbWVudEluZGV4LCBz
ZWdtZW50KTsKLSAgICBzZXNzaW9uTW9kaWZpZWQoc2Vzc2lvbik7CisgICAgc2Vzc2lvbi0+aW5z
ZXJ0U2VnbWVudChzZWdtZW50SW5kZXgsIFdURjo6bW92ZShzZWdtZW50KSk7CisgICAgc2Vzc2lv
bk1vZGlmaWVkKFdURjo6bW92ZShzZXNzaW9uKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yUmVwbGF5
QWdlbnQ6OnJlbW92ZVNlc3Npb25TZWdtZW50KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgSW5z
cGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBp
bnQgc2VnbWVudEluZGV4KQogewotICAgIEFTU0VSVChpZGVudGlmaWVyID4gMCk7Ci0gICAgQVNT
RVJUKHNlZ21lbnRJbmRleCA+PSAwKTsKKyAgICBBU1NFUlRfQVJHKGlkZW50aWZpZXIsIGlkZW50
aWZpZXIgPiAwKTsKKyAgICBBU1NFUlRfQVJHKHNlZ21lbnRJbmRleCwgc2VnbWVudEluZGV4ID49
IDApOwogCiAgICAgUmVmUHRyPFJlcGxheVNlc3Npb24+IHNlc3Npb24gPSBmaW5kU2Vzc2lvbihl
cnJvclN0cmluZywgaWRlbnRpZmllcik7CiAKQEAgLTQ0NSwxMiArNDM3LDEyIEBAIHZvaWQgSW5z
cGVjdG9yUmVwbGF5QWdlbnQ6OnJlbW92ZVNlc3Npb25TZWdtZW50KEVycm9yU3RyaW5nJiBlcnJv
clN0cmluZywgSW5zcGVjCiAgICAgfQogCiAgICAgc2Vzc2lvbi0+cmVtb3ZlU2VnbWVudChzZWdt
ZW50SW5kZXgpOwotICAgIHNlc3Npb25Nb2RpZmllZChzZXNzaW9uKTsKKyAgICBzZXNzaW9uTW9k
aWZpZWQoV1RGOjptb3ZlKHNlc3Npb24pKTsKIH0KIAotUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9u
PiBJbnNwZWN0b3JSZXBsYXlBZ2VudDo6ZmluZFNlc3Npb24oRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBTZXNzaW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQorUmVmUHRyPFJlcGxheVNlc3Npb24+
IEluc3BlY3RvclJlcGxheUFnZW50OjpmaW5kU2Vzc2lvbihFcnJvclN0cmluZyYgZXJyb3JTdHJp
bmcsIFNlc3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7Ci0gICAgQVNTRVJUKGlkZW50aWZp
ZXIgPiAwKTsKKyAgICBBU1NFUlRfQVJHKGlkZW50aWZpZXIsIGlkZW50aWZpZXIgPiAwKTsKIAog
ICAgIGF1dG8gaXQgPSBtX3Nlc3Npb25zTWFwLmZpbmQoaWRlbnRpZmllcik7CiAgICAgaWYgKGl0
ID09IG1fc2Vzc2lvbnNNYXAuZW5kKCkpIHsKQEAgLTQ2MSw5ICs0NTMsOSBAQCBQYXNzUmVmUHRy
PFJlcGxheVNlc3Npb24+IEluc3BlY3RvclJlcGxheUFnZW50OjpmaW5kU2Vzc2lvbihFcnJvclN0
cmluZyYgZXJyb3JTdAogICAgIHJldHVybiBpdC0+dmFsdWU7CiB9CiAKLVBhc3NSZWZQdHI8UmVw
bGF5U2Vzc2lvblNlZ21lbnQ+IEluc3BlY3RvclJlcGxheUFnZW50OjpmaW5kU2VnbWVudChFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIFNlZ21lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIpCitSZWZQ
dHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IEluc3BlY3RvclJlcGxheUFnZW50OjpmaW5kU2VnbWVu
dChFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIFNlZ21lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIp
CiB7Ci0gICAgQVNTRVJUKGlkZW50aWZpZXIgPiAwKTsKKyAgICBBU1NFUlRfQVJHKGlkZW50aWZp
ZXIsIGlkZW50aWZpZXIgPiAwKTsKIAogICAgIGF1dG8gaXQgPSBtX3NlZ21lbnRzTWFwLmZpbmQo
aWRlbnRpZmllcik7CiAgICAgaWYgKGl0ID09IG1fc2VnbWVudHNNYXAuZW5kKCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKaW5kZXggOTQy
OTUxMTllOTQxYWRjYmUzNDk0OTYwYTRiYWU1NjU1MDYxZjZiNC4uMTFmMmE5NDE5ZTI0ZGVlMzlk
MjYxN2Y1ZDFkZDY1ZTVjYjkwOTkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlcGxheUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmgKQEAgLTczLDE0ICs3MywxNCBAQCBwdWJsaWM6CiAgICAg
dm9pZCB3aWxsRGlzcGF0Y2hFdmVudChjb25zdCBFdmVudCYsIEZyYW1lKik7CiAKICAgICAvLyBO
b3RpZmljYXRpb25zIGZyb20gUmVwbGF5Q29udHJvbGxlci4KLSAgICB2b2lkIHNlc3Npb25DcmVh
dGVkKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4pOworICAgIHZvaWQgc2Vzc2lvbkNyZWF0ZWQo
UmVmUHRyPFJlcGxheVNlc3Npb24+JiYpOwogICAgIC8vIFRoaXMgaXMgY2FsbGVkIGludGVybmFs
bHkgKHdoZW4gYWRkaW5nL3JlbW92aW5nKSBhbmQgYnkgUmVwbGF5Q29udHJvbGxlciBkdXJpbmcg
Y2FwdHVyZS4KLSAgICB2b2lkIHNlc3Npb25Nb2RpZmllZChQYXNzUmVmUHRyPFJlcGxheVNlc3Np
b24+KTsKLSAgICB2b2lkIHNlc3Npb25Mb2FkZWQoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uPik7
CisgICAgdm9pZCBzZXNzaW9uTW9kaWZpZWQoUmVmUHRyPFJlcGxheVNlc3Npb24+JiYpOworICAg
IHZvaWQgc2Vzc2lvbkxvYWRlZChSZWZQdHI8UmVwbGF5U2Vzc2lvbj4mJik7CiAKLSAgICB2b2lk
IHNlZ21lbnRDcmVhdGVkKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+KTsKLSAgICB2
b2lkIHNlZ21lbnRDb21wbGV0ZWQoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4pOwot
ICAgIHZvaWQgc2VnbWVudExvYWRlZChQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50Pik7
CisgICAgdm9pZCBzZWdtZW50Q3JlYXRlZChSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+JiYp
OworICAgIHZvaWQgc2VnbWVudENvbXBsZXRlZChSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+
JiYpOworICAgIHZvaWQgc2VnbWVudExvYWRlZChSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+
JiYpOwogICAgIHZvaWQgc2VnbWVudFVubG9hZGVkKCk7CiAKICAgICB2b2lkIGNhcHR1cmVTdGFy
dGVkKCk7CkBAIC0xMTAsOCArMTEwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZXRT
ZWdtZW50RGF0YShFcnJvclN0cmluZyYsIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJlcGxheTo6U2Vn
bWVudElkZW50aWZpZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Np
b25TZWdtZW50PiYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIFBhc3NSZWZQdHI8UmVwbGF5
U2Vzc2lvbj4gZmluZFNlc3Npb24oRXJyb3JTdHJpbmcmLCBTZXNzaW9uSWRlbnRpZmllcik7Ci0g
ICAgUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gZmluZFNlZ21lbnQoRXJyb3JTdHJp
bmcmLCBTZWdtZW50SWRlbnRpZmllcik7CisgICAgUmVmUHRyPFJlcGxheVNlc3Npb24+IGZpbmRT
ZXNzaW9uKEVycm9yU3RyaW5nJiwgU2Vzc2lvbklkZW50aWZpZXIpOworICAgIFJlZlB0cjxSZXBs
YXlTZXNzaW9uU2VnbWVudD4gZmluZFNlZ21lbnQoRXJyb3JTdHJpbmcmLCBTZWdtZW50SWRlbnRp
Zmllcik7CiAgICAgV2ViQ29yZTo6U2Vzc2lvblN0YXRlIHNlc3Npb25TdGF0ZSgpIGNvbnN0Owog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yUmVwbGF5RnJvbnRlbmRE
aXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCmluZGV4IDg4NWRmNThiOTllNWY1NmZjNmQ4MDYx
OTczNDNjODVjZjQ4MWVjZGYuLjAzY2VlOTIwMDQwOTVmMTkxODk0Yjc3MzdhMjliZjlmMTE3NDY2
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNw
cApAQCAtMzgsOCArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNhcHR1cmluZ0lu
cHV0Q3Vyc29yOjpDYXB0dXJpbmdJbnB1dEN1cnNvcihQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25T
ZWdtZW50PiBzZWdtZW50KQotICAgIDogbV9zZWdtZW50KHNlZ21lbnQpCitDYXB0dXJpbmdJbnB1
dEN1cnNvcjo6Q2FwdHVyaW5nSW5wdXRDdXJzb3IoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50
PiYmIHNlZ21lbnQpCisgICAgOiBtX3NlZ21lbnQoV1RGOjptb3ZlKHNlZ21lbnQpKQogewogICAg
IExPRyhXZWJSZXBsYXksICIlLTMwc0NyZWF0ZWQgY2FwdHVyZSBjdXJzb3I9JXAuXG4iLCAiW1Jl
cGxheUNvbnRyb2xsZXJdIiwgdGhpcyk7CiB9CkBAIC00OSw5ICs0OSw5IEBAIENhcHR1cmluZ0lu
cHV0Q3Vyc29yOjp+Q2FwdHVyaW5nSW5wdXRDdXJzb3IoKQogICAgIExPRyhXZWJSZXBsYXksICIl
LTMwc0Rlc3Ryb3llZCBjYXB0dXJlIGN1cnNvcj0lcC5cbiIsICJbUmVwbGF5Q29udHJvbGxlcl0i
LCB0aGlzKTsKIH0KIAotUmVmPENhcHR1cmluZ0lucHV0Q3Vyc29yPiBDYXB0dXJpbmdJbnB1dEN1
cnNvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IHNlZ21lbnQpCitS
ZWY8Q2FwdHVyaW5nSW5wdXRDdXJzb3I+IENhcHR1cmluZ0lucHV0Q3Vyc29yOjpjcmVhdGUoUmVm
UHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQ2FwdHVyaW5nSW5wdXRDdXJzb3Ioc2VnbWVudCkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IENhcHR1cmluZ0lucHV0Q3Vyc29yKFdURjo6bW92ZShzZWdtZW50KSkpOwogfQog
CiB2b2lkIENhcHR1cmluZ0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxO
b25kZXRlcm1pbmlzdGljSW5wdXRCYXNlPiBpbnB1dCkKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBD
YXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJt
aW5pc3RpY0lucHV0QmFzZT4KICAgICBtX3NlZ21lbnQtPnN0b3JhZ2UoKS5zdG9yZShXVEY6Om1v
dmUoaW5wdXQpKTsKIH0KIAotTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogQ2FwdHVyaW5nSW5w
dXRDdXJzb3I6OmxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmKQorTm9u
ZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OmxvYWRJbnB1dChJ
bnB1dFF1ZXVlLCBjb25zdCBTdHJpbmcmKQogewogICAgIC8vIENhbid0IGxvYWQgaW5wdXRzIGZy
b20gY2FwdHVyaW5nIGN1cnNvci4KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmgKaW5kZXggMDgwMTdhYmJiNzll
MmFhYmM0Njk3NmUxZTM2OWRlNzU0YzcxNmE1MS4uYTQxNGMyZTE1MzliNDhhYzNiNDQwYTc0ZjY0
Njg0MjQwOGFhYWIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmlu
Z0lucHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0
Q3Vyc29yLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNv
ci5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MiwxNyArNDMsMTcgQEAgY2xhc3MgUmVw
bGF5U2Vzc2lvblNlZ21lbnQ7CiBjbGFzcyBDYXB0dXJpbmdJbnB1dEN1cnNvciBmaW5hbCA6IHB1
YmxpYyBJbnB1dEN1cnNvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FwdHVyaW5nSW5w
dXRDdXJzb3IpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q2FwdHVyaW5nSW5wdXRDdXJzb3I+
IGNyZWF0ZShQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50Pik7CisgICAgc3RhdGljIFJl
ZjxDYXB0dXJpbmdJbnB1dEN1cnNvcj4gY3JlYXRlKFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVu
dD4mJik7CiAgICAgdmlydHVhbCB+Q2FwdHVyaW5nSW5wdXRDdXJzb3IoKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBpc0NhcHR1cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNSZXBsYXlpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNl
KiBsb2FkSW5wdXQoSW5wdXRRdWV1ZSwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKSBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1
dFF1ZXVlLCBjb25zdCBTdHJpbmcmIHR5cGUpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIENh
cHR1cmluZ0lucHV0Q3Vyc29yKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+KTsKKyAg
ICBDYXB0dXJpbmdJbnB1dEN1cnNvcihSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+JiYpOwog
CiAgICAgdmlydHVhbCBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiB1bmNoZWNrZWRMb2FkSW5w
dXQoSW5wdXRRdWV1ZSkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3JlSW5wdXQoc3Rk
Ojp1bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+KSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKaW5k
ZXggOGY0MzYxOGExZmRkZDEyYmUwNWIyN2U5ZmI2MzRlNTgxNjEzNzgyZi4uY2Q4YjkzYzMwZTYy
YjQ3YWEzYTM5ODA3YTg4ZjRkODFhOTYxY2M5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTQ5LDExICs0OSw3IEBAIEV2
ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBh
Z2UsIFJlcGxheWluZ0lucHV0Q3VyCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2N1
cnNvcihjdXJzb3IpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyOjp0aW1lckZpcmVkKQotICAgICwgbV9kaXNwYXRjaGluZyhmYWxzZSkKLSAgICAsIG1fcnVu
bmluZyhmYWxzZSkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFzdEZvcndhcmQpCi0g
ICAgLCBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUoMC4wKQotICAgICwgbV9wcmV2aW91c0lu
cHV0VGltZXN0YW1wKDAuMCkKIHsKICAgICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsK
ICAgICBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCA9IDAuMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAppbmRleCA1OTM0YzQwYTkwMGY3MjVm
ODlhNGY3NmEzOWMyZjFlMjU4M2VlNjI4Li40MTY1NmQyZDFjMmVjZWRhNDExYTBmNmYzODViNDIw
ODI3NTczMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5w
dXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5oCkBAIC04MiwxNSArODIsMTUgQEAgcHJpdmF0ZToKICAgICAvLyBUaGlzIGRh
dGEgaXMgdmFsaWQgd2hlbiBhbiBldmVudCBsb29wIGlucHV0IGlzIHByZXNlbnRseSBkaXNwYXRj
aGluZy4KICAgICBFdmVudExvb3BJbnB1dERhdGEgbV9jdXJyZW50V29yazsKICAgICAvLyBXaGV0
aGVyIHRoZSBkaXNwYXRjaGVyIGlzIGN1cnJlbnRseSBjYWxsaW5nIG91dCB0byBhbiBpbnB1dHMn
IGRpc3BhdGNoKCkgbWV0aG9kLgotICAgIGJvb2wgbV9kaXNwYXRjaGluZzsKKyAgICBib29sIG1f
ZGlzcGF0Y2hpbmcge2ZhbHNlfTsKICAgICAvLyBXaGV0aGVyIHRoZSBkaXNwYXRjaGVyIGlzIHdh
aXRpbmcgdG8gZGlzcGF0Y2ggb3IgYWN0aXZlbHkgZGlzcGF0Y2hpbmcgaW5wdXRzLgotICAgIGJv
b2wgbV9ydW5uaW5nOworICAgIGJvb2wgbV9ydW5uaW5nIHtmYWxzZX07CiAKICAgICBEaXNwYXRj
aFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGxhc3QgaW5wdXQg
ZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxlZC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0Rpc3Bh
dGNoU3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgezAu
MH07CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3QgZGlzcGF0Y2hl
ZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOworICAgIGRvdWJs
ZSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgezAuMH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRnVuY3RvcklucHV0Q3Vy
c29yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRnVuY3RvcklucHV0Q3Vyc29yLmgKaW5kZXgg
YzhkZjkwMzFjZDlhN2U5YzA4NTNmMTk3ODg5ZTQ0ZDMzMzA2ZGIyZi4uYWZmNDZlNWZjZTJlNWRj
YWYwMGZhNmEyZjcyYTllODg0YzVkNjY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVw
bGF5L0Z1bmN0b3JJbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9GdW5j
dG9ySW5wdXRDdXJzb3IuaApAQCAtNDMsOSArNDMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBGdW5jdG9ySW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bmN0b3JJbnB1dEN1cnNvcik7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NSZWZQdHI8RnVuY3RvcklucHV0Q3Vyc29yPiBjcmVhdGUoUGFzc1JlZlB0cjxS
ZXBsYXlTZXNzaW9uU2VnbWVudD4gc2VnbWVudCkKKyAgICBzdGF0aWMgUmVmPEZ1bmN0b3JJbnB1
dEN1cnNvcj4gY3JlYXRlKFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4mJiBzZWdtZW50KQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGdW5jdG9ySW5wdXRDdXJzb3Ioc2Vn
bWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGdW5jdG9ySW5wdXRDdXJzb3Io
V1RGOjptb3ZlKHNlZ21lbnQpKSk7CiAgICAgfQogCiAgICAgLy8gSW5wdXRDdXJzb3IKQEAgLTU4
LDkgKzU4LDkgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CiAgICAg
dHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBmb3JFYWNoSW5wdXRJblF1ZXVlKElucHV0UXVl
dWUsIEZ1bmN0b3ImKTsKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJ
bnB1dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UqIGxvYWRJbnB1dChJ
bnB1dFF1ZXVlLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKIHByaXZhdGU6Ci0gICAgRnVuY3Rv
cklucHV0Q3Vyc29yKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+KTsKKyAgICBGdW5j
dG9ySW5wdXRDdXJzb3IoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmKTsKIAogICAgIFJl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gbV9zZWdtZW50OwogfTsKQEAgLTc0LDggKzc0LDgg
QEAgdHlwZW5hbWUgRnVuY3Rvcjo6UmV0dXJuVHlwZSBGdW5jdG9ySW5wdXRDdXJzb3I6OmZvckVh
Y2hJbnB1dEluUXVldWUoSW5wdXRRdWV1ZQogICAgIHJldHVybiBmdW5jdG9yLnJldHVyblZhbHVl
KCk7CiB9CiAKLWlubGluZSBGdW5jdG9ySW5wdXRDdXJzb3I6OkZ1bmN0b3JJbnB1dEN1cnNvcihQ
YXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBzZWdtZW50KQotICAgIDogbV9zZWdtZW50
KHNlZ21lbnQpCitpbmxpbmUgRnVuY3RvcklucHV0Q3Vyc29yOjpGdW5jdG9ySW5wdXRDdXJzb3Io
UmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQpCisgICAgOiBtX3NlZ21lbnQo
V1RGOjptb3ZlKHNlZ21lbnQpKQogewogfQogCkBAIC04NCw3ICs4NCw3IEBAIGlubGluZSB2b2lk
IEZ1bmN0b3JJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJt
aW5pc3RpY0lucHV0CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLWlubGluZSBOb25k
ZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBGdW5jdG9ySW5wdXRDdXJzb3I6OmxvYWRJbnB1dChJbnB1
dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmKQoraW5saW5lIE5vbmRldGVybWluaXN0aWNJbnB1
dEJhc2UqIEZ1bmN0b3JJbnB1dEN1cnNvcjo6bG9hZElucHV0KElucHV0UXVldWUsIGNvbnN0IFN0
cmluZyYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5jcHAKaW5kZXggMDQ1N2Y4
ZTE0NTk5ZTg0ZDhhYWJhNWMxMDU2ZDdlMzFiZmQ5NzczNC4uMDc2NDI5NjBhMmFmY2YzMGQ3ZGU3
ZDcyYmMzMmNlZTI4YTQ4MGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1Jl
cGxheUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlDb250
cm9sbGVyLmNwcApAQCAtMTEzLDEwICsxMTMsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogc2VnbWVu
dFN0YXRlVG9TdHJpbmcoU2VnbWVudFN0YXRlIHN0YXRlKQogCiBSZXBsYXlDb250cm9sbGVyOjpS
ZXBsYXlDb250cm9sbGVyKFBhZ2UmIHBhZ2UpCiAgICAgOiBtX3BhZ2UocGFnZSkKLSAgICAsIG1f
bG9hZGVkU2VnbWVudChudWxscHRyKQogICAgICwgbV9sb2FkZWRTZXNzaW9uKFJlcGxheVNlc3Np
b246OmNyZWF0ZSgpKQogICAgICwgbV9lbXB0eUN1cnNvcihFbXB0eUlucHV0Q3Vyc29yOjpjcmVh
dGUoKSkKLSAgICAsIG1fYWN0aXZlQ3Vyc29yKG51bGxwdHIpCiAgICAgLCBtX3RhcmdldFBvc2l0
aW9uKFJlcGxheVBvc2l0aW9uKDAsIDApKQogICAgICwgbV9jdXJyZW50UG9zaXRpb24oUmVwbGF5
UG9zaXRpb24oMCwgMCkpCiAgICAgLCBtX3NlZ21lbnRTdGF0ZShTZWdtZW50U3RhdGU6OlVubG9h
ZGVkKQpAQCAtMTI3LDcgKzEyNSw3IEBAIFJlcGxheUNvbnRyb2xsZXI6OlJlcGxheUNvbnRyb2xs
ZXIoUGFnZSYgcGFnZSkKIAogdm9pZCBSZXBsYXlDb250cm9sbGVyOjpzZXRGb3JjZURldGVybWlu
aXN0aWNTZXR0aW5ncyhib29sIHNob3VsZEZvcmNlRGV0ZXJtaW5pc3RpY0JlaGF2aW9yKQogewot
ICAgIEFTU0VSVChzaG91bGRGb3JjZURldGVybWluaXN0aWNCZWhhdmlvciBeIChtX3Nlc3Npb25T
dGF0ZSA9PSBTZXNzaW9uU3RhdGU6OkluYWN0aXZlKSk7CisgICAgQVNTRVJUX0FSRyhzaG91bGRG
b3JjZURldGVybWluaXN0aWNCZWhhdmlvciwgc2hvdWxkRm9yY2VEZXRlcm1pbmlzdGljQmVoYXZp
b3IgXiAobV9zZXNzaW9uU3RhdGUgPT0gU2Vzc2lvblN0YXRlOjpJbmFjdGl2ZSkpOwogCiAgICAg
aWYgKHNob3VsZEZvcmNlRGV0ZXJtaW5pc3RpY0JlaGF2aW9yKSB7CiAgICAgICAgIG1fc2F2ZWRT
ZXR0aW5ncy51c2VzUGFnZUNhY2hlID0gbV9wYWdlLnNldHRpbmdzKCkudXNlc1BhZ2VDYWNoZSgp
OwpAQCAtMTQ1LDcgKzE0Myw3IEBAIHZvaWQgUmVwbGF5Q29udHJvbGxlcjo6c2V0Rm9yY2VEZXRl
cm1pbmlzdGljU2V0dGluZ3MoYm9vbCBzaG91bGRGb3JjZURldGVybWluaXN0CiAKIHZvaWQgUmVw
bGF5Q29udHJvbGxlcjo6c2V0U2Vzc2lvblN0YXRlKFNlc3Npb25TdGF0ZSBzdGF0ZSkKIHsKLSAg
ICBBU1NFUlQoc3RhdGUgIT0gbV9zZXNzaW9uU3RhdGUpOworICAgIEFTU0VSVF9BUkcoc3RhdGUs
IHN0YXRlICE9IG1fc2Vzc2lvblN0YXRlKTsKIAogICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyBT
ZXNzaW9uU3RhdGUgdHJhbnNpdGlvbjogJTEwcyAtLT4gJTEwcy5cbiIsICJSZXBsYXlDb250cm9s
bGVyIiwgc2Vzc2lvblN0YXRlVG9TdHJpbmcobV9zZXNzaW9uU3RhdGUpLCBzZXNzaW9uU3RhdGVU
b1N0cmluZyhzdGF0ZSkpOwogCkBAIC0xNzMsNyArMTcxLDcgQEAgdm9pZCBSZXBsYXlDb250cm9s
bGVyOjpzZXRTZXNzaW9uU3RhdGUoU2Vzc2lvblN0YXRlIHN0YXRlKQogCiB2b2lkIFJlcGxheUNv
bnRyb2xsZXI6OnNldFNlZ21lbnRTdGF0ZShTZWdtZW50U3RhdGUgc3RhdGUpCiB7Ci0gICAgQVNT
RVJUKHN0YXRlICE9IG1fc2VnbWVudFN0YXRlKTsKKyAgICBBU1NFUlRfQVJHKHN0YXRlLCBzdGF0
ZSAhPSBtX3NlZ21lbnRTdGF0ZSk7CiAKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgU2VnbWVu
dFN0YXRlIHRyYW5zaXRpb246ICUxMHMgLS0+ICUxMHMuXG4iLCAiUmVwbGF5Q29udHJvbGxlciIs
IHNlZ21lbnRTdGF0ZVRvU3RyaW5nKG1fc2VnbWVudFN0YXRlKSwgc2VnbWVudFN0YXRlVG9TdHJp
bmcoc3RhdGUpKTsKIApAQCAtMTk4LDggKzE5Niw5IEBAIHZvaWQgUmVwbGF5Q29udHJvbGxlcjo6
c2V0U2VnbWVudFN0YXRlKFNlZ21lbnRTdGF0ZSBzdGF0ZSkKICAgICBtX3NlZ21lbnRTdGF0ZSA9
IHN0YXRlOwogfQogCi12b2lkIFJlcGxheUNvbnRyb2xsZXI6OnN3aXRjaFNlc3Npb24oUGFzc1Jl
ZlB0cjxSZXBsYXlTZXNzaW9uPiBzZXNzaW9uKQordm9pZCBSZXBsYXlDb250cm9sbGVyOjpzd2l0
Y2hTZXNzaW9uKFJlZlB0cjxSZXBsYXlTZXNzaW9uPiYmIHNlc3Npb24pCiB7CisgICAgQVNTRVJU
X0FSRyhzZXNzaW9uLCBzZXNzaW9uKTsKICAgICBBU1NFUlQobV9zZWdtZW50U3RhdGUgPT0gU2Vn
bWVudFN0YXRlOjpVbmxvYWRlZCk7CiAgICAgQVNTRVJUKG1fc2Vzc2lvblN0YXRlID09IFNlc3Np
b25TdGF0ZTo6SW5hY3RpdmUpOwogCkBAIC0yMjUsNyArMjI0LDcgQEAgdm9pZCBSZXBsYXlDb250
cm9sbGVyOjpjcmVhdGVTZWdtZW50KCkKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgQ3JlYXRl
ZCBzZWdtZW50OiAlcC5cbiIsICJSZXBsYXlDb250cm9sbGVyIiwgbV9sb2FkZWRTZWdtZW50Lmdl
dCgpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRDcmVhdGVkKG1fcGFn
ZSwgbV9sb2FkZWRTZWdtZW50LmNvcHlSZWYoKSk7CiAKLSAgICBtX2FjdGl2ZUN1cnNvciA9IENh
cHR1cmluZ0lucHV0Q3Vyc29yOjpjcmVhdGUobV9sb2FkZWRTZWdtZW50KTsKKyAgICBtX2FjdGl2
ZUN1cnNvciA9IENhcHR1cmluZ0lucHV0Q3Vyc29yOjpjcmVhdGUobV9sb2FkZWRTZWdtZW50LmNv
cHlSZWYoKSk7CiAgICAgbV9hY3RpdmVDdXJzb3ItPmFwcGVuZElucHV0PEJlZ2luU2VnbWVudFNl
bnRpbmVsPigpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluaXRpYWxOYXZpZ2F0aW9uPiBuYXZp
Z2F0aW9uSW5wdXQgPSBJbml0aWFsTmF2aWdhdGlvbjo6Y3JlYXRlRnJvbVBhZ2UobV9wYWdlKTsK
QEAgLTI0OSwxMyArMjQ4LDEzIEBAIHZvaWQgUmVwbGF5Q29udHJvbGxlcjo6Y29tcGxldGVTZWdt
ZW50KCkKICAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgQ29tcGxldGVkIHNlZ21lbnQ6ICVwLlxu
IiwgIlJlcGxheUNvbnRyb2xsZXIiLCBzZWdtZW50LmdldCgpKTsKICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnNlZ21lbnRDb21wbGV0ZWQobV9wYWdlLCBzZWdtZW50LmNvcHlSZWYoKSk7
CiAKLSAgICBtX2xvYWRlZFNlc3Npb24tPmFwcGVuZFNlZ21lbnQoc2VnbWVudCk7CisgICAgbV9s
b2FkZWRTZXNzaW9uLT5hcHBlbmRTZWdtZW50KHNlZ21lbnQuY29weVJlZigpKTsKICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnNlc3Npb25Nb2RpZmllZChtX3BhZ2UsIG1fbG9hZGVkU2Vz
c2lvbi5jb3B5UmVmKCkpOwogfQogCiB2b2lkIFJlcGxheUNvbnRyb2xsZXI6OmxvYWRTZWdtZW50
QXRJbmRleChzaXplX3Qgc2VnbWVudEluZGV4KQogewotICAgIEFTU0VSVChzZWdtZW50SW5kZXgg
PCBtX2xvYWRlZFNlc3Npb24tPnNpemUoKSk7CisgICAgQVNTRVJUX0FSRyhzZWdtZW50SW5kZXgs
IHNlZ21lbnRJbmRleCA+PSAwICYmIHNlZ21lbnRJbmRleCA8IG1fbG9hZGVkU2Vzc2lvbi0+c2l6
ZSgpKTsKICAgICBSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IHNlZ21lbnQgPSBtX2xvYWRl
ZFNlc3Npb24tPmF0KHNlZ21lbnRJbmRleCk7CiAKICAgICBBU1NFUlQobV9zZXNzaW9uU3RhdGUg
PT0gU2Vzc2lvblN0YXRlOjpSZXBsYXlpbmcpOwpAQCAtMjY5LDcgKzI2OCw3IEBAIHZvaWQgUmVw
bGF5Q29udHJvbGxlcjo6bG9hZFNlZ21lbnRBdEluZGV4KHNpemVfdCBzZWdtZW50SW5kZXgpCiAg
ICAgbV9jdXJyZW50UG9zaXRpb24uc2VnbWVudE9mZnNldCA9IHNlZ21lbnRJbmRleDsKICAgICBt
X2N1cnJlbnRQb3NpdGlvbi5pbnB1dE9mZnNldCA9IDA7CiAKLSAgICBtX2FjdGl2ZUN1cnNvciA9
IFJlcGxheWluZ0lucHV0Q3Vyc29yOjpjcmVhdGUobV9sb2FkZWRTZWdtZW50LCBtX3BhZ2UsIHRo
aXMpOworICAgIG1fYWN0aXZlQ3Vyc29yID0gUmVwbGF5aW5nSW5wdXRDdXJzb3I6OmNyZWF0ZSht
X2xvYWRlZFNlZ21lbnQuY29weVJlZigpLCBtX3BhZ2UsIHRoaXMpOwogCiAgICAgTE9HKFdlYlJl
cGxheSwgIiUtMjBzTG9hZGluZyBzZWdtZW50OiAlcC5cbiIsICJSZXBsYXlDb250cm9sbGVyIiwg
c2VnbWVudC5nZXQoKSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZWdtZW50TG9h
ZGVkKG1fcGFnZSwgc2VnbWVudC5jb3B5UmVmKCkpOwpAQCAtMjg3LDggKzI4Niw4IEBAIHZvaWQg
UmVwbGF5Q29udHJvbGxlcjo6dW5sb2FkU2VnbWVudChib29sIHN1cHByZXNzTm90aWZpY2F0aW9u
cykKICAgICBtX2FjdGl2ZUN1cnNvciA9IG51bGxwdHI7CiAgICAgUmVmUHRyPFJlcGxheVNlc3Np
b25TZWdtZW50PiB1bmxvYWRlZFNlZ21lbnQgPSBtX2xvYWRlZFNlZ21lbnQucmVsZWFzZSgpOwog
ICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1fcGFnZS5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1l
ID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICBmcmFtZS0+c2NyaXB0
KCkuZ2xvYmFsT2JqZWN0KG1haW5UaHJlYWROb3JtYWxXb3JsZCgpKS0+c2V0SW5wdXRDdXJzb3Io
bV9lbXB0eUN1cnNvcik7Ci0gICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zZXRJbnB1dEN1cnNv
cihtX2VtcHR5Q3Vyc29yKTsKKyAgICAgICAgZnJhbWUtPnNjcmlwdCgpLmdsb2JhbE9iamVjdCht
YWluVGhyZWFkTm9ybWFsV29ybGQoKSktPnNldElucHV0Q3Vyc29yKG1fZW1wdHlDdXJzb3IuY29w
eVJlZigpKTsKKyAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnNldElucHV0Q3Vyc29yKG1fZW1w
dHlDdXJzb3IuY29weVJlZigpKTsKICAgICB9CiAKICAgICAvLyBXaGVuIHdlIHN0b3AgY2FwdHVy
aW5nLCBkb24ndCBzZW5kIG91dCBzZWdtZW50IHVubG9hZGVkIGV2ZW50cyBzaW5jZSB3ZQpAQCAt
NDA3LDcgKzQwNiw4IEBAIHZvaWQgUmVwbGF5Q29udHJvbGxlcjo6cmVwbGF5VG9Qb3NpdGlvbihj
b25zdCBSZXBsYXlQb3NpdGlvbiYgcG9zaXRpb24sIERpc3BhdGNoCiB2b2lkIFJlcGxheUNvbnRy
b2xsZXI6OmZyYW1lTmF2aWdhdGVkKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7CiAgICAgQVNT
RVJUKG1fc2Vzc2lvblN0YXRlICE9IFNlc3Npb25TdGF0ZTo6SW5hY3RpdmUpOwotCisgICAgQVNT
RVJUX0FSRyhsb2FkZXIsIGxvYWRlcik7CisgICAgCiAgICAgLy8gVGhlIGluaXRpYWwgY2FwdHVy
aW5nIHNlZ21lbnQgaXMgY3JlYXRlZCBwcmlvciB0byBtYWluIGZyYW1lIG5hdmlnYXRpb24uCiAg
ICAgLy8gT3RoZXJ3aXNlLCB0aGUgcHJpb3IgY2FwdHVyaW5nIHNlZ21lbnQgd2FzIGNvbXBsZXRl
ZCB3aGVuIHRoZSBmcmFtZSBkZXRhY2hlZCwKICAgICAvLyBhbmQgaXQgaXMgbm93IHRpbWUgdG8g
Y3JlYXRlIGEgbmV3IHNlZ21lbnQuCkBAIC00NzgsMjcgKzQ3OCwyNiBAQCB2b2lkIFJlcGxheUNv
bnRyb2xsZXI6OndpbGxEaXNwYXRjaEV2ZW50KGNvbnN0IEV2ZW50JiBldmVudCwgRnJhbWUqIGZy
YW1lKQogI2VuZGlmCiB9CiAKLVBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gUmVwbGF5Q29udHJv
bGxlcjo6bG9hZGVkU2Vzc2lvbigpIGNvbnN0CitSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gUmVwbGF5
Q29udHJvbGxlcjo6bG9hZGVkU2Vzc2lvbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbG9hZGVk
U2Vzc2lvbjsKKyAgICByZXR1cm4gbV9sb2FkZWRTZXNzaW9uLmNvcHlSZWYoKTsKIH0KIAotUGFz
c1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5Q29udHJvbGxlcjo6bG9hZGVkU2Vn
bWVudCgpIGNvbnN0CitSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheUNvbnRyb2xs
ZXI6OmxvYWRlZFNlZ21lbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2xvYWRlZFNlZ21lbnQ7
CisgICAgcmV0dXJuIG1fbG9hZGVkU2VnbWVudC5jb3B5UmVmKCk7CiB9CiAKLUlucHV0Q3Vyc29y
JiBSZXBsYXlDb250cm9sbGVyOjphY3RpdmVJbnB1dEN1cnNvcigpIGNvbnN0CitJbnB1dEN1cnNv
ciYgUmVwbGF5Q29udHJvbGxlcjo6YWN0aXZlSW5wdXRDdXJzb3IoKQogewotICAgIHJldHVybiBt
X2FjdGl2ZUN1cnNvciA/ICptX2FjdGl2ZUN1cnNvciA6ICptX2VtcHR5Q3Vyc29yOworICAgIHJl
dHVybiBtX2FjdGl2ZUN1cnNvciA/ICptX2FjdGl2ZUN1cnNvciA6IG1fZW1wdHlDdXJzb3IuZ2V0
KCk7CiB9CiAKIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlciYgUmVwbGF5Q29udHJvbGxlcjo6ZGlz
cGF0Y2hlcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fc2Vzc2lvblN0YXRlID09IFNlc3Npb25T
dGF0ZTo6UmVwbGF5aW5nKTsKICAgICBBU1NFUlQobV9zZWdtZW50U3RhdGUgPT0gU2VnbWVudFN0
YXRlOjpEaXNwYXRjaGluZyk7Ci0gICAgQVNTRVJUKG1fYWN0aXZlQ3Vyc29yKTsKLSAgICBBU1NF
UlQobV9hY3RpdmVDdXJzb3ItPmlzUmVwbGF5aW5nKCkpOworICAgIEFTU0VSVChtX2FjdGl2ZUN1
cnNvciAmJiBtX2FjdGl2ZUN1cnNvci0+aXNSZXBsYXlpbmcoKSk7CiAKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UmVwbGF5aW5nSW5wdXRDdXJzb3ImPigqbV9hY3RpdmVDdXJzb3IpLmRpc3BhdGNo
ZXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oCmluZGV4IDVl
MDc5NmQ4ODQ3MzU3YzVmNjcyMjAwYzhjN2Y1NGE0Zjc4YmRlMjguLjA2NWE0OTRhMTI5MGJhMmU5
NzUxY2NiZDRiYWEyYTBiY2NkZmIzMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9SZXBsYXlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNv
bnRyb2xsZXIuaApAQCAtMTI4LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgcmVwbGF5VG9Q
b3NpdGlvbihSZXBsYXlQb3NpdGlvbigpLCBzcGVlZCk7CiAgICAgfQogCi0gICAgdm9pZCBzd2l0
Y2hTZXNzaW9uKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4pOworICAgIHZvaWQgc3dpdGNoU2Vz
c2lvbihSZWZQdHI8UmVwbGF5U2Vzc2lvbj4mJik7CiAKICAgICAvLyBJbnNwZWN0b3JSZXBsYXlB
Z2VudCBub3RpZmljYXRpb25zLgogICAgIHZvaWQgZnJhbWVOYXZpZ2F0ZWQoRG9jdW1lbnRMb2Fk
ZXIqKTsKQEAgLTE0MCwxMCArMTQwLDEwIEBAIHB1YmxpYzoKICAgICBTZXNzaW9uU3RhdGUgc2Vz
c2lvblN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uU3RhdGU7IH0KICAgICBTZWdtZW50
U3RhdGUgc2VnbWVudFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zZWdtZW50U3RhdGU7IH0KIAot
ICAgIFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gbG9hZGVkU2Vzc2lvbigpIGNvbnN0OwotICAg
IFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IGxvYWRlZFNlZ21lbnQoKSBjb25zdDsK
KyAgICBSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gbG9hZGVkU2Vzc2lvbigpIGNvbnN0OworICAgIFJl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gbG9hZGVkU2VnbWVudCgpIGNvbnN0OwogCi0gICAg
SlNDOjpJbnB1dEN1cnNvciYgYWN0aXZlSW5wdXRDdXJzb3IoKSBjb25zdDsKKyAgICBKU0M6Oklu
cHV0Q3Vyc29yJiBhY3RpdmVJbnB1dEN1cnNvcigpOwogICAgIFJlcGxheVBvc2l0aW9uIGN1cnJl
bnRQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudFBvc2l0aW9uOyB9CiAKIHByaXZh
dGU6CkBAIC0xNzYsNyArMTc2LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxSZXBsYXlTZXNz
aW9uU2VnbWVudD4gbV9sb2FkZWRTZWdtZW50OwogICAgIFJlZlB0cjxSZXBsYXlTZXNzaW9uPiBt
X2xvYWRlZFNlc3Npb247Ci0gICAgY29uc3QgUmVmUHRyPEpTQzo6SW5wdXRDdXJzb3I+IG1fZW1w
dHlDdXJzb3I7CisgICAgUmVmPEpTQzo6SW5wdXRDdXJzb3I+IG1fZW1wdHlDdXJzb3I7CiAgICAg
Ly8gVGhlIGFjdGl2ZSBjdXJzb3IgaXMgc2V0IHRvIG51bGxwdHIgd2hlbiBpbnZhbGlkLgogICAg
IFJlZlB0cjxKU0M6OklucHV0Q3Vyc29yPiBtX2FjdGl2ZUN1cnNvcjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb24uY3BwCmluZGV4IGQ0NDhiMTliNGUyZjgzZGRmNGRkZWQ0OTZk
NjU1MjY3NmQxNjA5ZWUuLmYzNzFkMWU1YWRiNmVmMDI2OTdiYjg2NGNlMjE2YmNmZGViOGZiNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvbi5jcHAKQEAgLTM3LDkgKzM3LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdW5zaWduZWQgc19uZXh0SWRlbnRpZmll
ciA9IDE7CiAKLVBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvbj4gUmVwbGF5U2Vzc2lvbjo6Y3JlYXRl
KCkKK1JlZjxSZXBsYXlTZXNzaW9uPiBSZXBsYXlTZXNzaW9uOjpjcmVhdGUoKQogewotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgUmVwbGF5U2Vzc2lvbigpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBSZXBsYXlTZXNzaW9uKCkpOwogfQogCiBSZXBsYXlTZXNzaW9uOjpSZXBsYXlTZXNzaW9u
KCkKQEAgLTUyLDM1ICs1MiwzOSBAQCBSZXBsYXlTZXNzaW9uOjp+UmVwbGF5U2Vzc2lvbigpCiB7
CiB9CiAKLVBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheVNlc3Npb246OmF0
KHNpemVfdCBwb3NpdGlvbikgY29uc3QKK1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVw
bGF5U2Vzc2lvbjo6YXQoc2l6ZV90IHBvc2l0aW9uKSBjb25zdAogewotICAgIHJldHVybiBtX3Nl
Z21lbnRzLmF0KHBvc2l0aW9uKTsKKyAgICBBU1NFUlRfQVJHKHBvc2l0aW9uLCBwb3NpdGlvbiA+
PSAwICYmIHBvc2l0aW9uIDwgbV9zZWdtZW50cy5zaXplKCkpOworCisgICAgcmV0dXJuIG1fc2Vn
bWVudHMuYXQocG9zaXRpb24pLmNvcHlSZWYoKTsKIH0KIAotdm9pZCBSZXBsYXlTZXNzaW9uOjph
cHBlbmRTZWdtZW50KFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IHBycFNlZ21lbnQp
Cit2b2lkIFJlcGxheVNlc3Npb246OmFwcGVuZFNlZ21lbnQoUmVmUHRyPFJlcGxheVNlc3Npb25T
ZWdtZW50PiYmIHNlZ21lbnQpCiB7Ci0gICAgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBz
ZWdtZW50ID0gcHJwU2VnbWVudDsKLQorICAgIEFTU0VSVF9BUkcoc2VnbWVudCwgc2VnbWVudCk7
CiAgICAgLy8gRm9yIG5vdywgb25seSBzdXBwb3J0IG9uZSBzZWdtZW50LgogICAgIEFTU0VSVCgh
bV9zZWdtZW50cy5zaXplKCkpOwogCiAgICAgLy8gU2luY2UgcmVwbGF5IGxvY2F0aW9ucyBhcmUg
c3BlY2lmaWVkIHdpdGggc2VnbWVudCBJRHMsIHdlIGNhbiBvbmx5CiAgICAgLy8gaGF2ZSBvbmUg
aW5zdGFuY2Ugb2YgYSBzZWdtZW50IGluIHRoZSBzZXNzaW9uLgotICAgIHNpemVfdCBvZmZzZXQg
PSBtX3NlZ21lbnRzLmZpbmQoc2VnbWVudCk7CisgICAgc2l6ZV90IG9mZnNldCA9IG1fc2VnbWVu
dHMuZmluZChzZWdtZW50LmNvcHlSZWYoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChvZmZzZXQsIG9m
ZnNldCA9PSBub3RGb3VuZCk7CiAKLSAgICBtX3NlZ21lbnRzLmFwcGVuZChzZWdtZW50LnJlbGVh
c2UoKSk7CisgICAgbV9zZWdtZW50cy5hcHBlbmQoV1RGOjptb3ZlKHNlZ21lbnQpKTsKIH0KIAot
dm9pZCBSZXBsYXlTZXNzaW9uOjppbnNlcnRTZWdtZW50KHNpemVfdCBwb3NpdGlvbiwgUGFzc1Jl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gc2VnbWVudCkKK3ZvaWQgUmVwbGF5U2Vzc2lvbjo6
aW5zZXJ0U2VnbWVudChzaXplX3QgcG9zaXRpb24sIFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVu
dD4mJiBzZWdtZW50KQogewotICAgIEFTU0VSVChwb3NpdGlvbiA8IG1fc2VnbWVudHMuc2l6ZSgp
KTsKLSAgICBtX3NlZ21lbnRzLmluc2VydChwb3NpdGlvbiwgc2VnbWVudCk7CisgICAgQVNTRVJU
X0FSRyhzZWdtZW50LCBzZWdtZW50KTsKKyAgICBBU1NFUlRfQVJHKHBvc2l0aW9uLCBwb3NpdGlv
biA+PSAwICYmIHBvc2l0aW9uIDwgbV9zZWdtZW50cy5zaXplKCkpOworCisgICAgbV9zZWdtZW50
cy5pbnNlcnQocG9zaXRpb24sIFdURjo6bW92ZShzZWdtZW50KSk7CiB9CiAKIHZvaWQgUmVwbGF5
U2Vzc2lvbjo6cmVtb3ZlU2VnbWVudChzaXplX3QgcG9zaXRpb24pCiB7Ci0gICAgQVNTRVJUKHBv
c2l0aW9uIDwgbV9zZWdtZW50cy5zaXplKCkpOworICAgIEFTU0VSVF9BUkcocG9zaXRpb24sIHBv
c2l0aW9uID49IDAgJiYgcG9zaXRpb24gPCBtX3NlZ21lbnRzLnNpemUoKSk7CisKICAgICBtX3Nl
Z21lbnRzLnJlbW92ZShwb3NpdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vz
c2lvbi5oCmluZGV4IGZlYzgxYjRkODY4ZjU4YWZhNDQ5ZTQ1MmEwYzg4YWQzMjFhYzE1ZDIuLjg2
NmU2ZjVhMTU4Y2M0OWE1NTY1YmI5Y2IzZmQ3MTU5NmMyMzRhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheVNlc3Npb24uaApAQCAtNDMsMjAgKzQzLDIwIEBAIHR5cGVkZWYgVmVjdG9yPFJl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4+Ojpjb25zdF9pdGVyYXRvciBTZWdtZW50SXRlcmF0
b3I7CiBjbGFzcyBSZXBsYXlTZXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8UmVwbGF5U2Vzc2lv
bj4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxheVNlc3Npb24pOwogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlcGxheVNlc3Npb24+IGNyZWF0ZSgpOworICAgIHN0YXRp
YyBSZWY8UmVwbGF5U2Vzc2lvbj4gY3JlYXRlKCk7CiAgICAgflJlcGxheVNlc3Npb24oKTsKIAog
ICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogICAg
IHVuc2lnbmVkIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAog
ICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zZWdtZW50cy5zaXplKCk7IH0KLSAg
ICBQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBhdChzaXplX3QgcG9zaXRpb24pIGNv
bnN0OworICAgIFJlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gYXQoc2l6ZV90IHBvc2l0aW9u
KSBjb25zdDsKIAogICAgIFNlZ21lbnRJdGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1f
c2VnbWVudHMuYmVnaW4oKTsgfQogICAgIFNlZ21lbnRJdGVyYXRvciBlbmQoKSBjb25zdCB7IHJl
dHVybiBtX3NlZ21lbnRzLmVuZCgpOyB9CiAKLSAgICB2b2lkIGFwcGVuZFNlZ21lbnQoUGFzc1Jl
ZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4pOwotICAgIHZvaWQgaW5zZXJ0U2VnbWVudChzaXpl
X3QgcG9zaXRpb24sIFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+KTsKKyAgICB2b2lk
IGFwcGVuZFNlZ21lbnQoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmKTsKKyAgICB2b2lk
IGluc2VydFNlZ21lbnQoc2l6ZV90IHBvc2l0aW9uLCBSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21l
bnQ+JiYpOwogICAgIHZvaWQgcmVtb3ZlU2VnbWVudChzaXplX3QgcG9zaXRpb24pOwogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAK
aW5kZXggYjkwZTg4ZmQ5YTFiZjMzY2FmNTc2ZWM5MmY3ZTM4ZjM4MDMzZjY1NC4uNTRiN2IxYzYw
ZjBjODM5YzEwZTgxMmZjZDU0MzRmMzMwNTI5YTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC0zNSwyMiArMzUsMjAgQEAKICNpbmNs
dWRlICJSZXBsYXlpbmdJbnB1dEN1cnNvci5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZElucHV0U3Rv
cmFnZS5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0YXRpYyB1bnNpZ25lZCBzX25leHRTZWdtZW50SWRlbnRpZmllciA9IDE7CiAKLVBhc3NS
ZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheVNlc3Npb25TZWdtZW50OjpjcmVhdGUo
KQorUmVmPFJlcGxheVNlc3Npb25TZWdtZW50PiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6Y3JlYXRl
KCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJlcGxheVNlc3Npb25TZWdtZW50KTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZXBsYXlTZXNzaW9uU2VnbWVudCk7CiB9CiAKIFJlcGxh
eVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uo
c3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+KCkpCiAgICAgLCBtX2lkZW50
aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZpZXIrKykKLSAgICAsIG1fY2FuQ2FwdHVyZSh0cnVl
KQogICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWVNUygpKQogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCA1ZDQ1MDQxODdkOGNjOWZh
OTU3ZjQ2ZDk1Yzk1ZjNkZDczY2Y0YzUwLi44ZTc4NWE5ZWExODQyNjY2NjE3NDI5M2FkNzQxODE2
NDYzMzA0ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lv
blNlZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21l
bnQuaApAQCAtNDgsNyArNDgsNyBAQCBmcmllbmQgY2xhc3MgQ2FwdHVyaW5nSW5wdXRDdXJzb3I7
CiBmcmllbmQgY2xhc3MgRnVuY3RvcklucHV0Q3Vyc29yOwogZnJpZW5kIGNsYXNzIFJlcGxheWlu
Z0lucHV0Q3Vyc29yOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlcGxheVNlc3Np
b25TZWdtZW50PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUmVmPFJlcGxheVNlc3Npb25TZWdtZW50
PiBjcmVhdGUoKTsKICAgICB+UmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHVuc2lnbmVk
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KQEAgLTY0LDcgKzY0
LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7
CiAKICAgICB1bnNpZ25lZCBtX2lkZW50aWZpZXI7Ci0gICAgYm9vbCBtX2NhbkNhcHR1cmU7Cisg
ICAgYm9vbCBtX2NhbkNhcHR1cmUge3RydWV9OwogICAgIGRvdWJsZSBtX3RpbWVzdGFtcDsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuY3BwCmlu
ZGV4IDg4MjJlZTU0ZTA1NzgxZTVkM2Q0MDVhMGRiZGZhYmU0MGU0ZWQxNmUuLjZjYTc1MDMxNzEw
ZTM5OWY0NTU2NmMwNGE4MDI2NmNkMDgwNTNmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmNwcApAQCAtMzksOCArMzksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLVJlcGxheWluZ0lucHV0Q3Vyc29yOjpSZXBsYXlpbmdJbnB1dEN1cnNv
cihQYXNzUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBzZWdtZW50LCBQYWdlJiBwYWdlLCBF
dmVudExvb3BJbnB1dERpc3BhdGNoZXJDbGllbnQqIGNsaWVudCkKLSAgICA6IG1fc2VnbWVudChz
ZWdtZW50KQorUmVwbGF5aW5nSW5wdXRDdXJzb3I6OlJlcGxheWluZ0lucHV0Q3Vyc29yKFJlZlB0
cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4mJiBzZWdtZW50LCBQYWdlJiBwYWdlLCBFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXJDbGllbnQqIGNsaWVudCkKKyAgICA6IG1fc2VnbWVudChXVEY6Om1vdmUo
c2VnbWVudCkpCiAgICAgLCBtX2Rpc3BhdGNoZXIoc3RkOjptYWtlX3VuaXF1ZTxFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXI+KHBhZ2UsICp0aGlzLCBjbGllbnQpKQogewogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgc3RhdGljX2Nhc3Q8c2l6ZV90PihJbnB1dFF1ZXVlOjpDb3VudCk7IGkrKykK
QEAgLTUxLDkgKzUxLDkgQEAgUmVwbGF5aW5nSW5wdXRDdXJzb3I6On5SZXBsYXlpbmdJbnB1dEN1
cnNvcigpCiB7CiB9CiAKLVBhc3NSZWZQdHI8UmVwbGF5aW5nSW5wdXRDdXJzb3I+IFJlcGxheWlu
Z0lucHV0Q3Vyc29yOjpjcmVhdGUoUGFzc1JlZlB0cjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gc2Vn
bWVudCwgUGFnZSYgcGFnZSwgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyQ2xpZW50KiBjbGllbnQp
CitSZWY8UmVwbGF5aW5nSW5wdXRDdXJzb3I+IFJlcGxheWluZ0lucHV0Q3Vyc29yOjpjcmVhdGUo
UmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQsIFBhZ2UmIHBhZ2UsIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlckNsaWVudCogY2xpZW50KQogewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUmVwbGF5aW5nSW5wdXRDdXJzb3Ioc2VnbWVudCwgcGFnZSwgY2xpZW50KSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUmVwbGF5aW5nSW5wdXRDdXJzb3IoV1RGOjptb3ZlKHNlZ21l
bnQpLCBwYWdlLCBjbGllbnQpKTsKIH0KIAogdm9pZCBSZXBsYXlpbmdJbnB1dEN1cnNvcjo6c3Rv
cmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4pCkBAIC02
MiwxMiArNjIsMTIgQEAgdm9pZCBSZXBsYXlpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6
OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKIH0KIAotTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogUmVwbGF5aW5nSW5wdXRD
dXJzb3I6OmxvYWRJbnB1dChJbnB1dFF1ZXVlIHF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUpCitOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBSZXBsYXlpbmdJbnB1dEN1cnNvcjo6bG9h
ZElucHV0KElucHV0UXVldWUgcXVldWUsIGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKICAgICBOb25k
ZXRlcm1pbmlzdGljSW5wdXRCYXNlKiBpbnB1dCA9IHVuY2hlY2tlZExvYWRJbnB1dChxdWV1ZSk7
CiAKICAgICBpZiAoaW5wdXQtPnR5cGUoKSAhPSB0eXBlKSB7Ci0gICAgICAgIExPR19FUlJPUigi
JS0yNXMgRVJST1I6IEV4cGVjdGVkIHJlcGxheSBpbnB1dCBvZiB0eXBlICVzLCBidXQgZ290IHR5
cGUgJXNcbiIsICJbUmVwbGF5aW5nSW5wdXRDdXJzb3JdIiwgdHlwZS5zdHJpbmcoKS5hc2NpaSgp
LmRhdGEoKSwgaW5wdXQtPnR5cGUoKS5hc2NpaSgpLmRhdGEoKSk7CisgICAgICAgIExPR19FUlJP
UigiJS0yNXMgRVJST1I6IEV4cGVjdGVkIHJlcGxheSBpbnB1dCBvZiB0eXBlICVzLCBidXQgZ290
IHR5cGUgJXNcbiIsICJbUmVwbGF5aW5nSW5wdXRDdXJzb3JdIiwgdHlwZS5hc2NpaSgpLmRhdGEo
KSwgaW5wdXQtPnR5cGUoKS5hc2NpaSgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lu
cHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3Iu
aAppbmRleCA5YzcxZjQxNTI3ZGM3MmUxNzk2MmM2NzJlYzA1OTU4MTllYWVmZWNlLi5lMGE2YWFk
MDk1YmNkOTEyZTc4YmY3NzQyZTUxN2FlZDZlNjhmZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaApAQCAtMzIsNyArMzIsNiBAQAogCiAjaW5jbHVk
ZSA8cmVwbGF5L0lucHV0Q3Vyc29yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTUwLDcgKzQ5LDcgQEAgc3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7CiBjbGFzcyBSZXBsYXlp
bmdJbnB1dEN1cnNvciBmaW5hbCA6IHB1YmxpYyBJbnB1dEN1cnNvciB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVwbGF5aW5nSW5wdXRDdXJzb3IpOwogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFJlcGxheWluZ0lucHV0Q3Vyc29yPiBjcmVhdGUoUGFzc1JlZlB0cjxSZXBsYXlT
ZXNzaW9uU2VnbWVudD4sIFBhZ2UmLCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXJDbGllbnQqKTsK
KyAgICBzdGF0aWMgUmVmPFJlcGxheWluZ0lucHV0Q3Vyc29yPiBjcmVhdGUoUmVmUHRyPFJlcGxh
eVNlc3Npb25TZWdtZW50PiYmLCBQYWdlJiwgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyQ2xpZW50
Kik7CiAgICAgdmlydHVhbCB+UmVwbGF5aW5nSW5wdXRDdXJzb3IoKTsKIAogICAgIHZpcnR1YWwg
Ym9vbCBpc0NhcHR1cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC02
MCw5ICs1OSw5IEBAIHB1YmxpYzoKIAogICAgIEV2ZW50TG9vcElucHV0RGF0YSBsb2FkRXZlbnRM
b29wSW5wdXQoKTsKIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIE5vbmRldGVybWluaXN0aWNJbnB1
dEJhc2UqIGxvYWRJbnB1dChJbnB1dFF1ZXVlLCBjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogbG9hZElucHV0
KElucHV0UXVldWUsIGNvbnN0IFN0cmluZyYgdHlwZSkgb3ZlcnJpZGU7CiBwcml2YXRlOgotICAg
IFJlcGxheWluZ0lucHV0Q3Vyc29yKFBhc3NSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+LCBQ
YWdlJiwgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyQ2xpZW50Kik7CisgICAgUmVwbGF5aW5nSW5w
dXRDdXJzb3IoUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmLCBQYWdlJiwgRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyQ2xpZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVJbnB1dChz
dGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4pIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgTm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZSogdW5jaGVja2VkTG9hZElucHV0KElu
cHV0UXVldWUpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1Nl
Z21lbnRlZElucHV0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvU2VnbWVudGVk
SW5wdXRTdG9yYWdlLmNwcAppbmRleCA5M2ZlZThjYmFlM2QwMmQ5ZTdhZTkyYTI5M2Y0MTI4N2Zj
YWM2YmZhLi4yMTQyNDliZmQxODk2ODZiMjBiZWVjODIzNWY1YTEzMmQzOGFmMjJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvU2VnbWVudGVkSW5wdXRTdG9yYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvU2VnbWVudGVkSW5wdXRTdG9yYWdlLmNwcApAQCAtNzQs
NyArNzQsNiBAQCBzdGF0aWMgc2l6ZV90IG9mZnNldEZvcklucHV0UXVldWUoSW5wdXRRdWV1ZSBp
bnB1dFF1ZXVlKQogfQogCiBTZWdtZW50ZWRJbnB1dFN0b3JhZ2U6OlNlZ21lbnRlZElucHV0U3Rv
cmFnZSgpCi0gICAgOiBtX2lucHV0Q291bnQoMCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG9mZnNldEZvcklucHV0UXVldWUoSW5wdXRRdWV1ZTo6Q291bnQpOyBpKyspCiAgICAgICAg
IG1fcXVldWVzLmFwcGVuZChuZXcgUXVldWVkSW5wdXRzKTsKQEAgLTEwMCw4ICs5OSw4IEBAIE5v
bmRldGVybWluaXN0aWNJbnB1dEJhc2UqIFNlZ21lbnRlZElucHV0U3RvcmFnZTo6bG9hZChJbnB1
dFF1ZXVlIGlucHV0UXVldWUsIHNpCiAKIHZvaWQgU2VnbWVudGVkSW5wdXRTdG9yYWdlOjpzdG9y
ZShzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4gaW5wdXQpCiB7Ci0g
ICAgQVNTRVJUKGlucHV0KTsKLSAgICBBU1NFUlQoaW5wdXQtPnF1ZXVlKCkgPCBJbnB1dFF1ZXVl
OjpDb3VudCk7CisgICAgQVNTRVJUX0FSRyhpbnB1dCwgaW5wdXQpOworICAgIEFTU0VSVF9BUkco
aW5wdXQsIGlucHV0LT5xdWV1ZSgpIDwgSW5wdXRRdWV1ZTo6Q291bnQpOwogCiAgICAgTE9HKFdl
YlJlcGxheSwgIiUtMTRzIyUtNXUgJXM6ICVzICVzXG4iLCAiUmVwbGF5RXZlbnRzIiwgbV9pbnB1
dENvdW50KyssIHF1ZXVlVHlwZVRvTG9nUHJlZml4KGlucHV0LT5xdWV1ZSgpLCBmYWxzZSksIGlu
cHV0LT50eXBlKCkudXRmOCgpLmRhdGEoKSwganNvblN0cmluZ0ZvcklucHV0KCppbnB1dCkudXRm
OCgpLmRhdGEoKSk7CiAKQEAgLTExNSw3ICsxMTQsNyBAQCBzaXplX3QgU2VnbWVudGVkSW5wdXRT
dG9yYWdlOjpxdWV1ZVNpemUoSW5wdXRRdWV1ZSBpbnB1dFF1ZXVlKSBjb25zdAogCiBjb25zdCBT
ZWdtZW50ZWRJbnB1dFN0b3JhZ2U6OlF1ZXVlZElucHV0cyYgU2VnbWVudGVkSW5wdXRTdG9yYWdl
OjpxdWV1ZShJbnB1dFF1ZXVlIHF1ZXVlKSBjb25zdAogewotICAgIEFTU0VSVChxdWV1ZSA8IElu
cHV0UXVldWU6OkNvdW50KTsKKyAgICBBU1NFUlRfQVJHKHF1ZXVlLCBxdWV1ZSA8IElucHV0UXVl
dWU6OkNvdW50KTsKICAgICByZXR1cm4gKm1fcXVldWVzLmF0KG9mZnNldEZvcklucHV0UXVldWUo
cXVldWUpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1NlZ21lbnRl
ZElucHV0U3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1NlZ21lbnRlZElucHV0U3Rv
cmFnZS5oCmluZGV4IGI4NzIxMWIzOWRjNmI5OWFlZTJjNGFiOTNhYmMxYjkyZTk5ZDkzYTQuLjA3
NGY5NjRiZDBjNTExMjQyMTBlOGY5NmNkMzc2NTAxMDNkMTVhYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9TZWdtZW50ZWRJbnB1dFN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvU2VnbWVudGVkSW5wdXRTdG9yYWdlLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHJp
dmF0ZToKICAgICBjb25zdCBRdWV1ZWRJbnB1dHMmIHF1ZXVlKElucHV0UXVldWUpIGNvbnN0Owog
CiAgICAgVmVjdG9yPFF1ZXVlZElucHV0cyosIDM+IG1fcXVldWVzOwotICAgIHVuc2lnbmVkIG1f
aW5wdXRDb3VudDsKKyAgICB1bnNpZ25lZCBtX2lucHV0Q291bnQgezB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>