<?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>180735</bug_id>
          
          <creation_ts>2017-12-12 19:34:18 -0800</creation_ts>
          <short_desc>[iOS] Take process assertion to prevent the service worker process from getting suspended</short_desc>
          <delta_ts>2017-12-13 10:14:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381024</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-12 19:34:18 -0800</bug_when>
    <thetext>Take process assertion to prevent the service worker process from getting suspended while it is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381047</commentid>
    <comment_count>1</comment_count>
      <attachid>329201</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-12 21:20:15 -0800</bug_when>
    <thetext>Created attachment 329201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381050</commentid>
    <comment_count>2</comment_count>
      <attachid>329203</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-12 21:28:51 -0800</bug_when>
    <thetext>Created attachment 329203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381162</commentid>
    <comment_count>3</comment_count>
      <attachid>329203</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 10:13:51 -0800</bug_when>
    <thetext>Comment on attachment 329203
Patch

Clearing flags on attachment: 329203

Committed r225850: &lt;https://trac.webkit.org/changeset/225850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381163</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 10:13:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381164</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-13 10:14:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/36023845&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329201</attachid>
            <date>2017-12-12 21:20:15 -0800</date>
            <delta_ts>2017-12-12 21:28:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180735-20171212212015.patch</filename>
            <type>text/plain</type>
            <size>14506</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyOWFkYTBkYzEyOTZmNDUw
NTE3NTk2YjFkZTFiZGZlNTRmYTk3NWMuLmIzMjQ4MzZhNWIyNzNlYmYzZTliYzhjN2M5ZGM5MzY3
MTM5NmRjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTctMTItMTIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUYWtlIHByb2Nlc3MgYXNz
ZXJ0aW9uIHRvIHByZXZlbnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgZnJvbSBnZXR0aW5n
IHN1c3BlbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgwNzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGFrZSBwcm9jZXNzIGFzc2VydGlvbiB0byBwcmV2ZW50IHRoZSBzZXJ2aWNlIHdvcmtlciBw
cm9jZXNzIGZyb20gZ2V0dGluZyBzdXNwZW5kZWQgd2hpbGUKKyAgICAgICAgaXQgaXMgc3RpbGwg
bmVlZGVkLiBXZSB1c2UgdGhlIHNhbWUgcG9saWN5IGFzIGZvciB0aGUgbmV0d29yayBwcm9jZXNz
LCBtZWFuaW5nIHRoYXQKKyAgICAgICAgdW5zdXNwZW5kZWQgV2ViQ29udGVudCBwcm9jZXNzZXMg
cHJldmVudCB0aGUgc2VydmljZSB3b3JrZXIgcHJvY2VzcyBmcm9tIGdldHRpbmcgc3VzcGVuZGVk
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggc3RpbGwgZG9lcyBub3QgZW5hYmxlIHNlcnZpY2Ugd29y
a2VycyBvbiBpT1MuIFRoZSBkZW1vIGF0IGh0dHBzOi8vbWRuLmdpdGh1Yi5pby9zdy10ZXN0Lwor
ICAgICAgICBhcHBlYXJzIHRvIHdvcmsuIEhvd2V2ZXIsIHRoaW5ncyBhcmUgbm90IHdvcmtpbmcg
YXMgZXhwZWN0ZWQgZm9yIG1vYmlsZS50d2l0dGVyLmNvbSB3aGVyZSBJCisgICAgICAgIHNlZSB0
aGUgZmV0Y2hlcyBpbnRlcmNlcHRlZCBieSB0aGUgc2VydmljZSB3b3JrZXIgZmFpbCB3aGVuIG9m
ZmxpbmUgZm9yIHNvbWUgcmVhc29uICh1bnJlbGF0ZWQKKyAgICAgICAgdG8gcHJvY2VzcyBzdXNw
ZW5zaW9uKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dXBkYXRlUHJvY2Vzc0Fzc2Vy
dGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVpbnN0YXRlTmV0d29y
a1Byb2Nlc3NBc3NlcnRpb25TdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9mb3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIp
OgorICAgICAgICAoV2ViS2l0OjptX2JhY2tncm91bmRXZWJQcm9jZXNzQ291bnRlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVOZXR3b3JrUHJvY2Vzcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVj
dGlvblRvU3RvcmFnZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
ZGlzY29ubmVjdFByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0YXRlKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisKIDIwMTctMTItMTIgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBJUEMgY29kZSBkb2Vzbid0IHVu
ZGVyc3RhbmQgTlNEaWN0aW9uYXJpZXMgd2l0aCBub24tTlNTdHJpbmcga2V5cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5k
ZXggODE1NjdlMmEwZWFhMTIzMjQzMzdiNjdiNDg4YjI2MjkyNThkYjllOS4uMWU1NDQ4M2ZkYmNk
MWZmOTQ3NTVmZmQ4MGNjMDQ2OGZlOTE1NmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC02MzksNCArNjM5LDU2
IEBAIGludCB3ZWJQcm9jZXNzVGhyb3VnaHB1dFFPUygpCiAgICAgcmV0dXJuIHFvczsKIH0KIAor
I2lmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NBc3Nl
cnRpb25zKCkKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgYXV0byB1cGRhdGVT
ZXJ2aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbiA9IFsmXSB7CisgICAgICAgIGlmIChtX3NlcnZp
Y2VXb3JrZXJQcm9jZXNzICYmIG1fZm9yZWdyb3VuZFdlYlByb2Nlc3NDb3VudGVyLnZhbHVlKCkp
IHsKKyAgICAgICAgICAgIGlmICghbV9mb3JlZ3JvdW5kVG9rZW5Gb3JTZXJ2aWNlV29ya2VyUHJv
Y2VzcykKKyAgICAgICAgICAgICAgICBtX2ZvcmVncm91bmRUb2tlbkZvclNlcnZpY2VXb3JrZXJQ
cm9jZXNzID0gbV9zZXJ2aWNlV29ya2VyUHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5VG9rZW4oKTsKKyAgICAgICAgICAgIG1fYmFja2dyb3VuZFRva2VuRm9yU2VydmljZVdv
cmtlclByb2Nlc3MgPSBudWxscHRyOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJQcm9jZXNzICYmIG1fYmFja2dyb3VuZFdlYlByb2Nl
c3NDb3VudGVyLnZhbHVlKCkpIHsKKyAgICAgICAgICAgIGlmICghbV9iYWNrZ3JvdW5kVG9rZW5G
b3JTZXJ2aWNlV29ya2VyUHJvY2VzcykKKyAgICAgICAgICAgICAgICBtX2JhY2tncm91bmRUb2tl
bkZvclNlcnZpY2VXb3JrZXJQcm9jZXNzID0gbV9zZXJ2aWNlV29ya2VyUHJvY2Vzcy0+dGhyb3R0
bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICAgICAgICAgIG1fZm9yZWdyb3Vu
ZFRva2VuRm9yU2VydmljZVdvcmtlclByb2Nlc3MgPSBudWxscHRyOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yU2VydmljZVdvcmtl
clByb2Nlc3MgPSBudWxscHRyOworICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvclNlcnZpY2VX
b3JrZXJQcm9jZXNzID0gbnVsbHB0cjsKKyAgICB9OworICAgIHVwZGF0ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzQXNzZXJ0aW9uKCk7CisjZW5kaWYKKworICAgIGF1dG8gdXBkYXRlTmV0d29ya1Byb2Nl
c3NBc3NlcnRpb24gPSBbJl0geworICAgICAgICBpZiAobV9mb3JlZ3JvdW5kV2ViUHJvY2Vzc0Nv
dW50ZXIudmFsdWUoKSkgeworICAgICAgICAgICAgaWYgKCFtX2ZvcmVncm91bmRUb2tlbkZvck5l
dHdvcmtQcm9jZXNzKQorICAgICAgICAgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29y
a1Byb2Nlc3MgPSBlbnN1cmVOZXR3b3JrUHJvY2VzcygpLnRocm90dGxlcigpLmZvcmVncm91bmRB
Y3Rpdml0eVRva2VuKCk7CisgICAgICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQ
cm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBpZiAobV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIudmFsdWUoKSkgeworICAgICAgICAg
ICAgaWYgKCFtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzKQorICAgICAgICAgICAg
ICAgIG1fYmFja2dyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBlbnN1cmVOZXR3b3JrUHJv
Y2VzcygpLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7CisgICAgICAgICAg
ICBtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdv
cmtQcm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAgbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3Jr
UHJvY2VzcyA9IG51bGxwdHI7CisgICAgfTsKKyAgICB1cGRhdGVOZXR3b3JrUHJvY2Vzc0Fzc2Vy
dGlvbigpOworfQorCit2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWluc3RhdGVOZXR3b3JrUHJvY2Vz
c0Fzc2VydGlvblN0YXRlKE5ldHdvcmtQcm9jZXNzUHJveHkmIG5ld05ldHdvcmtQcm9jZXNzUHJv
eHkpCit7CisgICAgLy8gVGhlIG5ldHdvcmsgcHJvY2VzcyBjcmFzaGVkOyB0YWtlIG5ldyB0b2tl
bnMgZm9yIHRoZSBuZXcgbmV0d29yayBwcm9jZXNzLgorICAgIGlmIChtX2JhY2tncm91bmRUb2tl
bkZvck5ldHdvcmtQcm9jZXNzKQorICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQ
cm9jZXNzID0gbmV3TmV0d29ya1Byb2Nlc3NQcm94eS50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0
aXZpdHlUb2tlbigpOworICAgIGVsc2UgaWYgKG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1By
b2Nlc3MpCisgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBuZXdO
ZXR3b3JrUHJvY2Vzc1Byb3h5LnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eVRva2VuKCk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZmM0MjNiN2E3MDNkMzU1YTQ0ZmU0MDFhZTJl
YjgxZDk3MGU3NzA1MS4uNjM0ZmE2M2FmZDI3ODk3MTc3MDVjMjllZDMyM2JlY2VmN2E0MmU5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjM0LDYg
KzIzNCwxMCBAQCBXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCiAgICAgLCBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bv
b2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQpCiAgICAgLCBt
X3NlcnZpY2VXb3JrZXJQcm9jZXNzVGVybWluYXRpb25UaW1lcihSdW5Mb29wOjptYWluKCksIHRo
aXMsICZXZWJQcm9jZXNzUG9vbDo6dGVybWluYXRlU2VydmljZVdvcmtlclByb2Nlc3MpCisjaWYg
UExBVEZPUk0oSU9TKQorICAgICwgbV9mb3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIoW3RoaXNd
KFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpOyB9KQorICAgICwg
bV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1
cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpOyB9KQorI2VuZGlmCiB7CiAgICAgaWYgKG1fY29uZmln
dXJhdGlvbi0+c2hvdWxkSGF2ZUxlZ2FjeURhdGFTdG9yZSgpKQogICAgICAgICBtX3dlYnNpdGVE
YXRhU3RvcmUgPSBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmNyZWF0ZUxlZ2FjeShsZWdhY3lXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbihtX2NvbmZpZ3VyYXRpb24pKTsKQEAgLTQ4Niw4ICs0
OTAsOSBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29y
a1Byb2Nlc3MoV2Vic2l0ZURhdGFTdG9yZSogd2l0aAogCiAgICAgaWYgKG1fZGlkTmV0d29ya1By
b2Nlc3NDcmFzaCkgewogICAgICAgICBtX2RpZE5ldHdvcmtQcm9jZXNzQ3Jhc2ggPSBmYWxzZTsK
LSAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogbV9wcm9jZXNzZXMpCi0gICAgICAgICAgICBw
cm9jZXNzLT5yZWluc3RhdGVOZXR3b3JrUHJvY2Vzc0Fzc2VydGlvblN0YXRlKCptX25ldHdvcmtQ
cm9jZXNzKTsKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgIHJlaW5zdGF0ZU5ldHdvcmtQcm9j
ZXNzQXNzZXJ0aW9uU3RhdGUoKm1fbmV0d29ya1Byb2Nlc3MpOworI2VuZGlmCiAgICAgICAgIGlm
IChtX3dlYnNpdGVEYXRhU3RvcmUpCiAgICAgICAgICAgICBtX3dlYnNpdGVEYXRhU3RvcmUtPndl
YnNpdGVEYXRhU3RvcmUoKS5uZXR3b3JrUHJvY2Vzc0RpZENyYXNoKCk7CiAgICAgfQpAQCAtNTk4
LDYgKzYwMyw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFdvcmtlckNvbnRleHRD
b25uZWN0aW9uVG9TdG9yYWdlUHJvY2VzcyhTdG9yYWdlUHJvCiAKICAgICBhdXRvIHNlcnZpY2VX
b3JrZXJQcm9jZXNzUHJveHkgPSBTZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRo
aXMsIG1fd2Vic2l0ZURhdGFTdG9yZS0+d2Vic2l0ZURhdGFTdG9yZSgpKTsKICAgICBtX3NlcnZp
Y2VXb3JrZXJQcm9jZXNzID0gc2VydmljZVdvcmtlclByb2Nlc3NQcm94eS5wdHIoKTsKKyAgICB1
cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpOwogICAgIGluaXRpYWxpemVOZXdXZWJQcm9jZXNzKHNl
cnZpY2VXb3JrZXJQcm9jZXNzUHJveHkuZ2V0KCksIG1fd2Vic2l0ZURhdGFTdG9yZS0+d2Vic2l0
ZURhdGFTdG9yZSgpKTsKICAgICBtX3Byb2Nlc3Nlcy5hcHBlbmQoV1RGTW92ZShzZXJ2aWNlV29y
a2VyUHJvY2Vzc1Byb3h5KSk7CiAKQEAgLTkyMyw4ICs5MjksMTAgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQogICAgIGlm
IChtX3Byb2Nlc3NXaXRoUGFnZUNhY2hlID09IHByb2Nlc3MpCiAgICAgICAgIG1fcHJvY2Vzc1dp
dGhQYWdlQ2FjaGUgPSBudWxscHRyOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBp
ZiAobV9zZXJ2aWNlV29ya2VyUHJvY2VzcyA9PSBwcm9jZXNzKQorICAgIGlmIChtX3NlcnZpY2VX
b3JrZXJQcm9jZXNzID09IHByb2Nlc3MpIHsKICAgICAgICAgbV9zZXJ2aWNlV29ya2VyUHJvY2Vz
cyA9IG51bGxwdHI7CisgICAgICAgIHVwZGF0ZVByb2Nlc3NBc3NlcnRpb25zKCk7CisgICAgfQog
I2VuZGlmCiAKICAgICBzdGF0aWNfY2FzdDxXZWJDb250ZXh0U3VwcGxlbWVudCo+KHN1cHBsZW1l
bnQ8V2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk+KCkpLT5wcm9jZXNzRGlkQ2xvc2UocHJvY2Vz
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAxZGQ1MzUx
ZDA0NjNlMmVkNGQ0OTZhYjJjNDQ4MGQ0ZmZhZWZjYjAwLi5iMTIwODdhYTU3NjRiYzZkZjliNjdk
NjViZTI3MzE4MjQxMDlkNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgKQEAgLTQyNSw2ICs0MjUsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB1aW50NjRfdCBy
ZWdpc3RlclByb2Nlc3NQb29sQ3JlYXRpb25MaXN0ZW5lcihGdW5jdGlvbjx2b2lkKFdlYlByb2Nl
c3NQb29sJik+JiYpOwogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJQcm9jZXNzUG9vbENyZWF0
aW9uTGlzdGVuZXIodWludDY0X3QgaWRlbnRpZmllcik7CiAKKyNpZiBQTEFURk9STShJT1MpCisg
ICAgRm9yZWdyb3VuZFdlYlByb2Nlc3NUb2tlbiBmb3JlZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuKCkg
Y29uc3QgeyByZXR1cm4gRm9yZWdyb3VuZFdlYlByb2Nlc3NUb2tlbihtX2ZvcmVncm91bmRXZWJQ
cm9jZXNzQ291bnRlci5jb3VudCgpKTsgfQorICAgIEJhY2tncm91bmRXZWJQcm9jZXNzVG9rZW4g
YmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbigpIGNvbnN0IHsgcmV0dXJuIEJhY2tncm91bmRXZWJQ
cm9jZXNzVG9rZW4obV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIuY291bnQoKSk7IH0KKyNl
bmRpZgorCiBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKQEAgLTQ1
MSw2ICs0NTYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NTdG9wcGVkVXNpbmdHYW1l
cGFkcyhXZWJQcm9jZXNzUHJveHkmKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TKQorICAg
IHZvaWQgcmVpbnN0YXRlTmV0d29ya1Byb2Nlc3NBc3NlcnRpb25TdGF0ZShOZXR3b3JrUHJvY2Vz
c1Byb3h5Jik7CisgICAgdm9pZCB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpOworI2VuZGlmCisK
ICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5l
cmF0ZWQgV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKQEAg
LTYzNyw2ICs2NDcsMTcgQEAgcHJpdmF0ZToKIAogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQs
IEhhc2hTZXQ8V2ViUGFnZVByb3h5Kj4+IG1fc2Vzc2lvblRvUGFnZXNNYXA7CiAgICAgUnVuTG9v
cDo6VGltZXI8V2ViUHJvY2Vzc1Bvb2w+IG1fc2VydmljZVdvcmtlclByb2Nlc3NUZXJtaW5hdGlv
blRpbWVyOworCisjaWYgUExBVEZPUk0oSU9TKQorICAgIEZvcmVncm91bmRXZWJQcm9jZXNzQ291
bnRlciBtX2ZvcmVncm91bmRXZWJQcm9jZXNzQ291bnRlcjsKKyAgICBCYWNrZ3JvdW5kV2ViUHJv
Y2Vzc0NvdW50ZXIgbV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7CisgICAgUHJvY2Vzc1Ro
cm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5VG9rZW4gbV9mb3JlZ3JvdW5kVG9rZW5Gb3JOZXR3
b3JrUHJvY2VzczsKKyAgICBQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5kQWN0aXZpdHlUb2tl
biBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzOworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICBQcm9jZXNzVGhyb3R0bGVyOjpGb3JlZ3JvdW5kQWN0aXZpdHlUb2tlbiBt
X2ZvcmVncm91bmRUb2tlbkZvclNlcnZpY2VXb3JrZXJQcm9jZXNzOworICAgIFByb2Nlc3NUaHJv
dHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRva2VuIG1fYmFja2dyb3VuZFRva2VuRm9yU2Vydmlj
ZVdvcmtlclByb2Nlc3M7CisjZW5kaWYKKyNlbmRpZgogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDMy
Zjk0NjQwN2I3ZDE3YjY4Y2VkNGU1MzYyOTc4YTUxNDg2MjBmNjQuLjlhMTJiYzI1NDY0OWIyZmQ3
ZDQzYzQwZTRjYTBjMjA1MTA1MDYzYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcApAQCAtMTA1Nyw1MSArMTA1NywzOSBAQCB2b2lkIFdlYlByb2Nlc3NQ
cm94eTo6ZGlkQ2FuY2VsUHJvY2Vzc1N1c3BlbnNpb24oKQogICAgIG1fdGhyb3R0bGVyLmRpZENh
bmNlbFByb2Nlc3NTdXNwZW5zaW9uKCk7CiB9CiAKLXZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWlu
c3RhdGVOZXR3b3JrUHJvY2Vzc0Fzc2VydGlvblN0YXRlKE5ldHdvcmtQcm9jZXNzUHJveHkmIG5l
d05ldHdvcmtQcm9jZXNzUHJveHkpCi17Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgIEFTU0VSVCgh
bV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzcyB8fCAhbV9mb3JlZ3JvdW5kVG9rZW5G
b3JOZXR3b3JrUHJvY2Vzcyk7Ci0KLSAgICAvLyBUaGUgbmV0d29yayBwcm9jZXNzIGNyYXNoZWQ7
IHRha2UgbmV3IHRva2VucyBmb3IgdGhlIG5ldyBuZXR3b3JrIHByb2Nlc3MuCi0gICAgaWYgKG1f
YmFja2dyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MpCi0gICAgICAgIG1fYmFja2dyb3VuZFRv
a2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBuZXdOZXR3b3JrUHJvY2Vzc1Byb3h5LnRocm90dGxlcigp
LmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7Ci0gICAgZWxzZSBpZiAobV9mb3JlZ3JvdW5kVG9r
ZW5Gb3JOZXR3b3JrUHJvY2VzcykKLSAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW5Gb3JOZXR3b3Jr
UHJvY2VzcyA9IG5ld05ldHdvcmtQcm9jZXNzUHJveHkudGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5VG9rZW4oKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG5ld05ldHdvcmtQcm9jZXNz
UHJveHkpOwotI2VuZGlmCi19Ci0KIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRp
b25TdGF0ZShBc3NlcnRpb25TdGF0ZSBzdGF0ZSkKIHsKICNpZiBQTEFURk9STShJT1MpCi0gICAg
QVNTRVJUKCFtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzIHx8ICFtX2ZvcmVncm91
bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzKTsKKyAgICBpZiAoaXNTZXJ2aWNlV29ya2VyUHJvY2Vz
cygpKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoIW1fYmFja2dyb3VuZFRva2VuIHx8
ICFtX2ZvcmVncm91bmRUb2tlbik7CiAKICAgICBzd2l0Y2ggKHN0YXRlKSB7CiAgICAgY2FzZSBB
c3NlcnRpb25TdGF0ZTo6U3VzcGVuZGVkOgogICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3Vz
cGVuc2lvbiwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25TdGF0ZShTdXNw
ZW5kZWQpIHJlbGVhc2UgYWxsIGFzc2VydGlvbnMgZm9yIG5ldHdvcmsgcHJvY2VzcyIsIHRoaXMp
OwotICAgICAgICBtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gbnVsbHB0cjsK
LSAgICAgICAgbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzcyA9IG51bGxwdHI7Cisg
ICAgICAgIG1fZm9yZWdyb3VuZFRva2VuID0gbnVsbHB0cjsKKyAgICAgICAgbV9iYWNrZ3JvdW5k
VG9rZW4gPSBudWxscHRyOwogICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFs
dWVzKCkpCiAgICAgICAgICAgICBwYWdlLT5wcm9jZXNzV2lsbEJlY29tZVN1c3BlbmRlZCgpOwog
ICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQ6CiAg
ICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQcm9jZXNzUHJv
eHk6OmRpZFNldEFzc2VydGlvblN0YXRlKEJhY2tncm91bmQpIHRha2luZyBiYWNrZ3JvdW5kIGFz
c2VydGlvbiBmb3IgbmV0d29yayBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgICAgIG1fYmFja2dyb3Vu
ZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBwcm9jZXNzUG9vbCgpLmVuc3VyZU5ldHdvcmtQcm9j
ZXNzKCkudGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKLSAgICAgICAgbV9m
b3JlZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzcyA9IG51bGxwdHI7CisgICAgICAgIG1fYmFj
a2dyb3VuZFRva2VuID0gcHJvY2Vzc1Bvb2woKS5iYWNrZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuKCk7
CisgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuID0gbnVsbHB0cjsKICAgICAgICAgYnJlYWs7CiAg
ICAgCiAgICAgY2FzZSBBc3NlcnRpb25TdGF0ZTo6Rm9yZWdyb3VuZDoKICAgICAgICAgUkVMRUFT
RV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6ZGlkU2V0QXNz
ZXJ0aW9uU3RhdGUoRm9yZWdyb3VuZCkgdGFraW5nIGZvcmVncm91bmQgYXNzZXJ0aW9uIGZvciBu
ZXR3b3JrIHByb2Nlc3MiLCB0aGlzKTsKLSAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW5Gb3JOZXR3
b3JrUHJvY2VzcyA9IHByb2Nlc3NQb29sKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3MoKS50aHJvdHRs
ZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHlUb2tlbigpOwotICAgICAgICBtX2JhY2tncm91bmRUb2tl
bkZvck5ldHdvcmtQcm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW4g
PSBwcm9jZXNzUG9vbCgpLmZvcmVncm91bmRXZWJQcm9jZXNzVG9rZW4oKTsKKyAgICAgICAgbV9i
YWNrZ3JvdW5kVG9rZW4gPSBudWxscHRyOwogICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3Bh
Z2VNYXAudmFsdWVzKCkpCiAgICAgICAgICAgICBwYWdlLT5wcm9jZXNzV2lsbEJlY29tZUZvcmVn
cm91bmQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgQVNTRVJUKCFtX2JhY2tncm91
bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzIHx8ICFtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdvcmtQ
cm9jZXNzKTsKKyAgICBBU1NFUlQoIW1fYmFja2dyb3VuZFRva2VuIHx8ICFtX2ZvcmVncm91bmRU
b2tlbik7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggMzY5NzJhNTMxZDU0NTVmMWQ4
ZWJiNTkxOTU3YTEyNDhkYjdhNWQ4Mi4uMzliMWQyNTU1OWQ3YTZiMDkwOTg3MTI1YWU5YjdiYzg4
MDQxYzI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAg
LTc3LDYgKzc3LDE1IEBAIHN0cnVjdCBXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlOwogc3RydWN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3QgV2Vic2l0ZURhdGE7CiAKKyNpZiBQTEFU
Rk9STShJT1MpCitlbnVtIEZvcmVncm91bmRXZWJQcm9jZXNzQ291bnRlclR5cGUgeyB9OwordHlw
ZWRlZiBSZWZDb3VudGVyPEZvcmVncm91bmRXZWJQcm9jZXNzQ291bnRlclR5cGU+IEZvcmVncm91
bmRXZWJQcm9jZXNzQ291bnRlcjsKK3R5cGVkZWYgRm9yZWdyb3VuZFdlYlByb2Nlc3NDb3VudGVy
OjpUb2tlbiBGb3JlZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuOworZW51bSBCYWNrZ3JvdW5kV2ViUHJv
Y2Vzc0NvdW50ZXJUeXBlIHsgfTsKK3R5cGVkZWYgUmVmQ291bnRlcjxCYWNrZ3JvdW5kV2ViUHJv
Y2Vzc0NvdW50ZXJUeXBlPiBCYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7Cit0eXBlZGVmIEJh
Y2tncm91bmRXZWJQcm9jZXNzQ291bnRlcjo6VG9rZW4gQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tl
bjsKKyNlbmRpZgorCiBjbGFzcyBXZWJQcm9jZXNzUHJveHkgOiBwdWJsaWMgQ2hpbGRQcm9jZXNz
UHJveHksIHB1YmxpYyBSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQsIHByaXZhdGUgUHJvY2Vz
c1Rocm90dGxlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4+IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW1N
YXA7CkBAIC0xNzQsOCArMTgzLDYgQEAgcHVibGljOgogCiAgICAgUHJvY2Vzc1Rocm90dGxlciYg
dGhyb3R0bGVyKCkgeyByZXR1cm4gbV90aHJvdHRsZXI7IH0KIAotICAgIHZvaWQgcmVpbnN0YXRl
TmV0d29ya1Byb2Nlc3NBc3NlcnRpb25TdGF0ZShOZXR3b3JrUHJvY2Vzc1Byb3h5Jik7Ci0KICAg
ICB2b2lkIGlzUmVzcG9uc2l2ZShXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCBpc1dlYlByb2Nlc3NS
ZXNwb25zaXZlKT4mJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWFpblRocmVhZFBpbmcoKTsKICAg
ICB2b2lkIGRpZFJlY2VpdmVCYWNrZ3JvdW5kUmVzcG9uc2l2ZW5lc3NQaW5nKCk7CkBAIC0yODAs
OCArMjg3LDggQEAgcHJpdmF0ZToKICAgICBQcm9jZXNzVGhyb3R0bGVyIG1fdGhyb3R0bGVyOwog
ICAgIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRva2VuIG1fdG9rZW5Gb3JI
b2xkaW5nTG9ja2VkRmlsZXM7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgIFByb2Nlc3NUaHJvdHRs
ZXI6OkZvcmVncm91bmRBY3Rpdml0eVRva2VuIG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1By
b2Nlc3M7Ci0gICAgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4gbV9i
YWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzczsKKyAgICBGb3JlZ3JvdW5kV2ViUHJvY2Vz
c1Rva2VuIG1fZm9yZWdyb3VuZFRva2VuOworICAgIEJhY2tncm91bmRXZWJQcm9jZXNzVG9rZW4g
bV9iYWNrZ3JvdW5kVG9rZW47CiAjZW5kaWYKIAogICAgIEhhc2hNYXA8U3RyaW5nLCB1aW50NjRf
dD4gbV9wYWdlVVJMUmV0YWluQ291bnRNYXA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329203</attachid>
            <date>2017-12-12 21:28:51 -0800</date>
            <delta_ts>2017-12-13 10:13:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180735-20171212212850.patch</filename>
            <type>text/plain</type>
            <size>14186</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyOWFkYTBkYzEyOTZmNDUw
NTE3NTk2YjFkZTFiZGZlNTRmYTk3NWMuLjg2Y2E4ZDQ1MDFkOTI4NjFmODc3YjJiNWZkOGY1YWJi
MDk4MjU3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTctMTItMTIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUYWtlIHByb2Nlc3MgYXNz
ZXJ0aW9uIHRvIHByZXZlbnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgZnJvbSBnZXR0aW5n
IHN1c3BlbmRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgwNzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGFrZSBwcm9jZXNzIGFzc2VydGlvbiB0byBwcmV2ZW50IHRoZSBzZXJ2aWNlIHdvcmtlciBw
cm9jZXNzIGZyb20gZ2V0dGluZyBzdXNwZW5kZWQgd2hpbGUKKyAgICAgICAgaXQgaXMgc3RpbGwg
bmVlZGVkLiBXZSB1c2UgdGhlIHNhbWUgcG9saWN5IGFzIGZvciB0aGUgbmV0d29yayBwcm9jZXNz
LCBtZWFuaW5nIHRoYXQKKyAgICAgICAgdW5zdXNwZW5kZWQgV2ViQ29udGVudCBwcm9jZXNzZXMg
cHJldmVudCB0aGUgc2VydmljZSB3b3JrZXIgcHJvY2VzcyBmcm9tIGdldHRpbmcgc3VzcGVuZGVk
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggc3RpbGwgZG9lcyBub3QgZW5hYmxlIHNlcnZpY2Ugd29y
a2VycyBvbiBpT1MuIFRoZSBkZW1vIGF0IGh0dHBzOi8vbWRuLmdpdGh1Yi5pby9zdy10ZXN0Lwor
ICAgICAgICBhcHBlYXJzIHRvIHdvcmsuIEhvd2V2ZXIsIHRoaW5ncyBhcmUgbm90IHdvcmtpbmcg
YXMgZXhwZWN0ZWQgZm9yIG1vYmlsZS50d2l0dGVyLmNvbSB3aGVyZSBJCisgICAgICAgIHNlZSB0
aGUgZmV0Y2hlcyBpbnRlcmNlcHRlZCBieSB0aGUgc2VydmljZSB3b3JrZXIgZmFpbCB3aGVuIG9m
ZmxpbmUgZm9yIHNvbWUgcmVhc29uICh1bnJlbGF0ZWQKKyAgICAgICAgdG8gcHJvY2VzcyBzdXNw
ZW5zaW9uKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Om1fZm9yZWdyb3VuZFdlYlByb2Nlc3NDb3VudGVyKToKKyAgICAgICAgKFdl
YktpdDo6bV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6ZW5zdXJlTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub1N0b3JhZ2VQ
cm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmRpc2Nvbm5lY3RQcm9j
ZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZVByb2Nlc3NBc3Nl
cnRpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlaW5zdGF0ZU5ldHdv
cmtQcm9jZXNzQXNzZXJ0aW9uU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0YXRlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisKIDIwMTctMTItMTIgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBJUEMgY29kZSBkb2Vz
bid0IHVuZGVyc3RhbmQgTlNEaWN0aW9uYXJpZXMgd2l0aCBub24tTlNTdHJpbmcga2V5cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGZjNDIzYjdhNzAz
ZDM1NWE0NGZlNDAxYWUyZWI4MWQ5NzBlNzcwNTEuLjc0ZjI1NTMzNTM1MmVkZWI1YmYyYzc1YjUz
NzMwOThjOGY5ZmE1ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKQEAgLTIzNCw2ICsyMzQsMTAgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29s
KEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgICwgbV9o
aWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVy
RXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOyB9
KQogICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhp
cywgJldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFz
ZUxpbWl0KQogICAgICwgbV9zZXJ2aWNlV29ya2VyUHJvY2Vzc1Rlcm1pbmF0aW9uVGltZXIoUnVu
TG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6OnRlcm1pbmF0ZVNlcnZpY2VXb3Jr
ZXJQcm9jZXNzKQorI2lmIFBMQVRGT1JNKElPUykKKyAgICAsIG1fZm9yZWdyb3VuZFdlYlByb2Nl
c3NDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc0Fzc2VydGlv
bnMoKTsgfSkKKyAgICAsIG1fYmFja2dyb3VuZFdlYlByb2Nlc3NDb3VudGVyKFt0aGlzXShSZWZD
b3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc0Fzc2VydGlvbnMoKTsgfSkKKyNlbmRpZgogewog
ICAgIGlmIChtX2NvbmZpZ3VyYXRpb24tPnNob3VsZEhhdmVMZWdhY3lEYXRhU3RvcmUoKSkKICAg
ICAgICAgbV93ZWJzaXRlRGF0YVN0b3JlID0gQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpjcmVhdGVM
ZWdhY3kobGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24obV9jb25maWd1cmF0aW9u
KSk7CkBAIC00ODYsOCArNDkwLDcgQEAgTmV0d29ya1Byb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bv
b2w6OmVuc3VyZU5ldHdvcmtQcm9jZXNzKFdlYnNpdGVEYXRhU3RvcmUqIHdpdGgKIAogICAgIGlm
IChtX2RpZE5ldHdvcmtQcm9jZXNzQ3Jhc2gpIHsKICAgICAgICAgbV9kaWROZXR3b3JrUHJvY2Vz
c0NyYXNoID0gZmFsc2U7Ci0gICAgICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IG1fcHJvY2Vzc2Vz
KQotICAgICAgICAgICAgcHJvY2Vzcy0+cmVpbnN0YXRlTmV0d29ya1Byb2Nlc3NBc3NlcnRpb25T
dGF0ZSgqbV9uZXR3b3JrUHJvY2Vzcyk7CisgICAgICAgIHJlaW5zdGF0ZU5ldHdvcmtQcm9jZXNz
QXNzZXJ0aW9uU3RhdGUoKm1fbmV0d29ya1Byb2Nlc3MpOwogICAgICAgICBpZiAobV93ZWJzaXRl
RGF0YVN0b3JlKQogICAgICAgICAgICAgbV93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0
b3JlKCkubmV0d29ya1Byb2Nlc3NEaWRDcmFzaCgpOwogICAgIH0KQEAgLTU5OCw2ICs2MDEsNyBA
QCB2b2lkIFdlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRv
U3RvcmFnZVByb2Nlc3MoU3RvcmFnZVBybwogCiAgICAgYXV0byBzZXJ2aWNlV29ya2VyUHJvY2Vz
c1Byb3h5ID0gU2VydmljZVdvcmtlclByb2Nlc3NQcm94eTo6Y3JlYXRlKCp0aGlzLCBtX3dlYnNp
dGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKSk7CiAgICAgbV9zZXJ2aWNlV29ya2VyUHJv
Y2VzcyA9IHNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHkucHRyKCk7CisgICAgdXBkYXRlUHJvY2Vz
c0Fzc2VydGlvbnMoKTsKICAgICBpbml0aWFsaXplTmV3V2ViUHJvY2VzcyhzZXJ2aWNlV29ya2Vy
UHJvY2Vzc1Byb3h5LmdldCgpLCBtX3dlYnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUo
KSk7CiAgICAgbV9wcm9jZXNzZXMuYXBwZW5kKFdURk1vdmUoc2VydmljZVdvcmtlclByb2Nlc3NQ
cm94eSkpOwogCkBAIC05MjMsOCArOTI3LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmRpc2Nv
bm5lY3RQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykKICAgICBpZiAobV9wcm9jZXNz
V2l0aFBhZ2VDYWNoZSA9PSBwcm9jZXNzKQogICAgICAgICBtX3Byb2Nlc3NXaXRoUGFnZUNhY2hl
ID0gbnVsbHB0cjsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKG1fc2Vydmlj
ZVdvcmtlclByb2Nlc3MgPT0gcHJvY2VzcykKKyAgICBpZiAobV9zZXJ2aWNlV29ya2VyUHJvY2Vz
cyA9PSBwcm9jZXNzKSB7CiAgICAgICAgIG1fc2VydmljZVdvcmtlclByb2Nlc3MgPSBudWxscHRy
OworICAgICAgICB1cGRhdGVQcm9jZXNzQXNzZXJ0aW9ucygpOworICAgIH0KICNlbmRpZgogCiAg
ICAgc3RhdGljX2Nhc3Q8V2ViQ29udGV4dFN1cHBsZW1lbnQqPihzdXBwbGVtZW50PFdlYkdlb2xv
Y2F0aW9uTWFuYWdlclByb3h5PigpKS0+cHJvY2Vzc0RpZENsb3NlKHByb2Nlc3MpOwpAQCAtMTc0
NSw0ICsxNzUxLDYwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlcG9ydFdlYkNvbnRlbnRDUFVU
aW1lKFNlY29uZHMgY3B1VGltZSwgdWludDY0X3QgYWN0aXZpdHlTCiAjZW5kaWYKIH0KIAordm9p
ZCBXZWJQcm9jZXNzUG9vbDo6dXBkYXRlUHJvY2Vzc0Fzc2VydGlvbnMoKQoreworI2lmIFBMQVRG
T1JNKElPUykKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgYXV0byB1cGRhdGVTZXJ2
aWNlV29ya2VyUHJvY2Vzc0Fzc2VydGlvbiA9IFsmXSB7CisgICAgICAgIGlmIChtX3NlcnZpY2VX
b3JrZXJQcm9jZXNzICYmIG1fZm9yZWdyb3VuZFdlYlByb2Nlc3NDb3VudGVyLnZhbHVlKCkpIHsK
KyAgICAgICAgICAgIGlmICghbV9mb3JlZ3JvdW5kVG9rZW5Gb3JTZXJ2aWNlV29ya2VyUHJvY2Vz
cykKKyAgICAgICAgICAgICAgICBtX2ZvcmVncm91bmRUb2tlbkZvclNlcnZpY2VXb3JrZXJQcm9j
ZXNzID0gbV9zZXJ2aWNlV29ya2VyUHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2
aXR5VG9rZW4oKTsKKyAgICAgICAgICAgIG1fYmFja2dyb3VuZFRva2VuRm9yU2VydmljZVdvcmtl
clByb2Nlc3MgPSBudWxscHRyOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGlmIChtX3NlcnZpY2VXb3JrZXJQcm9jZXNzICYmIG1fYmFja2dyb3VuZFdlYlByb2Nlc3ND
b3VudGVyLnZhbHVlKCkpIHsKKyAgICAgICAgICAgIGlmICghbV9iYWNrZ3JvdW5kVG9rZW5Gb3JT
ZXJ2aWNlV29ya2VyUHJvY2VzcykKKyAgICAgICAgICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZv
clNlcnZpY2VXb3JrZXJQcm9jZXNzID0gbV9zZXJ2aWNlV29ya2VyUHJvY2Vzcy0+dGhyb3R0bGVy
KCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICAgICAgICAgIG1fZm9yZWdyb3VuZFRv
a2VuRm9yU2VydmljZVdvcmtlclByb2Nlc3MgPSBudWxscHRyOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yU2VydmljZVdvcmtlclBy
b2Nlc3MgPSBudWxscHRyOworICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvclNlcnZpY2VXb3Jr
ZXJQcm9jZXNzID0gbnVsbHB0cjsKKyAgICB9OworICAgIHVwZGF0ZVNlcnZpY2VXb3JrZXJQcm9j
ZXNzQXNzZXJ0aW9uKCk7CisjZW5kaWYKKworICAgIGF1dG8gdXBkYXRlTmV0d29ya1Byb2Nlc3NB
c3NlcnRpb24gPSBbJl0geworICAgICAgICBpZiAobV9mb3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50
ZXIudmFsdWUoKSkgeworICAgICAgICAgICAgaWYgKCFtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdv
cmtQcm9jZXNzKQorICAgICAgICAgICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1By
b2Nlc3MgPSBlbnN1cmVOZXR3b3JrUHJvY2VzcygpLnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rp
dml0eVRva2VuKCk7CisgICAgICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9j
ZXNzID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBp
ZiAobV9iYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIudmFsdWUoKSkgeworICAgICAgICAgICAg
aWYgKCFtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzKQorICAgICAgICAgICAgICAg
IG1fYmFja2dyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBlbnN1cmVOZXR3b3JrUHJvY2Vz
cygpLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7CisgICAgICAgICAgICBt
X2ZvcmVncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX2ZvcmVncm91bmRUb2tlbkZvck5ldHdvcmtQ
cm9jZXNzID0gbnVsbHB0cjsKKyAgICAgICAgbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJv
Y2VzcyA9IG51bGxwdHI7CisgICAgfTsKKyAgICB1cGRhdGVOZXR3b3JrUHJvY2Vzc0Fzc2VydGlv
bigpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlaW5zdGF0ZU5ldHdvcmtQ
cm9jZXNzQXNzZXJ0aW9uU3RhdGUoTmV0d29ya1Byb2Nlc3NQcm94eSYgbmV3TmV0d29ya1Byb2Nl
c3NQcm94eSkKK3sKKyNpZiBQTEFURk9STShJT1MpCisgICAgLy8gVGhlIG5ldHdvcmsgcHJvY2Vz
cyBjcmFzaGVkOyB0YWtlIG5ldyB0b2tlbnMgZm9yIHRoZSBuZXcgbmV0d29yayBwcm9jZXNzLgor
ICAgIGlmIChtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzKQorICAgICAgICBtX2Jh
Y2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gbmV3TmV0d29ya1Byb2Nlc3NQcm94eS50
aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpOworICAgIGVsc2UgaWYgKG1fZm9y
ZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MpCisgICAgICAgIG1fZm9yZWdyb3VuZFRva2Vu
Rm9yTmV0d29ya1Byb2Nlc3MgPSBuZXdOZXR3b3JrUHJvY2Vzc1Byb3h5LnRocm90dGxlcigpLmZv
cmVncm91bmRBY3Rpdml0eVRva2VuKCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShuZXdOZXR3
b3JrUHJvY2Vzc1Byb3h5KTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDFkZDUzNTFkMDQ2M2Uy
ZWQ0ZDQ5NmFiMmM0NDgwZDRmZmFlZmNiMDAuLjk4OGMzM2MzNGJlNmE5MzNjNTBhYTRjZjdiMzcx
Y2EwZDllN2NmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApA
QCAtNDI1LDYgKzQyNSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHVpbnQ2NF90IHJlZ2lzdGVy
UHJvY2Vzc1Bvb2xDcmVhdGlvbkxpc3RlbmVyKEZ1bmN0aW9uPHZvaWQoV2ViUHJvY2Vzc1Bvb2wm
KT4mJik7CiAgICAgc3RhdGljIHZvaWQgdW5yZWdpc3RlclByb2Nlc3NQb29sQ3JlYXRpb25MaXN0
ZW5lcih1aW50NjRfdCBpZGVudGlmaWVyKTsKIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBGb3Jl
Z3JvdW5kV2ViUHJvY2Vzc1Rva2VuIGZvcmVncm91bmRXZWJQcm9jZXNzVG9rZW4oKSBjb25zdCB7
IHJldHVybiBGb3JlZ3JvdW5kV2ViUHJvY2Vzc1Rva2VuKG1fZm9yZWdyb3VuZFdlYlByb2Nlc3ND
b3VudGVyLmNvdW50KCkpOyB9CisgICAgQmFja2dyb3VuZFdlYlByb2Nlc3NUb2tlbiBiYWNrZ3Jv
dW5kV2ViUHJvY2Vzc1Rva2VuKCkgY29uc3QgeyByZXR1cm4gQmFja2dyb3VuZFdlYlByb2Nlc3NU
b2tlbihtX2JhY2tncm91bmRXZWJQcm9jZXNzQ291bnRlci5jb3VudCgpKTsgfQorI2VuZGlmCisK
IHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNDUxLDYgKzQ1
Niw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzU3RvcHBlZFVzaW5nR2FtZXBhZHMoV2Vi
UHJvY2Vzc1Byb3h5Jik7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVpbnN0YXRlTmV0d29ya1Byb2Nl
c3NBc3NlcnRpb25TdGF0ZShOZXR3b3JrUHJvY2Vzc1Byb3h5Jik7CisgICAgdm9pZCB1cGRhdGVQ
cm9jZXNzQXNzZXJ0aW9ucygpOworCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIuCiAgICAg
Ly8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlByb2Nlc3NQb29sTWVzc2FnZVJlY2VpdmVy
LmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgb3ZlcnJpZGU7CkBAIC02MzcsNiArNjQ1LDE3IEBAIHByaXZhdGU6CiAKICAgICBI
YXNoTWFwPFBBTDo6U2Vzc2lvbklELCBIYXNoU2V0PFdlYlBhZ2VQcm94eSo+PiBtX3Nlc3Npb25U
b1BhZ2VzTWFwOwogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYlByb2Nlc3NQb29sPiBtX3NlcnZpY2VX
b3JrZXJQcm9jZXNzVGVybWluYXRpb25UaW1lcjsKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBG
b3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXIgbV9mb3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7
CisgICAgQmFja2dyb3VuZFdlYlByb2Nlc3NDb3VudGVyIG1fYmFja2dyb3VuZFdlYlByb2Nlc3ND
b3VudGVyOworICAgIFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eVRva2VuIG1f
Zm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3M7CisgICAgUHJvY2Vzc1Rocm90dGxlcjo6
QmFja2dyb3VuZEFjdGl2aXR5VG9rZW4gbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2Vz
czsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgUHJvY2Vzc1Rocm90dGxlcjo6Rm9y
ZWdyb3VuZEFjdGl2aXR5VG9rZW4gbV9mb3JlZ3JvdW5kVG9rZW5Gb3JTZXJ2aWNlV29ya2VyUHJv
Y2VzczsKKyAgICBQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbiBtX2Jh
Y2tncm91bmRUb2tlbkZvclNlcnZpY2VXb3JrZXJQcm9jZXNzOworI2VuZGlmCisjZW5kaWYKIH07
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAppbmRleCAzMmY5NDY0MDdiN2QxN2I2OGNlZDRlNTM2Mjk3OGE1MTQ4NjIw
ZjY0Li45YTEyYmMyNTQ2NDliMmZkN2Q0M2M0MGU0Y2EwYzIwNTEwNTA2M2E1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTEwNTcsNTEgKzEwNTcs
MzkgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENhbmNlbFByb2Nlc3NTdXNwZW5zaW9uKCkK
ICAgICBtX3Rocm90dGxlci5kaWRDYW5jZWxQcm9jZXNzU3VzcGVuc2lvbigpOwogfQogCi12b2lk
IFdlYlByb2Nlc3NQcm94eTo6cmVpbnN0YXRlTmV0d29ya1Byb2Nlc3NBc3NlcnRpb25TdGF0ZShO
ZXR3b3JrUHJvY2Vzc1Byb3h5JiBuZXdOZXR3b3JrUHJvY2Vzc1Byb3h5KQotewotI2lmIFBMQVRG
T1JNKElPUykKLSAgICBBU1NFUlQoIW1fYmFja2dyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3Mg
fHwgIW1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MpOwotCi0gICAgLy8gVGhlIG5l
dHdvcmsgcHJvY2VzcyBjcmFzaGVkOyB0YWtlIG5ldyB0b2tlbnMgZm9yIHRoZSBuZXcgbmV0d29y
ayBwcm9jZXNzLgotICAgIGlmIChtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzKQot
ICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gbmV3TmV0d29ya1By
b2Nlc3NQcm94eS50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpOwotICAgIGVs
c2UgaWYgKG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MpCi0gICAgICAgIG1fZm9y
ZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBuZXdOZXR3b3JrUHJvY2Vzc1Byb3h5LnRo
cm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eVRva2VuKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShuZXdOZXR3b3JrUHJvY2Vzc1Byb3h5KTsKLSNlbmRpZgotfQotCiB2b2lkIFdlYlByb2Nl
c3NQcm94eTo6ZGlkU2V0QXNzZXJ0aW9uU3RhdGUoQXNzZXJ0aW9uU3RhdGUgc3RhdGUpCiB7CiAj
aWYgUExBVEZPUk0oSU9TKQotICAgIEFTU0VSVCghbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3Jr
UHJvY2VzcyB8fCAhbV9mb3JlZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2Vzcyk7CisgICAgaWYg
KGlzU2VydmljZVdvcmtlclByb2Nlc3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJU
KCFtX2JhY2tncm91bmRUb2tlbiB8fCAhbV9mb3JlZ3JvdW5kVG9rZW4pOwogCiAgICAgc3dpdGNo
IChzdGF0ZSkgewogICAgIGNhc2UgQXNzZXJ0aW9uU3RhdGU6OlN1c3BlbmRlZDoKICAgICAgICAg
UkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIFdlYlByb2Nlc3NQcm94eTo6ZGlk
U2V0QXNzZXJ0aW9uU3RhdGUoU3VzcGVuZGVkKSByZWxlYXNlIGFsbCBhc3NlcnRpb25zIGZvciBu
ZXR3b3JrIHByb2Nlc3MiLCB0aGlzKTsKLSAgICAgICAgbV9mb3JlZ3JvdW5kVG9rZW5Gb3JOZXR3
b3JrUHJvY2VzcyA9IG51bGxwdHI7Ci0gICAgICAgIG1fYmFja2dyb3VuZFRva2VuRm9yTmV0d29y
a1Byb2Nlc3MgPSBudWxscHRyOworICAgICAgICBtX2ZvcmVncm91bmRUb2tlbiA9IG51bGxwdHI7
CisgICAgICAgIG1fYmFja2dyb3VuZFRva2VuID0gbnVsbHB0cjsKICAgICAgICAgZm9yIChhdXRv
JiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQogICAgICAgICAgICAgcGFnZS0+cHJvY2Vzc1dp
bGxCZWNvbWVTdXNwZW5kZWQoKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEFzc2VydGlv
blN0YXRlOjpCYWNrZ3JvdW5kOgogICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lv
biwgIiVwIC0gV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25TdGF0ZShCYWNrZ3JvdW5k
KSB0YWtpbmcgYmFja2dyb3VuZCBhc3NlcnRpb24gZm9yIG5ldHdvcmsgcHJvY2VzcyIsIHRoaXMp
OwotICAgICAgICBtX2JhY2tncm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzID0gcHJvY2Vzc1Bv
b2woKS5lbnN1cmVOZXR3b3JrUHJvY2VzcygpLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0
eVRva2VuKCk7Ci0gICAgICAgIG1fZm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBu
dWxscHRyOworICAgICAgICBtX2JhY2tncm91bmRUb2tlbiA9IHByb2Nlc3NQb29sKCkuYmFja2dy
b3VuZFdlYlByb2Nlc3NUb2tlbigpOworICAgICAgICBtX2ZvcmVncm91bmRUb2tlbiA9IG51bGxw
dHI7CiAgICAgICAgIGJyZWFrOwogICAgIAogICAgIGNhc2UgQXNzZXJ0aW9uU3RhdGU6OkZvcmVn
cm91bmQ6CiAgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBXZWJQ
cm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0YXRlKEZvcmVncm91bmQpIHRha2luZyBmb3Jl
Z3JvdW5kIGFzc2VydGlvbiBmb3IgbmV0d29yayBwcm9jZXNzIiwgdGhpcyk7Ci0gICAgICAgIG1f
Zm9yZWdyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3MgPSBwcm9jZXNzUG9vbCgpLmVuc3VyZU5l
dHdvcmtQcm9jZXNzKCkudGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5VG9rZW4oKTsKLSAg
ICAgICAgbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzcyA9IG51bGxwdHI7CisgICAg
ICAgIG1fZm9yZWdyb3VuZFRva2VuID0gcHJvY2Vzc1Bvb2woKS5mb3JlZ3JvdW5kV2ViUHJvY2Vz
c1Rva2VuKCk7CisgICAgICAgIG1fYmFja2dyb3VuZFRva2VuID0gbnVsbHB0cjsKICAgICAgICAg
Zm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQogICAgICAgICAgICAgcGFnZS0+
cHJvY2Vzc1dpbGxCZWNvbWVGb3JlZ3JvdW5kKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAot
ICAgIEFTU0VSVCghbV9iYWNrZ3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2VzcyB8fCAhbV9mb3Jl
Z3JvdW5kVG9rZW5Gb3JOZXR3b3JrUHJvY2Vzcyk7CisgICAgQVNTRVJUKCFtX2JhY2tncm91bmRU
b2tlbiB8fCAhbV9mb3JlZ3JvdW5kVG9rZW4pOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc3Rh
dGUpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmlu
ZGV4IDM2OTcyYTUzMWQ1NDU1ZjFkOGViYjU5MTk1N2ExMjQ4ZGI3YTVkODIuLjM5YjFkMjU1NTlk
N2E2YjA5MDk4NzEyNWFlOWI3YmM4ODA0MWMyODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oCkBAIC03Nyw2ICs3NywxNSBAQCBzdHJ1Y3QgV2ViTmF2aWdhdGlv
bkRhdGFTdG9yZTsKIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOwogc3RydWN0IFdl
YnNpdGVEYXRhOwogCisjaWYgUExBVEZPUk0oSU9TKQorZW51bSBGb3JlZ3JvdW5kV2ViUHJvY2Vz
c0NvdW50ZXJUeXBlIHsgfTsKK3R5cGVkZWYgUmVmQ291bnRlcjxGb3JlZ3JvdW5kV2ViUHJvY2Vz
c0NvdW50ZXJUeXBlPiBGb3JlZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI7Cit0eXBlZGVmIEZvcmVn
cm91bmRXZWJQcm9jZXNzQ291bnRlcjo6VG9rZW4gRm9yZWdyb3VuZFdlYlByb2Nlc3NUb2tlbjsK
K2VudW0gQmFja2dyb3VuZFdlYlByb2Nlc3NDb3VudGVyVHlwZSB7IH07Cit0eXBlZGVmIFJlZkNv
dW50ZXI8QmFja2dyb3VuZFdlYlByb2Nlc3NDb3VudGVyVHlwZT4gQmFja2dyb3VuZFdlYlByb2Nl
c3NDb3VudGVyOwordHlwZWRlZiBCYWNrZ3JvdW5kV2ViUHJvY2Vzc0NvdW50ZXI6OlRva2VuIEJh
Y2tncm91bmRXZWJQcm9jZXNzVG9rZW47CisjZW5kaWYKKwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5
IDogcHVibGljIENoaWxkUHJvY2Vzc1Byb3h5LCBwdWJsaWMgUmVzcG9uc2l2ZW5lc3NUaW1lcjo6
Q2xpZW50LCBwcml2YXRlIFByb2Nlc3NUaHJvdHRsZXJDbGllbnQgewogcHVibGljOgogICAgIHR5
cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0+PiBX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtTWFwOwpAQCAtMTc0LDggKzE4Myw2IEBAIHB1YmxpYzoKIAog
ICAgIFByb2Nlc3NUaHJvdHRsZXImIHRocm90dGxlcigpIHsgcmV0dXJuIG1fdGhyb3R0bGVyOyB9
CiAKLSAgICB2b2lkIHJlaW5zdGF0ZU5ldHdvcmtQcm9jZXNzQXNzZXJ0aW9uU3RhdGUoTmV0d29y
a1Byb2Nlc3NQcm94eSYpOwotCiAgICAgdm9pZCBpc1Jlc3BvbnNpdmUoV1RGOjpGdW5jdGlvbjx2
b2lkKGJvb2wgaXNXZWJQcm9jZXNzUmVzcG9uc2l2ZSk+JiYpOwogICAgIHZvaWQgZGlkUmVjZWl2
ZU1haW5UaHJlYWRQaW5nKCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlQmFja2dyb3VuZFJlc3BvbnNp
dmVuZXNzUGluZygpOwpAQCAtMjgwLDggKzI4Nyw4IEBAIHByaXZhdGU6CiAgICAgUHJvY2Vzc1Ro
cm90dGxlciBtX3Rocm90dGxlcjsKICAgICBQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5kQWN0
aXZpdHlUb2tlbiBtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzOwogI2lmIFBMQVRGT1JNKElP
UykKLSAgICBQcm9jZXNzVGhyb3R0bGVyOjpGb3JlZ3JvdW5kQWN0aXZpdHlUb2tlbiBtX2ZvcmVn
cm91bmRUb2tlbkZvck5ldHdvcmtQcm9jZXNzOwotICAgIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tn
cm91bmRBY3Rpdml0eVRva2VuIG1fYmFja2dyb3VuZFRva2VuRm9yTmV0d29ya1Byb2Nlc3M7Cisg
ICAgRm9yZWdyb3VuZFdlYlByb2Nlc3NUb2tlbiBtX2ZvcmVncm91bmRUb2tlbjsKKyAgICBCYWNr
Z3JvdW5kV2ViUHJvY2Vzc1Rva2VuIG1fYmFja2dyb3VuZFRva2VuOwogI2VuZGlmCiAKICAgICBI
YXNoTWFwPFN0cmluZywgdWludDY0X3Q+IG1fcGFnZVVSTFJldGFpbkNvdW50TWFwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>