<?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>214423</bug_id>
          
          <creation_ts>2020-07-16 14:24:27 -0700</creation_ts>
          <short_desc>Make AnyStepHandling an enum class</short_desc>
          <delta_ts>2020-07-21 09:07:16 -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>New Bugs</component>
          <version>Safari Technology Preview</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="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672244</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-16 14:24:27 -0700</bug_when>
    <thetext>Make AnyStepHandling an enum class since this is more readable and allows
us to have less includes in header files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672249</commentid>
    <comment_count>1</comment_count>
      <attachid>404483</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-16 14:26:29 -0700</bug_when>
    <thetext>Created attachment 404483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673040</commentid>
    <comment_count>2</comment_count>
      <attachid>404483</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-20 06:29:38 -0700</bug_when>
    <thetext>Comment on attachment 404483
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:2123
&gt; +    StepRange stepRange = createStepRange(AnyStepHandling::Reject);

auto

&gt; Source/WebCore/html/RangeInputType.cpp:208
&gt; +    StepRange stepRange(createStepRange(AnyStepHandling::Reject));

auto stepRange = ...
Ditto below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673048</commentid>
    <comment_count>3</comment_count>
      <attachid>404713</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-20 06:42:16 -0700</bug_when>
    <thetext>Created attachment 404713
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673054</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 07:13:41 -0700</bug_when>
    <thetext>Committed r264600: &lt;https://trac.webkit.org/changeset/264600&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404713.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673056</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-20 07:14:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/65823760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673122</commentid>
    <comment_count>6</comment_count>
      <attachid>404713</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-20 10:33:36 -0700</bug_when>
    <thetext>Comment on attachment 404713
Patch

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

&gt; Source/WebCore/html/StepRange.h:31
&gt; -enum AnyStepHandling { RejectAny, AnyIsDefaultStep };
&gt; +enum class AnyStepHandling {
&gt; +    Reject,
&gt; +    Default
&gt; +};

Add a : bool here?

I think this was good on a single line, a little disappointed it’s now on multiple lines.

&gt; Source/WebCore/html/StepRange.h:33
&gt;  enum class RangeLimitations {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673131</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-20 10:46:22 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673132</commentid>
    <comment_count>8</comment_count>
      <attachid>404727</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-20 10:46:25 -0700</bug_when>
    <thetext>Created attachment 404727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673136</commentid>
    <comment_count>9</comment_count>
      <attachid>404727</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-20 10:54:30 -0700</bug_when>
    <thetext>Comment on attachment 404727
Patch

Also need to add the &quot;: bool&quot; anywhere these are forward declared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673138</commentid>
    <comment_count>10</comment_count>
      <attachid>404729</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-20 10:59:13 -0700</bug_when>
    <thetext>Created attachment 404729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673139</commentid>
    <comment_count>11</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-20 10:59:39 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 404727 [details]
&gt; Patch
&gt; 
&gt; Also need to add the &quot;: bool&quot; anywhere these are forward declared.

Yeah, I was a bit too quick, should be green this time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673453</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 09:07:15 -0700</bug_when>
    <thetext>Committed r264656: &lt;https://trac.webkit.org/changeset/264656&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404729.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404483</attachid>
            <date>2020-07-16 14:26:29 -0700</date>
            <delta_ts>2020-07-20 06:42:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214423-20200716222627.patch</filename>
            <type>text/plain</type>
            <size>18761</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRhMGE3NWJlYThiMmNl
MmE2ZDQzYjQ4ODkxM2FkNDUyZThmNDhjMi4uM2E3N2YxNWQyM2E5ZjI0MzNmYWQ0MzgwOTJiZmIx
MjNjZjkwY2U2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTA3LTE2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBBbnlTdGVwSGFuZGxpbmcg
YW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBBbnlTdGVwSGFuZGxpbmcgYW4gZW51bSBjbGFzcyBzaW5jZSB0aGlzIGlzIG1v
cmUgcmVhZGFibGUKKyAgICAgICAgYW5kIGFsbG93cyB1cyB0byBoYXZlIGxlc3MgaW5jbHVkZXMg
aW4gaGVhZGVyIGZpbGVzLgorCisgICAgICAgICogaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuY3BwOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRt
bC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c2V0dXBEYXRl
VGltZUNob29zZXJQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnB1
dFR5cGU6OnJhbmdlVW5kZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlw
ZTo6cmFuZ2VPdmVyZmxvdyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1p
bmltdW0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjptYXhpbXVtIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aXNJblJhbmdlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklucHV0VHlwZTo6aXNPdXRPZlJhbmdlIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OklucHV0VHlwZTo6c3RlcE1pc21hdGNoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6dmFsaWRhdGlvbk1lc3NhZ2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjpnZXRBbGxvd2VkVmFsdWVTdGVwIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OklucHV0VHlwZTo6c3RlcFVwKToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6c3RlcFVw
RnJvbVJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAqIGh0
bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvTnVtYmVySW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJhbmdlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmFuZ2VJbnB1dFR5cGU6OmZhbGxiYWNrVmFsdWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmFuZ2VJbnB1dFR5cGU6OnNhbml0aXplVmFsdWUgY29uc3QpOgorICAgICAgICAqIGh0bWwvU3Rl
cFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0ZXBSYW5nZTo6cGFyc2VTdGVwKToKKyAg
ICAgICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorICAgICAgICAqIGh0bWwvVGltZUlucHV0VHlwZS5j
cHA6CisgICAgICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKiBodG1sL3No
YWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2xpZGVyUG9z
aXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2xpZGVyVGh1bWJFbGVtZW50OjpzZXRQb3NpdGlv
bkZyb21Qb2ludCk6CisKIDIwMjAtMDctMTYgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJA
YXBwbGUuY29tPgogCiAgICAgICAgIFt3ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBkb0FY
QXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZV1uZWVkcyB0byBhdXRvcmVsZWFzZSB0
aGUgcmV0dXJuIHZhbHVlIGZyb20gdGhlIG1haW4gdGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGZmODc5M2JlNDk2M2Jl
MGY4ZWIwZDMzYmVlZDkxYjY0NjQ2ZGUyOTguLjFhN2VkMzE1NTE2ZjE0MDdhNzZhODJlMjlhNTU0
YzZjMGU3NzlmMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZURhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKIAogI2lmIEVOQUJMRShEQVRFX0FORF9U
SU1FX0lOUFVUX1RZUEVTKQogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJLZXlib2Fy
ZEV2ZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAppbmRleCA4ZjUxZTg2
ZWY5ZDE2NDAwMDYyYzIzNGFkNzUzMjlkOWJkMzdjOTVhLi5hNWQ2ZDllZjI4NzkyMTY4ZmU5Y2Zi
ZjY2N2FjMDE0OWRkMzA4MTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAK
QEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIKKyNpbmNsdWRlICJT
dGVwUmFuZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCA0ZjE4ZGJjMDUyNTcxZDBkODRj
OTBlZjQ1NzFhNGFjNjlmODc4MWI5Li5kYjYzOTA4ZmE2NDUyZmRmZWUwYjFlM2E1NmYzNjdjMDFi
N2MyZDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1
dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5jcHAKQEAgLTMzLDkgKzMzLDExIEBACiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKQogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5o
IgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDM0MjkxNzA0YjA4Yzc1MmIx
ODFhOGU5Njg2MDRjMjlkYzA5ODYyNjAuLmIyMzQwZTg1OWEzN2RmOWE1NzIzYmY5NjNlZmYwYzZm
ZWU0NmI3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
NjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIlNjb3BlZEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJT
ZWFyY2hJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlN0ZXBS
YW5nZS5oIgogI2luY2x1ZGUgIlN0eWxlR2VuZXJhdGVkSW1hZ2UuaCIKICNpbmNsdWRlICJUZXh0
Q29udHJvbElubmVyRWxlbWVudHMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgpAQCAtMjExOSw3ICsyMTIwLDcgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzZXR1cERhdGVU
aW1lQ2hvb3NlclBhcmFtZXRlcnMoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyYKICAgICAgICAg
cGFyYW1ldGVycy5sb2NhbGUgPSBjb21wdXRlZExvY2FsZS5pc0VtcHR5KCkgPyBBdG9tU3RyaW5n
KGRlZmF1bHRMYW5ndWFnZSgpKSA6IGNvbXB1dGVkTG9jYWxlOwogICAgIH0KIAotICAgIFN0ZXBS
YW5nZSBzdGVwUmFuZ2UgPSBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KTsKKyAgICBTdGVwUmFu
Z2Ugc3RlcFJhbmdlID0gY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KTsK
ICAgICBpZiAoc3RlcFJhbmdlLmhhc1N0ZXAoKSkgewogICAgICAgICBwYXJhbWV0ZXJzLnN0ZXAg
PSBzdGVwUmFuZ2Uuc3RlcCgpLnRvRG91YmxlKCk7CiAgICAgICAgIHBhcmFtZXRlcnMuc3RlcEJh
c2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKS50b0RvdWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaAppbmRleCA3ZTBjNGQwMjk4ZTM4Yzk4MTc4ZjliM2M2OWU5MjAyY2Zh
MmFhZmQwLi44NGNhOGY0MTkwYTY2YTBmZmZhZjRkOTNiYzA2NWEwMzVmNGY0MjZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjcsMTIgKzI3LDEyIEBACiAjaW5j
bHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJGaWxlQ2hvb3Nlci5oIgogI2luY2x1
ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCi0jaW5jbHVkZSAiU3RlcFJhbmdlLmgi
CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVjaW1hbDsKIGNsYXNzIERyYWdEYXRhOwogY2xhc3MgRmls
ZUxpc3Q7CiBjbGFzcyBIVE1MRGF0YUxpc3RFbGVtZW50OwpAQCAtNDEsNiArNDEsNyBAQCBjbGFz
cyBJY29uOwogY2xhc3MgSW5wdXRUeXBlOwogY2xhc3MgTGlzdEF0dHJpYnV0ZVRhcmdldE9ic2Vy
dmVyOwogY2xhc3MgUmFkaW9CdXR0b25Hcm91cHM7CitjbGFzcyBTdGVwUmFuZ2U7CiAKIHN0cnVj
dCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwogCkBAIC01MSw2ICs1Miw4IEBAIHN0cnVjdCBJ
bnB1dEVsZW1lbnRDbGlja1N0YXRlIHsKICAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gY2hl
Y2tlZFJhZGlvQnV0dG9uOwogfTsKIAorZW51bSBjbGFzcyBBbnlTdGVwSGFuZGxpbmc7CisKIGNs
YXNzIEhUTUxJbnB1dEVsZW1lbnQgOiBwdWJsaWMgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTElucHV0RWxlbWVudCk7CiBwdWJsaWM6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggMTk2MmQ2N2YzMDFlYjAxNzczNjRhYTcz
MTZlOTE5YzQzNzFkNWE0MS4uMTZhYjliMGM3N2ZmNWFhMzdmNDAzYmYzMTU5ODA1ZDQ3YmRlNmJm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1
ZGUgIkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZUlucHV0VHlwZS5oIgogI2luY2x1
ZGUgIkRhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaCIKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAjaW5j
bHVkZSAiRW1haWxJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiRmlsZUlucHV0VHlwZS5oIgpAQCAtNjUsNiArNjYsNyBAQAogI2luY2x1ZGUgIlNlYXJjaElu
cHV0VHlwZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5o
IgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2luY2x1ZGUgIlN1Ym1pdElucHV0VHlwZS5oIgog
I2luY2x1ZGUgIlRlbGVwaG9uZUlucHV0VHlwZS5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5oIgpAQCAtMjg0LDcgKzI4Niw3IEBAIGJvb2wgSW5wdXRUeXBlOjpyYW5nZVVu
ZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAgIGlmICghbnVtZXJpY1ZhbHVl
LmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBudW1lcmlj
VmFsdWUgPCBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5taW5pbXVtKCk7CisgICAgcmV0dXJu
IG51bWVyaWNWYWx1ZSA8IGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmc6OlJlamVjdCku
bWluaW11bSgpOwogfQogCiBib29sIElucHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJp
bmcmIHZhbHVlKSBjb25zdApAQCAtMjk2LDcgKzI5OCw3IEBAIGJvb2wgSW5wdXRUeXBlOjpyYW5n
ZU92ZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgaWYgKCFudW1lcmljVmFs
dWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIG51bWVy
aWNWYWx1ZSA+IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1heGltdW0oKTsKKyAgICByZXR1
cm4gbnVtZXJpY1ZhbHVlID4gY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0
KS5tYXhpbXVtKCk7CiB9CiAKIERlY2ltYWwgSW5wdXRUeXBlOjpkZWZhdWx0VmFsdWVGb3JTdGVw
VXAoKSBjb25zdApAQCAtMzA2LDEyICszMDgsMTIgQEAgRGVjaW1hbCBJbnB1dFR5cGU6OmRlZmF1
bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0CiAKIGRvdWJsZSBJbnB1dFR5cGU6Om1pbmltdW0oKSBj
b25zdAogewotICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5taW5pbXVtKCku
dG9Eb3VibGUoKTsKKyAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6
UmVqZWN0KS5taW5pbXVtKCkudG9Eb3VibGUoKTsKIH0KIAogZG91YmxlIElucHV0VHlwZTo6bWF4
aW11bSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1h
eGltdW0oKS50b0RvdWJsZSgpOworICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhh
bmRsaW5nOjpSZWplY3QpLm1heGltdW0oKS50b0RvdWJsZSgpOwogfQogCiBib29sIElucHV0VHlw
ZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGludCwgaW50JiBwcmVmZXJyZWRTaXplKSBj
b25zdApAQCAtMzMxLDcgKzMzMyw3IEBAIGJvb2wgSW5wdXRUeXBlOjppc0luUmFuZ2UoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICBpZiAoIWlzU3RlcHBhYmxlKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJl
amVjdEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKEFueVN0
ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAgICAgaWYgKCFzdGVwUmFuZ2UuaGFzUmFuZ2VMaW1pdGF0
aW9ucygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBAIC0zNDcsNyArMzQ5LDcgQEAg
Ym9vbCBJbnB1dFR5cGU6OmlzT3V0T2ZSYW5nZShjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAog
ICAgIGlmICghaXNTdGVwcGFibGUoKSB8fCB2YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVj
dEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBI
YW5kbGluZzo6UmVqZWN0KSk7CiAgICAgaWYgKCFzdGVwUmFuZ2UuaGFzUmFuZ2VMaW1pdGF0aW9u
cygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTM2Nyw3ICszNjksNyBAQCBib29sIElu
cHV0VHlwZTo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAgICAgaWYg
KCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
cmV0dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLnN0ZXBNaXNtYXRjaChudW1lcmljVmFs
dWUpOworICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nOjpSZWplY3Qp
LnN0ZXBNaXNtYXRjaChudW1lcmljVmFsdWUpOwogfQogCiBTdHJpbmcgSW5wdXRUeXBlOjpiYWRJ
bnB1dFRleHQoKSBjb25zdApAQCAtNDE4LDcgKzQyMCw3IEBAIFN0cmluZyBJbnB1dFR5cGU6OnZh
bGlkYXRpb25NZXNzYWdlKCkgY29uc3QKICAgICBpZiAoIW51bWVyaWNWYWx1ZS5pc0Zpbml0ZSgp
KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAotICAgIFN0ZXBSYW5nZSBzdGVwUmFu
Z2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2Uo
Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAKICAgICBpZiAobnVt
ZXJpY1ZhbHVlIDwgc3RlcFJhbmdlLm1pbmltdW0oKSkKICAgICAgICAgcmV0dXJuIHZhbGlkYXRp
b25NZXNzYWdlUmFuZ2VVbmRlcmZsb3dUZXh0KHNlcmlhbGl6ZShzdGVwUmFuZ2UubWluaW11bSgp
KSk7CkBAIC05OTMsNyArOTk1LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW5wdXRUeXBlOjphcHBs
eVN0ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3RlcEhhbmRsaW4KIAogYm9vbCBJ
bnB1dFR5cGU6OmdldEFsbG93ZWRWYWx1ZVN0ZXAoRGVjaW1hbCogc3RlcCkgY29uc3QKIHsKLSAg
ICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKKyAgICBT
dGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmc6OlJlamVj
dCkpOwogICAgICpzdGVwID0gc3RlcFJhbmdlLnN0ZXAoKTsKICAgICByZXR1cm4gc3RlcFJhbmdl
Lmhhc1N0ZXAoKTsKIH0KQEAgLTEwMDgsNyArMTAxMCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IElu
cHV0VHlwZTo6c3RlcFVwKGludCBuKQogewogICAgIGlmICghaXNTdGVwcGFibGUoKSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0gICAgcmV0dXJuIGFw
cGx5U3RlcChuLCBSZWplY3RBbnksIERpc3BhdGNoTm9FdmVudCk7CisgICAgcmV0dXJuIGFwcGx5
U3RlcChuLCBBbnlTdGVwSGFuZGxpbmc6OlJlamVjdCwgRGlzcGF0Y2hOb0V2ZW50KTsKIH0KIAog
dm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKQEAgLTEwNTUsNyArMTA1
Nyw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50IG4pCiAgICAgaWYg
KCFuKQogICAgICAgICByZXR1cm47CiAKLSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0
ZXBSYW5nZShBbnlJc0RlZmF1bHRTdGVwKSk7CisgICAgU3RlcFJhbmdlIHN0ZXBSYW5nZShjcmVh
dGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nOjpEZWZhdWx0KSk7CiAKICAgICAvLyBGSVhNRTog
Tm90IGFueSBjaGFuZ2VzIGFmdGVyIHN0ZXBwaW5nLCBldmVuIGlmIGl0IGlzIGFuIGludmFsaWQg
dmFsdWUsIG1heSBiZSBiZXR0ZXIuCiAgICAgLy8gKGUuZy4gU3RlcHBpbmctdXAgZm9yIDxpbnB1
dCB0eXBlPSJudW1iZXIiIHZhbHVlPSJmb28iIHN0ZXA9ImFueSIgLz4gPT4gImZvbyIpCkBAIC0x
MTA2LDExICsxMTA4LDExIEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50
IG4pCiAKICAgICAgICAgICAgIHNldFZhbHVlQXNEZWNpbWFsKG5ld1ZhbHVlLCBuID09IDEgfHwg
biA9PSAtMSA/IERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVudCA6IERpc3BhdGNoTm9FdmVudCk7
CiAgICAgICAgICAgICBpZiAobiA+IDEpCi0gICAgICAgICAgICAgICAgYXBwbHlTdGVwKG4gLSAx
LCBBbnlJc0RlZmF1bHRTdGVwLCBEaXNwYXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOworICAgICAg
ICAgICAgICAgIGFwcGx5U3RlcChuIC0gMSwgQW55U3RlcEhhbmRsaW5nOjpEZWZhdWx0LCBEaXNw
YXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOwogICAgICAgICAgICAgZWxzZSBpZiAobiA8IC0xKQot
ICAgICAgICAgICAgICAgIGFwcGx5U3RlcChuICsgMSwgQW55SXNEZWZhdWx0U3RlcCwgRGlzcGF0
Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsKKyAgICAgICAgICAgICAgICBhcHBseVN0ZXAobiArIDEs
IEFueVN0ZXBIYW5kbGluZzo6RGVmYXVsdCwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsK
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBhcHBseVN0ZXAobiwgQW55SXNEZWZhdWx0U3Rl
cCwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsKKyAgICAgICAgICAgIGFwcGx5U3RlcChu
LCBBbnlTdGVwSGFuZGxpbmc6OkRlZmF1bHQsIERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVudCk7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCA2OTMxMzg5NGQ1OGJkMTcz
ZTdjYzZmNzdiNDVlNzU3N2E0ZDc5Nzk2Li5hOGIyNzA5M2YzMmM4YzJiZTA5NDE2NDZjZGFmMmM4
ZGViMzc3MTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJQdHIuaCIKLSNpbmNsdWRlICJTdGVwUmFuZ2Uu
aCIKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTYxLDExICs2MCwxNCBAQCBjbGFzcyBL
ZXlib2FyZEV2ZW50OwogY2xhc3MgTW91c2VFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5k
ZXJTdHlsZTsKK2NsYXNzIFN0ZXBSYW5nZTsKIGNsYXNzIFRleHRDb250cm9sSW5uZXJUZXh0RWxl
bWVudDsKIGNsYXNzIFRvdWNoRXZlbnQ7CiAKIHN0cnVjdCBJbnB1dEVsZW1lbnRDbGlja1N0YXRl
OwogCitlbnVtIGNsYXNzIEFueVN0ZXBIYW5kbGluZzsKKwogLy8gQW4gSW5wdXRUeXBlIG9iamVj
dCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVu
dC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBk
ZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRleCBlNWIyYWRkMTdiOGI0
OWU2NGVhZjgwMTE5YzM3NDNhMDljY2IxNTc0Li40OTAyNjBjMjhjNzlmMzUwNjc2MjdjODlkYjAy
ZjliNjliYjBlZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcApAQCAt
MzIsOSArMzIsMTEgQEAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9NT05USCkKICNpbmNsdWRlICJN
b250aElucHV0VHlwZS5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnB1dFR5
cGVOYW1lcy5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0
aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKaW5kZXggYWEy
ZWQyZTM4ODdlY2VmMzM0ZDkzMjg4M2E2NjMxNzdiODI4Y2MxZC4uYmIyODE0ZDhjNzZkYzQ5YWEw
ZDJmMDkwNzNjNjVmOWUyY2EwZWQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9O
dW1iZXJJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRU
eXBlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ik51bWJlcklucHV0VHlwZS5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgIkhU
TUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1M
UGFyc2VySWRpb21zLmgiCkBAIC00MCw2ICs0MSw3IEBACiAjaW5jbHVkZSAiTG9jYWxpemVkU3Ry
aW5ncy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4
dENvbnRyb2wuaCIKKyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAj
aW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRleCBkZjVlYjM1MGM0MTcwMDEy
NjgyODc2OWI3ODU1N2I2MDNlNmZmOGZmLi4yYzUzOTUwMjExMzQ4MDJkZGQzMTg0MDBhOGE2YjAx
NmVlNjZhZjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcApAQCAtMzMs
NiArMzMsNyBAQAogI2luY2x1ZGUgIlJhbmdlSW5wdXRUeXBlLmgiCiAKICNpbmNsdWRlICJBWE9i
amVjdENhY2hlLmgiCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2luY2x1ZGUgIkVsZW1lbnRDaGls
ZEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxDb2xs
ZWN0aW9uLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2NvcGVkRXZlbnRRdWV1ZS5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTbGlkZXJUaHVtYkVsZW1lbnQu
aCIKKyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMjAzLDcgKzIwNSw3IEBAIGF1dG8gUmFuZ2VJbnB1dFR5
cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50JiBldmVudCkgLT4gU2hvdWxkQ2Fs
bEJhc2VFCiAgICAgY29uc3QgRGVjaW1hbCBjdXJyZW50ID0gcGFyc2VUb051bWJlck9yTmFOKGVs
ZW1lbnQoKS0+dmFsdWUoKSk7CiAgICAgQVNTRVJUKGN1cnJlbnQuaXNGaW5pdGUoKSk7CiAKLSAg
ICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKKyAgICBT
dGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmc6OlJlamVj
dCkpOwogCiAgICAgLy8gRklYTUU6IFdlIGNhbid0IHVzZSBzdGVwVXAoKSBmb3IgdGhlIHN0ZXAg
dmFsdWUgImFueSIuIFNvLCB3ZSBpbmNyZWFzZQogICAgIC8vIG9yIGRlY3JlYXNlIHRoZSB2YWx1
ZSBieSAxLzEwMCBvZiB0aGUgdmFsdWUgcmFuZ2UuIElzIGl0IHJlYXNvbmFibGU/CkBAIC0zNTMs
MTIgKzM1NSwxMiBAQCB2b2lkIFJhbmdlSW5wdXRUeXBlOjpzZXRWYWx1ZShjb25zdCBTdHJpbmcm
IHZhbHVlLCBib29sIHZhbHVlQ2hhbmdlZCwgVGV4dEZpZWxkRQogCiBTdHJpbmcgUmFuZ2VJbnB1
dFR5cGU6OmZhbGxiYWNrVmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBzZXJpYWxpemVGb3JO
dW1iZXJUeXBlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLmRlZmF1bHRWYWx1ZSgpKTsKKyAg
ICByZXR1cm4gc2VyaWFsaXplRm9yTnVtYmVyVHlwZShjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhh
bmRsaW5nOjpSZWplY3QpLmRlZmF1bHRWYWx1ZSgpKTsKIH0KIAogU3RyaW5nIFJhbmdlSW5wdXRU
eXBlOjpzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29uc3QKIHsK
LSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKKyAg
ICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmc6OlJl
amVjdCkpOwogICAgIGNvbnN0IERlY2ltYWwgcHJvcG9zZWROdW1lcmljVmFsdWUgPSBwYXJzZVRv
TnVtYmVyKHByb3Bvc2VkVmFsdWUsIHN0ZXBSYW5nZS5kZWZhdWx0VmFsdWUoKSk7CiAgICAgcmV0
dXJuIHNlcmlhbGl6ZUZvck51bWJlclR5cGUoc3RlcFJhbmdlLmNsYW1wVmFsdWUocHJvcG9zZWRO
dW1lcmljVmFsdWUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJh
bmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmNwcAppbmRleCBiMGUzNGNm
ZjRjZmYyNjU1YjVkMmQ5Y2UxMzA5NGJiYTUxNzA1Mzk3Li4yY2M2OGIwYjQ1ZjBlOWQzODM0ZTNm
M2UyODMyZmQ4OGY2YWI0YmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBS
YW5nZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3BwCkBAIC0xMDEs
OSArMTAxLDkgQEAgRGVjaW1hbCBTdGVwUmFuZ2U6OnBhcnNlU3RlcChBbnlTdGVwSGFuZGxpbmcg
YW55U3RlcEhhbmRsaW5nLCBjb25zdCBTdGVwRGVzY3JpcHQKIAogICAgIGlmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShzdGVwU3RyaW5nLCAiYW55IikpIHsKICAgICAgICAgc3dpdGNo
IChhbnlTdGVwSGFuZGxpbmcpIHsKLSAgICAgICAgY2FzZSBSZWplY3RBbnk6CisgICAgICAgIGNh
c2UgQW55U3RlcEhhbmRsaW5nOjpSZWplY3Q6CiAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbDo6
bmFuKCk7Ci0gICAgICAgIGNhc2UgQW55SXNEZWZhdWx0U3RlcDoKKyAgICAgICAgY2FzZSBBbnlT
dGVwSGFuZGxpbmc6OkRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gc3RlcERlc2NyaXB0aW9u
LmRlZmF1bHRWYWx1ZSgpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCA0YjZkMDE5ZDVhZTcxOTUy
N2E1NzMyZjNiNmMzYTJiNDUzNWU0NmNkLi5lNzE3MTNkMTBiNjhiMzYzYTE2MmY4NzYwMTE0OGY1
YzFjMjU0Y2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTI1LDcgKzI1LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBBbnlTdGVwSGFuZGxpbmcgeyBSZWplY3RBbnks
IEFueUlzRGVmYXVsdFN0ZXAgfTsKK2VudW0gY2xhc3MgQW55U3RlcEhhbmRsaW5nIHsKKyAgICBS
ZWplY3QsCisgICAgRGVmYXVsdAorfTsKIAogZW51bSBjbGFzcyBSYW5nZUxpbWl0YXRpb25zIHsK
ICAgICBWYWxpZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuY3BwCmluZGV4IDMwODgy
NDQyOTEwOTIxOWMyYTc0NGEyOTIwNmYxZTVkZTA3MDA1NDkuLjBiZDJkNGJjZTlhNThlYjc5Njc5
N2IzODExMDA4NDVhZTVkNjU2ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGlt
ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cApAQCAtMzIsOSArMzIsMTEgQEAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9USU1FKQogI2luY2x1
ZGUgIlRpbWVJbnB1dFR5cGUuaCIKIAorI2luY2x1ZGUgIkRlY2ltYWwuaCIKICNpbmNsdWRlICJI
VE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5w
dXRUeXBlTmFtZXMuaCIKKyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDx3dGYvRGF0
ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9X
ZWVrSW5wdXRUeXBlLmNwcAppbmRleCBkNmFkMjQxYjc3ZjliOTljN2JlNzlmZWNjNzFjMWZmODJm
OTE5Y2IzLi5iMmJiMjQzYjkwNWQ4NDE1YjAzNGM5NDA2ZTRiZmEzODIxYjM5YmEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKQEAgLTMyLDkgKzMyLDExIEBACiAjaWYgRU5B
QkxFKElOUFVUX1RZUEVfV0VFSykKICNpbmNsdWRlICJXZWVrSW5wdXRUeXBlLmgiCiAKKyNpbmNs
dWRlICJEZWNpbWFsLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCisjaW5jbHVkZSAiU3Rl
cFJhbmdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKaW5kZXggNjhhNDkwZTFmYjE0NGU3
MzFkM2QwNzQ4Yzg3OTBjOTczY2UxODNiMC4uNjNmNzMxMWIwOWQ5NTE2N2Q0ZWY4YmVjMmRjNWVi
MDJlNjg0YmFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJU
aHVtYkVsZW1lbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiU2xpZGVyVGh1bWJF
bGVtZW50LmgiCiAKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCisjaW5jbHVkZSAiRGVj
aW1hbC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtNDUsNiArNDYsNyBAQAogI2luY2x1ZGUgIlJlbmRl
clNsaWRlci5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIK
ICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC02NCw3ICs2Niw3IEBAIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJTbGlkZXJUaHVtYik7CiAKIGlubGluZSBz
dGF0aWMgRGVjaW1hbCBzbGlkZXJQb3NpdGlvbihIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQog
ewotICAgIGNvbnN0IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoZWxlbWVudC5jcmVhdGVTdGVwUmFuZ2Uo
UmVqZWN0QW55KSk7CisgICAgY29uc3QgU3RlcFJhbmdlIHN0ZXBSYW5nZShlbGVtZW50LmNyZWF0
ZVN0ZXBSYW5nZShBbnlTdGVwSGFuZGxpbmc6OlJlamVjdCkpOwogICAgIGNvbnN0IERlY2ltYWwg
b2xkVmFsdWUgPSBwYXJzZVRvRGVjaW1hbEZvck51bWJlclR5cGUoZWxlbWVudC52YWx1ZSgpLCBz
dGVwUmFuZ2UuZGVmYXVsdFZhbHVlKCkpOwogICAgIHJldHVybiBzdGVwUmFuZ2UucHJvcG9ydGlv
bkZyb21WYWx1ZShzdGVwUmFuZ2UuY2xhbXBWYWx1ZShvbGRWYWx1ZSkpOwogfQpAQCAtMjkwLDcg
KzI5Miw3IEBAIHZvaWQgU2xpZGVyVGh1bWJFbGVtZW50OjpzZXRQb3NpdGlvbkZyb21Qb2ludChj
b25zdCBMYXlvdXRQb2ludCYgYWJzb2x1dGVQb2ludCkKICAgICBwb3NpdGlvbiA9IHN0ZDo6bWF4
PExheW91dFVuaXQ+KDAsIHN0ZDo6bWluKHBvc2l0aW9uLCB0cmFja0xlbmd0aCkpOwogICAgIGF1
dG8gcmF0aW8gPSBEZWNpbWFsOjpmcm9tRG91YmxlKHN0YXRpY19jYXN0PGRvdWJsZT4ocG9zaXRp
b24pIC8gdHJhY2tMZW5ndGgpOwogICAgIGF1dG8gZnJhY3Rpb24gPSBpc1ZlcnRpY2FsIHx8ICFp
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uID8gRGVjaW1hbCgxKSAtIHJhdGlvIDogcmF0aW87Ci0gICAg
YXV0byBzdGVwUmFuZ2UgPSBpbnB1dC0+Y3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSk7CisgICAg
YXV0byBzdGVwUmFuZ2UgPSBpbnB1dC0+Y3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6
UmVqZWN0KTsKICAgICBhdXRvIHZhbHVlID0gc3RlcFJhbmdlLmNsYW1wVmFsdWUoc3RlcFJhbmdl
LnZhbHVlRnJvbVByb3BvcnRpb24oZnJhY3Rpb24pKTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9F
TEVNRU5UKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404713</attachid>
            <date>2020-07-20 06:42:16 -0700</date>
            <delta_ts>2020-07-20 10:46:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214423-20200720144214.patch</filename>
            <type>text/plain</type>
            <size>18718</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY1MDhjYTc3MmEyZmJl
MWJjMDJjMjQ1ODE0ZjI2MGNlNjJmN2QzNC4uNDFhYTJjYmVkMTY3YWE3OTRmMTZlNjViZjI0NjVk
MTk4Zjk4MTAzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTA3LTIwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBBbnlTdGVwSGFuZGxpbmcg
YW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAg
ICAgICBNYWtlIEFueVN0ZXBIYW5kbGluZyBhbiBlbnVtIGNsYXNzIHNpbmNlIHRoaXMgaXMgbW9y
ZSByZWFkYWJsZQorICAgICAgICBhbmQgYWxsb3dzIHVzIHRvIGhhdmUgbGVzcyBpbmNsdWRlcyBp
biBoZWFkZXIgZmlsZXMuCisKKyAgICAgICAgKiBodG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHA6CisgICAgICAgICogaHRtbC9EYXRlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKiBodG1s
L0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXR1cERhdGVU
aW1lQ2hvb3NlclBhcmFtZXRlcnMpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0
VHlwZTo6cmFuZ2VVbmRlcmZsb3cgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpyYW5nZU92ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6bWlu
aW11bSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6Om1heGltdW0gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjppc0luUmFuZ2UgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5wdXRUeXBlOjppc091dE9mUmFuZ2UgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRUeXBlOjpzdGVwTWlzbWF0Y2ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjp2YWxpZGF0aW9uTWVzc2FnZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnB1dFR5cGU6OmdldEFsbG93ZWRWYWx1ZVN0ZXAgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRUeXBlOjpzdGVwVXApOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpzdGVwVXBG
cm9tUmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRt
bC9Nb250aElucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3Bw
OgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpS
YW5nZUlucHV0VHlwZTo6ZmFsbGJhY2tWYWx1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
YW5nZUlucHV0VHlwZTo6c2FuaXRpemVWYWx1ZSBjb25zdCk6CisgICAgICAgICogaHRtbC9TdGVw
UmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RlcFJhbmdlOjpwYXJzZVN0ZXApOgorICAg
ICAgICAqIGh0bWwvU3RlcFJhbmdlLmg6CisgICAgICAgICogaHRtbC9UaW1lSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKiBodG1sL1dlZWtJbnB1dFR5cGUuY3BwOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzbGlkZXJQb3Np
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnNldFBvc2l0aW9u
RnJvbVBvaW50KToKKwogMjAyMC0wNy0yMCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQWRkIHN1cHBvcnQgZm9yIGNhbnZhcyBj
YXB0dXJlU3RyZWFtLCB0ZXN0cyBmYWlsaW5nIHNpbmNlIHRoZXkgd2VyZSBhZGRlZCBpbiByMjEz
NTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0
VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VEYXRlQW5kVGltZUlucHV0VHlwZS5j
cHAKaW5kZXggZmY4NzkzYmU0OTYzYmUwZjhlYjBkMzNiZWVkOTFiNjQ2NDZkZTI5OC4uMWE3ZWQz
MTU1MTZmMTQwN2E3NmE4MmUyOWE1NTRjNmMwZTc3OWYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQmFzZURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMzQsNiArMzQsNyBAQAog
CiAjaWYgRU5BQkxFKERBVEVfQU5EX1RJTUVfSU5QVVRfVFlQRVMpCiAKKyNpbmNsdWRlICJEZWNp
bWFsLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1
dFR5cGUuY3BwCmluZGV4IDhmNTFlODZlZjlkMTY0MDAwNjJjMjM0YWQ3NTMyOWQ5YmQzN2M5NWEu
LmE1ZDZkOWVmMjg3OTIxNjhmZTljZmJmNjY3YWMwMTQ5ZGQzMDgxMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnB1dFR5
cGVOYW1lcy5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCmlu
ZGV4IDRmMThkYmMwNTI1NzFkMGQ4NGM5MGVmNDU3MWE0YWM2OWY4NzgxYjkuLmRiNjM5MDhmYTY0
NTJmZGZlZTBiMWUzYTU2ZjM2N2MwMWI3YzJkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcApAQCAtMzMsOSArMzMsMTEgQEAKIAogI2lmIEVO
QUJMRShJTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpCiAKKyNpbmNsdWRlICJEZWNpbWFsLmgiCiAj
aW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCisjaW5jbHVkZSAiU3RlcFJhbmdlLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
aW5kZXggODU2YWM4ZjlkZTgwOGU5YWZiMjNhM2ExOTRkZjAyOWY4MDVjNGRiNC4uMTkzODNlN2Jl
NGE1ZjU5NWRjZTRjOThhNDdkMTc2MmIzNjNhNDE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiU2NvcGVkRXZl
bnRRdWV1ZS5oIgogI2luY2x1ZGUgIlNlYXJjaElucHV0VHlwZS5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCisjaW5jbHVkZSAiU3RlcFJhbmdlLmgiCiAjaW5jbHVkZSAiU3R5bGVHZW5lcmF0ZWRJ
bWFnZS5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0yMTE5LDcgKzIxMjAsNyBAQCBib29sIEhUTUxJ
bnB1dEVsZW1lbnQ6OnNldHVwRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyhEYXRlVGltZUNob29z
ZXJQYXJhbWV0ZXJzJgogICAgICAgICBwYXJhbWV0ZXJzLmxvY2FsZSA9IGNvbXB1dGVkTG9jYWxl
LmlzRW1wdHkoKSA/IEF0b21TdHJpbmcoZGVmYXVsdExhbmd1YWdlKCkpIDogY29tcHV0ZWRMb2Nh
bGU7CiAgICAgfQogCi0gICAgU3RlcFJhbmdlIHN0ZXBSYW5nZSA9IGNyZWF0ZVN0ZXBSYW5nZShS
ZWplY3RBbnkpOworICAgIGF1dG8gc3RlcFJhbmdlID0gY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBI
YW5kbGluZzo6UmVqZWN0KTsKICAgICBpZiAoc3RlcFJhbmdlLmhhc1N0ZXAoKSkgewogICAgICAg
ICBwYXJhbWV0ZXJzLnN0ZXAgPSBzdGVwUmFuZ2Uuc3RlcCgpLnRvRG91YmxlKCk7CiAgICAgICAg
IHBhcmFtZXRlcnMuc3RlcEJhc2UgPSBzdGVwUmFuZ2Uuc3RlcEJhc2UoKS50b0RvdWJsZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA3ZTBjNGQwMjk4ZTM4Yzk4
MTc4ZjliM2M2OWU5MjAyY2ZhMmFhZmQwLi44NGNhOGY0MTkwYTY2YTBmZmZhZjRkOTNiYzA2NWEw
MzVmNGY0MjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjcs
MTIgKzI3LDEyIEBACiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKICNpbmNsdWRlICJGaWxl
Q2hvb3Nlci5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCi0jaW5j
bHVkZSAiU3RlcFJhbmdlLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVjaW1hbDsKIGNsYXNzIERy
YWdEYXRhOwogY2xhc3MgRmlsZUxpc3Q7CiBjbGFzcyBIVE1MRGF0YUxpc3RFbGVtZW50OwpAQCAt
NDEsNiArNDEsNyBAQCBjbGFzcyBJY29uOwogY2xhc3MgSW5wdXRUeXBlOwogY2xhc3MgTGlzdEF0
dHJpYnV0ZVRhcmdldE9ic2VydmVyOwogY2xhc3MgUmFkaW9CdXR0b25Hcm91cHM7CitjbGFzcyBT
dGVwUmFuZ2U7CiAKIHN0cnVjdCBEYXRlVGltZUNob29zZXJQYXJhbWV0ZXJzOwogCkBAIC01MSw2
ICs1Miw4IEBAIHN0cnVjdCBJbnB1dEVsZW1lbnRDbGlja1N0YXRlIHsKICAgICBSZWZQdHI8SFRN
TElucHV0RWxlbWVudD4gY2hlY2tlZFJhZGlvQnV0dG9uOwogfTsKIAorZW51bSBjbGFzcyBBbnlT
dGVwSGFuZGxpbmc7CisKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQgOiBwdWJsaWMgSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTElucHV0
RWxlbWVudCk7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKaW5kZXggNDViMGQ3
MmNlYzJiODdmNzMyODg5OTEyMDY2N2U4Y2QwZjM1YjcxMC4uMzQ1ZDJkYTY1MTUyMTBhMjc2ZmQ4
MGY4ZjI3ODY4ZDI0MTliYWJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtMzcs
NiArMzcsNyBAQAogI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZUlu
cHV0VHlwZS5oIgogI2luY2x1ZGUgIkRhdGVUaW1lTG9jYWxJbnB1dFR5cGUuaCIKKyNpbmNsdWRl
ICJEZWNpbWFsLmgiCiAjaW5jbHVkZSAiRW1haWxJbnB1dFR5cGUuaCIKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRmlsZUlucHV0VHlwZS5oIgpAQCAtNjUsNiArNjYsNyBAQAog
I2luY2x1ZGUgIlNlYXJjaElucHV0VHlwZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU2hhZG93Um9vdC5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2luY2x1ZGUgIlN1
Ym1pdElucHV0VHlwZS5oIgogI2luY2x1ZGUgIlRlbGVwaG9uZUlucHV0VHlwZS5oIgogI2luY2x1
ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgpAQCAtMjg0LDcgKzI4Niw3IEBAIGJvb2wg
SW5wdXRUeXBlOjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogICAg
IGlmICghbnVtZXJpY1ZhbHVlLmlzRmluaXRlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIHJldHVybiBudW1lcmljVmFsdWUgPCBjcmVhdGVTdGVwUmFuZ2UoUmVqZWN0QW55KS5taW5p
bXVtKCk7CisgICAgcmV0dXJuIG51bWVyaWNWYWx1ZSA8IGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVw
SGFuZGxpbmc6OlJlamVjdCkubWluaW11bSgpOwogfQogCiBib29sIElucHV0VHlwZTo6cmFuZ2VP
dmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdApAQCAtMjk2LDcgKzI5OCw3IEBAIGJv
b2wgSW5wdXRUeXBlOjpyYW5nZU92ZXJmbG93KGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiAg
ICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgcmV0dXJuIG51bWVyaWNWYWx1ZSA+IGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLm1h
eGltdW0oKTsKKyAgICByZXR1cm4gbnVtZXJpY1ZhbHVlID4gY3JlYXRlU3RlcFJhbmdlKEFueVN0
ZXBIYW5kbGluZzo6UmVqZWN0KS5tYXhpbXVtKCk7CiB9CiAKIERlY2ltYWwgSW5wdXRUeXBlOjpk
ZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdApAQCAtMzA2LDEyICszMDgsMTIgQEAgRGVjaW1h
bCBJbnB1dFR5cGU6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCgpIGNvbnN0CiAKIGRvdWJsZSBJbnB1
dFR5cGU6Om1pbmltdW0oKSBjb25zdAogewotICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoUmVq
ZWN0QW55KS5taW5pbXVtKCkudG9Eb3VibGUoKTsKKyAgICByZXR1cm4gY3JlYXRlU3RlcFJhbmdl
KEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KS5taW5pbXVtKCkudG9Eb3VibGUoKTsKIH0KIAogZG91
YmxlIElucHV0VHlwZTo6bWF4aW11bSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGNyZWF0ZVN0ZXBS
YW5nZShSZWplY3RBbnkpLm1heGltdW0oKS50b0RvdWJsZSgpOworICAgIHJldHVybiBjcmVhdGVT
dGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nOjpSZWplY3QpLm1heGltdW0oKS50b0RvdWJsZSgpOwog
fQogCiBib29sIElucHV0VHlwZTo6c2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGludCwgaW50
JiBwcmVmZXJyZWRTaXplKSBjb25zdApAQCAtMzMxLDcgKzMzMyw3IEBAIGJvb2wgSW5wdXRUeXBl
Ojppc0luUmFuZ2UoY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKICAgICBpZiAoIWlzU3RlcHBh
YmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2Uo
Y3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3Jl
YXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAgICAgaWYgKCFzdGVwUmFu
Z2UuaGFzUmFuZ2VMaW1pdGF0aW9ucygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCkBA
IC0zNDcsNyArMzQ5LDcgQEAgYm9vbCBJbnB1dFR5cGU6OmlzT3V0T2ZSYW5nZShjb25zdCBTdHJp
bmcmIHZhbHVlKSBjb25zdAogICAgIGlmICghaXNTdGVwcGFibGUoKSB8fCB2YWx1ZS5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3Jl
YXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRl
U3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAgICAgaWYgKCFzdGVwUmFuZ2Uu
aGFzUmFuZ2VMaW1pdGF0aW9ucygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTM2Nyw3
ICszNjksNyBAQCBib29sIElucHV0VHlwZTo6c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFs
dWUpIGNvbnN0CiAgICAgaWYgKCFudW1lcmljVmFsdWUuaXNGaW5pdGUoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIGNyZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpLnN0ZXBN
aXNtYXRjaChudW1lcmljVmFsdWUpOworICAgIHJldHVybiBjcmVhdGVTdGVwUmFuZ2UoQW55U3Rl
cEhhbmRsaW5nOjpSZWplY3QpLnN0ZXBNaXNtYXRjaChudW1lcmljVmFsdWUpOwogfQogCiBTdHJp
bmcgSW5wdXRUeXBlOjpiYWRJbnB1dFRleHQoKSBjb25zdApAQCAtNDE4LDcgKzQyMCw3IEBAIFN0
cmluZyBJbnB1dFR5cGU6OnZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3QKICAgICBpZiAoIW51bWVy
aWNWYWx1ZS5pc0Zpbml0ZSgpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAotICAg
IFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkpOworICAgIFN0
ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0
KSk7CiAKICAgICBpZiAobnVtZXJpY1ZhbHVlIDwgc3RlcFJhbmdlLm1pbmltdW0oKSkKICAgICAg
ICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VVbmRlcmZsb3dUZXh0KHNlcmlhbGl6ZShz
dGVwUmFuZ2UubWluaW11bSgpKSk7CkBAIC05OTMsNyArOTk1LDcgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gSW5wdXRUeXBlOjphcHBseVN0ZXAoaW50IGNvdW50LCBBbnlTdGVwSGFuZGxpbmcgYW55U3Rl
cEhhbmRsaW4KIAogYm9vbCBJbnB1dFR5cGU6OmdldEFsbG93ZWRWYWx1ZVN0ZXAoRGVjaW1hbCog
c3RlcCkgY29uc3QKIHsKLSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShS
ZWplY3RBbnkpKTsKKyAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShBbnlT
dGVwSGFuZGxpbmc6OlJlamVjdCkpOwogICAgICpzdGVwID0gc3RlcFJhbmdlLnN0ZXAoKTsKICAg
ICByZXR1cm4gc3RlcFJhbmdlLmhhc1N0ZXAoKTsKIH0KQEAgLTEwMDgsNyArMTAxMCw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IElucHV0VHlwZTo6c3RlcFVwKGludCBuKQogewogICAgIGlmICghaXNT
dGVwcGFibGUoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
IH07Ci0gICAgcmV0dXJuIGFwcGx5U3RlcChuLCBSZWplY3RBbnksIERpc3BhdGNoTm9FdmVudCk7
CisgICAgcmV0dXJuIGFwcGx5U3RlcChuLCBBbnlTdGVwSGFuZGxpbmc6OlJlamVjdCwgRGlzcGF0
Y2hOb0V2ZW50KTsKIH0KIAogdm9pZCBJbnB1dFR5cGU6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQg
bikKQEAgLTEwNTUsNyArMTA1Nyw3IEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVwVXBGcm9tUmVuZGVy
ZXIoaW50IG4pCiAgICAgaWYgKCFuKQogICAgICAgICByZXR1cm47CiAKLSAgICBTdGVwUmFuZ2Ug
c3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShBbnlJc0RlZmF1bHRTdGVwKSk7CisgICAgU3RlcFJh
bmdlIHN0ZXBSYW5nZShjcmVhdGVTdGVwUmFuZ2UoQW55U3RlcEhhbmRsaW5nOjpEZWZhdWx0KSk7
CiAKICAgICAvLyBGSVhNRTogTm90IGFueSBjaGFuZ2VzIGFmdGVyIHN0ZXBwaW5nLCBldmVuIGlm
IGl0IGlzIGFuIGludmFsaWQgdmFsdWUsIG1heSBiZSBiZXR0ZXIuCiAgICAgLy8gKGUuZy4gU3Rl
cHBpbmctdXAgZm9yIDxpbnB1dCB0eXBlPSJudW1iZXIiIHZhbHVlPSJmb28iIHN0ZXA9ImFueSIg
Lz4gPT4gImZvbyIpCkBAIC0xMTA2LDExICsxMTA4LDExIEBAIHZvaWQgSW5wdXRUeXBlOjpzdGVw
VXBGcm9tUmVuZGVyZXIoaW50IG4pCiAKICAgICAgICAgICAgIHNldFZhbHVlQXNEZWNpbWFsKG5l
d1ZhbHVlLCBuID09IDEgfHwgbiA9PSAtMSA/IERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVudCA6
IERpc3BhdGNoTm9FdmVudCk7CiAgICAgICAgICAgICBpZiAobiA+IDEpCi0gICAgICAgICAgICAg
ICAgYXBwbHlTdGVwKG4gLSAxLCBBbnlJc0RlZmF1bHRTdGVwLCBEaXNwYXRjaElucHV0QW5kQ2hh
bmdlRXZlbnQpOworICAgICAgICAgICAgICAgIGFwcGx5U3RlcChuIC0gMSwgQW55U3RlcEhhbmRs
aW5nOjpEZWZhdWx0LCBEaXNwYXRjaElucHV0QW5kQ2hhbmdlRXZlbnQpOwogICAgICAgICAgICAg
ZWxzZSBpZiAobiA8IC0xKQotICAgICAgICAgICAgICAgIGFwcGx5U3RlcChuICsgMSwgQW55SXNE
ZWZhdWx0U3RlcCwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsKKyAgICAgICAgICAgICAg
ICBhcHBseVN0ZXAobiArIDEsIEFueVN0ZXBIYW5kbGluZzo6RGVmYXVsdCwgRGlzcGF0Y2hJbnB1
dEFuZENoYW5nZUV2ZW50KTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBhcHBseVN0ZXAo
biwgQW55SXNEZWZhdWx0U3RlcCwgRGlzcGF0Y2hJbnB1dEFuZENoYW5nZUV2ZW50KTsKKyAgICAg
ICAgICAgIGFwcGx5U3RlcChuLCBBbnlTdGVwSGFuZGxpbmc6OkRlZmF1bHQsIERpc3BhdGNoSW5w
dXRBbmRDaGFuZ2VFdmVudCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRl
eCA2OTMxMzg5NGQ1OGJkMTczZTdjYzZmNzdiNDVlNzU3N2E0ZDc5Nzk2Li5hOGIyNzA5M2YzMmM4
YzJiZTA5NDE2NDZjZGFmMmM4ZGViMzc3MTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJQdHIuaCIKLSNp
bmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTYxLDEx
ICs2MCwxNCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTW91c2VFdmVudDsKIGNsYXNz
IE5vZGU7CiBjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIFN0ZXBSYW5nZTsKIGNsYXNzIFRleHRD
b250cm9sSW5uZXJUZXh0RWxlbWVudDsKIGNsYXNzIFRvdWNoRXZlbnQ7CiAKIHN0cnVjdCBJbnB1
dEVsZW1lbnRDbGlja1N0YXRlOwogCitlbnVtIGNsYXNzIEFueVN0ZXBIYW5kbGluZzsKKwogLy8g
QW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2Yg
YW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0
VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhh
biBIVE1MSW5wdXRFbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcApp
bmRleCBlNWIyYWRkMTdiOGI0OWU2NGVhZjgwMTE5YzM3NDNhMDljY2IxNTc0Li40OTAyNjBjMjhj
NzlmMzUwNjc2MjdjODlkYjAyZjliNjliYjBlZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRo
SW5wdXRUeXBlLmNwcApAQCAtMzIsOSArMzIsMTEgQEAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9N
T05USCkKICNpbmNsdWRlICJNb250aElucHV0VHlwZS5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5o
IgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL051bWJlcklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0
VHlwZS5jcHAKaW5kZXggYWEyZWQyZTM4ODdlY2VmMzM0ZDkzMjg4M2E2NjMxNzdiODI4Y2MxZC4u
YmIyODE0ZDhjNzZkYzQ5YWEwZDJmMDkwNzNjNjVmOWUyY2EwZWQxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIk51bWJlcklucHV0VHlwZS5oIgogCisjaW5jbHVkZSAiRGVjaW1h
bC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCkBAIC00MCw2ICs0MSw3IEBACiAjaW5j
bHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTG9jYWxlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wuaCIKKyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNp
bmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcAppbmRl
eCBkZjVlYjM1MGM0MTcwMDEyNjgyODc2OWI3ODU1N2I2MDNlNmZmOGZmLi41ZjMyY2MxZjlhYTEz
MzA0NTZhOGE4NjYzZDdkYzE2OTBlNzdjMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhbmdlSW5w
dXRUeXBlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlJhbmdlSW5wdXRUeXBlLmgi
CiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiRGVjaW1hbC5oIgogI2lu
Y2x1ZGUgIkVsZW1lbnRDaGlsZEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgog
I2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW5jbHVkZSAi
U2NvcGVkRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJT
bGlkZXJUaHVtYkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKICNpbmNsdWRlIDxs
aW1pdHM+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMjAzLDcgKzIwNSw3IEBA
IGF1dG8gUmFuZ2VJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50JiBl
dmVudCkgLT4gU2hvdWxkQ2FsbEJhc2VFCiAgICAgY29uc3QgRGVjaW1hbCBjdXJyZW50ID0gcGFy
c2VUb051bWJlck9yTmFOKGVsZW1lbnQoKS0+dmFsdWUoKSk7CiAgICAgQVNTRVJUKGN1cnJlbnQu
aXNGaW5pdGUoKSk7CiAKLSAgICBTdGVwUmFuZ2Ugc3RlcFJhbmdlKGNyZWF0ZVN0ZXBSYW5nZShS
ZWplY3RBbnkpKTsKKyAgICBhdXRvIHN0ZXBSYW5nZSA9IGNyZWF0ZVN0ZXBSYW5nZShBbnlTdGVw
SGFuZGxpbmc6OlJlamVjdCk7CiAKICAgICAvLyBGSVhNRTogV2UgY2FuJ3QgdXNlIHN0ZXBVcCgp
IGZvciB0aGUgc3RlcCB2YWx1ZSAiYW55Ii4gU28sIHdlIGluY3JlYXNlCiAgICAgLy8gb3IgZGVj
cmVhc2UgdGhlIHZhbHVlIGJ5IDEvMTAwIG9mIHRoZSB2YWx1ZSByYW5nZS4gSXMgaXQgcmVhc29u
YWJsZT8KQEAgLTM1MywxMiArMzU1LDEyIEBAIHZvaWQgUmFuZ2VJbnB1dFR5cGU6OnNldFZhbHVl
KGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgdmFsdWVDaGFuZ2VkLCBUZXh0RmllbGRFCiAKIFN0
cmluZyBSYW5nZUlucHV0VHlwZTo6ZmFsbGJhY2tWYWx1ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IHNlcmlhbGl6ZUZvck51bWJlclR5cGUoY3JlYXRlU3RlcFJhbmdlKFJlamVjdEFueSkuZGVmYXVs
dFZhbHVlKCkpOworICAgIHJldHVybiBzZXJpYWxpemVGb3JOdW1iZXJUeXBlKGNyZWF0ZVN0ZXBS
YW5nZShBbnlTdGVwSGFuZGxpbmc6OlJlamVjdCkuZGVmYXVsdFZhbHVlKCkpOwogfQogCiBTdHJp
bmcgUmFuZ2VJbnB1dFR5cGU6OnNhbml0aXplVmFsdWUoY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZh
bHVlKSBjb25zdAogewotICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKFJl
amVjdEFueSkpOworICAgIFN0ZXBSYW5nZSBzdGVwUmFuZ2UoY3JlYXRlU3RlcFJhbmdlKEFueVN0
ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAgICAgY29uc3QgRGVjaW1hbCBwcm9wb3NlZE51bWVyaWNW
YWx1ZSA9IHBhcnNlVG9OdW1iZXIocHJvcG9zZWRWYWx1ZSwgc3RlcFJhbmdlLmRlZmF1bHRWYWx1
ZSgpKTsKICAgICByZXR1cm4gc2VyaWFsaXplRm9yTnVtYmVyVHlwZShzdGVwUmFuZ2UuY2xhbXBW
YWx1ZShwcm9wb3NlZE51bWVyaWNWYWx1ZSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TdGVwUmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuY3Bw
CmluZGV4IGIwZTM0Y2ZmNGNmZjI2NTViNWQyZDljZTEzMDk0YmJhNTE3MDUzOTcuLjJjYzY4YjBi
NDVmMGU5ZDM4MzRlM2YzZTI4MzJmZDg4ZjZhYjRiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU3RlcFJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5jcHAKQEAgLTEwMSw5ICsxMDEsOSBAQCBEZWNpbWFsIFN0ZXBSYW5nZTo6cGFyc2VTdGVwKEFu
eVN0ZXBIYW5kbGluZyBhbnlTdGVwSGFuZGxpbmcsIGNvbnN0IFN0ZXBEZXNjcmlwdAogCiAgICAg
aWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0ZXBTdHJpbmcsICJhbnkiKSkgewog
ICAgICAgICBzd2l0Y2ggKGFueVN0ZXBIYW5kbGluZykgewotICAgICAgICBjYXNlIFJlamVjdEFu
eToKKyAgICAgICAgY2FzZSBBbnlTdGVwSGFuZGxpbmc6OlJlamVjdDoKICAgICAgICAgICAgIHJl
dHVybiBEZWNpbWFsOjpuYW4oKTsKLSAgICAgICAgY2FzZSBBbnlJc0RlZmF1bHRTdGVwOgorICAg
ICAgICBjYXNlIEFueVN0ZXBIYW5kbGluZzo6RGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBz
dGVwRGVzY3JpcHRpb24uZGVmYXVsdFZhbHVlKCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IDRi
NmQwMTlkNWFlNzE5NTI3YTU3MzJmM2I2YzNhMmI0NTM1ZTQ2Y2QuLmU3MTcxM2QxMGI2OGIzNjNh
MTYyZjg3NjAxMTQ4ZjVjMWMyNTRjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
U3RlcFJhbmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjUs
NyArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIEFueVN0ZXBIYW5kbGlu
ZyB7IFJlamVjdEFueSwgQW55SXNEZWZhdWx0U3RlcCB9OworZW51bSBjbGFzcyBBbnlTdGVwSGFu
ZGxpbmcgeworICAgIFJlamVjdCwKKyAgICBEZWZhdWx0Cit9OwogCiBlbnVtIGNsYXNzIFJhbmdl
TGltaXRhdGlvbnMgewogICAgIFZhbGlkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9UaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlwZS5j
cHAKaW5kZXggMzA4ODI0NDI5MTA5MjE5YzJhNzQ0YTI5MjA2ZjFlNWRlMDcwMDU0OS4uMGJkMmQ0
YmNlOWE1OGViNzk2Nzk3YjM4MTEwMDg0NWFlNWQ2NTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Rp
bWVJbnB1dFR5cGUuY3BwCkBAIC0zMiw5ICszMiwxMSBAQAogI2lmIEVOQUJMRShJTlBVVF9UWVBF
X1RJTUUpCiAjaW5jbHVkZSAiVGltZUlucHV0VHlwZS5oIgogCisjaW5jbHVkZSAiRGVjaW1hbC5o
IgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIlN0ZXBSYW5nZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCmluZGV4IGQ2YWQyNDFiNzdmOWI5OWM3YmU3
OWZlY2M3MWMxZmY4MmY5MTljYjMuLmIyYmIyNDNiOTA1ZDg0MTViMDM0Yzk0MDZlNGJmYTM4MjFi
MzliYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcApAQCAtMzIsOSArMzIs
MTEgQEAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9XRUVLKQogI2luY2x1ZGUgIldlZWtJbnB1dFR5
cGUuaCIKIAorI2luY2x1ZGUgIkRlY2ltYWwuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIK
KyNpbmNsdWRlICJTdGVwUmFuZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAppbmRleCA2
OGE0OTBlMWZiMTQ0ZTczMWQzZDA3NDhjODc5MGM5NzNjZTE4M2IwLi42M2Y3MzExYjA5ZDk1MTY3
ZDRlZjhiZWMyZGM1ZWIwMmU2ODRiYWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJTbGlkZXJUaHVtYkVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIK
KyNpbmNsdWRlICJEZWNpbWFsLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVu
dEhhbmRsZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCkBAIC00NSw2ICs0Niw3IEBACiAj
aW5jbHVkZSAiUmVuZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNs
dWRlICJTaGFkb3dSb290LmgiCisjaW5jbHVkZSAiU3RlcFJhbmdlLmgiCiAjaW5jbHVkZSAiU3R5
bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKQEAgLTY0
LDcgKzY2LDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlclNsaWRlclRodW1i
KTsKIAogaW5saW5lIHN0YXRpYyBEZWNpbWFsIHNsaWRlclBvc2l0aW9uKEhUTUxJbnB1dEVsZW1l
bnQmIGVsZW1lbnQpCiB7Ci0gICAgY29uc3QgU3RlcFJhbmdlIHN0ZXBSYW5nZShlbGVtZW50LmNy
ZWF0ZVN0ZXBSYW5nZShSZWplY3RBbnkpKTsKKyAgICBjb25zdCBTdGVwUmFuZ2Ugc3RlcFJhbmdl
KGVsZW1lbnQuY3JlYXRlU3RlcFJhbmdlKEFueVN0ZXBIYW5kbGluZzo6UmVqZWN0KSk7CiAgICAg
Y29uc3QgRGVjaW1hbCBvbGRWYWx1ZSA9IHBhcnNlVG9EZWNpbWFsRm9yTnVtYmVyVHlwZShlbGVt
ZW50LnZhbHVlKCksIHN0ZXBSYW5nZS5kZWZhdWx0VmFsdWUoKSk7CiAgICAgcmV0dXJuIHN0ZXBS
YW5nZS5wcm9wb3J0aW9uRnJvbVZhbHVlKHN0ZXBSYW5nZS5jbGFtcFZhbHVlKG9sZFZhbHVlKSk7
CiB9CkBAIC0yOTAsNyArMjkyLDcgQEAgdm9pZCBTbGlkZXJUaHVtYkVsZW1lbnQ6OnNldFBvc2l0
aW9uRnJvbVBvaW50KGNvbnN0IExheW91dFBvaW50JiBhYnNvbHV0ZVBvaW50KQogICAgIHBvc2l0
aW9uID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgc3RkOjptaW4ocG9zaXRpb24sIHRyYWNrTGVu
Z3RoKSk7CiAgICAgYXV0byByYXRpbyA9IERlY2ltYWw6OmZyb21Eb3VibGUoc3RhdGljX2Nhc3Q8
ZG91YmxlPihwb3NpdGlvbikgLyB0cmFja0xlbmd0aCk7CiAgICAgYXV0byBmcmFjdGlvbiA9IGlz
VmVydGljYWwgfHwgIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPyBEZWNpbWFsKDEpIC0gcmF0aW8g
OiByYXRpbzsKLSAgICBhdXRvIHN0ZXBSYW5nZSA9IGlucHV0LT5jcmVhdGVTdGVwUmFuZ2UoUmVq
ZWN0QW55KTsKKyAgICBhdXRvIHN0ZXBSYW5nZSA9IGlucHV0LT5jcmVhdGVTdGVwUmFuZ2UoQW55
U3RlcEhhbmRsaW5nOjpSZWplY3QpOwogICAgIGF1dG8gdmFsdWUgPSBzdGVwUmFuZ2UuY2xhbXBW
YWx1ZShzdGVwUmFuZ2UudmFsdWVGcm9tUHJvcG9ydGlvbihmcmFjdGlvbikpOwogCiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404727</attachid>
            <date>2020-07-20 10:46:25 -0700</date>
            <delta_ts>2020-07-20 10:59:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214423-20200720184623.patch</filename>
            <type>text/plain</type>
            <size>1209</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiOTFmM2E4MzI2Mzc0
MjgzMzg1M2Y1MjBmZmYwYWM1NWU4NTAzYS4uOTczNTEyMzY4ZDRkMjEyODI1ODEzMmY0YjM5YTc0
ZjdjNTdhOTk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA3LTIwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBBbnlTdGVwSGFuZGxpbmcg
YW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29ycmVjdCBzb21lIHBvc3QgY29tbWl0IGNvbW1lbnRzLgorCisgICAgICAgICogaHRt
bC9TdGVwUmFuZ2UuaDoKKwogMjAyMC0wNy0yMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgR2VuZXJhdGVDZXJ0aWZpY2F0ZUFzeW5jIHNob3VsZCBiZSBjYWxs
ZWQgb24gc2lnbmFsaW5nIHRocmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9T
dGVwUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggZTcxNzEz
ZDEwYjY4YjM2M2ExNjJmODc2MDExNDhmNWMxYzI1NGNhMC4uZjYxYTllZTYxYTE5MzU3MGIyOGJh
MTU3ZmMxODQwZTU3OGE0MDc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yNSwxNSAr
MjUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVudW0gY2xhc3MgQW55U3RlcEhhbmRs
aW5nIHsKLSAgICBSZWplY3QsCi0gICAgRGVmYXVsdAotfTsKK2VudW0gY2xhc3MgQW55U3RlcEhh
bmRsaW5nIDogYm9vbCB7IFJlamVjdCwgRGVmYXVsdCB9OwogCi1lbnVtIGNsYXNzIFJhbmdlTGlt
aXRhdGlvbnMgewotICAgIFZhbGlkLAotICAgIEludmFsaWQKLX07CitlbnVtIGNsYXNzIFJhbmdl
TGltaXRhdGlvbnMgOiBib29sIHsgVmFsaWQsIEludmFsaWQgfTsKIAogY2xhc3MgU3RlcFJhbmdl
IHsKIHB1YmxpYzoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404729</attachid>
            <date>2020-07-20 10:59:13 -0700</date>
            <delta_ts>2020-07-21 09:07:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214423-20200720185912.patch</filename>
            <type>text/plain</type>
            <size>2387</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiOTFmM2E4MzI2Mzc0
MjgzMzg1M2Y1MjBmZmYwYWM1NWU4NTAzYS4uZmQ2ZmZhMjQ5ZjNmYTFjMjhiZmQ3ODFhOGQ1ZmQ1
ZjRmN2MxMjllMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA3LTIwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTWFrZSBBbnlTdGVwSGFuZGxpbmcg
YW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE0NDIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29ycmVjdCBzb21lIHBvc3QgY29tbWl0IGNvbW1lbnRzLgorCisgICAgICAgICogaHRt
bC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAg
ICAgKiBodG1sL1N0ZXBSYW5nZS5oOgorCiAyMDIwLTA3LTIwICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZUNlcnRpZmljYXRlQXN5bmMgc2hvdWxk
IGJlIGNhbGxlZCBvbiBzaWduYWxpbmcgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oCmluZGV4IDg0Y2E4ZjQxOTBhNjZhMGZmZmFmNGQ5M2JjMDY1YTAzNWY0ZjQyNmIu
LmNiODU0NTZkNGIyMTExOTVkNjJmMmE4MTZkZTZhODQwZGM5MDYyOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC01Miw3ICs1Miw3IEBAIHN0cnVjdCBJbnB1dEVs
ZW1lbnRDbGlja1N0YXRlIHsKICAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gY2hlY2tlZFJh
ZGlvQnV0dG9uOwogfTsKIAotZW51bSBjbGFzcyBBbnlTdGVwSGFuZGxpbmc7CitlbnVtIGNsYXNz
IEFueVN0ZXBIYW5kbGluZyA6IGJvb2w7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQgOiBwdWJs
aWMgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoSFRNTElucHV0RWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBhOGIyNzA5
M2YzMmM4YzJiZTA5NDE2NDZjZGFmMmM4ZGViMzc3MTE3Li4xYzU1MTI5YzE0NWQwNGQzZjExMWI5
NjkwYTg1MzQyNzYwMzk0ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTY2LDcgKzY2
LDcgQEAgY2xhc3MgVG91Y2hFdmVudDsKIAogc3RydWN0IElucHV0RWxlbWVudENsaWNrU3RhdGU7
CiAKLWVudW0gY2xhc3MgQW55U3RlcEhhbmRsaW5nOworZW51bSBjbGFzcyBBbnlTdGVwSGFuZGxp
bmcgOiBib29sOwogCiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUt
c3BlY2lmaWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBp
bnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFz
c2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBlNzE3MTNkMTBiNjhiMzYzYTE2MmY4NzYw
MTE0OGY1YzFjMjU0Y2EwLi5mNjFhOWVlNjFhMTkzNTcwYjI4YmExNTdmYzE4NDBlNTc4YTQwNzc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTI1LDE1ICsyNSw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBBbnlTdGVwSGFuZGxpbmcgewotICAgIFJlamVjdCwK
LSAgICBEZWZhdWx0Ci19OworZW51bSBjbGFzcyBBbnlTdGVwSGFuZGxpbmcgOiBib29sIHsgUmVq
ZWN0LCBEZWZhdWx0IH07CiAKLWVudW0gY2xhc3MgUmFuZ2VMaW1pdGF0aW9ucyB7Ci0gICAgVmFs
aWQsCi0gICAgSW52YWxpZAotfTsKK2VudW0gY2xhc3MgUmFuZ2VMaW1pdGF0aW9ucyA6IGJvb2wg
eyBWYWxpZCwgSW52YWxpZCB9OwogCiBjbGFzcyBTdGVwUmFuZ2UgewogcHVibGljOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>