<?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>215781</bug_id>
          
          <creation_ts>2020-08-24 13:26:29 -0700</creation_ts>
          <short_desc>[macOS] Update audio arbitration manager when audio transport changes</short_desc>
          <delta_ts>2020-08-25 09:15:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1682440</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-24 13:26:29 -0700</bug_when>
    <thetext>Update audio arbitration manager when audio transport changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682441</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-24 13:26:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/65920613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682447</commentid>
    <comment_count>2</comment_count>
      <attachid>407131</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-24 13:43:29 -0700</bug_when>
    <thetext>Created attachment 407131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682459</commentid>
    <comment_count>3</comment_count>
      <attachid>407135</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-24 14:25:12 -0700</bug_when>
    <thetext>Created attachment 407135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682469</commentid>
    <comment_count>4</comment_count>
      <attachid>407135</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-08-24 15:11:30 -0700</bug_when>
    <thetext>Comment on attachment 407135
Patch

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

&gt; Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:58
&gt; +      &lt;CommandLineArguments&gt;
&gt; +         &lt;CommandLineArgument
&gt; +            argument = &quot;--gtest_filter=AudioRoutingArbitration.Updating&quot;
&gt; +            isEnabled = &quot;YES&quot;&gt;
&gt; +         &lt;/CommandLineArgument&gt;
&gt; +      &lt;/CommandLineArguments&gt;

Nit: probably don&apos;t need to land this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682481</commentid>
    <comment_count>5</comment_count>
      <attachid>407144</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-08-24 15:36:16 -0700</bug_when>
    <thetext>Created attachment 407144
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682669</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-25 09:15:39 -0700</bug_when>
    <thetext>Committed r266121: &lt;https://trac.webkit.org/changeset/266121&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407144.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407131</attachid>
            <date>2020-08-24 13:43:29 -0700</date>
            <delta_ts>2020-08-24 14:25:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215781-20200824134328.patch</filename>
            <type>text/plain</type>
            <size>23287</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU3NmRkZWY3ZTdhMDdj
NTVlMmE5ZThkNGFkOTZjZjc4YmYyN2E5OC4uNTQ2MGVhMzQ0Y2UwZWY1YmY1NzYzOTg1MWE3NDY5
NjUxNzUyZGM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA4LTI0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gVXBk
YXRlIGF1ZGlvIGFyYml0cmF0aW9uIG1hbmFnZXIgd2hlbiBhdWRpbyB0cmFuc3BvcnQgY2hhbmdl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1Nzgx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTkyMDYxMz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHVwZGF0ZWQgQXVkaW9S
b3V0aW5nQXJiaXRyYXRpb24gQVBJIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9B
dWRpb1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjphdWRpb091
dHB1dERldmljZUNoYW5nZWQpOiBBZGQgZW1wdHkgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6
c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZSk6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hOjphdWRpb091dHB1dERldmljZUNoYW5nZWQpOiBDYWxsIEF1
ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkLgorCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1
bHREZXZpY2VUcmFuc3BvcnRJc0JsdWV0b290aCk6IE5ldy4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKTogQ2xlYXIgbV9wcml2YXRlLT5w
bGF5aW5nVG9CbHVldG9vdGgKKyAgICAgICAgaWYgYmx1ZXRvb3RoIHRyYW5zcG9ydCBoYXMgY2hh
bmdlZCBzaW5jZSB0aGUgbGFzdCBhcmJpdHJhdGlvbiB1cGRhdGUuCisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUpOiBBbGxvdyBv
dmVycmlkZSBvZiBibHVldG9vdGgKKyAgICAgICAgdHJhbnNwb3J0IGZvciB0ZXN0aW5nLgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpzZXRDYXRlZ29yeSk6IFVwZGF0ZSByb3V0aW5n
IGFyYml0cmF0aW9uIGlmIGF1ZGlvIHNlc3Npb24gY2F0ZWdvcnkKKyAgICAgICAgb3IgYmx1ZXRv
b3RoIHRyYW5zcG9ydCBjaGFuZ2VzLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92
ZXJyaWRlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMC0wOC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFdhdmVTaGFwZXJOb2RlIHNob3VsZCBub3Qgb3V0cHV0IHNpbGVu
Y2Ugd2hlbiBpdCBoYXMgbm8gaW5wdXQgb3Igd2hlbiBpbnB1dCBpcyBzaWxlbmNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDA4ZjQyODI3NmFjY2U3NDdiMmQ1MDlkNDU0NTlhNGQ0Y2U4MDcwMzguLjkzOWQzNDBkNTJk
MjE4ODM0ZGQzMDgwZjkyMzQ4NjJjYzY3NjQyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjAtMDgtMjQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBVcGRhdGUgYXVkaW8gYXJiaXRyYXRpb24gbWFuYWdlciB3aGVuIGF1ZGlv
IHRyYW5zcG9ydCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTU3ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTIwNjEzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWVdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OjphcmJpdHJhdGlvblVw
ZGF0ZVRpbWUgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9u
V2l0aENhdGVnb3J5KToKKwogMjAyMC0wOC0xNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTWFjXSBBZGQgRXhwZXJpbWVudGFsIEZlYXR1cmUgcHJlZmVyZW5j
ZSBmb3IgU1cgVlA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNz
aW9uLmNwcAppbmRleCA1MWE4ZDNhMjgyNjBjNjMzMzEwM2YxMDdlYmFkYzRlOTRjNWNkYjdlLi5l
NTE3ZDNhNTI2NjgzY2ZlNzQyYTI2ZjNmNTg5YWU5ZGI1ODcwNTQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKQEAgLTE2Myw2ICsxNjMsMTkg
QEAgU3RyaW5nIEF1ZGlvU2Vzc2lvbjo6cm91dGluZ0NvbnRleHRVSUQoKSBjb25zdAogCiAjZW5k
aWYgLy8gIVBMQVRGT1JNKENPQ09BKQogCisjaWYgIVBMQVRGT1JNKE1BQykKK3ZvaWQgQXVkaW9T
ZXNzaW9uOjphdWRpb091dHB1dERldmljZUNoYW5nZWQoKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgc2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZShPcHRpb25hbDxi
b29sPikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmIC8vICFQTEFURk9STShD
T0NPQSkKKworCiBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUm91dGVTaGFyaW5n
UG9saWN5IGVudW1lcmF0aW9uVmFsdWUpCiB7CiAgICAgc3RhdGljIGNvbnN0IE5ldmVyRGVzdHJv
eWVkPFN0cmluZz4gdmFsdWVzW10gPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvU2Vzc2lvbi5oCmluZGV4IDkwNzE4M2JkYjJiZDQxM2VlYWM1Njk2N2NjMDMwZTA0MDg2
NmQ1Y2IuLmUwMmQ0ZmQ2NzBkY2VlMjhjZjhhZDQzZTRlZDcyY2FmMmJhZjRiOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCkBAIC05Nyw2ICs5Nyw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZE11dGVkU3RhdGVPYnNlcnZlcihNdXRlZFN0YXRlT2Jz
ZXJ2ZXIqKTsKICAgICB2b2lkIHJlbW92ZU11dGVkU3RhdGVPYnNlcnZlcihNdXRlZFN0YXRlT2Jz
ZXJ2ZXIqKTsKIAorICAgIHZvaWQgYXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKCk7CisgICAgdm9p
ZCBzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKE9wdGlvbmFsPGJvb2w+KTsKKwogICAg
IHZpcnR1YWwgYm9vbCBpc011dGVkKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU11
dGVkU3RhdGVDaGFuZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaAppbmRleCBlZThl
OTg2NTM1MTI5ZDY5MWZiNTg3NGY4ZjNjOTE5ZjUzY2NhMjJlLi40MWJhMmQ1MGM4YWE2YWFiYTk5
NjI3NTk1ZWUwNDJkZTQ2YjcyYTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaApAQCAt
OTYsNyArOTYsNyBAQCBwcml2YXRlOgogICAgIC8vIEF1ZGlvSGFyZHdhcmVMaXN0ZW5lckNsaWVu
dAogICAgIHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUFjdGl2ZSgpIGZpbmFsIHsgfQogICAg
IHZvaWQgYXVkaW9IYXJkd2FyZURpZEJlY29tZUluYWN0aXZlKCkgZmluYWwgeyB9Ci0gICAgdm9p
ZCBhdWRpb091dHB1dERldmljZUNoYW5nZWQoKSBmaW5hbCB7IHVwZGF0ZVNlc3Npb25TdGF0ZSgp
OyB9CisgICAgdm9pZCBhdWRpb091dHB1dERldmljZUNoYW5nZWQoKSBmaW5hbDsKIAogICAgIC8v
IFBBTDo6U3lzdGVtU2xlZXBMaXN0ZW5lcgogICAgIHZvaWQgc3lzdGVtV2lsbFNsZWVwKCkgZmlu
YWwgeyBwcm9jZXNzU3lzdGVtV2lsbFNsZWVwKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5tbQppbmRleCBjODBmMmI5YjkwZTM0YzZkM2IzOGYzYWViNzIxMzI3ZTkwYWU0MTkwLi5iZGM3
ZGUzMjMxMmFhNWFmMjAxMTMwYTY5YzZiODVjZjExMGY5MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFu
YWdlckNvY29hLm1tCkBAIC0zNjYsNiArMzY2LDEyIEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBU
SU9OUwogfQogCit2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6YXVkaW9PdXRwdXREZXZp
Y2VDaGFuZ2VkKCkKK3sKKyAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5hdWRpb091
dHB1dERldmljZUNoYW5nZWQoKTsKKyAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFVRElPX1NFU1NJT04pICYmIFBM
QVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
bWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9BdWRpb1Nlc3Npb25NYWMubW0KaW5kZXggYjMxYjdlYjdmNzc2YzEyODJhODlhZjRlZTAxZTA4
MmViMWVlZmRhZS4uMWQ4ZGNlZWUxNjhhODJlNTM0YzNlZDBmODkxM2E1YzMzMTVlM2JhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9u
TWFjLm1tCkBAIC01NCw2ICs1NCwyOCBAQCBzdGF0aWMgQXVkaW9EZXZpY2VJRCBkZWZhdWx0RGV2
aWNlKCkKICAgICByZXR1cm4gZGV2aWNlSUQ7CiB9CiAKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJ
VFJBVElPTikKK3N0YXRpYyBPcHRpb25hbDxib29sPiBpc1BsYXlpbmdUb0JsdWV0b290aE92ZXJy
aWRlOworCitzdGF0aWMgZmxvYXQgZGVmYXVsdERldmljZVRyYW5zcG9ydElzQmx1ZXRvb3RoKCkK
K3sKKyAgICBpZiAoaXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZSkKKyAgICAgICAgcmV0dXJu
ICppc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlOworCisgICAgc3RhdGljIGNvbnN0IEF1ZGlv
T2JqZWN0UHJvcGVydHlBZGRyZXNzIGF1ZGlvRGV2aWNlVHJhbnNwb3J0VHlwZVByb3BlcnR5ID0g
eworICAgICAgICBrQXVkaW9EZXZpY2VQcm9wZXJ0eVRyYW5zcG9ydFR5cGUsCisgICAgICAgIGtB
dWRpb09iamVjdFByb3BlcnR5U2NvcGVHbG9iYWwsCisgICAgICAgIGtBdWRpb09iamVjdFByb3Bl
cnR5RWxlbWVudE1hc3RlciwKKyAgICB9OworICAgIFVJbnQzMiB0cmFuc3BvcnRUeXBlID0ga0F1
ZGlvRGV2aWNlVHJhbnNwb3J0VHlwZVVua25vd247CisgICAgVUludDMyIHRyYW5zcG9ydFNpemUg
PSBzaXplb2YodHJhbnNwb3J0VHlwZSk7CisgICAgaWYgKEF1ZGlvT2JqZWN0R2V0UHJvcGVydHlE
YXRhKGRlZmF1bHREZXZpY2UoKSwgJmF1ZGlvRGV2aWNlVHJhbnNwb3J0VHlwZVByb3BlcnR5LCAw
LCAwLCAmdHJhbnNwb3J0U2l6ZSwgJnRyYW5zcG9ydFR5cGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gdHJhbnNwb3J0VHlwZSA9PSBrQXVkaW9EZXZpY2VUcmFuc3BvcnRU
eXBlQmx1ZXRvb3RoIHx8IHRyYW5zcG9ydFR5cGUgPT0ga0F1ZGlvRGV2aWNlVHJhbnNwb3J0VHlw
ZUJsdWV0b290aExFOworfQorI2VuZGlmCisKIGNsYXNzIEF1ZGlvU2Vzc2lvblByaXZhdGUgewog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtNjIsNiArODQsOCBAQCBw
dWJsaWM6CiAgICAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnkgeyBBdWRpb1Nl
c3Npb246Ok5vbmUgfTsKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKICAgICBib29s
IHNldHVwQXJiaXRyYXRpb25PbmdvaW5nIHsgZmFsc2UgfTsKKyAgICBPcHRpb25hbDxib29sPiBw
bGF5aW5nVG9CbHVldG9vdGg7CisgICAgT3B0aW9uYWw8Ym9vbD4gcGxheWluZ1RvQmx1ZXRvb3Ro
T3ZlcnJpZGU7CiAjZW5kaWYKICAgICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVn
b3J5T3ZlcnJpZGU7CiAgICAgYm9vbCBpblJvdXRpbmdBcmJpdHJhdGlvbiB7IGZhbHNlIH07CkBA
IC03OSwxMSArMTAzLDMyIEBAIEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIEF1ZGlvU2Vzc2lv
bjo6Y2F0ZWdvcnkoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZhdGUtPmNhdGVnb3J5OwogfQog
Cit2b2lkIEF1ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKCkKK3sKKyNpZiBF
TkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICBpZiAoIW1fcHJpdmF0ZS0+cGxheWluZ1Rv
Qmx1ZXRvb3RoIHx8ICptX3ByaXZhdGUtPnBsYXlpbmdUb0JsdWV0b290aCA9PSBkZWZhdWx0RGV2
aWNlVHJhbnNwb3J0SXNCbHVldG9vdGgoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcml2
YXRlLT5wbGF5aW5nVG9CbHVldG9vdGggPSBXVEY6Om51bGxvcHQ7CisjZW5kaWYKK30KKwordm9p
ZCBBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoT3B0aW9uYWw8
Ym9vbD4gdmFsdWUpCit7CisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCisgICAgaXNQ
bGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZSA9IHZhbHVlOworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0odmFsdWUpOworI2VuZGlmCit9CisKIHZvaWQgQXVkaW9TZXNzaW9uOjpzZXRDYXRlZ29yeShD
YXRlZ29yeVR5cGUgY2F0ZWdvcnksIFJvdXRlU2hhcmluZ1BvbGljeSkKIHsKICNpZiBFTkFCTEUo
Uk9VVElOR19BUkJJVFJBVElPTikKLSAgICBpZiAoY2F0ZWdvcnkgPT0gbV9wcml2YXRlLT5jYXRl
Z29yeSkKKyAgICBib29sIHBsYXlpbmdUb0JsdWV0b290aCA9IGRlZmF1bHREZXZpY2VUcmFuc3Bv
cnRJc0JsdWV0b290aCgpOworICAgIGlmIChjYXRlZ29yeSA9PSBtX3ByaXZhdGUtPmNhdGVnb3J5
ICYmIG1fcHJpdmF0ZS0+cGxheWluZ1RvQmx1ZXRvb3RoICYmICptX3ByaXZhdGUtPnBsYXlpbmdU
b0JsdWV0b290aCA9PSBwbGF5aW5nVG9CbHVldG9vdGgpCiAgICAgICAgIHJldHVybjsKKwogICAg
IG1fcHJpdmF0ZS0+Y2F0ZWdvcnkgPSBjYXRlZ29yeTsKIAogICAgIGlmIChtX3ByaXZhdGUtPnNl
dHVwQXJiaXRyYXRpb25PbmdvaW5nKSB7CkBAIC0xMDUsNiArMTUwLDcgQEAgdm9pZCBBdWRpb1Nl
c3Npb246OnNldENhdGVnb3J5KENhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFyaW5nUG9s
aWN5KQogICAgIHVzaW5nIFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yID0gQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0aW9uQ2xpZW50OjpSb3V0aW5nQXJiaXRyYXRpb25FcnJvcjsKICAgICB1c2lu
ZyBEZWZhdWx0Um91dGVDaGFuZ2VkID0gQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9uQ2xp
ZW50OjpEZWZhdWx0Um91dGVDaGFuZ2VkOwogCisgICAgbV9wcml2YXRlLT5wbGF5aW5nVG9CbHVl
dG9vdGggPSBwbGF5aW5nVG9CbHVldG9vdGg7CiAgICAgbV9wcml2YXRlLT5zZXR1cEFyYml0cmF0
aW9uT25nb2luZyA9IHRydWU7CiAgICAgbV9yb3V0aW5nQXJiaXRyYXRpb25DbGllbnQtPmJlZ2lu
Um91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KG1fcHJpdmF0ZS0+Y2F0ZWdvcnksIFt0aGlz
XSAoUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgZGVm
YXVsdFJvdXRlQ2hhbmdlZCkgewogICAgICAgICBtX3ByaXZhdGUtPnNldHVwQXJiaXRyYXRpb25P
bmdvaW5nID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYzA1
M2E0ZGRhMjAwOGVmZDdhNjY4OGQzNDQ4ZmZiZjNiZmNiZTFmNS4uYmQxOWEzODkwZTE5YTk3ZTQ1
ODlhODQwNWNlMDBhNGRkYWZmMDFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cApAQCAtNDkzNyw2ICs0OTM3LDE3IEBAIGRvdWJsZSBJbnRlcm5hbHM6OnByaXZhdGVQbGF5ZXJW
b2x1bWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpCiAKICNlbmRpZgogCitFeGNlcHRpb25Pcjx2
b2lkPiBJbnRlcm5hbHM6OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoT3B0aW9uYWw8
Ym9vbD4gaXNQbGF5aW5nKQoreworI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAg
IEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3Zl
cnJpZGUoaXNQbGF5aW5nKTsKKyAgICByZXR1cm4geyB9OworI2Vsc2UKKyAgICBVTlVTRURfUEFS
QU0oaXNQbGF5aW5nKTsKKyAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3Ig
fTsKKyNlbmRpZgorfQorCiB2b2lkIEludGVybmFsczo6cmVwb3J0QmFja3RyYWNlKCkKIHsKICAg
ICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4
IGUwZmM0OWQ4MTQ3ZWJmYzZhODE3ZTFkMGQwMTg2Y2M3ZDAxNDA1ZGYuLmU5OWI4YWI3YmRlZGZm
YjcyMmQwZjliMDQwMGFiNWNjYzJhODA4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aApAQCAtNjIzLDYgKzYyMyw4IEBAIHB1YmxpYzoKICAgICBkb3VibGUgcHJpdmF0ZVBsYXllclZv
bHVtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7CiAjZW5kaWYKIAorICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IHNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoT3B0aW9uYWw8Ym9vbD4pOwor
CiAgICAgYm9vbCBpc1NlbGVjdFBvcHVwVmlzaWJsZShIVE1MU2VsZWN0RWxlbWVudCYpOwogCiAg
ICAgRXhjZXB0aW9uT3I8U3RyaW5nPiBjYXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDQ1YWU4ZmQ1ZjBiZjRlZDE5ZGEwZTRi
YWJmZjFlNTEwN2QxZGRjZDMuLmI5Mzk3YWIzOTE3ODliNDI3ZjYyM2MxNDYyODNlYWU4ZTQ4NDUx
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTY1MSw2ICs2NTEsOCBA
QCBlbnVtIENvbnRlbnRTaXplQ2F0ZWdvcnkgewogICAgIFtDb25kaXRpb25hbD1WSURFT10gRE9N
U3RyaW5nIGVsZW1lbnRCdWZmZXJpbmdQb2xpY3koSFRNTE1lZGlhRWxlbWVudCBtZWRpYSk7CiAg
ICAgW0NvbmRpdGlvbmFsPVZJREVPXSBkb3VibGUgcHJpdmF0ZVBsYXllclZvbHVtZShIVE1MTWVk
aWFFbGVtZW50IG1lZGlhKTsKIAorICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRJc1Bs
YXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKG9wdGlvbmFsIGJvb2xlYW4/IGlzUGxheWluZyA9IG51
bGwpOworCiAgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHZvaWQgaW5p
dGlhbGl6ZU1vY2tDRE0oKTsKICAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBNb2Nr
Q0RNRmFjdG9yeSByZWdpc3Rlck1vY2tDRE0oKTsKICAgICB2b2lkIGVuYWJsZU1vY2tNZWRpYUNh
cGFiaWxpdGllcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAppbmRleCBkZTkyODk4OThj
MzkxMmEzYjdmNjVkYjRiM2NjZDhhYTk3MTVkMzI5Li4zOGJjNzIyMDkxODMyYTMyYWMxOTRjMzFk
NWJjOTIzZjIxYTljYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaApAQCAtNzQsNCAr
NzQsNSBAQCB0eXBlZGVmIGVudW0gewogCiAtIChCT09MKV9oYXNTbGVlcERpc2FibGVyOwogLSAo
V0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXMpX2F1ZGlvUm91dGluZ0FyYml0
cmF0aW9uU3RhdHVzOworLSAoZG91YmxlKV9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRp
bWU7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3VGVzdGluZy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdUZXN0aW5nLm1tCmluZGV4IGZhNjBlOWIzZjczMjVmYmU1N2JhY2JlMTc0NjVkN2Rm
ZjM4N2E0M2MuLjMwYTFlNDdmMzQ0MjRiYjUxNTA1NzM5MTYyY2VlODhhNDdkODA2M2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5n
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0
aW5nLm1tCkBAIC0yNjIsNCArMjYyLDEzIEBACiAjZW5kaWYKIH0KIAorLSAoZG91YmxlKV9hdWRp
b1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWUKK3sKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJ
VFJBVElPTikKKyAgICByZXR1cm4gX3BhZ2UtPnByb2Nlc3MoKS5hdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvcigpLmFyYml0cmF0aW9uVXBkYXRlVGltZSgpLnNlY29uZHNTaW5jZUVwb2NoKCku
c2Vjb25kcygpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCiBAZW5kCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9BdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9BdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5LmgKaW5kZXggZjYyYmJlZmU1MzUxMTUyZmE0MTI5
ZGEwMjdmNzExNGY2NDFiYzhjZS4uN2NhNTUyZTE3OTg4MWY1NDcyYWU2OTNlMzg2ZDA5OTExMzE5
ZGY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L01lZGlhL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaApAQCAtMjksNiArMjks
NyBAQAogCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9B
dWRpb1Nlc3Npb24uaD4KKyNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KICNpbmNsdWRlIDx3dGYv
V2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTU5LDYgKzYwLDcgQEAgcHVibGlj
OgogICAgIH07CiAKICAgICBBcmJpdHJhdGlvblN0YXR1cyBhcmJpdHJhdGlvblN0YXR1cygpIGNv
bnN0IHsgcmV0dXJuIG1fYXJiaXRyYXRpb25TdGF0dXM7IH0KKyAgICBXYWxsVGltZSBhcmJpdHJh
dGlvblVwZGF0ZVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2FyYml0cmF0aW9uVXBkYXRlVGltZTsg
fQogCiBwcml2YXRlOgogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCkBAIC03MSw2ICs3Myw3
IEBAIHByaXZhdGU6CiAgICAgV2ViUHJvY2Vzc1Byb3h5JiBtX3Byb2Nlc3M7CiAgICAgV2ViQ29y
ZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlv
U2Vzc2lvbjo6Tm9uZSB9OwogICAgIEFyYml0cmF0aW9uU3RhdHVzIG1fYXJiaXRyYXRpb25TdGF0
dXMgeyBBcmJpdHJhdGlvblN0YXR1czo6Tm9uZSB9OworICAgIFdhbGxUaW1lIG1fYXJiaXRyYXRp
b25VcGRhdGVUaW1lOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTWVkaWEvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eUNvY29hLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvY29jb2EvQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDViOTIyNTFiNGI5OTBlNDE3YWNlM2ZiNDEx
NWEzY2Y3Mzg5ZTczNjEuLmJjNzBkNDVlZTcwOTJhNjQxZjI3NTU0MjVlZGY5ODFlYjI0NmQ5ZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL2NvY29hL0F1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Q29j
b2EubW0KQEAgLTE3OCw2ICsxNzgsNyBAQCB2b2lkIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJh
dG9yUHJveHk6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYgogewogICAg
IG1fY2F0ZWdvcnkgPSBjYXRlZ29yeTsKICAgICBtX2FyYml0cmF0aW9uU3RhdHVzID0gQXJiaXRy
YXRpb25TdGF0dXM6OlBlbmRpbmc7CisgICAgbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWUgPSBXYWxs
VGltZTo6bm93KCk7CiAgICAgU2hhcmVkQXJiaXRyYXRvcjo6c2hhcmVkSW5zdGFuY2UoKS5iZWdp
blJvdXRpbmdBcmJpdHJhdGlvbkZvckFyYml0cmF0b3IoKnRoaXMsIFt3ZWFrVGhpcyA9IG1ha2VX
ZWFrUHRyKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKFJvdXRpbmdBcmJp
dHJhdGlvbkVycm9yIGVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkIHJvdXRlQ2hhbmdlZCkgbXV0
YWJsZSB7CiAgICAgICAgIGlmICh3ZWFrVGhpcykKICAgICAgICAgICAgIHdlYWtUaGlzLT5tX2Fy
Yml0cmF0aW9uU3RhdHVzID0gZXJyb3IgPT0gUm91dGluZ0FyYml0cmF0aW9uRXJyb3I6Ok5vbmUg
PyBBcmJpdHJhdGlvblN0YXR1czo6QWN0aXZlIDogQXJiaXRyYXRpb25TdGF0dXM6Ok5vbmU7CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDIzNWVh
YmUxN2Q2YmRkOGE3ZTQ3M2QzOGU1YzBiNzE5MGE1OWU1NC4uOTI2NWEyNjhiZGE4ZDE4MDBiNDkz
MTFkNWIwZjdlZDliZTBjYTU3NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA4LTI0ICBFcmljIENhcmxzb24g
IDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gVXBkYXRlIGF1ZGlv
IGFyYml0cmF0aW9uIG1hbmFnZXIgd2hlbiBhdWRpbyB0cmFuc3BvcnQgY2hhbmdlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NzgxCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS82NTkyMDYxMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXVkaW9Sb3V0aW5nQXJiaXRyYXRp
b24ubW06CisgICAgICAgIChBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbjo6c3RhdHVzU2hvdWxkQmVj
b21lRXF1YWxUbyk6IEFkZCBtZXNzYWdlIHN0cmluZyB0byBoZWxwCisgICAgICAgIGRlYnVnZ2lu
ZyB3aGVuIHRoZSB0ZXN0IGZhaWxzLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0TGVnYWN5L2lvcy92aWRlby13aXRoLWF1ZGlvLmh0bWw6CisKIDIwMjAtMDgtMTcgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dURl0gSGFz
aFRhYmxlPFJlZjxLPiwgVj46Okhhc2hUYWJsZShjb25zdCBIYXNoVGFibGUmIG90aGVyKSBjYW4n
dCBjb21waWxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvVGVzdFdlYktpdEFQSS54Y3NjaGVtZSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRh
L3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lCmluZGV4IDVmNWVjMmU0YWVjMzllZGMz
OWZjN2Y4NWM3ZDk2N2U1YzQ5NDY5NGUuLjYzNGQyMjExNzQzMDNmNTBjYmE4YjBkMDE4ZjllYmZk
OWI3NDIwMWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRk
YXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lCkBAIC01MCw2ICs1MCwxMiBAQAog
ICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJjb250YWluZXI6VGVzdFdlYktpdEFQ
SS54Y29kZXByb2oiPgogICAgICAgICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+CiAgICAgICA8L0J1
aWxkYWJsZVByb2R1Y3RSdW5uYWJsZT4KKyAgICAgIDxDb21tYW5kTGluZUFyZ3VtZW50cz4KKyAg
ICAgICAgIDxDb21tYW5kTGluZUFyZ3VtZW50CisgICAgICAgICAgICBhcmd1bWVudCA9ICItLWd0
ZXN0X2ZpbHRlcj1BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbi5VcGRhdGluZyIKKyAgICAgICAgICAg
IGlzRW5hYmxlZCA9ICJZRVMiPgorICAgICAgICAgPC9Db21tYW5kTGluZUFyZ3VtZW50PgorICAg
ICAgPC9Db21tYW5kTGluZUFyZ3VtZW50cz4KICAgIDwvTGF1bmNoQWN0aW9uPgogICAgPFByb2Zp
bGVBY3Rpb24KICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbiA9ICJSZWxlYXNlIgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdWRpb1JvdXRpbmdBcmJp
dHJhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXVkaW9S
b3V0aW5nQXJiaXRyYXRpb24ubW0KaW5kZXggYzFlMGRjY2Q4YzlmOTAyMjI1MDc2YmVlZWQ5NGIw
NTUxMWRhMTI1My4uNDFlMjIzNjg5ODA2ODgxYTkyM2YyNTcxNDRiMzIyMzlmZDZlOTM3MSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdWRpb1JvdXRp
bmdBcmJpdHJhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1tCkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0
IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktp
dC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZUZv
clRlc3RpbmcuaD4KKyNpbXBvcnQgPHd0Zi9XYWxsVGltZS5oPgogCiBjbGFzcyBBdWRpb1JvdXRp
bmdBcmJpdHJhdGlvbiA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKIHB1YmxpYzoKQEAgLTQxLDYg
KzQyLDggQEAgcHVibGljOgogICAgIHZvaWQgU2V0VXAoKSBmaW5hbAogICAgIHsKICAgICAgICAg
YXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0g
YWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgICAgIGNvbmZpZ3Vy
YXRpb24uZ2V0KCkucHJvY2Vzc1Bvb2wgPSAoV0tQcm9jZXNzUG9vbCAqKWNvbnRleHQuZ2V0KCk7
CiAgICAgICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eSA9IFlFUzsKICAgICAgICAgY29uZmlndXJhdGlvbi5nZXQoKS5tZWRpYVR5cGVzUmVxdWlyaW5n
VXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CiAgICAg
ICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpDR1JlY3RNYWtlKDAsIDAsIDEwMCwgMTAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24u
Z2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7CkBAIC01Niw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgW3dlYlZpZXcgX2Nsb3NlXTsKICAgICB9CiAKLSAgICB2b2lkIHN0YXR1c1Nob3VsZEJlY29t
ZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXMgc3RhdHVzKQor
ICAgIHZvaWQgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdB
cmJpdHJhdGlvblN0YXR1cyBzdGF0dXMsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiAgICAgewogICAg
ICAgICBpbnQgdHJpZXMgPSAwOwogICAgICAgICBkbyB7CkBAIC02Niw1NCArNjksODYgQEAgcHVi
bGljOgogICAgICAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4xKTsKICAgICAg
ICAgfSB3aGlsZSAoKyt0cmllcyA8PSAxMDApOwogCi0gICAgICAgIEVYUEVDVF9FUShzdGF0dXMs
IFt3ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c10pOworICAgICAgICBFWFBF
Q1RfRVEoc3RhdHVzLCBbd2ViVmlldyBfYXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNdKSA8
PCBtZXNzYWdlOwogICAgIH0KIH07CiAKIFRFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwg
QmFzaWMpCiB7Ci0gICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1Jv
dXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSk7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1
YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwgIkJhc2lj
Iik7CiB9CiAKIFRFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwgTXV0ZSkKIHsKLSAgICBz
dGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9u
U3RhdHVzQWN0aXZlKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1
ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiTXV0ZSAxIik7CiAKICAgICBbd2Vi
VmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0V2l0aFVzZXJHZXN0dXJlOkAiZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5tdXRlZCA9IHRydWUiXTsKIAotICAgIHN0YXR1c1No
b3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNO
b25lKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGlu
Z0FyYml0cmF0aW9uU3RhdHVzTm9uZSwgIk11dGUgMiIpOwogCiAgICAgW3dlYlZpZXcgb2JqZWN0
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdFdpdGhVc2VyR2VzdHVyZTpAImRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ3ZpZGVvJykubXV0ZWQgPSBmYWxzZSJdOwogCi0gICAgc3RhdHVzU2hvdWxkQmVjb21l
RXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSk7Cisg
ICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJh
dGlvblN0YXR1c0FjdGl2ZSwgIk11dGUgMyIpOwogfQogCiBURVNUX0YoQXVkaW9Sb3V0aW5nQXJi
aXRyYXRpb24sIE5hdmlnYXRpb24pCiB7Ci0gICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhX
S1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSk7CisgICAgc3RhdHVz
U2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1
c0FjdGl2ZSwgIk5hdmlnYXRpb24gMSIpOwogCiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxv
YWRIVE1MU3RyaW5nOkAiPGh0bWw+bm8gY29udGVudHM8L2h0bWw+Il07CiAKLSAgICBzdGF0dXNT
aG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVz
Tm9uZSk7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRp
bmdBcmJpdHJhdGlvblN0YXR1c05vbmUsICJOYXZpZ2F0aW9uIDIiKTsKIH0KIAogVEVTVF9GKEF1
ZGlvUm91dGluZ0FyYml0cmF0aW9uLCBEZWxldGlvbikKIHsKLSAgICBzdGF0dXNTaG91bGRCZWNv
bWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlKTsK
KyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0
cmF0aW9uU3RhdHVzQWN0aXZlLCAiRGVsZXRpb24gMSIpOwogCiAgICAgW3dlYlZpZXcgb2JqZWN0
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdFdpdGhVc2VyR2VzdHVyZTpAImRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ3ZpZGVvJykucGFyZW50Tm9kZS5pbm5lckhUTUwgPSAnJyJdOwogCi0gICAgc3RhdHVz
U2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1
c05vbmUpOworICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0
aW5nQXJiaXRyYXRpb25TdGF0dXNOb25lLCAiRGVsZXRpb24gMiIpOwogfQogCiBURVNUX0YoQXVk
aW9Sb3V0aW5nQXJiaXRyYXRpb24sIENsb3NlKQogewotICAgIHN0YXR1c1Nob3VsZEJlY29tZUVx
dWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUpOworICAg
IHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRp
b25TdGF0dXNBY3RpdmUsICJDbG9zZSAxIik7CiAKICAgICBbd2ViVmlldyBfY2xvc2VdOwogCi0g
ICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJh
dGlvblN0YXR1c05vbmUpOworICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3
QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNOb25lLCAiQ2xvc2UgMiIpOwogfQogCitURVNU
X0YoQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24sIFVwZGF0aW5nKQoreworICAgIHN0YXR1c1Nob3Vs
ZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3Rp
dmUsICJVcGRhdGluZyAxIik7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpLnBhdXNlKCkiIGNvbXBsZXRpb25IYW5kbGVy
Om5pbF07CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRp
bmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwgIlVwZGF0aW5nIDIiKTsKKworICAgIGF1dG8gc3Rh
cnQgPSBXYWxsVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS5zZWNvbmRzKCk7CisgICAg
YXV0byBhcmJpdHJhdGlvblVwZGF0ZVRpbWUgPSBbd2ViVmlldyBfYXVkaW9Sb3V0aW5nQXJiaXRy
YXRpb25VcGRhdGVUaW1lXTsKKyAgICBBU1NFUlRfVFJVRShhcmJpdHJhdGlvblVwZGF0ZVRpbWUg
PCBzdGFydCk7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCd2aWRlbycpLnBsYXkoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAg
ICBFWFBFQ1RfRVEoYXJiaXRyYXRpb25VcGRhdGVUaW1lLCBbd2ViVmlldyBfYXVkaW9Sb3V0aW5n
QXJiaXRyYXRpb25VcGRhdGVUaW1lXSkgPDwgIkFyYml0cmF0aW9uIHdhcyB1bmV4cGVjdGVkbHkg
dXBkYXRlZCI7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1Jv
dXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwgIlVwZGF0aW5nIDMiKTsKKworICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJyku
cGF1c2UoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAid2luZG93LmludGVybmFscy5zZXRJc1BsYXlpbmdUb0JsdWV0
b290aE92ZXJyaWRlKHRydWUpIl07CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6
QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpLnBsYXkoKSIgY29tcGxldGlvbkhhbmRs
ZXI6bmlsXTsKKworICAgIGludCB0cmllcyA9IDA7CisgICAgZG8geworICAgICAgICBpZiAoW3dl
YlZpZXcgX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9uVXBkYXRlVGltZV0gPiBhcmJpdHJhdGlvblVw
ZGF0ZVRpbWUpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpzbGVlcCgwLjEpOworICAgIH0gd2hpbGUgKCsrdHJpZXMgPD0gMTAwKTsKKworICAgIEVY
UEVDVF9MVChhcmJpdHJhdGlvblVwZGF0ZVRpbWUsIFt3ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJp
dHJhdGlvblVwZGF0ZVRpbWVdKSA8PCAiQXJiaXRyYXRpb24gd2FzIG5vdCB1cGRhdGVkIjsKKwor
ICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJu
YWxzLnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoKSJdOworfQogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lvcy92aWRl
by13aXRoLWF1ZGlvLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2Fj
eS9pb3MvdmlkZW8td2l0aC1hdWRpby5odG1sCmluZGV4IDIzN2FhY2U4NGQyNGM5OTlkOWJjMzc2
YzczZTI2ODVjNjgxMmQ4ZDQuLjI2YTQyNzI4N2FiNGFlNjliZWE3ZmNmNzA3MDQ0MGE2NjczODkx
ZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lv
cy92aWRlby13aXRoLWF1ZGlvLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRMZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbApAQCAtMiw4ICsyLDYgQEAKIDxo
dG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdD4KLSAgICB2YXIgdGltZW91dDsKLQogICAgIGZ1bmN0
aW9uIGdvKCkgewogICAgICAgICB2YXIgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgndmlkZW8nKVswXTsKICAgICAgICAgdmlkZW8ucGxheSgpLnRoZW4ocGxheWluZykuY2F0
Y2gobm90UGxheWluZyk7CkBAIC0yOSw2ICsyNywxNiBAQAogICAgICAgICB9IGNhdGNoKGUpIHsg
fQogICAgIH0KIAorICAgIGZ1bmN0aW9uIHBhdXNlKCkgeworICAgICAgICBsZXQgdmlkZW8gPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKKyAgICAgICAgdmlkZW8u
YWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCBwYXVzZWQsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAg
ICAgdmlkZW8ucGF1c2UoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBwbGF5KCkgeworICAgICAg
ICBnbygpOworICAgIH0KKwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VzaG93
JywgZ28pOwogICAgPC9zY3JpcHQ+CiA8L2hlYWQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407135</attachid>
            <date>2020-08-24 14:25:12 -0700</date>
            <delta_ts>2020-08-24 15:36:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215781-20200824142512.patch</filename>
            <type>text/plain</type>
            <size>23301</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU3NmRkZWY3ZTdhMDdj
NTVlMmE5ZThkNGFkOTZjZjc4YmYyN2E5OC4uNTQ2MGVhMzQ0Y2UwZWY1YmY1NzYzOTg1MWE3NDY5
NjUxNzUyZGM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA4LTI0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gVXBk
YXRlIGF1ZGlvIGFyYml0cmF0aW9uIG1hbmFnZXIgd2hlbiBhdWRpbyB0cmFuc3BvcnQgY2hhbmdl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1Nzgx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTkyMDYxMz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHVwZGF0ZWQgQXVkaW9S
b3V0aW5nQXJiaXRyYXRpb24gQVBJIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9B
dWRpb1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjphdWRpb091
dHB1dERldmljZUNoYW5nZWQpOiBBZGQgZW1wdHkgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6
c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZSk6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oOgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hOjphdWRpb091dHB1dERldmljZUNoYW5nZWQpOiBDYWxsIEF1
ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkLgorCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1
bHREZXZpY2VUcmFuc3BvcnRJc0JsdWV0b290aCk6IE5ldy4KKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKTogQ2xlYXIgbV9wcml2YXRlLT5w
bGF5aW5nVG9CbHVldG9vdGgKKyAgICAgICAgaWYgYmx1ZXRvb3RoIHRyYW5zcG9ydCBoYXMgY2hh
bmdlZCBzaW5jZSB0aGUgbGFzdCBhcmJpdHJhdGlvbiB1cGRhdGUuCisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUpOiBBbGxvdyBv
dmVycmlkZSBvZiBibHVldG9vdGgKKyAgICAgICAgdHJhbnNwb3J0IGZvciB0ZXN0aW5nLgorICAg
ICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpzZXRDYXRlZ29yeSk6IFVwZGF0ZSByb3V0aW5n
IGFyYml0cmF0aW9uIGlmIGF1ZGlvIHNlc3Npb24gY2F0ZWdvcnkKKyAgICAgICAgb3IgYmx1ZXRv
b3RoIHRyYW5zcG9ydCBjaGFuZ2VzLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92
ZXJyaWRlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKwogMjAyMC0wOC0xNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFdhdmVTaGFwZXJOb2RlIHNob3VsZCBub3Qgb3V0cHV0IHNpbGVu
Y2Ugd2hlbiBpdCBoYXMgbm8gaW5wdXQgb3Igd2hlbiBpbnB1dCBpcyBzaWxlbmNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDA4ZjQyODI3NmFjY2U3NDdiMmQ1MDlkNDU0NTlhNGQ0Y2U4MDcwMzguLjkzOWQzNDBkNTJk
MjE4ODM0ZGQzMDgwZjkyMzQ4NjJjYzY3NjQyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjAtMDgtMjQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBVcGRhdGUgYXVkaW8gYXJiaXRyYXRpb24gbWFuYWdlciB3aGVuIGF1ZGlv
IHRyYW5zcG9ydCBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTU3ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTIwNjEzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWVdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oOgorICAgICAgICAo
V2ViS2l0OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OjphcmJpdHJhdGlvblVw
ZGF0ZVRpbWUgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9u
V2l0aENhdGVnb3J5KToKKwogMjAyMC0wOC0xNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTWFjXSBBZGQgRXhwZXJpbWVudGFsIEZlYXR1cmUgcHJlZmVyZW5j
ZSBmb3IgU1cgVlA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNz
aW9uLmNwcAppbmRleCA1MWE4ZDNhMjgyNjBjNjMzMzEwM2YxMDdlYmFkYzRlOTRjNWNkYjdlLi5h
N2ZiYTk2YTQwMTcxZDc2MTEwMmU3YWM2MTExOTA2NmQyNGIxODcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKQEAgLTE2Myw2ICsxNjMsMTkg
QEAgU3RyaW5nIEF1ZGlvU2Vzc2lvbjo6cm91dGluZ0NvbnRleHRVSUQoKSBjb25zdAogCiAjZW5k
aWYgLy8gIVBMQVRGT1JNKENPQ09BKQogCisjaWYgIVBMQVRGT1JNKE1BQykKK3ZvaWQgQXVkaW9T
ZXNzaW9uOjphdWRpb091dHB1dERldmljZUNoYW5nZWQoKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgQXVkaW9TZXNzaW9uOjpzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92ZXJy
aWRlKE9wdGlvbmFsPGJvb2w+KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5kaWYg
Ly8gIVBMQVRGT1JNKENPQ09BKQorCisKIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmlu
ZyhSb3V0ZVNoYXJpbmdQb2xpY3kgZW51bWVyYXRpb25WYWx1ZSkKIHsKICAgICBzdGF0aWMgY29u
c3QgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiB2YWx1ZXNbXSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgKaW5kZXggOTA3MTgzYmRiMmJkNDEzZWVhYzU2
OTY3Y2MwMzBlMDQwODY2ZDVjYi4uZTAyZDRmZDY3MGRjZWUyOGNmOGFkNDNlNGVkNzJjYWYyYmFm
NGI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNz
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgK
QEAgLTk3LDYgKzk3LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkTXV0ZWRTdGF0ZU9ic2VydmVy
KE11dGVkU3RhdGVPYnNlcnZlciopOwogICAgIHZvaWQgcmVtb3ZlTXV0ZWRTdGF0ZU9ic2VydmVy
KE11dGVkU3RhdGVPYnNlcnZlciopOwogCisgICAgdm9pZCBhdWRpb091dHB1dERldmljZUNoYW5n
ZWQoKTsKKyAgICB2b2lkIHNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoT3B0aW9uYWw8
Ym9vbD4pOworCiAgICAgdmlydHVhbCBib29sIGlzTXV0ZWQoKSBjb25zdDsKICAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlTXV0ZWRTdGF0ZUNoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oCmluZGV4IGVlOGU5ODY1MzUxMjlkNjkxZmI1ODc0ZjhmM2M5MTlmNTNjY2EyMmUuLjQxYmEy
ZDUwYzhhYTZhYWJhOTk2Mjc1OTVlZTA0MmRlNDZiNzJhMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYS5oCkBAIC05Niw3ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgLy8gQXVkaW9IYXJkd2Fy
ZUxpc3RlbmVyQ2xpZW50CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCkg
ZmluYWwgeyB9CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKSBmaW5h
bCB7IH0KLSAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZpbmFsIHsgdXBkYXRl
U2Vzc2lvblN0YXRlKCk7IH0KKyAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZp
bmFsOwogCiAgICAgLy8gUEFMOjpTeXN0ZW1TbGVlcExpc3RlbmVyCiAgICAgdm9pZCBzeXN0ZW1X
aWxsU2xlZXAoKSBmaW5hbCB7IHByb2Nlc3NTeXN0ZW1XaWxsU2xlZXAoKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNz
aW9uTWFuYWdlckNvY29hLm1tCmluZGV4IGM4MGYyYjliOTBlMzRjNmQzYjM4ZjNhZWI3MjEzMjdl
OTBhZTQxOTAuLmJkYzdkZTMyMzEyYWE1YWYyMDExMzBhNjljNmI4NWNmMTEwZjkyZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTM2Niw2ICszNjYsMTIgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TCiB9CiAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjph
dWRpb091dHB1dERldmljZUNoYW5nZWQoKQoreworICAgIEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vz
c2lvbigpLmF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpOworICAgIHVwZGF0ZVNlc3Npb25TdGF0
ZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQVVESU9f
U0VTU0lPTikgJiYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbQppbmRleCBiMzFiN2ViN2Y3NzZjMTI4
MmE4OWFmNGVlMDFlMDgyZWIxZWVmZGFlLi4xZDhkY2VlZTE2OGE4MmU1MzRjM2VkMGY4OTEzYTVj
MzMxNWUzYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9TZXNzaW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9BdWRpb1Nlc3Npb25NYWMubW0KQEAgLTU0LDYgKzU0LDI4IEBAIHN0YXRpYyBBdWRpb0Rldmlj
ZUlEIGRlZmF1bHREZXZpY2UoKQogICAgIHJldHVybiBkZXZpY2VJRDsKIH0KIAorI2lmIEVOQUJM
RShST1VUSU5HX0FSQklUUkFUSU9OKQorc3RhdGljIE9wdGlvbmFsPGJvb2w+IGlzUGxheWluZ1Rv
Qmx1ZXRvb3RoT3ZlcnJpZGU7CisKK3N0YXRpYyBmbG9hdCBkZWZhdWx0RGV2aWNlVHJhbnNwb3J0
SXNCbHVldG9vdGgoKQoreworICAgIGlmIChpc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKQor
ICAgICAgICByZXR1cm4gKmlzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGU7CisKKyAgICBzdGF0
aWMgY29uc3QgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MgYXVkaW9EZXZpY2VUcmFuc3BvcnRU
eXBlUHJvcGVydHkgPSB7CisgICAgICAgIGtBdWRpb0RldmljZVByb3BlcnR5VHJhbnNwb3J0VHlw
ZSwKKyAgICAgICAga0F1ZGlvT2JqZWN0UHJvcGVydHlTY29wZUdsb2JhbCwKKyAgICAgICAga0F1
ZGlvT2JqZWN0UHJvcGVydHlFbGVtZW50TWFzdGVyLAorICAgIH07CisgICAgVUludDMyIHRyYW5z
cG9ydFR5cGUgPSBrQXVkaW9EZXZpY2VUcmFuc3BvcnRUeXBlVW5rbm93bjsKKyAgICBVSW50MzIg
dHJhbnNwb3J0U2l6ZSA9IHNpemVvZih0cmFuc3BvcnRUeXBlKTsKKyAgICBpZiAoQXVkaW9PYmpl
Y3RHZXRQcm9wZXJ0eURhdGEoZGVmYXVsdERldmljZSgpLCAmYXVkaW9EZXZpY2VUcmFuc3BvcnRU
eXBlUHJvcGVydHksIDAsIDAsICZ0cmFuc3BvcnRTaXplLCAmdHJhbnNwb3J0VHlwZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cmFuc3BvcnRUeXBlID09IGtBdWRpb0Rl
dmljZVRyYW5zcG9ydFR5cGVCbHVldG9vdGggfHwgdHJhbnNwb3J0VHlwZSA9PSBrQXVkaW9EZXZp
Y2VUcmFuc3BvcnRUeXBlQmx1ZXRvb3RoTEU7Cit9CisjZW5kaWYKKwogY2xhc3MgQXVkaW9TZXNz
aW9uUHJpdmF0ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC02
Miw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRl
Z29yeSB7IEF1ZGlvU2Vzc2lvbjo6Tm9uZSB9OwogI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFU
SU9OKQogICAgIGJvb2wgc2V0dXBBcmJpdHJhdGlvbk9uZ29pbmcgeyBmYWxzZSB9OworICAgIE9w
dGlvbmFsPGJvb2w+IHBsYXlpbmdUb0JsdWV0b290aDsKKyAgICBPcHRpb25hbDxib29sPiBwbGF5
aW5nVG9CbHVldG9vdGhPdmVycmlkZTsKICNlbmRpZgogICAgIEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlIG1fY2F0ZWdvcnlPdmVycmlkZTsKICAgICBib29sIGluUm91dGluZ0FyYml0cmF0aW9u
IHsgZmFsc2UgfTsKQEAgLTc5LDExICsxMDMsMzIgQEAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5
cGUgQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
Y2F0ZWdvcnk7CiB9CiAKK3ZvaWQgQXVkaW9TZXNzaW9uOjphdWRpb091dHB1dERldmljZUNoYW5n
ZWQoKQoreworI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIGlmICghbV9wcml2
YXRlLT5wbGF5aW5nVG9CbHVldG9vdGggfHwgKm1fcHJpdmF0ZS0+cGxheWluZ1RvQmx1ZXRvb3Ro
ID09IGRlZmF1bHREZXZpY2VUcmFuc3BvcnRJc0JsdWV0b290aCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX3ByaXZhdGUtPnBsYXlpbmdUb0JsdWV0b290aCA9IFdURjo6bnVsbG9wdDsKKyNl
bmRpZgorfQorCit2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVy
cmlkZShPcHRpb25hbDxib29sPiB2YWx1ZSkKK3sKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJB
VElPTikKKyAgICBpc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlID0gdmFsdWU7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBBdWRpb1Nlc3Npb246
OnNldENhdGVnb3J5KENhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFyaW5nUG9saWN5KQog
ewogI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQotICAgIGlmIChjYXRlZ29yeSA9PSBt
X3ByaXZhdGUtPmNhdGVnb3J5KQorICAgIGJvb2wgcGxheWluZ1RvQmx1ZXRvb3RoID0gZGVmYXVs
dERldmljZVRyYW5zcG9ydElzQmx1ZXRvb3RoKCk7CisgICAgaWYgKGNhdGVnb3J5ID09IG1fcHJp
dmF0ZS0+Y2F0ZWdvcnkgJiYgbV9wcml2YXRlLT5wbGF5aW5nVG9CbHVldG9vdGggJiYgKm1fcHJp
dmF0ZS0+cGxheWluZ1RvQmx1ZXRvb3RoID09IHBsYXlpbmdUb0JsdWV0b290aCkKICAgICAgICAg
cmV0dXJuOworCiAgICAgbV9wcml2YXRlLT5jYXRlZ29yeSA9IGNhdGVnb3J5OwogCiAgICAgaWYg
KG1fcHJpdmF0ZS0+c2V0dXBBcmJpdHJhdGlvbk9uZ29pbmcpIHsKQEAgLTEwNSw2ICsxNTAsNyBA
QCB2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0Q2F0ZWdvcnkoQ2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBS
b3V0ZVNoYXJpbmdQb2xpY3kpCiAgICAgdXNpbmcgUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgPSBB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OlJvdXRpbmdBcmJpdHJhdGlvbkVy
cm9yOwogICAgIHVzaW5nIERlZmF1bHRSb3V0ZUNoYW5nZWQgPSBBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRpb25DbGllbnQ6OkRlZmF1bHRSb3V0ZUNoYW5nZWQ7CiAKKyAgICBtX3ByaXZhdGUt
PnBsYXlpbmdUb0JsdWV0b290aCA9IHBsYXlpbmdUb0JsdWV0b290aDsKICAgICBtX3ByaXZhdGUt
PnNldHVwQXJiaXRyYXRpb25PbmdvaW5nID0gdHJ1ZTsKICAgICBtX3JvdXRpbmdBcmJpdHJhdGlv
bkNsaWVudC0+YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkobV9wcml2YXRlLT5j
YXRlZ29yeSwgW3RoaXNdIChSb3V0aW5nQXJiaXRyYXRpb25FcnJvciBlcnJvciwgRGVmYXVsdFJv
dXRlQ2hhbmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSB7CiAgICAgICAgIG1fcHJpdmF0ZS0+c2V0
dXBBcmJpdHJhdGlvbk9uZ29pbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAppbmRleCBjMDUzYTRkZGEyMDA4ZWZkN2E2Njg4ZDM0NDhmZmJmM2JmY2JlMWY1Li5iZDE5
YTM4OTBlMTlhOTdlNDU4OWE4NDA1Y2UwMGE0ZGRhZmYwMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCkBAIC00OTM3LDYgKzQ5MzcsMTcgQEAgZG91YmxlIEludGVybmFsczo6
cHJpdmF0ZVBsYXllclZvbHVtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50JikKIAogI2VuZGlmCiAK
K0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsczo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVy
cmlkZShPcHRpb25hbDxib29sPiBpc1BsYXlpbmcpCit7CisjaWYgRU5BQkxFKFJPVVRJTkdfQVJC
SVRSQVRJT04pCisgICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2V0SXNQbGF5aW5n
VG9CbHVldG9vdGhPdmVycmlkZShpc1BsYXlpbmcpOworICAgIHJldHVybiB7IH07CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShpc1BsYXlpbmcpOworICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RT
dXBwb3J0ZWRFcnJvciB9OworI2VuZGlmCit9CisKIHZvaWQgSW50ZXJuYWxzOjpyZXBvcnRCYWNr
dHJhY2UoKQogewogICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKaW5kZXggZTBmYzQ5ZDgxNDdlYmZjNmE4MTdlMWQwZDAxODZjYzdkMDE0MDVkZi4u
ZTk5YjhhYjdiZGVkZmZiNzIyZDBmOWIwNDAwYWI1Y2NjMmE4MDhhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCkBAIC02MjMsNiArNjIzLDggQEAgcHVibGljOgogICAgIGRvdWJsZSBw
cml2YXRlUGxheWVyVm9sdW1lKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKTsKICNlbmRpZgogCisg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZShPcHRp
b25hbDxib29sPik7CisKICAgICBib29sIGlzU2VsZWN0UG9wdXBWaXNpYmxlKEhUTUxTZWxlY3RF
bGVtZW50Jik7CiAKICAgICBFeGNlcHRpb25PcjxTdHJpbmc+IGNhcHRpb25zU3R5bGVTaGVldE92
ZXJyaWRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNDVhZThmZDVm
MGJmNGVkMTlkYTBlNGJhYmZmMWU1MTA3ZDFkZGNkMy4uYjkzOTdhYjM5MTc4OWI0MjdmNjIzYzE0
NjI4M2VhZThlNDg0NTE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAt
NjUxLDYgKzY1MSw4IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPXSBET01TdHJpbmcgZWxlbWVudEJ1ZmZlcmluZ1BvbGljeShIVE1MTWVkaWFFbGVt
ZW50IG1lZGlhKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIGRvdWJsZSBwcml2YXRlUGxheWVy
Vm9sdW1lKEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOwogCisgICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUob3B0aW9uYWwgYm9vbGVhbj8g
aXNQbGF5aW5nID0gbnVsbCk7CisKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9N
RURJQV0gdm9pZCBpbml0aWFsaXplTW9ja0NETSgpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUFdIE1vY2tDRE1GYWN0b3J5IHJlZ2lzdGVyTW9ja0NETSgpOwogICAgIHZvaWQgZW5h
YmxlTW9ja01lZGlhQ2FwYWJpbGl0aWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCmlu
ZGV4IGRlOTI4OTg5OGMzOTEyYTNiN2Y2NWRiNGIzY2NkOGFhOTcxNWQzMjkuLjM4YmM3MjIwOTE4
MzJhMzJhYzE5NGMzMWQ1YmM5MjNmMjFhOWNhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGlu
Zy5oCkBAIC03NCw0ICs3NCw1IEBAIHR5cGVkZWYgZW51bSB7CiAKIC0gKEJPT0wpX2hhc1NsZWVw
RGlzYWJsZXI7CiAtIChXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1cylfYXVk
aW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXM7CistIChkb3VibGUpX2F1ZGlvUm91dGluZ0FyYml0
cmF0aW9uVXBkYXRlVGltZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KaW5kZXggZmE2MGU5YjNmNzMyNWZiZTU3
YmFjYmUxNzQ2NWQ3ZGZmMzg3YTQzYy4uMzBhMWU0N2YzNDQyNGJiNTE1MDU3MzkxNjJjZWU4OGE0
N2Q4MDYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1Rlc3RpbmcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1Rlc3RpbmcubW0KQEAgLTI2Miw0ICsyNjIsMTMgQEAKICNlbmRpZgogfQogCist
IChkb3VibGUpX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9uVXBkYXRlVGltZQoreworI2lmIEVOQUJM
RShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIHJldHVybiBfcGFnZS0+cHJvY2VzcygpLmF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkuYXJiaXRyYXRpb25VcGRhdGVUaW1lKCkuc2Vjb25k
c1NpbmNlRXBvY2goKS5zZWNvbmRzKCk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9
CisKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL0F1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L01lZGlhL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaAppbmRleCBmNjJiYmVm
ZTUzNTExNTJmYTQxMjlkYTAyN2Y3MTE0ZjY0MWJjOGNlLi43Y2E1NTJlMTc5ODgxZjU0NzJhZTY5
M2UzODZkMDk5MTEzMTlkZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9N
ZWRpYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5o
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPgorI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTksNiAr
NjAsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEFyYml0cmF0aW9uU3RhdHVzIGFyYml0cmF0
aW9uU3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblN0YXR1czsgfQorICAgIFdh
bGxUaW1lIGFyYml0cmF0aW9uVXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJiaXRyYXRp
b25VcGRhdGVUaW1lOyB9CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIK
QEAgLTcxLDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzUHJveHkmIG1fcHJvY2Vz
czsKICAgICBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVnb3J5IHsg
V2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpOb25lIH07CiAgICAgQXJiaXRyYXRpb25TdGF0dXMgbV9h
cmJpdHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07CisgICAgV2FsbFRp
bWUgbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
clByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Q29jb2EubW0KaW5kZXggNWI5MjI1MWI0Yjk5
MGU0MTdhY2UzZmI0MTE1YTNjZjczODllNzM2MS4uYmM3MGQ0NWVlNzA5MmE2NDFmMjc1NTQyNWVk
Zjk4MWViMjQ2ZDllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEv
Y29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yUHJveHlDb2NvYS5tbQpAQCAtMTc4LDYgKzE3OCw3IEBAIHZvaWQgQXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3JQcm94eTo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdv
cnkoV2ViCiB7CiAgICAgbV9jYXRlZ29yeSA9IGNhdGVnb3J5OwogICAgIG1fYXJiaXRyYXRpb25T
dGF0dXMgPSBBcmJpdHJhdGlvblN0YXR1czo6UGVuZGluZzsKKyAgICBtX2FyYml0cmF0aW9uVXBk
YXRlVGltZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICBTaGFyZWRBcmJpdHJhdG9yOjpzaGFyZWRJ
bnN0YW5jZSgpLmJlZ2luUm91dGluZ0FyYml0cmF0aW9uRm9yQXJiaXRyYXRvcigqdGhpcywgW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XSAoUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91
dGVDaGFuZ2VkKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKHdlYWtUaGlzKQogICAgICAgICAgICAg
d2Vha1RoaXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRp
b25FcnJvcjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0
YXR1czo6Tm9uZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBkMjM1ZWFiZTE3ZDZiZGQ4YTdlNDczZDM4ZTVjMGI3MTkwYTU5ZTU0Li45MjY1YTI2
OGJkYThkMTgwMGI0OTMxMWQ1YjBmN2VkOWJlMGNhNTc0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDgtMjQg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09T
XSBVcGRhdGUgYXVkaW8gYXJiaXRyYXRpb24gbWFuYWdlciB3aGVuIGF1ZGlvIHRyYW5zcG9ydCBj
aGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTU3ODEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTIwNjEzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEkueGNz
Y2hlbWU6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdWRpb1Jv
dXRpbmdBcmJpdHJhdGlvbi5tbToKKyAgICAgICAgKEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uOjpz
dGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKTogQWRkIG1lc3NhZ2Ugc3RyaW5nIHRvIGhlbHAKKyAg
ICAgICAgZGVidWdnaW5nIHdoZW4gdGhlIHRlc3QgZmFpbHMuCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbDoKKwogMjAy
MC0wOC0xNyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAg
ICAgICBbV1RGXSBIYXNoVGFibGU8UmVmPEs+LCBWPjo6SGFzaFRhYmxlKGNvbnN0IEhhc2hUYWJs
ZSYgb3RoZXIpIGNhbid0IGNvbXBpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0
QVBJLnhjc2NoZW1lIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEkueGNzY2hlbWUKaW5kZXggNWY1
ZWMyZTRhZWMzOWVkYzM5ZmM3Zjg1YzdkOTY3ZTVjNDk0Njk0ZS4uNjM0ZDIyMTE3NDMwM2Y1MGNi
YThiMGQwMThmOWViZmQ5Yjc0MjAxYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRB
UEkueGNzY2hlbWUKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEkueGNzY2hlbWUKQEAgLTUw
LDYgKzUwLDEyIEBACiAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0gImNvbnRhaW5l
cjpUZXN0V2ViS2l0QVBJLnhjb2RlcHJvaiI+CiAgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5j
ZT4KICAgICAgIDwvQnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlPgorICAgICAgPENvbW1hbmRMaW5l
QXJndW1lbnRzPgorICAgICAgICAgPENvbW1hbmRMaW5lQXJndW1lbnQKKyAgICAgICAgICAgIGFy
Z3VtZW50ID0gIi0tZ3Rlc3RfZmlsdGVyPUF1ZGlvUm91dGluZ0FyYml0cmF0aW9uLlVwZGF0aW5n
IgorICAgICAgICAgICAgaXNFbmFibGVkID0gIllFUyI+CisgICAgICAgICA8L0NvbW1hbmRMaW5l
QXJndW1lbnQ+CisgICAgICA8L0NvbW1hbmRMaW5lQXJndW1lbnRzPgogICAgPC9MYXVuY2hBY3Rp
b24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAgYnVpbGRDb25maWd1cmF0aW9uID0gIlJlbGVh
c2UiCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1
ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbi5tbQppbmRleCBjMWUwZGNjZDhjOWY5MDIy
MjUwNzZiZWVlZDk0YjA1NTExZGExMjUzLi40MWUyMjM2ODk4MDY4ODFhOTIzZjI1NzE0NGIzMjIz
OWZkNmU5MzcxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24ubW0KQEAgLTMzLDYgKzMz
LDcgQEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9ydCA8d3RmL1dhbGxUaW1lLmg+CiAKIGNs
YXNzIEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uIDogcHVibGljIHRlc3Rpbmc6OlRlc3QgewogcHVi
bGljOgpAQCAtNDEsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBTZXRVcCgpIGZpbmFsCiAg
ICAgewogICAgICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRS
ZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRG
b3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAg
ICAgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICop
Y29udGV4dC5nZXQoKTsKICAgICAgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fbWVkaWFEYXRhTG9h
ZHNBdXRvbWF0aWNhbGx5ID0gWUVTOwogICAgICAgICBjb25maWd1cmF0aW9uLmdldCgpLm1lZGlh
VHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFU
eXBlTm9uZTsKICAgICAgICAgd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMTAwLCAxMDApIGNvbmZpZ3VyYXRpb246
Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKQEAgLTU2LDcgKzU5LDcgQEAg
cHVibGljOgogICAgICAgICBbd2ViVmlldyBfY2xvc2VdOwogICAgIH0KIAotICAgIHZvaWQgc3Rh
dHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0
YXR1cyBzdGF0dXMpCisgICAgdm9pZCBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmll
d0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzIHN0YXR1cywgY29uc3QgY2hhciogbWVzc2Fn
ZSkKICAgICB7CiAgICAgICAgIGludCB0cmllcyA9IDA7CiAgICAgICAgIGRvIHsKQEAgLTY2LDU0
ICs2OSw4NiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVl
cCgwLjEpOwogICAgICAgICB9IHdoaWxlICgrK3RyaWVzIDw9IDEwMCk7CiAKLSAgICAgICAgRVhQ
RUNUX0VRKHN0YXR1cywgW3dlYlZpZXcgX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzXSk7
CisgICAgICAgIEVYUEVDVF9FUShzdGF0dXMsIFt3ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJpdHJh
dGlvblN0YXR1c10pIDw8IG1lc3NhZ2U7CiAgICAgfQogfTsKIAogVEVTVF9GKEF1ZGlvUm91dGlu
Z0FyYml0cmF0aW9uLCBCYXNpYykKIHsKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdL
V2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlKTsKKyAgICBzdGF0dXNT
aG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVz
QWN0aXZlLCAiQmFzaWMiKTsKIH0KIAogVEVTVF9GKEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uLCBN
dXRlKQogewotICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0
aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUpOworICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFs
VG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUsICJNdXRlIDEi
KTsKIAogICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHRXaXRoVXNlckdl
c3R1cmU6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpLm11dGVkID0gdHJ1ZSJdOwog
Ci0gICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJp
dHJhdGlvblN0YXR1c05vbmUpOworICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJW
aWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNOb25lLCAiTXV0ZSAyIik7CiAKICAgICBb
d2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0V2l0aFVzZXJHZXN0dXJlOkAiZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5tdXRlZCA9IGZhbHNlIl07CiAKLSAgICBzdGF0
dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3Rh
dHVzQWN0aXZlKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlv
Um91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiTXV0ZSAzIik7CiB9CiAKIFRFU1RfRihB
dWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwgTmF2aWdhdGlvbikKIHsKLSAgICBzdGF0dXNTaG91bGRC
ZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZl
KTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0Fy
Yml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiTmF2aWdhdGlvbiAxIik7CiAKICAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8aHRtbD5ubyBjb250ZW50czwvaHRtbD4iXTsK
IAotICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJi
aXRyYXRpb25TdGF0dXNOb25lKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2Vi
Vmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzTm9uZSwgIk5hdmlnYXRpb24gMiIpOwog
fQogCiBURVNUX0YoQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24sIERlbGV0aW9uKQogewotICAgIHN0
YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25T
dGF0dXNBY3RpdmUpOworICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVk
aW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUsICJEZWxldGlvbiAxIik7CiAKICAgICBb
d2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0V2l0aFVzZXJHZXN0dXJlOkAiZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5wYXJlbnROb2RlLmlubmVySFRNTCA9ICcnIl07
CiAKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0Fy
Yml0cmF0aW9uU3RhdHVzTm9uZSk7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dl
YlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c05vbmUsICJEZWxldGlvbiAyIik7CiB9
CiAKIFRFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwgQ2xvc2UpCiB7Ci0gICAgc3RhdHVz
U2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1
c0FjdGl2ZSk7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1Jv
dXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwgIkNsb3NlIDEiKTsKIAogICAgIFt3ZWJWaWV3
IF9jbG9zZV07CiAKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlv
Um91dGluZ0FyYml0cmF0aW9uU3RhdHVzTm9uZSk7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1
YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c05vbmUsICJDbG9zZSAy
Iik7CiB9CiAKK1RFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwgVXBkYXRpbmcpCit7Cisg
ICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJh
dGlvblN0YXR1c0FjdGl2ZSwgIlVwZGF0aW5nIDEiKTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRl
SmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykucGF1c2UoKSIgY29t
cGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2Vi
Vmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiVXBkYXRpbmcgMiIpOwor
CisgICAgYXV0byBzdGFydCA9IFdhbGxUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpLnNl
Y29uZHMoKTsKKyAgICBhdXRvIGFyYml0cmF0aW9uVXBkYXRlVGltZSA9IFt3ZWJWaWV3IF9hdWRp
b1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWVdOworICAgIEFTU0VSVF9UUlVFKGFyYml0cmF0
aW9uVXBkYXRlVGltZSA8IHN0YXJ0KTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlw
dDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykucGxheSgpIiBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOworICAgIEVYUEVDVF9FUShhcmJpdHJhdGlvblVwZGF0ZVRpbWUsIFt3ZWJWaWV3
IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWVdKSA8PCAiQXJiaXRyYXRpb24gd2Fz
IHVuZXhwZWN0ZWRseSB1cGRhdGVkIjsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdL
V2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiVXBkYXRpbmcgMyIp
OworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigndmlkZW8nKS5wYXVzZSgpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworICAgIFt3ZWJW
aWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnNldElz
UGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUodHJ1ZSkiXTsKKworICAgIFt3ZWJWaWV3IGV2YWx1
YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ZpZGVvJykucGxheSgpIiBj
b21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAgaW50IHRyaWVzID0gMDsKKyAgICBkbyB7Cisg
ICAgICAgIGlmIChbd2ViVmlldyBfYXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25VcGRhdGVUaW1lXSA+
IGFyYml0cmF0aW9uVXBkYXRlVGltZSkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSAx
MDApOworCisgICAgRVhQRUNUX0xUKGFyYml0cmF0aW9uVXBkYXRlVGltZSwgW3dlYlZpZXcgX2F1
ZGlvUm91dGluZ0FyYml0cmF0aW9uVXBkYXRlVGltZV0pIDw8ICJBcmJpdHJhdGlvbiB3YXMgbm90
IHVwZGF0ZWQiOworCisgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
IndpbmRvdy5pbnRlcm5hbHMuc2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZSgpIl07Cit9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRM
ZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0TGVnYWN5L2lvcy92aWRlby13aXRoLWF1ZGlvLmh0bWwKaW5kZXggMjM3YWFjZTg0
ZDI0Yzk5OWQ5YmMzNzZjNzNlMjY4NWM2ODEyZDhkNC4uMjZhNDI3Mjg3YWI0YWU2OWJlYTdmY2Y3
MDcwNDQwYTY2NzM4OTFkZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRMZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRtbAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9pb3MvdmlkZW8td2l0aC1hdWRpby5odG1sCkBAIC0y
LDggKzIsNiBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0PgotICAgIHZhciB0aW1lb3V0
OwotCiAgICAgZnVuY3Rpb24gZ28oKSB7CiAgICAgICAgIHZhciB2aWRlbyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOwogICAgICAgICB2aWRlby5wbGF5KCkudGhl
bihwbGF5aW5nKS5jYXRjaChub3RQbGF5aW5nKTsKQEAgLTI5LDYgKzI3LDE2IEBACiAgICAgICAg
IH0gY2F0Y2goZSkgeyB9CiAgICAgfQogCisgICAgZnVuY3Rpb24gcGF1c2UoKSB7CisgICAgICAg
IGxldCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOwor
ICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsIHBhdXNlZCwgeyBvbmNlOiB0
cnVlIH0pOworICAgICAgICB2aWRlby5wYXVzZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHBs
YXkoKSB7CisgICAgICAgIGdvKCk7CisgICAgfQorCiAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigncGFnZXNob3cnLCBnbyk7CiAgICA8L3NjcmlwdD4KIDwvaGVhZD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407144</attachid>
            <date>2020-08-24 15:36:16 -0700</date>
            <delta_ts>2020-08-25 09:15:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-215781-20200824153616.patch</filename>
            <type>text/plain</type>
            <size>22245</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU3NmRkZWY3ZTdhMDdj
NTVlMmE5ZThkNGFkOTZjZjc4YmYyN2E5OC4uM2NmNzFlMjQ3MjFmMjJmOWQ4YzhkZGUyYjU3NjBl
NDA2NzE3NTM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA4LTI0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gVXBk
YXRlIGF1ZGlvIGFyYml0cmF0aW9uIG1hbmFnZXIgd2hlbiBhdWRpbyB0cmFuc3BvcnQgY2hhbmdl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1Nzgx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTkyMDYxMz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBKZXIgTm9ibGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB1cGRhdGVkIEF1ZGlvUm91dGlu
Z0FyYml0cmF0aW9uIEFQSSB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9T
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6YXVkaW9PdXRwdXRE
ZXZpY2VDaGFuZ2VkKTogQWRkIGVtcHR5IG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldElz
UGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9BdWRpb1Nlc3Npb24uaDoKKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29h
L01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vz
c2lvbk1hbmFnZXJDb2NvYTo6YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKTogQ2FsbCBBdWRpb1Nl
c3Npb246OmF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpkZWZhdWx0RGV2
aWNlVHJhbnNwb3J0SXNCbHVldG9vdGgpOiBOZXcuCisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nl
c3Npb246OmF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCk6IENsZWFyIG1fcHJpdmF0ZS0+cGxheWlu
Z1RvQmx1ZXRvb3RoCisgICAgICAgIGlmIGJsdWV0b290aCB0cmFuc3BvcnQgaGFzIGNoYW5nZWQg
c2luY2UgdGhlIGxhc3QgYXJiaXRyYXRpb24gdXBkYXRlLgorICAgICAgICAoV2ViQ29yZTo6QXVk
aW9TZXNzaW9uOjpzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKTogQWxsb3cgb3ZlcnJp
ZGUgb2YgYmx1ZXRvb3RoCisgICAgICAgIHRyYW5zcG9ydCBmb3IgdGVzdGluZy4KKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0Q2F0ZWdvcnkpOiBVcGRhdGUgcm91dGluZyBhcmJp
dHJhdGlvbiBpZiBhdWRpbyBzZXNzaW9uIGNhdGVnb3J5CisgICAgICAgIG9yIGJsdWV0b290aCB0
cmFuc3BvcnQgY2hhbmdlcy4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlk
ZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMjAtMDgtMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBXYXZlU2hhcGVyTm9kZSBzaG91bGQgbm90IG91dHB1dCBzaWxlbmNlIHdo
ZW4gaXQgaGFzIG5vIGlucHV0IG9yIHdoZW4gaW5wdXQgaXMgc2lsZW5jZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAw
OGY0MjgyNzZhY2NlNzQ3YjJkNTA5ZDQ1NDU5YTRkNGNlODA3MDM4Li5hNDMwNjJjZjY0NDc1YWM4
NmMyODg3ODA4NzA1NmY5ZTlkYjliNDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIw
LTA4LTI0ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAg
IFttYWNPU10gVXBkYXRlIGF1ZGlvIGFyYml0cmF0aW9uIG1hbmFnZXIgd2hlbiBhdWRpbyB0cmFu
c3BvcnQgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE1NzgxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTkyMDYxMz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2F1ZGlvUm91
dGluZ0FyYml0cmF0aW9uVXBkYXRlVGltZV0pOgorCisgICAgICAgICogVUlQcm9jZXNzL01lZGlh
L0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eTo6YXJiaXRyYXRpb25VcGRhdGVUaW1l
IGNvbnN0KToKKworICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENh
dGVnb3J5KToKKwogMjAyMC0wOC0xNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTWFjXSBBZGQgRXhwZXJpbWVudGFsIEZlYXR1cmUgcHJlZmVyZW5jZSBmb3Ig
U1cgVlA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nl
c3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNw
cAppbmRleCA1MWE4ZDNhMjgyNjBjNjMzMzEwM2YxMDdlYmFkYzRlOTRjNWNkYjdlLi5hN2ZiYTk2
YTQwMTcxZDc2MTEwMmU3YWM2MTExOTA2NmQyNGIxODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKQEAgLTE2Myw2ICsxNjMsMTkgQEAgU3Ry
aW5nIEF1ZGlvU2Vzc2lvbjo6cm91dGluZ0NvbnRleHRVSUQoKSBjb25zdAogCiAjZW5kaWYgLy8g
IVBMQVRGT1JNKENPQ09BKQogCisjaWYgIVBMQVRGT1JNKE1BQykKK3ZvaWQgQXVkaW9TZXNzaW9u
OjphdWRpb091dHB1dERldmljZUNoYW5nZWQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKK3ZvaWQgQXVkaW9TZXNzaW9uOjpzZXRJc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKE9w
dGlvbmFsPGJvb2w+KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisjZW5kaWYgLy8gIVBM
QVRGT1JNKENPQ09BKQorCisKIFN0cmluZyBjb252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyhSb3V0
ZVNoYXJpbmdQb2xpY3kgZW51bWVyYXRpb25WYWx1ZSkKIHsKICAgICBzdGF0aWMgY29uc3QgTmV2
ZXJEZXN0cm95ZWQ8U3RyaW5nPiB2YWx1ZXNbXSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgKaW5kZXggOTA3MTgzYmRiMmJkNDEzZWVhYzU2OTY3Y2Mw
MzBlMDQwODY2ZDVjYi4uZTAyZDRmZDY3MGRjZWUyOGNmOGFkNDNlNGVkNzJjYWYyYmFmNGI5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmgKQEAgLTk3
LDYgKzk3LDkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkTXV0ZWRTdGF0ZU9ic2VydmVyKE11dGVk
U3RhdGVPYnNlcnZlciopOwogICAgIHZvaWQgcmVtb3ZlTXV0ZWRTdGF0ZU9ic2VydmVyKE11dGVk
U3RhdGVPYnNlcnZlciopOwogCisgICAgdm9pZCBhdWRpb091dHB1dERldmljZUNoYW5nZWQoKTsK
KyAgICB2b2lkIHNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUoT3B0aW9uYWw8Ym9vbD4p
OworCiAgICAgdmlydHVhbCBib29sIGlzTXV0ZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlTXV0ZWRTdGF0ZUNoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCmlu
ZGV4IGVlOGU5ODY1MzUxMjlkNjkxZmI1ODc0ZjhmM2M5MTlmNTNjY2EyMmUuLjQxYmEyZDUwYzhh
YTZhYWJhOTk2Mjc1OTVlZTA0MmRlNDZiNzJhMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oCkBAIC05Niw3ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgLy8gQXVkaW9IYXJkd2FyZUxpc3Rl
bmVyQ2xpZW50CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lQWN0aXZlKCkgZmluYWwg
eyB9CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKSBmaW5hbCB7IH0K
LSAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZpbmFsIHsgdXBkYXRlU2Vzc2lv
blN0YXRlKCk7IH0KKyAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZpbmFsOwog
CiAgICAgLy8gUEFMOjpTeXN0ZW1TbGVlcExpc3RlbmVyCiAgICAgdm9pZCBzeXN0ZW1XaWxsU2xl
ZXAoKSBmaW5hbCB7IHByb2Nlc3NTeXN0ZW1XaWxsU2xlZXAoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFu
YWdlckNvY29hLm1tCmluZGV4IGM4MGYyYjliOTBlMzRjNmQzYjM4ZjNhZWI3MjEzMjdlOTBhZTQx
OTAuLmJkYzdkZTMyMzEyYWE1YWYyMDExMzBhNjljNmI4NWNmMTEwZjkyZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTM2Niw2ICszNjYsMTIgQEAgdm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2E6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICBFTkRfQkxPQ0tfT0JK
Q19FWENFUFRJT05TCiB9CiAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjphdWRpb091
dHB1dERldmljZUNoYW5nZWQoKQoreworICAgIEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigp
LmF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpOworICAgIHVwZGF0ZVNlc3Npb25TdGF0ZSgpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQVVESU9fU0VTU0lP
TikgJiYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbQppbmRleCBiMzFiN2ViN2Y3NzZjMTI4MmE4OWFm
NGVlMDFlMDgyZWIxZWVmZGFlLi4xZDhkY2VlZTE2OGE4MmU1MzRjM2VkMGY4OTEzYTVjMzMxNWUz
YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9T
ZXNzaW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRp
b1Nlc3Npb25NYWMubW0KQEAgLTU0LDYgKzU0LDI4IEBAIHN0YXRpYyBBdWRpb0RldmljZUlEIGRl
ZmF1bHREZXZpY2UoKQogICAgIHJldHVybiBkZXZpY2VJRDsKIH0KIAorI2lmIEVOQUJMRShST1VU
SU5HX0FSQklUUkFUSU9OKQorc3RhdGljIE9wdGlvbmFsPGJvb2w+IGlzUGxheWluZ1RvQmx1ZXRv
b3RoT3ZlcnJpZGU7CisKK3N0YXRpYyBmbG9hdCBkZWZhdWx0RGV2aWNlVHJhbnNwb3J0SXNCbHVl
dG9vdGgoKQoreworICAgIGlmIChpc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlKQorICAgICAg
ICByZXR1cm4gKmlzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGU7CisKKyAgICBzdGF0aWMgY29u
c3QgQXVkaW9PYmplY3RQcm9wZXJ0eUFkZHJlc3MgYXVkaW9EZXZpY2VUcmFuc3BvcnRUeXBlUHJv
cGVydHkgPSB7CisgICAgICAgIGtBdWRpb0RldmljZVByb3BlcnR5VHJhbnNwb3J0VHlwZSwKKyAg
ICAgICAga0F1ZGlvT2JqZWN0UHJvcGVydHlTY29wZUdsb2JhbCwKKyAgICAgICAga0F1ZGlvT2Jq
ZWN0UHJvcGVydHlFbGVtZW50TWFzdGVyLAorICAgIH07CisgICAgVUludDMyIHRyYW5zcG9ydFR5
cGUgPSBrQXVkaW9EZXZpY2VUcmFuc3BvcnRUeXBlVW5rbm93bjsKKyAgICBVSW50MzIgdHJhbnNw
b3J0U2l6ZSA9IHNpemVvZih0cmFuc3BvcnRUeXBlKTsKKyAgICBpZiAoQXVkaW9PYmplY3RHZXRQ
cm9wZXJ0eURhdGEoZGVmYXVsdERldmljZSgpLCAmYXVkaW9EZXZpY2VUcmFuc3BvcnRUeXBlUHJv
cGVydHksIDAsIDAsICZ0cmFuc3BvcnRTaXplLCAmdHJhbnNwb3J0VHlwZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cmFuc3BvcnRUeXBlID09IGtBdWRpb0RldmljZVRy
YW5zcG9ydFR5cGVCbHVldG9vdGggfHwgdHJhbnNwb3J0VHlwZSA9PSBrQXVkaW9EZXZpY2VUcmFu
c3BvcnRUeXBlQmx1ZXRvb3RoTEU7Cit9CisjZW5kaWYKKwogY2xhc3MgQXVkaW9TZXNzaW9uUHJp
dmF0ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC02Miw2ICs4
NCw4IEBAIHB1YmxpYzoKICAgICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSB7
IEF1ZGlvU2Vzc2lvbjo6Tm9uZSB9OwogI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQog
ICAgIGJvb2wgc2V0dXBBcmJpdHJhdGlvbk9uZ29pbmcgeyBmYWxzZSB9OworICAgIE9wdGlvbmFs
PGJvb2w+IHBsYXlpbmdUb0JsdWV0b290aDsKKyAgICBPcHRpb25hbDxib29sPiBwbGF5aW5nVG9C
bHVldG9vdGhPdmVycmlkZTsKICNlbmRpZgogICAgIEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBl
IG1fY2F0ZWdvcnlPdmVycmlkZTsKICAgICBib29sIGluUm91dGluZ0FyYml0cmF0aW9uIHsgZmFs
c2UgfTsKQEAgLTc5LDExICsxMDMsMzIgQEAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgQXVk
aW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y2F0ZWdv
cnk7CiB9CiAKK3ZvaWQgQXVkaW9TZXNzaW9uOjphdWRpb091dHB1dERldmljZUNoYW5nZWQoKQor
eworI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIGlmICghbV9wcml2YXRlLT5w
bGF5aW5nVG9CbHVldG9vdGggfHwgKm1fcHJpdmF0ZS0+cGxheWluZ1RvQmx1ZXRvb3RoID09IGRl
ZmF1bHREZXZpY2VUcmFuc3BvcnRJc0JsdWV0b290aCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX3ByaXZhdGUtPnBsYXlpbmdUb0JsdWV0b290aCA9IFdURjo6bnVsbG9wdDsKKyNlbmRpZgor
fQorCit2b2lkIEF1ZGlvU2Vzc2lvbjo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZShP
cHRpb25hbDxib29sPiB2YWx1ZSkKK3sKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikK
KyAgICBpc1BsYXlpbmdUb0JsdWV0b290aE92ZXJyaWRlID0gdmFsdWU7CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTSh2YWx1ZSk7CisjZW5kaWYKK30KKwogdm9pZCBBdWRpb1Nlc3Npb246OnNldENh
dGVnb3J5KENhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFyaW5nUG9saWN5KQogewogI2lm
IEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQotICAgIGlmIChjYXRlZ29yeSA9PSBtX3ByaXZh
dGUtPmNhdGVnb3J5KQorICAgIGJvb2wgcGxheWluZ1RvQmx1ZXRvb3RoID0gZGVmYXVsdERldmlj
ZVRyYW5zcG9ydElzQmx1ZXRvb3RoKCk7CisgICAgaWYgKGNhdGVnb3J5ID09IG1fcHJpdmF0ZS0+
Y2F0ZWdvcnkgJiYgbV9wcml2YXRlLT5wbGF5aW5nVG9CbHVldG9vdGggJiYgKm1fcHJpdmF0ZS0+
cGxheWluZ1RvQmx1ZXRvb3RoID09IHBsYXlpbmdUb0JsdWV0b290aCkKICAgICAgICAgcmV0dXJu
OworCiAgICAgbV9wcml2YXRlLT5jYXRlZ29yeSA9IGNhdGVnb3J5OwogCiAgICAgaWYgKG1fcHJp
dmF0ZS0+c2V0dXBBcmJpdHJhdGlvbk9uZ29pbmcpIHsKQEAgLTEwNSw2ICsxNTAsNyBAQCB2b2lk
IEF1ZGlvU2Vzc2lvbjo6c2V0Q2F0ZWdvcnkoQ2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBSb3V0ZVNo
YXJpbmdQb2xpY3kpCiAgICAgdXNpbmcgUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgPSBBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OlJvdXRpbmdBcmJpdHJhdGlvbkVycm9yOwog
ICAgIHVzaW5nIERlZmF1bHRSb3V0ZUNoYW5nZWQgPSBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRpb25DbGllbnQ6OkRlZmF1bHRSb3V0ZUNoYW5nZWQ7CiAKKyAgICBtX3ByaXZhdGUtPnBsYXlp
bmdUb0JsdWV0b290aCA9IHBsYXlpbmdUb0JsdWV0b290aDsKICAgICBtX3ByaXZhdGUtPnNldHVw
QXJiaXRyYXRpb25PbmdvaW5nID0gdHJ1ZTsKICAgICBtX3JvdXRpbmdBcmJpdHJhdGlvbkNsaWVu
dC0+YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkobV9wcml2YXRlLT5jYXRlZ29y
eSwgW3RoaXNdIChSb3V0aW5nQXJiaXRyYXRpb25FcnJvciBlcnJvciwgRGVmYXVsdFJvdXRlQ2hh
bmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSB7CiAgICAgICAgIG1fcHJpdmF0ZS0+c2V0dXBBcmJp
dHJhdGlvbk9uZ29pbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCBjMDUzYTRkZGEyMDA4ZWZkN2E2Njg4ZDM0NDhmZmJmM2JmY2JlMWY1Li5iZDE5YTM4OTBl
MTlhOTdlNDU4OWE4NDA1Y2UwMGE0ZGRhZmYwMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC00OTM3LDYgKzQ5MzcsMTcgQEAgZG91YmxlIEludGVybmFsczo6cHJpdmF0
ZVBsYXllclZvbHVtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50JikKIAogI2VuZGlmCiAKK0V4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsczo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZShP
cHRpb25hbDxib29sPiBpc1BsYXlpbmcpCit7CisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJ
T04pCisgICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2V0SXNQbGF5aW5nVG9CbHVl
dG9vdGhPdmVycmlkZShpc1BsYXlpbmcpOworICAgIHJldHVybiB7IH07CisjZWxzZQorICAgIFVO
VVNFRF9QQVJBTShpc1BsYXlpbmcpOworICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0
ZWRFcnJvciB9OworI2VuZGlmCit9CisKIHZvaWQgSW50ZXJuYWxzOjpyZXBvcnRCYWNrdHJhY2Uo
KQogewogICAgIFdURlJlcG9ydEJhY2t0cmFjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKaW5kZXggZTBmYzQ5ZDgxNDdlYmZjNmE4MTdlMWQwZDAxODZjYzdkMDE0MDVkZi4uZTk5Yjhh
YjdiZGVkZmZiNzIyZDBmOWIwNDAwYWI1Y2NjMmE4MDhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCkBAIC02MjMsNiArNjIzLDggQEAgcHVibGljOgogICAgIGRvdWJsZSBwcml2YXRl
UGxheWVyVm9sdW1lKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKTsKICNlbmRpZgogCisgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gc2V0SXNQbGF5aW5nVG9CbHVldG9vdGhPdmVycmlkZShPcHRpb25hbDxi
b29sPik7CisKICAgICBib29sIGlzU2VsZWN0UG9wdXBWaXNpYmxlKEhUTUxTZWxlY3RFbGVtZW50
Jik7CiAKICAgICBFeGNlcHRpb25PcjxTdHJpbmc+IGNhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNDVhZThmZDVmMGJmNGVk
MTlkYTBlNGJhYmZmMWU1MTA3ZDFkZGNkMy4uYjkzOTdhYjM5MTc4OWI0MjdmNjIzYzE0NjI4M2Vh
ZThlNDg0NTE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjUxLDYg
KzY1MSw4IEBAIGVudW0gQ29udGVudFNpemVDYXRlZ29yeSB7CiAgICAgW0NvbmRpdGlvbmFsPVZJ
REVPXSBET01TdHJpbmcgZWxlbWVudEJ1ZmZlcmluZ1BvbGljeShIVE1MTWVkaWFFbGVtZW50IG1l
ZGlhKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9dIGRvdWJsZSBwcml2YXRlUGxheWVyVm9sdW1l
KEhUTUxNZWRpYUVsZW1lbnQgbWVkaWEpOwogCisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lk
IHNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUob3B0aW9uYWwgYm9vbGVhbj8gaXNQbGF5
aW5nID0gbnVsbCk7CisKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQV0g
dm9pZCBpbml0aWFsaXplTW9ja0NETSgpOwogICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUFdIE1vY2tDRE1GYWN0b3J5IHJlZ2lzdGVyTW9ja0NETSgpOwogICAgIHZvaWQgZW5hYmxlTW9j
a01lZGlhQ2FwYWJpbGl0aWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCmluZGV4IGRl
OTI4OTg5OGMzOTEyYTNiN2Y2NWRiNGIzY2NkOGFhOTcxNWQzMjkuLjM4YmM3MjIwOTE4MzJhMzJh
YzE5NGMzMWQ1YmM5MjNmMjFhOWNhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCkBA
IC03NCw0ICs3NCw1IEBAIHR5cGVkZWYgZW51bSB7CiAKIC0gKEJPT0wpX2hhc1NsZWVwRGlzYWJs
ZXI7CiAtIChXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1cylfYXVkaW9Sb3V0
aW5nQXJiaXRyYXRpb25TdGF0dXM7CistIChkb3VibGUpX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9u
VXBkYXRlVGltZTsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KaW5kZXggZmE2MGU5YjNmNzMyNWZiZTU3YmFjYmUx
NzQ2NWQ3ZGZmMzg3YTQzYy4uMzBhMWU0N2YzNDQyNGJiNTE1MDU3MzkxNjJjZWU4OGE0N2Q4MDYz
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1Rlc3RpbmcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1Rlc3RpbmcubW0KQEAgLTI2Miw0ICsyNjIsMTMgQEAKICNlbmRpZgogfQogCistIChkb3Vi
bGUpX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9uVXBkYXRlVGltZQoreworI2lmIEVOQUJMRShST1VU
SU5HX0FSQklUUkFUSU9OKQorICAgIHJldHVybiBfcGFnZS0+cHJvY2VzcygpLmF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yKCkuYXJiaXRyYXRpb25VcGRhdGVUaW1lKCkuc2Vjb25kc1NpbmNl
RXBvY2goKS5zZWNvbmRzKCk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIEBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL0F1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlh
L0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHkuaAppbmRleCBmNjJiYmVmZTUzNTEx
NTJmYTQxMjlkYTAyN2Y3MTE0ZjY0MWJjOGNlLi43Y2E1NTJlMTc5ODgxZjU0NzJhZTY5M2UzODZk
MDk5MTEzMTlkZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9B
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTWVkaWEvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oCkBAIC0y
OSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0F1ZGlvU2Vzc2lvbi5oPgorI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTksNiArNjAsNyBA
QCBwdWJsaWM6CiAgICAgfTsKIAogICAgIEFyYml0cmF0aW9uU3RhdHVzIGFyYml0cmF0aW9uU3Rh
dHVzKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblN0YXR1czsgfQorICAgIFdhbGxUaW1l
IGFyYml0cmF0aW9uVXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJiaXRyYXRpb25VcGRh
dGVUaW1lOyB9CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKQEAgLTcx
LDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzUHJveHkmIG1fcHJvY2VzczsKICAg
ICBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVnb3J5IHsgV2ViQ29y
ZTo6QXVkaW9TZXNzaW9uOjpOb25lIH07CiAgICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJpdHJh
dGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07CisgICAgV2FsbFRpbWUgbV9h
cmJpdHJhdGlvblVwZGF0ZVRpbWU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9jb2NvYS9BdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvclByb3h5Q29jb2EubW0KaW5kZXggNWI5MjI1MWI0Yjk5MGU0MTdh
Y2UzZmI0MTE1YTNjZjczODllNzM2MS4uYmM3MGQ0NWVlNzA5MmE2NDFmMjc1NTQyNWVkZjk4MWVi
MjQ2ZDllNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvY29jb2Ev
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL01lZGlhL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
UHJveHlDb2NvYS5tbQpAQCAtMTc4LDYgKzE3OCw3IEBAIHZvaWQgQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3JQcm94eTo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2Vi
CiB7CiAgICAgbV9jYXRlZ29yeSA9IGNhdGVnb3J5OwogICAgIG1fYXJiaXRyYXRpb25TdGF0dXMg
PSBBcmJpdHJhdGlvblN0YXR1czo6UGVuZGluZzsKKyAgICBtX2FyYml0cmF0aW9uVXBkYXRlVGlt
ZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICBTaGFyZWRBcmJpdHJhdG9yOjpzaGFyZWRJbnN0YW5j
ZSgpLmJlZ2luUm91dGluZ0FyYml0cmF0aW9uRm9yQXJiaXRyYXRvcigqdGhpcywgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91
dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFu
Z2VkKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKHdlYWtUaGlzKQogICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJv
cjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6
Tm9uZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBkMjM1ZWFiZTE3ZDZiZGQ4YTdlNDczZDM4ZTVjMGI3MTkwYTU5ZTU0Li43NWI0NGI5NjM4ODM1
OWU3MTYyMGY0NGZmMDI2MzgyZTEzZTI3NTg5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDgtMjQgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBVcGRh
dGUgYXVkaW8gYXJiaXRyYXRpb24gbWFuYWdlciB3aGVuIGF1ZGlvIHRyYW5zcG9ydCBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU3ODEK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1OTIwNjEzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IEplciBOb2JsZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24ubW06CisgICAgICAgIChBdWRpb1JvdXRpbmdBcmJpdHJh
dGlvbjo6c3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyk6IEFkZCBtZXNzYWdlIHN0cmluZyB0byBo
ZWxwCisgICAgICAgIGRlYnVnZ2luZyB3aGVuIHRoZSB0ZXN0IGZhaWxzLgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lvcy92aWRlby13aXRoLWF1ZGlvLmh0bWw6
CisKIDIwMjAtMDgtMTcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+
CiAKICAgICAgICAgW1dURl0gSGFzaFRhYmxlPFJlZjxLPiwgVj46Okhhc2hUYWJsZShjb25zdCBI
YXNoVGFibGUmIG90aGVyKSBjYW4ndCBjb21waWxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdWRpb1JvdXRpbmdBcmJpdHJhdGlv
bi5tbQppbmRleCBjMWUwZGNjZDhjOWY5MDIyMjUwNzZiZWVlZDk0YjA1NTExZGExMjUzLi40MWUy
MjM2ODk4MDY4ODFhOTIzZjI1NzE0NGIzMjIzOWZkNmU5MzcxIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXVkaW9Sb3V0aW5n
QXJiaXRyYXRpb24ubW0KQEAgLTMzLDYgKzMzLDcgQEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZh
dGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2lt
cG9ydCA8d3RmL1dhbGxUaW1lLmg+CiAKIGNsYXNzIEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uIDog
cHVibGljIHRlc3Rpbmc6OlRlc3QgewogcHVibGljOgpAQCAtNDEsNiArNDIsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBTZXRVcCgpIGZpbmFsCiAgICAgewogICAgICAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
ICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJL
aXRBUEk6OlV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFs
c0luamVjdGVkQnVuZGxlVGVzdCIpKTsKKyAgICAgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9j
ZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKICAgICAgICAgY29uZmln
dXJhdGlvbi5nZXQoKS5fbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gWUVTOwogICAgICAg
ICBjb25maWd1cmF0aW9uLmdldCgpLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxh
eWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKICAgICAgICAgd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwg
MCwgMTAwLCAxMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRv
dzpZRVNdKTsKQEAgLTU2LDcgKzU5LDcgQEAgcHVibGljOgogICAgICAgICBbd2ViVmlldyBfY2xv
c2VdOwogICAgIH0KIAotICAgIHZvaWQgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZp
ZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1cyBzdGF0dXMpCisgICAgdm9pZCBzdGF0dXNT
aG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVz
IHN0YXR1cywgY29uc3QgY2hhciogbWVzc2FnZSkKICAgICB7CiAgICAgICAgIGludCB0cmllcyA9
IDA7CiAgICAgICAgIGRvIHsKQEAgLTY2LDU0ICs2OSw4NiBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOwogICAgICAgICB9IHdoaWxlICgrK3Ry
aWVzIDw9IDEwMCk7CiAKLSAgICAgICAgRVhQRUNUX0VRKHN0YXR1cywgW3dlYlZpZXcgX2F1ZGlv
Um91dGluZ0FyYml0cmF0aW9uU3RhdHVzXSk7CisgICAgICAgIEVYUEVDVF9FUShzdGF0dXMsIFt3
ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c10pIDw8IG1lc3NhZ2U7CiAgICAg
fQogfTsKIAogVEVTVF9GKEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uLCBCYXNpYykKIHsKLSAgICBz
dGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9u
U3RhdHVzQWN0aXZlKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1
ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiQmFzaWMiKTsKIH0KIAogVEVTVF9G
KEF1ZGlvUm91dGluZ0FyYml0cmF0aW9uLCBNdXRlKQogewotICAgIHN0YXR1c1Nob3VsZEJlY29t
ZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUpOwor
ICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRy
YXRpb25TdGF0dXNBY3RpdmUsICJNdXRlIDEiKTsKIAogICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZh
bHVhdGluZ0phdmFTY3JpcHRXaXRoVXNlckdlc3R1cmU6QCJkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCd2aWRlbycpLm11dGVkID0gdHJ1ZSJdOwogCi0gICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxU
byhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c05vbmUpOworICAgIHN0YXR1
c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0
dXNOb25lLCAiTXV0ZSAyIik7CiAKICAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0V2l0aFVzZXJHZXN0dXJlOkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5t
dXRlZCA9IGZhbHNlIl07CiAKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmll
d0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlKTsKKyAgICBzdGF0dXNTaG91bGRC
ZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZl
LCAiTXV0ZSAzIik7CiB9CiAKIFRFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiwgTmF2aWdh
dGlvbikKIHsKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91
dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlKTsKKyAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVh
bFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzQWN0aXZlLCAiTmF2aWdh
dGlvbiAxIik7CiAKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8
aHRtbD5ubyBjb250ZW50czwvaHRtbD4iXTsKIAotICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFs
VG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNOb25lKTsKKyAgICBzdGF0
dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3Rh
dHVzTm9uZSwgIk5hdmlnYXRpb24gMiIpOwogfQogCiBURVNUX0YoQXVkaW9Sb3V0aW5nQXJiaXRy
YXRpb24sIERlbGV0aW9uKQogewotICAgIHN0YXR1c1Nob3VsZEJlY29tZUVxdWFsVG8oV0tXZWJW
aWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3RpdmUpOworICAgIHN0YXR1c1Nob3Vs
ZEJlY29tZUVxdWFsVG8oV0tXZWJWaWV3QXVkaW9Sb3V0aW5nQXJiaXRyYXRpb25TdGF0dXNBY3Rp
dmUsICJEZWxldGlvbiAxIik7CiAKICAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0V2l0aFVzZXJHZXN0dXJlOkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5w
YXJlbnROb2RlLmlubmVySFRNTCA9ICcnIl07CiAKLSAgICBzdGF0dXNTaG91bGRCZWNvbWVFcXVh
bFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzTm9uZSk7CisgICAgc3Rh
dHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0
YXR1c05vbmUsICJEZWxldGlvbiAyIik7CiB9CiAKIFRFU1RfRihBdWRpb1JvdXRpbmdBcmJpdHJh
dGlvbiwgQ2xvc2UpCiB7Ci0gICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdB
dWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSk7CisgICAgc3RhdHVzU2hvdWxkQmVj
b21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwg
IkNsb3NlIDEiKTsKIAogICAgIFt3ZWJWaWV3IF9jbG9zZV07CiAKLSAgICBzdGF0dXNTaG91bGRC
ZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3RhdHVzTm9uZSk7
CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhXS1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJp
dHJhdGlvblN0YXR1c05vbmUsICJDbG9zZSAyIik7CiB9CiAKK1RFU1RfRihBdWRpb1JvdXRpbmdB
cmJpdHJhdGlvbiwgVXBkYXRpbmcpCit7CisgICAgc3RhdHVzU2hvdWxkQmVjb21lRXF1YWxUbyhX
S1dlYlZpZXdBdWRpb1JvdXRpbmdBcmJpdHJhdGlvblN0YXR1c0FjdGl2ZSwgIlVwZGF0aW5nIDEi
KTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ3ZpZGVvJykucGF1c2UoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBzdGF0
dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9uU3Rh
dHVzQWN0aXZlLCAiVXBkYXRpbmcgMiIpOworCisgICAgYXV0byBzdGFydCA9IFdhbGxUaW1lOjpu
b3coKS5zZWNvbmRzU2luY2VFcG9jaCgpLnNlY29uZHMoKTsKKyAgICBhdXRvIGFyYml0cmF0aW9u
VXBkYXRlVGltZSA9IFt3ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0ZVRpbWVd
OworICAgIEFTU0VSVF9UUlVFKGFyYml0cmF0aW9uVXBkYXRlVGltZSA8IHN0YXJ0KTsKKworICAg
IFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Zp
ZGVvJykucGxheSgpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworICAgIEVYUEVDVF9FUShhcmJp
dHJhdGlvblVwZGF0ZVRpbWUsIFt3ZWJWaWV3IF9hdWRpb1JvdXRpbmdBcmJpdHJhdGlvblVwZGF0
ZVRpbWVdKSA8PCAiQXJiaXRyYXRpb24gd2FzIHVuZXhwZWN0ZWRseSB1cGRhdGVkIjsKKyAgICBz
dGF0dXNTaG91bGRCZWNvbWVFcXVhbFRvKFdLV2ViVmlld0F1ZGlvUm91dGluZ0FyYml0cmF0aW9u
U3RhdHVzQWN0aXZlLCAiVXBkYXRpbmcgMyIpOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndmlkZW8nKS5wYXVzZSgpIiBjb21wbGV0
aW9uSGFuZGxlcjpuaWxdOworICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJ3aW5kb3cuaW50ZXJuYWxzLnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUodHJ1
ZSkiXTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ3ZpZGVvJykucGxheSgpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAg
aW50IHRyaWVzID0gMDsKKyAgICBkbyB7CisgICAgICAgIGlmIChbd2ViVmlldyBfYXVkaW9Sb3V0
aW5nQXJiaXRyYXRpb25VcGRhdGVUaW1lXSA+IGFyYml0cmF0aW9uVXBkYXRlVGltZSkKKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7
CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSAxMDApOworCisgICAgRVhQRUNUX0xUKGFyYml0cmF0
aW9uVXBkYXRlVGltZSwgW3dlYlZpZXcgX2F1ZGlvUm91dGluZ0FyYml0cmF0aW9uVXBkYXRlVGlt
ZV0pIDw8ICJBcmJpdHJhdGlvbiB3YXMgbm90IHVwZGF0ZWQiOworCisgICAgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5pbnRlcm5hbHMuc2V0SXNQbGF5aW5n
VG9CbHVldG9vdGhPdmVycmlkZSgpIl07Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVkaW8uaHRt
bCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0TGVnYWN5L2lvcy92aWRlby13aXRo
LWF1ZGlvLmh0bWwKaW5kZXggMjM3YWFjZTg0ZDI0Yzk5OWQ5YmMzNzZjNzNlMjY4NWM2ODEyZDhk
NC4uMjZhNDI3Mjg3YWI0YWU2OWJlYTdmY2Y3MDcwNDQwYTY2NzM4OTFkZiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRMZWdhY3kvaW9zL3ZpZGVvLXdpdGgtYXVk
aW8uaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdExlZ2FjeS9pb3Mv
dmlkZW8td2l0aC1hdWRpby5odG1sCkBAIC0yLDggKzIsNiBAQAogPGh0bWw+CiA8aGVhZD4KICAg
ICA8c2NyaXB0PgotICAgIHZhciB0aW1lb3V0OwotCiAgICAgZnVuY3Rpb24gZ28oKSB7CiAgICAg
ICAgIHZhciB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBd
OwogICAgICAgICB2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nKS5jYXRjaChub3RQbGF5aW5nKTsK
QEAgLTI5LDYgKzI3LDE2IEBACiAgICAgICAgIH0gY2F0Y2goZSkgeyB9CiAgICAgfQogCisgICAg
ZnVuY3Rpb24gcGF1c2UoKSB7CisgICAgICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOworICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVy
KCJwYXVzZSIsIHBhdXNlZCwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB2aWRlby5wYXVzZSgp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIHBsYXkoKSB7CisgICAgICAgIGdvKCk7CisgICAgfQor
CiAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncGFnZXNob3cnLCBnbyk7CiAgICA8L3Nj
cmlwdD4KIDwvaGVhZD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>