<?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>220442</bug_id>
          
          <creation_ts>2021-01-07 15:43:07 -0800</creation_ts>
          <short_desc>[webkitscmpy] Provide command to automatically configure git-svn</short_desc>
          <delta_ts>2021-09-07 12:23:39 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222847</see_also>
          <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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718117</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-01-07 15:43:07 -0800</bug_when>
    <thetext>Now that the GitHub WebKit mirror tracks most branches (more will be added in the coming weeks), we should add a command to git-webkit to track the subversion repository. The existing command in webkit-patch is insufficient because it only considers trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718119</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-07 15:43:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/72908233&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718380</commentid>
    <comment_count>2</comment_count>
      <attachid>417287</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-01-08 12:04:04 -0800</bug_when>
    <thetext>Created attachment 417287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718425</commentid>
    <comment_count>3</comment_count>
      <attachid>417299</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-01-08 13:26:20 -0800</bug_when>
    <thetext>Created attachment 417299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718444</commentid>
    <comment_count>4</comment_count>
      <attachid>417299</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-08 14:26:04 -0800</bug_when>
    <thetext>Comment on attachment 417299
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718508</commentid>
    <comment_count>5</comment_count>
      <attachid>417318</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-01-08 17:00:19 -0800</bug_when>
    <thetext>Created attachment 417318
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718519</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-08 17:58:25 -0800</bug_when>
    <thetext>Committed r271340: &lt;https://trac.webkit.org/changeset/271340&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417318.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417287</attachid>
            <date>2021-01-08 12:04:04 -0800</date>
            <delta_ts>2021-01-08 13:26:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220442-20210108120403.patch</filename>
            <type>text/plain</type>
            <size>26802</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MTMxMSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQyIEBACisyMDIxLTAxLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0c2NtcHldIFByb3ZpZGUgY29tbWFuZCB0byBhdXRvbWF0aWNh
bGx5IGNvbmZpZ3VyZSBnaXQtc3ZuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyOTA4MjMzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjb21t
YW5kcyB0byB1cGRhdGUgcmVwb3NpdG9yeSBhbmQgY29ubmVjdCBhIGdpdCByZXBvc2l0b3J5IHRv
IGEgc3VidmVyc2lvbiByZXBvc2l0b3J5LgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0
OiBEZWZpbmUgc3VidmVyc2lvbiBVUkwuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvc2V0dXAucHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weTogRGl0dG8uCisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvZ2l0LnB5
OgorICAgICAgICAoR2l0LnB1bGwpOiBBZGQgZnVuY3Rpb24gdG8gdXBkYXRlIHJlcG9zaXRvcnkg
d2l0aCB0aGUgcmVtb3RlLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weToKKyAgICAgICAgKFNjbS5wdWxsKTogQWRkIGZ1bmN0
aW9uIHRvIHVwZGF0ZSByZXBvc2l0b3J5IHdpdGggdGhlIHJlbW90ZS4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9zdm4ucHk6CisgICAg
ICAgIChTdm4uX19pbml0X18pOiBTdXBwcmVzcyBleGNlcHRpb24gd2hlbiBtZXRhZGF0YSBjYWNo
ZSBpcyBpbnZhbGlkLgorICAgICAgICAoU3ZuLnB1bGwpOiBBZGQgZnVuY3Rpb24gdG8gdXBkYXRl
IHJlcG9zaXRvcnkgd2l0aCB0aGUgcmVtb3RlLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdp
dCk6IFVzZSB0YWJzIGluIGdpdCBjb25maWcsIGFkZCAnZ2l0IHN2biBmZXRjaCcgYW5kICdnaXQg
cHVsbCcgY29tbWFuZHMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvc3ZuLnB5OgorICAgICAgICAoU3ZuLl9faW5pdF9fKTog
QWRkICdzdm4gdXAnIGNvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weToKKyAgICAgICAgKG1haW4pOiBB
ZGQgUHVsbCBhbmQgU2V0dXBHaXRTdm4gY29tbWFuZHMuCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9jb21tYW5kLnB5OgorICAgICAg
ICAoQ29tbWFuZC5wYXJzZXIpOiBTdXBwb3J0IHVzZSBvZiB0aGUgZGVmYXVsdCBwYXJzZXIuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3Jh
bS9wdWxsLnB5OiBBZGRlZC4KKyAgICAgICAgKFB1bGwpOiBVcGRhdGUgdGhlIGN1cnJlbnQgcmVw
b3NpdG9yeSBmcm9tIGl0cyByZW1vdGUuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cF9naXRfc3ZuLnB5OiBBZGRlZC4KKyAg
ICAgICAgKFNldHVwR2l0U3ZuKTogQWRkIGNvbW1hbmQgd2hpY2ggcG9wdWxhdGVzIHRoZSAuZ2l0
IGNvbmZpZyBmaWxlIHdpdGggaW5mb3JtYXRpb24KKyAgICAgICAgbGlua2luZyB0byBhIHN1YnZl
cnNpb24gcmVwb3NpdG9yeS4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS90ZXN0L3NldHVwX2dpdF9zdm5fdW5pdHRlc3QucHk6IEFkZGVkLgorICAg
ICAgICAoVGVzdFNldHVwR2l0U3ZuKToKKyAgICAgICAgKFRlc3RTZXR1cEdpdFN2bi50ZXN0X3N2
bik6CisgICAgICAgIChUZXN0U2V0dXBHaXRTdm4udGVzdF9lbXB0eSk6CisgICAgICAgIChUZXN0
U2V0dXBHaXRTdm4udGVzdF9hZGQpOgorCiAyMDIxLTAxLTA4ICBTaWh1aSBMaXUgIDxzaWh1aV9s
aXVAYXBwZS5jb20+CiAKICAgICAgICAgU3RvcCB1c2luZyBNZWRpYVJlY29yZGVyIGluIEFQSSB0
ZXN0IFdlYktpdDIuU3BlZWNoUmVjb2duaXRpb25FcnJvcldoZW5TdGFydGluZ0F1ZGlvQ2FwdHVy
ZU9uRGlmZmVyZW50UGFnZQpJbmRleDogVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvZ2l0LXdlYmtpdAkocmV2aXNpb24gMjcxMzA1KQorKysgVG9v
bHMvU2NyaXB0cy9naXQtd2Via2l0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uCiAKLSMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDIwLCAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDYs
NSArNDYsNiBAQCBpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgogICAgICAgICBwYXRoPW9zLnBh
dGguZGlybmFtZShfX2ZpbGVfXyksCiAgICAgICAgIGNvbnRyaWJ1dG9ycz1jb250cmlidXRvcnMs
CiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9J0Nhbm9uaWNhbCBsaW5rOiBodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy97fScsCisgICAgICAgIHN1YnZlcnNpb249J2h0dHBzOi8vc3ZuLndl
YmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQnLAogICAgICkpCiAKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CShyZXZpc2lvbiAyNzEzMDUpCisr
KyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQkod29ya2luZyBj
b3B5KQpAQCAtMjAsNyArMjAsNiBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwogIyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAot
ZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgdmVyc2lvbgogZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBz
ZXR1cAogCiAKQEAgLTMxLDcgKzMwLDcgQEAgZGVmIHJlYWRtZSgpOgogCiBzZXR1cCgKICAgICBu
YW1lPSd3ZWJraXRzY21weScsCi0gICAgdmVyc2lvbj1zdHIodmVyc2lvbiksCisgICAgdmVyc2lv
bj0nMC44LjAnLAogICAgIGRlc2NyaXB0aW9uPSdMaWJyYXJ5IGRlc2lnbmVkIHRvIGludGVyYWN0
IHdpdGggZ2l0IGFuZCBzdm4gcmVwb3NpdG9yaWVzLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1y
ZWFkbWUoKSwKICAgICBjbGFzc2lmaWVycz1bCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQko
cmV2aXNpb24gMjcxMzA1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvX19pbml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAg
ZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAiUGxlYXNlIGluc3RhbGwgd2Via2l0Y29yZXB5
IHdpdGggYHBpcCBpbnN0YWxsIHdlYmtpdGNvcmVweSAtLWV4dHJhLWluZGV4LXVybCA8cGFja2Fn
ZSBpbmRleCBVUkw+YCIKICAgICApCiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDcsIDMpCit2ZXJz
aW9uID0gVmVyc2lvbigwLCA4LCAwKQogCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdm
YXN0ZW5lcnMnLCBWZXJzaW9uKDAsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNr
YWdlKCdtb25vdG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9n
aXQucHkJKHJldmlzaW9uIDI3MTMwNSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzE4LDMg
KzMxOCw5IEBAIGNsYXNzIEdpdChTY20pOgogICAgICAgICAgICAgW3NlbGYuZXhlY3V0YWJsZSgp
LCAnY2hlY2tvdXQnXSArIFthcmd1bWVudF0gKyBsb2dfYXJnLAogICAgICAgICAgICAgY3dkPXNl
bGYucm9vdF9wYXRoLAogICAgICAgICApLnJldHVybmNvZGUgZWxzZSBzZWxmLmNvbW1pdCgpCisK
KyAgICBkZWYgcHVsbChzZWxmKToKKyAgICAgICAgY29kZSA9IHJ1bihbc2VsZi5leGVjdXRhYmxl
KCksICdwdWxsJ10sIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJuY29kZQorICAgICAgICBpZiBu
b3QgY29kZSBhbmQgc2VsZi5pc19zdm46CisgICAgICAgICAgICByZXR1cm4gcnVuKFtzZWxmLmV4
ZWN1dGFibGUoKSwgJ3N2bicsICdmZXRjaCcsICctLWxvY2FsJ10sIGN3ZD1zZWxmLnJvb3RfcGF0
aCkucmV0dXJuY29kZQorICAgICAgICByZXR1cm4gY29kZQpJbmRleDogVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2Fs
L3NjbS5weQkocmV2aXNpb24gMjcxMzA1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQg
KzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMjAsIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03NywzICs3Nyw2IEBAIGNs
YXNzIFNjbShTY21CYXNlKToKIAogICAgIGRlZiBjaGVja291dChzZWxmLCBhcmd1bWVudCk6CiAg
ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQorCisgICAgZGVmIHB1bGwoc2VsZik6
CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQpJbmRleDogVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xv
Y2FsL3N2bi5weQkocmV2aXNpb24gMjcxMzA1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMjAsIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCw3ICs2NCw2IEBA
IGNsYXNzIFN2bihTY20pOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9tZXRhZGF0YV9jYWNo
ZSA9IGpzb24ubG9hZChmaWxlKQogICAgICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb246CiAg
ICAgICAgICAgICAgICAgc2VsZi5fbWV0YWRhdGFfY2FjaGUgPSBkaWN0KHZlcnNpb249c3RyKHNl
bGYuQ0FDSEVfVkVSU0lPTikpCi0gICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgIHNlbGYuX21ldGFkYXRhX2NhY2hlID0gZGljdCh2ZXJzaW9uPXN0cihzZWxm
LkNBQ0hFX1ZFUlNJT04pKQogCkBAIC0zOTIsMyArMzkxLDYgQEAgY2xhc3MgU3ZuKFNjbSk6CiAg
ICAgICAgICAgICBjb21tYW5kLmFwcGVuZCgnLXEnKQogCiAgICAgICAgIHJldHVybiBOb25lIGlm
IHJ1bihjb21tYW5kLCBjd2Q9c2VsZi5yb290X3BhdGgpLnJldHVybmNvZGUgZWxzZSBjb21taXQK
KworICAgIGRlZiBwdWxsKHNlbGYpOgorICAgICAgICByZXR1cm4gcnVuKFtzZWxmLmV4ZWN1dGFi
bGUoKSwgJ3VwJ10sIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJuY29kZQpJbmRleDogVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0
LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weQkocmV2aXNpb24gMjcxMzA1KQorKysgVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC03MCwxOCArNzAsMTggQEAgY2xhc3MgR2l0KG1vY2tzLlN1
YnByb2Nlc3MpOgogICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhdGgs
ICcuZ2l0JywgJ2NvbmZpZycpLCAndycpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBjb25m
aWcud3JpdGUoCiAgICAgICAgICAgICAgICAgICAgICdbY29yZV1cbicKLSAgICAgICAgICAgICAg
ICAgICAgJyAgICByZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKLSAgICAgICAgICAgICAg
ICAgICAgJwlmaWxlbW9kZSA9IHRydWVcbicKLSAgICAgICAgICAgICAgICAgICAgJwliYXJlID0g
ZmFsc2VcbicKLSAgICAgICAgICAgICAgICAgICAgJwlsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxu
JwotICAgICAgICAgICAgICAgICAgICAnCWlnbm9yZWNhc2UgPSB0cnVlXG4nCi0gICAgICAgICAg
ICAgICAgICAgICcJcHJlY29tcG9zZXVuaWNvZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAg
ICAgICdcdHJlcG9zaXRvcnlmb3JtYXR2ZXJzaW9uID0gMFxuJworICAgICAgICAgICAgICAgICAg
ICAnXHRmaWxlbW9kZSA9IHRydWVcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0YmFyZSA9IGZh
bHNlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGxvZ2FsbHJlZnVwZGF0ZXMgPSB0cnVlXG4n
CisgICAgICAgICAgICAgICAgICAgICdcdGlnbm9yZWNhc2UgPSB0cnVlXG4nCisgICAgICAgICAg
ICAgICAgICAgICdcdHByZWNvbXBvc2V1bmljb2RlID0gdHJ1ZVxuJwogICAgICAgICAgICAgICAg
ICAgICAnW3JlbW90ZSAib3JpZ2luIl1cbicKLSAgICAgICAgICAgICAgICAgICAgJyAgICB1cmwg
PSB7cmVtb3RlfVxuJwotICAgICAgICAgICAgICAgICAgICAnICAgIGZldGNoID0gK3JlZnMvaGVh
ZHMvKjpyZWZzL3JlbW90ZXMvb3JpZ2luLypcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0dXJs
ID0ge3JlbW90ZX1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0ZmV0Y2ggPSArcmVmcy9oZWFk
cy8qOnJlZnMvcmVtb3Rlcy9vcmlnaW4vKlxuJwogICAgICAgICAgICAgICAgICAgICAnW2JyYW5j
aCAie2JyYW5jaH0iXVxuJwotICAgICAgICAgICAgICAgICAgICAnICAgIHJlbW90ZSA9IG9yaWdp
blxuJwotICAgICAgICAgICAgICAgICAgICAnICAgIG1lcmdlID0gcmVmcy9oZWFkcy97YnJhbmNo
fVxuJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICdcdHJlbW90ZSA9IG9yaWdpblxuJwor
ICAgICAgICAgICAgICAgICAgICAnXHRtZXJnZSA9IHJlZnMvaGVhZHMve2JyYW5jaH1cbicuZm9y
bWF0KAogICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlPXNlbGYucmVtb3RlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgYnJhbmNoPXNlbGYuZGVmYXVsdF9icmFuY2gsCiAgICAgICAgICAg
ICAgICAgICAgICkpCkBAIC0yODIsNiArMjgyLDE1IEBAIG5vdGhpbmcgdG8gY29tbWl0LCB3b3Jr
aW5nIHRyZWUgY2xlYW4KICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRfc2hlbGw9YXJn
c1s0XSBpZiBhcmdzWzNdID09ICctLWVudi1maWx0ZXInIGFuZCBhcmdzWzRdIGVsc2UgTm9uZSwK
ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRl
KAorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3N2bicsICdmZXRjaCcsICctLWxv
Y2FsJywKKyAgICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLAorICAgICAgICAgICAgICAgIGdl
bmVyYXRvcj1sYW1iZGEgKmFyZ3MsICoqa3dhcmdzOgorICAgICAgICAgICAgICAgICAgICBtb2Nr
cy5Qcm9jZXNzQ29tcGxldGlvbihyZXR1cm5jb2RlPTApIGlmIGdpdF9zdm4gb3IgbG9jYWwuR2l0
KHNlbGYucGF0aCkuaXNfc3ZuIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29k
ZT0tMSksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAorICAgICAgICAg
ICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3B1bGwnLAorICAgICAgICAgICAgICAgIGN3ZD1zZWxm
LnBhdGgsCisgICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlv
bihyZXR1cm5jb2RlPTApLAorICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgK
ICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgY3dkPXNl
bGYucGF0aCwKICAgICAgICAgICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlByb2Nlc3NDb21wbGV0
aW9uKApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvbW9ja3MvbG9jYWwvc3ZuLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL3N2bi5weQkocmV2aXNpb24g
MjcxMzA1KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvbW9ja3MvbG9jYWwvc3ZuLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDEwIEBA
IGNsYXNzIFN2bihtb2Nrcy5TdWJwcm9jZXNzKToKICAgICAgICAgICAgICAgICBnZW5lcmF0b3I9
bGFtYmRhICphcmdzLCAqKmt3YXJnczoKICAgICAgICAgICAgICAgICAgICAgbW9ja3MuUHJvY2Vz
c0NvbXBsZXRpb24ocmV0dXJuY29kZT0wKSBpZiBzZWxmLnVwKGFyZ3NbM10pIGVsc2UgbW9ja3Mu
UHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29kZT0xKQogICAgICAgICAgICAgKSwgbW9ja3MuU3Vi
cHJvY2Vzcy5Sb3V0ZSgKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsICd1cCcsCisg
ICAgICAgICAgICAgICAgY3dkPXNlbGYucGF0aCwKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9u
PW1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9MCksCisgICAgICAgICAgICApLCBt
b2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAogICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwK
ICAgICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLAogICAgICAgICAgICAgICAgIGNvbXBsZXRp
b249bW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24oCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dy
YW0vX19pbml0X18ucHkJKHJldmlzaW9uIDI3MTMwNSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTIzLDcgKzIzLDYgQEAKIGltcG9ydCBhcmdwYXJzZQogaW1wb3J0IGxvZ2dpbmcK
IGltcG9ydCBvcwotaW1wb3J0IHN5cwogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1l
bnRzLCBsb2cgYXMgd2Via2l0Y29yZXB5X2xvZwogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgbG9j
YWwsIGxvZywgcmVtb3RlCkBAIC0zMiw5ICszMSwxMSBAQCBmcm9tIC5jYW5vbmljYWxpemUgaW1w
b3J0IENhbm9uaWNhbGl6ZQogZnJvbSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAogZnJvbSAuY2hl
Y2tvdXQgaW1wb3J0IENoZWNrb3V0CiBmcm9tIC5maW5kIGltcG9ydCBGaW5kCitmcm9tIC5wdWxs
IGltcG9ydCBQdWxsCitmcm9tIC5zZXR1cF9naXRfc3ZuIGltcG9ydCBTZXR1cEdpdFN2bgogCiAK
LWRlZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRyaWJ1dG9y
cz1Ob25lLCBpZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUpOgorZGVmIG1haW4oYXJncz1Ob25lLCBw
YXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVt
cGxhdGU9Tm9uZSwgc3VidmVyc2lvbj1Ob25lKToKICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxl
dmVsPWxvZ2dpbmcuV0FSTklORykKIAogICAgIGxvZ2dlcnMgPSBbbG9nZ2luZy5nZXRMb2dnZXIo
KSwgd2Via2l0Y29yZXB5X2xvZywgIGxvZ10gKyAobG9nZ2VycyBvciBbXSkKQEAgLTU1LDcgKzU2
LDExIEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU4KIAogICAgIHN1
YnBhcnNlcnMgPSBwYXJzZXIuYWRkX3N1YnBhcnNlcnMoaGVscD0nc3ViLWNvbW1hbmQgaGVscCcp
CiAKLSAgICBmb3IgcHJvZ3JhbSBpbiBbRmluZCwgQ2hlY2tvdXQsIENhbm9uaWNhbGl6ZV06Cisg
ICAgcHJvZ3JhbXMgPSBbRmluZCwgQ2hlY2tvdXQsIENhbm9uaWNhbGl6ZSwgUHVsbF0KKyAgICBp
ZiBzdWJ2ZXJzaW9uOgorICAgICAgICBwcm9ncmFtcy5hcHBlbmQoU2V0dXBHaXRTdm4pCisKKyAg
ICBmb3IgcHJvZ3JhbSBpbiBwcm9ncmFtczoKICAgICAgICAgc3VicGFyc2VyID0gc3VicGFyc2Vy
cy5hZGRfcGFyc2VyKHByb2dyYW0ubmFtZSwgaGVscD1wcm9ncmFtLmhlbHApCiAgICAgICAgIHN1
YnBhcnNlci5zZXRfZGVmYXVsdHMobWFpbj1wcm9ncmFtLm1haW4pCiAgICAgICAgIHByb2dyYW0u
cGFyc2VyKHN1YnBhcnNlciwgbG9nZ2Vycz1sb2dnZXJzKQpAQCAtNjcsNCArNzIsOSBAQCBkZWYg
bWFpbihhcmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1OCiAgICAgZWxzZToKICAgICAgICAg
cmVwb3NpdG9yeSA9IGxvY2FsLlNjbS5mcm9tX3BhdGgocGF0aD1wYXJzZWQucmVwb3NpdG9yeSwg
Y29udHJpYnV0b3JzPWNvbnRyaWJ1dG9ycykKIAotICAgIHJldHVybiBwYXJzZWQubWFpbihhcmdz
PXBhcnNlZCwgcmVwb3NpdG9yeT1yZXBvc2l0b3J5LCBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50
aWZpZXJfdGVtcGxhdGUpCisgICAgcmV0dXJuIHBhcnNlZC5tYWluKAorICAgICAgICBhcmdzPXBh
cnNlZCwKKyAgICAgICAgcmVwb3NpdG9yeT1yZXBvc2l0b3J5LAorICAgICAgICBpZGVudGlmaWVy
X3RlbXBsYXRlPWlkZW50aWZpZXJfdGVtcGxhdGUsCisgICAgICAgIHN1YnZlcnNpb249c3VidmVy
c2lvbiwKKyAgICApCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL2NvbW1hbmQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9jb21tYW5kLnB5CShy
ZXZpc2lvbiAyNzEzMDUpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL2NvbW1hbmQucHkJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4
LDcgQEAgY2xhc3MgQ29tbWFuZChvYmplY3QpOgogICAgIGhlbHAgPSBOb25lCiAKICAgICBAY2xh
c3NtZXRob2QKLSAgICBkZWYgcGFyc2VyKGNscywgcGFyc2VyKToKKyAgICBkZWYgcGFyc2VyKGNs
cywgcGFyc2VyLCBsb2dnZXJzPU5vbmUpOgogICAgICAgICBpZiBjbHMubmFtZSBpcyBOb25lOgog
ICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignQ29tbWFuZCBkb2VzIG5vdCBo
YXZlIGEgbmFtZScpCiAgICAgICAgIGlmIGNscy5oZWxwIGlzIE5vbmU6CkluZGV4OiBUb29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3B1bGwucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0
c2NtcHkvcHJvZ3JhbS9wdWxsLnB5CShub25leGlzdGVudCkKKysrIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vcHVsbC5weQkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM3IEBACisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1l
dDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCitpbXBvcnQgc3lzCisKK2Zyb20gLmNvbW1hbmQgaW1wb3J0IENvbW1hbmQKKworCitjbGFz
cyBQdWxsKENvbW1hbmQpOgorICAgIG5hbWUgPSAncHVsbCcKKyAgICBoZWxwID0gJ1VwZGF0ZSB0
aGUgY3VycmVudCBjaGVja291dCwgc3luY2hyb25pemUgZ2l0LXN2biBpZiBjb25maWd1cmVkJwor
CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIG1haW4oY2xzLCBhcmdzLCByZXBvc2l0b3J5LCAq
Kmt3YXJncyk6CisgICAgICAgIGlmIG5vdCByZXBvc2l0b3J5LnBhdGg6CisgICAgICAgICAgICBz
eXMuc3RkZXJyLndyaXRlKCdDYW5ub3QgdXBkYXRlIHJlbW90ZSByZXBvc2l0b3J5XG4nKQorICAg
ICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIHJlcG9zaXRvcnkucHVsbCgpCkluZGV4
OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFt
L3NldHVwX2dpdF9zdm4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cF9naXRfc3ZuLnB5CShub25leGlz
dGVudCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L3Byb2dyYW0vc2V0dXBfZ2l0X3N2bi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkyIEBA
CisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAor
IyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKK2ltcG9y
dCBzeXMKKworZnJvbSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAorZnJvbSB3ZWJraXRjb3JlcHkg
aW1wb3J0IHJ1bgorZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgcmVtb3RlCisKKworY2xhc3MgU2V0
dXBHaXRTdm4oQ29tbWFuZCk6CisgICAgbmFtZSA9ICdzZXR1cC1naXQtc3ZuJworICAgIGhlbHAg
PSAnQ29ubmVjdCBhIGdpdCBjaGVja291dCB0byB0aGUgU3VidmVyc2lvbiByZXBvc2l0b3J5IGl0
IGlzIChvciB3YXMpIGJhc2VkIG9uJworCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHBhcnNl
cihjbHMsIHBhcnNlciwgbG9nZ2Vycz1Ob25lKToKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgKKyAgICAgICAgICAgICctLWFsbC1icmFuY2hlcycsICctYScsCisgICAgICAgICAgICBoZWxw
PSdNYXRjaCBhbGwgZ2l0IGJyYW5jaGVzIHRvIHRoZWlyIHN1YnZlcnNpb24gY291bnRlcnBhcnRz
JywKKyAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICBkZXN0PSdh
bGxfYnJhbmNoZXMnLAorICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgKQorCisg
ICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIG1haW4oY2xzLCBhcmdzLCByZXBvc2l0b3J5LCBzdWJ2
ZXJzaW9uPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgaWYgbm90IHJlcG9zaXRvcnkucGF0aDoK
KyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0Nhbm5vdCBzZXR1cCBnaXQtc3ZuIG9uIHJl
bW90ZSByZXBvc2l0b3J5XG4nKQorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgaWYgbm90
IHJlcG9zaXRvcnkuaXNfZ2l0OgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnQ2Fubm90
IHNldHVwIGdpdC1zdm4gb24gU3VidmVyc2lvbiByZXBvc2l0b3J5XG4nKQorICAgICAgICAgICAg
cmV0dXJuIDEKKyAgICAgICAgaWYgbm90IHN1YnZlcnNpb246CisgICAgICAgICAgICBzeXMuc3Rk
ZXJyLndyaXRlKCdGYWlsZWQgdG8gZmluZCBTdWJ2ZXJzaW9uIHJlbW90ZToge31cbicuZm9ybWF0
KHN1YnZlcnNpb24pKQorICAgICAgICAgICAgcmV0dXJuIDEKKworICAgICAgICBwcmludCgnQWRk
aW5nIHN2bi1yZW1vdGUgdG8gZ2l0IGNvbmZpZycpCisgICAgICAgIGNvbmZpZ19wYXRoID0gb3Mu
cGF0aC5qb2luKHJlcG9zaXRvcnkucm9vdF9wYXRoLCAnLmdpdCcsICdjb25maWcnKQorICAgICAg
ICBjb25maWdfZGF0YSA9IFtdCisgICAgICAgIHdpdGggb3Blbihjb25maWdfcGF0aCwgJ3InKSBh
cyBjb25maWc6CisgICAgICAgICAgICBpc19pbl9zdm5fcmVtb3RlID0gRmFsc2UKKyAgICAgICAg
ICAgIGZvciBsaW5lIGluIGNvbmZpZy5yZWFkbGluZXMoKToKKyAgICAgICAgICAgICAgICBpZiBp
c19pbl9zdm5fcmVtb3RlIGFuZCBub3QgbGluZVs6MV0uaXNzcGFjZSgpOgorICAgICAgICAgICAg
ICAgICAgICBpc19pbl9zdm5fcmVtb3RlID0gRmFsc2UKKyAgICAgICAgICAgICAgICBpZiBsaW5l
LnN0YXJ0c3dpdGgoJ1tzdm4tcmVtb3RlICJzdm4iXScpOgorICAgICAgICAgICAgICAgICAgICBp
c19pbl9zdm5fcmVtb3RlID0gVHJ1ZQorICAgICAgICAgICAgICAgIGlmIG5vdCBpc19pbl9zdm5f
cmVtb3RlOgorICAgICAgICAgICAgICAgICAgICBjb25maWdfZGF0YS5hcHBlbmQobGluZSkKKwor
ICAgICAgICB3aXRoIG9wZW4oY29uZmlnX3BhdGgsICd3JykgYXMgY29uZmlnOgorICAgICAgICAg
ICAgZm9yIGxpbmUgaW4gY29uZmlnX2RhdGE6CisgICAgICAgICAgICAgICAgY29uZmlnLndyaXRl
KGxpbmUpCisgICAgICAgICAgICBjb25maWcud3JpdGUoJ1tzdm4tcmVtb3RlICJzdm4iXVxuJykK
KyAgICAgICAgICAgIGNvbmZpZy53cml0ZSgnXHR1cmwgPSB7fVxuJy5mb3JtYXQoc3VidmVyc2lv
bikpCisgICAgICAgICAgICBjb25maWcud3JpdGUoJ1x0ZmV0Y2ggPSB0cnVuazpyZWZzL3JlbW90
ZXMvb3JpZ2luL3t9XG4nLmZvcm1hdChyZXBvc2l0b3J5LmRlZmF1bHRfYnJhbmNoKSkKKworICAg
ICAgICAgICAgaWYgYXJncy5hbGxfYnJhbmNoZXM6CisgICAgICAgICAgICAgICAgc3ZuX3JlbW90
ZSA9IHJlbW90ZS5Tdm4oCisgICAgICAgICAgICAgICAgICAgIHVybD1zdWJ2ZXJzaW9uLAorICAg
ICAgICAgICAgICAgICAgICBkZXZfYnJhbmNoZXM9cmVwb3NpdG9yeS5kZXZfYnJhbmNoZXMsCisg
ICAgICAgICAgICAgICAgICAgIHByb2RfYnJhbmNoZXM9cmVwb3NpdG9yeS5wcm9kX2JyYW5jaGVz
LAorICAgICAgICAgICAgICAgICAgICBjb250cmlidXRvcnM9cmVwb3NpdG9yeS5jb250cmlidXRv
cnMsCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICAgICAgZ2l0X2JyYW5jaGVzID0g
cmVwb3NpdG9yeS5icmFuY2hlcworICAgICAgICAgICAgICAgIGZvciBicmFuY2ggaW4gc29ydGVk
KHN2bl9yZW1vdGUuYnJhbmNoZXMpOgorICAgICAgICAgICAgICAgICAgICBpZiBicmFuY2ggbm90
IGluIGdpdF9icmFuY2hlczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICAgICAgICAgIGNvbmZpZy53cml0ZSgnXHRmZXRjaCA9IGJyYW5jaGVzL3ticmFuY2h9
OnJlZnMvcmVtb3Rlcy9vcmlnaW4ve2JyYW5jaH1cbicuZm9ybWF0KGJyYW5jaD1icmFuY2gpKQor
CisgICAgICAgIHByaW50KCdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0YWtl
IGEgZmV3IG1pbnV0ZXMpLi4uJykKKyAgICAgICAgcmV0dXJuIHJ1bihbcmVwb3NpdG9yeS5leGVj
dXRhYmxlKCksICdzdm4nLCAnZmV0Y2gnLCAnLS1sb2NhbCddLCBjd2Q9cmVwb3NpdG9yeS5yb290
X3BhdGgpLnJldHVybmNvZGUKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfZ2l0X3N2bl91bml0dGVzdC5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0
L3NldHVwX2dpdF9zdm5fdW5pdHRlc3QucHkJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF9naXRfc3ZuX3Vu
aXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQzIEBACisjIENvcHlyaWdodCAo
QykgMjAyMSwgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwK
K2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0
IGRhdGV0aW1lCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgTG9nZ2VyQ2FwdHVyZSwgT3V0cHV0
Q2FwdHVyZQorZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1RpbWUK
K2Zyb20gd2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzCisKKworY2xhc3MgVGVzdFNl
dHVwR2l0U3ZuKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBnaXRfcmVtb3RlID0gJ2dpdEBleGFt
cGxlLm9yZzpFeGFtcGxlJworICAgIHN2bl9yZW1vdGUgPSAnaHR0cHM6Ly9zdm4uZXhhbXBsZS5v
cmcvcmVwb3NpdG9yeS9leGFtcGxlJworCisgICAgZGVmIHRlc3Rfc3ZuKHNlbGYpOgorICAgICAg
ICB0cnk6CisgICAgICAgICAgICBkaXJuYW1lID0gdGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAg
ICAgICB3aXRoIE91dHB1dENhcHR1cmUoKSBhcyBjYXB0dXJlZCwgbW9ja3MubG9jYWwuR2l0KCks
IG1vY2tzLmxvY2FsLlN2bihkaXJuYW1lLCByZW1vdGU9c2VsZi5zdm5fcmVtb3RlKSwgTW9ja1Rp
bWU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBwcm9ncmFtLm1haW4oCisg
ICAgICAgICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywpLAorICAgICAgICAgICAg
ICAgICAgICBwYXRoPWRpcm5hbWUsCisgICAgICAgICAgICAgICAgICAgIHN1YnZlcnNpb249c2Vs
Zi5zdm5fcmVtb3RlLAorICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGNhcHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnQ2Fubm90IHNldHVwIGdpdC1zdm4g
b24gU3VidmVyc2lvbiByZXBvc2l0b3J5XG4nKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAg
ICAgICBzaHV0aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYgdGVzdF9lbXB0eShzZWxmKToK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZGlybmFtZSA9IHRlbXBmaWxlLm1rZHRlbXAoKQor
ICAgICAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgY2FwdHVyZWQsIG1vY2tzLmxvY2Fs
LkdpdChkaXJuYW1lLCByZW1vdGU9c2VsZi5naXRfcmVtb3RlKSwgbW9ja3MubG9jYWwuU3ZuKCks
IG1vY2tzLnJlbW90ZS5Tdm4ocmVtb3RlPXNlbGYuc3ZuX3JlbW90ZS5zcGxpdCgnOi8vJylbMV0p
LCBNb2NrVGltZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0u
bWFpbigKKyAgICAgICAgICAgICAgICAgICAgYXJncz0oJ3NldHVwLWdpdC1zdm4nLCksCisgICAg
ICAgICAgICAgICAgICAgIHBhdGg9ZGlybmFtZSwKKyAgICAgICAgICAgICAgICAgICAgc3VidmVy
c2lvbj1zZWxmLnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY2FwdHVyZWQuc3Rkb3V0LmdldHZhbHVl
KCksCisgICAgICAgICAgICAgICAgJ0FkZGluZyBzdm4tcmVtb3RlIHRvIGdpdCBjb25maWdcbicg
KworICAgICAgICAgICAgICAgICdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0
YWtlIGEgZmV3IG1pbnV0ZXMpLi4uXG4nLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICB3
aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0L2NvbmZpZycpKSBhcyBjb25maWc6
CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAg
Y29uZmlnLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAgJ1tjb3JlXVxuJworICAgICAgICAg
ICAgICAgICAgICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAgICAgICAgICAg
ICAgICAgICAgJ1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGJh
cmUgPSBmYWxzZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1cGRhdGVzID0g
dHJ1ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1ZVxuJworICAg
ICAgICAgICAgICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicKKyAgICAgICAg
ICAgICAgICAgICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCisgICAgICAgICAgICAgICAgICAgICdc
dHVybCA9IHtnaXRfcmVtb3RlfVxuJworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9ICty
ZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAgICAgICAgICAg
ICdbYnJhbmNoICJtYWluIl1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0cmVtb3RlID0gb3Jp
Z2luXG4nCisgICAgICAgICAgICAgICAgICAgICdcdG1lcmdlID0gcmVmcy9oZWFkcy9tYWluXG4n
CisgICAgICAgICAgICAgICAgICAgICdbc3ZuLXJlbW90ZSAic3ZuIl1cbicKKyAgICAgICAgICAg
ICAgICAgICAgJ1x0dXJsID0ge3N2bl9yZW1vdGV9XG4nCisgICAgICAgICAgICAgICAgICAgICdc
dGZldGNoID0gdHJ1bms6cmVmcy9yZW1vdGVzL29yaWdpbi9tYWluXG4nLmZvcm1hdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGdpdF9yZW1vdGU9c2VsZi5naXRfcmVtb3RlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgc3ZuX3JlbW90ZT1zZWxmLnN2bl9yZW1vdGUsCisgICAgICAgICAgICAg
ICAgICAgICksCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAg
ICAgICBzaHV0aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYgdGVzdF9hZGQoc2VsZik6Cisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIGRpcm5hbWUgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAg
ICAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpLCBtb2Nrcy5sb2NhbC5HaXQoZGlybmFtZSwg
cmVtb3RlPXNlbGYuZ2l0X3JlbW90ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBtb2Nrcy5yZW1vdGUu
U3ZuKHJlbW90ZT1zZWxmLnN2bl9yZW1vdGUuc3BsaXQoJzovLycpWzFdKSwgTW9ja1RpbWU6Cisg
ICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAgICAg
ICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywpLAorICAgICAgICAgICAgICAgICAg
ICBwYXRoPWRpcm5hbWUsCisgICAgICAgICAgICAgICAgICAgIHN1YnZlcnNpb249c2VsZi5zdm5f
cmVtb3RlLAorICAgICAgICAgICAgICAgICkpCisKKyAgICAgICAgICAgIHdpdGggT3V0cHV0Q2Fw
dHVyZSgpIGFzIGNhcHR1cmVkLCBtb2Nrcy5sb2NhbC5HaXQoZGlybmFtZSwgcmVtb3RlPXNlbGYu
Z2l0X3JlbW90ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBtb2Nrcy5yZW1vdGUuU3ZuKHJlbW90ZT1z
ZWxmLnN2bl9yZW1vdGUuc3BsaXQoJzovLycpWzFdKSwgTW9ja1RpbWU6CisgICAgICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAgICAgICAgICAgICAgICAg
IGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywgJy0tYWxsLWJyYW5jaGVzJyksCisgICAgICAgICAgICAg
ICAgICAgIHBhdGg9ZGlybmFtZSwKKyAgICAgICAgICAgICAgICAgICAgc3VidmVyc2lvbj1zZWxm
LnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICAgICAgY2FwdHVyZWQuc3Rkb3V0LmdldHZhbHVlKCksCisgICAg
ICAgICAgICAgICAgJ0FkZGluZyBzdm4tcmVtb3RlIHRvIGdpdCBjb25maWdcbicgKworICAgICAg
ICAgICAgICAgICdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0YWtlIGEgZmV3
IG1pbnV0ZXMpLi4uXG4nLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICB3aXRoIG9wZW4o
b3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0L2NvbmZpZycpKSBhcyBjb25maWc6CisgICAgICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgY29uZmlnLnJl
YWQoKSwKKyAgICAgICAgICAgICAgICAgICAgJ1tjb3JlXVxuJworICAgICAgICAgICAgICAgICAg
ICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAgICAgICAgICAgICAgICAgICAg
J1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGJhcmUgPSBmYWxz
ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJwor
ICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1ZVxuJworICAgICAgICAgICAg
ICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicKKyAgICAgICAgICAgICAgICAg
ICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCisgICAgICAgICAgICAgICAgICAgICdcdHVybCA9IHtn
aXRfcmVtb3RlfVxuJworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9ICtyZWZzL2hlYWRz
Lyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAgICAgICAgICAgICdbYnJhbmNo
ICJtYWluIl1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0cmVtb3RlID0gb3JpZ2luXG4nCisg
ICAgICAgICAgICAgICAgICAgICdcdG1lcmdlID0gcmVmcy9oZWFkcy9tYWluXG4nCisgICAgICAg
ICAgICAgICAgICAgICdbc3ZuLXJlbW90ZSAic3ZuIl1cbicKKyAgICAgICAgICAgICAgICAgICAg
J1x0dXJsID0ge3N2bl9yZW1vdGV9XG4nCisgICAgICAgICAgICAgICAgICAgICdcdGZldGNoID0g
dHJ1bms6cmVmcy9yZW1vdGVzL29yaWdpbi9tYWluXG4nCisgICAgICAgICAgICAgICAgICAgICdc
dGZldGNoID0gYnJhbmNoZXMvYnJhbmNoLWE6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gtYVxu
JworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9IGJyYW5jaGVzL2JyYW5jaC1iOnJlZnMv
cmVtb3Rlcy9vcmlnaW4vYnJhbmNoLWJcbicuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgZ2l0X3JlbW90ZT1zZWxmLmdpdF9yZW1vdGUsCisgICAgICAgICAgICAgICAgICAgICAgICBz
dm5fcmVtb3RlPXNlbGYuc3ZuX3JlbW90ZSwKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAg
ICAgICAgICAgICApCisKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNodXRpbC5ybXRy
ZWUoZGlybmFtZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417299</attachid>
            <date>2021-01-08 13:26:20 -0800</date>
            <delta_ts>2021-01-08 17:00:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220442-20210108132619.patch</filename>
            <type>text/plain</type>
            <size>26565</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQyIEBACisyMDIxLTAxLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0c2NtcHldIFByb3ZpZGUgY29tbWFuZCB0byBhdXRvbWF0aWNh
bGx5IGNvbmZpZ3VyZSBnaXQtc3ZuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyOTA4MjMzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBjb21t
YW5kcyB0byB1cGRhdGUgcmVwb3NpdG9yeSBhbmQgY29ubmVjdCBhIGdpdCByZXBvc2l0b3J5IHRv
IGEgc3VidmVyc2lvbiByZXBvc2l0b3J5LgorCisgICAgICAgICogU2NyaXB0cy9naXQtd2Via2l0
OiBEZWZpbmUgc3VidmVyc2lvbiBVUkwuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvc2V0dXAucHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weTogRGl0dG8uCisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvZ2l0LnB5
OgorICAgICAgICAoR2l0LnB1bGwpOiBBZGQgZnVuY3Rpb24gdG8gdXBkYXRlIHJlcG9zaXRvcnkg
d2l0aCB0aGUgcmVtb3RlLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weToKKyAgICAgICAgKFNjbS5wdWxsKTogQWRkIGZ1bmN0
aW9uIHRvIHVwZGF0ZSByZXBvc2l0b3J5IHdpdGggdGhlIHJlbW90ZS4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9zdm4ucHk6CisgICAg
ICAgIChTdm4uX19pbml0X18pOiBTdXBwcmVzcyBleGNlcHRpb24gd2hlbiBtZXRhZGF0YSBjYWNo
ZSBpcyBpbnZhbGlkLgorICAgICAgICAoU3ZuLnB1bGwpOiBBZGQgZnVuY3Rpb24gdG8gdXBkYXRl
IHJlcG9zaXRvcnkgd2l0aCB0aGUgcmVtb3RlLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5weToKKyAgICAgICAgKEdp
dCk6IFVzZSB0YWJzIGluIGdpdCBjb25maWcsIGFkZCAnZ2l0IHN2biBmZXRjaCcgYW5kICdnaXQg
cHVsbCcgY29tbWFuZHMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvc3ZuLnB5OgorICAgICAgICAoU3ZuLl9faW5pdF9fKTog
QWRkICdzdm4gdXAnIGNvbW1hbmQuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weToKKyAgICAgICAgKG1haW4pOiBB
ZGQgUHVsbCBhbmQgU2V0dXBHaXRTdm4gY29tbWFuZHMuCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9jb21tYW5kLnB5OgorICAgICAg
ICAoQ29tbWFuZC5wYXJzZXIpOiBTdXBwb3J0IHVzZSBvZiB0aGUgZGVmYXVsdCBwYXJzZXIuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3Jh
bS9wdWxsLnB5OiBBZGRlZC4KKyAgICAgICAgKFB1bGwpOiBVcGRhdGUgdGhlIGN1cnJlbnQgcmVw
b3NpdG9yeSBmcm9tIGl0cyByZW1vdGUuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cF9naXRfc3ZuLnB5OiBBZGRlZC4KKyAg
ICAgICAgKFNldHVwR2l0U3ZuKTogQWRkIGNvbW1hbmQgd2hpY2ggcG9wdWxhdGVzIHRoZSAuZ2l0
IGNvbmZpZyBmaWxlIHdpdGggaW5mb3JtYXRpb24KKyAgICAgICAgbGlua2luZyB0byBhIHN1YnZl
cnNpb24gcmVwb3NpdG9yeS4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS90ZXN0L3NldHVwX2dpdF9zdm5fdW5pdHRlc3QucHk6IEFkZGVkLgorICAg
ICAgICAoVGVzdFNldHVwR2l0U3ZuKToKKyAgICAgICAgKFRlc3RTZXR1cEdpdFN2bi50ZXN0X3N2
bik6CisgICAgICAgIChUZXN0U2V0dXBHaXRTdm4udGVzdF9lbXB0eSk6CisgICAgICAgIChUZXN0
U2V0dXBHaXRTdm4udGVzdF9hZGQpOgorCiAyMDIxLTAxLTA4ICBTaWh1aSBMaXUgIDxzaWh1aV9s
aXVAYXBwZS5jb20+CiAKICAgICAgICAgU3RvcCB1c2luZyBNZWRpYVJlY29yZGVyIGluIEFQSSB0
ZXN0IFdlYktpdDIuU3BlZWNoUmVjb2duaXRpb25FcnJvcldoZW5TdGFydGluZ0F1ZGlvQ2FwdHVy
ZU9uRGlmZmVyZW50UGFnZQpJbmRleDogVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvZ2l0LXdlYmtpdAkocmV2aXNpb24gMjcxMzE5KQorKysgVG9v
bHMvU2NyaXB0cy9naXQtd2Via2l0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNiBAQAogIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uCiAKLSMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDIwLCAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDYs
NSArNDYsNiBAQCBpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgogICAgICAgICBwYXRoPW9zLnBh
dGguZGlybmFtZShfX2ZpbGVfXyksCiAgICAgICAgIGNvbnRyaWJ1dG9ycz1jb250cmlidXRvcnMs
CiAgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9J0Nhbm9uaWNhbCBsaW5rOiBodHRwczovL2Nv
bW1pdHMud2Via2l0Lm9yZy97fScsCisgICAgICAgIHN1YnZlcnNpb249J2h0dHBzOi8vc3ZuLndl
YmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQnLAogICAgICkpCiAKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CShyZXZpc2lvbiAyNzEzMTkpCisr
KyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9
J3dlYmtpdHNjbXB5JywKLSAgICB2ZXJzaW9uPScwLjcuNCcsCisgICAgdmVyc2lvbj0nMC44LjAn
LAogICAgIGRlc2NyaXB0aW9uPSdMaWJyYXJ5IGRlc2lnbmVkIHRvIGludGVyYWN0IHdpdGggZ2l0
IGFuZCBzdm4gcmVwb3NpdG9yaWVzLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwK
ICAgICBjbGFzc2lmaWVycz1bCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weQkocmV2aXNpb24g
MjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvX19pbml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgZXhjZXB0IElt
cG9ydEVycm9yOgogICAgICAgICAiUGxlYXNlIGluc3RhbGwgd2Via2l0Y29yZXB5IHdpdGggYHBp
cCBpbnN0YWxsIHdlYmtpdGNvcmVweSAtLWV4dHJhLWluZGV4LXVybCA8cGFja2FnZSBpbmRleCBV
Ukw+YCIKICAgICApCiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDcsIDQpCit2ZXJzaW9uID0gVmVy
c2lvbigwLCA4LCAwKQogCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdmYXN0ZW5lcnMn
LCBWZXJzaW9uKDAsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdtb25v
dG9uaWMnLCBWZXJzaW9uKDEsIDUpKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9naXQucHkJKHJl
dmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L2xvY2FsL2dpdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzE4LDMgKzMxOCw5IEBA
IGNsYXNzIEdpdChTY20pOgogICAgICAgICAgICAgW3NlbGYuZXhlY3V0YWJsZSgpLCAnY2hlY2tv
dXQnXSArIFthcmd1bWVudF0gKyBsb2dfYXJnLAogICAgICAgICAgICAgY3dkPXNlbGYucm9vdF9w
YXRoLAogICAgICAgICApLnJldHVybmNvZGUgZWxzZSBzZWxmLmNvbW1pdCgpCisKKyAgICBkZWYg
cHVsbChzZWxmKToKKyAgICAgICAgY29kZSA9IHJ1bihbc2VsZi5leGVjdXRhYmxlKCksICdwdWxs
J10sIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJuY29kZQorICAgICAgICBpZiBub3QgY29kZSBh
bmQgc2VsZi5pc19zdm46CisgICAgICAgICAgICByZXR1cm4gcnVuKFtzZWxmLmV4ZWN1dGFibGUo
KSwgJ3N2bicsICdmZXRjaCcsICctLWxvY2FsJ10sIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJu
Y29kZQorICAgICAgICByZXR1cm4gY29kZQpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weQko
cmV2aXNpb24gMjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAot
IyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBD
b3B5cmlnaHQgKEMpIDIwMjAsIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
IwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03NywzICs3Nyw2IEBAIGNsYXNzIFNjbShT
Y21CYXNlKToKIAogICAgIGRlZiBjaGVja291dChzZWxmLCBhcmd1bWVudCk6CiAgICAgICAgIHJh
aXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQorCisgICAgZGVmIHB1bGwoc2VsZik6CisgICAgICAg
IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5w
eQkocmV2aXNpb24gMjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbG9jYWwvc3ZuLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBA
QAotIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IyBDb3B5cmlnaHQgKEMpIDIwMjAsIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02NCw3ICs2NCw2IEBAIGNsYXNzIFN2
bihTY20pOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9tZXRhZGF0YV9jYWNoZSA9IGpzb24u
bG9hZChmaWxlKQogICAgICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb246CiAgICAgICAgICAg
ICAgICAgc2VsZi5fbWV0YWRhdGFfY2FjaGUgPSBkaWN0KHZlcnNpb249c3RyKHNlbGYuQ0FDSEVf
VkVSU0lPTikpCi0gICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgIHNlbGYuX21ldGFkYXRhX2NhY2hlID0gZGljdCh2ZXJzaW9uPXN0cihzZWxmLkNBQ0hFX1ZF
UlNJT04pKQogCkBAIC0zOTIsMyArMzkxLDYgQEAgY2xhc3MgU3ZuKFNjbSk6CiAgICAgICAgICAg
ICBjb21tYW5kLmFwcGVuZCgnLXEnKQogCiAgICAgICAgIHJldHVybiBOb25lIGlmIHJ1bihjb21t
YW5kLCBjd2Q9c2VsZi5yb290X3BhdGgpLnJldHVybmNvZGUgZWxzZSBjb21taXQKKworICAgIGRl
ZiBwdWxsKHNlbGYpOgorICAgICAgICByZXR1cm4gcnVuKFtzZWxmLmV4ZWN1dGFibGUoKSwgJ3Vw
J10sIGN3ZD1zZWxmLnJvb3RfcGF0aCkucmV0dXJuY29kZQpJbmRleDogVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5
L21vY2tzL2xvY2FsL2dpdC5weQkocmV2aXNpb24gMjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC03MCwxOCArNzAsMTggQEAgY2xhc3MgR2l0KG1vY2tzLlN1YnByb2Nlc3Mp
OgogICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhdGgsICcuZ2l0Jywg
J2NvbmZpZycpLCAndycpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBjb25maWcud3JpdGUo
CiAgICAgICAgICAgICAgICAgICAgICdbY29yZV1cbicKLSAgICAgICAgICAgICAgICAgICAgJyAg
ICByZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKLSAgICAgICAgICAgICAgICAgICAgJwlm
aWxlbW9kZSA9IHRydWVcbicKLSAgICAgICAgICAgICAgICAgICAgJwliYXJlID0gZmFsc2VcbicK
LSAgICAgICAgICAgICAgICAgICAgJwlsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJwotICAgICAg
ICAgICAgICAgICAgICAnCWlnbm9yZWNhc2UgPSB0cnVlXG4nCi0gICAgICAgICAgICAgICAgICAg
ICcJcHJlY29tcG9zZXVuaWNvZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdHJl
cG9zaXRvcnlmb3JtYXR2ZXJzaW9uID0gMFxuJworICAgICAgICAgICAgICAgICAgICAnXHRmaWxl
bW9kZSA9IHRydWVcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0YmFyZSA9IGZhbHNlXG4nCisg
ICAgICAgICAgICAgICAgICAgICdcdGxvZ2FsbHJlZnVwZGF0ZXMgPSB0cnVlXG4nCisgICAgICAg
ICAgICAgICAgICAgICdcdGlnbm9yZWNhc2UgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAg
ICdcdHByZWNvbXBvc2V1bmljb2RlID0gdHJ1ZVxuJwogICAgICAgICAgICAgICAgICAgICAnW3Jl
bW90ZSAib3JpZ2luIl1cbicKLSAgICAgICAgICAgICAgICAgICAgJyAgICB1cmwgPSB7cmVtb3Rl
fVxuJwotICAgICAgICAgICAgICAgICAgICAnICAgIGZldGNoID0gK3JlZnMvaGVhZHMvKjpyZWZz
L3JlbW90ZXMvb3JpZ2luLypcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0dXJsID0ge3JlbW90
ZX1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0ZmV0Y2ggPSArcmVmcy9oZWFkcy8qOnJlZnMv
cmVtb3Rlcy9vcmlnaW4vKlxuJwogICAgICAgICAgICAgICAgICAgICAnW2JyYW5jaCAie2JyYW5j
aH0iXVxuJwotICAgICAgICAgICAgICAgICAgICAnICAgIHJlbW90ZSA9IG9yaWdpblxuJwotICAg
ICAgICAgICAgICAgICAgICAnICAgIG1lcmdlID0gcmVmcy9oZWFkcy97YnJhbmNofVxuJy5mb3Jt
YXQoCisgICAgICAgICAgICAgICAgICAgICdcdHJlbW90ZSA9IG9yaWdpblxuJworICAgICAgICAg
ICAgICAgICAgICAnXHRtZXJnZSA9IHJlZnMvaGVhZHMve2JyYW5jaH1cbicuZm9ybWF0KAogICAg
ICAgICAgICAgICAgICAgICAgICAgcmVtb3RlPXNlbGYucmVtb3RlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgYnJhbmNoPXNlbGYuZGVmYXVsdF9icmFuY2gsCiAgICAgICAgICAgICAgICAgICAg
ICkpCkBAIC0yODIsNiArMjgyLDE1IEBAIG5vdGhpbmcgdG8gY29tbWl0LCB3b3JraW5nIHRyZWUg
Y2xlYW4KICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnRfc2hlbGw9YXJnc1s0XSBpZiBh
cmdzWzNdID09ICctLWVudi1maWx0ZXInIGFuZCBhcmdzWzRdIGVsc2UgTm9uZSwKICAgICAgICAg
ICAgICAgICApCiAgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAorICAgICAg
ICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3N2bicsICdmZXRjaCcsICctLWxvY2FsJywKKyAg
ICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLAorICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1s
YW1iZGEgKmFyZ3MsICoqa3dhcmdzOgorICAgICAgICAgICAgICAgICAgICBtb2Nrcy5Qcm9jZXNz
Q29tcGxldGlvbihyZXR1cm5jb2RlPTApIGlmIGdpdF9zdm4gb3IgbG9jYWwuR2l0KHNlbGYucGF0
aCkuaXNfc3ZuIGVsc2UgbW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24ocmV0dXJuY29kZT0tMSksCisg
ICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAorICAgICAgICAgICAgICAgIHNl
bGYuZXhlY3V0YWJsZSwgJ3B1bGwnLAorICAgICAgICAgICAgICAgIGN3ZD1zZWxmLnBhdGgsCisg
ICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbihyZXR1cm5j
b2RlPTApLAorICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgKICAgICAgICAg
ICAgICAgICBzZWxmLmV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgY3dkPXNlbGYucGF0aCwK
ICAgICAgICAgICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKApJbmRl
eDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3Mv
bG9jYWwvc3ZuLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL3N2bi5weQkocmV2aXNpb24gMjcxMzE5KQor
KysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3Mv
bG9jYWwvc3ZuLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDEwIEBAIGNsYXNzIFN2
bihtb2Nrcy5TdWJwcm9jZXNzKToKICAgICAgICAgICAgICAgICBnZW5lcmF0b3I9bGFtYmRhICph
cmdzLCAqKmt3YXJnczoKICAgICAgICAgICAgICAgICAgICAgbW9ja3MuUHJvY2Vzc0NvbXBsZXRp
b24ocmV0dXJuY29kZT0wKSBpZiBzZWxmLnVwKGFyZ3NbM10pIGVsc2UgbW9ja3MuUHJvY2Vzc0Nv
bXBsZXRpb24ocmV0dXJuY29kZT0xKQogICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5S
b3V0ZSgKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsICd1cCcsCisgICAgICAgICAg
ICAgICAgY3dkPXNlbGYucGF0aCwKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlBy
b2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9MCksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJw
cm9jZXNzLlJvdXRlKAogICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwKICAgICAgICAg
ICAgICAgICBjd2Q9c2VsZi5wYXRoLAogICAgICAgICAgICAgICAgIGNvbXBsZXRpb249bW9ja3Mu
UHJvY2Vzc0NvbXBsZXRpb24oCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0
X18ucHkJKHJldmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAg
LTIzLDcgKzIzLDYgQEAKIGltcG9ydCBhcmdwYXJzZQogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBv
cwotaW1wb3J0IHN5cwogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRzLCBsb2cg
YXMgd2Via2l0Y29yZXB5X2xvZwogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgbG9jYWwsIGxvZywg
cmVtb3RlCkBAIC0zMiw5ICszMSwxMSBAQCBmcm9tIC5jYW5vbmljYWxpemUgaW1wb3J0IENhbm9u
aWNhbGl6ZQogZnJvbSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAogZnJvbSAuY2hlY2tvdXQgaW1w
b3J0IENoZWNrb3V0CiBmcm9tIC5maW5kIGltcG9ydCBGaW5kCitmcm9tIC5wdWxsIGltcG9ydCBQ
dWxsCitmcm9tIC5zZXR1cF9naXRfc3ZuIGltcG9ydCBTZXR1cEdpdFN2bgogCiAKLWRlZiBtYWlu
KGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU5vbmUsIGNvbnRyaWJ1dG9ycz1Ob25lLCBp
ZGVudGlmaWVyX3RlbXBsYXRlPU5vbmUpOgorZGVmIG1haW4oYXJncz1Ob25lLCBwYXRoPU5vbmUs
IGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50aWZpZXJfdGVtcGxhdGU9Tm9u
ZSwgc3VidmVyc2lvbj1Ob25lKToKICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dp
bmcuV0FSTklORykKIAogICAgIGxvZ2dlcnMgPSBbbG9nZ2luZy5nZXRMb2dnZXIoKSwgd2Via2l0
Y29yZXB5X2xvZywgIGxvZ10gKyAobG9nZ2VycyBvciBbXSkKQEAgLTU1LDcgKzU2LDExIEBAIGRl
ZiBtYWluKGFyZ3M9Tm9uZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU4KIAogICAgIHN1YnBhcnNlcnMg
PSBwYXJzZXIuYWRkX3N1YnBhcnNlcnMoaGVscD0nc3ViLWNvbW1hbmQgaGVscCcpCiAKLSAgICBm
b3IgcHJvZ3JhbSBpbiBbRmluZCwgQ2hlY2tvdXQsIENhbm9uaWNhbGl6ZV06CisgICAgcHJvZ3Jh
bXMgPSBbRmluZCwgQ2hlY2tvdXQsIENhbm9uaWNhbGl6ZSwgUHVsbF0KKyAgICBpZiBzdWJ2ZXJz
aW9uOgorICAgICAgICBwcm9ncmFtcy5hcHBlbmQoU2V0dXBHaXRTdm4pCisKKyAgICBmb3IgcHJv
Z3JhbSBpbiBwcm9ncmFtczoKICAgICAgICAgc3VicGFyc2VyID0gc3VicGFyc2Vycy5hZGRfcGFy
c2VyKHByb2dyYW0ubmFtZSwgaGVscD1wcm9ncmFtLmhlbHApCiAgICAgICAgIHN1YnBhcnNlci5z
ZXRfZGVmYXVsdHMobWFpbj1wcm9ncmFtLm1haW4pCiAgICAgICAgIHByb2dyYW0ucGFyc2VyKHN1
YnBhcnNlciwgbG9nZ2Vycz1sb2dnZXJzKQpAQCAtNjcsNCArNzIsOSBAQCBkZWYgbWFpbihhcmdz
PU5vbmUsIHBhdGg9Tm9uZSwgbG9nZ2Vycz1OCiAgICAgZWxzZToKICAgICAgICAgcmVwb3NpdG9y
eSA9IGxvY2FsLlNjbS5mcm9tX3BhdGgocGF0aD1wYXJzZWQucmVwb3NpdG9yeSwgY29udHJpYnV0
b3JzPWNvbnRyaWJ1dG9ycykKIAotICAgIHJldHVybiBwYXJzZWQubWFpbihhcmdzPXBhcnNlZCwg
cmVwb3NpdG9yeT1yZXBvc2l0b3J5LCBpZGVudGlmaWVyX3RlbXBsYXRlPWlkZW50aWZpZXJfdGVt
cGxhdGUpCisgICAgcmV0dXJuIHBhcnNlZC5tYWluKAorICAgICAgICBhcmdzPXBhcnNlZCwKKyAg
ICAgICAgcmVwb3NpdG9yeT1yZXBvc2l0b3J5LAorICAgICAgICBpZGVudGlmaWVyX3RlbXBsYXRl
PWlkZW50aWZpZXJfdGVtcGxhdGUsCisgICAgICAgIHN1YnZlcnNpb249c3VidmVyc2lvbiwKKyAg
ICApCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wcm9ncmFtL2NvbW1hbmQucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9jb21tYW5kLnB5CShyZXZpc2lvbiAy
NzEzMTkpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wcm9ncmFtL2NvbW1hbmQucHkJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAgY2xh
c3MgQ29tbWFuZChvYmplY3QpOgogICAgIGhlbHAgPSBOb25lCiAKICAgICBAY2xhc3NtZXRob2QK
LSAgICBkZWYgcGFyc2VyKGNscywgcGFyc2VyKToKKyAgICBkZWYgcGFyc2VyKGNscywgcGFyc2Vy
LCBsb2dnZXJzPU5vbmUpOgogICAgICAgICBpZiBjbHMubmFtZSBpcyBOb25lOgogICAgICAgICAg
ICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignQ29tbWFuZCBkb2VzIG5vdCBoYXZlIGEgbmFt
ZScpCiAgICAgICAgIGlmIGNscy5oZWxwIGlzIE5vbmU6CkluZGV4OiBUb29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3B1bGwucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJv
Z3JhbS9wdWxsLnB5CShub25leGlzdGVudCkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vcHVsbC5weQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDM3IEBACisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBv
cnQgc3lzCisKK2Zyb20gLmNvbW1hbmQgaW1wb3J0IENvbW1hbmQKKworCitjbGFzcyBQdWxsKENv
bW1hbmQpOgorICAgIG5hbWUgPSAncHVsbCcKKyAgICBoZWxwID0gJ1VwZGF0ZSB0aGUgY3VycmVu
dCBjaGVja291dCwgc3luY2hyb25pemUgZ2l0LXN2biBpZiBjb25maWd1cmVkJworCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIG1haW4oY2xzLCBhcmdzLCByZXBvc2l0b3J5LCAqKmt3YXJncyk6
CisgICAgICAgIGlmIG5vdCByZXBvc2l0b3J5LnBhdGg6CisgICAgICAgICAgICBzeXMuc3RkZXJy
LndyaXRlKCdDYW5ub3QgdXBkYXRlIHJlbW90ZSByZXBvc2l0b3J5XG4nKQorICAgICAgICAgICAg
cmV0dXJuIDEKKyAgICAgICAgcmV0dXJuIHJlcG9zaXRvcnkucHVsbCgpCkluZGV4OiBUb29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwX2dp
dF9zdm4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cF9naXRfc3ZuLnB5CShub25leGlzdGVudCkKKysr
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0v
c2V0dXBfZ2l0X3N2bi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkyIEBACisjIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKwor
ZnJvbSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IHJ1
bgorZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgcmVtb3RlCisKKworY2xhc3MgU2V0dXBHaXRTdm4o
Q29tbWFuZCk6CisgICAgbmFtZSA9ICdzZXR1cC1naXQtc3ZuJworICAgIGhlbHAgPSAnQ29ubmVj
dCBhIGdpdCBjaGVja291dCB0byB0aGUgU3VidmVyc2lvbiByZXBvc2l0b3J5IGl0IGlzIChvciB3
YXMpIGJhc2VkIG9uJworCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHBhcnNlcihjbHMsIHBh
cnNlciwgbG9nZ2Vycz1Ob25lKToKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAg
ICAgICAgICctLWFsbC1icmFuY2hlcycsICctYScsCisgICAgICAgICAgICBoZWxwPSdNYXRjaCBh
bGwgZ2l0IGJyYW5jaGVzIHRvIHRoZWlyIHN1YnZlcnNpb24gY291bnRlcnBhcnRzJywKKyAgICAg
ICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICBkZXN0PSdhbGxfYnJhbmNo
ZXMnLAorICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgKQorCisgICAgQGNsYXNz
bWV0aG9kCisgICAgZGVmIG1haW4oY2xzLCBhcmdzLCByZXBvc2l0b3J5LCBzdWJ2ZXJzaW9uPU5v
bmUsICoqa3dhcmdzKToKKyAgICAgICAgaWYgbm90IHJlcG9zaXRvcnkucGF0aDoKKyAgICAgICAg
ICAgIHN5cy5zdGRlcnIud3JpdGUoJ0Nhbm5vdCBzZXR1cCBnaXQtc3ZuIG9uIHJlbW90ZSByZXBv
c2l0b3J5XG4nKQorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgaWYgbm90IHJlcG9zaXRv
cnkuaXNfZ2l0OgorICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnQ2Fubm90IHNldHVwIGdp
dC1zdm4gb24gU3VidmVyc2lvbiByZXBvc2l0b3J5XG4nKQorICAgICAgICAgICAgcmV0dXJuIDEK
KyAgICAgICAgaWYgbm90IHN1YnZlcnNpb246CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KCdGYWlsZWQgdG8gZmluZCBTdWJ2ZXJzaW9uIHJlbW90ZToge31cbicuZm9ybWF0KHN1YnZlcnNp
b24pKQorICAgICAgICAgICAgcmV0dXJuIDEKKworICAgICAgICBwcmludCgnQWRkaW5nIHN2bi1y
ZW1vdGUgdG8gZ2l0IGNvbmZpZycpCisgICAgICAgIGNvbmZpZ19wYXRoID0gb3MucGF0aC5qb2lu
KHJlcG9zaXRvcnkucm9vdF9wYXRoLCAnLmdpdCcsICdjb25maWcnKQorICAgICAgICBjb25maWdf
ZGF0YSA9IFtdCisgICAgICAgIHdpdGggb3Blbihjb25maWdfcGF0aCwgJ3InKSBhcyBjb25maWc6
CisgICAgICAgICAgICBpc19pbl9zdm5fcmVtb3RlID0gRmFsc2UKKyAgICAgICAgICAgIGZvciBs
aW5lIGluIGNvbmZpZy5yZWFkbGluZXMoKToKKyAgICAgICAgICAgICAgICBpZiBpc19pbl9zdm5f
cmVtb3RlIGFuZCBub3QgbGluZVs6MV0uaXNzcGFjZSgpOgorICAgICAgICAgICAgICAgICAgICBp
c19pbl9zdm5fcmVtb3RlID0gRmFsc2UKKyAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dp
dGgoJ1tzdm4tcmVtb3RlICJzdm4iXScpOgorICAgICAgICAgICAgICAgICAgICBpc19pbl9zdm5f
cmVtb3RlID0gVHJ1ZQorICAgICAgICAgICAgICAgIGlmIG5vdCBpc19pbl9zdm5fcmVtb3RlOgor
ICAgICAgICAgICAgICAgICAgICBjb25maWdfZGF0YS5hcHBlbmQobGluZSkKKworICAgICAgICB3
aXRoIG9wZW4oY29uZmlnX3BhdGgsICd3JykgYXMgY29uZmlnOgorICAgICAgICAgICAgZm9yIGxp
bmUgaW4gY29uZmlnX2RhdGE6CisgICAgICAgICAgICAgICAgY29uZmlnLndyaXRlKGxpbmUpCisg
ICAgICAgICAgICBjb25maWcud3JpdGUoJ1tzdm4tcmVtb3RlICJzdm4iXVxuJykKKyAgICAgICAg
ICAgIGNvbmZpZy53cml0ZSgnXHR1cmwgPSB7fVxuJy5mb3JtYXQoc3VidmVyc2lvbikpCisgICAg
ICAgICAgICBjb25maWcud3JpdGUoJ1x0ZmV0Y2ggPSB0cnVuazpyZWZzL3JlbW90ZXMvb3JpZ2lu
L3t9XG4nLmZvcm1hdChyZXBvc2l0b3J5LmRlZmF1bHRfYnJhbmNoKSkKKworICAgICAgICAgICAg
aWYgYXJncy5hbGxfYnJhbmNoZXM6CisgICAgICAgICAgICAgICAgc3ZuX3JlbW90ZSA9IHJlbW90
ZS5Tdm4oCisgICAgICAgICAgICAgICAgICAgIHVybD1zdWJ2ZXJzaW9uLAorICAgICAgICAgICAg
ICAgICAgICBkZXZfYnJhbmNoZXM9cmVwb3NpdG9yeS5kZXZfYnJhbmNoZXMsCisgICAgICAgICAg
ICAgICAgICAgIHByb2RfYnJhbmNoZXM9cmVwb3NpdG9yeS5wcm9kX2JyYW5jaGVzLAorICAgICAg
ICAgICAgICAgICAgICBjb250cmlidXRvcnM9cmVwb3NpdG9yeS5jb250cmlidXRvcnMsCisgICAg
ICAgICAgICAgICAgKQorCisgICAgICAgICAgICAgICAgZ2l0X2JyYW5jaGVzID0gcmVwb3NpdG9y
eS5icmFuY2hlcworICAgICAgICAgICAgICAgIGZvciBicmFuY2ggaW4gc29ydGVkKHN2bl9yZW1v
dGUuYnJhbmNoZXMpOgorICAgICAgICAgICAgICAgICAgICBpZiBicmFuY2ggbm90IGluIGdpdF9i
cmFuY2hlczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAg
ICAgICAgIGNvbmZpZy53cml0ZSgnXHRmZXRjaCA9IGJyYW5jaGVzL3ticmFuY2h9OnJlZnMvcmVt
b3Rlcy9vcmlnaW4ve2JyYW5jaH1cbicuZm9ybWF0KGJyYW5jaD1icmFuY2gpKQorCisgICAgICAg
IHByaW50KCdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0YWtlIGEgZmV3IG1p
bnV0ZXMpLi4uJykKKyAgICAgICAgcmV0dXJuIHJ1bihbcmVwb3NpdG9yeS5leGVjdXRhYmxlKCks
ICdzdm4nLCAnZmV0Y2gnLCAnLS1sb2NhbCddLCBjd2Q9cmVwb3NpdG9yeS5yb290X3BhdGgpLnJl
dHVybmNvZGUKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3Rlc3Qvc2V0dXBfZ2l0X3N2bl91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVwX2dp
dF9zdm5fdW5pdHRlc3QucHkJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF9naXRfc3ZuX3VuaXR0ZXN0LnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQzIEBACisjIENvcHlyaWdodCAoQykgMjAyMSwg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCB0
ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1l
Citmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgTG9nZ2VyQ2FwdHVyZSwgT3V0cHV0Q2FwdHVyZQor
ZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1RpbWUKK2Zyb20gd2Vi
a2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzCisKKworY2xhc3MgVGVzdFNldHVwR2l0U3Zu
KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBnaXRfcmVtb3RlID0gJ2dpdEBleGFtcGxlLm9yZzpF
eGFtcGxlJworICAgIHN2bl9yZW1vdGUgPSAnaHR0cHM6Ly9zdm4uZXhhbXBsZS5vcmcvcmVwb3Np
dG9yeS9leGFtcGxlJworCisgICAgZGVmIHRlc3Rfc3ZuKHNlbGYpOgorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBkaXJuYW1lID0gdGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAgICAgICB3aXRo
IE91dHB1dENhcHR1cmUoKSBhcyBjYXB0dXJlZCwgbW9ja3MubG9jYWwuR2l0KCksIG1vY2tzLmxv
Y2FsLlN2bihkaXJuYW1lLCByZW1vdGU9c2VsZi5zdm5fcmVtb3RlKSwgTW9ja1RpbWU6CisgICAg
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBwcm9ncmFtLm1haW4oCisgICAgICAgICAg
ICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywpLAorICAgICAgICAgICAgICAgICAgICBw
YXRoPWRpcm5hbWUsCisgICAgICAgICAgICAgICAgICAgIHN1YnZlcnNpb249c2VsZi5zdm5fcmVt
b3RlLAorICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNh
cHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnQ2Fubm90IHNldHVwIGdpdC1zdm4gb24gU3VidmVy
c2lvbiByZXBvc2l0b3J5XG4nKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzaHV0
aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYgdGVzdF9lbXB0eShzZWxmKToKKyAgICAgICAg
dHJ5OgorICAgICAgICAgICAgZGlybmFtZSA9IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICAg
ICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgY2FwdHVyZWQsIG1vY2tzLmxvY2FsLkdpdChkaXJu
YW1lLCByZW1vdGU9c2VsZi5naXRfcmVtb3RlKSwgbW9ja3MubG9jYWwuU3ZuKCksIG1vY2tzLnJl
bW90ZS5Tdm4ocmVtb3RlPXNlbGYuc3ZuX3JlbW90ZS5zcGxpdCgnOi8vJylbMV0pLCBNb2NrVGlt
ZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0ubWFpbigKKyAg
ICAgICAgICAgICAgICAgICAgYXJncz0oJ3NldHVwLWdpdC1zdm4nLCksCisgICAgICAgICAgICAg
ICAgICAgIHBhdGg9ZGlybmFtZSwKKyAgICAgICAgICAgICAgICAgICAgc3VidmVyc2lvbj1zZWxm
LnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICAgICAgY2FwdHVyZWQuc3Rkb3V0LmdldHZhbHVlKCksCisgICAg
ICAgICAgICAgICAgJ0FkZGluZyBzdm4tcmVtb3RlIHRvIGdpdCBjb25maWdcbicgKworICAgICAg
ICAgICAgICAgICdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0YWtlIGEgZmV3
IG1pbnV0ZXMpLi4uXG4nLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICB3aXRoIG9wZW4o
b3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0L2NvbmZpZycpKSBhcyBjb25maWc6CisgICAgICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgY29uZmlnLnJl
YWQoKSwKKyAgICAgICAgICAgICAgICAgICAgJ1tjb3JlXVxuJworICAgICAgICAgICAgICAgICAg
ICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAgICAgICAgICAgICAgICAgICAg
J1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGJhcmUgPSBmYWxz
ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJwor
ICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1ZVxuJworICAgICAgICAgICAg
ICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicKKyAgICAgICAgICAgICAgICAg
ICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCisgICAgICAgICAgICAgICAgICAgICdcdHVybCA9IHtn
aXRfcmVtb3RlfVxuJworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9ICtyZWZzL2hlYWRz
Lyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAgICAgICAgICAgICdbYnJhbmNo
ICJtYWluIl1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0cmVtb3RlID0gb3JpZ2luXG4nCisg
ICAgICAgICAgICAgICAgICAgICdcdG1lcmdlID0gcmVmcy9oZWFkcy9tYWluXG4nCisgICAgICAg
ICAgICAgICAgICAgICdbc3ZuLXJlbW90ZSAic3ZuIl1cbicKKyAgICAgICAgICAgICAgICAgICAg
J1x0dXJsID0ge3N2bl9yZW1vdGV9XG4nCisgICAgICAgICAgICAgICAgICAgICdcdGZldGNoID0g
dHJ1bms6cmVmcy9yZW1vdGVzL29yaWdpbi9tYWluXG4nLmZvcm1hdCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGdpdF9yZW1vdGU9c2VsZi5naXRfcmVtb3RlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgc3ZuX3JlbW90ZT1zZWxmLnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAgICAgICks
CisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzaHV0
aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYgdGVzdF9hZGQoc2VsZik6CisgICAgICAgIHRy
eToKKyAgICAgICAgICAgIGRpcm5hbWUgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgICAg
IHdpdGggT3V0cHV0Q2FwdHVyZSgpLCBtb2Nrcy5sb2NhbC5HaXQoZGlybmFtZSwgcmVtb3RlPXNl
bGYuZ2l0X3JlbW90ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBtb2Nrcy5yZW1vdGUuU3ZuKHJlbW90
ZT1zZWxmLnN2bl9yZW1vdGUuc3BsaXQoJzovLycpWzFdKSwgTW9ja1RpbWU6CisgICAgICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAgICAgICAgICAgICAg
ICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywpLAorICAgICAgICAgICAgICAgICAgICBwYXRoPWRp
cm5hbWUsCisgICAgICAgICAgICAgICAgICAgIHN1YnZlcnNpb249c2VsZi5zdm5fcmVtb3RlLAor
ICAgICAgICAgICAgICAgICkpCisKKyAgICAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpIGFz
IGNhcHR1cmVkLCBtb2Nrcy5sb2NhbC5HaXQoZGlybmFtZSwgcmVtb3RlPXNlbGYuZ2l0X3JlbW90
ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBtb2Nrcy5yZW1vdGUuU3ZuKHJlbW90ZT1zZWxmLnN2bl9y
ZW1vdGUuc3BsaXQoJzovLycpWzFdKSwgTW9ja1RpbWU6CisgICAgICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisgICAgICAgICAgICAgICAgICAgIGFyZ3M9KCdz
ZXR1cC1naXQtc3ZuJywgJy0tYWxsLWJyYW5jaGVzJyksCisgICAgICAgICAgICAgICAgICAgIHBh
dGg9ZGlybmFtZSwKKyAgICAgICAgICAgICAgICAgICAgc3VidmVyc2lvbj1zZWxmLnN2bl9yZW1v
dGUsCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICAgICAgY2FwdHVyZWQuc3Rkb3V0LmdldHZhbHVlKCksCisgICAgICAgICAgICAg
ICAgJ0FkZGluZyBzdm4tcmVtb3RlIHRvIGdpdCBjb25maWdcbicgKworICAgICAgICAgICAgICAg
ICdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGluZyAod2lsbCB0YWtlIGEgZmV3IG1pbnV0ZXMp
Li4uXG4nLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5q
b2luKGRpcm5hbWUsICcuZ2l0L2NvbmZpZycpKSBhcyBjb25maWc6CisgICAgICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgY29uZmlnLnJlYWQoKSwKKyAg
ICAgICAgICAgICAgICAgICAgJ1tjb3JlXVxuJworICAgICAgICAgICAgICAgICAgICAnXHRyZXBv
c2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0ZmlsZW1v
ZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGJhcmUgPSBmYWxzZVxuJworICAg
ICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJworICAgICAgICAg
ICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1ZVxuJworICAgICAgICAgICAgICAgICAgICAn
XHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicKKyAgICAgICAgICAgICAgICAgICAgJ1tyZW1v
dGUgIm9yaWdpbiJdXG4nCisgICAgICAgICAgICAgICAgICAgICdcdHVybCA9IHtnaXRfcmVtb3Rl
fVxuJworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9ICtyZWZzL2hlYWRzLyo6cmVmcy9y
ZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAgICAgICAgICAgICdbYnJhbmNoICJtYWluIl1c
bicKKyAgICAgICAgICAgICAgICAgICAgJ1x0cmVtb3RlID0gb3JpZ2luXG4nCisgICAgICAgICAg
ICAgICAgICAgICdcdG1lcmdlID0gcmVmcy9oZWFkcy9tYWluXG4nCisgICAgICAgICAgICAgICAg
ICAgICdbc3ZuLXJlbW90ZSAic3ZuIl1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0dXJsID0g
e3N2bl9yZW1vdGV9XG4nCisgICAgICAgICAgICAgICAgICAgICdcdGZldGNoID0gdHJ1bms6cmVm
cy9yZW1vdGVzL29yaWdpbi9tYWluXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGZldGNoID0g
YnJhbmNoZXMvYnJhbmNoLWE6cmVmcy9yZW1vdGVzL29yaWdpbi9icmFuY2gtYVxuJworICAgICAg
ICAgICAgICAgICAgICAnXHRmZXRjaCA9IGJyYW5jaGVzL2JyYW5jaC1iOnJlZnMvcmVtb3Rlcy9v
cmlnaW4vYnJhbmNoLWJcbicuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgZ2l0X3Jl
bW90ZT1zZWxmLmdpdF9yZW1vdGUsCisgICAgICAgICAgICAgICAgICAgICAgICBzdm5fcmVtb3Rl
PXNlbGYuc3ZuX3JlbW90ZSwKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAg
ICApCisKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZGlybmFt
ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417318</attachid>
            <date>2021-01-08 17:00:19 -0800</date>
            <delta_ts>2021-01-08 17:58:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220442-20210108170018.patch</filename>
            <type>text/plain</type>
            <size>26763</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQyIEBACisyMDIxLTAxLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0c2NtcHldIFByb3ZpZGUgY29tbWFuZCB0byBhdXRvbWF0aWNh
bGx5IGNvbmZpZ3VyZSBnaXQtc3ZuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA0NDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyOTA4MjMzPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgQWRkIGNvbW1h
bmRzIHRvIHVwZGF0ZSByZXBvc2l0b3J5IGFuZCBjb25uZWN0IGEgZ2l0IHJlcG9zaXRvcnkgdG8g
YSBzdWJ2ZXJzaW9uIHJlcG9zaXRvcnkuCisKKyAgICAgICAgKiBTY3JpcHRzL2dpdC13ZWJraXQ6
IERlZmluZSBzdWJ2ZXJzaW9uIFVSTC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5OiBEaXR0by4KKyAgICAgICAg
KiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9naXQucHk6
CisgICAgICAgIChHaXQucHVsbCk6IEFkZCBmdW5jdGlvbiB0byB1cGRhdGUgcmVwb3NpdG9yeSB3
aXRoIHRoZSByZW1vdGUuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbG9jYWwvc2NtLnB5OgorICAgICAgICAoU2NtLnB1bGwpOiBBZGQgZnVuY3Rp
b24gdG8gdXBkYXRlIHJlcG9zaXRvcnkgd2l0aCB0aGUgcmVtb3RlLgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5weToKKyAgICAg
ICAgKFN2bi5fX2luaXRfXyk6IFN1cHByZXNzIGV4Y2VwdGlvbiB3aGVuIG1ldGFkYXRhIGNhY2hl
IGlzIGludmFsaWQuCisgICAgICAgIChTdm4ucHVsbCk6IEFkZCBmdW5jdGlvbiB0byB1cGRhdGUg
cmVwb3NpdG9yeSB3aXRoIHRoZSByZW1vdGUuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvZ2l0LnB5OgorICAgICAgICAoR2l0
KTogVXNlIHRhYnMgaW4gZ2l0IGNvbmZpZywgYWRkICdnaXQgc3ZuIGZldGNoJyBhbmQgJ2dpdCBw
dWxsJyBjb21tYW5kcy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9sb2NhbC9zdm4ucHk6CisgICAgICAgIChTdm4uX19pbml0X18pOiBB
ZGQgJ3N2biB1cCcgY29tbWFuZC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS9wcm9ncmFtL19faW5pdF9fLnB5OgorICAgICAgICAobWFpbik6IEFk
ZCBQdWxsIGFuZCBTZXR1cEdpdFN2biBjb21tYW5kcy4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL2NvbW1hbmQucHk6CisgICAgICAg
IChDb21tYW5kLnBhcnNlcik6IFN1cHBvcnQgdXNlIG9mIHRoZSBkZWZhdWx0IHBhcnNlci4KKyAg
ICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFt
L3B1bGwucHk6IEFkZGVkLgorICAgICAgICAoUHVsbCk6IFVwZGF0ZSB0aGUgY3VycmVudCByZXBv
c2l0b3J5IGZyb20gaXRzIHJlbW90ZS4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwX2dpdF9zdm4ucHk6IEFkZGVkLgorICAg
ICAgICAoU2V0dXBHaXRTdm4pOiBBZGQgY29tbWFuZCB3aGljaCBwb3B1bGF0ZXMgdGhlIC5naXQg
Y29uZmlnIGZpbGUgd2l0aCBpbmZvcm1hdGlvbgorICAgICAgICBsaW5raW5nIHRvIGEgc3VidmVy
c2lvbiByZXBvc2l0b3J5LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfZ2l0X3N2bl91bml0dGVzdC5weTogQWRkZWQuCisgICAg
ICAgIChUZXN0U2V0dXBHaXRTdm4pOgorICAgICAgICAoVGVzdFNldHVwR2l0U3ZuLnRlc3Rfc3Zu
KToKKyAgICAgICAgKFRlc3RTZXR1cEdpdFN2bi50ZXN0X2VtcHR5KToKKyAgICAgICAgKFRlc3RT
ZXR1cEdpdFN2bi50ZXN0X2FkZCk6CisKIDIwMjEtMDEtMDggIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBlLmNvbT4KIAogICAgICAgICBTdG9wIHVzaW5nIE1lZGlhUmVjb3JkZXIgaW4gQVBJIHRl
c3QgV2ViS2l0Mi5TcGVlY2hSZWNvZ25pdGlvbkVycm9yV2hlblN0YXJ0aW5nQXVkaW9DYXB0dXJl
T25EaWZmZXJlbnRQYWdlCkluZGV4OiBUb29scy9TY3JpcHRzL2dpdC13ZWJraXQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy9naXQtd2Via2l0CShyZXZpc2lvbiAyNzEzMTkpCisrKyBUb29s
cy9TY3JpcHRzL2dpdC13ZWJraXQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAjIS91
c3IvYmluL2VudiBweXRob24KIAotIyBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMjAsIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Niw1
ICs0Niw2IEBAIGlmICdfX21haW5fXycgPT0gX19uYW1lX186CiAgICAgICAgIHBhdGg9b3MucGF0
aC5kaXJuYW1lKF9fZmlsZV9fKSwKICAgICAgICAgY29udHJpYnV0b3JzPWNvbnRyaWJ1dG9ycywK
ICAgICAgICAgaWRlbnRpZmllcl90ZW1wbGF0ZT0nQ2Fub25pY2FsIGxpbms6IGh0dHBzOi8vY29t
bWl0cy53ZWJraXQub3JnL3t9JywKKyAgICAgICAgc3VidmVyc2lvbj0naHR0cHM6Ly9zdm4ud2Vi
a2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdCcsCiAgICAgKSkKIApJbmRleDogVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAucHkJKHJldmlzaW9uIDI3MTMxOSkKKysr
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw3ICszMCw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0dXAoCiAgICAgbmFtZT0n
d2Via2l0c2NtcHknLAotICAgIHZlcnNpb249JzAuNy40JywKKyAgICB2ZXJzaW9uPScwLjguMCcs
CiAgICAgZGVzY3JpcHRpb249J0xpYnJhcnkgZGVzaWduZWQgdG8gaW50ZXJhY3Qgd2l0aCBnaXQg
YW5kIHN2biByZXBvc2l0b3JpZXMuJywKICAgICBsb25nX2Rlc2NyaXB0aW9uPXJlYWRtZSgpLAog
ICAgIGNsYXNzaWZpZXJzPVsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CShyZXZpc2lvbiAy
NzEzMTkpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBleGNlcHQgSW1w
b3J0RXJyb3I6CiAgICAgICAgICJQbGVhc2UgaW5zdGFsbCB3ZWJraXRjb3JlcHkgd2l0aCBgcGlw
IGluc3RhbGwgd2Via2l0Y29yZXB5IC0tZXh0cmEtaW5kZXgtdXJsIDxwYWNrYWdlIGluZGV4IFVS
TD5gIgogICAgICkKIAotdmVyc2lvbiA9IFZlcnNpb24oMCwgNywgNCkKK3ZlcnNpb24gPSBWZXJz
aW9uKDAsIDgsIDApCiAKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ2Zhc3RlbmVycycs
IFZlcnNpb24oMCwgMTUsIDApKSkKIEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ21vbm90
b25pYycsIFZlcnNpb24oMSwgNSkpKQpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvbG9jYWwvZ2l0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL2dpdC5weQkocmV2
aXNpb24gMjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvbG9jYWwvZ2l0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsMyArMzE4LDEyIEBA
IGNsYXNzIEdpdChTY20pOgogICAgICAgICAgICAgW3NlbGYuZXhlY3V0YWJsZSgpLCAnY2hlY2tv
dXQnXSArIFthcmd1bWVudF0gKyBsb2dfYXJnLAogICAgICAgICAgICAgY3dkPXNlbGYucm9vdF9w
YXRoLAogICAgICAgICApLnJldHVybmNvZGUgZWxzZSBzZWxmLmNvbW1pdCgpCisKKyAgICBkZWYg
cHVsbChzZWxmKToKKyAgICAgICAgY29tbWl0ID0gc2VsZi5jb21taXQoKQorICAgICAgICBjb2Rl
ID0gcnVuKFtzZWxmLmV4ZWN1dGFibGUoKSwgJ3B1bGwnXSwgY3dkPXNlbGYucm9vdF9wYXRoKS5y
ZXR1cm5jb2RlCisgICAgICAgIGlmIG5vdCBjb2RlIGFuZCBzZWxmLmlzX3N2bjoKKyAgICAgICAg
ICAgIHJldHVybiBydW4oWworICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSgpLCAnc3Zu
JywgJ2ZldGNoJywgJy0tbG9nLXdpbmRvdy1zaXplPTUwMDAnLCAnLXInLCAne306SEVBRCcuZm9y
bWF0KGNvbW1pdC5yZXZpc2lvbiksCisgICAgICAgICAgICBdLCBjd2Q9c2VsZi5yb290X3BhdGgp
LnJldHVybmNvZGUKKyAgICAgICAgcmV0dXJuIGNvZGUKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2NhbC9z
Y20ucHkJKHJldmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3NjbS5weQkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMgQ29weXJpZ2h0IChDKSAyMDIwLCAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzcsMyArNzcsNiBAQCBjbGFz
cyBTY20oU2NtQmFzZSk6CiAKICAgICBkZWYgY2hlY2tvdXQoc2VsZiwgYXJndW1lbnQpOgogICAg
ICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKKworICAgIGRlZiBwdWxsKHNlbGYpOgor
ICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5weQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9sb2Nh
bC9zdm4ucHkJKHJldmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L2xvY2FsL3N2bi5weQkod29ya2luZyBjb3B5KQpAQCAtMSw0
ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDIwLCAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjQsNyArNjQsNiBAQCBj
bGFzcyBTdm4oU2NtKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWV0YWRhdGFfY2FjaGUg
PSBqc29uLmxvYWQoZmlsZSkKICAgICAgICAgICAgIGV4Y2VwdCBCYXNlRXhjZXB0aW9uOgogICAg
ICAgICAgICAgICAgIHNlbGYuX21ldGFkYXRhX2NhY2hlID0gZGljdCh2ZXJzaW9uPXN0cihzZWxm
LkNBQ0hFX1ZFUlNJT04pKQotICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICBzZWxmLl9tZXRhZGF0YV9jYWNoZSA9IGRpY3QodmVyc2lvbj1zdHIoc2VsZi5D
QUNIRV9WRVJTSU9OKSkKIApAQCAtMzkyLDMgKzM5MSw2IEBAIGNsYXNzIFN2bihTY20pOgogICAg
ICAgICAgICAgY29tbWFuZC5hcHBlbmQoJy1xJykKIAogICAgICAgICByZXR1cm4gTm9uZSBpZiBy
dW4oY29tbWFuZCwgY3dkPXNlbGYucm9vdF9wYXRoKS5yZXR1cm5jb2RlIGVsc2UgY29tbWl0CisK
KyAgICBkZWYgcHVsbChzZWxmKToKKyAgICAgICAgcmV0dXJuIHJ1bihbc2VsZi5leGVjdXRhYmxl
KCksICd1cCddLCBjd2Q9c2VsZi5yb290X3BhdGgpLnJldHVybmNvZGUKSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9tb2Nrcy9sb2NhbC9naXQucHkJKHJldmlzaW9uIDI3MTMxOSkKKysrIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL2xvY2FsL2dpdC5w
eQkod29ya2luZyBjb3B5KQpAQCAtNzAsMTggKzcwLDE4IEBAIGNsYXNzIEdpdChtb2Nrcy5TdWJw
cm9jZXNzKToKICAgICAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCAn
LmdpdCcsICdjb25maWcnKSwgJ3cnKSBhcyBjb25maWc6CiAgICAgICAgICAgICAgICAgY29uZmln
LndyaXRlKAogICAgICAgICAgICAgICAgICAgICAnW2NvcmVdXG4nCi0gICAgICAgICAgICAgICAg
ICAgICcgICAgcmVwb3NpdG9yeWZvcm1hdHZlcnNpb24gPSAwXG4nCi0gICAgICAgICAgICAgICAg
ICAgICcJZmlsZW1vZGUgPSB0cnVlXG4nCi0gICAgICAgICAgICAgICAgICAgICcJYmFyZSA9IGZh
bHNlXG4nCi0gICAgICAgICAgICAgICAgICAgICcJbG9nYWxscmVmdXBkYXRlcyA9IHRydWVcbicK
LSAgICAgICAgICAgICAgICAgICAgJwlpZ25vcmVjYXNlID0gdHJ1ZVxuJwotICAgICAgICAgICAg
ICAgICAgICAnCXByZWNvbXBvc2V1bmljb2RlID0gdHJ1ZVxuJworICAgICAgICAgICAgICAgICAg
ICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAgICAgICAgICAgICAgICAgICAg
J1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAgICAgICdcdGJhcmUgPSBmYWxz
ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJwor
ICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1ZVxuJworICAgICAgICAgICAg
ICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicKICAgICAgICAgICAgICAgICAg
ICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCi0gICAgICAgICAgICAgICAgICAgICcgICAgdXJsID0g
e3JlbW90ZX1cbicKLSAgICAgICAgICAgICAgICAgICAgJyAgICBmZXRjaCA9ICtyZWZzL2hlYWRz
Lyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAgICAgICAgICAgICdcdHVybCA9
IHtyZW1vdGV9XG4nCisgICAgICAgICAgICAgICAgICAgICdcdGZldGNoID0gK3JlZnMvaGVhZHMv
KjpyZWZzL3JlbW90ZXMvb3JpZ2luLypcbicKICAgICAgICAgICAgICAgICAgICAgJ1ticmFuY2gg
InticmFuY2h9Il1cbicKLSAgICAgICAgICAgICAgICAgICAgJyAgICByZW1vdGUgPSBvcmlnaW5c
bicKLSAgICAgICAgICAgICAgICAgICAgJyAgICBtZXJnZSA9IHJlZnMvaGVhZHMve2JyYW5jaH1c
bicuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAnXHRyZW1vdGUgPSBvcmlnaW5cbicKKyAg
ICAgICAgICAgICAgICAgICAgJ1x0bWVyZ2UgPSByZWZzL2hlYWRzL3ticmFuY2h9XG4nLmZvcm1h
dCgKICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZT1zZWxmLnJlbW90ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgIGJyYW5jaD1zZWxmLmRlZmF1bHRfYnJhbmNoLAogICAgICAgICAgICAg
ICAgICAgICApKQpAQCAtMjgyLDYgKzI4MiwxNSBAQCBub3RoaW5nIHRvIGNvbW1pdCwgd29ya2lu
ZyB0cmVlIGNsZWFuCiAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50X3NoZWxsPWFyZ3Nb
NF0gaWYgYXJnc1szXSA9PSAnLS1lbnYtZmlsdGVyJyBhbmQgYXJnc1s0XSBlbHNlIE5vbmUsCiAg
ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKSwgbW9ja3MuU3VicHJvY2Vzcy5Sb3V0ZSgK
KyAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUsICdzdm4nLCAnZmV0Y2gnLCAnLS1sb2ct
d2luZG93LXNpemU9NTAwMCcsICctcicsIHJlLmNvbXBpbGUocidcZCs6SEVBRCcpLAorICAgICAg
ICAgICAgICAgIGN3ZD1zZWxmLnBhdGgsCisgICAgICAgICAgICAgICAgZ2VuZXJhdG9yPWxhbWJk
YSAqYXJncywgKiprd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIG1vY2tzLlByb2Nlc3NDb21w
bGV0aW9uKHJldHVybmNvZGU9MCkgaWYgZ2l0X3N2biBvciBsb2NhbC5HaXQoc2VsZi5wYXRoKS5p
c19zdm4gZWxzZSBtb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbihyZXR1cm5jb2RlPS0xKSwKKyAgICAg
ICAgICAgICksIG1vY2tzLlN1YnByb2Nlc3MuUm91dGUoCisgICAgICAgICAgICAgICAgc2VsZi5l
eGVjdXRhYmxlLCAncHVsbCcsCisgICAgICAgICAgICAgICAgY3dkPXNlbGYucGF0aCwKKyAgICAg
ICAgICAgICAgICBjb21wbGV0aW9uPW1vY2tzLlByb2Nlc3NDb21wbGV0aW9uKHJldHVybmNvZGU9
MCksCisgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRlKAogICAgICAgICAgICAg
ICAgIHNlbGYuZXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLAogICAg
ICAgICAgICAgICAgIGNvbXBsZXRpb249bW9ja3MuUHJvY2Vzc0NvbXBsZXRpb24oCkluZGV4OiBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2Nh
bC9zdm4ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbW9ja3MvbG9jYWwvc3ZuLnB5CShyZXZpc2lvbiAyNzEzMTkpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9sb2Nh
bC9zdm4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsMTAgQEAgY2xhc3MgU3ZuKG1v
Y2tzLlN1YnByb2Nlc3MpOgogICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1sYW1iZGEgKmFyZ3Ms
ICoqa3dhcmdzOgogICAgICAgICAgICAgICAgICAgICBtb2Nrcy5Qcm9jZXNzQ29tcGxldGlvbihy
ZXR1cm5jb2RlPTApIGlmIHNlbGYudXAoYXJnc1szXSkgZWxzZSBtb2Nrcy5Qcm9jZXNzQ29tcGxl
dGlvbihyZXR1cm5jb2RlPTEpCiAgICAgICAgICAgICApLCBtb2Nrcy5TdWJwcm9jZXNzLlJvdXRl
KAorICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSwgJ3VwJywKKyAgICAgICAgICAgICAg
ICBjd2Q9c2VsZi5wYXRoLAorICAgICAgICAgICAgICAgIGNvbXBsZXRpb249bW9ja3MuUHJvY2Vz
c0NvbXBsZXRpb24ocmV0dXJuY29kZT0wKSwKKyAgICAgICAgICAgICksIG1vY2tzLlN1YnByb2Nl
c3MuUm91dGUoCiAgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRhYmxlLAogICAgICAgICAgICAg
ICAgIGN3ZD1zZWxmLnBhdGgsCiAgICAgICAgICAgICAgICAgY29tcGxldGlvbj1tb2Nrcy5Qcm9j
ZXNzQ29tcGxldGlvbigKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3dlYmtpdHNjbXB5L3Byb2dyYW0vX19pbml0X18ucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5w
eQkocmV2aXNpb24gMjcxMzE5KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpAQCAtMjMs
NyArMjMsNiBAQAogaW1wb3J0IGFyZ3BhcnNlCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCi1p
bXBvcnQgc3lzCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBhcmd1bWVudHMsIGxvZyBhcyB3
ZWJraXRjb3JlcHlfbG9nCiBmcm9tIHdlYmtpdHNjbXB5IGltcG9ydCBsb2NhbCwgbG9nLCByZW1v
dGUKQEAgLTMyLDkgKzMxLDExIEBAIGZyb20gLmNhbm9uaWNhbGl6ZSBpbXBvcnQgQ2Fub25pY2Fs
aXplCiBmcm9tIC5jb21tYW5kIGltcG9ydCBDb21tYW5kCiBmcm9tIC5jaGVja291dCBpbXBvcnQg
Q2hlY2tvdXQKIGZyb20gLmZpbmQgaW1wb3J0IEZpbmQKK2Zyb20gLnB1bGwgaW1wb3J0IFB1bGwK
K2Zyb20gLnNldHVwX2dpdF9zdm4gaW1wb3J0IFNldHVwR2l0U3ZuCiAKIAotZGVmIG1haW4oYXJn
cz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9Tm9uZSwgY29udHJpYnV0b3JzPU5vbmUsIGlkZW50
aWZpZXJfdGVtcGxhdGU9Tm9uZSk6CitkZWYgbWFpbihhcmdzPU5vbmUsIHBhdGg9Tm9uZSwgbG9n
Z2Vycz1Ob25lLCBjb250cmlidXRvcnM9Tm9uZSwgaWRlbnRpZmllcl90ZW1wbGF0ZT1Ob25lLCBz
dWJ2ZXJzaW9uPU5vbmUpOgogICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5X
QVJOSU5HKQogCiAgICAgbG9nZ2VycyA9IFtsb2dnaW5nLmdldExvZ2dlcigpLCB3ZWJraXRjb3Jl
cHlfbG9nLCAgbG9nXSArIChsb2dnZXJzIG9yIFtdKQpAQCAtNTUsNyArNTYsMTEgQEAgZGVmIG1h
aW4oYXJncz1Ob25lLCBwYXRoPU5vbmUsIGxvZ2dlcnM9TgogCiAgICAgc3VicGFyc2VycyA9IHBh
cnNlci5hZGRfc3VicGFyc2VycyhoZWxwPSdzdWItY29tbWFuZCBoZWxwJykKIAotICAgIGZvciBw
cm9ncmFtIGluIFtGaW5kLCBDaGVja291dCwgQ2Fub25pY2FsaXplXToKKyAgICBwcm9ncmFtcyA9
IFtGaW5kLCBDaGVja291dCwgQ2Fub25pY2FsaXplLCBQdWxsXQorICAgIGlmIHN1YnZlcnNpb246
CisgICAgICAgIHByb2dyYW1zLmFwcGVuZChTZXR1cEdpdFN2bikKKworICAgIGZvciBwcm9ncmFt
IGluIHByb2dyYW1zOgogICAgICAgICBzdWJwYXJzZXIgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIo
cHJvZ3JhbS5uYW1lLCBoZWxwPXByb2dyYW0uaGVscCkKICAgICAgICAgc3VicGFyc2VyLnNldF9k
ZWZhdWx0cyhtYWluPXByb2dyYW0ubWFpbikKICAgICAgICAgcHJvZ3JhbS5wYXJzZXIoc3VicGFy
c2VyLCBsb2dnZXJzPWxvZ2dlcnMpCkBAIC02Nyw0ICs3Miw5IEBAIGRlZiBtYWluKGFyZ3M9Tm9u
ZSwgcGF0aD1Ob25lLCBsb2dnZXJzPU4KICAgICBlbHNlOgogICAgICAgICByZXBvc2l0b3J5ID0g
bG9jYWwuU2NtLmZyb21fcGF0aChwYXRoPXBhcnNlZC5yZXBvc2l0b3J5LCBjb250cmlidXRvcnM9
Y29udHJpYnV0b3JzKQogCi0gICAgcmV0dXJuIHBhcnNlZC5tYWluKGFyZ3M9cGFyc2VkLCByZXBv
c2l0b3J5PXJlcG9zaXRvcnksIGlkZW50aWZpZXJfdGVtcGxhdGU9aWRlbnRpZmllcl90ZW1wbGF0
ZSkKKyAgICByZXR1cm4gcGFyc2VkLm1haW4oCisgICAgICAgIGFyZ3M9cGFyc2VkLAorICAgICAg
ICByZXBvc2l0b3J5PXJlcG9zaXRvcnksCisgICAgICAgIGlkZW50aWZpZXJfdGVtcGxhdGU9aWRl
bnRpZmllcl90ZW1wbGF0ZSwKKyAgICAgICAgc3VidmVyc2lvbj1zdWJ2ZXJzaW9uLAorICAgICkK
SW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3By
b2dyYW0vY29tbWFuZC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL2NvbW1hbmQucHkJKHJldmlzaW9uIDI3MTMx
OSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3By
b2dyYW0vY29tbWFuZC5weQkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQCBjbGFzcyBD
b21tYW5kKG9iamVjdCk6CiAgICAgaGVscCA9IE5vbmUKIAogICAgIEBjbGFzc21ldGhvZAotICAg
IGRlZiBwYXJzZXIoY2xzLCBwYXJzZXIpOgorICAgIGRlZiBwYXJzZXIoY2xzLCBwYXJzZXIsIGxv
Z2dlcnM9Tm9uZSk6CiAgICAgICAgIGlmIGNscy5uYW1lIGlzIE5vbmU6CiAgICAgICAgICAgICBy
YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdDb21tYW5kIGRvZXMgbm90IGhhdmUgYSBuYW1lJykK
ICAgICAgICAgaWYgY2xzLmhlbHAgaXMgTm9uZToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vcHVsbC5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFt
L3B1bGwucHkJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9wdWxsLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisj
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBz
eXMKKworZnJvbSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAorCisKK2NsYXNzIFB1bGwoQ29tbWFu
ZCk6CisgICAgbmFtZSA9ICdwdWxsJworICAgIGhlbHAgPSAnVXBkYXRlIHRoZSBjdXJyZW50IGNo
ZWNrb3V0LCBzeW5jaHJvbml6ZSBnaXQtc3ZuIGlmIGNvbmZpZ3VyZWQnCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgbWFpbihjbHMsIGFyZ3MsIHJlcG9zaXRvcnksICoqa3dhcmdzKToKKyAg
ICAgICAgaWYgbm90IHJlcG9zaXRvcnkucGF0aDoKKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3Jp
dGUoJ0Nhbm5vdCB1cGRhdGUgcmVtb3RlIHJlcG9zaXRvcnlcbicpCisgICAgICAgICAgICByZXR1
cm4gMQorICAgICAgICByZXR1cm4gcmVwb3NpdG9yeS5wdWxsKCkKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXBfZ2l0X3N2
bi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9wcm9ncmFtL3NldHVwX2dpdF9zdm4ucHkJKG5vbmV4aXN0ZW50KQorKysgVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1
cF9naXRfc3ZuLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTIgQEAKKyMgQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
IkFTIElTIiBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisj
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmcm9t
IC5jb21tYW5kIGltcG9ydCBDb21tYW5kCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgcnVuCitm
cm9tIHdlYmtpdHNjbXB5IGltcG9ydCByZW1vdGUKKworCitjbGFzcyBTZXR1cEdpdFN2bihDb21t
YW5kKToKKyAgICBuYW1lID0gJ3NldHVwLWdpdC1zdm4nCisgICAgaGVscCA9ICdDb25uZWN0IGEg
Z2l0IGNoZWNrb3V0IHRvIHRoZSBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgaXQgaXMgKG9yIHdhcykg
YmFzZWQgb24nCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcGFyc2VyKGNscywgcGFyc2Vy
LCBsb2dnZXJzPU5vbmUpOgorICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAg
ICAgJy0tYWxsLWJyYW5jaGVzJywgJy1hJywKKyAgICAgICAgICAgIGhlbHA9J01hdGNoIGFsbCBn
aXQgYnJhbmNoZXMgdG8gdGhlaXIgc3VidmVyc2lvbiBjb3VudGVycGFydHMnLAorICAgICAgICAg
ICAgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgIGRlc3Q9J2FsbF9icmFuY2hlcycs
CisgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRo
b2QKKyAgICBkZWYgbWFpbihjbHMsIGFyZ3MsIHJlcG9zaXRvcnksIHN1YnZlcnNpb249Tm9uZSwg
Kiprd2FyZ3MpOgorICAgICAgICBpZiBub3QgcmVwb3NpdG9yeS5wYXRoOgorICAgICAgICAgICAg
c3lzLnN0ZGVyci53cml0ZSgnQ2Fubm90IHNldHVwIGdpdC1zdm4gb24gcmVtb3RlIHJlcG9zaXRv
cnlcbicpCisgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICBpZiBub3QgcmVwb3NpdG9yeS5p
c19naXQ6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDYW5ub3Qgc2V0dXAgZ2l0LXN2
biBvbiBTdWJ2ZXJzaW9uIHJlcG9zaXRvcnlcbicpCisgICAgICAgICAgICByZXR1cm4gMQorICAg
ICAgICBpZiBub3Qgc3VidmVyc2lvbjoKKyAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0Zh
aWxlZCB0byBmaW5kIFN1YnZlcnNpb24gcmVtb3RlOiB7fVxuJy5mb3JtYXQoc3VidmVyc2lvbikp
CisgICAgICAgICAgICByZXR1cm4gMQorCisgICAgICAgIHByaW50KCdBZGRpbmcgc3ZuLXJlbW90
ZSB0byBnaXQgY29uZmlnJykKKyAgICAgICAgY29uZmlnX3BhdGggPSBvcy5wYXRoLmpvaW4ocmVw
b3NpdG9yeS5yb290X3BhdGgsICcuZ2l0JywgJ2NvbmZpZycpCisgICAgICAgIGNvbmZpZ19kYXRh
ID0gW10KKyAgICAgICAgd2l0aCBvcGVuKGNvbmZpZ19wYXRoLCAncicpIGFzIGNvbmZpZzoKKyAg
ICAgICAgICAgIGlzX2luX3N2bl9yZW1vdGUgPSBGYWxzZQorICAgICAgICAgICAgZm9yIGxpbmUg
aW4gY29uZmlnLnJlYWRsaW5lcygpOgorICAgICAgICAgICAgICAgIGlmIGlzX2luX3N2bl9yZW1v
dGUgYW5kIG5vdCBsaW5lWzoxXS5pc3NwYWNlKCk6CisgICAgICAgICAgICAgICAgICAgIGlzX2lu
X3N2bl9yZW1vdGUgPSBGYWxzZQorICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgn
W3N2bi1yZW1vdGUgInN2biJdJyk6CisgICAgICAgICAgICAgICAgICAgIGlzX2luX3N2bl9yZW1v
dGUgPSBUcnVlCisgICAgICAgICAgICAgICAgaWYgbm90IGlzX2luX3N2bl9yZW1vdGU6CisgICAg
ICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhLmFwcGVuZChsaW5lKQorCisgICAgICAgIHdpdGgg
b3Blbihjb25maWdfcGF0aCwgJ3cnKSBhcyBjb25maWc6CisgICAgICAgICAgICBmb3IgbGluZSBp
biBjb25maWdfZGF0YToKKyAgICAgICAgICAgICAgICBjb25maWcud3JpdGUobGluZSkKKyAgICAg
ICAgICAgIGNvbmZpZy53cml0ZSgnW3N2bi1yZW1vdGUgInN2biJdXG4nKQorICAgICAgICAgICAg
Y29uZmlnLndyaXRlKCdcdHVybCA9IHt9XG4nLmZvcm1hdChzdWJ2ZXJzaW9uKSkKKyAgICAgICAg
ICAgIGNvbmZpZy53cml0ZSgnXHRmZXRjaCA9IHRydW5rOnJlZnMvcmVtb3Rlcy9vcmlnaW4ve31c
bicuZm9ybWF0KHJlcG9zaXRvcnkuZGVmYXVsdF9icmFuY2gpKQorCisgICAgICAgICAgICBpZiBh
cmdzLmFsbF9icmFuY2hlczoKKyAgICAgICAgICAgICAgICBzdm5fcmVtb3RlID0gcmVtb3RlLlN2
bigKKyAgICAgICAgICAgICAgICAgICAgdXJsPXN1YnZlcnNpb24sCisgICAgICAgICAgICAgICAg
ICAgIGRldl9icmFuY2hlcz1yZXBvc2l0b3J5LmRldl9icmFuY2hlcywKKyAgICAgICAgICAgICAg
ICAgICAgcHJvZF9icmFuY2hlcz1yZXBvc2l0b3J5LnByb2RfYnJhbmNoZXMsCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRyaWJ1dG9ycz1yZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycywKKyAgICAgICAg
ICAgICAgICApCisKKyAgICAgICAgICAgICAgICBnaXRfYnJhbmNoZXMgPSByZXBvc2l0b3J5LmJy
YW5jaGVzCisgICAgICAgICAgICAgICAgZm9yIGJyYW5jaCBpbiBzb3J0ZWQoc3ZuX3JlbW90ZS5i
cmFuY2hlcyk6CisgICAgICAgICAgICAgICAgICAgIGlmIGJyYW5jaCBub3QgaW4gZ2l0X2JyYW5j
aGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAg
ICAgY29uZmlnLndyaXRlKCdcdGZldGNoID0gYnJhbmNoZXMve2JyYW5jaH06cmVmcy9yZW1vdGVz
L29yaWdpbi97YnJhbmNofVxuJy5mb3JtYXQoYnJhbmNoPWJyYW5jaCkpCisKKyAgICAgICAgcHJp
bnQoJ1BvcHVsYXRpbmcgc3ZuIGNvbW1pdCBtYXBwaW5nICh3aWxsIHRha2UgYSBmZXcgbWludXRl
cykuLi4nKQorICAgICAgICByZXR1cm4gcnVuKFtyZXBvc2l0b3J5LmV4ZWN1dGFibGUoKSwgJ3N2
bicsICdmZXRjaCcsICctLWxvZy13aW5kb3ctc2l6ZT01MDAwJywgJy1yJywgJzE6SEVBRCddLCBj
d2Q9cmVwb3NpdG9yeS5yb290X3BhdGgpLnJldHVybmNvZGUKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfZ2l0X3N2bl91bml0
dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS90ZXN0L3NldHVwX2dpdF9zdm5fdW5pdHRlc3QucHkJKG5vbmV4aXN0ZW50
KQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVz
dC9zZXR1cF9naXRfc3ZuX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQz
IEBACisjIENvcHlyaWdodCAoQykgMjAyMSwgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAor
IyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQg
b3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CisKK2Zy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgTG9n
Z2VyQ2FwdHVyZSwgT3V0cHV0Q2FwdHVyZQorZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0
IFRpbWUgYXMgTW9ja1RpbWUKK2Zyb20gd2Via2l0c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tz
CisKKworY2xhc3MgVGVzdFNldHVwR2l0U3ZuKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBnaXRf
cmVtb3RlID0gJ2dpdEBleGFtcGxlLm9yZzpFeGFtcGxlJworICAgIHN2bl9yZW1vdGUgPSAnaHR0
cHM6Ly9zdm4uZXhhbXBsZS5vcmcvcmVwb3NpdG9yeS9leGFtcGxlJworCisgICAgZGVmIHRlc3Rf
c3ZuKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBkaXJuYW1lID0gdGVtcGZpbGUu
bWtkdGVtcCgpCisgICAgICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUoKSBhcyBjYXB0dXJlZCwg
bW9ja3MubG9jYWwuR2l0KCksIG1vY2tzLmxvY2FsLlN2bihkaXJuYW1lLCByZW1vdGU9c2VsZi5z
dm5fcmVtb3RlKSwgTW9ja1RpbWU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgx
LCBwcm9ncmFtLm1haW4oCisgICAgICAgICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3Zu
JywpLAorICAgICAgICAgICAgICAgICAgICBwYXRoPWRpcm5hbWUsCisgICAgICAgICAgICAgICAg
ICAgIHN1YnZlcnNpb249c2VsZi5zdm5fcmVtb3RlLAorICAgICAgICAgICAgICAgICkpCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhcHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnQ2Fu
bm90IHNldHVwIGdpdC1zdm4gb24gU3VidmVyc2lvbiByZXBvc2l0b3J5XG4nKQorCisgICAgICAg
IGZpbmFsbHk6CisgICAgICAgICAgICBzaHV0aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYg
dGVzdF9lbXB0eShzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZGlybmFtZSA9IHRl
bXBmaWxlLm1rZHRlbXAoKQorICAgICAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgY2Fw
dHVyZWQsIG1vY2tzLmxvY2FsLkdpdChkaXJuYW1lLCByZW1vdGU9c2VsZi5naXRfcmVtb3RlKSwg
bW9ja3MubG9jYWwuU3ZuKCksIG1vY2tzLnJlbW90ZS5Tdm4ocmVtb3RlPXNlbGYuc3ZuX3JlbW90
ZS5zcGxpdCgnOi8vJylbMV0pLCBNb2NrVGltZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKDAsIHByb2dyYW0ubWFpbigKKyAgICAgICAgICAgICAgICAgICAgYXJncz0oJ3NldHVw
LWdpdC1zdm4nLCksCisgICAgICAgICAgICAgICAgICAgIHBhdGg9ZGlybmFtZSwKKyAgICAgICAg
ICAgICAgICAgICAgc3VidmVyc2lvbj1zZWxmLnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAg
KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY2FwdHVy
ZWQuc3Rkb3V0LmdldHZhbHVlKCksCisgICAgICAgICAgICAgICAgJ0FkZGluZyBzdm4tcmVtb3Rl
IHRvIGdpdCBjb25maWdcbicgKworICAgICAgICAgICAgICAgICdQb3B1bGF0aW5nIHN2biBjb21t
aXQgbWFwcGluZyAod2lsbCB0YWtlIGEgZmV3IG1pbnV0ZXMpLi4uXG4nLAorICAgICAgICAgICAg
KQorCisgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0L2Nv
bmZpZycpKSBhcyBjb25maWc6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAg
ICAgICAgICAgICAgICAgICAgY29uZmlnLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAgJ1tj
b3JlXVxuJworICAgICAgICAgICAgICAgICAgICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9
IDBcbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAg
ICAgICAgICAgICAgICdcdGJhcmUgPSBmYWxzZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRs
b2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVj
YXNlID0gdHJ1ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9
IHRydWVcbicKKyAgICAgICAgICAgICAgICAgICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCisgICAg
ICAgICAgICAgICAgICAgICdcdHVybCA9IHtnaXRfcmVtb3RlfVxuJworICAgICAgICAgICAgICAg
ICAgICAnXHRmZXRjaCA9ICtyZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisg
ICAgICAgICAgICAgICAgICAgICdbYnJhbmNoICJtYWluIl1cbicKKyAgICAgICAgICAgICAgICAg
ICAgJ1x0cmVtb3RlID0gb3JpZ2luXG4nCisgICAgICAgICAgICAgICAgICAgICdcdG1lcmdlID0g
cmVmcy9oZWFkcy9tYWluXG4nCisgICAgICAgICAgICAgICAgICAgICdbc3ZuLXJlbW90ZSAic3Zu
Il1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0dXJsID0ge3N2bl9yZW1vdGV9XG4nCisgICAg
ICAgICAgICAgICAgICAgICdcdGZldGNoID0gdHJ1bms6cmVmcy9yZW1vdGVzL29yaWdpbi9tYWlu
XG4nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGdpdF9yZW1vdGU9c2VsZi5naXRf
cmVtb3RlLAorICAgICAgICAgICAgICAgICAgICAgICAgc3ZuX3JlbW90ZT1zZWxmLnN2bl9yZW1v
dGUsCisgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgKQorCisgICAgICAg
IGZpbmFsbHk6CisgICAgICAgICAgICBzaHV0aWwucm10cmVlKGRpcm5hbWUpCisKKyAgICBkZWYg
dGVzdF9hZGQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRpcm5hbWUgPSB0ZW1w
ZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpLCBtb2Nrcy5s
b2NhbC5HaXQoZGlybmFtZSwgcmVtb3RlPXNlbGYuZ2l0X3JlbW90ZSksIG1vY2tzLmxvY2FsLlN2
bigpLCBtb2Nrcy5yZW1vdGUuU3ZuKHJlbW90ZT1zZWxmLnN2bl9yZW1vdGUuc3BsaXQoJzovLycp
WzFdKSwgTW9ja1RpbWU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9n
cmFtLm1haW4oCisgICAgICAgICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywpLAor
ICAgICAgICAgICAgICAgICAgICBwYXRoPWRpcm5hbWUsCisgICAgICAgICAgICAgICAgICAgIHN1
YnZlcnNpb249c2VsZi5zdm5fcmVtb3RlLAorICAgICAgICAgICAgICAgICkpCisKKyAgICAgICAg
ICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpIGFzIGNhcHR1cmVkLCBtb2Nrcy5sb2NhbC5HaXQoZGly
bmFtZSwgcmVtb3RlPXNlbGYuZ2l0X3JlbW90ZSksIG1vY2tzLmxvY2FsLlN2bigpLCBtb2Nrcy5y
ZW1vdGUuU3ZuKHJlbW90ZT1zZWxmLnN2bl9yZW1vdGUuc3BsaXQoJzovLycpWzFdKSwgTW9ja1Rp
bWU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCisg
ICAgICAgICAgICAgICAgICAgIGFyZ3M9KCdzZXR1cC1naXQtc3ZuJywgJy0tYWxsLWJyYW5jaGVz
JyksCisgICAgICAgICAgICAgICAgICAgIHBhdGg9ZGlybmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgc3VidmVyc2lvbj1zZWxmLnN2bl9yZW1vdGUsCisgICAgICAgICAgICAgICAgKSkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY2FwdHVyZWQuc3Rkb3V0
LmdldHZhbHVlKCksCisgICAgICAgICAgICAgICAgJ0FkZGluZyBzdm4tcmVtb3RlIHRvIGdpdCBj
b25maWdcbicgKworICAgICAgICAgICAgICAgICdQb3B1bGF0aW5nIHN2biBjb21taXQgbWFwcGlu
ZyAod2lsbCB0YWtlIGEgZmV3IG1pbnV0ZXMpLi4uXG4nLAorICAgICAgICAgICAgKQorCisgICAg
ICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpcm5hbWUsICcuZ2l0L2NvbmZpZycpKSBh
cyBjb25maWc6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAg
ICAgICAgICAgY29uZmlnLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAgJ1tjb3JlXVxuJwor
ICAgICAgICAgICAgICAgICAgICAnXHRyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDBcbicKKyAg
ICAgICAgICAgICAgICAgICAgJ1x0ZmlsZW1vZGUgPSB0cnVlXG4nCisgICAgICAgICAgICAgICAg
ICAgICdcdGJhcmUgPSBmYWxzZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRsb2dhbGxyZWZ1
cGRhdGVzID0gdHJ1ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRpZ25vcmVjYXNlID0gdHJ1
ZVxuJworICAgICAgICAgICAgICAgICAgICAnXHRwcmVjb21wb3NldW5pY29kZSA9IHRydWVcbicK
KyAgICAgICAgICAgICAgICAgICAgJ1tyZW1vdGUgIm9yaWdpbiJdXG4nCisgICAgICAgICAgICAg
ICAgICAgICdcdHVybCA9IHtnaXRfcmVtb3RlfVxuJworICAgICAgICAgICAgICAgICAgICAnXHRm
ZXRjaCA9ICtyZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qXG4nCisgICAgICAgICAg
ICAgICAgICAgICdbYnJhbmNoICJtYWluIl1cbicKKyAgICAgICAgICAgICAgICAgICAgJ1x0cmVt
b3RlID0gb3JpZ2luXG4nCisgICAgICAgICAgICAgICAgICAgICdcdG1lcmdlID0gcmVmcy9oZWFk
cy9tYWluXG4nCisgICAgICAgICAgICAgICAgICAgICdbc3ZuLXJlbW90ZSAic3ZuIl1cbicKKyAg
ICAgICAgICAgICAgICAgICAgJ1x0dXJsID0ge3N2bl9yZW1vdGV9XG4nCisgICAgICAgICAgICAg
ICAgICAgICdcdGZldGNoID0gdHJ1bms6cmVmcy9yZW1vdGVzL29yaWdpbi9tYWluXG4nCisgICAg
ICAgICAgICAgICAgICAgICdcdGZldGNoID0gYnJhbmNoZXMvYnJhbmNoLWE6cmVmcy9yZW1vdGVz
L29yaWdpbi9icmFuY2gtYVxuJworICAgICAgICAgICAgICAgICAgICAnXHRmZXRjaCA9IGJyYW5j
aGVzL2JyYW5jaC1iOnJlZnMvcmVtb3Rlcy9vcmlnaW4vYnJhbmNoLWJcbicuZm9ybWF0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgZ2l0X3JlbW90ZT1zZWxmLmdpdF9yZW1vdGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICBzdm5fcmVtb3RlPXNlbGYuc3ZuX3JlbW90ZSwKKyAgICAgICAgICAg
ICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgZmluYWxseToKKyAgICAg
ICAgICAgIHNodXRpbC5ybXRyZWUoZGlybmFtZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>