<?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>228867</bug_id>
          
          <creation_ts>2021-08-06 10:04:34 -0700</creation_ts>
          <short_desc>[git-webkit] Add automatic Editor configuration</short_desc>
          <delta_ts>2021-09-01 11:15:27 -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=225985</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>
          <dependson>225985</dependson>
          
          <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>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1782513</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-08-06 10:04:34 -0700</bug_when>
    <thetext>Although git provides a command line API to set your log editor, I&apos;ve found many folks aren&apos;t familiar with setting that up. Given that the set of commonly used editors is pretty small, I think we can improve engineering effectiveness by automating this process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782514</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-06 10:08:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/81621991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782515</commentid>
    <comment_count>2</comment_count>
      <attachid>435076</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-08-06 10:21:31 -0700</bug_when>
    <thetext>Created attachment 435076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782606</commentid>
    <comment_count>3</comment_count>
      <attachid>435099</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-08-06 16:44:32 -0700</bug_when>
    <thetext>Created attachment 435099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783364</commentid>
    <comment_count>4</comment_count>
      <attachid>435314</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-08-10 16:53:09 -0700</bug_when>
    <thetext>Created attachment 435314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789124</commentid>
    <comment_count>5</comment_count>
      <attachid>436954</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-08-31 15:45:54 -0700</bug_when>
    <thetext>Created attachment 436954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789350</commentid>
    <comment_count>6</comment_count>
      <attachid>436954</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-09-01 09:38:46 -0700</bug_when>
    <thetext>Comment on attachment 436954
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=436954&amp;action=review

&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:34
&gt; +            path=&apos;/Applications/Atom.app/Contents/Resources/app/atom.sh&apos;,

Is it save to assume the user uses macOS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789353</commentid>
    <comment_count>7</comment_count>
      <attachid>436954</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-01 09:47:22 -0700</bug_when>
    <thetext>Comment on attachment 436954
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=436954&amp;action=review

&gt;&gt; Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:34
&gt;&gt; +            path=&apos;/Applications/Atom.app/Contents/Resources/app/atom.sh&apos;,
&gt; 
&gt; Is it save to assume the user uses macOS?

No, that&apos;s why these are functions. I know that I&apos;ve missed both editors and instances of editors on specific OSes. If the path to an editor doesn&apos;t exist, it won&apos;t be provided as an option. I&apos;m not sure how folks who use atom (or sublime or textmate) on non-mac OSes have their development environments setup, if anyone feels strongly, I figure that can make the edits needed and propose it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789355</commentid>
    <comment_count>8</comment_count>
      <attachid>436954</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-09-01 09:58:18 -0700</bug_when>
    <thetext>Comment on attachment 436954
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789363</commentid>
    <comment_count>9</comment_count>
      <attachid>437040</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-09-01 10:17:06 -0700</bug_when>
    <thetext>Created attachment 437040
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789375</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-01 11:15:26 -0700</bug_when>
    <thetext>Committed r281862 (241192@main): &lt;https://commits.webkit.org/241192@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437040.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435076</attachid>
            <date>2021-08-06 10:21:31 -0700</date>
            <delta_ts>2021-08-06 16:44:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228867-20210806102130.patch</filename>
            <type>text/plain</type>
            <size>9283</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI4MDcyNykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMwIEBACisyMDIxLTA4LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbZ2l0LXdlYmtpdF0gQWRkIGF1dG9tYXRpYyBFZGl0b3IgY29uZmlndXJh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
ODY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTYyMTk5MT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dGNvcmVweS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCBhZGQgd2hpY2hjcmFmdC4KKyAgICAgICAg
KiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5
OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0
Y29yZXB5L2VkaXRvci5weTogQWRkZWQuCisgICAgICAgIChFZGl0b3IpOiBDbGFzcyByZXByZXNl
bnRpbmcgYSB0ZXh0IGVkaXRvciAKKyAgICAgICAgKEVkaXRvci5hdG9tKToKKyAgICAgICAgKEVk
aXRvci5zdWJsaW1lKToKKyAgICAgICAgKEVkaXRvci50ZXh0bWF0ZSk6CisgICAgICAgIChFZGl0
b3IueGNvZGUpOgorICAgICAgICAoRWRpdG9yLnRleHRlZGl0KToKKyAgICAgICAgKEVkaXRvci5k
ZWZhdWx0KTogU3lzdGVtJ3MgZGVmYXVsdCB0ZXh0IGVkaXRvci4KKyAgICAgICAgKEVkaXRvci5w
cmVmZXJyZWQpOiBVc2VyJ3MgcHJlZmVyZWQgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3Iu
YnlfbmFtZSk6IFNlYXJjaCBmb3IgdGV4dCBlZGl0b3IgYnkgbmFtZS4KKyAgICAgICAgKEVkaXRv
ci5fX2luaXRfXyk6CisgICAgICAgIChFZGl0b3Iub3Blbik6IE9wZW4gYSBmaWxlIHdpdGggYSB0
ZXh0IGVkaXRvci4KKyAgICAgICAgKEVkaXRvci5fX3JlcHJfXyk6CisgICAgICAgIChFZGl0b3Iu
X19ib29sX18pOgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVw
LnB5OiBCdW1wIHZlcnNpb24sIHJlbW92ZSB3aGljaGNyYWZ0LgorICAgICAgICAqIFNjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5OiBEaXR0by4KKwog
MjAyMS0wOC0wNiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2V3c10gTWFrZSBjb25maWcuanNvbiBjb21wYWN0CkluZGV4OiBUb29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CShyZXZpc2lvbiAyODA3MjUpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNyAr
MzAsNyBAQCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdGNvcmVweScs
Ci0gICAgdmVyc2lvbj0nMC44LjAnLAorICAgIHZlcnNpb249JzAuOC4xJywKICAgICBkZXNjcmlw
dGlvbj0nTGlicmFyeSBjb250YWluaW5nIHZhcmlvdXMgUHl0aG9uIHN1cHBvcnQgY2xhc3NlcyBh
bmQgZnVuY3Rpb25zLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFz
c2lmaWVycz1bCkBAIC01Nyw2ICs1Nyw3IEBAIHNldHVwKAogICAgICAgICAnbW9jaycsCiAgICAg
ICAgICdyZXF1ZXN0cycsCiAgICAgICAgICdzaXgnLAorICAgICAgICAnd2hpY2hjcmFmdCcsCiAg
ICAgXSwKICAgICBpbmNsdWRlX3BhY2thZ2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZlPUZhbHNl
LApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVw
eS9fX2luaXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CShyZXZpc2lvbiAyODA3MjUpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9f
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIGZyb20gd2Via2l0Y29yZXB5LmNy
ZWRlbnRpYWxzIGltcG9ydCBjcmUKIGZyb20gd2Via2l0Y29yZXB5Lm1lYXN1cmVfdGltZSBpbXBv
cnQgTWVhc3VyZVRpbWUKIGZyb20gd2Via2l0Y29yZXB5Lm5lc3RlZF9mdXp6eV9kaWN0IGltcG9y
dCBOZXN0ZWRGdXp6eURpY3QKIAotdmVyc2lvbiA9IFZlcnNpb24oMCwgOCwgMCkKK3ZlcnNpb24g
PSBWZXJzaW9uKDAsIDgsIDEpCiAKIGZyb20gd2Via2l0Y29yZXB5LmF1dG9pbnN0YWxsIGltcG9y
dCBQYWNrYWdlLCBBdXRvSW5zdGFsbAogaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKQEAg
LTY4LDYgKzY4LDkgQEAgQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnc2l4JywgVmVycwog
QXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndGJsaWInLCBWZXJzaW9uKDEsIDcsIDApKSkK
IEF1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3VybGxpYjMnLCBWZXJzaW9uKDEsIDI1LCAx
MCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnd2hlZWwnLCBWZXJzaW9uKDAsIDM1
LCAxKSkpCitBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aGljaGNyYWZ0JywgVmVyc2lv
bigwLCA2LCAxKSkpCisKK2Zyb20gd2Via2l0Y29yZXB5LmVkaXRvciBpbXBvcnQgRWRpdG9yCiAK
ICMgVGhpcyBpcyBuZWVkZWQgZm9yIHB5dGhvbi1rZXlyaW5nLgogaWYgc3lzLnBsYXRmb3JtID09
ICdsaW51eCc6CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Vi
a2l0Y29yZXB5L2VkaXRvci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L2VkaXRvci5weQkobm9uZXhpc3RlbnQpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L2VkaXRvci5w
eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IG9zCisKK2Zyb20gd2Via2l0Y29yZXB5LnN1YnByb2Nl
c3NfdXRpbHMgaW1wb3J0IHJ1bgorZnJvbSB3ZWJraXRjb3JlcHkuZGVjb3JhdG9ycyBpbXBvcnQg
aHlicmlkbWV0aG9kCitmcm9tIHdoaWNoY3JhZnQgaW1wb3J0IHdoaWNoCisKKworY2xhc3MgRWRp
dG9yKG9iamVjdCk6CisgICAgcHJvZ3JhbXMgPSBbXQorCisgICAgQGNsYXNzbWV0aG9kCisgICAg
ZGVmIGF0b20oY2xzKToKKyAgICAgICAgcmV0dXJuIGNscygKKyAgICAgICAgICAgIG5hbWU9J0F0
b20nLAorICAgICAgICAgICAgcGF0aD0nL0FwcGxpY2F0aW9ucy9BdG9tLmFwcC9Db250ZW50cy9S
ZXNvdXJjZXMvYXBwL2F0b20uc2gnLAorICAgICAgICAgICAgd2FpdD1bJy13J10sCisgICAgICAg
ICkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzdWJsaW1lKGNscyk6CisgICAgICAgIHBh
dGggPSB3aGljaCgnc3VibCcpIG9yICcvQXBwbGljYXRpb25zL1N1YmxpbWUgVGV4dC5hcHAvQ29u
dGVudHMvU2hhcmVkU3VwcG9ydC9iaW4vc3VibCcKKyAgICAgICAgcmV0dXJuIGNscygKKyAgICAg
ICAgICAgIG5hbWU9J1N1YmxpbWUnLAorICAgICAgICAgICAgcGF0aD1wYXRoLAorICAgICAgICAg
ICAgY29tbWFuZD1bcGF0aCwgJy1uJ10sCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwKKyAgICAg
ICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRleHRtYXRlKGNscyk6CisgICAgICAg
IHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdUZXh0TWF0ZScsCisgICAgICAgICAgICBw
YXRoPXdoaWNoKCdtYXRlJykgb3IgJy9BcHBsaWNhdGlvbnMvVGV4dE1hdGUuYXBwL0NvbnRlbnRz
L1Jlc291cmNlcy9tYXRlJywKKyAgICAgICAgICAgIHdhaXQ9WyctdyddLAorICAgICAgICApCisK
KyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgeGNvZGUoY2xzKToKKyAgICAgICAgcmV0dXJuIGNs
cygKKyAgICAgICAgICAgIG5hbWU9J1hjb2RlJywKKyAgICAgICAgICAgIHBhdGg9d2hpY2goJ3hl
ZCcpIG9yICcvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvdXNyL2Jp
bi94ZWQnLAorICAgICAgICAgICAgd2FpdD1bJy13J10sCisgICAgICAgICkKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiB0ZXh0ZWRpdChjbHMpOgorICAgICAgICByZXR1cm4gY2xzKAorICAg
ICAgICAgICAgbmFtZT0nVGV4dEVkaXQnLAorICAgICAgICAgICAgcGF0aD0nL1N5c3RlbS9BcHBs
aWNhdGlvbnMvVGV4dEVkaXQuYXBwL0NvbnRlbnRzL01hY09TL1RleHRFZGl0JywKKyAgICAgICAg
ICAgIGNvbW1hbmQ9WydvcGVuJywgJy1hJywgJ1RleHRFZGl0J10sCisgICAgICAgICAgICB3YWl0
PVsnLS13YWl0LWFwcHMnXSwKKyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVm
IGRlZmF1bHQoY2xzKToKKyAgICAgICAgcGF0aCA9IHdoaWNoKCdvcGVuJykKKyAgICAgICAgcmV0
dXJuIGNscygKKyAgICAgICAgICAgIG5hbWU9J29wZW4nLAorICAgICAgICAgICAgcGF0aD1wYXRo
LAorICAgICAgICAgICAgY29tbWFuZD1bcGF0aCwgJy10J10sCisgICAgICAgICAgICB3YWl0PVsn
LS13YWl0LWFwcHMnXSwKKyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHBy
ZWZlcnJlZChjbHMpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJvZ3JhbXM6CisgICAg
ICAgICAgICBpZiBwcm9ncmFtOgorICAgICAgICAgICAgICAgIHJldHVybiBwcm9ncmFtCisgICAg
ICAgIHJldHVybiBjbHMuZGVmYXVsdCgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYnlf
bmFtZShjbHMsIG5hbWUpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJvZ3JhbXM6Cisg
ICAgICAgICAgICBpZiBwcm9ncmFtLm5hbWUubG93ZXIoKS5zdGFydHN3aXRoKG5hbWUubG93ZXIo
KSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHByb2dyYW0KKyAgICAgICAgcmV0dXJuIE5vbmUK
KworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwYXRoLCBjb21tYW5kPU5vbmUsIHdhaXQ9
Tm9uZSk6CisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5wYXRoID0gcGF0
aAorICAgICAgICBzZWxmLmNvbW1hbmQgPSBjb21tYW5kIG9yIFtzZWxmLnBhdGhdCisgICAgICAg
IHNlbGYud2FpdCA9IHNlbGYuY29tbWFuZCArICh3YWl0IG9yIFtdKQorCisgICAgQGh5YnJpZG1l
dGhvZAorICAgIGRlZiBvcGVuKGNvbnRleHQsIGZpbGUsIGJsb2NrPUZhbHNlKToKKyAgICAgICAg
aWYgaXNpbnN0YW5jZShjb250ZXh0LCB0eXBlKToKKyAgICAgICAgICAgIGNvbnRleHQgPSBjb250
ZXh0LnByZWZlcnJlZCgpCisKKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKGNvbnRleHQu
cGF0aCk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIG5vdCBydW4o
KGNvbnRleHQud2FpdCBpZiBibG9jayBlbHNlIGNvbnRleHQuY29tbWFuZCkgKyBbZmlsZV0sIGNh
cHR1cmVfb3V0cHV0PVRydWUpLnJldHVybmNvZGUKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToK
KyAgICAgICAgcmV0dXJuIHNlbGYubmFtZQorCisgICAgZGVmIF9fYm9vbF9fKHNlbGYpOgorICAg
ICAgICByZXR1cm4gb3MucGF0aC5pc2ZpbGUoc2VsZi5wYXRoKQorCisKK0VkaXRvci5wcm9ncmFt
cyA9IFsKKyAgICBFZGl0b3Iuc3VibGltZSgpLAorICAgIEVkaXRvci50ZXh0bWF0ZSgpLAorICAg
IEVkaXRvci5hdG9tKCksCisgICAgRWRpdG9yLnhjb2RlKCksCisgICAgRWRpdG9yLnRleHRlZGl0
KCksCisgICAgRWRpdG9yLmRlZmF1bHQoKSwKK10KSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CShyZXZpc2lvbiAyODA3MjUpCisrKyBUb29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weQkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNyBAQCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdHNj
bXB5JywKLSAgICB2ZXJzaW9uPScxLjAuNicsCisgICAgdmVyc2lvbj0nMS4wLjcnLAogICAgIGRl
c2NyaXB0aW9uPSdMaWJyYXJ5IGRlc2lnbmVkIHRvIGludGVyYWN0IHdpdGggZ2l0IGFuZCBzdm4g
cmVwb3NpdG9yaWVzLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFz
c2lmaWVycz1bCkBAIC01OCw3ICs1OCw3IEBAIHNldHVwKAogICAgICAgICAnd2Via2l0c2NtcHku
dGVzdCcsCiAgICAgXSwKICAgICBzY3JpcHRzPVsnZ2l0LXdlYmtpdCddLAotICAgIGluc3RhbGxf
cmVxdWlyZXM9WydmYXN0ZW5lcnMnLCAnbW9ub3RvbmljJywgJ3dlYmtpdGNvcmVweScsICd3aGlj
aGNyYWZ0JywgJ3htbHRvZGljdCddLAorICAgIGluc3RhbGxfcmVxdWlyZXM9WydmYXN0ZW5lcnMn
LCAnbW9ub3RvbmljJywgJ3dlYmtpdGNvcmVweScsICd4bWx0b2RpY3QnXSwKICAgICBpbmNsdWRl
X3BhY2thZ2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZlPUZhbHNlLAogKQpJbmRleDogVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0X18ucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvX19pbml0X18ucHkJKHJldmlzaW9uIDI4MDcyNSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgIlBsZWFzZSBpbnN0
YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3JlcHkgLS1leHRyYS1p
bmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJzaW9uID0gVmVyc2lv
bigxLCAwLCA2KQordmVyc2lvbiA9IFZlcnNpb24oMSwgMCwgNykKIAogQXV0b0luc3RhbGwucmVn
aXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigwLCAxNSwgMCkpKQogQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3RvbmljJywgVmVyc2lvbigxLCA1KSkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435099</attachid>
            <date>2021-08-06 16:44:32 -0700</date>
            <delta_ts>2021-08-10 16:53:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228867-20210806164431.patch</filename>
            <type>text/plain</type>
            <size>15243</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzQzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGEyMzZkNTBiMmFiY2MxNGZmYjFlNjBlMjYyMTZjOTMz
ZjM5ZGE0MC4uM2ZkMGFhMWFhZjhlOTBkMWMzMTUzZDY4OTU1MzE1OGQ5NDdiOGQ1YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTA4LTA2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbZ2l0LXdlYmtpdF0gQWRkIGF1dG9tYXRpYyBFZGl0b3IgY29uZmlndXJhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODY3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTYyMTk5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCBhZGQgd2hpY2hjcmFmdC4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5OiBEaXR0
by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5
L2VkaXRvci5weTogQWRkZWQuCisgICAgICAgIChFZGl0b3IpOiBDbGFzcyByZXByZXNlbnRpbmcg
YSB0ZXh0IGVkaXRvciAKKyAgICAgICAgKEVkaXRvci5hdG9tKToKKyAgICAgICAgKEVkaXRvci5z
dWJsaW1lKToKKyAgICAgICAgKEVkaXRvci50ZXh0bWF0ZSk6CisgICAgICAgIChFZGl0b3IueGNv
ZGUpOgorICAgICAgICAoRWRpdG9yLnRleHRlZGl0KToKKyAgICAgICAgKEVkaXRvci5kZWZhdWx0
KTogU3lzdGVtJ3MgZGVmYXVsdCB0ZXh0IGVkaXRvci4KKyAgICAgICAgKEVkaXRvci5wcmVmZXJy
ZWQpOiBVc2VyJ3MgcHJlZmVyZWQgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuYnlfbmFt
ZSk6IFNlYXJjaCBmb3IgdGV4dCBlZGl0b3IgYnkgbmFtZS4KKyAgICAgICAgKEVkaXRvci5wcm9n
cmFtcyk6IExpc3QgYWxsIGF2YWlsYWJsZSB0ZXh0IGVkaXRvciBwcm9ncmFtcyBvbiB0aGlzIG1h
Y2hpbmUuCisgICAgICAgIChFZGl0b3IuX19pbml0X18pOgorICAgICAgICAoRWRpdG9yLm9wZW4p
OiBPcGVuIGEgZmlsZSB3aXRoIGEgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuX19yZXBy
X18pOgorICAgICAgICAoRWRpdG9yLl9fYm9vbF9fKToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCByZW1vdmUgd2hpY2hjcmFm
dC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weToKKyAgICAgICAgKFNldHVwLmdpdCk6IFBy
b21wdCB1c2VyIGFuZCBzZXQgY29tbWl0IGxvZyBlZGl0b3IuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weToK
KwogMjAyMS0wOC0wNiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW2dpdC13ZWJraXRdIEFkZCBzZXR1cCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CmluZGV4IDllNThmZGEyN2U0MTljNzA1ZWRl
NDhkZWFiMDJmYTY2NzlhNDE1ZjAuLjIyZDFiZWJmZjUzN2U1YTJlMjgzOTE2N2E3NzdiYWY5MTg4
NjYyODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS9z
ZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAu
cHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNyAr
MzAsNyBAQCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdGNvcmVweScs
Ci0gICAgdmVyc2lvbj0nMC44LjEnLAorICAgIHZlcnNpb249JzAuOC4yJywKICAgICBkZXNjcmlw
dGlvbj0nTGlicmFyeSBjb250YWluaW5nIHZhcmlvdXMgUHl0aG9uIHN1cHBvcnQgY2xhc3NlcyBh
bmQgZnVuY3Rpb25zLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFz
c2lmaWVycz1bCkBAIC01Nyw2ICs1Nyw3IEBAIHNldHVwKAogICAgICAgICAnbW9jaycsCiAgICAg
ICAgICdyZXF1ZXN0cycsCiAgICAgICAgICdzaXgnLAorICAgICAgICAnd2hpY2hjcmFmdCcsCiAg
ICAgXSwKICAgICBpbmNsdWRlX3BhY2thZ2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZlPUZhbHNl
LApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtp
dGNvcmVweS9fX2luaXRfXy5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKaW5kZXggZjY1ZDFkMTRkYjUxMTQ0YjUzMzgwYTNj
ZmViZDIyMzEyMjUwNzAyZC4uNGExOTQwM2NhODM3NDA1NTIzNTAxNTQyNzgyNjFlN2ZlNWNlN2Yx
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtp
dGNvcmVweS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRj
b3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CkBAIC0zOSw4ICszOSw5IEBAIGZyb20gd2Vi
a2l0Y29yZXB5LnRlcm1pbmFsIGltcG9ydCBUZXJtaW5hbAogZnJvbSB3ZWJraXRjb3JlcHkuY3Jl
ZGVudGlhbHMgaW1wb3J0IGNyZWRlbnRpYWxzCiBmcm9tIHdlYmtpdGNvcmVweS5tZWFzdXJlX3Rp
bWUgaW1wb3J0IE1lYXN1cmVUaW1lCiBmcm9tIHdlYmtpdGNvcmVweS5uZXN0ZWRfZnV6enlfZGlj
dCBpbXBvcnQgTmVzdGVkRnV6enlEaWN0Citmcm9tIHdlYmtpdGNvcmVweS5lZGl0b3IgaW1wb3J0
IEVkaXRvcgogCi12ZXJzaW9uID0gVmVyc2lvbigwLCA4LCAxKQordmVyc2lvbiA9IFZlcnNpb24o
MCwgOCwgMikKIAogZnJvbSB3ZWJraXRjb3JlcHkuYXV0b2luc3RhbGwgaW1wb3J0IFBhY2thZ2Us
IEF1dG9JbnN0YWxsCiBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApOgpAQCAtNjgsNiArNjks
NyBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBWZXJzaW9uKDEsIDE1LCAw
KSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0YmxpYicsIFZlcnNpb24oMSwgNywg
MCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndXJsbGliMycsIFZlcnNpb24oMSwg
MjUsIDEwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aGVlbCcsIFZlcnNpb24o
MCwgMzUsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBW
ZXJzaW9uKDAsIDYsIDEpKSkKIAogIyBUaGlzIGlzIG5lZWRlZCBmb3IgcHl0aG9uLWtleXJpbmcu
CiBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JzoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvZWRpdG9yLnB5IGIvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9lZGl0b3IucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmRiNjA2NjUxNTk5ZTZiN2Q4YWEzOWJkNzMxNTFiZTU2YTgyMjFjNAotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3Jl
cHkvZWRpdG9yLnB5CkBAIC0wLDAgKzEsMTMzIEBACisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisj
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCitpbXBvcnQgb3MKKworZnJvbSB3ZWJraXRjb3JlcHkuc3VicHJvY2Vzc191
dGlscyBpbXBvcnQgcnVuCitmcm9tIHdlYmtpdGNvcmVweS5kZWNvcmF0b3JzIGltcG9ydCBoeWJy
aWRtZXRob2QKKworCitjbGFzcyBFZGl0b3Iob2JqZWN0KToKKyAgICBAY2xhc3NtZXRob2QKKyAg
ICBkZWYgYXRvbShjbHMpOgorICAgICAgICByZXR1cm4gY2xzKAorICAgICAgICAgICAgbmFtZT0n
QXRvbScsCisgICAgICAgICAgICBwYXRoPScvQXBwbGljYXRpb25zL0F0b20uYXBwL0NvbnRlbnRz
L1Jlc291cmNlcy9hcHAvYXRvbS5zaCcsCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwKKyAgICAg
ICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHN1YmxpbWUoY2xzKToKKyAgICAgICAg
ZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAgICAgICBwYXRoID0gd2hpY2goJ3N1Ymwn
KSBvciAnL0FwcGxpY2F0aW9ucy9TdWJsaW1lIFRleHQuYXBwL0NvbnRlbnRzL1NoYXJlZFN1cHBv
cnQvYmluL3N1YmwnCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdTdWJs
aW1lJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAgICAgICAgICAgIGNvbW1hbmQ9W3BhdGgs
ICctbiddLAorICAgICAgICAgICAgd2FpdD1bJy13J10sCisgICAgICAgICkKKworICAgIEBjbGFz
c21ldGhvZAorICAgIGRlZiB0ZXh0bWF0ZShjbHMpOgorICAgICAgICBmcm9tIHdoaWNoY3JhZnQg
aW1wb3J0IHdoaWNoCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdUZXh0
TWF0ZScsCisgICAgICAgICAgICBwYXRoPXdoaWNoKCdtYXRlJykgb3IgJy9BcHBsaWNhdGlvbnMv
VGV4dE1hdGUuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9tYXRlJywKKyAgICAgICAgICAgIHdhaXQ9
WyctdyddLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgeGNvZGUoY2xz
KToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAgICAgICByZXR1cm4g
Y2xzKAorICAgICAgICAgICAgbmFtZT0nWGNvZGUnLAorICAgICAgICAgICAgcGF0aD13aGljaCgn
eGVkJykgb3IgJy9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci91c3Iv
YmluL3hlZCcsCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwKKyAgICAgICAgKQorCisgICAgQGNs
YXNzbWV0aG9kCisgICAgZGVmIHRleHRlZGl0KGNscyk6CisgICAgICAgIHJldHVybiBjbHMoCisg
ICAgICAgICAgICBuYW1lPSdUZXh0RWRpdCcsCisgICAgICAgICAgICBwYXRoPScvU3lzdGVtL0Fw
cGxpY2F0aW9ucy9UZXh0RWRpdC5hcHAvQ29udGVudHMvTWFjT1MvVGV4dEVkaXQnLAorICAgICAg
ICAgICAgY29tbWFuZD1bJ29wZW4nLCAnLWEnLCAnVGV4dEVkaXQnXSwKKyAgICAgICAgICAgIHdh
aXQ9WyctLXdhaXQtYXBwcyddLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBk
ZWYgZGVmYXVsdChjbHMpOgorICAgICAgICBmcm9tIHdoaWNoY3JhZnQgaW1wb3J0IHdoaWNoCisg
ICAgICAgIHBhdGggPSB3aGljaCgnb3BlbicpCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAg
ICAgICBuYW1lPSdvcGVuJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAgICAgICAgICAgIGNv
bW1hbmQ9W3BhdGgsICctdCddLAorICAgICAgICAgICAgd2FpdD1bJy0td2FpdC1hcHBzJ10sCisg
ICAgICAgICkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBwcmVmZXJyZWQoY2xzKToKKyAg
ICAgICAgZm9yIHByb2dyYW0gaW4gY2xzLnByb2dyYW1zKCk6CisgICAgICAgICAgICBpZiBwcm9n
cmFtOgorICAgICAgICAgICAgICAgIHJldHVybiBwcm9ncmFtCisgICAgICAgIHJldHVybiBjbHMu
ZGVmYXVsdCgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYnlfbmFtZShjbHMsIG5hbWUp
OgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJvZ3JhbXMoKToKKyAgICAgICAgICAgIGlm
IHByb2dyYW0ubmFtZS5sb3dlcigpLnN0YXJ0c3dpdGgobmFtZS5sb3dlcigpKToKKyAgICAgICAg
ICAgICAgICByZXR1cm4gcHJvZ3JhbQorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgQGNsYXNz
bWV0aG9kCisgICAgZGVmIHByb2dyYW1zKGNscywgZXhpc3RzPVRydWUpOgorICAgICAgICBmb3Ig
cHJvZ3JhbSBpbiBbCisgICAgICAgICAgICBFZGl0b3Iuc3VibGltZSgpLAorICAgICAgICAgICAg
RWRpdG9yLnRleHRtYXRlKCksCisgICAgICAgICAgICBFZGl0b3IuYXRvbSgpLAorICAgICAgICAg
ICAgRWRpdG9yLnhjb2RlKCksCisgICAgICAgICAgICBFZGl0b3IudGV4dGVkaXQoKSwKKyAgICAg
ICAgICAgIEVkaXRvci5kZWZhdWx0KCksCisgICAgICAgIF06CisgICAgICAgICAgICBpZiBub3Qg
ZXhpc3RzIG9yIHByb2dyYW06CisgICAgICAgICAgICAgICAgeWllbGQgcHJvZ3JhbQorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhdGgsIGNvbW1hbmQ9Tm9uZSwgd2FpdD1Ob25lKToK
KyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAg
ICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQgb3IgW3NlbGYucGF0aF0KKyAgICAgICAgc2VsZi53
YWl0ID0gc2VsZi5jb21tYW5kICsgKHdhaXQgb3IgW10pCisKKyAgICBAaHlicmlkbWV0aG9kCisg
ICAgZGVmIG9wZW4oY29udGV4dCwgZmlsZSwgYmxvY2s9RmFsc2UpOgorICAgICAgICBpZiBpc2lu
c3RhbmNlKGNvbnRleHQsIHR5cGUpOgorICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQucHJl
ZmVycmVkKCkKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29udGV4dC5wYXRoKToK
KyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gbm90IHJ1bigoY29udGV4
dC53YWl0IGlmIGJsb2NrIGVsc2UgY29udGV4dC5jb21tYW5kKSArIFtmaWxlXSwgY2FwdHVyZV9v
dXRwdXQ9VHJ1ZSkucmV0dXJuY29kZQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAg
ICByZXR1cm4gc2VsZi5uYW1lCisKKyAgICBkZWYgX19ib29sX18oc2VsZik6CisgICAgICAgIHJl
dHVybiBvcy5wYXRoLmlzZmlsZShzZWxmLnBhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3NldHVwLnB5CmluZGV4IDRjZWU1ZWNlNjhkNGU2ZGYxMTkwNjUyYjQ4ZGY1
ZmQzZWViNzQxNWEuLmNkNjQxODQ0NGVjZjdhNGEwNTU1YThjODNmZmI5MDczNGI3NmJhODYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CkBAIC0yOSw3
ICsyOSw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0dXAoCiAgICAgbmFtZT0nd2Via2l0c2NtcHkn
LAotICAgIHZlcnNpb249JzEuMS4wJywKKyAgICB2ZXJzaW9uPScxLjEuMScsCiAgICAgZGVzY3Jp
cHRpb249J0xpYnJhcnkgZGVzaWduZWQgdG8gaW50ZXJhY3Qgd2l0aCBnaXQgYW5kIHN2biByZXBv
c2l0b3JpZXMuJywKICAgICBsb25nX2Rlc2NyaXB0aW9uPXJlYWRtZSgpLAogICAgIGNsYXNzaWZp
ZXJzPVsKQEAgLTU4LDcgKzU4LDcgQEAgc2V0dXAoCiAgICAgICAgICd3ZWJraXRzY21weS50ZXN0
JywKICAgICBdLAogICAgIHNjcmlwdHM9WydnaXQtd2Via2l0J10sCi0gICAgaW5zdGFsbF9yZXF1
aXJlcz1bJ2Zhc3RlbmVycycsICdtb25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3doaWNoY3Jh
ZnQnLCAneG1sdG9kaWN0J10sCisgICAgaW5zdGFsbF9yZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdt
b25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3htbHRvZGljdCddLAogICAgIGluY2x1ZGVfcGFj
a2FnZV9kYXRhPVRydWUsCiAgICAgemlwX3NhZmU9RmFsc2UsCiApCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRfXy5weSBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9f
LnB5CmluZGV4IDMwMTYwNGRlODY5OTQzZWQyZDAzYjVmOWVhMmJlMWQ4MDE2YjkxYWYuLmUwNGJi
MjliM2ZlNDIzOTVlYWM0NzVjOTEyZDA3YzI0MjM3YjE1NmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9f
LnB5CkBAIC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgIlBsZWFz
ZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3JlcHkgLS1l
eHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJzaW9uID0g
VmVyc2lvbigxLCAxLCAwKQordmVyc2lvbiA9IFZlcnNpb24oMSwgMSwgMSkKIAogQXV0b0luc3Rh
bGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigwLCAxNSwgMCkpKQogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3RvbmljJywgVmVyc2lvbigxLCA1KSkpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS9wcm9ncmFtL3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQppbmRleCBjZTkzZmM4NDM0NWI2MmMxMDRiOWEw
MGQxMzg3YTM4ZWY4YzY4OWRlLi42YzgxMTMyODhmNGFjN2Y4NTJhYWEzMzcyNmY2ZGEwNGY4Mjlh
NDE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9wcm9ncmFtL3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkKQEAgLTI1LDcgKzI1LDcgQEAg
aW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9ydCBDb21tYW5kCiBmcm9tIHJlcXVlc3Rz
LmF1dGggaW1wb3J0IEhUVFBCYXNpY0F1dGgKLWZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBhcmd1
bWVudHMsIHJ1biwgVGVybWluYWwKK2Zyb20gd2Via2l0Y29yZXB5IGltcG9ydCBhcmd1bWVudHMs
IHJ1biwgRWRpdG9yLCBUZXJtaW5hbAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgbG9nLCBsb2Nh
bCwgcmVtb3RlCiAKIApAQCAtMTQxLDYgKzE0MSwyNSBAQCBjbGFzcyBTZXR1cChDb21tYW5kKToK
ICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0ZhaWxlZCB0byB1c2Uge30gYXMgdGhlIG1l
cmdlIHN0cmF0ZWd5XG4nLmZvcm1hdCgnbWVyZ2UgY29tbWl0cycgaWYgYXJncy5tZXJnZSBlbHNl
ICdyZWJhc2UnKSkKICAgICAgICAgICAgIHJlc3VsdCArPSAxCiAKKyAgICAgICAgbG9nLndhcm5p
bmcoJ1NldHRpbmcgZ2l0IGVkaXRvciBmb3Ige30uLi4nLmZvcm1hdChyZXBvc2l0b3J5LnJvb3Rf
cGF0aCkpCisgICAgICAgIGVkaXRvcl9uYW1lID0gJ2RlZmF1bHQnIGlmIGFyZ3MuZGVmYXVsdHMg
ZWxzZSBUZXJtaW5hbC5jaG9vc2UoCisgICAgICAgICAgICAnUGljayBhIGNvbW1pdCBtZXNzYWdl
IGVkaXRvcicsCisgICAgICAgICAgICBvcHRpb25zPVsnZGVmYXVsdCddICsgW3Byb2dyYW0ubmFt
ZSBmb3IgcHJvZ3JhbSBpbiBFZGl0b3IucHJvZ3JhbXMoKV0sCisgICAgICAgICAgICBkZWZhdWx0
PSdkZWZhdWx0JywKKyAgICAgICAgICAgIG51bWJlcmVkPVRydWUsCisgICAgICAgICkKKyAgICAg
ICAgaWYgZWRpdG9yX25hbWUgPT0gJ2RlZmF1bHQnOgorICAgICAgICAgICAgbG9nLndhcm5pbmco
J1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0b3InKQorICAgICAgICBlbGlmIHJ1bigKKyAgICAg
ICAgICAgIFtsb2NhbC5HaXQuZXhlY3V0YWJsZSgpLCAnY29uZmlnJywgJ2NvcmUuZWRpdG9yJywg
JyAnLmpvaW4oW2FyZy5yZXBsYWNlKCcgJywgJ1xcICcpIGZvciBhcmcgaW4gRWRpdG9yLmJ5X25h
bWUoZWRpdG9yX25hbWUpLndhaXRdKV0sCisgICAgICAgICAgICBjYXB0dXJlX291dHB1dD1UcnVl
LAorICAgICAgICAgICAgY3dkPXJlcG9zaXRvcnkucm9vdF9wYXRoLAorICAgICAgICApLnJldHVy
bmNvZGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdGYWlsZWQgdG8gc2V0IHRoZSBn
aXQgZWRpdG9yIHRvIHt9XG4nLmZvcm1hdChlZGl0b3JfbmFtZSkpCisgICAgICAgICAgICByZXN1
bHQgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoIlNldCBnaXQg
ZWRpdG9yIHRvICd7fSciLmZvcm1hdChlZGl0b3JfbmFtZSkpCisKICAgICAgICAgIyBPbmx5IGNv
bmZpZ3VyZSBHaXRIdWIgaWYgdGhlIFVSTCBpcyBhIEdpdEh1YiBVUkwKICAgICAgICAgcm10ID0g
cmVwb3NpdG9yeS5yZW1vdGUoKQogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShybXQsIHJlbW90
ZS5HaXRIdWIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5k
ZXggNWNhY2ZhZGQ5NTkxMTAxYThhZGNlZGVlNjQ3NTA1OTUwNjc2NGJlYS4uODg3NjVkNjk3NWY0
ZGQ4ODNmZTQ0ZDljNzI4NmQ2ZDVkMDllMWNiYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0
L3NldHVwX3VuaXR0ZXN0LnB5CkBAIC0yMiw4ICsyMiw4IEBACiAKIGltcG9ydCBvcwogCi1mcm9t
IHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVyZSwgdGVzdGluZwotZnJvbSB3ZWJraXRj
b3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1RpbWUsIFRlcm1pbmFsIGFzIE1vY2tUZXJt
aW5hbAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IEVkaXRvciwgT3V0cHV0Q2FwdHVyZSwgdGVz
dGluZworZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRlcm1pbmFsIGFzIE1vY2tUZXJt
aW5hbAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgcHJvZ3JhbSwgbW9ja3MKIAogCkBAIC02Miw2
ICs2Miw3IEBAIENyZWF0ZWQgYSBwcml2YXRlIGZvcmsgb2YgJ1dlYktpdCcgYmVsb25naW5nIHRv
ICd1c2VybmFtZSchCiAgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X2dpdChzZWxmKToKKyAgICAg
ICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUoKSBhcyBj
YXB0dXJlZCwgbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCkgYXMgcmVwbywgbW9ja3MubG9jYWwu
U3ZuKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0ubWFpbigKICAg
ICAgICAgICAgICAgICBhcmdzPSgnc2V0dXAnLCAnLS1kZWZhdWx0cycpLApAQCAtODcsMTIgKzg4
LDE0IEBAIFNldCBnaXQgdXNlciBuYW1lIHRvICdUaW0gQXBwbGUnCiBTZXR0aW5nIGJldHRlciBP
YmplY3RpdmUtQyBkaWZmaW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVjdGl2ZS1DIGRp
ZmZpbmcgYmVoYXZpb3IhCiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQorU2V0dGluZyBn
aXQgZWRpdG9yIGZvciB7cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0
b3IKICcnJy5mb3JtYXQocmVwb3NpdG9yeT1zZWxmLnBhdGgpLAogICAgICAgICApCiAKICAgICBk
ZWYgdGVzdF9naXRodWJfY2hlY2tvdXQoc2VsZik6CiAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVy
ZSgpIGFzIGNhcHR1cmVkLCBtb2Nrcy5yZW1vdGUuR2l0SHViKCkgYXMgcmVtb3RlLCBcCi0gICAg
ICAgICAgICBNb2NrVGVybWluYWwuaW5wdXQoJ24nLCAnY29tbWl0dGVyQHdlYmtpdC5vcmcnLCAn
bicsICdDb21taXR0ZXInLCAnbicsICd5JyksIFwKKyAgICAgICAgICAgIE1vY2tUZXJtaW5hbC5p
bnB1dCgnbicsICdjb21taXR0ZXJAd2Via2l0Lm9yZycsICduJywgJ0NvbW1pdHRlcicsICduJywg
JzEnLCAneScpLCBcCiAgICAgICAgICAgICBtb2Nrcy5sb2NhbC5HaXQoc2VsZi5wYXRoLCByZW1v
dGU9J2h0dHBzOi8ve30nLmZvcm1hdChyZW1vdGUucmVtb3RlKSkgYXMgcmVwbzoKIAogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCkBAIC0xMDUsNiArMTA4LDcg
QEAgVXNpbmcgYSByZWJhc2UgbWVyZ2Ugc3RyYXRlZ3kKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoJ0NvbW1pdHRlcicsIGNvbmZpZy5nZXQoJ3VzZXIubmFtZScsICcnKSkKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2NvbW1pdHRlckB3ZWJraXQub3JnJywgY29uZmlnLmdldCgn
dXNlci5lbWFpbCcsICcnKSkKIAorICAgICAgICBwcm9ncmFtcyA9IFsnZGVmYXVsdCddICsgW3By
b2dyYW0ubmFtZSBmb3IgcHJvZ3JhbSBpbiBFZGl0b3IucHJvZ3JhbXMoKV0KICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNhcHR1cmVkLnN0ZG91dC5nZXR2YWx1ZSgpLAog
ICAgICAgICAgICAgJycnU2V0ICd0YXBwbGVAd2Via2l0Lm9yZycgYXMgdGhlIGdpdCB1c2VyIGVt
YWlsIChZZXMvTm8pOiAKQEAgLTExMiw4ICsxMTYsMTEgQEAgR2l0IHVzZXIgZW1haWw6CiBTZXQg
J1RpbSBBcHBsZScgYXMgdGhlIGdpdCB1c2VyIG5hbWUgKFllcy9Obyk6IAogR2l0IHVzZXIgbmFt
ZTogCiBBdXRvLWNvbG9yIHN0YXR1cywgZGlmZiwgYW5kIGJyYW5jaD8gKFllcy9Obyk6IAorUGlj
ayBhIGNvbW1pdCBtZXNzYWdlIGVkaXRvcjoKKyAgICB7fQorOiAKIENyZWF0ZSBhIHByaXZhdGUg
Zm9yayBvZiAnV2ViS2l0JyBiZWxvbmdpbmcgdG8gJ3VzZXJuYW1lJyAoWWVzL05vKTogCi0nJycp
CisnJycuZm9ybWF0KCdcbiAgICAnLmpvaW4oWyd7fSkge30nLmZvcm1hdChjb3VudCArIDEsIHBy
b2dyYW1zW2NvdW50XSkgZm9yIGNvdW50IGluIHJhbmdlKGxlbihwcm9ncmFtcykpXSkpKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGNhcHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKICAg
ICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAt
MTI1LDYgKzEzMiw4IEBAIFNldCBnaXQgdXNlciBuYW1lIHRvICdDb21taXR0ZXInCiBTZXR0aW5n
IGJldHRlciBPYmplY3RpdmUtQyBkaWZmaW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVj
dGl2ZS1DIGRpZmZpbmcgYmVoYXZpb3IhCiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQor
U2V0dGluZyBnaXQgZWRpdG9yIGZvciB7cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0
IGdpdCBlZGl0b3IKIFNhdmluZyBHaXRIdWIgY3JlZGVudGlhbHMgaW4gc3lzdGVtIGNyZWRlbnRp
YWwgc3RvcmUuLi4KIEdpdEh1YiBjcmVkZW50aWFscyBzYXZlZCB2aWEgS2V5cmluZyEKIFZlcmlm
eWluZyB1c2VyIG93bmVkIGZvcmsuLi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435314</attachid>
            <date>2021-08-10 16:53:09 -0700</date>
            <delta_ts>2021-08-31 15:45:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228867-20210810165308.patch</filename>
            <type>text/plain</type>
            <size>15237</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODcwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYzZDI1YTRlNWNlMTFkNTY3NjE5NmFmODliN2JkNmFm
NjZjMGZkZi4uNDcxMDcxNzM5ZDliMTg4ZWM5OTY0YmFmMDI3NjgyOWVkZGQ3ZjlmYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTA4LTEwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbZ2l0LXdlYmtpdF0gQWRkIGF1dG9tYXRpYyBFZGl0b3IgY29uZmlndXJhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODY3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTYyMTk5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCBhZGQgd2hpY2hjcmFmdC4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5OiBEaXR0
by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5
L2VkaXRvci5weTogQWRkZWQuCisgICAgICAgIChFZGl0b3IpOiBDbGFzcyByZXByZXNlbnRpbmcg
YSB0ZXh0IGVkaXRvciAKKyAgICAgICAgKEVkaXRvci5hdG9tKToKKyAgICAgICAgKEVkaXRvci5z
dWJsaW1lKToKKyAgICAgICAgKEVkaXRvci50ZXh0bWF0ZSk6CisgICAgICAgIChFZGl0b3IueGNv
ZGUpOgorICAgICAgICAoRWRpdG9yLnRleHRlZGl0KToKKyAgICAgICAgKEVkaXRvci5kZWZhdWx0
KTogU3lzdGVtJ3MgZGVmYXVsdCB0ZXh0IGVkaXRvci4KKyAgICAgICAgKEVkaXRvci5wcmVmZXJy
ZWQpOiBVc2VyJ3MgcHJlZmVyZWQgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuYnlfbmFt
ZSk6IFNlYXJjaCBmb3IgdGV4dCBlZGl0b3IgYnkgbmFtZS4KKyAgICAgICAgKEVkaXRvci5wcm9n
cmFtcyk6IExpc3QgYWxsIGF2YWlsYWJsZSB0ZXh0IGVkaXRvciBwcm9ncmFtcyBvbiB0aGlzIG1h
Y2hpbmUuCisgICAgICAgIChFZGl0b3IuX19pbml0X18pOgorICAgICAgICAoRWRpdG9yLm9wZW4p
OiBPcGVuIGEgZmlsZSB3aXRoIGEgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuX19yZXBy
X18pOgorICAgICAgICAoRWRpdG9yLl9fYm9vbF9fKToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCByZW1vdmUgd2hpY2hjcmFm
dC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weToKKyAgICAgICAgKFNldHVwLmdpdCk6IFBy
b21wdCB1c2VyIGFuZCBzZXQgY29tbWl0IGxvZyBlZGl0b3IuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weToK
KwogMjAyMS0wOC0wOSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW3Jlc3VsdHNkYnB5XSBBZGQgcmVzdWx0cy1zdW1tYXJ5IEFQSQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5IGIvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CmluZGV4IDQwNzMwZWY5OTU1Yzg1
ODJhZTcxNWU0YWVmMzA5NzhhOGQ4M2JiZmIuLjU5ZjA4YjUxYTc1OWYzOTRiZDUyOTcxYTFjNGVk
Y2E5MjRjMGY3NzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNv
cmVweS9zZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkv
c2V0dXAucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MzAsNyArMzAsNyBAQCBkZWYgcmVhZG1lKCk6CiAKIHNldHVwKAogICAgIG5hbWU9J3dlYmtpdGNv
cmVweScsCi0gICAgdmVyc2lvbj0nMC44LjInLAorICAgIHZlcnNpb249JzAuOC4zJywKICAgICBk
ZXNjcmlwdGlvbj0nTGlicmFyeSBjb250YWluaW5nIHZhcmlvdXMgUHl0aG9uIHN1cHBvcnQgY2xh
c3NlcyBhbmQgZnVuY3Rpb25zLicsCiAgICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAg
ICBjbGFzc2lmaWVycz1bCkBAIC01Nyw2ICs1Nyw3IEBAIHNldHVwKAogICAgICAgICAnbW9jaycs
CiAgICAgICAgICdyZXF1ZXN0cycsCiAgICAgICAgICdzaXgnLAorICAgICAgICAnd2hpY2hjcmFm
dCcsCiAgICAgXSwKICAgICBpbmNsdWRlX3BhY2thZ2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZl
PUZhbHNlLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5
L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKaW5kZXggOWVhMWMyN2JkODVhZGVhOTY0
OGE1MTc5NGYwOTU3YzA4M2RiOWY4ZC4uZDk1YzY0Yzg0NzNmMjg1NTQ3ZDFlNWU2MzE0MzEwNjY0
MjYwOTcyOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5
L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CkBAIC0zOSw4ICszOSw5IEBAIGZy
b20gd2Via2l0Y29yZXB5LnRlcm1pbmFsIGltcG9ydCBUZXJtaW5hbAogZnJvbSB3ZWJraXRjb3Jl
cHkuY3JlZGVudGlhbHMgaW1wb3J0IGNyZWRlbnRpYWxzCiBmcm9tIHdlYmtpdGNvcmVweS5tZWFz
dXJlX3RpbWUgaW1wb3J0IE1lYXN1cmVUaW1lCiBmcm9tIHdlYmtpdGNvcmVweS5uZXN0ZWRfZnV6
enlfZGljdCBpbXBvcnQgTmVzdGVkRnV6enlEaWN0Citmcm9tIHdlYmtpdGNvcmVweS5lZGl0b3Ig
aW1wb3J0IEVkaXRvcgogCi12ZXJzaW9uID0gVmVyc2lvbigwLCA4LCAyKQordmVyc2lvbiA9IFZl
cnNpb24oMCwgOCwgMykKIAogZnJvbSB3ZWJraXRjb3JlcHkuYXV0b2luc3RhbGwgaW1wb3J0IFBh
Y2thZ2UsIEF1dG9JbnN0YWxsCiBpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApOgpAQCAtNjgs
NiArNjksNyBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBWZXJzaW9uKDEs
IDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0YmxpYicsIFZlcnNpb24o
MSwgNywgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndXJsbGliMycsIFZlcnNp
b24oMSwgMjUsIDEwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aGVlbCcsIFZl
cnNpb24oMCwgMzUsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3doaWNoY3Jh
ZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKIAogIyBUaGlzIGlzIG5lZWRlZCBmb3IgcHl0aG9uLWtl
eXJpbmcuCiBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JzoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvZWRpdG9yLnB5IGIvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9lZGl0b3IucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmRiNjA2NjUxNTk5ZTZiN2Q4YWEzOWJkNzMxNTFiZTU2YTgyMjFjNAotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJr
aXRjb3JlcHkvZWRpdG9yLnB5CkBAIC0wLDAgKzEsMTMzIEBACisjIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKKworZnJvbSB3ZWJraXRjb3JlcHkuc3VicHJv
Y2Vzc191dGlscyBpbXBvcnQgcnVuCitmcm9tIHdlYmtpdGNvcmVweS5kZWNvcmF0b3JzIGltcG9y
dCBoeWJyaWRtZXRob2QKKworCitjbGFzcyBFZGl0b3Iob2JqZWN0KToKKyAgICBAY2xhc3NtZXRo
b2QKKyAgICBkZWYgYXRvbShjbHMpOgorICAgICAgICByZXR1cm4gY2xzKAorICAgICAgICAgICAg
bmFtZT0nQXRvbScsCisgICAgICAgICAgICBwYXRoPScvQXBwbGljYXRpb25zL0F0b20uYXBwL0Nv
bnRlbnRzL1Jlc291cmNlcy9hcHAvYXRvbS5zaCcsCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwK
KyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHN1YmxpbWUoY2xzKToKKyAg
ICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAgICAgICBwYXRoID0gd2hpY2go
J3N1YmwnKSBvciAnL0FwcGxpY2F0aW9ucy9TdWJsaW1lIFRleHQuYXBwL0NvbnRlbnRzL1NoYXJl
ZFN1cHBvcnQvYmluL3N1YmwnCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1l
PSdTdWJsaW1lJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAgICAgICAgICAgIGNvbW1hbmQ9
W3BhdGgsICctbiddLAorICAgICAgICAgICAgd2FpdD1bJy13J10sCisgICAgICAgICkKKworICAg
IEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZXh0bWF0ZShjbHMpOgorICAgICAgICBmcm9tIHdoaWNo
Y3JhZnQgaW1wb3J0IHdoaWNoCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1l
PSdUZXh0TWF0ZScsCisgICAgICAgICAgICBwYXRoPXdoaWNoKCdtYXRlJykgb3IgJy9BcHBsaWNh
dGlvbnMvVGV4dE1hdGUuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9tYXRlJywKKyAgICAgICAgICAg
IHdhaXQ9WyctdyddLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgeGNv
ZGUoY2xzKToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAgICAgICBy
ZXR1cm4gY2xzKAorICAgICAgICAgICAgbmFtZT0nWGNvZGUnLAorICAgICAgICAgICAgcGF0aD13
aGljaCgneGVkJykgb3IgJy9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci91c3IvYmluL3hlZCcsCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwKKyAgICAgICAgKQorCisg
ICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRleHRlZGl0KGNscyk6CisgICAgICAgIHJldHVybiBj
bHMoCisgICAgICAgICAgICBuYW1lPSdUZXh0RWRpdCcsCisgICAgICAgICAgICBwYXRoPScvU3lz
dGVtL0FwcGxpY2F0aW9ucy9UZXh0RWRpdC5hcHAvQ29udGVudHMvTWFjT1MvVGV4dEVkaXQnLAor
ICAgICAgICAgICAgY29tbWFuZD1bJ29wZW4nLCAnLWEnLCAnVGV4dEVkaXQnXSwKKyAgICAgICAg
ICAgIHdhaXQ9WyctLXdhaXQtYXBwcyddLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRob2QK
KyAgICBkZWYgZGVmYXVsdChjbHMpOgorICAgICAgICBmcm9tIHdoaWNoY3JhZnQgaW1wb3J0IHdo
aWNoCisgICAgICAgIHBhdGggPSB3aGljaCgnb3BlbicpCisgICAgICAgIHJldHVybiBjbHMoCisg
ICAgICAgICAgICBuYW1lPSdvcGVuJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAgICAgICAg
ICAgIGNvbW1hbmQ9W3BhdGgsICctdCddLAorICAgICAgICAgICAgd2FpdD1bJy0td2FpdC1hcHBz
J10sCisgICAgICAgICkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBwcmVmZXJyZWQoY2xz
KToKKyAgICAgICAgZm9yIHByb2dyYW0gaW4gY2xzLnByb2dyYW1zKCk6CisgICAgICAgICAgICBp
ZiBwcm9ncmFtOgorICAgICAgICAgICAgICAgIHJldHVybiBwcm9ncmFtCisgICAgICAgIHJldHVy
biBjbHMuZGVmYXVsdCgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYnlfbmFtZShjbHMs
IG5hbWUpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJvZ3JhbXMoKToKKyAgICAgICAg
ICAgIGlmIHByb2dyYW0ubmFtZS5sb3dlcigpLnN0YXJ0c3dpdGgobmFtZS5sb3dlcigpKToKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcHJvZ3JhbQorICAgICAgICByZXR1cm4gTm9uZQorCisgICAg
QGNsYXNzbWV0aG9kCisgICAgZGVmIHByb2dyYW1zKGNscywgZXhpc3RzPVRydWUpOgorICAgICAg
ICBmb3IgcHJvZ3JhbSBpbiBbCisgICAgICAgICAgICBFZGl0b3Iuc3VibGltZSgpLAorICAgICAg
ICAgICAgRWRpdG9yLnRleHRtYXRlKCksCisgICAgICAgICAgICBFZGl0b3IuYXRvbSgpLAorICAg
ICAgICAgICAgRWRpdG9yLnhjb2RlKCksCisgICAgICAgICAgICBFZGl0b3IudGV4dGVkaXQoKSwK
KyAgICAgICAgICAgIEVkaXRvci5kZWZhdWx0KCksCisgICAgICAgIF06CisgICAgICAgICAgICBp
ZiBub3QgZXhpc3RzIG9yIHByb2dyYW06CisgICAgICAgICAgICAgICAgeWllbGQgcHJvZ3JhbQor
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhdGgsIGNvbW1hbmQ9Tm9uZSwgd2FpdD1O
b25lKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLnBhdGggPSBwYXRo
CisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQgb3IgW3NlbGYucGF0aF0KKyAgICAgICAg
c2VsZi53YWl0ID0gc2VsZi5jb21tYW5kICsgKHdhaXQgb3IgW10pCisKKyAgICBAaHlicmlkbWV0
aG9kCisgICAgZGVmIG9wZW4oY29udGV4dCwgZmlsZSwgYmxvY2s9RmFsc2UpOgorICAgICAgICBp
ZiBpc2luc3RhbmNlKGNvbnRleHQsIHR5cGUpOgorICAgICAgICAgICAgY29udGV4dCA9IGNvbnRl
eHQucHJlZmVycmVkKCkKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29udGV4dC5w
YXRoKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gbm90IHJ1bigo
Y29udGV4dC53YWl0IGlmIGJsb2NrIGVsc2UgY29udGV4dC5jb21tYW5kKSArIFtmaWxlXSwgY2Fw
dHVyZV9vdXRwdXQ9VHJ1ZSkucmV0dXJuY29kZQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgor
ICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisKKyAgICBkZWYgX19ib29sX18oc2VsZik6CisgICAg
ICAgIHJldHVybiBvcy5wYXRoLmlzZmlsZShzZWxmLnBhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weSBiL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CmluZGV4IDgxMDMzYWJkY2JiOTE0NGQ0Y2UzY2I2
NTI4YmE0NzU2ODkxZjA1YjIuLmRlMGNmMTRlYzNjMjI4NjE5YWYwYjExNmRkYmMyZjM1ZWNkYWM0
MGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVw
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CkBA
IC0yOSw3ICsyOSw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0dXAoCiAgICAgbmFtZT0nd2Via2l0
c2NtcHknLAotICAgIHZlcnNpb249JzEuMS4xJywKKyAgICB2ZXJzaW9uPScxLjEuMicsCiAgICAg
ZGVzY3JpcHRpb249J0xpYnJhcnkgZGVzaWduZWQgdG8gaW50ZXJhY3Qgd2l0aCBnaXQgYW5kIHN2
biByZXBvc2l0b3JpZXMuJywKICAgICBsb25nX2Rlc2NyaXB0aW9uPXJlYWRtZSgpLAogICAgIGNs
YXNzaWZpZXJzPVsKQEAgLTU4LDcgKzU4LDcgQEAgc2V0dXAoCiAgICAgICAgICd3ZWJraXRzY21w
eS50ZXN0JywKICAgICBdLAogICAgIHNjcmlwdHM9WydnaXQtd2Via2l0J10sCi0gICAgaW5zdGFs
bF9yZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdtb25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3do
aWNoY3JhZnQnLCAneG1sdG9kaWN0J10sCisgICAgaW5zdGFsbF9yZXF1aXJlcz1bJ2Zhc3RlbmVy
cycsICdtb25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3htbHRvZGljdCddLAogICAgIGluY2x1
ZGVfcGFja2FnZV9kYXRhPVRydWUsCiAgICAgemlwX3NhZmU9RmFsc2UsCiApCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2luaXRf
Xy5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19f
aW5pdF9fLnB5CmluZGV4IGUwNGJiMjliM2ZlNDIzOTVlYWM0NzVjOTEyZDA3YzI0MjM3YjE1NmYu
LjlkYjI1NDMzYjkxNDJhMDNmODZkMzFmOWZhMDZkMzExYTRmZTUxNzkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L19f
aW5pdF9fLnB5CkBAIC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAg
IlBsZWFzZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAgaW5zdGFsbCB3ZWJraXRjb3Jl
cHkgLS1leHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJMPmAiCiAgICAgKQogCi12ZXJz
aW9uID0gVmVyc2lvbigxLCAxLCAxKQordmVyc2lvbiA9IFZlcnNpb24oMSwgMSwgMikKIAogQXV0
b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigwLCAxNSwgMCkp
KQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3RvbmljJywgVmVyc2lvbigxLCA1
KSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9wcm9ncmFtL3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQppbmRleCBjZTkzZmM4NDM0NWI2MmMx
MDRiOWEwMGQxMzg3YTM4ZWY4YzY4OWRlLi42YzgxMTMyODhmNGFjN2Y4NTJhYWEzMzcyNmY2ZGEw
NGY4MjlhNDE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHkKQEAgLTI1LDcgKzI1
LDcgQEAgaW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9ydCBDb21tYW5kCiBmcm9tIHJl
cXVlc3RzLmF1dGggaW1wb3J0IEhUVFBCYXNpY0F1dGgKLWZyb20gd2Via2l0Y29yZXB5IGltcG9y
dCBhcmd1bWVudHMsIHJ1biwgVGVybWluYWwKK2Zyb20gd2Via2l0Y29yZXB5IGltcG9ydCBhcmd1
bWVudHMsIHJ1biwgRWRpdG9yLCBUZXJtaW5hbAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgbG9n
LCBsb2NhbCwgcmVtb3RlCiAKIApAQCAtMTQxLDYgKzE0MSwyNSBAQCBjbGFzcyBTZXR1cChDb21t
YW5kKToKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0ZhaWxlZCB0byB1c2Uge30gYXMg
dGhlIG1lcmdlIHN0cmF0ZWd5XG4nLmZvcm1hdCgnbWVyZ2UgY29tbWl0cycgaWYgYXJncy5tZXJn
ZSBlbHNlICdyZWJhc2UnKSkKICAgICAgICAgICAgIHJlc3VsdCArPSAxCiAKKyAgICAgICAgbG9n
Lndhcm5pbmcoJ1NldHRpbmcgZ2l0IGVkaXRvciBmb3Ige30uLi4nLmZvcm1hdChyZXBvc2l0b3J5
LnJvb3RfcGF0aCkpCisgICAgICAgIGVkaXRvcl9uYW1lID0gJ2RlZmF1bHQnIGlmIGFyZ3MuZGVm
YXVsdHMgZWxzZSBUZXJtaW5hbC5jaG9vc2UoCisgICAgICAgICAgICAnUGljayBhIGNvbW1pdCBt
ZXNzYWdlIGVkaXRvcicsCisgICAgICAgICAgICBvcHRpb25zPVsnZGVmYXVsdCddICsgW3Byb2dy
YW0ubmFtZSBmb3IgcHJvZ3JhbSBpbiBFZGl0b3IucHJvZ3JhbXMoKV0sCisgICAgICAgICAgICBk
ZWZhdWx0PSdkZWZhdWx0JywKKyAgICAgICAgICAgIG51bWJlcmVkPVRydWUsCisgICAgICAgICkK
KyAgICAgICAgaWYgZWRpdG9yX25hbWUgPT0gJ2RlZmF1bHQnOgorICAgICAgICAgICAgbG9nLndh
cm5pbmcoJ1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0b3InKQorICAgICAgICBlbGlmIHJ1bigK
KyAgICAgICAgICAgIFtsb2NhbC5HaXQuZXhlY3V0YWJsZSgpLCAnY29uZmlnJywgJ2NvcmUuZWRp
dG9yJywgJyAnLmpvaW4oW2FyZy5yZXBsYWNlKCcgJywgJ1xcICcpIGZvciBhcmcgaW4gRWRpdG9y
LmJ5X25hbWUoZWRpdG9yX25hbWUpLndhaXRdKV0sCisgICAgICAgICAgICBjYXB0dXJlX291dHB1
dD1UcnVlLAorICAgICAgICAgICAgY3dkPXJlcG9zaXRvcnkucm9vdF9wYXRoLAorICAgICAgICAp
LnJldHVybmNvZGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdGYWlsZWQgdG8gc2V0
IHRoZSBnaXQgZWRpdG9yIHRvIHt9XG4nLmZvcm1hdChlZGl0b3JfbmFtZSkpCisgICAgICAgICAg
ICByZXN1bHQgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoIlNl
dCBnaXQgZWRpdG9yIHRvICd7fSciLmZvcm1hdChlZGl0b3JfbmFtZSkpCisKICAgICAgICAgIyBP
bmx5IGNvbmZpZ3VyZSBHaXRIdWIgaWYgdGhlIFVSTCBpcyBhIEdpdEh1YiBVUkwKICAgICAgICAg
cm10ID0gcmVwb3NpdG9yeS5yZW1vdGUoKQogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShybXQs
IHJlbW90ZS5HaXRIdWIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3Qu
cHkKaW5kZXggNWNhY2ZhZGQ5NTkxMTAxYThhZGNlZGVlNjQ3NTA1OTUwNjc2NGJlYS4uOThjNDQw
MjliOTViNDhlMDk3ODk5Y2YyMzRmMzM5YWNlMTE4YzcxMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21w
eS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5CkBAIC0yMiw4ICsyMiw4IEBACiAKIGltcG9ydCBvcwog
Ci1mcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVyZSwgdGVzdGluZwotZnJvbSB3
ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1RpbWUsIFRlcm1pbmFsIGFzIE1v
Y2tUZXJtaW5hbAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IEVkaXRvciwgT3V0cHV0Q2FwdHVy
ZSwgdGVzdGluZworZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRlcm1pbmFsIGFzIE1v
Y2tUZXJtaW5hbAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgcHJvZ3JhbSwgbW9ja3MKIAogCkBA
IC02Miw2ICs2Miw3IEBAIENyZWF0ZWQgYSBwcml2YXRlIGZvcmsgb2YgJ1dlYktpdCcgYmVsb25n
aW5nIHRvICd1c2VybmFtZSchCiAgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X2dpdChzZWxmKToK
KyAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICB3aXRoIE91dHB1dENhcHR1cmUo
KSBhcyBjYXB0dXJlZCwgbW9ja3MubG9jYWwuR2l0KHNlbGYucGF0aCkgYXMgcmVwbywgbW9ja3Mu
bG9jYWwuU3ZuKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHByb2dyYW0ubWFp
bigKICAgICAgICAgICAgICAgICBhcmdzPSgnc2V0dXAnLCAnLS1kZWZhdWx0cycpLApAQCAtODcs
MTIgKzg4LDE0IEBAIFNldCBnaXQgdXNlciBuYW1lIHRvICdUaW0gQXBwbGUnCiBTZXR0aW5nIGJl
dHRlciBPYmplY3RpdmUtQyBkaWZmaW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVjdGl2
ZS1DIGRpZmZpbmcgYmVoYXZpb3IhCiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQorU2V0
dGluZyBnaXQgZWRpdG9yIGZvciB7cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0IGdp
dCBlZGl0b3IKICcnJy5mb3JtYXQocmVwb3NpdG9yeT1zZWxmLnBhdGgpLAogICAgICAgICApCiAK
ICAgICBkZWYgdGVzdF9naXRodWJfY2hlY2tvdXQoc2VsZik6CiAgICAgICAgIHdpdGggT3V0cHV0
Q2FwdHVyZSgpIGFzIGNhcHR1cmVkLCBtb2Nrcy5yZW1vdGUuR2l0SHViKCkgYXMgcmVtb3RlLCBc
Ci0gICAgICAgICAgICBNb2NrVGVybWluYWwuaW5wdXQoJ24nLCAnY29tbWl0dGVyQHdlYmtpdC5v
cmcnLCAnbicsICdDb21taXR0ZXInLCAnbicsICd5JyksIFwKKyAgICAgICAgICAgIE1vY2tUZXJt
aW5hbC5pbnB1dCgnbicsICdjb21taXR0ZXJAd2Via2l0Lm9yZycsICduJywgJ0NvbW1pdHRlcics
ICduJywgJzEnLCAneScpLCBcCiAgICAgICAgICAgICBtb2Nrcy5sb2NhbC5HaXQoc2VsZi5wYXRo
LCByZW1vdGU9J2h0dHBzOi8ve30nLmZvcm1hdChyZW1vdGUucmVtb3RlKSkgYXMgcmVwbzoKIAog
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCkBAIC0xMDUsNiAr
MTA4LDcgQEAgVXNpbmcgYSByZWJhc2UgbWVyZ2Ugc3RyYXRlZ3kKICAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoJ0NvbW1pdHRlcicsIGNvbmZpZy5nZXQoJ3VzZXIubmFtZScsICcnKSkKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2NvbW1pdHRlckB3ZWJraXQub3JnJywgY29uZmln
LmdldCgndXNlci5lbWFpbCcsICcnKSkKIAorICAgICAgICBwcm9ncmFtcyA9IFsnZGVmYXVsdCdd
ICsgW3AubmFtZSBmb3IgcCBpbiBFZGl0b3IucHJvZ3JhbXMoKV0KICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgKICAgICAgICAgICAgIGNhcHR1cmVkLnN0ZG91dC5nZXR2YWx1ZSgpLAogICAgICAg
ICAgICAgJycnU2V0ICd0YXBwbGVAd2Via2l0Lm9yZycgYXMgdGhlIGdpdCB1c2VyIGVtYWlsIChZ
ZXMvTm8pOiAKQEAgLTExMiw4ICsxMTYsMTEgQEAgR2l0IHVzZXIgZW1haWw6CiBTZXQgJ1RpbSBB
cHBsZScgYXMgdGhlIGdpdCB1c2VyIG5hbWUgKFllcy9Obyk6IAogR2l0IHVzZXIgbmFtZTogCiBB
dXRvLWNvbG9yIHN0YXR1cywgZGlmZiwgYW5kIGJyYW5jaD8gKFllcy9Obyk6IAorUGljayBhIGNv
bW1pdCBtZXNzYWdlIGVkaXRvcjoKKyAgICB7fQorOiAKIENyZWF0ZSBhIHByaXZhdGUgZm9yayBv
ZiAnV2ViS2l0JyBiZWxvbmdpbmcgdG8gJ3VzZXJuYW1lJyAoWWVzL05vKTogCi0nJycpCisnJycu
Zm9ybWF0KCdcbiAgICAnLmpvaW4oWyd7fSkge30nLmZvcm1hdChjb3VudCArIDEsIHByb2dyYW1z
W2NvdW50XSkgZm9yIGNvdW50IGluIHJhbmdlKGxlbihwcm9ncmFtcykpXSkpKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGNhcHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKICAgICAgICAg
c2VsZi5tYXhEaWZmID0gTm9uZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAtMTI1LDYg
KzEzMiw4IEBAIFNldCBnaXQgdXNlciBuYW1lIHRvICdDb21taXR0ZXInCiBTZXR0aW5nIGJldHRl
ciBPYmplY3RpdmUtQyBkaWZmaW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVjdGl2ZS1D
IGRpZmZpbmcgYmVoYXZpb3IhCiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQorU2V0dGlu
ZyBnaXQgZWRpdG9yIGZvciB7cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBl
ZGl0b3IKIFNhdmluZyBHaXRIdWIgY3JlZGVudGlhbHMgaW4gc3lzdGVtIGNyZWRlbnRpYWwgc3Rv
cmUuLi4KIEdpdEh1YiBjcmVkZW50aWFscyBzYXZlZCB2aWEgS2V5cmluZyEKIFZlcmlmeWluZyB1
c2VyIG93bmVkIGZvcmsuLi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436954</attachid>
            <date>2021-08-31 15:45:54 -0700</date>
            <delta_ts>2021-09-01 10:17:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228867-20210831154553.patch</filename>
            <type>text/plain</type>
            <size>13338</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWE0YjAyZDNhZjAxZDk2ZmNmMGQzZTA0MDM5MDc3MWJk
NTM0MTdiYy4uYjdlMWExODliNmYxZjQ1ZGYzYzgxYTQxNmQ3M2MzNTY3Y2ZlMmU5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTA4LTMxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbZ2l0LXdlYmtpdF0gQWRkIGF1dG9tYXRpYyBFZGl0b3IgY29uZmlndXJhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODY3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTYyMTk5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCBhZGQgd2hpY2hjcmFmdC4KKyAgICAgICAgKiBTY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5OiBEaXR0
by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5
L2VkaXRvci5weTogQWRkZWQuCisgICAgICAgIChFZGl0b3IpOiBDbGFzcyByZXByZXNlbnRpbmcg
YSB0ZXh0IGVkaXRvciAKKyAgICAgICAgKEVkaXRvci5hdG9tKToKKyAgICAgICAgKEVkaXRvci5z
dWJsaW1lKToKKyAgICAgICAgKEVkaXRvci50ZXh0bWF0ZSk6CisgICAgICAgIChFZGl0b3IueGNv
ZGUpOgorICAgICAgICAoRWRpdG9yLnRleHRlZGl0KToKKyAgICAgICAgKEVkaXRvci5kZWZhdWx0
KTogU3lzdGVtJ3MgZGVmYXVsdCB0ZXh0IGVkaXRvci4KKyAgICAgICAgKEVkaXRvci5wcmVmZXJy
ZWQpOiBVc2VyJ3MgcHJlZmVyZWQgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuYnlfbmFt
ZSk6IFNlYXJjaCBmb3IgdGV4dCBlZGl0b3IgYnkgbmFtZS4KKyAgICAgICAgKEVkaXRvci5wcm9n
cmFtcyk6IExpc3QgYWxsIGF2YWlsYWJsZSB0ZXh0IGVkaXRvciBwcm9ncmFtcyBvbiB0aGlzIG1h
Y2hpbmUuCisgICAgICAgIChFZGl0b3IuX19pbml0X18pOgorICAgICAgICAoRWRpdG9yLm9wZW4p
OiBPcGVuIGEgZmlsZSB3aXRoIGEgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IuX19yZXBy
X18pOgorICAgICAgICAoRWRpdG9yLl9fYm9vbF9fKToKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJh
cmllcy93ZWJraXRzY21weS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLCByZW1vdmUgd2hpY2hjcmFm
dC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9f
X2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weToKKyAgICAgICAgKFNldHVwLmdpdCk6IFBy
b21wdCB1c2VyIGFuZCBzZXQgY29tbWl0IGxvZyBlZGl0b3IuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5weToK
KwogMjAyMS0wOC0zMSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgW2dpdC13ZWJraXRdIEF1dG9tYXRpYyByZWJhc2luZyBvciBwdWxsLXJlcXVlc3RzCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHkg
Yi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0dXAucHkKaW5kZXggZmVk
N2U2MTBlNGQ4NTAyZDljZTg1ZjYxZjQwZWViNjU5MDczODdjZS4uMmFjYWI1NmE5ZjAyYjUxZDQz
NjllMjk0YzY0NzQzNzExODcyNjU5MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdGNvcmVweS9zZXR1cC5weQpAQCAtNTcsNiArNTcsNyBAQCBzZXR1cCgKICAgICAgICAgJ21v
Y2snLAogICAgICAgICAncmVxdWVzdHMnLAogICAgICAgICAnc2l4JywKKyAgICAgICAgJ3doaWNo
Y3JhZnQnLAogICAgIF0sCiAgICAgaW5jbHVkZV9wYWNrYWdlX2RhdGE9VHJ1ZSwKICAgICB6aXBf
c2FmZT1GYWxzZSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNv
cmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CmluZGV4IDY0M2U3YWE1NjhmMzQ1
YzVhODE1MDQzNjkyZTIyNjBmZmM0NjAyN2UuLmVkODc4OWYwYzUwMzZmZTljODVhODA4NTM1OGVh
NDIwYzkxZWUyZTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNv
cmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQpAQCAtNDAsNiArNDAsNyBA
QCBmcm9tIHdlYmtpdGNvcmVweS5jcmVkZW50aWFscyBpbXBvcnQgY3JlZGVudGlhbHMKIGZyb20g
d2Via2l0Y29yZXB5Lm1lYXN1cmVfdGltZSBpbXBvcnQgTWVhc3VyZVRpbWUKIGZyb20gd2Via2l0
Y29yZXB5Lm5lc3RlZF9mdXp6eV9kaWN0IGltcG9ydCBOZXN0ZWRGdXp6eURpY3QKIGZyb20gd2Vi
a2l0Y29yZXB5LmNhbGxfYnlfbmVlZCBpbXBvcnQgQ2FsbEJ5TmVlZAorZnJvbSB3ZWJraXRjb3Jl
cHkuZWRpdG9yIGltcG9ydCBFZGl0b3IKIAogdmVyc2lvbiA9IFZlcnNpb24oMCwgOSwgMSkKIApA
QCAtNjksNiArNzAsNyBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCdzaXgnLCBWZXJz
aW9uKDEsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd0YmxpYicsIFZl
cnNpb24oMSwgNywgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgndXJsbGliMycs
IFZlcnNpb24oMSwgMjUsIDEwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdlKCd3aGVl
bCcsIFZlcnNpb24oMCwgMzUsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVyKFBhY2thZ2UoJ3do
aWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKIAogIyBUaGlzIGlzIG5lZWRlZCBmb3IgcHl0
aG9uLWtleXJpbmcuCiBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JzoKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvZWRpdG9yLnB5
IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9lZGl0
b3IucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmRiNjA2NjUxNTk5ZTZiN2Q4YWEzOWJkNzMxNTFiZTU2YTgyMjFj
NAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS93ZWJraXRjb3JlcHkvZWRpdG9yLnB5CkBAIC0wLDAgKzEsMTMzIEBACisjIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKKworZnJvbSB3ZWJraXRjb3JlcHku
c3VicHJvY2Vzc191dGlscyBpbXBvcnQgcnVuCitmcm9tIHdlYmtpdGNvcmVweS5kZWNvcmF0b3Jz
IGltcG9ydCBoeWJyaWRtZXRob2QKKworCitjbGFzcyBFZGl0b3Iob2JqZWN0KToKKyAgICBAY2xh
c3NtZXRob2QKKyAgICBkZWYgYXRvbShjbHMpOgorICAgICAgICByZXR1cm4gY2xzKAorICAgICAg
ICAgICAgbmFtZT0nQXRvbScsCisgICAgICAgICAgICBwYXRoPScvQXBwbGljYXRpb25zL0F0b20u
YXBwL0NvbnRlbnRzL1Jlc291cmNlcy9hcHAvYXRvbS5zaCcsCisgICAgICAgICAgICB3YWl0PVsn
LXcnXSwKKyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHN1YmxpbWUoY2xz
KToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAgICAgICBwYXRoID0g
d2hpY2goJ3N1YmwnKSBvciAnL0FwcGxpY2F0aW9ucy9TdWJsaW1lIFRleHQuYXBwL0NvbnRlbnRz
L1NoYXJlZFN1cHBvcnQvYmluL3N1YmwnCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAg
ICBuYW1lPSdTdWJsaW1lJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAgICAgICAgICAgIGNv
bW1hbmQ9W3BhdGgsICctbiddLAorICAgICAgICAgICAgd2FpdD1bJy13J10sCisgICAgICAgICkK
KworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZXh0bWF0ZShjbHMpOgorICAgICAgICBmcm9t
IHdoaWNoY3JhZnQgaW1wb3J0IHdoaWNoCisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAg
ICBuYW1lPSdUZXh0TWF0ZScsCisgICAgICAgICAgICBwYXRoPXdoaWNoKCdtYXRlJykgb3IgJy9B
cHBsaWNhdGlvbnMvVGV4dE1hdGUuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9tYXRlJywKKyAgICAg
ICAgICAgIHdhaXQ9WyctdyddLAorICAgICAgICApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBk
ZWYgeGNvZGUoY2xzKToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAg
ICAgICByZXR1cm4gY2xzKAorICAgICAgICAgICAgbmFtZT0nWGNvZGUnLAorICAgICAgICAgICAg
cGF0aD13aGljaCgneGVkJykgb3IgJy9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci91c3IvYmluL3hlZCcsCisgICAgICAgICAgICB3YWl0PVsnLXcnXSwKKyAgICAgICAg
KQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRleHRlZGl0KGNscyk6CisgICAgICAgIHJl
dHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdUZXh0RWRpdCcsCisgICAgICAgICAgICBwYXRo
PScvU3lzdGVtL0FwcGxpY2F0aW9ucy9UZXh0RWRpdC5hcHAvQ29udGVudHMvTWFjT1MvVGV4dEVk
aXQnLAorICAgICAgICAgICAgY29tbWFuZD1bJ29wZW4nLCAnLWEnLCAnVGV4dEVkaXQnXSwKKyAg
ICAgICAgICAgIHdhaXQ9WyctLXdhaXQtYXBwcyddLAorICAgICAgICApCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgZGVmYXVsdChjbHMpOgorICAgICAgICBmcm9tIHdoaWNoY3JhZnQgaW1w
b3J0IHdoaWNoCisgICAgICAgIHBhdGggPSB3aGljaCgnb3BlbicpCisgICAgICAgIHJldHVybiBj
bHMoCisgICAgICAgICAgICBuYW1lPSdvcGVuJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAg
ICAgICAgICAgIGNvbW1hbmQ9W3BhdGgsICctdCddLAorICAgICAgICAgICAgd2FpdD1bJy0td2Fp
dC1hcHBzJ10sCisgICAgICAgICkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBwcmVmZXJy
ZWQoY2xzKToKKyAgICAgICAgZm9yIHByb2dyYW0gaW4gY2xzLnByb2dyYW1zKCk6CisgICAgICAg
ICAgICBpZiBwcm9ncmFtOgorICAgICAgICAgICAgICAgIHJldHVybiBwcm9ncmFtCisgICAgICAg
IHJldHVybiBjbHMuZGVmYXVsdCgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYnlfbmFt
ZShjbHMsIG5hbWUpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJvZ3JhbXMoKToKKyAg
ICAgICAgICAgIGlmIHByb2dyYW0ubmFtZS5sb3dlcigpLnN0YXJ0c3dpdGgobmFtZS5sb3dlcigp
KToKKyAgICAgICAgICAgICAgICByZXR1cm4gcHJvZ3JhbQorICAgICAgICByZXR1cm4gTm9uZQor
CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHByb2dyYW1zKGNscywgZXhpc3RzPVRydWUpOgor
ICAgICAgICBmb3IgcHJvZ3JhbSBpbiBbCisgICAgICAgICAgICBFZGl0b3Iuc3VibGltZSgpLAor
ICAgICAgICAgICAgRWRpdG9yLnRleHRtYXRlKCksCisgICAgICAgICAgICBFZGl0b3IuYXRvbSgp
LAorICAgICAgICAgICAgRWRpdG9yLnhjb2RlKCksCisgICAgICAgICAgICBFZGl0b3IudGV4dGVk
aXQoKSwKKyAgICAgICAgICAgIEVkaXRvci5kZWZhdWx0KCksCisgICAgICAgIF06CisgICAgICAg
ICAgICBpZiBub3QgZXhpc3RzIG9yIHByb2dyYW06CisgICAgICAgICAgICAgICAgeWllbGQgcHJv
Z3JhbQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhdGgsIGNvbW1hbmQ9Tm9uZSwg
d2FpdD1Ob25lKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLnBhdGgg
PSBwYXRoCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQgb3IgW3NlbGYucGF0aF0KKyAg
ICAgICAgc2VsZi53YWl0ID0gc2VsZi5jb21tYW5kICsgKHdhaXQgb3IgW10pCisKKyAgICBAaHli
cmlkbWV0aG9kCisgICAgZGVmIG9wZW4oY29udGV4dCwgZmlsZSwgYmxvY2s9RmFsc2UpOgorICAg
ICAgICBpZiBpc2luc3RhbmNlKGNvbnRleHQsIHR5cGUpOgorICAgICAgICAgICAgY29udGV4dCA9
IGNvbnRleHQucHJlZmVycmVkKCkKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29u
dGV4dC5wYXRoKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gbm90
IHJ1bigoY29udGV4dC53YWl0IGlmIGJsb2NrIGVsc2UgY29udGV4dC5jb21tYW5kKSArIFtmaWxl
XSwgY2FwdHVyZV9vdXRwdXQ9VHJ1ZSkucmV0dXJuY29kZQorCisgICAgZGVmIF9fcmVwcl9fKHNl
bGYpOgorICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisKKyAgICBkZWYgX19ib29sX18oc2VsZik6
CisgICAgICAgIHJldHVybiBvcy5wYXRoLmlzZmlsZShzZWxmLnBhdGgpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weSBiL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CmluZGV4IDZjZWVlZDBjN2U1MjlhOTA4
YTRmMzFhNzZkNDM0ZTFiYzRkMmVjYWMuLjM3NDA0MjBhODkxYzE0MzE0ZmM5YWJiZWYzZDZiMjY0
ODg3MDc4ZTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVw
LnB5CkBAIC01OCw3ICs1OCw3IEBAIHNldHVwKAogICAgICAgICAnd2Via2l0c2NtcHkudGVzdCcs
CiAgICAgXSwKICAgICBzY3JpcHRzPVsnZ2l0LXdlYmtpdCddLAotICAgIGluc3RhbGxfcmVxdWly
ZXM9WydmYXN0ZW5lcnMnLCAnbW9ub3RvbmljJywgJ3dlYmtpdGNvcmVweScsICd3aGljaGNyYWZ0
JywgJ3htbHRvZGljdCddLAorICAgIGluc3RhbGxfcmVxdWlyZXM9WydmYXN0ZW5lcnMnLCAnbW9u
b3RvbmljJywgJ3dlYmtpdGNvcmVweScsICd4bWx0b2RpY3QnXSwKICAgICBpbmNsdWRlX3BhY2th
Z2VfZGF0YT1UcnVlLAogICAgIHppcF9zYWZlPUZhbHNlLAogKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5w
eSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dy
YW0vc2V0dXAucHkKaW5kZXggY2U5M2ZjODQzNDViNjJjMTA0YjlhMDBkMTM4N2EzOGVmOGM2ODlk
ZS4uNmM4MTEzMjg4ZjRhYzdmODUyYWFhMzM3MjZmNmRhMDRmODI5YTQxNCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9z
ZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9wcm9ncmFtL3NldHVwLnB5CkBAIC0yNSw3ICsyNSw3IEBAIGltcG9ydCBzeXMKIAogZnJv
bSAuY29tbWFuZCBpbXBvcnQgQ29tbWFuZAogZnJvbSByZXF1ZXN0cy5hdXRoIGltcG9ydCBIVFRQ
QmFzaWNBdXRoCi1mcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRzLCBydW4sIFRlcm1p
bmFsCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgYXJndW1lbnRzLCBydW4sIEVkaXRvciwgVGVy
bWluYWwKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IGxvZywgbG9jYWwsIHJlbW90ZQogCiAKQEAg
LTE0MSw2ICsxNDEsMjUgQEAgY2xhc3MgU2V0dXAoQ29tbWFuZCk6CiAgICAgICAgICAgICBzeXMu
c3RkZXJyLndyaXRlKCdGYWlsZWQgdG8gdXNlIHt9IGFzIHRoZSBtZXJnZSBzdHJhdGVneVxuJy5m
b3JtYXQoJ21lcmdlIGNvbW1pdHMnIGlmIGFyZ3MubWVyZ2UgZWxzZSAncmViYXNlJykpCiAgICAg
ICAgICAgICByZXN1bHQgKz0gMQogCisgICAgICAgIGxvZy53YXJuaW5nKCdTZXR0aW5nIGdpdCBl
ZGl0b3IgZm9yIHt9Li4uJy5mb3JtYXQocmVwb3NpdG9yeS5yb290X3BhdGgpKQorICAgICAgICBl
ZGl0b3JfbmFtZSA9ICdkZWZhdWx0JyBpZiBhcmdzLmRlZmF1bHRzIGVsc2UgVGVybWluYWwuY2hv
b3NlKAorICAgICAgICAgICAgJ1BpY2sgYSBjb21taXQgbWVzc2FnZSBlZGl0b3InLAorICAgICAg
ICAgICAgb3B0aW9ucz1bJ2RlZmF1bHQnXSArIFtwcm9ncmFtLm5hbWUgZm9yIHByb2dyYW0gaW4g
RWRpdG9yLnByb2dyYW1zKCldLAorICAgICAgICAgICAgZGVmYXVsdD0nZGVmYXVsdCcsCisgICAg
ICAgICAgICBudW1iZXJlZD1UcnVlLAorICAgICAgICApCisgICAgICAgIGlmIGVkaXRvcl9uYW1l
ID09ICdkZWZhdWx0JzoKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCdVc2luZyB0aGUgZGVmYXVs
dCBnaXQgZWRpdG9yJykKKyAgICAgICAgZWxpZiBydW4oCisgICAgICAgICAgICBbbG9jYWwuR2l0
LmV4ZWN1dGFibGUoKSwgJ2NvbmZpZycsICdjb3JlLmVkaXRvcicsICcgJy5qb2luKFthcmcucmVw
bGFjZSgnICcsICdcXCAnKSBmb3IgYXJnIGluIEVkaXRvci5ieV9uYW1lKGVkaXRvcl9uYW1lKS53
YWl0XSldLAorICAgICAgICAgICAgY2FwdHVyZV9vdXRwdXQ9VHJ1ZSwKKyAgICAgICAgICAgIGN3
ZD1yZXBvc2l0b3J5LnJvb3RfcGF0aCwKKyAgICAgICAgKS5yZXR1cm5jb2RlOgorICAgICAgICAg
ICAgc3lzLnN0ZGVyci53cml0ZSgnRmFpbGVkIHRvIHNldCB0aGUgZ2l0IGVkaXRvciB0byB7fVxu
Jy5mb3JtYXQoZWRpdG9yX25hbWUpKQorICAgICAgICAgICAgcmVzdWx0ICs9IDEKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCJTZXQgZ2l0IGVkaXRvciB0byAne30nIi5m
b3JtYXQoZWRpdG9yX25hbWUpKQorCiAgICAgICAgICMgT25seSBjb25maWd1cmUgR2l0SHViIGlm
IHRoZSBVUkwgaXMgYSBHaXRIdWIgVVJMCiAgICAgICAgIHJtdCA9IHJlcG9zaXRvcnkucmVtb3Rl
KCkKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uocm10LCByZW1vdGUuR2l0SHViKToKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rl
c3Qvc2V0dXBfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5CmluZGV4IDVjYWNmYWRkOTU5MTEw
MWE4YWRjZWRlZTY0NzUwNTk1MDY3NjRiZWEuLjgxZmQxZDM2YzU2ZDFlOGZhYTIxNjc0ODZjZjYx
NDlhOWU0NmIwNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVzdC5w
eQpAQCAtMjIsOCArMjIsOCBAQAogCiBpbXBvcnQgb3MKIAotZnJvbSB3ZWJraXRjb3JlcHkgaW1w
b3J0IE91dHB1dENhcHR1cmUsIHRlc3RpbmcKLWZyb20gd2Via2l0Y29yZXB5Lm1vY2tzIGltcG9y
dCBUaW1lIGFzIE1vY2tUaW1lLCBUZXJtaW5hbCBhcyBNb2NrVGVybWluYWwKK2Zyb20gd2Via2l0
Y29yZXB5IGltcG9ydCBFZGl0b3IsIE91dHB1dENhcHR1cmUsIHRlc3RpbmcKK2Zyb20gd2Via2l0
Y29yZXB5Lm1vY2tzIGltcG9ydCBUZXJtaW5hbCBhcyBNb2NrVGVybWluYWwKIGZyb20gd2Via2l0
c2NtcHkgaW1wb3J0IHByb2dyYW0sIG1vY2tzCiAKIApAQCAtODcsMTIgKzg3LDE0IEBAIFNldCBn
aXQgdXNlciBuYW1lIHRvICdUaW0gQXBwbGUnCiBTZXR0aW5nIGJldHRlciBPYmplY3RpdmUtQyBk
aWZmaW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVjdGl2ZS1DIGRpZmZpbmcgYmVoYXZp
b3IhCiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQorU2V0dGluZyBnaXQgZWRpdG9yIGZv
ciB7cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0b3IKICcnJy5mb3Jt
YXQocmVwb3NpdG9yeT1zZWxmLnBhdGgpLAogICAgICAgICApCiAKICAgICBkZWYgdGVzdF9naXRo
dWJfY2hlY2tvdXQoc2VsZik6CiAgICAgICAgIHdpdGggT3V0cHV0Q2FwdHVyZSgpIGFzIGNhcHR1
cmVkLCBtb2Nrcy5yZW1vdGUuR2l0SHViKCkgYXMgcmVtb3RlLCBcCi0gICAgICAgICAgICBNb2Nr
VGVybWluYWwuaW5wdXQoJ24nLCAnY29tbWl0dGVyQHdlYmtpdC5vcmcnLCAnbicsICdDb21taXR0
ZXInLCAnbicsICd5JyksIFwKKyAgICAgICAgICAgIE1vY2tUZXJtaW5hbC5pbnB1dCgnbicsICdj
b21taXR0ZXJAd2Via2l0Lm9yZycsICduJywgJ0NvbW1pdHRlcicsICduJywgJzEnLCAneScpLCBc
CiAgICAgICAgICAgICBtb2Nrcy5sb2NhbC5HaXQoc2VsZi5wYXRoLCByZW1vdGU9J2h0dHBzOi8v
e30nLmZvcm1hdChyZW1vdGUucmVtb3RlKSkgYXMgcmVwbzoKIAogICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgwLCBwcm9ncmFtLm1haW4oCkBAIC0xMDUsNiArMTA3LDcgQEAgVXNpbmcgYSBy
ZWJhc2UgbWVyZ2Ugc3RyYXRlZ3kKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0NvbW1p
dHRlcicsIGNvbmZpZy5nZXQoJ3VzZXIubmFtZScsICcnKSkKICAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ2NvbW1pdHRlckB3ZWJraXQub3JnJywgY29uZmlnLmdldCgndXNlci5lbWFpbCcs
ICcnKSkKIAorICAgICAgICBwcm9ncmFtcyA9IFsnZGVmYXVsdCddICsgW3AubmFtZSBmb3IgcCBp
biBFZGl0b3IucHJvZ3JhbXMoKV0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAg
ICAgIGNhcHR1cmVkLnN0ZG91dC5nZXR2YWx1ZSgpLAogICAgICAgICAgICAgJycnU2V0ICd0YXBw
bGVAd2Via2l0Lm9yZycgYXMgdGhlIGdpdCB1c2VyIGVtYWlsIChZZXMvTm8pOiAKQEAgLTExMiw4
ICsxMTUsMTEgQEAgR2l0IHVzZXIgZW1haWw6CiBTZXQgJ1RpbSBBcHBsZScgYXMgdGhlIGdpdCB1
c2VyIG5hbWUgKFllcy9Obyk6IAogR2l0IHVzZXIgbmFtZTogCiBBdXRvLWNvbG9yIHN0YXR1cywg
ZGlmZiwgYW5kIGJyYW5jaD8gKFllcy9Obyk6IAorUGljayBhIGNvbW1pdCBtZXNzYWdlIGVkaXRv
cjoKKyAgICB7fQorOiAKIENyZWF0ZSBhIHByaXZhdGUgZm9yayBvZiAnV2ViS2l0JyBiZWxvbmdp
bmcgdG8gJ3VzZXJuYW1lJyAoWWVzL05vKTogCi0nJycpCisnJycuZm9ybWF0KCdcbiAgICAnLmpv
aW4oWyd7fSkge30nLmZvcm1hdChjb3VudCArIDEsIHByb2dyYW1zW2NvdW50XSkgZm9yIGNvdW50
IGluIHJhbmdlKGxlbihwcm9ncmFtcykpXSkpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNh
cHR1cmVkLnN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKICAgICAgICAgc2VsZi5tYXhEaWZmID0gTm9u
ZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAtMTI1LDYgKzEzMSw4IEBAIFNldCBnaXQg
dXNlciBuYW1lIHRvICdDb21taXR0ZXInCiBTZXR0aW5nIGJldHRlciBPYmplY3RpdmUtQyBkaWZm
aW5nIGJlaGF2aW9yLi4uCiBTZXQgYmV0dGVyIE9iamVjdGl2ZS1DIGRpZmZpbmcgYmVoYXZpb3Ih
CiBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJhdGVneQorU2V0dGluZyBnaXQgZWRpdG9yIGZvciB7
cmVwb3NpdG9yeX0uLi4KK1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0b3IKIFNhdmluZyBHaXRI
dWIgY3JlZGVudGlhbHMgaW4gc3lzdGVtIGNyZWRlbnRpYWwgc3RvcmUuLi4KIEdpdEh1YiBjcmVk
ZW50aWFscyBzYXZlZCB2aWEgS2V5cmluZyEKIFZlcmlmeWluZyB1c2VyIG93bmVkIGZvcmsuLi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437040</attachid>
            <date>2021-09-01 10:17:06 -0700</date>
            <delta_ts>2021-09-01 11:15:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-228867-20210901101705.patch</filename>
            <type>text/plain</type>
            <size>14633</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODU0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWU4ZGUyOTJkZGRjZGQzYTg1YmYyMDkzYjdiMTJkOWE0
MzYzNjJkNC4uNGExNTA0ZmEyZDkwNzg5YTllMmFlMDQ4ODI3MjI4YmExMmM1ZmU5NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTA5LTAxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbZ2l0LXdlYmtpdF0gQWRkIGF1dG9tYXRpYyBFZGl0b3IgY29uZmlndXJhdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4ODY3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MTYyMTk5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBE
ZXdlaSBaaHUuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0
dXAucHk6IEJ1bXAgdmVyc2lvbiwgYWRkIHdoaWNoY3JhZnQuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weTogRGl0dG8uCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9lZGl0
b3IucHk6IEFkZGVkLgorICAgICAgICAoRWRpdG9yKTogQ2xhc3MgcmVwcmVzZW50aW5nIGEgdGV4
dCBlZGl0b3IgCisgICAgICAgIChFZGl0b3IuYXRvbSk6CisgICAgICAgIChFZGl0b3Iuc3VibGlt
ZSk6CisgICAgICAgIChFZGl0b3IudGV4dG1hdGUpOgorICAgICAgICAoRWRpdG9yLnhjb2RlKToK
KyAgICAgICAgKEVkaXRvci50ZXh0ZWRpdCk6CisgICAgICAgIChFZGl0b3IuZGVmYXVsdCk6IFN5
c3RlbSdzIGRlZmF1bHQgdGV4dCBlZGl0b3IuCisgICAgICAgIChFZGl0b3IucHJlZmVycmVkKTog
VXNlcidzIHByZWZlcmVkIHRleHQgZWRpdG9yLgorICAgICAgICAoRWRpdG9yLmJ5X25hbWUpOiBT
ZWFyY2ggZm9yIHRleHQgZWRpdG9yIGJ5IG5hbWUuCisgICAgICAgIChFZGl0b3IucHJvZ3JhbXMp
OiBMaXN0IGFsbCBhdmFpbGFibGUgdGV4dCBlZGl0b3IgcHJvZ3JhbXMgb24gdGhpcyBtYWNoaW5l
LgorICAgICAgICAoRWRpdG9yLl9faW5pdF9fKToKKyAgICAgICAgKEVkaXRvci5vcGVuKTogT3Bl
biBhIGZpbGUgd2l0aCBhIHRleHQgZWRpdG9yLgorICAgICAgICAoRWRpdG9yLl9fcmVwcl9fKToK
KyAgICAgICAgKEVkaXRvci5fX2Jvb2xfXyk6CisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
d2Via2l0c2NtcHkvc2V0dXAucHk6IEJ1bXAgdmVyc2lvbiwgcmVtb3ZlIHdoaWNoY3JhZnQuCisg
ICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvX19pbml0
X18ucHk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3Byb2dyYW0vc2V0dXAucHk6CisgICAgICAgIChTZXR1cC5naXQpOiBQcm9tcHQg
dXNlciBhbmQgc2V0IGNvbW1pdCBsb2cgZWRpdG9yLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3Qvc2V0dXBfdW5pdHRlc3QucHk6CisKIDIw
MjEtMDktMDEgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAg
IFtjb250cmlidXRvcnMuanNvbl0gUmVsb2NhdGlvbiAoUGFydCAxKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3NldHVwLnB5CmluZGV4IGZlZDdlNjEwZTRkODUwMmQ5
Y2U4NWY2MWY0MGVlYjY1OTA3Mzg3Y2UuLjUyMmIwMzIxODA3MWZiNDA4MWY4NmZkNDUzMmJlZTk1
Y2VkMjE4MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVw
eS9zZXR1cC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRjb3JlcHkvc2V0
dXAucHkKQEAgLTMwLDcgKzMwLDcgQEAgZGVmIHJlYWRtZSgpOgogCiBzZXR1cCgKICAgICBuYW1l
PSd3ZWJraXRjb3JlcHknLAotICAgIHZlcnNpb249JzAuOS4xJywKKyAgICB2ZXJzaW9uPScwLjEw
LjAnLAogICAgIGRlc2NyaXB0aW9uPSdMaWJyYXJ5IGNvbnRhaW5pbmcgdmFyaW91cyBQeXRob24g
c3VwcG9ydCBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuJywKICAgICBsb25nX2Rlc2NyaXB0aW9uPXJl
YWRtZSgpLAogICAgIGNsYXNzaWZpZXJzPVsKQEAgLTU3LDYgKzU3LDcgQEAgc2V0dXAoCiAgICAg
ICAgICdtb2NrJywKICAgICAgICAgJ3JlcXVlc3RzJywKICAgICAgICAgJ3NpeCcsCisgICAgICAg
ICd3aGljaGNyYWZ0JywKICAgICBdLAogICAgIGluY2x1ZGVfcGFja2FnZV9kYXRhPVRydWUsCiAg
ICAgemlwX3NhZmU9RmFsc2UsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0Y29yZXB5L3dlYmtpdGNvcmVweS9fX2luaXRfXy5weQppbmRleCA2NDNlN2Fh
NTY4ZjM0NWM1YTgxNTA0MzY5MmUyMjYwZmZjNDYwMjdlLi5iMTk0YTdmYjRiMGEyMjlmYzQ0YWFk
ZjQ0NWMxMTM4YTY4NDQwMzllIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRjb3JlcHkvd2Via2l0Y29yZXB5L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvX19pbml0X18ucHkKQEAgLTQwLDgg
KzQwLDkgQEAgZnJvbSB3ZWJraXRjb3JlcHkuY3JlZGVudGlhbHMgaW1wb3J0IGNyZWRlbnRpYWxz
CiBmcm9tIHdlYmtpdGNvcmVweS5tZWFzdXJlX3RpbWUgaW1wb3J0IE1lYXN1cmVUaW1lCiBmcm9t
IHdlYmtpdGNvcmVweS5uZXN0ZWRfZnV6enlfZGljdCBpbXBvcnQgTmVzdGVkRnV6enlEaWN0CiBm
cm9tIHdlYmtpdGNvcmVweS5jYWxsX2J5X25lZWQgaW1wb3J0IENhbGxCeU5lZWQKK2Zyb20gd2Vi
a2l0Y29yZXB5LmVkaXRvciBpbXBvcnQgRWRpdG9yCiAKLXZlcnNpb24gPSBWZXJzaW9uKDAsIDks
IDEpCit2ZXJzaW9uID0gVmVyc2lvbigwLCAxMCwgMCkKIAogZnJvbSB3ZWJraXRjb3JlcHkuYXV0
b2luc3RhbGwgaW1wb3J0IFBhY2thZ2UsIEF1dG9JbnN0YWxsCiBpZiBzeXMudmVyc2lvbl9pbmZv
ID4gKDMsIDApOgpAQCAtNjksNiArNzAsNyBAQCBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCdzaXgnLCBWZXJzaW9uKDEsIDE1LCAwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQYWNrYWdl
KCd0YmxpYicsIFZlcnNpb24oMSwgNywgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2Fn
ZSgndXJsbGliMycsIFZlcnNpb24oMSwgMjUsIDEwKSkpCiBBdXRvSW5zdGFsbC5yZWdpc3RlcihQ
YWNrYWdlKCd3aGVlbCcsIFZlcnNpb24oMCwgMzUsIDEpKSkKK0F1dG9JbnN0YWxsLnJlZ2lzdGVy
KFBhY2thZ2UoJ3doaWNoY3JhZnQnLCBWZXJzaW9uKDAsIDYsIDEpKSkKIAogIyBUaGlzIGlzIG5l
ZWRlZCBmb3IgcHl0aG9uLWtleXJpbmcuCiBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JzoKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdGNvcmVweS93ZWJraXRjb3Jl
cHkvZWRpdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0Y29yZXB5L3dlYmtp
dGNvcmVweS9lZGl0b3IucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRiNjA2NjUxNTk5ZTZiN2Q4YWEzOWJkNzMx
NTFiZTU2YTgyMjFjNAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdGNvcmVweS93ZWJraXRjb3JlcHkvZWRpdG9yLnB5CkBAIC0wLDAgKzEsMTMzIEBACisj
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MKKworZnJvbSB3
ZWJraXRjb3JlcHkuc3VicHJvY2Vzc191dGlscyBpbXBvcnQgcnVuCitmcm9tIHdlYmtpdGNvcmVw
eS5kZWNvcmF0b3JzIGltcG9ydCBoeWJyaWRtZXRob2QKKworCitjbGFzcyBFZGl0b3Iob2JqZWN0
KToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgYXRvbShjbHMpOgorICAgICAgICByZXR1cm4g
Y2xzKAorICAgICAgICAgICAgbmFtZT0nQXRvbScsCisgICAgICAgICAgICBwYXRoPScvQXBwbGlj
YXRpb25zL0F0b20uYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9hcHAvYXRvbS5zaCcsCisgICAgICAg
ICAgICB3YWl0PVsnLXcnXSwKKyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVm
IHN1YmxpbWUoY2xzKToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9ydCB3aGljaAorICAg
ICAgICBwYXRoID0gd2hpY2goJ3N1YmwnKSBvciAnL0FwcGxpY2F0aW9ucy9TdWJsaW1lIFRleHQu
YXBwL0NvbnRlbnRzL1NoYXJlZFN1cHBvcnQvYmluL3N1YmwnCisgICAgICAgIHJldHVybiBjbHMo
CisgICAgICAgICAgICBuYW1lPSdTdWJsaW1lJywKKyAgICAgICAgICAgIHBhdGg9cGF0aCwKKyAg
ICAgICAgICAgIGNvbW1hbmQ9W3BhdGgsICctbiddLAorICAgICAgICAgICAgd2FpdD1bJy13J10s
CisgICAgICAgICkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZXh0bWF0ZShjbHMpOgor
ICAgICAgICBmcm9tIHdoaWNoY3JhZnQgaW1wb3J0IHdoaWNoCisgICAgICAgIHJldHVybiBjbHMo
CisgICAgICAgICAgICBuYW1lPSdUZXh0TWF0ZScsCisgICAgICAgICAgICBwYXRoPXdoaWNoKCdt
YXRlJykgb3IgJy9BcHBsaWNhdGlvbnMvVGV4dE1hdGUuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9t
YXRlJywKKyAgICAgICAgICAgIHdhaXQ9WyctdyddLAorICAgICAgICApCisKKyAgICBAY2xhc3Nt
ZXRob2QKKyAgICBkZWYgeGNvZGUoY2xzKToKKyAgICAgICAgZnJvbSB3aGljaGNyYWZ0IGltcG9y
dCB3aGljaAorICAgICAgICByZXR1cm4gY2xzKAorICAgICAgICAgICAgbmFtZT0nWGNvZGUnLAor
ICAgICAgICAgICAgcGF0aD13aGljaCgneGVkJykgb3IgJy9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci91c3IvYmluL3hlZCcsCisgICAgICAgICAgICB3YWl0PVsnLXcn
XSwKKyAgICAgICAgKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRleHRlZGl0KGNscyk6
CisgICAgICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdUZXh0RWRpdCcsCisgICAg
ICAgICAgICBwYXRoPScvU3lzdGVtL0FwcGxpY2F0aW9ucy9UZXh0RWRpdC5hcHAvQ29udGVudHMv
TWFjT1MvVGV4dEVkaXQnLAorICAgICAgICAgICAgY29tbWFuZD1bJ29wZW4nLCAnLWEnLCAnVGV4
dEVkaXQnXSwKKyAgICAgICAgICAgIHdhaXQ9WyctLXdhaXQtYXBwcyddLAorICAgICAgICApCisK
KyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZGVmYXVsdChjbHMpOgorICAgICAgICBmcm9tIHdo
aWNoY3JhZnQgaW1wb3J0IHdoaWNoCisgICAgICAgIHBhdGggPSB3aGljaCgnb3BlbicpCisgICAg
ICAgIHJldHVybiBjbHMoCisgICAgICAgICAgICBuYW1lPSdvcGVuJywKKyAgICAgICAgICAgIHBh
dGg9cGF0aCwKKyAgICAgICAgICAgIGNvbW1hbmQ9W3BhdGgsICctdCddLAorICAgICAgICAgICAg
d2FpdD1bJy0td2FpdC1hcHBzJ10sCisgICAgICAgICkKKworICAgIEBjbGFzc21ldGhvZAorICAg
IGRlZiBwcmVmZXJyZWQoY2xzKToKKyAgICAgICAgZm9yIHByb2dyYW0gaW4gY2xzLnByb2dyYW1z
KCk6CisgICAgICAgICAgICBpZiBwcm9ncmFtOgorICAgICAgICAgICAgICAgIHJldHVybiBwcm9n
cmFtCisgICAgICAgIHJldHVybiBjbHMuZGVmYXVsdCgpCisKKyAgICBAY2xhc3NtZXRob2QKKyAg
ICBkZWYgYnlfbmFtZShjbHMsIG5hbWUpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBjbHMucHJv
Z3JhbXMoKToKKyAgICAgICAgICAgIGlmIHByb2dyYW0ubmFtZS5sb3dlcigpLnN0YXJ0c3dpdGgo
bmFtZS5sb3dlcigpKToKKyAgICAgICAgICAgICAgICByZXR1cm4gcHJvZ3JhbQorICAgICAgICBy
ZXR1cm4gTm9uZQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHByb2dyYW1zKGNscywgZXhp
c3RzPVRydWUpOgorICAgICAgICBmb3IgcHJvZ3JhbSBpbiBbCisgICAgICAgICAgICBFZGl0b3Iu
c3VibGltZSgpLAorICAgICAgICAgICAgRWRpdG9yLnRleHRtYXRlKCksCisgICAgICAgICAgICBF
ZGl0b3IuYXRvbSgpLAorICAgICAgICAgICAgRWRpdG9yLnhjb2RlKCksCisgICAgICAgICAgICBF
ZGl0b3IudGV4dGVkaXQoKSwKKyAgICAgICAgICAgIEVkaXRvci5kZWZhdWx0KCksCisgICAgICAg
IF06CisgICAgICAgICAgICBpZiBub3QgZXhpc3RzIG9yIHByb2dyYW06CisgICAgICAgICAgICAg
ICAgeWllbGQgcHJvZ3JhbQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhdGgsIGNv
bW1hbmQ9Tm9uZSwgd2FpdD1Ob25lKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAg
ICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgIHNlbGYuY29tbWFuZCA9IGNvbW1hbmQgb3IgW3Nl
bGYucGF0aF0KKyAgICAgICAgc2VsZi53YWl0ID0gc2VsZi5jb21tYW5kICsgKHdhaXQgb3IgW10p
CisKKyAgICBAaHlicmlkbWV0aG9kCisgICAgZGVmIG9wZW4oY29udGV4dCwgZmlsZSwgYmxvY2s9
RmFsc2UpOgorICAgICAgICBpZiBpc2luc3RhbmNlKGNvbnRleHQsIHR5cGUpOgorICAgICAgICAg
ICAgY29udGV4dCA9IGNvbnRleHQucHJlZmVycmVkKCkKKworICAgICAgICBpZiBub3Qgb3MucGF0
aC5pc2ZpbGUoY29udGV4dC5wYXRoKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAg
ICByZXR1cm4gbm90IHJ1bigoY29udGV4dC53YWl0IGlmIGJsb2NrIGVsc2UgY29udGV4dC5jb21t
YW5kKSArIFtmaWxlXSwgY2FwdHVyZV9vdXRwdXQ9VHJ1ZSkucmV0dXJuY29kZQorCisgICAgZGVm
IF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5uYW1lCisKKyAgICBkZWYgX19i
b29sX18oc2VsZik6CisgICAgICAgIHJldHVybiBvcy5wYXRoLmlzZmlsZShzZWxmLnBhdGgpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS9zZXR1cC5weSBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CmluZGV4IDZjZWVl
ZDBjN2U1MjlhOTA4YTRmMzFhNzZkNDM0ZTFiYzRkMmVjYWMuLjkyNTIzOGY4N2E4YmRlZTZiMmFh
NmI3Mzc0MzBkNDcwN2I4ZDY4NTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3NldHVwLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3NldHVwLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGRlZiByZWFkbWUoKToKIAogc2V0dXAo
CiAgICAgbmFtZT0nd2Via2l0c2NtcHknLAotICAgIHZlcnNpb249JzIuMC4xJywKKyAgICB2ZXJz
aW9uPScyLjEuMCcsCiAgICAgZGVzY3JpcHRpb249J0xpYnJhcnkgZGVzaWduZWQgdG8gaW50ZXJh
Y3Qgd2l0aCBnaXQgYW5kIHN2biByZXBvc2l0b3JpZXMuJywKICAgICBsb25nX2Rlc2NyaXB0aW9u
PXJlYWRtZSgpLAogICAgIGNsYXNzaWZpZXJzPVsKQEAgLTU4LDcgKzU4LDcgQEAgc2V0dXAoCiAg
ICAgICAgICd3ZWJraXRzY21weS50ZXN0JywKICAgICBdLAogICAgIHNjcmlwdHM9WydnaXQtd2Vi
a2l0J10sCi0gICAgaW5zdGFsbF9yZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdtb25vdG9uaWMnLCAn
d2Via2l0Y29yZXB5JywgJ3doaWNoY3JhZnQnLCAneG1sdG9kaWN0J10sCisgICAgaW5zdGFsbF9y
ZXF1aXJlcz1bJ2Zhc3RlbmVycycsICdtb25vdG9uaWMnLCAnd2Via2l0Y29yZXB5JywgJ3htbHRv
ZGljdCddLAogICAgIGluY2x1ZGVfcGFja2FnZV9kYXRhPVRydWUsCiAgICAgemlwX3NhZmU9RmFs
c2UsCiApCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9fX2luaXRfXy5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CmluZGV4IDRkOTc3ZDY0YzJjZTk1NTM3Nzg2ZGEy
OTgyNzJjNDFhODQ2NTM3NzkuLjdiNDI0OTY5YmVjZmZmMjYwOThkNjE3MTA3NGQ4OTZjNWZkMTNk
MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L19faW5pdF9fLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L19faW5pdF9fLnB5CkBAIC00Niw3ICs0Niw3IEBAIGV4Y2VwdCBJbXBv
cnRFcnJvcjoKICAgICAgICAgIlBsZWFzZSBpbnN0YWxsIHdlYmtpdGNvcmVweSB3aXRoIGBwaXAg
aW5zdGFsbCB3ZWJraXRjb3JlcHkgLS1leHRyYS1pbmRleC11cmwgPHBhY2thZ2UgaW5kZXggVVJM
PmAiCiAgICAgKQogCi12ZXJzaW9uID0gVmVyc2lvbigyLCAwLCAxKQordmVyc2lvbiA9IFZlcnNp
b24oMiwgMSwgMCkKIAogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywg
VmVyc2lvbigwLCAxNSwgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnbW9ub3Rv
bmljJywgVmVyc2lvbigxLCA1KSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5IGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHJvZ3JhbS9zZXR1cC5weQppbmRl
eCBjZTkzZmM4NDM0NWI2MmMxMDRiOWEwMGQxMzg3YTM4ZWY4YzY4OWRlLi42YzgxMTMyODhmNGFj
N2Y4NTJhYWEzMzcyNmY2ZGEwNGY4MjlhNDE0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wcm9ncmFtL3NldHVwLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Byb2dyYW0vc2V0
dXAucHkKQEAgLTI1LDcgKzI1LDcgQEAgaW1wb3J0IHN5cwogCiBmcm9tIC5jb21tYW5kIGltcG9y
dCBDb21tYW5kCiBmcm9tIHJlcXVlc3RzLmF1dGggaW1wb3J0IEhUVFBCYXNpY0F1dGgKLWZyb20g
d2Via2l0Y29yZXB5IGltcG9ydCBhcmd1bWVudHMsIHJ1biwgVGVybWluYWwKK2Zyb20gd2Via2l0
Y29yZXB5IGltcG9ydCBhcmd1bWVudHMsIHJ1biwgRWRpdG9yLCBUZXJtaW5hbAogZnJvbSB3ZWJr
aXRzY21weSBpbXBvcnQgbG9nLCBsb2NhbCwgcmVtb3RlCiAKIApAQCAtMTQxLDYgKzE0MSwyNSBA
QCBjbGFzcyBTZXR1cChDb21tYW5kKToKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoJ0Zh
aWxlZCB0byB1c2Uge30gYXMgdGhlIG1lcmdlIHN0cmF0ZWd5XG4nLmZvcm1hdCgnbWVyZ2UgY29t
bWl0cycgaWYgYXJncy5tZXJnZSBlbHNlICdyZWJhc2UnKSkKICAgICAgICAgICAgIHJlc3VsdCAr
PSAxCiAKKyAgICAgICAgbG9nLndhcm5pbmcoJ1NldHRpbmcgZ2l0IGVkaXRvciBmb3Ige30uLi4n
LmZvcm1hdChyZXBvc2l0b3J5LnJvb3RfcGF0aCkpCisgICAgICAgIGVkaXRvcl9uYW1lID0gJ2Rl
ZmF1bHQnIGlmIGFyZ3MuZGVmYXVsdHMgZWxzZSBUZXJtaW5hbC5jaG9vc2UoCisgICAgICAgICAg
ICAnUGljayBhIGNvbW1pdCBtZXNzYWdlIGVkaXRvcicsCisgICAgICAgICAgICBvcHRpb25zPVsn
ZGVmYXVsdCddICsgW3Byb2dyYW0ubmFtZSBmb3IgcHJvZ3JhbSBpbiBFZGl0b3IucHJvZ3JhbXMo
KV0sCisgICAgICAgICAgICBkZWZhdWx0PSdkZWZhdWx0JywKKyAgICAgICAgICAgIG51bWJlcmVk
PVRydWUsCisgICAgICAgICkKKyAgICAgICAgaWYgZWRpdG9yX25hbWUgPT0gJ2RlZmF1bHQnOgor
ICAgICAgICAgICAgbG9nLndhcm5pbmcoJ1VzaW5nIHRoZSBkZWZhdWx0IGdpdCBlZGl0b3InKQor
ICAgICAgICBlbGlmIHJ1bigKKyAgICAgICAgICAgIFtsb2NhbC5HaXQuZXhlY3V0YWJsZSgpLCAn
Y29uZmlnJywgJ2NvcmUuZWRpdG9yJywgJyAnLmpvaW4oW2FyZy5yZXBsYWNlKCcgJywgJ1xcICcp
IGZvciBhcmcgaW4gRWRpdG9yLmJ5X25hbWUoZWRpdG9yX25hbWUpLndhaXRdKV0sCisgICAgICAg
ICAgICBjYXB0dXJlX291dHB1dD1UcnVlLAorICAgICAgICAgICAgY3dkPXJlcG9zaXRvcnkucm9v
dF9wYXRoLAorICAgICAgICApLnJldHVybmNvZGU6CisgICAgICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKCdGYWlsZWQgdG8gc2V0IHRoZSBnaXQgZWRpdG9yIHRvIHt9XG4nLmZvcm1hdChlZGl0b3Jf
bmFtZSkpCisgICAgICAgICAgICByZXN1bHQgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgbG9nLndhcm5pbmcoIlNldCBnaXQgZWRpdG9yIHRvICd7fSciLmZvcm1hdChlZGl0b3JfbmFt
ZSkpCisKICAgICAgICAgIyBPbmx5IGNvbmZpZ3VyZSBHaXRIdWIgaWYgdGhlIFVSTCBpcyBhIEdp
dEh1YiBVUkwKICAgICAgICAgcm10ID0gcmVwb3NpdG9yeS5yZW1vdGUoKQogICAgICAgICBpZiBu
b3QgaXNpbnN0YW5jZShybXQsIHJlbW90ZS5HaXRIdWIpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9zZXR1cF91bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rl
c3Qvc2V0dXBfdW5pdHRlc3QucHkKaW5kZXggNWNhY2ZhZGQ5NTkxMTAxYThhZGNlZGVlNjQ3NTA1
OTUwNjc2NGJlYS4uODFmZDFkMzZjNTZkMWU4ZmFhMjE2NzQ4NmNmNjE0OWE5ZTQ2YjA1ZiAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
dGVzdC9zZXR1cF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS90ZXN0L3NldHVwX3VuaXR0ZXN0LnB5CkBAIC0yMiw4ICsyMiw4
IEBACiAKIGltcG9ydCBvcwogCi1mcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgT3V0cHV0Q2FwdHVy
ZSwgdGVzdGluZwotZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1wb3J0IFRpbWUgYXMgTW9ja1Rp
bWUsIFRlcm1pbmFsIGFzIE1vY2tUZXJtaW5hbAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IEVk
aXRvciwgT3V0cHV0Q2FwdHVyZSwgdGVzdGluZworZnJvbSB3ZWJraXRjb3JlcHkubW9ja3MgaW1w
b3J0IFRlcm1pbmFsIGFzIE1vY2tUZXJtaW5hbAogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgcHJv
Z3JhbSwgbW9ja3MKIAogCkBAIC04NywxMiArODcsMTQgQEAgU2V0IGdpdCB1c2VyIG5hbWUgdG8g
J1RpbSBBcHBsZScKIFNldHRpbmcgYmV0dGVyIE9iamVjdGl2ZS1DIGRpZmZpbmcgYmVoYXZpb3Iu
Li4KIFNldCBiZXR0ZXIgT2JqZWN0aXZlLUMgZGlmZmluZyBiZWhhdmlvciEKIFVzaW5nIGEgcmVi
YXNlIG1lcmdlIHN0cmF0ZWd5CitTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHtyZXBvc2l0b3J5fS4u
LgorVXNpbmcgdGhlIGRlZmF1bHQgZ2l0IGVkaXRvcgogJycnLmZvcm1hdChyZXBvc2l0b3J5PXNl
bGYucGF0aCksCiAgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X2dpdGh1Yl9jaGVja291dChzZWxm
KToKICAgICAgICAgd2l0aCBPdXRwdXRDYXB0dXJlKCkgYXMgY2FwdHVyZWQsIG1vY2tzLnJlbW90
ZS5HaXRIdWIoKSBhcyByZW1vdGUsIFwKLSAgICAgICAgICAgIE1vY2tUZXJtaW5hbC5pbnB1dCgn
bicsICdjb21taXR0ZXJAd2Via2l0Lm9yZycsICduJywgJ0NvbW1pdHRlcicsICduJywgJ3knKSwg
XAorICAgICAgICAgICAgTW9ja1Rlcm1pbmFsLmlucHV0KCduJywgJ2NvbW1pdHRlckB3ZWJraXQu
b3JnJywgJ24nLCAnQ29tbWl0dGVyJywgJ24nLCAnMScsICd5JyksIFwKICAgICAgICAgICAgIG1v
Y2tzLmxvY2FsLkdpdChzZWxmLnBhdGgsIHJlbW90ZT0naHR0cHM6Ly97fScuZm9ybWF0KHJlbW90
ZS5yZW1vdGUpKSBhcyByZXBvOgogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIHBy
b2dyYW0ubWFpbigKQEAgLTEwNSw2ICsxMDcsNyBAQCBVc2luZyBhIHJlYmFzZSBtZXJnZSBzdHJh
dGVneQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQ29tbWl0dGVyJywgY29uZmlnLmdl
dCgndXNlci5uYW1lJywgJycpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnY29tbWl0
dGVyQHdlYmtpdC5vcmcnLCBjb25maWcuZ2V0KCd1c2VyLmVtYWlsJywgJycpKQogCisgICAgICAg
IHByb2dyYW1zID0gWydkZWZhdWx0J10gKyBbcC5uYW1lIGZvciBwIGluIEVkaXRvci5wcm9ncmFt
cygpXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgY2FwdHVyZWQuc3Rk
b3V0LmdldHZhbHVlKCksCiAgICAgICAgICAgICAnJydTZXQgJ3RhcHBsZUB3ZWJraXQub3JnJyBh
cyB0aGUgZ2l0IHVzZXIgZW1haWwgKFllcy9Obyk6IApAQCAtMTEyLDggKzExNSwxMSBAQCBHaXQg
dXNlciBlbWFpbDoKIFNldCAnVGltIEFwcGxlJyBhcyB0aGUgZ2l0IHVzZXIgbmFtZSAoWWVzL05v
KTogCiBHaXQgdXNlciBuYW1lOiAKIEF1dG8tY29sb3Igc3RhdHVzLCBkaWZmLCBhbmQgYnJhbmNo
PyAoWWVzL05vKTogCitQaWNrIGEgY29tbWl0IG1lc3NhZ2UgZWRpdG9yOgorICAgIHt9Cis6IAog
Q3JlYXRlIGEgcHJpdmF0ZSBmb3JrIG9mICdXZWJLaXQnIGJlbG9uZ2luZyB0byAndXNlcm5hbWUn
IChZZXMvTm8pOiAKLScnJykKKycnJy5mb3JtYXQoJ1xuICAgICcuam9pbihbJ3t9KSB7fScuZm9y
bWF0KGNvdW50ICsgMSwgcHJvZ3JhbXNbY291bnRdKSBmb3IgY291bnQgaW4gcmFuZ2UobGVuKHBy
b2dyYW1zKSldKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FwdHVyZWQuc3RkZXJyLmdl
dHZhbHVlKCksICcnKQogICAgICAgICBzZWxmLm1heERpZmYgPSBOb25lCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCkBAIC0xMjUsNiArMTMxLDggQEAgU2V0IGdpdCB1c2VyIG5hbWUgdG8gJ0Nv
bW1pdHRlcicKIFNldHRpbmcgYmV0dGVyIE9iamVjdGl2ZS1DIGRpZmZpbmcgYmVoYXZpb3IuLi4K
IFNldCBiZXR0ZXIgT2JqZWN0aXZlLUMgZGlmZmluZyBiZWhhdmlvciEKIFVzaW5nIGEgcmViYXNl
IG1lcmdlIHN0cmF0ZWd5CitTZXR0aW5nIGdpdCBlZGl0b3IgZm9yIHtyZXBvc2l0b3J5fS4uLgor
VXNpbmcgdGhlIGRlZmF1bHQgZ2l0IGVkaXRvcgogU2F2aW5nIEdpdEh1YiBjcmVkZW50aWFscyBp
biBzeXN0ZW0gY3JlZGVudGlhbCBzdG9yZS4uLgogR2l0SHViIGNyZWRlbnRpYWxzIHNhdmVkIHZp
YSBLZXlyaW5nIQogVmVyaWZ5aW5nIHVzZXIgb3duZWQgZm9yay4uLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>