<?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>173640</bug_id>
          
          <creation_ts>2017-06-21 00:51:00 -0700</creation_ts>
          <short_desc>[WPE] Add initial web extensions API</short_desc>
          <delta_ts>2017-06-24 01:06:44 -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>WPE WebKit</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321431</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-21 00:51:00 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321433</commentid>
    <comment_count>1</comment_count>
      <attachid>313500</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-21 00:57:33 -0700</bug_when>
    <thetext>Created attachment 313500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321792</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 00:40:54 -0700</bug_when>
    <thetext>Committed r218684: &lt;http://trac.webkit.org/changeset/218684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322509</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-06-23 17:01:11 -0700</bug_when>
    <thetext>Hm, maybe we shouldn&apos;t expose this API now, if there&apos;s a decent chance it&apos;s going to be deprecated in the next couple of years.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322587</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-24 01:06:44 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #3)
&gt; Hm, maybe we shouldn&apos;t expose this API now, if there&apos;s a decent chance it&apos;s
&gt; going to be deprecated in the next couple of years.

Nobody is going to deprecate the web extensions API.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313500</attachid>
            <date>2017-06-21 00:57:33 -0700</date>
            <delta_ts>2017-06-21 02:11:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-web-extensions.diff</filename>
            <type>text/plain</type>
            <size>36085</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5MGRmODJlOGE3Zi4uNjk2
NWJlNzhlYTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNCBAQAogMjAxNy0wNi0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKKyAgICAgICAgW1dQRV0gQWRkIGluaXRpYWwgd2ViIGV4dGVuc2lvbnMgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9j
bWFrZS9PcHRpb25zV1BFLmNtYWtlOgorCisyMDE3LTA2LTIxICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwogICAgICAgICBbR1RLXSBNb3ZlIFdlYkd0a0V4dGVu
c2lvbk1hbmFnZXIgYW5kIFdlYkd0a0luamVjdGVkQnVuZGxlTWFpbiB0byBnbGliIEFQSSBkaXIK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzYwNgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNTMyNTkxYTU5YmYuLjcwNWYzN2Q5ZmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMjggQEAKIDIwMTctMDYtMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCisgICAgICAgIFtXUEVdIEFkZCBpbml0aWFsIHdlYiBleHRlbnNpb25zIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVpbGQg
dGhlIGdsaWIgd2ViIGV4dGVuc2lvbnMgQVBJIGZpbGVzIGFuZCB0aGUgYnVpbHRpbiBpbmplY3Rl
ZCBidW5kbGUgbGlicmFyeSBmb3IgV1BFLgorCisgICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAg
ICAgICAod2Via2l0V2ViQ29udGV4dENvbnN0cnVjdGVkKTogVXNlIGEgZGlmZmVyZW50IGluamVj
dGVkIGJ1bmRsZSBmaWxlbmFtZSBpbiBXUEUgYW5kIEdUSysuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcDoKKyAgICAgICAgKHdl
YmtpdF93ZWJfcGFnZV9jbGFzc19pbml0KTogRG8gbm90IGV4cG9zZSBET00gYmluZGluZ3MgaW4g
V1BFLgorICAgICAgICAod2Via2l0V2ViUGFnZUNyZWF0ZSk6IERpdHRvLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRDb25zb2xlTWVzc2FnZS5oOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0
RnJhbWUuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
d3BlL1dlYktpdFNjcmlwdFdvcmxkLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJFZGl0b3IuaDogQWRkZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdlYkV4dGVuc2lvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0
V2ViUGFnZS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS93cGUvd2Via2l0LXdlYi1leHRlbnNpb24uaDogQWRkZWQuCisKKzIwMTctMDYtMjEgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCiAgICAgICAgIFtHVEtdIE1v
dmUgV2ViR3RrRXh0ZW5zaW9uTWFuYWdlciBhbmQgV2ViR3RrSW5qZWN0ZWRCdW5kbGVNYWluIHRv
IGdsaWIgQVBJIGRpcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTczNjA2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtV1BFLmNt
YWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggYmEyYWIzMzBiZmQu
LjljNTNjNzUzN2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybVdQRS5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMSw2ICsxLDcgQEAK
IGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9KQogZmls
ZShNQUtFX0RJUkVDVE9SWSAke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0pCiBmaWxlKE1B
S0VfRElSRUNUT1JZICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVJ9KQorZmlsZShNQUtFX0RJ
UkVDVE9SWSAke0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRVhURU5TSU9OX0RJUn0pCiAKIGNvbmZp
Z3VyZV9maWxlKHdwZS93cGUtd2Via2l0LnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdl
YmtpdC5wYyBAT05MWSkKIApAQCAtMjIsNyArMjMsMTkgQEAgYWRkX2N1c3RvbV9jb21tYW5kKAog
ICAgIENPTU1BTkQgbG4gLW4gLXMgLWYgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS93cGUg
JHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RJUn0vd3BlCiApCiAKK2FkZF9jdXN0b21fY29tbWFu
ZCgKKyAgICBPVVRQVVQgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lPTl9ESVJ9L3dw
ZQorICAgIERFUEVORFMgJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvd3BlCisgICAgQ09NTUFORCBsbiAtbiAtcyAtZiAke1dFQktJVDJfRElSfS9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS93cGUgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lP
Tl9ESVJ9L3dwZQorKQorCithZGRfY3VzdG9tX3RhcmdldCh3ZWJraXQyd3BlLWZha2UtYXBpLWhl
YWRlcnMKKyAgICBERVBFTkRTICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVJ9L3dwZQorICAg
ICAgICAgICAgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lPTl9ESVJ9L3dwZQorKQor
CiBzZXQoV0VCS0lUMl9FWFRSQV9ERVBFTkRFTkNJRVMKKyAgICB3ZWJraXQyd3BlLWZha2UtYXBp
LWhlYWRlcnMKICAgICB3ZWJraXQyd3BlLWZvcndhcmRpbmctaGVhZGVycwogKQogCkBAIC0yMTEs
NiArMjI0LDE0IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3Mv
Q29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAogICAgIFdlYlByb2Nlc3MvQ29v
a2llcy9zb3VwL1dlYktpdFNvdXBDb29raWVKYXJTcWxpdGUuY3BwCiAKKyAgICBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdENvbnNvbGVNZXNzYWdlLmNwcAorICAgIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0RXh0ZW5zaW9uTWFuYWdlci5j
cHAKKyAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdEZyYW1lLmNw
cAorICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0U2NyaXB0V29y
bGQuY3BwCisgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJF
ZGl0b3IuY3BwCisgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRX
ZWJFeHRlbnNpb24uY3BwCisgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9X
ZWJLaXRXZWJQYWdlLmNwcAorCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9nbGliL0lu
amVjdGVkQnVuZGxlR2xpYi5jcHAKIAogICAgIFdlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRp
YUtleVN0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMzUwLDYgKzM3MSw3IEBAIGFkZF9jdXN0b21fY29t
bWFuZCgKIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0ZP
UldBUkRJTkdfSEVBREVSU19ESVJ9IgogICAgICIke0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRElS
fSIKKyAgICAiJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lPTl9ESVJ9IgogICAgICIk
e0RFUklWRURfU09VUkNFU19ESVJ9IgogICAgICIke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJ
Un0iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvIgpAQCAtMzgx
LDYgKzQwMyw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvZ3N0cmVhbWVyIgogICAgICIke1dFQktJVDJfRElS
fS9VSVByb2Nlc3MvbGludXgiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9zb3VwIgor
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliIgor
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mvc291cCIKICAgICAiJHtXRUJLSVQyX0RJUn0v
V2ViUHJvY2Vzcy91bml4IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L3NvdXAiCkBAIC00ODAsNiArNTA0LDEwIEBAIHRhcmdldF9saW5rX2xpYnJhcmllcyhX
UEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgJHtXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXNfTElCUkFS
CiB0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhXUEVXZWJJbnNwZWN0b3JSZXNvdXJjZXMgUFVC
TElDICR7V1BFV2ViSW5zcGVjdG9yUmVzb3VyY2VzX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogaW5z
dGFsbChUQVJHRVRTIFdQRVdlYkluc3BlY3RvclJlc291cmNlcyBERVNUSU5BVElPTiAiJHtMSUJf
SU5TVEFMTF9ESVJ9IikKIAorYWRkX2xpYnJhcnkoV1BFSW5qZWN0ZWRCdW5kbGUgTU9EVUxFICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdElu
amVjdGVkQnVuZGxlTWFpbi5jcHAiKQorYWRkX3dlYmtpdDJfcHJlZml4X2hlYWRlcihXUEVJbmpl
Y3RlZEJ1bmRsZSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhXUEVJbmplY3RlZEJ1bmRsZSBXZWJL
aXQyKQorCiBpZiAoRVhQT1JUX0RFUFJFQ0FURURfV0VCS0lUMl9DX0FQSSkKICAgICBzZXQoV1BF
X0lOU1RBTExFRF9XRUJLSVRfSEVBREVSUwogICAgICAgICAke1dFQktJVDJfRElSfS9TaGFyZWQv
QVBJL2MvV0tBcnJheS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggMDZkMjU0ZWIwYzYuLjU1Njc5Mzk2ZTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vi
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFdlYkNvbnRleHQuY3BwCkBAIC0yMjksNiArMjI5LDEyIEBAIHByaXZhdGU6CiAKIFdFQktJVF9E
RUZJTkVfVFlQRShXZWJLaXRXZWJDb250ZXh0LCB3ZWJraXRfd2ViX2NvbnRleHQsIEdfVFlQRV9P
QkpFQ1QpCiAKKyNpZiBQTEFURk9STShHVEspCisjZGVmaW5lIElOSkVDVEVEX0JVTkRMRV9GSUxF
TkFNRSAibGlid2Via2l0Mmd0a2luamVjdGVkYnVuZGxlLnNvIgorI2VsaWYgUExBVEZPUk0oV1BF
KQorI2RlZmluZSBJTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUgImxpYldQRUluamVjdGVkQnVuZGxl
LnNvIgorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBpbmplY3RlZEJ1bmRsZURpcmVjdG9y
eSgpCiB7CiAjaWYgRU5BQkxFKERFVkVMT1BFUl9NT0RFKQpAQCAtMjQyLDcgKzI0OCw3IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBpbmplY3RlZEJ1bmRsZURpcmVjdG9yeSgpCiAgICAgICAgIEdfRElS
X1NFUEFSQVRPUl9TICJpbmplY3RlZC1idW5kbGUiIEdfRElSX1NFUEFSQVRPUl9TOwogICAgIHJl
dHVybiBpbmplY3RlZEJ1bmRsZVBhdGg7CiAjZWxpZiBQTEFURk9STShXUEUpCi0gICAgLy8gRklY
TUU6IEFkZCB3ZWIgZXh0ZW5zaW9ucyBBUEkgc3VwcG9ydCB0byBXUEUuCisgICAgLy8gRklYTUU6
IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGluc3RhbGxlZCBpbmplY3RlZCBidW5kbGUgaW4gV1BF
LgogICAgIHJldHVybiBudWxscHRyOwogI2VuZGlmCiB9CkBAIC0yOTYsNyArMzAyLDcgQEAgc3Rh
dGljIHZvaWQgd2Via2l0V2ViQ29udGV4dENvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIHsK
ICAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRfd2ViX2NvbnRleHRfcGFyZW50X2NsYXNzKS0+Y29u
c3RydWN0ZWQob2JqZWN0KTsKIAotICAgIEdVbmlxdWVQdHI8Y2hhcj4gYnVuZGxlRmlsZW5hbWUo
Z19idWlsZF9maWxlbmFtZShpbmplY3RlZEJ1bmRsZURpcmVjdG9yeSgpLCAibGlid2Via2l0Mmd0
a2luamVjdGVkYnVuZGxlLnNvIiwgbnVsbHB0cikpOworICAgIEdVbmlxdWVQdHI8Y2hhcj4gYnVu
ZGxlRmlsZW5hbWUoZ19idWlsZF9maWxlbmFtZShpbmplY3RlZEJ1bmRsZURpcmVjdG9yeSgpLCBJ
TkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUsIG51bGxwdHIpKTsKIAogICAgIEFQSTo6UHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb247CiAgICAgY29uZmlndXJhdGlvbi5zZXRJbmpl
Y3RlZEJ1bmRsZVBhdGgoV2ViQ29yZTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihidW5kbGVGaWxlbmFtZS5nZXQoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0V2ViUGFn
ZS5jcHAKaW5kZXggNjJiZWZhZWM3MGEuLmU3NzY3ZDUzNDVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2ds
aWIvV2ViS2l0V2ViUGFnZS5jcHAKQEAgLTMzLDE1ICszMywxMiBAQAogI2luY2x1ZGUgIldlYklt
YWdlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q29uc29sZU1lc3NhZ2VQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0Q29udGV4dE1lbnVQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NRG9jdW1l
bnRQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0RE9NRWxlbWVudFByaXZhdGUuaCIKICNpbmNs
dWRlICJXZWJLaXRGcmFtZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0U2NyaXB0V29ybGRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0VVJJ
UmVxdWVzdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaCIK
ICNpbmNsdWRlICJXZWJLaXRXZWJFZGl0b3JQcml2YXRlLmgiCi0jaW5jbHVkZSAiV2ViS2l0V2Vi
SGl0VGVzdFJlc3VsdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJQYWdlUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50Lmg+
CkBAIC01NiwxNSArNTMsMjUgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisjaWYgUExBVEZPUk0oR1RLKQorI2lu
Y2x1ZGUgIldlYktpdERPTURvY3VtZW50UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdERPTUVs
ZW1lbnRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViSGl0VGVzdFJlc3VsdFByaXZhdGUu
aCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIGVudW0gewogICAgIERPQ1VNRU5UX0xPQURFRCwKICAgICBTRU5EX1JFUVVFU1Qs
CisjaWYgUExBVEZPUk0oR1RLKQogICAgIENPTlRFWFRfTUVOVSwKKyNlbmRpZgogICAgIENPTlNP
TEVfTUVTU0FHRV9TRU5ULAorI2lmIFBMQVRGT1JNKEdUSykKICAgICBGT1JNX0NPTlRST0xTX0FT
U09DSUFURUQsCisjZW5kaWYKIAogICAgIExBU1RfU0lHTkFMCiB9OwpAQCAtMzI0LDYgKzMzMSw3
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgYm9vbCBnZXRDdXN0b21NZW51RnJvbURlZmF1bHRJ
dGVtcyhXZWJQYWdlJiwgY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3Vs
dCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbT4mIGRlZmF1bHRNZW51LCBW
ZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIG5ld01lbnUsIFJlZlB0cjxBUEk6Ok9iamVj
dD4mIHVzZXJEYXRhKSBvdmVycmlkZQogICAgIHsKKyNpZiBQTEFURk9STShHVEspCiAgICAgICAg
IEdSZWZQdHI8V2ViS2l0Q29udGV4dE1lbnU+IGNvbnRleHRNZW51ID0gYWRvcHRHUmVmKHdlYmtp
dENvbnRleHRNZW51Q3JlYXRlKGtpdEl0ZW1zKGRlZmF1bHRNZW51KSkpOwogICAgICAgICBHUmVm
UHRyPFdlYktpdFdlYkhpdFRlc3RSZXN1bHQ+IHdlYkhpdFRlc3RSZXN1bHQgPSBhZG9wdEdSZWYo
d2Via2l0V2ViSGl0VGVzdFJlc3VsdENyZWF0ZShoaXRUZXN0UmVzdWx0KSk7CiAgICAgICAgIGdi
b29sZWFuIHJldHVyblZhbHVlOwpAQCAtMzM4LDYgKzM0NiwxMCBAQCBwcml2YXRlOgogCiAgICAg
ICAgIHdlYmtpdENvbnRleHRNZW51UG9wdWxhdGUoY29udGV4dE1lbnUuZ2V0KCksIG5ld01lbnUp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbGlmIFBMQVRGT1JNKFdQRSkKKyAgICAgICAgLy8g
RklYTUU6IHVzZSBhIHNoYXJlZCBXZWJLaXRIaXRUZXN0UmVzdWx0IGluIFdQRS4KKyAgICAgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCiAgICAgfQogCiAgICAgV2ViS2l0V2ViUGFnZSogbV93ZWJQ
YWdlOwpAQCAtMzU5LDYgKzM3MSw3IEBAIHByaXZhdGU6CiAgICAgV2ViS2l0V2ViUGFnZSogbV93
ZWJQYWdlOwogfTsKIAorI2lmIFBMQVRGT1JNKEdUSykKIGNsYXNzIFBhZ2VGb3JtQ2xpZW50IGZp
bmFsIDogcHVibGljIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkZvcm1DbGllbnQgewogcHVibGljOgog
ICAgIGV4cGxpY2l0IFBhZ2VGb3JtQ2xpZW50KFdlYktpdFdlYlBhZ2UqIHdlYlBhZ2UpCkBAIC0z
ODAsNiArMzkzLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBXZWJLaXRXZWJQYWdlKiBtX3dl
YlBhZ2U7CiB9OworI2VuZGlmCiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlBhZ2VHZXRQcm9wZXJ0
eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BJZCwgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3Bl
YyogcGFyYW1TcGVjKQogewpAQCAtNDY0LDYgKzQ3OCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfcGFnZV9jbGFzc19pbml0KFdlYktpdFdlYlBhZ2VDbGFzcyoga2xhc3MpCiAgICAgICAgIFdF
QktJVF9UWVBFX1VSSV9SRVFVRVNULAogICAgICAgICBXRUJLSVRfVFlQRV9VUklfUkVTUE9OU0Up
OwogCisjaWYgUExBVEZPUk0oR1RLKQogICAgIC8qKgogICAgICAqIFdlYktpdFdlYlBhZ2U6OmNv
bnRleHQtbWVudToKICAgICAgKiBAd2ViX3BhZ2U6IHRoZSAjV2ViS2l0V2ViUGFnZSBvbiB3aGlj
aCB0aGUgc2lnbmFsIGlzIGVtaXR0ZWQKQEAgLTQ5Myw2ICs1MDgsNyBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfd2ViX3BhZ2VfY2xhc3NfaW5pdChXZWJLaXRXZWJQYWdlQ2xhc3MqIGtsYXNzKQogICAg
ICAgICBHX1RZUEVfQk9PTEVBTiwgMiwKICAgICAgICAgV0VCS0lUX1RZUEVfQ09OVEVYVF9NRU5V
LAogICAgICAgICBXRUJLSVRfVFlQRV9XRUJfSElUX1RFU1RfUkVTVUxUKTsKKyNlbmRpZgogCiAg
ICAgLyoqCiAgICAgICogV2ViS2l0V2ViUGFnZTo6Y29uc29sZS1tZXNzYWdlLXNlbnQ6CkBAIC01
MTUsNiArNTMxLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9wYWdlX2NsYXNzX2luaXQoV2Vi
S2l0V2ViUGFnZUNsYXNzKiBrbGFzcykKICAgICAgICAgR19UWVBFX05PTkUsIDEsCiAgICAgICAg
IFdFQktJVF9UWVBFX0NPTlNPTEVfTUVTU0FHRSB8IEdfU0lHTkFMX1RZUEVfU1RBVElDX1NDT1BF
KTsKIAorI2lmIFBMQVRGT1JNKEdUSykKICAgICAvKioKICAgICAgKiBXZWJLaXRXZWJQYWdlOjpm
b3JtLWNvbnRyb2xzLWFzc29jaWF0ZWQ6CiAgICAgICogQHdlYl9wYWdlOiB0aGUgI1dlYktpdFdl
YlBhZ2Ugb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbWl0dGVkCkBAIC01NDEsNiArNTU4LDcgQEAg
c3RhdGljIHZvaWQgd2Via2l0X3dlYl9wYWdlX2NsYXNzX2luaXQoV2ViS2l0V2ViUGFnZUNsYXNz
KiBrbGFzcykKICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX0JPWEVELAogICAgICAg
ICBHX1RZUEVfTk9ORSwgMSwKICAgICAgICAgR19UWVBFX1BUUl9BUlJBWSk7CisjZW5kaWYKIH0K
IAogV2ViUGFnZSogd2Via2l0V2ViUGFnZUdldFBhZ2UoV2ViS2l0V2ViUGFnZSAqd2ViUGFnZSkK
QEAgLTU1Nyw3ICs1NzUsOSBAQCBXZWJLaXRXZWJQYWdlKiB3ZWJraXRXZWJQYWdlQ3JlYXRlKFdl
YlBhZ2UqIHdlYlBhZ2UpCiAgICAgd2ViUGFnZS0+c2V0SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVy
Q2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UGFnZUxvYWRlckNsaWVudD4ocGFnZSkpOwogICAgIHdl
YlBhZ2UtPnNldEluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQoc3RkOjptYWtlX3VuaXF1
ZTxQYWdlQ29udGV4dE1lbnVDbGllbnQ+KHBhZ2UpKTsKICAgICB3ZWJQYWdlLT5zZXRJbmplY3Rl
ZEJ1bmRsZVVJQ2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8UGFnZVVJQ2xpZW50PihwYWdlKSk7Cisj
aWYgUExBVEZPUk0oR1RLKQogICAgIHdlYlBhZ2UtPnNldEluamVjdGVkQnVuZGxlRm9ybUNsaWVu
dChzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VGb3JtQ2xpZW50PihwYWdlKSk7CisjZW5kaWYKIAogICAg
IHJldHVybiBwYWdlOwogfQpAQCAtNjA1LDYgKzYyNSw3IEBAIHZvaWQgd2Via2l0V2ViUGFnZURp
ZFJlY2VpdmVNZXNzYWdlKFdlYktpdFdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZU5hCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCisjaWYgUExBVEZPUk0oR1RL
KQogLyoqCiAgKiB3ZWJraXRfd2ViX3BhZ2VfZ2V0X2RvbV9kb2N1bWVudDoKICAqIEB3ZWJfcGFn
ZTogYSAjV2ViS2l0V2ViUGFnZQpAQCAtNjI0LDYgKzY0NSw3IEBAIFdlYktpdERPTURvY3VtZW50
KiB3ZWJraXRfd2ViX3BhZ2VfZ2V0X2RvbV9kb2N1bWVudChXZWJLaXRXZWJQYWdlKiB3ZWJQYWdl
KQogCiAgICAgcmV0dXJuIGtpdChjb3JlRnJhbWUtPmRvY3VtZW50KCkpOwogfQorI2VuZGlmCiAK
IC8qKgogICogd2Via2l0X3dlYl9wYWdlX2dldF9pZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRDb25zb2xlTWVzc2Fn
ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dl
YktpdENvbnNvbGVNZXNzYWdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAuLjUzMDFjNWE5ZmYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdENvbnNvbGVNZXNzYWdlLmgKQEAgLTAs
MCArMSwxMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmICFk
ZWZpbmVkKF9fV0VCS0lUX1dFQl9FWFRFTlNJT05fSF9JTlNJREVfXykgJiYgIWRlZmluZWQoV0VC
S0lUMl9DT01QSUxBVElPTikKKyNlcnJvciAiT25seSA8d3BlL3dlYmtpdC13ZWItZXh0ZW5zaW9u
Lmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJlY3RseS4iCisjZW5kaWYKKworI2lmbmRlZiBXZWJLaXRD
b25zb2xlTWVzc2FnZV9oCisjZGVmaW5lIFdlYktpdENvbnNvbGVNZXNzYWdlX2gKKworI2luY2x1
ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8d3BlL1dlYktpdERlZmluZXMuaD4KKworR19C
RUdJTl9ERUNMUworCisjZGVmaW5lIFdFQktJVF9UWVBFX0NPTlNPTEVfTUVTU0FHRSAod2Via2l0
X2NvbnNvbGVfbWVzc2FnZV9nZXRfdHlwZSgpKQorCisvKioKKyAqIFdlYktpdENvbnNvbGVNZXNz
YWdlU291cmNlOgorICogQFdFQktJVF9DT05TT0xFX01FU1NBR0VfU09VUkNFX0pBVkFTQ1JJUFQ6
IE1lc3NhZ2UgcHJvZHVjZWQgYnkgSmF2YVNjcmlwdC4KKyAqIEBXRUJLSVRfQ09OU09MRV9NRVNT
QUdFX1NPVVJDRV9ORVRXT1JLOiBOZXR3b3JrIG1lc3NhZ2VzLgorICogQFdFQktJVF9DT05TT0xF
X01FU1NBR0VfU09VUkNFX0NPTlNPTEVfQVBJOiBNZXNzYWdlcyBwcm9kdWNlZCBieSBjb25zb2xl
IEFQSS4KKyAqIEBXRUJLSVRfQ09OU09MRV9NRVNTQUdFX1NPVVJDRV9TRUNVUklUWTogU2VjdXJp
dHkgbWVzc2FnZXMuCisgKiBAV0VCS0lUX0NPTlNPTEVfTUVTU0FHRV9TT1VSQ0VfT1RIRVI6IE90
aGVyIG1lc3NhZ2VzLgorICoKKyAqIEVudW0gdmFsdWVzIHVzZWQgdG8gZGVub3RlIHRoZSB2YXJp
b3VzIHNvdXJjZXMgb2YgY29uc29sZSBtZXNzYWdlcy4KKyAqCisgKiBTaW5jZTogMi4xMgorICov
Cit0eXBlZGVmIGVudW0geworICAgIFdFQktJVF9DT05TT0xFX01FU1NBR0VfU09VUkNFX0pBVkFT
Q1JJUFQsCisgICAgV0VCS0lUX0NPTlNPTEVfTUVTU0FHRV9TT1VSQ0VfTkVUV09SSywKKyAgICBX
RUJLSVRfQ09OU09MRV9NRVNTQUdFX1NPVVJDRV9DT05TT0xFX0FQSSwKKyAgICBXRUJLSVRfQ09O
U09MRV9NRVNTQUdFX1NPVVJDRV9TRUNVUklUWSwKKyAgICBXRUJLSVRfQ09OU09MRV9NRVNTQUdF
X1NPVVJDRV9PVEhFUgorfSBXZWJLaXRDb25zb2xlTWVzc2FnZVNvdXJjZTsKKworLyoqCisgKiBX
ZWJLaXRDb25zb2xlTWVzc2FnZUxldmVsOgorICogQFdFQktJVF9DT05TT0xFX01FU1NBR0VfTEVW
RUxfSU5GTzogSW5mb3JtYXRpb24gbWVzc2FnZS4KKyAqIEBXRUJLSVRfQ09OU09MRV9NRVNTQUdF
X0xFVkVMX0xPRzogTG9nIG1lc3NhZ2UuCisgKiBAV0VCS0lUX0NPTlNPTEVfTUVTU0FHRV9MRVZF
TF9XQVJOSU5HOiBXYXJuaW5nIG1lc3NhZ2UuCisgKiBAV0VCS0lUX0NPTlNPTEVfTUVTU0FHRV9M
RVZFTF9FUlJPUjogRXJyb3IgbWVzc2FnZS4KKyAqIEBXRUJLSVRfQ09OU09MRV9NRVNTQUdFX0xF
VkVMX0RFQlVHOiBEZWJ1ZyBtZXNzYWdlLgorICoKKyAqIEVudW0gdmFsdWVzIHVzZWQgdG8gZGVu
b3RlIHRoZSB2YXJpb3VzIGxldmVscyBvZiBjb25zb2xlIG1lc3NhZ2VzLgorICoKKyAqIFNpbmNl
OiAyLjEyCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgV0VCS0lUX0NPTlNPTEVfTUVTU0FHRV9M
RVZFTF9JTkZPLAorICAgIFdFQktJVF9DT05TT0xFX01FU1NBR0VfTEVWRUxfTE9HLAorICAgIFdF
QktJVF9DT05TT0xFX01FU1NBR0VfTEVWRUxfV0FSTklORywKKyAgICBXRUJLSVRfQ09OU09MRV9N
RVNTQUdFX0xFVkVMX0VSUk9SLAorICAgIFdFQktJVF9DT05TT0xFX01FU1NBR0VfTEVWRUxfREVC
VUcKK30gV2ViS2l0Q29uc29sZU1lc3NhZ2VMZXZlbDsKKwordHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dENvbnNvbGVNZXNzYWdlIFdlYktpdENvbnNvbGVNZXNzYWdlOworCitXRUJLSVRfQVBJIEdUeXBl
Cit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2dldF90eXBlICAgICAgKHZvaWQpOworCitXRUJLSVRf
QVBJIFdlYktpdENvbnNvbGVNZXNzYWdlICoKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfY29weSAg
ICAgICAgICAoV2ViS2l0Q29uc29sZU1lc3NhZ2UgKmNvbnNvbGVfbWVzc2FnZSk7CisKK1dFQktJ
VF9BUEkgdm9pZAord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9mcmVlICAgICAgICAgIChXZWJLaXRD
b25zb2xlTWVzc2FnZSAqY29uc29sZV9tZXNzYWdlKTsKKworV0VCS0lUX0FQSSBXZWJLaXRDb25z
b2xlTWVzc2FnZVNvdXJjZQord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRfc291cmNlICAgIChX
ZWJLaXRDb25zb2xlTWVzc2FnZSAqY29uc29sZV9tZXNzYWdlKTsKKworV0VCS0lUX0FQSSBXZWJL
aXRDb25zb2xlTWVzc2FnZUxldmVsCit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2dldF9sZXZlbCAg
ICAgKFdlYktpdENvbnNvbGVNZXNzYWdlICpjb25zb2xlX21lc3NhZ2UpOworCitXRUJLSVRfQVBJ
IGNvbnN0IGdjaGFyICoKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X3RleHQgICAgICAoV2Vi
S2l0Q29uc29sZU1lc3NhZ2UgKmNvbnNvbGVfbWVzc2FnZSk7CisKK1dFQktJVF9BUEkgZ3VpbnQK
K3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X2xpbmUgICAgICAoV2ViS2l0Q29uc29sZU1lc3Nh
Z2UgKmNvbnNvbGVfbWVzc2FnZSk7CisKK1dFQktJVF9BUEkgY29uc3QgZ2NoYXIgKgord2Via2l0
X2NvbnNvbGVfbWVzc2FnZV9nZXRfc291cmNlX2lkIChXZWJLaXRDb25zb2xlTWVzc2FnZSAqY29u
c29sZV9tZXNzYWdlKTsKKworR19FTkRfREVDTFMKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0RnJhbWUu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJL
aXRGcmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yM2RhMGFl
NGNhNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRGcmFtZS5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiwxIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZiAhZGVmaW5lZChfX1dFQktJVF9XRUJf
RVhURU5TSU9OX0hfSU5TSURFX18pICYmICFkZWZpbmVkKFdFQktJVDJfQ09NUElMQVRJT04pCisj
ZXJyb3IgIk9ubHkgPHdwZS93ZWJraXQtd2ViLWV4dGVuc2lvbi5oPiBjYW4gYmUgaW5jbHVkZWQg
ZGlyZWN0bHkuIgorI2VuZGlmCisKKyNpZm5kZWYgV2ViS2l0RnJhbWVfaAorI2RlZmluZSBXZWJL
aXRGcmFtZV9oCisKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KKyNpbmNsdWRl
IDxnbGliLW9iamVjdC5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXREZWZpbmVzLmg+CisjaW5jbHVk
ZSA8d3BlL1dlYktpdFNjcmlwdFdvcmxkLmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBX
RUJLSVRfVFlQRV9GUkFNRSAgICAgICAgICAgICh3ZWJraXRfZnJhbWVfZ2V0X3R5cGUoKSkKKyNk
ZWZpbmUgV0VCS0lUX0ZSQU1FKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNF
X0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX0ZSQU1FLCBXZWJLaXRGcmFtZSkpCisjZGVmaW5lIFdF
QktJVF9JU19GUkFNRShvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChv
YmopLCBXRUJLSVRfVFlQRV9GUkFNRSkpCisjZGVmaW5lIFdFQktJVF9GUkFNRV9DTEFTUyhrbGFz
cykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9GUkFN
RSwgV2ViS2l0RnJhbWVDbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19GUkFNRV9DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9GUkFNRSkp
CisjZGVmaW5lIFdFQktJVF9GUkFNRV9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9H
RVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9GUkFNRSwgV2ViS2l0RnJhbWVDbGFzcykpCisK
K3R5cGVkZWYgc3RydWN0IF9XZWJLaXRGcmFtZSAgICAgICAgV2ViS2l0RnJhbWU7Cit0eXBlZGVm
IHN0cnVjdCBfV2ViS2l0RnJhbWVDbGFzcyAgIFdlYktpdEZyYW1lQ2xhc3M7Cit0eXBlZGVmIHN0
cnVjdCBfV2ViS2l0RnJhbWVQcml2YXRlIFdlYktpdEZyYW1lUHJpdmF0ZTsKKworc3RydWN0IF9X
ZWJLaXRGcmFtZSB7CisgICAgR09iamVjdCBwYXJlbnQ7CisKKyAgICBXZWJLaXRGcmFtZVByaXZh
dGUgKnByaXY7Cit9OworCitzdHJ1Y3QgX1dlYktpdEZyYW1lQ2xhc3MgeworICAgIEdPYmplY3RD
bGFzcyBwYXJlbnRfY2xhc3M7Cit9OworCitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRfZnJhbWVf
Z2V0X3R5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKTsKKworV0VCS0lU
X0FQSSBnYm9vbGVhbgord2Via2l0X2ZyYW1lX2lzX21haW5fZnJhbWUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoV2ViS2l0RnJhbWUgICAgICAgKmZyYW1lKTsKKworV0VCS0lUX0FQSSBjb25z
dCBnY2hhciAqCit3ZWJraXRfZnJhbWVfZ2V0X3VyaSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChXZWJLaXRGcmFtZSAgICAgICAqZnJhbWUpOworCitXRUJLSVRfQVBJIEpTR2xvYmFs
Q29udGV4dFJlZgord2Via2l0X2ZyYW1lX2dldF9qYXZhc2NyaXB0X2dsb2JhbF9jb250ZXh0ICAg
ICAgICAgICAoV2ViS2l0RnJhbWUgICAgICAgKmZyYW1lKTsKKworV0VCS0lUX0FQSSBKU0dsb2Jh
bENvbnRleHRSZWYKK3dlYmtpdF9mcmFtZV9nZXRfamF2YXNjcmlwdF9jb250ZXh0X2Zvcl9zY3Jp
cHRfd29ybGQgKFdlYktpdEZyYW1lICAgICAgICpmcmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFNjcmlwdFdvcmxkICp3b3Js
ZCk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFNjcmlwdFdvcmxkLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0U2Ny
aXB0V29ybGQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMjE4ZDc5
MGU1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0U2NyaXB0V29ybGQuaApAQCAtMCwwICsxLDY5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIElnYWxpYSBTLkwuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIsMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWYgIWRlZmluZWQoX19XRUJL
SVRfV0VCX0VYVEVOU0lPTl9IX0lOU0lERV9fKSAmJiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFU
SU9OKQorI2Vycm9yICJPbmx5IDx3cGUvd2Via2l0LXdlYi1leHRlbnNpb24uaD4gY2FuIGJlIGlu
Y2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRpZgorCisjaWZuZGVmIFdlYktpdFNjcmlwdFdvcmxkX2gK
KyNkZWZpbmUgV2ViS2l0U2NyaXB0V29ybGRfaAorCisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4K
KyNpbmNsdWRlIDx3cGUvV2ViS2l0RGVmaW5lcy5oPgorCitHX0JFR0lOX0RFQ0xTCisKKyNkZWZp
bmUgV0VCS0lUX1RZUEVfU0NSSVBUX1dPUkxEICAgICAgICAgICAgKHdlYmtpdF9zY3JpcHRfd29y
bGRfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX1NDUklQVF9XT1JMRChvYmopICAgICAgICAg
ICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9TQ1JJUFRf
V09STEQsIFdlYktpdFNjcmlwdFdvcmxkKSkKKyNkZWZpbmUgV0VCS0lUX0lTX1NDUklQVF9XT1JM
RChvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRf
VFlQRV9TQ1JJUFRfV09STEQpKQorI2RlZmluZSBXRUJLSVRfU0NSSVBUX1dPUkxEX0NMQVNTKGts
YXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX1ND
UklQVF9XT1JMRCwgV2ViS2l0U2NyaXB0V29ybGRDbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19T
Q1JJUFRfV09STERfQ0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3Mp
LCAgV0VCS0lUX1RZUEVfU0NSSVBUX1dPUkxEKSkKKyNkZWZpbmUgV0VCS0lUX1NDUklQVF9XT1JM
RF9HRVRfQ0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJL
SVRfVFlQRV9TQ1JJUFRfV09STEQsIFdlYktpdFNjcmlwdFdvcmxkQ2xhc3MpKQorCit0eXBlZGVm
IHN0cnVjdCBfV2ViS2l0U2NyaXB0V29ybGQgICAgICAgIFdlYktpdFNjcmlwdFdvcmxkOwordHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFNjcmlwdFdvcmxkQ2xhc3MgICBXZWJLaXRTY3JpcHRXb3JsZENs
YXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFNjcmlwdFdvcmxkUHJpdmF0ZSBXZWJLaXRTY3Jp
cHRXb3JsZFByaXZhdGU7CisKK3N0cnVjdCBfV2ViS2l0U2NyaXB0V29ybGQgeworICAgIEdPYmpl
Y3QgcGFyZW50OworCisgICAgV2ViS2l0U2NyaXB0V29ybGRQcml2YXRlICpwcml2OworfTsKKwor
c3RydWN0IF9XZWJLaXRTY3JpcHRXb3JsZENsYXNzIHsKKyAgICBHT2JqZWN0Q2xhc3MgcGFyZW50
X2NsYXNzOworCisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQwKSAodm9pZCk7CisgICAgdm9p
ZCAoKl93ZWJraXRfcmVzZXJ2ZWQxKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2
ZWQyKSAodm9pZCk7CisgICAgdm9pZCAoKl93ZWJraXRfcmVzZXJ2ZWQzKSAodm9pZCk7Cit9Owor
CitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF90eXBlICAgICh2b2lk
KTsKKworV0VCS0lUX0FQSSBXZWJLaXRTY3JpcHRXb3JsZCAqCit3ZWJraXRfc2NyaXB0X3dvcmxk
X2dldF9kZWZhdWx0ICh2b2lkKTsKKworV0VCS0lUX0FQSSBXZWJLaXRTY3JpcHRXb3JsZCAqCit3
ZWJraXRfc2NyaXB0X3dvcmxkX25ldyAgICAgICAgICh2b2lkKTsKKworR19FTkRfREVDTFMKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS93cGUvV2ViS2l0V2ViRWRpdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViRWRpdG9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjBkNDExYjBlZDRjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdl
YkVkaXRvci5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgUmVk
IEhhdCBJbmMuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIsMSBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisjaWYgIWRlZmluZWQoX19XRUJLSVRfV0VCX0VYVEVOU0lPTl9IX0lOU0lERV9f
KSAmJiAhZGVmaW5lZChXRUJLSVQyX0NPTVBJTEFUSU9OKQorI2Vycm9yICJPbmx5IDxhcGUvd2Vi
a2l0LXdlYi1leHRlbnNpb24uaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKKyNlbmRpZgor
CisjaWZuZGVmIFdlYktpdFdlYkVkaXRvcl9oCisjZGVmaW5lIFdlYktpdFdlYkVkaXRvcl9oCisK
KyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXREZWZpbmVzLmg+
CisjaW5jbHVkZSA8d3BlL1dlYktpdFdlYlBhZ2UuaD4KKworR19CRUdJTl9ERUNMUworCisjZGVm
aW5lIFdFQktJVF9UWVBFX1dFQl9FRElUT1IgICAgICAgICAgICAgICAod2Via2l0X3dlYl9lZGl0
b3JfZ2V0X3R5cGUoKSkKKyNkZWZpbmUgV0VCS0lUX1dFQl9FRElUT1Iob2JqKSAgICAgICAgICAg
ICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0VE
SVRPUiwgV2ViS2l0V2ViRWRpdG9yKSkKKyNkZWZpbmUgV0VCS0lUX0lTX1dFQl9FRElUT1Iob2Jq
KSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZ
UEVfV0VCX0VESVRPUikpCisjZGVmaW5lIFdFQktJVF9XRUJfRURJVE9SX0NMQVNTKGtsYXNzKSAg
ICAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX1dFQl9F
RElUT1IsIFdlYktpdFdlYkVkaXRvckNsYXNzKSkKKyNkZWZpbmUgV0VCS0lUX0lTX1dFQl9FRElU
T1JfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VC
S0lUX1RZUEVfV0VCX0VESVRPUikpCisjZGVmaW5lIFdFQktJVF9XRUJfRURJVE9SX0dFVF9DTEFT
UyhvYmopICAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUygob2JqKSwgIFdFQktJVF9UWVBF
X1dFQl9FRElUT1IsIFdlYktpdFdlYkVkaXRvckNsYXNzKSkKKwordHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYkVkaXRvciAgICAgICAgV2ViS2l0V2ViRWRpdG9yOwordHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYkVkaXRvckNsYXNzICAgV2ViS2l0V2ViRWRpdG9yQ2xhc3M7Cit0eXBlZGVmIHN0cnVj
dCBfV2ViS2l0V2ViRWRpdG9yUHJpdmF0ZSBXZWJLaXRXZWJFZGl0b3JQcml2YXRlOworCisvKiBG
b3J3YXJkIGRlY2xhcmF0aW9ucyAqLwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlBhZ2UgICAg
ICAgICAgV2ViS2l0V2ViUGFnZTsKKworc3RydWN0IF9XZWJLaXRXZWJFZGl0b3IgeworICAgIEdP
YmplY3QgcGFyZW50OworCisgICAgV2ViS2l0V2ViRWRpdG9yUHJpdmF0ZSAqcHJpdjsKK307CisK
K3N0cnVjdCBfV2ViS2l0V2ViRWRpdG9yQ2xhc3MgeworICAgIEdPYmplY3RDbGFzcyBwYXJlbnRf
Y2xhc3M7Cit9OworCitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRfd2ViX2VkaXRvcl9nZXRfdHlw
ZSAodm9pZCk7CisKK1dFQktJVF9BUEkgV2ViS2l0V2ViUGFnZSAqCit3ZWJraXRfd2ViX2VkaXRv
cl9nZXRfcGFnZSAoV2ViS2l0V2ViRWRpdG9yICplZGl0b3IpOworCitHX0VORF9ERUNMUworCisj
ZW5kaWYgLy8gV2ViS2l0V2ViRWRpdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJFeHRlbnNpb24uaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJF
eHRlbnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTZmZmI0
ODUwNDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViRXh0ZW5zaW9uLmgKQEAgLTAsMCArMSw4NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyLDEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmICFkZWZpbmVkKF9fV0VC
S0lUX1dFQl9FWFRFTlNJT05fSF9JTlNJREVfXykgJiYgIWRlZmluZWQoV0VCS0lUMl9DT01QSUxB
VElPTikKKyNlcnJvciAiT25seSA8d3BlL3dlYmtpdC13ZWItZXh0ZW5zaW9uLmg+IGNhbiBiZSBp
bmNsdWRlZCBkaXJlY3RseS4iCisjZW5kaWYKKworI2lmbmRlZiBXZWJLaXRXZWJFeHRlbnNpb25f
aAorI2RlZmluZSBXZWJLaXRXZWJFeHRlbnNpb25faAorCisjaW5jbHVkZSA8Z2xpYi1vYmplY3Qu
aD4KKyNpbmNsdWRlIDx3cGUvV2ViS2l0RGVmaW5lcy5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXRX
ZWJQYWdlLmg+CisKK0dfQkVHSU5fREVDTFMKKworI2RlZmluZSBXRUJLSVRfVFlQRV9XRUJfRVhU
RU5TSU9OICAgICAgICAgICAgKHdlYmtpdF93ZWJfZXh0ZW5zaW9uX2dldF90eXBlKCkpCisjZGVm
aW5lIFdFQktJVF9XRUJfRVhURU5TSU9OKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lO
U1RBTkNFX0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9FWFRFTlNJT04sIFdlYktpdFdlYkV4
dGVuc2lvbikpCisjZGVmaW5lIFdFQktJVF9JU19XRUJfRVhURU5TSU9OKG9iaikgICAgICAgICAo
R19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9FWFRFTlNJ
T04pKQorI2RlZmluZSBXRUJLSVRfV0VCX0VYVEVOU0lPTl9DTEFTUyhrbGFzcykgICAgKEdfVFlQ
RV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJLSVRfVFlQRV9XRUJfRVhURU5TSU9OLCBX
ZWJLaXRXZWJFeHRlbnNpb25DbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19XRUJfRVhURU5TSU9O
X0NMQVNTKGtsYXNzKSAoR19UWVBFX0NIRUNLX0NMQVNTX1RZUEUoKGtsYXNzKSwgIFdFQktJVF9U
WVBFX1dFQl9FWFRFTlNJT04pKQorI2RlZmluZSBXRUJLSVRfV0VCX0VYVEVOU0lPTl9HRVRfQ0xB
U1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9X
RUJfRVhURU5TSU9OLCBXZWJLaXRXZWJFeHRlbnNpb25DbGFzcykpCisKK3R5cGVkZWYgc3RydWN0
IF9XZWJLaXRXZWJFeHRlbnNpb24gICAgICAgIFdlYktpdFdlYkV4dGVuc2lvbjsKK3R5cGVkZWYg
c3RydWN0IF9XZWJLaXRXZWJFeHRlbnNpb25DbGFzcyAgIFdlYktpdFdlYkV4dGVuc2lvbkNsYXNz
OwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkV4dGVuc2lvblByaXZhdGUgV2ViS2l0V2ViRXh0
ZW5zaW9uUHJpdmF0ZTsKKworLyoqCisgKiBXZWJLaXRXZWJFeHRlbnNpb25Jbml0aWFsaXplRnVu
Y3Rpb246CisgKiBAZXh0ZW5zaW9uOiBhICNXZWJLaXRXZWJFeHRlbnNpb24KKyAqCisgKiBUeXBl
IGRlZmluaXRpb24gZm9yIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCB0byBpbml0aWFs
aXplCisgKiB0aGUgd2ViIGV4dGVuc2lvbiB3aGVuIHRoZSB3ZWIgcHJvY2VzcyBzdGFydHMuCisg
Ki8KK3R5cGVkZWYgdm9pZCAoKiBXZWJLaXRXZWJFeHRlbnNpb25Jbml0aWFsaXplRnVuY3Rpb24p
IChXZWJLaXRXZWJFeHRlbnNpb24gKmV4dGVuc2lvbik7CisKKy8qKgorICogV2ViS2l0V2ViRXh0
ZW5zaW9uSW5pdGlhbGl6ZVdpdGhVc2VyRGF0YUZ1bmN0aW9uOgorICogQGV4dGVuc2lvbjogYSAj
V2ViS2l0V2ViRXh0ZW5zaW9uCisgKiBAdXNlcl9kYXRhOiBhICNHVmFyaWFudAorICoKKyAqIFR5
cGUgZGVmaW5pdGlvbiBmb3IgYSBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHRvIGluaXRp
YWxpemUKKyAqIHRoZSB3ZWIgZXh0ZW5zaW9ucyB3aGVuIHRoZSB3ZWIgcHJvY2VzcyBzdGFydHMs
IGFuZCB3aGljaCByZWNlaXZlcworICogYXMgYWRkaXRpb25hbCBhcmd1bWVudCB0aGUgdXNlciBk
YXRhIHNldCB3aXRoCisgKiB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dlYl9leHRlbnNpb25zX2lu
aXRpYWxpemF0aW9uX3VzZXJfZGF0YSgpLgorICoKKyAqIFNpbmNlOiAyLjQKKyAqLwordHlwZWRl
ZiB2b2lkICgqIFdlYktpdFdlYkV4dGVuc2lvbkluaXRpYWxpemVXaXRoVXNlckRhdGFGdW5jdGlv
bikgKFdlYktpdFdlYkV4dGVuc2lvbiAqZXh0ZW5zaW9uLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdWYXJp
YW50ICAgICAqdXNlcl9kYXRhKTsKKworc3RydWN0IF9XZWJLaXRXZWJFeHRlbnNpb24geworICAg
IEdPYmplY3QgcGFyZW50OworCisgICAgV2ViS2l0V2ViRXh0ZW5zaW9uUHJpdmF0ZSAqcHJpdjsK
K307CisKK3N0cnVjdCBfV2ViS2l0V2ViRXh0ZW5zaW9uQ2xhc3MgeworICAgIEdPYmplY3RDbGFz
cyBwYXJlbnRfY2xhc3M7Cit9OworCitXRUJLSVRfQVBJIEdUeXBlCit3ZWJraXRfd2ViX2V4dGVu
c2lvbl9nZXRfdHlwZSAodm9pZCk7CisKK1dFQktJVF9BUEkgV2ViS2l0V2ViUGFnZSAqCit3ZWJr
aXRfd2ViX2V4dGVuc2lvbl9nZXRfcGFnZSAoV2ViS2l0V2ViRXh0ZW5zaW9uICpleHRlbnNpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQ2NCAgICAgICAgICAgICBwYWdl
X2lkKTsKKworR19FTkRfREVDTFMKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdlYlBh
Z2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWVmYmQ4MTAzOTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiwxIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZiAhZGVmaW5lZChfX1dFQktJVF9XRUJfRVhU
RU5TSU9OX0hfSU5TSURFX18pICYmICFkZWZpbmVkKFdFQktJVDJfQ09NUElMQVRJT04pCisjZXJy
b3IgIk9ubHkgPHdwZS93ZWJraXQtd2ViLWV4dGVuc2lvbi5oPiBjYW4gYmUgaW5jbHVkZWQgZGly
ZWN0bHkuIgorI2VuZGlmCisKKyNpZm5kZWYgV2ViS2l0V2ViUGFnZV9oCisjZGVmaW5lIFdlYktp
dFdlYlBhZ2VfaAorCisjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDx3cGUvV2Vi
S2l0RGVmaW5lcy5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXRGcmFtZS5oPgorI2luY2x1ZGUgPHdw
ZS9XZWJLaXRXZWJFZGl0b3IuaD4KKworR19CRUdJTl9ERUNMUworCisjZGVmaW5lIFdFQktJVF9U
WVBFX1dFQl9QQUdFICAgICAgICAgICAgKHdlYmtpdF93ZWJfcGFnZV9nZXRfdHlwZSgpKQorI2Rl
ZmluZSBXRUJLSVRfV0VCX1BBR0Uob2JqKSAgICAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFO
Q0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX1BBR0UsIFdlYktpdFdlYlBhZ2UpKQorI2Rl
ZmluZSBXRUJLSVRfSVNfV0VCX1BBR0Uob2JqKSAgICAgICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFO
Q0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX1BBR0UpKQorI2RlZmluZSBXRUJLSVRfV0VC
X1BBR0VfQ0xBU1Moa2xhc3MpICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAg
V0VCS0lUX1RZUEVfV0VCX1BBR0UsIFdlYktpdFdlYlBhZ2VDbGFzcykpCisjZGVmaW5lIFdFQktJ
VF9JU19XRUJfUEFHRV9DTEFTUyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFz
cyksICBXRUJLSVRfVFlQRV9XRUJfUEFHRSkpCisjZGVmaW5lIFdFQktJVF9XRUJfUEFHRV9HRVRf
Q0xBU1Mob2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQ
RV9XRUJfUEFHRSwgV2ViS2l0V2ViUGFnZUNsYXNzKSkKKwordHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFdlYlBhZ2UgICAgICAgIFdlYktpdFdlYlBhZ2U7Cit0eXBlZGVmIHN0cnVjdCBfV2ViS2l0V2Vi
UGFnZUNsYXNzICAgV2ViS2l0V2ViUGFnZUNsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdl
YlBhZ2VQcml2YXRlIFdlYktpdFdlYlBhZ2VQcml2YXRlOworCisvKiBGb3J3YXJkIGRlY2xhcmF0
aW9ucyAqLwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkVkaXRvciAgICAgIFdlYktpdFdlYkVk
aXRvcjsKKworc3RydWN0IF9XZWJLaXRXZWJQYWdlIHsKKyAgICBHT2JqZWN0IHBhcmVudDsKKwor
ICAgIFdlYktpdFdlYlBhZ2VQcml2YXRlICpwcml2OworfTsKKworc3RydWN0IF9XZWJLaXRXZWJQ
YWdlQ2xhc3MgeworICAgIEdPYmplY3RDbGFzcyBwYXJlbnRfY2xhc3M7Cit9OworCitXRUJLSVRf
QVBJIEdUeXBlCit3ZWJraXRfd2ViX3BhZ2VfZ2V0X3R5cGUgICAgICAgICAodm9pZCk7CisKK1dF
QktJVF9BUEkgZ3VpbnQ2NAord2Via2l0X3dlYl9wYWdlX2dldF9pZCAgICAgICAgICAgKFdlYktp
dFdlYlBhZ2UgKndlYl9wYWdlKTsKKworV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCit3ZWJraXRf
d2ViX3BhZ2VfZ2V0X3VyaSAgICAgICAgICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOworCitX
RUJLSVRfQVBJIFdlYktpdEZyYW1lICoKK3dlYmtpdF93ZWJfcGFnZV9nZXRfbWFpbl9mcmFtZSAg
IChXZWJLaXRXZWJQYWdlICp3ZWJfcGFnZSk7CisKK1dFQktJVF9BUEkgV2ViS2l0V2ViRWRpdG9y
ICoKK3dlYmtpdF93ZWJfcGFnZV9nZXRfZWRpdG9yICAgICAgIChXZWJLaXRXZWJQYWdlICp3ZWJf
cGFnZSk7CisKK0dfRU5EX0RFQ0xTCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL3dlYmtpdC13ZWItZXh0ZW5zaW9u
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvd2Vi
a2l0LXdlYi1leHRlbnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uNmYwNmFjZDJhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvd2Via2l0LXdlYi1leHRlbnNpb24uaApAQCAtMCww
ICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIsMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZkZWYg
X19XRUJLSVRfSF9fCisjZXJyb3IgIkhlYWRlcnMgPHdwZS93ZWJraXQuaD4gYW5kIDx3cGUvd2Vi
a2l0LXdlYi1leHRlbnNpb24uaD4gY2Fubm90IGJlIGluY2x1ZGVkIHRvZ2V0aGVyLiIKKyNlbmRp
ZgorCisjaWZuZGVmIF9fV0VCS0lUX1dFQl9FWFRFTlNJT05fSF9fCisjZGVmaW5lIF9fV0VCS0lU
X1dFQl9FWFRFTlNJT05fSF9fCisKKyNkZWZpbmUgX19XRUJLSVRfV0VCX0VYVEVOU0lPTl9IX0lO
U0lERV9fCisKKyNpbmNsdWRlIDx3cGUvV2ViS2l0Q29uc29sZU1lc3NhZ2UuaD4KKyNpbmNsdWRl
IDx3cGUvV2ViS2l0Q29udGV4dE1lbnUuaD4KKyNpbmNsdWRlIDx3cGUvV2ViS2l0Q29udGV4dE1l
bnVBY3Rpb25zLmg+CisjaW5jbHVkZSA8d3BlL1dlYktpdENvbnRleHRNZW51SXRlbS5oPgorI2lu
Y2x1ZGUgPHdwZS9XZWJLaXRGcmFtZS5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXRTY3JpcHRXb3Js
ZC5oPgorI2luY2x1ZGUgPHdwZS9XZWJLaXRVUklSZXF1ZXN0Lmg+CisjaW5jbHVkZSA8d3BlL1dl
YktpdFVSSVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8d3BlL1dlYktpdFdlYkVkaXRvci5oPgorI2lu
Y2x1ZGUgPHdwZS9XZWJLaXRXZWJFeHRlbnNpb24uaD4KKyNpbmNsdWRlIDx3cGUvV2ViS2l0V2Vi
UGFnZS5oPgorCisjdW5kZWYgX19XRUJLSVRfV0VCX0VYVEVOU0lPTl9IX0lOU0lERV9fCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UgYi9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc1dQRS5jbWFrZQppbmRleCA2MzJhMWQwOGE5MS4uNGMwMGNiNTJiZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0xNDgsNiArMTQ4LDcgQEAgU0VUX0FORF9FWFBPU0VfVE9f
QlVJTEQoVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEIFRSVUUpCiAKIHNldChGT1JX
QVJESU5HX0hFQURFUlNfRElSICR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMpCiBzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNf
RElSfS93cGUpCitzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSICR7Rk9S
V0FSRElOR19IRUFERVJTX0RJUn0vd3BlLXdlYmV4dGVuc2lvbikKIHNldChERVJJVkVEX1NPVVJD
RVNfV1BFX0FQSV9ESVIgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L3dwZSkKIAogIyBC
dWlsZCB3aXRoIC1mdmlzaWJpbGl0eT1oaWRkZW4gdG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBz
aGFyZWQgbGlicmFyeS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA0ZTRmZmJlMWUzMy4uNjc0OGY2MmNlYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNi0y
MSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W1dQRV0gQWRkIGluaXRpYWwgd2ViIGV4dGVuc2lvbnMgQVBJCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2NDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R5bGUgY2hlY2tlciBleGNlcHRpb25z
IGZvciBXUEUgd2ViIGV4dGVuc2lvbnMgQVBJIGZpbGVzLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5OgorCiAyMDE3LTA2LTIxICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBMaXN0IGxpYnRhc24xIHBhY2thZ2VzIGlu
IEdUSysgYW5kIFdQRSBpbnN0YWxsLWRlcGVuZGVuY2llcyBzY3JpcHRzCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKaW5kZXggNDE2NWQzY2IyNTcuLmQzMWMyNTg1ZmEzIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC0xNTMsNyArMTUzLDgg
QEAgX1BBVEhfUlVMRVNfU1BFQ0lGSUVSID0gWwogICAgICAgb3MucGF0aC5qb2luKCdTb3VyY2Un
LCAnV2ViS2l0MicsICdVSVByb2Nlc3MnLCAnQVBJJywgJ2d0aycpLAogICAgICAgb3MucGF0aC5q
b2luKCdTb3VyY2UnLCAnV2ViS2l0MicsICdVSVByb2Nlc3MnLCAnQVBJJywgJ3dwZScpLAogICAg
ICAgb3MucGF0aC5qb2luKCdTb3VyY2UnLCAnV2ViS2l0MicsICdXZWJQcm9jZXNzJywgJ0luamVj
dGVkQnVuZGxlJywgJ0FQSScsICdnbGliJyksCi0gICAgICBvcy5wYXRoLmpvaW4oJ1NvdXJjZScs
ICdXZWJLaXQyJywgJ1dlYlByb2Nlc3MnLCAnSW5qZWN0ZWRCdW5kbGUnLCAnQVBJJywgJ2d0aycp
XSwKKyAgICAgIG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYktpdDInLCAnV2ViUHJvY2Vzcycs
ICdJbmplY3RlZEJ1bmRsZScsICdBUEknLCAnZ3RrJyksCisgICAgICBvcy5wYXRoLmpvaW4oJ1Nv
dXJjZScsICdXZWJLaXQyJywgJ1dlYlByb2Nlc3MnLCAnSW5qZWN0ZWRCdW5kbGUnLCAnQVBJJywg
J3dwZScpXSwKICAgICAgWyItcmVhZGFiaWxpdHkvZW51bV9jYXNpbmciXSksCiAKICAgICAoWyMg
VG8gdXNlIEdTdHJlYW1lciBHTCB3aXRob3V0IGNvbmZsaWN0cyBvZiBHTCBzeW1ib2xzLApAQCAt
MzEzLDEzICszMTQsMTUgQEAgX1NLSVBQRURfRklMRVNfV0lUSF9XQVJOSU5HID0gWwogICAgIHJl
LmNvbXBpbGUocmUuZXNjYXBlKG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYktpdDInLCAnVUlQ
cm9jZXNzJywgJ0FQSScsICdndGsnKSArIG9zLnBhdGguc2VwKSArIHInV2ViS2l0KD8hLipQcml2
YXRlXC5oKS4qXC5oJCcpLAogICAgIHJlLmNvbXBpbGUocmUuZXNjYXBlKG9zLnBhdGguam9pbign
U291cmNlJywgJ1dlYktpdDInLCAnVUlQcm9jZXNzJywgJ0FQSScsICd3cGUnKSArIG9zLnBhdGgu
c2VwKSArIHInV2ViS2l0KD8hLipQcml2YXRlXC5oKS4qXC5oJCcpLAogICAgIHJlLmNvbXBpbGUo
cmUuZXNjYXBlKG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYktpdDInLCAnV2ViUHJvY2Vzcycs
ICdJbmplY3RlZEJ1bmRsZScsICdBUEknLCAnZ3RrJykgKyBvcy5wYXRoLnNlcCkgKyByJ1dlYktp
dCg/IS4qUHJpdmF0ZVwuaCkuKlwuaCQnKSwKKyAgICByZS5jb21waWxlKHJlLmVzY2FwZShvcy5w
YXRoLmpvaW4oJ1NvdXJjZScsICdXZWJLaXQyJywgJ1dlYlByb2Nlc3MnLCAnSW5qZWN0ZWRCdW5k
bGUnLCAnQVBJJywgJ3dwZScpICsgb3MucGF0aC5zZXApICsgcidXZWJLaXQoPyEuKlByaXZhdGVc
LmgpLipcLmgkJyksCiAKICAgICAjIEdPYmplY3QgRE9NIGJpbmRpbmdzIGNvcGllZCBmcm9tIGdl
bmVyYXRlZCBjb2RlIHVzaW5nIGRpZmZlcmVudCBjb2Rpbmcgc3R5bGUuCiAgICAgb3MucGF0aC5q
b2luKCdTb3VyY2UnLCAnV2ViS2l0MicsICdXZWJQcm9jZXNzJywgJ0luamVjdGVkQnVuZGxlJywg
J0FQSScsICdndGsnLCAnRE9NJyksCiAKICAgICBvcy5wYXRoLmpvaW4oJ1NvdXJjZScsICdXZWJL
aXQyJywgJ1VJUHJvY2VzcycsICdBUEknLCAnZ3RrJywgJ3dlYmtpdDIuaCcpLAogICAgIG9zLnBh
dGguam9pbignU291cmNlJywgJ1dlYktpdDInLCAnVUlQcm9jZXNzJywgJ0FQSScsICd3cGUnLCAn
d2Via2l0LmgnKSwKLSAgICBvcy5wYXRoLmpvaW4oJ1NvdXJjZScsICdXZWJLaXQyJywgJ1dlYlBy
b2Nlc3MnLCAnSW5qZWN0ZWRCdW5kbGUnLCAnQVBJJywgJ2d0aycsICd3ZWJraXQtd2ViLWV4dGVu
c2lvbi5oJyldCisgICAgb3MucGF0aC5qb2luKCdTb3VyY2UnLCAnV2ViS2l0MicsICdXZWJQcm9j
ZXNzJywgJ0luamVjdGVkQnVuZGxlJywgJ0FQSScsICdndGsnLCAnd2Via2l0LXdlYi1leHRlbnNp
b24uaCcpLAorICAgIG9zLnBhdGguam9pbignU291cmNlJywgJ1dlYktpdDInLCAnV2ViUHJvY2Vz
cycsICdJbmplY3RlZEJ1bmRsZScsICdBUEknLCAnd3BlJywgJ3dlYmtpdC13ZWItZXh0ZW5zaW9u
LmgnKV0KIAogIyBGaWxlcyB0byBza2lwIHRoYXQgYXJlIG1vcmUgY29tbW9uIG9yIG9idmlvdXMu
CiAjCg==
</data>
<flag name="review"
          id="334383"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>