<?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>196735</bug_id>
          
          <creation_ts>2019-04-09 09:46:42 -0700</creation_ts>
          <short_desc>SWClientConnection should not double hop to fire some events</short_desc>
          <delta_ts>2019-04-11 14:27:45 -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>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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1525647</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-09 09:46:42 -0700</bug_when>
    <thetext>postMessage in service workers is hopping from main thread to service worker thread to dispatch events.
Ditto for fetch event.
Some other events though are hopping from main thread to service worker thread, then posting a task to dispatch events.
This may create ordering problems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525658</commentid>
    <comment_count>1</comment_count>
      <attachid>367046</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-09 10:00:40 -0700</bug_when>
    <thetext>Created attachment 367046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525962</commentid>
    <comment_count>2</comment_count>
      <attachid>367126</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-10 09:13:47 -0700</bug_when>
    <thetext>Created attachment 367126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526182</commentid>
    <comment_count>3</comment_count>
      <attachid>367126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 15:55:07 -0700</bug_when>
    <thetext>Comment on attachment 367126
Patch

Clearing flags on attachment: 367126

Committed r244160: &lt;https://trac.webkit.org/changeset/244160&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526183</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 15:55:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526185</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-10 15:56:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/49794126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526469</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-04-11 14:27:45 -0700</bug_when>
    <thetext>*** Bug 190828 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367046</attachid>
            <date>2019-04-09 10:00:40 -0700</date>
            <delta_ts>2019-04-10 09:13:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196735-20190409100040.patch</filename>
            <type>text/plain</type>
            <size>18838</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQxMTk3YmRjYWE4ZDRk
MjNiMzAzM2Y5NGM3NzA2MWQ2MDg5Njk4OS4uYTM4NDM1MjcyMWUxYzI5YjhiNWJiZjg4NzU4ZjM5
YjAwOWRiZWYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA0LTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTV0NsaWVudENvbm5lY3Rp
b24gc2hvdWxkIG5vdCBkb3VibGUgaG9wIHRvIGZpcmUgc29tZSBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjczNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgZXZlbnRzLCBsaWtlIHBv
c3RNZXNzYWdlIGluIHNlcnZpY2Ugd29ya2VycyBpcyBob3BwaW5nIGZyb20gbWFpbiB0aHJlYWQg
dG8gc2VydmljZSB3b3JrZXIgdGhyZWFkIHRvIGRpc3BhdGNoIGV2ZW50cy4KKyAgICAgICAgU29t
ZSBvdGhlciBldmVudHMsIGxpa2Ugc2VydmljZSB3b3JrZXIgc3RhdGUgdXBkYXRlLCBhcmUgaG9w
cGluZyBmcm9tIG1haW4gdGhyZWFkIHRvIHNlcnZpY2Ugd29ya2VyIHRocmVhZCwgdGhlbiBwb3N0
aW5nIGEgdGFzayB0byBkaXNwYXRjaCBldmVudHMuCisgICAgICAgIFRoaXMgbWF5IGNyZWF0ZSBv
cmRlcmluZyBwcm9ibGVtcy4KKworICAgICAgICBUbyBmaXggdGhlIGlzc3VlLCB3ZSBub3cgaG9w
IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciB0aHJlYWQgYW5kIGRpc3BhdGNoIHRoZSBldmVudHMuCisg
ICAgICAgIEluIGFkZGl0aW9uLCBmb3IgZG9jdW1lbnRzLCB3ZSBwb3N0IGEgdGFzayBhbmQgZG8g
dGhlIHdob2xlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3NpbmcgaW4gaXQuCisgICAgICAgIFRoaXMg
ZW5zdXJlcyB0aGF0IHNvbWUgdGVzdHMsIGxpa2Ugd2hldGhlciB0aGVyZSBpcyBhIHNlcnZpY2Ug
d29ya2VyIGNvbnRhaW5lciwKKyAgICAgICAgb3IgY3JlYXRpb24gb2YgYSBzZXJ2aWNlIHdvcmtl
ciBhcmUgZG9uZSBjb25zaXN0ZW50bHkuCisKKyAgICAgICAgQ292ZXJlZCBieSB1bmZsYWtlZCB0
ZXN0LgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlv
blN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlV29y
a2VyU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uOjpmaXJlVXBk
YXRlRm91bmRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246Om5v
dGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6OnVw
ZGF0ZVN0YXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlv
blN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmZpcmVV
cGRhdGVGb3VuZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmZpcmVDb250cm9sbGVyQ2hhbmdlRXZlbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICBOb3RpZnkgb2YgdGhlIHNjcmlwdCBVUkwgaW4gdGhl
IGVycm9yIG1lc3NhZ2UuCisgICAgICAgIFRoaXMgd2lsbCBoZWxwIGRpYWdub3NlIGZsYWtpbmVz
cyBpc3N1ZXMuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
ZmlyZVVwZGF0ZUZvdW5kRXZlbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmg6CisKIDIwMTktMDQtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sgZm9yIHRoZSBzZXJ2
aWNlIHdvcmtlciBwcm9jZXNzIG5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggZjAyNWY5MzMyZjU3OThmY2Y1
MTBmYWI5YTQxYWJjYmRhMzcyZDdiNC4uZmUyYWRmNjBjYTZhOWI0ODg4NmVmZTYyMzJjN2IwOWI1
ODM0MTIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE0MiwxMyArMTQyLDE1IEBAIHZvaWQgU1dDbGllbnRD
b25uZWN0aW9uOjp1cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpCiAgICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yRWFjaFNlcnZp
Y2VXb3JrZXJUaHJlYWQoW2lkZW50aWZpZXIsIHN0YXRlLCAmc2VydmljZVdvcmtlckRhdGFdIChh
dXRvJiB3b3JrZXJUaHJlYWQpIHsKICAgICAgICAgd29ya2VyVGhyZWFkLnRocmVhZCgpLnJ1bkxv
b3AoKS5wb3N0VGFzayhbaWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXJEYXRhID0gY3Jv
c3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJEYXRhKV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29u
dGV4dC5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCi0gICAgICAgICAgICAgICAgY29udGFpbmVy
LT5zY2hlZHVsZVRhc2tUb1VwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKGlkZW50aWZpZXIsIHN0YXRl
LCBXVEZNb3ZlKHNlcnZpY2VXb3JrZXJEYXRhKSk7CisgICAgICAgICAgICAgICAgY29udGFpbmVy
LT51cGRhdGVSZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgV1RGTW92ZShzZXJ2
aWNlV29ya2VyRGF0YSkpOwogICAgICAgICB9KTsKICAgICB9KTsKIAogICAgIGZvciAoYXV0byog
ZG9jdW1lbnQgOiBEb2N1bWVudDo6YWxsRG9jdW1lbnRzKCkpIHsKLSAgICAgICAgaWYgKGF1dG8q
IGNvbnRhaW5lciA9IGRvY3VtZW50LT5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCi0gICAgICAg
ICAgICBjb250YWluZXItPnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoaWRl
bnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXJEYXRhKTsKKyAgICAgICAgZG9jdW1lbnQtPnBv
c3RUYXNrKFtpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEsIGRvY3VtZW50XShh
dXRvJikgeworICAgICAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRvY3VtZW50LT5zZXJ2
aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgICAgICAgICAgY29udGFpbmVyLT51cGRhdGVS
ZWdpc3RyYXRpb25TdGF0ZShpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEpOwor
ICAgICAgICB9KTsKICAgICB9CiB9CiAKQEAgLTE1OSwxMyArMTYxLDE1IEBAIHZvaWQgU1dDbGll
bnRDb25uZWN0aW9uOjp1cGRhdGVXb3JrZXJTdGF0ZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBp
ZGVudGlmaWVyLCBTCiAgICAgU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuZm9yRWFjaFNl
cnZpY2VXb3JrZXJUaHJlYWQoW2lkZW50aWZpZXIsIHN0YXRlXSAoYXV0byYgd29ya2VyVGhyZWFk
KSB7CiAgICAgICAgIHdvcmtlclRocmVhZC50aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2soW2lk
ZW50aWZpZXIsIHN0YXRlXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7CiAgICAg
ICAgICAgICBpZiAoYXV0byogc2VydmljZVdvcmtlciA9IGNvbnRleHQuc2VydmljZVdvcmtlcihp
ZGVudGlmaWVyKSkKLSAgICAgICAgICAgICAgICBzZXJ2aWNlV29ya2VyLT5zY2hlZHVsZVRhc2tU
b1VwZGF0ZVN0YXRlKHN0YXRlKTsKKyAgICAgICAgICAgICAgICBzZXJ2aWNlV29ya2VyLT51cGRh
dGVTdGF0ZShzdGF0ZSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCiAgICAgZm9yIChhdXRvKiBk
b2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkgewotICAgICAgICBpZiAoYXV0byog
c2VydmljZVdvcmtlciA9IGRvY3VtZW50LT5zZXJ2aWNlV29ya2VyKGlkZW50aWZpZXIpKQotICAg
ICAgICAgICAgc2VydmljZVdvcmtlci0+c2NoZWR1bGVUYXNrVG9VcGRhdGVTdGF0ZShzdGF0ZSk7
CisgICAgICAgIGRvY3VtZW50LT5wb3N0VGFzayhbaWRlbnRpZmllciwgZG9jdW1lbnQsIHN0YXRl
XShhdXRvJikgeworICAgICAgICAgICAgaWYgKGF1dG8qIHNlcnZpY2VXb3JrZXIgPSBkb2N1bWVu
dC0+c2VydmljZVdvcmtlcihpZGVudGlmaWVyKSkKKyAgICAgICAgICAgICAgICBzZXJ2aWNlV29y
a2VyLT51cGRhdGVTdGF0ZShzdGF0ZSk7CisgICAgICAgIH0pOwogICAgIH0KIH0KIApAQCAtMTc2
LDEzICsxODAsMTUgQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OmZpcmVVcGRhdGVGb3VuZEV2
ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWUKICAgICBTV0NvbnRleHRNYW5h
Z2VyOjpzaW5nbGV0b24oKS5mb3JFYWNoU2VydmljZVdvcmtlclRocmVhZChbaWRlbnRpZmllcl0g
KGF1dG8mIHdvcmtlclRocmVhZCkgewogICAgICAgICB3b3JrZXJUaHJlYWQudGhyZWFkKCkucnVu
TG9vcCgpLnBvc3RUYXNrKFtpZGVudGlmaWVyXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0KSB7CiAgICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5zZXJ2aWNl
V29ya2VyQ29udGFpbmVyKCkpCi0gICAgICAgICAgICAgICAgY29udGFpbmVyLT5zY2hlZHVsZVRh
c2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZpZXIpOworICAgICAgICAgICAgICAgIGNv
bnRhaW5lci0+ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7CiAgICAgICAgIH0pOwog
ICAgIH0pOwogCiAgICAgZm9yIChhdXRvKiBkb2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVu
dHMoKSkgewotICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gZG9jdW1lbnQtPnNlcnZpY2VX
b3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgIGNvbnRhaW5lci0+c2NoZWR1bGVUYXNrVG9G
aXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKTsKKyAgICAgICAgZG9jdW1lbnQtPnBvc3RU
YXNrKFtkb2N1bWVudCwgaWRlbnRpZmllcl0oYXV0byYpIHsKKyAgICAgICAgICAgIGlmIChhdXRv
KiBjb250YWluZXIgPSBkb2N1bWVudC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpKQorICAgICAg
ICAgICAgICAgIGNvbnRhaW5lci0+ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7Cisg
ICAgICAgIH0pOwogICAgIH0KIH0KIApAQCAtMjM5LDEwICsyNDUsMTIgQEAgdm9pZCBTV0NsaWVu
dENvbm5lY3Rpb246Om5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNl
dDxEb2N1bWVudEkKICAgICAgICAgaWYgKCFjbGllbnQpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAotICAgICAgICBBU1NFUlQoIWNsaWVudC0+YWN0aXZlU2VydmljZVdvcmtlcigpIHx8IGNsaWVu
dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLT5pZGVudGlmaWVyKCkgIT0gbmV3Q29udHJvbGxlci5p
ZGVudGlmaWVyKTsKLSAgICAgICAgY2xpZW50LT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZp
Y2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjbGllbnQsIFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3Q29u
dHJvbGxlciB9KSk7Ci0gICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBjbGllbnQtPnNlcnZp
Y2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgIGNvbnRhaW5lci0+c2NoZWR1bGVUYXNr
VG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisgICAgICAgIGNsaWVudC0+cG9zdFRhc2so
W2NsaWVudCwgY29udGV4dElkZW50aWZpZXJzLCBuZXdDb250cm9sbGVyID0gV1RGTW92ZShuZXdD
b250cm9sbGVyKV0oYXV0byYpIHsKKyAgICAgICAgICAgIEFTU0VSVCghY2xpZW50LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCkgfHwgY2xpZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCktPmlkZW50aWZp
ZXIoKSAhPSBuZXdDb250cm9sbGVyLmlkZW50aWZpZXIpOworICAgICAgICAgICAgY2xpZW50LT5z
ZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjbGllbnQs
IFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KSk7CisgICAgICAgICAgICBpZiAo
YXV0byogY29udGFpbmVyID0gY2xpZW50LT5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAg
ICAgICAgICAgICAgY29udGFpbmVyLT5maXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisgICAg
ICAgIH0pOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuY3BwCmluZGV4IGQ0YzBlM2NiMzY2YjU0ZWEwNjBlMTY1ZjE3MjJlMzVi
NmE1OGNmZTAuLmY0YTNjNGI4YmY2NzBiNzhiMjMxMzczZWVlMmE2YWMwN2YzNjc2OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKQEAg
LTc2LDI0ICs3NiwxNiBAQCBTZXJ2aWNlV29ya2VyOjp+U2VydmljZVdvcmtlcigpCiAgICAgICAg
IGNvbnRleHQtPnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyKCp0aGlzKTsKIH0KIAotdm9pZCBTZXJ2
aWNlV29ya2VyOjpzY2hlZHVsZVRhc2tUb1VwZGF0ZVN0YXRlKFN0YXRlIHN0YXRlKQordm9pZCBT
ZXJ2aWNlV29ya2VyOjp1cGRhdGVTdGF0ZShTdGF0ZSBzdGF0ZSkKIHsKLSAgICBhdXRvKiBjb250
ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgY29udGV4dC0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMg
PSBtYWtlUmVmKCp0aGlzKSwgc3RhdGVdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7Ci0gICAg
ICAgIEFTU0VSVCh0aGlzLT5zdGF0ZSgpICE9IHN0YXRlKTsKLQotICAgICAgICBXT1JLRVJfUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgic2NoZWR1bGVUYXNrVG9VcGRhdGVTdGF0ZTogVXBkYXRpbmcg
c2VydmljZSB3b3JrZXIgJWxsdSBzdGF0ZSBmcm9tICVoaHUgdG8gJWhodS4gUmVnaXN0cmF0aW9u
IElEOiAlbGx1IiwgaWRlbnRpZmllcigpLnRvVUludDY0KCksIG1fZGF0YS5zdGF0ZSwgc3RhdGUs
IHJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLSAgICAgICAgbV9kYXRhLnN0
YXRlID0gc3RhdGU7Ci0gICAgICAgIGlmIChzdGF0ZSAhPSBTdGF0ZTo6SW5zdGFsbGluZyAmJiAh
bV9pc1N0b3BwZWQpIHsKLSAgICAgICAgICAgIEFTU0VSVChtX3BlbmRpbmdBY3Rpdml0eUZvckV2
ZW50RGlzcGF0Y2gpOwotICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5zdGF0ZWNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6
OklzQ2FuY2VsYWJsZTo6Tm8pKTsKLSAgICAgICAgfQorICAgIFdPUktFUl9SRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJ1cGRhdGVTdGF0ZTogVXBkYXRpbmcgc2VydmljZSB3b3JrZXIgJWxsdSBzdGF0
ZSBmcm9tICVoaHUgdG8gJWhodS4gUmVnaXN0cmF0aW9uIElEOiAlbGx1IiwgaWRlbnRpZmllcigp
LnRvVUludDY0KCksIG1fZGF0YS5zdGF0ZSwgc3RhdGUsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIo
KS50b1VJbnQ2NCgpKTsKKyAgICBtX2RhdGEuc3RhdGUgPSBzdGF0ZTsKKyAgICBpZiAoc3RhdGUg
IT0gU3RhdGU6Okluc3RhbGxpbmcgJiYgIW1faXNTdG9wcGVkKSB7CisgICAgICAgIEFTU0VSVCht
X3BlbmRpbmdBY3Rpdml0eUZvckV2ZW50RGlzcGF0Y2gpOworICAgICAgICBkaXNwYXRjaEV2ZW50
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN0YXRlY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5C
dWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIH0KIAotICAgICAgICB1
cGRhdGVQZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7Ci0gICAgfSk7CisgICAgdXBk
YXRlUGVuZGluZ0FjdGl2aXR5Rm9yRXZlbnREaXNwYXRjaCgpOwogfQogCiBFeGNlcHRpb25Pcjx2
b2lkPiBTZXJ2aWNlV29ya2VyOjpwb3N0TWVzc2FnZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBKU0M6OkpTVmFsdWUgbWVzc2FnZVZhbHVlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlND
OjpKU09iamVjdD4+JiYgdHJhbnNmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRleCBkZjIwZGYyNzM5ZTYyNDc5ZDYxYmYwMWVkYzUyN2U2
OWZlZDUwNjJmLi5lYmE2NWNhMmMyYjQ4OThmOTc2NGM0YjBjZDNmN2JmNmRkZWE5ZmMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTU1
LDcgKzU1LDcgQEAgcHVibGljOgogCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBt
X2RhdGEuc3RhdGU7IH0KICAgICAKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvVXBkYXRlU3RhdGUo
U3RhdGUpOworICAgIHZvaWQgdXBkYXRlU3RhdGUoU3RhdGUpOwogCiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gcG9zdE1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6SlNWYWx1ZSBt
ZXNzYWdlLCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4+JiYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAKaW5kZXggNDkwMmI2YTA1NjBhZWY3NjNlNjA1NDAyNTg4OTNkNWRiNmViMWIzOC4u
ZWU4MDNmZDI1NWUwOTk4MjNjNmQ4NDkxZjAyZWM3MWZmZmU3MzMyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcApAQCAtMzExLDIwICszMTEsMTcgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpk
aWRGaW5pc2hHZXRSZWdpc3RyYXRpb25SZXF1ZXN0KHVpbnQ2NF90IHBlbmRpbmdQcm8KICAgICBw
ZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbj4+KFdURk1vdmUocmVnaXN0cmF0aW9uKSk7CiB9CiAKLXZvaWQgU2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0IE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJE
YXRhPiYgc2VydmljZVdvcmtlckRhdGEpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnVw
ZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSBzdGF0ZSwgY29uc3Qg
T3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+JiBzZXJ2aWNlV29ya2VyRGF0YSkKIHsKLSAgICBh
dXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIGlmICghY29udGV4
dCkKKyAgICBpZiAobV9pc1N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIFJlZlB0cjxT
ZXJ2aWNlV29ya2VyPiBzZXJ2aWNlV29ya2VyOwogICAgIGlmIChzZXJ2aWNlV29ya2VyRGF0YSkK
LSAgICAgICAgc2VydmljZVdvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpjb250
ZXh0LCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpzZXJ2aWNlV29ya2VyRGF0YSB9KTsKKyAgICAgICAg
c2VydmljZVdvcmtlciA9IFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksIFNlcnZpY2VXb3JrZXJEYXRhIHsgKnNlcnZpY2VXb3JrZXJEYXRhIH0pOwog
Ci0gICAgY29udGV4dC0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgaWRlbnRpZmllciwgc3RhdGUsIHNlcnZpY2VXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VX
b3JrZXIpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgbXV0YWJsZSB7Ci0gICAgICAgIGlmIChh
dXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGlkZW50aWZpZXIpKQotICAg
ICAgICAgICAgcmVnaXN0cmF0aW9uLT51cGRhdGVTdGF0ZUZyb21TZXJ2ZXIoc3RhdGUsIFdURk1v
dmUoc2VydmljZVdvcmtlcikpOwotICAgIH0pOworICAgIGlmIChhdXRvKiByZWdpc3RyYXRpb24g
PSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGlkZW50aWZpZXIpKQorICAgICAgICByZWdpc3RyYXRpb24t
PnVwZGF0ZVN0YXRlRnJvbVNlcnZlcihzdGF0ZSwgV1RGTW92ZShzZXJ2aWNlV29ya2VyKSk7CiB9
CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9ucyhSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCkBAIC00MDcsMTQgKzQwNCwxNCBAQCB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYkZhaWxlZFdpdGhFeGNlcHRpb24oU2VydmljZVdvcmtlckpv
YiYgam9iLCBjb25zdAogICAgIH0KIH0KIAotdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpz
Y2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyIGlkZW50aWZpZXIpCit2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmZp
cmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFk
LnB0cigpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSk7CiAjZW5kaWYKIAogICAgIGlmIChhdXRvKiBy
ZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGlkZW50aWZpZXIpKQotICAgICAgICBy
ZWdpc3RyYXRpb24tPnNjaGVkdWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoKTsKKyAgICAg
ICAgcmVnaXN0cmF0aW9uLT5maXJlVXBkYXRlRm91bmRFdmVudCgpOwogfQogCiB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29y
a2VySm9iJiBqb2IsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgZGF0YSwgU2hvdWxk
Tm90aWZ5V2hlblJlc29sdmVkIHNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCkKQEAgLTYxNyw3ICs2
MTQsNyBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uJiByZWdpcwogICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1v
dmUocmVnaXN0cmF0aW9uLmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCkKK3ZvaWQg
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZmlyZUNvbnRyb2xsZXJDaGFuZ2VFdmVudCgpCiB7CiAj
aWZuZGVmIE5ERUJVRwogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZUaHJl
YWQ6OmN1cnJlbnQoKSk7CkBAIC02MjYsMTIgKzYyMyw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNv
bnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCkKICAgICBp
ZiAobV9pc1N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIG11dGFibGUgewotICAgICAgICBpZiAobV9pc1N0b3Bw
ZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5jb250cm9sbGVyY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJi
bGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwotICAgIH0pOworICAgIGRpc3BhdGNo
RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY29udHJvbGxlcmNoYW5nZUV2ZW50LCBF
dmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAogdm9p
ZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IDY3MTQw
NGQ1N2E4YjRhNGU3YTZjY2VhYTJkYjRhZDkxM2EzYTc1M2EuLmIzYjI5YmQ3OGEzYjE4NjMxNzhk
YmQzYjZlYjM5NDAzMWEzNGE5MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtNjYsOSArNjYsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwg
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+
JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkws
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgc2NoZWR1bGVUYXNrVG9VcGRhdGVS
ZWdpc3RyYXRpb25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2Vy
RGF0YT4mKTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgc2NoZWR1bGVUYXNr
VG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRp
b25TdGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvblN0YXRlLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mKTsK
KyAgICB2b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyKTsKKyAgICB2b2lkIGZpcmVDb250cm9sbGVyQ2hhbmdlRXZlbnQoKTsKIAogICAg
IHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmlu
ZGV4IGYwYjE0NmE1MjYyN2EwODc5ZWZmNGU5ZGVmMDA0ZDg0ZWVmMDk0MzUuLmExMjMyZjg1NGE0
YzI3NTFjN2Q2NDZmNjhjODQ3M2YyMzk3ZWIxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKQEAgLTE2Myw3ICsxNjMsNyBA
QCB2b2lkIFNlcnZpY2VXb3JrZXJKb2I6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBhdXRvJiBlcnJv
ciA9IHNjcmlwdExvYWRlci0+ZXJyb3IoKTsKICAgICBBU1NFUlQoIWVycm9yLmlzTnVsbCgpKTsK
IAotICAgIG1fY2xpZW50LmpvYkZhaWxlZExvYWRpbmdTY3JpcHQoKnRoaXMsIGVycm9yLCBFeGNl
cHRpb24geyBlcnJvci5pc0FjY2Vzc0NvbnRyb2woKSA/IFNlY3VyaXR5RXJyb3IgOiBUeXBlRXJy
b3IsICJTY3JpcHQgbG9hZCBmYWlsZWQiX3MgfSk7CisgICAgbV9jbGllbnQuam9iRmFpbGVkTG9h
ZGluZ1NjcmlwdCgqdGhpcywgZXJyb3IsIEV4Y2VwdGlvbiB7IGVycm9yLmlzQWNjZXNzQ29udHJv
bCgpID8gU2VjdXJpdHlFcnJvciA6IFR5cGVFcnJvciwgbWFrZVN0cmluZygiU2NyaXB0ICIsIHNj
cmlwdExvYWRlci0+dXJsKCkuc3RyaW5nKCksICIgbG9hZCBmYWlsZWQiKSB9KTsKIH0KIAogYm9v
bCBTZXJ2aWNlV29ya2VySm9iOjpjYW5jZWxQZW5kaW5nTG9hZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bi5jcHAKaW5kZXggYjkwZGZmNzg0NjM4NTg3N2JlNjlmYTBmYTVkMDFjMWEyMzY3MDZiNS4uMDc5
YjFlZDg4MmNmMDBjNTc2OGU0Mjk5MGE2Y2MwZjQyZWM2MmNhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmNwcApAQCAtMjA2LDIwICsyMDYsMTUgQEAgdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uOjp1cGRhdGVTdGF0ZUZyb21TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblMKICAg
ICB1cGRhdGVQZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7CiB9CiAKLXZvaWQgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVu
dCgpCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50
KCkKIHsKICAgICBpZiAobV9pc1N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKV0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAgICAgaWYgKG1faXNT
dG9wcGVkKQotICAgICAgICAgICAgcmV0dXJuOworICAgIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJmaXJlVXBkYXRlRm91bmRFdmVudDogRmlyaW5nIHVwZGF0ZWZvdW5kIGV2
ZW50IGZvciByZWdpc3RyYXRpb24gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKIAot
ICAgICAgICBSRUdJU1RSQVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2NoZWR1bGVUYXNr
VG9GaXJlVXBkYXRlRm91bmRFdmVudDogRmlyaW5nIHVwZGF0ZWZvdW5kIGV2ZW50IGZvciByZWdp
c3RyYXRpb24gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLQotICAgICAgICBBU1NF
UlQobV9wZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKTsKLSAgICAgICAgZGlzcGF0Y2hF
dmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBFdmVudDo6
Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKLSAgICB9KTsKKyAgICBB
U1NFUlQobV9wZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKTsKKyAgICBkaXNwYXRjaEV2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIEV2ZW50OjpD
YW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCiBFdmVudFRhcmdl
dEludGVyZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCAzYTA2NjVhOGYwYmM4YzNmMzFmNTU3
NjlmMGU2NjBmYmM2OTFjZjc5Li5lZjg2Zjk5ZDBjYmIyMjVmMmY1Y2FjNGM4YmYzYjdhOWVmYjVm
ZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAg
IGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9yZWdpc3RyYXRpb25EYXRhOyB9CiAKICAgICB2b2lkIHVwZGF0ZVN0YXRlRnJvbVNlcnZl
cihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUsIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYm
KTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoKTsKKyAgICB2
b2lkIGZpcmVVcGRhdGVGb3VuZEV2ZW50KCk7CiAKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJD
b250YWluZXI+JiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIy
ZWI2ZGQ5NzUwZjBlODk4ZDViYjRlZGI1NTJjNDBhM2M2OGIyMjYuLmE5NTIyN2JjMWEzODFmMzc2
MTM4MzViZGQwNGYyYTFiMWQyZTAwODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNC0w
OSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU1dDbGllbnRD
b25uZWN0aW9uIHNob3VsZCBub3QgZG91YmxlIGhvcCB0byBmaXJlIHNvbWUgZXZlbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY3MzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0wNC0wOCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgaHR0cC93cHQvZmV0Y2gvcmVz
cG9uc2Utb3BhcXVlLWNsb25lLmh0bWwgaXMgc29tZXRpbWVzIHRpbWluZyBvdXQgb24gaU9TIHNp
bXVsYXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDJlOTFmMjZjYTlhODdjYzQ0MmE4ZGFiYzMzNzE4NWYyNTBjNzBlZTguLjFjNTg5YTk5
NTU3ZjQ1Njc3NTE2M2U4YWEyZGRiYjVmY2VkZTlmZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTYyLDggKzYyLDYgQEAgd2Via2l0Lm9y
Zy9iLzE4NzE4MyBodHRwL3Rlc3RzL3NlY3VyaXR5L3Bhc3RlYm9hcmQtZmlsZS11cmwuaHRtbCBb
IFBhc3MgXQogCiBbIE1vamF2ZSsgXSBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LXVwZGF0ZS1v
bi1kaXNwbGF5LWNvbmZpZ3VyYXRpb24uaHRtbCBbIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTkw
ODI4IFsgTW9qYXZlKyBEZWJ1ZyBdICBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZWxmX3Jl
Z2lzdHJhdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogZmFzdC9taXNjL3ZhbGlkLXByaW1h
cnktc2NyZWVuLWRpc3BsYXlJRC5odG1sIFsgUGFzcyBdCiAKICMgU2tpcHBlZCBiZWNhdXNlIG9m
IDxyZGFyOi8vcHJvYmxlbS80NTM4ODU4ND4uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367126</attachid>
            <date>2019-04-10 09:13:47 -0700</date>
            <delta_ts>2019-04-10 15:55:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196735-20190410091346.patch</filename>
            <type>text/plain</type>
            <size>25666</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Y2OTE4YjkyZDExMzMw
MWZiZDM0MDEzZDIyZDM4NzE4OTc5YTM5OS4uMDM3YzE0MDFiZDc0ZTk5OGI1NzEyNmEyMWE5NmFj
NzAxYmEzY2FhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTA0LTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTV0NsaWVudENvbm5lY3Rp
b24gc2hvdWxkIG5vdCBkb3VibGUgaG9wIHRvIGZpcmUgc29tZSBldmVudHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjczNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgZXZlbnRzLCBsaWtlIHBv
c3RNZXNzYWdlIGluIHNlcnZpY2Ugd29ya2VycyBpcyBob3BwaW5nIGZyb20gbWFpbiB0aHJlYWQg
dG8gc2VydmljZSB3b3JrZXIgdGhyZWFkIHRvIGRpc3BhdGNoIGV2ZW50cy4KKyAgICAgICAgU29t
ZSBvdGhlciBldmVudHMsIGxpa2Ugc2VydmljZSB3b3JrZXIgc3RhdGUgdXBkYXRlLCBhcmUgaG9w
cGluZyBmcm9tIG1haW4gdGhyZWFkIHRvIHNlcnZpY2Ugd29ya2VyIHRocmVhZCwgdGhlbiBwb3N0
aW5nIGEgdGFzayB0byBkaXNwYXRjaCBldmVudHMuCisgICAgICAgIFRoaXMgbWF5IGNyZWF0ZSBv
cmRlcmluZyBwcm9ibGVtcy4KKworICAgICAgICBUbyBmaXggdGhlIGlzc3VlLCB3ZSBub3cgaG9w
IHRvIHRoZSBzZXJ2aWNlIHdvcmtlciB0aHJlYWQgYW5kIGRpc3BhdGNoIHRoZSBldmVudHMuCisg
ICAgICAgIEluIGFkZGl0aW9uLCBmb3IgZG9jdW1lbnRzLCB3ZSBwb3N0IGEgdGFzayBhbmQgZG8g
dGhlIHdob2xlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3NpbmcgaW4gaXQuCisgICAgICAgIFRoaXMg
ZW5zdXJlcyB0aGF0IHNvbWUgdGVzdHMsIGxpa2Ugd2hldGhlciB0aGVyZSBpcyBhIHNlcnZpY2Ug
d29ya2VyIGNvbnRhaW5lciwKKyAgICAgICAgb3IgY3JlYXRpb24gb2YgYSBzZXJ2aWNlIHdvcmtl
ciBhcmUgZG9uZSBjb25zaXN0ZW50bHkuCisKKyAgICAgICAgQ292ZXJlZCBieSB1bmZsYWtlZCB0
ZXN0LgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlv
blN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlV29y
a2VyU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1dDbGllbnRDb25uZWN0aW9uOjpmaXJlVXBk
YXRlRm91bmRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpTV0NsaWVudENvbm5lY3Rpb246Om5v
dGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6OnVw
ZGF0ZVN0YXRlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlv
blN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWluZXI6OmZpcmVV
cGRhdGVGb3VuZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmZpcmVDb250cm9sbGVyQ2hhbmdlRXZlbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICBOb3RpZnkgb2YgdGhlIHNjcmlwdCBVUkwgaW4gdGhl
IGVycm9yIG1lc3NhZ2UuCisgICAgICAgIFRoaXMgd2lsbCBoZWxwIGRpYWdub3NlIGZsYWtpbmVz
cyBpc3N1ZXMuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
ZmlyZVVwZGF0ZUZvdW5kRXZlbnQpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmg6CisKIDIwMTktMDQtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIENhY2hlIEFQSSBzaG91bGQgcmV0dXJuIEFib3J0IGVy
cm9yIGluIGNhc2Ugb2YgcHV0dGluZyBhbiBhYm9ydGVkIGZldGNoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3MTdl
ODBhZjAyMzJhNWM0MjAzNmJlYjU5OGI4ZGFjMDA0ZWQ0ZTIuLjEzNGIyODBmODczOTUwNDAyNjhh
ZWNjYjU1ZDk0ZGIyOWFkODkxN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDQt
MTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNXQ2xpZW50
Q29ubmVjdGlvbiBzaG91bGQgbm90IGRvdWJsZSBob3AgdG8gZmlyZSBzb21lIGV2ZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzM1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB1bm5l
Y2Vzc2FyeSBtZXRob2QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGll
bnRDb25uZWN0aW9uLmg6CisKIDIwMTktMDQtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIENsb3NlIHNlcnZpY2Ugd29ya2VyIGRhdGFiYXNlIG9uIG5ldHdv
cmsgcHJvY2VzcyBzdXNwZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGYwMjVmOTMzMmY1Nzk4ZmNmNTEw
ZmFiOWE0MWFiY2JkYTM3MmQ3YjQuLjlhMzE0MGVmYjhhNWE0YjMxYzk0MWU3NmMzYzIyMzY2YTY3
MTQ2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVu
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uY3BwCkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZp
ZXIgam8KIH0KIAogCi12b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXJDbGllbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50
aWZpZXIsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckRh
dGEmJiBzb3VyY2VEYXRhLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKK3ZvaWQgU1dDbGll
bnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChEb2N1bWVudElk
ZW50aWZpZXIgZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllciwgTWVzc2FnZVdpdGhNZXNzYWdl
UG9ydHMmJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZURhdGEsIFN0cmluZyYm
IHNvdXJjZU9yaWdpbikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCkBAIC0xMjUs
MTQgKzEyNSwxMCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZp
Y2VXb3JrZXJDbGllbnQoRG9jdW1lbnRJZGVudGlmaWVyIGRlcwogICAgIGlmICghZGVzdGluYXRp
b25Eb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byogY29udGFpbmVyID0gZGVz
dGluYXRpb25Eb2N1bWVudC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOwotICAgIGlmICghY29u
dGFpbmVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBNZXNzYWdlRXZlbnRTb3VyY2Ugc291cmNl
ID0gUmVmUHRyPFNlcnZpY2VXb3JrZXI+IHsgU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmRl
c3RpbmF0aW9uRG9jdW1lbnQsIFdURk1vdmUoc291cmNlRGF0YSkpIH07Ci0KLSAgICBhdXRvIG1l
c3NhZ2VFdmVudCA9IE1lc3NhZ2VFdmVudDo6Y3JlYXRlKE1lc3NhZ2VQb3J0OjplbnRhbmdsZVBv
cnRzKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1lc3NhZ2UudHJhbnNmZXJyZWRQb3J0
cykpLCBtZXNzYWdlLm1lc3NhZ2UucmVsZWFzZU5vbk51bGwoKSwgc291cmNlT3JpZ2luLCB7IH0s
IFdURk1vdmUoc291cmNlKSk7Ci0gICAgY29udGFpbmVyLT5kaXNwYXRjaEV2ZW50KG1lc3NhZ2VF
dmVudCk7CisgICAgZGVzdGluYXRpb25Eb2N1bWVudC0+cG9zdFRhc2soW21lc3NhZ2UgPSBXVEZN
b3ZlKG1lc3NhZ2UpLCBzb3VyY2VEYXRhID0gV1RGTW92ZShzb3VyY2VEYXRhKSwgc291cmNlT3Jp
Z2luID0gV1RGTW92ZShzb3VyY2VPcmlnaW4pXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuc2VydmljZVdvcmtlckNvbnRhaW5l
cigpKQorICAgICAgICAgICAgY29udGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2Up
LCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIH0pOwog
fQogCiB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6dXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvblN0YXRlIHN0YXRlLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0
YT4mIHNlcnZpY2VXb3JrZXJEYXRhKQpAQCAtMTQyLDEzICsxMzgsMTUgQEAgdm9pZCBTV0NsaWVu
dENvbm5lY3Rpb246OnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGkKICAgICBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5mb3JFYWNoU2Vy
dmljZVdvcmtlclRocmVhZChbaWRlbnRpZmllciwgc3RhdGUsICZzZXJ2aWNlV29ya2VyRGF0YV0g
KGF1dG8mIHdvcmtlclRocmVhZCkgewogICAgICAgICB3b3JrZXJUaHJlYWQudGhyZWFkKCkucnVu
TG9vcCgpLnBvc3RUYXNrKFtpZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEgPSBj
cm9zc1RocmVhZENvcHkoc2VydmljZVdvcmtlckRhdGEpXShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBj
b250ZXh0LnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgICAgICBjb250YWlu
ZXItPnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoaWRlbnRpZmllciwgc3Rh
dGUsIFdURk1vdmUoc2VydmljZVdvcmtlckRhdGEpKTsKKyAgICAgICAgICAgICAgICBjb250YWlu
ZXItPnVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBXVEZNb3ZlKHNl
cnZpY2VXb3JrZXJEYXRhKSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogCiAgICAgZm9yIChhdXRv
KiBkb2N1bWVudCA6IERvY3VtZW50OjphbGxEb2N1bWVudHMoKSkgewotICAgICAgICBpZiAoYXV0
byogY29udGFpbmVyID0gZG9jdW1lbnQtPnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAg
ICAgICAgIGNvbnRhaW5lci0+c2NoZWR1bGVUYXNrVG9VcGRhdGVSZWdpc3RyYXRpb25TdGF0ZShp
ZGVudGlmaWVyLCBzdGF0ZSwgc2VydmljZVdvcmtlckRhdGEpOworICAgICAgICBkb2N1bWVudC0+
cG9zdFRhc2soW2lkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyRGF0YSwgZG9jdW1lbnRd
KGF1dG8mKSB7CisgICAgICAgICAgICBpZiAoYXV0byogY29udGFpbmVyID0gZG9jdW1lbnQtPnNl
cnZpY2VXb3JrZXJDb250YWluZXIoKSkKKyAgICAgICAgICAgICAgICBjb250YWluZXItPnVwZGF0
ZVJlZ2lzdHJhdGlvblN0YXRlKGlkZW50aWZpZXIsIHN0YXRlLCBzZXJ2aWNlV29ya2VyRGF0YSk7
CisgICAgICAgIH0pOwogICAgIH0KIH0KIApAQCAtMTU5LDEzICsxNTcsMTUgQEAgdm9pZCBTV0Ns
aWVudENvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIsIFMKICAgICBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5mb3JFYWNo
U2VydmljZVdvcmtlclRocmVhZChbaWRlbnRpZmllciwgc3RhdGVdIChhdXRvJiB3b3JrZXJUaHJl
YWQpIHsKICAgICAgICAgd29ya2VyVGhyZWFkLnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhb
aWRlbnRpZmllciwgc3RhdGVdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsKICAg
ICAgICAgICAgIGlmIChhdXRvKiBzZXJ2aWNlV29ya2VyID0gY29udGV4dC5zZXJ2aWNlV29ya2Vy
KGlkZW50aWZpZXIpKQotICAgICAgICAgICAgICAgIHNlcnZpY2VXb3JrZXItPnNjaGVkdWxlVGFz
a1RvVXBkYXRlU3RhdGUoc3RhdGUpOworICAgICAgICAgICAgICAgIHNlcnZpY2VXb3JrZXItPnVw
ZGF0ZVN0YXRlKHN0YXRlKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiAKICAgICBmb3IgKGF1dG8q
IGRvY3VtZW50IDogRG9jdW1lbnQ6OmFsbERvY3VtZW50cygpKSB7Ci0gICAgICAgIGlmIChhdXRv
KiBzZXJ2aWNlV29ya2VyID0gZG9jdW1lbnQtPnNlcnZpY2VXb3JrZXIoaWRlbnRpZmllcikpCi0g
ICAgICAgICAgICBzZXJ2aWNlV29ya2VyLT5zY2hlZHVsZVRhc2tUb1VwZGF0ZVN0YXRlKHN0YXRl
KTsKKyAgICAgICAgZG9jdW1lbnQtPnBvc3RUYXNrKFtpZGVudGlmaWVyLCBkb2N1bWVudCwgc3Rh
dGVdKGF1dG8mKSB7CisgICAgICAgICAgICBpZiAoYXV0byogc2VydmljZVdvcmtlciA9IGRvY3Vt
ZW50LT5zZXJ2aWNlV29ya2VyKGlkZW50aWZpZXIpKQorICAgICAgICAgICAgICAgIHNlcnZpY2VX
b3JrZXItPnVwZGF0ZVN0YXRlKHN0YXRlKTsKKyAgICAgICAgfSk7CiAgICAgfQogfQogCkBAIC0x
NzYsMTMgKzE3NiwxNSBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6ZmlyZVVwZGF0ZUZvdW5k
RXZlbnQoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZQogICAgIFNXQ29udGV4dE1h
bmFnZXI6OnNpbmdsZXRvbigpLmZvckVhY2hTZXJ2aWNlV29ya2VyVGhyZWFkKFtpZGVudGlmaWVy
XSAoYXV0byYgd29ya2VyVGhyZWFkKSB7CiAgICAgICAgIHdvcmtlclRocmVhZC50aHJlYWQoKS5y
dW5Mb29wKCkucG9zdFRhc2soW2lkZW50aWZpZXJdKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBjb250ZXh0LnNlcnZp
Y2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgICAgICAgICBjb250YWluZXItPnNjaGVkdWxl
VGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoaWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAg
Y29udGFpbmVyLT5maXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKTsKICAgICAgICAgfSk7
CiAgICAgfSk7CiAKICAgICBmb3IgKGF1dG8qIGRvY3VtZW50IDogRG9jdW1lbnQ6OmFsbERvY3Vt
ZW50cygpKSB7Ci0gICAgICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBkb2N1bWVudC0+c2Vydmlj
ZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAgICAgICAgY29udGFpbmVyLT5zY2hlZHVsZVRhc2tU
b0ZpcmVVcGRhdGVGb3VuZEV2ZW50KGlkZW50aWZpZXIpOworICAgICAgICBkb2N1bWVudC0+cG9z
dFRhc2soW2RvY3VtZW50LCBpZGVudGlmaWVyXShhdXRvJikgeworICAgICAgICAgICAgaWYgKGF1
dG8qIGNvbnRhaW5lciA9IGRvY3VtZW50LT5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAg
ICAgICAgICAgICAgY29udGFpbmVyLT5maXJlVXBkYXRlRm91bmRFdmVudChpZGVudGlmaWVyKTsK
KyAgICAgICAgfSk7CiAgICAgfQogfQogCkBAIC0yMzksMTAgKzI0MSwxMiBAQCB2b2lkIFNXQ2xp
ZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNo
U2V0PERvY3VtZW50SQogICAgICAgICBpZiAoIWNsaWVudCkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCi0gICAgICAgIEFTU0VSVCghY2xpZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgfHwgY2xp
ZW50LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCktPmlkZW50aWZpZXIoKSAhPSBuZXdDb250cm9sbGVy
LmlkZW50aWZpZXIpOwotICAgICAgICBjbGllbnQtPnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2Vy
dmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmNsaWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdD
b250cm9sbGVyIH0pKTsKLSAgICAgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNsaWVudC0+c2Vy
dmljZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAgICAgICAgY29udGFpbmVyLT5zY2hlZHVsZVRh
c2tUb0ZpcmVDb250cm9sbGVyQ2hhbmdlRXZlbnQoKTsKKyAgICAgICAgY2xpZW50LT5wb3N0VGFz
ayhbY2xpZW50LCBjb250ZXh0SWRlbnRpZmllcnMsIG5ld0NvbnRyb2xsZXIgPSBXVEZNb3ZlKG5l
d0NvbnRyb2xsZXIpXShhdXRvJikgeworICAgICAgICAgICAgQVNTRVJUKCFjbGllbnQtPmFjdGl2
ZVNlcnZpY2VXb3JrZXIoKSB8fCBjbGllbnQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+aWRlbnRp
ZmllcigpICE9IG5ld0NvbnRyb2xsZXIuaWRlbnRpZmllcik7CisgICAgICAgICAgICBjbGllbnQt
PnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKmNsaWVu
dCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9sbGVyIH0pKTsKKyAgICAgICAgICAgIGlm
IChhdXRvKiBjb250YWluZXIgPSBjbGllbnQtPnNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKKyAg
ICAgICAgICAgICAgICBjb250YWluZXItPmZpcmVDb250cm9sbGVyQ2hhbmdlRXZlbnQoKTsKKyAg
ICAgICAgfSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggM2MwMDkxNGIxOWExOGNjYmNlY2VmYWNl
NDRlMmVhOGJhNzJlYjRlYy4uMWZjNzE2MjM5OWVkNDFhOGM4ZDIwODQzNjI3ZGI1ZTFmZmNmMmNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENv
bm5lY3Rpb24uaApAQCAtOTIsNyArOTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCByZWdpc3RyYXRpb25Kb2JSZXNvbHZlZEluU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JJ
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBTaG91bGROb3RpZnlX
aGVuUmVzb2x2ZWQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdW5yZWdpc3RyYXRpb25Kb2JS
ZXNvbHZlZEluU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyLCBib29sIHVucmVnaXN0
cmF0aW9uUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0U2NyaXB0RmV0Y2hG
b3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25LZXkmLCBGZXRjaE9wdGlvbnM6OkNhY2hlKTsKLSAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KERvY3VtZW50SWRlbnRpZmll
ciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYm
LCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VPcmlnaW4p
OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGll
bnQoRG9jdW1lbnRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIsIE1lc3Nh
Z2VXaXRoTWVzc2FnZVBvcnRzJiYsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlLCBTdHJpbmcm
JiBzb3VyY2VPcmlnaW4pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlUmVnaXN0cmF0
aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3QgT3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+Jik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVXb3JrZXJTdGF0ZShTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgU2VydmljZVdvcmtlclN0YXRlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNw
cAppbmRleCBkNGMwZTNjYjM2NmI1NGVhMDYwZTE2NWYxNzIyZTM1YjZhNThjZmUwLi5mNGEzYzRi
OGJmNjcwYjc4YjIzMTM3M2VlZTJhNmFjMDdmMzY3NjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuY3BwCkBAIC03NiwyNCArNzYsMTYgQEAg
U2VydmljZVdvcmtlcjo6flNlcnZpY2VXb3JrZXIoKQogICAgICAgICBjb250ZXh0LT51bnJlZ2lz
dGVyU2VydmljZVdvcmtlcigqdGhpcyk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlcjo6c2NoZWR1
bGVUYXNrVG9VcGRhdGVTdGF0ZShTdGF0ZSBzdGF0ZSkKK3ZvaWQgU2VydmljZVdvcmtlcjo6dXBk
YXRlU3RhdGUoU3RhdGUgc3RhdGUpCiB7Ci0gICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGNvbnRleHQtPnBvc3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyks
IHN0YXRlXShTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgewotICAgICAgICBBU1NFUlQodGhpcy0+
c3RhdGUoKSAhPSBzdGF0ZSk7Ci0KLSAgICAgICAgV09SS0VSX1JFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoInNjaGVkdWxlVGFza1RvVXBkYXRlU3RhdGU6IFVwZGF0aW5nIHNlcnZpY2Ugd29ya2VyICVs
bHUgc3RhdGUgZnJvbSAlaGh1IHRvICVoaHUuIFJlZ2lzdHJhdGlvbiBJRDogJWxsdSIsIGlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpLCBtX2RhdGEuc3RhdGUsIHN0YXRlLCByZWdpc3RyYXRpb25JZGVu
dGlmaWVyKCkudG9VSW50NjQoKSk7Ci0gICAgICAgIG1fZGF0YS5zdGF0ZSA9IHN0YXRlOwotICAg
ICAgICBpZiAoc3RhdGUgIT0gU3RhdGU6Okluc3RhbGxpbmcgJiYgIW1faXNTdG9wcGVkKSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV9wZW5kaW5nQWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKTsKLSAg
ICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc3RhdGVj
aGFuZ2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KSk7Ci0gICAgICAgIH0KKyAgICBXT1JLRVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgidXBkYXRl
U3RhdGU6IFVwZGF0aW5nIHNlcnZpY2Ugd29ya2VyICVsbHUgc3RhdGUgZnJvbSAlaGh1IHRvICVo
aHUuIFJlZ2lzdHJhdGlvbiBJRDogJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBtX2Rh
dGEuc3RhdGUsIHN0YXRlLCByZWdpc3RyYXRpb25JZGVudGlmaWVyKCkudG9VSW50NjQoKSk7Cisg
ICAgbV9kYXRhLnN0YXRlID0gc3RhdGU7CisgICAgaWYgKHN0YXRlICE9IFN0YXRlOjpJbnN0YWxs
aW5nICYmICFtX2lzU3RvcHBlZCkgeworICAgICAgICBBU1NFUlQobV9wZW5kaW5nQWN0aXZpdHlG
b3JFdmVudERpc3BhdGNoKTsKKyAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5zdGF0ZWNoYW5nZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6
OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICB9CiAKLSAgICAgICAgdXBkYXRlUGVuZGluZ0FjdGl2
aXR5Rm9yRXZlbnREaXNwYXRjaCgpOwotICAgIH0pOworICAgIHVwZGF0ZVBlbmRpbmdBY3Rpdml0
eUZvckV2ZW50RGlzcGF0Y2goKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gU2VydmljZVdvcmtl
cjo6cG9zdE1lc3NhZ2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSlNDOjpKU1Zh
bHVlIG1lc3NhZ2VWYWx1ZSwgVmVjdG9yPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmIHRy
YW5zZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
LmgKaW5kZXggZGYyMGRmMjczOWU2MjQ3OWQ2MWJmMDFlZGM1MjdlNjlmZWQ1MDYyZi4uZWJhNjVj
YTJjMmI0ODk4Zjk3NjRjNGIwY2QzZjdiZjZkZGVhOWZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCkBAIC01NSw3ICs1NSw3IEBAIHB1Ymxp
YzoKIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnN0YXRlOyB9CiAg
ICAgCi0gICAgdm9pZCBzY2hlZHVsZVRhc2tUb1VwZGF0ZVN0YXRlKFN0YXRlKTsKKyAgICB2b2lk
IHVwZGF0ZVN0YXRlKFN0YXRlKTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgVmVjdG9yPEpT
Qzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IDQ5
MDJiNmEwNTYwYWVmNzYzZTYwNTQwMjU4ODkzZDVkYjZlYjFiMzguLjNkODQ5YzViZGQ0ZGViNzI0
ZDFkOTIzZWVkOGY4YzQ4YTA0MGM2NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTMxMSwyMCAr
MzExLDE3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6ZGlkRmluaXNoR2V0UmVnaXN0
cmF0aW9uUmVxdWVzdCh1aW50NjRfdCBwZW5kaW5nUHJvCiAgICAgcGVuZGluZ1Byb21pc2UtPnBy
b21pc2UtPnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+PihX
VEZNb3ZlKHJlZ2lzdHJhdGlvbikpOwogfQogCi12b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6
OnNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0
YXRlIHN0YXRlLCBjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4mIHNlcnZpY2VXb3Jr
ZXJEYXRhKQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1cGRhdGVSZWdpc3RyYXRpb25T
dGF0ZShTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uU3RhdGUgc3RhdGUsIGNvbnN0IE9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJEYXRhPiYgc2VydmljZVdvcmtlckRhdGEpCiB7Ci0gICAgYXV0byogY29udGV4dCA9IHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCisgICAgaWYgKG1faXNT
dG9wcGVkKQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8U2VydmljZVdvcmtlcj4gc2Vy
dmljZVdvcmtlcjsKICAgICBpZiAoc2VydmljZVdvcmtlckRhdGEpCi0gICAgICAgIHNlcnZpY2VX
b3JrZXIgPSBTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZSgqY29udGV4dCwgU2VydmljZVdvcmtl
ckRhdGEgeyAqc2VydmljZVdvcmtlckRhdGEgfSk7CisgICAgICAgIHNlcnZpY2VXb3JrZXIgPSBT
ZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBTZXJ2
aWNlV29ya2VyRGF0YSB7ICpzZXJ2aWNlV29ya2VyRGF0YSB9KTsKIAotICAgIGNvbnRleHQtPnBv
c3RUYXNrKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGlkZW50aWZpZXIs
IHN0YXRlLCBzZXJ2aWNlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKV0oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpIG11dGFibGUgewotICAgICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9u
ID0gbV9yZWdpc3RyYXRpb25zLmdldChpZGVudGlmaWVyKSkKLSAgICAgICAgICAgIHJlZ2lzdHJh
dGlvbi0+dXBkYXRlU3RhdGVGcm9tU2VydmVyKHN0YXRlLCBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIp
KTsKLSAgICB9KTsKKyAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25z
LmdldChpZGVudGlmaWVyKSkKKyAgICAgICAgcmVnaXN0cmF0aW9uLT51cGRhdGVTdGF0ZUZyb21T
ZXJ2ZXIoc3RhdGUsIFdURk1vdmUoc2VydmljZVdvcmtlcikpOwogfQogCiB2b2lkIFNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbnMoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQpAQCAtNDA3LDE0ICs0MDQsMTQgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpqb2JGYWlsZWRXaXRoRXhjZXB0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwgY29uc3QKICAg
ICB9CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVUYXNrVG9GaXJl
VXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVu
dGlmaWVyKQordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpmaXJlVXBkYXRlRm91bmRFdmVu
dChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogewogI2lm
bmRlZiBOREVCVUcKICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFk
OjpjdXJyZW50KCkpOwogI2VuZGlmCiAKICAgICBpZiAoYXV0byogcmVnaXN0cmF0aW9uID0gbV9y
ZWdpc3RyYXRpb25zLmdldChpZGVudGlmaWVyKSkKLSAgICAgICAgcmVnaXN0cmF0aW9uLT5zY2hl
ZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KCk7CisgICAgICAgIHJlZ2lzdHJhdGlvbi0+
ZmlyZVVwZGF0ZUZvdW5kRXZlbnQoKTsKIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlckpvYiYgam9iLCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIGRhdGEsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZl
ZCBzaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpCkBAIC00NzEsNiArNDY4LDE1IEBAIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VX
b3JrZXJKb2ImIGpvYiwKICAgICB9KTsKIH0KIAordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
Ojpwb3N0TWVzc2FnZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VX
b3JrZXJEYXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQoreworICAgIGF1
dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIE1lc3NhZ2VFdmVu
dFNvdXJjZSBzb3VyY2UgPSBSZWZQdHI8U2VydmljZVdvcmtlcj4geyBTZXJ2aWNlV29ya2VyOjpn
ZXRPckNyZWF0ZShjb250ZXh0LCBXVEZNb3ZlKHNvdXJjZURhdGEpKSB9OworCisgICAgYXV0byBt
ZXNzYWdlRXZlbnQgPSBNZXNzYWdlRXZlbnQ6OmNyZWF0ZShNZXNzYWdlUG9ydDo6ZW50YW5nbGVQ
b3J0cyhjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2UudHJhbnNmZXJyZWRQb3J0cykpLCBtZXNzYWdl
Lm1lc3NhZ2UucmVsZWFzZU5vbk51bGwoKSwgc291cmNlT3JpZ2luLCB7IH0sIFdURk1vdmUoc291
cmNlKSk7CisgICAgZGlzcGF0Y2hFdmVudChtZXNzYWdlRXZlbnQpOworfQorCiB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6Om5vdGlmeVJlZ2lzdHJhdGlvbklzU2V0dGxlZChjb25zdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiByZWdpc3RyYXRpb25LZXkpCiB7CiAgICAgY2FsbE9u
TWFpblRocmVhZChbY29ubmVjdGlvbiA9IG1fc3dDb25uZWN0aW9uLCByZWdpc3RyYXRpb25LZXkg
PSByZWdpc3RyYXRpb25LZXkuaXNvbGF0ZWRDb3B5KCldIHsKQEAgLTYxNyw3ICs2MjMsNyBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uJiByZWdpcwogICAgIG1fcmVnaXN0cmF0aW9ucy5yZW1vdmUocmVnaXN0
cmF0aW9uLmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
c2NoZWR1bGVUYXNrVG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCkKK3ZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6ZmlyZUNvbnRyb2xsZXJDaGFuZ2VFdmVudCgpCiB7CiAjaWZuZGVmIE5E
RUJVRwogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZUaHJlYWQ6OmN1cnJl
bnQoKSk7CkBAIC02MjYsMTIgKzYzMiw3IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
c2NoZWR1bGVUYXNrVG9GaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCkKICAgICBpZiAobV9pc1N0
b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+
cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpIG11dGFibGUgewotICAgICAgICBpZiAobV9pc1N0b3BwZWQpCi0gICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5jb250cm9sbGVyY2hhbmdlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwotICAgIH0pOworICAgIGRpc3BhdGNoRXZlbnQoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY29udHJvbGxlcmNoYW5nZUV2ZW50LCBFdmVudDo6Q2Fu
QnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKIH0KIAogdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4IDY3MTQwNGQ1N2E4YjRh
NGU3YTZjY2VhYTJkYjRhZDkxM2EzYTc1M2EuLjgzMTY1ZjAxMmZkNDYwMTJmNTgxNzJlNGUzOWU3
ODIxYTg5NGU4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtNjYsOSArNjYsMTEgQEAgcHVibGljOgog
ICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFVSTCYgc2NvcGVVUkwsIGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBXb3JrZXJUeXBlLCBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiYmKTsKIAog
ICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvVXBkYXRlUmVnaXN0cmF0
aW9uU3RhdGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25TdGF0ZSwgY29uc3QgT3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+Jik7
Ci0gICAgdm9pZCBzY2hlZHVsZVRhc2tUb0ZpcmVVcGRhdGVGb3VuZEV2ZW50KFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIHNjaGVkdWxlVGFza1RvRmlyZUNv
bnRyb2xsZXJDaGFuZ2VFdmVudCgpOworICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uU3RhdGUo
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25TdGF0ZSwgY29uc3QgT3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+Jik7CisgICAgdm9p
ZCBmaXJlVXBkYXRlRm91bmRFdmVudChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cik7CisgICAgdm9pZCBmaXJlQ29udHJvbGxlckNoYW5nZUV2ZW50KCk7CisKKyAgICB2b2lkIHBv
c3RNZXNzYWdlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIFNlcnZpY2VXb3JrZXJEYXRhJiYg
c291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKTsKIAogICAgIHZvaWQgZ2V0UmVnaXN0
cmF0aW9ucyhSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCmluZGV4IGYwYjE0NmE1MjYy
N2EwODc5ZWZmNGU5ZGVmMDA0ZDg0ZWVmMDk0MzUuLmExMjMyZjg1NGE0YzI3NTFjN2Q2NDZmNjhj
ODQ3M2YyMzk3ZWIxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckpvYi5jcHAKQEAgLTE2Myw3ICsxNjMsNyBAQCB2b2lkIFNlcnZpY2VX
b3JrZXJKb2I6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBhdXRvJiBlcnJvciA9IHNjcmlwdExvYWRl
ci0+ZXJyb3IoKTsKICAgICBBU1NFUlQoIWVycm9yLmlzTnVsbCgpKTsKIAotICAgIG1fY2xpZW50
LmpvYkZhaWxlZExvYWRpbmdTY3JpcHQoKnRoaXMsIGVycm9yLCBFeGNlcHRpb24geyBlcnJvci5p
c0FjY2Vzc0NvbnRyb2woKSA/IFNlY3VyaXR5RXJyb3IgOiBUeXBlRXJyb3IsICJTY3JpcHQgbG9h
ZCBmYWlsZWQiX3MgfSk7CisgICAgbV9jbGllbnQuam9iRmFpbGVkTG9hZGluZ1NjcmlwdCgqdGhp
cywgZXJyb3IsIEV4Y2VwdGlvbiB7IGVycm9yLmlzQWNjZXNzQ29udHJvbCgpID8gU2VjdXJpdHlF
cnJvciA6IFR5cGVFcnJvciwgbWFrZVN0cmluZygiU2NyaXB0ICIsIHNjcmlwdExvYWRlci0+dXJs
KCkuc3RyaW5nKCksICIgbG9hZCBmYWlsZWQiKSB9KTsKIH0KIAogYm9vbCBTZXJ2aWNlV29ya2Vy
Sm9iOjpjYW5jZWxQZW5kaW5nTG9hZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggYjkw
ZGZmNzg0NjM4NTg3N2JlNjlmYTBmYTVkMDFjMWEyMzY3MDZiNS4uMDc5YjFlZDg4MmNmMDBjNTc2
OGU0Mjk5MGE2Y2MwZjQyZWM2MmNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAtMjA2
LDIwICsyMDYsMTUgQEAgdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVTdGF0
ZUZyb21TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblMKICAgICB1cGRhdGVQZW5kaW5n
QWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKCk7CiB9CiAKLXZvaWQgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6c2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91bmRFdmVudCgpCit2b2lkIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OmZpcmVVcGRhdGVGb3VuZEV2ZW50KCkKIHsKICAgICBpZiAo
bV9pc1N0b3BwZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+cG9zdFRhc2soW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAgICAgaWYgKG1faXNTdG9wcGVkKQotICAgICAg
ICAgICAgcmV0dXJuOworICAgIFJFR0lTVFJBVElPTl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJm
aXJlVXBkYXRlRm91bmRFdmVudDogRmlyaW5nIHVwZGF0ZWZvdW5kIGV2ZW50IGZvciByZWdpc3Ry
YXRpb24gJWxsdSIsIGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKIAotICAgICAgICBSRUdJU1RS
QVRJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2NoZWR1bGVUYXNrVG9GaXJlVXBkYXRlRm91
bmRFdmVudDogRmlyaW5nIHVwZGF0ZWZvdW5kIGV2ZW50IGZvciByZWdpc3RyYXRpb24gJWxsdSIs
IGlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKLQotICAgICAgICBBU1NFUlQobV9wZW5kaW5nQWN0
aXZpdHlGb3JFdmVudERpc3BhdGNoKTsKLSAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywg
RXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKLSAgICB9KTsKKyAgICBBU1NFUlQobV9wZW5kaW5n
QWN0aXZpdHlGb3JFdmVudERpc3BhdGNoKTsKKyAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCiBFdmVudFRhcmdldEludGVyZmFjZSBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uaAppbmRleCAzYTA2NjVhOGYwYmM4YzNmMzFmNTU3NjlmMGU2NjBmYmM2OTFj
Zjc5Li5lZjg2Zjk5ZDBjYmIyMjVmMmY1Y2FjNGM4YmYzYjdhOWVmYjVmZTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhJiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRp
b25EYXRhOyB9CiAKICAgICB2b2lkIHVwZGF0ZVN0YXRlRnJvbVNlcnZlcihTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uU3RhdGUsIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYmKTsKLSAgICB2b2lkIHNj
aGVkdWxlVGFza1RvRmlyZVVwZGF0ZUZvdW5kRXZlbnQoKTsKKyAgICB2b2lkIGZpcmVVcGRhdGVG
b3VuZEV2ZW50KCk7CiAKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXgg
YTdiMGUxNTZjOTc1ODdkOTk5NTdkOWNlNzA1MDdhZjFjZjQ1NTRhMy4uNzkwNWI2M2FmMWFhZmY0
YjFkYWU4YmFmZWI5YzdmMDNmNWQzYjdjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0yMTMs
MTEgKzIxMyw2IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpjb250aW51ZURpZFJlY2Vp
dmVGZXRjaFJlc3BvbnNlKEZldGNoSWRlbnRpZmllciBmZXRjCiAgICAgc2VuZChNZXNzYWdlczo6
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpDb250aW51ZURpZFJlY2VpdmVGZXRjaFJlc3BvbnNlIHsg
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGZldGNoSWRlbnRpZmllciB9KTsK
IH0KIAotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29y
a2VyQ2xpZW50KERvY3VtZW50SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVy
LCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYg
c291cmNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZU9yaWdpbikKLXsKLSAgICBTV0NsaWVudENvbm5l
Y3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KGRlc3RpbmF0aW9uQ29udGV4
dElkZW50aWZpZXIsIFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlKSwgc291cmNlT3Jp
Z2luKTsKLX0KLQogdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OmNvbm5lY3Rpb25Ub1NlcnZl
ckxvc3QoKQogewogICAgIGF1dG8gcmVnaXN0cmF0aW9uVGFza3MgPSBXVEZNb3ZlKG1fb25nb2lu
Z01hdGNoUmVnaXN0cmF0aW9uVGFza3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCA1OGQ2OWRhYzhk
YTAzZjU1MTJiMDBhMzBmZTE4MGQ1MTlkMGU0ODg2Li42M2UxOGQ1NThmZmZiZjUzNGVhMWJiOWZj
ZTMzMTEzODc1YWQxOTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNjUsOCArNjUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjYW5jZWxGZXRjaChXZWJDb3JlOjpGZXRjaElkZW50aWZpZXIsIFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICB2b2lkIGNvbnRp
bnVlRGlkUmVjZWl2ZUZldGNoUmVzcG9uc2UoV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyLCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CiAKLSAgICB2b2lkIHBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmll
ciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3Nh
Z2VQb3J0cyYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VPcmlnaW4pOwotCiAgICAgdm9pZCBjb25uZWN0aW9uVG9TZXJ2ZXJMb3N0KCk7
CiAKICAgICB2b2lkIHN5bmNUZXJtaW5hdGVXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXIpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI3ODUzODUzOWY4MTljNTBiZWY5OWJkMmYyNTMwZjZl
MDMzMzcxZTMuLmU2MTYxOGU5MzgxNjljZGE1ODgxMGQ2Y2E5NGY4ZjU5MmFlNzJiNjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNC0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgU1dDbGllbnRDb25uZWN0aW9uIHNob3VsZCBub3QgZG91YmxlIGhv
cCB0byBmaXJlIHNvbWUgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTY3MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAx
OS0wNC0wOSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lQ
YWRdIFNob3VsZCBvcGVuIHBvcG92ZXIgd2hlbiB0aGUgc3BhY2ViYXIgaXMgcHJlc3NlZApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc1MjMy
OThkY2Y3Zjg2ZDllMmRiMTc5NDVkMWExNDQxMjVhMjEwMWUuLmMzZThjZmIyYzAwMDQ4MDNkYmM0
OGM1OGE1MzQ2YTg1NDcyZjMwYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0LDggKzY0LDYgQEAgd2Via2l0Lm9yZy9iLzE4NzE4MyBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3Bhc3RlYm9hcmQtZmlsZS11cmwuaHRtbCBbIFBhc3MgXQogCiBb
IE1vamF2ZSsgXSBmYXN0L2NhbnZhcy93ZWJnbC9jb250ZXh0LXVwZGF0ZS1vbi1kaXNwbGF5LWNv
bmZpZ3VyYXRpb24uaHRtbCBbIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTkwODI4IFsgTW9qYXZl
KyBEZWJ1ZyBdICBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZWxmX3JlZ2lzdHJhdGlvbi5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogZmFzdC9taXNjL3ZhbGlkLXByaW1hcnktc2NyZWVuLWRp
c3BsYXlJRC5odG1sIFsgUGFzcyBdCiAKICMgU2tpcHBlZCBiZWNhdXNlIG9mIDxyZGFyOi8vcHJv
YmxlbS80NTM4ODU4ND4uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>