<?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>223882</bug_id>
          
          <creation_ts>2021-03-29 10:15:20 -0700</creation_ts>
          <short_desc>[Flatpak SDK] Enable LLVM extension</short_desc>
          <delta_ts>2021-04-07 02:04:34 -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>
          
          
          <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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aperez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744757</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-29 10:15:20 -0700</bug_when>
    <thetext>The clang shipped by default in the FDO SDK is not usable for ASan, UBSan (and I guess TSan) builds, but the Flatpak extension shipping LLVM11 allows this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745089</commentid>
    <comment_count>1</comment_count>
      <attachid>424630</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-30 05:27:27 -0700</bug_when>
    <thetext>Created attachment 424630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746921</commentid>
    <comment_count>2</comment_count>
      <attachid>424630</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-04-05 03:32:17 -0700</bug_when>
    <thetext>Comment on attachment 424630
Patch

Patch LGTM with a couple of small nits :)

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

&gt; Tools/flatpak/flatpakutils.py:736
&gt; +                building = os.path.basename(args[0]).startswith(&quot;build&quot;)

This check looks a bit brittle, but other than using “in (&quot;build-webkit&quot;, &quot;build-jsc&quot;)” to
check for a well-known list of possible build scripts, I don&apos;t really have a better idea 🤔️

&gt; Tools/flatpak/flatpakutils.py:988
&gt; +            clang_archive, clang_toolchaines = self.pack_toolchain((&quot;clang&quot;, &quot;clang++&quot;), {&quot;/usr/bin/clang++&quot;: &quot;clang++&quot;,

Typo in variable name: clanf_toolchaines → clang_toolchains</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747509</commentid>
    <comment_count>3</comment_count>
      <attachid>424630</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-04-06 10:29:49 -0700</bug_when>
    <thetext>Comment on attachment 424630
Patch

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

&gt;&gt; Tools/flatpak/flatpakutils.py:736
&gt;&gt; +                building = os.path.basename(args[0]).startswith(&quot;build&quot;)
&gt; 
&gt; This check looks a bit brittle, but other than using “in (&quot;build-webkit&quot;, &quot;build-jsc&quot;)” to
&gt; check for a well-known list of possible build scripts, I don&apos;t really have a better idea 🤔️

There&apos;s a is_build_webkit() method already. I could add one for is_build_jsc() as well and then here `building = self.is_build_webkit() or self.is_build_jsc()` wdyt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747632</commentid>
    <comment_count>4</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-04-06 14:23:24 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #3)
&gt; Comment on attachment 424630 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424630&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/flatpak/flatpakutils.py:736
&gt; &gt;&gt; +                building = os.path.basename(args[0]).startswith(&quot;build&quot;)
&gt; &gt; 
&gt; &gt; This check looks a bit brittle, but other than using “in (&quot;build-webkit&quot;, &quot;build-jsc&quot;)” to
&gt; &gt; check for a well-known list of possible build scripts, I don&apos;t really have a better idea 🤔️
&gt; 
&gt; There&apos;s a is_build_webkit() method already. I could add one for
&gt; is_build_jsc() as well and then here `building = self.is_build_webkit() or
&gt; self.is_build_jsc()` wdyt?

This sounds perfect 👍️</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747804</commentid>
    <comment_count>5</comment_count>
      <attachid>425363</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-04-07 01:20:20 -0700</bug_when>
    <thetext>Created attachment 425363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747821</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-07 02:03:18 -0700</bug_when>
    <thetext>Committed r275595: &lt;https://commits.webkit.org/r275595&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747823</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-07 02:04:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/76326393&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424630</attachid>
            <date>2021-03-30 05:27:27 -0700</date>
            <delta_ts>2021-04-07 01:20:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223882-20210330052725.patch</filename>
            <type>text/plain</type>
            <size>12403</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjAyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGJmOTg0ZGI4YzZiNmFjZDM2MmUyMzc2OTEzMDU3ZGU1
YWIzYjFjMi4uZTExODU0YTE2ODk1YzFiZTQ4MDRkYzdkYzc2ZGZmZjI5MTdlOTdjNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIxLTAzLTMwICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbRmxhdHBhayBTREtdIEVuYWJsZSBMTFZNIGV4dGVuc2lvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzODgyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGNsYW5nIHNoaXBwZWQg
YnkgZGVmYXVsdCBpbiB0aGUgRkRPIFNESyBpcyBub3QgdXNhYmxlIGZvciBBU2FuLCBVQlNhbiAo
YW5kIEkgZ3Vlc3MgVFNhbikKKyAgICAgICAgYnVpbGRzLCBidXQgdGhlIEZsYXRwYWsgZXh0ZW5z
aW9uIHNoaXBwaW5nIExMVk0xMSBhbGxvd3MgdGhpcywgZXZlbiB0aG91Z2ggVUJTYW4gYnVpbGRz
CisgICAgICAgIHN0aWxsIGZhaWwgKGxpbmtpbmcgZXJyb3JzIGluIEpTQyBhbmQgV1RGKSBhbmQg
d2lsbCByZXF1aXJlIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4gU3RpbGwsCisgICAgICAgIGhhdmlu
ZyBjbGFuZy0xMSBpbiB0aGUgU0RLIGlzIGFuIGltcHJvdmVtZW50LgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWxzbyBhZGRzIHN1cHBvcnQgZm9yIGNsZWFuaW5nIHVwIHVudXNlZCB0b29sY2hhaW4g
YXJjaGl2ZXMuCisKKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRwYWt1dGlscy5weToKKyAgICAgICAg
KHJ1bl9zYW5pdGl6ZWQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5sb2FkX2Zyb21fYXJncyk6
CisgICAgICAgIChXZWJraXRGbGF0cGFrLmNsZWFuX2FyZ3MpOgorICAgICAgICAoV2Via2l0Rmxh
dHBhay5ydW5faW5fc2FuZGJveCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLm1haW4pOgorICAg
ICAgICAoV2Via2l0RmxhdHBhay5wdXJnZV91bnVzZWRfdG9vbGNoYWlucyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnBhY2tfdG9vbGNoYWluKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuX2dl
dF9wYWNrYWdlcyk6CisKIDIwMjEtMDMtMjkgIENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2FtQGFw
cGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBjYWxsaW5nIGB4Y29kZWJ1aWxkIC1zaG93c2Rrc2Ag
d2hlcmUgcG9zc2libGUuCmRpZmYgLS1naXQgYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5w
eSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CmluZGV4IDA1YmQ3ZjFhZDFjMGFkY2Y5
ZDU2NzU5Y2ZhMmRjOTQ1M2ZkM2VhZDguLjdhNDMzZjlkNjA2Yzk0Mjg0MmNmOTcxMTgxYTk5MjQ1
ZWM1MmI0MzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBi
L1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CkBAIC0xMjQsMTcgKzEyNCwyMiBAQCBjbGFz
cyBDb25zb2xlOgogICAgICAgICBjbHMuY29sb3JlZF9tZXNzYWdlX2lmX3N1cHBvcnRlZChDb2xv
cnMuV0FSTklORywgc3RyX2Zvcm1hdCwgKmFyZ3MpCiAKIAotZGVmIHJ1bl9zYW5pdGl6ZWQoY29t
bWFuZCwgZ2F0aGVyX291dHB1dD1GYWxzZSwgaWdub3JlX3N0ZGVycj1GYWxzZSk6CitkZWYgcnVu
X3Nhbml0aXplZChjb21tYW5kLCBnYXRoZXJfb3V0cHV0PUZhbHNlLCBpZ25vcmVfc3RkZXJyPUZh
bHNlLCBlbnY9Tm9uZSk6CiAgICAgIiIiIFJ1bnMgYSBjb21tYW5kIGluIGEgc2FudGl6ZWQgZW52
aXJvbm1lbnQgYW5kIG9wdGlvbmFsbHkgcmV0dXJucyBkZWNvZGVkIG91dHB1dCBvciByYWlzZXMK
ICAgICAgICAgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IKICAgICAiIiIKKyAgICBpZiBl
bnY6CisgICAgICAgIHNhbml0aXplZF9lbnYgPSBlbnYuY29weSgpCisgICAgZWxzZToKKyAgICAg
ICAgc2FuaXRpemVkX2VudiA9IG9zLmVudmlyb24uY29weSgpCisKICAgICAjIFdlIG5lZWQgY2xl
YW4gb3V0cHV0IGZyZWUgb2YgZGVidWcgbWVzc2FnZXMKLSAgICBzYW5pdGl6ZWRfZW52ID0gb3Mu
ZW52aXJvbi5jb3B5KCkKICAgICB0cnk6CiAgICAgICAgIGRlbCBzYW5pdGl6ZWRfZW52WyJHX01F
U1NBR0VTX0RFQlVHIl0KICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKIAorICAg
IF9sb2cuZGVidWcoIlJ1bm5pbmcgJXMiLCAiICIuam9pbihjb21tYW5kKSkKICAgICBrZXl3b3Jk
cyA9IGRpY3QoZW52PXNhbml0aXplZF9lbnYpCiAgICAgaWYgZ2F0aGVyX291dHB1dDoKICAgICAg
ICAgaWYgaWdub3JlX3N0ZGVycjoKQEAgLTE0Miw3ICsxNDcsNyBAQCBkZWYgcnVuX3Nhbml0aXpl
ZChjb21tYW5kLCBnYXRoZXJfb3V0cHV0PUZhbHNlLCBpZ25vcmVfc3RkZXJyPUZhbHNlKToKICAg
ICAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjb21tYW5kLCBz
dGRlcnI9ZGV2bnVsbCwgKiprZXl3b3JkcykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG91
dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNvbW1hbmQsICoqa2V5d29yZHMpCi0gICAg
ICAgIHJldHVybiBvdXRwdXQuZGVjb2RlKCd1dGYtOCcpCisgICAgICAgIHJldHVybiBvdXRwdXQu
c3RyaXAoKS5kZWNvZGUoJ3V0Zi04JykKICAgICBlbHNlOgogICAgICAgICBrZXl3b3Jkc1sic3Rk
b3V0Il0gPSBzeXMuc3Rkb3V0CiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX2NhbGwo
Y29tbWFuZCwgKiprZXl3b3JkcykKQEAgLTQ1MCw3ICs0NTUsNyBAQCBjbGFzcyBXZWJraXRGbGF0
cGFrOgogICAgICAgICBkaXN0cmlidXRlZF9idWlsZF9vcHRpb25zID0gcGFyc2VyLmFkZF9hcmd1
bWVudF9ncm91cCgiRGlzdHJpYnV0ZWQgYnVpbGRpbmciKQogICAgICAgICBkaXN0cmlidXRlZF9i
dWlsZF9vcHRpb25zLmFkZF9hcmd1bWVudCgiLS11c2UtaWNlY3JlYW0iLCBkZXN0PSJ1c2VfaWNl
Y3JlYW0iLCBoZWxwPSJVc2UgdGhlIGRpc3RyaWJ1dGVkIGljZWNyZWFtIChpY2VjYykgY29tcGls
ZXIuIiwgYWN0aW9uPSJzdG9yZV90cnVlIikKICAgICAgICAgZGlzdHJpYnV0ZWRfYnVpbGRfb3B0
aW9ucy5hZGRfYXJndW1lbnQoIi1yIiwgIi0tcmVnZW5lcmF0ZS10b29sY2hhaW5zIiwgZGVzdD0i
cmVnZW5lcmF0ZV90b29sY2hhaW5zIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVnZW5lcmF0ZSBJY2VD
QyBkaXN0cmlidXRhYmxlIHRvb2xjaGFpbiBhcmNoaXZlcyIpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlJlZ2VuZXJhdGUgSWNlQ0MvU0NDYWNo
ZSBzdGFuZGFsb25lIHRvb2xjaGFpbiBhcmNoaXZlcyIpCiAgICAgICAgIGRpc3RyaWJ1dGVkX2J1
aWxkX29wdGlvbnMuYWRkX2FyZ3VtZW50KCItdCIsICItLXNjY2FjaGUtdG9rZW4iLCBkZXN0PSJz
Y2NhY2hlX3Rva2VuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0ic2NjYWNoZSBhdXRoZW50aWNhdGlvbiB0b2tlbiIpCiAgICAgICAgIGRpc3Ry
aWJ1dGVkX2J1aWxkX29wdGlvbnMuYWRkX2FyZ3VtZW50KCItcyIsICItLXNjY2FjaGUtc2NoZWR1
bGVyIiwgZGVzdD0ic2NjYWNoZV9zY2hlZHVsZXIiLApAQCAtNTY5LDYgKzU3NCwxMCBAQCBjbGFz
cyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2lu
KHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQog
ICAgICAgICBzZWxmLnNjY2FjaGVfY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0
cGFrX2J1aWxkX3BhdGgsICdzY2NhY2hlLnRvbWwnKQogCisgICAgICAgIHNlbGYudG9vbGNoYWlu
c19kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9yb290LCAiVG9vbGNoYWlucyIp
CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHNlbGYudG9vbGNoYWluc19kaXJlY3Rvcnkp
OgorICAgICAgICAgICAgb3MubWFrZWRpcnMoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSkKKwog
ICAgICAgICBDb25zb2xlLnF1aWV0ID0gc2VsZi5xdWlldAogICAgICAgICBzZWxmLmZsYXRwYWtf
dmVyc2lvbiA9IGNoZWNrX2ZsYXRwYWsoKQogICAgICAgICBpZiBub3Qgc2VsZi5mbGF0cGFrX3Zl
cnNpb246CkBAIC02OTEsNiArNzAwLDEyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAg
IHN0YXJ0X3NjY2FjaGUgPSBrd2FyZ3MuZ2V0KCJzdGFydF9zY2NhY2hlIiwgVHJ1ZSkKICAgICAg
ICAgc2tpcF9pY2MgPSBrd2FyZ3MuZ2V0KCJza2lwX2ljYyIsIEZhbHNlKQogICAgICAgICBidWls
ZGluZ19nc3QgPSBrd2FyZ3MuZ2V0KCJidWlsZGluZ19nc3QiLCBGYWxzZSkKKyAgICAgICAgZ2F0
aGVyX291dHB1dCA9IGt3YXJncy5nZXQoImdhdGhlcl9vdXRwdXQiLCBGYWxzZSkKKworICAgICAg
ICBpZiBnYXRoZXJfb3V0cHV0OgorICAgICAgICAgICAgc3RhcnRfc2NjYWNoZSA9IEZhbHNlCisg
ICAgICAgICAgICBza2lwX2ljYyA9IFRydWUKKyAgICAgICAgICAgIGJ1aWxkaW5nX2dzdCA9IEZh
bHNlCiAKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJncywgbGlzdCk6CiAgICAgICAgICAg
ICBhcmdzID0gbGlzdChhcmdzKQpAQCAtNjk4LDE0ICs3MTMsMTYgQEAgY2xhc3MgV2Via2l0Rmxh
dHBhazoKICAgICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuc2Fu
ZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgc2VsZi5idWlsZF90eXBlKQogICAgICAg
ICBzYW5kYm94X2Vudmlyb25tZW50ID0gewogICAgICAgICAgICAgIlRFU1RfUlVOTkVSX0lOSkVD
VEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5kYm94X2J1aWxkX3BhdGgsICJs
aWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCi0gICAgICAgICAgICAiUEFUSCI6
ICIvdXNyL2JpbjovdXNyL2xpYi9zZGsvcnVzdC1zdGFibGUvYmluLyIsCisgICAgICAgICAgICAi
UEFUSCI6ICIvdXNyL2xpYi9zZGsvbGx2bTExL2JpbjovdXNyL2JpbjovdXNyL2xpYi9zZGsvcnVz
dC1zdGFibGUvYmluLyIsCiAgICAgICAgIH0KIAogICAgICAgICBpZiBub3QgYXJnczoKICAgICAg
ICAgICAgIGFyZ3MuYXBwZW5kKCJiYXNoIikKIAogICAgICAgICBpZiBhcmdzOgotICAgICAgICAg
ICAgaWYgb3MucGF0aC5leGlzdHMoYXJnc1swXSk6CisgICAgICAgICAgICBpZiBnYXRoZXJfb3V0
cHV0OgorICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBhcmdzWzBdCisgICAgICAgICAgICBlbGlm
IG9zLnBhdGguZXhpc3RzKGFyZ3NbMF0pOgogICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguYWJzcGF0aChhcmdzWzBdKSkKICAgICAgICAgICAgICAgICAj
IFRha2UgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQgdGhlIHdlYmtpdCBzb3VyY2UgZGlyIGlz
IHJlbW91bnRlZCBpbnNpZGUgdGhlIHNhbmRib3guCiAgICAgICAgICAgICAgICAgYXJnc1swXSA9
IGNvbW1hbmQucmVwbGFjZShzZWxmLnNvdXJjZV9yb290LCBzZWxmLnNhbmRib3hfc291cmNlX3Jv
b3QpCkBAIC03MTMsNyArNzMwLDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAg
ICBpZiBhcmdzWzBdID09ICJiYXNoIjoKICAgICAgICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0t
bm9wcm9maWxlJywgJy0tbm9yYycsICctaSddKQogICAgICAgICAgICAgICAgIHNhbmRib3hfZW52
aXJvbm1lbnRbIlBTMSJdID0gIlvwn5Om8J+MkPCfkLEgJEZMQVRQQUtfSUQgXFxXXVxcJCAiCi0g
ICAgICAgICAgICBidWlsZGluZyA9IG9zLnBhdGguYmFzZW5hbWUoYXJnc1swXSkuc3RhcnRzd2l0
aCgiYnVpbGQiKQorICAgICAgICAgICAgaWYgZ2F0aGVyX291dHB1dDoKKyAgICAgICAgICAgICAg
ICBidWlsZGluZyA9IEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJ1
aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShhcmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBidWlsZGluZyA9IEZhbHNlCiAKQEAgLTcyNiw3ICs3
NDYsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ii0tdGFsay1uYW1lPW9yZy5ndGsudmZzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt
LXRhbGstbmFtZT1vcmcuZ3RrLnZmcy4qIl0KIAotICAgICAgICBpZiBhcmdzIGFuZCBzZWxmLmlz
X2J1aWxkX3dlYmtpdChhcmdzWzBdKSBhbmQgbm90IHNlbGYuaXNfYnJhbmNoX2J1aWxkKCk6Cisg
ICAgICAgIGlmIG5vdCBnYXRoZXJfb3V0cHV0IGFuZCBhcmdzIGFuZCBzZWxmLmlzX2J1aWxkX3dl
YmtpdChhcmdzWzBdKSBhbmQgbm90IHNlbGYuaXNfYnJhbmNoX2J1aWxkKCk6CiAgICAgICAgICAg
ICAjIEVuc3VyZSBzZWxmLmJ1aWxkX3BhdGggZXhpc3RzLgogICAgICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRfcGF0aCkKQEAgLTkxOCw2ICs5Mzgs
OSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBpZiBkaXNwbGF5OgogICAgICAgICAg
ICAgZmxhdHBha19lbnZbIldFQktJVF9GTEFUUEFLX0RJU1BMQVkiXSA9IGRpc3BsYXkKIAorICAg
ICAgICBpZiBnYXRoZXJfb3V0cHV0OgorICAgICAgICAgICAgcmV0dXJuIHJ1bl9zYW5pdGl6ZWQo
ZmxhdHBha19jb21tYW5kLCBnYXRoZXJfb3V0cHV0PVRydWUsIGlnbm9yZV9zdGRlcnI9VHJ1ZSwg
ZW52PWZsYXRwYWtfZW52KQorCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBzZWxm
LmV4ZWN1dGVfY29tbWFuZChmbGF0cGFrX2NvbW1hbmQsIHN0ZG91dD1zdGRvdXQsIGVudj1mbGF0
cGFrX2Vudiwga2VlcF9zaWduYWxzPWtlZXBfc2lnbmFscykKICAgICAgICAgZXhjZXB0IEtleWJv
YXJkSW50ZXJydXB0OgpAQCAtOTU4LDE0ICs5ODEsMTggQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
IAogICAgICAgICByZXN1bHQgPSBzZWxmLnNldHVwX2Rldl9lbnYoKQogICAgICAgICBpZiByZWdl
bmVyYXRlX3Rvb2xjaGFpbnM6Ci0gICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5n
IGljZWNjIGRpc3RyaWJ1dGFibGUgdG9vbGNoYWluIGFyY2hpdmVzIikKKyAgICAgICAgICAgIENv
bnNvbGUubWVzc2FnZSgiVXBkYXRpbmcgaWNlY2Mvc2NjYWNoZSBzdGFuZGFsb25lIHRvb2xjaGFp
biBhcmNoaXZlcyIpCiAgICAgICAgICAgICBzZWxmLmljY192ZXJzaW9uID0ge30KLSAgICAgICAg
ICAgIHRvb2xjaGFpbnMgPSBzZWxmLnBhY2tfdG9vbGNoYWluKCgiZ2NjIiwgImcrKyIpLCB7Ii91
c3IvYmluL2MrKyI6ICIvdXNyL2Jpbi9nKysifSkKLSAgICAgICAgICAgIHRvb2xjaGFpbnMuZXh0
ZW5kKHNlbGYucGFja190b29sY2hhaW4oKCJjbGFuZyIsICJjbGFuZysrIiksIHsiL3Vzci9iaW4v
Y2xhbmcrKyI6ICIvdXNyL2Jpbi9jbGFuZysrIn0pKQorICAgICAgICAgICAgZ2NjX2FyY2hpdmUs
IHRvb2xjaGFpbnMgPSBzZWxmLnBhY2tfdG9vbGNoYWluKCgiZ2NjIiwgImcrKyIpLCB7Ii91c3Iv
YmluL2MrKyI6ICJnKysiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi91c3IvYmluL2NjIjogImdjYyJ9
KQorICAgICAgICAgICAgY2xhbmdfYXJjaGl2ZSwgY2xhbmdfdG9vbGNoYWluZXMgPSBzZWxmLnBh
Y2tfdG9vbGNoYWluKCgiY2xhbmciLCAiY2xhbmcrKyIpLCB7Ii91c3IvYmluL2NsYW5nKysiOiAi
Y2xhbmcrKyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL3Vzci9iaW4vY2xh
bmciOiAiY2xhbmcifSkKKyAgICAgICAgICAgIHRvb2xjaGFpbnMuZXh0ZW5kKGNsYW5nX3Rvb2xj
aGFpbmVzKQogICAgICAgICAgICAgaWYgbGVuKHRvb2xjaGFpbnMpID4gMToKICAgICAgICAgICAg
ICAgICBzZWxmLnNhdmVfY29uZmlnKHRvb2xjaGFpbnMpCisgICAgICAgICAgICAgICAgc2VsZi5w
dXJnZV91bnVzZWRfdG9vbGNoYWlucygoZ2NjX2FyY2hpdmUsIGNsYW5nX2FyY2hpdmUpKQogICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBDb25zb2xlLmVycm9yX21lc3NhZ2UoIkVy
cm9yIGdlbmVyYXRpbmcgaWNlY2MgZGlzdHJpYnV0YWJsZSB0b29sY2hhaW4gYXJjaGl2ZXMiKQor
ICAgICAgICAgICAgICAgIENvbnNvbGUuZXJyb3JfbWVzc2FnZSgiRXJyb3IgZ2VuZXJhdGluZyBp
Y2VjYy9zY2NhY2hlIHN0YW5kYWxvbmUgdG9vbGNoYWluIGFyY2hpdmVzIikKIAogICAgICAgICBy
ZXR1cm4gcmVzdWx0CiAKQEAgLTEwMDQsNiArMTAzMSwxMiBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICAgICAgdG9tbC5kdW1wKHNjY2FjaGVfY29uZmlnLCBjb25maWcpCiAgICAgICAg
ICAgICBDb25zb2xlLm1lc3NhZ2UoIkNyZWF0ZWQgJXMgc2NjYWNoZSBjb25maWcgZmlsZS4gSXQg
d2lsbCBhdXRvbWF0aWNhbGx5IGJlIHVzZWQgd2hlbiBidWlsZGluZyBXZWJLaXQiLCBzZWxmLnNj
Y2FjaGVfY29uZmlnX2ZpbGUpCiAKKyAgICBkZWYgcHVyZ2VfdW51c2VkX3Rvb2xjaGFpbnMoc2Vs
ZiwgYWxsb3dfbGlzdCk6CisgICAgICAgIGZvciBmaWxlbmFtZSBpbiBvcy5saXN0ZGlyKHNlbGYu
dG9vbGNoYWluc19kaXJlY3RvcnkpOgorICAgICAgICAgICAgaWYgZmlsZW5hbWUgbm90IGluIGFs
bG93X2xpc3Q6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmVtb3ZpbmcgdW51c2VkIHRv
b2xjaGFpbjogJXMiLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0
aC5qb2luKHNlbGYudG9vbGNoYWluc19kaXJlY3RvcnksIGZpbGVuYW1lKSkKKwogICAgIGRlZiBj
aGVja190b29sY2hhaW5zX2dlbmVyYXRlZChzZWxmKToKICAgICAgICAgZm91bmRfdG9vbGNoYWlu
cyA9IDAKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoc2VsZi5jb25maWdfZmlsZSk6CkBAIC0x
MDE2LDkgKzEwNDksMTMgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgcmV0dXJuIGZv
dW5kX3Rvb2xjaGFpbnMgPiAxCiAKICAgICBkZWYgcGFja190b29sY2hhaW4oc2VsZiwgY29tcGls
ZXJzLCBwYXRoX21hcHBpbmcpOgorICAgICAgICBjb21waWxlcl9tYXBwaW5nID0ge30KKyAgICAg
ICAgZm9yIGNvbXBpbGVyIGluIGNvbXBpbGVyczoKKyAgICAgICAgICAgIGNvbXBpbGVyX21hcHBp
bmdbY29tcGlsZXJdID0gc2VsZi5ydW5faW5fc2FuZGJveCgiL3Vzci9iaW4vd2hpY2giLCBjb21w
aWxlciwgZ2F0aGVyX291dHB1dD1UcnVlKQorCiAgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRU
ZW1wb3JhcnlGaWxlKCkgYXMgdG1wZmlsZToKICAgICAgICAgICAgIGNvbW1hbmQgPSBbJ2ljZWNj
JywgJy0tYnVpbGQtbmF0aXZlJ10KLSAgICAgICAgICAgIGNvbW1hbmQuZXh0ZW5kKFsiL3Vzci9i
aW4vJXMiICUgY29tcGlsZXIgZm9yIGNvbXBpbGVyIGluIGNvbXBpbGVyc10pCisgICAgICAgICAg
ICBjb21tYW5kLmV4dGVuZChjb21waWxlcl9tYXBwaW5nLnZhbHVlcygpKQogICAgICAgICAgICAg
cmV0Y29kZSA9IHNlbGYucnVuX2luX3NhbmRib3goKmNvbW1hbmQsIHN0ZG91dD10bXBmaWxlLCBj
d2Q9c2VsZi5zb3VyY2Vfcm9vdCwgc2tpcF9pY2M9VHJ1ZSkKICAgICAgICAgICAgIGlmIHJldGNv
ZGUgIT0gMDoKICAgICAgICAgICAgICAgICBDb25zb2xlLmVycm9yX21lc3NhZ2UoJ0ZsYXRwYWsg
Y29tbWFuZCAiJXMiIGZhaWxlZCB3aXRoIHJldHVybiBjb2RlICVzJywgIiAiLmpvaW4oY29tbWFu
ZCksIHJldGNvZGUpCkBAIC0xMDI2LDEwICsxMDYzLDggQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
ICAgICAgICAgICAgIHRtcGZpbGUuZmx1c2goKQogICAgICAgICAgICAgdG1wZmlsZS5zZWVrKDAp
CiAgICAgICAgICAgICBpY2NfdmVyc2lvbl9maWxlbmFtZSwgPSByZS5maW5kYWxsKGJyJy4qY3Jl
YXRpbmcgKC4qKScsIHRtcGZpbGUucmVhZCgpKQotICAgICAgICAgICAgdG9vbGNoYWluc19kaXJl
Y3RvcnkgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9yb290LCAiVG9vbGNoYWlucyIpCi0gICAg
ICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcih0b29sY2hhaW5zX2RpcmVjdG9yeSk6Ci0gICAg
ICAgICAgICAgICAgb3MubWFrZWRpcnModG9vbGNoYWluc19kaXJlY3RvcnkpCi0gICAgICAgICAg
ICBhcmNoaXZlX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHRvb2xjaGFpbnNfZGlyZWN0b3J5LCAi
d2Via2l0LXNkay17bmFtZX0te2ZpbGVuYW1lfSIuZm9ybWF0KG5hbWU9Y29tcGlsZXJzWzBdLCBm
aWxlbmFtZT1pY2NfdmVyc2lvbl9maWxlbmFtZS5kZWNvZGUoKSkpCisgICAgICAgICAgICByZWxh
dGl2ZV9maWxlbmFtZSA9ICJ3ZWJraXQtc2RrLXtuYW1lfS17ZmlsZW5hbWV9Ii5mb3JtYXQobmFt
ZT1jb21waWxlcnNbMF0sIGZpbGVuYW1lPWljY192ZXJzaW9uX2ZpbGVuYW1lLmRlY29kZSgpKQor
ICAgICAgICAgICAgYXJjaGl2ZV9maWxlbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLnRvb2xjaGFp
bnNfZGlyZWN0b3J5LCByZWxhdGl2ZV9maWxlbmFtZSkKICAgICAgICAgICAgIG9zLnJlbmFtZShp
Y2NfdmVyc2lvbl9maWxlbmFtZSwgYXJjaGl2ZV9maWxlbmFtZSkKICAgICAgICAgICAgIHNlbGYu
aWNjX3ZlcnNpb25bY29tcGlsZXJzWzBdXSA9IGFyY2hpdmVfZmlsZW5hbWUKICAgICAgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiQ3JlYXRlZCAlcyBzZWxmLWNvbnRhaW5lZCB0b29sY2hhaW4gYXJj
aGl2ZSIsIGFyY2hpdmVfZmlsZW5hbWUpCkBAIC0xMDM5LDkgKzEwNzQsOSBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgICAgICAgICAgICAgIGl0ZW0gPSB7J3R5cGUnOiAncGF0aF9vdmVycmlk
ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGlsZXJfZXhlY3V0YWJsZSc6IGNvbXBp
bGVyX2V4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAnYXJjaGl2ZSc6IGFyY2hp
dmVfZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAnYXJjaGl2ZV9jb21waWxlcl9l
eGVjdXRhYmxlJzogYXJjaGl2ZV9jb21waWxlcl9leGVjdXRhYmxlfQorICAgICAgICAgICAgICAg
ICAgICAgICAgJ2FyY2hpdmVfY29tcGlsZXJfZXhlY3V0YWJsZSc6IGNvbXBpbGVyX21hcHBpbmdb
YXJjaGl2ZV9jb21waWxlcl9leGVjdXRhYmxlXX0KICAgICAgICAgICAgICAgICBzY2NhY2hlX3Rv
b2xjaGFpbnMuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICByZXR1cm4gc2NjYWNoZV90b29sY2hh
aW5zCisgICAgICAgICAgICByZXR1cm4gKHJlbGF0aXZlX2ZpbGVuYW1lLCBzY2NhY2hlX3Rvb2xj
aGFpbnMpCiAKICAgICBkZWYgY2hlY2tfaW5zdGFsbGVkX3BhY2thZ2VzKHNlbGYpOgogICAgICAg
ICBmb3IgcGFja2FnZSBpbiBzZWxmLl9nZXRfcGFja2FnZXMoKToKQEAgLTEwODUsOCArMTEyMCwx
MSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzZWxmLmZsYXRodWJfcmVwbyA9IHNl
bGYucmVwb3MuYWRkKEZsYXRwYWtSZXBvKCJmbGF0aHViIiwgdXJsPSJodHRwczovL2RsLmZsYXRo
dWIub3JnL3JlcG8vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXBvX2ZpbGU9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby9mbGF0
aHViLmZsYXRwYWtyZXBvIikpCiAKLSAgICAgICAgcGFja2FnZXMuYXBwZW5kKEZsYXRwYWtQYWNr
YWdlKCJvcmcuZnJlZWRlc2t0b3AuU2RrLkV4dGVuc2lvbi5ydXN0LXN0YWJsZSIsICIyMC4wOCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYXRodWJfcmVw
bywgYXJjaCkpCisgICAgICAgIGZkb19icmFuY2ggPSAiMjAuMDgiCisgICAgICAgIGV4dGVuc2lv
bnMgPSAoInJ1c3Qtc3RhYmxlIiwgImxsdm0xMSIpCisgICAgICAgIGZvciBuYW1lIGluIGV4dGVu
c2lvbnM6CisgICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQoRmxhdHBha1BhY2thZ2UoIm9yZy5m
cmVlZGVza3RvcC5TZGsuRXh0ZW5zaW9uLiVzIiAlIG5hbWUsIGZkb19icmFuY2gsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbGF0aHViX3JlcG8sIGFy
Y2gpKQogCiAgICAgICAgIHJldHVybiBwYWNrYWdlcwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425363</attachid>
            <date>2021-04-07 01:20:20 -0700</date>
            <delta_ts>2021-04-07 02:03:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223882-20210407012018.patch</filename>
            <type>text/plain</type>
            <size>12945</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWMyZTFkMThiMzNmN2U1YzM5M2Q5NDBhNzE4NjRlYTQy
NGVjNTcyMy4uNmM0ZDY2ZTlkZjYzZGM1NDI5Y2VhYjQ1YzAwZDMzMDIwZGY1M2U1YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3
IEBACisyMDIxLTA0LTA3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbRmxhdHBhayBTREtdIEVuYWJsZSBMTFZNIGV4dGVuc2lvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzODgyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4KKworICAgICAgICBUaGUgY2xhbmcg
c2hpcHBlZCBieSBkZWZhdWx0IGluIHRoZSBGRE8gU0RLIGlzIG5vdCB1c2FibGUgZm9yIEFTYW4s
IFVCU2FuIChhbmQgSSBndWVzcyBUU2FuKQorICAgICAgICBidWlsZHMsIGJ1dCB0aGUgRmxhdHBh
ayBleHRlbnNpb24gc2hpcHBpbmcgTExWTTExIGFsbG93cyB0aGlzLCBldmVuIHRob3VnaCBVQlNh
biBidWlsZHMKKyAgICAgICAgc3RpbGwgZmFpbCAobGlua2luZyBlcnJvcnMgaW4gSlNDIGFuZCBX
VEYpIGFuZCB3aWxsIHJlcXVpcmUgZnVydGhlciBpbnZlc3RpZ2F0aW9uLiBTdGlsbCwKKyAgICAg
ICAgaGF2aW5nIGNsYW5nLTExIGluIHRoZSBTREsgaXMgYW4gaW1wcm92ZW1lbnQuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhbHNvIGFkZHMgc3VwcG9ydCBmb3IgY2xlYW5pbmcgdXAgdW51c2VkIHRv
b2xjaGFpbiBhcmNoaXZlcy4KKworICAgICAgICAqIGZsYXRwYWsvZmxhdHBha3V0aWxzLnB5Ogor
ICAgICAgICAocnVuX3Nhbml0aXplZCk6CisgICAgICAgIChXZWJraXRGbGF0cGFrLmxvYWRfZnJv
bV9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuY2xlYW5fYXJncyk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLnJ1bl9pbl9zYW5kYm94KToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsubWFp
bik6CisgICAgICAgIChXZWJraXRGbGF0cGFrLnB1cmdlX3VudXNlZF90b29sY2hhaW5zKToKKyAg
ICAgICAgKFdlYmtpdEZsYXRwYWsucGFja190b29sY2hhaW4pOgorICAgICAgICAoV2Via2l0Rmxh
dHBhay5fZ2V0X3BhY2thZ2VzKToKKwogMjAyMS0wNC0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gU2ltcGxpZnkgRGlz
cGxheUxpc3Q6Okl0ZXJhdG9yIHBhcnQgNTogVHdlYWsgdGhlIHJldHVybiB0eXBlIG9mIERpc3Bs
YXlMaXN0OjpJdGVyYXRvcjo6b3BlcmF0b3IqKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZsYXRwYWsv
ZmxhdHBha3V0aWxzLnB5IGIvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkKaW5kZXggMDVi
ZDdmMWFkMWMwYWRjZjlkNTY3NTljZmEyZGM5NDUzZmQzZWFkOC4uYTBlN2VjYjBkNmVjNWQxNjU4
NTMwNWFiODk3YjhiN2ZhNzZjMjFjOSAxMDA2NDQKLS0tIGEvVG9vbHMvZmxhdHBhay9mbGF0cGFr
dXRpbHMucHkKKysrIGIvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkKQEAgLTEyNCwxNyAr
MTI0LDIyIEBAIGNsYXNzIENvbnNvbGU6CiAgICAgICAgIGNscy5jb2xvcmVkX21lc3NhZ2VfaWZf
c3VwcG9ydGVkKENvbG9ycy5XQVJOSU5HLCBzdHJfZm9ybWF0LCAqYXJncykKIAogCi1kZWYgcnVu
X3Nhbml0aXplZChjb21tYW5kLCBnYXRoZXJfb3V0cHV0PUZhbHNlLCBpZ25vcmVfc3RkZXJyPUZh
bHNlKToKK2RlZiBydW5fc2FuaXRpemVkKGNvbW1hbmQsIGdhdGhlcl9vdXRwdXQ9RmFsc2UsIGln
bm9yZV9zdGRlcnI9RmFsc2UsIGVudj1Ob25lKToKICAgICAiIiIgUnVucyBhIGNvbW1hbmQgaW4g
YSBzYW50aXplZCBlbnZpcm9ubWVudCBhbmQgb3B0aW9uYWxseSByZXR1cm5zIGRlY29kZWQgb3V0
cHV0IG9yIHJhaXNlcwogICAgICAgICBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcgogICAg
ICIiIgorICAgIGlmIGVudjoKKyAgICAgICAgc2FuaXRpemVkX2VudiA9IGVudi5jb3B5KCkKKyAg
ICBlbHNlOgorICAgICAgICBzYW5pdGl6ZWRfZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKwogICAg
ICMgV2UgbmVlZCBjbGVhbiBvdXRwdXQgZnJlZSBvZiBkZWJ1ZyBtZXNzYWdlcwotICAgIHNhbml0
aXplZF9lbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgIHRyeToKICAgICAgICAgZGVsIHNhbml0
aXplZF9lbnZbIkdfTUVTU0FHRVNfREVCVUciXQogICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAg
ICAgcGFzcwogCisgICAgX2xvZy5kZWJ1ZygiUnVubmluZyAlcyIsICIgIi5qb2luKGNvbW1hbmQp
KQogICAgIGtleXdvcmRzID0gZGljdChlbnY9c2FuaXRpemVkX2VudikKICAgICBpZiBnYXRoZXJf
b3V0cHV0OgogICAgICAgICBpZiBpZ25vcmVfc3RkZXJyOgpAQCAtMTQyLDcgKzE0Nyw3IEBAIGRl
ZiBydW5fc2FuaXRpemVkKGNvbW1hbmQsIGdhdGhlcl9vdXRwdXQ9RmFsc2UsIGlnbm9yZV9zdGRl
cnI9RmFsc2UpOgogICAgICAgICAgICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0
cHV0KGNvbW1hbmQsIHN0ZGVycj1kZXZudWxsLCAqKmtleXdvcmRzKQogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY29tbWFuZCwgKipr
ZXl3b3JkcykKLSAgICAgICAgcmV0dXJuIG91dHB1dC5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAg
cmV0dXJuIG91dHB1dC5zdHJpcCgpLmRlY29kZSgndXRmLTgnKQogICAgIGVsc2U6CiAgICAgICAg
IGtleXdvcmRzWyJzdGRvdXQiXSA9IHN5cy5zdGRvdXQKICAgICAgICAgcmV0dXJuIHN1YnByb2Nl
c3MuY2hlY2tfY2FsbChjb21tYW5kLCAqKmtleXdvcmRzKQpAQCAtNDUwLDcgKzQ1NSw3IEBAIGNs
YXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIGRpc3RyaWJ1dGVkX2J1aWxkX29wdGlvbnMgPSBw
YXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJEaXN0cmlidXRlZCBidWlsZGluZyIpCiAgICAgICAg
IGRpc3RyaWJ1dGVkX2J1aWxkX29wdGlvbnMuYWRkX2FyZ3VtZW50KCItLXVzZS1pY2VjcmVhbSIs
IGRlc3Q9InVzZV9pY2VjcmVhbSIsIGhlbHA9IlVzZSB0aGUgZGlzdHJpYnV0ZWQgaWNlY3JlYW0g
KGljZWNjKSBjb21waWxlci4iLCBhY3Rpb249InN0b3JlX3RydWUiKQogICAgICAgICBkaXN0cmli
dXRlZF9idWlsZF9vcHRpb25zLmFkZF9hcmd1bWVudCgiLXIiLCAiLS1yZWdlbmVyYXRlLXRvb2xj
aGFpbnMiLCBkZXN0PSJyZWdlbmVyYXRlX3Rvb2xjaGFpbnMiLCBhY3Rpb249InN0b3JlX3RydWUi
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJS
ZWdlbmVyYXRlIEljZUNDIGRpc3RyaWJ1dGFibGUgdG9vbGNoYWluIGFyY2hpdmVzIikKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iUmVnZW5lcmF0
ZSBJY2VDQy9TQ0NhY2hlIHN0YW5kYWxvbmUgdG9vbGNoYWluIGFyY2hpdmVzIikKICAgICAgICAg
ZGlzdHJpYnV0ZWRfYnVpbGRfb3B0aW9ucy5hZGRfYXJndW1lbnQoIi10IiwgIi0tc2NjYWNoZS10
b2tlbiIsIGRlc3Q9InNjY2FjaGVfdG9rZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSJzY2NhY2hlIGF1dGhlbnRpY2F0aW9uIHRva2VuIikK
ICAgICAgICAgZGlzdHJpYnV0ZWRfYnVpbGRfb3B0aW9ucy5hZGRfYXJndW1lbnQoIi1zIiwgIi0t
c2NjYWNoZS1zY2hlZHVsZXIiLCBkZXN0PSJzY2NhY2hlX3NjaGVkdWxlciIsCkBAIC01NjksNiAr
NTc0LDEwIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIHNlbGYuY29uZmlnX2ZpbGUg
PSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICd3ZWJraXRfZmxhdHBha19j
b25maWcuanNvbicpCiAgICAgICAgIHNlbGYuc2NjYWNoZV9jb25maWdfZmlsZSA9IG9zLnBhdGgu
am9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3NjY2FjaGUudG9tbCcpCiAKKyAgICAgICAg
c2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3Jvb3Qs
ICJUb29sY2hhaW5zIikKKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc2VsZi50b29sY2hh
aW5zX2RpcmVjdG9yeSk6CisgICAgICAgICAgICBvcy5tYWtlZGlycyhzZWxmLnRvb2xjaGFpbnNf
ZGlyZWN0b3J5KQorCiAgICAgICAgIENvbnNvbGUucXVpZXQgPSBzZWxmLnF1aWV0CiAgICAgICAg
IHNlbGYuZmxhdHBha192ZXJzaW9uID0gY2hlY2tfZmxhdHBhaygpCiAgICAgICAgIGlmIG5vdCBz
ZWxmLmZsYXRwYWtfdmVyc2lvbjoKQEAgLTY3Nyw2ICs2ODYsOSBAQCBjbGFzcyBXZWJraXRGbGF0
cGFrOgogICAgIGRlZiBpc19idWlsZF93ZWJraXQoc2VsZiwgY29tbWFuZCk6CiAgICAgICAgIHJl
dHVybiBjb21tYW5kIGFuZCAiYnVpbGQtd2Via2l0IiBpbiBvcy5wYXRoLmJhc2VuYW1lKGNvbW1h
bmQpCiAKKyAgICBkZWYgaXNfYnVpbGRfanNjKHNlbGYsIGNvbW1hbmQpOgorICAgICAgICByZXR1
cm4gY29tbWFuZCBhbmQgImJ1aWxkLWpzYyIgaW4gb3MucGF0aC5iYXNlbmFtZShjb21tYW5kKQor
CiAgICAgZGVmIGhvc3RfcGF0aF90b19zYW5kYm94X3BhdGgoc2VsZiwgaG9zdF9wYXRoKToKICAg
ICAgICAgIyBGb3Igbm93IHRoaXMgc3VwcG9ydHMgb25seSBmaWxlcyBpbiB0aGUgV2ViS2l0IHBh
dGgKICAgICAgICAgcmV0dXJuIGhvc3RfcGF0aC5yZXBsYWNlKHNlbGYuc291cmNlX3Jvb3QsIHNl
bGYuc2FuZGJveF9zb3VyY2Vfcm9vdCkKQEAgLTY5MSw2ICs3MDMsMTIgQEAgY2xhc3MgV2Via2l0
RmxhdHBhazoKICAgICAgICAgc3RhcnRfc2NjYWNoZSA9IGt3YXJncy5nZXQoInN0YXJ0X3NjY2Fj
aGUiLCBUcnVlKQogICAgICAgICBza2lwX2ljYyA9IGt3YXJncy5nZXQoInNraXBfaWNjIiwgRmFs
c2UpCiAgICAgICAgIGJ1aWxkaW5nX2dzdCA9IGt3YXJncy5nZXQoImJ1aWxkaW5nX2dzdCIsIEZh
bHNlKQorICAgICAgICBnYXRoZXJfb3V0cHV0ID0ga3dhcmdzLmdldCgiZ2F0aGVyX291dHB1dCIs
IEZhbHNlKQorCisgICAgICAgIGlmIGdhdGhlcl9vdXRwdXQ6CisgICAgICAgICAgICBzdGFydF9z
Y2NhY2hlID0gRmFsc2UKKyAgICAgICAgICAgIHNraXBfaWNjID0gVHJ1ZQorICAgICAgICAgICAg
YnVpbGRpbmdfZ3N0ID0gRmFsc2UKIAogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBs
aXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCkBAIC02OTgsMTQgKzcxNiwxNiBA
QCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBzYW5kYm94X2J1aWxkX3BhdGggPSBvcy5w
YXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCBzZWxmLmJ1
aWxkX3R5cGUpCiAgICAgICAgIHNhbmRib3hfZW52aXJvbm1lbnQgPSB7CiAgICAgICAgICAgICAi
VEVTVF9SVU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRi
b3hfYnVpbGRfcGF0aCwgImxpYi9saWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKLSAg
ICAgICAgICAgICJQQVRIIjogIi91c3IvYmluOi91c3IvbGliL3Nkay9ydXN0LXN0YWJsZS9iaW4v
IiwKKyAgICAgICAgICAgICJQQVRIIjogIi91c3IvbGliL3Nkay9sbHZtMTEvYmluOi91c3IvYmlu
Oi91c3IvbGliL3Nkay9ydXN0LXN0YWJsZS9iaW4vIiwKICAgICAgICAgfQogCiAgICAgICAgIGlm
IG5vdCBhcmdzOgogICAgICAgICAgICAgYXJncy5hcHBlbmQoImJhc2giKQogCiAgICAgICAgIGlm
IGFyZ3M6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhhcmdzWzBdKToKKyAgICAgICAg
ICAgIGlmIGdhdGhlcl9vdXRwdXQ6CisgICAgICAgICAgICAgICAgY29tbWFuZCA9IGFyZ3NbMF0K
KyAgICAgICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoYXJnc1swXSk6CiAgICAgICAgICAgICAg
ICAgY29tbWFuZCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5hYnNwYXRoKGFyZ3NbMF0pKQog
ICAgICAgICAgICAgICAgICMgVGFrZSBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCB0aGUgd2Vi
a2l0IHNvdXJjZSBkaXIgaXMgcmVtb3VudGVkIGluc2lkZSB0aGUgc2FuZGJveC4KICAgICAgICAg
ICAgICAgICBhcmdzWzBdID0gY29tbWFuZC5yZXBsYWNlKHNlbGYuc291cmNlX3Jvb3QsIHNlbGYu
c2FuZGJveF9zb3VyY2Vfcm9vdCkKQEAgLTcxMyw3ICs3MzMsMTAgQEAgY2xhc3MgV2Via2l0Rmxh
dHBhazoKICAgICAgICAgICAgIGlmIGFyZ3NbMF0gPT0gImJhc2giOgogICAgICAgICAgICAgICAg
IGFyZ3MuZXh0ZW5kKFsnLS1ub3Byb2ZpbGUnLCAnLS1ub3JjJywgJy1pJ10pCiAgICAgICAgICAg
ICAgICAgc2FuZGJveF9lbnZpcm9ubWVudFsiUFMxIl0gPSAiW/Cfk6bwn4yQ8J+QsSAkRkxBVFBB
S19JRCBcXFddXFwkICIKLSAgICAgICAgICAgIGJ1aWxkaW5nID0gb3MucGF0aC5iYXNlbmFtZShh
cmdzWzBdKS5zdGFydHN3aXRoKCJidWlsZCIpCisgICAgICAgICAgICBpZiBnYXRoZXJfb3V0cHV0
OgorICAgICAgICAgICAgICAgIGJ1aWxkaW5nID0gRmFsc2UKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgYnVpbGRpbmcgPSBzZWxmLmlzX2J1aWxkX2pzYyhhcmdzWzBdKSBvciBz
ZWxmLmlzX2J1aWxkX3dlYmtpdChhcmdzWzBdKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
YnVpbGRpbmcgPSBGYWxzZQogCkBAIC03MjYsNyArNzQ5LDcgQEAgY2xhc3MgV2Via2l0RmxhdHBh
azoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXRhbGstbmFtZT1vcmcuZ3RrLnZmcyIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWxrLW5hbWU9b3JnLmd0ay52ZnMuKiJd
CiAKLSAgICAgICAgaWYgYXJncyBhbmQgc2VsZi5pc19idWlsZF93ZWJraXQoYXJnc1swXSkgYW5k
IG5vdCBzZWxmLmlzX2JyYW5jaF9idWlsZCgpOgorICAgICAgICBpZiBub3QgZ2F0aGVyX291dHB1
dCBhbmQgYXJncyBhbmQgc2VsZi5pc19idWlsZF93ZWJraXQoYXJnc1swXSkgYW5kIG5vdCBzZWxm
LmlzX2JyYW5jaF9idWlsZCgpOgogICAgICAgICAgICAgIyBFbnN1cmUgc2VsZi5idWlsZF9wYXRo
IGV4aXN0cy4KICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhz
ZWxmLmJ1aWxkX3BhdGgpCkBAIC05MTgsNiArOTQxLDkgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
ICAgICAgICAgaWYgZGlzcGxheToKICAgICAgICAgICAgIGZsYXRwYWtfZW52WyJXRUJLSVRfRkxB
VFBBS19ESVNQTEFZIl0gPSBkaXNwbGF5CiAKKyAgICAgICAgaWYgZ2F0aGVyX291dHB1dDoKKyAg
ICAgICAgICAgIHJldHVybiBydW5fc2FuaXRpemVkKGZsYXRwYWtfY29tbWFuZCwgZ2F0aGVyX291
dHB1dD1UcnVlLCBpZ25vcmVfc3RkZXJyPVRydWUsIGVudj1mbGF0cGFrX2VudikKKwogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRlX2NvbW1hbmQoZmxhdHBha19j
b21tYW5kLCBzdGRvdXQ9c3Rkb3V0LCBlbnY9ZmxhdHBha19lbnYsIGtlZXBfc2lnbmFscz1rZWVw
X3NpZ25hbHMpCiAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKQEAgLTk1OCwxNCAr
OTg0LDE4IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmVzdWx0ID0gc2VsZi5z
ZXR1cF9kZXZfZW52KCkKICAgICAgICAgaWYgcmVnZW5lcmF0ZV90b29sY2hhaW5zOgotICAgICAg
ICAgICAgQ29uc29sZS5tZXNzYWdlKCJVcGRhdGluZyBpY2VjYyBkaXN0cmlidXRhYmxlIHRvb2xj
aGFpbiBhcmNoaXZlcyIpCisgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIGlj
ZWNjL3NjY2FjaGUgc3RhbmRhbG9uZSB0b29sY2hhaW4gYXJjaGl2ZXMiKQogICAgICAgICAgICAg
c2VsZi5pY2NfdmVyc2lvbiA9IHt9Ci0gICAgICAgICAgICB0b29sY2hhaW5zID0gc2VsZi5wYWNr
X3Rvb2xjaGFpbigoImdjYyIsICJnKysiKSwgeyIvdXNyL2Jpbi9jKysiOiAiL3Vzci9iaW4vZysr
In0pCi0gICAgICAgICAgICB0b29sY2hhaW5zLmV4dGVuZChzZWxmLnBhY2tfdG9vbGNoYWluKCgi
Y2xhbmciLCAiY2xhbmcrKyIpLCB7Ii91c3IvYmluL2NsYW5nKysiOiAiL3Vzci9iaW4vY2xhbmcr
KyJ9KSkKKyAgICAgICAgICAgIGdjY19hcmNoaXZlLCB0b29sY2hhaW5zID0gc2VsZi5wYWNrX3Rv
b2xjaGFpbigoImdjYyIsICJnKysiKSwgeyIvdXNyL2Jpbi9jKysiOiAiZysrIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIvdXNyL2Jpbi9jYyI6ICJnY2MifSkKKyAgICAgICAgICAgIGNsYW5nX2FyY2hp
dmUsIGNsYW5nX3Rvb2xjaGFpbnMgPSBzZWxmLnBhY2tfdG9vbGNoYWluKCgiY2xhbmciLCAiY2xh
bmcrKyIpLCB7Ii91c3IvYmluL2NsYW5nKysiOiAiY2xhbmcrKyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiL3Vzci9iaW4vY2xhbmciOiAiY2xhbmcifSkKKyAgICAgICAgICAg
IHRvb2xjaGFpbnMuZXh0ZW5kKGNsYW5nX3Rvb2xjaGFpbnMpCiAgICAgICAgICAgICBpZiBsZW4o
dG9vbGNoYWlucykgPiAxOgogICAgICAgICAgICAgICAgIHNlbGYuc2F2ZV9jb25maWcodG9vbGNo
YWlucykKKyAgICAgICAgICAgICAgICBzZWxmLnB1cmdlX3VudXNlZF90b29sY2hhaW5zKChnY2Nf
YXJjaGl2ZSwgY2xhbmdfYXJjaGl2ZSkpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ICAgIENvbnNvbGUuZXJyb3JfbWVzc2FnZSgiRXJyb3IgZ2VuZXJhdGluZyBpY2VjYyBkaXN0cmli
dXRhYmxlIHRvb2xjaGFpbiBhcmNoaXZlcyIpCisgICAgICAgICAgICAgICAgQ29uc29sZS5lcnJv
cl9tZXNzYWdlKCJFcnJvciBnZW5lcmF0aW5nIGljZWNjL3NjY2FjaGUgc3RhbmRhbG9uZSB0b29s
Y2hhaW4gYXJjaGl2ZXMiKQogCiAgICAgICAgIHJldHVybiByZXN1bHQKIApAQCAtMTAwNCw2ICsx
MDM0LDEyIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICB0b21sLmR1bXAoc2Nj
YWNoZV9jb25maWcsIGNvbmZpZykKICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiQ3JlYXRl
ZCAlcyBzY2NhY2hlIGNvbmZpZyBmaWxlLiBJdCB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgdXNlZCB3
aGVuIGJ1aWxkaW5nIFdlYktpdCIsIHNlbGYuc2NjYWNoZV9jb25maWdfZmlsZSkKIAorICAgIGRl
ZiBwdXJnZV91bnVzZWRfdG9vbGNoYWlucyhzZWxmLCBhbGxvd19saXN0KToKKyAgICAgICAgZm9y
IGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSk6CisgICAg
ICAgICAgICBpZiBmaWxlbmFtZSBub3QgaW4gYWxsb3dfbGlzdDoKKyAgICAgICAgICAgICAgICBf
bG9nLmRlYnVnKCJSZW1vdmluZyB1bnVzZWQgdG9vbGNoYWluOiAlcyIsIGZpbGVuYW1lKQorICAg
ICAgICAgICAgICAgIG9zLnJlbW92ZShvcy5wYXRoLmpvaW4oc2VsZi50b29sY2hhaW5zX2RpcmVj
dG9yeSwgZmlsZW5hbWUpKQorCiAgICAgZGVmIGNoZWNrX3Rvb2xjaGFpbnNfZ2VuZXJhdGVkKHNl
bGYpOgogICAgICAgICBmb3VuZF90b29sY2hhaW5zID0gMAogICAgICAgICBpZiBvcy5wYXRoLmlz
ZmlsZShzZWxmLmNvbmZpZ19maWxlKToKQEAgLTEwMTYsOSArMTA1MiwxMyBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgICAgICByZXR1cm4gZm91bmRfdG9vbGNoYWlucyA+IDEKIAogICAgIGRl
ZiBwYWNrX3Rvb2xjaGFpbihzZWxmLCBjb21waWxlcnMsIHBhdGhfbWFwcGluZyk6CisgICAgICAg
IGNvbXBpbGVyX21hcHBpbmcgPSB7fQorICAgICAgICBmb3IgY29tcGlsZXIgaW4gY29tcGlsZXJz
OgorICAgICAgICAgICAgY29tcGlsZXJfbWFwcGluZ1tjb21waWxlcl0gPSBzZWxmLnJ1bl9pbl9z
YW5kYm94KCIvdXNyL2Jpbi93aGljaCIsIGNvbXBpbGVyLCBnYXRoZXJfb3V0cHV0PVRydWUpCisK
ICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0bXBmaWxlOgog
ICAgICAgICAgICAgY29tbWFuZCA9IFsnaWNlY2MnLCAnLS1idWlsZC1uYXRpdmUnXQotICAgICAg
ICAgICAgY29tbWFuZC5leHRlbmQoWyIvdXNyL2Jpbi8lcyIgJSBjb21waWxlciBmb3IgY29tcGls
ZXIgaW4gY29tcGlsZXJzXSkKKyAgICAgICAgICAgIGNvbW1hbmQuZXh0ZW5kKGNvbXBpbGVyX21h
cHBpbmcudmFsdWVzKCkpCiAgICAgICAgICAgICByZXRjb2RlID0gc2VsZi5ydW5faW5fc2FuZGJv
eCgqY29tbWFuZCwgc3Rkb3V0PXRtcGZpbGUsIGN3ZD1zZWxmLnNvdXJjZV9yb290LCBza2lwX2lj
Yz1UcnVlKQogICAgICAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgogICAgICAgICAgICAgICAgIENv
bnNvbGUuZXJyb3JfbWVzc2FnZSgnRmxhdHBhayBjb21tYW5kICIlcyIgZmFpbGVkIHdpdGggcmV0
dXJuIGNvZGUgJXMnLCAiICIuam9pbihjb21tYW5kKSwgcmV0Y29kZSkKQEAgLTEwMjYsMTAgKzEw
NjYsOCBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICAgICAgdG1wZmlsZS5mbHVzaCgp
CiAgICAgICAgICAgICB0bXBmaWxlLnNlZWsoMCkKICAgICAgICAgICAgIGljY192ZXJzaW9uX2Zp
bGVuYW1lLCA9IHJlLmZpbmRhbGwoYnInLipjcmVhdGluZyAoLiopJywgdG1wZmlsZS5yZWFkKCkp
Ci0gICAgICAgICAgICB0b29sY2hhaW5zX2RpcmVjdG9yeSA9IG9zLnBhdGguam9pbihzZWxmLmJ1
aWxkX3Jvb3QsICJUb29sY2hhaW5zIikKLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGly
KHRvb2xjaGFpbnNfZGlyZWN0b3J5KToKLSAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyh0b29s
Y2hhaW5zX2RpcmVjdG9yeSkKLSAgICAgICAgICAgIGFyY2hpdmVfZmlsZW5hbWUgPSBvcy5wYXRo
LmpvaW4odG9vbGNoYWluc19kaXJlY3RvcnksICJ3ZWJraXQtc2RrLXtuYW1lfS17ZmlsZW5hbWV9
Ii5mb3JtYXQobmFtZT1jb21waWxlcnNbMF0sIGZpbGVuYW1lPWljY192ZXJzaW9uX2ZpbGVuYW1l
LmRlY29kZSgpKSkKKyAgICAgICAgICAgIHJlbGF0aXZlX2ZpbGVuYW1lID0gIndlYmtpdC1zZGst
e25hbWV9LXtmaWxlbmFtZX0iLmZvcm1hdChuYW1lPWNvbXBpbGVyc1swXSwgZmlsZW5hbWU9aWNj
X3ZlcnNpb25fZmlsZW5hbWUuZGVjb2RlKCkpCisgICAgICAgICAgICBhcmNoaXZlX2ZpbGVuYW1l
ID0gb3MucGF0aC5qb2luKHNlbGYudG9vbGNoYWluc19kaXJlY3RvcnksIHJlbGF0aXZlX2ZpbGVu
YW1lKQogICAgICAgICAgICAgb3MucmVuYW1lKGljY192ZXJzaW9uX2ZpbGVuYW1lLCBhcmNoaXZl
X2ZpbGVuYW1lKQogICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbltjb21waWxlcnNbMF1dID0g
YXJjaGl2ZV9maWxlbmFtZQogICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJDcmVhdGVkICVz
IHNlbGYtY29udGFpbmVkIHRvb2xjaGFpbiBhcmNoaXZlIiwgYXJjaGl2ZV9maWxlbmFtZSkKQEAg
LTEwMzksOSArMTA3Nyw5IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAg
aXRlbSA9IHsndHlwZSc6ICdwYXRoX292ZXJyaWRlJywKICAgICAgICAgICAgICAgICAgICAgICAg
ICdjb21waWxlcl9leGVjdXRhYmxlJzogY29tcGlsZXJfZXhlY3V0YWJsZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICdhcmNoaXZlJzogYXJjaGl2ZV9maWxlbmFtZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICdhcmNoaXZlX2NvbXBpbGVyX2V4ZWN1dGFibGUnOiBhcmNoaXZlX2NvbXBpbGVy
X2V4ZWN1dGFibGV9CisgICAgICAgICAgICAgICAgICAgICAgICAnYXJjaGl2ZV9jb21waWxlcl9l
eGVjdXRhYmxlJzogY29tcGlsZXJfbWFwcGluZ1thcmNoaXZlX2NvbXBpbGVyX2V4ZWN1dGFibGVd
fQogICAgICAgICAgICAgICAgIHNjY2FjaGVfdG9vbGNoYWlucy5hcHBlbmQoaXRlbSkKLSAgICAg
ICAgICAgIHJldHVybiBzY2NhY2hlX3Rvb2xjaGFpbnMKKyAgICAgICAgICAgIHJldHVybiAocmVs
YXRpdmVfZmlsZW5hbWUsIHNjY2FjaGVfdG9vbGNoYWlucykKIAogICAgIGRlZiBjaGVja19pbnN0
YWxsZWRfcGFja2FnZXMoc2VsZik6CiAgICAgICAgIGZvciBwYWNrYWdlIGluIHNlbGYuX2dldF9w
YWNrYWdlcygpOgpAQCAtMTA4NSw4ICsxMTIzLDExIEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAg
ICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvID0gc2VsZi5yZXBvcy5hZGQoRmxhdHBha1JlcG8oImZs
YXRodWIiLCB1cmw9Imh0dHBzOi8vZGwuZmxhdGh1Yi5vcmcvcmVwby8iLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9fZmlsZT0iaHR0
cHM6Ly9kbC5mbGF0aHViLm9yZy9yZXBvL2ZsYXRodWIuZmxhdHBha3JlcG8iKSkKIAotICAgICAg
ICBwYWNrYWdlcy5hcHBlbmQoRmxhdHBha1BhY2thZ2UoIm9yZy5mcmVlZGVza3RvcC5TZGsuRXh0
ZW5zaW9uLnJ1c3Qtc3RhYmxlIiwgIjIwLjA4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuZmxhdGh1Yl9yZXBvLCBhcmNoKSkKKyAgICAgICAgZmRvX2JyYW5j
aCA9ICIyMC4wOCIKKyAgICAgICAgZXh0ZW5zaW9ucyA9ICgicnVzdC1zdGFibGUiLCAibGx2bTEx
IikKKyAgICAgICAgZm9yIG5hbWUgaW4gZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIHBhY2thZ2Vz
LmFwcGVuZChGbGF0cGFrUGFja2FnZSgib3JnLmZyZWVkZXNrdG9wLlNkay5FeHRlbnNpb24uJXMi
ICUgbmFtZSwgZmRvX2JyYW5jaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWxmLmZsYXRodWJfcmVwbywgYXJjaCkpCiAKICAgICAgICAgcmV0dXJuIHBhY2th
Z2VzCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>