<?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>223215</bug_id>
          
          <creation_ts>2021-03-15 14:16:52 -0700</creation_ts>
          <short_desc>[resultsdbpy] Allow user to change commit representation</short_desc>
          <delta_ts>2021-03-16 15:10:01 -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=221860</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739661</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-15 14:16:52 -0700</bug_when>
    <thetext>Allow users to pick how commits are represented for a given repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739662</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-15 14:17:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75446602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739669</commentid>
    <comment_count>2</comment_count>
      <attachid>423240</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-15 14:27:18 -0700</bug_when>
    <thetext>Created attachment 423240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740037</commentid>
    <comment_count>3</comment_count>
      <attachid>423240</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-16 10:55:59 -0700</bug_when>
    <thetext>Comment on attachment 423240
Patch

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

&gt; Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:150
&gt; +        let preference = CommitBank._representationCache ? CommitBank._representationCache[this.repository_id].representation : null;

Use `const` since we are not modifying?

&gt; Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js:390
&gt; +                    });
&gt; +                }
&gt; +            }
&gt; +        });

Mismatched indentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740053</commentid>
    <comment_count>4</comment_count>
      <attachid>423240</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2021-03-16 11:09:48 -0700</bug_when>
    <thetext>Comment on attachment 423240
Patch

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

&gt; Tools/Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js:379
&gt; +            element.onclick = () =&gt; {

We should use onStateUpdate for rendering isExpanded, without it, your update will be outside requestAnimationFrame, we should make sure all of our DOM updates inside of it.

You can do:
const expander = REF.createRef({...})；
expander.fromEvent(&apos;click&apos;).action(() =&gt; expander.setState({isExpanded: !isExpanded}));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740135</commentid>
    <comment_count>5</comment_count>
      <attachid>423240</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2021-03-16 12:57:03 -0700</bug_when>
    <thetext>Comment on attachment 423240
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740160</commentid>
    <comment_count>6</comment_count>
      <attachid>423392</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-16 13:35:51 -0700</bug_when>
    <thetext>Created attachment 423392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740176</commentid>
    <comment_count>7</comment_count>
      <attachid>423396</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-16 14:00:51 -0700</bug_when>
    <thetext>Created attachment 423396
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740239</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-16 15:10:00 -0700</bug_when>
    <thetext>Committed r274523: &lt;https://commits.webkit.org/r274523&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423396.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423240</attachid>
            <date>2021-03-15 14:27:18 -0700</date>
            <delta_ts>2021-03-16 13:35:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223215-20210315142717.patch</filename>
            <type>text/plain</type>
            <size>18417</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NDQzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMyIEBACisyMDIxLTAzLTE1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbcmVzdWx0c2RicHldIEFsbG93IHVzZXIgdG8gY2hhbmdlIGNvbW1pdCBy
ZXByZXNlbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ0NjYwMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFy
aWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvYXBpX3JvdXRlcy5weToKKyAg
ICAgICAgKEFQSVJvdXRlcy5fX2luaXRfXyk6IEFkZCBjb21taXQgcmVwcmVzZW50YXRpb25zIGVu
ZHBvaW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L2NvbnRyb2xsZXIvY29tbWl0X2NvbnRyb2xsZXIucHk6CisgICAgICAgIChDb21taXRDb250
cm9sbGVyLnJlcHJlc2VudGF0aW9ucyk6IEFkZCBjb21taXQgcmVwcmVzZW50YXRpb25zIGVuZHBv
aW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L21vZGVsL3JlcG9zaXRvcnkucHk6CisgICAgICAgIChSZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9u
cyk6IFJldHVybiBwcmlvcml0aXplZCBjb21taXQgcmVwcmVzZW50YXRpb24uCisgICAgICAgIChT
dGFzaFJlcG9zaXRvcnkucmVwcmVzZW50YXRpb25zKTogRGl0dG8uCisgICAgICAgIChXZWJLaXRS
ZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9ucyk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2NvbW1pdC5qczoK
KyAgICAgICAgKENvbW1pdC5wcm90b3R5cGUubGFiZWwpOiBDaGFuZ2UgdGhlIGNvbW1pdCByZXBy
ZXNlbnRhdGlvbiBiYXNlZCBvbiBnbG9iYWwgc2V0dGluZ3MuCisgICAgICAgIChfQ29tbWl0QmFu
ayk6CisgICAgICAgIChfQ29tbWl0QmFuay5wcm90b3R5cGUuY29tbWl0UmVwcmVzZW50YXRpb25z
KTogQ2hlY2sgdGhlIGNvbW1pdCByZXByZXNlbnRhdGlvbiBjb29raWUsIHRoZW4KKyAgICAgICAg
dGhlIHJlcHJlc2VudGF0aW9uIGVuZHBvaW50LgorICAgICAgICAoX0NvbW1pdEJhbmsucHJvdG90
eXBlLnNldENvbW1pdFJlcHJlc2VudGF0aW9uKTogU2V0IHRoZSBjb21taXQgcmVwcmVzZW50YXRp
b24gY29va2llLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qczoKKyAgICAgICAgKENvbW1pdFJlcHJlc2Vu
dGF0aW9uKTogRHJhd2VyIGNvbnRyb2wgYWxsb3dpbmcgdXNlciB0byBjaGFuZ2UgY29tbWl0IHJl
cHJlc2VudGF0aW9uIGZvciByZXBvc2l0b3JpZXMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJp
ZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvY29tbWl0cy5odG1sOiBB
ZGQgbmV3IGNvbnRyb2wuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvZG9jdW1lbnRhdGlvbi5odG1sOiBEaXR0by4KKyAg
ICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3Rl
bXBsYXRlcy9zZWFyY2guaHRtbDogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1s
OiBEaXR0by4KKwogMjAyMS0wMy0xNSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYkdMIElQQyBzaG91bGQgdXNlIHNoYXJlZCBtZW1vcnkgZm9yIHN5
bmNocm9ub3VzIG1lc3NhZ2VzCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRz
ZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2FwaV9yb3V0ZXMucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvY29udHJvbGxl
ci9hcGlfcm91dGVzLnB5CShyZXZpc2lvbiAyNzQ0MzMpCisrKyBUb29scy9TY3JpcHRzL2xpYnJh
cmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2FwaV9yb3V0ZXMucHkJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgY2xhc3MgQVBJUm91dGVzKEF1dGhlZEJsdWVw
cmludCk6CiAgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvY29tbWl0cycsICdjb21taXRfY29u
dHJvbGxlcicsIHNlbGYuY29tbWl0X2NvbnRyb2xsZXIuZGVmYXVsdCwgbWV0aG9kcz0oJ0dFVCcs
ICdQT1NUJykpCiAgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvY29tbWl0cy9maW5kJywgJ2Nv
bW1pdF9jb250cm9sbGVyX2ZpbmQnLCBzZWxmLmNvbW1pdF9jb250cm9sbGVyLmZpbmQsIG1ldGhv
ZHM9KCdHRVQnLCkpCiAgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvY29tbWl0cy9yZXBvc2l0
b3JpZXMnLCAnY29tbWl0X2NvbnRyb2xsZXJfcmVwb3NpdG9yaWVzJywgc2VsZi5jb21taXRfY29u
dHJvbGxlci5yZXBvc2l0b3JpZXMsIG1ldGhvZHM9KCdHRVQnLCkpCisgICAgICAgIHNlbGYuYWRk
X3VybF9ydWxlKCcvY29tbWl0cy9yZXByZXNlbnRhdGlvbnMnLCAnY29tbWl0X2NvbnRyb2xsZXJf
cmVwcmVzZW50YXRpb25zJywgc2VsZi5jb21taXRfY29udHJvbGxlci5yZXByZXNlbnRhdGlvbnMs
IG1ldGhvZHM9KCdHRVQnLCkpCiAgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvY29tbWl0cy9i
cmFuY2hlcycsICdjb21taXRfY29udHJvbGxlcl9icmFuY2hlcycsICBzZWxmLmNvbW1pdF9jb250
cm9sbGVyLmJyYW5jaGVzLCBtZXRob2RzPSgnR0VUJywpKQogICAgICAgICBzZWxmLmFkZF91cmxf
cnVsZSgnL2NvbW1pdHMvc2libGluZ3MnLCAnY29tbWl0X2NvbnRyb2xsZXJfc2libGluZ3MnLCBz
ZWxmLmNvbW1pdF9jb250cm9sbGVyLnNpYmxpbmdzLCBtZXRob2RzPSgnR0VUJywpKQogICAgICAg
ICBzZWxmLmFkZF91cmxfcnVsZSgnL2NvbW1pdHMvbmV4dCcsICdjb21taXRfY29udHJvbGxlcl9u
ZXh0Jywgc2VsZi5jb21taXRfY29udHJvbGxlci5uZXh0LCBtZXRob2RzPSgnR0VUJywpKQpJbmRl
eDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvY29udHJv
bGxlci9jb21taXRfY29udHJvbGxlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xp
YnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2NvbW1pdF9jb250cm9s
bGVyLnB5CShyZXZpc2lvbiAyNzQ0MzMpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2NvbW1pdF9jb250cm9sbGVyLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTEsNiArMTkxLDEzIEBAIGNsYXNzIENvbW1pdENvbnRyb2xsZXIoSGFz
Q29tbWl0Q29udGV4dCkKICAgICAgICAgQXNzZXJ0UmVxdWVzdC5ub19xdWVyeSgpCiAgICAgICAg
IHJldHVybiBqc29uaWZ5KHNvcnRlZChzZWxmLmNvbW1pdF9jb250ZXh0LnJlcG9zaXRvcmllcy5r
ZXlzKCkpKQogCisgICAgZGVmIHJlcHJlc2VudGF0aW9ucyhzZWxmKToKKyAgICAgICAgQXNzZXJ0
UmVxdWVzdC5pc190eXBlKCkKKyAgICAgICAgQXNzZXJ0UmVxdWVzdC5ub19xdWVyeSgpCisgICAg
ICAgIHJldHVybiBqc29uaWZ5KHsKKyAgICAgICAgICAgIGtleTogcmVwb3NpdG9yeS5yZXByZXNl
bnRhdGlvbnMoKSBmb3Iga2V5LCByZXBvc2l0b3J5IGluIHNlbGYuY29tbWl0X2NvbnRleHQucmVw
b3NpdG9yaWVzLml0ZW1zKCkKKyAgICAgICAgfSkKKwogICAgIEBxdWVyeV9hc19rd2FyZ3MoKQog
ICAgIEBsaW1pdF9mb3JfcXVlcnkoREVGQVVMVF9MSU1JVCkKICAgICBkZWYgYnJhbmNoZXMoc2Vs
ZiwgcmVwb3NpdG9yeV9pZD1Ob25lLCBicmFuY2g9Tm9uZSwgbGltaXQ9Tm9uZSwgKiprd2FyZ3Mp
OgpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkv
bW9kZWwvcmVwb3NpdG9yeS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9tb2RlbC9yZXBvc2l0b3J5LnB5CShyZXZpc2lvbiAy
NzQ0MzMpCisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJw
eS9tb2RlbC9yZXBvc2l0b3J5LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw5IEBAIGNs
YXNzIFJlcG9zaXRvcnkob2JqZWN0KToKICAgICBkZWYgdXJsX2Zvcl9jb21taXQoc2VsZiwgY29t
bWl0KToKICAgICAgICAgcmV0dXJuIE5vbmUKIAorICAgIGRlZiByZXByZXNlbnRhdGlvbnMoc2Vs
Zik6CisgICAgICAgIHJldHVybiBbXQorCiAKIGNsYXNzIFN0YXNoUmVwb3NpdG9yeShSZXBvc2l0
b3J5KToKIApAQCAtNjEsNiArNjQsOSBAQCBjbGFzcyBTdGFzaFJlcG9zaXRvcnkoUmVwb3NpdG9y
eSk6CiAgICAgZGVmIHVybF9mb3JfY29tbWl0KHNlbGYsIGNvbW1pdCk6CiAgICAgICAgIHJldHVy
biBmJ3tzZWxmLnJlbW90ZS51cmx9L2NvbW1pdHMve2NvbW1pdH0nCiAKKyAgICBkZWYgcmVwcmVz
ZW50YXRpb25zKHNlbGYpOgorICAgICAgICByZXR1cm4gWydoYXNoJywgJ2lkZW50aWZpZXInXQor
CiAKIGNsYXNzIFdlYktpdFJlcG9zaXRvcnkoUmVwb3NpdG9yeSk6CiAKQEAgLTg1LDMgKzkxLDYg
QEAgY2xhc3MgV2ViS2l0UmVwb3NpdG9yeShSZXBvc2l0b3J5KToKIAogICAgIGRlZiB1cmxfZm9y
X2NvbW1pdChzZWxmLCBjb21taXQpOgogICAgICAgICByZXR1cm4gZidodHRwczovL2NvbW1pdHMu
d2Via2l0Lm9yZy9ye2NvbW1pdH0nCisKKyAgICBkZWYgcmVwcmVzZW50YXRpb25zKHNlbGYpOgor
ICAgICAgICByZXR1cm4gWydpZGVudGlmaWVyJywgJ3JldmlzaW9uJ10KSW5kZXg6IFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2Nv
bW1pdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJw
eS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9jb21taXQuanMJKHJldmlzaW9uIDI3NDQzMykK
KysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
c3RhdGljL2pzL2NvbW1pdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxOSwgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0NywxMSArMTQ3LDIzIEBAIGNs
YXNzIENvbW1pdCB7CiAgICAgICAgIHJldHVybiB0aGlzLnV1aWQgLSBjb21taXQudXVpZDsKICAg
ICB9CiAgICAgbGFiZWwoKSB7Ci0gICAgICAgIC8vIFBlciB0aGUgYmlydGhkYXkgcGFyYWRveCwg
MTAlIGNoYW5jZSBvZiBjb2xsaXNpb24gd2l0aCA3LjcgbWlsbGlvbiBjb21taXRzIHdpdGggMTIg
Y2hhcmFjdGVyIGNvbW1pdHMKLSAgICAgICAgcmV0dXJuIHRoaXMuaWRlbnRpZmllci5zdWJzdHJp
bmcoMCwxMik7CisgICAgICAgIGxldCBwcmVmZXJlbmNlID0gQ29tbWl0QmFuay5fcmVwcmVzZW50
YXRpb25DYWNoZSA/IENvbW1pdEJhbmsuX3JlcHJlc2VudGF0aW9uQ2FjaGVbdGhpcy5yZXBvc2l0
b3J5X2lkXS5yZXByZXNlbnRhdGlvbiA6IG51bGw7CisKKyAgICAgICAgaWYgKHByZWZlcmVuY2Ug
PT09ICdpZGVudGlmaWVyJykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXI7Cisg
ICAgICAgIGlmIChwcmVmZXJlbmNlID09PSAnaGFzaCcpIHsKKyAgICAgICAgICAgIC8vIFBlciB0
aGUgYmlydGhkYXkgcGFyYWRveCwgMTAlIGNoYW5jZSBvZiBjb2xsaXNpb24gd2l0aCA3LjcgbWls
bGlvbiBjb21taXRzIHdpdGggMTIgY2hhcmFjdGVyIGNvbW1pdHMKKyAgICAgICAgICAgIHJldHVy
biB0aGlzLmhhc2guc3Vic3RyaW5nKDAsMTIpCisgICAgICAgIH0KKyAgICAgICAgaWYgKHByZWZl
cmVuY2UgPT09ICdyZXZpc2lvbicpCisgICAgICAgICAgICByZXR1cm4gYHIke3RoaXMucmV2aXNp
b259YDsKKworICAgICAgICByZXR1cm4gdGhpcy5yZXZpc2lvbiA/IGByJHt0aGlzLnJldmlzaW9u
fWAgOiB0aGlzLmhhc2guc3Vic3RyaW5nKDAsMTIpOwogICAgIH0KIH07CiAKK2NvbnN0IENPT0tJ
RV9OQU1FID0gJ2NvbW1pdFJlcHJlc2VudGF0aW9uJzsKKwogY2xhc3MgX0NvbW1pdEJhbmsgewog
ICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgICB0aGlzLmNvbW1pdHMgPSBbXTsKQEAgLTE2Myw3
ICsxNzUsNDUgQEAgY2xhc3MgX0NvbW1pdEJhbmsgewogICAgICAgICB0aGlzLl9iZWdpblV1aWQg
PSBudWxsOwogICAgICAgICB0aGlzLl9lbmRVdWlkID0gbnVsbDsKICAgICAgICAgdGhpcy5jYWxs
YmFja3MgPSBbXTsKKyAgICAgICAgdGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSA9IG51bGw7Cisg
ICAgfQorICAgIGNvbW1pdFJlcHJlc2VudGF0aW9ucyhjYWxsYmFjaykgeworICAgICAgICBpZiAo
dGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSAhPSBudWxsKSB7CisgICAgICAgICAgICBjYWxsYmFj
ayh0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgICAgIGNvbnN0IGNvb2tpZXMgPSBkZWNvZGVVUklDb21wb25lbnQoZG9jdW1lbnQu
Y29va2llKS5zcGxpdCgnOycpCisgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBj
b29raWVzLmxlbmd0aDsgKytpbmRleCkgeworICAgICAgICAgICAgaWYgKGNvb2tpZXNbaW5kZXhd
LmluZGV4T2YoYCR7Q09PS0lFX05BTUV9PWApKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICAgICB0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlID0gSlNPTi5wYXJzZShjb29r
aWVzW2luZGV4XS5zdWJzdHJpbmcoQ09PS0lFX05BTUUubGVuZ3RoICsgMSkpOworICAgICAgICAg
ICAgY2FsbGJhY2sodGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KIAorICAgICAgICBmZXRjaCgnYXBpL2NvbW1pdHMvcmVwcmVzZW50YXRp
b25zJykudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgICByZXNwb25zZS5qc29uKCkudGhl
bihqc29uID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlID0g
e307CisgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoanNvbikuZm9yRWFjaChyZXBvc2l0b3J5
ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFqc29uW3JlcG9zaXRvcnldLmxlbmd0aCkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5fcmVwcmVzZW50YXRpb25DYWNoZVtyZXBvc2l0b3J5XSA9IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICdyZXByZXNlbnRhdGlvbic6IGpzb25bcmVwb3NpdG9yeV1bMF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAnY2FuZGlkYXRlcyc6IGpzb25bcmVwb3NpdG9yeV0sCisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5jb29raWUgPSBgJHtDT09LSUVfTkFNRX09JHtKU09OLnN0cmluZ2lmeSh0aGlzLl9yZXByZXNl
bnRhdGlvbkNhY2hlKX1gOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX3JlcHJlc2Vu
dGF0aW9uQ2FjaGUpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pLmNhdGNoKGVycm9yID0+
IHsKKyAgICAgICAgICAgIC8vIElmIHRoZSBsb2FkIGZhaWxzLCBsb2cgdGhlIGVycm9yIGFuZCBj
b250aW51ZQorICAgICAgICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeShlcnJvciwg
bnVsbCwgNCkpOworICAgICAgICB9KTsKKyAgICB9CisgICAgc2V0Q29tbWl0UmVwcmVzZW50YXRp
b24ocmVwb3NpdG9yeSwgcmVwcmVzZW50YXRpb24pIHsKKyAgICAgICAgdGhpcy5fcmVwcmVzZW50
YXRpb25DYWNoZVtyZXBvc2l0b3J5XS5yZXByZXNlbnRhdGlvbiA9IHJlcHJlc2VudGF0aW9uOwor
ICAgICAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfTkFNRX09JHtKU09OLnN0cmluZ2lm
eSh0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlKX1gOwogICAgIH0KICAgICBsYXRlc3QocGFyYW1z
KSB7CiAgICAgICAgIHRoaXMuX2JyYW5jaGVzID0gbmV3IFNldChwYXJhbXMuYnJhbmNoKTsKSW5k
ZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
c3RhdGljL2pzL2RyYXdlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmll
cy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9kcmF3ZXIuanMJKHJldmlz
aW9uIDI3NDQzMykKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDQgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIyLDcgKzIyLDggQEAK
IC8vIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IHtET00sIFJFRn0g
ZnJvbSAnL2xpYnJhcnkvanMvUmVmLmpzJzsKLWltcG9ydCB7cXVlcnlUb1BhcmFtcywgcGFyYW1z
VG9RdWVyeSwgUXVlcnlNb2RpZmllciwgfSBmcm9tICcvYXNzZXRzL2pzL2NvbW1vbi5qcyc7Citp
bXBvcnQge3F1ZXJ5VG9QYXJhbXMsIHBhcmFtc1RvUXVlcnksIFF1ZXJ5TW9kaWZpZXJ9IGZyb20g
Jy9hc3NldHMvanMvY29tbW9uLmpzJzsKK2ltcG9ydCB7Q29tbWl0QmFua30gZnJvbSAnL2Fzc2V0
cy9qcy9jb21taXQuanMnOwogaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcvYXNzZXRzL2pz
L2NvbmZpZ3VyYXRpb24uanMnCiAKIGZ1bmN0aW9uIHNldEVuYWJsZVJlY3Vyc2l2ZShlbGVtZW50
LCBzdGF0ZSkgewpAQCAtMzMxLDQgKzMzMiw3NCBAQCBmdW5jdGlvbiBDb25maWd1cmF0aW9uU2Vs
ZWN0b3JzKGNhbGxiYWNrCiAgICAgfSkuam9pbignJykKIH0KIAotZXhwb3J0IHtEcmF3ZXIsIEJy
YW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNsaWRlcn07CitmdW5j
dGlvbiBDb21taXRSZXByZXNlbnRhdGlvbihjYWxsYmFjaykgeworICAgIGNvbnN0IHJlZiA9IFJF
Ri5jcmVhdGVSZWYoeworICAgICAgICBzdGF0ZToge30sCisgICAgICAgIG9uU3RhdGVVcGRhdGU6
IChlbGVtZW50LCBzdGF0ZSkgPT4geworICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhzdGF0
ZSkubGVuZ3RoKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgRE9NLmlu
amVjdCgKKyAgICAgICAgICAgICAgICBlbGVtZW50LAorICAgICAgICAgICAgICAgIE9iamVjdC5r
ZXlzKHN0YXRlKS5tYXAocmVwb3NpdG9yeSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHNlbGVjdG9yID0gUkVGLmNyZWF0ZVJlZih7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
ZTogc3RhdGVbcmVwb3NpdG9yeV0ucmVwcmVzZW50YXRpb24sCisgICAgICAgICAgICAgICAgICAg
ICAgICBvbkVsZW1lbnRNb3VudDogKGVsZW1lbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm9uY2hhbmdlID0gKCkg
PT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21taXRCYW5rLnNldENvbW1p
dFJlcHJlc2VudGF0aW9uKHJlcG9zaXRvcnksIGVsZW1lbnQudmFsdWUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICBvblN0YXRlVXBkYXRlOiAoZWxlbWVudCwgcmVwcmVzZW50YXRpb24pID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IHN0YXRlW3JlcG9zaXRvcnld
LmNhbmRpZGF0ZXMubWFwKGNhbmRpZGF0ZSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChjYW5kaWRhdGUgPT09IHJlcHJlc2VudGF0aW9uKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA8b3B0aW9uIHNlbGVjdGVkIHZhbHVlPSIke2Nh
bmRpZGF0ZX0iPiR7Y2FuZGlkYXRlfTwvb3B0aW9uPmA7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBgPG9wdGlvbiB2YWx1ZT0iJHtjYW5kaWRhdGV9Ij4ke2NhbmRpZGF0
ZX08L29wdGlvbj5gOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmpvaW4oJycpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBgPGRpdiBjbGFzcz0iaW5wdXQiPgorICAgICAgICAgICAg
ICAgICAgICAgICAgPHNlbGVjdCByZXF1aXJlZCByZWY9IiR7c2VsZWN0b3J9Ij4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICR7c3RhdGVbcmVwb3NpdG9yeV0uY2FuZGlkYXRlcy5tYXAocmVw
ciA9PiBgPG9wdGlvbiB2YWx1ZT0iJHtyZXByfSI+JHtyZXByfTwvb3B0aW9uPmApLmpvaW4oJycp
fQorICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CisgICAgICAgICAgICAgICAgICAg
ICAgICA8bGFiZWwgc3R5bGU9ImNvbG9yOnZhcigtLWludmVyc2VDb2xvcikiPiR7cmVwb3NpdG9y
eS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHJlcG9zaXRvcnkuc2xpY2UoMSl9PC9sYWJlbD4K
KyAgICAgICAgICAgICAgICAgICAgPC9kaXY+YDsKKyAgICAgICAgICAgICAgICB9KS5qb2luKCcn
KSk7CisgICAgICAgIH0sCisgICAgfSk7CisgICAgQ29tbWl0QmFuay5jb21taXRSZXByZXNlbnRh
dGlvbnMoanNvbiA9PiB7CisgICAgICAgIHJlZi5zZXRTdGF0ZShqc29uKTsKKyAgICB9KTsKKwor
ICAgIGxldCBpc0V4cGFuZGVkID0gZmFsc2U7CisgICAgY29uc3QgZXhwYW5kZXIgPSBSRUYuY3Jl
YXRlUmVmKHsKKyAgICAgICAgb25FbGVtZW50TW91bnQ6IChlbGVtZW50KSA9PiB7CisgICAgICAg
ICAgICBlbGVtZW50Lm9uY2xpY2sgPSAoKSA9PiB7CisgICAgICAgICAgICAgICAgaXNFeHBhbmRl
ZCA9ICFpc0V4cGFuZGVkOworICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gaXNF
eHBhbmRlZCA/ICctJyA6ICcrJzsKKworICAgICAgICAgICAgICAgIEFycmF5LmZyb20oZWxlbWVu
dC5wYXJlbnROb2RlLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGVsZW1lbnQgPT0gY2hpbGQpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICAgICAgICAgIGNoaWxkLnN0eWxlLmRpc3BsYXkgPSBpc0V4cGFuZGVk
ID8gJ2Jsb2NrJyA6ICdub25lJzsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9KTsKKworICAgIHJldHVybiBgPGRpdiBj
bGFzcz0iaXRlbSI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IHZhcigtLXNt
YWxsU2l6ZSk7Ij4KKyAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibGluay1idXR0b24gdGV4dCBt
ZWRpdW0iIHJlZj0iJHtleHBhbmRlcn0iPis8L2E+CisgICAgICAgICAgICAgICAgQ29tbWl0IFJl
cHJlc2VudGF0aW9uCisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGlzdCIgcmVmPSIke3Jl
Zn0iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9Iml0ZW0gbG9hZGVyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNw
aW5uZXIiPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAg
ICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj5gOworfQorCitleHBv
cnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMsIExpbWl0
U2xpZGVyLCBDb21taXRSZXByZXNlbnRhdGlvbn07CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJh
cmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9jb21taXRzLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0
c2RicHkvdmlldy90ZW1wbGF0ZXMvY29tbWl0cy5odG1sCShyZXZpc2lvbiAyNzQ0MzMpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBs
YXRlcy9jb21taXRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIGltcG9y
dCB7UkVGLCBET019IGZyb20gJy9saWJyYXJ5L2pzL1JlZi5qcyc7CiBpbXBvcnQge0Vycm9yRGlz
cGxheX0gZnJvbSAnL2Fzc2V0cy9qcy9jb21tb24uanMnOwogaW1wb3J0IHtDb21taXQsIENvbW1p
dFRhYmxlfSBmcm9tICcvYXNzZXRzL2pzL2NvbW1pdC5qcyc7Ci1pbXBvcnQge0RyYXdlciwgQnJh
bmNoU2VsZWN0b3IsIExpbWl0U2xpZGVyfSBmcm9tICcvYXNzZXRzL2pzL2RyYXdlci5qcyc7Citp
bXBvcnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIExpbWl0U2xpZGVyLCBDb21taXRSZXByZXNl
bnRhdGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIuanMnOwogCiB2YXIgb25lTGluZSA9IHRy
dWU7CiAKQEAgLTEwMyw2ICsxMDMsNyBAQCBET00uaW5qZWN0KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdhcHAnCiAgICAgTGltaXRTbGlkZXIoKCkgPT4ge3RhYmxlLnJlbG9hZCgpfSwgMTAwMDAs
IDEwMDApLAogICAgIE9uZUxpbmVTd2l0Y2goKSwKICAgICBCcmFuY2hTZWxlY3RvcigoKSA9PiB7
dGFibGUucmVsb2FkKCl9KSwKKyAgICBDb21taXRSZXByZXNlbnRhdGlvbigoKSA9PiB7dGFibGUu
cmVsb2FkKCl9KSwKIF0pfQogPGRpdiBjbGFzcz0ibWFpbiByaWdodC1zaWRlYmFyIHVuZGVyLXRv
cGJhci13aXRoLWFjdGlvbnMiPgogICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPiR7dGFibGV9PC9k
aXY+CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJw
eS92aWV3L3RlbXBsYXRlcy9kb2N1bWVudGF0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMv
ZG9jdW1lbnRhdGlvbi5odG1sCShyZXZpc2lvbiAyNzQ0MzMpCisrKyBUb29scy9TY3JpcHRzL2xp
YnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9kb2N1bWVudGF0
aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsMTggQEAgY29uc3QgZG9jdW1l
bnRhdGlvbiA9IHsKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgKSwKICAgICAgICAg
ICAgIGRvY3VtZW50RW5kcG9pbnQoCisgICAgICAgICAgICAgICAgJy9hcGkvY29tbWl0cy9yZXBy
ZXNlbnRhdGlvbnMnLAorICAgICAgICAgICAgICAgIFsnR0VUJ10sCisgICAgICAgICAgICAgICAg
W10sCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICBgUmV0dXJuIGEgZGlj
dGlvbmFyeSBvZiBwcmlvcml0aXplZCB2YWxpZCBjb21taXQgcmVwcmVzZW50YXRpb25zIGZvciBy
ZXBvc2l0b3JpZXMgdHJhY2tlZCBieSB0aGlzIGluc3RhbmNlIHRvIHRoZSByZXN1bHRzIGRhdGFi
YXNlLiBUaGUgb3V0cHV0IGlzIG9mIHRoZSBmb3JtOmAsCisgICAgICAgICAgICAgICAgICAgIGNv
ZGVCbG9jaygne1xuJyArCisgICAgICAgICAgICAgICAgICAgICcgICAgPHJlcG9zaXRvcnktaWQg
KGEpPjogWyJoYXNoIiwgImlkZW50aWZpZXIiXSxcbicgKworICAgICAgICAgICAgICAgICAgICAn
ICAgIDxyZXBvc2l0b3J5LWlkIChiKT46IFsiaWRlbnRpZmllciIsICJyZXZpc2lvbiJdXG4nICsK
KyAgICAgICAgICAgICAgICAgICAgJ30nKSwKKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgKSwKKyAgICAgICAgICAgIGRvY3VtZW50RW5kcG9pbnQoCiAgICAgICAgICAgICAgICAgJy9h
cGkvY29tbWl0cy9icmFuY2hlcycsCiAgICAgICAgICAgICAgICAgWydHRVQnXSwKICAgICAgICAg
ICAgICAgICBbJ0xpbWl0JywgJ1JlcG9zaXRvcnknXSwKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sCShyZXZpc2lvbiAyNzQ0MzMpCisrKyBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBs
YXRlcy9zZWFyY2guaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIDwhLS0KLSBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIENvcHly
aWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNyArMzMsNyBAQAogaW1wb3J0IHtDb21taXRCYW5r
fSBmcm9tICcvYXNzZXRzL2pzL2NvbW1pdC5qcyc7CiBpbXBvcnQge2RlZXBDb21wYXJlLCBFcnJv
ckRpc3BsYXksIHF1ZXJ5VG9QYXJhbXMsIHBhcmFtc1RvUXVlcnl9IGZyb20gJy9hc3NldHMvanMv
Y29tbW9uLmpzJzsKIGltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9jb25m
aWd1cmF0aW9uLmpzJzsKLWltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3RvciwgQ29uZmlndXJh
dGlvblNlbGVjdG9ycywgTGltaXRTbGlkZXJ9IGZyb20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsK
K2ltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3RvciwgQ29uZmlndXJhdGlvblNlbGVjdG9ycywg
TGltaXRTbGlkZXIsIENvbW1pdFJlcHJlc2VudGF0aW9ufSBmcm9tICcvYXNzZXRzL2pzL2RyYXdl
ci5qcyc7CiBpbXBvcnQge0ludmVzdGlnYXRlRHJhd2VyfSBmcm9tICcvYXNzZXRzL2pzL2ludmVz
dGlnYXRlLmpzJzsKIGltcG9ydCB7U2VhcmNoQmFyfSBmcm9tICcvYXNzZXRzL2pzL3NlYXJjaC5q
cyc7CiBpbXBvcnQge0xlZ2VuZCwgVGltZWxpbmVGcm9tRW5kcG9pbnR9IGZyb20gJy9hc3NldHMv
anMvdGltZWxpbmUuanMnOwpAQCAtMjM5LDYgKzIzOSw3IEBAIERPTS5pbmplY3QoCiAgICAgICAg
ICAgICB2aWV3LnJlbG9hZCgpOwogICAgICAgICB9KSwKICAgICAgICAgQ29uZmlndXJhdGlvblNl
bGVjdG9ycygoKSA9PiB7dmlldy5yZWxvYWQoKX0pLAorICAgICAgICBDb21taXRSZXByZXNlbnRh
dGlvbigoKSA9PiB7dmlldy5yZWxvYWQoKX0pLAogICAgIF0sICgpID0+IG9uTGF5b3V0Q2hhbmdl
LmFkZCgpKX0KIAogICAgIDxkaXYgY2xhc3M9Im1haW4gcmlnaHQtc2lkZWJhciB1bmRlci10b3Bi
YXItd2l0aC1hY3Rpb25zIj4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNk
YnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1aXRlX3Jlc3VsdHMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92
aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwJKHJldmlzaW9uIDI3NDQzMykKKysrIFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxh
dGVzL3N1aXRlX3Jlc3VsdHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIDwh
LS0KLSBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
IAogIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNyArMzMsNyBAQAogaW1wb3J0IHtDb21t
aXRCYW5rfSBmcm9tICcvYXNzZXRzL2pzL2NvbW1pdC5qcyc7CiBpbXBvcnQge2RlZXBDb21wYXJl
LCBFcnJvckRpc3BsYXksIHF1ZXJ5VG9QYXJhbXMsIHBhcmFtc1RvUXVlcnl9IGZyb20gJy9hc3Nl
dHMvanMvY29tbW9uLmpzJzsKIGltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSAnL2Fzc2V0cy9q
cy9jb25maWd1cmF0aW9uLmpzJzsKLWltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3RvciwgQ29u
ZmlndXJhdGlvblNlbGVjdG9ycywgTGltaXRTbGlkZXJ9IGZyb20gJy9hc3NldHMvanMvZHJhd2Vy
LmpzJzsKK2ltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3RvciwgQ29uZmlndXJhdGlvblNlbGVj
dG9ycywgTGltaXRTbGlkZXIsIENvbW1pdFJlcHJlc2VudGF0aW9ufSBmcm9tICcvYXNzZXRzL2pz
L2RyYXdlci5qcyc7CiBpbXBvcnQge0ludmVzdGlnYXRlRHJhd2VyfSBmcm9tICcvYXNzZXRzL2pz
L2ludmVzdGlnYXRlLmpzJzsKIGltcG9ydCB7TGVnZW5kLCBUaW1lbGluZUZyb21FbmRwb2ludH0g
ZnJvbSAnL2Fzc2V0cy9qcy90aW1lbGluZS5qcyc7CiBpbXBvcnQge1Rvb2xUaXB9IGZyb20gJy9h
c3NldHMvanMvdG9vbHRpcC5qcyc7CkBAIC0xODIsNiArMTgyLDcgQEAgJHtEcmF3ZXIoWwogICAg
ICAgICB2aWV3LnJlbG9hZCgpOwogICAgIH0pLAogICAgIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMo
KCkgPT4ge3ZpZXcucmVsb2FkKCl9KSwKKyAgICBDb21taXRSZXByZXNlbnRhdGlvbigoKSA9PiB7
dmlldy5yZWxvYWQoKX0pLAogXSwgKCkgPT4gb25MYXlvdXRDaGFuZ2UuYWRkKCkpfQogPGRpdiBj
bGFzcz0ibWFpbiByaWdodC1zaWRlYmFyIHVuZGVyLXRvcGJhci13aXRoLWFjdGlvbnMiPgogICAg
IDxicj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423392</attachid>
            <date>2021-03-16 13:35:51 -0700</date>
            <delta_ts>2021-03-16 14:00:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223215-20210316133550.patch</filename>
            <type>text/plain</type>
            <size>18404</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NDQ5NSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMyIEBACisyMDIxLTAzLTE2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbcmVzdWx0c2RicHldIEFsbG93IHVzZXIgdG8gY2hhbmdlIGNvbW1pdCBy
ZXByZXNlbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ0NjYwMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvbGlicmFy
aWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvYXBpX3JvdXRlcy5weToKKyAg
ICAgICAgKEFQSVJvdXRlcy5fX2luaXRfXyk6IEFkZCBjb21taXQgcmVwcmVzZW50YXRpb25zIGVu
ZHBvaW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L2NvbnRyb2xsZXIvY29tbWl0X2NvbnRyb2xsZXIucHk6CisgICAgICAgIChDb21taXRDb250
cm9sbGVyLnJlcHJlc2VudGF0aW9ucyk6IEFkZCBjb21taXQgcmVwcmVzZW50YXRpb25zIGVuZHBv
aW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L21vZGVsL3JlcG9zaXRvcnkucHk6CisgICAgICAgIChSZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9u
cyk6IFJldHVybiBwcmlvcml0aXplZCBjb21taXQgcmVwcmVzZW50YXRpb24uCisgICAgICAgIChT
dGFzaFJlcG9zaXRvcnkucmVwcmVzZW50YXRpb25zKTogRGl0dG8uCisgICAgICAgIChXZWJLaXRS
ZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9ucyk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2NvbW1pdC5qczoK
KyAgICAgICAgKENvbW1pdC5wcm90b3R5cGUubGFiZWwpOiBDaGFuZ2UgdGhlIGNvbW1pdCByZXBy
ZXNlbnRhdGlvbiBiYXNlZCBvbiBnbG9iYWwgc2V0dGluZ3MuCisgICAgICAgIChfQ29tbWl0QmFu
ayk6CisgICAgICAgIChfQ29tbWl0QmFuay5wcm90b3R5cGUuY29tbWl0UmVwcmVzZW50YXRpb25z
KTogQ2hlY2sgdGhlIGNvbW1pdCByZXByZXNlbnRhdGlvbiBjb29raWUsIHRoZW4KKyAgICAgICAg
dGhlIHJlcHJlc2VudGF0aW9uIGVuZHBvaW50LgorICAgICAgICAoX0NvbW1pdEJhbmsucHJvdG90
eXBlLnNldENvbW1pdFJlcHJlc2VudGF0aW9uKTogU2V0IHRoZSBjb21taXQgcmVwcmVzZW50YXRp
b24gY29va2llLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qczoKKyAgICAgICAgKENvbW1pdFJlcHJlc2Vu
dGF0aW9uKTogRHJhd2VyIGNvbnRyb2wgYWxsb3dpbmcgdXNlciB0byBjaGFuZ2UgY29tbWl0IHJl
cHJlc2VudGF0aW9uIGZvciByZXBvc2l0b3JpZXMuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJp
ZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvY29tbWl0cy5odG1sOiBB
ZGQgbmV3IGNvbnRyb2wuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvZG9jdW1lbnRhdGlvbi5odG1sOiBEaXR0by4KKyAg
ICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3Rl
bXBsYXRlcy9zZWFyY2guaHRtbDogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1s
OiBEaXR0by4KKwogMjAyMS0wMy0xNiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW2V3c10gUmVtb3ZlIG9sZCBQeXRob24gMiByZWxhdGVkIGNvZGUgLSBw
YXJ0IDIKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNk
YnB5L2NvbnRyb2xsZXIvYXBpX3JvdXRlcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2FwaV9yb3V0ZXMu
cHkJKHJldmlzaW9uIDI3NDQ5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNk
YnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvYXBpX3JvdXRlcy5weQkod29ya2luZyBjb3B5KQpA
QCAtNTUsNiArNTUsNyBAQCBjbGFzcyBBUElSb3V0ZXMoQXV0aGVkQmx1ZXByaW50KToKICAgICAg
ICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9jb21taXRzJywgJ2NvbW1pdF9jb250cm9sbGVyJywgc2Vs
Zi5jb21taXRfY29udHJvbGxlci5kZWZhdWx0LCBtZXRob2RzPSgnR0VUJywgJ1BPU1QnKSkKICAg
ICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9jb21taXRzL2ZpbmQnLCAnY29tbWl0X2NvbnRyb2xs
ZXJfZmluZCcsIHNlbGYuY29tbWl0X2NvbnRyb2xsZXIuZmluZCwgbWV0aG9kcz0oJ0dFVCcsKSkK
ICAgICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9jb21taXRzL3JlcG9zaXRvcmllcycsICdjb21t
aXRfY29udHJvbGxlcl9yZXBvc2l0b3JpZXMnLCBzZWxmLmNvbW1pdF9jb250cm9sbGVyLnJlcG9z
aXRvcmllcywgbWV0aG9kcz0oJ0dFVCcsKSkKKyAgICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9j
b21taXRzL3JlcHJlc2VudGF0aW9ucycsICdjb21taXRfY29udHJvbGxlcl9yZXByZXNlbnRhdGlv
bnMnLCBzZWxmLmNvbW1pdF9jb250cm9sbGVyLnJlcHJlc2VudGF0aW9ucywgbWV0aG9kcz0oJ0dF
VCcsKSkKICAgICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9jb21taXRzL2JyYW5jaGVzJywgJ2Nv
bW1pdF9jb250cm9sbGVyX2JyYW5jaGVzJywgIHNlbGYuY29tbWl0X2NvbnRyb2xsZXIuYnJhbmNo
ZXMsIG1ldGhvZHM9KCdHRVQnLCkpCiAgICAgICAgIHNlbGYuYWRkX3VybF9ydWxlKCcvY29tbWl0
cy9zaWJsaW5ncycsICdjb21taXRfY29udHJvbGxlcl9zaWJsaW5ncycsIHNlbGYuY29tbWl0X2Nv
bnRyb2xsZXIuc2libGluZ3MsIG1ldGhvZHM9KCdHRVQnLCkpCiAgICAgICAgIHNlbGYuYWRkX3Vy
bF9ydWxlKCcvY29tbWl0cy9uZXh0JywgJ2NvbW1pdF9jb250cm9sbGVyX25leHQnLCBzZWxmLmNv
bW1pdF9jb250cm9sbGVyLm5leHQsIG1ldGhvZHM9KCdHRVQnLCkpCkluZGV4OiBUb29scy9TY3Jp
cHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9jb250cm9sbGVyL2NvbW1pdF9j
b250cm9sbGVyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3Vs
dHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvY29tbWl0X2NvbnRyb2xsZXIucHkJKHJldmlz
aW9uIDI3NDQ5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L2NvbnRyb2xsZXIvY29tbWl0X2NvbnRyb2xsZXIucHkJKHdvcmtpbmcgY29weSkKQEAg
LTE5MSw2ICsxOTEsMTMgQEAgY2xhc3MgQ29tbWl0Q29udHJvbGxlcihIYXNDb21taXRDb250ZXh0
KQogICAgICAgICBBc3NlcnRSZXF1ZXN0Lm5vX3F1ZXJ5KCkKICAgICAgICAgcmV0dXJuIGpzb25p
Znkoc29ydGVkKHNlbGYuY29tbWl0X2NvbnRleHQucmVwb3NpdG9yaWVzLmtleXMoKSkpCiAKKyAg
ICBkZWYgcmVwcmVzZW50YXRpb25zKHNlbGYpOgorICAgICAgICBBc3NlcnRSZXF1ZXN0LmlzX3R5
cGUoKQorICAgICAgICBBc3NlcnRSZXF1ZXN0Lm5vX3F1ZXJ5KCkKKyAgICAgICAgcmV0dXJuIGpz
b25pZnkoeworICAgICAgICAgICAga2V5OiByZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9ucygpIGZv
ciBrZXksIHJlcG9zaXRvcnkgaW4gc2VsZi5jb21taXRfY29udGV4dC5yZXBvc2l0b3JpZXMuaXRl
bXMoKQorICAgICAgICB9KQorCiAgICAgQHF1ZXJ5X2FzX2t3YXJncygpCiAgICAgQGxpbWl0X2Zv
cl9xdWVyeShERUZBVUxUX0xJTUlUKQogICAgIGRlZiBicmFuY2hlcyhzZWxmLCByZXBvc2l0b3J5
X2lkPU5vbmUsIGJyYW5jaD1Ob25lLCBsaW1pdD1Ob25lLCAqKmt3YXJncyk6CkluZGV4OiBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9tb2RlbC9yZXBvc2l0
b3J5LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5
L3Jlc3VsdHNkYnB5L21vZGVsL3JlcG9zaXRvcnkucHkJKHJldmlzaW9uIDI3NDQ5NSkKKysrIFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L21vZGVsL3JlcG9z
aXRvcnkucHkJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDkgQEAgY2xhc3MgUmVwb3NpdG9y
eShvYmplY3QpOgogICAgIGRlZiB1cmxfZm9yX2NvbW1pdChzZWxmLCBjb21taXQpOgogICAgICAg
ICByZXR1cm4gTm9uZQogCisgICAgZGVmIHJlcHJlc2VudGF0aW9ucyhzZWxmKToKKyAgICAgICAg
cmV0dXJuIFtdCisKIAogY2xhc3MgU3Rhc2hSZXBvc2l0b3J5KFJlcG9zaXRvcnkpOgogCkBAIC02
MSw2ICs2NCw5IEBAIGNsYXNzIFN0YXNoUmVwb3NpdG9yeShSZXBvc2l0b3J5KToKICAgICBkZWYg
dXJsX2Zvcl9jb21taXQoc2VsZiwgY29tbWl0KToKICAgICAgICAgcmV0dXJuIGYne3NlbGYucmVt
b3RlLnVybH0vY29tbWl0cy97Y29tbWl0fScKIAorICAgIGRlZiByZXByZXNlbnRhdGlvbnMoc2Vs
Zik6CisgICAgICAgIHJldHVybiBbJ2hhc2gnLCAnaWRlbnRpZmllciddCisKIAogY2xhc3MgV2Vi
S2l0UmVwb3NpdG9yeShSZXBvc2l0b3J5KToKIApAQCAtODUsMyArOTEsNiBAQCBjbGFzcyBXZWJL
aXRSZXBvc2l0b3J5KFJlcG9zaXRvcnkpOgogCiAgICAgZGVmIHVybF9mb3JfY29tbWl0KHNlbGYs
IGNvbW1pdCk6CiAgICAgICAgIHJldHVybiBmJ2h0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnL3J7
Y29tbWl0fScKKworICAgIGRlZiByZXByZXNlbnRhdGlvbnMoc2VsZik6CisgICAgICAgIHJldHVy
biBbJ2lkZW50aWZpZXInLCAncmV2aXNpb24nXQpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvY29tbWl0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvc3RhdGljL2pzL2NvbW1pdC5qcwkocmV2aXNpb24gMjc0NDk1KQorKysgVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvY29t
bWl0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAy
MDE5LCAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAo
QykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTQ3LDExICsxNDcsMjMgQEAgY2xhc3MgQ29tbWl0IHsK
ICAgICAgICAgcmV0dXJuIHRoaXMudXVpZCAtIGNvbW1pdC51dWlkOwogICAgIH0KICAgICBsYWJl
bCgpIHsKLSAgICAgICAgLy8gUGVyIHRoZSBiaXJ0aGRheSBwYXJhZG94LCAxMCUgY2hhbmNlIG9m
IGNvbGxpc2lvbiB3aXRoIDcuNyBtaWxsaW9uIGNvbW1pdHMgd2l0aCAxMiBjaGFyYWN0ZXIgY29t
bWl0cwotICAgICAgICByZXR1cm4gdGhpcy5pZGVudGlmaWVyLnN1YnN0cmluZygwLDEyKTsKKyAg
ICAgICAgY29uc3QgcHJlZmVyZW5jZSA9IENvbW1pdEJhbmsuX3JlcHJlc2VudGF0aW9uQ2FjaGUg
PyBDb21taXRCYW5rLl9yZXByZXNlbnRhdGlvbkNhY2hlW3RoaXMucmVwb3NpdG9yeV9pZF0ucmVw
cmVzZW50YXRpb24gOiBudWxsOworCisgICAgICAgIGlmIChwcmVmZXJlbmNlID09PSAnaWRlbnRp
ZmllcicpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5pZGVudGlmaWVyOworICAgICAgICBpZiAo
cHJlZmVyZW5jZSA9PT0gJ2hhc2gnKSB7CisgICAgICAgICAgICAvLyBQZXIgdGhlIGJpcnRoZGF5
IHBhcmFkb3gsIDEwJSBjaGFuY2Ugb2YgY29sbGlzaW9uIHdpdGggNy43IG1pbGxpb24gY29tbWl0
cyB3aXRoIDEyIGNoYXJhY3RlciBjb21taXRzCisgICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNo
LnN1YnN0cmluZygwLDEyKQorICAgICAgICB9CisgICAgICAgIGlmIChwcmVmZXJlbmNlID09PSAn
cmV2aXNpb24nKQorICAgICAgICAgICAgcmV0dXJuIGByJHt0aGlzLnJldmlzaW9ufWA7CisKKyAg
ICAgICAgcmV0dXJuIHRoaXMucmV2aXNpb24gPyBgciR7dGhpcy5yZXZpc2lvbn1gIDogdGhpcy5o
YXNoLnN1YnN0cmluZygwLDEyKTsKICAgICB9CiB9OwogCitjb25zdCBDT09LSUVfTkFNRSA9ICdj
b21taXRSZXByZXNlbnRhdGlvbic7CisKIGNsYXNzIF9Db21taXRCYW5rIHsKICAgICBjb25zdHJ1
Y3RvcigpIHsKICAgICAgICAgdGhpcy5jb21taXRzID0gW107CkBAIC0xNjMsNyArMTc1LDQ1IEBA
IGNsYXNzIF9Db21taXRCYW5rIHsKICAgICAgICAgdGhpcy5fYmVnaW5VdWlkID0gbnVsbDsKICAg
ICAgICAgdGhpcy5fZW5kVXVpZCA9IG51bGw7CiAgICAgICAgIHRoaXMuY2FsbGJhY2tzID0gW107
CisgICAgICAgIHRoaXMuX3JlcHJlc2VudGF0aW9uQ2FjaGUgPSBudWxsOworICAgIH0KKyAgICBj
b21taXRSZXByZXNlbnRhdGlvbnMoY2FsbGJhY2spIHsKKyAgICAgICAgaWYgKHRoaXMuX3JlcHJl
c2VudGF0aW9uQ2FjaGUgIT0gbnVsbCkgeworICAgICAgICAgICAgY2FsbGJhY2sodGhpcy5fcmVw
cmVzZW50YXRpb25DYWNoZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBjb25zdCBjb29raWVzID0gZGVjb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmNvb2tpZSkuc3Bs
aXQoJzsnKQorICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29va2llcy5sZW5n
dGg7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIGlmIChjb29raWVzW2luZGV4XS5pbmRleE9mKGAk
e0NPT0tJRV9OQU1FfT1gKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAg
ICAgdGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSA9IEpTT04ucGFyc2UoY29va2llc1tpbmRleF0u
c3Vic3RyaW5nKENPT0tJRV9OQU1FLmxlbmd0aCArIDEpKTsKKyAgICAgICAgICAgIGNhbGxiYWNr
KHRoaXMuX3JlcHJlc2VudGF0aW9uQ2FjaGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CiAKKyAgICAgICAgZmV0Y2goJ2FwaS9jb21taXRzL3JlcHJlc2VudGF0aW9ucycpLnRoZW4o
cmVzcG9uc2UgPT4geworICAgICAgICAgICAgcmVzcG9uc2UuanNvbigpLnRoZW4oanNvbiA9PiB7
CisgICAgICAgICAgICAgICAgdGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSA9IHt9OworICAgICAg
ICAgICAgICAgIE9iamVjdC5rZXlzKGpzb24pLmZvckVhY2gocmVwb3NpdG9yeSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICghanNvbltyZXBvc2l0b3J5XS5sZW5ndGgpCisgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlcHJlc2Vu
dGF0aW9uQ2FjaGVbcmVwb3NpdG9yeV0gPSB7CisgICAgICAgICAgICAgICAgICAgICAgICAncmVw
cmVzZW50YXRpb24nOiBqc29uW3JlcG9zaXRvcnldWzBdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgJ2NhbmRpZGF0ZXMnOiBqc29uW3JlcG9zaXRvcnldLAorICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0g
YCR7Q09PS0lFX05BTUV9PSR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwcmVzZW50YXRpb25DYWNo
ZSl9YDsKKyAgICAgICAgICAgICAgICBjYWxsYmFjayh0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hl
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KS5jYXRjaChlcnJvciA9PiB7CisgICAgICAg
ICAgICAvLyBJZiB0aGUgbG9hZCBmYWlscywgbG9nIHRoZSBlcnJvciBhbmQgY29udGludWUKKyAg
ICAgICAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyb3IsIG51bGwsIDQpKTsK
KyAgICAgICAgfSk7CisgICAgfQorICAgIHNldENvbW1pdFJlcHJlc2VudGF0aW9uKHJlcG9zaXRv
cnksIHJlcHJlc2VudGF0aW9uKSB7CisgICAgICAgIHRoaXMuX3JlcHJlc2VudGF0aW9uQ2FjaGVb
cmVwb3NpdG9yeV0ucmVwcmVzZW50YXRpb24gPSByZXByZXNlbnRhdGlvbjsKKyAgICAgICAgZG9j
dW1lbnQuY29va2llID0gYCR7Q09PS0lFX05BTUV9PSR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVw
cmVzZW50YXRpb25DYWNoZSl9YDsKICAgICB9CiAgICAgbGF0ZXN0KHBhcmFtcykgewogICAgICAg
ICB0aGlzLl9icmFuY2hlcyA9IG5ldyBTZXQocGFyYW1zLmJyYW5jaCk7CkluZGV4OiBUb29scy9T
Y3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9k
cmF3ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2Ri
cHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvZHJhd2VyLmpzCShyZXZpc2lvbiAyNzQ0OTUp
CisrKyBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3
L3N0YXRpYy9qcy9kcmF3ZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi0vLyBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29w
eXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8K
IC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMiw3ICsyMiw4IEBACiAvLyBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCB7RE9NLCBSRUZ9IGZyb20gJy9saWJy
YXJ5L2pzL1JlZi5qcyc7Ci1pbXBvcnQge3F1ZXJ5VG9QYXJhbXMsIHBhcmFtc1RvUXVlcnksIFF1
ZXJ5TW9kaWZpZXIsIH0gZnJvbSAnL2Fzc2V0cy9qcy9jb21tb24uanMnOworaW1wb3J0IHtxdWVy
eVRvUGFyYW1zLCBwYXJhbXNUb1F1ZXJ5LCBRdWVyeU1vZGlmaWVyfSBmcm9tICcvYXNzZXRzL2pz
L2NvbW1vbi5qcyc7CitpbXBvcnQge0NvbW1pdEJhbmt9IGZyb20gJy9hc3NldHMvanMvY29tbWl0
LmpzJzsKIGltcG9ydCB7Q29uZmlndXJhdGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9jb25maWd1cmF0
aW9uLmpzJwogCiBmdW5jdGlvbiBzZXRFbmFibGVSZWN1cnNpdmUoZWxlbWVudCwgc3RhdGUpIHsK
QEAgLTMzMSw0ICszMzIsNzIgQEAgZnVuY3Rpb24gQ29uZmlndXJhdGlvblNlbGVjdG9ycyhjYWxs
YmFjawogICAgIH0pLmpvaW4oJycpCiB9CiAKLWV4cG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3Rv
ciwgQ29uZmlndXJhdGlvblNlbGVjdG9ycywgTGltaXRTbGlkZXJ9OworZnVuY3Rpb24gQ29tbWl0
UmVwcmVzZW50YXRpb24oY2FsbGJhY2spIHsKKyAgICBjb25zdCByZWYgPSBSRUYuY3JlYXRlUmVm
KHsKKyAgICAgICAgc3RhdGU6IHt9LAorICAgICAgICBvblN0YXRlVXBkYXRlOiAoZWxlbWVudCwg
c3RhdGUpID0+IHsKKyAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoc3RhdGUpLmxlbmd0aCkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIERPTS5pbmplY3QoCisgICAg
ICAgICAgICAgICAgZWxlbWVudCwKKyAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZSku
bWFwKHJlcG9zaXRvcnkgPT4geworICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RvciA9
IFJFRi5jcmVhdGVSZWYoeworICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IHN0YXRlW3Jl
cG9zaXRvcnldLnJlcHJlc2VudGF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgb25FbGVt
ZW50TW91bnQ6IChlbGVtZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCFlbGVtZW50KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5vbmNoYW5nZSA9ICgpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWl0QmFuay5zZXRDb21taXRSZXByZXNlbnRh
dGlvbihyZXBvc2l0b3J5LCBlbGVtZW50LnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgb25TdGF0ZVVw
ZGF0ZTogKGVsZW1lbnQsIHJlcHJlc2VudGF0aW9uKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBzdGF0ZVtyZXBvc2l0b3J5XS5jYW5kaWRhdGVz
Lm1hcChjYW5kaWRhdGUgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
Y2FuZGlkYXRlID09PSByZXByZXNlbnRhdGlvbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBgPG9wdGlvbiBzZWxlY3RlZCB2YWx1ZT0iJHtjYW5kaWRhdGV9Ij4k
e2NhbmRpZGF0ZX08L29wdGlvbj5gOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gYDxvcHRpb24gdmFsdWU9IiR7Y2FuZGlkYXRlfSI+JHtjYW5kaWRhdGV9PC9vcHRpb24+
YDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5qb2luKCcnKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gYDxkaXYgY2xhc3M9ImlucHV0Ij4KKyAgICAgICAgICAgICAgICAgICAgICAg
IDxzZWxlY3QgcmVxdWlyZWQgcmVmPSIke3NlbGVjdG9yfSI+CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAke3N0YXRlW3JlcG9zaXRvcnldLmNhbmRpZGF0ZXMubWFwKHJlcHIgPT4gYDxvcHRp
b24gdmFsdWU9IiR7cmVwcn0iPiR7cmVwcn08L29wdGlvbj5gKS5qb2luKCcnKX0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIDwvc2VsZWN0PgorICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVs
IHN0eWxlPSJjb2xvcjp2YXIoLS1pbnZlcnNlQ29sb3IpIj4ke3JlcG9zaXRvcnkuY2hhckF0KDAp
LnRvVXBwZXJDYXNlKCkgKyByZXBvc2l0b3J5LnNsaWNlKDEpfTwvbGFiZWw+CisgICAgICAgICAg
ICAgICAgICAgIDwvZGl2PmA7CisgICAgICAgICAgICAgICAgfSkuam9pbignJykpOworICAgICAg
ICB9LAorICAgIH0pOworICAgIENvbW1pdEJhbmsuY29tbWl0UmVwcmVzZW50YXRpb25zKGpzb24g
PT4geworICAgICAgICByZWYuc2V0U3RhdGUoanNvbik7CisgICAgfSk7CisKKyAgICBjb25zdCBl
eHBhbmRlciA9IFJFRi5jcmVhdGVSZWYoeworICAgICAgICBzdGF0ZToge2lzRXhwYW5kZWQ6IGZh
bHNlfSwKKyAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlKSA9PiB7CisgICAg
ICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IHN0YXRlLmlzRXhwYW5kZWQgPyAnLScgOiAnKyc7
CisKKyAgICAgICAgICAgIEFycmF5LmZyb20oZWxlbWVudC5wYXJlbnROb2RlLmNoaWxkcmVuKS5m
b3JFYWNoKGNoaWxkID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCA9PSBjaGlsZCkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIGNoaWxkLnN0eWxl
LmRpc3BsYXkgPSBzdGF0ZS5pc0V4cGFuZGVkID8gJ2Jsb2NrJyA6ICdub25lJzsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9LAorICAgIH0pOworICAgIGV4cGFuZGVyLmZyb21FdmVudCgnY2xp
Y2snKS5hY3Rpb24oKCkgPT4gZXhwYW5kZXIuc2V0U3RhdGUoe2lzRXhwYW5kZWQ6ICFleHBhbmRl
ci5zdGF0ZS5pc0V4cGFuZGVkfSkpOworCisgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPSJpdGVtIj4K
KyAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogdmFyKC0tc21hbGxTaXplKTsiPgor
ICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJsaW5rLWJ1dHRvbiB0ZXh0IG1lZGl1bSIgcmVmPSIk
e2V4cGFuZGVyfSI+KzwvYT4KKyAgICAgICAgICAgICAgICBDb21taXQgUmVwcmVzZW50YXRpb24K
KyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0IiByZWY9IiR7cmVmfSIgc3R5bGU9ImRp
c3BsYXk6IG5vbmU7Ij4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBsb2Fk
ZXIiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3Bpbm5lciI+PC9kaXY+
CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAg
ICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PmA7Cit9CisKK2V4cG9ydCB7RHJhd2VyLCBC
cmFuY2hTZWxlY3RvciwgQ29uZmlndXJhdGlvblNlbGVjdG9ycywgTGltaXRTbGlkZXIsIENvbW1p
dFJlcHJlc2VudGF0aW9ufTsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNk
YnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL2NvbW1pdHMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3Rl
bXBsYXRlcy9jb21taXRzLmh0bWwJKHJldmlzaW9uIDI3NDQ5NSkKKysrIFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL2NvbW1pdHMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogaW1wb3J0IHtSRUYsIERPTX0g
ZnJvbSAnL2xpYnJhcnkvanMvUmVmLmpzJzsKIGltcG9ydCB7RXJyb3JEaXNwbGF5fSBmcm9tICcv
YXNzZXRzL2pzL2NvbW1vbi5qcyc7CiBpbXBvcnQge0NvbW1pdCwgQ29tbWl0VGFibGV9IGZyb20g
Jy9hc3NldHMvanMvY29tbWl0LmpzJzsKLWltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3Rvciwg
TGltaXRTbGlkZXJ9IGZyb20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsKK2ltcG9ydCB7RHJhd2Vy
LCBCcmFuY2hTZWxlY3RvciwgTGltaXRTbGlkZXIsIENvbW1pdFJlcHJlc2VudGF0aW9ufSBmcm9t
ICcvYXNzZXRzL2pzL2RyYXdlci5qcyc7CiAKIHZhciBvbmVMaW5lID0gdHJ1ZTsKIApAQCAtMTAz
LDYgKzEwMyw3IEBAIERPTS5pbmplY3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcCcKICAg
ICBMaW1pdFNsaWRlcigoKSA9PiB7dGFibGUucmVsb2FkKCl9LCAxMDAwMCwgMTAwMCksCiAgICAg
T25lTGluZVN3aXRjaCgpLAogICAgIEJyYW5jaFNlbGVjdG9yKCgpID0+IHt0YWJsZS5yZWxvYWQo
KX0pLAorICAgIENvbW1pdFJlcHJlc2VudGF0aW9uKCgpID0+IHt0YWJsZS5yZWxvYWQoKX0pLAog
XSl9CiA8ZGl2IGNsYXNzPSJtYWluIHJpZ2h0LXNpZGViYXIgdW5kZXItdG9wYmFyLXdpdGgtYWN0
aW9ucyI+CiAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+JHt0YWJsZX08L2Rpdj4KSW5kZXg6IFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxh
dGVzL2RvY3VtZW50YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJh
cmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9kb2N1bWVudGF0aW9u
Lmh0bWwJKHJldmlzaW9uIDI3NDQ5NSkKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3Vs
dHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL2RvY3VtZW50YXRpb24uaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCwxOCBAQCBjb25zdCBkb2N1bWVudGF0aW9uID0gewog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICApLAogICAgICAgICAgICAgZG9jdW1lbnRF
bmRwb2ludCgKKyAgICAgICAgICAgICAgICAnL2FwaS9jb21taXRzL3JlcHJlc2VudGF0aW9ucycs
CisgICAgICAgICAgICAgICAgWydHRVQnXSwKKyAgICAgICAgICAgICAgICBbXSwKKyAgICAgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIGBSZXR1cm4gYSBkaWN0aW9uYXJ5IG9mIHBy
aW9yaXRpemVkIHZhbGlkIGNvbW1pdCByZXByZXNlbnRhdGlvbnMgZm9yIHJlcG9zaXRvcmllcyB0
cmFja2VkIGJ5IHRoaXMgaW5zdGFuY2UgdG8gdGhlIHJlc3VsdHMgZGF0YWJhc2UuIFRoZSBvdXRw
dXQgaXMgb2YgdGhlIGZvcm06YCwKKyAgICAgICAgICAgICAgICAgICAgY29kZUJsb2NrKCd7XG4n
ICsKKyAgICAgICAgICAgICAgICAgICAgJyAgICA8cmVwb3NpdG9yeS1pZCAoYSk+OiBbImhhc2gi
LCAiaWRlbnRpZmllciJdLFxuJyArCisgICAgICAgICAgICAgICAgICAgICcgICAgPHJlcG9zaXRv
cnktaWQgKGIpPjogWyJpZGVudGlmaWVyIiwgInJldmlzaW9uIl1cbicgKworICAgICAgICAgICAg
ICAgICAgICAnfScpLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApLAorICAgICAg
ICAgICAgZG9jdW1lbnRFbmRwb2ludCgKICAgICAgICAgICAgICAgICAnL2FwaS9jb21taXRzL2Jy
YW5jaGVzJywKICAgICAgICAgICAgICAgICBbJ0dFVCddLAogICAgICAgICAgICAgICAgIFsnTGlt
aXQnLCAnUmVwb3NpdG9yeSddLApJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0
c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90
ZW1wbGF0ZXMvc2VhcmNoLmh0bWwJKHJldmlzaW9uIDI3NDQ5NSkKKysrIFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogPCEtLQotIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgQ29weXJpZ2h0IChDKSAyMDE5
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0zMyw3ICszMyw3IEBACiBpbXBvcnQge0NvbW1pdEJhbmt9IGZyb20gJy9hc3Nl
dHMvanMvY29tbWl0LmpzJzsKIGltcG9ydCB7ZGVlcENvbXBhcmUsIEVycm9yRGlzcGxheSwgcXVl
cnlUb1BhcmFtcywgcGFyYW1zVG9RdWVyeX0gZnJvbSAnL2Fzc2V0cy9qcy9jb21tb24uanMnOwog
aW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcvYXNzZXRzL2pzL2NvbmZpZ3VyYXRpb24uanMn
OwotaW1wb3J0IHtEcmF3ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3Jz
LCBMaW1pdFNsaWRlcn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIuanMnOworaW1wb3J0IHtEcmF3
ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNsaWRlciwg
Q29tbWl0UmVwcmVzZW50YXRpb259IGZyb20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsKIGltcG9y
dCB7SW52ZXN0aWdhdGVEcmF3ZXJ9IGZyb20gJy9hc3NldHMvanMvaW52ZXN0aWdhdGUuanMnOwog
aW1wb3J0IHtTZWFyY2hCYXJ9IGZyb20gJy9hc3NldHMvanMvc2VhcmNoLmpzJzsKIGltcG9ydCB7
TGVnZW5kLCBUaW1lbGluZUZyb21FbmRwb2ludH0gZnJvbSAnL2Fzc2V0cy9qcy90aW1lbGluZS5q
cyc7CkBAIC0yMzksNiArMjM5LDcgQEAgRE9NLmluamVjdCgKICAgICAgICAgICAgIHZpZXcucmVs
b2FkKCk7CiAgICAgICAgIH0pLAogICAgICAgICBDb25maWd1cmF0aW9uU2VsZWN0b3JzKCgpID0+
IHt2aWV3LnJlbG9hZCgpfSksCisgICAgICAgIENvbW1pdFJlcHJlc2VudGF0aW9uKCgpID0+IHt2
aWV3LnJlbG9hZCgpfSksCiAgICAgXSwgKCkgPT4gb25MYXlvdXRDaGFuZ2UuYWRkKCkpfQogCiAg
ICAgPGRpdiBjbGFzcz0ibWFpbiByaWdodC1zaWRlYmFyIHVuZGVyLXRvcGJhci13aXRoLWFjdGlv
bnMiPgpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2Ri
cHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVz
L3N1aXRlX3Jlc3VsdHMuaHRtbAkocmV2aXNpb24gMjc0NDk1KQorKysgVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc3VpdGVfcmVz
dWx0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogPCEtLQotIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgQ29weXJpZ2h0IChD
KSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0zMyw3ICszMyw3IEBACiBpbXBvcnQge0NvbW1pdEJhbmt9IGZyb20g
Jy9hc3NldHMvanMvY29tbWl0LmpzJzsKIGltcG9ydCB7ZGVlcENvbXBhcmUsIEVycm9yRGlzcGxh
eSwgcXVlcnlUb1BhcmFtcywgcGFyYW1zVG9RdWVyeX0gZnJvbSAnL2Fzc2V0cy9qcy9jb21tb24u
anMnOwogaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcvYXNzZXRzL2pzL2NvbmZpZ3VyYXRp
b24uanMnOwotaW1wb3J0IHtEcmF3ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2Vs
ZWN0b3JzLCBMaW1pdFNsaWRlcn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIuanMnOworaW1wb3J0
IHtEcmF3ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNs
aWRlciwgQ29tbWl0UmVwcmVzZW50YXRpb259IGZyb20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsK
IGltcG9ydCB7SW52ZXN0aWdhdGVEcmF3ZXJ9IGZyb20gJy9hc3NldHMvanMvaW52ZXN0aWdhdGUu
anMnOwogaW1wb3J0IHtMZWdlbmQsIFRpbWVsaW5lRnJvbUVuZHBvaW50fSBmcm9tICcvYXNzZXRz
L2pzL3RpbWVsaW5lLmpzJzsKIGltcG9ydCB7VG9vbFRpcH0gZnJvbSAnL2Fzc2V0cy9qcy90b29s
dGlwLmpzJzsKQEAgLTE4Miw2ICsxODIsNyBAQCAke0RyYXdlcihbCiAgICAgICAgIHZpZXcucmVs
b2FkKCk7CiAgICAgfSksCiAgICAgQ29uZmlndXJhdGlvblNlbGVjdG9ycygoKSA9PiB7dmlldy5y
ZWxvYWQoKX0pLAorICAgIENvbW1pdFJlcHJlc2VudGF0aW9uKCgpID0+IHt2aWV3LnJlbG9hZCgp
fSksCiBdLCAoKSA9PiBvbkxheW91dENoYW5nZS5hZGQoKSl9CiA8ZGl2IGNsYXNzPSJtYWluIHJp
Z2h0LXNpZGViYXIgdW5kZXItdG9wYmFyLXdpdGgtYWN0aW9ucyI+CiAgICAgPGJyPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423396</attachid>
            <date>2021-03-16 14:00:51 -0700</date>
            <delta_ts>2021-03-16 15:10:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223215-20210316140050.patch</filename>
            <type>text/plain</type>
            <size>19606</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NDUxMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM0IEBACisyMDIxLTAzLTE2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbcmVzdWx0c2RicHldIEFsbG93IHVzZXIgdG8gY2hhbmdlIGNvbW1pdCBy
ZXByZXNlbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ0NjYwMj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEZXdlaSBaaHUuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy9y
ZXN1bHRzZGJweS9yZXN1bHRzZGJweS9fX2luaXRfXy5weTogQnVtcCB2ZXJzaW9uLgorICAgICAg
ICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIv
YXBpX3JvdXRlcy5weToKKyAgICAgICAgKEFQSVJvdXRlcy5fX2luaXRfXyk6IEFkZCBjb21taXQg
cmVwcmVzZW50YXRpb25zIGVuZHBvaW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvY29tbWl0X2NvbnRyb2xsZXIucHk6Cisg
ICAgICAgIChDb21taXRDb250cm9sbGVyLnJlcHJlc2VudGF0aW9ucyk6IEFkZCBjb21taXQgcmVw
cmVzZW50YXRpb25zIGVuZHBvaW50LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3Vs
dHNkYnB5L3Jlc3VsdHNkYnB5L21vZGVsL3JlcG9zaXRvcnkucHk6CisgICAgICAgIChSZXBvc2l0
b3J5LnJlcHJlc2VudGF0aW9ucyk6IFJldHVybiBwcmlvcml0aXplZCBjb21taXQgcmVwcmVzZW50
YXRpb24uCisgICAgICAgIChTdGFzaFJlcG9zaXRvcnkucmVwcmVzZW50YXRpb25zKTogRGl0dG8u
CisgICAgICAgIChXZWJLaXRSZXBvc2l0b3J5LnJlcHJlc2VudGF0aW9ucyk6IERpdHRvLgorICAg
ICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3Rh
dGljL2pzL2NvbW1pdC5qczoKKyAgICAgICAgKENvbW1pdC5wcm90b3R5cGUubGFiZWwpOiBDaGFu
Z2UgdGhlIGNvbW1pdCByZXByZXNlbnRhdGlvbiBiYXNlZCBvbiBnbG9iYWwgc2V0dGluZ3MuCisg
ICAgICAgIChfQ29tbWl0QmFuayk6CisgICAgICAgIChfQ29tbWl0QmFuay5wcm90b3R5cGUuY29t
bWl0UmVwcmVzZW50YXRpb25zKTogQ2hlY2sgdGhlIGNvbW1pdCByZXByZXNlbnRhdGlvbiBjb29r
aWUsIHRoZW4KKyAgICAgICAgdGhlIHJlcHJlc2VudGF0aW9uIGVuZHBvaW50LgorICAgICAgICAo
X0NvbW1pdEJhbmsucHJvdG90eXBlLnNldENvbW1pdFJlcHJlc2VudGF0aW9uKTogU2V0IHRoZSBj
b21taXQgcmVwcmVzZW50YXRpb24gY29va2llLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVz
L3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qczoKKyAgICAg
ICAgKENvbW1pdFJlcHJlc2VudGF0aW9uKTogRHJhd2VyIGNvbnRyb2wgYWxsb3dpbmcgdXNlciB0
byBjaGFuZ2UgY29tbWl0IHJlcHJlc2VudGF0aW9uIGZvciByZXBvc2l0b3JpZXMuCisgICAgICAg
ICogU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0
ZXMvY29tbWl0cy5odG1sOiBBZGQgbmV3IGNvbnRyb2wuCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvZG9jdW1lbnRhdGlv
bi5odG1sOiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9y
ZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbDogRGl0dG8uCisgICAgICAgICog
U2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMv
c3VpdGVfcmVzdWx0cy5odG1sOiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy9y
ZXN1bHRzZGJweS9zZXR1cC5weTogQnVtcCB2ZXJzaW9uLgorCiAyMDIxLTAzLTE2ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogVGVzdCBpbmZyYXN0
cnVjdHVyZSBmb3Igc2VuZGluZyBhdHRyaWJ1dGlvbiByZXBvcnRzIHRvIGF0dHJpYnV0aW9uIHdl
YnNpdGUgdG9vCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9zZXR1
cC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9z
ZXR1cC5weQkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVz
dWx0c2RicHkvc2V0dXAucHkJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgZGVmIHJl
YWRtZSgpOgogCiBzZXR1cCgKICAgICBuYW1lPSdyZXN1bHRzZGJweScsCi0gICAgdmVyc2lvbj0n
Mi4wLjEnLAorICAgIHZlcnNpb249JzIuMC4yJywKICAgICBkZXNjcmlwdGlvbj0nTGlicmFyeSBm
b3IgdmlzdWFsaXppbmcsIHByb2Nlc3NpbmcgYW5kIHN0b3JpbmcgdGVzdCByZXN1bHRzLicsCiAg
ICAgbG9uZ19kZXNjcmlwdGlvbj1yZWFkbWUoKSwKICAgICBjbGFzc2lmaWVycz1bCkluZGV4OiBU
b29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS9fX2luaXRfXy5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1
bHRzZGJweS9fX2luaXRfXy5weQkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2NyaXB0cy9s
aWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvX19pbml0X18ucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0LDYgKzQ0LDYgQEAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAiUGxlYXNl
IGluc3RhbGwgd2Via2l0Y29yZXB5IHdpdGggYHBpcCBpbnN0YWxsIHdlYmtpdGNvcmVweSAtLWV4
dHJhLWluZGV4LXVybCA8cGFja2FnZSBpbmRleCBVUkw+YCIKICAgICApCiAKLXZlcnNpb24gPSBW
ZXJzaW9uKDIsIDAsIDEpCit2ZXJzaW9uID0gVmVyc2lvbigyLCAwLCAyKQogCiBuYW1lID0gJ3Jl
c3VsdHNkYnB5JwpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVz
dWx0c2RicHkvY29udHJvbGxlci9hcGlfcm91dGVzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvYXBpX3Jv
dXRlcy5weQkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVz
dWx0c2RicHkvcmVzdWx0c2RicHkvY29udHJvbGxlci9hcGlfcm91dGVzLnB5CSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSw3IEBAIGNsYXNzIEFQSVJvdXRlcyhBdXRoZWRCbHVlcHJpbnQpOgog
ICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2NvbW1pdHMnLCAnY29tbWl0X2NvbnRyb2xsZXIn
LCBzZWxmLmNvbW1pdF9jb250cm9sbGVyLmRlZmF1bHQsIG1ldGhvZHM9KCdHRVQnLCAnUE9TVCcp
KQogICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2NvbW1pdHMvZmluZCcsICdjb21taXRfY29u
dHJvbGxlcl9maW5kJywgc2VsZi5jb21taXRfY29udHJvbGxlci5maW5kLCBtZXRob2RzPSgnR0VU
JywpKQogICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2NvbW1pdHMvcmVwb3NpdG9yaWVzJywg
J2NvbW1pdF9jb250cm9sbGVyX3JlcG9zaXRvcmllcycsIHNlbGYuY29tbWl0X2NvbnRyb2xsZXIu
cmVwb3NpdG9yaWVzLCBtZXRob2RzPSgnR0VUJywpKQorICAgICAgICBzZWxmLmFkZF91cmxfcnVs
ZSgnL2NvbW1pdHMvcmVwcmVzZW50YXRpb25zJywgJ2NvbW1pdF9jb250cm9sbGVyX3JlcHJlc2Vu
dGF0aW9ucycsIHNlbGYuY29tbWl0X2NvbnRyb2xsZXIucmVwcmVzZW50YXRpb25zLCBtZXRob2Rz
PSgnR0VUJywpKQogICAgICAgICBzZWxmLmFkZF91cmxfcnVsZSgnL2NvbW1pdHMvYnJhbmNoZXMn
LCAnY29tbWl0X2NvbnRyb2xsZXJfYnJhbmNoZXMnLCAgc2VsZi5jb21taXRfY29udHJvbGxlci5i
cmFuY2hlcywgbWV0aG9kcz0oJ0dFVCcsKSkKICAgICAgICAgc2VsZi5hZGRfdXJsX3J1bGUoJy9j
b21taXRzL3NpYmxpbmdzJywgJ2NvbW1pdF9jb250cm9sbGVyX3NpYmxpbmdzJywgc2VsZi5jb21t
aXRfY29udHJvbGxlci5zaWJsaW5ncywgbWV0aG9kcz0oJ0dFVCcsKSkKICAgICAgICAgc2VsZi5h
ZGRfdXJsX3J1bGUoJy9jb21taXRzL25leHQnLCAnY29tbWl0X2NvbnRyb2xsZXJfbmV4dCcsIHNl
bGYuY29tbWl0X2NvbnRyb2xsZXIubmV4dCwgbWV0aG9kcz0oJ0dFVCcsKSkKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L2NvbnRyb2xsZXIvY29t
bWl0X2NvbnRyb2xsZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvY29udHJvbGxlci9jb21taXRfY29udHJvbGxlci5weQko
cmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvY29udHJvbGxlci9jb21taXRfY29udHJvbGxlci5weQkod29ya2luZyBjb3B5
KQpAQCAtMTkxLDYgKzE5MSwxMyBAQCBjbGFzcyBDb21taXRDb250cm9sbGVyKEhhc0NvbW1pdENv
bnRleHQpCiAgICAgICAgIEFzc2VydFJlcXVlc3Qubm9fcXVlcnkoKQogICAgICAgICByZXR1cm4g
anNvbmlmeShzb3J0ZWQoc2VsZi5jb21taXRfY29udGV4dC5yZXBvc2l0b3JpZXMua2V5cygpKSkK
IAorICAgIGRlZiByZXByZXNlbnRhdGlvbnMoc2VsZik6CisgICAgICAgIEFzc2VydFJlcXVlc3Qu
aXNfdHlwZSgpCisgICAgICAgIEFzc2VydFJlcXVlc3Qubm9fcXVlcnkoKQorICAgICAgICByZXR1
cm4ganNvbmlmeSh7CisgICAgICAgICAgICBrZXk6IHJlcG9zaXRvcnkucmVwcmVzZW50YXRpb25z
KCkgZm9yIGtleSwgcmVwb3NpdG9yeSBpbiBzZWxmLmNvbW1pdF9jb250ZXh0LnJlcG9zaXRvcmll
cy5pdGVtcygpCisgICAgICAgIH0pCisKICAgICBAcXVlcnlfYXNfa3dhcmdzKCkKICAgICBAbGlt
aXRfZm9yX3F1ZXJ5KERFRkFVTFRfTElNSVQpCiAgICAgZGVmIGJyYW5jaGVzKHNlbGYsIHJlcG9z
aXRvcnlfaWQ9Tm9uZSwgYnJhbmNoPU5vbmUsIGxpbWl0PU5vbmUsICoqa3dhcmdzKToKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L21vZGVsL3Jl
cG9zaXRvcnkucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0
c2RicHkvcmVzdWx0c2RicHkvbW9kZWwvcmVwb3NpdG9yeS5weQkocmV2aXNpb24gMjc0NTEzKQor
KysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvbW9kZWwv
cmVwb3NpdG9yeS5weQkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOSBAQCBjbGFzcyBSZXBv
c2l0b3J5KG9iamVjdCk6CiAgICAgZGVmIHVybF9mb3JfY29tbWl0KHNlbGYsIGNvbW1pdCk6CiAg
ICAgICAgIHJldHVybiBOb25lCiAKKyAgICBkZWYgcmVwcmVzZW50YXRpb25zKHNlbGYpOgorICAg
ICAgICByZXR1cm4gW10KKwogCiBjbGFzcyBTdGFzaFJlcG9zaXRvcnkoUmVwb3NpdG9yeSk6CiAK
QEAgLTYxLDYgKzY0LDkgQEAgY2xhc3MgU3Rhc2hSZXBvc2l0b3J5KFJlcG9zaXRvcnkpOgogICAg
IGRlZiB1cmxfZm9yX2NvbW1pdChzZWxmLCBjb21taXQpOgogICAgICAgICByZXR1cm4gZid7c2Vs
Zi5yZW1vdGUudXJsfS9jb21taXRzL3tjb21taXR9JwogCisgICAgZGVmIHJlcHJlc2VudGF0aW9u
cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIFsnaGFzaCcsICdpZGVudGlmaWVyJ10KKwogCiBjbGFz
cyBXZWJLaXRSZXBvc2l0b3J5KFJlcG9zaXRvcnkpOgogCkBAIC04NSwzICs5MSw2IEBAIGNsYXNz
IFdlYktpdFJlcG9zaXRvcnkoUmVwb3NpdG9yeSk6CiAKICAgICBkZWYgdXJsX2Zvcl9jb21taXQo
c2VsZiwgY29tbWl0KToKICAgICAgICAgcmV0dXJuIGYnaHR0cHM6Ly9jb21taXRzLndlYmtpdC5v
cmcvcntjb21taXR9JworCisgICAgZGVmIHJlcHJlc2VudGF0aW9ucyhzZWxmKToKKyAgICAgICAg
cmV0dXJuIFsnaWRlbnRpZmllcicsICdyZXZpc2lvbiddCkluZGV4OiBUb29scy9TY3JpcHRzL2xp
YnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9jb21taXQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0
c2RicHkvdmlldy9zdGF0aWMvanMvY29tbWl0LmpzCShyZXZpc2lvbiAyNzQ1MTMpCisrKyBUb29s
cy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9q
cy9jb21taXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5cmlnaHQg
KEMpIDIwMTksIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJp
Z2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNDcsMTEgKzE0NywyMyBAQCBjbGFzcyBDb21t
aXQgewogICAgICAgICByZXR1cm4gdGhpcy51dWlkIC0gY29tbWl0LnV1aWQ7CiAgICAgfQogICAg
IGxhYmVsKCkgewotICAgICAgICAvLyBQZXIgdGhlIGJpcnRoZGF5IHBhcmFkb3gsIDEwJSBjaGFu
Y2Ugb2YgY29sbGlzaW9uIHdpdGggNy43IG1pbGxpb24gY29tbWl0cyB3aXRoIDEyIGNoYXJhY3Rl
ciBjb21taXRzCi0gICAgICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXIuc3Vic3RyaW5nKDAsMTIp
OworICAgICAgICBjb25zdCBwcmVmZXJlbmNlID0gQ29tbWl0QmFuay5fcmVwcmVzZW50YXRpb25D
YWNoZSA/IENvbW1pdEJhbmsuX3JlcHJlc2VudGF0aW9uQ2FjaGVbdGhpcy5yZXBvc2l0b3J5X2lk
XS5yZXByZXNlbnRhdGlvbiA6IG51bGw7CisKKyAgICAgICAgaWYgKHByZWZlcmVuY2UgPT09ICdp
ZGVudGlmaWVyJykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXI7CisgICAgICAg
IGlmIChwcmVmZXJlbmNlID09PSAnaGFzaCcpIHsKKyAgICAgICAgICAgIC8vIFBlciB0aGUgYmly
dGhkYXkgcGFyYWRveCwgMTAlIGNoYW5jZSBvZiBjb2xsaXNpb24gd2l0aCA3LjcgbWlsbGlvbiBj
b21taXRzIHdpdGggMTIgY2hhcmFjdGVyIGNvbW1pdHMKKyAgICAgICAgICAgIHJldHVybiB0aGlz
Lmhhc2guc3Vic3RyaW5nKDAsMTIpCisgICAgICAgIH0KKyAgICAgICAgaWYgKHByZWZlcmVuY2Ug
PT09ICdyZXZpc2lvbicpCisgICAgICAgICAgICByZXR1cm4gYHIke3RoaXMucmV2aXNpb259YDsK
KworICAgICAgICByZXR1cm4gdGhpcy5yZXZpc2lvbiA/IGByJHt0aGlzLnJldmlzaW9ufWAgOiB0
aGlzLmhhc2guc3Vic3RyaW5nKDAsMTIpOwogICAgIH0KIH07CiAKK2NvbnN0IENPT0tJRV9OQU1F
ID0gJ2NvbW1pdFJlcHJlc2VudGF0aW9uJzsKKwogY2xhc3MgX0NvbW1pdEJhbmsgewogICAgIGNv
bnN0cnVjdG9yKCkgewogICAgICAgICB0aGlzLmNvbW1pdHMgPSBbXTsKQEAgLTE2Myw3ICsxNzUs
NDUgQEAgY2xhc3MgX0NvbW1pdEJhbmsgewogICAgICAgICB0aGlzLl9iZWdpblV1aWQgPSBudWxs
OwogICAgICAgICB0aGlzLl9lbmRVdWlkID0gbnVsbDsKICAgICAgICAgdGhpcy5jYWxsYmFja3Mg
PSBbXTsKKyAgICAgICAgdGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSA9IG51bGw7CisgICAgfQor
ICAgIGNvbW1pdFJlcHJlc2VudGF0aW9ucyhjYWxsYmFjaykgeworICAgICAgICBpZiAodGhpcy5f
cmVwcmVzZW50YXRpb25DYWNoZSAhPSBudWxsKSB7CisgICAgICAgICAgICBjYWxsYmFjayh0aGlz
Ll9yZXByZXNlbnRhdGlvbkNhY2hlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgICAgIGNvbnN0IGNvb2tpZXMgPSBkZWNvZGVVUklDb21wb25lbnQoZG9jdW1lbnQuY29va2ll
KS5zcGxpdCgnOycpCisgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb29raWVz
Lmxlbmd0aDsgKytpbmRleCkgeworICAgICAgICAgICAgaWYgKGNvb2tpZXNbaW5kZXhdLmluZGV4
T2YoYCR7Q09PS0lFX05BTUV9PWApKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgICAgICB0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlID0gSlNPTi5wYXJzZShjb29raWVzW2lu
ZGV4XS5zdWJzdHJpbmcoQ09PS0lFX05BTUUubGVuZ3RoICsgMSkpOworICAgICAgICAgICAgY2Fs
bGJhY2sodGhpcy5fcmVwcmVzZW50YXRpb25DYWNoZSk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KIAorICAgICAgICBmZXRjaCgnYXBpL2NvbW1pdHMvcmVwcmVzZW50YXRpb25zJyku
dGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgICByZXNwb25zZS5qc29uKCkudGhlbihqc29u
ID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9yZXByZXNlbnRhdGlvbkNhY2hlID0ge307Cisg
ICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoanNvbikuZm9yRWFjaChyZXBvc2l0b3J5ID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCFqc29uW3JlcG9zaXRvcnldLmxlbmd0aCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVw
cmVzZW50YXRpb25DYWNoZVtyZXBvc2l0b3J5XSA9IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdyZXByZXNlbnRhdGlvbic6IGpzb25bcmVwb3NpdG9yeV1bMF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAnY2FuZGlkYXRlcyc6IGpzb25bcmVwb3NpdG9yeV0sCisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5jb29r
aWUgPSBgJHtDT09LSUVfTkFNRX09JHtKU09OLnN0cmluZ2lmeSh0aGlzLl9yZXByZXNlbnRhdGlv
bkNhY2hlKX1gOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX3JlcHJlc2VudGF0aW9u
Q2FjaGUpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pLmNhdGNoKGVycm9yID0+IHsKKyAg
ICAgICAgICAgIC8vIElmIHRoZSBsb2FkIGZhaWxzLCBsb2cgdGhlIGVycm9yIGFuZCBjb250aW51
ZQorICAgICAgICAgICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeShlcnJvciwgbnVsbCwg
NCkpOworICAgICAgICB9KTsKKyAgICB9CisgICAgc2V0Q29tbWl0UmVwcmVzZW50YXRpb24ocmVw
b3NpdG9yeSwgcmVwcmVzZW50YXRpb24pIHsKKyAgICAgICAgdGhpcy5fcmVwcmVzZW50YXRpb25D
YWNoZVtyZXBvc2l0b3J5XS5yZXByZXNlbnRhdGlvbiA9IHJlcHJlc2VudGF0aW9uOworICAgICAg
ICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfTkFNRX09JHtKU09OLnN0cmluZ2lmeSh0aGlz
Ll9yZXByZXNlbnRhdGlvbkNhY2hlKX1gOwogICAgIH0KICAgICBsYXRlc3QocGFyYW1zKSB7CiAg
ICAgICAgIHRoaXMuX2JyYW5jaGVzID0gbmV3IFNldChwYXJhbXMuYnJhbmNoKTsKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGlj
L2pzL2RyYXdlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9qcy9kcmF3ZXIuanMJKHJldmlzaW9uIDI3
NDUxMykKKysrIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAK
LS8vIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIyLDcgKzIyLDggQEAKIC8vIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IHtET00sIFJFRn0gZnJvbSAn
L2xpYnJhcnkvanMvUmVmLmpzJzsKLWltcG9ydCB7cXVlcnlUb1BhcmFtcywgcGFyYW1zVG9RdWVy
eSwgUXVlcnlNb2RpZmllciwgfSBmcm9tICcvYXNzZXRzL2pzL2NvbW1vbi5qcyc7CitpbXBvcnQg
e3F1ZXJ5VG9QYXJhbXMsIHBhcmFtc1RvUXVlcnksIFF1ZXJ5TW9kaWZpZXJ9IGZyb20gJy9hc3Nl
dHMvanMvY29tbW9uLmpzJzsKK2ltcG9ydCB7Q29tbWl0QmFua30gZnJvbSAnL2Fzc2V0cy9qcy9j
b21taXQuanMnOwogaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcvYXNzZXRzL2pzL2NvbmZp
Z3VyYXRpb24uanMnCiAKIGZ1bmN0aW9uIHNldEVuYWJsZVJlY3Vyc2l2ZShlbGVtZW50LCBzdGF0
ZSkgewpAQCAtMzMxLDQgKzMzMiw3MiBAQCBmdW5jdGlvbiBDb25maWd1cmF0aW9uU2VsZWN0b3Jz
KGNhbGxiYWNrCiAgICAgfSkuam9pbignJykKIH0KIAotZXhwb3J0IHtEcmF3ZXIsIEJyYW5jaFNl
bGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNsaWRlcn07CitmdW5jdGlvbiBD
b21taXRSZXByZXNlbnRhdGlvbihjYWxsYmFjaykgeworICAgIGNvbnN0IHJlZiA9IFJFRi5jcmVh
dGVSZWYoeworICAgICAgICBzdGF0ZToge30sCisgICAgICAgIG9uU3RhdGVVcGRhdGU6IChlbGVt
ZW50LCBzdGF0ZSkgPT4geworICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhzdGF0ZSkubGVu
Z3RoKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgRE9NLmluamVjdCgK
KyAgICAgICAgICAgICAgICBlbGVtZW50LAorICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHN0
YXRlKS5tYXAocmVwb3NpdG9yeSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVj
dG9yID0gUkVGLmNyZWF0ZVJlZih7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogc3Rh
dGVbcmVwb3NpdG9yeV0ucmVwcmVzZW50YXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICBv
bkVsZW1lbnRNb3VudDogKGVsZW1lbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm9uY2hhbmdlID0gKCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21taXRCYW5rLnNldENvbW1pdFJlcHJl
c2VudGF0aW9uKHJlcG9zaXRvcnksIGVsZW1lbnQudmFsdWUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICBvblN0
YXRlVXBkYXRlOiAoZWxlbWVudCwgcmVwcmVzZW50YXRpb24pID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IHN0YXRlW3JlcG9zaXRvcnldLmNhbmRp
ZGF0ZXMubWFwKGNhbmRpZGF0ZSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChjYW5kaWRhdGUgPT09IHJlcHJlc2VudGF0aW9uKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGA8b3B0aW9uIHNlbGVjdGVkIHZhbHVlPSIke2NhbmRpZGF0
ZX0iPiR7Y2FuZGlkYXRlfTwvb3B0aW9uPmA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBgPG9wdGlvbiB2YWx1ZT0iJHtjYW5kaWRhdGV9Ij4ke2NhbmRpZGF0ZX08L29w
dGlvbj5gOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmpvaW4oJycpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBgPGRpdiBjbGFzcz0iaW5wdXQiPgorICAgICAgICAgICAgICAgICAg
ICAgICAgPHNlbGVjdCByZXF1aXJlZCByZWY9IiR7c2VsZWN0b3J9Ij4KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICR7c3RhdGVbcmVwb3NpdG9yeV0uY2FuZGlkYXRlcy5tYXAocmVwciA9PiBg
PG9wdGlvbiB2YWx1ZT0iJHtyZXByfSI+JHtyZXByfTwvb3B0aW9uPmApLmpvaW4oJycpfQorICAg
ICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CisgICAgICAgICAgICAgICAgICAgICAgICA8
bGFiZWwgc3R5bGU9ImNvbG9yOnZhcigtLWludmVyc2VDb2xvcikiPiR7cmVwb3NpdG9yeS5jaGFy
QXQoMCkudG9VcHBlckNhc2UoKSArIHJlcG9zaXRvcnkuc2xpY2UoMSl9PC9sYWJlbD4KKyAgICAg
ICAgICAgICAgICAgICAgPC9kaXY+YDsKKyAgICAgICAgICAgICAgICB9KS5qb2luKCcnKSk7Cisg
ICAgICAgIH0sCisgICAgfSk7CisgICAgQ29tbWl0QmFuay5jb21taXRSZXByZXNlbnRhdGlvbnMo
anNvbiA9PiB7CisgICAgICAgIHJlZi5zZXRTdGF0ZShqc29uKTsKKyAgICB9KTsKKworICAgIGNv
bnN0IGV4cGFuZGVyID0gUkVGLmNyZWF0ZVJlZih7CisgICAgICAgIHN0YXRlOiB7aXNFeHBhbmRl
ZDogZmFsc2V9LAorICAgICAgICBvblN0YXRlVXBkYXRlOiAoZWxlbWVudCwgc3RhdGUpID0+IHsK
KyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gc3RhdGUuaXNFeHBhbmRlZCA/ICctJyA6
ICcrJzsKKworICAgICAgICAgICAgQXJyYXkuZnJvbShlbGVtZW50LnBhcmVudE5vZGUuY2hpbGRy
ZW4pLmZvckVhY2goY2hpbGQgPT4geworICAgICAgICAgICAgICAgIGlmIChlbGVtZW50ID09IGNo
aWxkKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgY2hpbGQu
c3R5bGUuZGlzcGxheSA9IHN0YXRlLmlzRXhwYW5kZWQgPyAnYmxvY2snIDogJ25vbmUnOworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0sCisgICAgfSk7CisgICAgZXhwYW5kZXIuZnJvbUV2ZW50
KCdjbGljaycpLmFjdGlvbigoKSA9PiBleHBhbmRlci5zZXRTdGF0ZSh7aXNFeHBhbmRlZDogIWV4
cGFuZGVyLnN0YXRlLmlzRXhwYW5kZWR9KSk7CisKKyAgICByZXR1cm4gYDxkaXYgY2xhc3M9Iml0
ZW0iPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiB2YXIoLS1zbWFsbFNpemUp
OyI+CisgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImxpbmstYnV0dG9uIHRleHQgbWVkaXVtIiBy
ZWY9IiR7ZXhwYW5kZXJ9Ij4rPC9hPgorICAgICAgICAgICAgICAgIENvbW1pdCBSZXByZXNlbnRh
dGlvbgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3QiIHJlZj0iJHtyZWZ9IiBzdHls
ZT0iZGlzcGxheTogbm9uZTsiPgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVt
IGxvYWRlciI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGlubmVyIj48
L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+
CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+YDsKK30KKworZXhwb3J0IHtEcmF3
ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNsaWRlciwg
Q29tbWl0UmVwcmVzZW50YXRpb259OwpJbmRleDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVz
dWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvY29tbWl0cy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3Zp
ZXcvdGVtcGxhdGVzL2NvbW1pdHMuaHRtbAkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvY29t
bWl0cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiBpbXBvcnQge1JFRiwg
RE9NfSBmcm9tICcvbGlicmFyeS9qcy9SZWYuanMnOwogaW1wb3J0IHtFcnJvckRpc3BsYXl9IGZy
b20gJy9hc3NldHMvanMvY29tbW9uLmpzJzsKIGltcG9ydCB7Q29tbWl0LCBDb21taXRUYWJsZX0g
ZnJvbSAnL2Fzc2V0cy9qcy9jb21taXQuanMnOwotaW1wb3J0IHtEcmF3ZXIsIEJyYW5jaFNlbGVj
dG9yLCBMaW1pdFNsaWRlcn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIuanMnOworaW1wb3J0IHtE
cmF3ZXIsIEJyYW5jaFNlbGVjdG9yLCBMaW1pdFNsaWRlciwgQ29tbWl0UmVwcmVzZW50YXRpb259
IGZyb20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsKIAogdmFyIG9uZUxpbmUgPSB0cnVlOwogCkBA
IC0xMDMsNiArMTAzLDcgQEAgRE9NLmluamVjdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXBw
JwogICAgIExpbWl0U2xpZGVyKCgpID0+IHt0YWJsZS5yZWxvYWQoKX0sIDEwMDAwLCAxMDAwKSwK
ICAgICBPbmVMaW5lU3dpdGNoKCksCiAgICAgQnJhbmNoU2VsZWN0b3IoKCkgPT4ge3RhYmxlLnJl
bG9hZCgpfSksCisgICAgQ29tbWl0UmVwcmVzZW50YXRpb24oKCkgPT4ge3RhYmxlLnJlbG9hZCgp
fSksCiBdKX0KIDxkaXYgY2xhc3M9Im1haW4gcmlnaHQtc2lkZWJhciB1bmRlci10b3BiYXItd2l0
aC1hY3Rpb25zIj4KICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4ke3RhYmxlfTwvZGl2PgpJbmRl
eDogVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90
ZW1wbGF0ZXMvZG9jdW1lbnRhdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL2RvY3VtZW50
YXRpb24uaHRtbAkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvZG9jdW1lbnRhdGlvbi5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDE4IEBAIGNvbnN0IGRvY3VtZW50YXRpb24g
PSB7CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICksCiAgICAgICAgICAgICBkb2N1
bWVudEVuZHBvaW50KAorICAgICAgICAgICAgICAgICcvYXBpL2NvbW1pdHMvcmVwcmVzZW50YXRp
b25zJywKKyAgICAgICAgICAgICAgICBbJ0dFVCddLAorICAgICAgICAgICAgICAgIFtdLAorICAg
ICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgYFJldHVybiBhIGRpY3Rpb25hcnkg
b2YgcHJpb3JpdGl6ZWQgdmFsaWQgY29tbWl0IHJlcHJlc2VudGF0aW9ucyBmb3IgcmVwb3NpdG9y
aWVzIHRyYWNrZWQgYnkgdGhpcyBpbnN0YW5jZSB0byB0aGUgcmVzdWx0cyBkYXRhYmFzZS4gVGhl
IG91dHB1dCBpcyBvZiB0aGUgZm9ybTpgLAorICAgICAgICAgICAgICAgICAgICBjb2RlQmxvY2so
J3tcbicgKworICAgICAgICAgICAgICAgICAgICAnICAgIDxyZXBvc2l0b3J5LWlkIChhKT46IFsi
aGFzaCIsICJpZGVudGlmaWVyIl0sXG4nICsKKyAgICAgICAgICAgICAgICAgICAgJyAgICA8cmVw
b3NpdG9yeS1pZCAoYik+OiBbImlkZW50aWZpZXIiLCAicmV2aXNpb24iXVxuJyArCisgICAgICAg
ICAgICAgICAgICAgICd9JyksCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICksCisg
ICAgICAgICAgICBkb2N1bWVudEVuZHBvaW50KAogICAgICAgICAgICAgICAgICcvYXBpL2NvbW1p
dHMvYnJhbmNoZXMnLAogICAgICAgICAgICAgICAgIFsnR0VUJ10sCiAgICAgICAgICAgICAgICAg
WydMaW1pdCcsICdSZXBvc2l0b3J5J10sCkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9y
ZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92
aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAkocmV2aXNpb24gMjc0NTEzKQorKysgVG9vbHMvU2Ny
aXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2Vh
cmNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiA8IS0tCi0gQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyBDb3B5cmlnaHQgKEMp
IDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMzLDcgKzMzLDcgQEAKIGltcG9ydCB7Q29tbWl0QmFua30gZnJvbSAn
L2Fzc2V0cy9qcy9jb21taXQuanMnOwogaW1wb3J0IHtkZWVwQ29tcGFyZSwgRXJyb3JEaXNwbGF5
LCBxdWVyeVRvUGFyYW1zLCBwYXJhbXNUb1F1ZXJ5fSBmcm9tICcvYXNzZXRzL2pzL2NvbW1vbi5q
cyc7CiBpbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy9hc3NldHMvanMvY29uZmlndXJhdGlv
bi5qcyc7Ci1pbXBvcnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRpb25TZWxl
Y3RvcnMsIExpbWl0U2xpZGVyfSBmcm9tICcvYXNzZXRzL2pzL2RyYXdlci5qcyc7CitpbXBvcnQg
e0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMsIExpbWl0U2xp
ZGVyLCBDb21taXRSZXByZXNlbnRhdGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIuanMnOwog
aW1wb3J0IHtJbnZlc3RpZ2F0ZURyYXdlcn0gZnJvbSAnL2Fzc2V0cy9qcy9pbnZlc3RpZ2F0ZS5q
cyc7CiBpbXBvcnQge1NlYXJjaEJhcn0gZnJvbSAnL2Fzc2V0cy9qcy9zZWFyY2guanMnOwogaW1w
b3J0IHtMZWdlbmQsIFRpbWVsaW5lRnJvbUVuZHBvaW50fSBmcm9tICcvYXNzZXRzL2pzL3RpbWVs
aW5lLmpzJzsKQEAgLTIzOSw2ICsyMzksNyBAQCBET00uaW5qZWN0KAogICAgICAgICAgICAgdmll
dy5yZWxvYWQoKTsKICAgICAgICAgfSksCiAgICAgICAgIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMo
KCkgPT4ge3ZpZXcucmVsb2FkKCl9KSwKKyAgICAgICAgQ29tbWl0UmVwcmVzZW50YXRpb24oKCkg
PT4ge3ZpZXcucmVsb2FkKCl9KSwKICAgICBdLCAoKSA9PiBvbkxheW91dENoYW5nZS5hZGQoKSl9
CiAKICAgICA8ZGl2IGNsYXNzPSJtYWluIHJpZ2h0LXNpZGViYXIgdW5kZXItdG9wYmFyLXdpdGgt
YWN0aW9ucyI+CkluZGV4OiBUb29scy9TY3JpcHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1
bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1w
bGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCShyZXZpc2lvbiAyNzQ1MTMpCisrKyBUb29scy9TY3Jp
cHRzL2xpYnJhcmllcy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0
ZV9yZXN1bHRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiA8IS0tCi0gQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyBDb3B5cmln
aHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKICBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDcgKzMzLDcgQEAKIGltcG9ydCB7Q29tbWl0QmFua30g
ZnJvbSAnL2Fzc2V0cy9qcy9jb21taXQuanMnOwogaW1wb3J0IHtkZWVwQ29tcGFyZSwgRXJyb3JE
aXNwbGF5LCBxdWVyeVRvUGFyYW1zLCBwYXJhbXNUb1F1ZXJ5fSBmcm9tICcvYXNzZXRzL2pzL2Nv
bW1vbi5qcyc7CiBpbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy9hc3NldHMvanMvY29uZmln
dXJhdGlvbi5qcyc7Ci1pbXBvcnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRp
b25TZWxlY3RvcnMsIExpbWl0U2xpZGVyfSBmcm9tICcvYXNzZXRzL2pzL2RyYXdlci5qcyc7Citp
bXBvcnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMsIExp
bWl0U2xpZGVyLCBDb21taXRSZXByZXNlbnRhdGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9kcmF3ZXIu
anMnOwogaW1wb3J0IHtJbnZlc3RpZ2F0ZURyYXdlcn0gZnJvbSAnL2Fzc2V0cy9qcy9pbnZlc3Rp
Z2F0ZS5qcyc7CiBpbXBvcnQge0xlZ2VuZCwgVGltZWxpbmVGcm9tRW5kcG9pbnR9IGZyb20gJy9h
c3NldHMvanMvdGltZWxpbmUuanMnOwogaW1wb3J0IHtUb29sVGlwfSBmcm9tICcvYXNzZXRzL2pz
L3Rvb2x0aXAuanMnOwpAQCAtMTgyLDYgKzE4Miw3IEBAICR7RHJhd2VyKFsKICAgICAgICAgdmll
dy5yZWxvYWQoKTsKICAgICB9KSwKICAgICBDb25maWd1cmF0aW9uU2VsZWN0b3JzKCgpID0+IHt2
aWV3LnJlbG9hZCgpfSksCisgICAgQ29tbWl0UmVwcmVzZW50YXRpb24oKCkgPT4ge3ZpZXcucmVs
b2FkKCl9KSwKIF0sICgpID0+IG9uTGF5b3V0Q2hhbmdlLmFkZCgpKX0KIDxkaXYgY2xhc3M9Im1h
aW4gcmlnaHQtc2lkZWJhciB1bmRlci10b3BiYXItd2l0aC1hY3Rpb25zIj4KICAgICA8YnI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>