<?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>179618</bug_id>
          
          <creation_ts>2017-11-13 10:45:20 -0800</creation_ts>
          <short_desc>Implement &quot;Service Worker Has No Pending Events&quot; / &quot;Update Service Worker Extended Events Set&quot; algorithms</short_desc>
          <delta_ts>2017-11-15 09:32:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>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>1370946</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 10:45:20 -0800</bug_when>
    <thetext>Implement &quot;Service Worker Has No Pending Events&quot; / &quot;Update Service Worker Extended Events Set&quot; algorithms:
- https://w3c.github.io/ServiceWorker/#service-worker-has-no-pending-events-algorithm
- https://w3c.github.io/ServiceWorker/#update-service-worker-extended-events-set-algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1370950</commentid>
    <comment_count>1</comment_count>
      <attachid>326772</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 10:54:29 -0800</bug_when>
    <thetext>Created attachment 326772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371018</commentid>
    <comment_count>2</comment_count>
      <attachid>326772</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 13:06:28 -0800</bug_when>
    <thetext>Comment on attachment 326772
Patch

Clearing flags on attachment: 326772

Committed r224772: &lt;https://trac.webkit.org/changeset/224772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371019</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-13 13:06:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371876</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:32:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/35561908&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326772</attachid>
            <date>2017-11-13 10:54:29 -0800</date>
            <delta_ts>2017-11-13 13:06:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179618-20171113105428.patch</filename>
            <type>text/plain</type>
            <size>28509</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ2MTJmMDA0NTIwMTk3
ODU5YTI0ZWEzODI3YTI4OWIyY2I3N2I5MS4uYmMyNDE2NmI0YzJlNjI5ZWY3NWVhNDg0ZGUxN2Ux
MGQyYmYyZjYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTExLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50ICJTZXJ2aWNl
IFdvcmtlciBIYXMgTm8gUGVuZGluZyBFdmVudHMiIC8gIlVwZGF0ZSBTZXJ2aWNlIFdvcmtlciBF
eHRlbmRlZCBFdmVudHMgU2V0IiBhbGdvcml0aG1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgIlNlcnZpY2UgV29ya2VyIEhhcyBObyBQ
ZW5kaW5nIEV2ZW50cyIgLyAiVXBkYXRlIFNlcnZpY2UgV29ya2VyIEV4dGVuZGVkIEV2ZW50cyBT
ZXQiIGFsZ29yaXRobXM6CisgICAgICAgIC0gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VX
b3JrZXIvI3NlcnZpY2Utd29ya2VyLWhhcy1uby1wZW5kaW5nLWV2ZW50cy1hbGdvcml0aG0KKyAg
ICAgICAgLSBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jdXBkYXRlLXNlcnZp
Y2Utd29ya2VyLWV4dGVuZGVkLWV2ZW50cy1zZXQtYWxnb3JpdGhtCisKKyAgICAgICAgVGVzdDog
aHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVy
LWFnYWluLXJldXNlLmh0bWwKKworICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NX
Q29udGV4dE1hbmFnZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyRmV0Y2guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNo
OjpkaXNwYXRjaEZldGNoRXZlbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJGZXRjaC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clRocmVhZDo6cG9zdEZldGNoVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OnVwZGF0ZUV4dGVuZGVkRXZlbnRzU2V0KToK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckhhc1BlbmRp
bmdFdmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnNldFNlcnZpY2VXb3JrZXJI
YXNQZW5kaW5nRXZlbnRzKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnRyeUFjdGl2YXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnRyeUNsZWFyUmVnaXN0cmF0aW9u
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6aGFzUGVuZGluZ0V2ZW50cyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6c2V0SGFzUGVuZGluZ0V2ZW50cyk6
CisKIDIwMTctMTEtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0F0dGFjaG1lbnQgU3VwcG9ydF0gSW1wbGVtZW50IFNQSSBmb3IgY2xpZW50cyB0
byByZXF1ZXN0IGRhdGEgZm9yIGEgZ2l2ZW4gYXR0YWNobWVudApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyNDc3Y2U3
ZTNjNjMxZWE1MzQ4YTBhMjhiMjliZDA2MWQ1ZmNhY2NlLi43ODJmZmViZjAyZDRkZDg5NTY4OTk1
MmM1NDA1ZGYzMWNlNzMwY2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTExLTEz
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50ICJT
ZXJ2aWNlIFdvcmtlciBIYXMgTm8gUGVuZGluZyBFdmVudHMiIC8gIlVwZGF0ZSBTZXJ2aWNlIFdv
cmtlciBFeHRlbmRlZCBFdmVudHMgU2V0IiBhbGdvcml0aG1zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk2MTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9j
ZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OnNldFNlcnZpY2VXb3Jr
ZXJIYXNQZW5kaW5nRXZlbnRzKToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJv
Y2Vzcy5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjpzZXRTZXJ2aWNlV29ya2VySGFzUGVuZGluZ0V2ZW50cyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg6CisKIDIwMTctMTEt
MTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0F0
dGFjaG1lbnQgU3VwcG9ydF0gSW1wbGVtZW50IFNQSSBmb3IgY2xpZW50cyB0byByZXF1ZXN0IGRh
dGEgZm9yIGEgZ2l2ZW4gYXR0YWNobWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU1dDb250ZXh0TWFuYWdlci5oCmluZGV4IGM1MDdiNmU2
NjY4NmY4YzA3ZTNhNTc1Y2U4ZTY3ODhjOTZhMjE0YjcuLmY2MWYyZmM5YmQwNTQxNTdlZTQxYmRh
ODg3MGU4NDI0NzA0MmFiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NXQ29udGV4dE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TV0NvbnRleHRNYW5hZ2VyLmgKQEAgLTQ5LDYgKzQ5LDcgQEAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRXaXRoTWVz
c2FnZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBleGNlcHRpb25NZXNz
YWdlKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hJbnN0YWxsKFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBib29sIHdhc1N1Y2Nlc3NmdWwpID0gMDsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEZpbmlzaEFjdGl2YXRpb24oU2VydmljZVdvcmtlcklkZW50aWZpZXIpID0gMDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sKSA9IDA7CiAgICAgfTsKIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0Q29ubmVjdGlvbihzdGQ6OnVuaXF1ZV9wdHI8Q29ubmVjdGlvbj4mJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyRmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlckZldGNoLmNwcAppbmRleCAwZWZiZTlmZDA1NTZmZmE2ZTNhNTFhNWRi
NWJkNjQ3ZmFhYzhkNmUzLi5iYWZmNGYzZjFiOGI4NzUxYjA3Y2ViNjE3NDQzODM3NDdiOWUzNmFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyRmV0Y2guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIHZv
aWQgcHJvY2Vzc1Jlc3BvbnNlKFJlZjxDbGllbnQ+JiYgY2xpZW50LCBGZXRjaFJlc3BvbnNlKiBy
ZXNwb25zZSkKICAgICBjbGllbnQtPmRpZEZpbmlzaCgpOwogfQogCi12b2lkIGRpc3BhdGNoRmV0
Y2hFdmVudChSZWY8Q2xpZW50PiYmIGNsaWVudCwgV29ya2VyR2xvYmFsU2NvcGUmIGdsb2JhbFNj
b3BlLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zKQor
UmVmPEZldGNoRXZlbnQ+IGRpc3BhdGNoRmV0Y2hFdmVudChSZWY8Q2xpZW50PiYmIGNsaWVudCwg
V29ya2VyR2xvYmFsU2NvcGUmIGdsb2JhbFNjb3BlLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zKQogewogICAgIEFTU0VSVChnbG9iYWxTY29wZS5pc1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSgpKTsKIApAQCAtMTA4LDExICsxMDgsMTIgQEAgdm9pZCBk
aXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3Bl
JiBnbG9iYWxTY29wZSwgUmUKICAgICBpZiAoIWV2ZW50LT5yZXNwb25kV2l0aEVudGVyZWQoKSkg
ewogICAgICAgICBpZiAoZXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQoKSkgewogICAgICAgICAgICAg
Y2xpZW50LT5kaWRGYWlsKCk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1
cm4gZXZlbnQ7CiAgICAgICAgIH0KICAgICAgICAgY2xpZW50LT5kaWROb3RIYW5kbGUoKTsKICAg
ICAgICAgLy8gRklYTUU6IEhhbmRsZSBzb2Z0IHVwZGF0ZS4KICAgICB9CisgICAgcmV0dXJuIGV2
ZW50OwogfQogCiB9IC8vIG5hbWVzcGFjZSBTZXJ2aWNlV29ya2VyRmV0Y2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRj
aC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
ckZldGNoLmgKaW5kZXggMjc4MDMyY2M4YTg2ODM5NjdiNmM0M2VhNjhmNGFhNDE0MDg1ZmJkZS4u
YTIwMzQxYzMxYTExMjZjYjU3ZWJhM2E1NjQ2MzA3MjhmYmIxYWZkNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtl
ckZldGNoLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgRmV0Y2hFdmVudDsKIHN0cnVj
dCBGZXRjaE9wdGlvbnM7CiBjbGFzcyBGZXRjaFJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OwpAQCAtNTAsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhh
bmRsZSgpID0gMDsKIH07CiAKLXZvaWQgZGlzcGF0Y2hGZXRjaEV2ZW50KFJlZjxDbGllbnQ+JiYs
IFdvcmtlckdsb2JhbFNjb3BlJiwgUmVzb3VyY2VSZXF1ZXN0JiYsIEZldGNoT3B0aW9ucyYmKTsK
K1JlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVudD4mJiwgV29ya2Vy
R2xvYmFsU2NvcGUmLCBSZXNvdXJjZVJlcXVlc3QmJiwgRmV0Y2hPcHRpb25zJiYpOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAz
NGEzMzIyZDIxZjc2MDBlZDA5MWExMzA4Yzg2NmJmZGU3MjAzYWE4Li42MzM4ZTRlNzU1ZTZmNGRm
ODIxNjQxNWQyMWUyZWY0YzQzOTYxMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApA
QCAtOTksMTkgKzk5LDIyIEBAIHZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6cG9zdEZldGNoVGFz
ayhSZWY8U2VydmljZVdvcmtlckZldGNoOjpDbGllbnQ+JiYgY2xpZW50CiB7CiAgICAgLy8gRklY
TUU6IGluc3RlYWQgb2YgZGlyZWN0bHkgdXNpbmcgcnVuTG9vcCgpLCB3ZSBzaG91bGQgYmUgdXNp
bmcgc29tZXRoaW5nIGxpa2UgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyBGSVhNRTog
cmVxdWVzdCBhbmQgb3B0aW9ucyBjb21lIHN0cmFpZ3RoIGZyb20gSVBDIHNvIGFyZSBhbHJlYWR5
IGlzb2xhdGVkLiBXZSBzaG91bGQgYmUgYWJsZSB0byB0YWtlIGJlbmVmaXQgb2YgdGhhdC4KLSAg
ICBydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFtjbGllbnQgPSBXVEZNb3ZlKGNsaWVudCksIHJl
cXVlc3QgPSByZXF1ZXN0Lmlzb2xhdGVkQ29weSgpLCBvcHRpb25zID0gb3B0aW9ucy5pc29sYXRl
ZENvcHkoKV0gKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIG11dGFibGUgewotICAg
ICAgICBTZXJ2aWNlV29ya2VyRmV0Y2g6OmRpc3BhdGNoRmV0Y2hFdmVudChXVEZNb3ZlKGNsaWVu
dCksIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSwgV1RGTW92ZShyZXF1ZXN0
KSwgV1RGTW92ZShvcHRpb25zKSk7CisgICAgcnVuTG9vcCgpLnBvc3RUYXNrRm9yTW9kZShbdGhp
cywgY2xpZW50ID0gV1RGTW92ZShjbGllbnQpLCByZXF1ZXN0ID0gcmVxdWVzdC5pc29sYXRlZENv
cHkoKSwgb3B0aW9ucyA9IG9wdGlvbnMuaXNvbGF0ZWRDb3B5KCldIChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgYXV0byBmZXRjaEV2ZW50ID0gU2Vy
dmljZVdvcmtlckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQoV1RGTW92ZShjbGllbnQpLCBkb3du
Y2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCksIFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUob3B0aW9ucykpOworICAgICAgICB1cGRhdGVFeHRlbmRlZEV2ZW50c1NldChmZXRjaEV2ZW50
LnB0cigpKTsKICAgICB9LCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKIH0KIAogdm9p
ZCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgc3RkOjp1bmlxdWVfcHRy
PE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5PiYmIGNoYW5uZWxzLCBjb25zdCBTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllciYgc291cmNlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VP
cmlnaW4pCiB7Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKFtjaGFubmVs
cyA9IFdURk1vdmUoY2hhbm5lbHMpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNl
SWRlbnRpZmllciwgc291cmNlT3JpZ2luID0gc291cmNlT3JpZ2luLmlzb2xhdGVkQ29weSgpXSAo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzayB0YXNrKFt0aGlzLCBjaGFubmVscyA9IFdURk1vdmUoY2hhbm5l
bHMpLCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlSWRlbnRpZmllciwgc291cmNl
T3JpZ2luID0gc291cmNlT3JpZ2luLmlzb2xhdGVkQ29weSgpXSAoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCkgbXV0YWJsZSB7CiAgICAgICAgIGF1dG8mIHNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSA9IGRvd25jYXN0PFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCk7CiAg
ICAgICAgIGF1dG8gcG9ydHMgPSBNZXNzYWdlUG9ydDo6ZW50YW5nbGVQb3J0cyhzZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUsIFdURk1vdmUoY2hhbm5lbHMpKTsKICAgICAgICAgRXh0ZW5kYWJsZU1l
c3NhZ2VFdmVudFNvdXJjZSBzb3VyY2UgPSBSZWZQdHI8U2VydmljZVdvcmtlckNsaWVudD4geyBT
ZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50OjpjcmVhdGUoY29udGV4dCwgc291cmNlSWRlbnRpZmll
cikgfTsKLSAgICAgICAgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmRpc3BhdGNoRXZlbnQoRXh0
ZW5kYWJsZU1lc3NhZ2VFdmVudDo6Y3JlYXRlKFdURk1vdmUocG9ydHMpLCBXVEZNb3ZlKG1lc3Nh
Z2UpLCBzb3VyY2VPcmlnaW4sIHsgfSwgV1RGTW92ZShzb3VyY2UpKSk7CisgICAgICAgIGF1dG8g
bWVzc2FnZUV2ZW50ID0gRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudDo6Y3JlYXRlKFdURk1vdmUocG9y
dHMpLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VPcmlnaW4sIHsgfSwgV1RGTW92ZShzb3VyY2Up
KTsKKyAgICAgICAgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmRpc3BhdGNoRXZlbnQobWVzc2Fn
ZUV2ZW50KTsKICAgICAgICAgc2VydmljZVdvcmtlckdsb2JhbFNjb3BlLnRocmVhZCgpLndvcmtl
ck9iamVjdFByb3h5KCkuY29uZmlybU1lc3NhZ2VGcm9tV29ya2VyT2JqZWN0KHNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CisgICAgICAgIHVwZGF0ZUV4dGVu
ZGVkRXZlbnRzU2V0KG1lc3NhZ2VFdmVudC5wdHIoKSk7CiAgICAgfSk7CiAgICAgcnVuTG9vcCgp
LnBvc3RUYXNrKFdURk1vdmUodGFzaykpOwogfQpAQCAtMTU3LDYgKzE2MCwzMyBAQCB2b2lkIFNl
cnZpY2VXb3JrZXJUaHJlYWQ6OmZpcmVBY3RpdmF0ZUV2ZW50KCkKICAgICBydW5Mb29wKCkucG9z
dFRhc2soV1RGTW92ZSh0YXNrKSk7CiB9CiAKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2
aWNlV29ya2VyLyN1cGRhdGUtc2VydmljZS13b3JrZXItZXh0ZW5kZWQtZXZlbnRzLXNldC1hbGdv
cml0aG0KK3ZvaWQgU2VydmljZVdvcmtlclRocmVhZDo6dXBkYXRlRXh0ZW5kZWRFdmVudHNTZXQo
RXh0ZW5kYWJsZUV2ZW50KiBuZXdFdmVudCkKK3sKKyAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgp
KTsKKyAgICBBU1NFUlQoIW5ld0V2ZW50IHx8ICFuZXdFdmVudC0+aXNCZWluZ0Rpc3BhdGNoZWQo
KSk7CisgICAgYm9vbCBoYWRQZW5kaW5nRXZlbnRzID0gaGFzUGVuZGluZ0V2ZW50cygpOworICAg
IG1fZXh0ZW5kZWRFdmVudHMucmVtb3ZlQWxsTWF0Y2hpbmcoW10oYXV0byYgZXZlbnQpIHsKKyAg
ICAgICAgcmV0dXJuICFldmVudC0+cGVuZGluZ1Byb21pc2VDb3VudCgpOworICAgIH0pOworCisg
ICAgaWYgKG5ld0V2ZW50ICYmIG5ld0V2ZW50LT5wZW5kaW5nUHJvbWlzZUNvdW50KCkpIHsKKyAg
ICAgICAgbV9leHRlbmRlZEV2ZW50cy5hcHBlbmQoKm5ld0V2ZW50KTsKKyAgICAgICAgbmV3RXZl
bnQtPndoZW5BbGxFeHRlbmRMaWZldGltZVByb21pc2VzQXJlU2V0dGxlZChbdGhpc10oYXV0byYm
KSB7CisgICAgICAgICAgICB1cGRhdGVFeHRlbmRlZEV2ZW50c1NldCgpOworICAgICAgICB9KTsK
KyAgICB9CisKKyAgICBib29sIGhhc1BlbmRpbmdFdmVudHMgPSB0aGlzLT5oYXNQZW5kaW5nRXZl
bnRzKCk7CisgICAgaWYgKGhhc1BlbmRpbmdFdmVudHMgPT0gaGFkUGVuZGluZ0V2ZW50cykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllciA9IHRoaXMt
PmlkZW50aWZpZXIoKSwgaGFzUGVuZGluZ0V2ZW50c10geworICAgICAgICBpZiAoYXV0byogY29u
bmVjdGlvbiA9IFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKSkKKyAg
ICAgICAgICAgIGNvbm5lY3Rpb24tPnNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKGlk
ZW50aWZpZXIsIGhhc1BlbmRpbmdFdmVudHMpOworICAgIH0pOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhy
ZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29y
a2VyVGhyZWFkLmgKaW5kZXggZDQ4YTcxOTRiYWIwOTAxMjVlMTIzODJjYmYzNDBjODBmOTU3OTVl
Mi4uNzNkZWNkNTAzOTBiNTgwMDBlZTY5ZjcxZmRiNzYxY2JmMjc1NGIzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVh
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuaApAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENhY2hlU3RvcmFnZVByb3ZpZGVyOwogY2xhc3MgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzOworY2xhc3MgRXh0ZW5kYWJsZUV2ZW50OwogY2xhc3MgTWVzc2FnZVBvcnRD
aGFubmVsOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xhc3MgV29ya2VyT2JqZWN0
UHJveHk7CkBAIC03MSw5ICs3MiwxMyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIFdFQkNP
UkVfRVhQT1JUIFNlcnZpY2VXb3JrZXJUaHJlYWQodWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklk
ZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIFBBTDo6U2Vzc2lvbklE
LCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmKTsKIAorICAgIHZvaWQg
dXBkYXRlRXh0ZW5kZWRFdmVudHNTZXQoRXh0ZW5kYWJsZUV2ZW50KiBuZXdFdmVudCA9IG51bGxw
dHIpOworICAgIGJvb2wgaGFzUGVuZGluZ0V2ZW50cygpIGNvbnN0IHsgcmV0dXJuICFtX2V4dGVu
ZGVkRXZlbnRzLmlzRW1wdHkoKTsgfQorCiAgICAgdWludDY0X3QgbV9zZXJ2ZXJDb25uZWN0aW9u
SWRlbnRpZmllcjsKICAgICBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgbV9kYXRhOwogICAgIFdv
cmtlck9iamVjdFByb3h5JiBtX3dvcmtlck9iamVjdFByb3h5OworICAgIFZlY3RvcjxSZWY8RXh0
ZW5kYWJsZUV2ZW50Pj4gbV9leHRlbmRlZEV2ZW50czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlci5jcHAKaW5kZXggY2M0MjJkMjliZDVlMDVlN2QzNjEzNGMzZjA0NWI2YTgwYzZjZTg2Ny4u
NWVhNTQ0ZmUzNjIwODczYzQ5NWZiYTliNjE2MWU4YzY5N2E4NThmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTEyMiw2
ICsxMjIsMTEgQEAgdm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6ZGlkRmluaXNoQWN0aXZhdGlv
bihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2UKICAgICBtX3NlcnZlci5kaWRGaW5p
c2hBY3RpdmF0aW9uKCp0aGlzLCBrZXksIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIH0KIAor
dm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckhhc1BlbmRpbmdFdmVu
dHMoU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGJvb2wg
aGFzUGVuZGluZ0V2ZW50cykKK3sKKyAgICBtX3NlcnZlci5zZXRTZXJ2aWNlV29ya2VySGFzUGVu
ZGluZ0V2ZW50cygqdGhpcywgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGhhc1BlbmRpbmdFdmVu
dHMpOworfQorCiB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpkaWRSZXNvbHZlUmVnaXN0cmF0
aW9uUHJvbWlzZShjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXkpCiB7CiAg
ICAgbV9zZXJ2ZXIuZGlkUmVzb2x2ZVJlZ2lzdHJhdGlvblByb21pc2UoKnRoaXMsIGtleSk7CkBA
IC0yNTUsNiArMjYwLDE0IEBAIHZvaWQgU1dTZXJ2ZXI6OmRpZEZpbmlzaEFjdGl2YXRpb24oQ29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU2VydmljZVdvcmtlclJlCiAgICAgICAgIFNXU2Vy
dmVySm9iUXVldWU6OmRpZEZpbmlzaEFjdGl2YXRpb24oKnJlZ2lzdHJhdGlvbiwgc2VydmljZVdv
cmtlcklkZW50aWZpZXIpOwogfQogCit2b2lkIFNXU2VydmVyOjpzZXRTZXJ2aWNlV29ya2VySGFz
UGVuZGluZ0V2ZW50cyhDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCBoYXNQZW5kaW5nRXZlbnRzKQorewor
ICAgIEFTU0VSVF9VTlVTRUQoY29ubmVjdGlvbiwgbV9jb25uZWN0aW9ucy5jb250YWlucyhjb25u
ZWN0aW9uLmlkZW50aWZpZXIoKSkpOworCisgICAgaWYgKGF1dG8qIHNlcnZpY2VXb3JrZXIgPSBt
X3dvcmtlcnNCeUlELmdldChzZXJ2aWNlV29ya2VySWRlbnRpZmllcikpCisgICAgICAgIHNlcnZp
Y2VXb3JrZXItPnNldEhhc1BlbmRpbmdFdmVudHMoaGFzUGVuZGluZ0V2ZW50cyk7Cit9CisKIHZv
aWQgU1dTZXJ2ZXI6OmRpZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKENvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJlZ2lzdHJhdGlv
bktleSkKIHsKICAgICBBU1NFUlQobV9jb25uZWN0aW9ucy5jb250YWlucyhjb25uZWN0aW9uLmlk
ZW50aWZpZXIoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5oCmluZGV4IDBhZTAzMTJkMTdhZTI4YmM3NzUwZDA1M2MwZTBhZTFjYzM3MjY2
NDAuLmYwYzhjMmMxY2Y1ZDhhOWI2MDU5NTJlZGQzOTI1NjUzN2MyMTg0MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTYzLDYg
KzYzLDcgQEAgcHVibGljOgogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNjcmlwdENvbnRl
eHRTdGFydGVkKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29y
a2VySWRlbnRpZmllcik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkRmluaXNoSW5z
dGFsbChjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIGJvb2wgd2FzU3VjY2Vzc2Z1bCk7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGlkRmluaXNoQWN0aXZhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
JiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
LCBib29sIGhhc1BlbmRpbmdFdmVudHMpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRp
ZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25LZXkmKTsKICAgICAgICAgY29uc3QgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIGRvUmVnaXN0cmF0
aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVS
TCYgY2xpZW50VVJMKSBjb25zdCB7IHJldHVybiBtX3NlcnZlci5kb1JlZ2lzdHJhdGlvbk1hdGNo
aW5nKHRvcE9yaWdpbiwgY2xpZW50VVJMKTsgfQogCkBAIC0xMzIsNiArMTMzLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNjcmlwdENvbnRleHRTdGFydGVkKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogICAg
IHZvaWQgZGlkRmluaXNoSW5zdGFsbChDb25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIHdhc1N1Y2Nlc3Nm
dWwpOwogICAgIHZvaWQgZGlkRmluaXNoQWN0aXZhdGlvbihDb25uZWN0aW9uJiwgY29uc3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAg
ICB2b2lkIHNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKENvbm5lY3Rpb24mLCBTZXJ2
aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCBoYXNQZW5kaW5nRXZlbnRzKTsKICAgICB2b2lkIGRp
ZFJlc29sdmVSZWdpc3RyYXRpb25Qcm9taXNlKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAKICAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVl
LmNwcAppbmRleCA0YjdiMDcyNWIwZWMyNzc0Y2IwZjAxYWY5OWZhOGY4MDkyNzRmYmM1Li5lNjlm
ZTU3ZWNiMzI3NDdjZWVjNmUyNGRjYzI2NjA4ZjdhYTE2YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5j
cHAKQEAgLTE4OSwxMiArMTg5LDEzIEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6dHJ5QWN0aXZh
dGUoU1dTZXJ2ZXImIHNlcnZlciwgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mIGNvbm5lCiAgICAgaWYg
KHJlZ2lzdHJhdGlvbi5hY3RpdmVXb3JrZXIoKSAmJiByZWdpc3RyYXRpb24uYWN0aXZlV29ya2Vy
KCktPnN0YXRlKCkgPT0gU2VydmljZVdvcmtlclN0YXRlOjpBY3RpdmF0aW5nKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICAvLyBGSVhNRTogSW52b2tlIEFjdGl2YXRlIHdpdGggcmVnaXN0cmF0aW9u
IGlmIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6CisgICAgLy8gSW52b2tlIEFjdGl2
YXRlIHdpdGggcmVnaXN0cmF0aW9uIGlmIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6
CiAgICAgLy8gLSByZWdpc3RyYXRpb24ncyBhY3RpdmUgd29ya2VyIGlzIG51bGwuCiAgICAgLy8g
LSBUaGUgcmVzdWx0IG9mIHJ1bm5pbmcgU2VydmljZSBXb3JrZXIgSGFzIE5vIFBlbmRpbmcgRXZl
bnRzIHdpdGggcmVnaXN0cmF0aW9uJ3MgYWN0aXZlIHdvcmtlciBpcyB0cnVlLAotICAgIC8vICAg
YW5kIG5vIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBpcyB1c2luZyByZWdpc3RyYXRpb24gb3IgcmVn
aXN0cmF0aW9uJ3Mgd2FpdGluZyB3b3JrZXIncyBza2lwIHdhaXRpbmcKLSAgICAvLyAgIGZsYWcg
aXMgc2V0LgotICAgIGFjdGl2YXRlKHNlcnZlciwgY29ubmVjdGlvbiwgcmVnaXN0cmF0aW9uKTsK
KyAgICAvLyAgIGFuZCBubyBzZXJ2aWNlIHdvcmtlciBjbGllbnQgaXMgdXNpbmcgcmVnaXN0cmF0
aW9uCisgICAgLy8gRklYTUU6IENoZWNrIGZvciB0aGUgc2tpcCB3YWl0aW5nIGZsYWcuCisgICAg
aWYgKCFyZWdpc3RyYXRpb24uYWN0aXZlV29ya2VyKCkgfHwgIXJlZ2lzdHJhdGlvbi5hY3RpdmVX
b3JrZXIoKS0+aGFzUGVuZGluZ0V2ZW50cygpKQorICAgICAgICBhY3RpdmF0ZShzZXJ2ZXIsIGNv
bm5lY3Rpb24sIHJlZ2lzdHJhdGlvbik7CiB9CiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9T
ZXJ2aWNlV29ya2VyLyNhY3RpdmF0ZQpAQCAtMzI4LDggKzMyOSwxMyBAQCB2b2lkIFNXU2VydmVy
Sm9iUXVldWU6OnRyeUNsZWFyUmVnaXN0cmF0aW9uKFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdp
c3RyYXRpb24pCiB7CiAgICAgLy8gRklYTUU6IE1ha2Ugc3VyZSB0aGF0IHRoZSByZWdpc3RyYXRp
b24gaGFzIG5vIHNlcnZpY2Ugd29ya2VyIGNsaWVudC4KIAotICAgIC8vIEZJWE1FOiBUaGUgc3Bl
Y2lmaWNhdGlvbiBoYXMgbW9yZSBjb21wbGV4IGxvZ2ljIGhlcmUuIFdlIGN1cnJlbnRseSBjbGVh
ciByZWdpc3RyYXRpb25zCi0gICAgLy8gdG9vIGFnZ3Jlc3NpdmVseS4KKyAgICBpZiAocmVnaXN0
cmF0aW9uLmluc3RhbGxpbmdXb3JrZXIoKSAmJiByZWdpc3RyYXRpb24uaW5zdGFsbGluZ1dvcmtl
cigpLT5oYXNQZW5kaW5nRXZlbnRzKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAocmVnaXN0
cmF0aW9uLndhaXRpbmdXb3JrZXIoKSAmJiByZWdpc3RyYXRpb24ud2FpdGluZ1dvcmtlcigpLT5o
YXNQZW5kaW5nRXZlbnRzKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAocmVnaXN0cmF0aW9u
LmFjdGl2ZVdvcmtlcigpICYmIHJlZ2lzdHJhdGlvbi5hY3RpdmVXb3JrZXIoKS0+aGFzUGVuZGlu
Z0V2ZW50cygpKQorICAgICAgICByZXR1cm47CisKICAgICBjbGVhclJlZ2lzdHJhdGlvbihyZWdp
c3RyYXRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKaW5kZXggYWJjZDU5Y2U5MTBlMWY4YTNiNTM4NmU0
MDllNDQ1ZjhjM2NlMWJhZS4uMWE2ODFlYjI5Y2U4NWI1OTAzYzdhNDFkOTdhMDQ0YThiNGFkMGEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlcldvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
U1dTZXJ2ZXJXb3JrZXIuaApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgU2VydmljZVdv
cmtlclN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQogICAgIHZvaWQgc2V0
U3RhdGUoU2VydmljZVdvcmtlclN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQogCisg
ICAgYm9vbCBoYXNQZW5kaW5nRXZlbnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQZW5kaW5nRXZl
bnRzOyB9CisgICAgdm9pZCBzZXRIYXNQZW5kaW5nRXZlbnRzKGJvb2wgdmFsdWUpIHsgbV9oYXNQ
ZW5kaW5nRXZlbnRzID0gdmFsdWU7IH0KKwogcHJpdmF0ZToKICAgICBTV1NlcnZlcldvcmtlcihj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiBzY3JpcHQsIFdvcmtlclR5cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIApAQCAt
NjgsNiArNzEsNyBAQCBwcml2YXRlOgogICAgIFdvcmtlclR5cGUgbV90eXBlOwogICAgIAogICAg
IFNlcnZpY2VXb3JrZXJTdGF0ZSBtX3N0YXRlIHsgU2VydmljZVdvcmtlclN0YXRlOjpSZWR1bmRh
bnQgfTsKKyAgICBib29sIG1faGFzUGVuZGluZ0V2ZW50cyB7IGZhbHNlIH07CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3Rv
cmFnZVByb2Nlc3MuY3BwCmluZGV4IDExOGRkZDdmZDY1MjA0NzI4ZGMwYzllZjBkNmU5YjUzMjU4
MTYxYzEuLjE5ZTdkMDBjYTVhOTM1YzRhZWM1Y2U4ZWM1NDhkZWU4MzQ5NWY4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCkBAIC00NjUs
NiArNDY1LDEzIEBAIHZvaWQgU3RvcmFnZVByb2Nlc3M6OmRpZEZpbmlzaFNlcnZpY2VXb3JrZXJB
Y3RpdmF0aW9uKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JCiAgICAgICAgIGNvbm5lY3Rpb24t
PmRpZEZpbmlzaEFjdGl2YXRpb24ocmVnaXN0cmF0aW9uS2V5LCBzZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiB9CiAKKwordm9pZCBTdG9yYWdlUHJvY2Vzczo6c2V0U2VydmljZVdvcmtlckhhc1Bl
bmRpbmdFdmVudHModWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIGhhc1BlbmRpbmdF
dmVudHMpCit7CisgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBtX3N3U2VydmVyQ29ubmVjdGlv
bnMuZ2V0KHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKSkKKyAgICAgICAgY29ubmVjdGlvbi0+
c2V0U2VydmljZVdvcmtlckhhc1BlbmRpbmdFdmVudHMoc2VydmljZVdvcmtlcklkZW50aWZpZXIs
IGhhc1BlbmRpbmdFdmVudHMpOworfQorCiB2b2lkIFN0b3JhZ2VQcm9jZXNzOjpyZWdpc3RlclNX
U2VydmVyQ29ubmVjdGlvbihXZWJTV1NlcnZlckNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pCiB7CiAg
ICAgQVNTRVJUKCFtX3N3U2VydmVyQ29ubmVjdGlvbnMuY29udGFpbnMoY29ubmVjdGlvbi5pZGVu
dGlmaWVyKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3Rv
cmFnZVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nl
c3MuaAppbmRleCA0ODI4ZWRkNDliMDJkMjZhNDA0NGU1MmIzMzEzMmIzMWFlZGRmYzUwLi5lYTU1
MDM0NTRiOTc5Y2FmYzdkMjJmMDczYTFmMTQzNWQyM2NmMjA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCkBAIC0xMzAsNiArMTMwLDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgZGlkRmluaXNoU2VydmljZVdvcmtlckluc3RhbGwodWludDY0X3Qg
c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCB3
YXNTdWNjZXNzZnVsKTsKICAgICB2b2lkIGRpZEZpbmlzaFNlcnZpY2VXb3JrZXJBY3RpdmF0aW9u
KHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZp
ZXIpOworICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckhhc1BlbmRpbmdFdmVudHModWludDY0X3Qg
c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLCBib29sIGhhc1BlbmRpbmdFdmVudHMpOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZp
ZXImIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBtZXNz
YWdlLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbik7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFn
ZVByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3Jh
Z2VQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGU4ZjE5ODQzNWI5NjI3MDk5MzdhMGYzNTFkZDUy
NWRlYTdlNDA5MzEuLjNiNmQzMzkzNmU4OTc0YjFiNjU2NzNiM2M5YzBmODQ3NzhmNmQ4ZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtNDIsNiArNDIsNyBAQCBtZXNzYWdlcyAtPiBTdG9yYWdlUHJvY2Vz
cyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2VydmljZVdvcmtlckNvbnRleHRTdGFydGVkKHVpbnQ2
NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5IHJlZ2lzdHJhdGlvbktleSwgV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIpCiAgICAgRGlkRmluaXNoU2VydmljZVdvcmtl
ckluc3RhbGwodWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgcmVnaXN0cmF0aW9uS2V5LCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCB3YXNTdWNj
ZXNzZnVsKTsKICAgICBEaWRGaW5pc2hTZXJ2aWNlV29ya2VyQWN0aXZhdGlvbih1aW50NjRfdCBz
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbktleSByZWdpc3RyYXRpb25LZXksIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICBTZXRTZXJ2aWNlV29ya2VySGFzUGVuZGlu
Z0V2ZW50cyh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGJvb2wgaGFzUGVu
ZGluZ0V2ZW50cyk7CiAKICAgICBEaWROb3RIYW5kbGVGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25u
ZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJZGVudGlmaWVyKQogICAgIERpZEZhaWxG
ZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJ
ZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IGJhYTBh
NGMzYTYxMzdkOWJhYWYyYzM5ZTg2Y2Q3ZjViY2U2NTAzY2MuLmVkYjI0NTQ3Mzk5ZGJjN2Y1MjM4
ZDY4YjU1Y2IzMThiZmY3Zjk3MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKQEAgLTE4NCw2ICsxODQsMTQgQEAgdm9pZCBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6ZGlkRmluaXNoQWN0aXZhdGlvbihTZXJ2aWNlV29ya2VySWRlbnRpZmllcgogICAgIG1fY29u
bmVjdGlvblRvU3RvcmFnZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpE
aWRGaW5pc2hTZXJ2aWNlV29ya2VyQWN0aXZhdGlvbih0aHJlYWRQcm94eS0+dGhyZWFkKCkuc2Vy
dmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgZGF0YS5yZWdpc3RyYXRpb25LZXksIHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyKSwgMCk7CiB9CiAKK3ZvaWQgV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246OnNldFNlcnZpY2VXb3JrZXJIYXNQZW5kaW5nRXZlbnRzKFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIGhhc1BlbmRpbmdFdmVudHMpCit7
CisgICAgYXV0byogdGhyZWFkUHJveHkgPSBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5z
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgIEFT
U0VSVCh0aHJlYWRQcm94eSk7CisKKyAgICBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5z
ZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6U2V0U2VydmljZVdvcmtlckhhc1BlbmRpbmdF
dmVudHModGhyZWFkUHJveHktPnRocmVhZCgpLnNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKCks
IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBoYXNQZW5kaW5nRXZlbnRzKSwgMCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDYwN2UwMGVmOGE0NjYwOTZmOTcw
OTc2MTg1ODczY2QzOTg1ODAyODIuLjhkYTZhNWQ2ZWFkMDU1OTBhZTE0NTBhNjM3MjcwMjM4YWIw
OTBiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtNTQsNiArNTQsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoY29u
c3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXImIGRlc3RpbmF0aW9uSWRl
bnRpZmllciwgUmVmPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHNvdXJjZU9yaWdpbikgZmluYWw7CiAgICAgdm9pZCBkaWRGaW5pc2hJbnN0YWxsKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBib29sIHdhc1N1Y2Nlc3NmdWwpIGZpbmFs
OwogICAgIHZvaWQgZGlkRmluaXNoQWN0aXZhdGlvbihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllcikgZmluYWw7CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VySGFzUGVuZGluZ0V2ZW50
cyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgYm9vbCkgZmluYWw7CiAKICAgICAv
LyBJUEMgbWVzc2FnZXMuCiAgICAgdm9pZCBzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdl
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQwZjU1ZjhmOGVhNGI5MzFjNWMzMjQzNGI1MzFmODU4
MWNhNGI0NWUuLjQ0NzBkMmM0OTVhZTJiMzcyNjQzYWI2OWU3MmE2NDIzMDhhYTY0MGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCAiU2VydmljZSBXb3JrZXIgSGFzIE5vIFBlbmRpbmcg
RXZlbnRzIiAvICJVcGRhdGUgU2VydmljZSBXb3JrZXIgRXh0ZW5kZWQgRXZlbnRzIFNldCIgYWxn
b3JpdGhtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc5NjE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLXJldXNlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFz
aWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLXJldXNlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9iYXNpYy11bnJlZ2lz
dGVyLXRoZW4tcmVnaXN0ZXItYWdhaW4tcmV1c2Utd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAg
KGV2ZW50LndhaXRVbnRpbC5uZXcuUHJvbWlzZSk6CisgICAgICAgIChzZXRUaW1lb3V0KToKKwog
MjAxNy0xMS0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFyayBlZGl0aW5nL2V4ZWNDb21tYW5kL3VuZGVybGluZS1zZWxlY3Rpb24tY29udGFpbmlu
Zy1pbWFnZS5odG1sIGFzIGZhaWxpbmcgb24gV2luZG93cy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1hZ2Fpbi1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9iYXNpYy11bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItYWdhaW4tcmV1c2Ut
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Njc2ZTM2MGJmODI3NjlhZTk1Mzc4MDNlNWU5NDAy
NDkwMTJiMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9iYXNpYy11bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItYWdhaW4tcmV1c2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorUEFTUzogcmVnaXN0cmF0aW9uMSBzaG91bGQgbm90
IGhhdmUgYW4gaW5zdGFsbGluZyB3b3JrZXIKK1BBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIG5v
dCBoYXZlIGEgd2FpdGluZyB3b3JrZXIKK1BBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIGhhdmUg
YW4gYWN0aXZlIHdvcmtlcgorUEFTUzogUmVnaXN0cmF0aW9uIHdhcyByZXVzZWQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvYmFzaWMtdW5yZWdp
c3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dvcmtlcnMvc2VydmljZS9iYXNpYy11bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItYWdhaW4t
cmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTdiMjFkNjg1ODc1OWExZTA2YjRlMGQxZWMwNDJkZmE0
M2NlOTQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLXJldXNlLmh0bWwK
QEAgLTAsMCArMSw1NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
c3ctdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiB3YWl0Rm9yTWVzc2FnZUV2ZW50KCkKK3sKKyAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoJ21lc3NhZ2UnLCByZXNvbHZlLCB7IG9uY2U6IHRydWUgfSk7CisgICAgfSk7Cit9CisK
K2FzeW5jIGZ1bmN0aW9uIHRlc3QoKQoreworICAgIHRyeSB7CisgICAgICAgICBsZXQgcmVnaXN0
cmF0aW9uMSA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJyZXNvdXJj
ZXMvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWluLXJldXNlLXdvcmtlci5qcyIs
IHsgfSk7CisgICAgICAgICBhd2FpdCB3YWl0Rm9yU3RhdGUocmVnaXN0cmF0aW9uMS5pbnN0YWxs
aW5nLCAiYWN0aXZhdGVkIik7CisgICAgICAgICBpZiAocmVnaXN0cmF0aW9uMS5pbnN0YWxsaW5n
KQorICAgICAgICAgICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgbm90IGhhdmUg
YW4gaW5zdGFsbGluZyB3b3JrZXIiKTsKKyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICBsb2co
IlBBU1M6IHJlZ2lzdHJhdGlvbjEgc2hvdWxkIG5vdCBoYXZlIGFuIGluc3RhbGxpbmcgd29ya2Vy
Iik7CisKKyAgICAgICAgIGlmIChyZWdpc3RyYXRpb24xLndhaXRpbmcpCisgICAgICAgICAgICAg
bG9nKCJGQUlMOiByZWdpc3RyYXRpb24xIHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2Vy
Iik7CisgICAgICAgICBlbHNlCisgICAgICAgICAgICAgbG9nKCJQQVNTOiByZWdpc3RyYXRpb24x
IHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyIik7CisKKyAgICAgICAgIGlmIChyZWdp
c3RyYXRpb24xLmFjdGl2ZSkKKyAgICAgICAgICAgICBsb2coIlBBU1M6IHJlZ2lzdHJhdGlvbjEg
c2hvdWxkIGhhdmUgYW4gYWN0aXZlIHdvcmtlciIpOworICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgIGxvZygiRkFJTDogcmVnaXN0cmF0aW9uMSBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29ya2Vy
Iik7CisKKyAgICAgICAgIC8vIFNlcnZpY2Ugd29ya2VyIHdpbGwgdXNlIHdhaXRVbnRpbCgpIG9u
IHRoZSByZWNlaXZlZCBFeHRlbmRhYmxlTWVzc2FnZUV2ZW50IHRvIGV4dGVuZCBpdHMgbGlmZXRp
bWUuCisgICAgICAgICByZWdpc3RyYXRpb24xLmFjdGl2ZS5wb3N0TWVzc2FnZSgiRXh0ZW5kTGlm
ZXRpbWUiKTsKKworICAgICAgICAgYXdhaXQgd2FpdEZvck1lc3NhZ2VFdmVudCgpOworICAgICAg
ICAgYXdhaXQgcmVnaXN0cmF0aW9uMS51bnJlZ2lzdGVyKCk7CisKKyAgICAgICAgIGxldCByZWdp
c3RyYXRpb24yID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoInJlc291
cmNlcy9iYXNpYy11bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItYWdhaW4tcmV1c2Utd29ya2VyLmpz
IiwgeyB9KTsKKyAgICAgICAgIGlmIChyZWdpc3RyYXRpb24xID09PSByZWdpc3RyYXRpb24yKQor
ICAgICAgICAgICAgIGxvZygiUEFTUzogUmVnaXN0cmF0aW9uIHdhcyByZXVzZWQiKTsKKyAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICBsb2coIkZBSUw6IFJlZ2lzdHJhdGlvbiB3YXMgbm90IHJl
dXNlZCIpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBHb3QgZXhjZXB0
aW9uICIgKyBlKTsKKyAgICB9CisgICAgZmluaXNoU1dUZXN0KCk7Cit9CisKK3Rlc3QoKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1hZ2Fpbi1yZXVzZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9yZXNvdXJjZXMvYmFzaWMtdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLWFnYWlu
LXJldXNlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yjc5YWZkYzNjYTkzMTFhZWQxNjFlMDczODRj
ODVlM2QxMGNhNjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL2Jhc2ljLXVucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1h
Z2Fpbi1yZXVzZS13b3JrZXIuanMKQEAgLTAsMCArMSwxMSBAQAorc2VsZi5hZGRFdmVudExpc3Rl
bmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBldmVudC53YWl0VW50aWwobmV3
IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBzZXRUaW1lb3V0KCgpID0+
IHsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSwgMTAwMDApOworICAgIH0pKTsK
KyAgICBjbGllbnQgPSBldmVudC5zb3VyY2U7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
KyAgICAgICAgY2xpZW50LnBvc3RNZXNzYWdlKCJFeHRlbmRlZExpZmV0aW1lIik7CisgICAgfSwg
MCk7Cit9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>