<?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>216927</bug_id>
          
          <creation_ts>2020-09-24 05:04:13 -0700</creation_ts>
          <short_desc>[GTK][WPE] Move proxy settings from WebKitContext to WebKitWebsiteDataManager</short_desc>
          <delta_ts>2020-10-08 19:54:13 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=217504</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216041</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691473</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-09-24 05:04:13 -0700</bug_when>
    <thetext>Make it per session instead of global to the network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691475</commentid>
    <comment_count>1</comment_count>
      <attachid>409561</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-09-24 05:08:23 -0700</bug_when>
    <thetext>Created attachment 409561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691476</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-09-24 05:08:56 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691542</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-24 09:15:00 -0700</bug_when>
    <thetext>Committed r267534: &lt;https://trac.webkit.org/changeset/267534&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409561.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691616</commentid>
    <comment_count>4</comment_count>
      <attachid>409561</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-09-24 11:40:16 -0700</bug_when>
    <thetext>Comment on attachment 409561
Patch

I know this has landed already, but I still want to explicitly
write r=me here (the changes look good), because we have the
agreement of having two reviewers agree on API changes 👍️</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409561</attachid>
            <date>2020-09-24 05:08:23 -0700</date>
            <delta_ts>2020-09-24 09:15:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-proxy-settings-session.diff</filename>
            <type>text/plain</type>
            <size>48632</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiODU1ZjdiODJlMjIuLjY0ZGQ1YTA0Njk1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDIwLTA5LTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1vdmUgcHJveHkgc2V0dGluZ3MgZnJv
bSBXZWJLaXRDb250ZXh0IHRvIFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTI3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBwcm94eVNldHRpbmdzIGEg
bWVtYmVyIG9mIFNvdXBOZXR3b3JrU2Vzc2lvbiwgaW5zdGVhZCBvZiBiZWluZyBnbG9iYWwuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNvdXBOZXR3b3JrU2Vzc2lvbjo6U291cE5ldHdvcmtTZXNzaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJveHlTZXR0aW5n
cyk6CisgICAgICAgIChXZWJDb3JlOjpwcm94eVNldHRpbmdzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNvdXBOZXR3b3JrU2Vzc2lvbjo6c2V0dXBQcm94eSk6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oOgorCiAyMDIw
LTA5LTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChpT1MvU2FmYXJpIDE0KTogTWVkaWFSZWNvcmRlciBwcm9kdWNlcyBpbnZhbGlkIHZp
ZGVvIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvU291cE5ldHdvcmtTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uY3BwCmluZGV4IGM4OWY4MDUxZjUzZC4uNTlkMTFk
Y2Q4MzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
U291cE5ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1
ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgiCiAjaW5jbHVkZSAiR1VuaXF1ZVB0clNvdXAu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVkZSAiU291cE5ldHdvcmtQcm94eVNldHRp
bmdzLmgiCiAjaW5jbHVkZSA8Z2xpYi9nc3RkaW8uaD4KICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAu
aD4KICNpbmNsdWRlIDxwYWwvY3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgpAQCAtNTAsMTIgKzQ5LDYg
QEAgc3RhdGljIENTdHJpbmcmIGluaXRpYWxBY2NlcHRMYW5ndWFnZXMoKQogICAgIHJldHVybiBz
dG9yYWdlLmdldCgpOwogfQogCi1zdGF0aWMgU291cE5ldHdvcmtQcm94eVNldHRpbmdzJiBwcm94
eVNldHRpbmdzKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U291cE5ldHdvcmtQcm94
eVNldHRpbmdzPiBzZXR0aW5nczsKLSAgICByZXR1cm4gc2V0dGluZ3MuZ2V0KCk7Ci19Ci0KICNp
ZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogaW5saW5lIHN0YXRpYyB2
b2lkIHNvdXBMb2dQcmludGVyKFNvdXBMb2dnZXIqLCBTb3VwTG9nZ2VyTG9nTGV2ZWwsIGNoYXIg
ZGlyZWN0aW9uLCBjb25zdCBjaGFyKiBkYXRhLCBncG9pbnRlcikKIHsKQEAgLTE0Miw4ICsxMzUs
NiBAQCBTb3VwTmV0d29ya1Nlc3Npb246OlNvdXBOZXR3b3JrU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQpCiAgICAgICAgICAgICBudWxscHRyKTsKICAgICB9CiAKLSAgICBpZiAocHJv
eHlTZXR0aW5ncygpLm1vZGUgIT0gU291cE5ldHdvcmtQcm94eVNldHRpbmdzOjpNb2RlOjpEZWZh
dWx0KQotICAgICAgICBzZXR1cFByb3h5KCk7CiAgICAgc2V0dXBMb2dnZXIoKTsKIH0KIApAQCAt
Mjc3LDEwICsyNjgsMTIgQEAgdm9pZCBTb3VwTmV0d29ya1Nlc3Npb246OmNsZWFyT2xkU291cENh
Y2hlKGNvbnN0IFN0cmluZyYgY2FjaGVEaXJlY3RvcnkpCiAgICAgfQogfQogCi12b2lkIFNvdXBO
ZXR3b3JrU2Vzc2lvbjo6c2V0dXBQcm94eSgpCit2b2lkIFNvdXBOZXR3b3JrU2Vzc2lvbjo6c2V0
UHJveHlTZXR0aW5ncyhTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MmJiBzZXR0aW5ncykKIHsKKyAg
ICBtX3Byb3h5U2V0dGluZ3MgPSBXVEZNb3ZlKHNldHRpbmdzKTsKKwogICAgIEdSZWZQdHI8R1By
b3h5UmVzb2x2ZXI+IHJlc29sdmVyOwotICAgIHN3aXRjaCAocHJveHlTZXR0aW5ncygpLm1vZGUp
IHsKKyAgICBzd2l0Y2ggKG1fcHJveHlTZXR0aW5ncy5tb2RlKSB7CiAgICAgY2FzZSBTb3VwTmV0
d29ya1Byb3h5U2V0dGluZ3M6Ok1vZGU6OkRlZmF1bHQ6IHsKICAgICAgICAgR1JlZlB0cjxHUHJv
eHlSZXNvbHZlcj4gY3VycmVudFJlc29sdmVyOwogICAgICAgICBnX29iamVjdF9nZXQobV9zb3Vw
U2Vzc2lvbi5nZXQoKSwgU09VUF9TRVNTSU9OX1BST1hZX1JFU09MVkVSLCAmY3VycmVudFJlc29s
dmVyLm91dFB0cigpLCBudWxscHRyKTsKQEAgLTI5NSwxMSArMjg4LDExIEBAIHZvaWQgU291cE5l
dHdvcmtTZXNzaW9uOjpzZXR1cFByb3h5KCkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTb3Vw
TmV0d29ya1Byb3h5U2V0dGluZ3M6Ok1vZGU6OkN1c3RvbToKICAgICAgICAgcmVzb2x2ZXIgPSBh
ZG9wdEdSZWYoZ19zaW1wbGVfcHJveHlfcmVzb2x2ZXJfbmV3KG51bGxwdHIsIG51bGxwdHIpKTsK
LSAgICAgICAgaWYgKCFwcm94eVNldHRpbmdzKCkuZGVmYXVsdFByb3h5VVJMLmlzTnVsbCgpKQot
ICAgICAgICAgICAgZ19zaW1wbGVfcHJveHlfcmVzb2x2ZXJfc2V0X2RlZmF1bHRfcHJveHkoR19T
SU1QTEVfUFJPWFlfUkVTT0xWRVIocmVzb2x2ZXIuZ2V0KCkpLCBwcm94eVNldHRpbmdzKCkuZGVm
YXVsdFByb3h5VVJMLmRhdGEoKSk7Ci0gICAgICAgIGlmIChwcm94eVNldHRpbmdzKCkuaWdub3Jl
SG9zdHMpCi0gICAgICAgICAgICBnX3NpbXBsZV9wcm94eV9yZXNvbHZlcl9zZXRfaWdub3JlX2hv
c3RzKEdfU0lNUExFX1BST1hZX1JFU09MVkVSKHJlc29sdmVyLmdldCgpKSwgcHJveHlTZXR0aW5n
cygpLmlnbm9yZUhvc3RzLmdldCgpKTsKLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBpdGVyIDog
cHJveHlTZXR0aW5ncygpLnByb3h5TWFwKQorICAgICAgICBpZiAoIW1fcHJveHlTZXR0aW5ncy5k
ZWZhdWx0UHJveHlVUkwuaXNOdWxsKCkpCisgICAgICAgICAgICBnX3NpbXBsZV9wcm94eV9yZXNv
bHZlcl9zZXRfZGVmYXVsdF9wcm94eShHX1NJTVBMRV9QUk9YWV9SRVNPTFZFUihyZXNvbHZlci5n
ZXQoKSksIG1fcHJveHlTZXR0aW5ncy5kZWZhdWx0UHJveHlVUkwuZGF0YSgpKTsKKyAgICAgICAg
aWYgKG1fcHJveHlTZXR0aW5ncy5pZ25vcmVIb3N0cykKKyAgICAgICAgICAgIGdfc2ltcGxlX3By
b3h5X3Jlc29sdmVyX3NldF9pZ25vcmVfaG9zdHMoR19TSU1QTEVfUFJPWFlfUkVTT0xWRVIocmVz
b2x2ZXIuZ2V0KCkpLCBtX3Byb3h5U2V0dGluZ3MuaWdub3JlSG9zdHMuZ2V0KCkpOworICAgICAg
ICBmb3IgKGNvbnN0IGF1dG8mIGl0ZXIgOiBtX3Byb3h5U2V0dGluZ3MucHJveHlNYXApCiAgICAg
ICAgICAgICBnX3NpbXBsZV9wcm94eV9yZXNvbHZlcl9zZXRfdXJpX3Byb3h5KEdfU0lNUExFX1BS
T1hZX1JFU09MVkVSKHJlc29sdmVyLmdldCgpKSwgaXRlci5rZXkuZGF0YSgpLCBpdGVyLnZhbHVl
LmRhdGEoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTMwOCwxMSArMzAxLDYgQEAgdm9p
ZCBTb3VwTmV0d29ya1Nlc3Npb246OnNldHVwUHJveHkoKQogICAgIHNvdXBfc2Vzc2lvbl9hYm9y
dChtX3NvdXBTZXNzaW9uLmdldCgpKTsKIH0KIAotdm9pZCBTb3VwTmV0d29ya1Nlc3Npb246OnNl
dFByb3h5U2V0dGluZ3MoY29uc3QgU291cE5ldHdvcmtQcm94eVNldHRpbmdzJiBzZXR0aW5ncykK
LXsKLSAgICBwcm94eVNldHRpbmdzKCkgPSBzZXR0aW5nczsKLX0KLQogdm9pZCBTb3VwTmV0d29y
a1Nlc3Npb246OnNldEluaXRpYWxBY2NlcHRMYW5ndWFnZXMoY29uc3QgQ1N0cmluZyYgbGFuZ3Vh
Z2VzKQogewogICAgIGluaXRpYWxBY2NlcHRMYW5ndWFnZXMoKSA9IGxhbmd1YWdlczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nl
c3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29y
a1Nlc3Npb24uaAppbmRleCBkMDZkNzdlZjQxZmQuLmQwODJiNzAyMmFlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nl
c3Npb24uaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIlNv
dXBOZXR3b3JrUHJveHlTZXR0aW5ncy5oIgogI2luY2x1ZGUgPGdpby9naW8uaD4KICNpbmNsdWRl
IDxnbGliLW9iamVjdC5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KQEAgLTQzLDcgKzQ0
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiBjbGFz
cyBSZXNvdXJjZUVycm9yOwotc3RydWN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5nczsKIAogY2xh
c3MgU291cE5ldHdvcmtTZXNzaW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTb3VwTmV0
d29ya1Nlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTYwLDggKzYwLDcgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgY2xlYXJPbGRTb3VwQ2FjaGUoY29uc3QgU3RyaW5n
JiBjYWNoZURpcmVjdG9yeSk7CiAKLSAgICBzdGF0aWMgdm9pZCBzZXRQcm94eVNldHRpbmdzKGNv
bnN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyYpOwotICAgIHZvaWQgc2V0dXBQcm94eSgpOwor
ICAgIHZvaWQgc2V0UHJveHlTZXR0aW5ncyhTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MmJik7CiAK
ICAgICBzdGF0aWMgdm9pZCBzZXRJbml0aWFsQWNjZXB0TGFuZ3VhZ2VzKGNvbnN0IENTdHJpbmcm
KTsKICAgICB2b2lkIHNldEFjY2VwdExhbmd1YWdlcyhjb25zdCBDU3RyaW5nJik7CkBAIC04MCw2
ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgR1JlZlB0cjxTb3VwU2Vzc2lvbj4gbV9zb3VwU2Vzc2lv
bjsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBib29sIG1faWdub3JlVExT
RXJyb3JzIHsgZmFsc2UgfTsKKyAgICBTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MgbV9wcm94eVNl
dHRpbmdzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzZGI3NTY4
MmNhMTYuLmQ3NDdiYzFhZjFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAyMC0wOS0y
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS11bV1BFXSBNb3ZlIHByb3h5IHNldHRpbmdzIGZyb20gV2ViS2l0Q29udGV4dCB0byBXZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNjkyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgcHJveHkgc2V0dGluZ3MgcGVyIHNlc3Npb24gaW5zdGVhZCBvZiBn
bG9iYWwgdG8gdGhlIG5ldHdvcmsgcHJvY2Vzcy4gVGhlIHdlYiBjb250ZXh0IEFQSSBub3cgc2lt
cGx5CisgICAgICAgIGZvcndhcmRzIHRoZSByZXF1ZXN0IHRvIHRoZSB3ZWJzaXRlIGRhdGEgbWFu
YWdlci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lv
bkNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9u
Q3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNldE5ldHdvcmtQcm94eVNldHRpbmdzKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uU291cDo6TmV0d29ya1Nlc3Npb25Tb3VwKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb25Tb3VwOjpzZXRQcm94eVNldHRpbmdzKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5oOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAg
ICh3ZWJraXRBdXRvbWF0aW9uU2Vzc2lvbkNyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9jb250ZXh0
X3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3Q29uc3RydWN0ZWQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3By
b3h5X3NldHRpbmdzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROZXR3b3Jr
UHJveHlTZXR0aW5ncy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNv
bnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1h
bmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4w
LXNlY3Rpb25zLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXROZXR3b3Jr
UHJveHlTZXR0aW5ncy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNv
bnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0YU1h
bmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlv
bnMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6Om5ldHdvcmtQcm94eVNldHRpbmdzIGNvbnN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvc291cC9XZWJzaXRlRGF0YVN0b3JlU291cC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnBsYXRmb3JtU2V0TmV0d29ya1Bh
cmFtZXRlcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpzZXROZXR3b3Jr
UHJveHlTZXR0aW5ncyk6CisgICAgICAgICogVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xH
TGliLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlh
bGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29s
U291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRp
YWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpz
ZXROZXR3b3JrUHJveHlTZXR0aW5ncyk6IERlbGV0ZWQuCisKIDIwMjAtMDktMjQgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04o
cjI2NzUwMik6IFtHVEtdW1dQRV0gZXBoZW1lcmFsIFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciBp
Z25vcmVzIFRMUyBlcnJvcnMgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGRmNGZjZmQ4NGVjYi4uNmFkM2Q2OTlhODkxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC00
NDcsNyArNDQ3LDcgQEAgcHJpdmF0ZToKICNpZiBVU0UoU09VUCkKICAgICB2b2lkIHNldElnbm9y
ZVRMU0Vycm9ycyhQQUw6OlNlc3Npb25JRCwgYm9vbCk7CiAgICAgdm9pZCB1c2VyUHJlZmVycmVk
TGFuZ3VhZ2VzQ2hhbmdlZChjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwotICAgIHZvaWQgc2V0TmV0
d29ya1Byb3h5U2V0dGluZ3MoY29uc3QgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdz
Jik7CisgICAgdm9pZCBzZXROZXR3b3JrUHJveHlTZXR0aW5ncyhQQUw6OlNlc3Npb25JRCwgV2Vi
Q29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzJiYpOwogICAgIHZvaWQgc2V0UGVyc2lzdGVu
dENyZWRlbnRpYWxTdG9yYWdlRW5hYmxlZChQQUw6OlNlc3Npb25JRCwgYm9vbCk7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MubWVzc2FnZXMuaW4KaW5kZXggODRlMzM0MDM0YzMzLi45OWFkODQwYTNmODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtMzAsNyArMzAsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdh
Y3lSZWNlaXZlciB7CiAjaWYgVVNFKFNPVVApCiAgICAgU2V0SWdub3JlVExTRXJyb3JzKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiAgICAgVXNlclByZWZl
cnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzKQotICAgIFNldE5l
dHdvcmtQcm94eVNldHRpbmdzKHN0cnVjdCBXZWJDb3JlOjpTb3VwTmV0d29ya1Byb3h5U2V0dGlu
Z3Mgc2V0dGluZ3MpCisgICAgU2V0TmV0d29ya1Byb3h5U2V0dGluZ3MoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBzdHJ1Y3QgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIHNldHRp
bmdzKQogICAgIFByZWZldGNoRE5TKFN0cmluZyBob3N0bmFtZSkKICAgICBTZXRQZXJzaXN0ZW50
Q3JlZGVudGlhbFN0b3JhZ2VFbmFibGVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBl
bmFibGVkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDBm
ODRmZDZkZTc3OC4uY2M1YzQ0YmNkZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcApAQCAtNTksNyArNTksNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogI2lmIFVTRShTT1VQKQog
ICAgIGVuY29kZXIgPDwgY29va2llQWNjZXB0UG9saWN5OwogICAgIGVuY29kZXIgPDwgbGFuZ3Vh
Z2VzOwotICAgIGVuY29kZXIgPDwgcHJveHlTZXR0aW5nczsKICNlbmRpZgogCiAgICAgZW5jb2Rl
ciA8PCB1cmxTY2hlbWVzUmVnaXN0ZXJlZEFzU2VjdXJlOwpAQCAtMTI2LDggKzEyNSw2IEBAIGJv
b2wgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIE5ldHdvcmtQcm9jCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5sYW5ndWFnZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJveHlTZXR0aW5ncykpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKICNlbmRpZgogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudXJs
U2NoZW1lc1JlZ2lzdGVyZWRBc1NlY3VyZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
aW5kZXggNzc2MjE4MmNjMzQ4Li5kZmYzZTVmZjA0YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2lmIFVTRShTT1VQKQogI2luY2x1ZGUgPFdl
YkNvcmUvSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvU291cE5l
dHdvcmtQcm94eVNldHRpbmdzLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIElQQyB7CkBAIC03Niw3
ICs3NSw2IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYg
VVNFKFNPVVApCiAgICAgV2ViQ29yZTo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSBjb29raWVBY2Nl
cHRQb2xpY3kgeyBXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQg
fTsKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7Ci0gICAgV2ViQ29yZTo6U291cE5ldHdv
cmtQcm94eVNldHRpbmdzIHByb3h5U2V0dGluZ3M7CiAjZW5kaWYKIAogICAgIFZlY3RvcjxTdHJp
bmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkQXNTZWN1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCmluZGV4IDc4ZWYwOTlhNGYyYS4uYTlmMWNkN2ZlYTUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9u
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNjQsNiArNjQsNyBAQCB2b2lkIE5ldHdvcmtTZXNz
aW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlOwogICAgIGVuY29k
ZXIgPDwgcGVyc2lzdGVudENyZWRlbnRpYWxTdG9yYWdlRW5hYmxlZDsKICAgICBlbmNvZGVyIDw8
IGlnbm9yZVRMU0Vycm9yczsKKyAgICBlbmNvZGVyIDw8IHByb3h5U2V0dGluZ3M7CiAjZW5kaWYK
ICNpZiBVU0UoQ1VSTCkKICAgICBlbmNvZGVyIDw8IGNvb2tpZVBlcnNpc3RlbnRTdG9yYWdlRmls
ZTsKQEAgLTE4Nyw2ICsxODgsMTEgQEAgT3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlvblBh
cmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWMKICAgICBkZWNv
ZGVyID4+IGlnbm9yZVRMU0Vycm9yczsKICAgICBpZiAoIWlnbm9yZVRMU0Vycm9ycykKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPFdlYkNvcmU6OlNvdXBOZXR3
b3JrUHJveHlTZXR0aW5ncz4gcHJveHlTZXR0aW5nczsKKyAgICBkZWNvZGVyID4+IHByb3h5U2V0
dGluZ3M7CisgICAgaWYgKCFwcm94eVNldHRpbmdzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogI2VuZGlmCiAKICNpZiBVU0UoQ1VSTCkKQEAgLTMwNiw2ICszMTIsNyBAQCBPcHRpb25h
bDxOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycz4gTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM6OmRlYwogICAgICAgICAsIFdURk1vdmUoKmNvb2tpZVBlcnNpc3RlbnRTdG9y
YWdlVHlwZSkKICAgICAgICAgLCBXVEZNb3ZlKCpwZXJzaXN0ZW50Q3JlZGVudGlhbFN0b3JhZ2VF
bmFibGVkKQogICAgICAgICAsIFdURk1vdmUoKmlnbm9yZVRMU0Vycm9ycykKKyAgICAgICAgLCBX
VEZNb3ZlKCpwcm94eVNldHRpbmdzKQogI2VuZGlmCiAjaWYgVVNFKENVUkwpCiAgICAgICAgICwg
V1RGTW92ZSgqY29va2llUGVyc2lzdGVudFN0b3JhZ2VGaWxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGZiMGVmMTZkNGI1NS4uOWViYTA3YmQ3Y2YwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBVU0UoU09VUCkKICNp
bmNsdWRlICJTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlLmgiCisjaW5jbHVkZSA8V2Vi
Q29yZS9Tb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MuaD4KICNlbmRpZgogCiAjaWYgVVNFKENVUkwp
CkBAIC03Niw2ICs3Nyw3IEBAIHN0cnVjdCBOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVy
cyB7CiAgICAgU291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSBjb29raWVQZXJzaXN0ZW50
U3RvcmFnZVR5cGUgeyBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlOjpUZXh0IH07CiAg
ICAgYm9vbCBwZXJzaXN0ZW50Q3JlZGVudGlhbFN0b3JhZ2VFbmFibGVkIHsgdHJ1ZSB9OwogICAg
IGJvb2wgaWdub3JlVExTRXJyb3JzIHsgZmFsc2UgfTsKKyAgICBXZWJDb3JlOjpTb3VwTmV0d29y
a1Byb3h5U2V0dGluZ3MgcHJveHlTZXR0aW5nczsKICNlbmRpZgogI2lmIFVTRShDVVJMKQogICAg
IFN0cmluZyBjb29raWVQZXJzaXN0ZW50U3RvcmFnZUZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCmluZGV4
IDY0YjFhNzcyNmNlNC4uYTIxMjg0NTczM2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcApAQCAtMTI1LDkg
KzEyNSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFu
Z2VkKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsYW5ndWFnCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewotICAgIGlmIChwYXJhbWV0ZXJzLnByb3h5
U2V0dGluZ3MubW9kZSAhPSBTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3M6Ok1vZGU6OkRlZmF1bHQp
Ci0gICAgICAgIHNldE5ldHdvcmtQcm94eVNldHRpbmdzKHBhcmFtZXRlcnMucHJveHlTZXR0aW5n
cyk7Ci0KICAgICBHUmVmUHRyPEdSZXNvbHZlcj4gY2FjaGVkUmVzb2x2ZXIgPSBhZG9wdEdSZWYo
d2Via2l0Q2FjaGVkUmVzb2x2ZXJOZXcoYWRvcHRHUmVmKGdfcmVzb2x2ZXJfZ2V0X2RlZmF1bHQo
KSkpKTsKICAgICBnX3Jlc29sdmVyX3NldF9kZWZhdWx0KGNhY2hlZFJlc29sdmVyLmdldCgpKTsK
IApAQCAtMTY4LDEyICsxNjUsMTAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1UZXJt
aW5hdGUoKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldE5ldHdvcmtQcm94eVNldHRpbmdzKGNvbnN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyYg
c2V0dGluZ3MpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXROZXR3b3JrUHJveHlTZXR0aW5ncyhQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyYmIHNldHRp
bmdzKQogewotICAgIFNvdXBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJveHlTZXR0aW5ncyhzZXR0aW5n
cyk7Ci0gICAgZm9yRWFjaE5ldHdvcmtTZXNzaW9uKFtdKGNvbnN0IGF1dG8mIHNlc3Npb24pIHsK
LSAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgTmV0d29ya1Nlc3Npb25Tb3VwJj4oc2Vzc2lvbiku
c291cE5ldHdvcmtTZXNzaW9uKCkuc2V0dXBQcm94eSgpOwotICAgIH0pOworICAgIGlmIChhdXRv
KiBzZXNzaW9uID0gbmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKSkKKyAgICAgICAgc3RhdGljX2Nh
c3Q8TmV0d29ya1Nlc3Npb25Tb3VwJj4oKnNlc3Npb24pLnNldFByb3h5U2V0dGluZ3MoV1RGTW92
ZShzZXR0aW5ncykpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRQZXJzaXN0ZW50Q3Jl
ZGVudGlhbFN0b3JhZ2VFbmFibGVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCBlbmFi
bGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtTZXNzaW9uU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0
d29ya1Nlc3Npb25Tb3VwLmNwcAppbmRleCAyZWYzZmNiYmY5ODkuLjY2ZmYzNmVlYzJkYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9u
U291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtT
ZXNzaW9uU291cC5jcHAKQEAgLTQ5LDYgKzQ5LDkgQEAgTmV0d29ya1Nlc3Npb25Tb3VwOjpOZXR3
b3JrU2Vzc2lvblNvdXAoTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBOZXR3b3JrU2UK
IAogICAgIHNldElnbm9yZVRMU0Vycm9ycyhwYXJhbWV0ZXJzLmlnbm9yZVRMU0Vycm9ycyk7CiAK
KyAgICBpZiAocGFyYW1ldGVycy5wcm94eVNldHRpbmdzLm1vZGUgIT0gU291cE5ldHdvcmtQcm94
eVNldHRpbmdzOjpNb2RlOjpEZWZhdWx0KQorICAgICAgICBzZXRQcm94eVNldHRpbmdzKFdURk1v
dmUocGFyYW1ldGVycy5wcm94eVNldHRpbmdzKSk7CisKICAgICBpZiAoIXBhcmFtZXRlcnMuY29v
a2llUGVyc2lzdGVudFN0b3JhZ2VQYXRoLmlzRW1wdHkoKSkKICAgICAgICAgc2V0Q29va2llUGVy
c2lzdGVudFN0b3JhZ2UocGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVBhdGgsIHBh
cmFtZXRlcnMuY29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKTsKICAgICBlbHNlCkBAIC0xMzYs
NCArMTM5LDkgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvblNvdXA6OnNldElnbm9yZVRMU0Vycm9ycyhi
b29sIGlnbm9yZVRMU0Vycm9ycykKICAgICBtX25ldHdvcmtTZXNzaW9uLT5zZXRJZ25vcmVUTFNF
cnJvcnMoaWdub3JlVExTRXJyb3JzKTsKIH0KIAordm9pZCBOZXR3b3JrU2Vzc2lvblNvdXA6OnNl
dFByb3h5U2V0dGluZ3MoU291cE5ldHdvcmtQcm94eVNldHRpbmdzJiYgc2V0dGluZ3MpCit7Cisg
ICAgbV9uZXR3b3JrU2Vzc2lvbi0+c2V0UHJveHlTZXR0aW5ncyhXVEZNb3ZlKHNldHRpbmdzKSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5oCmluZGV4IGFjMzRmZTliYzk5
ZS4uOWEwMTQ2ODRhNWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3NvdXAvTmV0d29ya1Nlc3Npb25Tb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL05ldHdvcmtTZXNzaW9uU291cC5oCkBAIC0zMiw2ICszMiw3IEBAIHR5cGVkZWYg
c3RydWN0IF9Tb3VwU2Vzc2lvbiBTb3VwU2Vzc2lvbjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgU291cE5ldHdvcmtTZXNzaW9uOworc3RydWN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5n
czsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01OCw2ICs1OSw3IEBAIHB1YmxpYzoKICAg
ICBib29sIHBlcnNpc3RlbnRDcmVkZW50aWFsU3RvcmFnZUVuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX3BlcnNpc3RlbnRDcmVkZW50aWFsU3RvcmFnZUVuYWJsZWQ7IH0KIAogICAgIHZvaWQgc2V0
SWdub3JlVExTRXJyb3JzKGJvb2wpOworICAgIHZvaWQgc2V0UHJveHlTZXR0aW5ncyhXZWJDb3Jl
OjpTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MmJik7CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFdlYlNvY2tldFRhc2s+IGNyZWF0ZVdlYlNvY2tldFRhc2soTmV0d29ya1NvY2tldENo
YW5uZWwmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHBy
b3RvY29sKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggNTE0ZjFjOGRiOGViLi5jN2E1OWEwNGRjYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCkBAIC0xMzAsMTAgKzEzMCw2IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNv
ZGVyIDw8IHdheWxhbmRDb21wb3NpdG9yRGlzcGxheU5hbWU7CiAjZW5kaWYKIAotI2lmIFVTRShT
T1VQKQotICAgIGVuY29kZXIgPDwgcHJveHlTZXR0aW5nczsKLSNlbmRpZgotCiAjaWYgRU5BQkxF
KFJFU09VUkNFX0xPQURfU1RBVElTVElDUykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAg
ZW5jb2RlciA8PCBzaG91bGRMb2dVc2VySW50ZXJhY3Rpb247CiAjZW5kaWYKQEAgLTM3NywxMSAr
MzczLDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
I2VuZGlmCiAKLSNpZiBVU0UoU09VUCkKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRl
cnMucHJveHlTZXR0aW5ncykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotCiAjaWYg
RU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnNob3VsZExvZ1VzZXJJbnRlcmFj
dGlvbikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA1MjcyMjUyMTdkYzQuLjBk
M2EyOTY3NzE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNDMsMTEgKzQzLDYgQEAKICNpbmNsdWRlIDx3dGYvTWFj
aFNlbmRSaWdodC5oPgogI2VuZGlmCiAKLSNpZiBVU0UoU09VUCkKLSNpbmNsdWRlIDxXZWJDb3Jl
L0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NvdXBOZXR3b3Jr
UHJveHlTZXR0aW5ncy5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWVJT1MuaD4KICNlbmRpZgpAQCAtMTc0LDEwICsxNjks
NiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU3RyaW5nIHdh
eWxhbmRDb21wb3NpdG9yRGlzcGxheU5hbWU7CiAjZW5kaWYKIAotI2lmIFVTRShTT1VQKQotICAg
IFdlYkNvcmU6OlNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyBwcm94eVNldHRpbmdzOwotI2VuZGlm
Ci0KICNpZiBQTEFURk9STShDT0NPQSkKICAgICBWZWN0b3I8U3RyaW5nPiBtZWRpYU1JTUVUeXBl
czsKICAgICBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVzIHNjcmVlblByb3BlcnRpZXM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRv
bWF0aW9uU2Vzc2lvbi5jcHAKaW5kZXggMzdmMGE0NGZmZjk4Li40M2FmZDM1NDk3NzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEF1dG9tYXRpb25T
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRB
dXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTM2MCw3ICszNjAsNyBAQCBXZWJLaXRBdXRvbWF0aW9u
U2Vzc2lvbiogd2Via2l0QXV0b21hdGlvblNlc3Npb25DcmVhdGUoV2ViS2l0V2ViQ29udGV4dCog
d2ViQ29udAogICAgIGlmIChjYXBhYmlsaXRpZXMucHJveHkpIHsKICAgICAgICAgV2ViS2l0TmV0
d29ya1Byb3h5U2V0dGluZ3MqIHByb3h5U2V0dGluZ3MgPSBudWxscHRyOwogICAgICAgICBhdXRv
IHByb3h5TW9kZSA9IHBhcnNlUHJveHlDYXBhYmlsaXRpZXMoKmNhcGFiaWxpdGllcy5wcm94eSwg
JnByb3h5U2V0dGluZ3MpOwotICAgICAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X25ldHdvcmtf
cHJveHlfc2V0dGluZ3Mod2ViQ29udGV4dCwgcHJveHlNb2RlLCBwcm94eVNldHRpbmdzKTsKKyAg
ICAgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRp
bmdzKHdlYmtpdF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIod2ViQ29udGV4
dCksIHByb3h5TW9kZSwgcHJveHlTZXR0aW5ncyk7CiAgICAgICAgIGlmIChwcm94eVNldHRpbmdz
KQogICAgICAgICAgICAgd2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfZnJlZShwcm94eVNl
dHRpbmdzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRXZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IGZhZTYyMzVlYTRlMi4uNzE2NjdjZjQ3MzJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRX
ZWJDb250ZXh0LmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIldlYktpdEdlb2xvY2F0
aW9uTWFuYWdlclByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRJbml0aWFsaXplLmgiCiAjaW5j
bHVkZSAiV2ViS2l0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKLSNpbmNsdWRlICJXZWJLaXROZXR3
b3JrUHJveHlTZXR0aW5nc1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXROb3RpZmljYXRpb25Q
cm92aWRlci5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQ
cm90b2NvbEhhbmRsZXIuaCIKQEAgLTkzNSwyOSArOTM0LDE0IEBAIHZvaWQgd2Via2l0X3dlYl9j
b250ZXh0X2NsZWFyX2NhY2hlKFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQpCiAgKiBhIHZhbGlk
ICNXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5nczsgb3RoZXJ3aXNlLCBAcHJveHlfc2V0dGluZ3Mg
bXVzdCBiZSAlTlVMTC4KICAqCiAgKiBTaW5jZTogMi4xNgorICoKKyAqIERlcHJlY2F0ZWQ6IDIu
MzIuIFVzZSB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X25ldHdvcmtfcHJveHlfc2V0
dGluZ3MoKSBpbnN0ZWFkLgogICovCiB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfbmV0d29y
a19wcm94eV9zZXR0aW5ncyhXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0LCBXZWJLaXROZXR3b3Jr
UHJveHlNb2RlIHByb3h5TW9kZSwgV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MqIHByb3h5U2V0
dGluZ3MpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0NPTlRFWFQoY29u
dGV4dCkpOwotICAgIGdfcmV0dXJuX2lmX2ZhaWwoKHByb3h5TW9kZSAhPSBXRUJLSVRfTkVUV09S
S19QUk9YWV9NT0RFX0NVU1RPTSAmJiAhcHJveHlTZXR0aW5ncykgfHwgKHByb3h5TW9kZSA9PSBX
RUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0NVU1RPTSAmJiBwcm94eVNldHRpbmdzKSk7CiAKLSAg
ICBXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZSogcHJpdiA9IGNvbnRleHQtPnByaXY7Ci0gICAgc3dp
dGNoIChwcm94eU1vZGUpIHsKLSAgICBjYXNlIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfREVG
QVVMVDoKLSAgICAgICAgcHJpdi0+cHJvY2Vzc1Bvb2wtPnNldE5ldHdvcmtQcm94eVNldHRpbmdz
KHsgfSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgV0VCS0lUX05FVFdPUktfUFJPWFlfTU9E
RV9OT19QUk9YWToKLSAgICAgICAgcHJpdi0+cHJvY2Vzc1Bvb2wtPnNldE5ldHdvcmtQcm94eVNl
dHRpbmdzKFdlYkNvcmU6OlNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyhXZWJDb3JlOjpTb3VwTmV0
d29ya1Byb3h5U2V0dGluZ3M6Ok1vZGU6Ok5vUHJveHkpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0NVU1RPTToKLSAgICAgICAgY29uc3QgYXV0
byYgc2V0dGluZ3MgPSB3ZWJraXROZXR3b3JrUHJveHlTZXR0aW5nc0dldE5ldHdvcmtQcm94eVNl
dHRpbmdzKHByb3h5U2V0dGluZ3MpOwotICAgICAgICBpZiAoc2V0dGluZ3MuaXNFbXB0eSgpKSB7
Ci0gICAgICAgICAgICBnX3dhcm5pbmcoIkludmFsaWQgYXR0ZW1wdCB0byBzZXQgY3VzdG9tIG5l
dHdvcmsgcHJveHkgc2V0dGluZ3Mgd2l0aCBhbiBlbXB0eSBXZWJLaXROZXR3b3JrUHJveHlTZXR0
aW5ncy4gVXNlICIKLSAgICAgICAgICAgICAgICAiV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9O
T19QUk9YWSB0byBub3QgdXNlIGFueSBwcm94eSBvciBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RF
X0RFRkFVTFQgdG8gdXNlIHRoZSBkZWZhdWx0IHN5c3RlbSBzZXR0aW5ncyIpOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHByaXYtPnByb2Nlc3NQb29sLT5zZXROZXR3b3JrUHJveHlTZXR0
aW5ncyhzZXR0aW5ncyk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICB3ZWJraXRfd2Vic2l0
ZV9kYXRhX21hbmFnZXJfc2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3MoY29udGV4dC0+cHJpdi0+
d2Vic2l0ZURhdGFNYW5hZ2VyLmdldCgpLCBwcm94eU1vZGUsIHByb3h5U2V0dGluZ3MpOwogfQog
CiB0eXBlZGVmIEhhc2hNYXA8RG93bmxvYWRQcm94eSosIEdSZWZQdHI8V2ViS2l0RG93bmxvYWQ+
ID4gRG93bmxvYWRzTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBiMzc3MDA3OWY4MzkuLjQxMzVjMjY1NDI4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5j
cHAKQEAgLTc1Nyw2ICs3NTcsOCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uc3RydWN0
ZWQoR09iamVjdCogb2JqZWN0KQogICAgICAgICBwcml2LT53ZWJzaXRlRGF0YU1hbmFnZXIgPSBh
ZG9wdEdSZWYod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25ld19lcGhlbWVyYWwoKSk7CiAg
ICAgICAgIGF1dG8qIGNvbnRleHREYXRhTWFuYWdlciA9IHdlYmtpdF93ZWJfY29udGV4dF9nZXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXIocHJpdi0+Y29udGV4dC5nZXQoKSk7CiAgICAgICAgIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfdGxzX2Vycm9yc19wb2xpY3kocHJpdi0+d2Vic2l0
ZURhdGFNYW5hZ2VyLmdldCgpLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3Rsc19l
cnJvcnNfcG9saWN5KGNvbnRleHREYXRhTWFuYWdlcikpOworICAgICAgICBhdXRvIHByb3h5U2V0
dGluZ3MgPSB3ZWJraXRXZWJzaXRlRGF0YU1hbmFnZXJHZXREYXRhU3RvcmUoY29udGV4dERhdGFN
YW5hZ2VyKS5uZXR3b3JrUHJveHlTZXR0aW5ncygpOworICAgICAgICB3ZWJraXRXZWJzaXRlRGF0
YU1hbmFnZXJHZXREYXRhU3RvcmUocHJpdi0+d2Vic2l0ZURhdGFNYW5hZ2VyLmdldCgpKS5zZXRO
ZXR3b3JrUHJveHlTZXR0aW5ncyhXVEZNb3ZlKHByb3h5U2V0dGluZ3MpKTsKICAgICAgICAgd2Vi
a2l0V2Vic2l0ZURhdGFNYW5hZ2VyQWRkUHJvY2Vzc1Bvb2wocHJpdi0+d2Vic2l0ZURhdGFNYW5h
Z2VyLmdldCgpLCB3ZWJraXRXZWJDb250ZXh0R2V0UHJvY2Vzc1Bvb2wocHJpdi0+Y29udGV4dC5n
ZXQoKSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggZGVjNThmYzNj
MTk0Li5kYTlhM2FhZGI4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcApAQCAtMjIsNiAr
MjIsNyBAQAogCiAjaW5jbHVkZSAiV2ViS2l0Q29va2llTWFuYWdlclByaXZhdGUuaCIKICNpbmNs
dWRlICJXZWJLaXRJbml0aWFsaXplLmgiCisjaW5jbHVkZSAiV2ViS2l0TmV0d29ya1Byb3h5U2V0
dGluZ3NQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldl
YktpdFdlYnNpdGVEYXRhTWFuYWdlclByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJzaXRl
RGF0YVByaXZhdGUuaCIKQEAgLTk1Miw2ICs5NTMsNDcgQEAgV2ViS2l0VExTRXJyb3JzUG9saWN5
IHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfdGxzX2Vycm9yc19wb2xpY3koV2ViS2l0
V2UKICAgICByZXR1cm4gbWFuYWdlci0+cHJpdi0+dGxzRXJyb3JzUG9saWN5OwogfQogCisvKioK
KyAqIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5n
czoKKyAqIEBtYW5hZ2VyOiBhICNXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIKKyAqIEBwcm94eV9t
b2RlOiBhICNXZWJLaXROZXR3b3JrUHJveHlNb2RlCisgKiBAcHJveHlfc2V0dGluZ3M6IChhbGxv
dy1ub25lKTogYSAjV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MsIG9yICVOVUxMCisgKgorICog
U2V0IHRoZSBuZXR3b3JrIHByb3h5IHNldHRpbmdzIHRvIGJlIHVzZWQgYnkgY29ubmVjdGlvbnMg
c3RhcnRlZCBpbiBAbWFuYWdlciBzZXNzaW9uLgorICogQnkgZGVmYXVsdCAlV0VCS0lUX05FVFdP
UktfUFJPWFlfTU9ERV9ERUZBVUxUIGlzIHVzZWQsIHdoaWNoIG1lYW5zIHRoYXQgdGhlCisgKiBz
eXN0ZW0gc2V0dGluZ3Mgd2lsbCBiZSB1c2VkIChnX3Byb3h5X3Jlc29sdmVyX2dldF9kZWZhdWx0
KCkpLgorICogSWYgeW91IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIHN5c3RlbSBkZWZhdWx0IHNldHRp
bmdzLCB5b3UgY2FuIGVpdGhlciB1c2UKKyAqICVXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX05P
X1BST1hZIHRvIG1ha2Ugc3VyZSBubyBwcm94aWVzIGFyZSB1c2VkIGF0IGFsbCwKKyAqIG9yICVX
RUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0NVU1RPTSB0byBwcm92aWRlIHlvdXIgb3duIHByb3h5
IHNldHRpbmdzLgorICogV2hlbiBAcHJveHlfbW9kZSBpcyAlV0VCS0lUX05FVFdPUktfUFJPWFlf
TU9ERV9DVVNUT00gQHByb3h5X3NldHRpbmdzIG11c3QgYmUKKyAqIGEgdmFsaWQgI1dlYktpdE5l
dHdvcmtQcm94eVNldHRpbmdzOyBvdGhlcndpc2UsIEBwcm94eV9zZXR0aW5ncyBtdXN0IGJlICVO
VUxMLgorICoKKyAqIFNpbmNlOiAyLjMyCisgKi8KK3ZvaWQgd2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdl
ciogbWFuYWdlciwgV2ViS2l0TmV0d29ya1Byb3h5TW9kZSBwcm94eU1vZGUsIFdlYktpdE5ldHdv
cmtQcm94eVNldHRpbmdzKiBwcm94eVNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwo
V0VCS0lUX0lTX1dFQlNJVEVfREFUQV9NQU5BR0VSKG1hbmFnZXIpKTsKKyAgICBnX3JldHVybl9p
Zl9mYWlsKChwcm94eU1vZGUgIT0gV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9DVVNUT00gJiYg
IXByb3h5U2V0dGluZ3MpIHx8IChwcm94eU1vZGUgPT0gV0VCS0lUX05FVFdPUktfUFJPWFlfTU9E
RV9DVVNUT00gJiYgcHJveHlTZXR0aW5ncykpOworCisgICAgYXV0byYgZGF0YVN0b3JlID0gd2Vi
a2l0V2Vic2l0ZURhdGFNYW5hZ2VyR2V0RGF0YVN0b3JlKG1hbmFnZXIpOworICAgIHN3aXRjaCAo
cHJveHlNb2RlKSB7CisgICAgY2FzZSBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0RFRkFVTFQ6
CisgICAgICAgIGRhdGFTdG9yZS5zZXROZXR3b3JrUHJveHlTZXR0aW5ncyh7IH0pOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfTk9fUFJPWFk6Cisg
ICAgICAgIGRhdGFTdG9yZS5zZXROZXR3b3JrUHJveHlTZXR0aW5ncyhXZWJDb3JlOjpTb3VwTmV0
d29ya1Byb3h5U2V0dGluZ3MoV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzOjpNb2Rl
OjpOb1Byb3h5KSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV0VCS0lUX05FVFdPUktfUFJP
WFlfTU9ERV9DVVNUT006CisgICAgICAgIGF1dG8gc2V0dGluZ3MgPSB3ZWJraXROZXR3b3JrUHJv
eHlTZXR0aW5nc0dldE5ldHdvcmtQcm94eVNldHRpbmdzKHByb3h5U2V0dGluZ3MpOworICAgICAg
ICBpZiAoc2V0dGluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBnX3dhcm5pbmcoIkludmFs
aWQgYXR0ZW1wdCB0byBzZXQgY3VzdG9tIG5ldHdvcmsgcHJveHkgc2V0dGluZ3Mgd2l0aCBhbiBl
bXB0eSBXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncy4gVXNlICIKKyAgICAgICAgICAgICAgICAi
V0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9OT19QUk9YWSB0byBub3QgdXNlIGFueSBwcm94eSBv
ciBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0RFRkFVTFQgdG8gdXNlIHRoZSBkZWZhdWx0IHN5
c3RlbSBzZXR0aW5ncyIpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGRhdGFTdG9yZS5z
ZXROZXR3b3JrUHJveHlTZXR0aW5ncyhXVEZNb3ZlKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFr
OworICAgIH0KK30KKwogc3RhdGljIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHRvV2Vic2l0
ZURhdGFUeXBlcyhXZWJLaXRXZWJzaXRlRGF0YVR5cGVzIHR5cGVzKQogewogICAgIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+IHJldHVyblZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncy5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncy5oCmlu
ZGV4IDAwYzJiMzlmMzNkMy4uNDlmNmE4N2VlOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncy5o
CkBAIC0zMSw2ICszMSwyMiBAQCBHX0JFR0lOX0RFQ0xTCiAKICNkZWZpbmUgV0VCS0lUX1RZUEVf
TkVUV09SS19ORVRXT1JLX1BST1hZX1NFVFRJTkdTICh3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0
aW5nc19nZXRfdHlwZSgpKQogCisvKioKKyAqIFdlYktpdE5ldHdvcmtQcm94eU1vZGU6CisgKiBA
V0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9ERUZBVUxUOiBVc2UgdGhlIGRlZmF1bHQgcHJveHkg
b2YgdGhlIHN5c3RlbS4KKyAqIEBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX05PX1BST1hZOiBE
byBub3QgdXNlIGFueSBwcm94eS4KKyAqIEBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0NVU1RP
TTogVXNlIGN1c3RvbSBwcm94eSBzZXR0aW5ncy4KKyAqCisgKiBFbnVtIHZhbHVlcyB1c2VkIHRv
IHNldCB0aGUgbmV0d29yayBwcm94eSBtb2RlLgorICoKKyAqIFNpbmNlOiAyLjE2CisgKi8KK3R5
cGVkZWYgZW51bSB7CisgICAgV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9ERUZBVUxULAorICAg
IFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfTk9fUFJPWFksCisgICAgV0VCS0lUX05FVFdPUktf
UFJPWFlfTU9ERV9DVVNUT00KK30gV2ViS2l0TmV0d29ya1Byb3h5TW9kZTsKKwogdHlwZWRlZiBz
dHJ1Y3QgX1dlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzIFdlYktpdE5ldHdvcmtQcm94eVNldHRp
bmdzOwogCiBXRUJLSVRfQVBJIEdUeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5oCmluZGV4IDUwNzhiYzdkOWYxMy4uNWE0YWRmOGI4
ZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YkNvbnRleHQuaApAQCAtODgsMjIgKzg4LDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXRUJLSVRf
UFJPQ0VTU19NT0RFTF9NVUxUSVBMRV9TRUNPTkRBUllfUFJPQ0VTU0VTLAogfSBXZWJLaXRQcm9j
ZXNzTW9kZWw7CiAKLS8qKgotICogV2ViS2l0TmV0d29ya1Byb3h5TW9kZToKLSAqIEBXRUJLSVRf
TkVUV09SS19QUk9YWV9NT0RFX0RFRkFVTFQ6IFVzZSB0aGUgZGVmYXVsdCBwcm94eSBvZiB0aGUg
c3lzdGVtLgotICogQFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfTk9fUFJPWFk6IERvIG5vdCB1
c2UgYW55IHByb3h5LgotICogQFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfQ1VTVE9NOiBVc2Ug
Y3VzdG9tIHByb3h5IHNldHRpbmdzLgotICoKLSAqIEVudW0gdmFsdWVzIHVzZWQgdG8gc2V0IHRo
ZSBuZXR3b3JrIHByb3h5IG1vZGUuCi0gKgotICogU2luY2U6IDIuMTYKLSAqLwotdHlwZWRlZiBl
bnVtIHsKLSAgICBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0RFRkFVTFQsCi0gICAgV0VCS0lU
X05FVFdPUktfUFJPWFlfTU9ERV9OT19QUk9YWSwKLSAgICBXRUJLSVRfTkVUV09SS19QUk9YWV9N
T0RFX0NVU1RPTQotfSBXZWJLaXROZXR3b3JrUHJveHlNb2RlOwotCiAvKioKICAqIFdlYktpdFVS
SVNjaGVtZVJlcXVlc3RDYWxsYmFjazoKICAqIEByZXF1ZXN0OiB0aGUgI1dlYktpdFVSSVNjaGVt
ZVJlcXVlc3QKQEAgLTE4Niw3ICsxNzAsNyBAQCB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3dlYl9w
cm9jZXNzX2NvdW50X2xpbWl0ICAgICAgKFdlYktpdFdlYkNvbnRleHQKIFdFQktJVF9BUEkgdm9p
ZAogd2Via2l0X3dlYl9jb250ZXh0X2NsZWFyX2NhY2hlICAgICAgICAgICAgICAgICAgICAgIChX
ZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAgICAqY29udGV4dCk7CiAKLVdFQktJVF9BUEkgdm9p
ZAorV0VCS0lUX0RFUFJFQ0FURURfRk9SKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRf
bmV0d29ya19wcm94eV9zZXR0aW5ncykgdm9pZAogd2Via2l0X3dlYl9jb250ZXh0X3NldF9uZXR3
b3JrX3Byb3h5X3NldHRpbmdzICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAgICAq
Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgV2ViS2l0TmV0d29ya1Byb3h5TW9kZSAgICAgICAgIHByb3h5X21vZGUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdE5ldHdv
cmtQcm94eVNldHRpbmdzICAgICpwcm94eV9zZXR0aW5ncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaApp
bmRleCAzZjY3YjA0MTM1MWQuLjU2N2NkMGU5OGJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHdlYmtpdDIv
V2ViS2l0Q29va2llTWFuYWdlci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5o
PgorI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MuaD4KICNpbmNs
dWRlIDx3ZWJraXQyL1dlYktpdFdlYnNpdGVEYXRhLmg+CiAKIEdfQkVHSU5fREVDTFMKQEAgLTE0
MSw2ICsxNDIsMTEgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF90bHNfZXJyb3Jz
X3BvbGljeSAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWIKIFdFQktJVF9BUEkgV2ViS2l0
VExTRXJyb3JzUG9saWN5CiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3Rsc19lcnJv
cnNfcG9saWN5ICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciAq
bWFuYWdlcik7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2Vy
X3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzICAgICAgICAgICAgICAgIChXZWJLaXRXZWJzaXRl
RGF0YU1hbmFnZXIgKm1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdE5ldHdvcmtQcm94eU1v
ZGUgICAgcHJveHlfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0TmV0d29ya1Byb3h5U2V0dGlu
Z3MgKnByb3h5X3NldHRpbmdzKTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2Vic2l0ZV9k
YXRhX21hbmFnZXJfZmV0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdl
YktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlciwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0V2Vi
c2l0ZURhdGFUeXBlcyAgICB0eXBlcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0Cmlu
ZGV4IDFkY2VhMDE5NGMyNi4uNjQwMzg0YzI4NTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0CisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3RrLTQuMC1zZWN0
aW9ucy50eHQKQEAgLTI2LDcgKzI2LDYgQEAgV0VCS0lUX0RFUFJFQ0FURURfRk9SCiBXZWJLaXRX
ZWJDb250ZXh0CiBXZWJLaXRDYWNoZU1vZGVsCiBXZWJLaXRQcm9jZXNzTW9kZWwKLVdlYktpdE5l
dHdvcmtQcm94eU1vZGUKIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfZGVmYXVsdAogd2Via2l0X3dl
Yl9jb250ZXh0X25ldwogd2Via2l0X3dlYl9jb250ZXh0X25ld19lcGhlbWVyYWwKQEAgLTE0NzQs
NiArMTQ3Myw3IEBAIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfcGVyc2lzdGVudF9j
cmVkZW50aWFsX3N0b3JhZ2VfZW5hYmxlZAogd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dl
dF9wZXJzaXN0ZW50X2NyZWRlbnRpYWxfc3RvcmFnZV9lbmFibGVkCiB3ZWJraXRfd2Vic2l0ZV9k
YXRhX21hbmFnZXJfc2V0X3Rsc19lcnJvcnNfcG9saWN5CiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21h
bmFnZXJfZ2V0X3Rsc19lcnJvcnNfcG9saWN5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
c2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3MKIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9m
ZXRjaAogd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoX2ZpbmlzaAogd2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZQpAQCAtMTUzNiw2ICsxNTM2LDcgQEAgd2Via2l0X3dl
YnNpdGVfZGF0YV9nZXRfdHlwZQogPFNFQ1RJT04+CiA8RklMRT5XZWJLaXROZXR3b3JrUHJveHlT
ZXR0aW5nczwvRklMRT4KIFdlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzCitXZWJLaXROZXR3b3Jr
UHJveHlNb2RlCiB3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19uZXcKIHdlYmtpdF9uZXR3
b3JrX3Byb3h5X3NldHRpbmdzX2NvcHkKIHdlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2Zy
ZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0TmV0
d29ya1Byb3h5U2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2Vi
S2l0TmV0d29ya1Byb3h5U2V0dGluZ3MuaAppbmRleCBjYjU2NTdjMGU1NTIuLmVmZDI5YzQ2MTU0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXROZXR3
b3JrUHJveHlTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MuaApAQCAtMzEsNiArMzEsMjIgQEAgR19CRUdJTl9E
RUNMUwogCiAjZGVmaW5lIFdFQktJVF9UWVBFX05FVFdPUktfTkVUV09SS19QUk9YWV9TRVRUSU5H
UyAod2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfZ2V0X3R5cGUoKSkKIAorLyoqCisgKiBX
ZWJLaXROZXR3b3JrUHJveHlNb2RlOgorICogQFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfREVG
QVVMVDogVXNlIHRoZSBkZWZhdWx0IHByb3h5IG9mIHRoZSBzeXN0ZW0uCisgKiBAV0VCS0lUX05F
VFdPUktfUFJPWFlfTU9ERV9OT19QUk9YWTogRG8gbm90IHVzZSBhbnkgcHJveHkuCisgKiBAV0VC
S0lUX05FVFdPUktfUFJPWFlfTU9ERV9DVVNUT006IFVzZSBjdXN0b20gcHJveHkgc2V0dGluZ3Mu
CisgKgorICogRW51bSB2YWx1ZXMgdXNlZCB0byBzZXQgdGhlIG5ldHdvcmsgcHJveHkgbW9kZS4K
KyAqCisgKiBTaW5jZTogMi4xNgorICovCit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9ORVRX
T1JLX1BST1hZX01PREVfREVGQVVMVCwKKyAgICBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX05P
X1BST1hZLAorICAgIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfQ1VTVE9NCit9IFdlYktpdE5l
dHdvcmtQcm94eU1vZGU7CisKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXROZXR3b3JrUHJveHlTZXR0
aW5ncyBXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5nczsKIAogV0VCS0lUX0FQSSBHVHlwZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaApp
bmRleCAyY2M3MDQ3NzhkZGYuLjRjZTkzYTRlMDc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0LmgKQEAgLTg4LDIyICs4OCw2IEBA
IHR5cGVkZWYgZW51bSB7CiAgICAgV0VCS0lUX1BST0NFU1NfTU9ERUxfTVVMVElQTEVfU0VDT05E
QVJZX1BST0NFU1NFUywKIH0gV2ViS2l0UHJvY2Vzc01vZGVsOwogCi0vKioKLSAqIFdlYktpdE5l
dHdvcmtQcm94eU1vZGU6Ci0gKiBAV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9ERUZBVUxUOiBV
c2UgdGhlIGRlZmF1bHQgcHJveHkgb2YgdGhlIHN5c3RlbS4KLSAqIEBXRUJLSVRfTkVUV09SS19Q
Uk9YWV9NT0RFX05PX1BST1hZOiBEbyBub3QgdXNlIGFueSBwcm94eS4KLSAqIEBXRUJLSVRfTkVU
V09SS19QUk9YWV9NT0RFX0NVU1RPTTogVXNlIGN1c3RvbSBwcm94eSBzZXR0aW5ncy4KLSAqCi0g
KiBFbnVtIHZhbHVlcyB1c2VkIHRvIHNldCB0aGUgbmV0d29yayBwcm94eSBtb2RlLgotICoKLSAq
IFNpbmNlOiAyLjE2Ci0gKi8KLXR5cGVkZWYgZW51bSB7Ci0gICAgV0VCS0lUX05FVFdPUktfUFJP
WFlfTU9ERV9ERUZBVUxULAotICAgIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfTk9fUFJPWFks
Ci0gICAgV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9DVVNUT00KLX0gV2ViS2l0TmV0d29ya1By
b3h5TW9kZTsKLQogLyoqCiAgKiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2FsbGJhY2s6CiAgKiBA
cmVxdWVzdDogdGhlICNXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CkBAIC0xODYsNyArMTcwLDcgQEAg
d2Via2l0X3dlYl9jb250ZXh0X2dldF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdCAgICAgIChXZWJL
aXRXZWJDb250ZXh0CiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF93ZWJfY29udGV4dF9jbGVhcl9j
YWNoZSAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAgICAg
KmNvbnRleHQpOwogCi1XRUJLSVRfQVBJIHZvaWQKK1dFQktJVF9ERVBSRUNBVEVEX0ZPUih3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3MpIHZvaWQK
IHdlYmtpdF93ZWJfY29udGV4dF9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncyAgICAgICAoV2Vi
S2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdE5ldHdvcmtQcm94eU1vZGUg
ICAgICAgICBwcm94eV9tb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncyAgICAqcHJveHlfc2V0
dGluZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggMzlmNGU4NzQyMjBjLi4wM2QzMTg2Mjc2
NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vi
c2l0ZURhdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9X
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGdp
by9naW8uaD4KICNpbmNsdWRlIDx3cGUvV2ViS2l0Q29va2llTWFuYWdlci5oPgogI2luY2x1ZGUg
PHdwZS9XZWJLaXREZWZpbmVzLmg+CisjaW5jbHVkZSA8d3BlL1dlYktpdE5ldHdvcmtQcm94eVNl
dHRpbmdzLmg+CiAjaW5jbHVkZSA8d3BlL1dlYktpdFdlYnNpdGVEYXRhLmg+CiAKIEdfQkVHSU5f
REVDTFMKQEAgLTE0MSw2ICsxNDIsMTEgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3Nl
dF90bHNfZXJyb3JzX3BvbGljeSAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWIKIFdFQktJ
VF9BUEkgV2ViS2l0VExTRXJyb3JzUG9saWN5CiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
Z2V0X3Rsc19lcnJvcnNfcG9saWN5ICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYnNpdGVE
YXRhTWFuYWdlciAqbWFuYWdlcik7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYnNpdGVf
ZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzICAgICAgICAgICAgICAgIChX
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgKm1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdE5l
dHdvcmtQcm94eU1vZGUgICAgcHJveHlfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViS2l0TmV0d29y
a1Byb3h5U2V0dGluZ3MgKnByb3h5X3NldHRpbmdzKTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZmV0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV2ViS2l0V2Vic2l0ZURhdGFUeXBlcyAgICB0eXBlcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dAppbmRl
eCA4YmE5MjI2ZTUyZDcuLmE0MzU5NTMxZjk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dApAQCAtNCw3
ICs0LDYgQEAKIFdlYktpdFdlYkNvbnRleHQKIFdlYktpdENhY2hlTW9kZWwKIFdlYktpdFByb2Nl
c3NNb2RlbAotV2ViS2l0TmV0d29ya1Byb3h5TW9kZQogd2Via2l0X3dlYl9jb250ZXh0X2dldF9k
ZWZhdWx0CiB3ZWJraXRfd2ViX2NvbnRleHRfbmV3CiB3ZWJraXRfd2ViX2NvbnRleHRfbmV3X2Vw
aGVtZXJhbApAQCAtMTQwOCw2ICsxNDA3LDcgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2Vy
X3NldF9wZXJzaXN0ZW50X2NyZWRlbnRpYWxfc3RvcmFnZV9lbmFibGVkCiB3ZWJraXRfd2Vic2l0
ZV9kYXRhX21hbmFnZXJfZ2V0X3BlcnNpc3RlbnRfY3JlZGVudGlhbF9zdG9yYWdlX2VuYWJsZWQK
IHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfdGxzX2Vycm9yc19wb2xpY3kKIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfdGxzX2Vycm9yc19wb2xpY3kKK3dlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncwogd2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX2ZldGNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZmV0Y2hf
ZmluaXNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfcmVtb3ZlCkBAIC0xNDcwLDYgKzE0
NzAsNyBAQCB3ZWJraXRfd2Vic2l0ZV9kYXRhX2dldF90eXBlCiA8U0VDVElPTj4KIDxGSUxFPldl
YktpdE5ldHdvcmtQcm94eVNldHRpbmdzPC9GSUxFPgogV2ViS2l0TmV0d29ya1Byb3h5U2V0dGlu
Z3MKK1dlYktpdE5ldHdvcmtQcm94eU1vZGUKIHdlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdz
X25ldwogd2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfY29weQogd2Via2l0X25ldHdvcmtf
cHJveHlfc2V0dGluZ3NfZnJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKaW5kZXggZDRiYTE4MDg0ZDQ3Li45OTA2YjdkMTliNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNjMsMTAgKzYzLDYgQEAKICNpbmNsdWRlICJXZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCIKICNlbmRpZgogCi0jaWYgVVNFKFNPVVApCi0jaW5j
bHVkZSA8V2ViQ29yZS9Tb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MuaD4KLSNlbmRpZgotCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiBPQkpDX0NMQVNTIE5TTXV0YWJsZURpY3Rpb25hcnk7CiBPQkpDX0NM
QVNTIE5TT2JqZWN0OwpAQCAtMjk2LDcgKzI5Miw2IEBAIHB1YmxpYzoKIAogI2lmIFVTRShTT1VQ
KQogICAgIHZvaWQgc2V0SW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3koV2ViQ29yZTo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpIHsgbV9pbml0aWFsSFRUUENvb2tpZUFjY2VwdFBv
bGljeSA9IHBvbGljeTsgfQotICAgIHZvaWQgc2V0TmV0d29ya1Byb3h5U2V0dGluZ3MoY29uc3Qg
V2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzJik7CiAjZW5kaWYKICAgICB2b2lkIHNl
dEVuaGFuY2VkQWNjZXNzaWJpbGl0eShib29sKTsKICAgICAKQEAgLTY4Miw3ICs2NzcsNiBAQCBw
cml2YXRlOgogCiAjaWYgVVNFKFNPVVApCiAgICAgV2ViQ29yZTo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeSBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5IHsgV2ViQ29yZTo6SFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluIH07Ci0gICAg
V2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIG1fbmV0d29ya1Byb3h5U2V0dGluZ3M7
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCAyYWRlNzIwYjAz
MzYuLmU5ZGViYTQ4MDg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtNTksNiArNTksMTAgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0N1cmxQcm94eVNldHRpbmdzLmg+CiAjZW5kaWYKIAorI2lmIFVTRShTT1VQ
KQorI2luY2x1ZGUgPFdlYkNvcmUvU291cE5ldHdvcmtQcm94eVNldHRpbmdzLmg+CisjZW5kaWYK
KwogbmFtZXNwYWNlIEFQSSB7CiBjbGFzcyBIVFRQQ29va2llU3RvcmU7CiB9CkBAIC0yNjEsNiAr
MjY1LDggQEAgcHVibGljOgogICAgIGJvb2wgcGVyc2lzdGVudENyZWRlbnRpYWxTdG9yYWdlRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lzdGVudENyZWRlbnRpYWxTdG9yYWdlRW5hYmxl
ZCAmJiBpc1BlcnNpc3RlbnQoKTsgfQogICAgIHZvaWQgc2V0SWdub3JlVExTRXJyb3JzKGJvb2wp
OwogICAgIGJvb2wgaWdub3JlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9pZ25vcmVUTFNF
cnJvcnM7IH0KKyAgICB2b2lkIHNldE5ldHdvcmtQcm94eVNldHRpbmdzKFdlYkNvcmU6OlNvdXBO
ZXR3b3JrUHJveHlTZXR0aW5ncyYmKTsKKyAgICBjb25zdCBXZWJDb3JlOjpTb3VwTmV0d29ya1By
b3h5U2V0dGluZ3MmIG5ldHdvcmtQcm94eVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9uZXR3
b3JrUHJveHlTZXR0aW5nczsgfQogI2VuZGlmCiAKICAgICBzdGF0aWMgdm9pZCBhbGxvd1dlYnNp
dGVEYXRhUmVjb3Jkc0ZvckFsbE9yaWdpbnMoKTsKQEAgLTM5OCw2ICs0MDQsNyBAQCBwcml2YXRl
OgogI2lmIFVTRShTT1VQKQogICAgIGJvb2wgbV9wZXJzaXN0ZW50Q3JlZGVudGlhbFN0b3JhZ2VF
bmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pZ25vcmVUTFNFcnJvcnMgeyB0cnVlIH07Cisg
ICAgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIG1fbmV0d29ya1Byb3h5U2V0dGlu
Z3M7CiAjZW5kaWYKIAogICAgIEhhc2hTZXQ8V2ViQ29yZTo6Q29va2llPiBtX3BlbmRpbmdDb29r
aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvc291
cC9XZWJzaXRlRGF0YVN0b3JlU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9zb3VwL1dlYnNpdGVEYXRhU3RvcmVTb3VwLmNwcAppbmRleCBiZGY2NmUyYmI0YWEu
LmM1Njk3NjBmMTE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvc291cC9XZWJzaXRlRGF0YVN0b3JlU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvc291cC9XZWJzaXRlRGF0YVN0b3JlU291cC5jcHAKQEAgLTM5
LDYgKzM5LDcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpwbGF0Zm9ybVNldE5ldHdvcmtQYXJh
bWV0ZXJzKFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzJgogICAgIGF1dG8mIG5ldHdvcmtTZXNz
aW9uUGFyYW1ldGVycyA9IHBhcmFtZXRlcnMubmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzOwogICAg
IG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5wZXJzaXN0ZW50Q3JlZGVudGlhbFN0b3JhZ2VFbmFi
bGVkID0gbV9wZXJzaXN0ZW50Q3JlZGVudGlhbFN0b3JhZ2VFbmFibGVkOwogICAgIG5ldHdvcmtT
ZXNzaW9uUGFyYW1ldGVycy5pZ25vcmVUTFNFcnJvcnMgPSBtX2lnbm9yZVRMU0Vycm9yczsKKyAg
ICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMucHJveHlTZXR0aW5ncyA9IG1fbmV0d29ya1Byb3h5
U2V0dGluZ3M7CiAKICAgICBpZiAoYXV0byogcHJvY2Vzc1Bvb2wgPSBwcm9jZXNzUG9vbEZvckNv
b2tpZVN0b3JhZ2VPcGVyYXRpb25zKCkpCiAgICAgICAgIHByb2Nlc3NQb29sLT5zdXBwbGVtZW50
PFdlYkNvb2tpZU1hbmFnZXJQcm94eT4oKS0+Z2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UobV9z
ZXNzaW9uSUQsIG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFn
ZVBhdGgsIG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycy5jb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5
cGUpOwpAQCAtNjcsNCArNjgsMTEgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpzZXRJZ25vcmVU
TFNFcnJvcnMoYm9vbCBpZ25vcmVUTFNFcnJvcnMpCiAgICAgICAgIHByb2Nlc3NQb29sLT5zZW5k
VG9OZXR3b3JraW5nUHJvY2VzcyhNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNldElnbm9yZVRM
U0Vycm9ycyhtX3Nlc3Npb25JRCwgbV9pZ25vcmVUTFNFcnJvcnMpKTsKIH0KIAordm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjpzZXROZXR3b3JrUHJveHlTZXR0aW5ncyhXZWJDb3JlOjpTb3VwTmV0d29y
a1Byb3h5U2V0dGluZ3MmJiBzZXR0aW5ncykKK3sKKyAgICBtX25ldHdvcmtQcm94eVNldHRpbmdz
ID0gV1RGTW92ZShzZXR0aW5ncyk7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nl
c3NQb29scygpKQorICAgICAgICBwcm9jZXNzUG9vbC0+c2VuZFRvTmV0d29ya2luZ1Byb2Nlc3Mo
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXROZXR3b3JrUHJveHlTZXR0aW5ncyhtX3Nlc3Np
b25JRCwgbV9uZXR3b3JrUHJveHlTZXR0aW5ncykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bv
b2xHTGliLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xH
TGliLmNwcAppbmRleCBiZTE5Nzk2ZWQ5NmQuLmY3NGY5MjMyNWRlNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzUG9vbEdMaWIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2dsaWIvV2ViUHJvY2Vzc1Bvb2xHTGliLmNwcApAQCAtOTYs
NyArOTYsNiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9j
ZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcwogI2VuZGlmCiAKICAgICBwYXJhbWV0
ZXJzLm1lbW9yeUNhY2hlRGlzYWJsZWQgPSBtX21lbW9yeUNhY2hlRGlzYWJsZWQgfHwgTGVnYWN5
R2xvYmFsU2V0dGluZ3M6OnNpbmdsZXRvbigpLmNhY2hlTW9kZWwoKSA9PSBDYWNoZU1vZGVsOjpE
b2N1bWVudFZpZXdlcjsKLSAgICBwYXJhbWV0ZXJzLnByb3h5U2V0dGluZ3MgPSBtX25ldHdvcmtQ
cm94eVNldHRpbmdzOwogCiAgICAgaWYgKG1lbW9yeVByZXNzdXJlTW9uaXRvckRpc2FibGVkKCkp
CiAgICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9j
ZXNzUG9vbFNvdXAuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNz
UG9vbFNvdXAuY3BwCmluZGV4IGY5NzBkZjQ1NmNiNy4uNmI3YzViNDIyNGZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwCkBA
IC00MiwxOSArNDIsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXpl
TmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICAgICBpZiAobV93ZWJz
aXRlRGF0YVN0b3JlKSB7CiAgICAgICAgIGRlZmF1bHRTZXNzaW9uUGFyYW1ldGVycy5wZXJzaXN0
ZW50Q3JlZGVudGlhbFN0b3JhZ2VFbmFibGVkID0gbV93ZWJzaXRlRGF0YVN0b3JlLT5wZXJzaXN0
ZW50Q3JlZGVudGlhbFN0b3JhZ2VFbmFibGVkKCk7CiAgICAgICAgIGRlZmF1bHRTZXNzaW9uUGFy
YW1ldGVycy5pZ25vcmVUTFNFcnJvcnMgPSBtX3dlYnNpdGVEYXRhU3RvcmUtPmlnbm9yZVRMU0Vy
cm9ycygpOworICAgICAgICBkZWZhdWx0U2Vzc2lvblBhcmFtZXRlcnMucHJveHlTZXR0aW5ncyA9
IG1fd2Vic2l0ZURhdGFTdG9yZS0+bmV0d29ya1Byb3h5U2V0dGluZ3MoKTsKICAgICB9CiAKICAg
ICBwYXJhbWV0ZXJzLmNvb2tpZUFjY2VwdFBvbGljeSA9IG1faW5pdGlhbEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k7CiAgICAgcGFyYW1ldGVycy5sYW5ndWFnZXMgPSB1c2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCk7Ci0gICAgcGFyYW1ldGVycy5wcm94eVNldHRpbmdzID0gbV9uZXR3b3JrUHJveHlTZXR0
aW5nczsKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUlUUERhdGFiYXNlID0gdHJ1ZTsKIH0K
IAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0TmV0d29ya1Byb3h5U2V0dGluZ3MoY29uc3QgV2Vi
Q29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzJiBzZXR0aW5ncykKLXsKLSAgICBtX25ldHdv
cmtQcm94eVNldHRpbmdzID0gc2V0dGluZ3M7Ci0gICAgaWYgKG1fbmV0d29ya1Byb2Nlc3MpCi0g
ICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpT
ZXROZXR3b3JrUHJveHlTZXR0aW5ncyhtX25ldHdvcmtQcm94eVNldHRpbmdzKSwgMCk7Ci19Ci0K
LX0KK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGNkMzdlMWE4MTMyYS4uZmI1OWNlZWJjMmMzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjAtMDktMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdW1dQRV0gTW92ZSBwcm94eSBzZXR0aW5ncyBmcm9tIFdlYktpdENv
bnRleHQgdG8gV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY5MjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgdGhlIG5ldyBBUEkgaW4gdGVzdHMuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRl
eHQuY3BwOgorICAgICAgICAodGVzdFdlYkNvbnRleHRQcm94eVNldHRpbmdzKToKKwogMjAyMC0w
OS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTihyMjY3NTAyKTogW0dUS11bV1BFXSBlcGhlbWVyYWwgV2ViS2l0V2Vic2l0
ZURhdGFNYW5hZ2VyIGlnbm9yZXMgVExTIGVycm9ycyBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktpdFdlYkNvbnRleHQu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJD
b250ZXh0LmNwcAppbmRleCBiMDgyYzViYjZiYWIuLjJmM2EyYjJmNzM0NSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJLaXRXZWJDb250ZXh0
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYktp
dFdlYkNvbnRleHQuY3BwCkBAIC02NzEsNyArNjcxLDggQEAgc3RhdGljIHZvaWQgdGVzdFdlYkNv
bnRleHRQcm94eVNldHRpbmdzKFByb3h5VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICAv
LyBTZXQgZGVmYXVsdCBwcm94eSBVUkkgdG8gcG9pbnQgdG8gcHJveHlTZXJ2ZXIuIFJlcXVlc3Rz
IHRvIGtTZXJ2ZXIgc2hvdWxkIGJlIHJlY2VpdmVkIGJ5IHByb3h5U2VydmVyIGluc3RlYWQuCiAg
ICAgR1VuaXF1ZVB0cjxjaGFyPiBwcm94eVVSSShzb3VwX3VyaV90b19zdHJpbmcodGVzdC0+bV9w
cm94eVNlcnZlci5iYXNlVVJJKCksIEZBTFNFKSk7CiAgICAgV2ViS2l0TmV0d29ya1Byb3h5U2V0
dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfbmV3KHByb3h5
VVJJLmdldCgpLCBudWxscHRyKTsKLSAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X25ldHdvcmtf
cHJveHlfc2V0dGluZ3ModGVzdC0+bV93ZWJDb250ZXh0LmdldCgpLCBXRUJLSVRfTkVUV09SS19Q
Uk9YWV9NT0RFX0NVU1RPTSwgc2V0dGluZ3MpOworICAgIGF1dG8qIGRhdGFNYW5hZ2VyID0gd2Vi
a2l0X3dlYl9jb250ZXh0X2dldF93ZWJzaXRlX2RhdGFfbWFuYWdlcih0ZXN0LT5tX3dlYkNvbnRl
eHQuZ2V0KCkpOworICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfbmV0d29ya19w
cm94eV9zZXR0aW5ncyhkYXRhTWFuYWdlciwgV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9DVVNU
T00sIHNldHRpbmdzKTsKICAgICBHVW5pcXVlUHRyPGNoYXI+IHByb3h5U2VydmVyUG9ydEFzU3Ry
aW5nID0gdGVzdC0+cHJveHlTZXJ2ZXJQb3J0QXNTdHJpbmcoKTsKICAgICBtYWluUmVzb3VyY2VE
YXRhID0gdGVzdC0+bG9hZFVSSUFuZEdldE1haW5SZXNvdXJjZURhdGEoa1NlcnZlci0+Z2V0VVJJ
Rm9yUGF0aCgiL2VjaG9Qb3J0IikuZGF0YSgpKTsKICAgICBBU1NFUlRfQ01QX0NTVFJJTkcobWFp
blJlc291cmNlRGF0YSwgPT0sIHByb3h5U2VydmVyUG9ydEFzU3RyaW5nLmdldCgpKTsKQEAgLTcx
MSwxNCArNzEyLDE0IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0UHJveHlTZXR0aW5ncyhQ
cm94eVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19tYWluX2xvb3BfcnVuKHRlc3Qt
Pm1fbWFpbkxvb3ApOwogCiAgICAgLy8gUmVtb3ZlIHRoZSBwcm94eS4gUmVxdWVzdHMgdG8ga1Nl
cnZlciBzaG91bGQgYmUgcmVjZWl2ZWQgYnkga1NlcnZlciBhZ2Fpbi4KLSAgICB3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3ModGVzdC0+bV93ZWJDb250ZXh0Lmdl
dCgpLCBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX05PX1BST1hZLCBudWxscHRyKTsKKyAgICB3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3MoZGF0
YU1hbmFnZXIsIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfTk9fUFJPWFksIG51bGxwdHIpOwog
ICAgIG1haW5SZXNvdXJjZURhdGEgPSB0ZXN0LT5sb2FkVVJJQW5kR2V0TWFpblJlc291cmNlRGF0
YShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvZWNob1BvcnQiKS5kYXRhKCkpOwogICAgIEFTU0VS
VF9DTVBfQ1NUUklORyhtYWluUmVzb3VyY2VEYXRhLCA9PSwgc2VydmVyUG9ydEFzU3RyaW5nLmdl
dCgpKTsKIAogICAgIC8vIFVzZSBhIGRlZmF1bHQgcHJveHkgdXJpLCBidXQgaWdub3JpbmcgcmVx
dWVzdHMgdG8gbG9jYWxob3N0LgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBpZ25vcmVIb3N0c1td
ID0geyAibG9jYWxob3N0IiwgbnVsbHB0ciB9OwogICAgIHNldHRpbmdzID0gd2Via2l0X25ldHdv
cmtfcHJveHlfc2V0dGluZ3NfbmV3KHByb3h5VVJJLmdldCgpLCBpZ25vcmVIb3N0cyk7Ci0gICAg
d2Via2l0X3dlYl9jb250ZXh0X3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzKHRlc3QtPm1fd2Vi
Q29udGV4dC5nZXQoKSwgV0VCS0lUX05FVFdPUktfUFJPWFlfTU9ERV9DVVNUT00sIHNldHRpbmdz
KTsKKyAgICB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X25ldHdvcmtfcHJveHlfc2V0
dGluZ3MoZGF0YU1hbmFnZXIsIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfQ1VTVE9NLCBzZXR0
aW5ncyk7CiAgICAgbWFpblJlc291cmNlRGF0YSA9IHRlc3QtPmxvYWRVUklBbmRHZXRNYWluUmVz
b3VyY2VEYXRhKGtTZXJ2ZXItPmdldFVSSUZvclBhdGgoIi9lY2hvUG9ydCIpLmRhdGEoKSk7CiAg
ICAgQVNTRVJUX0NNUF9DU1RSSU5HKG1haW5SZXNvdXJjZURhdGEsID09LCBwcm94eVNlcnZlclBv
cnRBc1N0cmluZy5nZXQoKSk7CiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBsb2NhbGhvc3RFY2hvUG9y
dFVSSShnX3N0cmR1cF9wcmludGYoImh0dHA6Ly9sb2NhbGhvc3Q6JXMvZWNob1BvcnQiLCBzZXJ2
ZXJQb3J0QXNTdHJpbmcuZ2V0KCkpKTsKQEAgLTcyNywyMCArNzI4LDIwIEBAIHN0YXRpYyB2b2lk
IHRlc3RXZWJDb250ZXh0UHJveHlTZXR0aW5ncyhQcm94eVRlc3QqIHRlc3QsIGdjb25zdHBvaW50
ZXIpCiAgICAgd2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfZnJlZShzZXR0aW5ncyk7CiAK
ICAgICAvLyBSZW1vdmUgdGhlIHByb3h5IGFnYWluIHRvIGVuc3VyZSBuZXh0IHRlc3QgaXMgbm90
IHVzaW5nIGFueSBwcmV2aW91cyB2YWx1ZXMuCi0gICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF9u
ZXR3b3JrX3Byb3h5X3NldHRpbmdzKHRlc3QtPm1fd2ViQ29udGV4dC5nZXQoKSwgV0VCS0lUX05F
VFdPUktfUFJPWFlfTU9ERV9OT19QUk9YWSwgbnVsbHB0cik7CisgICAgd2Via2l0X3dlYnNpdGVf
ZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzKGRhdGFNYW5hZ2VyLCBXRUJL
SVRfTkVUV09SS19QUk9YWV9NT0RFX05PX1BST1hZLCBudWxscHRyKTsKICAgICBtYWluUmVzb3Vy
Y2VEYXRhID0gdGVzdC0+bG9hZFVSSUFuZEdldE1haW5SZXNvdXJjZURhdGEoa1NlcnZlci0+Z2V0
VVJJRm9yUGF0aCgiL2VjaG9Qb3J0IikuZGF0YSgpKTsKICAgICBBU1NFUlRfQ01QX0NTVFJJTkco
bWFpblJlc291cmNlRGF0YSwgPT0sIHNlcnZlclBvcnRBc1N0cmluZy5nZXQoKSk7CiAKICAgICAv
LyBVc2Ugc2NoZW1lIHNwZWNpZmljIHByb3h5IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQuCiAgICAg
c2V0dGluZ3MgPSB3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19uZXcobnVsbHB0ciwgbnVs
bHB0cik7CiAgICAgd2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfYWRkX3Byb3h5X2Zvcl9z
Y2hlbWUoc2V0dGluZ3MsICJodHRwIiwgcHJveHlVUkkuZ2V0KCkpOwotICAgIHdlYmtpdF93ZWJf
Y29udGV4dF9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncyh0ZXN0LT5tX3dlYkNvbnRleHQuZ2V0
KCksIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfQ1VTVE9NLCBzZXR0aW5ncyk7CisgICAgd2Vi
a2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzKGRhdGFN
YW5hZ2VyLCBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0NVU1RPTSwgc2V0dGluZ3MpOwogICAg
IG1haW5SZXNvdXJjZURhdGEgPSB0ZXN0LT5sb2FkVVJJQW5kR2V0TWFpblJlc291cmNlRGF0YShr
U2VydmVyLT5nZXRVUklGb3JQYXRoKCIvZWNob1BvcnQiKS5kYXRhKCkpOwogICAgIEFTU0VSVF9D
TVBfQ1NUUklORyhtYWluUmVzb3VyY2VEYXRhLCA9PSwgcHJveHlTZXJ2ZXJQb3J0QXNTdHJpbmcu
Z2V0KCkpOwogICAgIHdlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2ZyZWUoc2V0dGluZ3Mp
OwogCiAgICAgLy8gUmVzZXQgdG8gdXNlIHRoZSBkZWZhdWx0IHJlc29sdmVyLgotICAgIHdlYmtp
dF93ZWJfY29udGV4dF9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncyh0ZXN0LT5tX3dlYkNvbnRl
eHQuZ2V0KCksIFdFQktJVF9ORVRXT1JLX1BST1hZX01PREVfREVGQVVMVCwgbnVsbHB0cik7Cisg
ICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdz
KGRhdGFNYW5hZ2VyLCBXRUJLSVRfTkVUV09SS19QUk9YWV9NT0RFX0RFRkFVTFQsIG51bGxwdHIp
OwogICAgIG1haW5SZXNvdXJjZURhdGEgPSB0ZXN0LT5sb2FkVVJJQW5kR2V0TWFpblJlc291cmNl
RGF0YShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvZWNob1BvcnQiKS5kYXRhKCkpOwogICAgIEFT
U0VSVF9DTVBfQ1NUUklORyhtYWluUmVzb3VyY2VEYXRhLCA9PSwgc2VydmVyUG9ydEFzU3RyaW5n
LmdldCgpKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>