<?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>223727</bug_id>
          
          <creation_ts>2021-03-24 20:27:55 -0700</creation_ts>
          <short_desc>run-minibrowser is slow</short_desc>
          <delta_ts>2021-03-29 19:42:44 -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 Local 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="Cameron McCormack (:heycam)">heycam</reporter>
          <assigned_to name="Cameron McCormack (:heycam)">heycam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743657</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-24 20:27:55 -0700</bug_when>
    <thetext>On my machine, run-minibrowser takes 2s to do its preparatory work before the MiniBrowser binary is launched.  (I measured this just with `time run-minibrowser --help`.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743658</commentid>
    <comment_count>1</comment_count>
      <attachid>424213</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-24 20:35:26 -0700</bug_when>
    <thetext>Created attachment 424213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743659</commentid>
    <comment_count>2</comment_count>
      <attachid>424214</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-24 20:37:49 -0700</bug_when>
    <thetext>Created attachment 424214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743660</commentid>
    <comment_count>3</comment_count>
      <attachid>424214</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-24 20:43:47 -0700</bug_when>
    <thetext>Comment on attachment 424214
Patch

Something went wrong for non macOS builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743668</commentid>
    <comment_count>4</comment_count>
      <attachid>424217</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-24 21:49:22 -0700</bug_when>
    <thetext>Created attachment 424217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743882</commentid>
    <comment_count>5</comment_count>
      <attachid>424217</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-25 13:09:47 -0700</bug_when>
    <thetext>Comment on attachment 424217
Patch

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

&gt; Tools/ChangeLog:19
&gt; +        run-minibrowser needs to know what port it&apos;s running on, since that
&gt; +        affects the build directory to look in to find the MiniBrowser binary.
&gt; +        On macOS, webkitdirs.pm&apos;s determinePortName ends up running
&gt; +        `xcodebuild -showsdks` to see if the current SDK has an internal
&gt; +        variant available, but this is slow.  But we don&apos;t need to know the
&gt; +        exact SDK name here, just the SDK platform name, to determine the
&gt; +        port name.
&gt; +
&gt; +        So we shuffle some code around to avoid calling `xcodebuild -showsdks`
&gt; +        where we can.  This reduces the time spent in run-minibrowser before
&gt; +        MiniBrowser is launched (crudely measured with `time run-minibrowser
&gt; +        --help`) from 2s to 0.6s on this machine.

Very nice!

Can we avoid ever calling `xcodebuild -showsdks`, and just call `xcrun --show-sdk-path` for current SDK determination instead? That should be really fast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743885</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-25 13:13:41 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #5)
&gt; Comment on attachment 424217 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424217&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:19
&gt; &gt; +        run-minibrowser needs to know what port it&apos;s running on, since that
&gt; &gt; +        affects the build directory to look in to find the MiniBrowser binary.
&gt; &gt; +        On macOS, webkitdirs.pm&apos;s determinePortName ends up running
&gt; &gt; +        `xcodebuild -showsdks` to see if the current SDK has an internal
&gt; &gt; +        variant available, but this is slow.  But we don&apos;t need to know the
&gt; &gt; +        exact SDK name here, just the SDK platform name, to determine the
&gt; &gt; +        port name.
&gt; &gt; +
&gt; &gt; +        So we shuffle some code around to avoid calling `xcodebuild -showsdks`
&gt; &gt; +        where we can.  This reduces the time spent in run-minibrowser before
&gt; &gt; +        MiniBrowser is launched (crudely measured with `time run-minibrowser
&gt; &gt; +        --help`) from 2s to 0.6s on this machine.
&gt; 
&gt; Very nice!
&gt; 
&gt; Can we avoid ever calling `xcodebuild -showsdks`, and just call `xcrun
&gt; --show-sdk-path` for current SDK determination instead? That should be
&gt; really fast.

Actually, ignore this, I see it want&apos;s to figure out if an internal SDK installed, and that won&apos;t do it on its own.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743908</commentid>
    <comment_count>7</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-25 13:57:43 -0700</bug_when>
    <thetext>I have a feeling we can do our own grovelling around the currently selected Xcode&apos;s directories to find the SDKs ourselves.  That at least contains all the SDKs on my system that show up in `xcodebuild -showsdks`.  But I&apos;m not confident there aren&apos;t other locations that might be searched too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744080</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-25 23:57:41 -0700</bug_when>
    <thetext>Committed r275081: &lt;https://commits.webkit.org/r275081&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424217.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744081</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-25 23:58:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/75874999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744242</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-03-26 11:11:51 -0700</bug_when>
    <thetext>Reverted r275081 for reason:

Broke Apple Internal builds

Committed r275105 (235813@main): &lt;https://commits.webkit.org/235813@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744979</commentid>
    <comment_count>11</comment_count>
      <attachid>424600</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-03-29 16:27:21 -0700</bug_when>
    <thetext>Created attachment 424600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745015</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-29 19:42:42 -0700</bug_when>
    <thetext>Committed r275196: &lt;https://commits.webkit.org/r275196&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424600.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424213</attachid>
            <date>2021-03-24 20:35:26 -0700</date>
            <delta_ts>2021-03-24 20:50:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223727-20210325143524.patch</filename>
            <type>text/plain</type>
            <size>9717</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDM1YzRjZjRhZmJlMzEzZTBhMDdjY2M0N2M2NTMyYTVl
OWIzNmQ4Ny4uZTkyOTgyMmM2NTcyZjBiMGZjNDVhNjdmY2NhNzE0ZWRiZjBlNjMwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTAzLTI0ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQXZvaWQgY2FsbGluZyBgeGNvZGVidWlsZCAtc2hvd3Nka3NgIHdoZXJlIHBvc3Np
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcnVu
LW1pbmlicm93c2VyIG5lZWRzIHRvIGtub3cgd2hhdCBwb3J0IGl0J3MgcnVubmluZyBvbiwgc2lu
Y2UgdGhhdAorICAgICAgICBhZmZlY3RzIHRoZSBidWlsZCBkaXJlY3RvcnkgdG8gbG9vayBpbiB0
byBmaW5kIHRoZSBNaW5pQnJvd3NlciBiaW5hcnkuCisgICAgICAgIE9uIG1hY09TLCB3ZWJraXRk
aXJzLnBtJ3MgZGV0ZXJtaW5lUG9ydE5hbWUgZW5kcyB1cCBydW5uaW5nCisgICAgICAgIGB4Y29k
ZWJ1aWxkIC1zaG93c2Rrc2AgdG8gc2VlIGlmIHRoZSBjdXJyZW50IFNESyBoYXMgYW4gaW50ZXJu
YWwKKyAgICAgICAgdmFyaWFudCBhdmFpbGFibGUsIGJ1dCB0aGlzIGlzIHNsb3cuICBCdXQgd2Ug
ZG9uJ3QgbmVlZCB0byBrbm93IHRoZQorICAgICAgICBleGFjdCBTREsgbmFtZSBoZXJlLCBqdXN0
IHRoZSBTREsgcGxhdGZvcm0gbmFtZSwgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICBwb3J0IG5h
bWUuCisKKyAgICAgICAgU28gd2Ugc2h1ZmZsZSBzb21lIGNvZGUgYXJvdW5kIHRvIGF2b2lkIGNh
bGxpbmcgYHhjb2RlYnVpbGQgLXNob3dzZGtzYAorICAgICAgICB3aGVyZSB3ZSBjYW4uICBUaGlz
IHJlZHVjZXMgdGhlIHRpbWUgc3BlbnQgaW4gcnVuLW1pbmlicm93c2VyIGJlZm9yZQorICAgICAg
ICBNaW5pQnJvd3NlciBpcyBsYXVuY2hlZCAoY3J1ZGVseSBtZWFzdXJlZCB3aXRoIGB0aW1lIHJ1
bi1taW5pYnJvd3NlcgorICAgICAgICAtLWhlbHBgKSBmcm9tIDJzIHRvIDAuNnMgb24gdGhpcyBt
YWNoaW5lLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocmVh
ZFhjb2RlVXNlckRlZmF1bHQpOgorICAgICAgICAoZGV0ZXJtaW5lQXJjaGl0ZWN0dXJlKToKKyAg
ICAgICAgKGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoYXZhaWxhYmxlWGNv
ZGVTREtzKToKKyAgICAgICAgKGlzVmFsaWRYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAg
IChkZXRlcm1pbmVYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1pbmVYY29k
ZVNESyk6CisgICAgICAgICh4Y29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1p
bmVQb3J0TmFtZSk6CisKIDIwMjEtMDMtMjMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSB3b3JrZXIgbG9hZHMgYXJlIG5vdCBtYXJr
ZWQgYXMgYXBwLWJvdW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0g
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggZmFiYTBhOTAzMDQ3M2IxNGM1MDAy
N2JiNzE5YWRlNGUxNzc4ZWZmYy4uNzlmOWRlODc1ZGUxMDMwZGNkZWVjMDc2ZjU5NGEyZGMyODI2
ZGQ2YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTQwLDYgKzE0MCw3IEBAIG15ICRiYXNlUHJvZHVj
dERpcjsKIG15IEBiYXNlUHJvZHVjdERpck9wdGlvbjsKIG15ICRjb25maWd1cmF0aW9uOwogbXkg
JHhjb2RlU0RLOworbXkgJHhjb2RlU0RLUGxhdGZvcm1OYW1lOwogbXkgJHNpbXVsYXRvcklkaW9t
OwogbXkgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CiBteSAkY29uZmlndXJhdGlvblBy
b2R1Y3REaXI7CkBAIC00MDAsMTMgKzQwMSwxMyBAQCBzdWIgZGV0ZXJtaW5lQXJjaGl0ZWN0dXJl
CiAgICAgICAgIGlmICgkYXJjaGl0ZWN0dXJlKSB7CiAgICAgICAgICAgICBjaG9tcCAkYXJjaGl0
ZWN0dXJlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKCR4Y29kZVNESyA9fiAv
XmlwaG9uZW9zLykgeworICAgICAgICAgICAgaWYgKCR4Y29kZVNESyBlcSAvaXBob25lb3MvKSB7
CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NCc7Ci0gICAgICAgICAgICB9
IGVsc2lmICgkeGNvZGVTREsgPX4gL153YXRjaHNpbXVsYXRvci8pIHsKKyAgICAgICAgICAgIH0g
ZWxzaWYgKCR4Y29kZVNESyBlcSAvd2F0Y2hzaW11bGF0b3IvKSB7CiAgICAgICAgICAgICAgICAg
JGFyY2hpdGVjdHVyZSA9ICdpMzg2JzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9
fiAvXndhdGNob3MvKSB7CisgICAgICAgICAgICB9IGVsc2lmICgkeGNvZGVTREsgZXEgL3dhdGNo
b3MvKSB7CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NF8zMiBhcm02NGUg
YXJtdjdrJzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9fiAvXmFwcGxldHZvcy8p
IHsKKyAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyBlcSAvYXBwbGV0dm9zLykgewogICAg
ICAgICAgICAgICAgICRhcmNoaXRlY3R1cmUgPSAnYXJtNjQnOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CkBAIC01NDksNyArNTUwLDcgQEAgc3ViIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KQogICAgIGRldGVybWluZUNvbmZpZ3VyYXRpb24oKTsKICAgICBkZXRlcm1pbmVBcmNoaXRlY3R1
cmUoKTsKICAgICBpZiAoaXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKLSAgICAgICAgZGV0ZXJtaW5l
WGNvZGVTREsoKTsKKyAgICAgICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsKICAg
ICB9CiAKICAgICBteSBAYXJncyA9ICgpOwpAQCAtNTU3LDE0ICs1NTgsMTQgQEAgc3ViIGFyZ3Vt
ZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgICMgVGhlc2UgYXJlIGRldGVybWluZWQgYXV0b21h
dGljYWxseSBmcm9tIHN0b3JlZCBjb25maWd1cmF0aW9uLgogICAgIHB1c2goQGFyZ3MsICctLWRl
YnVnJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeRGVidWciKTsKICAgICBwdXNoKEBhcmdzLCAn
LS1yZWxlYXNlJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeUmVsZWFzZSIpOwotICAgIHB1c2go
QGFyZ3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RL
ID1+IC9eaXBob25lb3MvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pb3Mtc2ltdWxhdG9yJykgaWYg
KGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmlwaG9uZXNpbXVsYXRvci8gJiYg
JHNpbXVsYXRvcklkaW9tIGVxICJpUGhvbmUiKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNp
bXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15pcGhvbmVz
aW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOwotICAgIHB1c2goQGFyZ3Ms
ICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAv
XmFwcGxldHZvcy8pOwotICAgIHB1c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRl
ZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmFwcGxldHZzaW11bGF0b3IvKTsKLSAg
ICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNESyAm
JiAkeGNvZGVTREsgPX4gL153YXRjaG9zLyk7Ci0gICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1z
aW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RLID1+IC9ed2F0Y2hz
aW11bGF0b3IvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVk
ICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15tYWNjYXRhbHlzdC8pOworICAgIHB1c2goQGFy
Z3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgJiYg
JHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9eaXBob25lb3MvKTsKKyAgICBwdXNoKEBhcmdzLCAn
LS1pb3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZvcm1OYW1lICYmICR4
Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmlwaG9uZXNpbXVsYXRvci8gJiYgJHNpbXVsYXRvcklk
aW9tIGVxICJpUGhvbmUiKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNpbXVsYXRvcicpIGlm
IChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUg
ZXEgL15pcGhvbmVzaW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOworICAg
IHB1c2goQGFyZ3MsICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZvcy8pOworICAgIHB1
c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZzaW11bGF0b3IvKTsK
KyAgICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNE
S1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL153YXRjaG9zLyk7Cisg
ICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1zaW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVT
REtQbGF0Zm9ybU5hbWUgJiYgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9ed2F0Y2hzaW11bGF0
b3IvKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVkICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL15tYWNjYXRhbHlz
dC8pOwogICAgIHB1c2goQGFyZ3MsICctLTMyLWJpdCcpIGlmICgkYXJjaGl0ZWN0dXJlIGVxICJ4
ODYiIGFuZCAhaXNXaW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS02NC1iaXQnKSBpZiAoaXNX
aW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS1mdHcnKSBpZiBpc0ZUVygpOwpAQCAtNjE4LDU3
ICs2MTksNzkgQEAgc3ViIHBhcnNlQXZhaWxhYmxlWGNvZGVTREtzKCQpCiAKIHN1YiBhdmFpbGFi
bGVYY29kZVNES3MKIHsKKyAgICBwcmludCBTVERFUlIgIiMjIyMjIyB4Y29kZWJ1aWxkIC1zaG93
c2Rrc1xuIjsKICAgICBteSBAb3V0cHV0ID0gYHhjb2RlYnVpbGQgLXNob3dzZGtzYDsKICAgICBy
ZXR1cm4gcGFyc2VBdmFpbGFibGVYY29kZVNES3MoXEBvdXRwdXQpOwogfQogCi1zdWIgZGV0ZXJt
aW5lWGNvZGVTREsKLXsKLSAgICByZXR1cm4gaWYgZGVmaW5lZCAkeGNvZGVTREs7CitzdWIgaXNW
YWxpZFhjb2RlU0RLUGxhdGZvcm1OYW1lKCQpIHsKKyAgICBteSAkbmFtZSA9IHNoaWZ0OworICAg
IG15IEBwbGF0Zm9ybXMgPSBxdygKKyAgICAgICAgYXBwbGV0dm9zCisgICAgICAgIGFwcGxldHZz
aW11bGF0b3IKKyAgICAgICAgaXBob25lb3MKKyAgICAgICAgaXBob25lc2ltdWxhdG9yCisgICAg
ICAgIG1hY29zeAorICAgICAgICB3YXRjaG9zCisgICAgICAgIHdhdGNoc2ltdWxhdG9yCisgICAg
ICAgIG1hY2NhdGFseXN0CisgICAgKTsKKyAgICByZXR1cm4gZ3JlcCB7ICRfIGVxICRuYW1lIH0g
QHBsYXRmb3JtczsKK30KKworc3ViIGRldGVybWluZVhjb2RlU0RLUGxhdGZvcm1OYW1lIHsKKyAg
ICByZXR1cm4gaWYgZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWU7CiAgICAgbXkgJHNkazsK
ICAgICAKICAgICAjIFRoZSB1c2VyIGV4cGxpY2l0bHkgc3BlY2lmaWVkIHRoZSBzZGssIGRvbid0
IGFzc3VtZSBhbnl0aGluZwogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFS
R1ZHZXR0aW5nVmFsdWUoIi0tc2RrIiwgXCRzZGspKSB7Ci0gICAgICAgICR4Y29kZVNESyA9ICRz
ZGs7CisgICAgICAgICR4Y29kZVNESyA9IGxjICRzZGs7CisgICAgICAgICR4Y29kZVNES1BsYXRm
b3JtTmFtZSA9ICRzZGs7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSA9fiBzL1wuaW50
ZXJuYWwkLy87CisgICAgICAgIGRpZSAiQ291bGRuJ3QgZGV0ZXJtaW5lIHBsYXRmb3JtIG5hbWUg
ZnJvbSBYY29kZSBTREsiIHVubGVzcyBpc1ZhbGlkWGNvZGVTREtQbGF0Zm9ybU5hbWUoJHhjb2Rl
U0RLUGxhdGZvcm1OYW1lKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoY2hlY2tG
b3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLWRldmljZSIpIHx8IGNoZWNrRm9yQXJndW1l
bnRBbmRSZW1vdmVGcm9tQVJHVigiLS1pb3MtZGV2aWNlIikpIHsKLSAgICAgICAgJHhjb2RlU0RL
IHx8PSAiaXBob25lb3MiOworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9ICJpcGhv
bmVvcyI7CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1Yo
Ii0tc2ltdWxhdG9yIikgfHwgY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLWlv
cy1zaW11bGF0b3IiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICdpcGhvbmVzaW11bGF0b3In
OworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9ICdpcGhvbmVzaW11bGF0b3InOwog
ICAgICAgICAkc2ltdWxhdG9ySWRpb20gPSAnaVBob25lJzsKICAgICB9CiAgICAgaWYgKGNoZWNr
Rm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS1pcGFkLXNpbXVsYXRvciIpKSB7Ci0gICAg
ICAgICR4Y29kZVNESyB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CisgICAgICAgICR4Y29kZVNES1Bs
YXRmb3JtTmFtZSB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CiAgICAgICAgICRzaW11bGF0b3JJZGlv
bSA9ICdpUGFkJzsKICAgICB9CiAgICAgaWYgKGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9t
QVJHVigiLS10dm9zLWRldmljZSIpKSB7Ci0gICAgICAgICR4Y29kZVNESyB8fD0gICJhcHBsZXR2
b3MiOworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9ICJhcHBsZXR2b3MiOwogICAg
IH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXR2b3Mtc2lt
dWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAiYXBwbGV0dnNpbXVsYXRvciI7Cisg
ICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gImFwcGxldHZzaW11bGF0b3IiOwogICAg
IH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXdhdGNob3Mt
ZGV2aWNlIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAgIndhdGNob3MiOworICAgICAgICAk
eGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9ICJ3YXRjaG9zIjsKICAgICB9CiAgICAgaWYgKGNoZWNr
Rm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS13YXRjaG9zLXNpbXVsYXRvciIpKSB7Ci0g
ICAgICAgICR4Y29kZVNESyB8fD0gIndhdGNoc2ltdWxhdG9yIjsKKyAgICAgICAgJHhjb2RlU0RL
UGxhdGZvcm1OYW1lIHx8PSAid2F0Y2hzaW11bGF0b3IiOwogICAgIH0KICAgICBpZiAoY2hlY2tG
b3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLW1hY2NhdGFseXN0IikpIHsKLSAgICAgICAg
JHhjb2RlU0RLIHx8PSAibWFjY2F0YWx5c3QiOworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5h
bWUgfHw9ICJtYWNjYXRhbHlzdCI7CiAgICAgfQogCiAgICAgIyBGaW5hbGx5LCBmYWxsIGJhY2sg
dG8gbWFjT1MgaWYgbm8gcGxhdGZvcm0gaXMgc3BlY2lmaWVkLgotICAgIGlmICghZGVmaW5lZCAk
eGNvZGVTREspIHsKLSAgICAgICAgJHhjb2RlU0RLID0gIm1hY29zeCI7Ci0gICAgfQotICAgIAor
ICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gIm1hY29zeCI7Cit9CisKK3N1YiBkZXRlcm1p
bmVYY29kZVNESworeworICAgIGRldGVybWluZVhjb2RlU0RLUGxhdGZvcm1OYW1lKCk7ICAjIFRo
aXMgY2FuIHNldCB4Y29kZVNESyBpZiAtLXNkayB3YXMgdXNlZC4KKyAgICByZXR1cm4gaWYgZGVm
aW5lZCAkeGNvZGVTREs7CisKICAgICAjIFByZWZlciB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiBh
biBzZGssIGlmIGl0IGV4aXN0cy4KICAgICBteSBAYXZhaWxhYmxlU0RLcyA9IGF2YWlsYWJsZVhj
b2RlU0RLcygpOwogCiAgICAgZm9yZWFjaCBteSAkc2RrIChAYXZhaWxhYmxlU0RLcykgewotICAg
ICAgICBuZXh0IGlmICRzZGsgbmUgIiR4Y29kZVNESy5pbnRlcm5hbCI7CisgICAgICAgIG5leHQg
aWYgJHNkayBuZSAiJHhjb2RlU0RLUGxhdGZvcm1OYW1lLmludGVybmFsIjsKICAgICAgICAgJHhj
b2RlU0RLID0gJHNkazsKICAgICAgICAgbGFzdDsKICAgICB9CkBAIC02ODUsMjAgKzcwOCwxMCBA
QCBzdWIgc2V0WGNvZGVTREsoJCkKICAgICAoJHhjb2RlU0RLKSA9IEBfOwogfQogCi0KLXN1YiB4
Y29kZVNES1BsYXRmb3JtTmFtZSgpCitzdWIgeGNvZGVTREtQbGF0Zm9ybU5hbWUKIHsKLSAgICBk
ZXRlcm1pbmVYY29kZVNESygpOwotICAgIHJldHVybiAiIiBpZiAhZGVmaW5lZCAkeGNvZGVTREs7
Ci0gICAgcmV0dXJuICJhcHBsZXR2b3MiIGlmICR4Y29kZVNESyA9fiAvYXBwbGV0dm9zL2k7Ci0g
ICAgcmV0dXJuICJhcHBsZXR2c2ltdWxhdG9yIiBpZiAkeGNvZGVTREsgPX4gL2FwcGxldHZzaW11
bGF0b3IvaTsKLSAgICByZXR1cm4gImlwaG9uZW9zIiBpZiAkeGNvZGVTREsgPX4gL2lwaG9uZW9z
L2k7Ci0gICAgcmV0dXJuICJpcGhvbmVzaW11bGF0b3IiIGlmICR4Y29kZVNESyA9fiAvaXBob25l
c2ltdWxhdG9yL2k7Ci0gICAgcmV0dXJuICJtYWNvc3giIGlmICR4Y29kZVNESyA9fiAvbWFjb3N4
L2k7Ci0gICAgcmV0dXJuICJ3YXRjaG9zIiBpZiAkeGNvZGVTREsgPX4gL3dhdGNob3MvaTsKLSAg
ICByZXR1cm4gIndhdGNoc2ltdWxhdG9yIiBpZiAkeGNvZGVTREsgPX4gL3dhdGNoc2ltdWxhdG9y
L2k7Ci0gICAgcmV0dXJuICJtYWNjYXRhbHlzdCIgaWYgJHhjb2RlU0RLID1+IC9tYWNjYXRhbHlz
dC9pOwotICAgIGRpZSAiQ291bGRuJ3QgZGV0ZXJtaW5lIHBsYXRmb3JtIG5hbWUgZnJvbSBYY29k
ZSBTREsiOworICAgIGRldGVybWluZVhjb2RlU0RLUGxhdGZvcm1OYW1lKCk7CisgICAgcmV0dXJu
ICR4Y29kZVNES1BsYXRmb3JtTmFtZTsKIH0KIAogc3ViIFhjb2RlU0RLUGF0aApAQCAtMTM0NCw3
ICsxMzU3LDcgQEAgc3ViIGRldGVybWluZVBvcnROYW1lKCkKICAgICBpZiAoaXNBbnlXaW5kb3dz
KCkpIHsKICAgICAgICAgJHBvcnROYW1lID0gQXBwbGVXaW47CiAgICAgfSBlbHNpZiAoaXNEYXJ3
aW4oKSkgewotICAgICAgICBkZXRlcm1pbmVYY29kZVNESygpOworICAgICAgICBkZXRlcm1pbmVY
Y29kZVNES1BsYXRmb3JtTmFtZSgpOwogICAgICAgICBpZiAod2lsbFVzZUlPU0RldmljZVNESygp
IHx8IHdpbGxVc2VJT1NTaW11bGF0b3JTREsoKSkgewogICAgICAgICAgICAgJHBvcnROYW1lID0g
aU9TOwogICAgICAgICB9IGVsc2lmICh3aWxsVXNlQXBwbGVUVkRldmljZVNESygpIHx8IHdpbGxV
c2VBcHBsZVRWU2ltdWxhdG9yU0RLKCkpIHsK
</data>
<flag name="commit-queue"
          id="443822"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424214</attachid>
            <date>2021-03-24 20:37:49 -0700</date>
            <delta_ts>2021-03-24 21:49:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223727-20210325143748.patch</filename>
            <type>text/plain</type>
            <size>9588</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDM1YzRjZjRhZmJlMzEzZTBhMDdjY2M0N2M2NTMyYTVl
OWIzNmQ4Ny4uZTkyOTgyMmM2NTcyZjBiMGZjNDVhNjdmY2NhNzE0ZWRiZjBlNjMwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTAzLTI0ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQXZvaWQgY2FsbGluZyBgeGNvZGVidWlsZCAtc2hvd3Nka3NgIHdoZXJlIHBvc3Np
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcnVu
LW1pbmlicm93c2VyIG5lZWRzIHRvIGtub3cgd2hhdCBwb3J0IGl0J3MgcnVubmluZyBvbiwgc2lu
Y2UgdGhhdAorICAgICAgICBhZmZlY3RzIHRoZSBidWlsZCBkaXJlY3RvcnkgdG8gbG9vayBpbiB0
byBmaW5kIHRoZSBNaW5pQnJvd3NlciBiaW5hcnkuCisgICAgICAgIE9uIG1hY09TLCB3ZWJraXRk
aXJzLnBtJ3MgZGV0ZXJtaW5lUG9ydE5hbWUgZW5kcyB1cCBydW5uaW5nCisgICAgICAgIGB4Y29k
ZWJ1aWxkIC1zaG93c2Rrc2AgdG8gc2VlIGlmIHRoZSBjdXJyZW50IFNESyBoYXMgYW4gaW50ZXJu
YWwKKyAgICAgICAgdmFyaWFudCBhdmFpbGFibGUsIGJ1dCB0aGlzIGlzIHNsb3cuICBCdXQgd2Ug
ZG9uJ3QgbmVlZCB0byBrbm93IHRoZQorICAgICAgICBleGFjdCBTREsgbmFtZSBoZXJlLCBqdXN0
IHRoZSBTREsgcGxhdGZvcm0gbmFtZSwgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICBwb3J0IG5h
bWUuCisKKyAgICAgICAgU28gd2Ugc2h1ZmZsZSBzb21lIGNvZGUgYXJvdW5kIHRvIGF2b2lkIGNh
bGxpbmcgYHhjb2RlYnVpbGQgLXNob3dzZGtzYAorICAgICAgICB3aGVyZSB3ZSBjYW4uICBUaGlz
IHJlZHVjZXMgdGhlIHRpbWUgc3BlbnQgaW4gcnVuLW1pbmlicm93c2VyIGJlZm9yZQorICAgICAg
ICBNaW5pQnJvd3NlciBpcyBsYXVuY2hlZCAoY3J1ZGVseSBtZWFzdXJlZCB3aXRoIGB0aW1lIHJ1
bi1taW5pYnJvd3NlcgorICAgICAgICAtLWhlbHBgKSBmcm9tIDJzIHRvIDAuNnMgb24gdGhpcyBt
YWNoaW5lLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocmVh
ZFhjb2RlVXNlckRlZmF1bHQpOgorICAgICAgICAoZGV0ZXJtaW5lQXJjaGl0ZWN0dXJlKToKKyAg
ICAgICAgKGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoYXZhaWxhYmxlWGNv
ZGVTREtzKToKKyAgICAgICAgKGlzVmFsaWRYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAg
IChkZXRlcm1pbmVYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1pbmVYY29k
ZVNESyk6CisgICAgICAgICh4Y29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1p
bmVQb3J0TmFtZSk6CisKIDIwMjEtMDMtMjMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSB3b3JrZXIgbG9hZHMgYXJlIG5vdCBtYXJr
ZWQgYXMgYXBwLWJvdW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0g
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggZmFiYTBhOTAzMDQ3M2IxNGM1MDAy
N2JiNzE5YWRlNGUxNzc4ZWZmYy4uYWZkZTRhNGVlZjZkNmFiMWQxNjUwMGZkN2I0YWU5ZGY2NjVj
YjI5MiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTQwLDYgKzE0MCw3IEBAIG15ICRiYXNlUHJvZHVj
dERpcjsKIG15IEBiYXNlUHJvZHVjdERpck9wdGlvbjsKIG15ICRjb25maWd1cmF0aW9uOwogbXkg
JHhjb2RlU0RLOworbXkgJHhjb2RlU0RLUGxhdGZvcm1OYW1lOwogbXkgJHNpbXVsYXRvcklkaW9t
OwogbXkgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CiBteSAkY29uZmlndXJhdGlvblBy
b2R1Y3REaXI7CkBAIC00MDAsMTMgKzQwMSwxMyBAQCBzdWIgZGV0ZXJtaW5lQXJjaGl0ZWN0dXJl
CiAgICAgICAgIGlmICgkYXJjaGl0ZWN0dXJlKSB7CiAgICAgICAgICAgICBjaG9tcCAkYXJjaGl0
ZWN0dXJlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKCR4Y29kZVNESyA9fiAv
XmlwaG9uZW9zLykgeworICAgICAgICAgICAgaWYgKCR4Y29kZVNESyBlcSAvaXBob25lb3MvKSB7
CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NCc7Ci0gICAgICAgICAgICB9
IGVsc2lmICgkeGNvZGVTREsgPX4gL153YXRjaHNpbXVsYXRvci8pIHsKKyAgICAgICAgICAgIH0g
ZWxzaWYgKCR4Y29kZVNESyBlcSAvd2F0Y2hzaW11bGF0b3IvKSB7CiAgICAgICAgICAgICAgICAg
JGFyY2hpdGVjdHVyZSA9ICdpMzg2JzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9
fiAvXndhdGNob3MvKSB7CisgICAgICAgICAgICB9IGVsc2lmICgkeGNvZGVTREsgZXEgL3dhdGNo
b3MvKSB7CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NF8zMiBhcm02NGUg
YXJtdjdrJzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9fiAvXmFwcGxldHZvcy8p
IHsKKyAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyBlcSAvYXBwbGV0dm9zLykgewogICAg
ICAgICAgICAgICAgICRhcmNoaXRlY3R1cmUgPSAnYXJtNjQnOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CkBAIC01NDksNyArNTUwLDcgQEAgc3ViIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KQogICAgIGRldGVybWluZUNvbmZpZ3VyYXRpb24oKTsKICAgICBkZXRlcm1pbmVBcmNoaXRlY3R1
cmUoKTsKICAgICBpZiAoaXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKLSAgICAgICAgZGV0ZXJtaW5l
WGNvZGVTREsoKTsKKyAgICAgICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsKICAg
ICB9CiAKICAgICBteSBAYXJncyA9ICgpOwpAQCAtNTU3LDE0ICs1NTgsMTQgQEAgc3ViIGFyZ3Vt
ZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgICMgVGhlc2UgYXJlIGRldGVybWluZWQgYXV0b21h
dGljYWxseSBmcm9tIHN0b3JlZCBjb25maWd1cmF0aW9uLgogICAgIHB1c2goQGFyZ3MsICctLWRl
YnVnJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeRGVidWciKTsKICAgICBwdXNoKEBhcmdzLCAn
LS1yZWxlYXNlJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeUmVsZWFzZSIpOwotICAgIHB1c2go
QGFyZ3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RL
ID1+IC9eaXBob25lb3MvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pb3Mtc2ltdWxhdG9yJykgaWYg
KGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmlwaG9uZXNpbXVsYXRvci8gJiYg
JHNpbXVsYXRvcklkaW9tIGVxICJpUGhvbmUiKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNp
bXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15pcGhvbmVz
aW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOwotICAgIHB1c2goQGFyZ3Ms
ICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAv
XmFwcGxldHZvcy8pOwotICAgIHB1c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRl
ZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmFwcGxldHZzaW11bGF0b3IvKTsKLSAg
ICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNESyAm
JiAkeGNvZGVTREsgPX4gL153YXRjaG9zLyk7Ci0gICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1z
aW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RLID1+IC9ed2F0Y2hz
aW11bGF0b3IvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVk
ICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15tYWNjYXRhbHlzdC8pOworICAgIHB1c2goQGFy
Z3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgJiYg
JHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9eaXBob25lb3MvKTsKKyAgICBwdXNoKEBhcmdzLCAn
LS1pb3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZvcm1OYW1lICYmICR4
Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmlwaG9uZXNpbXVsYXRvci8gJiYgJHNpbXVsYXRvcklk
aW9tIGVxICJpUGhvbmUiKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNpbXVsYXRvcicpIGlm
IChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUg
ZXEgL15pcGhvbmVzaW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOworICAg
IHB1c2goQGFyZ3MsICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZvcy8pOworICAgIHB1
c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZzaW11bGF0b3IvKTsK
KyAgICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNE
S1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL153YXRjaG9zLyk7Cisg
ICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1zaW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVT
REtQbGF0Zm9ybU5hbWUgJiYgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9ed2F0Y2hzaW11bGF0
b3IvKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVkICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL15tYWNjYXRhbHlz
dC8pOwogICAgIHB1c2goQGFyZ3MsICctLTMyLWJpdCcpIGlmICgkYXJjaGl0ZWN0dXJlIGVxICJ4
ODYiIGFuZCAhaXNXaW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS02NC1iaXQnKSBpZiAoaXNX
aW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS1mdHcnKSBpZiBpc0ZUVygpOwpAQCAtNjIyLDUz
ICs2MjMsNzQgQEAgc3ViIGF2YWlsYWJsZVhjb2RlU0RLcwogICAgIHJldHVybiBwYXJzZUF2YWls
YWJsZVhjb2RlU0RLcyhcQG91dHB1dCk7CiB9CiAKLXN1YiBkZXRlcm1pbmVYY29kZVNESwotewot
ICAgIHJldHVybiBpZiBkZWZpbmVkICR4Y29kZVNESzsKK3N1YiBpc1ZhbGlkWGNvZGVTREtQbGF0
Zm9ybU5hbWUoJCkgeworICAgIG15ICRuYW1lID0gc2hpZnQ7CisgICAgbXkgQHBsYXRmb3JtcyA9
IHF3KAorICAgICAgICBhcHBsZXR2b3MKKyAgICAgICAgYXBwbGV0dnNpbXVsYXRvcgorICAgICAg
ICBpcGhvbmVvcworICAgICAgICBpcGhvbmVzaW11bGF0b3IKKyAgICAgICAgbWFjb3N4CisgICAg
ICAgIHdhdGNob3MKKyAgICAgICAgd2F0Y2hzaW11bGF0b3IKKyAgICAgICAgbWFjY2F0YWx5c3QK
KyAgICApOworICAgIHJldHVybiBncmVwIHsgJF8gZXEgJG5hbWUgfSBAcGxhdGZvcm1zOworfQor
CitzdWIgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUgeworICAgIHJldHVybiBpZiBkZWZp
bmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZTsKICAgICBteSAkc2RrOwogICAgIAogICAgICMgVGhl
IHVzZXIgZXhwbGljaXRseSBzcGVjaWZpZWQgdGhlIHNkaywgZG9uJ3QgYXNzdW1lIGFueXRoaW5n
CiAgICAgaWYgKGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVkdldHRpbmdWYWx1ZSgi
LS1zZGsiLCBcJHNkaykpIHsKLSAgICAgICAgJHhjb2RlU0RLID0gJHNkazsKKyAgICAgICAgJHhj
b2RlU0RLID0gbGMgJHNkazsKKyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID0gJHNkazsK
KyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID1+IHMvXC5pbnRlcm5hbCQvLzsKKyAgICAg
ICAgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgcGxhdGZvcm0gbmFtZSBmcm9tIFhjb2RlIFNESyIg
dW5sZXNzIGlzVmFsaWRYY29kZVNES1BsYXRmb3JtTmFtZSgkeGNvZGVTREtQbGF0Zm9ybU5hbWUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVt
b3ZlRnJvbUFSR1YoIi0tZGV2aWNlIikgfHwgY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21B
UkdWKCItLWlvcy1kZXZpY2UiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJpcGhvbmVvcyI7
CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gImlwaG9uZW9zIjsKICAgICB9CiAg
ICAgaWYgKGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS1zaW11bGF0b3IiKSB8
fCBjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0taW9zLXNpbXVsYXRvciIpKSB7
Ci0gICAgICAgICR4Y29kZVNESyB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CisgICAgICAgICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CiAgICAgICAgICRzaW11bGF0
b3JJZGlvbSA9ICdpUGhvbmUnOwogICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJl
bW92ZUZyb21BUkdWKCItLWlwYWQtc2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8
PSAnaXBob25lc2ltdWxhdG9yJzsKKyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIHx8PSAn
aXBob25lc2ltdWxhdG9yJzsKICAgICAgICAgJHNpbXVsYXRvcklkaW9tID0gJ2lQYWQnOwogICAg
IH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXR2b3MtZGV2
aWNlIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAgImFwcGxldHZvcyI7CisgICAgICAgICR4
Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gImFwcGxldHZvcyI7CiAgICAgfQogICAgIGlmIChjaGVj
a0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0tdHZvcy1zaW11bGF0b3IiKSkgewotICAg
ICAgICAkeGNvZGVTREsgfHw9ICJhcHBsZXR2c2ltdWxhdG9yIjsKKyAgICAgICAgJHhjb2RlU0RL
UGxhdGZvcm1OYW1lIHx8PSAiYXBwbGV0dnNpbXVsYXRvciI7CiAgICAgfQogICAgIGlmIChjaGVj
a0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0td2F0Y2hvcy1kZXZpY2UiKSkgewotICAg
ICAgICAkeGNvZGVTREsgfHw9ICAid2F0Y2hvcyI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3Jt
TmFtZSB8fD0gIndhdGNob3MiOwogICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJl
bW92ZUZyb21BUkdWKCItLXdhdGNob3Mtc2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RL
IHx8PSAid2F0Y2hzaW11bGF0b3IiOworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9
ICJ3YXRjaHNpbXVsYXRvciI7CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVt
b3ZlRnJvbUFSR1YoIi0tbWFjY2F0YWx5c3QiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJt
YWNjYXRhbHlzdCI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gIm1hY2NhdGFs
eXN0IjsKICAgICB9CiAKICAgICAjIEZpbmFsbHksIGZhbGwgYmFjayB0byBtYWNPUyBpZiBubyBw
bGF0Zm9ybSBpcyBzcGVjaWZpZWQuCi0gICAgaWYgKCFkZWZpbmVkICR4Y29kZVNESykgewotICAg
ICAgICAkeGNvZGVTREsgPSAibWFjb3N4IjsKLSAgICB9Ci0gICAgCisgICAgJHhjb2RlU0RLUGxh
dGZvcm1OYW1lIHx8PSAibWFjb3N4IjsKK30KKworc3ViIGRldGVybWluZVhjb2RlU0RLCit7Cisg
ICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsgICMgVGhpcyBjYW4gc2V0ICR4Y29k
ZVNESyBpZiAtLXNkayB3YXMgdXNlZC4KKyAgICByZXR1cm4gaWYgZGVmaW5lZCAkeGNvZGVTREs7
CisKICAgICAjIFByZWZlciB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiBhbiBzZGssIGlmIGl0IGV4
aXN0cy4KICAgICBteSBAYXZhaWxhYmxlU0RLcyA9IGF2YWlsYWJsZVhjb2RlU0RLcygpOwogCiAg
ICAgZm9yZWFjaCBteSAkc2RrIChAYXZhaWxhYmxlU0RLcykgewotICAgICAgICBuZXh0IGlmICRz
ZGsgbmUgIiR4Y29kZVNESy5pbnRlcm5hbCI7CisgICAgICAgIG5leHQgaWYgJHNkayBuZSAiJHhj
b2RlU0RLUGxhdGZvcm1OYW1lLmludGVybmFsIjsKICAgICAgICAgJHhjb2RlU0RLID0gJHNkazsK
ICAgICAgICAgbGFzdDsKICAgICB9CkBAIC02ODUsMjAgKzcwNywxMCBAQCBzdWIgc2V0WGNvZGVT
REsoJCkKICAgICAoJHhjb2RlU0RLKSA9IEBfOwogfQogCi0KLXN1YiB4Y29kZVNES1BsYXRmb3Jt
TmFtZSgpCitzdWIgeGNvZGVTREtQbGF0Zm9ybU5hbWUKIHsKLSAgICBkZXRlcm1pbmVYY29kZVNE
SygpOwotICAgIHJldHVybiAiIiBpZiAhZGVmaW5lZCAkeGNvZGVTREs7Ci0gICAgcmV0dXJuICJh
cHBsZXR2b3MiIGlmICR4Y29kZVNESyA9fiAvYXBwbGV0dm9zL2k7Ci0gICAgcmV0dXJuICJhcHBs
ZXR2c2ltdWxhdG9yIiBpZiAkeGNvZGVTREsgPX4gL2FwcGxldHZzaW11bGF0b3IvaTsKLSAgICBy
ZXR1cm4gImlwaG9uZW9zIiBpZiAkeGNvZGVTREsgPX4gL2lwaG9uZW9zL2k7Ci0gICAgcmV0dXJu
ICJpcGhvbmVzaW11bGF0b3IiIGlmICR4Y29kZVNESyA9fiAvaXBob25lc2ltdWxhdG9yL2k7Ci0g
ICAgcmV0dXJuICJtYWNvc3giIGlmICR4Y29kZVNESyA9fiAvbWFjb3N4L2k7Ci0gICAgcmV0dXJu
ICJ3YXRjaG9zIiBpZiAkeGNvZGVTREsgPX4gL3dhdGNob3MvaTsKLSAgICByZXR1cm4gIndhdGNo
c2ltdWxhdG9yIiBpZiAkeGNvZGVTREsgPX4gL3dhdGNoc2ltdWxhdG9yL2k7Ci0gICAgcmV0dXJu
ICJtYWNjYXRhbHlzdCIgaWYgJHhjb2RlU0RLID1+IC9tYWNjYXRhbHlzdC9pOwotICAgIGRpZSAi
Q291bGRuJ3QgZGV0ZXJtaW5lIHBsYXRmb3JtIG5hbWUgZnJvbSBYY29kZSBTREsiOworICAgIGRl
dGVybWluZVhjb2RlU0RLUGxhdGZvcm1OYW1lKCk7CisgICAgcmV0dXJuICR4Y29kZVNES1BsYXRm
b3JtTmFtZTsKIH0KIAogc3ViIFhjb2RlU0RLUGF0aApAQCAtMTM0NCw3ICsxMzU2LDcgQEAgc3Vi
IGRldGVybWluZVBvcnROYW1lKCkKICAgICBpZiAoaXNBbnlXaW5kb3dzKCkpIHsKICAgICAgICAg
JHBvcnROYW1lID0gQXBwbGVXaW47CiAgICAgfSBlbHNpZiAoaXNEYXJ3aW4oKSkgewotICAgICAg
ICBkZXRlcm1pbmVYY29kZVNESygpOworICAgICAgICBkZXRlcm1pbmVYY29kZVNES1BsYXRmb3Jt
TmFtZSgpOwogICAgICAgICBpZiAod2lsbFVzZUlPU0RldmljZVNESygpIHx8IHdpbGxVc2VJT1NT
aW11bGF0b3JTREsoKSkgewogICAgICAgICAgICAgJHBvcnROYW1lID0gaU9TOwogICAgICAgICB9
IGVsc2lmICh3aWxsVXNlQXBwbGVUVkRldmljZVNESygpIHx8IHdpbGxVc2VBcHBsZVRWU2ltdWxh
dG9yU0RLKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424217</attachid>
            <date>2021-03-24 21:49:22 -0700</date>
            <delta_ts>2021-03-29 16:27:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223727-20210325154921.patch</filename>
            <type>text/plain</type>
            <size>9630</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTI5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDM1YzRjZjRhZmJlMzEzZTBhMDdjY2M0N2M2NTMyYTVl
OWIzNmQ4Ny4uZTkyOTgyMmM2NTcyZjBiMGZjNDVhNjdmY2NhNzE0ZWRiZjBlNjMwMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDIxLTAzLTI0ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQXZvaWQgY2FsbGluZyBgeGNvZGVidWlsZCAtc2hvd3Nka3NgIHdoZXJlIHBvc3Np
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcnVu
LW1pbmlicm93c2VyIG5lZWRzIHRvIGtub3cgd2hhdCBwb3J0IGl0J3MgcnVubmluZyBvbiwgc2lu
Y2UgdGhhdAorICAgICAgICBhZmZlY3RzIHRoZSBidWlsZCBkaXJlY3RvcnkgdG8gbG9vayBpbiB0
byBmaW5kIHRoZSBNaW5pQnJvd3NlciBiaW5hcnkuCisgICAgICAgIE9uIG1hY09TLCB3ZWJraXRk
aXJzLnBtJ3MgZGV0ZXJtaW5lUG9ydE5hbWUgZW5kcyB1cCBydW5uaW5nCisgICAgICAgIGB4Y29k
ZWJ1aWxkIC1zaG93c2Rrc2AgdG8gc2VlIGlmIHRoZSBjdXJyZW50IFNESyBoYXMgYW4gaW50ZXJu
YWwKKyAgICAgICAgdmFyaWFudCBhdmFpbGFibGUsIGJ1dCB0aGlzIGlzIHNsb3cuICBCdXQgd2Ug
ZG9uJ3QgbmVlZCB0byBrbm93IHRoZQorICAgICAgICBleGFjdCBTREsgbmFtZSBoZXJlLCBqdXN0
IHRoZSBTREsgcGxhdGZvcm0gbmFtZSwgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICBwb3J0IG5h
bWUuCisKKyAgICAgICAgU28gd2Ugc2h1ZmZsZSBzb21lIGNvZGUgYXJvdW5kIHRvIGF2b2lkIGNh
bGxpbmcgYHhjb2RlYnVpbGQgLXNob3dzZGtzYAorICAgICAgICB3aGVyZSB3ZSBjYW4uICBUaGlz
IHJlZHVjZXMgdGhlIHRpbWUgc3BlbnQgaW4gcnVuLW1pbmlicm93c2VyIGJlZm9yZQorICAgICAg
ICBNaW5pQnJvd3NlciBpcyBsYXVuY2hlZCAoY3J1ZGVseSBtZWFzdXJlZCB3aXRoIGB0aW1lIHJ1
bi1taW5pYnJvd3NlcgorICAgICAgICAtLWhlbHBgKSBmcm9tIDJzIHRvIDAuNnMgb24gdGhpcyBt
YWNoaW5lLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocmVh
ZFhjb2RlVXNlckRlZmF1bHQpOgorICAgICAgICAoZGV0ZXJtaW5lQXJjaGl0ZWN0dXJlKToKKyAg
ICAgICAgKGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoYXZhaWxhYmxlWGNv
ZGVTREtzKToKKyAgICAgICAgKGlzVmFsaWRYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAg
IChkZXRlcm1pbmVYY29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1pbmVYY29k
ZVNESyk6CisgICAgICAgICh4Y29kZVNES1BsYXRmb3JtTmFtZSk6CisgICAgICAgIChkZXRlcm1p
bmVQb3J0TmFtZSk6CisKIDIwMjEtMDMtMjMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSB3b3JrZXIgbG9hZHMgYXJlIG5vdCBtYXJr
ZWQgYXMgYXBwLWJvdW5kCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0g
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggZmFiYTBhOTAzMDQ3M2IxNGM1MDAy
N2JiNzE5YWRlNGUxNzc4ZWZmYy4uMzFiZDhhMjZmZTczMzU1ZDA0NDUxNDBhMzA1YzA3ZTQ2NjE0
Njc1ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTQwLDYgKzE0MCw3IEBAIG15ICRiYXNlUHJvZHVj
dERpcjsKIG15IEBiYXNlUHJvZHVjdERpck9wdGlvbjsKIG15ICRjb25maWd1cmF0aW9uOwogbXkg
JHhjb2RlU0RLOworbXkgJHhjb2RlU0RLUGxhdGZvcm1OYW1lOwogbXkgJHNpbXVsYXRvcklkaW9t
OwogbXkgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CiBteSAkY29uZmlndXJhdGlvblBy
b2R1Y3REaXI7CkBAIC00MDAsMTMgKzQwMSwxMyBAQCBzdWIgZGV0ZXJtaW5lQXJjaGl0ZWN0dXJl
CiAgICAgICAgIGlmICgkYXJjaGl0ZWN0dXJlKSB7CiAgICAgICAgICAgICBjaG9tcCAkYXJjaGl0
ZWN0dXJlOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKCR4Y29kZVNESyA9fiAv
XmlwaG9uZW9zLykgeworICAgICAgICAgICAgaWYgKCR4Y29kZVNESyBlcSAvaXBob25lb3MvKSB7
CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NCc7Ci0gICAgICAgICAgICB9
IGVsc2lmICgkeGNvZGVTREsgPX4gL153YXRjaHNpbXVsYXRvci8pIHsKKyAgICAgICAgICAgIH0g
ZWxzaWYgKCR4Y29kZVNESyBlcSAvd2F0Y2hzaW11bGF0b3IvKSB7CiAgICAgICAgICAgICAgICAg
JGFyY2hpdGVjdHVyZSA9ICdpMzg2JzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9
fiAvXndhdGNob3MvKSB7CisgICAgICAgICAgICB9IGVsc2lmICgkeGNvZGVTREsgZXEgL3dhdGNo
b3MvKSB7CiAgICAgICAgICAgICAgICAgJGFyY2hpdGVjdHVyZSA9ICdhcm02NF8zMiBhcm02NGUg
YXJtdjdrJzsKLSAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9fiAvXmFwcGxldHZvcy8p
IHsKKyAgICAgICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyBlcSAvYXBwbGV0dm9zLykgewogICAg
ICAgICAgICAgICAgICRhcmNoaXRlY3R1cmUgPSAnYXJtNjQnOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CkBAIC01NDksNyArNTUwLDcgQEAgc3ViIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24o
KQogICAgIGRldGVybWluZUNvbmZpZ3VyYXRpb24oKTsKICAgICBkZXRlcm1pbmVBcmNoaXRlY3R1
cmUoKTsKICAgICBpZiAoaXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKLSAgICAgICAgZGV0ZXJtaW5l
WGNvZGVTREsoKTsKKyAgICAgICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsKICAg
ICB9CiAKICAgICBteSBAYXJncyA9ICgpOwpAQCAtNTU3LDE0ICs1NTgsMTQgQEAgc3ViIGFyZ3Vt
ZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgICMgVGhlc2UgYXJlIGRldGVybWluZWQgYXV0b21h
dGljYWxseSBmcm9tIHN0b3JlZCBjb25maWd1cmF0aW9uLgogICAgIHB1c2goQGFyZ3MsICctLWRl
YnVnJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeRGVidWciKTsKICAgICBwdXNoKEBhcmdzLCAn
LS1yZWxlYXNlJykgaWYgKCRjb25maWd1cmF0aW9uID1+ICJeUmVsZWFzZSIpOwotICAgIHB1c2go
QGFyZ3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RL
ID1+IC9eaXBob25lb3MvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pb3Mtc2ltdWxhdG9yJykgaWYg
KGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmlwaG9uZXNpbXVsYXRvci8gJiYg
JHNpbXVsYXRvcklkaW9tIGVxICJpUGhvbmUiKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNp
bXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15pcGhvbmVz
aW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOwotICAgIHB1c2goQGFyZ3Ms
ICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAv
XmFwcGxldHZvcy8pOwotICAgIHB1c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRl
ZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmFwcGxldHZzaW11bGF0b3IvKTsKLSAg
ICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNESyAm
JiAkeGNvZGVTREsgPX4gL153YXRjaG9zLyk7Ci0gICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1z
aW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RLID1+IC9ed2F0Y2hz
aW11bGF0b3IvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVk
ICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15tYWNjYXRhbHlzdC8pOworICAgIHB1c2goQGFy
Z3MsICctLWlvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgJiYg
JHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9eaXBob25lb3MvKTsKKyAgICBwdXNoKEBhcmdzLCAn
LS1pb3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZvcm1OYW1lICYmICR4
Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmlwaG9uZXNpbXVsYXRvci8gJiYgJHNpbXVsYXRvcklk
aW9tIGVxICJpUGhvbmUiKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNpbXVsYXRvcicpIGlm
IChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUg
ZXEgL15pcGhvbmVzaW11bGF0b3IvICYmICRzaW11bGF0b3JJZGlvbSBlcSAiaVBhZCIpOworICAg
IHB1c2goQGFyZ3MsICctLXR2b3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZvcy8pOworICAgIHB1
c2goQGFyZ3MsICctLXR2b3Mtc2ltdWxhdG9yJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLUGxhdGZv
cm1OYW1lICYmICR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAvXmFwcGxldHZzaW11bGF0b3IvKTsK
KyAgICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNE
S1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL153YXRjaG9zLyk7Cisg
ICAgcHVzaChAYXJncywgJy0td2F0Y2hvcy1zaW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVT
REtQbGF0Zm9ybU5hbWUgJiYgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxIC9ed2F0Y2hzaW11bGF0
b3IvKTsKKyAgICBwdXNoKEBhcmdzLCAnLS1tYWNjYXRhbHlzdCcpIGlmIChkZWZpbmVkICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgL15tYWNjYXRhbHlz
dC8pOwogICAgIHB1c2goQGFyZ3MsICctLTMyLWJpdCcpIGlmICgkYXJjaGl0ZWN0dXJlIGVxICJ4
ODYiIGFuZCAhaXNXaW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS02NC1iaXQnKSBpZiAoaXNX
aW42NCgpKTsKICAgICBwdXNoKEBhcmdzLCAnLS1mdHcnKSBpZiBpc0ZUVygpOwpAQCAtNjIyLDUz
ICs2MjMsNzYgQEAgc3ViIGF2YWlsYWJsZVhjb2RlU0RLcwogICAgIHJldHVybiBwYXJzZUF2YWls
YWJsZVhjb2RlU0RLcyhcQG91dHB1dCk7CiB9CiAKLXN1YiBkZXRlcm1pbmVYY29kZVNESwotewot
ICAgIHJldHVybiBpZiBkZWZpbmVkICR4Y29kZVNESzsKK3N1YiBpc1ZhbGlkWGNvZGVTREtQbGF0
Zm9ybU5hbWUoJCkgeworICAgIG15ICRuYW1lID0gc2hpZnQ7CisgICAgbXkgQHBsYXRmb3JtcyA9
IHF3KAorICAgICAgICBhcHBsZXR2b3MKKyAgICAgICAgYXBwbGV0dnNpbXVsYXRvcgorICAgICAg
ICBpcGhvbmVvcworICAgICAgICBpcGhvbmVzaW11bGF0b3IKKyAgICAgICAgbWFjb3N4CisgICAg
ICAgIHdhdGNob3MKKyAgICAgICAgd2F0Y2hzaW11bGF0b3IKKyAgICAgICAgbWFjY2F0YWx5c3QK
KyAgICApOworICAgIHJldHVybiBncmVwIHsgJF8gZXEgJG5hbWUgfSBAcGxhdGZvcm1zOworfQor
CitzdWIgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUgeworICAgIHJldHVybiBpZiBkZWZp
bmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZTsKICAgICBteSAkc2RrOwogICAgIAogICAgICMgVGhl
IHVzZXIgZXhwbGljaXRseSBzcGVjaWZpZWQgdGhlIHNkaywgZG9uJ3QgYXNzdW1lIGFueXRoaW5n
CiAgICAgaWYgKGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVkdldHRpbmdWYWx1ZSgi
LS1zZGsiLCBcJHNkaykpIHsKLSAgICAgICAgJHhjb2RlU0RLID0gJHNkazsKKyAgICAgICAgJHhj
b2RlU0RLID0gbGMgJHNkazsKKyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID0gJHNkazsK
KyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID1+IHMvXC5pbnRlcm5hbCQvLzsKKyAgICAg
ICAgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgcGxhdGZvcm0gbmFtZSBmcm9tIFhjb2RlIFNESyIg
dW5sZXNzIGlzVmFsaWRYY29kZVNES1BsYXRmb3JtTmFtZSgkeGNvZGVTREtQbGF0Zm9ybU5hbWUp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVt
b3ZlRnJvbUFSR1YoIi0tZGV2aWNlIikgfHwgY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21B
UkdWKCItLWlvcy1kZXZpY2UiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJpcGhvbmVvcyI7
CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gImlwaG9uZW9zIjsKICAgICB9CiAg
ICAgaWYgKGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS1zaW11bGF0b3IiKSB8
fCBjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0taW9zLXNpbXVsYXRvciIpKSB7
Ci0gICAgICAgICR4Y29kZVNESyB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CisgICAgICAgICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSB8fD0gJ2lwaG9uZXNpbXVsYXRvcic7CiAgICAgICAgICRzaW11bGF0
b3JJZGlvbSA9ICdpUGhvbmUnOwogICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJl
bW92ZUZyb21BUkdWKCItLWlwYWQtc2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8
PSAnaXBob25lc2ltdWxhdG9yJzsKKyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIHx8PSAn
aXBob25lc2ltdWxhdG9yJzsKICAgICAgICAgJHNpbXVsYXRvcklkaW9tID0gJ2lQYWQnOwogICAg
IH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXR2b3MtZGV2
aWNlIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAgImFwcGxldHZvcyI7CisgICAgICAgICR4
Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gImFwcGxldHZvcyI7CiAgICAgfQogICAgIGlmIChjaGVj
a0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0tdHZvcy1zaW11bGF0b3IiKSkgewotICAg
ICAgICAkeGNvZGVTREsgfHw9ICJhcHBsZXR2c2ltdWxhdG9yIjsKKyAgICAgICAgJHhjb2RlU0RL
UGxhdGZvcm1OYW1lIHx8PSAiYXBwbGV0dnNpbXVsYXRvciI7CiAgICAgfQogICAgIGlmIChjaGVj
a0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0td2F0Y2hvcy1kZXZpY2UiKSkgewotICAg
ICAgICAkeGNvZGVTREsgfHw9ICAid2F0Y2hvcyI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3Jt
TmFtZSB8fD0gIndhdGNob3MiOwogICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJl
bW92ZUZyb21BUkdWKCItLXdhdGNob3Mtc2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RL
IHx8PSAid2F0Y2hzaW11bGF0b3IiOworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9
ICJ3YXRjaHNpbXVsYXRvciI7CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVt
b3ZlRnJvbUFSR1YoIi0tbWFjY2F0YWx5c3QiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJt
YWNjYXRhbHlzdCI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gIm1hY2NhdGFs
eXN0IjsKICAgICB9CiAKICAgICAjIEZpbmFsbHksIGZhbGwgYmFjayB0byBtYWNPUyBpZiBubyBw
bGF0Zm9ybSBpcyBzcGVjaWZpZWQuCi0gICAgaWYgKCFkZWZpbmVkICR4Y29kZVNESykgewotICAg
ICAgICAkeGNvZGVTREsgPSAibWFjb3N4IjsKLSAgICB9Ci0gICAgCisgICAgJHhjb2RlU0RLUGxh
dGZvcm1OYW1lIHx8PSAibWFjb3N4IjsKK30KKworc3ViIGRldGVybWluZVhjb2RlU0RLCit7Cisg
ICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsgICMgVGhpcyBjYW4gc2V0ICR4Y29k
ZVNESyBpZiAtLXNkayB3YXMgdXNlZC4KKyAgICByZXR1cm4gaWYgZGVmaW5lZCAkeGNvZGVTREs7
CisKKyAgICAkeGNvZGVTREsgPSAkeGNvZGVTREtQbGF0Zm9ybU5hbWU7CisKICAgICAjIFByZWZl
ciB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiBhbiBzZGssIGlmIGl0IGV4aXN0cy4KICAgICBteSBA
YXZhaWxhYmxlU0RLcyA9IGF2YWlsYWJsZVhjb2RlU0RLcygpOwogCiAgICAgZm9yZWFjaCBteSAk
c2RrIChAYXZhaWxhYmxlU0RLcykgewotICAgICAgICBuZXh0IGlmICRzZGsgbmUgIiR4Y29kZVNE
Sy5pbnRlcm5hbCI7CisgICAgICAgIG5leHQgaWYgJHNkayBuZSAiJHhjb2RlU0RLUGxhdGZvcm1O
YW1lLmludGVybmFsIjsKICAgICAgICAgJHhjb2RlU0RLID0gJHNkazsKICAgICAgICAgbGFzdDsK
ICAgICB9CkBAIC02ODUsMjAgKzcwOSwxMCBAQCBzdWIgc2V0WGNvZGVTREsoJCkKICAgICAoJHhj
b2RlU0RLKSA9IEBfOwogfQogCi0KLXN1YiB4Y29kZVNES1BsYXRmb3JtTmFtZSgpCitzdWIgeGNv
ZGVTREtQbGF0Zm9ybU5hbWUKIHsKLSAgICBkZXRlcm1pbmVYY29kZVNESygpOwotICAgIHJldHVy
biAiIiBpZiAhZGVmaW5lZCAkeGNvZGVTREs7Ci0gICAgcmV0dXJuICJhcHBsZXR2b3MiIGlmICR4
Y29kZVNESyA9fiAvYXBwbGV0dm9zL2k7Ci0gICAgcmV0dXJuICJhcHBsZXR2c2ltdWxhdG9yIiBp
ZiAkeGNvZGVTREsgPX4gL2FwcGxldHZzaW11bGF0b3IvaTsKLSAgICByZXR1cm4gImlwaG9uZW9z
IiBpZiAkeGNvZGVTREsgPX4gL2lwaG9uZW9zL2k7Ci0gICAgcmV0dXJuICJpcGhvbmVzaW11bGF0
b3IiIGlmICR4Y29kZVNESyA9fiAvaXBob25lc2ltdWxhdG9yL2k7Ci0gICAgcmV0dXJuICJtYWNv
c3giIGlmICR4Y29kZVNESyA9fiAvbWFjb3N4L2k7Ci0gICAgcmV0dXJuICJ3YXRjaG9zIiBpZiAk
eGNvZGVTREsgPX4gL3dhdGNob3MvaTsKLSAgICByZXR1cm4gIndhdGNoc2ltdWxhdG9yIiBpZiAk
eGNvZGVTREsgPX4gL3dhdGNoc2ltdWxhdG9yL2k7Ci0gICAgcmV0dXJuICJtYWNjYXRhbHlzdCIg
aWYgJHhjb2RlU0RLID1+IC9tYWNjYXRhbHlzdC9pOwotICAgIGRpZSAiQ291bGRuJ3QgZGV0ZXJt
aW5lIHBsYXRmb3JtIG5hbWUgZnJvbSBYY29kZSBTREsiOworICAgIGRldGVybWluZVhjb2RlU0RL
UGxhdGZvcm1OYW1lKCk7CisgICAgcmV0dXJuICR4Y29kZVNES1BsYXRmb3JtTmFtZTsKIH0KIAog
c3ViIFhjb2RlU0RLUGF0aApAQCAtMTM0NCw3ICsxMzU4LDcgQEAgc3ViIGRldGVybWluZVBvcnRO
YW1lKCkKICAgICBpZiAoaXNBbnlXaW5kb3dzKCkpIHsKICAgICAgICAgJHBvcnROYW1lID0gQXBw
bGVXaW47CiAgICAgfSBlbHNpZiAoaXNEYXJ3aW4oKSkgewotICAgICAgICBkZXRlcm1pbmVYY29k
ZVNESygpOworICAgICAgICBkZXRlcm1pbmVYY29kZVNES1BsYXRmb3JtTmFtZSgpOwogICAgICAg
ICBpZiAod2lsbFVzZUlPU0RldmljZVNESygpIHx8IHdpbGxVc2VJT1NTaW11bGF0b3JTREsoKSkg
ewogICAgICAgICAgICAgJHBvcnROYW1lID0gaU9TOwogICAgICAgICB9IGVsc2lmICh3aWxsVXNl
QXBwbGVUVkRldmljZVNESygpIHx8IHdpbGxVc2VBcHBsZVRWU2ltdWxhdG9yU0RLKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424600</attachid>
            <date>2021-03-29 16:27:21 -0700</date>
            <delta_ts>2021-03-29 19:42:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223727-20210330102719.patch</filename>
            <type>text/plain</type>
            <size>9770</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MTc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODRlNjY0MmI1OTRkOGQ2ZmU0M2IyOTljNGY1MzM5Mjg4
YjE1OGUzNy4uOGFhMmIwNDE0YWRkMjg1NzI1ZWVmZjZlMGFiY2UzYzg3MTZiY2I5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDIxLTAzLTI5ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQXZvaWQgY2FsbGluZyBgeGNvZGVidWlsZCAtc2hvd3Nka3NgIHdoZXJlIHBvc3Np
YmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBydW4tbWlu
aWJyb3dzZXIgbmVlZHMgdG8ga25vdyB3aGF0IHBvcnQgaXQncyBydW5uaW5nIG9uLCBzaW5jZSB0
aGF0CisgICAgICAgIGFmZmVjdHMgdGhlIGJ1aWxkIGRpcmVjdG9yeSB0byBsb29rIGluIHRvIGZp
bmQgdGhlIE1pbmlCcm93c2VyIGJpbmFyeS4KKyAgICAgICAgT24gbWFjT1MsIHdlYmtpdGRpcnMu
cG0ncyBkZXRlcm1pbmVQb3J0TmFtZSBlbmRzIHVwIHJ1bm5pbmcKKyAgICAgICAgYHhjb2RlYnVp
bGQgLXNob3dzZGtzYCB0byBzZWUgaWYgdGhlIGN1cnJlbnQgU0RLIGhhcyBhbiBpbnRlcm5hbAor
ICAgICAgICB2YXJpYW50IGF2YWlsYWJsZSwgYnV0IHRoaXMgaXMgc2xvdy4gIEJ1dCB3ZSBkb24n
dCBuZWVkIHRvIGtub3cgdGhlCisgICAgICAgIGV4YWN0IFNESyBuYW1lIGhlcmUsIGp1c3QgdGhl
IFNESyBwbGF0Zm9ybSBuYW1lLCB0byBkZXRlcm1pbmUgdGhlCisgICAgICAgIHBvcnQgbmFtZS4K
KworICAgICAgICBTbyB3ZSBzaHVmZmxlIHNvbWUgY29kZSBhcm91bmQgdG8gYXZvaWQgY2FsbGlu
ZyBgeGNvZGVidWlsZCAtc2hvd3Nka3NgCisgICAgICAgIHdoZXJlIHdlIGNhbi4gIFRoaXMgcmVk
dWNlcyB0aGUgdGltZSBzcGVudCBpbiBydW4tbWluaWJyb3dzZXIgYmVmb3JlCisgICAgICAgIE1p
bmlCcm93c2VyIGlzIGxhdW5jaGVkIChjcnVkZWx5IG1lYXN1cmVkIHdpdGggYHRpbWUgcnVuLW1p
bmlicm93c2VyCisgICAgICAgIC0taGVscGApIGZyb20gMnMgdG8gMC42cyBvbiB0aGlzIG1hY2hp
bmUuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIChyZWFkWGNv
ZGVVc2VyRGVmYXVsdCk6CisgICAgICAgIChkZXRlcm1pbmVBcmNoaXRlY3R1cmUpOgorICAgICAg
ICAoYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbik6CisgICAgICAgIChhdmFpbGFibGVYY29kZVNE
S3MpOgorICAgICAgICAoaXNWYWxpZFhjb2RlU0RLUGxhdGZvcm1OYW1lKToKKyAgICAgICAgKGRl
dGVybWluZVhjb2RlU0RLUGxhdGZvcm1OYW1lKToKKyAgICAgICAgKGRldGVybWluZVhjb2RlU0RL
KToKKyAgICAgICAgKHNldFhjb2RlU0RLKToKKyAgICAgICAgKHhjb2RlU0RLUGxhdGZvcm1OYW1l
KToKKyAgICAgICAgKGRldGVybWluZVBvcnROYW1lKToKKwogMjAyMS0wMy0yOSAgUnlhbiBIYWRk
YWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI3NTE3MC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCAxOTA4NTFlOGVkZGJiMDExNTViZjdlYTkw
ODlmNDMzODAxMzc4MGMxLi5mOTkyM2YzNDUzNmY1ZDc4YjFjYzM2OTdhZDZiNmE1NTJkN2UxZDU1
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCkBAIC0xNDEsNiArMTQxLDcgQEAgbXkgJGJhc2VQcm9kdWN0RGly
OwogbXkgQGJhc2VQcm9kdWN0RGlyT3B0aW9uOwogbXkgJGNvbmZpZ3VyYXRpb247CiBteSAkeGNv
ZGVTREs7CitteSAkeGNvZGVTREtQbGF0Zm9ybU5hbWU7CiBteSAkc2ltdWxhdG9ySWRpb207CiBt
eSAkY29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbzsKIG15ICRjb25maWd1cmF0aW9uUHJvZHVj
dERpcjsKQEAgLTQwMSwxMyArNDAyLDEzIEBAIHN1YiBkZXRlcm1pbmVBcmNoaXRlY3R1cmUKICAg
ICAgICAgaWYgKCRhcmNoaXRlY3R1cmUpIHsKICAgICAgICAgICAgIGNob21wICRhcmNoaXRlY3R1
cmU7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoJHhjb2RlU0RLID1+IC9eaXBo
b25lb3MvKSB7CisgICAgICAgICAgICBpZiAoJHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxICdpcGhv
bmVvcycpIHsKICAgICAgICAgICAgICAgICAkYXJjaGl0ZWN0dXJlID0gJ2FybTY0JzsKLSAgICAg
ICAgICAgIH0gZWxzaWYgKCR4Y29kZVNESyA9fiAvXndhdGNoc2ltdWxhdG9yLykgeworICAgICAg
ICAgICAgfSBlbHNpZiAoJHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxICd3YXRjaHNpbXVsYXRvcicp
IHsKICAgICAgICAgICAgICAgICAkYXJjaGl0ZWN0dXJlID0gJ2kzODYnOwotICAgICAgICAgICAg
fSBlbHNpZiAoJHhjb2RlU0RLID1+IC9ed2F0Y2hvcy8pIHsKKyAgICAgICAgICAgIH0gZWxzaWYg
KCR4Y29kZVNES1BsYXRmb3JtTmFtZSBlcSAnd2F0Y2hvcycpIHsKICAgICAgICAgICAgICAgICAk
YXJjaGl0ZWN0dXJlID0gJ2FybTY0XzMyIGFybTY0ZSBhcm12N2snOwotICAgICAgICAgICAgfSBl
bHNpZiAoJHhjb2RlU0RLID1+IC9eYXBwbGV0dm9zLykgeworICAgICAgICAgICAgfSBlbHNpZiAo
JHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxICdhcHBsZXR2b3MnKSB7CiAgICAgICAgICAgICAgICAg
JGFyY2hpdGVjdHVyZSA9ICdhcm02NCc7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTU1
Myw3ICs1NTQsNyBAQCBzdWIgYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbigpCiAgICAgZGV0ZXJt
aW5lQ29uZmlndXJhdGlvbigpOwogICAgIGRldGVybWluZUFyY2hpdGVjdHVyZSgpOwogICAgIGlm
IChpc0FwcGxlQ29jb2FXZWJLaXQoKSkgewotICAgICAgICBkZXRlcm1pbmVYY29kZVNESygpOwor
ICAgICAgICBkZXRlcm1pbmVYY29kZVNES1BsYXRmb3JtTmFtZSgpOwogICAgIH0KIAogICAgIG15
IEBhcmdzID0gKCk7CkBAIC01NjEsMTQgKzU2MiwxNCBAQCBzdWIgYXJndW1lbnRzRm9yQ29uZmln
dXJhdGlvbigpCiAgICAgIyBUaGVzZSBhcmUgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5IGZyb20g
c3RvcmVkIGNvbmZpZ3VyYXRpb24uCiAgICAgcHVzaChAYXJncywgJy0tZGVidWcnKSBpZiAoJGNv
bmZpZ3VyYXRpb24gPX4gIl5EZWJ1ZyIpOwogICAgIHB1c2goQGFyZ3MsICctLXJlbGVhc2UnKSBp
ZiAoJGNvbmZpZ3VyYXRpb24gPX4gIl5SZWxlYXNlIik7Ci0gICAgcHVzaChAYXJncywgJy0taW9z
LWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL15pcGhvbmVv
cy8pOwotICAgIHB1c2goQGFyZ3MsICctLWlvcy1zaW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNv
ZGVTREsgJiYgJHhjb2RlU0RLID1+IC9eaXBob25lc2ltdWxhdG9yLyAmJiAkc2ltdWxhdG9ySWRp
b20gZXEgImlQaG9uZSIpOwotICAgIHB1c2goQGFyZ3MsICctLWlwYWQtc2ltdWxhdG9yJykgaWYg
KGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXmlwaG9uZXNpbXVsYXRvci8gJiYg
JHNpbXVsYXRvcklkaW9tIGVxICJpUGFkIik7Ci0gICAgcHVzaChAYXJncywgJy0tdHZvcy1kZXZp
Y2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREsgJiYgJHhjb2RlU0RLID1+IC9eYXBwbGV0dm9zLyk7
Ci0gICAgcHVzaChAYXJncywgJy0tdHZvcy1zaW11bGF0b3InKSBpZiAoZGVmaW5lZCAkeGNvZGVT
REsgJiYgJHhjb2RlU0RLID1+IC9eYXBwbGV0dnNpbXVsYXRvci8pOwotICAgIHB1c2goQGFyZ3Ms
ICctLXdhdGNob3MtZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9
fiAvXndhdGNob3MvKTsKLSAgICBwdXNoKEBhcmdzLCAnLS13YXRjaG9zLXNpbXVsYXRvcicpIGlm
IChkZWZpbmVkICR4Y29kZVNESyAmJiAkeGNvZGVTREsgPX4gL153YXRjaHNpbXVsYXRvci8pOwot
ICAgIHB1c2goQGFyZ3MsICctLW1hY2NhdGFseXN0JykgaWYgKGRlZmluZWQgJHhjb2RlU0RLICYm
ICR4Y29kZVNESyA9fiAvXm1hY2NhdGFseXN0Lyk7CisgICAgcHVzaChAYXJncywgJy0taW9zLWRl
dmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0
Zm9ybU5hbWUgZXEgJ2lwaG9uZW9zJyk7CisgICAgcHVzaChAYXJncywgJy0taW9zLXNpbXVsYXRv
cicpIGlmIChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9y
bU5hbWUgZXEgJ2lwaG9uZXNpbXVsYXRvcicgJiYgJHNpbXVsYXRvcklkaW9tIGVxICJpUGhvbmUi
KTsKKyAgICBwdXNoKEBhcmdzLCAnLS1pcGFkLXNpbXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29k
ZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgJ2lwaG9uZXNpbXVs
YXRvcicgJiYgJHNpbXVsYXRvcklkaW9tIGVxICJpUGFkIik7CisgICAgcHVzaChAYXJncywgJy0t
dHZvcy1kZXZpY2UnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgJiYgJHhjb2Rl
U0RLUGxhdGZvcm1OYW1lIGVxICdhcHBsZXR2b3MnKTsKKyAgICBwdXNoKEBhcmdzLCAnLS10dm9z
LXNpbXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAkeGNvZGVT
REtQbGF0Zm9ybU5hbWUgZXEgJ2FwcGxldHZzaW11bGF0b3InKTsKKyAgICBwdXNoKEBhcmdzLCAn
LS13YXRjaG9zLWRldmljZScpIGlmIChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAk
eGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgJ3dhdGNob3MnKTsKKyAgICBwdXNoKEBhcmdzLCAnLS13
YXRjaG9zLXNpbXVsYXRvcicpIGlmIChkZWZpbmVkICR4Y29kZVNES1BsYXRmb3JtTmFtZSAmJiAk
eGNvZGVTREtQbGF0Zm9ybU5hbWUgZXEgJ3dhdGNoc2ltdWxhdG9yJyk7CisgICAgcHVzaChAYXJn
cywgJy0tbWFjY2F0YWx5c3QnKSBpZiAoZGVmaW5lZCAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgJiYg
JHhjb2RlU0RLUGxhdGZvcm1OYW1lIGVxICdtYWNjYXRhbHlzdCcpOwogICAgIHB1c2goQGFyZ3Ms
ICctLTMyLWJpdCcpIGlmICgkYXJjaGl0ZWN0dXJlIGVxICJ4ODYiIGFuZCAhaXNXaW42NCgpKTsK
ICAgICBwdXNoKEBhcmdzLCAnLS02NC1iaXQnKSBpZiAoaXNXaW42NCgpKTsKICAgICBwdXNoKEBh
cmdzLCAnLS1mdHcnKSBpZiBpc0ZUVygpOwpAQCAtNjI2LDUzICs2MjcsNzYgQEAgc3ViIGF2YWls
YWJsZVhjb2RlU0RLcwogICAgIHJldHVybiBwYXJzZUF2YWlsYWJsZVhjb2RlU0RLcyhcQG91dHB1
dCk7CiB9CiAKLXN1YiBkZXRlcm1pbmVYY29kZVNESwotewotICAgIHJldHVybiBpZiBkZWZpbmVk
ICR4Y29kZVNESzsKK3N1YiBpc1ZhbGlkWGNvZGVTREtQbGF0Zm9ybU5hbWUoJCkgeworICAgIG15
ICRuYW1lID0gc2hpZnQ7CisgICAgbXkgQHBsYXRmb3JtcyA9IHF3KAorICAgICAgICBhcHBsZXR2
b3MKKyAgICAgICAgYXBwbGV0dnNpbXVsYXRvcgorICAgICAgICBpcGhvbmVvcworICAgICAgICBp
cGhvbmVzaW11bGF0b3IKKyAgICAgICAgbWFjb3N4CisgICAgICAgIHdhdGNob3MKKyAgICAgICAg
d2F0Y2hzaW11bGF0b3IKKyAgICAgICAgbWFjY2F0YWx5c3QKKyAgICApOworICAgIHJldHVybiBn
cmVwIHsgJF8gZXEgJG5hbWUgfSBAcGxhdGZvcm1zOworfQorCitzdWIgZGV0ZXJtaW5lWGNvZGVT
REtQbGF0Zm9ybU5hbWUgeworICAgIHJldHVybiBpZiBkZWZpbmVkICR4Y29kZVNES1BsYXRmb3Jt
TmFtZTsKICAgICBteSAkc2RrOwogICAgIAogICAgICMgVGhlIHVzZXIgZXhwbGljaXRseSBzcGVj
aWZpZWQgdGhlIHNkaywgZG9uJ3QgYXNzdW1lIGFueXRoaW5nCiAgICAgaWYgKGNoZWNrRm9yQXJn
dW1lbnRBbmRSZW1vdmVGcm9tQVJHVkdldHRpbmdWYWx1ZSgiLS1zZGsiLCBcJHNkaykpIHsKLSAg
ICAgICAgJHhjb2RlU0RLID0gJHNkazsKKyAgICAgICAgJHhjb2RlU0RLID0gbGMgJHNkazsKKyAg
ICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID0gJHNkazsKKyAgICAgICAgJHhjb2RlU0RLUGxh
dGZvcm1OYW1lID1+IHMvXC5pbnRlcm5hbCQvLzsKKyAgICAgICAgZGllICJDb3VsZG4ndCBkZXRl
cm1pbmUgcGxhdGZvcm0gbmFtZSBmcm9tIFhjb2RlIFNESyIgdW5sZXNzIGlzVmFsaWRYY29kZVNE
S1BsYXRmb3JtTmFtZSgkeGNvZGVTREtQbGF0Zm9ybU5hbWUpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0tZGV2aWNl
IikgfHwgY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLWlvcy1kZXZpY2UiKSkg
ewotICAgICAgICAkeGNvZGVTREsgfHw9ICJpcGhvbmVvcyI7CisgICAgICAgICR4Y29kZVNES1Bs
YXRmb3JtTmFtZSB8fD0gImlwaG9uZW9zIjsKICAgICB9CiAgICAgaWYgKGNoZWNrRm9yQXJndW1l
bnRBbmRSZW1vdmVGcm9tQVJHVigiLS1zaW11bGF0b3IiKSB8fCBjaGVja0ZvckFyZ3VtZW50QW5k
UmVtb3ZlRnJvbUFSR1YoIi0taW9zLXNpbXVsYXRvciIpKSB7Ci0gICAgICAgICR4Y29kZVNESyB8
fD0gJ2lwaG9uZXNpbXVsYXRvcic7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0g
J2lwaG9uZXNpbXVsYXRvcic7CiAgICAgICAgICRzaW11bGF0b3JJZGlvbSA9ICdpUGhvbmUnOwog
ICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLWlwYWQt
c2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAnaXBob25lc2ltdWxhdG9yJzsK
KyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIHx8PSAnaXBob25lc2ltdWxhdG9yJzsKICAg
ICAgICAgJHNpbXVsYXRvcklkaW9tID0gJ2lQYWQnOwogICAgIH0KICAgICBpZiAoY2hlY2tGb3JB
cmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXR2b3MtZGV2aWNlIikpIHsKLSAgICAgICAgJHhj
b2RlU0RLIHx8PSAgImFwcGxldHZvcyI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8
fD0gImFwcGxldHZvcyI7CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3Zl
RnJvbUFSR1YoIi0tdHZvcy1zaW11bGF0b3IiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJh
cHBsZXR2c2ltdWxhdG9yIjsKKyAgICAgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIHx8PSAiYXBw
bGV0dnNpbXVsYXRvciI7CiAgICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3Zl
RnJvbUFSR1YoIi0td2F0Y2hvcy1kZXZpY2UiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICAi
d2F0Y2hvcyI7CisgICAgICAgICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gIndhdGNob3MiOwog
ICAgIH0KICAgICBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLXdhdGNo
b3Mtc2ltdWxhdG9yIikpIHsKLSAgICAgICAgJHhjb2RlU0RLIHx8PSAid2F0Y2hzaW11bGF0b3Ii
OworICAgICAgICAkeGNvZGVTREtQbGF0Zm9ybU5hbWUgfHw9ICJ3YXRjaHNpbXVsYXRvciI7CiAg
ICAgfQogICAgIGlmIChjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1YoIi0tbWFjY2F0
YWx5c3QiKSkgewotICAgICAgICAkeGNvZGVTREsgfHw9ICJtYWNjYXRhbHlzdCI7CisgICAgICAg
ICR4Y29kZVNES1BsYXRmb3JtTmFtZSB8fD0gIm1hY2NhdGFseXN0IjsKICAgICB9CiAKICAgICAj
IEZpbmFsbHksIGZhbGwgYmFjayB0byBtYWNPUyBpZiBubyBwbGF0Zm9ybSBpcyBzcGVjaWZpZWQu
Ci0gICAgaWYgKCFkZWZpbmVkICR4Y29kZVNESykgewotICAgICAgICAkeGNvZGVTREsgPSAibWFj
b3N4IjsKLSAgICB9Ci0gICAgCisgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lIHx8PSAibWFjb3N4
IjsKK30KKworc3ViIGRldGVybWluZVhjb2RlU0RLCit7CisgICAgZGV0ZXJtaW5lWGNvZGVTREtQ
bGF0Zm9ybU5hbWUoKTsgICMgVGhpcyBjYW4gc2V0ICR4Y29kZVNESyBpZiAtLXNkayB3YXMgdXNl
ZC4KKyAgICByZXR1cm4gaWYgZGVmaW5lZCAkeGNvZGVTREs7CisKKyAgICAkeGNvZGVTREsgPSAk
eGNvZGVTREtQbGF0Zm9ybU5hbWU7CisKICAgICAjIFByZWZlciB0aGUgaW50ZXJuYWwgdmVyc2lv
biBvZiBhbiBzZGssIGlmIGl0IGV4aXN0cy4KICAgICBteSBAYXZhaWxhYmxlU0RLcyA9IGF2YWls
YWJsZVhjb2RlU0RLcygpOwogCiAgICAgZm9yZWFjaCBteSAkc2RrIChAYXZhaWxhYmxlU0RLcykg
ewotICAgICAgICBuZXh0IGlmICRzZGsgbmUgIiR4Y29kZVNESy5pbnRlcm5hbCI7CisgICAgICAg
IG5leHQgaWYgJHNkayBuZSAiJHhjb2RlU0RLUGxhdGZvcm1OYW1lLmludGVybmFsIjsKICAgICAg
ICAgJHhjb2RlU0RLID0gJHNkazsKICAgICAgICAgbGFzdDsKICAgICB9CkBAIC02ODcsMjIgKzcx
MSwxNCBAQCBzdWIgeGNvZGVTREsKIHN1YiBzZXRYY29kZVNESygkKQogewogICAgICgkeGNvZGVT
REspID0gQF87CisgICAgJHhjb2RlU0RLUGxhdGZvcm1OYW1lID0gJHhjb2RlU0RLOworICAgICR4
Y29kZVNES1BsYXRmb3JtTmFtZSA9fiBzL1wuaW50ZXJuYWwkLy87CiB9CiAKLQotc3ViIHhjb2Rl
U0RLUGxhdGZvcm1OYW1lKCkKK3N1YiB4Y29kZVNES1BsYXRmb3JtTmFtZQogewotICAgIGRldGVy
bWluZVhjb2RlU0RLKCk7Ci0gICAgcmV0dXJuICIiIGlmICFkZWZpbmVkICR4Y29kZVNESzsKLSAg
ICByZXR1cm4gImFwcGxldHZvcyIgaWYgJHhjb2RlU0RLID1+IC9hcHBsZXR2b3MvaTsKLSAgICBy
ZXR1cm4gImFwcGxldHZzaW11bGF0b3IiIGlmICR4Y29kZVNESyA9fiAvYXBwbGV0dnNpbXVsYXRv
ci9pOwotICAgIHJldHVybiAiaXBob25lb3MiIGlmICR4Y29kZVNESyA9fiAvaXBob25lb3MvaTsK
LSAgICByZXR1cm4gImlwaG9uZXNpbXVsYXRvciIgaWYgJHhjb2RlU0RLID1+IC9pcGhvbmVzaW11
bGF0b3IvaTsKLSAgICByZXR1cm4gIm1hY29zeCIgaWYgJHhjb2RlU0RLID1+IC9tYWNvc3gvaTsK
LSAgICByZXR1cm4gIndhdGNob3MiIGlmICR4Y29kZVNESyA9fiAvd2F0Y2hvcy9pOwotICAgIHJl
dHVybiAid2F0Y2hzaW11bGF0b3IiIGlmICR4Y29kZVNESyA9fiAvd2F0Y2hzaW11bGF0b3IvaTsK
LSAgICByZXR1cm4gIm1hY2NhdGFseXN0IiBpZiAkeGNvZGVTREsgPX4gL21hY2NhdGFseXN0L2k7
Ci0gICAgZGllICJDb3VsZG4ndCBkZXRlcm1pbmUgcGxhdGZvcm0gbmFtZSBmcm9tIFhjb2RlIFNE
SyI7CisgICAgZGV0ZXJtaW5lWGNvZGVTREtQbGF0Zm9ybU5hbWUoKTsKKyAgICByZXR1cm4gJHhj
b2RlU0RLUGxhdGZvcm1OYW1lOwogfQogCiBzdWIgWGNvZGVTREtQYXRoCkBAIC0xMzU2LDcgKzEz
NzIsNyBAQCBzdWIgZGV0ZXJtaW5lUG9ydE5hbWUoKQogICAgIGlmIChpc0FueVdpbmRvd3MoKSkg
ewogICAgICAgICAkcG9ydE5hbWUgPSBBcHBsZVdpbjsKICAgICB9IGVsc2lmIChpc0Rhcndpbigp
KSB7Ci0gICAgICAgIGRldGVybWluZVhjb2RlU0RLKCk7CisgICAgICAgIGRldGVybWluZVhjb2Rl
U0RLUGxhdGZvcm1OYW1lKCk7CiAgICAgICAgIGlmICh3aWxsVXNlSU9TRGV2aWNlU0RLKCkgfHwg
d2lsbFVzZUlPU1NpbXVsYXRvclNESygpKSB7CiAgICAgICAgICAgICAkcG9ydE5hbWUgPSBpT1M7
CiAgICAgICAgIH0gZWxzaWYgKHdpbGxVc2VBcHBsZVRWRGV2aWNlU0RLKCkgfHwgd2lsbFVzZUFw
cGxlVFZTaW11bGF0b3JTREsoKSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>