<?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>149877</bug_id>
          
          <creation_ts>2015-10-07 09:07:57 -0700</creation_ts>
          <short_desc>REGRESSION(r190664): mac build is sometimes borken due to missing generated header file (Requested by youenn on #webkit).</short_desc>
          <delta_ts>2015-10-07 09:12:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          <blocked>149751</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>calvaris</cc>
    
    <cc>darin</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131307</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 09:07:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/190664 broke the build:
mac build is sometimes borken due to missing generated header file (Requested by youenn on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131309</commentid>
    <comment_count>1</comment_count>
      <attachid>262611</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 09:08:34 -0700</bug_when>
    <thetext>Created attachment 262611
ROLLOUT of r190664

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131314</commentid>
    <comment_count>2</comment_count>
      <attachid>262611</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 09:12:18 -0700</bug_when>
    <thetext>Comment on attachment 262611
ROLLOUT of r190664

Clearing flags on attachment: 262611

Committed r190668: &lt;http://trac.webkit.org/changeset/190668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131315</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 09:12:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262611</attachid>
            <date>2015-10-07 09:08:34 -0700</date>
            <delta_ts>2015-10-07 09:12:18 -0700</delta_ts>
            <desc>ROLLOUT of r190664</desc>
            <filename>bug-149877-20151007090802.patch</filename>
            <type>text/plain</type>
            <size>46312</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NTM1YmU0Yzk3NjYwNjE3NmNlMGI4YTFjYzE0MTJmOTNiYjdlZmU0Li5mZGIxZDExYTViNTQ1YTM1
MDE5ODhkNjNiZDU2YjMxOTRhMzkyMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNS0xMC0wNyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5MDY2NC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTg3NworCisgICAg
ICAgIG1hYyBidWlsZCBpcyBzb21ldGltZXMgYm9ya2VuIGR1ZSB0byBtaXNzaW5nIGdlbmVyYXRl
ZCBoZWFkZXIKKyAgICAgICAgZmlsZSAoUmVxdWVzdGVkIGJ5IHlvdWVubiBvbiAjd2Via2l0KS4K
KworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIkF1dG9tYXRlIFdlYkNv
cmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBhbmQgYnVpbGQgc3lzdGVtIgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzUxCisgICAgICAgIGh0dHA6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE5MDY2NAorCiAyMDE1LTEwLTA3ICBYYWJpZXIg
Um9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgQXV0b21hdGUgV2ViQ29y
ZSBKUyBidWlsdGlucyBnZW5lcmF0aW9uIGFuZCBidWlsZCBzeXN0ZW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAw
MGVjYTZjMDRmZmY5MDFhMGQ1ZWViYzM3MjI2ZDM3NmFkZWVkY2U3Li4wOTMxZWQ1YjdlZTJjOGM3
MmVjMDJiMTgzZmU0MTkzNDk0MDYyYTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTUtMTAtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTA2NjQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk4NzcKKworICAgICAgICBtYWMgYnVpbGQg
aXMgc29tZXRpbWVzIGJvcmtlbiBkdWUgdG8gbWlzc2luZyBnZW5lcmF0ZWQgaGVhZGVyCisgICAg
ICAgIGZpbGUgKFJlcXVlc3RlZCBieSB5b3Vlbm4gb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2
ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJBdXRvbWF0ZSBXZWJDb3JlIEpTIGJ1aWx0aW5z
IGdlbmVyYXRpb24gYW5kIGJ1aWxkIHN5c3RlbSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTc1MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8xOTA2NjQKKwogMjAxNS0xMC0wNiAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICB3aWxsLWNoYW5nZSBzaG91bGQgdHJpZ2dlciBz
dGFja2luZyBjb250ZXh0IGJhc2VkIHB1cmVseSBvbiBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKaW5kZXggYTlkZTFkODI5MWNmYTQxNDY2OGQ5
OGEwYTFjMjdhYjc2MzE3Mzg5Zi4uYjI4NDFmNGQyYTNmYmYwYmNhYmRlZmU2Y2EwM2FhYTRkNzlh
MjYzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0
aW5zCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucwpAQCAt
MzE0LDggKzMxNCw4IEBAIGlmIChuYW1lc3BhY2UgPT0gIkpTQyIpOgogZWxzZToKICAgICBidWls
dGluTmFtZSA9IHNjb3BlTmFtZVswXS5sb3dlcigpICsgc2NvcGVOYW1lWzE6XQogICAgIGJ1aWx0
aW5zSW1wbGVtZW50YXRpb24ud3JpdGUoIiIie1xcCi0gICAgSlNDbGllbnREYXRhKiBjbGllbnRE
YXRhID0gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCi0gICAg
cmV0dXJuIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNFeGVj
dXRhYmxlKCktPmxpbmsodm0sIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNv
ZGVOYW1lIyNTb3VyY2UoKSk7IFxcCisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSogY2xpZW50RGF0
YSA9IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsgXFwK
KyAgICByZXR1cm4gY2xpZW50RGF0YS0+JXMoKS5jb2RlTmFtZSMjRXhlY3V0YWJsZSgpLT5saW5r
KHZtLCBjbGllbnREYXRhLT4lcygpLmNvZGVOYW1lIyNTb3VyY2UoKSk7IFxcCiAiIiIlIChidWls
dGluTmFtZSwgYnVpbHRpbk5hbWUpKQogCiBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIi
In0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2FkYjIzZjVjMTRlZTFhM2ZhMzIzMTgxYTA4ZjE0
MjNhODY2ZWU5MC4uYjQ1NWJjODI4MzgwMGRkNDRkYTczNWQyMGEyNjYzMzk3YTM1MDgzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTEyNDIsNiArMTI0Miw3IEBAIHNldChXZWJDb3JlX1NPVVJD
RVMKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwCiAgICAgYmluZGluZ3Mv
anMvU2NyaXB0U3RhdGUuY3BwCiAgICAgYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAorICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcAogICAgIGJpbmRpbmdz
L2pzL1dlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9Xb3Jr
ZXJTY3JpcHRDb250cm9sbGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVn
U2VydmVyLmNwcApAQCAtMzU5MiwxNyArMzU5Myw2IEBAIGZvcmVhY2ggKF9idWlsdGluanMgJHtX
RUJDT1JFX0pTX0JVSUxUSU5TfSkKICAgICApCiAgICAgQUREX1NPVVJDRV9XRUJDT1JFX0RFUklW
RURfREVQRU5ERU5DSUVTKCR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0
aW5zLmNwcCAke19uYW1lfUJ1aWx0aW5zLmNwcCkKIGVuZGZvcmVhY2ggKCkKLWFkZF9jdXN0b21f
Y29tbWFuZCgKLSAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1ByaXZh
dGVXZWJDb3JlSlNCdWlsdGlucy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9XZWJD
b3JlSlNCdWlsdGlucy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9XZWJDb3JlSlNC
dWlsdGlucy5jcHAKLSAgICBNQUlOX0RFUEVOREVOQ1kgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E
SVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCi0gICAgREVQRU5EUyAke1dlYkNvcmVf
R0VORVJBVEVfSlNfQlVJTFRJTlNfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zCi0g
ICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJ
Un0vZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmUgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSAt
LW91dHB1dF9kaXIgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9Ci0gICAgVkVSQkFUSU0p
Ci1saXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKLSAgICAke0RFUklWRURfU09VUkNFU19XRUJD
T1JFX0RJUn0vUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmgKLSAgICAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuaAotICAgICR7REVSSVZFRF9TT1VSQ0VT
X1dFQkNPUkVfRElSfS9XZWJDb3JlSlNCdWlsdGlucy5jcHAKLSkKIAogQUREX1NPVVJDRV9XRUJD
T1JFX0RFUklWRURfREVQRU5ERU5DSUVTKCR7V0VCQ09SRV9ESVJ9L2h0bWwvSFRNTFRyZWVCdWls
ZGVyLmNwcCBNYXRoTUxOYW1lcy5jcHApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGE1OTY3ZTc1M2Y1YjRjNzRmMDFlYzdmMjRlOWI2ZGU2NmFiZjQyMTkuLjQ2NjU0ZjJhZDMx
ODg5ZGIzNDI1N2JmZDhjOGZhYzkzZTJkZjA0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTI2MCwxMiArMTI2MCw5IEBAIFdFQkNPUkVfSlNfQlVJTFRJTlMgPSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanMgXAogIwog
Ci1hbGwgOiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9
JUJ1aWx0aW5zLmNwcCkKK2FsbCA6ICQoV0VCQ09SRV9KU19CVUlMVElOUzolLmpzPSVCdWlsdGlu
cy5jcHApCiAKLVdlYkNvcmVKU0J1aWx0aW5zLmNwcDogJChXRUJDT1JFX0pTX0JVSUxUSU5TKSAk
KFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCi0JJChQWVRIT04pICQoV2Vi
Q29yZSkvZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmUgJChXRUJDT1JFX0pTX0JVSUxUSU5T
KSAgLS1vdXRwdXRfZGlyIC4KLQotJUJ1aWx0aW5zLmNwcDogJS5qcyAkKFdlYkNvcmUpL2dlbmVy
YXRlLWpzLWJ1aWx0aW5zCislQnVpbHRpbnMuY3BwOiAlLmpzCiAJJChQWVRIT04pICQoV2ViQ29y
ZSkvZ2VuZXJhdGUtanMtYnVpbHRpbnMgLS1pbnB1dCAkPCAtLWdlbmVyYXRlX2pzX2J1aWx0aW5z
X3BhdGggJChHZW5lcmF0ZUpTQnVpbHRpbnNTY3JpcHRzKQogCiAjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0J5dGVM
ZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
Qnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcwppbmRleCBmOTQ4MTI1OGEwNTExMjAxMmVmMGQ0
MTZlOWNjNDZiMDk0MTFmNWVlLi5hODI2NzM2N2M0OWQwMWE1MmViMTllN2E2YTZhZWVjZTkzM2Zj
MDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0
aFF1ZXVpbmdTdHJhdGVneS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
Qnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcwpAQCAtMjQsOCArMjQsNiBAQAogICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0vLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKLQogZnVuY3Rpb24gc2l6ZShj
aHVuaykKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKaW5kZXggNDRkNjMwYjhiOGRj
M2YyMjQ2NjBlOTgxMmQzZjEzZjYxYzY4MmFmMy4uOTExNzM3ZDBjZTVlZGExMWYxNmU3NzhkYTFh
M2RmMWNmYzg5YjAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwpAQCAtMjMsOCArMjMsNiBAQAogICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0vLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKLQogZnVuY3Rpb24gc2l6ZSgp
CiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtLmpzCmluZGV4IGQxZjFhZjBiMzM2ZGJiN2M3MjRmOWI2MzJiZGUz
OGVkMDA3YTJkMzAuLmQzNjY5M2E0NTEzNjJlZmRjOGFmOTcxNGE4ZTYzOTA5NTM1ZWE1YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMK
QEAgLTk3LDggKzk3LDYgQEAgZnVuY3Rpb24gZ2V0UmVhZGVyKCkKICAgICByZXR1cm4gbmV3IEBS
ZWFkYWJsZVN0cmVhbVJlYWRlcih0aGlzKTsKIH0KIAotLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJ
Ci0KIGZ1bmN0aW9uIHBpcGVUaHJvdWdoKHN0cmVhbXMsIG9wdGlvbnMpCiB7CiAgICAgInVzZSBz
dHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4IDZkOGZlNjZiMDMwYTRhYzk1MjVkODE3MTQ3
YjBjOThlMmQ0YmU3YjYuLmViZDdmOTk1MDdjODQyMDUzZTg0NWFlNjI1YjczZmVmZmFjNmM3ZmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVh
bUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTcxLDkgKzcxLDYgQEAgZnVuY3Rpb24gcHJpdmF0ZUlu
aXRpYWxpemVSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtKQogICAgIHJldHVybiB0aGlz
OwogfQogCi0vLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKLS8vIEBpbnRlcm5hbHMKLQogZnVuY3Rp
b24gdGVlUmVhZGFibGVTdHJlYW0oc3RyZWFtLCBzaG91bGRDbG9uZSkKIHsKICAgICAidXNlIHN0
cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRleCAxMDNhMThiNTY5ZDYyYjM4NzQ1MzExMDNmNTFj
Y2Y2NjBlN2E4YzE0Li4xOWExODBkNTRiMjMxNDBhYjU3YTkzNDAzYzdlYWYxZDNiNzQ4M2MzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIKQEAgLTI0NzIzLDcgKzI0NzIzLDcgQEAgX19aTjdXZWJDb3JlTDI0
SlNET01VUkxDb25zdHJ1Y3RvclRhYmxlRQogX19aWk43V2ViQ29yZTEyd3JhcHBlck93bmVyRVBO
U18xNURPTVdyYXBwZXJXb3JsZEVQTlNfNkRPTVVSTEVFMTNqc0RPTVVSTE93bmVyCiBfX1pHVlpO
N1dlYkNvcmUxMndyYXBwZXJPd25lckVQTlNfMTVET01XcmFwcGVyV29ybGRFUE5TXzZET01VUkxF
RTEzanNET01VUkxPd25lcgogX19aTjdXZWJDb3JlTDI3SlNET01XaW5kb3dDb25zdHJ1Y3RvclRh
YmxlRQotX19aVFZON1dlYkNvcmUxOUpTQ2xpZW50RGF0YUUKK19fWlRWTjdXZWJDb3JlMTlXZWJD
b3JlSlNDbGllbnREYXRhRQogX19aTjdXZWJDb3JlTDQwSlNEeW5hbWljc0NvbXByZXNzb3JOb2Rl
Q29uc3RydWN0b3JUYWJsZUUKIF9fWk43V2ViQ29yZUwzOEpTRHluYW1pY3NDb21wcmVzc29yTm9k
ZVByb3RvdHlwZVRhYmxlRQogX19aTjdXZWJDb3JlTDI5SlNEeW5hbWljc0NvbXByZXNzb3JOb2Rl
VGFibGVFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agppbmRleCA2ZTg1ODljNDZjYzIzZGZiOWE1MTQ5OGQ3ZWExYmU0ZGVkNWQ2ZmJkLi45NDkyZTA2
OGRjNTU2YTVkODQ5ODhkZjU4YWI4Yzg4Y2QyNzU3OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTIzMSwyMCArMjMxLDYgQEAKICAg
ICA8Q2xDb21waWxlIC8+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb3Jl
SlNCdWlsdGlucy5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXENvbG9yRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVy
ZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ1NTR3JhbW1hci5jcHAiPgogICAgICAg
PERpc2FibGVTcGVjaWZpY1dhcm5pbmdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj40MDY1OzQyNzM7NDU2NTs0NzAxOzQ3MDI7JShEaXNh
YmxlU3BlY2lmaWNXYXJuaW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgpAQCAtMTg5MTUs
NiArMTg5MDEsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxiaW5kaW5nc1xqc1xXZWJDb3JlSlNCdWlsdGlucy5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fp
cm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcV29ya2VyU2NyaXB0Q29udHJvbGxlci5j
cHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIw
ZGIwNDUyNjNhMWY0YzhhNjU4MTllOWI5MDJmMTYwMWQ4MmNkOGEuLmUyZWJlOTUyOTRiOWMzMWQ0
MDFlM2NlZDY5MjVlOTJiMWE3NDI2NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0ODUsNiArMTQ4NSw3IEBACiAJCTQwRUNB
RTdFMTZCOEI2NzIwMEMzNjEwMyAvKiBKU0RPTUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MEVDQUU3RDE2QjhCNjcyMDBDMzYxMDMgLyogSlNE
T01FcnJvci5oICovOyB9OwogCQk0MEVDQUU4MTE2QjhCNjhBMDBDMzYxMDMgLyogSlNET01FcnJv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MEVD
QUU4MDE2QjhCNjhBMDBDMzYxMDMgLyogSlNET01FcnJvci5jcHAgKi87IH07CiAJCTQxMEI3RTcy
MTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBCN0U3MTEwNDVGQUIwMDBEODIy
NEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovOyB9OworCQk0MTFBOTA0MjFCQkFCNDdB
MDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQTkwNDExQkJBQjQ2RDAwMENGMTU2IC8qIFdlYkNv
cmVKU0J1aWx0aW5zLmNwcCAqLzsgfTsKIAkJNDEyMzA4MUIxMzhDNDI5NzAwQkNDRkNBIC8qIFdl
YkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICov
OyB9OwogCQk0MTIzMDkxMzEzOEM0MkZGMDBCQ0NGQ0EgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjgy
MTYyOTkwMjlGNEZCNTAxMDAwMTMxIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsK
IAkJNDEyN0Q1MzcwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjdENTM2MEY4QUFCMUQwMEU0
MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi87IH07CkBAIC0xNTA3LDggKzE1MDgsNyBAQAogCQk0
MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkUyOUE1MTAyRkE5NjIw
MDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oICovOyB9OwogCQk0MTZFNkZFODFCQkQx
MkRGMDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAw
Qjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1MDAw
QTYwNDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRh
YmxlU3RyZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREQSAvKiBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBQcml2YXRl
V2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRlV2ViQ29yZUpTQnVp
bHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWls
dGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcy
NTNBODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9Owog
CQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJC
QkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovOyB9OwogCQk0MTdEQTZEOTEz
NzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5h
bHMuY3BwICovOyB9OwpAQCAtMjYzMiw3ICsyNjMyLDYgQEAKIAkJN0M0OEE2RDAxOTFDOUQ2NTAw
MDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzQ4QTZDRTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFt
ZXNwYWNlLmNwcCAqLzsgfTsKIAkJN0M0OEE2RDExOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5h
bWVzcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M0OEE2Q0YxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5oICovOyB9OwogCQk3
QzQ5MDJBMjE4QjgyNUY4MDA3RDkyOTggLyogRE9NV2hlZWxFdmVudEludGVybmFsLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
NTk4OURDQTBBQ0M4QkJEMDBBMEJDNTEgLyogRE9NV2hlZWxFdmVudEludGVybmFsLmggKi87IH07
Ci0JCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0
ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovOyB9OwogCQk3QzRDOTZEQzFB
RDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyog
SlNSZWFkYWJsZVN0cmVhbS5jcHAgKi87IH07CiAJCTdDNEM5NkREMUFENDQ4MzUwMDM2NUE1MCAv
KiBKU1JlYWRhYmxlU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5o
ICovOyB9OwogCQk3QzRDOTZERTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJl
YWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAgKi87
IH07CkBAIC04NzY0LDYgKzg3NjMsNyBAQAogCQk0MEVDQUU4MDE2QjhCNjhBMDBDMzYxMDMgLyog
SlNET01FcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RP
TUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQjdFNzExMDQ1RkFC
MDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDExODlFRjcxQUQ4MjMyODAwQjkwQTBEIC8qIFJlYWRhYmxlU3Ry
ZWFtQ29udHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1D
b250cm9sbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExQTkwNDExQkJB
QjQ2RDAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKU0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdFN0YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyOURGODExQkI1Qjc5QjAwMzIyQTE2IC8q
IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDEyOURGODIxQkI1QjdBNjAwMzIyQTE2IC8qIFJlYWRhYmxlU3RyZWFtUmVhZGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtUmVhZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDA1MCw3ICsxMDA1MCw2IEBACiAJCTdD
NDhBNkNFMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0OEE2Q0YxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5h
bWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXROYW1lc3Bh
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0OEE2RDIxOTFDOUQ4RTAwMDI2
Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdl
YkNvcmVKU0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYkNvcmVKU0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0
Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRh
YmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVhZGFibGVT
dHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2REExQUQ0NDgzNTAw
MzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMTMyMiw4ICsxMTMyMSw3IEBACiAJCTlCMDNEODA2MUJCMzEx
MEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dy
YXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1C
dWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUIwM0Q4MDcx
QkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTlCMDNE
ODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3NDUg
LyogU2hhZG93Um9vdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMUFCMDc5MTY0OEM2OUQwMDUxRjNGMiAv
KiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEZvcm1Db250cm9sc0Nv
bGxlY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3QjE2NDhD
N0M0MDA1MUYzRjIgLyogSlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MjgxLDcg
KzE2Mjc5LDYgQEAKIAkJNDFBMDIzRkExQTM5RjEzQTAwRjcyMkNGIC8qIFN0cmVhbXMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTdDNEM5NkQ4MUFENDQ4
MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8sCiAJCQkJN0M0Qzk2RDgxQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTdDNEM5NkQ5MUFE
NDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNkM0Qzk2REExQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCAqLywKQEAgLTE3
MDczLDggKzE3MDcwLDcgQEAKIAkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFi
bGVTdHJlYW1CdWlsdGlucy5oICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDcxQkIzMTEw
RDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8sCi0JCQkJOUIw
M0Q4MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggKi8sCi0JCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFByaXZhdGVXZWJD
b3JlSlNCdWlsdGlucy5oICovLAorCQkJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovLAogCQkJCTQzQjg1RUQyMThD
QkVDNTIwMEUzMUFGNCAvKiBTZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1l
bnRNYXAuY3BwICovLAogCQkJCTQzQjg1RUQzMThDQkVDNTIwMEUzMUFGNCAvKiBTZWxlY3RvclBz
ZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuZ3BlcmYgKi8sCiAJCQkJMjZBQTBG
OUQxOEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICov
LApAQCAtMjE2NzEsNiArMjE2NjcsNyBAQAogCQkJCTE0MDBEN0E3MTcxMzZFQTcwMDc3Q0UwNSAv
KiBTY3JpcHRXcmFwcGFibGVJbmxpbmVzLmggKi8sCiAJCQkJQTc1RTQ5NzUxMDc1MkFDQjAwQzlC
ODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi8sCiAJCQkJQTc1RTQ5NzQxMDc1MkFD
QjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovLAorCQkJCTQxMUE5MDQxMUJC
QUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8sCiAJCQkJQkM1M0Q5MTAx
MTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLywKIAkJCQkwRjA5OUQw
NjE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLywK
IAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9s
bGVyLmggKi8sCkBAIC0yNTcyNCw4ICsyNTcyMSw3IEBACiAJCQkJRkM5RTBFNEQxNjQxOUMxRTAw
MzkyQkUzIC8qIEpTRE9NV2luZG93Q1NTLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTJGQkJCQzBE
RTI3Q0I2MDAwMUQzODYgLyogSlNET01XaW5kb3dDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDQkZCNTNEMERDRDI5Q0YwMDE5QjNFNSAvKiBKU0RPTVdpbmRvd1NoZWxsLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU2RkVBMUJCRDE2
ODQwMDBBNjA0MyAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVFMEU5NDQxMTMzQzg5RjAwQjRD
QjEwIC8qIEpTRE9NV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ3ODY4QkExMzZCOTk5
MjAwRDQwM0RGIC8qIEpTRHluYW1pY3NDb21wcmVzc29yTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNjVERjMxRkEwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yOTA2NSw2ICsyOTA2MSw3IEBACiAJCQkJQThFQTc5RjMwQTE5MTZERjAwQThFRjVGIC8q
IEhUTUxVTGlzdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjEzQUEwQ0Q2MzMx
MDAwRkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM5
QUFGRUMxQTBDMEM4RDAwNjA1Rjk5IC8qIEhUTUxXQlJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQxMUE5MDQyMUJCQUI0N0EwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwQjhDNTZENDBGMjg2MjdGMDAwNTAyRTEgLyogSFRUUEhlYWRl
ck1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUM5MDBDMzE5NDNDMEZDMDA4NjI1QjUgLyog
SFRUUEhlYWRlck5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNEM3NjcyMENFOTIzQTEw
MDdFRjNDRCAvKiBIVFRQUGFyc2Vycy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NTc2LDcgKzI5
NTczLDYgQEAKIAkJCQkwNzc2NjRGQzE4M0U2QjVDMDAxMzNCOTIgLyogSlNRdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjU4RkZBMTE1MjJFRjNBMDBE
RDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1REYzMjAx
MDlEMUNDNjAwMDBCRTMyNSAvKiBKU1JhbmdlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTdDNEM5
NkRDMUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk2QzRDOTZERTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REUxQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAppbmRleCAz
YTlhY2NiYzRkOWU0NDRkNGZjMWVjZTdhNzhiZjU1MTI2MTZlNjZhLi4zZGQyNWUxOGMxNGY2MTRh
NDgzODEyNzJiYTUyOWE5MmRkYjBhMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKQEAgLTM2LDE0ICszNiwxNCBAQCBET01XcmFwcGVyV29y
bGQ6OkRPTVdyYXBwZXJXb3JsZChKU0M6OlZNJiB2bSwgYm9vbCBpc05vcm1hbCkKIHsKICAgICBW
TTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG1fdm0uY2xpZW50RGF0YTsKICAgICBBU1NFUlQo
Y2xpZW50RGF0YSk7Ci0gICAgc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSkt
PnJlbWVtYmVyV29ybGQoKnRoaXMpOworICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERh
dGEqPihjbGllbnREYXRhKS0+cmVtZW1iZXJXb3JsZCgqdGhpcyk7CiB9CiAKIERPTVdyYXBwZXJX
b3JsZDo6fkRPTVdyYXBwZXJXb3JsZCgpCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERh
dGEgPSBtX3ZtLmNsaWVudERhdGE7CiAgICAgQVNTRVJUKGNsaWVudERhdGEpOwotICAgIHN0YXRp
Y19jYXN0PEpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5mb3JnZXRXb3JsZCgqdGhpcyk7Cisg
ICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5mb3JnZXRX
b3JsZCgqdGhpcyk7CiAKICAgICAvLyBUaGVzZSBpdGVtcyBhcmUgY3JlYXRlZCBsYXppbHkuCiAg
ICAgd2hpbGUgKCFtX3NjcmlwdENvbnRyb2xsZXJzV2l0aFdpbmRvd1NoZWxscy5pc0VtcHR5KCkp
CkBAIC02Myw3ICs2Myw3IEBAIERPTVdyYXBwZXJXb3JsZCYgbm9ybWFsV29ybGQoSlNDOjpWTSYg
dm0pCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSB2bS5jbGllbnREYXRhOwog
ICAgIEFTU0VSVChjbGllbnREYXRhKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDbGllbnRE
YXRhKj4oY2xpZW50RGF0YSktPm5vcm1hbFdvcmxkKCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnREYXRhKS0+bm9ybWFsV29ybGQoKTsKIH0KIAog
RE9NV3JhcHBlcldvcmxkJiBtYWluVGhyZWFkTm9ybWFsV29ybGQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggNTMxZjRkZDc1ZmJiZWMz
NzNmYTI4NGY1NjIxMzBiOWY0MTQ0NmQ2OS4uOWUwZmY0ZmM4OWE2ODAwNjNkNWFhNzU2MmZhY2U0
YjY5MWZiZjBmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC03MCw3ICs3MCw5IEBAIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dC
YXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luCiAgICAg
LCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMoKHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1lKCkpID8g
SXNXYXRjaGVkIDogSXNJbnZhbGlkYXRlZCkKICAgICAsIG1faW1wbCh3aW5kb3cpCiAgICAgLCBt
X3NoZWxsKHNoZWxsKQotICAgICwgbV9wcml2YXRlRnVuY3Rpb25zKHZtKQorI2lmIEVOQUJMRShT
VFJFQU1TX0FQSSkKKyAgICAsIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnModm0pCisjZW5kaWYK
IHsKIH0KIApAQCAtNzksMjEgKzgxLDIzIEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTRE9NV2luZG93U2hlbGwqIHNoZWxsKQogICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtLCBzaGVsbCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwogCi0g
ICAgbV9wcml2YXRlRnVuY3Rpb25zLmluaXQoKnRoaXMpOworI2lmIEVOQUJMRShTVFJFQU1TX0FQ
SSkKKyAgICBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLmluaXQoKnRoaXMpOworI2VuZGlmCiAK
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8gc3RhdGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+d2luZG93LCBtX3NoZWxsLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0
PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0
cmVhbUNsb3NlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDEpLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRh
Kj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFBy
aXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtUmVhZGFibGVQcml2YXRlTmFtZSgp
LCBqc051bWJlcigzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWls
dGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVS
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19j
YXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJs
ZVN0cmVhbVJlYWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtUmVhZGVyUHJp
dmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4o
dm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtQ2xvc2VkUHJpdmF0
ZU5hbWUoKSwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xp
ZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFByaXZhdGVOYW1l
KCksIGpzTnVtYmVyKDIpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERh
dGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwg
anNOdW1iZXIoMyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSkt
PmJ1aWx0aW5OYW1lcygpLlJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1lKCksIGNy
ZWF0ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3Rh
dGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFt
ZXMoKS5SZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3Ry
ZWFtUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFk
T25seSksCiAjZGVmaW5lIERFQ0xBUkVfR0xPQkFMX1NUQVRJQyhuYW1lKVwKICAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKFwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5idWlsdGluRnVuY3Rpb25zKCkucmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCksIFwKLSAgICAgICAgICAgIG1fcHJpdmF0
ZUZ1bmN0aW9ucy5yZWFkYWJsZVN0cmVhbUludGVybmFscygpLm1fIyNuYW1lIyNGdW5jdGlvbi5n
ZXQoKSAsIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgICAgICBzdGF0aWNfY2FzdDxX
ZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPnJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLFwKKyAgICAgICAgICAgIG1fcmVhZGFi
bGVTdHJlYW1GdW5jdGlvbnMubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKICAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RSRUFNSU5URVJOQUxTX0ZPUkVB
Q0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFMX1NUQVRJQykKICN1bmRlZiBF
WFBPUlRfRlVOQ1RJT04KICNlbmRpZgpAQCAtMTA3LDcgKzExMSw5IEBAIHZvaWQgSlNET01XaW5k
b3dCYXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93QmFz
ZSo+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwotICAg
IHRoaXNPYmplY3QtPm1fcHJpdmF0ZUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKKyNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCisgICAgdGhpc09iamVjdC0+bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cy52aXNpdCh2aXNpdG9yKTsKKyNlbmRpZgogfQogCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZGVz
dHJveShKU0NlbGwqIGNlbGwpCkBAIC0yOTEsNyArMjk3LDcgQEAgSlNET01XaW5kb3cqIHRvSlNE
T01XaW5kb3coSlNWYWx1ZSB2YWx1ZSkKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVD
bGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiB7CiAgICAgSlND
OjpWTSYgdm0gPSBKU0RPTVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Ci0gICAgSlNDbGllbnREYXRh
KiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7
CisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0PFdlYkNv
cmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKICAgICBWZWN0b3I8UmVmPERPTVdyYXBw
ZXJXb3JsZD4+IHdyYXBwZXJXb3JsZHM7CiAgICAgY2xpZW50RGF0YS0+Z2V0QWxsV29ybGRzKHdy
YXBwZXJXb3JsZHMpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB3cmFwcGVyV29ybGRz
LnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5oCmluZGV4IDk0ZTAzZGE1MjE5NDExNjQ0MTY2YTMwMDRkNWNhY2E1NmNkNTM4YzMuLmY0
MDg3MmY1ZWEwOTVjOTgzNjM5ZDZlZGE3MDk1N2JlODU4YjRlMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC0yMiw3ICsyMiw3IEBACiAKICNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgot
I2luY2x1ZGUgIlByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oIgorI2luY2x1ZGUgIlJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODcsNyArODcsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFJlZlB0cjxET01XaW5kb3c+IG1faW1wbDsKICAgICAgICAgSlNET01X
aW5kb3dTaGVsbCogbV9zaGVsbDsKIAotICAgICAgICBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9u
cyBtX3ByaXZhdGVGdW5jdGlvbnM7CisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgbV9yZWFkYWJsZVN0cmVhbUZ1
bmN0aW9uczsKKyNlbmRpZgogICAgIH07CiAKICAgICAvLyBSZXR1cm5zIGEgSlNET01XaW5kb3cg
b3IganNOdWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAKaW5kZXggNTliNThlZTQ2Mjc2ODIwNDhjMzJkOTUwZDBkNjYzMmExOTY1N2MzOC4u
NGIzYjA5NzJiZTc3ZjNjNzY1OTVmMTQwZTI2YTc0OGZmOGVhNDUwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE5NCw3ICsxOTQs
NyBAQCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNET01XaW5kb3dTaGVsbD4+IFNjcmlwdENvbnRyb2xs
ZXI6OndpbmRvd1NoZWxscygpCiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Z2V0QWxsV29ybGRz
KFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4mIHdvcmxkcykKIHsKLSAgICBzdGF0aWNfY2Fz
dDxKU0NsaWVudERhdGEqPihKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKS5jbGllbnREYXRhKS0+Z2V0
QWxsV29ybGRzKHdvcmxkcyk7CisgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+
KEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRz
KTsKIH0KIAogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpjbGVhcldpbmRvd1NoZWxsKERPTVdpbmRv
dyogbmV3RE9NV2luZG93LCBib29sIGdvaW5nSW50b1BhZ2VDYWNoZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IGY5
YTQ4NzdmNTEwNzgzZGZhYzhlOGYzODNhMmJkNGYzN2RhMWYzY2YuLjYyZWExYzFiZGNlZDYzMDY1
ODk4YThiNDFiMGI2ZDIxYjg1N2FiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMjYzNCw3ICsyNjM0LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6QXJyYXlCdWZmZXJDb250ZW50
c0FycmF5PiBTZXJpYWxpemVkU2NyaXAKIAogICAgIGF1dG8gY29udGVudHMgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEFycmF5QnVmZmVyQ29udGVudHNBcnJheT4oYXJyYXlCdWZmZXJzLnNpemUoKSk7CiAg
ICAgVmVjdG9yPFJlZjxET01XcmFwcGVyV29ybGQ+PiB3b3JsZHM7Ci0gICAgc3RhdGljX2Nhc3Q8
SlNDbGllbnREYXRhKj4oZXhlYy0+dm0oKS5jbGllbnREYXRhKS0+Z2V0QWxsV29ybGRzKHdvcmxk
cyk7CisgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGV4ZWMtPnZtKCkuY2xp
ZW50RGF0YSktPmdldEFsbFdvcmxkcyh3b3JsZHMpOwogCiAgICAgSGFzaFNldDxKU0M6OkFycmF5
QnVmZmVyKj4gdmlzaXRlZDsKICAgICBmb3IgKHNpemVfdCBhcnJheUJ1ZmZlckluZGV4ID0gMDsg
YXJyYXlCdWZmZXJJbmRleCA8IGFycmF5QnVmZmVycy5zaXplKCk7IGFycmF5QnVmZmVySW5kZXgr
KykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCmluZGV4IGYwNDI3OWFjYWMwMjU5NTQyZDA1ZmYxNmRiYmIwYjcwZGI0YTQzOWIuLjg3MGRk
ODE4ZWI4Mjk0NTdlYTgwZTM1MzhhODcxZDQ5OTUyNzRjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDI2ICsyNCw0NCBA
QAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUJ1aWx0
aW5OYW1lcy5oIgotI2luY2x1ZGUgIldlYkNvcmVKU0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisjaW5jbHVk
ZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgorI2luY2x1ZGUg
IkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhZGFi
bGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXJCdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zV3JhcHBlci5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRp
bnNXcmFwcGVyLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU0Ns
aWVudERhdGEgOiBwdWJsaWMgSlNDOjpWTTo6Q2xpZW50RGF0YSB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBX
ZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVudERhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgVk1Xb3JsZEl0ZXJhdG9yOwogICAgIGZyaWVuZCB2
b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSopOwogCiBwdWJsaWM6Ci0gICAg
ZXhwbGljaXQgSlNDbGllbnREYXRhKEpTQzo6Vk0mIHZtKQotICAgICAgICA6IG1fYnVpbHRpbkZ1
bmN0aW9ucyh2bSkKLSAgICAgICAgLCBtX2J1aWx0aW5OYW1lcygmdm0pCisgICAgZXhwbGljaXQg
V2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkKKyAgICAgICAgOiBtX2J1aWx0aW5OYW1l
cygmdm0pCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICAsIG1fcmVhZGFibGVTdHJl
YW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWls
dGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCZ2
bSkKKyAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMoJnZtKQorICAgICAg
ICAsIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkKKyAgICAgICAgLCBt
X2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoJnZtKQorI2VuZGlmCiAgICAgeworI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKKyAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmV4cG9ydE5hbWVzKCk7CisjZW5kaWYKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5KU0NsaWVu
dERhdGEoKQorICAgIHZpcnR1YWwgfldlYkNvcmVKU0NsaWVudERhdGEoKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKG1fd29ybGRTZXQuY29udGFpbnMobV9ub3JtYWxXb3JsZC5nZXQoKSkpOwogICAg
ICAgICBBU1NFUlQobV93b3JsZFNldC5zaXplKCkgPT0gMSk7CkBAIC03NiwxOSArOTQsMzUgQEAg
cHVibGljOgogICAgIH0KIAogICAgIFdlYkNvcmVCdWlsdGluTmFtZXMmIGJ1aWx0aW5OYW1lcygp
IHsgcmV0dXJuIG1fYnVpbHRpbk5hbWVzOyB9Ci0gICAgSlNCdWlsdGluRnVuY3Rpb25zJiBidWls
dGluRnVuY3Rpb25zKCkgeyByZXR1cm4gbV9idWlsdGluRnVuY3Rpb25zOyB9CisKKyNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCisgICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXImIHJlYWRh
YmxlU3RyZWFtQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7IH0K
KyAgICBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3Ry
ZWFtQ29udHJvbGxlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXJCdWlsdGluczsgfQorICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVy
JiByZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zOyB9CisgICAgUmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlu
c1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRh
YmxlU3RyZWFtUmVhZGVyQnVpbHRpbnM7IH0KKyAgICBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnNXcmFwcGVyJiBieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJl
dHVybiBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQorICAgIENvdW50UXVl
dWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyJiBjb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5z
KCkgeyByZXR1cm4gbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9CisjZW5kaWYKIAog
cHJpdmF0ZToKICAgICBIYXNoU2V0PERPTVdyYXBwZXJXb3JsZCo+IG1fd29ybGRTZXQ7CiAgICAg
UmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV9ub3JtYWxXb3JsZDsKIAotICAgIEpTQnVpbHRpbkZ1
bmN0aW9ucyBtX2J1aWx0aW5GdW5jdGlvbnM7CiAgICAgV2ViQ29yZUJ1aWx0aW5OYW1lcyBtX2J1
aWx0aW5OYW1lczsKKworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICBSZWFkYWJsZVN0cmVh
bUJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7CisgICAgUmVhZGFibGVT
dHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1Db250cm9sbGVy
QnVpbHRpbnM7CisgICAgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIgbV9y
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zOworICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVy
QnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluczsKKyAgICBCeXRl
TGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyIG1fYnl0ZUxlbmd0aFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zOworICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVy
IG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKKyNlbmRpZgogfTsKIAogaW5saW5lIHZv
aWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OlZNKiB2bSkKIHsKLSAgICBKU0NsaWVu
dERhdGEqIHdlYkNvcmVKU0NsaWVudERhdGEgPSBuZXcgSlNDbGllbnREYXRhKCp2bSk7CisgICAg
V2ViQ29yZUpTQ2xpZW50RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9IG5ldyBXZWJDb3JlSlND
bGllbnREYXRhKCp2bSk7CiAgICAgdm0tPmNsaWVudERhdGEgPSB3ZWJDb3JlSlNDbGllbnREYXRh
OyAvLyB+Vk0gZGVsZXRlcyB0aGlzIHBvaW50ZXIuCiAgICAgd2ViQ29yZUpTQ2xpZW50RGF0YS0+
bV9ub3JtYWxXb3JsZCA9IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKCp2bSwgdHJ1ZSk7CiAgICAg
dm0tPm1fdHlwZWRBcnJheUNvbnRyb2xsZXIgPSBhZG9wdFJlZihuZXcgV2ViQ29yZVR5cGVkQXJy
YXlDb250cm9sbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMt
YnVpbHRpbnMtYWxsaW5vbmUgYi9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1h
bGxpbm9uZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA1YjQzZjMxOTgwZTI1YTA1
ZTM5OWM2YWNmMWRlYTg3N2Q4MDVjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9u
ZQorKysgL2Rldi9udWxsCkBAIC0xLDIzMyArMCwwIEBACi0jIS91c3IvYmluL3B5dGhvbgotIyBD
b3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0jIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0jIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLQotCi1pbXBvcnQgYXJncGFyc2UKLWltcG9ydCBmaWxlY21wCi1pbXBvcnQgb3MK
LWltcG9ydCByZQotCi1zaW5nbGVMaW5lQ29tbWVudFJlZ0V4cCA9IHJlLmNvbXBpbGUociJcL1wv
IEAuKj9cbiIsIHJlLk1VTFRJTElORSB8IHJlLlMpCi0KLWRlZiByZXRyaWV2ZUdlbmVyYXRpb25Q
YXJhbWV0ZXJzKGlucHV0KToKLSAgICBwYXJhbWV0ZXJzID0ge30KLSAgICB3aXRoIG9wZW4oaW5w
dXQsICdyJykgYXMgaW5wdXRfZmlsZToKLSAgICAgICAgY29udGVudCA9IGlucHV0X2ZpbGUucmVh
ZCgpCi0gICAgICAgIGZvciBtYXRjaCBpbiBzaW5nbGVMaW5lQ29tbWVudFJlZ0V4cC5maW5kaXRl
cihjb250ZW50KToKLSAgICAgICAgICAgIHZhbHVlcyA9IGNvbnRlbnRbbWF0Y2guc3RhcnQoKSAr
IDQ6bWF0Y2guZW5kKCldLnNwbGl0KCc9JykKLSAgICAgICAgICAgIGlmIGxlbih2YWx1ZXMpID09
IDE6Ci0gICAgICAgICAgICAgICAgcGFyYW1ldGVyc1t2YWx1ZXNbMF0uc3RyaXAoKV0gPSBUcnVl
Ci0gICAgICAgICAgICBlbGlmIGxlbiAodmFsdWVzKSA9PSAyOgotICAgICAgICAgICAgICAgIHBh
cmFtZXRlcnNbdmFsdWVzWzBdLnN0cmlwKCldID0gdmFsdWVzWzFdLnN0cmlwKCkKLSAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIlNraXBwaW5nIHBvdGVudGlhbCBnZW5l
cmF0aW9uIHBhcmFtZXRlciBkaXJlY3RpdmU6IiAlIHZhbHVlcy5qb2luKCc9JykpCi0gICAgcmV0
dXJuIHBhcmFtZXRlcnMKLQotCi1kZWYgcmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzKGlucHV0
cyk6Ci0gICAgZmlsZXMgPSBbXQotICAgIGNsYXNzIEZpbGVJbnB1dDogcGFzcwotICAgIGZvciBp
bnB1dCBpbiBpbnB1dHM6Ci0gICAgICAgIGZpbGVfaW5wdXQgPSBGaWxlSW5wdXQoKQotICAgICAg
ICBmaWxlX2lucHV0LnBhcmFtZXRlcnMgPSByZXRyaWV2ZUdlbmVyYXRpb25QYXJhbWV0ZXJzKGlu
cHV0KQotICAgICAgICBmaWxlX2lucHV0Lm9wdGlvbmFsaWYgPSAoIiNpZiBFTkFCTEUoIiArIGZp
bGVfaW5wdXQucGFyYW1ldGVyc1sib3B0aW9uYWwiXSArICIpXG4iKSBpZiAib3B0aW9uYWwiIGlu
IGZpbGVfaW5wdXQucGFyYW1ldGVycyBlbHNlICIiCi0gICAgICAgIGZpbGVfaW5wdXQub3B0aW9u
YWxlbmRpZiA9ICIjZW5kaWZcbiIgaWYgIm9wdGlvbmFsIiBpbiBmaWxlX2lucHV0LnBhcmFtZXRl
cnMgZWxzZSAiIgotICAgICAgICBmaWxlX2lucHV0LmZpbGVuYW1lID0gb3MucGF0aC5zcGxpdGV4
dChvcy5wYXRoLmJhc2VuYW1lKGlucHV0KSlbMF0KLSAgICAgICAgZmlsZV9pbnB1dC5uYW1lID0g
ZmlsZV9pbnB1dC5maWxlbmFtZVswXS5sb3dlcigpICsgZmlsZV9pbnB1dC5maWxlbmFtZVsxOl0K
LSAgICAgICAgZmlsZXMuYXBwZW5kKGZpbGVfaW5wdXQpCi0gICAgcmV0dXJuIGZpbGVzCi0KLQot
ZGVmIHdyaXRlQ29uZGl0aW9uYWwod3JpdGVyLCBpbnB1dF9maWxlLCB2YWx1ZSk6Ci0gICAgd3Jp
dGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxpZikKLSAgICB3cml0ZXIud3JpdGUodmFsdWUp
Ci0gICAgd3JpdGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxlbmRpZikKLQotCi1wYXJzZXIg
PSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi1wYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1
dF9kaXInLCBkZWZhdWx0PScnLCBoZWxwPSdvdXRwdXQgZGlyZWN0b3J5JykKLXBhcnNlci5hZGRf
YXJndW1lbnQoJ2lucHV0cycsIG1ldGF2YXI9J2lucHV0JywgbmFyZ3M9JysnLCBoZWxwPSdwYXRo
IHRvIGlucHV0IEpTIGZpbGVzJykKLQotYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLWZpbGVz
ID0gcmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzKGFyZ3MuaW5wdXRzKQotaW50ZXJuYWxzX2Zp
bGVzID0gWyBmIGZvciBmIGluIGZpbGVzIGlmICJpbnRlcm5hbHMiIGluIGYucGFyYW1ldGVycyBd
Ci0KLWJhc2VuYW1lID0gIldlYkNvcmVKU0J1aWx0aW5zIgotb3V0cHV0X2Jhc2UgPSBvcy5wYXRo
LmpvaW4oYXJncy5vdXRwdXRfZGlyLCBiYXNlbmFtZSkKLXByaXZhdGVfb3V0cHV0X2Jhc2UgPSBv
cy5wYXRoLmpvaW4oYXJncy5vdXRwdXRfZGlyLCAiUHJpdmF0ZSIgKyBiYXNlbmFtZSkKLQotCi0j
IENyZWF0ZSB3cml0ZXJzCi1idWlsdGluc0hlYWRlciA9IG9wZW4ob3V0cHV0X2Jhc2UgKyAiLmgu
dG1wIiwgInciKQotYnVpbHRpbnNJbXBsZW1lbnRhdGlvbiA9IG9wZW4ob3V0cHV0X2Jhc2UgKyAi
LmNwcC50bXAiLCAidyIpCi1wcml2YXRlQnVpbHRpbnNIZWFkZXIgPSBvcGVuKHByaXZhdGVfb3V0
cHV0X2Jhc2UgKyAiLmgudG1wIiwgInciKQotCi1wcmVhbWJsZSA9ICIiIgotLyogR2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lIGRvIG5vdCBoYW5kIGVkaXQuICovCi0K
LS8qCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGVzc2VyIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh
cmUKLSAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLSAqLwotCi0iIiIKLQotIyMjIyMjIyMjIyMj
IyMjCi0jIEdlbmVyYXRpb24gb2YgY3BwIGZpbGUgaW5jbHVkaW5nIGFsbCBKUyBidWlsdGluIGdl
bmVyYXRlZCBjcHAgZmlsZXMgd2l0aCBvcHRpb25hbCAjZmRlZiBkaXJlY3RpdmVzIGFzIGRlZmlu
ZWQgYnkgQGVuYWJsZSBpbiBKUyBmaWxlcy4KLSMjIyMjIyMjIyMjIyMjIwotYnVpbHRpbnNJbXBs
ZW1lbnRhdGlvbi53cml0ZShwcmVhbWJsZSkKLWJ1aWx0aW5zSW1wbGVtZW50YXRpb24ud3JpdGUo
IiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuXG4iKQotCi0jIEluY2x1ZGluZyBjcHAgZmlsZXMKLWZv
ciBpbnB1dF9maWxlIGluIGZpbGVzOgotICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNJbXBs
ZW1lbnRhdGlvbiwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0X2ZpbGUuZmlsZW5h
bWUgKyAiQnVpbHRpbnMuY3BwXCJcbiIpOwotCi1idWlsdGluc0ltcGxlbWVudGF0aW9uLmNsb3Nl
KCkKLQotIyMjIyMjIyMjIyMjIyMjCi0jIEdlbmVyYXRpb24gb2Ygd3JhcHBlciBoZWFkZXIgZmls
ZSBkZWZpbmluZyBhY2Nlc3MgdG8gYWxsIGJ1aWx0aW4gZnVuY3Rpb25zLgotIyMjIyMjIyMjIyMj
IyMjCi1idWlsdGluc0hlYWRlci53cml0ZShwcmVhbWJsZSkKLWJ1aWx0aW5zSGVhZGVyLndyaXRl
KCIjaWZuZGVmICIgKyBiYXNlbmFtZSArICJfaFxuI2RlZmluZSAiICsgYmFzZW5hbWUgKyAiX2hc
blxuIikKLQotZm9yIGlucHV0X2ZpbGUgaW4gZmlsZXM6Ci0gICAgd3JpdGVDb25kaXRpb25hbChi
dWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0X2ZpbGUuZmls
ZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVyLmhcIlxuIik7Ci1idWlsdGluc0hlYWRlci53cml0ZSgi
IiIKLQotI2luY2x1ZGUgPHJ1bnRpbWUvVk0uaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBKU0J1aWx0aW5GdW5jdGlvbnMgewotcHVibGljOgotIiIiKQotCi0jIENvbnN0cnVjdG9y
Ci1idWlsdGluc0hlYWRlci53cml0ZSgiICAgIGV4cGxpY2l0IEpTQnVpbHRpbkZ1bmN0aW9ucyhK
U0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKLWZvciBpbnB1dF9maWxlIGluIGZpbGVz
OgotICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAg
ICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2bSlcbiIpOwotYnVpbHRp
bnNIZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKLWZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19m
aWxlczoKLSAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAi
ICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTtc
biIpOwotYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKLQotIyBHZXR0ZXJzCi1mb3Ig
aW5wdXRfZmlsZSBpbiBmaWxlczoKLSAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVy
LCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3Jh
cHBlciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7IHJldHVybiBtXyIgKyBp
bnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOwotCi0jIERlY2xhcmF0aW9ucwotYnVp
bHRpbnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKLSAgICBKU0M6OlZNJiB2bTtcbiIiIik7Ci1m
b3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKLSAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVh
ZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5z
V3JhcHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO1xuIik7Ci0KLWJ1aWx0
aW5zSGVhZGVyLndyaXRlKCIiIgotfTsKLQotfQotCi0jZW5kaWYKLSIiIik7Ci0KLWJ1aWx0aW5z
SGVhZGVyLmNsb3NlKCkKLQotIyMjIyMjIyMjIyMjIyMjCi0jIEdlbmVyYXRpb24gb2YgY2xhc3Mg
d3JhcHBpbmcgYWxsIGZ1bmN0aW9ucyBvZiBKUyBmaWxlcyBtYXJrZWQgYXMgQGludGVybmFscy4K
LSMjIyMjIyMjIyMjIyMjIwotcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKHByZWFtYmxlKQot
cHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmIFByaXZhdGUiICsgYmFzZW5hbWUg
KyAiX2hcbiNkZWZpbmUgUHJpdmF0ZSIgKyBiYXNlbmFtZSArICJfaFxuXG4iKQotCi0jIEluY2x1
ZGluZyBhbGwgbmVjZXNzcmFyeSB3cmFwcGVyIGhlYWRlcnMuCi1mb3IgaW5wdXRfZmlsZSBpbiBp
bnRlcm5hbHNfZmlsZXM6Ci0gICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFk
ZXIsIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1
aWx0aW5zV3JhcHBlci5oXCJcbiIpCi0KLSMgQ2xhc3MgZGVmaW5pdGlvbgotcHJpdmF0ZUJ1aWx0
aW5zSGVhZGVyLndyaXRlKCIiIgotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBKU0J1aWx0
aW5JbnRlcm5hbEZ1bmN0aW9ucyB7Ci1wdWJsaWM6Ci0iIiIpCi0KLSMgQ29uc3RydWN0b3IKLXBy
aXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiIiJleHBsaWNpdCBKU0J1aWx0aW5JbnRlcm5hbEZ1
bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iIiIpCi1mb3IgaW5wdXRfZmls
ZSBpbiBpbnRlcm5hbHNfZmlsZXM6Ci0gICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRp
bnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsg
IkZ1bmN0aW9ucyh2bSlcbiIpCi1wcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7IH1c
blxuIikKLQotIyBHZXR0ZXJzCi1mb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6Ci0g
ICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIg
ICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyAiICsgaW5wdXRf
ZmlsZS5uYW1lICsgIigpIHsgcmV0dXJuIG1fIiArIGlucHV0X2ZpbGUubmFtZSArICJGdW5jdGlv
bnM7IH1cbiIpCi0KLSMgVmlzaXRvciB3cmFwcGVyIHJvdXRpbmUKLXByaXZhdGVCdWlsdGluc0hl
YWRlci53cml0ZSgiICAgIHZvaWQgdmlzaXQoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikge1xu
IikKLWZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKLSAgICB3cml0ZUNvbmRpdGlv
bmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgICAgbV8iICsgaW5w
dXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTtcbiIpCi1wcml2YXRlQnVp
bHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQotCi0jIEluaXQgd3JhcHBlciByb3V0aW5lCi1w
cml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB2b2lkIGluaXQoSlNDOjpKU0dsb2JhbE9i
amVjdCYgZ2xvYmFsT2JqZWN0KSB7XG4iKQotZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2Zp
bGVzOgotICAgIHdyaXRlQ29uZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9m
aWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zLmluaXQoZ2xv
YmFsT2JqZWN0KTtcbiIpCi1wcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQot
Ci0jIFByaXZhdGUgbWVtYmVyIGZpZWxkcwotcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIi
IgotcHJpdmF0ZToKLSAgICBKU0M6OlZNJiB2bTtcbiIiIikKLWZvciBpbnB1dF9maWxlIGluIGlu
dGVybmFsc19maWxlczoKLSAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRl
ciwgaW5wdXRfZmlsZSwgIiAgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1
bmN0aW9ucyBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zO1xuIikKLQotcHJpdmF0
ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgotfTsKLQotfQotI2VuZGlmCi0iIiIpCi0KLXByaXZh
dGVCdWlsdGluc0hlYWRlci5jbG9zZSgpCi0KLWRlZiBjb3B5dGVtcGZpbGUob3V0cHV0KToKLSAg
ICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG91dHB1dCkpIG9yIChub3QgZmlsZWNtcC5jbXAob3V0
cHV0ICsgIi50bXAiLCBvdXRwdXQsIHNoYWxsb3c9RmFsc2UpKToKLSAgICAgICAgaWYgKG9zLnBh
dGguZXhpc3RzKG91dHB1dCkpOgotICAgICAgICAgICAgb3MucmVtb3ZlKG91dHB1dCkKLSAgICAg
ICAgb3MucmVuYW1lKG91dHB1dCArICIudG1wIiwgb3V0cHV0KQotICAgIGVsc2U6Ci0gICAgICAg
IG9zLnJlbW92ZShvdXRwdXQgKyAiLnRtcCIpCi0KLWNvcHl0ZW1wZmlsZShvdXRwdXRfYmFzZSAr
ICIuaCIpCi1jb3B5dGVtcGZpbGUob3V0cHV0X2Jhc2UgKyAiLmNwcCIpCi1jb3B5dGVtcGZpbGUo
cHJpdmF0ZV9vdXRwdXRfYmFzZSArICIuaCIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>