<?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>177769</bug_id>
          
          <creation_ts>2017-10-02 13:17:42 -0700</creation_ts>
          <short_desc>Implement quality-of-service tiers in WebCoreDecompressionSession</short_desc>
          <delta_ts>2017-10-03 12:56:40 -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>Media</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355439</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 13:17:42 -0700</bug_when>
    <thetext>Implement quality-of-service tiers in WebCoreDecompressionSession</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355442</commentid>
    <comment_count>1</comment_count>
      <attachid>322418</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 13:20:31 -0700</bug_when>
    <thetext>Created attachment 322418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355443</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-02 13:20:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/34774531&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355444</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-02 13:20:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/34774533&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355451</commentid>
    <comment_count>4</comment_count>
      <attachid>322418</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-10-02 13:29:56 -0700</bug_when>
    <thetext>Comment on attachment 322418
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=322418&amp;action=review

&gt; Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm:269
&gt; +        LOG(Media, &quot;WebCoreDecompressionSession::decodeSample(%p) - decoding took %g%% of duration (%gs vs. %gs)&quot;, this, 100. * deltaRatio, delta, duration);

Won&apos;t this produce a LOT of log spew? Maybe do it every N frames as an average?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355454</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 13:32:49 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #4)
&gt; Comment on attachment 322418 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=322418&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/WebCoreDecompressionSession.mm:269
&gt; &gt; +        LOG(Media, &quot;WebCoreDecompressionSession::decodeSample(%p) - decoding took %g%% of duration (%gs vs. %gs)&quot;, this, 100. * deltaRatio, delta, duration);
&gt; 
&gt; Won&apos;t this produce a LOT of log spew? Maybe do it every N frames as an
&gt; average?

Sure we can drop it. The &quot;every N frames as an average&quot; is the logging in updateQosWithDecodeTimeStatistics().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355456</commentid>
    <comment_count>6</comment_count>
      <attachid>322422</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 13:37:03 -0700</bug_when>
    <thetext>Created attachment 322422
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355550</commentid>
    <comment_count>7</comment_count>
      <attachid>322452</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 15:12:02 -0700</bug_when>
    <thetext>Created attachment 322452
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355574</commentid>
    <comment_count>8</comment_count>
      <attachid>322460</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-02 15:33:41 -0700</bug_when>
    <thetext>Created attachment 322460
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355848</commentid>
    <comment_count>9</comment_count>
      <attachid>322530</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-10-03 09:12:50 -0700</bug_when>
    <thetext>Created attachment 322530
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355989</commentid>
    <comment_count>10</comment_count>
      <attachid>322530</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 12:56:38 -0700</bug_when>
    <thetext>Comment on attachment 322530
Patch for landing

Clearing flags on attachment: 322530

Committed r222803: &lt;http://trac.webkit.org/changeset/222803&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355990</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 12:56:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322418</attachid>
            <date>2017-10-02 13:20:31 -0700</date>
            <delta_ts>2017-10-02 13:37:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177769-20171002132030.patch</filename>
            <type>text/plain</type>
            <size>12397</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxYzNlYzhhMzAyM2Yx
MzI2YTBlYzNjYzY0OTFiOTcyMjFmMDRkOC4uNDYxNTc0YTE4NjA1MzcyNDdkMmMyNmE0NTQ2NzQ3
OTNlMzRiN2Y0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE3LTEwLTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBxdWFsaXR5
LW9mLXNlcnZpY2UgdGllcnMgaW4gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWVERlY29tcHJlc3Npb25T
ZXNzaW9uIHdpbGwgc3VnZ2VzdCBxdWFsaXR5LW9mLXNlcnZpY2UgdGllcnMgdG8gYmUgdXNlZCB3
aGVuIGRlY29tcHJlc3Npb24KKyAgICAgICAgY2FuJ3Qga2VlcCB1cCB3aXRoIHBsYXliYWNrIHNw
ZWVkLiBVc2UgYSBzaW1wbGUgZXhwb25lbnRpYWwtbW92aW5nLWF2ZXJhZ2UgaGV1cmlzdGljIHRv
CisgICAgICAgIGRldGVybWluZSB3aGVuIHRvIG1vdmUgdXAgYW5kIGRvd24gdGhlIHRpZXJzLgor
CisgICAgICAgIERyaXZlLWJ5IGZpeDogV2hlbiBmcmFtZXMgYXJlIHNvIGxhdGUgdGhhdCB0aGV5
IG1pc3MgdGhlIGRpc3BsYXkgZGVhZGxpbmUsIG1hcmsgdGhlbSBhcworICAgICAgICBkcm9wcGVk
IHJhdGhlciB0aGFuIGp1c3QgZGVsYXllZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5zdXJlRGVjb21wcmVzc2lv
blNlc3Npb25Gb3JTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Np
b25TZXNzaW9uOjpkZWNvZGVTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uOjpoYW5kbGVEZWNvbXByZXNzaW9uT3V0cHV0KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6YXV0b21hdGljRGVxdWV1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVucXVldWVEZWNv
ZGVkU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bjo6cmVzZXRRb3NUaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6aW5jcmVhc2VRb3NUaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNv
bXByZXNzaW9uU2Vzc2lvbjo6ZGVjcmVhc2VRb3NUaWVyKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6dXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0
aWNzKToKKwogMjAxNy0wOS0yMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ29jb2FdIEVuYWJsZSBFTkFCTEVfRU5DUllQVEVEX01FRElBIGJ1aWxkLXRpbWUg
c2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaAppbmRleCA5ZjRk
ZjBhMmQyNzEwZWJkYjRlZDA0MzJiNTYwZTZkNmRlNGM4NTVkLi5mMTk2YzIwMTZjY2Y3MzBhNzEw
MTJiNzIyYmFkOWQ1ZmQ0YTc1ZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb24uaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgogCiB0eXBlZGVmIENGVHlwZVJlZiBDTUJ1ZmZlclJlZjsKK3R5cGVkZWYgY29uc3Qg
c3RydWN0IF9fQ0ZBcnJheSAqIENGQXJyYXlSZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTUJ1
ZmZlclF1ZXVlICpDTUJ1ZmZlclF1ZXVlUmVmOwogdHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01TYW1w
bGVCdWZmZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlQ01UaW1l
YmFzZSogQ01UaW1lYmFzZVJlZjsKQEAgLTEwMCw2ICsxMDEsMTEgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgQ0ZDb21wYXJpc29uUmVzdWx0IGNvbXBhcmVCdWZmZXJzKENNQnVmZmVyUmVmIGJ1ZjEs
IENNQnVmZmVyUmVmIGJ1ZjIsIHZvaWQqIHJlZmNvbik7CiAgICAgdm9pZCBtYXliZUJlY29tZVJl
YWR5Rm9yTW9yZU1lZGlhRGF0YSgpOwogCisgICAgdm9pZCByZXNldFFvc1RpZXIoKTsKKyAgICB2
b2lkIGluY3JlYXNlUW9zVGllcigpOworICAgIHZvaWQgZGVjcmVhc2VRb3NUaWVyKCk7CisgICAg
dm9pZCB1cGRhdGVRb3NXaXRoRGVjb2RlVGltZVN0YXRpc3RpY3MoZG91YmxlIHJhdGlvKTsKKwog
ICAgIHN0YXRpYyBjb25zdCBDTUl0ZW1Db3VudCBrTWF4aW11bUNhcGFjaXR5ID0gMTIwOwogICAg
IHN0YXRpYyBjb25zdCBDTUl0ZW1Db3VudCBrSGlnaFdhdGVyTWFyayA9IDYwOwogICAgIHN0YXRp
YyBjb25zdCBDTUl0ZW1Db3VudCBrTG93V2F0ZXJNYXJrID0gMTU7CkBAIC0xMTUsNiArMTIxLDEw
IEBAIHByaXZhdGU6CiAgICAgT1NPYmplY3RQdHI8ZGlzcGF0Y2hfc291cmNlX3Q+IG1fdGltZXJT
b3VyY2U7CiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IG1fbm90aWZpY2F0aW9uQ2FsbGJhY2s7
CiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IG1faGFzQXZhaWxhYmxlRnJhbWVDYWxsYmFjazsK
KyAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9xb3NUaWVyczsKKyAgICBsb25nIG1fY3VycmVu
dFFvc1RpZXIgeyAwIH07CisgICAgdW5zaWduZWQgbG9uZyBtX2ZyYW1lc1NpbmNlTGFzdFFvc0No
ZWNrIHsgMCB9OworICAgIGRvdWJsZSBtX2RlY29kZVJhdGlvTW92aW5nQXZlcmFnZSB7IDAgfTsK
IAogICAgIGJvb2wgbV9pbnZhbGlkYXRlZCB7IGZhbHNlIH07CiAgICAgaW50IG1fZnJhbWVzQmVp
bmdEZWNvZGVkIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1t
CmluZGV4IGU5OGI4NGViNjUyYTNiYWY4ODk2M2Q1ZDM1ZjA1YTk2ZjllMTgzZWMuLmY5OGIyY2Yz
ZWIzNWIyNDJhMjg4YTE4ZmMyNjNiYTc0MTJkMGZjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVj
b21wcmVzc2lvblNlc3Npb24ubW0KQEAgLTMzLDYgKzMzLDcgQEAKICNpbXBvcnQgPENvcmVNZWRp
YS9DTUJ1ZmZlclF1ZXVlLmg+CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01Gb3JtYXREZXNjcmlwdGlv
bi5oPgogI2ltcG9ydCA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4K
KyNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbXBvcnQgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbXBvcnQgPHd0Zi9TdHJpbmdQcmludFN0cmVh
bS5oPgpAQCAtMjI4LDggKzIyOSwxNCBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bjo6ZW5zdXJlRGVjb21wcmVzc2lvblNlc3Npb25Gb3JTYW1wbGUoQ01TYW1wbGVCdQogICAgICAg
ICAgICAgYXR0cmlidXRlcyA9IEB7KE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1h
dFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSl9OwogICAgICAgICB9CiAgICAg
ICAgIFZURGVjb21wcmVzc2lvblNlc3Npb25SZWYgZGVjb21wcmVzc2lvblNlc3Npb25PdXQgPSBu
dWxscHRyOwotICAgICAgICBpZiAobm9FcnIgPT0gVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNyZWF0
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB2aWRlb0Zvcm1hdERlc2NyaXB0aW9uLCAoQ0ZEaWN0aW9u
YXJ5UmVmKXZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24sIChDRkRpY3Rpb25hcnlSZWYpYXR0cmli
dXRlcywgbnVsbHB0ciwgJmRlY29tcHJlc3Npb25TZXNzaW9uT3V0KSkKKyAgICAgICAgaWYgKG5v
RXJyID09IFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
dmlkZW9Gb3JtYXREZXNjcmlwdGlvbiwgKENGRGljdGlvbmFyeVJlZil2aWRlb0RlY29kZXJTcGVj
aWZpY2F0aW9uLCAoQ0ZEaWN0aW9uYXJ5UmVmKWF0dHJpYnV0ZXMsIG51bGxwdHIsICZkZWNvbXBy
ZXNzaW9uU2Vzc2lvbk91dCkpIHsKICAgICAgICAgICAgIG1fZGVjb21wcmVzc2lvblNlc3Npb24g
PSBhZG9wdENGKGRlY29tcHJlc3Npb25TZXNzaW9uT3V0KTsKKyAgICAgICAgICAgIENGQXJyYXlS
ZWYgcmF3U3VnZ2VzdGVkUXVhbGl0eU9mU2VydmljZVRpZXJzID0gbnVsbHB0cjsKKyAgICAgICAg
ICAgIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eShkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCwga1ZURGVj
b21wcmVzc2lvblByb3BlcnR5S2V5X1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycywga0NG
QWxsb2NhdG9yRGVmYXVsdCwgJnJhd1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycyk7Cisg
ICAgICAgICAgICBtX3Fvc1RpZXJzID0gYWRvcHRDRihyYXdTdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2
aWNlVGllcnMpOworICAgICAgICAgICAgbV9jdXJyZW50UW9zVGllciA9IDA7CisgICAgICAgICAg
ICByZXNldFFvc1RpZXIoKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApAQCAtMjUyLDcgKzI1OSwx
NiBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZGVjb2RlU2FtcGxlKENNU2Ft
cGxlQnVmZmVyUmVmIHNhbXBsZSwgYm9vbCBkaQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkRlY29kZUZyYW1lV2l0aE91dHB1dEhhbmRsZXIobV9k
ZWNvbXByZXNzaW9uU2Vzc2lvbi5nZXQoKSwgc2FtcGxlLCBmbGFncywgbnVsbHB0ciwgW3RoaXMs
IGRpc3BsYXlpbmddIChPU1N0YXR1cyBzdGF0dXMsIFZURGVjb2RlSW5mb0ZsYWdzIGluZm9GbGFn
cywgQ1ZJbWFnZUJ1ZmZlclJlZiBpbWFnZUJ1ZmZlciwgQ01UaW1lIHByZXNlbnRhdGlvblRpbWVT
dGFtcCwgQ01UaW1lIHByZXNlbnRhdGlvbkR1cmF0aW9uKSB7CisgICAgZG91YmxlIHN0YXJ0VGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIFZURGVjb21wcmVzc2lvblNl
c3Npb25EZWNvZGVGcmFtZVdpdGhPdXRwdXRIYW5kbGVyKG1fZGVjb21wcmVzc2lvblNlc3Npb24u
Z2V0KCksIHNhbXBsZSwgZmxhZ3MsIG51bGxwdHIsIFt0aGlzLCBkaXNwbGF5aW5nLCBzdGFydFRp
bWVdKE9TU3RhdHVzIHN0YXR1cywgVlREZWNvZGVJbmZvRmxhZ3MgaW5mb0ZsYWdzLCBDVkltYWdl
QnVmZmVyUmVmIGltYWdlQnVmZmVyLCBDTVRpbWUgcHJlc2VudGF0aW9uVGltZVN0YW1wLCBDTVRp
bWUgcHJlc2VudGF0aW9uRHVyYXRpb24pIHsKKyAgICAgICAgZG91YmxlIGVuZFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAgICAgZG91YmxlIGR1cmF0aW9uID0gQ01U
aW1lR2V0U2Vjb25kcyhwcmVzZW50YXRpb25EdXJhdGlvbik7CisgICAgICAgIGRvdWJsZSBkZWx0
YSA9IGVuZFRpbWUgLSBzdGFydFRpbWU7CisgICAgICAgIGRvdWJsZSBkZWx0YVJhdGlvID0gZGVs
dGEgLyBkdXJhdGlvbjsKKworICAgICAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb246OmRlY29kZVNhbXBsZSglcCkgLSBkZWNvZGluZyB0b29rICVnJSUgb2YgZHVyYXRp
b24gKCVncyB2cy4gJWdzKSIsIHRoaXMsIDEwMC4gKiBkZWx0YVJhdGlvLCBkZWx0YSwgZHVyYXRp
b24pOworCisgICAgICAgIHVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyhkZWx0YVJh
dGlvKTsKICAgICAgICAgaGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dChkaXNwbGF5aW5nLCBzdGF0
dXMsIGluZm9GbGFncywgaW1hZ2VCdWZmZXIsIHByZXNlbnRhdGlvblRpbWVTdGFtcCwgcHJlc2Vu
dGF0aW9uRHVyYXRpb24pOwogICAgIH0pOwogfQpAQCAtMzAyLDEzICszMTgsNiBAQCB2b2lkIFdl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dChib29s
IGRpc3BsYXlpbmcsIE9TUwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGRpc3Bs
YXlpbmcgJiYgbV90aW1lYmFzZSkgewotICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gQ01UaW1l
YmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSk7Ci0gICAgICAgIGF1dG8gY3VycmVudFJhdGUg
PSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgpKTsKLSAgICAgICAgaWYgKGN1cnJl
bnRSYXRlID4gMCAmJiBDTVRpbWVDb21wYXJlKHByZXNlbnRhdGlvblRpbWVTdGFtcCwgY3VycmVu
dFRpbWUpIDwgMCkKLSAgICAgICAgICAgIG1fdG90YWxGcmFtZURlbGF5ICs9IFBBTDo6dG9NZWRp
YVRpbWUoQ01UaW1lU3VidHJhY3QoY3VycmVudFRpbWUsIHByZXNlbnRhdGlvblRpbWVTdGFtcCkp
OwotICAgIH0KLQogICAgIGRpc3BhdGNoX2FzeW5jKG1fZW5xdWVpbmdRdWV1ZS5nZXQoKSwgW3By
b3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpLCBzdGF0dXMsIGltYWdlU2FtcGxlQnVmZmVy
ID0gYWRvcHRDRihyYXdJbWFnZVNhbXBsZUJ1ZmZlciksIGluZm9GbGFncywgZGlzcGxheWluZ10g
ewogICAgICAgICBVTlVTRURfUEFSQU0oaW5mb0ZsYWdzKTsKICAgICAgICAgcHJvdGVjdGVkVGhp
cy0+ZW5xdWV1ZURlY29kZWRTYW1wbGUoaW1hZ2VTYW1wbGVCdWZmZXIuZ2V0KCksIGRpc3BsYXlp
bmcpOwpAQCAtMzYzLDcgKzM3Miw3IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9u
OjphdXRvbWF0aWNEZXF1ZXVlKCkKICAgICBpZiAocmVsZWFzZWRJbWFnZUJ1ZmZlcnMpCiAgICAg
ICAgIG1heWJlQmVjb21lUmVhZHlGb3JNb3JlTWVkaWFEYXRhKCk7CiAKLSAgICBMT0coTWVkaWEs
ICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoJXApIC0gcXVl
dWUgZW1wdHkiLCB0aGlzLCB0b1N0cmluZyh0aW1lKS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0co
TWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoJXAp
IC0gcXVldWUgZW1wdHkiLCB0aGlzKTsKICAgICBDTVRpbWViYXNlU2V0VGltZXJEaXNwYXRjaFNv
dXJjZU5leHRGaXJlVGltZShtX3RpbWViYXNlLmdldCgpLCBtX3RpbWVyU291cmNlLmdldCgpLCBQ
QUw6OnRvQ01UaW1lKG5leHRGaXJlVGltZSksIDApOwogfQogCkBAIC0zNzksNiArMzg4LDI3IEBA
IHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2RlZFNhbXBsZShD
TVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBi
b29sIHNob3VsZE5vdGlmeSA9IHRydWU7CisKKyAgICBpZiAoZGlzcGxheWluZyAmJiBtX3RpbWVi
YXNlKSB7CisgICAgICAgIGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3Rp
bWViYXNlLmdldCgpKTsKKyAgICAgICAgYXV0byBjdXJyZW50VGltZSA9IFBBTDo6dG9NZWRpYVRp
bWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOworICAgICAgICBhdXRvIHBy
ZXNlbnRhdGlvblN0YXJ0VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQ
cmVzZW50YXRpb25UaW1lU3RhbXAoc2FtcGxlKSk7CisgICAgICAgIGF1dG8gcHJlc2VudGF0aW9u
RW5kVGltZSA9IHByZXNlbnRhdGlvblN0YXJ0VGltZSArIFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1w
bGVCdWZmZXJHZXREdXJhdGlvbihzYW1wbGUpKTsKKyAgICAgICAgaWYgKGN1cnJlbnRUaW1lIDwg
cHJlc2VudGF0aW9uU3RhcnRUaW1lIHx8IGN1cnJlbnRUaW1lID49IHByZXNlbnRhdGlvbkVuZFRp
bWUpCisgICAgICAgICAgICBzaG91bGROb3RpZnkgPSBmYWxzZTsKKworICAgICAgICBpZiAoY3Vy
cmVudFJhdGUgPiAwICYmIHByZXNlbnRhdGlvbkVuZFRpbWUgPCBjdXJyZW50VGltZSkgeworI2lm
ICFMT0dfRElTQUJMRUQKKyAgICAgICAgICAgIGF1dG8gYmVnaW4gPSBQQUw6OnRvTWVkaWFUaW1l
KENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVl
dWUuZ2V0KCkpKTsKKyAgICAgICAgICAgIGF1dG8gZW5kID0gUEFMOjp0b01lZGlhVGltZShDTUJ1
ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQo
KSkpOworICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9u
OjplbnF1ZXVlRGVjb2RlZFNhbXBsZSglcCkgLSBkcm9wcGluZyBmcmFtZSBsYXRlIGJ5ICVzLCBm
cmFtZXNCZWluZ0RlY29kZWQoJWQpLCBwcm9kdWNlclF1ZXVlKCVzIC0+ICVzKSIsIHRoaXMsIHRv
U3RyaW5nKHByZXNlbnRhdGlvbkVuZFRpbWUgLSBjdXJyZW50VGltZSkudXRmOCgpLmRhdGEoKSwg
bV9mcmFtZXNCZWluZ0RlY29kZWQsIHRvU3RyaW5nKGJlZ2luKS51dGY4KCkuZGF0YSgpLCB0b1N0
cmluZyhlbmQpLnV0ZjgoKS5kYXRhKCkpOworI2VuZGlmCisgICAgICAgICAgICArK21fZHJvcHBl
ZFZpZGVvRnJhbWVzOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAg
ICAgQ01CdWZmZXJRdWV1ZUVucXVldWUobV9wcm9kdWNlclF1ZXVlLmdldCgpLCBzYW1wbGUpOwog
CiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMzk0LDEzICs0MjQsOCBAQCB2b2lkIFdlYkNvcmVEZWNv
bXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1wbGUoQ01TYW1wbGVCdWZmZXJSZWYg
c2FtcGxlLAogICAgIGlmICghbV9oYXNBdmFpbGFibGVGcmFtZUNhbGxiYWNrKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAobV90aW1lYmFzZSkgewotICAgICAgICBhdXRvIGN1cnJlbnRUaW1l
ID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWViYXNlR2V0VGltZShtX3RpbWViYXNlLmdldCgpKSk7
Ci0gICAgICAgIGF1dG8gcHJlc2VudGF0aW9uU3RhcnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShD
TVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGUpKTsKLSAgICAgICAg
YXV0byBwcmVzZW50YXRpb25FbmRUaW1lID0gcHJlc2VudGF0aW9uU3RhcnRUaW1lICsgUEFMOjp0
b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9uKHNhbXBsZSkpOwotICAgICAgICBp
ZiAoY3VycmVudFRpbWUgPCBwcmVzZW50YXRpb25TdGFydFRpbWUgfHwgY3VycmVudFRpbWUgPj0g
cHJlc2VudGF0aW9uRW5kVGltZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYg
KCFzaG91bGROb3RpZnkpCisgICAgICAgIHJldHVybjsKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRp
c3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlz
KSwgY2FsbGJhY2sgPSBXVEZNb3ZlKG1faGFzQXZhaWxhYmxlRnJhbWVDYWxsYmFjayldIHsKICAg
ICAgICAgY2FsbGJhY2soKTsKQEAgLTUzNCw2ICs1NTksNzEgQEAgQ0ZDb21wYXJpc29uUmVzdWx0
IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6Y29tcGFyZUJ1ZmZlcnMoQ01CdWZmZXJSZWYg
YnVmMSwKICAgICByZXR1cm4gKENGQ29tcGFyaXNvblJlc3VsdClDTVRpbWVDb21wYXJlKGdldFBy
ZXNlbnRhdGlvblRpbWUoYnVmMSwgcmVmY29uKSwgZ2V0UHJlc2VudGF0aW9uVGltZShidWYyLCBy
ZWZjb24pKTsKIH0KIAordm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnJlc2V0UW9z
VGllcigpCit7CisgICAgaWYgKCFtX3Fvc1RpZXJzIHx8ICFtX2RlY29tcHJlc3Npb25TZXNzaW9u
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJyZW50UW9zVGllciA8IDAgfHwgbV9j
dXJyZW50UW9zVGllciA+PSBDRkFycmF5R2V0Q291bnQobV9xb3NUaWVycy5nZXQoKSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGF1dG8gdGllciA9IChDRkRpY3Rpb25hcnlSZWYpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleChtX3Fvc1RpZXJzLmdldCgpLCBtX2N1cnJlbnRRb3NUaWVyKTsKKyAgICBM
T0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnJlc2V0UW9zVGllciglcCkg
LSBjdXJyZW50UW9zVGllciglbGQpLCB0aWVyKCVAKSIsIHRoaXMsIG1fY3VycmVudFFvc1RpZXIs
IFsoTlNEaWN0aW9uYXJ5ICopdGllciBkZXNjcmlwdGlvbl0pOworCisgICAgVlRTZXNzaW9uU2V0
UHJvcGVydGllcyhtX2RlY29tcHJlc3Npb25TZXNzaW9uLmdldCgpLCB0aWVyKTsKKyAgICBtX2Zy
YW1lc1NpbmNlTGFzdFFvc0NoZWNrID0gMDsKK30KKwordm9pZCBXZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb246OmluY3JlYXNlUW9zVGllcigpCit7CisgICAgaWYgKCFtX3Fvc1RpZXJzKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJyZW50UW9zVGllciArIDEgPj0gQ0ZBcnJheUdl
dENvdW50KG1fcW9zVGllcnMuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICArK21fY3Vy
cmVudFFvc1RpZXI7CisgICAgcmVzZXRRb3NUaWVyKCk7Cit9CisKK3ZvaWQgV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uOjpkZWNyZWFzZVFvc1RpZXIoKQoreworICAgIGlmICghbV9xb3NUaWVy
cykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY3VycmVudFFvc1RpZXIgPD0gMCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgLS1tX2N1cnJlbnRRb3NUaWVyOworICAgIHJlc2V0UW9zVGll
cigpOworfQorCit2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6dXBkYXRlUW9zV2l0
aERlY29kZVRpbWVTdGF0aXN0aWNzKGRvdWJsZSByYXRpbykKK3sKKyAgICBzdGF0aWMgY29uc3Qg
ZG91YmxlIGtNb3ZpbmdBdmVyYWdlQWxwaGFWYWx1ZSA9IDAuMTsKKyAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQga051bWJlck9mRnJhbWVzQmVmb3JlU3dpdGNoaW5nVGllcnMgPSA2MDsKKyAgICBz
dGF0aWMgY29uc3QgZG91YmxlIGtIaWdoV2F0ZXJEZWNvZGVSYXRpbyA9IDEuOworICAgIHN0YXRp
YyBjb25zdCBkb3VibGUga0xvd1dhdGVyRGVjb2RlUmF0aW8gPSAwLjU7CisKKyAgICBpZiAoIW1f
dGltZWJhc2UpCisgICAgICAgIHJldHVybjsKKworICAgIGRvdWJsZSByYXRlID0gQ01UaW1lYmFz
ZUdldFJhdGUobV90aW1lYmFzZS5nZXQoKSk7CisgICAgaWYgKCFyYXRlKQorICAgICAgICByYXRl
ID0gMTsKKworICAgIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlICs9IGtNb3ZpbmdBdmVyYWdl
QWxwaGFWYWx1ZSAqIChyYXRpbyAtIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlKSAqIHJhdGU7
CisgICAgaWYgKCsrbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVjayA8IGtOdW1iZXJPZkZyYW1lc0Jl
Zm9yZVN3aXRjaGluZ1RpZXJzKQorICAgICAgICByZXR1cm47CisKKyAgICBMT0coTWVkaWEsICJX
ZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlz
dGljcyglcCkgLSBmcmFtZXNTaW5jZUxhc3RRb3NDaGVjayglbGQpLCBkZWNvZGVSYXRpb01vdmlu
Z0F2ZXJhZ2UoJWcpIiwgdGhpcywgbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVjaywgbV9kZWNvZGVS
YXRpb01vdmluZ0F2ZXJhZ2UpOworICAgIGlmIChtX2RlY29kZVJhdGlvTW92aW5nQXZlcmFnZSA+
IGtIaWdoV2F0ZXJEZWNvZGVSYXRpbykKKyAgICAgICAgaW5jcmVhc2VRb3NUaWVyKCk7CisgICAg
ZWxzZSBpZiAobV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UgPCBrTG93V2F0ZXJEZWNvZGVSYXRp
bykKKyAgICAgICAgZGVjcmVhc2VRb3NUaWVyKCk7CisgICAgbV9mcmFtZXNTaW5jZUxhc3RRb3ND
aGVjayA9IDA7Cit9CisKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322422</attachid>
            <date>2017-10-02 13:37:03 -0700</date>
            <delta_ts>2017-10-02 15:12:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-177769-20171002133702.patch</filename>
            <type>text/plain</type>
            <size>12133</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxYzNlYzhhMzAyM2Yx
MzI2YTBlYzNjYzY0OTFiOTcyMjFmMDRkOC4uOGE1NmJkMDBjOTliNTBjYjY0NDQ3NTE2MDFjZDU0
NGFkNmI3NTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE3LTEwLTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBxdWFsaXR5
LW9mLXNlcnZpY2UgdGllcnMgaW4gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgVlREZWNvbXByZXNzaW9uU2Vz
c2lvbiB3aWxsIHN1Z2dlc3QgcXVhbGl0eS1vZi1zZXJ2aWNlIHRpZXJzIHRvIGJlIHVzZWQgd2hl
biBkZWNvbXByZXNzaW9uCisgICAgICAgIGNhbid0IGtlZXAgdXAgd2l0aCBwbGF5YmFjayBzcGVl
ZC4gVXNlIGEgc2ltcGxlIGV4cG9uZW50aWFsLW1vdmluZy1hdmVyYWdlIGhldXJpc3RpYyB0bwor
ICAgICAgICBkZXRlcm1pbmUgd2hlbiB0byBtb3ZlIHVwIGFuZCBkb3duIHRoZSB0aWVycy4KKwor
ICAgICAgICBEcml2ZS1ieSBmaXg6IFdoZW4gZnJhbWVzIGFyZSBzbyBsYXRlIHRoYXQgdGhleSBt
aXNzIHRoZSBkaXNwbGF5IGRlYWRsaW5lLCBtYXJrIHRoZW0gYXMKKyAgICAgICAgZHJvcHBlZCBy
YXRoZXIgdGhhbiBqdXN0IGRlbGF5ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVuc3VyZURlY29tcHJlc3Npb25T
ZXNzaW9uRm9yU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6ZGVjb2RlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXBy
ZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OnJlc2V0UW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OmluY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmRlY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGlj
cyk6CisKIDIwMTctMDktMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBFbmFibGUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBidWlsZC10aW1lIHNl
dHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgKaW5kZXggOWY0ZGYw
YTJkMjcxMGViZGI0ZWQwNDMyYjU2MGU2ZDZkZTRjODU1ZC4uZjE5NmMyMDE2Y2NmNzMwYTcxMDEy
YjcyMmJhZDlkNWZkNGE3NWU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNz
aW9uLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaD4KIAogdHlwZWRlZiBDRlR5cGVSZWYgQ01CdWZmZXJSZWY7Cit0eXBlZGVmIGNvbnN0IHN0
cnVjdCBfX0NGQXJyYXkgKiBDRkFycmF5UmVmOwogdHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01CdWZm
ZXJRdWV1ZSAqQ01CdWZmZXJRdWV1ZVJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxl
QnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZUNNVGltZWJh
c2UqIENNVGltZWJhc2VSZWY7CkBAIC0xMDAsNiArMTAxLDExIEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIENGQ29tcGFyaXNvblJlc3VsdCBjb21wYXJlQnVmZmVycyhDTUJ1ZmZlclJlZiBidWYxLCBD
TUJ1ZmZlclJlZiBidWYyLCB2b2lkKiByZWZjb24pOwogICAgIHZvaWQgbWF5YmVCZWNvbWVSZWFk
eUZvck1vcmVNZWRpYURhdGEoKTsKIAorICAgIHZvaWQgcmVzZXRRb3NUaWVyKCk7CisgICAgdm9p
ZCBpbmNyZWFzZVFvc1RpZXIoKTsKKyAgICB2b2lkIGRlY3JlYXNlUW9zVGllcigpOworICAgIHZv
aWQgdXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0aWNzKGRvdWJsZSByYXRpbyk7CisKICAg
ICBzdGF0aWMgY29uc3QgQ01JdGVtQ291bnQga01heGltdW1DYXBhY2l0eSA9IDEyMDsKICAgICBz
dGF0aWMgY29uc3QgQ01JdGVtQ291bnQga0hpZ2hXYXRlck1hcmsgPSA2MDsKICAgICBzdGF0aWMg
Y29uc3QgQ01JdGVtQ291bnQga0xvd1dhdGVyTWFyayA9IDE1OwpAQCAtMTE1LDYgKzEyMSwxMCBA
QCBwcml2YXRlOgogICAgIE9TT2JqZWN0UHRyPGRpc3BhdGNoX3NvdXJjZV90PiBtX3RpbWVyU291
cmNlOwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX25vdGlmaWNhdGlvbkNhbGxiYWNrOwog
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX2hhc0F2YWlsYWJsZUZyYW1lQ2FsbGJhY2s7Cisg
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fcW9zVGllcnM7CisgICAgbG9uZyBtX2N1cnJlbnRR
b3NUaWVyIHsgMCB9OworICAgIHVuc2lnbmVkIGxvbmcgbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVj
ayB7IDAgfTsKKyAgICBkb3VibGUgbV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UgeyAwIH07CiAK
ICAgICBib29sIG1faW52YWxpZGF0ZWQgeyBmYWxzZSB9OwogICAgIGludCBtX2ZyYW1lc0JlaW5n
RGVjb2RlZCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpp
bmRleCBlOThiODRlYjY1MmEzYmFmODg5NjNkNWQzNWYwNWE5NmY5ZTE4M2VjLi43NzBlNzMyNWY4
MDJlNzFmYmNmMjA0NTc2OTY3NDUxYTJkYzQxZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0IDxDb3JlTWVkaWEv
Q01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24u
aD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Cisj
aW1wb3J0IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAj
aW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0u
aD4KQEAgLTIyOCw4ICsyMjksMTQgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OmVuc3VyZURlY29tcHJlc3Npb25TZXNzaW9uRm9yU2FtcGxlKENNU2FtcGxlQnUKICAgICAgICAg
ICAgIGF0dHJpYnV0ZXMgPSBAeyhOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRU
eXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpfTsKICAgICAgICAgfQogICAgICAg
ICBWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmIGRlY29tcHJlc3Npb25TZXNzaW9uT3V0ID0gbnVs
bHB0cjsKLSAgICAgICAgaWYgKG5vRXJyID09IFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgdmlkZW9Gb3JtYXREZXNjcmlwdGlvbiwgKENGRGljdGlvbmFy
eVJlZil2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCAoQ0ZEaWN0aW9uYXJ5UmVmKWF0dHJpYnV0
ZXMsIG51bGxwdHIsICZkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCkpCisgICAgICAgIGlmIChub0Vy
ciA9PSBWVERlY29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHZp
ZGVvRm9ybWF0RGVzY3JpcHRpb24sIChDRkRpY3Rpb25hcnlSZWYpdmlkZW9EZWNvZGVyU3BlY2lm
aWNhdGlvbiwgKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzLCBudWxscHRyLCAmZGVjb21wcmVz
c2lvblNlc3Npb25PdXQpKSB7CiAgICAgICAgICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uID0g
YWRvcHRDRihkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCk7CisgICAgICAgICAgICBDRkFycmF5UmVm
IHJhd1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycyA9IG51bGxwdHI7CisgICAgICAgICAg
ICBWVFNlc3Npb25Db3B5UHJvcGVydHkoZGVjb21wcmVzc2lvblNlc3Npb25PdXQsIGtWVERlY29t
cHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIGtDRkFs
bG9jYXRvckRlZmF1bHQsICZyYXdTdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMpOworICAg
ICAgICAgICAgbV9xb3NUaWVycyA9IGFkb3B0Q0YocmF3U3VnZ2VzdGVkUXVhbGl0eU9mU2Vydmlj
ZVRpZXJzKTsKKyAgICAgICAgICAgIG1fY3VycmVudFFvc1RpZXIgPSAwOworICAgICAgICAgICAg
cmVzZXRRb3NUaWVyKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKQEAgLTI1Miw3ICsyNTksMTEg
QEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmRlY29kZVNhbXBsZShDTVNhbXBs
ZUJ1ZmZlclJlZiBzYW1wbGUsIGJvb2wgZGkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IFZURGVjb21wcmVzc2lvblNlc3Npb25EZWNvZGVGcmFtZVdpdGhPdXRwdXRIYW5kbGVyKG1fZGVj
b21wcmVzc2lvblNlc3Npb24uZ2V0KCksIHNhbXBsZSwgZmxhZ3MsIG51bGxwdHIsIFt0aGlzLCBk
aXNwbGF5aW5nXSAoT1NTdGF0dXMgc3RhdHVzLCBWVERlY29kZUluZm9GbGFncyBpbmZvRmxhZ3Ms
IENWSW1hZ2VCdWZmZXJSZWYgaW1hZ2VCdWZmZXIsIENNVGltZSBwcmVzZW50YXRpb25UaW1lU3Rh
bXAsIENNVGltZSBwcmVzZW50YXRpb25EdXJhdGlvbikgeworICAgIGRvdWJsZSBzdGFydFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBWVERlY29tcHJlc3Npb25TZXNz
aW9uRGVjb2RlRnJhbWVXaXRoT3V0cHV0SGFuZGxlcihtX2RlY29tcHJlc3Npb25TZXNzaW9uLmdl
dCgpLCBzYW1wbGUsIGZsYWdzLCBudWxscHRyLCBbdGhpcywgZGlzcGxheWluZywgc3RhcnRUaW1l
XShPU1N0YXR1cyBzdGF0dXMsIFZURGVjb2RlSW5mb0ZsYWdzIGluZm9GbGFncywgQ1ZJbWFnZUJ1
ZmZlclJlZiBpbWFnZUJ1ZmZlciwgQ01UaW1lIHByZXNlbnRhdGlvblRpbWVTdGFtcCwgQ01UaW1l
IHByZXNlbnRhdGlvbkR1cmF0aW9uKSB7CisgICAgICAgIGRvdWJsZSBkZWx0YVJhdGlvID0gKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnRUaW1lKSAvIENNVGltZUdldFNlY29u
ZHMocHJlc2VudGF0aW9uRHVyYXRpb24pOworCisgICAgICAgIHVwZGF0ZVFvc1dpdGhEZWNvZGVU
aW1lU3RhdGlzdGljcyhkZWx0YVJhdGlvKTsKICAgICAgICAgaGFuZGxlRGVjb21wcmVzc2lvbk91
dHB1dChkaXNwbGF5aW5nLCBzdGF0dXMsIGluZm9GbGFncywgaW1hZ2VCdWZmZXIsIHByZXNlbnRh
dGlvblRpbWVTdGFtcCwgcHJlc2VudGF0aW9uRHVyYXRpb24pOwogICAgIH0pOwogfQpAQCAtMzAy
LDEzICszMTMsNiBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVj
b21wcmVzc2lvbk91dHB1dChib29sIGRpc3BsYXlpbmcsIE9TUwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgaWYgKGRpc3BsYXlpbmcgJiYgbV90aW1lYmFzZSkgewotICAgICAgICBhdXRv
IGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSk7Ci0gICAg
ICAgIGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgp
KTsKLSAgICAgICAgaWYgKGN1cnJlbnRSYXRlID4gMCAmJiBDTVRpbWVDb21wYXJlKHByZXNlbnRh
dGlvblRpbWVTdGFtcCwgY3VycmVudFRpbWUpIDwgMCkKLSAgICAgICAgICAgIG1fdG90YWxGcmFt
ZURlbGF5ICs9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lU3VidHJhY3QoY3VycmVudFRpbWUsIHBy
ZXNlbnRhdGlvblRpbWVTdGFtcCkpOwotICAgIH0KLQogICAgIGRpc3BhdGNoX2FzeW5jKG1fZW5x
dWVpbmdRdWV1ZS5nZXQoKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpLCBzdGF0
dXMsIGltYWdlU2FtcGxlQnVmZmVyID0gYWRvcHRDRihyYXdJbWFnZVNhbXBsZUJ1ZmZlciksIGlu
Zm9GbGFncywgZGlzcGxheWluZ10gewogICAgICAgICBVTlVTRURfUEFSQU0oaW5mb0ZsYWdzKTsK
ICAgICAgICAgcHJvdGVjdGVkVGhpcy0+ZW5xdWV1ZURlY29kZWRTYW1wbGUoaW1hZ2VTYW1wbGVC
dWZmZXIuZ2V0KCksIGRpc3BsYXlpbmcpOwpAQCAtMzYzLDcgKzM2Nyw3IEBAIHZvaWQgV2ViQ29y
ZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0aWNEZXF1ZXVlKCkKICAgICBpZiAocmVsZWFz
ZWRJbWFnZUJ1ZmZlcnMpCiAgICAgICAgIG1heWJlQmVjb21lUmVhZHlGb3JNb3JlTWVkaWFEYXRh
KCk7CiAKLSAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9t
YXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHkiLCB0aGlzLCB0b1N0cmluZyh0aW1lKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OmF1dG9tYXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHkiLCB0aGlzKTsKICAgICBDTVRpbWVi
YXNlU2V0VGltZXJEaXNwYXRjaFNvdXJjZU5leHRGaXJlVGltZShtX3RpbWViYXNlLmdldCgpLCBt
X3RpbWVyU291cmNlLmdldCgpLCBQQUw6OnRvQ01UaW1lKG5leHRGaXJlVGltZSksIDApOwogfQog
CkBAIC0zNzksNiArMzgzLDI3IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpl
bnF1ZXVlRGVjb2RlZFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyAgICBib29sIHNob3VsZE5vdGlmeSA9IHRydWU7CisKKyAgICBpZiAo
ZGlzcGxheWluZyAmJiBtX3RpbWViYXNlKSB7CisgICAgICAgIGF1dG8gY3VycmVudFJhdGUgPSBD
TVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgpKTsKKyAgICAgICAgYXV0byBjdXJyZW50
VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQo
KSkpOworICAgICAgICBhdXRvIHByZXNlbnRhdGlvblN0YXJ0VGltZSA9IFBBTDo6dG9NZWRpYVRp
bWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoc2FtcGxlKSk7CisgICAg
ICAgIGF1dG8gcHJlc2VudGF0aW9uRW5kVGltZSA9IHByZXNlbnRhdGlvblN0YXJ0VGltZSArIFBB
TDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihzYW1wbGUpKTsKKyAgICAg
ICAgaWYgKGN1cnJlbnRUaW1lIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1lIHx8IGN1cnJlbnRUaW1l
ID49IHByZXNlbnRhdGlvbkVuZFRpbWUpCisgICAgICAgICAgICBzaG91bGROb3RpZnkgPSBmYWxz
ZTsKKworICAgICAgICBpZiAoY3VycmVudFJhdGUgPiAwICYmIHByZXNlbnRhdGlvbkVuZFRpbWUg
PCBjdXJyZW50VGltZSkgeworI2lmICFMT0dfRElTQUJMRUQKKyAgICAgICAgICAgIGF1dG8gYmVn
aW4gPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRp
bWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICAgICAgICAgIGF1dG8gZW5kID0g
UEFMOjp0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1w
KG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOworICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViQ29y
ZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2RlZFNhbXBsZSglcCkgLSBkcm9wcGlu
ZyBmcmFtZSBsYXRlIGJ5ICVzLCBmcmFtZXNCZWluZ0RlY29kZWQoJWQpLCBwcm9kdWNlclF1ZXVl
KCVzIC0+ICVzKSIsIHRoaXMsIHRvU3RyaW5nKHByZXNlbnRhdGlvbkVuZFRpbWUgLSBjdXJyZW50
VGltZSkudXRmOCgpLmRhdGEoKSwgbV9mcmFtZXNCZWluZ0RlY29kZWQsIHRvU3RyaW5nKGJlZ2lu
KS51dGY4KCkuZGF0YSgpLCB0b1N0cmluZyhlbmQpLnV0ZjgoKS5kYXRhKCkpOworI2VuZGlmCisg
ICAgICAgICAgICArK21fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQorCiAgICAgQ01CdWZmZXJRdWV1ZUVucXVldWUobV9wcm9kdWNlclF1
ZXVlLmdldCgpLCBzYW1wbGUpOwogCiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMzk0LDEzICs0MTks
OCBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1w
bGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAgIGlmICghbV9oYXNBdmFpbGFibGVGcmFt
ZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV90aW1lYmFzZSkgewotICAg
ICAgICBhdXRvIGN1cnJlbnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWViYXNlR2V0VGlt
ZShtX3RpbWViYXNlLmdldCgpKSk7Ci0gICAgICAgIGF1dG8gcHJlc2VudGF0aW9uU3RhcnRUaW1l
ID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFt
cChzYW1wbGUpKTsKLSAgICAgICAgYXV0byBwcmVzZW50YXRpb25FbmRUaW1lID0gcHJlc2VudGF0
aW9uU3RhcnRUaW1lICsgUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9u
KHNhbXBsZSkpOwotICAgICAgICBpZiAoY3VycmVudFRpbWUgPCBwcmVzZW50YXRpb25TdGFydFRp
bWUgfHwgY3VycmVudFRpbWUgPj0gcHJlc2VudGF0aW9uRW5kVGltZSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICB9CisgICAgaWYgKCFzaG91bGROb3RpZnkpCisgICAgICAgIHJldHVybjsKIAog
ICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZlB0cih0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKG1faGFzQXZhaWxhYmxl
RnJhbWVDYWxsYmFjayldIHsKICAgICAgICAgY2FsbGJhY2soKTsKQEAgLTUzNCw2ICs1NTQsNzEg
QEAgQ0ZDb21wYXJpc29uUmVzdWx0IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6Y29tcGFy
ZUJ1ZmZlcnMoQ01CdWZmZXJSZWYgYnVmMSwKICAgICByZXR1cm4gKENGQ29tcGFyaXNvblJlc3Vs
dClDTVRpbWVDb21wYXJlKGdldFByZXNlbnRhdGlvblRpbWUoYnVmMSwgcmVmY29uKSwgZ2V0UHJl
c2VudGF0aW9uVGltZShidWYyLCByZWZjb24pKTsKIH0KIAordm9pZCBXZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb246OnJlc2V0UW9zVGllcigpCit7CisgICAgaWYgKCFtX3Fvc1RpZXJzIHx8ICFt
X2RlY29tcHJlc3Npb25TZXNzaW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJy
ZW50UW9zVGllciA8IDAgfHwgbV9jdXJyZW50UW9zVGllciA+PSBDRkFycmF5R2V0Q291bnQobV9x
b3NUaWVycy5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gdGllciA9IChDRkRp
Y3Rpb25hcnlSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX3Fvc1RpZXJzLmdldCgpLCBtX2N1
cnJlbnRRb3NUaWVyKTsKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Np
b246OnJlc2V0UW9zVGllciglcCkgLSBjdXJyZW50UW9zVGllciglbGQpLCB0aWVyKCVAKSIsIHRo
aXMsIG1fY3VycmVudFFvc1RpZXIsIFsoTlNEaWN0aW9uYXJ5ICopdGllciBkZXNjcmlwdGlvbl0p
OworCisgICAgVlRTZXNzaW9uU2V0UHJvcGVydGllcyhtX2RlY29tcHJlc3Npb25TZXNzaW9uLmdl
dCgpLCB0aWVyKTsKKyAgICBtX2ZyYW1lc1NpbmNlTGFzdFFvc0NoZWNrID0gMDsKK30KKwordm9p
ZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmluY3JlYXNlUW9zVGllcigpCit7CisgICAg
aWYgKCFtX3Fvc1RpZXJzKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJyZW50UW9z
VGllciArIDEgPj0gQ0ZBcnJheUdldENvdW50KG1fcW9zVGllcnMuZ2V0KCkpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICArK21fY3VycmVudFFvc1RpZXI7CisgICAgcmVzZXRRb3NUaWVyKCk7Cit9
CisKK3ZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpkZWNyZWFzZVFvc1RpZXIoKQor
eworICAgIGlmICghbV9xb3NUaWVycykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY3Vy
cmVudFFvc1RpZXIgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLS1tX2N1cnJlbnRRb3NU
aWVyOworICAgIHJlc2V0UW9zVGllcigpOworfQorCit2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6dXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0aWNzKGRvdWJsZSByYXRpbykK
K3sKKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGtNb3ZpbmdBdmVyYWdlQWxwaGFWYWx1ZSA9IDAu
MTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQga051bWJlck9mRnJhbWVzQmVmb3JlU3dpdGNo
aW5nVGllcnMgPSA2MDsKKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGtIaWdoV2F0ZXJEZWNvZGVS
YXRpbyA9IDEuOworICAgIHN0YXRpYyBjb25zdCBkb3VibGUga0xvd1dhdGVyRGVjb2RlUmF0aW8g
PSAwLjU7CisKKyAgICBpZiAoIW1fdGltZWJhc2UpCisgICAgICAgIHJldHVybjsKKworICAgIGRv
dWJsZSByYXRlID0gQ01UaW1lYmFzZUdldFJhdGUobV90aW1lYmFzZS5nZXQoKSk7CisgICAgaWYg
KCFyYXRlKQorICAgICAgICByYXRlID0gMTsKKworICAgIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVy
YWdlICs9IGtNb3ZpbmdBdmVyYWdlQWxwaGFWYWx1ZSAqIChyYXRpbyAtIG1fZGVjb2RlUmF0aW9N
b3ZpbmdBdmVyYWdlKSAqIHJhdGU7CisgICAgaWYgKCsrbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVj
ayA8IGtOdW1iZXJPZkZyYW1lc0JlZm9yZVN3aXRjaGluZ1RpZXJzKQorICAgICAgICByZXR1cm47
CisKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFv
c1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyglcCkgLSBmcmFtZXNTaW5jZUxhc3RRb3NDaGVjaygl
bGQpLCBkZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UoJWcpIiwgdGhpcywgbV9mcmFtZXNTaW5jZUxh
c3RRb3NDaGVjaywgbV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UpOworICAgIGlmIChtX2RlY29k
ZVJhdGlvTW92aW5nQXZlcmFnZSA+IGtIaWdoV2F0ZXJEZWNvZGVSYXRpbykKKyAgICAgICAgaW5j
cmVhc2VRb3NUaWVyKCk7CisgICAgZWxzZSBpZiAobV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2Ug
PCBrTG93V2F0ZXJEZWNvZGVSYXRpbykKKyAgICAgICAgZGVjcmVhc2VRb3NUaWVyKCk7CisgICAg
bV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVjayA9IDA7Cit9CisKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322452</attachid>
            <date>2017-10-02 15:12:02 -0700</date>
            <delta_ts>2017-10-02 15:33:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-177769-20171002151201.patch</filename>
            <type>text/plain</type>
            <size>18059</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxYzNlYzhhMzAyM2Yx
MzI2YTBlYzNjYzY0OTFiOTcyMjFmMDRkOC4uNjAzMDc4YjYxYTNkNjAyZjFkOTViNTkzYmYyZjE4
ZmNjYzdhN2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTEwLTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBxdWFsaXR5
LW9mLXNlcnZpY2UgdGllcnMgaW4gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgVlREZWNvbXByZXNzaW9uU2Vz
c2lvbiB3aWxsIHN1Z2dlc3QgcXVhbGl0eS1vZi1zZXJ2aWNlIHRpZXJzIHRvIGJlIHVzZWQgd2hl
biBkZWNvbXByZXNzaW9uCisgICAgICAgIGNhbid0IGtlZXAgdXAgd2l0aCBwbGF5YmFjayBzcGVl
ZC4gVXNlIGEgc2ltcGxlIGV4cG9uZW50aWFsLW1vdmluZy1hdmVyYWdlIGhldXJpc3RpYyB0bwor
ICAgICAgICBkZXRlcm1pbmUgd2hlbiB0byBtb3ZlIHVwIGFuZCBkb3duIHRoZSB0aWVycy4KKwor
ICAgICAgICBEcml2ZS1ieSBmaXg6IFdoZW4gZnJhbWVzIGFyZSBzbyBsYXRlIHRoYXQgdGhleSBt
aXNzIHRoZSBkaXNwbGF5IGRlYWRsaW5lLCBtYXJrIHRoZW0gYXMKKyAgICAgICAgZHJvcHBlZCBy
YXRoZXIgdGhhbiBqdXN0IGRlbGF5ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVuc3VyZURlY29tcHJlc3Npb25T
ZXNzaW9uRm9yU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6ZGVjb2RlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXBy
ZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OnJlc2V0UW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OmluY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmRlY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGlj
cyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5rLmg6CisKIDIwMTct
MDktMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29h
XSBFbmFibGUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBidWlsZC10aW1lIHNldHRpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcAppbmRleCAzZmVhMTE3MDdiMTU5M2QwYWQxY2VjMjFhMzJmNTgyZTFlYWVkYzA2Li4yM2U3
YzAyYWNiODA3N2M2MjY3ZmM5ZjIwYmFkNTY2YTg4MDEzMmRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCkBAIC0z
Myw2ICszMyw3IEBAIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUSW1hZ2VSb3RhdGlvblNlc3Npb24q
IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25SZWY7CiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94KQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eSwgT1NTdGF0dXMs
IChWVFNlc3Npb25SZWYgc2Vzc2lvbiwgQ0ZTdHJpbmdSZWYgcHJvcGVydHlLZXksIENGQWxsb2Nh
dG9yUmVmIGFsbG9jYXRvciwgdm9pZCogcHJvcGVydHlWYWx1ZU91dCksIChzZXNzaW9uLCBwcm9w
ZXJ0eUtleSwgYWxsb2NhdG9yLCBwcm9wZXJ0eVZhbHVlT3V0KSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRTZXNzaW9uU2V0UHJvcGVydHks
IE9TU3RhdHVzLCAoVlRTZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIHByb3BlcnR5S2V5
LCBDRlR5cGVSZWYgcHJvcGVydHlWYWx1ZSksIChzZXNzaW9uLCBwcm9wZXJ0eUtleSwgcHJvcGVy
dHlWYWx1ZSkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rv
b2xib3gsIFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0
b3JSZWYgYWxsb2NhdG9yLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25SZWYgdmlkZW9Gb3JtYXRE
ZXNjcmlwdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIHZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24sIENG
RGljdGlvbmFyeVJlZiBkZXN0aW5hdGlvbkltYWdlQnVmZmVyQXR0cmlidXRlcywgY29uc3QgVlRE
ZWNvbXByZXNzaW9uT3V0cHV0Q2FsbGJhY2tSZWNvcmQqIG91dHB1dENhbGxiYWNrLCBWVERlY29t
cHJlc3Npb25TZXNzaW9uUmVmKiBkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCksIChhbGxvY2F0b3Is
IHZpZGVvRm9ybWF0RGVzY3JpcHRpb24sIHZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24sIGRlc3Rp
bmF0aW9uSW1hZ2VCdWZmZXJBdHRyaWJ1dGVzLCBvdXRwdXRDYWxsYmFjaywgZGVjb21wcmVzc2lv
blNlc3Npb25PdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlk
ZW9Ub29sYm94LCBWVERlY29tcHJlc3Npb25TZXNzaW9uQ2FuQWNjZXB0Rm9ybWF0RGVzY3JpcHRp
b24sIEJvb2xlYW4sIChWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24sIENNRm9ybWF0
RGVzY3JpcHRpb25SZWYgbmV3Rm9ybWF0RGVzYyksIChzZXNzaW9uLCBuZXdGb3JtYXREZXNjKSkK
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRE
ZWNvbXByZXNzaW9uU2Vzc2lvbldhaXRGb3JBc3luY2hyb25vdXNGcmFtZXMsIE9TU3RhdHVzLCAo
VlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtNDUsNiAr
NDYsNyBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX1NPVVJDRShXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIFZUR2V0R1ZBRGVjb2RlckF2YQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9G
QUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVENyZWF0ZUNHSW1hZ2VGcm9t
Q1ZQaXhlbEJ1ZmZlciwgT1NTdGF0dXMsIChDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBD
RkRpY3Rpb25hcnlSZWYgb3B0aW9ucywgQ0dJbWFnZVJlZiogaW1hZ2VPdXQpLCAocGl4ZWxCdWZm
ZXIsIG9wdGlvbnMsIGltYWdlT3V0KSkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVI
YXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyLCBDRlN0cmluZ1JlZikKIFNPRlRfTElOS19D
T05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZURGVjb21wcmVzc2lv
blByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIENGU3RyaW5nUmVmKQog
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRJ
bWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRW5hYmxlSGlnaFNwZWVkVHJhbnNmZXIsIENGU3RyaW5n
UmVmKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94
LCBrVlRJbWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRmxpcEhvcml6b250YWxPcmllbnRhdGlvbiwg
Q0ZTdHJpbmdSZWYpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRl
b1Rvb2xib3gsIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9GbGlwVmVydGljYWxPcmllbnRh
dGlvbiwgQ0ZTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuaAppbmRleCA4OGUzZjNlN2UzOTkyYTAzNjE5Nzg4NDRm
MTcyZGY5MjYxODVjOTQxLi4zMjNkMjA4ZjAzMTdiYTkyNGE0MjljMzEwMWFmYjQwZTY3NTRkMjEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJv
eFNvZnRMaW5rLmgKQEAgLTM0LDYgKzM0LDggQEAgU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVB
REVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlc3Npb25Db3B5UHJvcGVydHksIE9TU3RhdHVz
LCAoVlRTZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIHByb3BlcnR5S2V5LCBDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IsIHZvaWQqIHByb3BlcnR5VmFsdWVPdXQpLCAoc2Vzc2lvbiwgcHJv
cGVydHlLZXksIGFsbG9jYXRvciwgcHJvcGVydHlWYWx1ZU91dCkpCiAjZGVmaW5lIFZUU2Vzc2lv
bkNvcHlQcm9wZXJ0eSBzb2Z0TGlua19WaWRlb1Rvb2xib3hfVlRTZXNzaW9uQ29weVByb3BlcnR5
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
U2Vzc2lvblNldFByb3BlcnR5LCBPU1N0YXR1cywgKFZUU2Vzc2lvblJlZiBzZXNzaW9uLCBDRlN0
cmluZ1JlZiBwcm9wZXJ0eUtleSwgQ0ZUeXBlUmVmIHByb3BlcnR5VmFsdWUpLCAoc2Vzc2lvbiwg
cHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWUpKQorI2RlZmluZSBWVFNlc3Npb25TZXRQcm9wZXJ0
eSBzb2Z0TGlua19WaWRlb1Rvb2xib3hfVlRTZXNzaW9uU2V0UHJvcGVydHkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXByZXNzaW9u
U2Vzc2lvbkNyZWF0ZSwgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvblJlZiB2aWRlb0Zvcm1hdERlc2NyaXB0aW9uLCBDRkRpY3Rpb25h
cnlSZWYgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlc3RpbmF0
aW9uSW1hZ2VCdWZmZXJBdHRyaWJ1dGVzLCBjb25zdCBWVERlY29tcHJlc3Npb25PdXRwdXRDYWxs
YmFja1JlY29yZCogb3V0cHV0Q2FsbGJhY2ssIFZURGVjb21wcmVzc2lvblNlc3Npb25SZWYqIGRl
Y29tcHJlc3Npb25TZXNzaW9uT3V0KSwgKGFsbG9jYXRvciwgdmlkZW9Gb3JtYXREZXNjcmlwdGlv
biwgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgZGVzdGluYXRpb25JbWFnZUJ1ZmZlckF0dHJp
YnV0ZXMsIG91dHB1dENhbGxiYWNrLCBkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCkpCiAjZGVmaW5l
IFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZURGVj
b21wcmVzc2lvblNlc3Npb25DcmVhdGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdl
YkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNhbkFjY2VwdEZvcm1h
dERlc2NyaXB0aW9uLCBCb29sZWFuLCAoVlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9u
LCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIG5ld0Zvcm1hdERlc2MpLCAoc2Vzc2lvbiwgbmV3Rm9y
bWF0RGVzYykpCkBAIC01OCw2ICs2MCw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVS
KFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvCiAjZGVm
aW5lIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRl
ZFZpZGVvRGVjb2RlciBnZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRp
b25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9QaXhlbEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrVlREZWNv
bXByZXNzaW9uUHJvcGVydHlLZXlfUGl4ZWxCdWZmZXJQb29sIGdldF9WaWRlb1Rvb2xib3hfa1ZU
RGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCgpCitTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIENGU3RyaW5nUmVmKQor
I2RlZmluZSBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfU3VnZ2VzdGVkUXVhbGl0eU9mU2Vy
dmljZVRpZXJzIGdldF9WaWRlb1Rvb2xib3hfa1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1N1
Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycwogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRJbWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRW5h
YmxlSGlnaFNwZWVkVHJhbnNmZXIsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrVlRJbWFnZVJvdGF0
aW9uUHJvcGVydHlLZXlfRW5hYmxlSGlnaFNwZWVkVHJhbnNmZXIgZ2V0X1ZpZGVvVG9vbGJveF9r
VlRJbWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRW5hYmxlSGlnaFNwZWVkVHJhbnNmZXIoKQogU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRJbWFn
ZVJvdGF0aW9uUHJvcGVydHlLZXlfRmxpcEhvcml6b250YWxPcmllbnRhdGlvbiwgQ0ZTdHJpbmdS
ZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oCmluZGV4IDlmNGRmMGEy
ZDI3MTBlYmRiNGVkMDQzMmI1NjBlNmQ2ZGU0Yzg1NWQuLmYxOTZjMjAxNmNjZjczMGE3MTAxMmI3
MjJiYWQ5ZDVmZDRhNzVlODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bi5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVk
Lmg+CiAKIHR5cGVkZWYgQ0ZUeXBlUmVmIENNQnVmZmVyUmVmOwordHlwZWRlZiBjb25zdCBzdHJ1
Y3QgX19DRkFycmF5ICogQ0ZBcnJheVJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNQnVmZmVy
UXVldWUgKkNNQnVmZmVyUXVldWVSZWY7CiB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1
ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVDTVRpbWViYXNl
KiBDTVRpbWViYXNlUmVmOwpAQCAtMTAwLDYgKzEwMSwxMSBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyBDRkNvbXBhcmlzb25SZXN1bHQgY29tcGFyZUJ1ZmZlcnMoQ01CdWZmZXJSZWYgYnVmMSwgQ01C
dWZmZXJSZWYgYnVmMiwgdm9pZCogcmVmY29uKTsKICAgICB2b2lkIG1heWJlQmVjb21lUmVhZHlG
b3JNb3JlTWVkaWFEYXRhKCk7CiAKKyAgICB2b2lkIHJlc2V0UW9zVGllcigpOworICAgIHZvaWQg
aW5jcmVhc2VRb3NUaWVyKCk7CisgICAgdm9pZCBkZWNyZWFzZVFvc1RpZXIoKTsKKyAgICB2b2lk
IHVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyhkb3VibGUgcmF0aW8pOworCiAgICAg
c3RhdGljIGNvbnN0IENNSXRlbUNvdW50IGtNYXhpbXVtQ2FwYWNpdHkgPSAxMjA7CiAgICAgc3Rh
dGljIGNvbnN0IENNSXRlbUNvdW50IGtIaWdoV2F0ZXJNYXJrID0gNjA7CiAgICAgc3RhdGljIGNv
bnN0IENNSXRlbUNvdW50IGtMb3dXYXRlck1hcmsgPSAxNTsKQEAgLTExNSw2ICsxMjEsMTAgQEAg
cHJpdmF0ZToKICAgICBPU09iamVjdFB0cjxkaXNwYXRjaF9zb3VyY2VfdD4gbV90aW1lclNvdXJj
ZTsKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gbV9ub3RpZmljYXRpb25DYWxsYmFjazsKICAg
ICBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gbV9oYXNBdmFpbGFibGVGcmFtZUNhbGxiYWNrOworICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBtX3Fvc1RpZXJzOworICAgIGxvbmcgbV9jdXJyZW50UW9z
VGllciB7IDAgfTsKKyAgICB1bnNpZ25lZCBsb25nIG1fZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sg
eyAwIH07CisgICAgZG91YmxlIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlIHsgMCB9OwogCiAg
ICAgYm9vbCBtX2ludmFsaWRhdGVkIHsgZmFsc2UgfTsKICAgICBpbnQgbV9mcmFtZXNCZWluZ0Rl
Y29kZWQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0KaW5k
ZXggZTk4Yjg0ZWI2NTJhM2JhZjg4OTYzZDVkMzVmMDVhOTZmOWUxODNlYy4uNzcwZTczMjVmODAy
ZTcxZmJjZjIwNDU3Njk2NzQ1MWEyZGM0MWU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXBy
ZXNzaW9uU2Vzc2lvbi5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2ltcG9ydCA8Q29yZU1lZGlhL0NN
QnVmZmVyUXVldWUuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTUZvcm1hdERlc2NyaXB0aW9uLmg+
CiAjaW1wb3J0IDxwYWwvYXZmb3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgorI2lt
cG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2lt
cG9ydCA8d3RmL01lZGlhVGltZS5oPgogI2ltcG9ydCA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+
CkBAIC0yMjgsOCArMjI5LDE0IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpl
bnN1cmVEZWNvbXByZXNzaW9uU2Vzc2lvbkZvclNhbXBsZShDTVNhbXBsZUJ1CiAgICAgICAgICAg
ICBhdHRyaWJ1dGVzID0gQHsoTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlw
ZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKX07CiAgICAgICAgIH0KICAgICAgICAg
VlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiBkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCA9IG51bGxw
dHI7Ci0gICAgICAgIGlmIChub0VyciA9PSBWVERlY29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHZpZGVvRm9ybWF0RGVzY3JpcHRpb24sIChDRkRpY3Rpb25hcnlS
ZWYpdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVz
LCBudWxscHRyLCAmZGVjb21wcmVzc2lvblNlc3Npb25PdXQpKQorICAgICAgICBpZiAobm9FcnIg
PT0gVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB2aWRl
b0Zvcm1hdERlc2NyaXB0aW9uLCAoQ0ZEaWN0aW9uYXJ5UmVmKXZpZGVvRGVjb2RlclNwZWNpZmlj
YXRpb24sIChDRkRpY3Rpb25hcnlSZWYpYXR0cmlidXRlcywgbnVsbHB0ciwgJmRlY29tcHJlc3Np
b25TZXNzaW9uT3V0KSkgewogICAgICAgICAgICAgbV9kZWNvbXByZXNzaW9uU2Vzc2lvbiA9IGFk
b3B0Q0YoZGVjb21wcmVzc2lvblNlc3Npb25PdXQpOworICAgICAgICAgICAgQ0ZBcnJheVJlZiBy
YXdTdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMgPSBudWxscHRyOworICAgICAgICAgICAg
VlRTZXNzaW9uQ29weVByb3BlcnR5KGRlY29tcHJlc3Npb25TZXNzaW9uT3V0LCBrVlREZWNvbXBy
ZXNzaW9uUHJvcGVydHlLZXlfU3VnZ2VzdGVkUXVhbGl0eU9mU2VydmljZVRpZXJzLCBrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCAmcmF3U3VnZ2VzdGVkUXVhbGl0eU9mU2VydmljZVRpZXJzKTsKKyAgICAg
ICAgICAgIG1fcW9zVGllcnMgPSBhZG9wdENGKHJhd1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VU
aWVycyk7CisgICAgICAgICAgICBtX2N1cnJlbnRRb3NUaWVyID0gMDsKKyAgICAgICAgICAgIHJl
c2V0UW9zVGllcigpOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0yNTIsNyArMjU5LDExIEBA
IHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpkZWNvZGVTYW1wbGUoQ01TYW1wbGVC
dWZmZXJSZWYgc2FtcGxlLCBib29sIGRpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBW
VERlY29tcHJlc3Npb25TZXNzaW9uRGVjb2RlRnJhbWVXaXRoT3V0cHV0SGFuZGxlcihtX2RlY29t
cHJlc3Npb25TZXNzaW9uLmdldCgpLCBzYW1wbGUsIGZsYWdzLCBudWxscHRyLCBbdGhpcywgZGlz
cGxheWluZ10gKE9TU3RhdHVzIHN0YXR1cywgVlREZWNvZGVJbmZvRmxhZ3MgaW5mb0ZsYWdzLCBD
VkltYWdlQnVmZmVyUmVmIGltYWdlQnVmZmVyLCBDTVRpbWUgcHJlc2VudGF0aW9uVGltZVN0YW1w
LCBDTVRpbWUgcHJlc2VudGF0aW9uRHVyYXRpb24pIHsKKyAgICBkb3VibGUgc3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgVlREZWNvbXByZXNzaW9uU2Vzc2lv
bkRlY29kZUZyYW1lV2l0aE91dHB1dEhhbmRsZXIobV9kZWNvbXByZXNzaW9uU2Vzc2lvbi5nZXQo
KSwgc2FtcGxlLCBmbGFncywgbnVsbHB0ciwgW3RoaXMsIGRpc3BsYXlpbmcsIHN0YXJ0VGltZV0o
T1NTdGF0dXMgc3RhdHVzLCBWVERlY29kZUluZm9GbGFncyBpbmZvRmxhZ3MsIENWSW1hZ2VCdWZm
ZXJSZWYgaW1hZ2VCdWZmZXIsIENNVGltZSBwcmVzZW50YXRpb25UaW1lU3RhbXAsIENNVGltZSBw
cmVzZW50YXRpb25EdXJhdGlvbikgeworICAgICAgICBkb3VibGUgZGVsdGFSYXRpbyA9IChtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIHN0YXJ0VGltZSkgLyBDTVRpbWVHZXRTZWNvbmRz
KHByZXNlbnRhdGlvbkR1cmF0aW9uKTsKKworICAgICAgICB1cGRhdGVRb3NXaXRoRGVjb2RlVGlt
ZVN0YXRpc3RpY3MoZGVsdGFSYXRpbyk7CiAgICAgICAgIGhhbmRsZURlY29tcHJlc3Npb25PdXRw
dXQoZGlzcGxheWluZywgc3RhdHVzLCBpbmZvRmxhZ3MsIGltYWdlQnVmZmVyLCBwcmVzZW50YXRp
b25UaW1lU3RhbXAsIHByZXNlbnRhdGlvbkR1cmF0aW9uKTsKICAgICB9KTsKIH0KQEAgLTMwMiwx
MyArMzEzLDYgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmhhbmRsZURlY29t
cHJlc3Npb25PdXRwdXQoYm9vbCBkaXNwbGF5aW5nLCBPU1MKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGlmIChkaXNwbGF5aW5nICYmIG1fdGltZWJhc2UpIHsKLSAgICAgICAgYXV0byBj
dXJyZW50VGltZSA9IENNVGltZWJhc2VHZXRUaW1lKG1fdGltZWJhc2UuZ2V0KCkpOwotICAgICAg
ICBhdXRvIGN1cnJlbnRSYXRlID0gQ01UaW1lYmFzZUdldFJhdGUobV90aW1lYmFzZS5nZXQoKSk7
Ci0gICAgICAgIGlmIChjdXJyZW50UmF0ZSA+IDAgJiYgQ01UaW1lQ29tcGFyZShwcmVzZW50YXRp
b25UaW1lU3RhbXAsIGN1cnJlbnRUaW1lKSA8IDApCi0gICAgICAgICAgICBtX3RvdGFsRnJhbWVE
ZWxheSArPSBQQUw6OnRvTWVkaWFUaW1lKENNVGltZVN1YnRyYWN0KGN1cnJlbnRUaW1lLCBwcmVz
ZW50YXRpb25UaW1lU3RhbXApKTsKLSAgICB9Ci0KICAgICBkaXNwYXRjaF9hc3luYyhtX2VucXVl
aW5nUXVldWUuZ2V0KCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKSwgc3RhdHVz
LCBpbWFnZVNhbXBsZUJ1ZmZlciA9IGFkb3B0Q0YocmF3SW1hZ2VTYW1wbGVCdWZmZXIpLCBpbmZv
RmxhZ3MsIGRpc3BsYXlpbmddIHsKICAgICAgICAgVU5VU0VEX1BBUkFNKGluZm9GbGFncyk7CiAg
ICAgICAgIHByb3RlY3RlZFRoaXMtPmVucXVldWVEZWNvZGVkU2FtcGxlKGltYWdlU2FtcGxlQnVm
ZmVyLmdldCgpLCBkaXNwbGF5aW5nKTsKQEAgLTM2Myw3ICszNjcsNyBAQCB2b2lkIFdlYkNvcmVE
ZWNvbXByZXNzaW9uU2Vzc2lvbjo6YXV0b21hdGljRGVxdWV1ZSgpCiAgICAgaWYgKHJlbGVhc2Vk
SW1hZ2VCdWZmZXJzKQogICAgICAgICBtYXliZUJlY29tZVJlYWR5Rm9yTW9yZU1lZGlhRGF0YSgp
OwogCi0gICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0
aWNEZXF1ZXVlKCVwKSAtIHF1ZXVlIGVtcHR5IiwgdGhpcywgdG9TdHJpbmcodGltZSkudXRmOCgp
LmRhdGEoKSk7CisgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjph
dXRvbWF0aWNEZXF1ZXVlKCVwKSAtIHF1ZXVlIGVtcHR5IiwgdGhpcyk7CiAgICAgQ01UaW1lYmFz
ZVNldFRpbWVyRGlzcGF0Y2hTb3VyY2VOZXh0RmlyZVRpbWUobV90aW1lYmFzZS5nZXQoKSwgbV90
aW1lclNvdXJjZS5nZXQoKSwgUEFMOjp0b0NNVGltZShuZXh0RmlyZVRpbWUpLCAwKTsKIH0KIApA
QCAtMzc5LDYgKzM4MywyNyBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5x
dWV1ZURlY29kZWRTYW1wbGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAgICAgICByZXR1
cm47CiAgICAgfQogCisgICAgYm9vbCBzaG91bGROb3RpZnkgPSB0cnVlOworCisgICAgaWYgKGRp
c3BsYXlpbmcgJiYgbV90aW1lYmFzZSkgeworICAgICAgICBhdXRvIGN1cnJlbnRSYXRlID0gQ01U
aW1lYmFzZUdldFJhdGUobV90aW1lYmFzZS5nZXQoKSk7CisgICAgICAgIGF1dG8gY3VycmVudFRp
bWUgPSBQQUw6OnRvTWVkaWFUaW1lKENNVGltZWJhc2VHZXRUaW1lKG1fdGltZWJhc2UuZ2V0KCkp
KTsKKyAgICAgICAgYXV0byBwcmVzZW50YXRpb25TdGFydFRpbWUgPSBQQUw6OnRvTWVkaWFUaW1l
KENNU2FtcGxlQnVmZmVyR2V0UHJlc2VudGF0aW9uVGltZVN0YW1wKHNhbXBsZSkpOworICAgICAg
ICBhdXRvIHByZXNlbnRhdGlvbkVuZFRpbWUgPSBwcmVzZW50YXRpb25TdGFydFRpbWUgKyBQQUw6
OnRvTWVkaWFUaW1lKENNU2FtcGxlQnVmZmVyR2V0RHVyYXRpb24oc2FtcGxlKSk7CisgICAgICAg
IGlmIChjdXJyZW50VGltZSA8IHByZXNlbnRhdGlvblN0YXJ0VGltZSB8fCBjdXJyZW50VGltZSA+
PSBwcmVzZW50YXRpb25FbmRUaW1lKQorICAgICAgICAgICAgc2hvdWxkTm90aWZ5ID0gZmFsc2U7
CisKKyAgICAgICAgaWYgKGN1cnJlbnRSYXRlID4gMCAmJiBwcmVzZW50YXRpb25FbmRUaW1lIDwg
Y3VycmVudFRpbWUpIHsKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgICAgICAgICBhdXRvIGJlZ2lu
ID0gUEFMOjp0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0Rmlyc3RQcmVzZW50YXRpb25UaW1l
U3RhbXAobV9wcm9kdWNlclF1ZXVlLmdldCgpKSk7CisgICAgICAgICAgICBhdXRvIGVuZCA9IFBB
TDo6dG9NZWRpYVRpbWUoQ01CdWZmZXJRdWV1ZUdldEVuZFByZXNlbnRhdGlvblRpbWVTdGFtcCht
X3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYkNvcmVE
ZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1wbGUoJXApIC0gZHJvcHBpbmcg
ZnJhbWUgbGF0ZSBieSAlcywgZnJhbWVzQmVpbmdEZWNvZGVkKCVkKSwgcHJvZHVjZXJRdWV1ZSgl
cyAtPiAlcykiLCB0aGlzLCB0b1N0cmluZyhwcmVzZW50YXRpb25FbmRUaW1lIC0gY3VycmVudFRp
bWUpLnV0ZjgoKS5kYXRhKCksIG1fZnJhbWVzQmVpbmdEZWNvZGVkLCB0b1N0cmluZyhiZWdpbiku
dXRmOCgpLmRhdGEoKSwgdG9TdHJpbmcoZW5kKS51dGY4KCkuZGF0YSgpKTsKKyNlbmRpZgorICAg
ICAgICAgICAgKyttX2Ryb3BwZWRWaWRlb0ZyYW1lczsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIENNQnVmZmVyUXVldWVFbnF1ZXVlKG1fcHJvZHVjZXJRdWV1
ZS5nZXQoKSwgc2FtcGxlKTsKIAogI2lmICFMT0dfRElTQUJMRUQKQEAgLTM5NCwxMyArNDE5LDgg
QEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVucXVldWVEZWNvZGVkU2FtcGxl
KENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSwKICAgICBpZiAoIW1faGFzQXZhaWxhYmxlRnJhbWVD
YWxsYmFjaykKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fdGltZWJhc2UpIHsKLSAgICAg
ICAgYXV0byBjdXJyZW50VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUo
bV90aW1lYmFzZS5nZXQoKSkpOwotICAgICAgICBhdXRvIHByZXNlbnRhdGlvblN0YXJ0VGltZSA9
IFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAo
c2FtcGxlKSk7Ci0gICAgICAgIGF1dG8gcHJlc2VudGF0aW9uRW5kVGltZSA9IHByZXNlbnRhdGlv
blN0YXJ0VGltZSArIFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihz
YW1wbGUpKTsKLSAgICAgICAgaWYgKGN1cnJlbnRUaW1lIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1l
IHx8IGN1cnJlbnRUaW1lID49IHByZXNlbnRhdGlvbkVuZFRpbWUpCi0gICAgICAgICAgICByZXR1
cm47Ci0gICAgfQorICAgIGlmICghc2hvdWxkTm90aWZ5KQorICAgICAgICByZXR1cm47CiAKICAg
ICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWZQdHIodGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShtX2hhc0F2YWlsYWJsZUZy
YW1lQ2FsbGJhY2spXSB7CiAgICAgICAgIGNhbGxiYWNrKCk7CkBAIC01MzQsNiArNTU0LDcxIEBA
IENGQ29tcGFyaXNvblJlc3VsdCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmNvbXBhcmVC
dWZmZXJzKENNQnVmZmVyUmVmIGJ1ZjEsCiAgICAgcmV0dXJuIChDRkNvbXBhcmlzb25SZXN1bHQp
Q01UaW1lQ29tcGFyZShnZXRQcmVzZW50YXRpb25UaW1lKGJ1ZjEsIHJlZmNvbiksIGdldFByZXNl
bnRhdGlvblRpbWUoYnVmMiwgcmVmY29uKSk7CiB9CiAKK3ZvaWQgV2ViQ29yZURlY29tcHJlc3Np
b25TZXNzaW9uOjpyZXNldFFvc1RpZXIoKQoreworICAgIGlmICghbV9xb3NUaWVycyB8fCAhbV9k
ZWNvbXByZXNzaW9uU2Vzc2lvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY3VycmVu
dFFvc1RpZXIgPCAwIHx8IG1fY3VycmVudFFvc1RpZXIgPj0gQ0ZBcnJheUdldENvdW50KG1fcW9z
VGllcnMuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIHRpZXIgPSAoQ0ZEaWN0
aW9uYXJ5UmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9xb3NUaWVycy5nZXQoKSwgbV9jdXJy
ZW50UW9zVGllcik7CisgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9u
OjpyZXNldFFvc1RpZXIoJXApIC0gY3VycmVudFFvc1RpZXIoJWxkKSwgdGllciglQCkiLCB0aGlz
LCBtX2N1cnJlbnRRb3NUaWVyLCBbKE5TRGljdGlvbmFyeSAqKXRpZXIgZGVzY3JpcHRpb25dKTsK
KworICAgIFZUU2Vzc2lvblNldFByb3BlcnRpZXMobV9kZWNvbXByZXNzaW9uU2Vzc2lvbi5nZXQo
KSwgdGllcik7CisgICAgbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVjayA9IDA7Cit9CisKK3ZvaWQg
V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjppbmNyZWFzZVFvc1RpZXIoKQoreworICAgIGlm
ICghbV9xb3NUaWVycykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY3VycmVudFFvc1Rp
ZXIgKyAxID49IENGQXJyYXlHZXRDb3VudChtX3Fvc1RpZXJzLmdldCgpKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgKyttX2N1cnJlbnRRb3NUaWVyOworICAgIHJlc2V0UW9zVGllcigpOworfQor
Cit2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZGVjcmVhc2VRb3NUaWVyKCkKK3sK
KyAgICBpZiAoIW1fcW9zVGllcnMpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2N1cnJl
bnRRb3NUaWVyIDw9IDApCisgICAgICAgIHJldHVybjsKKworICAgIC0tbV9jdXJyZW50UW9zVGll
cjsKKyAgICByZXNldFFvc1RpZXIoKTsKK30KKwordm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyhkb3VibGUgcmF0aW8pCit7
CisgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBrTW92aW5nQXZlcmFnZUFscGhhVmFsdWUgPSAwLjE7
CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGtOdW1iZXJPZkZyYW1lc0JlZm9yZVN3aXRjaGlu
Z1RpZXJzID0gNjA7CisgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBrSGlnaFdhdGVyRGVjb2RlUmF0
aW8gPSAxLjsKKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGtMb3dXYXRlckRlY29kZVJhdGlvID0g
MC41OworCisgICAgaWYgKCFtX3RpbWViYXNlKQorICAgICAgICByZXR1cm47CisKKyAgICBkb3Vi
bGUgcmF0ZSA9IENNVGltZWJhc2VHZXRSYXRlKG1fdGltZWJhc2UuZ2V0KCkpOworICAgIGlmICgh
cmF0ZSkKKyAgICAgICAgcmF0ZSA9IDE7CisKKyAgICBtX2RlY29kZVJhdGlvTW92aW5nQXZlcmFn
ZSArPSBrTW92aW5nQXZlcmFnZUFscGhhVmFsdWUgKiAocmF0aW8gLSBtX2RlY29kZVJhdGlvTW92
aW5nQXZlcmFnZSkgKiByYXRlOworICAgIGlmICgrK21fZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sg
PCBrTnVtYmVyT2ZGcmFtZXNCZWZvcmVTd2l0Y2hpbmdUaWVycykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjp1cGRhdGVRb3NX
aXRoRGVjb2RlVGltZVN0YXRpc3RpY3MoJXApIC0gZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2soJWxk
KSwgZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlKCVnKSIsIHRoaXMsIG1fZnJhbWVzU2luY2VMYXN0
UW9zQ2hlY2ssIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlKTsKKyAgICBpZiAobV9kZWNvZGVS
YXRpb01vdmluZ0F2ZXJhZ2UgPiBrSGlnaFdhdGVyRGVjb2RlUmF0aW8pCisgICAgICAgIGluY3Jl
YXNlUW9zVGllcigpOworICAgIGVsc2UgaWYgKG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlIDwg
a0xvd1dhdGVyRGVjb2RlUmF0aW8pCisgICAgICAgIGRlY3JlYXNlUW9zVGllcigpOworICAgIG1f
ZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sgPSAwOworfQorCiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322460</attachid>
            <date>2017-10-02 15:33:41 -0700</date>
            <delta_ts>2017-10-03 09:12:48 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-177769-20171002153340.patch</filename>
            <type>text/plain</type>
            <size>18061</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxYzNlYzhhMzAyM2Yx
MzI2YTBlYzNjYzY0OTFiOTcyMjFmMDRkOC4uNjAzMDc4YjYxYTNkNjAyZjFkOTViNTkzYmYyZjE4
ZmNjYzdhN2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTEwLTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBxdWFsaXR5
LW9mLXNlcnZpY2UgdGllcnMgaW4gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgVlREZWNvbXByZXNzaW9uU2Vz
c2lvbiB3aWxsIHN1Z2dlc3QgcXVhbGl0eS1vZi1zZXJ2aWNlIHRpZXJzIHRvIGJlIHVzZWQgd2hl
biBkZWNvbXByZXNzaW9uCisgICAgICAgIGNhbid0IGtlZXAgdXAgd2l0aCBwbGF5YmFjayBzcGVl
ZC4gVXNlIGEgc2ltcGxlIGV4cG9uZW50aWFsLW1vdmluZy1hdmVyYWdlIGhldXJpc3RpYyB0bwor
ICAgICAgICBkZXRlcm1pbmUgd2hlbiB0byBtb3ZlIHVwIGFuZCBkb3duIHRoZSB0aWVycy4KKwor
ICAgICAgICBEcml2ZS1ieSBmaXg6IFdoZW4gZnJhbWVzIGFyZSBzbyBsYXRlIHRoYXQgdGhleSBt
aXNzIHRoZSBkaXNwbGF5IGRlYWRsaW5lLCBtYXJrIHRoZW0gYXMKKyAgICAgICAgZHJvcHBlZCBy
YXRoZXIgdGhhbiBqdXN0IGRlbGF5ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVuc3VyZURlY29tcHJlc3Npb25T
ZXNzaW9uRm9yU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6ZGVjb2RlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXBy
ZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OnJlc2V0UW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OmluY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmRlY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGlj
cyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5rLmg6CisKIDIwMTct
MDktMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29h
XSBFbmFibGUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBidWlsZC10aW1lIHNldHRpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcAppbmRleCAzZmVhMTE3MDdiMTU5M2QwYWQxY2VjMjFhMzJmNTgyZTFlYWVkYzA2Li4yM2U3
YzAyYWNiODA3N2M2MjY3ZmM5ZjIwYmFkNTY2YTg4MDEzMmRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCkBAIC0z
Myw2ICszMyw3IEBAIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUSW1hZ2VSb3RhdGlvblNlc3Npb24q
IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25SZWY7CiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94KQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eSwgT1NTdGF0dXMs
IChWVFNlc3Npb25SZWYgc2Vzc2lvbiwgQ0ZTdHJpbmdSZWYgcHJvcGVydHlLZXksIENGQWxsb2Nh
dG9yUmVmIGFsbG9jYXRvciwgdm9pZCogcHJvcGVydHlWYWx1ZU91dCksIChzZXNzaW9uLCBwcm9w
ZXJ0eUtleSwgYWxsb2NhdG9yLCBwcm9wZXJ0eVZhbHVlT3V0KSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRTZXNzaW9uU2V0UHJvcGVydHks
IE9TU3RhdHVzLCAoVlRTZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIHByb3BlcnR5S2V5
LCBDRlR5cGVSZWYgcHJvcGVydHlWYWx1ZSksIChzZXNzaW9uLCBwcm9wZXJ0eUtleSwgcHJvcGVy
dHlWYWx1ZSkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rv
b2xib3gsIFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0
b3JSZWYgYWxsb2NhdG9yLCBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25SZWYgdmlkZW9Gb3JtYXRE
ZXNjcmlwdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIHZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24sIENG
RGljdGlvbmFyeVJlZiBkZXN0aW5hdGlvbkltYWdlQnVmZmVyQXR0cmlidXRlcywgY29uc3QgVlRE
ZWNvbXByZXNzaW9uT3V0cHV0Q2FsbGJhY2tSZWNvcmQqIG91dHB1dENhbGxiYWNrLCBWVERlY29t
cHJlc3Npb25TZXNzaW9uUmVmKiBkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCksIChhbGxvY2F0b3Is
IHZpZGVvRm9ybWF0RGVzY3JpcHRpb24sIHZpZGVvRGVjb2RlclNwZWNpZmljYXRpb24sIGRlc3Rp
bmF0aW9uSW1hZ2VCdWZmZXJBdHRyaWJ1dGVzLCBvdXRwdXRDYWxsYmFjaywgZGVjb21wcmVzc2lv
blNlc3Npb25PdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlk
ZW9Ub29sYm94LCBWVERlY29tcHJlc3Npb25TZXNzaW9uQ2FuQWNjZXB0Rm9ybWF0RGVzY3JpcHRp
b24sIEJvb2xlYW4sIChWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24sIENNRm9ybWF0
RGVzY3JpcHRpb25SZWYgbmV3Rm9ybWF0RGVzYyksIChzZXNzaW9uLCBuZXdGb3JtYXREZXNjKSkK
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRE
ZWNvbXByZXNzaW9uU2Vzc2lvbldhaXRGb3JBc3luY2hyb25vdXNGcmFtZXMsIE9TU3RhdHVzLCAo
VlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uKSwgKHNlc3Npb24pKQpAQCAtNDUsNiAr
NDYsNyBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fTUFZX0ZBSUxfRk9SX1NPVVJDRShXZWJDb3JlLCBW
aWRlb1Rvb2xib3gsIFZUR2V0R1ZBRGVjb2RlckF2YQogU09GVF9MSU5LX0ZVTkNUSU9OX01BWV9G
QUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVENyZWF0ZUNHSW1hZ2VGcm9t
Q1ZQaXhlbEJ1ZmZlciwgT1NTdGF0dXMsIChDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBD
RkRpY3Rpb25hcnlSZWYgb3B0aW9ucywgQ0dJbWFnZVJlZiogaW1hZ2VPdXQpLCAocGl4ZWxCdWZm
ZXIsIG9wdGlvbnMsIGltYWdlT3V0KSkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVI
YXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyLCBDRlN0cmluZ1JlZikKIFNPRlRfTElOS19D
T05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZURGVjb21wcmVzc2lv
blByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIENGU3RyaW5nUmVmKQog
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRJ
bWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRW5hYmxlSGlnaFNwZWVkVHJhbnNmZXIsIENGU3RyaW5n
UmVmKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94
LCBrVlRJbWFnZVJvdGF0aW9uUHJvcGVydHlLZXlfRmxpcEhvcml6b250YWxPcmllbnRhdGlvbiwg
Q0ZTdHJpbmdSZWYpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRl
b1Rvb2xib3gsIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9GbGlwVmVydGljYWxPcmllbnRh
dGlvbiwgQ0ZTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9Ub29sYm94U29mdExpbmsuaAppbmRleCA4OGUzZjNlN2UzOTkyYTAzNjE5Nzg4NDRm
MTcyZGY5MjYxODVjOTQxLi5kOGZkN2Q4Nzc4NTZjZDUyOTBkNmRlZWExODlkZjE3MWMyYjY4Nzkx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hT
b2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJv
eFNvZnRMaW5rLmgKQEAgLTM0LDYgKzM0LDggQEAgU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVB
REVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCkKIAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFE
RVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlc3Npb25Db3B5UHJvcGVydHksIE9TU3RhdHVz
LCAoVlRTZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIHByb3BlcnR5S2V5LCBDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IsIHZvaWQqIHByb3BlcnR5VmFsdWVPdXQpLCAoc2Vzc2lvbiwgcHJv
cGVydHlLZXksIGFsbG9jYXRvciwgcHJvcGVydHlWYWx1ZU91dCkpCiAjZGVmaW5lIFZUU2Vzc2lv
bkNvcHlQcm9wZXJ0eSBzb2Z0TGlua19WaWRlb1Rvb2xib3hfVlRTZXNzaW9uQ29weVByb3BlcnR5
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZU
U2Vzc2lvblNldFByb3BlcnR5LCBPU1N0YXR1cywgKFZUU2Vzc2lvblJlZiBzZXNzaW9uLCBDRlN0
cmluZ1JlZiBwcm9wZXJ0eUtleSwgQ0ZUeXBlUmVmIHByb3BlcnR5VmFsdWUpLCAoc2Vzc2lvbiwg
cHJvcGVydHlLZXksIHByb3BlcnR5VmFsdWUpKQorI2RlZmluZSBWVFNlc3Npb25TZXRQcm9wZXJ0
eSBzb2Z0TGlua19WaWRlb1Rvb2xib3hfVlRTZXNzaW9uU2V0UHJvcGVydHkKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXByZXNzaW9u
U2Vzc2lvbkNyZWF0ZSwgT1NTdGF0dXMsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENNVmlk
ZW9Gb3JtYXREZXNjcmlwdGlvblJlZiB2aWRlb0Zvcm1hdERlc2NyaXB0aW9uLCBDRkRpY3Rpb25h
cnlSZWYgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgQ0ZEaWN0aW9uYXJ5UmVmIGRlc3RpbmF0
aW9uSW1hZ2VCdWZmZXJBdHRyaWJ1dGVzLCBjb25zdCBWVERlY29tcHJlc3Npb25PdXRwdXRDYWxs
YmFja1JlY29yZCogb3V0cHV0Q2FsbGJhY2ssIFZURGVjb21wcmVzc2lvblNlc3Npb25SZWYqIGRl
Y29tcHJlc3Npb25TZXNzaW9uT3V0KSwgKGFsbG9jYXRvciwgdmlkZW9Gb3JtYXREZXNjcmlwdGlv
biwgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgZGVzdGluYXRpb25JbWFnZUJ1ZmZlckF0dHJp
YnV0ZXMsIG91dHB1dENhbGxiYWNrLCBkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCkpCiAjZGVmaW5l
IFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZURGVj
b21wcmVzc2lvblNlc3Npb25DcmVhdGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdl
YkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNhbkFjY2VwdEZvcm1h
dERlc2NyaXB0aW9uLCBCb29sZWFuLCAoVlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9u
LCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIG5ld0Zvcm1hdERlc2MpLCAoc2Vzc2lvbiwgbmV3Rm9y
bWF0RGVzYykpCkBAIC01OCw2ICs2MCw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVS
KFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvCiAjZGVm
aW5lIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRl
ZFZpZGVvRGVjb2RlciBnZXRfVmlkZW9Ub29sYm94X2tWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRp
b25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlcigpCiBTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9QaXhlbEJ1ZmZlclBvb2wsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrVlREZWNv
bXByZXNzaW9uUHJvcGVydHlLZXlfUGl4ZWxCdWZmZXJQb29sIGdldF9WaWRlb1Rvb2xib3hfa1ZU
RGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1BpeGVsQnVmZmVyUG9vbCgpCitTT0ZUX0xJTktfQ09O
U1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Q
cm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIENGU3RyaW5nUmVmKQor
I2RlZmluZSBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfU3VnZ2VzdGVkUXVhbGl0eU9mU2Vy
dmljZVRpZXJzIGdldF9WaWRlb1Rvb2xib3hfa1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1N1
Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycygpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hF
QURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9F
bmFibGVIaWdoU3BlZWRUcmFuc2ZlciwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtWVEltYWdlUm90
YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVIaWdoU3BlZWRUcmFuc2ZlciBnZXRfVmlkZW9Ub29sYm94
X2tWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVIaWdoU3BlZWRUcmFuc2ZlcigpCiBT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVElt
YWdlUm90YXRpb25Qcm9wZXJ0eUtleV9GbGlwSG9yaXpvbnRhbE9yaWVudGF0aW9uLCBDRlN0cmlu
Z1JlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgKaW5kZXggOWY0ZGYw
YTJkMjcxMGViZGI0ZWQwNDMyYjU2MGU2ZDZkZTRjODU1ZC4uZjE5NmMyMDE2Y2NmNzMwYTcxMDEy
YjcyMmJhZDlkNWZkNGE3NWU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNz
aW9uLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaD4KIAogdHlwZWRlZiBDRlR5cGVSZWYgQ01CdWZmZXJSZWY7Cit0eXBlZGVmIGNvbnN0IHN0
cnVjdCBfX0NGQXJyYXkgKiBDRkFycmF5UmVmOwogdHlwZWRlZiBzdHJ1Y3Qgb3BhcXVlQ01CdWZm
ZXJRdWV1ZSAqQ01CdWZmZXJRdWV1ZVJlZjsKIHR5cGVkZWYgc3RydWN0IG9wYXF1ZUNNU2FtcGxl
QnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZUNNVGltZWJh
c2UqIENNVGltZWJhc2VSZWY7CkBAIC0xMDAsNiArMTAxLDExIEBAIHByaXZhdGU6CiAgICAgc3Rh
dGljIENGQ29tcGFyaXNvblJlc3VsdCBjb21wYXJlQnVmZmVycyhDTUJ1ZmZlclJlZiBidWYxLCBD
TUJ1ZmZlclJlZiBidWYyLCB2b2lkKiByZWZjb24pOwogICAgIHZvaWQgbWF5YmVCZWNvbWVSZWFk
eUZvck1vcmVNZWRpYURhdGEoKTsKIAorICAgIHZvaWQgcmVzZXRRb3NUaWVyKCk7CisgICAgdm9p
ZCBpbmNyZWFzZVFvc1RpZXIoKTsKKyAgICB2b2lkIGRlY3JlYXNlUW9zVGllcigpOworICAgIHZv
aWQgdXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0aWNzKGRvdWJsZSByYXRpbyk7CisKICAg
ICBzdGF0aWMgY29uc3QgQ01JdGVtQ291bnQga01heGltdW1DYXBhY2l0eSA9IDEyMDsKICAgICBz
dGF0aWMgY29uc3QgQ01JdGVtQ291bnQga0hpZ2hXYXRlck1hcmsgPSA2MDsKICAgICBzdGF0aWMg
Y29uc3QgQ01JdGVtQ291bnQga0xvd1dhdGVyTWFyayA9IDE1OwpAQCAtMTE1LDYgKzEyMSwxMCBA
QCBwcml2YXRlOgogICAgIE9TT2JqZWN0UHRyPGRpc3BhdGNoX3NvdXJjZV90PiBtX3RpbWVyU291
cmNlOwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX25vdGlmaWNhdGlvbkNhbGxiYWNrOwog
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX2hhc0F2YWlsYWJsZUZyYW1lQ2FsbGJhY2s7Cisg
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fcW9zVGllcnM7CisgICAgbG9uZyBtX2N1cnJlbnRR
b3NUaWVyIHsgMCB9OworICAgIHVuc2lnbmVkIGxvbmcgbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVj
ayB7IDAgfTsKKyAgICBkb3VibGUgbV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UgeyAwIH07CiAK
ICAgICBib29sIG1faW52YWxpZGF0ZWQgeyBmYWxzZSB9OwogICAgIGludCBtX2ZyYW1lc0JlaW5n
RGVjb2RlZCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQpp
bmRleCBlOThiODRlYjY1MmEzYmFmODg5NjNkNWQzNWYwNWE5NmY5ZTE4M2VjLi43NzBlNzMyNWY4
MDJlNzFmYmNmMjA0NTc2OTY3NDUxYTJkYzQxZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0IDxDb3JlTWVkaWEv
Q01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NNRm9ybWF0RGVzY3JpcHRpb24u
aD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+Cisj
aW1wb3J0IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAj
aW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0u
aD4KQEAgLTIyOCw4ICsyMjksMTQgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OmVuc3VyZURlY29tcHJlc3Npb25TZXNzaW9uRm9yU2FtcGxlKENNU2FtcGxlQnUKICAgICAgICAg
ICAgIGF0dHJpYnV0ZXMgPSBAeyhOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRU
eXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpfTsKICAgICAgICAgfQogICAgICAg
ICBWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmIGRlY29tcHJlc3Npb25TZXNzaW9uT3V0ID0gbnVs
bHB0cjsKLSAgICAgICAgaWYgKG5vRXJyID09IFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgdmlkZW9Gb3JtYXREZXNjcmlwdGlvbiwgKENGRGljdGlvbmFy
eVJlZil2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCAoQ0ZEaWN0aW9uYXJ5UmVmKWF0dHJpYnV0
ZXMsIG51bGxwdHIsICZkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCkpCisgICAgICAgIGlmIChub0Vy
ciA9PSBWVERlY29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHZp
ZGVvRm9ybWF0RGVzY3JpcHRpb24sIChDRkRpY3Rpb25hcnlSZWYpdmlkZW9EZWNvZGVyU3BlY2lm
aWNhdGlvbiwgKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzLCBudWxscHRyLCAmZGVjb21wcmVz
c2lvblNlc3Npb25PdXQpKSB7CiAgICAgICAgICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uID0g
YWRvcHRDRihkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCk7CisgICAgICAgICAgICBDRkFycmF5UmVm
IHJhd1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycyA9IG51bGxwdHI7CisgICAgICAgICAg
ICBWVFNlc3Npb25Db3B5UHJvcGVydHkoZGVjb21wcmVzc2lvblNlc3Npb25PdXQsIGtWVERlY29t
cHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMsIGtDRkFs
bG9jYXRvckRlZmF1bHQsICZyYXdTdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNlVGllcnMpOworICAg
ICAgICAgICAgbV9xb3NUaWVycyA9IGFkb3B0Q0YocmF3U3VnZ2VzdGVkUXVhbGl0eU9mU2Vydmlj
ZVRpZXJzKTsKKyAgICAgICAgICAgIG1fY3VycmVudFFvc1RpZXIgPSAwOworICAgICAgICAgICAg
cmVzZXRRb3NUaWVyKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKQEAgLTI1Miw3ICsyNTksMTEg
QEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmRlY29kZVNhbXBsZShDTVNhbXBs
ZUJ1ZmZlclJlZiBzYW1wbGUsIGJvb2wgZGkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IFZURGVjb21wcmVzc2lvblNlc3Npb25EZWNvZGVGcmFtZVdpdGhPdXRwdXRIYW5kbGVyKG1fZGVj
b21wcmVzc2lvblNlc3Npb24uZ2V0KCksIHNhbXBsZSwgZmxhZ3MsIG51bGxwdHIsIFt0aGlzLCBk
aXNwbGF5aW5nXSAoT1NTdGF0dXMgc3RhdHVzLCBWVERlY29kZUluZm9GbGFncyBpbmZvRmxhZ3Ms
IENWSW1hZ2VCdWZmZXJSZWYgaW1hZ2VCdWZmZXIsIENNVGltZSBwcmVzZW50YXRpb25UaW1lU3Rh
bXAsIENNVGltZSBwcmVzZW50YXRpb25EdXJhdGlvbikgeworICAgIGRvdWJsZSBzdGFydFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBWVERlY29tcHJlc3Npb25TZXNz
aW9uRGVjb2RlRnJhbWVXaXRoT3V0cHV0SGFuZGxlcihtX2RlY29tcHJlc3Npb25TZXNzaW9uLmdl
dCgpLCBzYW1wbGUsIGZsYWdzLCBudWxscHRyLCBbdGhpcywgZGlzcGxheWluZywgc3RhcnRUaW1l
XShPU1N0YXR1cyBzdGF0dXMsIFZURGVjb2RlSW5mb0ZsYWdzIGluZm9GbGFncywgQ1ZJbWFnZUJ1
ZmZlclJlZiBpbWFnZUJ1ZmZlciwgQ01UaW1lIHByZXNlbnRhdGlvblRpbWVTdGFtcCwgQ01UaW1l
IHByZXNlbnRhdGlvbkR1cmF0aW9uKSB7CisgICAgICAgIGRvdWJsZSBkZWx0YVJhdGlvID0gKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnRUaW1lKSAvIENNVGltZUdldFNlY29u
ZHMocHJlc2VudGF0aW9uRHVyYXRpb24pOworCisgICAgICAgIHVwZGF0ZVFvc1dpdGhEZWNvZGVU
aW1lU3RhdGlzdGljcyhkZWx0YVJhdGlvKTsKICAgICAgICAgaGFuZGxlRGVjb21wcmVzc2lvbk91
dHB1dChkaXNwbGF5aW5nLCBzdGF0dXMsIGluZm9GbGFncywgaW1hZ2VCdWZmZXIsIHByZXNlbnRh
dGlvblRpbWVTdGFtcCwgcHJlc2VudGF0aW9uRHVyYXRpb24pOwogICAgIH0pOwogfQpAQCAtMzAy
LDEzICszMTMsNiBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVj
b21wcmVzc2lvbk91dHB1dChib29sIGRpc3BsYXlpbmcsIE9TUwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgaWYgKGRpc3BsYXlpbmcgJiYgbV90aW1lYmFzZSkgewotICAgICAgICBhdXRv
IGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQoKSk7Ci0gICAg
ICAgIGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgp
KTsKLSAgICAgICAgaWYgKGN1cnJlbnRSYXRlID4gMCAmJiBDTVRpbWVDb21wYXJlKHByZXNlbnRh
dGlvblRpbWVTdGFtcCwgY3VycmVudFRpbWUpIDwgMCkKLSAgICAgICAgICAgIG1fdG90YWxGcmFt
ZURlbGF5ICs9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lU3VidHJhY3QoY3VycmVudFRpbWUsIHBy
ZXNlbnRhdGlvblRpbWVTdGFtcCkpOwotICAgIH0KLQogICAgIGRpc3BhdGNoX2FzeW5jKG1fZW5x
dWVpbmdRdWV1ZS5nZXQoKSwgW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmUHRyKHRoaXMpLCBzdGF0
dXMsIGltYWdlU2FtcGxlQnVmZmVyID0gYWRvcHRDRihyYXdJbWFnZVNhbXBsZUJ1ZmZlciksIGlu
Zm9GbGFncywgZGlzcGxheWluZ10gewogICAgICAgICBVTlVTRURfUEFSQU0oaW5mb0ZsYWdzKTsK
ICAgICAgICAgcHJvdGVjdGVkVGhpcy0+ZW5xdWV1ZURlY29kZWRTYW1wbGUoaW1hZ2VTYW1wbGVC
dWZmZXIuZ2V0KCksIGRpc3BsYXlpbmcpOwpAQCAtMzYzLDcgKzM2Nyw3IEBAIHZvaWQgV2ViQ29y
ZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0aWNEZXF1ZXVlKCkKICAgICBpZiAocmVsZWFz
ZWRJbWFnZUJ1ZmZlcnMpCiAgICAgICAgIG1heWJlQmVjb21lUmVhZHlGb3JNb3JlTWVkaWFEYXRh
KCk7CiAKLSAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9t
YXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHkiLCB0aGlzLCB0b1N0cmluZyh0aW1lKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OmF1dG9tYXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHkiLCB0aGlzKTsKICAgICBDTVRpbWVi
YXNlU2V0VGltZXJEaXNwYXRjaFNvdXJjZU5leHRGaXJlVGltZShtX3RpbWViYXNlLmdldCgpLCBt
X3RpbWVyU291cmNlLmdldCgpLCBQQUw6OnRvQ01UaW1lKG5leHRGaXJlVGltZSksIDApOwogfQog
CkBAIC0zNzksNiArMzgzLDI3IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpl
bnF1ZXVlRGVjb2RlZFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKKyAgICBib29sIHNob3VsZE5vdGlmeSA9IHRydWU7CisKKyAgICBpZiAo
ZGlzcGxheWluZyAmJiBtX3RpbWViYXNlKSB7CisgICAgICAgIGF1dG8gY3VycmVudFJhdGUgPSBD
TVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgpKTsKKyAgICAgICAgYXV0byBjdXJyZW50
VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdldFRpbWUobV90aW1lYmFzZS5nZXQo
KSkpOworICAgICAgICBhdXRvIHByZXNlbnRhdGlvblN0YXJ0VGltZSA9IFBBTDo6dG9NZWRpYVRp
bWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1lU3RhbXAoc2FtcGxlKSk7CisgICAg
ICAgIGF1dG8gcHJlc2VudGF0aW9uRW5kVGltZSA9IHByZXNlbnRhdGlvblN0YXJ0VGltZSArIFBB
TDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJhdGlvbihzYW1wbGUpKTsKKyAgICAg
ICAgaWYgKGN1cnJlbnRUaW1lIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1lIHx8IGN1cnJlbnRUaW1l
ID49IHByZXNlbnRhdGlvbkVuZFRpbWUpCisgICAgICAgICAgICBzaG91bGROb3RpZnkgPSBmYWxz
ZTsKKworICAgICAgICBpZiAoY3VycmVudFJhdGUgPiAwICYmIHByZXNlbnRhdGlvbkVuZFRpbWUg
PCBjdXJyZW50VGltZSkgeworI2lmICFMT0dfRElTQUJMRUQKKyAgICAgICAgICAgIGF1dG8gYmVn
aW4gPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVHZXRGaXJzdFByZXNlbnRhdGlvblRp
bWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAgICAgICAgICAgIGF1dG8gZW5kID0g
UEFMOjp0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0RW5kUHJlc2VudGF0aW9uVGltZVN0YW1w
KG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOworICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViQ29y
ZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2RlZFNhbXBsZSglcCkgLSBkcm9wcGlu
ZyBmcmFtZSBsYXRlIGJ5ICVzLCBmcmFtZXNCZWluZ0RlY29kZWQoJWQpLCBwcm9kdWNlclF1ZXVl
KCVzIC0+ICVzKSIsIHRoaXMsIHRvU3RyaW5nKHByZXNlbnRhdGlvbkVuZFRpbWUgLSBjdXJyZW50
VGltZSkudXRmOCgpLmRhdGEoKSwgbV9mcmFtZXNCZWluZ0RlY29kZWQsIHRvU3RyaW5nKGJlZ2lu
KS51dGY4KCkuZGF0YSgpLCB0b1N0cmluZyhlbmQpLnV0ZjgoKS5kYXRhKCkpOworI2VuZGlmCisg
ICAgICAgICAgICArK21fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfQorCiAgICAgQ01CdWZmZXJRdWV1ZUVucXVldWUobV9wcm9kdWNlclF1
ZXVlLmdldCgpLCBzYW1wbGUpOwogCiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMzk0LDEzICs0MTks
OCBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6ZW5xdWV1ZURlY29kZWRTYW1w
bGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAgIGlmICghbV9oYXNBdmFpbGFibGVGcmFt
ZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV90aW1lYmFzZSkgewotICAg
ICAgICBhdXRvIGN1cnJlbnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVRpbWViYXNlR2V0VGlt
ZShtX3RpbWViYXNlLmdldCgpKSk7Ci0gICAgICAgIGF1dG8gcHJlc2VudGF0aW9uU3RhcnRUaW1l
ID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldFByZXNlbnRhdGlvblRpbWVTdGFt
cChzYW1wbGUpKTsKLSAgICAgICAgYXV0byBwcmVzZW50YXRpb25FbmRUaW1lID0gcHJlc2VudGF0
aW9uU3RhcnRUaW1lICsgUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdldER1cmF0aW9u
KHNhbXBsZSkpOwotICAgICAgICBpZiAoY3VycmVudFRpbWUgPCBwcmVzZW50YXRpb25TdGFydFRp
bWUgfHwgY3VycmVudFRpbWUgPj0gcHJlc2VudGF0aW9uRW5kVGltZSkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICB9CisgICAgaWYgKCFzaG91bGROb3RpZnkpCisgICAgICAgIHJldHVybjsKIAog
ICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwcm90ZWN0ZWRU
aGlzID0gbWFrZVJlZlB0cih0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKG1faGFzQXZhaWxhYmxl
RnJhbWVDYWxsYmFjayldIHsKICAgICAgICAgY2FsbGJhY2soKTsKQEAgLTUzNCw2ICs1NTQsNzEg
QEAgQ0ZDb21wYXJpc29uUmVzdWx0IFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6Y29tcGFy
ZUJ1ZmZlcnMoQ01CdWZmZXJSZWYgYnVmMSwKICAgICByZXR1cm4gKENGQ29tcGFyaXNvblJlc3Vs
dClDTVRpbWVDb21wYXJlKGdldFByZXNlbnRhdGlvblRpbWUoYnVmMSwgcmVmY29uKSwgZ2V0UHJl
c2VudGF0aW9uVGltZShidWYyLCByZWZjb24pKTsKIH0KIAordm9pZCBXZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb246OnJlc2V0UW9zVGllcigpCit7CisgICAgaWYgKCFtX3Fvc1RpZXJzIHx8ICFt
X2RlY29tcHJlc3Npb25TZXNzaW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJy
ZW50UW9zVGllciA8IDAgfHwgbV9jdXJyZW50UW9zVGllciA+PSBDRkFycmF5R2V0Q291bnQobV9x
b3NUaWVycy5nZXQoKSkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gdGllciA9IChDRkRp
Y3Rpb25hcnlSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtX3Fvc1RpZXJzLmdldCgpLCBtX2N1
cnJlbnRRb3NUaWVyKTsKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Np
b246OnJlc2V0UW9zVGllciglcCkgLSBjdXJyZW50UW9zVGllciglbGQpLCB0aWVyKCVAKSIsIHRo
aXMsIG1fY3VycmVudFFvc1RpZXIsIFsoTlNEaWN0aW9uYXJ5ICopdGllciBkZXNjcmlwdGlvbl0p
OworCisgICAgVlRTZXNzaW9uU2V0UHJvcGVydGllcyhtX2RlY29tcHJlc3Npb25TZXNzaW9uLmdl
dCgpLCB0aWVyKTsKKyAgICBtX2ZyYW1lc1NpbmNlTGFzdFFvc0NoZWNrID0gMDsKK30KKwordm9p
ZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmluY3JlYXNlUW9zVGllcigpCit7CisgICAg
aWYgKCFtX3Fvc1RpZXJzKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobV9jdXJyZW50UW9z
VGllciArIDEgPj0gQ0ZBcnJheUdldENvdW50KG1fcW9zVGllcnMuZ2V0KCkpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICArK21fY3VycmVudFFvc1RpZXI7CisgICAgcmVzZXRRb3NUaWVyKCk7Cit9
CisKK3ZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpkZWNyZWFzZVFvc1RpZXIoKQor
eworICAgIGlmICghbV9xb3NUaWVycykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fY3Vy
cmVudFFvc1RpZXIgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLS1tX2N1cnJlbnRRb3NU
aWVyOworICAgIHJlc2V0UW9zVGllcigpOworfQorCit2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6dXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0aWNzKGRvdWJsZSByYXRpbykK
K3sKKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGtNb3ZpbmdBdmVyYWdlQWxwaGFWYWx1ZSA9IDAu
MTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQga051bWJlck9mRnJhbWVzQmVmb3JlU3dpdGNo
aW5nVGllcnMgPSA2MDsKKyAgICBzdGF0aWMgY29uc3QgZG91YmxlIGtIaWdoV2F0ZXJEZWNvZGVS
YXRpbyA9IDEuOworICAgIHN0YXRpYyBjb25zdCBkb3VibGUga0xvd1dhdGVyRGVjb2RlUmF0aW8g
PSAwLjU7CisKKyAgICBpZiAoIW1fdGltZWJhc2UpCisgICAgICAgIHJldHVybjsKKworICAgIGRv
dWJsZSByYXRlID0gQ01UaW1lYmFzZUdldFJhdGUobV90aW1lYmFzZS5nZXQoKSk7CisgICAgaWYg
KCFyYXRlKQorICAgICAgICByYXRlID0gMTsKKworICAgIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVy
YWdlICs9IGtNb3ZpbmdBdmVyYWdlQWxwaGFWYWx1ZSAqIChyYXRpbyAtIG1fZGVjb2RlUmF0aW9N
b3ZpbmdBdmVyYWdlKSAqIHJhdGU7CisgICAgaWYgKCsrbV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVj
ayA8IGtOdW1iZXJPZkZyYW1lc0JlZm9yZVN3aXRjaGluZ1RpZXJzKQorICAgICAgICByZXR1cm47
CisKKyAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFv
c1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyglcCkgLSBmcmFtZXNTaW5jZUxhc3RRb3NDaGVjaygl
bGQpLCBkZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UoJWcpIiwgdGhpcywgbV9mcmFtZXNTaW5jZUxh
c3RRb3NDaGVjaywgbV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UpOworICAgIGlmIChtX2RlY29k
ZVJhdGlvTW92aW5nQXZlcmFnZSA+IGtIaWdoV2F0ZXJEZWNvZGVSYXRpbykKKyAgICAgICAgaW5j
cmVhc2VRb3NUaWVyKCk7CisgICAgZWxzZSBpZiAobV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2Ug
PCBrTG93V2F0ZXJEZWNvZGVSYXRpbykKKyAgICAgICAgZGVjcmVhc2VRb3NUaWVyKCk7CisgICAg
bV9mcmFtZXNTaW5jZUxhc3RRb3NDaGVjayA9IDA7Cit9CisKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322530</attachid>
            <date>2017-10-03 09:12:50 -0700</date>
            <delta_ts>2017-10-03 12:56:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-177769-20171003091249.patch</filename>
            <type>text/plain</type>
            <size>18482</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxYzNlYzhhMzAyM2Yx
MzI2YTBlYzNjYzY0OTFiOTcyMjFmMDRkOC4uNjAzMDc4YjYxYTNkNjAyZjFkOTViNTkzYmYyZjE4
ZmNjYzdhN2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE3LTEwLTAyICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBxdWFsaXR5
LW9mLXNlcnZpY2UgdGllcnMgaW4gV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgVlREZWNvbXByZXNzaW9uU2Vz
c2lvbiB3aWxsIHN1Z2dlc3QgcXVhbGl0eS1vZi1zZXJ2aWNlIHRpZXJzIHRvIGJlIHVzZWQgd2hl
biBkZWNvbXByZXNzaW9uCisgICAgICAgIGNhbid0IGtlZXAgdXAgd2l0aCBwbGF5YmFjayBzcGVl
ZC4gVXNlIGEgc2ltcGxlIGV4cG9uZW50aWFsLW1vdmluZy1hdmVyYWdlIGhldXJpc3RpYyB0bwor
ICAgICAgICBkZXRlcm1pbmUgd2hlbiB0byBtb3ZlIHVwIGFuZCBkb3duIHRoZSB0aWVycy4KKwor
ICAgICAgICBEcml2ZS1ieSBmaXg6IFdoZW4gZnJhbWVzIGFyZSBzbyBsYXRlIHRoYXQgdGhleSBt
aXNzIHRoZSBkaXNwbGF5IGRlYWRsaW5lLCBtYXJrIHRoZW0gYXMKKyAgICAgICAgZHJvcHBlZCBy
YXRoZXIgdGhhbiBqdXN0IGRlbGF5ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24ubW06CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmVuc3VyZURlY29tcHJlc3Npb25T
ZXNzaW9uRm9yU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXByZXNzaW9u
U2Vzc2lvbjo6ZGVjb2RlU2FtcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVEZWNvbXBy
ZXNzaW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OnJlc2V0UW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21wcmVzc2lvblNl
c3Npb246OmluY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmRlY3JlYXNlUW9zVGllcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGlj
cyk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5rLmg6CisKIDIwMTct
MDktMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29h
XSBFbmFibGUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSBidWlsZC10aW1lIHNldHRpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRMaW5r
LmNwcAppbmRleCAzZmVhMTE3MDdiMTU5M2QwYWQxY2VjMjFhMzJmNTgyZTFlYWVkYzA2Li4yM2M0
OTc4Y2E3YWZiMGY5ZmE2YTU1NDc3NzJhZDlmZWQ2NWYxNDM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCkBAIC0z
Myw2ICszMyw3IEBAIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVZUSW1hZ2VSb3RhdGlvblNlc3Npb24q
IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25SZWY7CiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94KQogCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eSwgT1NTdGF0dXMs
IChWVFNlc3Npb25SZWYgc2Vzc2lvbiwgQ0ZTdHJpbmdSZWYgcHJvcGVydHlLZXksIENGQWxsb2Nh
dG9yUmVmIGFsbG9jYXRvciwgdm9pZCogcHJvcGVydHlWYWx1ZU91dCksIChzZXNzaW9uLCBwcm9w
ZXJ0eUtleSwgYWxsb2NhdG9yLCBwcm9wZXJ0eVZhbHVlT3V0KSkKK1NPRlRfTElOS19GVU5DVElP
Tl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlRTZXNzaW9uU2V0UHJvcGVydGll
cywgT1NTdGF0dXMsIChWVFNlc3Npb25SZWYgc2Vzc2lvbiwgQ0ZEaWN0aW9uYXJ5UmVmIHByb3Bl
cnR5RGljdGlvbmFyeSksIChzZXNzaW9uLCBwcm9wZXJ0eURpY3Rpb25hcnkpKQogU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVERlY29tcHJlc3Np
b25TZXNzaW9uQ3JlYXRlLCBPU1N0YXR1cywgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciwgQ01W
aWRlb0Zvcm1hdERlc2NyaXB0aW9uUmVmIHZpZGVvRm9ybWF0RGVzY3JpcHRpb24sIENGRGljdGlv
bmFyeVJlZiB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBDRkRpY3Rpb25hcnlSZWYgZGVzdGlu
YXRpb25JbWFnZUJ1ZmZlckF0dHJpYnV0ZXMsIGNvbnN0IFZURGVjb21wcmVzc2lvbk91dHB1dENh
bGxiYWNrUmVjb3JkKiBvdXRwdXRDYWxsYmFjaywgVlREZWNvbXByZXNzaW9uU2Vzc2lvblJlZiog
ZGVjb21wcmVzc2lvblNlc3Npb25PdXQpLCAoYWxsb2NhdG9yLCB2aWRlb0Zvcm1hdERlc2NyaXB0
aW9uLCB2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCBkZXN0aW5hdGlvbkltYWdlQnVmZmVyQXR0
cmlidXRlcywgb3V0cHV0Q2FsbGJhY2ssIGRlY29tcHJlc3Npb25TZXNzaW9uT3V0KSkKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXBy
ZXNzaW9uU2Vzc2lvbkNhbkFjY2VwdEZvcm1hdERlc2NyaXB0aW9uLCBCb29sZWFuLCAoVlREZWNv
bXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIG5ld0Zv
cm1hdERlc2MpLCAoc2Vzc2lvbiwgbmV3Rm9ybWF0RGVzYykpCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIFZURGVjb21wcmVzc2lvblNlc3Npb25X
YWl0Rm9yQXN5bmNocm9ub3VzRnJhbWVzLCBPU1N0YXR1cywgKFZURGVjb21wcmVzc2lvblNlc3Np
b25SZWYgc2Vzc2lvbiksIChzZXNzaW9uKSkKQEAgLTQ1LDYgKzQ2LDcgQEAgU09GVF9MSU5LX0ZV
TkNUSU9OX01BWV9GQUlMX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVEdldEdW
QURlY29kZXJBdmEKIFNPRlRfTElOS19GVU5DVElPTl9NQVlfRkFJTF9GT1JfU09VUkNFKFdlYkNv
cmUsIFZpZGVvVG9vbGJveCwgVlRDcmVhdGVDR0ltYWdlRnJvbUNWUGl4ZWxCdWZmZXIsIE9TU3Rh
dHVzLCAoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ0ZEaWN0aW9uYXJ5UmVmIG9wdGlv
bnMsIENHSW1hZ2VSZWYqIGltYWdlT3V0KSwgKHBpeGVsQnVmZmVyLCBvcHRpb25zLCBpbWFnZU91
dCkpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBWaWRlb1Rvb2xib3gs
IGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZp
ZGVvRGVjb2RlciwgQ0ZTdHJpbmdSZWYpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShX
ZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhlbEJ1
ZmZlclBvb2wsIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgVmlkZW9Ub29sYm94LCBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfU3VnZ2VzdGVk
UXVhbGl0eU9mU2VydmljZVRpZXJzLCBDRlN0cmluZ1JlZikKIFNPRlRfTElOS19DT05TVEFOVF9G
T1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUSW1hZ2VSb3RhdGlvblByb3BlcnR5
S2V5X0VuYWJsZUhpZ2hTcGVlZFRyYW5zZmVyLCBDRlN0cmluZ1JlZikKIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUSW1hZ2VSb3RhdGlvblBy
b3BlcnR5S2V5X0ZsaXBIb3Jpem9udGFsT3JpZW50YXRpb24sIENGU3RyaW5nUmVmKQogU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBrVlRJbWFnZVJv
dGF0aW9uUHJvcGVydHlLZXlfRmxpcFZlcnRpY2FsT3JpZW50YXRpb24sIENGU3RyaW5nUmVmKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29m
dExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZpZGVvVG9vbGJveFNvZnRM
aW5rLmgKaW5kZXggODhlM2YzZTdlMzk5MmEwMzYxOTc4ODQ0ZjE3MmRmOTI2MTg1Yzk0MS4uOGY0
NmEzM2VlODlkN2NjY2UwOWU3ZjY3YTdlMjJmMDMxMmE4MzgyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb1Rvb2xib3hTb2Z0TGluay5oCkBAIC0zNCw2
ICszNCw4IEBAIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rv
b2xib3gpCiAKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9v
bGJveCwgVlRTZXNzaW9uQ29weVByb3BlcnR5LCBPU1N0YXR1cywgKFZUU2Vzc2lvblJlZiBzZXNz
aW9uLCBDRlN0cmluZ1JlZiBwcm9wZXJ0eUtleSwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCB2
b2lkKiBwcm9wZXJ0eVZhbHVlT3V0KSwgKHNlc3Npb24sIHByb3BlcnR5S2V5LCBhbGxvY2F0b3Is
IHByb3BlcnR5VmFsdWVPdXQpKQogI2RlZmluZSBWVFNlc3Npb25Db3B5UHJvcGVydHkgc29mdExp
bmtfVmlkZW9Ub29sYm94X1ZUU2Vzc2lvbkNvcHlQcm9wZXJ0eQorU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoV2ViQ29yZSwgVmlkZW9Ub29sYm94LCBWVFNlc3Npb25TZXRQcm9wZXJ0aWVz
LCBPU1N0YXR1cywgKFZUU2Vzc2lvblJlZiBzZXNzaW9uLCBDRkRpY3Rpb25hcnlSZWYgcHJvcGVy
dHlEaWN0aW9uYXJ5KSwgKHNlc3Npb24sIHByb3BlcnR5RGljdGlvbmFyeSkpCisjZGVmaW5lIFZU
U2Vzc2lvblNldFByb3BlcnRpZXMgc29mdExpbmtfVmlkZW9Ub29sYm94X1ZUU2Vzc2lvblNldFBy
b3BlcnRpZXMKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9v
bGJveCwgVlREZWNvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZSwgT1NTdGF0dXMsIChDRkFsbG9jYXRv
clJlZiBhbGxvY2F0b3IsIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvblJlZiB2aWRlb0Zvcm1hdERl
c2NyaXB0aW9uLCBDRkRpY3Rpb25hcnlSZWYgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgQ0ZE
aWN0aW9uYXJ5UmVmIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXJBdHRyaWJ1dGVzLCBjb25zdCBWVERl
Y29tcHJlc3Npb25PdXRwdXRDYWxsYmFja1JlY29yZCogb3V0cHV0Q2FsbGJhY2ssIFZURGVjb21w
cmVzc2lvblNlc3Npb25SZWYqIGRlY29tcHJlc3Npb25TZXNzaW9uT3V0KSwgKGFsbG9jYXRvciwg
dmlkZW9Gb3JtYXREZXNjcmlwdGlvbiwgdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgZGVzdGlu
YXRpb25JbWFnZUJ1ZmZlckF0dHJpYnV0ZXMsIG91dHB1dENhbGxiYWNrLCBkZWNvbXByZXNzaW9u
U2Vzc2lvbk91dCkpCiAjZGVmaW5lIFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUgc29mdExp
bmtfVmlkZW9Ub29sYm94X1ZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwgVlREZWNvbXByZXNzaW9u
U2Vzc2lvbkNhbkFjY2VwdEZvcm1hdERlc2NyaXB0aW9uLCBCb29sZWFuLCAoVlREZWNvbXByZXNz
aW9uU2Vzc2lvblJlZiBzZXNzaW9uLCBDTUZvcm1hdERlc2NyaXB0aW9uUmVmIG5ld0Zvcm1hdERl
c2MpLCAoc2Vzc2lvbiwgbmV3Rm9ybWF0RGVzYykpCkBAIC01OCw2ICs2MCw4IEBAIFNPRlRfTElO
S19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIFZpZGVvVG9vbGJveCwga1ZUVmlkZW9EZWNv
ZGVyU3BlY2lmaWNhdGlvCiAjZGVmaW5lIGtWVFZpZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5h
YmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVjb2RlciBnZXRfVmlkZW9Ub29sYm94X2tWVFZp
ZGVvRGVjb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRGVj
b2RlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xi
b3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9QaXhlbEJ1ZmZlclBvb2wsIENGU3RyaW5n
UmVmKQogI2RlZmluZSBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlfUGl4ZWxCdWZmZXJQb29s
IGdldF9WaWRlb1Rvb2xib3hfa1ZURGVjb21wcmVzc2lvblByb3BlcnR5S2V5X1BpeGVsQnVmZmVy
UG9vbCgpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xi
b3gsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5T2ZTZXJ2aWNl
VGllcnMsIENGU3RyaW5nUmVmKQorI2RlZmluZSBrVlREZWNvbXByZXNzaW9uUHJvcGVydHlLZXlf
U3VnZ2VzdGVkUXVhbGl0eU9mU2VydmljZVRpZXJzIGdldF9WaWRlb1Rvb2xib3hfa1ZURGVjb21w
cmVzc2lvblByb3BlcnR5S2V5X1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycygpCiBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3JlLCBWaWRlb1Rvb2xib3gsIGtWVEltYWdl
Um90YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVIaWdoU3BlZWRUcmFuc2ZlciwgQ0ZTdHJpbmdSZWYp
CiAjZGVmaW5lIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVIaWdoU3BlZWRUcmFu
c2ZlciBnZXRfVmlkZW9Ub29sYm94X2tWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVI
aWdoU3BlZWRUcmFuc2ZlcigpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihXZWJDb3Jl
LCBWaWRlb1Rvb2xib3gsIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9GbGlwSG9yaXpvbnRh
bE9yaWVudGF0aW9uLCBDRlN0cmluZ1JlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25T
ZXNzaW9uLmgKaW5kZXggOWY0ZGYwYTJkMjcxMGViZGI0ZWQwNDMyYjU2MGU2ZDZkZTRjODU1ZC4u
ZjE5NmMyMDE2Y2NmNzMwYTcxMDEyYjcyMmJhZDlkNWZkNGE3NWU4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25T
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2Vi
Q29yZURlY29tcHJlc3Npb25TZXNzaW9uLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAogdHlwZWRlZiBDRlR5cGVSZWYgQ01CdWZmZXJS
ZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGQXJyYXkgKiBDRkFycmF5UmVmOwogdHlwZWRl
ZiBzdHJ1Y3Qgb3BhcXVlQ01CdWZmZXJRdWV1ZSAqQ01CdWZmZXJRdWV1ZVJlZjsKIHR5cGVkZWYg
c3RydWN0IG9wYXF1ZUNNU2FtcGxlQnVmZmVyICpDTVNhbXBsZUJ1ZmZlclJlZjsKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZUNNVGltZWJhc2UqIENNVGltZWJhc2VSZWY7CkBAIC0xMDAsNiArMTAxLDEx
IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIENGQ29tcGFyaXNvblJlc3VsdCBjb21wYXJlQnVmZmVy
cyhDTUJ1ZmZlclJlZiBidWYxLCBDTUJ1ZmZlclJlZiBidWYyLCB2b2lkKiByZWZjb24pOwogICAg
IHZvaWQgbWF5YmVCZWNvbWVSZWFkeUZvck1vcmVNZWRpYURhdGEoKTsKIAorICAgIHZvaWQgcmVz
ZXRRb3NUaWVyKCk7CisgICAgdm9pZCBpbmNyZWFzZVFvc1RpZXIoKTsKKyAgICB2b2lkIGRlY3Jl
YXNlUW9zVGllcigpOworICAgIHZvaWQgdXBkYXRlUW9zV2l0aERlY29kZVRpbWVTdGF0aXN0aWNz
KGRvdWJsZSByYXRpbyk7CisKICAgICBzdGF0aWMgY29uc3QgQ01JdGVtQ291bnQga01heGltdW1D
YXBhY2l0eSA9IDEyMDsKICAgICBzdGF0aWMgY29uc3QgQ01JdGVtQ291bnQga0hpZ2hXYXRlck1h
cmsgPSA2MDsKICAgICBzdGF0aWMgY29uc3QgQ01JdGVtQ291bnQga0xvd1dhdGVyTWFyayA9IDE1
OwpAQCAtMTE1LDYgKzEyMSwxMCBAQCBwcml2YXRlOgogICAgIE9TT2JqZWN0UHRyPGRpc3BhdGNo
X3NvdXJjZV90PiBtX3RpbWVyU291cmNlOwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX25v
dGlmaWNhdGlvbkNhbGxiYWNrOwogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBtX2hhc0F2YWls
YWJsZUZyYW1lQ2FsbGJhY2s7CisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fcW9zVGllcnM7
CisgICAgbG9uZyBtX2N1cnJlbnRRb3NUaWVyIHsgMCB9OworICAgIHVuc2lnbmVkIGxvbmcgbV9m
cmFtZXNTaW5jZUxhc3RRb3NDaGVjayB7IDAgfTsKKyAgICBkb3VibGUgbV9kZWNvZGVSYXRpb01v
dmluZ0F2ZXJhZ2UgeyAwIH07CiAKICAgICBib29sIG1faW52YWxpZGF0ZWQgeyBmYWxzZSB9Owog
ICAgIGludCBtX2ZyYW1lc0JlaW5nRGVjb2RlZCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bi5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNv
bXByZXNzaW9uU2Vzc2lvbi5tbQppbmRleCBlOThiODRlYjY1MmEzYmFmODg5NjNkNWQzNWYwNWE5
NmY5ZTE4M2VjLi44NzIyY2QzNjNkYTQyYjg0NzA3YTViYTJlZThhOGY3NDE0NDBkNTZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVj
b21wcmVzc2lvblNlc3Npb24ubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ01CdWZmZXJRdWV1ZS5oPgogI2ltcG9ydCA8Q29yZU1lZGlh
L0NNRm9ybWF0RGVzY3JpcHRpb24uaD4KICNpbXBvcnQgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFU
aW1lQVZGb3VuZGF0aW9uLmg+CisjaW1wb3J0IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbXBvcnQg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWVkaWFUaW1lLmg+CiAjaW1wb3J0IDx3
dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KQEAgLTIyOCw4ICsyMjksMTQgQEAgdm9pZCBXZWJDb3Jl
RGVjb21wcmVzc2lvblNlc3Npb246OmVuc3VyZURlY29tcHJlc3Npb25TZXNzaW9uRm9yU2FtcGxl
KENNU2FtcGxlQnUKICAgICAgICAgICAgIGF0dHJpYnV0ZXMgPSBAeyhOU1N0cmluZyAqKWtDVlBp
eGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEp
fTsKICAgICAgICAgfQogICAgICAgICBWVERlY29tcHJlc3Npb25TZXNzaW9uUmVmIGRlY29tcHJl
c3Npb25TZXNzaW9uT3V0ID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKG5vRXJyID09IFZURGVjb21w
cmVzc2lvblNlc3Npb25DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdmlkZW9Gb3JtYXREZXNj
cmlwdGlvbiwgKENGRGljdGlvbmFyeVJlZil2aWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uLCAoQ0ZE
aWN0aW9uYXJ5UmVmKWF0dHJpYnV0ZXMsIG51bGxwdHIsICZkZWNvbXByZXNzaW9uU2Vzc2lvbk91
dCkpCisgICAgICAgIGlmIChub0VyciA9PSBWVERlY29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIHZpZGVvRm9ybWF0RGVzY3JpcHRpb24sIChDRkRpY3Rpb25hcnlS
ZWYpdmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbiwgKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVz
LCBudWxscHRyLCAmZGVjb21wcmVzc2lvblNlc3Npb25PdXQpKSB7CiAgICAgICAgICAgICBtX2Rl
Y29tcHJlc3Npb25TZXNzaW9uID0gYWRvcHRDRihkZWNvbXByZXNzaW9uU2Vzc2lvbk91dCk7Cisg
ICAgICAgICAgICBDRkFycmF5UmVmIHJhd1N1Z2dlc3RlZFF1YWxpdHlPZlNlcnZpY2VUaWVycyA9
IG51bGxwdHI7CisgICAgICAgICAgICBWVFNlc3Npb25Db3B5UHJvcGVydHkoZGVjb21wcmVzc2lv
blNlc3Npb25PdXQsIGtWVERlY29tcHJlc3Npb25Qcm9wZXJ0eUtleV9TdWdnZXN0ZWRRdWFsaXR5
T2ZTZXJ2aWNlVGllcnMsIGtDRkFsbG9jYXRvckRlZmF1bHQsICZyYXdTdWdnZXN0ZWRRdWFsaXR5
T2ZTZXJ2aWNlVGllcnMpOworICAgICAgICAgICAgbV9xb3NUaWVycyA9IGFkb3B0Q0YocmF3U3Vn
Z2VzdGVkUXVhbGl0eU9mU2VydmljZVRpZXJzKTsKKyAgICAgICAgICAgIG1fY3VycmVudFFvc1Rp
ZXIgPSAwOworICAgICAgICAgICAgcmVzZXRRb3NUaWVyKCk7CisgICAgICAgIH0KICAgICB9CiB9
CiAKQEAgLTI1Miw3ICsyNTksMTEgQEAgdm9pZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246
OmRlY29kZVNhbXBsZShDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUsIGJvb2wgZGkKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIFZURGVjb21wcmVzc2lvblNlc3Npb25EZWNvZGVGcmFtZVdp
dGhPdXRwdXRIYW5kbGVyKG1fZGVjb21wcmVzc2lvblNlc3Npb24uZ2V0KCksIHNhbXBsZSwgZmxh
Z3MsIG51bGxwdHIsIFt0aGlzLCBkaXNwbGF5aW5nXSAoT1NTdGF0dXMgc3RhdHVzLCBWVERlY29k
ZUluZm9GbGFncyBpbmZvRmxhZ3MsIENWSW1hZ2VCdWZmZXJSZWYgaW1hZ2VCdWZmZXIsIENNVGlt
ZSBwcmVzZW50YXRpb25UaW1lU3RhbXAsIENNVGltZSBwcmVzZW50YXRpb25EdXJhdGlvbikgewor
ICAgIGRvdWJsZSBzdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBWVERlY29tcHJlc3Npb25TZXNzaW9uRGVjb2RlRnJhbWVXaXRoT3V0cHV0SGFuZGxlcihtX2Rl
Y29tcHJlc3Npb25TZXNzaW9uLmdldCgpLCBzYW1wbGUsIGZsYWdzLCBudWxscHRyLCBbdGhpcywg
ZGlzcGxheWluZywgc3RhcnRUaW1lXShPU1N0YXR1cyBzdGF0dXMsIFZURGVjb2RlSW5mb0ZsYWdz
IGluZm9GbGFncywgQ1ZJbWFnZUJ1ZmZlclJlZiBpbWFnZUJ1ZmZlciwgQ01UaW1lIHByZXNlbnRh
dGlvblRpbWVTdGFtcCwgQ01UaW1lIHByZXNlbnRhdGlvbkR1cmF0aW9uKSB7CisgICAgICAgIGRv
dWJsZSBkZWx0YVJhdGlvID0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gc3RhcnRU
aW1lKSAvIENNVGltZUdldFNlY29uZHMocHJlc2VudGF0aW9uRHVyYXRpb24pOworCisgICAgICAg
IHVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3RhdGlzdGljcyhkZWx0YVJhdGlvKTsKICAgICAgICAg
aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dChkaXNwbGF5aW5nLCBzdGF0dXMsIGluZm9GbGFncywg
aW1hZ2VCdWZmZXIsIHByZXNlbnRhdGlvblRpbWVTdGFtcCwgcHJlc2VudGF0aW9uRHVyYXRpb24p
OwogICAgIH0pOwogfQpAQCAtMzAyLDEzICszMTMsNiBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNz
aW9uU2Vzc2lvbjo6aGFuZGxlRGVjb21wcmVzc2lvbk91dHB1dChib29sIGRpc3BsYXlpbmcsIE9T
UwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGRpc3BsYXlpbmcgJiYgbV90aW1l
YmFzZSkgewotICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gQ01UaW1lYmFzZUdldFRpbWUobV90
aW1lYmFzZS5nZXQoKSk7Ci0gICAgICAgIGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0
UmF0ZShtX3RpbWViYXNlLmdldCgpKTsKLSAgICAgICAgaWYgKGN1cnJlbnRSYXRlID4gMCAmJiBD
TVRpbWVDb21wYXJlKHByZXNlbnRhdGlvblRpbWVTdGFtcCwgY3VycmVudFRpbWUpIDwgMCkKLSAg
ICAgICAgICAgIG1fdG90YWxGcmFtZURlbGF5ICs9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lU3Vi
dHJhY3QoY3VycmVudFRpbWUsIHByZXNlbnRhdGlvblRpbWVTdGFtcCkpOwotICAgIH0KLQogICAg
IGRpc3BhdGNoX2FzeW5jKG1fZW5xdWVpbmdRdWV1ZS5nZXQoKSwgW3Byb3RlY3RlZFRoaXMgPSBt
YWtlUmVmUHRyKHRoaXMpLCBzdGF0dXMsIGltYWdlU2FtcGxlQnVmZmVyID0gYWRvcHRDRihyYXdJ
bWFnZVNhbXBsZUJ1ZmZlciksIGluZm9GbGFncywgZGlzcGxheWluZ10gewogICAgICAgICBVTlVT
RURfUEFSQU0oaW5mb0ZsYWdzKTsKICAgICAgICAgcHJvdGVjdGVkVGhpcy0+ZW5xdWV1ZURlY29k
ZWRTYW1wbGUoaW1hZ2VTYW1wbGVCdWZmZXIuZ2V0KCksIGRpc3BsYXlpbmcpOwpAQCAtMzYzLDcg
KzM2Nyw3IEBAIHZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjphdXRvbWF0aWNEZXF1
ZXVlKCkKICAgICBpZiAocmVsZWFzZWRJbWFnZUJ1ZmZlcnMpCiAgICAgICAgIG1heWJlQmVjb21l
UmVhZHlGb3JNb3JlTWVkaWFEYXRhKCk7CiAKLSAgICBMT0coTWVkaWEsICJXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHkiLCB0aGlz
LCB0b1N0cmluZyh0aW1lKS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0coTWVkaWEsICJXZWJDb3Jl
RGVjb21wcmVzc2lvblNlc3Npb246OmF1dG9tYXRpY0RlcXVldWUoJXApIC0gcXVldWUgZW1wdHki
LCB0aGlzKTsKICAgICBDTVRpbWViYXNlU2V0VGltZXJEaXNwYXRjaFNvdXJjZU5leHRGaXJlVGlt
ZShtX3RpbWViYXNlLmdldCgpLCBtX3RpbWVyU291cmNlLmdldCgpLCBQQUw6OnRvQ01UaW1lKG5l
eHRGaXJlVGltZSksIDApOwogfQogCkBAIC0zNzksNiArMzgzLDI3IEBAIHZvaWQgV2ViQ29yZURl
Y29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2RlZFNhbXBsZShDTVNhbXBsZUJ1ZmZlclJl
ZiBzYW1wbGUsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBib29sIHNob3VsZE5vdGlm
eSA9IHRydWU7CisKKyAgICBpZiAoZGlzcGxheWluZyAmJiBtX3RpbWViYXNlKSB7CisgICAgICAg
IGF1dG8gY3VycmVudFJhdGUgPSBDTVRpbWViYXNlR2V0UmF0ZShtX3RpbWViYXNlLmdldCgpKTsK
KyAgICAgICAgYXV0byBjdXJyZW50VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01UaW1lYmFzZUdl
dFRpbWUobV90aW1lYmFzZS5nZXQoKSkpOworICAgICAgICBhdXRvIHByZXNlbnRhdGlvblN0YXJ0
VGltZSA9IFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXRQcmVzZW50YXRpb25UaW1l
U3RhbXAoc2FtcGxlKSk7CisgICAgICAgIGF1dG8gcHJlc2VudGF0aW9uRW5kVGltZSA9IHByZXNl
bnRhdGlvblN0YXJ0VGltZSArIFBBTDo6dG9NZWRpYVRpbWUoQ01TYW1wbGVCdWZmZXJHZXREdXJh
dGlvbihzYW1wbGUpKTsKKyAgICAgICAgaWYgKGN1cnJlbnRUaW1lIDwgcHJlc2VudGF0aW9uU3Rh
cnRUaW1lIHx8IGN1cnJlbnRUaW1lID49IHByZXNlbnRhdGlvbkVuZFRpbWUpCisgICAgICAgICAg
ICBzaG91bGROb3RpZnkgPSBmYWxzZTsKKworICAgICAgICBpZiAoY3VycmVudFJhdGUgPiAwICYm
IHByZXNlbnRhdGlvbkVuZFRpbWUgPCBjdXJyZW50VGltZSkgeworI2lmICFMT0dfRElTQUJMRUQK
KyAgICAgICAgICAgIGF1dG8gYmVnaW4gPSBQQUw6OnRvTWVkaWFUaW1lKENNQnVmZmVyUXVldWVH
ZXRGaXJzdFByZXNlbnRhdGlvblRpbWVTdGFtcChtX3Byb2R1Y2VyUXVldWUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIGF1dG8gZW5kID0gUEFMOjp0b01lZGlhVGltZShDTUJ1ZmZlclF1ZXVlR2V0RW5k
UHJlc2VudGF0aW9uVGltZVN0YW1wKG1fcHJvZHVjZXJRdWV1ZS5nZXQoKSkpOworICAgICAgICAg
ICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjplbnF1ZXVlRGVjb2Rl
ZFNhbXBsZSglcCkgLSBkcm9wcGluZyBmcmFtZSBsYXRlIGJ5ICVzLCBmcmFtZXNCZWluZ0RlY29k
ZWQoJWQpLCBwcm9kdWNlclF1ZXVlKCVzIC0+ICVzKSIsIHRoaXMsIHRvU3RyaW5nKHByZXNlbnRh
dGlvbkVuZFRpbWUgLSBjdXJyZW50VGltZSkudXRmOCgpLmRhdGEoKSwgbV9mcmFtZXNCZWluZ0Rl
Y29kZWQsIHRvU3RyaW5nKGJlZ2luKS51dGY4KCkuZGF0YSgpLCB0b1N0cmluZyhlbmQpLnV0Zjgo
KS5kYXRhKCkpOworI2VuZGlmCisgICAgICAgICAgICArK21fZHJvcHBlZFZpZGVvRnJhbWVzOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAgQ01CdWZmZXJRdWV1
ZUVucXVldWUobV9wcm9kdWNlclF1ZXVlLmdldCgpLCBzYW1wbGUpOwogCiAjaWYgIUxPR19ESVNB
QkxFRApAQCAtMzk0LDEzICs0MTksOCBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bjo6ZW5xdWV1ZURlY29kZWRTYW1wbGUoQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlLAogICAgIGlm
ICghbV9oYXNBdmFpbGFibGVGcmFtZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAobV90aW1lYmFzZSkgewotICAgICAgICBhdXRvIGN1cnJlbnRUaW1lID0gUEFMOjp0b01lZGlh
VGltZShDTVRpbWViYXNlR2V0VGltZShtX3RpbWViYXNlLmdldCgpKSk7Ci0gICAgICAgIGF1dG8g
cHJlc2VudGF0aW9uU3RhcnRUaW1lID0gUEFMOjp0b01lZGlhVGltZShDTVNhbXBsZUJ1ZmZlckdl
dFByZXNlbnRhdGlvblRpbWVTdGFtcChzYW1wbGUpKTsKLSAgICAgICAgYXV0byBwcmVzZW50YXRp
b25FbmRUaW1lID0gcHJlc2VudGF0aW9uU3RhcnRUaW1lICsgUEFMOjp0b01lZGlhVGltZShDTVNh
bXBsZUJ1ZmZlckdldER1cmF0aW9uKHNhbXBsZSkpOwotICAgICAgICBpZiAoY3VycmVudFRpbWUg
PCBwcmVzZW50YXRpb25TdGFydFRpbWUgfHwgY3VycmVudFRpbWUgPj0gcHJlc2VudGF0aW9uRW5k
VGltZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYgKCFzaG91bGROb3RpZnkp
CisgICAgICAgIHJldHVybjsKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWlu
X3F1ZXVlKCksIFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKSwgY2FsbGJhY2sgPSBX
VEZNb3ZlKG1faGFzQXZhaWxhYmxlRnJhbWVDYWxsYmFjayldIHsKICAgICAgICAgY2FsbGJhY2so
KTsKQEAgLTUwNCw2ICs1MjQsOSBAQCB2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbjo6
Zmx1c2goKQogICAgICAgICBDTUJ1ZmZlclF1ZXVlUmVzZXQocHJvdGVjdGVkVGhpcy0+bV9wcm9k
dWNlclF1ZXVlLmdldCgpKTsKICAgICAgICAgZGlzcGF0Y2hfc3luYyhwcm90ZWN0ZWRUaGlzLT5t
X2VucXVlaW5nUXVldWUuZ2V0KCksIFtwcm90ZWN0ZWRUaGlzXSB7CiAgICAgICAgICAgICBDTUJ1
ZmZlclF1ZXVlUmVzZXQocHJvdGVjdGVkVGhpcy0+bV9jb25zdW1lclF1ZXVlLmdldCgpKTsKKyAg
ICAgICAgICAgIHByb3RlY3RlZFRoaXMtPm1fZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sgPSAwOwor
ICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+bV9jdXJyZW50UW9zVGllciA9IDA7CisgICAgICAg
ICAgICBwcm90ZWN0ZWRUaGlzLT5yZXNldFFvc1RpZXIoKTsKICAgICAgICAgfSk7CiAgICAgfSk7
CiB9CkBAIC01MzQsNiArNTU3LDcxIEBAIENGQ29tcGFyaXNvblJlc3VsdCBXZWJDb3JlRGVjb21w
cmVzc2lvblNlc3Npb246OmNvbXBhcmVCdWZmZXJzKENNQnVmZmVyUmVmIGJ1ZjEsCiAgICAgcmV0
dXJuIChDRkNvbXBhcmlzb25SZXN1bHQpQ01UaW1lQ29tcGFyZShnZXRQcmVzZW50YXRpb25UaW1l
KGJ1ZjEsIHJlZmNvbiksIGdldFByZXNlbnRhdGlvblRpbWUoYnVmMiwgcmVmY29uKSk7CiB9CiAK
K3ZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpyZXNldFFvc1RpZXIoKQoreworICAg
IGlmICghbV9xb3NUaWVycyB8fCAhbV9kZWNvbXByZXNzaW9uU2Vzc2lvbikKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKG1fY3VycmVudFFvc1RpZXIgPCAwIHx8IG1fY3VycmVudFFvc1RpZXIg
Pj0gQ0ZBcnJheUdldENvdW50KG1fcW9zVGllcnMuZ2V0KCkpKQorICAgICAgICByZXR1cm47CisK
KyAgICBhdXRvIHRpZXIgPSAoQ0ZEaWN0aW9uYXJ5UmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgo
bV9xb3NUaWVycy5nZXQoKSwgbV9jdXJyZW50UW9zVGllcik7CisgICAgTE9HKE1lZGlhLCAiV2Vi
Q29yZURlY29tcHJlc3Npb25TZXNzaW9uOjpyZXNldFFvc1RpZXIoJXApIC0gY3VycmVudFFvc1Rp
ZXIoJWxkKSwgdGllciglQCkiLCB0aGlzLCBtX2N1cnJlbnRRb3NUaWVyLCBbKE5TRGljdGlvbmFy
eSAqKXRpZXIgZGVzY3JpcHRpb25dKTsKKworICAgIFZUU2Vzc2lvblNldFByb3BlcnRpZXMobV9k
ZWNvbXByZXNzaW9uU2Vzc2lvbi5nZXQoKSwgdGllcik7CisgICAgbV9mcmFtZXNTaW5jZUxhc3RR
b3NDaGVjayA9IDA7Cit9CisKK3ZvaWQgV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uOjppbmNy
ZWFzZVFvc1RpZXIoKQoreworICAgIGlmICghbV9xb3NUaWVycykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKG1fY3VycmVudFFvc1RpZXIgKyAxID49IENGQXJyYXlHZXRDb3VudChtX3Fvc1Rp
ZXJzLmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgKyttX2N1cnJlbnRRb3NUaWVyOwor
ICAgIHJlc2V0UW9zVGllcigpOworfQorCit2b2lkIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lv
bjo6ZGVjcmVhc2VRb3NUaWVyKCkKK3sKKyAgICBpZiAoIW1fcW9zVGllcnMpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChtX2N1cnJlbnRRb3NUaWVyIDw9IDApCisgICAgICAgIHJldHVybjsK
KworICAgIC0tbV9jdXJyZW50UW9zVGllcjsKKyAgICByZXNldFFvc1RpZXIoKTsKK30KKwordm9p
ZCBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb246OnVwZGF0ZVFvc1dpdGhEZWNvZGVUaW1lU3Rh
dGlzdGljcyhkb3VibGUgcmF0aW8pCit7CisgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBrTW92aW5n
QXZlcmFnZUFscGhhVmFsdWUgPSAwLjE7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGtOdW1i
ZXJPZkZyYW1lc0JlZm9yZVN3aXRjaGluZ1RpZXJzID0gNjA7CisgICAgc3RhdGljIGNvbnN0IGRv
dWJsZSBrSGlnaFdhdGVyRGVjb2RlUmF0aW8gPSAxLjsKKyAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IGtMb3dXYXRlckRlY29kZVJhdGlvID0gMC41OworCisgICAgaWYgKCFtX3RpbWViYXNlKQorICAg
ICAgICByZXR1cm47CisKKyAgICBkb3VibGUgcmF0ZSA9IENNVGltZWJhc2VHZXRSYXRlKG1fdGlt
ZWJhc2UuZ2V0KCkpOworICAgIGlmICghcmF0ZSkKKyAgICAgICAgcmF0ZSA9IDE7CisKKyAgICBt
X2RlY29kZVJhdGlvTW92aW5nQXZlcmFnZSArPSBrTW92aW5nQXZlcmFnZUFscGhhVmFsdWUgKiAo
cmF0aW8gLSBtX2RlY29kZVJhdGlvTW92aW5nQXZlcmFnZSkgKiByYXRlOworICAgIGlmICgrK21f
ZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sgPCBrTnVtYmVyT2ZGcmFtZXNCZWZvcmVTd2l0Y2hpbmdU
aWVycykKKyAgICAgICAgcmV0dXJuOworCisgICAgTE9HKE1lZGlhLCAiV2ViQ29yZURlY29tcHJl
c3Npb25TZXNzaW9uOjp1cGRhdGVRb3NXaXRoRGVjb2RlVGltZVN0YXRpc3RpY3MoJXApIC0gZnJh
bWVzU2luY2VMYXN0UW9zQ2hlY2soJWxkKSwgZGVjb2RlUmF0aW9Nb3ZpbmdBdmVyYWdlKCVnKSIs
IHRoaXMsIG1fZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2ssIG1fZGVjb2RlUmF0aW9Nb3ZpbmdBdmVy
YWdlKTsKKyAgICBpZiAobV9kZWNvZGVSYXRpb01vdmluZ0F2ZXJhZ2UgPiBrSGlnaFdhdGVyRGVj
b2RlUmF0aW8pCisgICAgICAgIGluY3JlYXNlUW9zVGllcigpOworICAgIGVsc2UgaWYgKG1fZGVj
b2RlUmF0aW9Nb3ZpbmdBdmVyYWdlIDwga0xvd1dhdGVyRGVjb2RlUmF0aW8pCisgICAgICAgIGRl
Y3JlYXNlUW9zVGllcigpOworICAgIG1fZnJhbWVzU2luY2VMYXN0UW9zQ2hlY2sgPSAwOworfQor
CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>