<?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>233774</bug_id>
          
          <creation_ts>2021-12-02 10:56:13 -0800</creation_ts>
          <short_desc>Remove the multipart parameter to FormAssociatedElement::appendFormData, InputType::appendFormData and HTMLFormElement::constructEntryList</short_desc>
          <delta_ts>2021-12-02 13:14:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreu Botella">andreu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andreu</cc>
    
    <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1819787</commentid>
    <comment_count>0</comment_count>
    <who name="Andreu Botella">andreu</who>
    <bug_when>2021-12-02 10:56:13 -0800</bug_when>
    <thetext>These parameters were only needed because of an optimization where file inputs were being added to the DOMFormData as string values containing their filenames if the entry list was being constructed to be used in a urlencoded or text/plain form submission. This optimization was removed in r286427 and those parameters can now be dropped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819790</commentid>
    <comment_count>1</comment_count>
      <attachid>445746</attachid>
    <who name="Andreu Botella">andreu</who>
    <bug_when>2021-12-02 11:00:33 -0800</bug_when>
    <thetext>Created attachment 445746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819845</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-02 13:13:09 -0800</bug_when>
    <thetext>Committed r286447 (244789@main): &lt;https://commits.webkit.org/244789@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445746.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819846</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-02 13:14:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/85985842&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445746</attachid>
            <date>2021-12-02 11:00:33 -0800</date>
            <delta_ts>2021-12-02 13:13:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233774-20211202200032.patch</filename>
            <type>text/plain</type>
            <size>27441</size>
            <attacher name="Andreu Botella">andreu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMwNmFkNGYyNGY1YmZl
MTRlNmU2M2Y5OTVjMWNkNmUyNzRkYzdjMi4uNDFiMTg5MzE3NTcwMjU4ODgyZmIyNWZiNTBhOTBm
ZGZmZTI3OTFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTEyLTAyICBBbmRy
ZXUgQm90ZWxsYSAgPGFuZHJldUBhbmRyZXVib3RlbGxhLmNvbT4KKworICAgICAgICBSZW1vdmUg
dGhlIG11bHRpcGFydCBwYXJhbWV0ZXIgdG8gRm9ybUFzc29jaWF0ZWRFbGVtZW50OjphcHBlbmRG
b3JtRGF0YSwgSW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YSBhbmQgSFRNTEZvcm1FbGVtZW50Ojpj
b25zdHJ1Y3RFbnRyeUxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzc3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXNlIHBhcmFtZXRlcnMgd2VyZSBvbmx5IG5lZWRlZCBiZWNhdXNlIG9mIGFu
IG9wdGltaXphdGlvbiB3aGVyZSBmaWxlIGlucHV0cyB3ZXJlIGJlaW5nCisgICAgICAgIGFkZGVk
IHRvIHRoZSBET01Gb3JtRGF0YSBhcyBzdHJpbmcgdmFsdWVzIGNvbnRhaW5pbmcgdGhlaXIgZmls
ZW5hbWVzIGlmIHRoZSBlbnRyeSBsaXN0IHdhcworICAgICAgICBiZWluZyBjb25zdHJ1Y3RlZCB0
byBiZSB1c2VkIGluIGEgdXJsZW5jb2RlZCBvciB0ZXh0L3BsYWluIGZvcm0gc3VibWlzc2lvbi4g
VGhpcworICAgICAgICBvcHRpbWl6YXRpb24gd2FzIHJlbW92ZWQgaW4gcjI4NjQyNyBhbmQgdGhv
c2UgcGFyYW1ldGVycyBjYW4gbm93IGJlIGRyb3BwZWQuCisKKyAgICAgICAgTm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogaHRtbC9CYXNlQnV0dG9uSW5wdXRUeXBlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkJhc2VCdXR0b25JbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhIGNvbnN0KToK
KyAgICAgICAgKiBodG1sL0Jhc2VCdXR0b25JbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL0Jh
c2VDaGVja2FibGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUNoZWNrYWJs
ZUlucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEgY29uc3QpOgorICAgICAgICAqIGh0bWwvQmFzZUNo
ZWNrYWJsZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9GaWxl
SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5cGU6OmFwcGVuZEZv
cm1EYXRhIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0ZpbGVJbnB1dFR5cGUuaDoKKyAgICAgICAg
KiBodG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybUFz
c29jaWF0ZWRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6YXBw
ZW5kRm9ybURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0
cnVjdEVudHJ5TGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElu
cHV0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEtleWdlbkVsZW1lbnQ6OmFwcGVuZEZvcm1EYXRhKToKKyAgICAgICAgKiBo
dG1sL0hUTUxLZXlnZW5FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT2JqZWN0RWxlbWVudDo6YXBwZW5kRm9ybURh
dGEpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVt
ZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5o
OgorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAgICAgICogaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IaWRkZW5JbnB1dFR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlkZGVuSW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YSBj
b25zdCk6CisgICAgICAgICogaHRtbC9IaWRkZW5JbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1s
L0ltYWdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlSW5wdXRUeXBlOjph
cHBlbmRGb3JtRGF0YSBjb25zdCk6CisgICAgICAgICogaHRtbC9JbWFnZUlucHV0VHlwZS5oOgor
ICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlw
ZTo6YXBwZW5kRm9ybURhdGEgY29uc3QpOgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6Cisg
ICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
bWl0SW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YSBjb25zdCk6CisgICAgICAgICogaHRtbC9TdWJt
aXRJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhIGNvbnN0
KToKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5oOgorICAgICAgICAqIGxvYWRl
ci9Gb3JtU3VibWlzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtU3VibWlzc2lvbjo6
Y3JlYXRlKToKKwogMjAyMS0xMi0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgWzpoYXMoKSBwc2V1ZG8tY2xhc3NdIEludmFsaWRhdGlvbiBpbiBub24tc3Vi
amVjdCBwb3NpdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQnV0dG9u
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUJ1dHRvbklucHV0VHlwZS5j
cHAKaW5kZXggMmRkYmFlYjlhNjlhODBjMWI0OWM0OTI2OTY3ZTNlZDMwNDQ2OWYzOS4uNGU3Mzk1
MzgxMmQ0MDg0Yzg1ZGJlMTA1YzdhOTM1Njk1ZjcwY2NmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlQnV0dG9uSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0Jhc2VCdXR0b25JbnB1dFR5cGUuY3BwCkBAIC00NSw3ICs0NSw3IEBAIGJvb2wgQmFzZUJ1
dHRvbklucHV0VHlwZTo6c2hvdWxkU2F2ZUFuZFJlc3RvcmVGb3JtQ29udHJvbFN0YXRlKCkgY29u
c3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQmFzZUJ1dHRvbklucHV0VHlwZTo6YXBw
ZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmLCBib29sKSBjb25zdAorYm9vbCBCYXNlQnV0dG9uSW5w
dXRUeXBlOjphcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYpIGNvbnN0CiB7CiAgICAgLy8gQnV0
dG9ucyBleGNlcHQgb3ZlcnJpZGRlbiB0eXBlcyBhcmUgbmV2ZXIgc3VjY2Vzc2Z1bC4KICAgICBy
ZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VCdXR0b25J
bnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUJ1dHRvbklucHV0VHlwZS5oCmlu
ZGV4IGFlNGYwMjQyN2JhOWQ3Yzg0YjI5NmNmNzIzZDhkMTAyNTIyN2QwZWIuLmU0MTQ2MzQxYjA0
ZjQxOThjYjA3MDZiOWE2NTJkNjY5MTZjMDJkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQmFzZUJ1dHRvbklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZUJ1dHRvbklucHV0VHlwZS5oCkBAIC00MSw3ICs0MSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0
ZToKICAgICBib29sIHNob3VsZFNhdmVBbmRSZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZSgpIGNvbnN0
IG92ZXJyaWRlOwotICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmLCBib29sKSBj
b25zdCBvdmVycmlkZTsKKyAgICBib29sIGFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUlucHV0UmVu
ZGVyZXIoUmVuZGVyU3R5bGUmJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBzdG9yZXNWYWx1ZVNlcGFy
YXRlRnJvbUF0dHJpYnV0ZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3Ry
aW5nJiwgYm9vbCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvcikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaGVja2FibGVJbnB1dFR5cGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9CYXNlQ2hlY2thYmxlSW5wdXRUeXBlLmNwcAppbmRleCBjNzM1OTgzNDFi
ZmEwYzY5NGZiMDRmZTIzZjE5NmE2MzRiZDNkZTY0Li4wNjVjZWMwZTY1YmM3Mjc0M2EyZmQyMWY4
NmMzYzU4OGRhZWExMTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaGVj
a2FibGVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNoZWNrYWJs
ZUlucHV0VHlwZS5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBCYXNlQ2hlY2thYmxlSW5wdXRU
eXBlOjpyZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShjb25zdCBGb3JtQ29udHJvbFN0YXRlJiBzdGEK
ICAgICBlbGVtZW50KCktPnNldENoZWNrZWQoc3RhdGVbMF0gPT0gIm9uIik7CiB9CiAKLWJvb2wg
QmFzZUNoZWNrYWJsZUlucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1E
YXRhLCBib29sKSBjb25zdAorYm9vbCBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlOjphcHBlbmRGb3Jt
RGF0YShET01Gb3JtRGF0YSYgZm9ybURhdGEpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQo
KSk7CiAgICAgaWYgKCFlbGVtZW50KCktPmNoZWNrZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQmFzZUNoZWNrYWJsZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlQ2hlY2thYmxlSW5wdXRUeXBlLmgKaW5kZXggYTBjM2Y0ODdhNDNkMjNkYjRlMjZkM2Ex
YWFmOGMyOWI2NTNiOGRhMy4uYjQ5YTc3YTQxNTkyNTFiMTg1MDE0OWUxMDA3Y2RmNDAwNmMwOWEy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hlY2thYmxlSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hlY2thYmxlSW5wdXRUeXBlLmgKQEAg
LTQ0LDcgKzQ0LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBGb3JtQ29udHJvbFN0YXRl
IHNhdmVGb3JtQ29udHJvbFN0YXRlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXN0b3Jl
Rm9ybUNvbnRyb2xTdGF0ZShjb25zdCBGb3JtQ29udHJvbFN0YXRlJikgb3ZlcnJpZGU7Ci0gICAg
Ym9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYsIGJvb2wpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmKSBjb25zdCBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZUtleXByZXNzRXZlbnQoS2V5Ym9hcmRFdmVudCYpIG92ZXJyaWRlOwogICAg
IGJvb2wgY2FuU2V0U3RyaW5nVmFsdWUoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGFjY2Vz
c0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50cykgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NRm9ybURhdGEuY3BwCmluZGV4IGE5N2U4YzBhMDkyMzA4MzZiZGE2OWZkMWY0MjhjMmJkMzQy
YjBkZTMuLjdmZjU3ZmQ2NGJmZGNmZjM5YjhhNmUzYmNhZGE3M2VkMzIwNTBkZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCkBAIC00OCw3ICs0OCw3IEBAIEV4Y2VwdGlvbk9yPFJl
ZjxET01Gb3JtRGF0YT4+IERPTUZvcm1EYXRhOjpjcmVhdGUoSFRNTEZvcm1FbGVtZW50KiBmb3Jt
KQogICAgIGlmICghZm9ybSkKICAgICAgICAgcmV0dXJuIGZvcm1EYXRhOwogICAgIAotICAgIGF1
dG8gcmVzdWx0ID0gZm9ybS0+Y29uc3RydWN0RW50cnlMaXN0KFdURk1vdmUoZm9ybURhdGEpLCBu
dWxscHRyLCBIVE1MRm9ybUVsZW1lbnQ6OklzTXVsdGlwYXJ0Rm9ybTo6WWVzKTsKKyAgICBhdXRv
IHJlc3VsdCA9IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGZvcm1EYXRhKSwgbnVs
bHB0cik7CiAgICAgCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciwgIkFscmVhZHkgY29uc3RydWN0aW5nIEZvcm0gZW50cnkgbGlz
dC4iX3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCmluZGV4IGE5NzUwODI3
NWM5YTc3ODljNDhmZjMwMWFkYTRhNWVjZjNmNzM0YTUuLmEyMzc3YmMxZjJiNDZhYTRmNDg4MTZm
YzM3MDYxZTA5YTQ5Yzk3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcApA
QCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgRmlsZUlucHV0VHlwZTo6cmVzdG9yZUZvcm1Db250cm9s
U3RhdGUoY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3RhdGUpCiAgICAgZmlsZXNDaG9zZW4oZmls
ZXNGcm9tRm9ybUNvbnRyb2xTdGF0ZShzdGF0ZSkpOwogfQogCi1ib29sIEZpbGVJbnB1dFR5cGU6
OmFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJiBmb3JtRGF0YSwgYm9vbCkgY29uc3QKK2Jvb2wg
RmlsZUlucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhKSBjb25z
dAogewogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJlZlB0ciBmaWxlTGlzdCA9IGVsZW1l
bnQoKS0+ZmlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgKaW5kZXggNmYwYmNj
N2FhOTBkNjcyMmU1YjIwYTE0MGI2YzU4MGVlZTU3YTE2ZS4uMmVmMDI0NGRkODkyNzNhMTEzNTI5
NWQxNmRiNzkxNmM4MmMwNmJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxl
SW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmgKQEAg
LTU2LDcgKzU2LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBBdG9tU3RyaW5nJiBmb3JtQ29udHJv
bFR5cGUoKSBjb25zdCBmaW5hbDsKICAgICBGb3JtQ29udHJvbFN0YXRlIHNhdmVGb3JtQ29udHJv
bFN0YXRlKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCByZXN0b3JlRm9ybUNvbnRyb2xTdGF0ZShj
b25zdCBGb3JtQ29udHJvbFN0YXRlJikgZmluYWw7Ci0gICAgYm9vbCBhcHBlbmRGb3JtRGF0YShE
T01Gb3JtRGF0YSYsIGJvb2wpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgYXBwZW5kRm9ybURhdGEo
RE9NRm9ybURhdGEmKSBjb25zdCBmaW5hbDsKICAgICBib29sIHZhbHVlTWlzc2luZyhjb25zdCBT
dHJpbmcmKSBjb25zdCBmaW5hbDsKICAgICBTdHJpbmcgdmFsdWVNaXNzaW5nVGV4dCgpIGNvbnN0
IGZpbmFsOwogICAgIHZvaWQgaGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVudCYpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgKaW5kZXggMmNjNDRh
ZTE5YTcwYjYxOTM5ZmZlNjYzMzQ4NWRlMmE0N2I3MmI5Ny4uYjUwOTkwMDNiNzI2NWMwYjc4ZmU5
ZjlmYTgxYmQ3OWU4YzlmNjBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3Jt
QXNzb2NpYXRlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lh
dGVkRWxlbWVudC5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE92ZXJyaWRl
IGluIGRlcml2ZWQgY2xhc3NlcyB0byBnZXQgdGhlIGVuY29kZWQgbmFtZT12YWx1ZSBwYWlyIGZv
ciBzdWJtaXR0aW5nLgogICAgIC8vIFJldHVybiB0cnVlIGZvciBhIHN1Y2Nlc3NmdWwgY29udHJv
bCAoc2VlIEhUTUw0LTE3LjEzLjIpLgotICAgIHZpcnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShE
T01Gb3JtRGF0YSYsIGJvb2wpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGFw
cGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZvaWQg
Zm9ybVdpbGxCZURlc3Ryb3llZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCmluZGV4IGM2YjJhYmUzYmU1ZTA0ZmExYjlmODE1OTUyZDI2MTIzYTkyY2Y1OWQu
LjZiMjgwMjg3MDViOGE1NmM5NjYzMzA0MzFlOGNhMzUxNmY3MmQ4NmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBI
VE1MQnV0dG9uRWxlbWVudDo6c2V0QWN0aXZhdGVkU3VibWl0KGJvb2wgZmxhZykKICAgICBtX2lz
QWN0aXZhdGVkU3VibWl0ID0gZmxhZzsKIH0KIAotYm9vbCBIVE1MQnV0dG9uRWxlbWVudDo6YXBw
ZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhLCBib29sKQorYm9vbCBIVE1MQnV0dG9u
RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhKQogewogICAgIGlm
IChtX3R5cGUgIT0gU1VCTUlUIHx8IG5hbWUoKS5pc0VtcHR5KCkgfHwgIW1faXNBY3RpdmF0ZWRT
dWJtaXQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuaAppbmRleCA5MDkwZWM4Yzk4OTk0OGU0NWYwYjBhMTc0ZTRmZjU2NzEyMWEwNTY0
Li40OTA4NGEwMjk3ODc5M2I0Y2I0ZDZlZWY5OTQ3YTlmM2Y0NDM4MTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5oCkBAIC01OSw3ICs1OSw3IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBoYXNQcmVzZW50YXRpb25hbEhpbnRzRm9yQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQm
KSBmaW5hbDsKIAotICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmLCBib29sKSBm
aW5hbDsKKyAgICBib29sIGFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJikgZmluYWw7CiAKICAg
ICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IGJvb2wgc3VwcG9ydExhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggZmEyZjc1N2E0
N2RmYjJmYTVlZTlkZWYzY2U0YjIyYWIxNmFmMDJiYy4uZDk5OTRkYzRjOGI0YjcwMjNmNDczZTA1
NTEyNzllY2RjZWFiOTBlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmgKQEAgLTg2LDcgKzg2LDcgQEAgcHVibGljOgogCiAgICAgLy8gT3ZlcnJpZGUg
aW4gZGVyaXZlZCBjbGFzc2VzIHRvIGdldCB0aGUgZW5jb2RlZCBuYW1lPXZhbHVlIHBhaXIgZm9y
IHN1Ym1pdHRpbmcuCiAgICAgLy8gUmV0dXJuIHRydWUgZm9yIGEgc3VjY2Vzc2Z1bCBjb250cm9s
IChzZWUgSFRNTDQtMTcuMTMuMikuCi0gICAgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0
YSYsIGJvb2wpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBhcHBlbmRGb3Jt
RGF0YShET01Gb3JtRGF0YSYpIG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmF0ZWRTdWJtaXQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IGFhMGQw
NjdjNDgxMWJkMmM4OWQ4YzdkYWM1YmYwNjNkNDZkNjVkMmYuLjJjZGUyOTE1ZDFmMjQ3YTlmYzE2
YmZlM2VhNjdjZDkzYjAxODZlYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKQEAgLTEwMDgsNyArMTAwOCw3IEBAIGNvbnN0IEF0b21TdHJpbmcmIEhUTUxGb3JtRWxl
bWVudDo6YXV0b2NvbXBsZXRlKCkgY29uc3QKICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJ
Q2FzZShhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF1dG9jb21wbGV0ZUF0dHIpLCAi
b2ZmIikgPyBvZmYgOiBvbjsKIH0KIAotUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1l
bnQ6OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0
cmluZ1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMsIElzTXVsdGlwYXJ0Rm9ybSBpc011bHRpcGFydEZv
cm0pCitSZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlM
aXN0KFJlZjxET01Gb3JtRGF0YT4mJiBkb21Gb3JtRGF0YSwgU3RyaW5nUGFpclZlY3RvciogZm9y
bVZhbHVlcykKIHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFn
ZS9mb3JtLWNvbnRyb2wtaW5mcmFzdHJ1Y3R1cmUuaHRtbCNjb25zdHJ1Y3RpbmctZm9ybS1kYXRh
LXNldAogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC0xMDIxLDcgKzEwMjEsNyBAQCBS
ZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJl
ZjxET01Gb3JtRGF0YT4mJiBkb21GbwogICAgIGZvciAoYXV0byYgY29udHJvbCA6IHRoaXMtPmNv
cHlBc3NvY2lhdGVkRWxlbWVudHNWZWN0b3IoKSkgewogICAgICAgICBhdXRvJiBlbGVtZW50ID0g
Y29udHJvbC0+YXNIVE1MRWxlbWVudCgpOwogICAgICAgICBpZiAoIWVsZW1lbnQuaXNEaXNhYmxl
ZEZvcm1Db250cm9sKCkpCi0gICAgICAgICAgICBjb250cm9sLT5hcHBlbmRGb3JtRGF0YShkb21G
b3JtRGF0YS5nZXQoKSwgaXNNdWx0aXBhcnRGb3JtID09IElzTXVsdGlwYXJ0Rm9ybTo6WWVzKTsK
KyAgICAgICAgICAgIGNvbnRyb2wtPmFwcGVuZEZvcm1EYXRhKGRvbUZvcm1EYXRhLmdldCgpKTsK
ICAgICAgICAgaWYgKGZvcm1WYWx1ZXMgJiYgaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkp
IHsKICAgICAgICAgICAgIGF1dG8mIGlucHV0ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4o
ZWxlbWVudCk7CiAgICAgICAgICAgICBpZiAoaW5wdXQuaXNUZXh0RmllbGQoKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggYTFkNDA4YmE1MTIyNDI0MmM1MjVmY2E2
N2ZhYzE1YzdlODYxMGQwMS4uZTlhNDJjZmEzZDQxYTFjZjdkOGFmYmEwZjVhZDhhODQzYWZiMzJh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjcsOSArMTI3LDcg
QEAgcHVibGljOgogCiAgICAgc3RhdGljIEhUTUxGb3JtRWxlbWVudCogZmluZENsb3Nlc3RGb3Jt
QW5jZXN0b3IoY29uc3QgRWxlbWVudCYpOwogICAgIAotICAgIGVudW0gY2xhc3MgSXNNdWx0aXBh
cnRGb3JtIDogYm9vbCB7IE5vLCBZZXMgfTsKLSAgICAKLSAgICBSZWZQdHI8RE9NRm9ybURhdGE+
IGNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0b3Iq
LCBJc011bHRpcGFydEZvcm0pOworICAgIFJlZlB0cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50
cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZlY3RvciopOwogICAgIAogcHJp
dmF0ZToKICAgICBIVE1MRm9ybUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBkNDEwZWRi
NDQ3NzBjNGY4YTAwMjBkYTg5MjVjOGFkN2E1ZWY2NGI1Li4wYmJhZjIyNGYyZjUxZDM2NWQ0MzVl
NGEzNGZlNGE2M2E2NjQ1N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKQEAgLTk0OCwxMCArOTQ4LDEwIEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0QWN0
aXZhdGVkU3VibWl0KGJvb2wgZmxhZykKICAgICBtX2lzQWN0aXZhdGVkU3VibWl0ID0gZmxhZzsK
IH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYg
Zm9ybURhdGEsIGJvb2wgbXVsdGlwYXJ0KQorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRG
b3JtRGF0YShET01Gb3JtRGF0YSYgZm9ybURhdGEpCiB7CiAgICAgUmVmPElucHV0VHlwZT4gcHJv
dGVjdGVkSW5wdXRUeXBlKCptX2lucHV0VHlwZSk7Ci0gICAgcmV0dXJuIG1faW5wdXRUeXBlLT5p
c0Zvcm1EYXRhQXBwZW5kYWJsZSgpICYmIG1faW5wdXRUeXBlLT5hcHBlbmRGb3JtRGF0YShmb3Jt
RGF0YSwgbXVsdGlwYXJ0KTsKKyAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmlzRm9ybURhdGFBcHBl
bmRhYmxlKCkgJiYgbV9pbnB1dFR5cGUtPmFwcGVuZEZvcm1EYXRhKGZvcm1EYXRhKTsKIH0KIAog
dm9pZCBIVE1MSW5wdXRFbGVtZW50OjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5oCmluZGV4IDMwNTA0MzNiZGZhYjA0ZDAwOGE1ZGEzNzlhMTFkNDQxMzUwMzc3YTku
LjE5OTg0NGNmYTdjNTczNWNiNGQ3MjMwZWI1ZDNkYjkwZmE1OTNmNWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC00MDYsNyArNDA2LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXNGcm9tRWxlbWVudChjb25zdCBFbGVt
ZW50JikgZmluYWw7CiAKLSAgICBib29sIGFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJiwgYm9v
bCkgZmluYWw7CisgICAgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYpIGZpbmFsOwog
CiAgICAgYm9vbCBpc1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIG1hdGNoZXNEZWZhdWx0UHNldWRvQ2xhc3MoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKaW5kZXggM2IxNjNiODQxZjVlM2Y2MDVmZWM1
NWZhZTI0YWFjMTI5NzhmNTVmNy4uOWU4ZDc2OGQyNmUwNGUxOTE3N2ZjMGJmZjI3MGQwNWM2ZmE3
Mjg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5jcHAKQEAgLTEx
Nyw3ICsxMTcsNyBAQCBTdHJpbmcgSFRNTEtleWdlbkVsZW1lbnQ6OmtleXR5cGUoKSBjb25zdAog
ICAgIHJldHVybiBpc0tleXR5cGVSU0EoKSA/ICJyc2EiX3MgOiBlbXB0eVN0cmluZygpOwogfQog
Ci1ib29sIEhUTUxLZXlnZW5FbGVtZW50OjphcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYgZm9y
bURhdGEsIGJvb2wpCitib29sIEhUTUxLZXlnZW5FbGVtZW50OjphcHBlbmRGb3JtRGF0YShET01G
b3JtRGF0YSYgZm9ybURhdGEpCiB7CiAgICAgLy8gT25seSBSU0EgaXMgc3VwcG9ydGVkIGF0IHRo
aXMgdGltZS4KICAgICBpZiAoIWlzS2V5dHlwZVJTQSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MS2V5Z2VuRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
S2V5Z2VuRWxlbWVudC5oCmluZGV4IGU1ZGQ3OTNkZjZkOGE1ZTEwZmViZDRjZjU5N2YzMWMzOGY5
NTE1OGEuLjQzODNkMTk0ZmY3YzgxMWUxNDUxZDAyNWI3M2U3MzYyZjJlMGUzY2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21TdHJpbmcmKSBmaW5hbDsKIAotICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURh
dGEmLCBib29sKSBmaW5hbDsKKyAgICBib29sIGFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJikg
ZmluYWw7CiAgICAgY29uc3QgQXRvbVN0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3QgZmlu
YWw7CiAgICAgYm9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBjb25zdCBmaW5hbCB7IHJldHVy
biBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCmlu
ZGV4IGZlMTZkNmE2ZTlkMzUwZjU1ODFiYTEzYTAxNTBlYmYzNzU0ODhiZWIuLmVjNmFmNjZkYTQz
M2ZhMWVjMDM0ODEwZmQyOTUzMDhjMDRmZDkwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9iamVjdEVsZW1lbnQuY3BwCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBIVE1MT2JqZWN0RWxl
bWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVu
dCYgbmUKICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChv
bGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogfQogCi1ib29sIEhUTUxPYmplY3RFbGVtZW50Ojph
cHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYgZm9ybURhdGEsIGJvb2wpCitib29sIEhUTUxPYmpl
Y3RFbGVtZW50OjphcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYgZm9ybURhdGEpCiB7CiAgICAg
aWYgKG5hbWUoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaAppbmRleCAxMDZlMGUwNjU0M2JhOWIyMDk1YzNjZjk2
NWI4ODc0NzcxMWUwNTI1Li5kODMzMTY5OGQzNWRiOTk2MTgxMTc5MzkwZWVmYzM5NDlmNTY4NmEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCkBAIC05OSw3ICs5OSw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc0Zvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBib29sIGlzRW51bWVyYXRhYmxlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEm
LCBib29sKSBmaW5hbDsKKyAgICBib29sIGFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJikgZmlu
YWw7CiAKICAgICBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3QgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggNzlhZDRlMjIw
NmRhODA5NDhiMmEwYjU1ZmViYjFiYjg0YzgxNjdhMC4uM2RhMmEyYjFmNDJiYzM2ZjlhNWRkM2I0
N2RkOGQyZGMwNzBhOTk5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHAKQEAgLTEwNDUsNyArMTA0NSw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnBhcnNl
TXVsdGlwbGVBdHRyaWJ1dGUoY29uc3QgQXRvbVN0cmluZyYgdmFsdWUpCiAgICAgICAgIGludmFs
aWRhdGVTdHlsZUFuZFJlbmRlcmVyc0ZvclN1YnRyZWUoKTsKIH0KIAotYm9vbCBIVE1MU2VsZWN0
RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhLCBib29sKQorYm9v
bCBIVE1MU2VsZWN0RWxlbWVudDo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRh
KQogewogICAgIGNvbnN0IEF0b21TdHJpbmcmIG5hbWUgPSB0aGlzLT5uYW1lKCk7CiAgICAgaWYg
KG5hbWUuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmlu
ZGV4IGFjMGFhOTNlODUyODY4OGU1MWE3OGM0Yjk5NTVlYjRiNDEzNTYxM2MuLjZiYjRiOGJiODdi
MzdhNTU0NDVjNjcwYjAwZDVlMDg2MTBjNDhkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBmaW5hbDsKICAgICBS
ZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxl
JiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpIGZpbmFsOwotICAgIGJvb2wgYXBwZW5kRm9y
bURhdGEoRE9NRm9ybURhdGEmLCBib29sKSBmaW5hbDsKKyAgICBib29sIGFwcGVuZEZvcm1EYXRh
KERPTUZvcm1EYXRhJikgZmluYWw7CiAKICAgICB2b2lkIHJlc2V0KCkgZmluYWw7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IGQ2Nzk3NGFlZWJk
MTc2ODJmN2M5MzdlNTA4NGRmY2E0OGQwNzc3ZWEuLmM4NWM3MzU2ZjcxOWE4Y2EyOTBkYThmNDhk
Nzc5NDJlMDk3NWIwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmNwcApAQCAtMjIyLDcgKzIyMiw3IEBAIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBIVE1M
VGV4dEFyZWFFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmCiAgICAg
cmV0dXJuIGNyZWF0ZVJlbmRlcmVyPFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lPigqdGhpcywg
V1RGTW92ZShzdHlsZSkpOwogfQogCi1ib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmFwcGVuZEZv
cm1EYXRhKERPTUZvcm1EYXRhJiBmb3JtRGF0YSwgYm9vbCkKK2Jvb2wgSFRNTFRleHRBcmVhRWxl
bWVudDo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhKQogewogICAgIGlmIChu
YW1lKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCmluZGV4IDNhN2FiOGRjOGNjNjQ5Y2EwMzcxNDc2ODA1
MjY2MzVmN2Y4Mjk5NWIuLjNiZTVhZTk2YzIzOWM1NmRhMjkyMmQ4YjViYWQ4OWY1ZTYwZWIyZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCkBAIC0xMTQsNyAr
MTE0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1ByZXNlbnRhdGlvbmFsSGludHNGb3JBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29sbGVj
dFByZXNlbnRhdGlvbmFsSGludHNGb3JBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21TdHJpbmcmLCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJikgZmluYWw7CiAgICAgUmVu
ZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYm
LCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBmaW5hbDsKLSAgICBib29sIGFwcGVuZEZvcm1E
YXRhKERPTUZvcm1EYXRhJiwgYm9vbCkgZmluYWw7CisgICAgYm9vbCBhcHBlbmRGb3JtRGF0YShE
T01Gb3JtRGF0YSYpIGZpbmFsOwogICAgIHZvaWQgcmVzZXQoKSBmaW5hbDsKICAgICBib29sIGhh
c0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBmaW5hbDsKICAgICBpbnQgZGVmYXVsdFRhYkluZGV4
KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hpZGRlbklu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5jcHAKaW5k
ZXggZDdhZjk3ZTI5MDJlMWNiY2IxMGYyN2QyMTFkNGM0OTMwZTE4MjU4YS4uMDk3ODdhN2M1Mjgx
ZjZjNGIzOTZhZjgxYTM4ZjBiNTYzNmZiZTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IaWRkZW5JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVu
SW5wdXRUeXBlLmNwcApAQCAtODksNyArODksNyBAQCB2b2lkIEhpZGRlbklucHV0VHlwZTo6c2V0
VmFsdWUoY29uc3QgU3RyaW5nJiBzYW5pdGl6ZWRWYWx1ZSwgYm9vbCwgVGV4dEZpZWxkRXZlbgog
ICAgIGVsZW1lbnQoKS0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbih2YWx1ZUF0
dHIsIHNhbml0aXplZFZhbHVlKTsKIH0KIAotYm9vbCBIaWRkZW5JbnB1dFR5cGU6OmFwcGVuZEZv
cm1EYXRhKERPTUZvcm1EYXRhJiBmb3JtRGF0YSwgYm9vbCBpc011bHRpcGFydEZvcm0pIGNvbnN0
Citib29sIEhpZGRlbklucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1E
YXRhKSBjb25zdAogewogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIGF1dG8gbmFtZSA9IGVs
ZW1lbnQoKS0+bmFtZSgpOwpAQCAtOTgsNyArOTgsNyBAQCBib29sIEhpZGRlbklucHV0VHlwZTo6
YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhLCBib29sIGlzTXVsdGlwYXJ0Rm9y
bQogICAgICAgICBmb3JtRGF0YS5hcHBlbmQobmFtZSwgU3RyaW5nIHsgZm9ybURhdGEuZW5jb2Rp
bmcoKS5uYW1lKCkgfSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICByZXR1cm4g
SW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YShmb3JtRGF0YSwgaXNNdWx0aXBhcnRGb3JtKTsKKyAg
ICByZXR1cm4gSW5wdXRUeXBlOjphcHBlbmRGb3JtRGF0YShmb3JtRGF0YSk7CiB9CiAKIGJvb2wg
SGlkZGVuSW5wdXRUeXBlOjpzaG91bGRSZXNwZWN0SGVpZ2h0QW5kV2lkdGhBdHRyaWJ1dGVzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5oCmluZGV4IDAwODhhYmIzMzFiNTdhZTY1
MmI3YmIyYjczYjIxZDEzNTE1NzEzOWIuLjk1ZWQwYzFkN2MwMDQyOWY1YTFjMWRjZGU2NTc4MWYy
ZDM1MTc0MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5JbnB1dFR5cGUuaApAQCAtNDksNyAr
NDksNyBAQCBwcml2YXRlOgogICAgIGJvb2wgc3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1
dGUoKSBvdmVycmlkZTsKICAgICBib29sIHNob3VsZFJlc3BlY3RIZWlnaHRBbmRXaWR0aEF0dHJp
YnV0ZXMoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYsIGJvb2ws
IFRleHRGaWVsZEV2ZW50QmVoYXZpb3IpIG92ZXJyaWRlOwotICAgIGJvb2wgYXBwZW5kRm9ybURh
dGEoRE9NRm9ybURhdGEmLCBib29sKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGFwcGVuZEZv
cm1EYXRhKERPTUZvcm1EYXRhJikgY29uc3Qgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCmluZGV4IDAzNTgw
N2YwMzU0ODZjYjBmZmZkM2VlNWZjMDE1ZGRhZDBhMzhiYjQuLjFjODA2Yjc5OTAwYWJjYTk2YzFl
ZTQzNzNiOTUxYWEwZDQwZDRkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUu
Y3BwCkBAIC01NSw3ICs1NSw3IEBAIGJvb2wgSW1hZ2VJbnB1dFR5cGU6OmlzRm9ybURhdGFBcHBl
bmRhYmxlKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJbWFnZUlucHV0VHlw
ZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhLCBib29sKSBjb25zdAorYm9v
bCBJbWFnZUlucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhKSBj
b25zdAogewogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIGlmICghZWxlbWVudCgpLT5pc0Fj
dGl2YXRlZFN1Ym1pdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlu
cHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0VHlwZS5oCmluZGV4IDRj
OTFlMDkxZjVkZjdlMmFmYWZjYjgzYjc0MjNkZjE0OWI0YTE3ZDguLjMwNzA3MmY4YmE3NzZlOTMz
N2U3YWY0M2NiN2ZmMTk4ZjVlY2FmZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlSW5wdXRUeXBl
LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBjb25zdCBBdG9tU3Ry
aW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlzRm9ybURhdGFB
cHBlbmRhYmxlKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3Jt
RGF0YSYsIGJvb2wpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9y
bURhdGEmKSBjb25zdCBmaW5hbDsKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3JlYXRl
SW5wdXRSZW5kZXJlcihSZW5kZXJTdHlsZSYmKSBmaW5hbDsKICAgICB2b2lkIGhhbmRsZURPTUFj
dGl2YXRlRXZlbnQoRXZlbnQmKSBmaW5hbDsKICAgICB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29u
c3QgUXVhbGlmaWVkTmFtZSYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCmluZGV4
IDI5MGMyZDY0NWNmOTVlODBmZDM4YzQxMWI4YWQyZTIwY2U4YTgyNmUuLmViMGU4NDFhZDlmYzAw
YTYyYTJkOTQ2MzBjZmI3MTEwMGY0ZTA2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAK
QEAgLTE5Niw3ICsxOTYsNyBAQCBib29sIElucHV0VHlwZTo6aXNGb3JtRGF0YUFwcGVuZGFibGUo
KSBjb25zdAogICAgIHJldHVybiAhZWxlbWVudCgpLT5uYW1lKCkuaXNFbXB0eSgpOwogfQogCi1i
b29sIElucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhLCBib29s
KSBjb25zdAorYm9vbCBJbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhKERPTUZvcm1EYXRhJiBmb3Jt
RGF0YSkgY29uc3QKIHsKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICAvLyBBbHdheXMgc3Vj
Y2Vzc2Z1bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IDE5ZDgwYzQxYTFmYzZlMWEwYWJk
ZWQxM2UwNzgxNmMyNTRkNmVjYjguLmRhMWRlYmNiNmI5ZmMwNTJmZDYzYjU0Yjk2MjBjMjBhNzA0
MzMyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMjEzLDcgKzIxMyw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIEZvcm1Db250cm9sU3RhdGUgc2F2ZUZvcm1Db250cm9sU3RhdGUoKSBj
b25zdDsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZUZvcm1Db250cm9sU3RhdGUoY29uc3QgRm9y
bUNvbnRyb2xTdGF0ZSYpOwogICAgIHZpcnR1YWwgYm9vbCBpc0Zvcm1EYXRhQXBwZW5kYWJsZSgp
IGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYsIGJv
b2wgbXVsdGlwYXJ0KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9N
Rm9ybURhdGEmKSBjb25zdDsKIAogICAgIC8vIERPTSBwcm9wZXJ0eSBmdW5jdGlvbnMuCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAppbmRleCBhMDg2MDRmMDRmNWNmMTgx
YTZiN2U1YzYyMTgxODRkNDM0ZjdkODAxLi5kY2E3NWM4MjM3ZmQxOWQ4MTZmMjdiYWNlMDZkNDNh
MGViYTExNTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCkBAIC00
Nyw3ICs0Nyw3IEBAIGNvbnN0IEF0b21TdHJpbmcmIFN1Ym1pdElucHV0VHlwZTo6Zm9ybUNvbnRy
b2xUeXBlKCkgY29uc3QKICAgICByZXR1cm4gSW5wdXRUeXBlTmFtZXM6OnN1Ym1pdCgpOwogfQog
Ci1ib29sIFN1Ym1pdElucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1E
YXRhLCBib29sKSBjb25zdAorYm9vbCBTdWJtaXRJbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhKERP
TUZvcm1EYXRhJiBmb3JtRGF0YSkgY29uc3QKIHsKICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAg
ICBpZiAoIWVsZW1lbnQoKS0+aXNBY3RpdmF0ZWRTdWJtaXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1
Ym1pdElucHV0VHlwZS5oCmluZGV4IDMzYzgzZTU0ZjZmNzM3MTZiNzk1ZWUyZGY0OGRkMmRjYTE3
NDdlY2EuLmU5NzhhMmRiZWNkODYxNzBkOWUxMzdhYzE2NGUzMzg0ZWNjYWM2NzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAK
IHByaXZhdGU6CiAgICAgY29uc3QgQXRvbVN0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Qg
b3ZlcnJpZGU7Ci0gICAgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0YSYsIGJvb2wpIGNv
bnN0IG92ZXJyaWRlOworICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIHN1cHBvcnRzUmVxdWlyZWQoKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2b2lkIGhhbmRsZURPTUFjdGl2YXRlRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKICAgICBi
b29sIGNhbkJlU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCmluZGV4IGY4Zjg5NTNiMGExMDQ2NjQ1NTU5
YWIxNTBmYzhhYWRkNTY0ZDA4NzIuLjA0YWNhMTFkZTgwYzJiMWYyNTk0NzBhOTA4OTY1NDc1ZThk
YmVkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAg
LTYzNCw5ICs2MzQsOSBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6dXBkYXRlUGxhY2Vob2xk
ZXJUZXh0KCkKICAgICBtX3BsYWNlaG9sZGVyLT5zZXRJbm5lclRleHQocGxhY2Vob2xkZXJUZXh0
KTsKIH0KIAotYm9vbCBUZXh0RmllbGRJbnB1dFR5cGU6OmFwcGVuZEZvcm1EYXRhKERPTUZvcm1E
YXRhJiBmb3JtRGF0YSwgYm9vbCBtdWx0aXBhcnQpIGNvbnN0Citib29sIFRleHRGaWVsZElucHV0
VHlwZTo6YXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmIGZvcm1EYXRhKSBjb25zdAogewotICAg
IElucHV0VHlwZTo6YXBwZW5kRm9ybURhdGEoZm9ybURhdGEsIG11bHRpcGFydCk7CisgICAgSW5w
dXRUeXBlOjphcHBlbmRGb3JtRGF0YShmb3JtRGF0YSk7CiAgICAgQVNTRVJUKGVsZW1lbnQoKSk7
CiAgICAgYXV0byYgZGlybmFtZUF0dHJWYWx1ZSA9IGVsZW1lbnQoKS0+YXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihkaXJuYW1lQXR0cik7CiAgICAgaWYgKCFkaXJuYW1lQXR0clZhbHVl
LmlzTnVsbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1
dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKaW5kZXgg
NjU1ZGE3NzdlZWZmNDA5N2Q5MzQyZWI2MmNhY2NmMmM1MWY2MDAxMy4uYjUxYTk3ZjBiZDAzOTE0
MDFhYTlmYjA1ZGNjOWE3ZmUxODAwNWVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9UZXh0RmllbGRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVs
ZElucHV0VHlwZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRS
ZXNwZWN0TGlzdEF0dHJpYnV0ZSgpIG92ZXJyaWRlOwogICAgIEhUTUxFbGVtZW50KiBwbGFjZWhv
bGRlckVsZW1lbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZVBsYWNlaG9sZGVyVGV4
dCgpIGZpbmFsOwotICAgIGJvb2wgYXBwZW5kRm9ybURhdGEoRE9NRm9ybURhdGEmLCBib29sIG11
bHRpcGFydCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBhcHBlbmRGb3JtRGF0YShET01Gb3JtRGF0
YSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc3VidHJlZUhhc0NoYW5nZWQoKSBmaW5hbDsKICAg
ICB2b2lkIGNhcHNMb2NrU3RhdGVNYXlIYXZlQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZvaWQgdXBk
YXRlQXV0b0ZpbGxCdXR0b24oKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1p
c3Npb24uY3BwCmluZGV4IGY1ZTIwYzM5ZTBjZTRlZmYwNjY2NTE5YTQ2OGY4MjRiOTI0OTkwMjYu
LjZhMGEwMGU3YmZjN2FkZDU2NTIxMzgyNzdkM2YyMmNlMzFiMDJhZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIFJlZjxGb3Jt
U3VibWlzc2lvbj4gRm9ybVN1Ym1pc3Npb246OmNyZWF0ZShIVE1MRm9ybUVsZW1lbnQmIGZvcm0s
IEhUTUxGb3JtQ29udHJvCiAgICAgYXV0byBkb21Gb3JtRGF0YSA9IERPTUZvcm1EYXRhOjpjcmVh
dGUoZGF0YUVuY29kaW5nLmVuY29kaW5nRm9yRm9ybVN1Ym1pc3Npb25PclVSTFBhcnNpbmcoKSk7
CiAgICAgU3RyaW5nUGFpclZlY3RvciBmb3JtVmFsdWVzOwogCi0gICAgYXV0byByZXN1bHQgPSBm
b3JtLmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGRvbUZvcm1EYXRhKSwgJmZvcm1WYWx1ZXMs
IGlzTXVsdGlQYXJ0Rm9ybSA/IEhUTUxGb3JtRWxlbWVudDo6SXNNdWx0aXBhcnRGb3JtOjpZZXMg
OiBIVE1MRm9ybUVsZW1lbnQ6OklzTXVsdGlwYXJ0Rm9ybTo6Tm8pOworICAgIGF1dG8gcmVzdWx0
ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3QoV1RGTW92ZShkb21Gb3JtRGF0YSksICZmb3JtVmFs
dWVzKTsKICAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQpOwogICAgIGRvbUZvcm1EYXRhID0gcmVz
dWx0LnJlbGVhc2VOb25OdWxsKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>