<?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>232569</bug_id>
          
          <creation_ts>2021-11-01 09:51:26 -0700</creation_ts>
          <short_desc>AX: meter and progress elements are ignored when -webkit-appearance: none is set</short_desc>
          <delta_ts>2022-10-21 11:02:51 -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>Accessibility</component>
          <version>Safari 15</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 11</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="Nathan Knowler">nathan</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>akeerthi</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>awm16899</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>nathan</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1810659</commentid>
    <comment_count>0</comment_count>
      <attachid>442984</attachid>
    <who name="Nathan Knowler">nathan</who>
    <bug_when>2021-11-01 09:51:26 -0700</bug_when>
    <thetext>Created attachment 442984
This HTML document is a minimal reproduction of the issue.

Overview:

Both the meter and progress elements are ignored in the accessibility tree when `-webkit-appearance: none` is set. This CSS rule is required to provide custom styles for the element.

Steps to Reproduce:

The following has been reproduced in the attached HTML document.

1. Use a meter or progress element in a document.
2. Set `-webkit-appearance: none` on the element in order to &quot;remove&quot; the UA styles to provide custom ones.
3. Test the accessibility of the element.
  a. Using VoiceOver, try to select the element on the page. It’s not possible.
  b. Using the Web Inspector, in the Elements panel, select the element, and, then in Node panel of the Details sidebar, go to the Accessibility section to see that Ignored is set to &quot;Yes&quot; and Role is set to &quot;No matching ARIA role.&quot;

Actual Results:

The element can be styled as expected, however, it is no longer accessible by virtue of the fact that `-webkit-appearance: none` has been set. The element seems to have lost its implicit ARIA role and therefore is ignored.

Expected Results:

Authors should be allowed to use `-webkit-appearance: none` to remove the user agent styles for the meter and progress element (as currently works in Safari) without breaking the accessibility of the elements.

Build Date &amp; Hardware:

- macOS 11.6
- Safari Version 15.0 (16612.1.29.41.4, 16612)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810660</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-01 09:51:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/84885223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810692</commentid>
    <comment_count>2</comment_count>
    <who name="Nathan Knowler">nathan</who>
    <bug_when>2021-11-01 10:53:28 -0700</bug_when>
    <thetext>This is reproducible in Safari Technology Preview Release 134 (Safari 15.4, WebKit 16613.1.6.1) as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905790</commentid>
    <comment_count>3</comment_count>
    <who name="Nathan Knowler">nathan</who>
    <bug_when>2022-10-14 18:21:39 -0700</bug_when>
    <thetext>An update: the issue seems to be resolved for `&lt;progress&gt;` in Safari 16.0 on macOS 12.6, however, the issue does persist for `&lt;meter&gt;`. The issue still applies even when using the unprefixed `appearance: none` (which Safari began to support in Safari 15.4).

For `&lt;progress&gt;`, I haven’t been able to check the versions between the original report version (15.0) and the version I am currently using (16.0), however, I do believe that it might have been fixed in a 15.x version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907228</commentid>
    <comment_count>4</comment_count>
      <attachid>463133</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-20 21:03:20 -0700</bug_when>
    <thetext>Created attachment 463133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907230</commentid>
    <comment_count>5</comment_count>
      <attachid>463135</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-20 21:18:01 -0700</bug_when>
    <thetext>Created attachment 463135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907243</commentid>
    <comment_count>6</comment_count>
      <attachid>463135</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-10-20 23:21:16 -0700</bug_when>
    <thetext>Comment on attachment 463135
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp:149
&gt; +    default:

feel like we should remove this default, in case there was ever a different gaugeRegion added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907249</commentid>
    <comment_count>7</comment_count>
      <attachid>463137</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-21 00:31:01 -0700</bug_when>
    <thetext>Created attachment 463137
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1907349</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-21 11:02:47 -0700</bug_when>
    <thetext>Committed 255836@main (c67d110e0c94): &lt;https://commits.webkit.org/255836@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463137.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>442984</attachid>
            <date>2021-11-01 09:51:26 -0700</date>
            <delta_ts>2021-11-01 09:51:26 -0700</delta_ts>
            <desc>This HTML document is a minimal reproduction of the issue.</desc>
            <filename>safari-meter-progress-webkit-appearance-none-issues.html</filename>
            <type>text/html</type>
            <size>491</size>
            <attacher name="Nathan Knowler">nathan</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuLWNhIj4KICA8aGVhZD4KICAgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8dGl0bGU+U2FmYXJpOiBtZXRlciwg
cHJvZ3Jlc3MgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH08L3RpdGxlPgogICAgPHN0eWxl
PgogICAgICBtZXRlciwgcHJvZ3Jlc3MgewogICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9u
ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICA8bWV0ZXIgbWlu
PSIwIiBtYXg9IjciIHZhbHVlPSI0Ij4KICAgICAgNCBvZiA3IGl0ZW1zCiAgICA8L21ldGVyPgog
ICAgPHByb2dyZXNzIG1pbj0iMCIgbWF4PSI3IiB2YWx1ZT0iNCI+CiAgICAgIFN0ZXAgNCBvZiA3
CiAgICA8L3Byb2dyZXNzPgogIDwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463133</attachid>
            <date>2022-10-20 21:03:20 -0700</date>
            <delta_ts>2022-10-20 21:17:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232569-20221020210320.patch</filename>
            <type>text/plain</type>
            <size>17644</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBkZGJkM2I5NTIwMjU2ODBmODY2YWQxN2EyMGJjYzY4NGJhMTUwNjIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogVGh1LCAyMCBPY3QgMjAyMiAyMDo1MjoyOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBt
ZXRlciBhbmQgcHJvZ3Jlc3MgZWxlbWVudHMgYXJlIGlnbm9yZWQgd2hlbgogLXdlYmtpdC1hcHBl
YXJhbmNlOiBub25lIGlzIHNldAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjU2OSByZGFyOi8vcHJvYmxlbS84NDg4NTIyMwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgpgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmVgIGFuZCB0aGUgdW5wcmVmaXhlZCBgYXBw
ZWFyYW5jZTpub25lYCBvbiB0aGUKYG1ldGVyYCBhbmQgYHByb2dyZXNzYCBlbGVtZW50cyBjYXVz
ZSB0aGVtIHRvIGdlbmVyYXRlIHBsYWluIGBSZW5kZXJCbG9ja2BzIGluc3RlYWQKb2YgYFJlbmRl
ck1ldGVyYCBhbmQgYFJlbmRlclByb2dyZXNzYCByZW5kZXJlcnMuIFRoaXMgYnJva2UgYWNjZXNz
aWJpbGl0eSBmb3IgdGhlc2UKZWxlbWVudHMgYmVjYXVzZSB3ZSBzcGVjaWZpY2FsbHkgcmVxdWly
ZSBvbmUgb2YgdGhlc2UgcmVuZGVyZXIgdHlwZXMgdG8gY3JlYXRlIGFuCmBBY2Nlc3NpYmlsaXR5
UHJvZ3Jlc3NJbmRpY2F0b3JgLgoKV2l0aCB0aGlzIHBhdGNoLCB0aGF0IHJlcXVpcmVtZW50IGhh
cyBiZWVuIHJlbGF4ZWQuIE5vdyBhbgpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IgY2Fu
IGJlIGNyZWF0ZWQgd2l0aCBhbnkgYFJlbmRlck9iamVjdGAsCmZpeGluZyB0aGlzIGlzc3VlLiBB
Y2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IgZG9lc24ndCB1c2UgYW55Cm1ldGhvZCBzcGVj
aWZpYyB0byBlaXRoZXIgYFJlbmRlck1ldGVyYCBvciBgUmVuZGVyUHJvZ3Jlc3NgLCBzbyB0aGlz
CnN0cmljdG5lc3Mgd2FzIHVubmNlc3NhcnkuCgpOZXcgdGVzdCBhZGRlZDoKYWNjZXNzaWJpbGl0
eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0bWwKCiogTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNz
LWVsZW1lbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0bWw6IEFkZGVk
LgoqIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG5ldyB0
ZXN0LgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CihX
ZWJDb3JlOjpjcmVhdGVGcm9tUmVuZGVyZXIpOgpSZWZhY3RvciB0byByZW1vdmUgdW5uZWNlc3Nh
cnkgZG93bmNhc3RpbmcuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3IuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUpOgooV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZURlc2NyaXB0aW9uIGNvbnN0KToKKFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcjo6dmFsdWVGb3JSYW5nZSBjb25zdCk6CihX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6Om1heFZhbHVlRm9yUmFuZ2Ug
Y29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptaW5WYWx1
ZUZvclJhbmdlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
cjo6cHJvZ3Jlc3NFbGVtZW50IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlQcm9ncmVz
c0luZGljYXRvcjo6bWV0ZXJFbGVtZW50IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlQ
cm9ncmVzc0luZGljYXRvcjo6Z2F1Z2VSZWdpb25WYWx1ZURlc2NyaXB0aW9uIGNvbnN0KToKKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcjo6ZWxlbWVudCBjb25zdCk6IERl
bGV0ZWQgLS0KdGhpcyBvdmVycmlkZSB3YXMgbm90IG5lY2Vzc2FyeS4KKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oOgotLS0KIC4u
Li9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgICB8ICA1MCArKysrLS0t
CiAuLi4vQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcCAgICAgICAgfCAxMjIgKysr
KystLS0tLS0tLS0tLS0tCiAuLi4vQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmggICAg
ICAgICAgfCAgIDggKy0KIC4uLmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLWV4cGVjdGVk
LnR4dCB8ICAxMSArKwogLi4uYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9ncmVzcy1lbGVtZW50cy5o
dG1sIHwgIDM5ICsrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMgICAgIHwgICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKyksIDEyMCBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMtZXhwZWN0ZWQudHh0
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNl
LW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCAyZmU0ZmQyZDhlYTMuLmM5
YjEwOWQwZDMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwCkBAIC04Niw2ICs4Niw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNl
cklkaW9tcy5oIgorI2luY2x1ZGUgIkhUTUxQcm9ncmVzc0VsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MVGFibGVQYXJ0RWxlbWVudC5oIgpAQCAtNjM5LDM3ICs2NDAsMzQgQEAgc3RhdGlj
IFJlZjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBjcmVhdGVGcm9tUmVuZGVyZXIoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlNYXRoTUxFbGVtZW50Ojpj
cmVhdGUocmVuZGVyZXIsIGlzQW5vbnltb3VzT3BlcmF0b3IpOwogI2VuZGlmCiAKLSAgICBpZiAo
aXM8UmVuZGVyQm94TW9kZWxPYmplY3Q+KCpyZW5kZXJlcikpIHsKLSAgICAgICAgUmVuZGVyQm94
TW9kZWxPYmplY3QmIGNzc0JveCA9IGRvd25jYXN0PFJlbmRlckJveE1vZGVsT2JqZWN0PigqcmVu
ZGVyZXIpOwotICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEJveD4oY3NzQm94KSkKLSAgICAgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6Y3JlYXRlKCZkb3duY2FzdDxSZW5kZXJM
aXN0Qm94Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlzPFJlbmRlck1lbnVMaXN0Pihjc3NCb3gp
KQotICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6Y3JlYXRlKCZkb3du
Y2FzdDxSZW5kZXJNZW51TGlzdD4oY3NzQm94KSk7Ci0KLSAgICAgICAgLy8gc3RhbmRhcmQgdGFi
bGVzCi0gICAgICAgIGlmIChpczxSZW5kZXJUYWJsZT4oY3NzQm94KSkKLSAgICAgICAgICAgIHJl
dHVybiBBY2Nlc3NpYmlsaXR5VGFibGU6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyVGFibGU+KGNz
c0JveCkpOwotICAgICAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KGNzc0JveCkpCi0gICAgICAg
ICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRhYmxlUm93OjpjcmVhdGUoJmRvd25jYXN0PFJlbmRl
clRhYmxlUm93Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlQ2VsbD4oY3Nz
Qm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsOjpjcmVhdGUo
JmRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oY3NzQm94KSk7Ci0KLSAgICAgICAgLy8gcHJvZ3Jl
c3MgYmFyCi0gICAgICAgIGlmIChpczxSZW5kZXJQcm9ncmVzcz4oY3NzQm94KSkKLSAgICAgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSgmZG93bmNh
c3Q8UmVuZGVyUHJvZ3Jlc3M+KGNzc0JveCkpOworICAgIGlmIChpczxSZW5kZXJMaXN0Qm94Pihy
ZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6Y3JlYXRlKHJl
bmRlcmVyKTsKKyAgICBpZiAoaXM8UmVuZGVyTWVudUxpc3Q+KHJlbmRlcmVyKSkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6Y3JlYXRlKGRvd25jYXN0PFJlbmRlck1lbnVM
aXN0PihyZW5kZXJlcikpOworCisgICAgLy8gc3RhbmRhcmQgdGFibGVzCisgICAgaWYgKGlzPFJl
bmRlclRhYmxlPihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGU6
OmNyZWF0ZShyZW5kZXJlcik7CisgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93PihyZW5kZXJlcikp
CisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGVSb3c6OmNyZWF0ZShyZW5kZXJlcik7
CisgICAgaWYgKGlzPFJlbmRlclRhYmxlQ2VsbD4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6Y3JlYXRlKHJlbmRlcmVyKTsKKworICAgIC8vIHByb2dy
ZXNzIGJhcgorICAgIGlmIChpczxSZW5kZXJQcm9ncmVzcz4ocmVuZGVyZXIpIHx8IGlzPEhUTUxQ
cm9ncmVzc0VsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVByb2dy
ZXNzSW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKLSAgICAgICAgaWYgKGlzPFJlbmRlckF0dGFjaG1lbnQ+KGNzc0JveCkpCi0gICAg
ICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnQ6OmNyZWF0ZSgmZG93bmNhc3Q8
UmVuZGVyQXR0YWNobWVudD4oY3NzQm94KSk7CisgICAgaWYgKGlzPFJlbmRlckF0dGFjaG1lbnQ+
KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlBdHRhY2htZW50OjpjcmVh
dGUoZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4ocmVuZGVyZXIpKTsKICNlbmRpZgogCi0gICAg
ICAgIGlmIChpczxSZW5kZXJNZXRlcj4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyTWV0ZXI+
KGNzc0JveCkpOworICAgIGlmIChpczxSZW5kZXJNZXRlcj4ocmVuZGVyZXIpIHx8IGlzPEhUTUxN
ZXRlckVsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCi0gICAgICAgIC8vIGlucHV0IHR5cGU9cmFu
Z2UKLSAgICAgICAgaWYgKGlzPFJlbmRlclNsaWRlcj4oY3NzQm94KSkKLSAgICAgICAgICAgIHJl
dHVybiBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUoJmRvd25jYXN0PFJlbmRlclNsaWRlcj4o
Y3NzQm94KSk7Ci0gICAgfQorICAgIC8vIGlucHV0IHR5cGU9cmFuZ2UKKyAgICBpZiAoaXM8UmVu
ZGVyU2xpZGVyPihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5U2xpZGVy
OjpjcmVhdGUocmVuZGVyZXIpOwogCiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmNyZWF0ZShyZW5kZXJlcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHAKaW5k
ZXggZTFmZWUxNzExZWZkLi43MThhYTkyNTljMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
ci5jcHAKQEAgLTM1LDIyICszNSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6
OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihSZW5kZXJQcm9ncmVzcyogcmVuZGVyZXIp
CitBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgIDogQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdChyZW5kZXJlcikKIHsKKyAgICBBU1NFUlQoaXM8UmVuZGVyUHJvZ3Jlc3M+KHJlbmRl
cmVyKSB8fCBpczxSZW5kZXJNZXRlcj4ocmVuZGVyZXIpIHx8IGlzPEhUTUxQcm9ncmVzc0VsZW1l
bnQ+KHJlbmRlcmVyLT5ub2RlKCkpIHx8IGlzPEhUTUxNZXRlckVsZW1lbnQ+KHJlbmRlcmVyLT5u
b2RlKCkpKTsKIH0KIAotUmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVuZGVyUHJvZ3Jlc3MqIHJlbmRlcmVy
KQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvcihyZW5kZXJlcikpOwotfQotICAgIAotQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9y
OjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVyTWV0ZXIqIHJlbmRlcmVyKQot
ICAgIDogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5kZXJlcikKLXsKLX0KLQotUmVmPEFj
Y2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yOjpjcmVhdGUoUmVuZGVyTWV0ZXIqIHJlbmRlcmVyKQorUmVmPEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVu
ZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBY2Nlc3Np
YmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IocmVuZGVyZXIpKTsKIH0KQEAgLTYzLDIyICs1NCwxOCBA
QCBib29sIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcjo6Y29tcHV0ZUFjY2Vzc2liaWxp
dHlJc0lnbm9yZWQoKSBjb25zdAogU3RyaW5nIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
cjo6dmFsdWVEZXNjcmlwdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhlIGF1dGhvciBoYXMg
ZXhwbGljaXRseSBwcm92aWRlZCBhIHZhbHVlIHRocm91Z2ggYXJpYS12YWx1ZXRleHQsIHVzZSBp
dC4KLSAgICBTdHJpbmcgZGVzY3JpcHRpb24gPSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2
YWx1ZURlc2NyaXB0aW9uKCk7CisgICAgU3RyaW5nIGRlc2NyaXB0aW9uID0gQWNjZXNzaWJpbGl0
eU5vZGVPYmplY3Q6OnZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpZiAoIWRlc2NyaXB0aW9uLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogCi0gICAgaWYgKCFtX3JlbmRl
cmVyLT5pc01ldGVyKCkpCi0gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbjsKLQotICAgIEhUTUxN
ZXRlckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCk7CisgICAgYXV0byogbWV0ZXIgPSBt
ZXRlckVsZW1lbnQoKTsKICAgICBpZiAoIW1ldGVyKQogICAgICAgICByZXR1cm4gZGVzY3JpcHRp
b247CiAKICAgICAvLyBUaGUgSFRNTCBzcGVjIGVuY291cmFnZXMgYXV0aG9ycyB0byBpbmNsdWRl
IGEgdGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWV0ZXIncyBzdGF0ZSBpbgogICAgIC8v
IHRoZSBlbGVtZW50J3MgY29udGVudHMuIFdlJ2xsIGZhbGwgYmFjayBvbiB0aGF0IGlmIHRoZXJl
IGlzIG5vdCBhIG1vcmUgYWNjZXNzaWJsZSBhbHRlcm5hdGl2ZS4KLSAgICBBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBheE1ldGVyID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShtZXRlcik7Ci0g
ICAgaWYgKGlzPEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0PihheE1ldGVyKSkKLSAgICAgICAgZGVz
Y3JpcHRpb24gPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdD4oYXhNZXRlciktPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbkZvckNoaWxkcmVuKCk7CisgICAgaWYgKGF1dG8qIG5vZGVP
YmplY3QgPSBkeW5hbWljRG93bmNhc3Q8QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q+KGF4T2JqZWN0
Q2FjaGUoKS0+Z2V0T3JDcmVhdGUobWV0ZXIpKSkKKyAgICAgICAgZGVzY3JpcHRpb24gPSBub2Rl
T2JqZWN0LT5hY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25Gb3JDaGlsZHJlbigpOwogCiAgICAgaWYg
KGRlc2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgZGVzY3JpcHRpb24gPSBtZXRlci0+dGV4
dENvbnRlbnQoKTsKQEAgLTkyLDE5ICs3OSwxMSBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVByb2dy
ZXNzSW5kaWNhdG9yOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QKIAogZmxvYXQgQWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVy
ZXItPmlzUHJvZ3Jlc3MoKSkgewotICAgICAgICBIVE1MUHJvZ3Jlc3NFbGVtZW50KiBwcm9ncmVz
cyA9IHByb2dyZXNzRWxlbWVudCgpOwotICAgICAgICBpZiAocHJvZ3Jlc3MgJiYgcHJvZ3Jlc3Mt
PnBvc2l0aW9uKCkgPj0gMCkKLSAgICAgICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zs
b2F0KHByb2dyZXNzLT52YWx1ZSgpKTsKLSAgICB9CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0g
cHJvZ3Jlc3NFbGVtZW50KCk7IHByb2dyZXNzICYmIHByb2dyZXNzLT5wb3NpdGlvbigpID49IDAp
CisgICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT52YWx1ZSgp
KTsKIAotICAgIGlmIChtX3JlbmRlcmVyLT5pc01ldGVyKCkpIHsKLSAgICAgICAgaWYgKEhUTUxN
ZXRlckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4g
bmFycm93UHJlY2lzaW9uVG9GbG9hdChtZXRlci0+dmFsdWUoKSk7Ci0gICAgfQorICAgIGlmIChh
dXRvKiBtZXRlciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lz
aW9uVG9GbG9hdChtZXRlci0+dmFsdWUoKSk7CiAKICAgICAvLyBJbmRldGVybWluYXRlIHByb2dy
ZXNzIGJhciBzaG91bGQgcmV0dXJuIDAuCiAgICAgcmV0dXJuIDAuMDsKQEAgLTExMiwzNSArOTEs
MjMgQEAgZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdl
KCkgY29uc3QKIAogZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptYXhWYWx1
ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVy
biAwLjA7CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50KCkpCisgICAg
ICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT5tYXgoKSk7CiAKLSAg
ICBpZiAobV9yZW5kZXJlci0+aXNQcm9ncmVzcygpKSB7Ci0gICAgICAgIGlmIChIVE1MUHJvZ3Jl
c3NFbGVtZW50KiBwcm9ncmVzcyA9IHByb2dyZXNzRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0
dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQocHJvZ3Jlc3MtPm1heCgpKTsKLSAgICB9Ci0gICAg
Ci0gICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkgewotICAgICAgICBpZiAoSFRNTE1ldGVy
RWxlbWVudCogbWV0ZXIgPSBtZXRlckVsZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBuYXJy
b3dQcmVjaXNpb25Ub0Zsb2F0KG1ldGVyLT5tYXgoKSk7Ci0gICAgfQorICAgIGlmIChhdXRvKiBt
ZXRlciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9uVG9G
bG9hdChtZXRlci0+bWF4KCkpOwogCiAgICAgcmV0dXJuIDAuMDsKIH0KIAogZmxvYXQgQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptaW5WYWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVuZGVyZXIpCisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVt
ZW50KCkpCiAgICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVyZXItPmlz
UHJvZ3Jlc3MoKSkKLSAgICAgICAgcmV0dXJuIDAuMDsKLSAgICAKLSAgICBpZiAobV9yZW5kZXJl
ci0+aXNNZXRlcigpKSB7Ci0gICAgICAgIGlmIChIVE1MTWV0ZXJFbGVtZW50KiBtZXRlciA9IG1l
dGVyRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQo
bWV0ZXItPm1pbigpKTsKLSAgICB9Ci0gICAgCisKKyAgICBpZiAoYXV0byogbWV0ZXIgPSBtZXRl
ckVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobWV0ZXIt
Pm1pbigpKTsKKwogICAgIHJldHVybiAwLjA7CiB9CiAgICAgCkBAIC0xNTMsNTkgKzEyMCwzOCBA
QCBBY2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OnJvbGVW
YWx1ZSgpIGNvbnN0CiAKIEhUTUxQcm9ncmVzc0VsZW1lbnQqIEFjY2Vzc2liaWxpdHlQcm9ncmVz
c0luZGljYXRvcjo6cHJvZ3Jlc3NFbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIWlzPFJlbmRl
clByb2dyZXNzPigqbV9yZW5kZXJlcikpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAot
ICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJQcm9ncmVzcz4oKm1fcmVuZGVyZXIpLnByb2dyZXNz
RWxlbWVudCgpOworICAgIHJldHVybiBkeW5hbWljRG93bmNhc3Q8SFRNTFByb2dyZXNzRWxlbWVu
dD4obm9kZSgpKTsKIH0KIAogSFRNTE1ldGVyRWxlbWVudCogQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjptZXRlckVsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghaXM8UmVuZGVyTWV0
ZXI+KCptX3JlbmRlcmVyKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICByZXR1cm4g
ZG93bmNhc3Q8UmVuZGVyTWV0ZXI+KCptX3JlbmRlcmVyKS5tZXRlckVsZW1lbnQoKTsKKyAgICBy
ZXR1cm4gZHluYW1pY0Rvd25jYXN0PEhUTUxNZXRlckVsZW1lbnQ+KG5vZGUoKSk7CiB9CiAKIFN0
cmluZyBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmdhdWdlUmVnaW9uVmFsdWVEZXNj
cmlwdGlvbigpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgaWYgKCFtX3JlbmRl
cmVyIHx8ICFtX3JlbmRlcmVyLT5pc01ldGVyKCkpCisgICAgYXV0byogbWV0ZXJFbGVtZW50ID0g
dGhpcy0+bWV0ZXJFbGVtZW50KCk7CisgICAgaWYgKCFtZXRlckVsZW1lbnQpCiAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLSAgICAKKwogICAgIC8vIE9ubHkgZXhwb3NlIHRoaXMgd2hlbiB0aGUg
YXV0aG9yIGhhcyBleHBsaWNpdGx5IHNwZWNpZmllZCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMu
CiAgICAgaWYgKCFoYXNBdHRyaWJ1dGUobG93QXR0cikgJiYgIWhhc0F0dHJpYnV0ZShoaWdoQXR0
cikgJiYgIWhhc0F0dHJpYnV0ZShvcHRpbXVtQXR0cikpCiAgICAgICAgIHJldHVybiBTdHJpbmco
KTsKICAgICAKLSAgICBpZiAoSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IG1ldGVyRWxlbWVu
dCgpKSB7Ci0gICAgICAgIHN3aXRjaCAoZWxlbWVudC0+Z2F1Z2VSZWdpb24oKSkgewotICAgICAg
ICBjYXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uT3B0aW11bToKLSAgICAgICAgICAg
IHJldHVybiBBWE1ldGVyR2F1Z2VSZWdpb25PcHRpbXVtVGV4dCgpOwotICAgICAgICBjYXNlIEhU
TUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKLSAgICAgICAgICAgIHJldHVy
biBBWE1ldGVyR2F1Z2VSZWdpb25TdWJvcHRpbWFsVGV4dCgpOwotICAgICAgICBjYXNlIEhUTUxN
ZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uRXZlbkxlc3NHb29kOgotICAgICAgICAgICAgcmV0dXJu
IEFYTWV0ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICBzd2l0Y2ggKG1ldGVyRWxlbWVudC0+Z2F1
Z2VSZWdpb24oKSkgeworICAgIGNhc2UgSFRNTE1ldGVyRWxlbWVudDo6R2F1Z2VSZWdpb25PcHRp
bXVtOgorICAgICAgICByZXR1cm4gQVhNZXRlckdhdWdlUmVnaW9uT3B0aW11bVRleHQoKTsKKyAg
ICBjYXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKKyAgICAgICAg
cmV0dXJuIEFYTWV0ZXJHYXVnZVJlZ2lvblN1Ym9wdGltYWxUZXh0KCk7CisgICAgY2FzZSBIVE1M
TWV0ZXJFbGVtZW50OjpHYXVnZVJlZ2lvbkV2ZW5MZXNzR29vZDoKKyAgICAgICAgcmV0dXJuIEFY
TWV0ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJy
ZWFrOwogICAgIH0KICNlbmRpZgogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotRWxlbWVudCog
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjplbGVtZW50KCkgY29uc3QKLXsKLSAgICBp
ZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKG1fcmVu
ZGVyZXItPmlzUHJvZ3Jlc3MoKSkKLSAgICAgICAgcmV0dXJuIHByb2dyZXNzRWxlbWVudCgpOwot
Ci0gICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkKLSAgICAgICAgcmV0dXJuIG1ldGVyRWxl
bWVudCgpOwotCi0gICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmVsZW1lbnQoKTsKLX0K
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaAppbmRl
eCA1NmFlNGQ4MDRkZjguLmRkYWY1ODM2YmRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5o
CkBAIC0zMiw5ICszMiw3IEBAIGNsYXNzIFJlbmRlclByb2dyZXNzOwogICAgIAogY2xhc3MgQWNj
ZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVByb2dy
ZXNzSW5kaWNhdG9yPiBjcmVhdGUoUmVuZGVyUHJvZ3Jlc3MqKTsKLSAgICBzdGF0aWMgUmVmPEFj
Y2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gY3JlYXRlKFJlbmRlck1ldGVyKik7Ci0gICAg
RWxlbWVudCogZWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHN0YXRpYyBSZWY8QWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yPiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CiAKIHByaXZh
dGU6CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CkBA
IC00NiwxMCArNDQsOCBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1heFZhbHVlRm9yUmFuZ2UoKSBj
b25zdCBvdmVycmlkZTsKICAgICBmbG9hdCBtaW5WYWx1ZUZvclJhbmdlKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVy
UHJvZ3Jlc3MqKTsKKyAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3Io
UmVuZGVyT2JqZWN0Kik7CiAgICAgSFRNTFByb2dyZXNzRWxlbWVudCogcHJvZ3Jlc3NFbGVtZW50
KCkgY29uc3Q7Ci0KLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3Io
UmVuZGVyTWV0ZXIqKTsKICAgICBIVE1MTWV0ZXJFbGVtZW50KiBtZXRlckVsZW1lbnQoKSBjb25z
dDsKICAgICAKICAgICBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFu
Y2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVs
ZW1lbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLmNhZTNiMDYxYTNkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9ncmVzcy1lbGVtZW50cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCA8bWV0ZXI+IGFu
ZCA8cHJvZ3Jlc3M+IGVsZW1lbnRzIHdpdGggYXBwZWFyYW5jZTpub25lIGFyZSBhY2Nlc3NpYmxl
LgorCitQQVNTOiBwcm9ncmVzcy5yb2xlID09PSAnQVhSb2xlOiBBWFByb2dyZXNzSW5kaWNhdG9y
JworUEFTUzogcHJvZ3Jlc3MuaW50VmFsdWUgPT09IDQKK1BBU1M6IG1ldGVyLnJvbGUgPT09ICdB
WFJvbGU6IEFYTGV2ZWxJbmRpY2F0b3InCitQQVNTOiBtZXRlci52YWx1ZURlc2NyaXB0aW9uLmlu
Y2x1ZGVzKCc0IG9mIDcnKSA9PT0gdHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jl
c3MtZWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjQxNGI2YTE3NDI5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9ncmVzcy1lbGVtZW50cy5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxp
dHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CittZXRlciwgcHJvZ3Jlc3MgeworICBhcHBlYXJhbmNl
OiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8bWV0ZXIgaWQ9Im1ldGVy
IiBtaW49IjAiIG1heD0iNyIgdmFsdWU9IjQiPgorICA0IG9mIDcKKzwvbWV0ZXI+CisKKzxwcm9n
cmVzcyBpZD0icHJvZ3Jlc3MiIG1pbj0iMCIgbWF4PSI3IiB2YWx1ZT0iNCI+CisgIDQgb2YgNwor
PC9wcm9ncmVzcz4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0ICZsdDttZXRlciZndDsgYW5kICZsdDtwcm9ncmVzcyZndDsgZWxlbWVudHMg
d2l0aCBhcHBlYXJhbmNlOm5vbmUgYXJlIGFjY2Vzc2libGUuXG5cbiI7CisKKyAgICBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHZhciBwcm9ncmVzcyA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jlc3MiKTsK
KyAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInByb2dyZXNzLnJvbGUiLCAiJ0FYUm9sZTog
QVhQcm9ncmVzc0luZGljYXRvciciKTsKKyAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInBy
b2dyZXNzLmludFZhbHVlIiwgIjQiKTsKKworICAgICAgICB2YXIgbWV0ZXIgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoIm1ldGVyIik7CisgICAgICAgIHRl
c3RPdXRwdXQgKz0gZXhwZWN0KCJtZXRlci5yb2xlIiwgIidBWFJvbGU6IEFYTGV2ZWxJbmRpY2F0
b3InIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJtZXRlci52YWx1ZURlc2NyaXB0
aW9uLmluY2x1ZGVzKCc0IG9mIDcnKSIsICJ0cnVlIik7CisKKyAgICAgICAgZGVidWcodGVzdE91
dHB1dCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTg1ZGU0NGNlOGIyLi5iODVjYTdh
NjIyN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0x
ODEyLDYgKzE4MTIsNyBAQCB3ZWJraXQub3JnL2IvMTQwODMyIFsgUmVsZWFzZSBdIGFjY2Vzc2li
aWxpdHkvYXJpYS1zbGlkZXItdmFsdWUtY2hhbmdlLmh0bWwgWyBGYQogd2Via2l0Lm9yZy9iLzE0
MDgzMiBbIERlYnVnIF0gYWNjZXNzaWJpbGl0eS9hcmlhLXNsaWRlci12YWx1ZS1jaGFuZ2UuaHRt
bCBbIFNraXAgXSAjIERlYnVnIGFzc2VydGlvbgogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIFJlbGVh
c2UgXSBhY2Nlc3NpYmlsaXR5L2FyaWEtc2xpZGVyLXZhbHVlLmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xNDA4MzIgWyBEZWJ1ZyBdIGFjY2Vzc2liaWxpdHkvYXJpYS1zbGlkZXItdmFs
dWUuaHRtbCBbIFNraXAgXSAjIERlYnVnIGFzc2VydGlvbgord2Via2l0Lm9yZy9iLzE0MDgzMiBh
Y2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMu
aHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIFJlbGVhc2UgXSBhY2Nlc3NpYmls
aXR5L21ldGVyLWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MDgzMiBb
IERlYnVnIF0gYWNjZXNzaWJpbGl0eS9tZXRlci1lbGVtZW50Lmh0bWwgWyBTa2lwIF0gIyBEZWJ1
ZyBhc3NlcnRpb24KIHdlYmtpdC5vcmcvYi8xNDA4MzIgWyBSZWxlYXNlIF0gYWNjZXNzaWJpbGl0
eS9wcm9ncmVzc2Jhci5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463135</attachid>
            <date>2022-10-20 21:18:01 -0700</date>
            <delta_ts>2022-10-21 00:30:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232569-20221020211800.patch</filename>
            <type>text/plain</type>
            <size>17413</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSAzZDNmZWNjYzhiMDkxZjVlM2UxMWQ4ZTNjNmZiYzZlMzBiMTQ2ZGM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogVGh1LCAyMCBPY3QgMjAyMiAyMDo1MjoyOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBt
ZXRlciBhbmQgcHJvZ3Jlc3MgZWxlbWVudHMgYXJlIGlnbm9yZWQgd2hlbgogLXdlYmtpdC1hcHBl
YXJhbmNlOiBub25lIGlzIHNldAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjU2OSByZGFyOi8vcHJvYmxlbS84NDg4NTIyMwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCgpgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmVgIGFuZCB0aGUgdW5wcmVmaXhlZCBgYXBw
ZWFyYW5jZTpub25lYCBvbiB0aGUKYG1ldGVyYCBhbmQgYHByb2dyZXNzYCBlbGVtZW50cyBjYXVz
ZSB0aGVtIHRvIGdlbmVyYXRlIHBsYWluIGBSZW5kZXJCbG9ja2BzIGluc3RlYWQKb2YgYFJlbmRl
ck1ldGVyYCBhbmQgYFJlbmRlclByb2dyZXNzYCByZW5kZXJlcnMuIFRoaXMgYnJva2UgYWNjZXNz
aWJpbGl0eSBmb3IgdGhlc2UKZWxlbWVudHMgYmVjYXVzZSB3ZSBzcGVjaWZpY2FsbHkgcmVxdWly
ZWQgb25lIG9mIHRoZXNlIHJlbmRlcmVyIHR5cGVzIHRvIGNyZWF0ZSBhbgpgQWNjZXNzaWJpbGl0
eVByb2dyZXNzSW5kaWNhdG9yYC4KCldpdGggdGhpcyBwYXRjaCwgdGhhdCByZXF1aXJlbWVudCBo
YXMgYmVlbiByZWxheGVkLiBOb3cgYW4KYEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcmAg
Y2FuIGJlIGNyZWF0ZWQgd2l0aCBhbnkgYFJlbmRlck9iamVjdGAKdGhhdCBpcyBhc3NvY2lhdGVk
IHdpdGggYW4gYEhUTUxQcm9ncmVzc0VsZW1lbnRgIG9yIGBIVE1MTWV0ZXJFbGVtZW50YCwKZml4
aW5nIHRoaXMgaXNzdWUuIGBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3JgIGRvZXNuJ3Qg
dXNlIGFueQptZXRob2Qgc3BlY2lmaWMgdG8gZWl0aGVyIGBSZW5kZXJNZXRlcmAgb3IgYFJlbmRl
clByb2dyZXNzYCwgc28gdGhpcwpzdHJpY3RuZXNzIHdhcyB1bm5lY2Vzc2FyeS4KCk5ldyB0ZXN0
IGFkZGVkOgphY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMuaHRtbAoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9u
ZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6IFNraXAgbmV3IHRlc3QuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OmNyZWF0ZUZyb21SZW5kZXJlcik6ClJlZmFjdG9y
IHRvIHJlbW92ZSB1bm5lY2Vzc2FyeSBkb3duY2FzdGluZy4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHA6CihXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvcik6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OnZhbHVlRGVzY3JpcHRp
b24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1
ZUZvclJhbmdlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
cjo6bWF4VmFsdWVGb3JSYW5nZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jl
c3NJbmRpY2F0b3I6Om1pblZhbHVlRm9yUmFuZ2UgY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjpwcm9ncmVzc0VsZW1lbnQgY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptZXRlckVsZW1lbnQgY29uc3QpOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpnYXVnZVJlZ2lvblZhbHVlRGVz
Y3JpcHRpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9y
OjplbGVtZW50IGNvbnN0KTogRGVsZXRlZCAtLQp0aGlzIG92ZXJyaWRlIHdhcyBub3QgbmVjZXNz
YXJ5LgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmg6Ci0tLQogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCAgIHwgIDUwICsrKystLS0tCiAuLi4vQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9y
LmNwcCAgICAgICAgfCAxMjAgKysrKystLS0tLS0tLS0tLS0tCiAuLi4vQWNjZXNzaWJpbGl0eVBy
b2dyZXNzSW5kaWNhdG9yLmggICAgICAgICAgfCAgIDggKy0KIC4uLmUtbWV0ZXItYW5kLXByb2dy
ZXNzLWVsZW1lbnRzLWV4cGVjdGVkLnR4dCB8ICAxMSArKwogLi4uYW5jZS1ub25lLW1ldGVyLWFu
ZC1wcm9ncmVzcy1lbGVtZW50cy5odG1sIHwgIDM5ICsrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTEw
IGluc2VydGlvbnMoKyksIDExOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0
bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyZmU0ZmQyZDhlYTMuLmM5YjEwOWQwZDMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC04Niw2ICs4Niw3IEBACiAjaW5jbHVk
ZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIkhUTUxQcm9ncmVzc0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxU
YWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVQYXJ0RWxlbWVudC5oIgpAQCAtNjM5
LDM3ICs2NDAsMzQgQEAgc3RhdGljIFJlZjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBjcmVhdGVGcm9t
UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlNYXRoTUxFbGVtZW50OjpjcmVhdGUocmVuZGVyZXIsIGlzQW5vbnltb3VzT3BlcmF0b3Ip
OwogI2VuZGlmCiAKLSAgICBpZiAoaXM8UmVuZGVyQm94TW9kZWxPYmplY3Q+KCpyZW5kZXJlcikp
IHsKLSAgICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QmIGNzc0JveCA9IGRvd25jYXN0PFJlbmRl
ckJveE1vZGVsT2JqZWN0PigqcmVuZGVyZXIpOwotICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEJv
eD4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6Y3Jl
YXRlKCZkb3duY2FzdDxSZW5kZXJMaXN0Qm94Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlzPFJl
bmRlck1lbnVMaXN0Pihjc3NCb3gpKQotICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdDo6Y3JlYXRlKCZkb3duY2FzdDxSZW5kZXJNZW51TGlzdD4oY3NzQm94KSk7Ci0KLSAg
ICAgICAgLy8gc3RhbmRhcmQgdGFibGVzCi0gICAgICAgIGlmIChpczxSZW5kZXJUYWJsZT4oY3Nz
Qm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGU6OmNyZWF0ZSgmZG93
bmNhc3Q8UmVuZGVyVGFibGU+KGNzc0JveCkpOwotICAgICAgICBpZiAoaXM8UmVuZGVyVGFibGVS
b3c+KGNzc0JveCkpCi0gICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRhYmxlUm93Ojpj
cmVhdGUoJmRvd25jYXN0PFJlbmRlclRhYmxlUm93Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlz
PFJlbmRlclRhYmxlQ2VsbD4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5VGFibGVDZWxsOjpjcmVhdGUoJmRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oY3NzQm94KSk7
Ci0KLSAgICAgICAgLy8gcHJvZ3Jlc3MgYmFyCi0gICAgICAgIGlmIChpczxSZW5kZXJQcm9ncmVz
cz4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3I6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyUHJvZ3Jlc3M+KGNzc0JveCkpOworICAgIGlm
IChpczxSZW5kZXJMaXN0Qm94PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5TGlzdEJveDo6Y3JlYXRlKHJlbmRlcmVyKTsKKyAgICBpZiAoaXM8UmVuZGVyTWVudUxpc3Q+
KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6Y3JlYXRl
KGRvd25jYXN0PFJlbmRlck1lbnVMaXN0PihyZW5kZXJlcikpOworCisgICAgLy8gc3RhbmRhcmQg
dGFibGVzCisgICAgaWYgKGlzPFJlbmRlclRhYmxlPihyZW5kZXJlcikpCisgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5VGFibGU6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgaWYgKGlzPFJlbmRl
clRhYmxlUm93PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGVS
b3c6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgaWYgKGlzPFJlbmRlclRhYmxlQ2VsbD4ocmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6Y3JlYXRlKHJlbmRl
cmVyKTsKKworICAgIC8vIHByb2dyZXNzIGJhcgorICAgIGlmIChpczxSZW5kZXJQcm9ncmVzcz4o
cmVuZGVyZXIpIHx8IGlzPEhUTUxQcm9ncmVzc0VsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCiAj
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAgICAgICAgaWYgKGlzPFJlbmRlckF0dGFj
aG1lbnQ+KGNzc0JveCkpCi0gICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eUF0dGFjaG1l
bnQ6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4oY3NzQm94KSk7CisgICAgaWYg
KGlzPFJlbmRlckF0dGFjaG1lbnQ+KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlBdHRhY2htZW50OjpjcmVhdGUoZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4ocmVuZGVy
ZXIpKTsKICNlbmRpZgogCi0gICAgICAgIGlmIChpczxSZW5kZXJNZXRlcj4oY3NzQm94KSkKLSAg
ICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSgm
ZG93bmNhc3Q8UmVuZGVyTWV0ZXI+KGNzc0JveCkpOworICAgIGlmIChpczxSZW5kZXJNZXRlcj4o
cmVuZGVyZXIpIHx8IGlzPEhUTUxNZXRlckVsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCi0gICAg
ICAgIC8vIGlucHV0IHR5cGU9cmFuZ2UKLSAgICAgICAgaWYgKGlzPFJlbmRlclNsaWRlcj4oY3Nz
Qm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUoJmRv
d25jYXN0PFJlbmRlclNsaWRlcj4oY3NzQm94KSk7Ci0gICAgfQorICAgIC8vIGlucHV0IHR5cGU9
cmFuZ2UKKyAgICBpZiAoaXM8UmVuZGVyU2xpZGVyPihyZW5kZXJlcikpCisgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUocmVuZGVyZXIpOwogCiAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNyZWF0ZShyZW5kZXJlcik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvci5jcHAKaW5kZXggZTFmZWUxNzExZWZkLi5jODhlNmY4NzI0N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHAKQEAgLTM1LDIyICszNSwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1BY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihSZW5k
ZXJQcm9ncmVzcyogcmVuZGVyZXIpCitBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFj
Y2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAg
IDogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5kZXJlcikKIHsKKyAgICBBU1NFUlQoaXM8
UmVuZGVyUHJvZ3Jlc3M+KHJlbmRlcmVyKSB8fCBpczxSZW5kZXJNZXRlcj4ocmVuZGVyZXIpIHx8
IGlzPEhUTUxQcm9ncmVzc0VsZW1lbnQ+KHJlbmRlcmVyLT5ub2RlKCkpIHx8IGlzPEhUTUxNZXRl
ckVsZW1lbnQ+KHJlbmRlcmVyLT5ub2RlKCkpKTsKIH0KIAotUmVmPEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVu
ZGVyUHJvZ3Jlc3MqIHJlbmRlcmVyKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vz
c2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihyZW5kZXJlcikpOwotfQotICAgIAotQWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVu
ZGVyTWV0ZXIqIHJlbmRlcmVyKQotICAgIDogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5k
ZXJlcikKLXsKLX0KLQotUmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVuZGVyTWV0ZXIqIHJlbmRlcmVyKQor
UmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IocmVuZGVyZXIpKTsK
IH0KQEAgLTY3LDE4ICs1OCwxNCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QKICAgICBpZiAoIWRlc2NyaXB0aW9uLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogCi0gICAgaWYgKCFtX3JlbmRlcmVy
LT5pc01ldGVyKCkpCi0gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbjsKLQotICAgIEhUTUxNZXRl
ckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCk7CisgICAgYXV0byogbWV0ZXIgPSBtZXRl
ckVsZW1lbnQoKTsKICAgICBpZiAoIW1ldGVyKQogICAgICAgICByZXR1cm4gZGVzY3JpcHRpb247
CiAKICAgICAvLyBUaGUgSFRNTCBzcGVjIGVuY291cmFnZXMgYXV0aG9ycyB0byBpbmNsdWRlIGEg
dGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWV0ZXIncyBzdGF0ZSBpbgogICAgIC8vIHRo
ZSBlbGVtZW50J3MgY29udGVudHMuIFdlJ2xsIGZhbGwgYmFjayBvbiB0aGF0IGlmIHRoZXJlIGlz
IG5vdCBhIG1vcmUgYWNjZXNzaWJsZSBhbHRlcm5hdGl2ZS4KLSAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBheE1ldGVyID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShtZXRlcik7Ci0gICAg
aWYgKGlzPEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0PihheE1ldGVyKSkKLSAgICAgICAgZGVzY3Jp
cHRpb24gPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdD4oYXhNZXRlciktPmFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbkZvckNoaWxkcmVuKCk7CisgICAgaWYgKGF1dG8qIG5vZGVPYmpl
Y3QgPSBkeW5hbWljRG93bmNhc3Q8QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q+KGF4T2JqZWN0Q2Fj
aGUoKS0+Z2V0T3JDcmVhdGUobWV0ZXIpKSkKKyAgICAgICAgZGVzY3JpcHRpb24gPSBub2RlT2Jq
ZWN0LT5hY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25Gb3JDaGlsZHJlbigpOwogCiAgICAgaWYgKGRl
c2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgZGVzY3JpcHRpb24gPSBtZXRlci0+dGV4dENv
bnRlbnQoKTsKQEAgLTkyLDE5ICs3OSwxMSBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QKIAogZmxvYXQgQWNjZXNzaWJpbGl0
eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
cmVuZGVyZXIpCi0gICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVyZXIt
PmlzUHJvZ3Jlc3MoKSkgewotICAgICAgICBIVE1MUHJvZ3Jlc3NFbGVtZW50KiBwcm9ncmVzcyA9
IHByb2dyZXNzRWxlbWVudCgpOwotICAgICAgICBpZiAocHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MtPnBv
c2l0aW9uKCkgPj0gMCkKLSAgICAgICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0
KHByb2dyZXNzLT52YWx1ZSgpKTsKLSAgICB9CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJv
Z3Jlc3NFbGVtZW50KCk7IHByb2dyZXNzICYmIHByb2dyZXNzLT5wb3NpdGlvbigpID49IDApCisg
ICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT52YWx1ZSgpKTsK
IAotICAgIGlmIChtX3JlbmRlcmVyLT5pc01ldGVyKCkpIHsKLSAgICAgICAgaWYgKEhUTUxNZXRl
ckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gbmFy
cm93UHJlY2lzaW9uVG9GbG9hdChtZXRlci0+dmFsdWUoKSk7Ci0gICAgfQorICAgIGlmIChhdXRv
KiBtZXRlciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9u
VG9GbG9hdChtZXRlci0+dmFsdWUoKSk7CiAKICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNz
IGJhciBzaG91bGQgcmV0dXJuIDAuCiAgICAgcmV0dXJuIDAuMDsKQEAgLTExMiwzNSArOTEsMjMg
QEAgZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdlKCkg
Y29uc3QKIAogZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptYXhWYWx1ZUZv
clJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiAw
LjA7CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50KCkpCisgICAgICAg
IHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT5tYXgoKSk7CiAKLSAgICBp
ZiAobV9yZW5kZXJlci0+aXNQcm9ncmVzcygpKSB7Ci0gICAgICAgIGlmIChIVE1MUHJvZ3Jlc3NF
bGVtZW50KiBwcm9ncmVzcyA9IHByb2dyZXNzRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJu
IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQocHJvZ3Jlc3MtPm1heCgpKTsKLSAgICB9Ci0gICAgCi0g
ICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkgewotICAgICAgICBpZiAoSFRNTE1ldGVyRWxl
bWVudCogbWV0ZXIgPSBtZXRlckVsZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBuYXJyb3dQ
cmVjaXNpb25Ub0Zsb2F0KG1ldGVyLT5tYXgoKSk7Ci0gICAgfQorICAgIGlmIChhdXRvKiBtZXRl
ciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9uVG9GbG9h
dChtZXRlci0+bWF4KCkpOwogCiAgICAgcmV0dXJuIDAuMDsKIH0KIAogZmxvYXQgQWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjptaW5WYWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fcmVuZGVyZXIpCisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50
KCkpCiAgICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVyZXItPmlzUHJv
Z3Jlc3MoKSkKLSAgICAgICAgcmV0dXJuIDAuMDsKLSAgICAKLSAgICBpZiAobV9yZW5kZXJlci0+
aXNNZXRlcigpKSB7Ci0gICAgICAgIGlmIChIVE1MTWV0ZXJFbGVtZW50KiBtZXRlciA9IG1ldGVy
RWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobWV0
ZXItPm1pbigpKTsKLSAgICB9Ci0gICAgCisKKyAgICBpZiAoYXV0byogbWV0ZXIgPSBtZXRlckVs
ZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobWV0ZXItPm1p
bigpKTsKKwogICAgIHJldHVybiAwLjA7CiB9CiAgICAgCkBAIC0xNTMsNTkgKzEyMCwzOCBAQCBB
Y2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OnJvbGVWYWx1
ZSgpIGNvbnN0CiAKIEhUTUxQcm9ncmVzc0VsZW1lbnQqIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvcjo6cHJvZ3Jlc3NFbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIWlzPFJlbmRlclBy
b2dyZXNzPigqbV9yZW5kZXJlcikpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAotICAg
IHJldHVybiBkb3duY2FzdDxSZW5kZXJQcm9ncmVzcz4oKm1fcmVuZGVyZXIpLnByb2dyZXNzRWxl
bWVudCgpOworICAgIHJldHVybiBkeW5hbWljRG93bmNhc3Q8SFRNTFByb2dyZXNzRWxlbWVudD4o
bm9kZSgpKTsKIH0KIAogSFRNTE1ldGVyRWxlbWVudCogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5k
aWNhdG9yOjptZXRlckVsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghaXM8UmVuZGVyTWV0ZXI+
KCptX3JlbmRlcmVyKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyTWV0ZXI+KCptX3JlbmRlcmVyKS5tZXRlckVsZW1lbnQoKTsKKyAgICByZXR1
cm4gZHluYW1pY0Rvd25jYXN0PEhUTUxNZXRlckVsZW1lbnQ+KG5vZGUoKSk7CiB9CiAKIFN0cmlu
ZyBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmdhdWdlUmVnaW9uVmFsdWVEZXNjcmlw
dGlvbigpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgaWYgKCFtX3JlbmRlcmVy
IHx8ICFtX3JlbmRlcmVyLT5pc01ldGVyKCkpCisgICAgYXV0byogbWV0ZXJFbGVtZW50ID0gdGhp
cy0+bWV0ZXJFbGVtZW50KCk7CisgICAgaWYgKCFtZXRlckVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKLSAgICAKKwogICAgIC8vIE9ubHkgZXhwb3NlIHRoaXMgd2hlbiB0aGUgYXV0
aG9yIGhhcyBleHBsaWNpdGx5IHNwZWNpZmllZCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMuCiAg
ICAgaWYgKCFoYXNBdHRyaWJ1dGUobG93QXR0cikgJiYgIWhhc0F0dHJpYnV0ZShoaWdoQXR0cikg
JiYgIWhhc0F0dHJpYnV0ZShvcHRpbXVtQXR0cikpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAKLSAgICBpZiAoSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IG1ldGVyRWxlbWVudCgp
KSB7Ci0gICAgICAgIHN3aXRjaCAoZWxlbWVudC0+Z2F1Z2VSZWdpb24oKSkgewotICAgICAgICBj
YXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uT3B0aW11bToKLSAgICAgICAgICAgIHJl
dHVybiBBWE1ldGVyR2F1Z2VSZWdpb25PcHRpbXVtVGV4dCgpOwotICAgICAgICBjYXNlIEhUTUxN
ZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKLSAgICAgICAgICAgIHJldHVybiBB
WE1ldGVyR2F1Z2VSZWdpb25TdWJvcHRpbWFsVGV4dCgpOwotICAgICAgICBjYXNlIEhUTUxNZXRl
ckVsZW1lbnQ6OkdhdWdlUmVnaW9uRXZlbkxlc3NHb29kOgotICAgICAgICAgICAgcmV0dXJuIEFY
TWV0ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICBzd2l0Y2ggKG1ldGVyRWxlbWVudC0+Z2F1Z2VS
ZWdpb24oKSkgeworICAgIGNhc2UgSFRNTE1ldGVyRWxlbWVudDo6R2F1Z2VSZWdpb25PcHRpbXVt
OgorICAgICAgICByZXR1cm4gQVhNZXRlckdhdWdlUmVnaW9uT3B0aW11bVRleHQoKTsKKyAgICBj
YXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKKyAgICAgICAgcmV0
dXJuIEFYTWV0ZXJHYXVnZVJlZ2lvblN1Ym9wdGltYWxUZXh0KCk7CisgICAgY2FzZSBIVE1MTWV0
ZXJFbGVtZW50OjpHYXVnZVJlZ2lvbkV2ZW5MZXNzR29vZDoKKyAgICAgICAgcmV0dXJuIEFYTWV0
ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFr
OwogICAgIH0KICNlbmRpZgogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotRWxlbWVudCogQWNj
ZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjplbGVtZW50KCkgY29uc3QKLXsKLSAgICBpZiAo
IW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgaWYgKG1fcmVuZGVy
ZXItPmlzUHJvZ3Jlc3MoKSkKLSAgICAgICAgcmV0dXJuIHByb2dyZXNzRWxlbWVudCgpOwotCi0g
ICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkKLSAgICAgICAgcmV0dXJuIG1ldGVyRWxlbWVu
dCgpOwotCi0gICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmVsZW1lbnQoKTsKLX0KLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaAppbmRleCA1
NmFlNGQ4MDRkZjguLmRkYWY1ODM2YmRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5oCkBA
IC0zMiw5ICszMiw3IEBAIGNsYXNzIFJlbmRlclByb2dyZXNzOwogICAgIAogY2xhc3MgQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yPiBjcmVhdGUoUmVuZGVyUHJvZ3Jlc3MqKTsKLSAgICBzdGF0aWMgUmVmPEFjY2Vz
c2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gY3JlYXRlKFJlbmRlck1ldGVyKik7Ci0gICAgRWxl
bWVudCogZWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yPiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CiAKIHByaXZhdGU6
CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00
NiwxMCArNDQsOCBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1heFZhbHVlRm9yUmFuZ2UoKSBjb25z
dCBvdmVycmlkZTsKICAgICBmbG9hdCBtaW5WYWx1ZUZvclJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVyUHJv
Z3Jlc3MqKTsKKyAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVu
ZGVyT2JqZWN0Kik7CiAgICAgSFRNTFByb2dyZXNzRWxlbWVudCogcHJvZ3Jlc3NFbGVtZW50KCkg
Y29uc3Q7Ci0KLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVu
ZGVyTWV0ZXIqKTsKICAgICBIVE1MTWV0ZXJFbGVtZW50KiBtZXRlckVsZW1lbnQoKSBjb25zdDsK
ICAgICAKICAgICBib29sIGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Ut
bm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1l
bnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LmNhZTNiMDYxYTNkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9ncmVzcy1lbGVtZW50cy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCA8bWV0ZXI+IGFuZCA8
cHJvZ3Jlc3M+IGVsZW1lbnRzIHdpdGggYXBwZWFyYW5jZTpub25lIGFyZSBhY2Nlc3NpYmxlLgor
CitQQVNTOiBwcm9ncmVzcy5yb2xlID09PSAnQVhSb2xlOiBBWFByb2dyZXNzSW5kaWNhdG9yJwor
UEFTUzogcHJvZ3Jlc3MuaW50VmFsdWUgPT09IDQKK1BBU1M6IG1ldGVyLnJvbGUgPT09ICdBWFJv
bGU6IEFYTGV2ZWxJbmRpY2F0b3InCitQQVNTOiBtZXRlci52YWx1ZURlc2NyaXB0aW9uLmluY2x1
ZGVzKCc0IG9mIDcnKSA9PT0gdHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQx
NGI2YTE3NDI5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
YXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9ncmVzcy1lbGVtZW50cy5odG1sCkBAIC0wLDAg
KzEsMzkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CittZXRlciwgcHJvZ3Jlc3MgeworICBhcHBlYXJhbmNlOiBu
b25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8bWV0ZXIgaWQ9Im1ldGVyIiBt
aW49IjAiIG1heD0iNyIgdmFsdWU9IjQiPgorICA0IG9mIDcKKzwvbWV0ZXI+CisKKzxwcm9ncmVz
cyBpZD0icHJvZ3Jlc3MiIG1pbj0iMCIgbWF4PSI3IiB2YWx1ZT0iNCI+CisgIDQgb2YgNworPC9w
cm9ncmVzcz4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5z
dXJlcyB0aGF0ICZsdDttZXRlciZndDsgYW5kICZsdDtwcm9ncmVzcyZndDsgZWxlbWVudHMgd2l0
aCBhcHBlYXJhbmNlOm5vbmUgYXJlIGFjY2Vzc2libGUuXG5cbiI7CisKKyAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHZhciBwcm9ncmVzcyA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgicHJvZ3Jlc3MiKTsKKyAg
ICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInByb2dyZXNzLnJvbGUiLCAiJ0FYUm9sZTogQVhQ
cm9ncmVzc0luZGljYXRvciciKTsKKyAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInByb2dy
ZXNzLmludFZhbHVlIiwgIjQiKTsKKworICAgICAgICB2YXIgbWV0ZXIgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoIm1ldGVyIik7CisgICAgICAgIHRlc3RP
dXRwdXQgKz0gZXhwZWN0KCJtZXRlci5yb2xlIiwgIidBWFJvbGU6IEFYTGV2ZWxJbmRpY2F0b3In
Iik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJtZXRlci52YWx1ZURlc2NyaXB0aW9u
LmluY2x1ZGVzKCc0IG9mIDcnKSIsICJ0cnVlIik7CisKKyAgICAgICAgZGVidWcodGVzdE91dHB1
dCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTg1ZGU0NGNlOGIyLi5iODVjYTdhNjIy
N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODEy
LDYgKzE4MTIsNyBAQCB3ZWJraXQub3JnL2IvMTQwODMyIFsgUmVsZWFzZSBdIGFjY2Vzc2liaWxp
dHkvYXJpYS1zbGlkZXItdmFsdWUtY2hhbmdlLmh0bWwgWyBGYQogd2Via2l0Lm9yZy9iLzE0MDgz
MiBbIERlYnVnIF0gYWNjZXNzaWJpbGl0eS9hcmlhLXNsaWRlci12YWx1ZS1jaGFuZ2UuaHRtbCBb
IFNraXAgXSAjIERlYnVnIGFzc2VydGlvbgogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIFJlbGVhc2Ug
XSBhY2Nlc3NpYmlsaXR5L2FyaWEtc2xpZGVyLXZhbHVlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xNDA4MzIgWyBEZWJ1ZyBdIGFjY2Vzc2liaWxpdHkvYXJpYS1zbGlkZXItdmFsdWUu
aHRtbCBbIFNraXAgXSAjIERlYnVnIGFzc2VydGlvbgord2Via2l0Lm9yZy9iLzE0MDgzMiBhY2Nl
c3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIFJlbGVhc2UgXSBhY2Nlc3NpYmlsaXR5
L21ldGVyLWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIERl
YnVnIF0gYWNjZXNzaWJpbGl0eS9tZXRlci1lbGVtZW50Lmh0bWwgWyBTa2lwIF0gIyBEZWJ1ZyBh
c3NlcnRpb24KIHdlYmtpdC5vcmcvYi8xNDA4MzIgWyBSZWxlYXNlIF0gYWNjZXNzaWJpbGl0eS9w
cm9ncmVzc2Jhci5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463137</attachid>
            <date>2022-10-21 00:31:01 -0700</date>
            <delta_ts>2022-10-21 11:02:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232569-20221021003100.patch</filename>
            <type>text/plain</type>
            <size>17383</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSA4YjZjMzU5YzJjMWRmMWYyYzdlNTM4YWIyODU5NjUyYjRiZmFjNzA4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogVGh1LCAyMCBPY3QgMjAyMiAyMDo1MjoyOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiBt
ZXRlciBhbmQgcHJvZ3Jlc3MgZWxlbWVudHMgYXJlIGlnbm9yZWQgd2hlbgogLXdlYmtpdC1hcHBl
YXJhbmNlOiBub25lIGlzIHNldAogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjU2OSByZGFyOi8vcHJvYmxlbS84NDg4NTIyMwoKUmV2aWV3ZWQgYnkgQ2hyaXMgRmxl
aXphY2guCgpgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmVgIGFuZCB0aGUgdW5wcmVmaXhlZCBgYXBw
ZWFyYW5jZTpub25lYCBvbiB0aGUKYG1ldGVyYCBhbmQgYHByb2dyZXNzYCBlbGVtZW50cyBjYXVz
ZSB0aGVtIHRvIGdlbmVyYXRlIHBsYWluIGBSZW5kZXJCbG9ja2BzIGluc3RlYWQKb2YgYFJlbmRl
ck1ldGVyYCBhbmQgYFJlbmRlclByb2dyZXNzYCByZW5kZXJlcnMuIFRoaXMgYnJva2UgYWNjZXNz
aWJpbGl0eSBmb3IgdGhlc2UKZWxlbWVudHMgYmVjYXVzZSB3ZSBzcGVjaWZpY2FsbHkgcmVxdWly
ZWQgb25lIG9mIHRoZXNlIHJlbmRlcmVyIHR5cGVzIHRvIGNyZWF0ZSBhbgpgQWNjZXNzaWJpbGl0
eVByb2dyZXNzSW5kaWNhdG9yYC4KCldpdGggdGhpcyBwYXRjaCwgdGhhdCByZXF1aXJlbWVudCBo
YXMgYmVlbiByZWxheGVkLiBOb3cgYW4KYEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcmAg
Y2FuIGJlIGNyZWF0ZWQgd2l0aCBhbnkgYFJlbmRlck9iamVjdGAKdGhhdCBpcyBhc3NvY2lhdGVk
IHdpdGggYW4gYEhUTUxQcm9ncmVzc0VsZW1lbnRgIG9yIGBIVE1MTWV0ZXJFbGVtZW50YCwKZml4
aW5nIHRoaXMgaXNzdWUuIGBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3JgIGRvZXNuJ3Qg
dXNlIGFueQptZXRob2Qgc3BlY2lmaWMgdG8gZWl0aGVyIGBSZW5kZXJNZXRlcmAgb3IgYFJlbmRl
clByb2dyZXNzYCwgc28gdGhpcwpzdHJpY3RuZXNzIHdhcyB1bm5lY2Vzc2FyeS4KCk5ldyB0ZXN0
IGFkZGVkOgphY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMuaHRtbAoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9u
ZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6IFNraXAgbmV3IHRlc3QuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OmNyZWF0ZUZyb21SZW5kZXJlcik6ClJlZmFjdG9y
IHRvIHJlbW92ZSB1bm5lY2Vzc2FyeSBkb3duY2FzdGluZy4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHA6CihXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvcik6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSk6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OnZhbHVlRGVzY3JpcHRp
b24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1
ZUZvclJhbmdlIGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRv
cjo6bWF4VmFsdWVGb3JSYW5nZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jl
c3NJbmRpY2F0b3I6Om1pblZhbHVlRm9yUmFuZ2UgY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjpwcm9ncmVzc0VsZW1lbnQgY29uc3QpOgooV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptZXRlckVsZW1lbnQgY29uc3QpOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpnYXVnZVJlZ2lvblZhbHVlRGVz
Y3JpcHRpb24gY29uc3QpOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9y
OjplbGVtZW50IGNvbnN0KTogRGVsZXRlZCAtLQp0aGlzIG92ZXJyaWRlIHdhcyBub3QgbmVjZXNz
YXJ5LgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmg6Ci0tLQogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCAgIHwgIDUwICsrKystLS0tCiAuLi4vQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9y
LmNwcCAgICAgICAgfCAxMTggKysrKystLS0tLS0tLS0tLS0tCiAuLi4vQWNjZXNzaWJpbGl0eVBy
b2dyZXNzSW5kaWNhdG9yLmggICAgICAgICAgfCAgIDggKy0KIC4uLmUtbWV0ZXItYW5kLXByb2dy
ZXNzLWVsZW1lbnRzLWV4cGVjdGVkLnR4dCB8ICAxMSArKwogLi4uYW5jZS1ub25lLW1ldGVyLWFu
ZC1wcm9ncmVzcy1lbGVtZW50cy5odG1sIHwgIDM5ICsrKysrKwogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTA4
IGluc2VydGlvbnMoKyksIDExOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3Mt
ZWxlbWVudHMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLmh0
bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCAyZmU0ZmQyZDhlYTMuLmM5YjEwOWQwZDMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC04Niw2ICs4Niw3IEBACiAjaW5jbHVk
ZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIkhUTUxQcm9ncmVzc0Vs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxU
YWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVQYXJ0RWxlbWVudC5oIgpAQCAtNjM5
LDM3ICs2NDAsMzQgQEAgc3RhdGljIFJlZjxBY2Nlc3NpYmlsaXR5T2JqZWN0PiBjcmVhdGVGcm9t
UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlNYXRoTUxFbGVtZW50OjpjcmVhdGUocmVuZGVyZXIsIGlzQW5vbnltb3VzT3BlcmF0b3Ip
OwogI2VuZGlmCiAKLSAgICBpZiAoaXM8UmVuZGVyQm94TW9kZWxPYmplY3Q+KCpyZW5kZXJlcikp
IHsKLSAgICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QmIGNzc0JveCA9IGRvd25jYXN0PFJlbmRl
ckJveE1vZGVsT2JqZWN0PigqcmVuZGVyZXIpOwotICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEJv
eD4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6Y3Jl
YXRlKCZkb3duY2FzdDxSZW5kZXJMaXN0Qm94Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlzPFJl
bmRlck1lbnVMaXN0Pihjc3NCb3gpKQotICAgICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdDo6Y3JlYXRlKCZkb3duY2FzdDxSZW5kZXJNZW51TGlzdD4oY3NzQm94KSk7Ci0KLSAg
ICAgICAgLy8gc3RhbmRhcmQgdGFibGVzCi0gICAgICAgIGlmIChpczxSZW5kZXJUYWJsZT4oY3Nz
Qm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGU6OmNyZWF0ZSgmZG93
bmNhc3Q8UmVuZGVyVGFibGU+KGNzc0JveCkpOwotICAgICAgICBpZiAoaXM8UmVuZGVyVGFibGVS
b3c+KGNzc0JveCkpCi0gICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRhYmxlUm93Ojpj
cmVhdGUoJmRvd25jYXN0PFJlbmRlclRhYmxlUm93Pihjc3NCb3gpKTsKLSAgICAgICAgaWYgKGlz
PFJlbmRlclRhYmxlQ2VsbD4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5VGFibGVDZWxsOjpjcmVhdGUoJmRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oY3NzQm94KSk7
Ci0KLSAgICAgICAgLy8gcHJvZ3Jlc3MgYmFyCi0gICAgICAgIGlmIChpczxSZW5kZXJQcm9ncmVz
cz4oY3NzQm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRp
Y2F0b3I6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyUHJvZ3Jlc3M+KGNzc0JveCkpOworICAgIGlm
IChpczxSZW5kZXJMaXN0Qm94PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmls
aXR5TGlzdEJveDo6Y3JlYXRlKHJlbmRlcmVyKTsKKyAgICBpZiAoaXM8UmVuZGVyTWVudUxpc3Q+
KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlNZW51TGlzdDo6Y3JlYXRl
KGRvd25jYXN0PFJlbmRlck1lbnVMaXN0PihyZW5kZXJlcikpOworCisgICAgLy8gc3RhbmRhcmQg
dGFibGVzCisgICAgaWYgKGlzPFJlbmRlclRhYmxlPihyZW5kZXJlcikpCisgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5VGFibGU6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgaWYgKGlzPFJlbmRl
clRhYmxlUm93PihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGFibGVS
b3c6OmNyZWF0ZShyZW5kZXJlcik7CisgICAgaWYgKGlzPFJlbmRlclRhYmxlQ2VsbD4ocmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbDo6Y3JlYXRlKHJlbmRl
cmVyKTsKKworICAgIC8vIHByb2dyZXNzIGJhcgorICAgIGlmIChpczxSZW5kZXJQcm9ncmVzcz4o
cmVuZGVyZXIpIHx8IGlzPEhUTUxQcm9ncmVzc0VsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1
cm4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCiAj
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKLSAgICAgICAgaWYgKGlzPFJlbmRlckF0dGFj
aG1lbnQ+KGNzc0JveCkpCi0gICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eUF0dGFjaG1l
bnQ6OmNyZWF0ZSgmZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4oY3NzQm94KSk7CisgICAgaWYg
KGlzPFJlbmRlckF0dGFjaG1lbnQ+KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlBdHRhY2htZW50OjpjcmVhdGUoZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4ocmVuZGVy
ZXIpKTsKICNlbmRpZgogCi0gICAgICAgIGlmIChpczxSZW5kZXJNZXRlcj4oY3NzQm94KSkKLSAg
ICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmNyZWF0ZSgm
ZG93bmNhc3Q8UmVuZGVyTWV0ZXI+KGNzc0JveCkpOworICAgIGlmIChpczxSZW5kZXJNZXRlcj4o
cmVuZGVyZXIpIHx8IGlzPEhUTUxNZXRlckVsZW1lbnQ+KG5vZGUpKQorICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUocmVuZGVyZXIpOwogCi0gICAg
ICAgIC8vIGlucHV0IHR5cGU9cmFuZ2UKLSAgICAgICAgaWYgKGlzPFJlbmRlclNsaWRlcj4oY3Nz
Qm94KSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUoJmRv
d25jYXN0PFJlbmRlclNsaWRlcj4oY3NzQm94KSk7Ci0gICAgfQorICAgIC8vIGlucHV0IHR5cGU9
cmFuZ2UKKyAgICBpZiAoaXM8UmVuZGVyU2xpZGVyPihyZW5kZXJlcikpCisgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5U2xpZGVyOjpjcmVhdGUocmVuZGVyZXIpOwogCiAgICAgcmV0dXJuIEFj
Y2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNyZWF0ZShyZW5kZXJlcik7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGlj
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvci5jcHAKaW5kZXggZTFmZWUxNzExZWZkLi40ZGMyMWYxYTk2ZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlQcm9ncmVzc0luZGljYXRvci5jcHAKQEAgLTM1LDIyICszNSwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1BY2Nlc3NpYmls
aXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihSZW5k
ZXJQcm9ncmVzcyogcmVuZGVyZXIpCitBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OkFj
Y2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAg
IDogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5kZXJlcikKIHsKKyAgICBBU1NFUlQoaXM8
UmVuZGVyUHJvZ3Jlc3M+KHJlbmRlcmVyKSB8fCBpczxSZW5kZXJNZXRlcj4ocmVuZGVyZXIpIHx8
IGlzPEhUTUxQcm9ncmVzc0VsZW1lbnQ+KHJlbmRlcmVyLT5ub2RlKCkpIHx8IGlzPEhUTUxNZXRl
ckVsZW1lbnQ+KHJlbmRlcmVyLT5ub2RlKCkpKTsKIH0KIAotUmVmPEFjY2Vzc2liaWxpdHlQcm9n
cmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVu
ZGVyUHJvZ3Jlc3MqIHJlbmRlcmVyKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vz
c2liaWxpdHlQcm9ncmVzc0luZGljYXRvcihyZW5kZXJlcikpOwotfQotICAgIAotQWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjpBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVu
ZGVyTWV0ZXIqIHJlbmRlcmVyKQotICAgIDogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdChyZW5k
ZXJlcikKLXsKLX0KLQotUmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNz
aWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpjcmVhdGUoUmVuZGVyTWV0ZXIqIHJlbmRlcmVyKQor
UmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjpjcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IocmVuZGVyZXIpKTsK
IH0KQEAgLTY3LDE4ICs1OCwxNCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNh
dG9yOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QKICAgICBpZiAoIWRlc2NyaXB0aW9uLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogCi0gICAgaWYgKCFtX3JlbmRlcmVy
LT5pc01ldGVyKCkpCi0gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbjsKLQotICAgIEhUTUxNZXRl
ckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCk7CisgICAgYXV0byogbWV0ZXIgPSBtZXRl
ckVsZW1lbnQoKTsKICAgICBpZiAoIW1ldGVyKQogICAgICAgICByZXR1cm4gZGVzY3JpcHRpb247
CiAKICAgICAvLyBUaGUgSFRNTCBzcGVjIGVuY291cmFnZXMgYXV0aG9ycyB0byBpbmNsdWRlIGEg
dGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWV0ZXIncyBzdGF0ZSBpbgogICAgIC8vIHRo
ZSBlbGVtZW50J3MgY29udGVudHMuIFdlJ2xsIGZhbGwgYmFjayBvbiB0aGF0IGlmIHRoZXJlIGlz
IG5vdCBhIG1vcmUgYWNjZXNzaWJsZSBhbHRlcm5hdGl2ZS4KLSAgICBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBheE1ldGVyID0gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShtZXRlcik7Ci0gICAg
aWYgKGlzPEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0PihheE1ldGVyKSkKLSAgICAgICAgZGVzY3Jp
cHRpb24gPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdD4oYXhNZXRlciktPmFjY2Vz
c2liaWxpdHlEZXNjcmlwdGlvbkZvckNoaWxkcmVuKCk7CisgICAgaWYgKGF1dG8qIG5vZGVPYmpl
Y3QgPSBkeW5hbWljRG93bmNhc3Q8QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q+KGF4T2JqZWN0Q2Fj
aGUoKS0+Z2V0T3JDcmVhdGUobWV0ZXIpKSkKKyAgICAgICAgZGVzY3JpcHRpb24gPSBub2RlT2Jq
ZWN0LT5hY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25Gb3JDaGlsZHJlbigpOwogCiAgICAgaWYgKGRl
c2NyaXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgZGVzY3JpcHRpb24gPSBtZXRlci0+dGV4dENv
bnRlbnQoKTsKQEAgLTkyLDE5ICs3OSwxMSBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVByb2dyZXNz
SW5kaWNhdG9yOjp2YWx1ZURlc2NyaXB0aW9uKCkgY29uc3QKIAogZmxvYXQgQWNjZXNzaWJpbGl0
eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
cmVuZGVyZXIpCi0gICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVyZXIt
PmlzUHJvZ3Jlc3MoKSkgewotICAgICAgICBIVE1MUHJvZ3Jlc3NFbGVtZW50KiBwcm9ncmVzcyA9
IHByb2dyZXNzRWxlbWVudCgpOwotICAgICAgICBpZiAocHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MtPnBv
c2l0aW9uKCkgPj0gMCkKLSAgICAgICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0
KHByb2dyZXNzLT52YWx1ZSgpKTsKLSAgICB9CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJv
Z3Jlc3NFbGVtZW50KCk7IHByb2dyZXNzICYmIHByb2dyZXNzLT5wb3NpdGlvbigpID49IDApCisg
ICAgICAgIHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT52YWx1ZSgpKTsK
IAotICAgIGlmIChtX3JlbmRlcmVyLT5pc01ldGVyKCkpIHsKLSAgICAgICAgaWYgKEhUTUxNZXRl
ckVsZW1lbnQqIG1ldGVyID0gbWV0ZXJFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gbmFy
cm93UHJlY2lzaW9uVG9GbG9hdChtZXRlci0+dmFsdWUoKSk7Ci0gICAgfQorICAgIGlmIChhdXRv
KiBtZXRlciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9u
VG9GbG9hdChtZXRlci0+dmFsdWUoKSk7CiAKICAgICAvLyBJbmRldGVybWluYXRlIHByb2dyZXNz
IGJhciBzaG91bGQgcmV0dXJuIDAuCiAgICAgcmV0dXJuIDAuMDsKQEAgLTExMiwzNSArOTEsMjMg
QEAgZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjp2YWx1ZUZvclJhbmdlKCkg
Y29uc3QKIAogZmxvYXQgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjptYXhWYWx1ZUZv
clJhbmdlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiAw
LjA7CisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50KCkpCisgICAgICAg
IHJldHVybiBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KHByb2dyZXNzLT5tYXgoKSk7CiAKLSAgICBp
ZiAobV9yZW5kZXJlci0+aXNQcm9ncmVzcygpKSB7Ci0gICAgICAgIGlmIChIVE1MUHJvZ3Jlc3NF
bGVtZW50KiBwcm9ncmVzcyA9IHByb2dyZXNzRWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJu
IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQocHJvZ3Jlc3MtPm1heCgpKTsKLSAgICB9Ci0gICAgCi0g
ICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkgewotICAgICAgICBpZiAoSFRNTE1ldGVyRWxl
bWVudCogbWV0ZXIgPSBtZXRlckVsZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybiBuYXJyb3dQ
cmVjaXNpb25Ub0Zsb2F0KG1ldGVyLT5tYXgoKSk7Ci0gICAgfQorICAgIGlmIChhdXRvKiBtZXRl
ciA9IG1ldGVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbmFycm93UHJlY2lzaW9uVG9GbG9h
dChtZXRlci0+bWF4KCkpOwogCiAgICAgcmV0dXJuIDAuMDsKIH0KIAogZmxvYXQgQWNjZXNzaWJp
bGl0eVByb2dyZXNzSW5kaWNhdG9yOjptaW5WYWx1ZUZvclJhbmdlKCkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fcmVuZGVyZXIpCisgICAgaWYgKGF1dG8qIHByb2dyZXNzID0gcHJvZ3Jlc3NFbGVtZW50
KCkpCiAgICAgICAgIHJldHVybiAwLjA7Ci0gICAgCi0gICAgaWYgKG1fcmVuZGVyZXItPmlzUHJv
Z3Jlc3MoKSkKLSAgICAgICAgcmV0dXJuIDAuMDsKLSAgICAKLSAgICBpZiAobV9yZW5kZXJlci0+
aXNNZXRlcigpKSB7Ci0gICAgICAgIGlmIChIVE1MTWV0ZXJFbGVtZW50KiBtZXRlciA9IG1ldGVy
RWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobWV0
ZXItPm1pbigpKTsKLSAgICB9Ci0gICAgCisKKyAgICBpZiAoYXV0byogbWV0ZXIgPSBtZXRlckVs
ZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQobWV0ZXItPm1p
bigpKTsKKwogICAgIHJldHVybiAwLjA7CiB9CiAgICAgCkBAIC0xNTMsNTkgKzEyMCwzNiBAQCBB
Y2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OnJvbGVWYWx1
ZSgpIGNvbnN0CiAKIEhUTUxQcm9ncmVzc0VsZW1lbnQqIEFjY2Vzc2liaWxpdHlQcm9ncmVzc0lu
ZGljYXRvcjo6cHJvZ3Jlc3NFbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIWlzPFJlbmRlclBy
b2dyZXNzPigqbV9yZW5kZXJlcikpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAotICAg
IHJldHVybiBkb3duY2FzdDxSZW5kZXJQcm9ncmVzcz4oKm1fcmVuZGVyZXIpLnByb2dyZXNzRWxl
bWVudCgpOworICAgIHJldHVybiBkeW5hbWljRG93bmNhc3Q8SFRNTFByb2dyZXNzRWxlbWVudD4o
bm9kZSgpKTsKIH0KIAogSFRNTE1ldGVyRWxlbWVudCogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5k
aWNhdG9yOjptZXRlckVsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghaXM8UmVuZGVyTWV0ZXI+
KCptX3JlbmRlcmVyKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyTWV0ZXI+KCptX3JlbmRlcmVyKS5tZXRlckVsZW1lbnQoKTsKKyAgICByZXR1
cm4gZHluYW1pY0Rvd25jYXN0PEhUTUxNZXRlckVsZW1lbnQ+KG5vZGUoKSk7CiB9CiAKIFN0cmlu
ZyBBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3I6OmdhdWdlUmVnaW9uVmFsdWVEZXNjcmlw
dGlvbigpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgaWYgKCFtX3JlbmRlcmVy
IHx8ICFtX3JlbmRlcmVyLT5pc01ldGVyKCkpCisgICAgYXV0byogbWV0ZXJFbGVtZW50ID0gdGhp
cy0+bWV0ZXJFbGVtZW50KCk7CisgICAgaWYgKCFtZXRlckVsZW1lbnQpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKLSAgICAKKwogICAgIC8vIE9ubHkgZXhwb3NlIHRoaXMgd2hlbiB0aGUgYXV0
aG9yIGhhcyBleHBsaWNpdGx5IHNwZWNpZmllZCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMuCiAg
ICAgaWYgKCFoYXNBdHRyaWJ1dGUobG93QXR0cikgJiYgIWhhc0F0dHJpYnV0ZShoaWdoQXR0cikg
JiYgIWhhc0F0dHJpYnV0ZShvcHRpbXVtQXR0cikpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
ICAgICAKLSAgICBpZiAoSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IG1ldGVyRWxlbWVudCgp
KSB7Ci0gICAgICAgIHN3aXRjaCAoZWxlbWVudC0+Z2F1Z2VSZWdpb24oKSkgewotICAgICAgICBj
YXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uT3B0aW11bToKLSAgICAgICAgICAgIHJl
dHVybiBBWE1ldGVyR2F1Z2VSZWdpb25PcHRpbXVtVGV4dCgpOwotICAgICAgICBjYXNlIEhUTUxN
ZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKLSAgICAgICAgICAgIHJldHVybiBB
WE1ldGVyR2F1Z2VSZWdpb25TdWJvcHRpbWFsVGV4dCgpOwotICAgICAgICBjYXNlIEhUTUxNZXRl
ckVsZW1lbnQ6OkdhdWdlUmVnaW9uRXZlbkxlc3NHb29kOgotICAgICAgICAgICAgcmV0dXJuIEFY
TWV0ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICBzd2l0Y2ggKG1ldGVyRWxlbWVudC0+Z2F1Z2VS
ZWdpb24oKSkgeworICAgIGNhc2UgSFRNTE1ldGVyRWxlbWVudDo6R2F1Z2VSZWdpb25PcHRpbXVt
OgorICAgICAgICByZXR1cm4gQVhNZXRlckdhdWdlUmVnaW9uT3B0aW11bVRleHQoKTsKKyAgICBj
YXNlIEhUTUxNZXRlckVsZW1lbnQ6OkdhdWdlUmVnaW9uU3Vib3B0aW1hbDoKKyAgICAgICAgcmV0
dXJuIEFYTWV0ZXJHYXVnZVJlZ2lvblN1Ym9wdGltYWxUZXh0KCk7CisgICAgY2FzZSBIVE1MTWV0
ZXJFbGVtZW50OjpHYXVnZVJlZ2lvbkV2ZW5MZXNzR29vZDoKKyAgICAgICAgcmV0dXJuIEFYTWV0
ZXJHYXVnZVJlZ2lvbkxlc3NHb29kVGV4dCgpOwogICAgIH0KICNlbmRpZgogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KIAotRWxlbWVudCogQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yOjpl
bGVtZW50KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOwotCi0gICAgaWYgKG1fcmVuZGVyZXItPmlzUHJvZ3Jlc3MoKSkKLSAgICAgICAgcmV0
dXJuIHByb2dyZXNzRWxlbWVudCgpOwotCi0gICAgaWYgKG1fcmVuZGVyZXItPmlzTWV0ZXIoKSkK
LSAgICAgICAgcmV0dXJuIG1ldGVyRWxlbWVudCgpOwotCi0gICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OmVsZW1lbnQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlQcm9ncmVz
c0luZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UHJvZ3Jlc3NJbmRpY2F0b3IuaAppbmRleCA1NmFlNGQ4MDRkZjguLmRkYWY1ODM2YmRmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UHJvZ3Jl
c3NJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlQcm9ncmVzc0luZGljYXRvci5oCkBAIC0zMiw5ICszMiw3IEBAIGNsYXNzIFJlbmRlclBy
b2dyZXNzOwogICAgIAogY2xhc3MgQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yIGZpbmFs
IDogcHVibGljIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QgewogcHVibGljOgotICAgIHN0YXRp
YyBSZWY8QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yPiBjcmVhdGUoUmVuZGVyUHJvZ3Jl
c3MqKTsKLSAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcj4gY3Jl
YXRlKFJlbmRlck1ldGVyKik7Ci0gICAgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IG92ZXJyaWRl
OworICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9yPiBjcmVhdGUo
UmVuZGVyT2JqZWN0Kik7CiAKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00NiwxMCArNDQsOCBAQCBwcml2YXRlOgogICAgIGZs
b2F0IG1heFZhbHVlRm9yUmFuZ2UoKSBjb25zdCBvdmVycmlkZTsKICAgICBmbG9hdCBtaW5WYWx1
ZUZvclJhbmdlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBleHBsaWNpdCBBY2Nlc3NpYmlsaXR5
UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVyUHJvZ3Jlc3MqKTsKKyAgICBleHBsaWNpdCBBY2Nlc3Np
YmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVyT2JqZWN0Kik7CiAgICAgSFRNTFByb2dyZXNz
RWxlbWVudCogcHJvZ3Jlc3NFbGVtZW50KCkgY29uc3Q7Ci0KLSAgICBleHBsaWNpdCBBY2Nlc3Np
YmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3IoUmVuZGVyTWV0ZXIqKTsKICAgICBIVE1MTWV0ZXJFbGVt
ZW50KiBtZXRlckVsZW1lbnQoKSBjb25zdDsKICAgICAKICAgICBib29sIGNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVu
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5v
bmUtbWV0ZXItYW5kLXByb2dyZXNzLWVsZW1lbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNhZTNiMDYxYTNkYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1w
cm9ncmVzcy1lbGVtZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0
IGVuc3VyZXMgdGhhdCA8bWV0ZXI+IGFuZCA8cHJvZ3Jlc3M+IGVsZW1lbnRzIHdpdGggYXBwZWFy
YW5jZTpub25lIGFyZSBhY2Nlc3NpYmxlLgorCitQQVNTOiBwcm9ncmVzcy5yb2xlID09PSAnQVhS
b2xlOiBBWFByb2dyZXNzSW5kaWNhdG9yJworUEFTUzogcHJvZ3Jlc3MuaW50VmFsdWUgPT09IDQK
K1BBU1M6IG1ldGVyLnJvbGUgPT09ICdBWFJvbGU6IEFYTGV2ZWxJbmRpY2F0b3InCitQQVNTOiBt
ZXRlci52YWx1ZURlc2NyaXB0aW9uLmluY2x1ZGVzKCc0IG9mIDcnKSA9PT0gdHJ1ZQorCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcHBlYXJhbmNlLW5vbmUtbWV0ZXItYW5kLXBy
b2dyZXNzLWVsZW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FwcGVhcmFu
Y2Utbm9uZS1tZXRlci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQxNGI2YTE3NDI5MQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXBwZWFyYW5jZS1ub25lLW1ldGVyLWFuZC1wcm9n
cmVzcy1lbGVtZW50cy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CittZXRlciwg
cHJvZ3Jlc3MgeworICBhcHBlYXJhbmNlOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorCis8bWV0ZXIgaWQ9Im1ldGVyIiBtaW49IjAiIG1heD0iNyIgdmFsdWU9IjQiPgorICA0
IG9mIDcKKzwvbWV0ZXI+CisKKzxwcm9ncmVzcyBpZD0icHJvZ3Jlc3MiIG1pbj0iMCIgbWF4PSI3
IiB2YWx1ZT0iNCI+CisgIDQgb2YgNworPC9wcm9ncmVzcz4KKworPHNjcmlwdD4KKyAgICB2YXIg
dGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0ICZsdDttZXRlciZndDsgYW5kICZs
dDtwcm9ncmVzcyZndDsgZWxlbWVudHMgd2l0aCBhcHBlYXJhbmNlOm5vbmUgYXJlIGFjY2Vzc2li
bGUuXG5cbiI7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Cisg
ICAgICAgIHZhciBwcm9ncmVzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgicHJvZ3Jlc3MiKTsKKyAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInBy
b2dyZXNzLnJvbGUiLCAiJ0FYUm9sZTogQVhQcm9ncmVzc0luZGljYXRvciciKTsKKyAgICAgICAg
dGVzdE91dHB1dCArPSBleHBlY3QoInByb2dyZXNzLmludFZhbHVlIiwgIjQiKTsKKworICAgICAg
ICB2YXIgbWV0ZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoIm1ldGVyIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJtZXRlci5yb2xlIiwg
IidBWFJvbGU6IEFYTGV2ZWxJbmRpY2F0b3InIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhw
ZWN0KCJtZXRlci52YWx1ZURlc2NyaXB0aW9uLmluY2x1ZGVzKCc0IG9mIDcnKSIsICJ0cnVlIik7
CisKKyAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggOTg1ZGU0NGNlOGIyLi5iODVjYTdhNjIyN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODEyLDYgKzE4MTIsNyBAQCB3ZWJraXQub3JnL2IvMTQw
ODMyIFsgUmVsZWFzZSBdIGFjY2Vzc2liaWxpdHkvYXJpYS1zbGlkZXItdmFsdWUtY2hhbmdlLmh0
bWwgWyBGYQogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIERlYnVnIF0gYWNjZXNzaWJpbGl0eS9hcmlh
LXNsaWRlci12YWx1ZS1jaGFuZ2UuaHRtbCBbIFNraXAgXSAjIERlYnVnIGFzc2VydGlvbgogd2Vi
a2l0Lm9yZy9iLzE0MDgzMiBbIFJlbGVhc2UgXSBhY2Nlc3NpYmlsaXR5L2FyaWEtc2xpZGVyLXZh
bHVlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDA4MzIgWyBEZWJ1ZyBdIGFjY2Vz
c2liaWxpdHkvYXJpYS1zbGlkZXItdmFsdWUuaHRtbCBbIFNraXAgXSAjIERlYnVnIGFzc2VydGlv
bgord2Via2l0Lm9yZy9iLzE0MDgzMiBhY2Nlc3NpYmlsaXR5L2FwcGVhcmFuY2Utbm9uZS1tZXRl
ci1hbmQtcHJvZ3Jlc3MtZWxlbWVudHMuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE0MDgz
MiBbIFJlbGVhc2UgXSBhY2Nlc3NpYmlsaXR5L21ldGVyLWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzE0MDgzMiBbIERlYnVnIF0gYWNjZXNzaWJpbGl0eS9tZXRlci1lbGVt
ZW50Lmh0bWwgWyBTa2lwIF0gIyBEZWJ1ZyBhc3NlcnRpb24KIHdlYmtpdC5vcmcvYi8xNDA4MzIg
WyBSZWxlYXNlIF0gYWNjZXNzaWJpbGl0eS9wcm9ncmVzc2Jhci5odG1sIFsgRmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>