<?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>208605</bug_id>
          
          <creation_ts>2020-03-04 14:35:26 -0800</creation_ts>
          <short_desc>Add SPI to evaluate JavaScript in an iframe</short_desc>
          <delta_ts>2020-03-04 17:08:22 -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>New Bugs</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625779</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-04 14:35:26 -0800</bug_when>
    <thetext>Add SPI to evaluate JavaScript in an iframe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625782</commentid>
    <comment_count>1</comment_count>
      <attachid>392486</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-04 14:37:39 -0800</bug_when>
    <thetext>Created attachment 392486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625799</commentid>
    <comment_count>2</comment_count>
      <attachid>392491</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-04 15:11:15 -0800</bug_when>
    <thetext>Created attachment 392491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625800</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-03-04 15:12:18 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625805</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-04 15:18:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/r257882</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625806</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-04 15:19:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/60059166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625862</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-04 17:08:22 -0800</bug_when>
    <thetext>rdar://problem/59440235</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392486</attachid>
            <date>2020-03-04 14:37:39 -0800</date>
            <delta_ts>2020-03-04 15:11:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208605-20200304143738.patch</filename>
            <type>text/plain</type>
            <size>20339</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Nzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTA0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0
byBldmFsdWF0ZSBKYXZhU2NyaXB0IGluIGFuIGlmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRlc3RzLgorCisg
ICAgICAgICogYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdyYXBwZXJXb3JsZDo6RE9NV3JhcHBlcldvcmxkKToKKyAgICAgICAgUmVtb3ZlIGEg
bm93LWludmFsaWQgYXNzZXJ0aW9uIHRoYXQgd2FzIGZpcmluZyBkdXJpbmcgbXkgdGVzdC4KKyAg
ICAgICAgQVBJOjpDb250ZW50V29ybGQ6OmRlZmF1bHRDbGllbnRXb3JsZCBjcmVhdGVzIGEgd29y
bGQgd2l0aCBubyBuYW1lIGFuZCB0eXBlIFR5cGU6OlVzZXIuCisgICAgICAgIEknbSBzdXJwcmlz
ZWQgdGhpcyB3YXNuJ3QgaGl0IGJlZm9yZS4KKwogMjAyMC0wMy0wNCAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBTUEkgdG8gYWxsb3cgVXNlclN0
eWxlU2hlZXQgaW5qZWN0aW9uIHRvIHRhcmdldCBhIHNwZWNpZmljIFdLV2ViVmlldwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCShyZXZp
c2lvbiAyNTc4NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29y
bGQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw2IEBAIERPTVdyYXBwZXJXb3JsZDo6
RE9NV3JhcHBlcldvcmxkKEpTQzo6Vk0KICAgICAsIG1fbmFtZShuYW1lKQogICAgICwgbV90eXBl
KHR5cGUpCiB7Ci0gICAgQVNTRVJUKCFuYW1lLmlzRW1wdHkoKSB8fCBtX3R5cGUgPT0gVHlwZTo6
Tm9ybWFsKTsKLQogICAgIFZNOjpDbGllbnREYXRhKiBjbGllbnREYXRhID0gbV92bS5jbGllbnRE
YXRhOwogICAgIEFTU0VSVChjbGllbnREYXRhKTsKICAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50
RGF0YSo+KGNsaWVudERhdGEpLT5yZW1lbWJlcldvcmxkKCp0aGlzKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNTc4NzYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAzLTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBldmFsdWF0ZSBKYXZhU2Ny
aXB0IGluIGFuIGlmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA4NjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDppbkNvbnRlbnRXb3JsZDpjb21wbGV0
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGNhbGxBc3luY0phdmFTY3JpcHQ6
YXJndW1lbnRzOmluQ29udGVudFdvcmxkOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgX2V2YWx1YXRlSmF2YVNjcmlwdDphc0FzeW5jRnVuY3Rpb246d2l0aEFyZ3Vt
ZW50czpmb3JjZVVzZXJHZXN0dXJlOmluRnJhbWU6aW5Xb3JsZDpjb21wbGV0aW9uSGFuZGxlcjpd
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9ldmFsdWF0ZUphdmFTY3JpcHRXaXRob3V0VXNlckdl
c3R1cmU6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfY2FsbEFz
eW5jSmF2YVNjcmlwdDphcmd1bWVudHM6aW5GcmFtZTppbkNvbnRlbnRXb3JsZDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9ldmFsdWF0ZUphdmFTY3JpcHQ6aW5G
cmFtZTppbkNvbnRlbnRXb3JsZDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IF9ldmFsdWF0ZUphdmFTY3JpcHQ6YXNBc3luY0Z1bmN0aW9uOndpdGhBcmd1bWVudHM6
Zm9yY2VVc2VyR2VzdHVyZTpjb21wbGV0aW9uSGFuZGxlcjppbldvcmxkOl0pOiBEZWxldGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cnVuSmF2YVNjcmlwdElu
RnJhbWUpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWUpOiBE
ZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMjAtMDMtMDQg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBj
YWxsQXN5bmNKYXZhU2NyaXB0IHdpdGggYW4gaW52YWxpZCBwYXJhbWV0ZXIgYW5kIG5vIGNvbXBs
ZXRpb25IYW5kbGVyIHNob3VsZCBub3QgY3Jhc2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMjU3ODcyKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk4MCwxMCArMzk4
MCwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bGF1bmNoSW5pdGlhbFByb2Nlc3NJCiAKIHZvaWQg
V2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoUnVuSmF2YVNjcmlwdFBhcmFt
ZXRlcnMmJiBwYXJhbWV0ZXJzLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKEFQSTo6U2VyaWFsaXplZFNj
cmlwdFZhbHVlKiwgT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscz4sIENhbGxiYWNr
QmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCiB7Ci0gICAgcnVuSmF2YVNjcmlwdElu
TWFpbkZyYW1lU2NyaXB0V29ybGQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgQVBJOjpDb250ZW50V29y
bGQ6OnBhZ2VDb250ZW50V29ybGQoKSwgV1RGTW92ZShjYWxsYmFja0Z1bmN0aW9uKSk7CisgICAg
cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFdURk1vdmUocGFyYW1ldGVycyksIFdU
Rjo6bnVsbG9wdCwgQVBJOjpDb250ZW50V29ybGQ6OnBhZ2VDb250ZW50V29ybGQoKSwgV1RGTW92
ZShjYWxsYmFja0Z1bmN0aW9uKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpydW5KYXZhU2Ny
aXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZChSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFt
ZXRlcnMsIEFQSTo6Q29udGVudFdvcmxkJiB3b3JsZCwgV1RGOjpGdW5jdGlvbjx2b2lkKEFQSTo6
U2VyaWFsaXplZFNjcmlwdFZhbHVlKiwgT3B0aW9uYWw8RXhjZXB0aW9uRGV0YWlscz4sIENhbGxi
YWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCit2b2lkIFdlYlBhZ2VQcm94eTo6
cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJz
JiYgcGFyYW1ldGVycywgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlE
LCBBUEk6OkNvbnRlbnRXb3JsZCYgd29ybGQsIFdURjo6RnVuY3Rpb248dm9pZChBUEk6OlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSosIE9wdGlvbmFsPEV4Y2VwdGlvbkRldGFpbHM+LCBDYWxsYmFja0Jh
c2U6OkVycm9yKT4mJiBjYWxsYmFja0Z1bmN0aW9uKQogewogICAgIC8vIEZvciBiYWNrd2FyZC1j
b21wYXRpYmlsaXR5IHN1cHBvcnQgcnVubmluZyBzY3JpcHQgaW4gYSBXZWJWaWV3IHdoaWNoIGhh
cyBub3QgZG9uZSBhbnkgbG9hZHMgeWV0cy4KICAgICBsYXVuY2hJbml0aWFsUHJvY2Vzc0lmTmVj
ZXNzYXJ5KCk7CkBAIC0zOTkzLDE1ICszOTkzLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJ1bkph
dmFTY3JpcHRJbk1haW5GcgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBjYWxs
YmFja0lEID0gbV9jYWxsYmFja3MucHV0KFdURk1vdmUoY2FsbGJhY2tGdW5jdGlvbiksIG1fcHJv
Y2Vzcy0+dGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5KCJXZWJQYWdlUHJveHk6OnJ1bkph
dmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkIl9zKSk7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6UnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lU2NyaXB0V29ybGQocGFyYW1ldGVycywg
d29ybGQud29ybGREYXRhKCksIGNhbGxiYWNrSUQpKTsKLX0KLQotdm9pZCBXZWJQYWdlUHJveHk6
OnJ1bkphdmFTY3JpcHRJbkZyYW1lKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBjb25zdCBTdHJp
bmcmIHNjcmlwdCwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoQVBJ
OjpTZXJpYWxpemVkU2NyaXB0VmFsdWUqLCBPcHRpb25hbDxFeGNlcHRpb25EZXRhaWxzPiwgQ2Fs
bGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKLXsKLSAgICBBU1NFUlQobWFp
bkZyYW1lKCktPmZyYW1lSUQoKSAhPSBmcmFtZUlEKTsKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBt
X2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgbV9wcm9jZXNzLT50aHJv
dHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6cnVuSmF2YVNjcmlwdElu
RnJhbWUiX3MpKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSdW5KYXZhU2NyaXB0SW5G
cmFtZShmcmFtZUlELCBzY3JpcHQsIGZvcmNlVXNlckdlc3R1cmUsIGNhbGxiYWNrSUQpKTsKKyAg
ICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFja0Z1bmN0
aW9uKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBhZ2VQ
cm94eTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkIl9zKSk7CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6UnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKHBhcmFt
ZXRlcnMsIGZyYW1lSUQsIHdvcmxkLndvcmxkRGF0YSgpLCBjYWxsYmFja0lEKSk7CiB9CiAKIHZv
aWQgV2ViUGFnZVByb3h5OjpnZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbihXVEY6
OkZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNh
bGxiYWNrRnVuY3Rpb24pCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAkocmV2aXNpb24gMjU3ODcyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMDksOSArMTEwOSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGdldFNvdXJjZUZvckZyYW1lKFdlYkZyYW1lUHJveHkqLCBXVEY6OkZ1bmN0aW9uPHZvaWQg
KGNvbnN0IFN0cmluZyYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKICAgICB2b2lkIGdldFdl
YkFyY2hpdmVPZkZyYW1lKFdlYkZyYW1lUHJveHkqLCBGdW5jdGlvbjx2b2lkIChBUEk6OkRhdGEq
LCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0SW5NYWlu
RnJhbWUoV2ViQ29yZTo6UnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMmJiwgV1RGOjpGdW5jdGlvbjx2
b2lkIChBUEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSosIE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2Vw
dGlvbkRldGFpbHM+LCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjYWxsYmFja0Z1bmN0aW9uKTsK
LSAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkKFdlYkNvcmU6OlJ1
bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYsIEFQSTo6Q29udGVudFdvcmxkJiwgV1RGOjpGdW5jdGlv
bjx2b2lkKEFQSTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiwgT3B0aW9uYWw8V2ViQ29yZTo6RXhj
ZXB0aW9uRGV0YWlscz4sIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24p
OwotICAgIC8vIEZvciBzdWIgZnJhbWVzLgotICAgIHZvaWQgcnVuSmF2YVNjcmlwdEluRnJhbWUo
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgYm9vbCBmb3Jj
ZVVzZXJHZXN0dXJlLCBXVEY6OkZ1bmN0aW9uPHZvaWQoQVBJOjpTZXJpYWxpemVkU2NyaXB0VmFs
dWUqLCBPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzPiwgQ2FsbGJhY2tCYXNlOjpF
cnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbik7CisgICAgdm9pZCBydW5KYXZhU2NyaXB0SW5GcmFt
ZUluU2NyaXB0V29ybGQoV2ViQ29yZTo6UnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMmJiwgT3B0aW9u
YWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiwgQVBJOjpDb250ZW50V29ybGQmLCBGdW5jdGlv
bjx2b2lkKEFQSTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiwgT3B0aW9uYWw8V2ViQ29yZTo6RXhj
ZXB0aW9uRGV0YWlscz4sIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKICAgICB2b2lkIGZvcmNl
UmVwYWludChSZWZQdHI8Vm9pZENhbGxiYWNrPiYmKTsKIAogICAgIGZsb2F0IGhlYWRlckhlaWdo
dChXZWJGcmFtZVByb3h5Jik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0JKHJldmlzaW9uIDI1Nzg3NikKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTgzNSwx
NyArODM1LDE3IEBAIHN0YXRpYyBXS0Vycm9yQ29kZSBjYWxsYmFja0Vycm9yQ29kZShXZWIKIAog
LSAodm9pZClldmFsdWF0ZUphdmFTY3JpcHQ6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmluZyBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRs
ZXIKIHsKLSAgICBbc2VsZiBfZXZhbHVhdGVKYXZhU2NyaXB0OmphdmFTY3JpcHRTdHJpbmcgYXNB
c3luY0Z1bmN0aW9uOk5PIHdpdGhBcmd1bWVudHM6bmlsIGZvcmNlVXNlckdlc3R1cmU6WUVTIGNv
bXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyIGluV29ybGQ6V0tDb250ZW50V29ybGQu
cGFnZVdvcmxkXTsKKyAgICBbc2VsZiBfZXZhbHVhdGVKYXZhU2NyaXB0OmphdmFTY3JpcHRTdHJp
bmcgYXNBc3luY0Z1bmN0aW9uOk5PIHdpdGhBcmd1bWVudHM6bmlsIGZvcmNlVXNlckdlc3R1cmU6
WUVTIGluRnJhbWU6bmlsIGluV29ybGQ6V0tDb250ZW50V29ybGQucGFnZVdvcmxkIGNvbXBsZXRp
b25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKIH0KIAogLSAodm9pZClldmFsdWF0ZUphdmFT
Y3JpcHQ6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmluZyBpbkNvbnRlbnRXb3JsZDooV0tDb250
ZW50V29ybGQgKiljb250ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBO
U0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgW3NlbGYgX2V2YWx1YXRlSmF2YVNj
cmlwdDpqYXZhU2NyaXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjpOTyB3aXRoQXJndW1lbnRzOm5p
bCBmb3JjZVVzZXJHZXN0dXJlOllFUyBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxl
ciBpbldvcmxkOmNvbnRlbnRXb3JsZF07CisgICAgW3NlbGYgX2V2YWx1YXRlSmF2YVNjcmlwdDpq
YXZhU2NyaXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjpOTyB3aXRoQXJndW1lbnRzOm5pbCBmb3Jj
ZVVzZXJHZXN0dXJlOllFUyBpbkZyYW1lOm5pbCBpbldvcmxkOmNvbnRlbnRXb3JsZCBjb21wbGV0
aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07CiB9CiAKIC0gKHZvaWQpY2FsbEFzeW5jSmF2
YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2NyaXB0U3RyaW5nIGFyZ3VtZW50czooTlNEaWN0aW9u
YXJ5PE5TU3RyaW5nICosIGlkPiAqKWFyZ3VtZW50cyBpbkNvbnRlbnRXb3JsZDooV0tDb250ZW50
V29ybGQgKiljb250ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBOU0Vy
cm9yICplcnJvcikpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBbc2VsZiBfZXZhbHVhdGVKYXZh
U2NyaXB0OmphdmFTY3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0aW9uOllFUyB3aXRoQXJndW1lbnRz
OmFyZ3VtZW50cyBmb3JjZVVzZXJHZXN0dXJlOllFUyBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0
aW9uSGFuZGxlciBpbldvcmxkOmNvbnRlbnRXb3JsZF07CisgICAgW3NlbGYgX2V2YWx1YXRlSmF2
YVNjcmlwdDpqYXZhU2NyaXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjpZRVMgd2l0aEFyZ3VtZW50
czphcmd1bWVudHMgZm9yY2VVc2VyR2VzdHVyZTpZRVMgaW5GcmFtZTpuaWwgaW5Xb3JsZDpjb250
ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOwogfQogCiBzdGF0
aWMgYm9vbCB2YWxpZGF0ZUFyZ3VtZW50KGlkIGFyZ3VtZW50KQpAQCAtODgyLDcgKzg4Miw3IEBA
IHN0YXRpYyBib29sIHZhbGlkYXRlQXJndW1lbnQoaWQgYXJndW1lbnQKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLS0gKHZvaWQpX2V2YWx1YXRlSmF2YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2Ny
aXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjooQk9PTClhc0FzeW5jRnVuY3Rpb24gd2l0aEFyZ3Vt
ZW50czooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKWFyZ3VtZW50cyBmb3JjZVVzZXJH
ZXN0dXJlOihCT09MKWZvcmNlVXNlckdlc3R1cmUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KGlkLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIGluV29ybGQ6KFdLQ29udGVudFdvcmxk
ICopd29ybGQKKy0gKHZvaWQpX2V2YWx1YXRlSmF2YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2Ny
aXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjooQk9PTClhc0FzeW5jRnVuY3Rpb24gd2l0aEFyZ3Vt
ZW50czooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKWFyZ3VtZW50cyBmb3JjZVVzZXJH
ZXN0dXJlOihCT09MKWZvcmNlVXNlckdlc3R1cmUgaW5GcmFtZTooV0tGcmFtZUluZm8gKilmcmFt
ZSBpbldvcmxkOihXS0NvbnRlbnRXb3JsZCAqKXdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKShpZCwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgogewogICAgIGF1dG8gaGFuZGxl
ciA9IGFkb3B0TlMoW2NvbXBsZXRpb25IYW5kbGVyIGNvcHldKTsKIApAQCAtOTE4LDggKzkxOCwx
MiBAQCAtICh2b2lkKV9ldmFsdWF0ZUphdmFTY3JpcHQ6KE5TU3RyaW5nICopCiAKICAgICAgICAg
cmV0dXJuOwogICAgIH0KKyAgICAKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXI+IGZyYW1lSUQ7CisgICAgaWYgKGZyYW1lKQorICAgICAgICBmcmFtZUlEID0gbWFrZU9iamVj
dElkZW50aWZpZXI8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyVHlwZT4oZnJhbWUuX2hhbmRsZS5m
cmFtZUlEKTsKIAotICAgIF9wYWdlLT5ydW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3Js
ZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyB7IGphdmFTY3JpcHRTdHJpbmcsICEh
YXNBc3luY0Z1bmN0aW9uLCBXVEZNb3ZlKGFyZ3VtZW50c01hcCksICEhZm9yY2VVc2VyR2VzdHVy
ZSB9LCAqd29ybGQtPl9jb250ZW50V29ybGQuZ2V0KCksIFtoYW5kbGVyXShBUEk6OlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZFNjcmlwdFZhbHVlLCBPcHRpb25hbDxXZWJDb3JlOjpF
eGNlcHRpb25EZXRhaWxzPiBkZXRhaWxzLCBXZWJLaXQ6OlNjcmlwdFZhbHVlQ2FsbGJhY2s6OkVy
cm9yIGVycm9yQ29kZSkgeworICAgIF9wYWdlLT5ydW5KYXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0
V29ybGQoV2ViQ29yZTo6UnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMgeyBqYXZhU2NyaXB0U3RyaW5n
LCAhIWFzQXN5bmNGdW5jdGlvbiwgV1RGTW92ZShhcmd1bWVudHNNYXApLCAhIWZvcmNlVXNlckdl
c3R1cmUgfSwgZnJhbWVJRCwgKndvcmxkLT5fY29udGVudFdvcmxkLmdldCgpLCBbaGFuZGxlcl0o
QVBJOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUqIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSwgT3B0aW9u
YWw8V2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscz4gZGV0YWlscywgV2ViS2l0OjpTY3JpcHRWYWx1
ZUNhbGxiYWNrOjpFcnJvciBlcnJvckNvZGUpIHsKICAgICAgICAgaWYgKCFoYW5kbGVyKQogICAg
ICAgICAgICAgcmV0dXJuOwogCkBAIC0yMjkxLDcgKzIyOTUsMTcgQEAgLSAodm9pZClfaXNKSVRF
bmFibGVkOih2b2lkKF4pKEJPT0wpKWNvbQogCiAtICh2b2lkKV9ldmFsdWF0ZUphdmFTY3JpcHRX
aXRob3V0VXNlckdlc3R1cmU6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmluZyBjb21wbGV0aW9u
SGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAg
ICBbc2VsZiBfZXZhbHVhdGVKYXZhU2NyaXB0OmphdmFTY3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0
aW9uOk5PIHdpdGhBcmd1bWVudHM6bmlsIGZvcmNlVXNlckdlc3R1cmU6Tk8gY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXIgaW5Xb3JsZDpXS0NvbnRlbnRXb3JsZC5wYWdlV29ybGRd
OworICAgIFtzZWxmIF9ldmFsdWF0ZUphdmFTY3JpcHQ6amF2YVNjcmlwdFN0cmluZyBhc0FzeW5j
RnVuY3Rpb246Tk8gd2l0aEFyZ3VtZW50czpuaWwgZm9yY2VVc2VyR2VzdHVyZTpOTyBpbkZyYW1l
Om5pbCBpbldvcmxkOldLQ29udGVudFdvcmxkLnBhZ2VXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjpj
b21wbGV0aW9uSGFuZGxlcl07Cit9CisKKy0gKHZvaWQpX2NhbGxBc3luY0phdmFTY3JpcHQ6KE5T
U3RyaW5nICopZnVuY3Rpb25Cb2R5IGFyZ3VtZW50czooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICos
IGlkPiAqKWFyZ3VtZW50cyBpbkZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGluQ29udGVudFdv
cmxkOihXS0NvbnRlbnRXb3JsZCAqKWNvbnRlbnRXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXikoaWQsIE5TRXJyb3IgKmVycm9yKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFtzZWxm
IF9ldmFsdWF0ZUphdmFTY3JpcHQ6ZnVuY3Rpb25Cb2R5IGFzQXN5bmNGdW5jdGlvbjpZRVMgd2l0
aEFyZ3VtZW50czphcmd1bWVudHMgZm9yY2VVc2VyR2VzdHVyZTpZRVMgaW5GcmFtZTpmcmFtZSBp
bldvcmxkOmNvbnRlbnRXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07
Cit9CisKKy0gKHZvaWQpX2V2YWx1YXRlSmF2YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2NyaXB0
U3RyaW5nIGluRnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgaW5Db250ZW50V29ybGQ6KFdLQ29u
dGVudFdvcmxkICopY29udGVudFdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShpZCwg
TlNFcnJvciAqZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2V2YWx1YXRl
SmF2YVNjcmlwdDpqYXZhU2NyaXB0U3RyaW5nIGFzQXN5bmNGdW5jdGlvbjpOTyB3aXRoQXJndW1l
bnRzOm5pbCBmb3JjZVVzZXJHZXN0dXJlOllFUyBpbkZyYW1lOmZyYW1lIGluV29ybGQ6Y29udGVu
dFdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKIH0KIAogLSAodm9p
ZClfdXBkYXRlV2Vic2l0ZVBvbGljaWVzOihfV0tXZWJzaXRlUG9saWNpZXMgKil3ZWJzaXRlUG9s
aWNpZXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMjU3ODcyKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA0LDYgKzEwNCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWQK
ICNlbmRpZgogCiBAY2xhc3MgV0tCcm93c2luZ0NvbnRleHRIYW5kbGU7CitAY2xhc3MgV0tGcmFt
ZUluZm87CiBAY2xhc3MgV0tXZWJwYWdlUHJlZmVyZW5jZXM7CiBAY2xhc3MgX1dLQXBwbGljYXRp
b25NYW5pZmVzdDsKIEBjbGFzcyBfV0tGcmFtZUhhbmRsZTsKQEAgLTIwOCw2ICsyMDksOCBAQCBm
b3IgdGhpcyBwcm9wZXJ0eS4KIC0gKHZvaWQpX3VwZGF0ZVdlYnBhZ2VQcmVmZXJlbmNlczooV0tX
ZWJwYWdlUHJlZmVyZW5jZXMgKil3ZWJwYWdlUHJlZmVyZW5jZXMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClfZXZhbHVhdGVK
YXZhU2NyaXB0V2l0aG91dFVzZXJHZXN0dXJlOihOU1N0cmluZyAqKWphdmFTY3JpcHRTdHJpbmcg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5k
bGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClf
ZXZhbHVhdGVKYXZhU2NyaXB0OihOU1N0cmluZyAqKWphdmFTY3JpcHRTdHJpbmcgaW5GcmFtZToo
V0tGcmFtZUluZm8gKilmcmFtZSBpbkNvbnRlbnRXb3JsZDooV0tDb250ZW50V29ybGQgKiljb250
ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBOU0Vycm9yICogZXJyb3Ip
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CistICh2b2lkKV9jYWxsQXN5bmNKYXZhU2NyaXB0OihOU1N0cmluZyAq
KWZ1bmN0aW9uQm9keSBhcmd1bWVudHM6KE5TRGljdGlvbmFyeTxOU1N0cmluZyAqLCBpZD4gKilh
cmd1bWVudHMgaW5GcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBpbkNvbnRlbnRXb3JsZDooV0tD
b250ZW50V29ybGQgKiljb250ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlk
LCBOU0Vycm9yICplcnJvcikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0TGF5b3V0TW9kZTopIF9XS0xheW91dE1vZGUgX2xheW91dE1vZGU7CiAvLyBG
b3IgdXNlIHdpdGggX2xheW91dE1vZGUgPSBfV0tMYXlvdXRNb2RlRml4ZWRTaXplOgpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9u
IDI1Nzg3MikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDY5LDE3ICszNDY5LDExIEBAIHZvaWQgV2ViUGFnZTo6cnVu
SmF2YVNjcmlwdChXZWJGcmFtZSogZnIKICAgICBmcmFtZS0+Y29yZUZyYW1lKCktPnNjcmlwdCgp
LmV4ZWN1dGVBc3luY2hyb25vdXNVc2VyQWdlbnRTY3JpcHRJbldvcmxkKHdvcmxkLT5jb3JlV29y
bGQoKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGTW92ZShyZXNvbHZlRnVuY3Rpb24pKTsKIH0K
IAotdm9pZCBXZWJQYWdlOjpydW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZChSdW5K
YXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIGNvbnN0IHN0ZDo6cGFpcjxDb250ZW50
V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+JiB3b3JsZERhdGEsIENhbGxiYWNrSUQgY2FsbGJhY2tJ
RCkKK3ZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkph
dmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVycywgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyPiBmcmFtZUlELCBjb25zdCBzdGQ6OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmll
ciwgU3RyaW5nPiYgd29ybGREYXRhLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiB7CisgICAgYXV0
byogd2ViRnJhbWUgPSBmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUo
KmZyYW1lSUQpIDogbWFpbldlYkZyYW1lKCk7CiAgICAgbV91c2VyQ29udGVudENvbnRyb2xsZXIt
PmFkZENvbnRlbnRXb3JsZCh3b3JsZERhdGEpOwotICAgIHJ1bkphdmFTY3JpcHQobWFpbldlYkZy
YW1lKCksIFdURk1vdmUocGFyYW1ldGVycyksIHdvcmxkRGF0YS5maXJzdCwgY2FsbGJhY2tJRCk7
Ci19Ci0KLXZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWUoRnJhbWVJZGVudGlmaWVy
IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIENh
bGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKLSAgICBBU1NFUlQobWFpbldlYkZyYW1l
KCkgIT0gZnJhbWUpOwotICAgIHJ1bkphdmFTY3JpcHQoZnJhbWUsIHsgc2NyaXB0LCBmYWxzZSwg
V1RGOjpudWxsb3B0LCBmb3JjZVVzZXJHZXN0dXJlIH0sIHBhZ2VDb250ZW50V29ybGRJZGVudGlm
aWVyKCksIGNhbGxiYWNrSUQpOworICAgIHJ1bkphdmFTY3JpcHQod2ViRnJhbWUsIFdURk1vdmUo
cGFyYW1ldGVycyksIHdvcmxkRGF0YS5maXJzdCwgY2FsbGJhY2tJRCk7CiB9CiAKIHZvaWQgV2Vi
UGFnZTo6Z2V0Q29udGVudHNBc1N0cmluZyhDb250ZW50QXNTdHJpbmdJbmNsdWRlc0NoaWxkRnJh
bWVzIGluY2x1ZGVDaGlsZEZyYW1lcywgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjU3ODcy
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDkwLDggKzE0OTAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0U291cmNl
Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBDYWxsYmFja0lEKTsKICAgICB2b2lk
IGdldFdlYkFyY2hpdmVPZkZyYW1lKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgQ2FsbGJhY2tJ
RCk7CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0KFdlYkZyYW1lKiwgV2ViQ29yZTo6UnVuSmF2YVNj
cmlwdFBhcmFtZXRlcnMmJiwgQ29udGVudFdvcmxkSWRlbnRpZmllciwgQ2FsbGJhY2tJRCk7Ci0g
ICAgdm9pZCBydW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZChXZWJDb3JlOjpSdW5K
YXZhU2NyaXB0UGFyYW1ldGVycyYmLCBjb25zdCBzdGQ6OnBhaXI8Q29udGVudFdvcmxkSWRlbnRp
ZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDYWxsYmFja0lEKTsKLSAgICB2b2lkIHJ1bkphdmFT
Y3JpcHRJbkZyYW1lKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwgYm9v
bCBmb3JjZVVzZXJHZXN0dXJlLCBDYWxsYmFja0lEKTsKKyAgICB2b2lkIHJ1bkphdmFTY3JpcHRJ
bkZyYW1lSW5TY3JpcHRXb3JsZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBP
cHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+LCBjb25zdCBzdGQ6OnBhaXI8Q29udGVu
dFdvcmxkSWRlbnRpZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDYWxsYmFja0lEKTsKICAgICB2
b2lkIGZvcmNlUmVwYWludChDYWxsYmFja0lEKTsKICAgICB2b2lkIHRha2VTbmFwc2hvdChXZWJD
b3JlOjpJbnRSZWN0IHNuYXBzaG90UmVjdCwgV2ViQ29yZTo6SW50U2l6ZSBiaXRtYXBTaXplLCB1
aW50MzJfdCBvcHRpb25zLCBDYWxsYmFja0lEKTsKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAy
NTc4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAsOSArMjEwLDggQEAgR2VuZXJhdGVTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbgogICAgIEdldFNvdXJjZUZvckZyYW1lKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkK
ICAgICBHZXRXZWJBcmNoaXZlT2ZGcmFtZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJ
RCwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKLSAgICAvLyBGSVhNRTogVGhlc2Ug
c2hvdWxkIHVzZSBzZW5kV2l0aEFzeW5jUmVwbHkgaW5zdGVhZCBvZiBjYWxsYmFja0lEcwotICAg
IFJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkKHN0cnVjdCBXZWJDb3JlOjpSdW5K
YXZhU2NyaXB0UGFyYW1ldGVycyBwYXJhbWV0ZXJzLCBzdGQ6OnBhaXI8V2ViS2l0OjpDb250ZW50
V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+IHdvcmxkLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJh
Y2tJRCkKLSAgICBSdW5KYXZhU2NyaXB0SW5GcmFtZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIg
ZnJhbWVJRCwgU3RyaW5nIHNjcmlwdCwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlLCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCkKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIHNlbmRX
aXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGNhbGxiYWNrSURzCisgICAgUnVuSmF2YVNjcmlwdElu
RnJhbWVJblNjcmlwdFdvcmxkKHN0cnVjdCBXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVy
cyBwYXJhbWV0ZXJzLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQs
IHN0ZDo6cGFpcjxXZWJLaXQ6OkNvbnRlbnRXb3JsZElkZW50aWZpZXIsIFN0cmluZz4gd29ybGQs
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogCiAgICAgRm9yY2VSZXBhaW50KFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAgIFNlbGVjdEFsbCgpCkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc4Nzkp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0wMy0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisg
ICAgICAgIEFkZCBTUEkgdG8gZXZhbHVhdGUgSmF2YVNjcmlwdCBpbiBhbiBpZnJhbWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODYwNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbToKKwogMjAyMC0wMy0w
MyAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRo
bl0gSW1wbGVtZW50IC1bX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbERlbGVnYXRlIHBhbmVsOmRl
Y2lkZVBvbGljeUZvckxvY2FsQXV0aGVudGljYXRvcldpdGhDb21wbGV0aW9uSGFuZGxlcjpdIFNQ
SQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVt
ZUhhbmRsZXItMS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCShyZXZpc2lvbiAyNTc4NzIpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0x
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgwLDcgKzEwODAsMTIgQEAgVEVTVChVUkxTY2hlbWVI
YW5kbGVyLCBGcmFtZXMpCiAgICAgICAgIEVYUEVDVF9ORShjaGlsZC5faGFuZGxlLmZyYW1lSUQs
IGdyYW5kY2hpbGQyLl9oYW5kbGUuZnJhbWVJRCk7CiAgICAgICAgIEVYUEVDVF9ORShncmFuZGNo
aWxkMS5faGFuZGxlLmZyYW1lSUQsIGdyYW5kY2hpbGQyLl9oYW5kbGUuZnJhbWVJRCk7CiAKLSAg
ICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgIFt3ZWJWaWV3IF9jYWxsQXN5bmNKYXZhU2NyaXB0
OkAid2luZG93LmN1c3RvbVByb3BlcnR5ID0gJ2N1c3RvbVZhbHVlJyIgYXJndW1lbnRzOm5pbCBp
bkZyYW1lOmdyYW5kY2hpbGQxIGluQ29udGVudFdvcmxkOltXS0NvbnRlbnRXb3JsZCBkZWZhdWx0
Q2xpZW50V29ybGRdIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQsIE5TRXJyb3IgKmVycm9yKSB7Cisg
ICAgICAgICAgICBbd2ViVmlldyBfZXZhbHVhdGVKYXZhU2NyaXB0OkAid2luZG93LmxvY2F0aW9u
LmhyZWYgKyB3aW5kb3cuY3VzdG9tUHJvcGVydHkiIGluRnJhbWU6Z3JhbmRjaGlsZDEgaW5Db250
ZW50V29ybGQ6W1dLQ29udGVudFdvcmxkIGRlZmF1bHRDbGllbnRXb3JsZF0gY29tcGxldGlvbkhh
bmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgICAgICAgICAgRVhQ
RUNUX1dLX1NUUkVRKHJlc3VsdCwgImZyYW1lOi8vaG9zdDMvY3VzdG9tVmFsdWUiKTsKKyAgICAg
ICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgIH1dOworICAgICAgICB9XTsKICAg
ICB9XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392491</attachid>
            <date>2020-03-04 15:11:15 -0800</date>
            <delta_ts>2020-03-04 15:16:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208605-20200304151115.patch</filename>
            <type>text/plain</type>
            <size>21504</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Nzg3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTA0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0
byBldmFsdWF0ZSBKYXZhU2NyaXB0IGluIGFuIGlmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QnJhZHkgRWlkc29uLgorCisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZCk6CisgICAgICAgIFJlbW92ZSBhIG5v
dy1pbnZhbGlkIGFzc2VydGlvbiB0aGF0IHdhcyBmaXJpbmcgZHVyaW5nIG15IHRlc3QuCisgICAg
ICAgIEFQSTo6Q29udGVudFdvcmxkOjpkZWZhdWx0Q2xpZW50V29ybGQgY3JlYXRlcyBhIHdvcmxk
IHdpdGggbm8gbmFtZSBhbmQgdHlwZSBUeXBlOjpVc2VyLgorICAgICAgICBJJ20gc3VycHJpc2Vk
IHRoaXMgd2Fzbid0IGhpdCBiZWZvcmUuCisKIDIwMjAtMDMtMDQgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gU1BJIHRvIGFsbG93IFVzZXJTdHls
ZVNoZWV0IGluamVjdGlvbiB0byB0YXJnZXQgYSBzcGVjaWZpYyBXS1dlYlZpZXcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAkocmV2aXNp
b24gMjU3ODcxKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxk
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsOCArMzYsNiBAQCBET01XcmFwcGVyV29ybGQ6OkRP
TVdyYXBwZXJXb3JsZChKU0M6OlZNCiAgICAgLCBtX25hbWUobmFtZSkKICAgICAsIG1fdHlwZSh0
eXBlKQogewotICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkgfHwgbV90eXBlID09IFR5cGU6Ok5v
cm1hbCk7Ci0KICAgICBWTTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG1fdm0uY2xpZW50RGF0
YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7CiAgICAgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERh
dGEqPihjbGllbnREYXRhKS0+cmVtZW1iZXJXb3JsZCgqdGhpcyk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gMjU3ODc2KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzMyBAQAorMjAyMC0wMy0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBTUEkgdG8gZXZhbHVhdGUgSmF2YVNjcmlw
dCBpbiBhbiBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODYwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dl
YlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAo
LVtXS1dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OmluQ29udGVudFdvcmxkOmNvbXBsZXRpb25I
YW5kbGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgY2FsbEFzeW5jSmF2YVNjcmlwdDphcmd1
bWVudHM6aW5Db250ZW50V29ybGQ6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfZXZhbHVhdGVKYXZhU2NyaXB0OmFzQXN5bmNGdW5jdGlvbjp3aXRoQXJndW1lbnRz
OmZvcmNlVXNlckdlc3R1cmU6aW5GcmFtZTppbldvcmxkOmNvbXBsZXRpb25IYW5kbGVyOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2V2YWx1YXRlSmF2YVNjcmlwdFdpdGhvdXRVc2VyR2VzdHVy
ZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jYWxsQXN5bmNK
YXZhU2NyaXB0OmFyZ3VtZW50czppbkZyYW1lOmluQ29udGVudFdvcmxkOmNvbXBsZXRpb25IYW5k
bGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2V2YWx1YXRlSmF2YVNjcmlwdDppbkZyYW1l
OmluQ29udGVudFdvcmxkOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2V2YWx1YXRlSmF2YVNjcmlwdDphc0FzeW5jRnVuY3Rpb246d2l0aEFyZ3VtZW50czpmb3Jj
ZVVzZXJHZXN0dXJlOmNvbXBsZXRpb25IYW5kbGVyOmluV29ybGQ6XSk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6cnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpydW5KYXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0SW5GcmFt
ZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lU2NyaXB0V29ybGQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpydW5KYXZhU2NyaXB0SW5GcmFtZSk6IERlbGV0
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wMy0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIGNhbGxB
c3luY0phdmFTY3JpcHQgd2l0aCBhbiBpbnZhbGlkIHBhcmFtZXRlciBhbmQgbm8gY29tcGxldGlv
bkhhbmRsZXIgc2hvdWxkIG5vdCBjcmFzaApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyNTc4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTgwLDEwICszOTgwLDEw
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpsYXVuY2hJbml0aWFsUHJvY2Vzc0kKIAogdm9pZCBXZWJQ
YWdlUHJveHk6OnJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShSdW5KYXZhU2NyaXB0UGFyYW1ldGVy
cyYmIHBhcmFtZXRlcnMsIFdURjo6RnVuY3Rpb248dm9pZCAoQVBJOjpTZXJpYWxpemVkU2NyaXB0
VmFsdWUqLCBPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzPiwgQ2FsbGJhY2tCYXNl
OjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKIHsKLSAgICBydW5KYXZhU2NyaXB0SW5NYWlu
RnJhbWVTY3JpcHRXb3JsZChXVEZNb3ZlKHBhcmFtZXRlcnMpLCBBUEk6OkNvbnRlbnRXb3JsZDo6
cGFnZUNvbnRlbnRXb3JsZCgpLCBXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24pKTsKKyAgICBydW5K
YXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQoV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RGOjpu
dWxsb3B0LCBBUEk6OkNvbnRlbnRXb3JsZDo6cGFnZUNvbnRlbnRXb3JsZCgpLCBXVEZNb3ZlKGNh
bGxiYWNrRnVuY3Rpb24pKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRJ
bk1haW5GcmFtZVNjcmlwdFdvcmxkKFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cywgQVBJOjpDb250ZW50V29ybGQmIHdvcmxkLCBXVEY6OkZ1bmN0aW9uPHZvaWQoQVBJOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWUqLCBPcHRpb25hbDxFeGNlcHRpb25EZXRhaWxzPiwgQ2FsbGJhY2tC
YXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbikKK3ZvaWQgV2ViUGFnZVByb3h5OjpydW5K
YXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQoUnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQsIEFQ
STo6Q29udGVudFdvcmxkJiB3b3JsZCwgV1RGOjpGdW5jdGlvbjx2b2lkKEFQSTo6U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiwgT3B0aW9uYWw8RXhjZXB0aW9uRGV0YWlscz4sIENhbGxiYWNrQmFzZTo6
RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCiB7CiAgICAgLy8gRm9yIGJhY2t3YXJkLWNvbXBh
dGliaWxpdHkgc3VwcG9ydCBydW5uaW5nIHNjcmlwdCBpbiBhIFdlYlZpZXcgd2hpY2ggaGFzIG5v
dCBkb25lIGFueSBsb2FkcyB5ZXRzLgogICAgIGxhdW5jaEluaXRpYWxQcm9jZXNzSWZOZWNlc3Nh
cnkoKTsKQEAgLTM5OTMsMTUgKzM5OTMsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuSmF2YVNj
cmlwdEluTWFpbkZyCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGNhbGxiYWNr
SUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgbV9wcm9jZXNz
LT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldlYlBhZ2VQcm94eTo6cnVuSmF2YVNj
cmlwdEluTWFpbkZyYW1lU2NyaXB0V29ybGQiX3MpKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZChwYXJhbWV0ZXJzLCB3b3Js
ZC53b3JsZERhdGEoKSwgY2FsbGJhY2tJRCkpOwotfQotCi12b2lkIFdlYlBhZ2VQcm94eTo6cnVu
SmF2YVNjcmlwdEluRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFN0cmluZyYg
c2NyaXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIFdURjo6RnVuY3Rpb248dm9pZChBUEk6OlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSosIE9wdGlvbmFsPEV4Y2VwdGlvbkRldGFpbHM+LCBDYWxsYmFj
a0Jhc2U6OkVycm9yKT4mJiBjYWxsYmFja0Z1bmN0aW9uKQotewotICAgIEFTU0VSVChtYWluRnJh
bWUoKS0+ZnJhbWVJRCgpICE9IGZyYW1lSUQpOwotICAgIGF1dG8gY2FsbGJhY2tJRCA9IG1fY2Fs
bGJhY2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24pLCBtX3Byb2Nlc3MtPnRocm90dGxl
cigpLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0SW5GcmFt
ZSJfcykpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJ1bkphdmFTY3JpcHRJbkZyYW1l
KGZyYW1lSUQsIHNjcmlwdCwgZm9yY2VVc2VyR2VzdHVyZSwgY2FsbGJhY2tJRCkpOworICAgIGF1
dG8gY2FsbGJhY2tJRCA9IG1fY2FsbGJhY2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrRnVuY3Rpb24p
LCBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eSgiV2ViUGFnZVByb3h5
OjpydW5KYXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQiX3MpKTsKKyAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpSdW5KYXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQocGFyYW1ldGVy
cywgZnJhbWVJRCwgd29ybGQud29ybGREYXRhKCksIGNhbGxiYWNrSUQpKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmdldFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uKFdURjo6RnVu
Y3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJh
Y2tGdW5jdGlvbikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShy
ZXZpc2lvbiAyNTc4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtMTEwOSw5ICsxMTA5LDcgQEAgcHVibGljOgogICAgIHZvaWQg
Z2V0U291cmNlRm9yRnJhbWUoV2ViRnJhbWVQcm94eSosIFdURjo6RnVuY3Rpb248dm9pZCAoY29u
c3QgU3RyaW5nJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwogICAgIHZvaWQgZ2V0V2ViQXJj
aGl2ZU9mRnJhbWUoV2ViRnJhbWVQcm94eSosIEZ1bmN0aW9uPHZvaWQgKEFQSTo6RGF0YSosIENh
bGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKICAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbk1haW5GcmFt
ZShXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQg
KEFQSTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiwgT3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9u
RGV0YWlscz4sIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pOwotICAg
IHZvaWQgcnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lU2NyaXB0V29ybGQoV2ViQ29yZTo6UnVuSmF2
YVNjcmlwdFBhcmFtZXRlcnMmJiwgQVBJOjpDb250ZW50V29ybGQmLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoQVBJOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUqLCBPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRp
b25EZXRhaWxzPiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2tGdW5jdGlvbik7Ci0g
ICAgLy8gRm9yIHN1YiBmcmFtZXMuCi0gICAgdm9pZCBydW5KYXZhU2NyaXB0SW5GcmFtZShXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBib29sIGZvcmNlVXNl
ckdlc3R1cmUsIFdURjo6RnVuY3Rpb248dm9pZChBUEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSos
IE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHM+LCBDYWxsYmFja0Jhc2U6OkVycm9y
KT4mJiBjYWxsYmFja0Z1bmN0aW9uKTsKKyAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbkZyYW1lSW5T
Y3JpcHRXb3JsZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBPcHRpb25hbDxX
ZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+LCBBUEk6OkNvbnRlbnRXb3JsZCYsIEZ1bmN0aW9uPHZv
aWQoQVBJOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUqLCBPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRp
b25EZXRhaWxzPiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwogICAgIHZvaWQgZm9yY2VSZXBh
aW50KFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwogCiAgICAgZmxvYXQgaGVhZGVySGVpZ2h0KFdl
YkZyYW1lUHJveHkmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQkocmV2aXNpb24gMjU3ODc2KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtODM1LDE3ICs4
MzUsMTcgQEAgc3RhdGljIFdLRXJyb3JDb2RlIGNhbGxiYWNrRXJyb3JDb2RlKFdlYgogCiAtICh2
b2lkKWV2YWx1YXRlSmF2YVNjcmlwdDooTlNTdHJpbmcgKilqYXZhU2NyaXB0U3RyaW5nIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShpZCwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgog
ewotICAgIFtzZWxmIF9ldmFsdWF0ZUphdmFTY3JpcHQ6amF2YVNjcmlwdFN0cmluZyBhc0FzeW5j
RnVuY3Rpb246Tk8gd2l0aEFyZ3VtZW50czpuaWwgZm9yY2VVc2VyR2VzdHVyZTpZRVMgY29tcGxl
dGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXIgaW5Xb3JsZDpXS0NvbnRlbnRXb3JsZC5wYWdl
V29ybGRdOworICAgIFtzZWxmIF9ldmFsdWF0ZUphdmFTY3JpcHQ6amF2YVNjcmlwdFN0cmluZyBh
c0FzeW5jRnVuY3Rpb246Tk8gd2l0aEFyZ3VtZW50czpuaWwgZm9yY2VVc2VyR2VzdHVyZTpZRVMg
aW5GcmFtZTpuaWwgaW5Xb3JsZDpXS0NvbnRlbnRXb3JsZC5wYWdlV29ybGQgY29tcGxldGlvbkhh
bmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOwogfQogCiAtICh2b2lkKWV2YWx1YXRlSmF2YVNjcmlw
dDooTlNTdHJpbmcgKilqYXZhU2NyaXB0U3RyaW5nIGluQ29udGVudFdvcmxkOihXS0NvbnRlbnRX
b3JsZCAqKWNvbnRlbnRXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJy
b3IgKikpY29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBbc2VsZiBfZXZhbHVhdGVKYXZhU2NyaXB0
OmphdmFTY3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0aW9uOk5PIHdpdGhBcmd1bWVudHM6bmlsIGZv
cmNlVXNlckdlc3R1cmU6WUVTIGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyIGlu
V29ybGQ6Y29udGVudFdvcmxkXTsKKyAgICBbc2VsZiBfZXZhbHVhdGVKYXZhU2NyaXB0OmphdmFT
Y3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0aW9uOk5PIHdpdGhBcmd1bWVudHM6bmlsIGZvcmNlVXNl
ckdlc3R1cmU6WUVTIGluRnJhbWU6bmlsIGluV29ybGQ6Y29udGVudFdvcmxkIGNvbXBsZXRpb25I
YW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKIH0KIAogLSAodm9pZCljYWxsQXN5bmNKYXZhU2Ny
aXB0OihOU1N0cmluZyAqKWphdmFTY3JpcHRTdHJpbmcgYXJndW1lbnRzOihOU0RpY3Rpb25hcnk8
TlNTdHJpbmcgKiwgaWQ+ICopYXJndW1lbnRzIGluQ29udGVudFdvcmxkOihXS0NvbnRlbnRXb3Js
ZCAqKWNvbnRlbnRXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3Ig
KmVycm9yKSljb21wbGV0aW9uSGFuZGxlcgogewotICAgIFtzZWxmIF9ldmFsdWF0ZUphdmFTY3Jp
cHQ6amF2YVNjcmlwdFN0cmluZyBhc0FzeW5jRnVuY3Rpb246WUVTIHdpdGhBcmd1bWVudHM6YXJn
dW1lbnRzIGZvcmNlVXNlckdlc3R1cmU6WUVTIGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25I
YW5kbGVyIGluV29ybGQ6Y29udGVudFdvcmxkXTsKKyAgICBbc2VsZiBfZXZhbHVhdGVKYXZhU2Ny
aXB0OmphdmFTY3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0aW9uOllFUyB3aXRoQXJndW1lbnRzOmFy
Z3VtZW50cyBmb3JjZVVzZXJHZXN0dXJlOllFUyBpbkZyYW1lOm5pbCBpbldvcmxkOmNvbnRlbnRX
b3JsZCBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcl07CiB9CiAKIHN0YXRpYyBi
b29sIHZhbGlkYXRlQXJndW1lbnQoaWQgYXJndW1lbnQpCkBAIC04ODIsNyArODgyLDcgQEAgc3Rh
dGljIGJvb2wgdmFsaWRhdGVBcmd1bWVudChpZCBhcmd1bWVudAogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotLSAodm9pZClfZXZhbHVhdGVKYXZhU2NyaXB0OihOU1N0cmluZyAqKWphdmFTY3JpcHRT
dHJpbmcgYXNBc3luY0Z1bmN0aW9uOihCT09MKWFzQXN5bmNGdW5jdGlvbiB3aXRoQXJndW1lbnRz
OihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopYXJndW1lbnRzIGZvcmNlVXNlckdlc3R1
cmU6KEJPT0wpZm9yY2VVc2VyR2VzdHVyZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQs
IE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIgaW5Xb3JsZDooV0tDb250ZW50V29ybGQgKil3
b3JsZAorLSAodm9pZClfZXZhbHVhdGVKYXZhU2NyaXB0OihOU1N0cmluZyAqKWphdmFTY3JpcHRT
dHJpbmcgYXNBc3luY0Z1bmN0aW9uOihCT09MKWFzQXN5bmNGdW5jdGlvbiB3aXRoQXJndW1lbnRz
OihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopYXJndW1lbnRzIGZvcmNlVXNlckdlc3R1
cmU6KEJPT0wpZm9yY2VVc2VyR2VzdHVyZSBpbkZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGlu
V29ybGQ6KFdLQ29udGVudFdvcmxkICopd29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KGlkLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyCiB7CiAgICAgYXV0byBoYW5kbGVyID0g
YWRvcHROUyhbY29tcGxldGlvbkhhbmRsZXIgY29weV0pOwogCkBAIC05MTgsOCArOTE4LDEyIEBA
IC0gKHZvaWQpX2V2YWx1YXRlSmF2YVNjcmlwdDooTlNTdHJpbmcgKikKIAogICAgICAgICByZXR1
cm47CiAgICAgfQorICAgIAorICAgIE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4g
ZnJhbWVJRDsKKyAgICBpZiAoZnJhbWUpCisgICAgICAgIGZyYW1lSUQgPSBtYWtlT2JqZWN0SWRl
bnRpZmllcjxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXJUeXBlPihmcmFtZS5faGFuZGxlLmZyYW1l
SUQpOwogCi0gICAgX3BhZ2UtPnJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlwdFdvcmxkKFdl
YkNvcmU6OlJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzIHsgamF2YVNjcmlwdFN0cmluZywgISFhc0Fz
eW5jRnVuY3Rpb24sIFdURk1vdmUoYXJndW1lbnRzTWFwKSwgISFmb3JjZVVzZXJHZXN0dXJlIH0s
ICp3b3JsZC0+X2NvbnRlbnRXb3JsZC5nZXQoKSwgW2hhbmRsZXJdKEFQSTo6U2VyaWFsaXplZFNj
cmlwdFZhbHVlKiBzZXJpYWxpemVkU2NyaXB0VmFsdWUsIE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2Vw
dGlvbkRldGFpbHM+IGRldGFpbHMsIFdlYktpdDo6U2NyaXB0VmFsdWVDYWxsYmFjazo6RXJyb3Ig
ZXJyb3JDb2RlKSB7CisgICAgX3BhZ2UtPnJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3Js
ZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyB7IGphdmFTY3JpcHRTdHJpbmcsICEh
YXNBc3luY0Z1bmN0aW9uLCBXVEZNb3ZlKGFyZ3VtZW50c01hcCksICEhZm9yY2VVc2VyR2VzdHVy
ZSB9LCBmcmFtZUlELCAqd29ybGQtPl9jb250ZW50V29ybGQuZ2V0KCksIFtoYW5kbGVyXShBUEk6
OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZFNjcmlwdFZhbHVlLCBPcHRpb25hbDxX
ZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzPiBkZXRhaWxzLCBXZWJLaXQ6OlNjcmlwdFZhbHVlQ2Fs
bGJhY2s6OkVycm9yIGVycm9yQ29kZSkgewogICAgICAgICBpZiAoIWhhbmRsZXIpCiAgICAgICAg
ICAgICByZXR1cm47CiAKQEAgLTIyOTEsNyArMjI5NSwxNyBAQCAtICh2b2lkKV9pc0pJVEVuYWJs
ZWQ6KHZvaWQoXikoQk9PTCkpY29tCiAKIC0gKHZvaWQpX2V2YWx1YXRlSmF2YVNjcmlwdFdpdGhv
dXRVc2VyR2VzdHVyZTooTlNTdHJpbmcgKilqYXZhU2NyaXB0U3RyaW5nIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShpZCwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgogewotICAgIFtz
ZWxmIF9ldmFsdWF0ZUphdmFTY3JpcHQ6amF2YVNjcmlwdFN0cmluZyBhc0FzeW5jRnVuY3Rpb246
Tk8gd2l0aEFyZ3VtZW50czpuaWwgZm9yY2VVc2VyR2VzdHVyZTpOTyBjb21wbGV0aW9uSGFuZGxl
cjpjb21wbGV0aW9uSGFuZGxlciBpbldvcmxkOldLQ29udGVudFdvcmxkLnBhZ2VXb3JsZF07Cisg
ICAgW3NlbGYgX2V2YWx1YXRlSmF2YVNjcmlwdDpqYXZhU2NyaXB0U3RyaW5nIGFzQXN5bmNGdW5j
dGlvbjpOTyB3aXRoQXJndW1lbnRzOm5pbCBmb3JjZVVzZXJHZXN0dXJlOk5PIGluRnJhbWU6bmls
IGluV29ybGQ6V0tDb250ZW50V29ybGQucGFnZVdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOmNvbXBs
ZXRpb25IYW5kbGVyXTsKK30KKworLSAodm9pZClfY2FsbEFzeW5jSmF2YVNjcmlwdDooTlNTdHJp
bmcgKilmdW5jdGlvbkJvZHkgYXJndW1lbnRzOihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+
ICopYXJndW1lbnRzIGluRnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgaW5Db250ZW50V29ybGQ6
KFdLQ29udGVudFdvcmxkICopY29udGVudFdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KShpZCwgTlNFcnJvciAqZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgW3NlbGYgX2V2
YWx1YXRlSmF2YVNjcmlwdDpmdW5jdGlvbkJvZHkgYXNBc3luY0Z1bmN0aW9uOllFUyB3aXRoQXJn
dW1lbnRzOmFyZ3VtZW50cyBmb3JjZVVzZXJHZXN0dXJlOllFUyBpbkZyYW1lOmZyYW1lIGluV29y
bGQ6Y29udGVudFdvcmxkIGNvbXBsZXRpb25IYW5kbGVyOmNvbXBsZXRpb25IYW5kbGVyXTsKK30K
KworLSAodm9pZClfZXZhbHVhdGVKYXZhU2NyaXB0OihOU1N0cmluZyAqKWphdmFTY3JpcHRTdHJp
bmcgaW5GcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBpbkNvbnRlbnRXb3JsZDooV0tDb250ZW50
V29ybGQgKiljb250ZW50V29ybGQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKGlkLCBOU0Vy
cm9yICplcnJvcikpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBbc2VsZiBfZXZhbHVhdGVKYXZh
U2NyaXB0OmphdmFTY3JpcHRTdHJpbmcgYXNBc3luY0Z1bmN0aW9uOk5PIHdpdGhBcmd1bWVudHM6
bmlsIGZvcmNlVXNlckdlc3R1cmU6WUVTIGluRnJhbWU6ZnJhbWUgaW5Xb3JsZDpjb250ZW50V29y
bGQgY29tcGxldGlvbkhhbmRsZXI6Y29tcGxldGlvbkhhbmRsZXJdOwogfQogCiAtICh2b2lkKV91
cGRhdGVXZWJzaXRlUG9saWNpZXM6KF9XS1dlYnNpdGVQb2xpY2llcyAqKXdlYnNpdGVQb2xpY2ll
cwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAyNTc4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQs
NiArMTA0LDcgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1JlY3RFZAogI2Vu
ZGlmCiAKIEBjbGFzcyBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZTsKK0BjbGFzcyBXS0ZyYW1lSW5m
bzsKIEBjbGFzcyBXS1dlYnBhZ2VQcmVmZXJlbmNlczsKIEBjbGFzcyBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0OwogQGNsYXNzIF9XS0ZyYW1lSGFuZGxlOwpAQCAtMjA4LDYgKzIwOSw4IEBAIGZvciB0
aGlzIHByb3BlcnR5LgogLSAodm9pZClfdXBkYXRlV2VicGFnZVByZWZlcmVuY2VzOihXS1dlYnBh
Z2VQcmVmZXJlbmNlcyAqKXdlYnBhZ2VQcmVmZXJlbmNlcyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiAtICh2b2lkKV9ldmFsdWF0ZUphdmFT
Y3JpcHRXaXRob3V0VXNlckdlc3R1cmU6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmluZyBjb21w
bGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4wKSk7CistICh2b2lkKV9ldmFs
dWF0ZUphdmFTY3JpcHQ6KE5TU3RyaW5nICopamF2YVNjcmlwdFN0cmluZyBpbkZyYW1lOihXS0Zy
YW1lSW5mbyAqKWZyYW1lIGluQ29udGVudFdvcmxkOihXS0NvbnRlbnRXb3JsZCAqKWNvbnRlbnRX
b3JsZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5TRXJyb3IgKiBlcnJvcikpY29t
cGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKy0gKHZvaWQpX2NhbGxBc3luY0phdmFTY3JpcHQ6KE5TU3RyaW5nICopZnVu
Y3Rpb25Cb2R5IGFyZ3VtZW50czooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKWFyZ3Vt
ZW50cyBpbkZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGluQ29udGVudFdvcmxkOihXS0NvbnRl
bnRXb3JsZCAqKWNvbnRlbnRXb3JsZCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoaWQsIE5T
RXJyb3IgKmVycm9yKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRMYXlvdXRNb2RlOikgX1dLTGF5b3V0TW9kZSBfbGF5b3V0TW9kZTsKIC8vIEZvciB1
c2Ugd2l0aCBfbGF5b3V0TW9kZSA9IF9XS0xheW91dE1vZGVGaXhlZFNpemU6CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAko
cmV2aXNpb24gMjU3ODcxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0V2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3ODYsNyArMzc4Niw3IEBAIHZvaWQg
d2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2luX3cKIAogICAgIEdSZWZQdHI8R1Rhc2s+
IHRhc2sgPSBhZG9wdEdSZWYoZ190YXNrX25ldyh3ZWJWaWV3LCBjYW5jZWxsYWJsZSwgY2FsbGJh
Y2ssIHVzZXJEYXRhKSk7CiAgICAgYXV0byB3b3JsZCA9IEFQSTo6Q29udGVudFdvcmxkOjpzaGFy
ZWRXb3JsZFdpdGhOYW1lKFN0cmluZzo6ZnJvbVVURjgod29ybGROYW1lKSk7Ci0gICAgZ2V0UGFn
ZSh3ZWJWaWV3KS5ydW5KYXZhU2NyaXB0SW5NYWluRnJhbWVTY3JpcHRXb3JsZCh7IFN0cmluZzo6
ZnJvbVVURjgoc2NyaXB0KSwgZmFsc2UsIFdURjo6bnVsbG9wdCwgdHJ1ZSB9LCB3b3JsZC5nZXQo
KSwgW3Rhc2sgPSBXVEZNb3ZlKHRhc2spXShBUEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2Vy
aWFsaXplZFNjcmlwdFZhbHVlLCBPcHRpb25hbDxFeGNlcHRpb25EZXRhaWxzPiBkZXRhaWxzLCBX
ZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IpIHsKKyAgICBnZXRQYWdlKHdlYlZpZXcpLnJ1bkph
dmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZCh7IFN0cmluZzo6ZnJvbVVURjgoc2NyaXB0KSwg
ZmFsc2UsIFdURjo6bnVsbG9wdCwgdHJ1ZSB9LCBXVEY6Om51bGxvcHQsIHdvcmxkLmdldCgpLCBb
dGFzayA9IFdURk1vdmUodGFzayldKEFQSTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlKiBzZXJpYWxp
emVkU2NyaXB0VmFsdWUsIE9wdGlvbmFsPEV4Y2VwdGlvbkRldGFpbHM+IGRldGFpbHMsIFdlYktp
dDo6Q2FsbGJhY2tCYXNlOjpFcnJvcikgewogICAgICAgICBFeGNlcHRpb25EZXRhaWxzIGV4Y2Vw
dGlvbkRldGFpbHM7CiAgICAgICAgIGlmIChkZXRhaWxzKQogICAgICAgICAgICAgZXhjZXB0aW9u
RGV0YWlscyA9ICpkZXRhaWxzOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI1Nzg3MikKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDY5LDE3ICsz
NDY5LDExIEBAIHZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdChXZWJGcmFtZSogZnIKICAgICBm
cmFtZS0+Y29yZUZyYW1lKCktPnNjcmlwdCgpLmV4ZWN1dGVBc3luY2hyb25vdXNVc2VyQWdlbnRT
Y3JpcHRJbldvcmxkKHdvcmxkLT5jb3JlV29ybGQoKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgV1RG
TW92ZShyZXNvbHZlRnVuY3Rpb24pKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpydW5KYXZhU2NyaXB0
SW5NYWluRnJhbWVTY3JpcHRXb3JsZChSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFtZXRl
cnMsIGNvbnN0IHN0ZDo6cGFpcjxDb250ZW50V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+JiB3b3Js
ZERhdGEsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlw
dEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cywgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlELCBjb25zdCBzdGQ6
OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpCiB7CisgICAgYXV0byogd2ViRnJhbWUgPSBmcmFtZUlEID8gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDogbWFpbldlYkZyYW1lKCk7CiAg
ICAgbV91c2VyQ29udGVudENvbnRyb2xsZXItPmFkZENvbnRlbnRXb3JsZCh3b3JsZERhdGEpOwot
ICAgIHJ1bkphdmFTY3JpcHQobWFpbldlYkZyYW1lKCksIFdURk1vdmUocGFyYW1ldGVycyksIHdv
cmxkRGF0YS5maXJzdCwgY2FsbGJhY2tJRCk7Ci19Ci0KLXZvaWQgV2ViUGFnZTo6cnVuSmF2YVNj
cmlwdEluRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgc2NyaXB0
LCBib29sIGZvcmNlVXNlckdlc3R1cmUsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBX
ZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlE
KTsKLSAgICBBU1NFUlQobWFpbldlYkZyYW1lKCkgIT0gZnJhbWUpOwotICAgIHJ1bkphdmFTY3Jp
cHQoZnJhbWUsIHsgc2NyaXB0LCBmYWxzZSwgV1RGOjpudWxsb3B0LCBmb3JjZVVzZXJHZXN0dXJl
IH0sIHBhZ2VDb250ZW50V29ybGRJZGVudGlmaWVyKCksIGNhbGxiYWNrSUQpOworICAgIHJ1bkph
dmFTY3JpcHQod2ViRnJhbWUsIFdURk1vdmUocGFyYW1ldGVycyksIHdvcmxkRGF0YS5maXJzdCwg
Y2FsbGJhY2tJRCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6Z2V0Q29udGVudHNBc1N0cmluZyhDb250
ZW50QXNTdHJpbmdJbmNsdWRlc0NoaWxkRnJhbWVzIGluY2x1ZGVDaGlsZEZyYW1lcywgQ2FsbGJh
Y2tJRCBjYWxsYmFja0lEKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAkocmV2aXNpb24gMjU3ODcyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDkwLDggKzE0OTAsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgZ2V0U291cmNlRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCBDYWxsYmFja0lEKTsKICAgICB2b2lkIGdldFdlYkFyY2hpdmVPZkZyYW1lKFdlYkNvcmU6
OkZyYW1lSWRlbnRpZmllciwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0KFdl
YkZyYW1lKiwgV2ViQ29yZTo6UnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMmJiwgQ29udGVudFdvcmxk
SWRlbnRpZmllciwgQ2FsbGJhY2tJRCk7Ci0gICAgdm9pZCBydW5KYXZhU2NyaXB0SW5NYWluRnJh
bWVTY3JpcHRXb3JsZChXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBjb25zdCBz
dGQ6OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDYWxs
YmFja0lEKTsKLSAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbkZyYW1lKFdlYkNvcmU6OkZyYW1lSWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiwgYm9vbCBmb3JjZVVzZXJHZXN0dXJlLCBDYWxsYmFja0lE
KTsKKyAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZChXZWJDb3JlOjpS
dW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXI+LCBjb25zdCBzdGQ6OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmllciwgU3RyaW5nPiYgd29y
bGREYXRhLCBDYWxsYmFja0lEKTsKICAgICB2b2lkIGZvcmNlUmVwYWludChDYWxsYmFja0lEKTsK
ICAgICB2b2lkIHRha2VTbmFwc2hvdChXZWJDb3JlOjpJbnRSZWN0IHNuYXBzaG90UmVjdCwgV2Vi
Q29yZTo6SW50U2l6ZSBiaXRtYXBTaXplLCB1aW50MzJfdCBvcHRpb25zLCBDYWxsYmFja0lEKTsK
IApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTc4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMTAs
OSArMjEwLDggQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbgogICAg
IEdldFNvdXJjZUZvckZyYW1lKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBXZWJL
aXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICBHZXRXZWJBcmNoaXZlT2ZGcmFtZShXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCiAKLSAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIHVzZSBzZW5kV2l0aEFzeW5jUmVwbHkg
aW5zdGVhZCBvZiBjYWxsYmFja0lEcwotICAgIFJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZVNjcmlw
dFdvcmxkKHN0cnVjdCBXZWJDb3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyBwYXJhbWV0ZXJz
LCBzdGQ6OnBhaXI8V2ViS2l0OjpDb250ZW50V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+IHdvcmxk
LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBSdW5KYXZhU2NyaXB0SW5GcmFt
ZShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgU3RyaW5nIHNjcmlwdCwgYm9vbCBm
b3JjZVVzZXJHZXN0dXJlLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKKyAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgdXNlIHNlbmRXaXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGNhbGxi
YWNrSURzCisgICAgUnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKHN0cnVjdCBXZWJD
b3JlOjpSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyBwYXJhbWV0ZXJzLCBPcHRpb25hbDxXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQsIHN0ZDo6cGFpcjxXZWJLaXQ6OkNvbnRlbnRXb3Js
ZElkZW50aWZpZXIsIFN0cmluZz4gd29ybGQsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogCiAgICAgRm9yY2VSZXBhaW50KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogICAg
IFNlbGVjdEFsbCgpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNTc4NzkpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wMy0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBTUEkgdG8gZXZhbHVhdGUgSmF2
YVNjcmlwdCBpbiBhbiBpZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODYwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVI
YW5kbGVyLTEubW06CisKIDIwMjAtMDMtMDMgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIEltcGxlbWVudCAtW19XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWxEZWxlZ2F0ZSBwYW5lbDpkZWNpZGVQb2xpY3lGb3JMb2NhbEF1dGhlbnRpY2F0b3JX
aXRoQ29tcGxldGlvbkhhbmRsZXI6XSBTUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5t
bQkocmV2aXNpb24gMjU3ODcyKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA4MCw3ICsx
MDgwLDEyIEBAIFRFU1QoVVJMU2NoZW1lSGFuZGxlciwgRnJhbWVzKQogICAgICAgICBFWFBFQ1Rf
TkUoY2hpbGQuX2hhbmRsZS5mcmFtZUlELCBncmFuZGNoaWxkMi5faGFuZGxlLmZyYW1lSUQpOwog
ICAgICAgICBFWFBFQ1RfTkUoZ3JhbmRjaGlsZDEuX2hhbmRsZS5mcmFtZUlELCBncmFuZGNoaWxk
Mi5faGFuZGxlLmZyYW1lSUQpOwogCi0gICAgICAgIGRvbmUgPSB0cnVlOworICAgICAgICBbd2Vi
VmlldyBfY2FsbEFzeW5jSmF2YVNjcmlwdDpAIndpbmRvdy5jdXN0b21Qcm9wZXJ0eSA9ICdjdXN0
b21WYWx1ZSciIGFyZ3VtZW50czpuaWwgaW5GcmFtZTpncmFuZGNoaWxkMSBpbkNvbnRlbnRXb3Js
ZDpbV0tDb250ZW50V29ybGQgZGVmYXVsdENsaWVudFdvcmxkXSBjb21wbGV0aW9uSGFuZGxlcjpe
KGlkLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgW3dlYlZpZXcgX2V2YWx1YXRlSmF2
YVNjcmlwdDpAIndpbmRvdy5sb2NhdGlvbi5ocmVmICsgd2luZG93LmN1c3RvbVByb3BlcnR5IiBp
bkZyYW1lOmdyYW5kY2hpbGQxIGluQ29udGVudFdvcmxkOltXS0NvbnRlbnRXb3JsZCBkZWZhdWx0
Q2xpZW50V29ybGRdIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJv
cikgeworICAgICAgICAgICAgICAgIEVYUEVDVF9XS19TVFJFUShyZXN1bHQsICJmcmFtZTovL2hv
c3QzL2N1c3RvbVZhbHVlIik7CisgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAg
ICAgICB9XTsKKyAgICAgICAgfV07CiAgICAgfV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkb25lKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>