<?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>92760</bug_id>
          
          <creation_ts>2012-07-31 08:28:19 -0700</creation_ts>
          <short_desc>Get rid of &quot;parser&quot; type casts in CSSGrammar.y</short_desc>
          <delta_ts>2012-07-31 12:50:20 -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>CSS</component>
          <version>528+ (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="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>683108</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-07-31 08:28:19 -0700</bug_when>
    <thetext>The parser used to be non-typed, so it required casting to CSSParser (static_cast&lt;CSSParser*&gt;(parser)) all over the place. Bug 92264 patch fixed this, so these casts are no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683265</commentid>
    <comment_count>1</comment_count>
      <attachid>155585</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-07-31 10:59:16 -0700</bug_when>
    <thetext>Created attachment 155585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683338</commentid>
    <comment_count>2</comment_count>
      <attachid>155585</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-31 11:54:12 -0700</bug_when>
    <thetext>Comment on attachment 155585
Patch

That&apos;s exciting.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683377</commentid>
    <comment_count>3</comment_count>
      <attachid>155585</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 12:21:28 -0700</bug_when>
    <thetext>Comment on attachment 155585
Patch

Rejecting attachment 155585 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
nflict in Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
Failed to merge in the changes.
Patch failed at 0001 nrwt: --verbose logging does not work right on windows

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13400540</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683397</commentid>
    <comment_count>4</comment_count>
      <attachid>155585</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 12:50:16 -0700</bug_when>
    <thetext>Comment on attachment 155585
Patch

Clearing flags on attachment: 155585

Committed r124241: &lt;http://trac.webkit.org/changeset/124241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683398</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 12:50:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155585</attachid>
            <date>2012-07-31 10:59:16 -0700</date>
            <delta_ts>2012-07-31 12:50:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92760-20120731145858.patch</filename>
            <type>text/plain</type>
            <size>39934</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQxMTAyNDFkNWMxMTgy
YWYzMTUwM2ZhNmFiOTlmNTI4OTU1ZTE4Ny4uZTIzODcxMDE3NzVmYjA0NDNkNTYyZDQ1YTlkNjg2
NGMxZTgzZDg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA3LTMxICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEdldCBy
aWQgb2YgInBhcnNlciIgdHlwZSBjYXN0cyBpbiBDU1NHcmFtbWFyLnkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcjEyNDA5OSBub3cgdHlwZSB0aGUgcGFy
c2VyIHBhcmFtZXRlciwgaXQgaXMgdGhlcmVmb3JlIG5vdCBuZWVkZWQgdG8KKyAgICAgICAgY2Fz
dCB0byBDU1NQYXJzZXIqIGV2ZXJ5d2hlcmUgYXMgd2Uga25vdyBoYXZlIGEgQ1NTUGFyc2VyKiB0
eXBlCisgICAgICAgIGFscmVhZHkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIDogcmVmYWN0b3Ig
d2l0aCBubyBiZWhhdmlvciBjaGFuZ2UgZXhwZWN0ZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTR3Jh
bW1hci55OgorCiAyMDEyLTA3LTMxICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB0YWtlIGludG8gYWNjb3VudCB0aGUgd2hv
bGUgc2VjdXJpdHkgb3JpZ2luIGluc3RlYWQgb2YganVzdCBob3N0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1t
YXIueQppbmRleCAwNDM4ZTE1ZjU1MWM3ZmI0ZWRjNjdhMzA0MzU5MWE2NzgzOGMzNjdjLi45OTY4
ZTc2NjAwN2VlZjE3YWExNjk2ZmIwMmU0ZmY3NGQzNDJmMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkKQEAgLTkzLDkgKzkzLDkgQEAgc3RhdGljIGlubGluZSBpbnQgY3NzeXllcnJvcih2b2lk
KiwgY29uc3QgY2hhciopCiAgICAgcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgY3NzeXlsZXgo
WVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCitzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZ
UEUqIHl5bHZhbCwgQ1NTUGFyc2VyKiBwYXJzZXIpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlciktPmxleCh5eWx2YWwpOworICAgIHJldHVybiBwYXJzZXItPmxl
eCh5eWx2YWwpOwogfQogCiAlfQpAQCAtMzEzLDEzICszMTMsMTMgQEAgc3R5bGVzaGVldDoKIAog
d2Via2l0X3J1bGU6CiAgICAgV0VCS0lUX1JVTEVfU1lNICd7JyBtYXliZV9zcGFjZSB2YWxpZF9y
dWxlIG1heWJlX3NwYWNlICd9JyB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBh
cnNlciktPm1fcnVsZSA9ICQ0OworICAgICAgICBwYXJzZXItPm1fcnVsZSA9ICQ0OwogICAgIH0K
IDsKIAogd2Via2l0X2tleWZyYW1lX3J1bGU6CiAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEVfU1lN
ICd7JyBtYXliZV9zcGFjZSBrZXlmcmFtZV9ydWxlIG1heWJlX3NwYWNlICd9JyB7Ci0gICAgICAg
IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPm1fa2V5ZnJhbWUgPSAkNDsKKyAgICAg
ICAgcGFyc2VyLT5tX2tleWZyYW1lID0gJDQ7CiAgICAgfQogOwogCkBAIC0zMzEsMzAgKzMzMSwy
NyBAQCB3ZWJraXRfZGVjbHM6CiAKIHdlYmtpdF92YWx1ZToKICAgICBXRUJLSVRfVkFMVUVfU1lN
ICd7JyBtYXliZV9zcGFjZSBleHByICd9JyB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAgICAgIGlmICgkNCkgewotICAgICAgICAg
ICAgcC0+bV92YWx1ZUxpc3QgPSBwLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDQpOwotICAgICAg
ICAgICAgaW50IG9sZFBhcnNlZFByb3BlcnRpZXMgPSBwLT5tX3BhcnNlZFByb3BlcnRpZXMuc2l6
ZSgpOwotICAgICAgICAgICAgaWYgKCFwLT5wYXJzZVZhbHVlKHAtPm1faWQsIHAtPm1faW1wb3J0
YW50KSkKLSAgICAgICAgICAgICAgICBwLT5yb2xsYmFja0xhc3RQcm9wZXJ0aWVzKHAtPm1fcGFy
c2VkUHJvcGVydGllcy5zaXplKCkgLSBvbGRQYXJzZWRQcm9wZXJ0aWVzKTsKLSAgICAgICAgICAg
IHAtPm1fdmFsdWVMaXN0ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHBhcnNlci0+bV92YWx1ZUxp
c3QgPSBwYXJzZXItPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkNCk7CisgICAgICAgICAgICBpbnQg
b2xkUGFyc2VkUHJvcGVydGllcyA9IHBhcnNlci0+bV9wYXJzZWRQcm9wZXJ0aWVzLnNpemUoKTsK
KyAgICAgICAgICAgIGlmICghcGFyc2VyLT5wYXJzZVZhbHVlKHBhcnNlci0+bV9pZCwgcGFyc2Vy
LT5tX2ltcG9ydGFudCkpCisgICAgICAgICAgICAgICAgcGFyc2VyLT5yb2xsYmFja0xhc3RQcm9w
ZXJ0aWVzKHBhcnNlci0+bV9wYXJzZWRQcm9wZXJ0aWVzLnNpemUoKSAtIG9sZFBhcnNlZFByb3Bl
cnRpZXMpOworICAgICAgICAgICAgcGFyc2VyLT5tX3ZhbHVlTGlzdCA9IG51bGxwdHI7CiAgICAg
ICAgIH0KICAgICB9CiA7CiAKIHdlYmtpdF9tZWRpYXF1ZXJ5OgogICAgICBXRUJLSVRfTUVESUFR
VUVSWV9TWU0gV0hJVEVTUEFDRSBtYXliZV9zcGFjZSBtZWRpYV9xdWVyeSAnfScgewotICAgICAg
ICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAg
ICAgIHAtPm1fbWVkaWFRdWVyeSA9IHAtPnNpbmtGbG9hdGluZ01lZGlhUXVlcnkoJDQpOworICAg
ICAgICAgcGFyc2VyLT5tX21lZGlhUXVlcnkgPSBwYXJzZXItPnNpbmtGbG9hdGluZ01lZGlhUXVl
cnkoJDQpOwogICAgICB9CiA7CiAKIHdlYmtpdF9zZWxlY3RvcjoKICAgICBXRUJLSVRfU0VMRUNU
T1JfU1lNICd7JyBtYXliZV9zcGFjZSBzZWxlY3Rvcl9saXN0ICd9JyB7CiAgICAgICAgIGlmICgk
NCkgewotICAgICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKLSAgICAgICAgICAgIGlmIChwLT5tX3NlbGVjdG9yTGlzdEZvclBhcnNlU2VsZWN0
b3IpCi0gICAgICAgICAgICAgICAgcC0+bV9zZWxlY3Rvckxpc3RGb3JQYXJzZVNlbGVjdG9yLT5h
ZG9wdFNlbGVjdG9yVmVjdG9yKCokNCk7CisgICAgICAgICAgICBpZiAocGFyc2VyLT5tX3NlbGVj
dG9yTGlzdEZvclBhcnNlU2VsZWN0b3IpCisgICAgICAgICAgICAgICAgcGFyc2VyLT5tX3NlbGVj
dG9yTGlzdEZvclBhcnNlU2VsZWN0b3ItPmFkb3B0U2VsZWN0b3JWZWN0b3IoKiQ0KTsKICAgICAg
ICAgfQogICAgIH0KIDsKQEAgLTM4MywxMSArMzgwLDEwIEBAIGNsb3NpbmdfYnJhY2U6CiAKIGNo
YXJzZXQ6CiAgIENIQVJTRVRfU1lNIG1heWJlX3NwYWNlIFNUUklORyBtYXliZV9zcGFjZSAnOycg
ewotICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICBpZiAocC0+bV9zdHlsZVNoZWV0KQotICAgICAgICAgcC0+bV9zdHlsZVNoZWV0LT5wYXJz
ZXJTZXRFbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSgkMyk7Ci0gICAgIGlmIChwLT5pc0V4dHJhY3Rp
bmdTb3VyY2VEYXRhKCkgJiYgcC0+bV9jdXJyZW50UnVsZURhdGFTdGFjay0+aXNFbXB0eSgpICYm
IHAtPm1fcnVsZVNvdXJjZURhdGFSZXN1bHQpCi0gICAgICAgICBwLT5hZGROZXdSdWxlVG9Tb3Vy
Y2VUcmVlKENTU1J1bGVTb3VyY2VEYXRhOjpjcmVhdGVVbmtub3duKCkpOworICAgICBpZiAocGFy
c2VyLT5tX3N0eWxlU2hlZXQpCisgICAgICAgICBwYXJzZXItPm1fc3R5bGVTaGVldC0+cGFyc2Vy
U2V0RW5jb2RpbmdGcm9tQ2hhcnNldFJ1bGUoJDMpOworICAgICBpZiAocGFyc2VyLT5pc0V4dHJh
Y3RpbmdTb3VyY2VEYXRhKCkgJiYgcGFyc2VyLT5tX2N1cnJlbnRSdWxlRGF0YVN0YWNrLT5pc0Vt
cHR5KCkgJiYgcGFyc2VyLT5tX3J1bGVTb3VyY2VEYXRhUmVzdWx0KQorICAgICAgICAgcGFyc2Vy
LT5hZGROZXdSdWxlVG9Tb3VyY2VUcmVlKENTU1J1bGVTb3VyY2VEYXRhOjpjcmVhdGVVbmtub3du
KCkpOwogICAgICAkJCA9IDA7CiAgIH0KICAgfCBDSEFSU0VUX1NZTSBlcnJvciBpbnZhbGlkX2Js
b2NrIHsKQEAgLTQwOSw5ICs0MDUsOCBAQCBpZ25vcmVkX2NoYXJzZXQ6CiBydWxlX2xpc3Q6CiAg
ICAvKiBlbXB0eSAqLwogIHwgcnVsZV9saXN0IHJ1bGUgbWF5YmVfc2dtbCB7Ci0gICAgIENTU1Bh
cnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgIGlmICgkMiAm
JiBwLT5tX3N0eWxlU2hlZXQpCi0gICAgICAgICBwLT5tX3N0eWxlU2hlZXQtPnBhcnNlckFwcGVu
ZFJ1bGUoJDIpOworICAgICBpZiAoJDIgJiYgcGFyc2VyLT5tX3N0eWxlU2hlZXQpCisgICAgICAg
ICBwYXJzZXItPm1fc3R5bGVTaGVldC0+cGFyc2VyQXBwZW5kUnVsZSgkMik7CiAgfQogIDsKIApA
QCAtNDI4LDcgKzQyMyw3IEBAIHZhbGlkX3J1bGU6CiAKIHJ1bGU6CiAgICAgdmFsaWRfcnVsZSB7
Ci0gICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPm1faGFkU3ludGFjdGlj
YWxseVZhbGlkQ1NTUnVsZSA9IHRydWU7CisgICAgICAgIHBhcnNlci0+bV9oYWRTeW50YWN0aWNh
bGx5VmFsaWRDU1NSdWxlID0gdHJ1ZTsKICAgICB9CiAgIHwgaWdub3JlZF9jaGFyc2V0CiAgIHwg
aW52YWxpZF9ydWxlCkBAIC00NDEsNyArNDM2LDcgQEAgYmxvY2tfcnVsZV9saXN0OgogICAgICAg
JCQgPSAkMTsKICAgICAgIGlmICgkMikgewogICAgICAgICAgIGlmICghJCQpCi0gICAgICAgICAg
ICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlUnVsZUxpc3Qo
KTsKKyAgICAgICAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZVJ1bGVMaXN0KCk7CiAgICAgICAg
ICAgJCQtPmFwcGVuZCgkMik7CiAgICAgICB9CiAgIH0KQEAgLTQ2NSw0MiArNDYwLDQxIEBAIGJs
b2NrX3J1bGU6CiAKIGF0X2ltcG9ydF9oZWFkZXJfZW5kX21heWJlX3NwYWNlOgogICAgIG1heWJl
X3NwYWNlIHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKLSAgICAgICAgcC0+bWFya1J1bGVIZWFkZXJFbmQoKTsKLSAgICAgICAgcC0+bWFy
a1J1bGVCb2R5U3RhcnQoKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRlckVuZCgpOwor
ICAgICAgICBwYXJzZXItPm1hcmtSdWxlQm9keVN0YXJ0KCk7CiAgICAgfQogICAgIDsKIAogYmVm
b3JlX2ltcG9ydF9ydWxlOgogICAgIC8qIGVtcHR5ICovIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8
Q1NTUGFyc2VyKj4ocGFyc2VyKS0+bWFya1J1bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0
YTo6SU1QT1JUX1JVTEUpOworICAgICAgICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NT
UnVsZVNvdXJjZURhdGE6OklNUE9SVF9SVUxFKTsKICAgICB9CiAgICAgOwogCiBpbXBvcnQ6CiAg
ICAgYmVmb3JlX2ltcG9ydF9ydWxlIElNUE9SVF9TWU0gYXRfaW1wb3J0X2hlYWRlcl9lbmRfbWF5
YmVfc3BhY2Ugc3RyaW5nX29yX3VyaSBtYXliZV9zcGFjZSBtYXliZV9tZWRpYV9saXN0ICc7JyB7
Ci0gICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlSW1w
b3J0UnVsZSgkNCwgJDYpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlSW1wb3J0UnVsZSgk
NCwgJDYpOwogICAgIH0KICAgfCBiZWZvcmVfaW1wb3J0X3J1bGUgSU1QT1JUX1NZTSBhdF9pbXBv
cnRfaGVhZGVyX2VuZF9tYXliZV9zcGFjZSBzdHJpbmdfb3JfdXJpIG1heWJlX3NwYWNlIG1heWJl
X21lZGlhX2xpc3QgVE9LRU5fRU9GIHsKLSAgICAgICAgJCQgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpLT5jcmVhdGVJbXBvcnRSdWxlKCQ0LCAkNik7CisgICAgICAgICQkID0gcGFy
c2VyLT5jcmVhdGVJbXBvcnRSdWxlKCQ0LCAkNik7CiAgICAgfQogICB8IGJlZm9yZV9pbXBvcnRf
cnVsZSBJTVBPUlRfU1lNIGF0X2ltcG9ydF9oZWFkZXJfZW5kX21heWJlX3NwYWNlIHN0cmluZ19v
cl91cmkgbWF5YmVfc3BhY2UgbWF5YmVfbWVkaWFfbGlzdCBpbnZhbGlkX2Jsb2NrIHsKICAgICAg
ICAgJCQgPSAwOwotICAgICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5wb3BS
dWxlRGF0YSgpOworICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CiAgICAgfQogICB8IGJl
Zm9yZV9pbXBvcnRfcnVsZSBJTVBPUlRfU1lNIGVycm9yICc7JyB7CiAgICAgICAgICQkID0gMDsK
LSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+cG9wUnVsZURhdGEoKTsK
KyAgICAgICAgcGFyc2VyLT5wb3BSdWxlRGF0YSgpOwogICAgIH0KICAgfCBiZWZvcmVfaW1wb3J0
X3J1bGUgSU1QT1JUX1NZTSBlcnJvciBpbnZhbGlkX2Jsb2NrIHsKICAgICAgICAgJCQgPSAwOwot
ICAgICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5wb3BSdWxlRGF0YSgpOwor
ICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CiAgICAgfQogICA7CiAKIG5hbWVzcGFjZToK
IE5BTUVTUEFDRV9TWU0gbWF5YmVfc3BhY2UgbWF5YmVfbnNfcHJlZml4IHN0cmluZ19vcl91cmkg
bWF5YmVfc3BhY2UgJzsnIHsKLSAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5h
ZGROYW1lc3BhY2UoJDMsICQ0KTsKKyAgICBwYXJzZXItPmFkZE5hbWVzcGFjZSgkMywgJDQpOwog
ICAgICQkID0gMDsKIH0KIHwgTkFNRVNQQUNFX1NZTSBtYXliZV9zcGFjZSBtYXliZV9uc19wcmVm
aXggc3RyaW5nX29yX3VyaSBtYXliZV9zcGFjZSBpbnZhbGlkX2Jsb2NrIHsKQEAgLTU0MiwyNSAr
NTM2LDI0IEBAIG1heWJlX21lZGlhX3ZhbHVlOgogbWVkaWFfcXVlcnlfZXhwOgogICAgICcoJyBt
YXliZV9zcGFjZSBtZWRpYV9mZWF0dXJlIG1heWJlX3NwYWNlIG1heWJlX21lZGlhX3ZhbHVlICcp
JyBtYXliZV9zcGFjZSB7CiAgICAgICAgICQzLmxvd2VyKCk7Ci0gICAgICAgICQkID0gc3RhdGlj
X2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlRmxvYXRpbmdNZWRpYVF1ZXJ5RXhwKCQz
LCAkNSk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ01lZGlhUXVlcnlFeHAo
JDMsICQ1KTsKICAgICB9CiAgICAgOwogCiBtZWRpYV9xdWVyeV9leHBfbGlzdDoKICAgICBtZWRp
YV9xdWVyeV9leHAgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeUV4
cExpc3QoKTsKLSAgICAgICAgJCQtPmFwcGVuZChwLT5zaW5rRmxvYXRpbmdNZWRpYVF1ZXJ5RXhw
KCQxKSk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ01lZGlhUXVlcnlFeHBM
aXN0KCk7CisgICAgICAgICQkLT5hcHBlbmQocGFyc2VyLT5zaW5rRmxvYXRpbmdNZWRpYVF1ZXJ5
RXhwKCQxKSk7CiAgICAgfQogICAgIHwgbWVkaWFfcXVlcnlfZXhwX2xpc3QgbWF5YmVfc3BhY2Ug
TUVESUFfQU5EIG1heWJlX3NwYWNlIG1lZGlhX3F1ZXJ5X2V4cCB7CiAgICAgICAgICQkID0gJDE7
Ci0gICAgICAgICQkLT5hcHBlbmQoc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+c2lu
a0Zsb2F0aW5nTWVkaWFRdWVyeUV4cCgkNSkpOworICAgICAgICAkJC0+YXBwZW5kKHBhcnNlci0+
c2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cCgkNSkpOwogICAgIH0KICAgICA7CiAKIG1heWJlX2Fu
ZF9tZWRpYV9xdWVyeV9leHBfbGlzdDoKICAgICAvKmVtcHR5Ki8gewotICAgICAgICAkJCA9IHN0
YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeUV4
cExpc3QoKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeUV4
cExpc3QoKTsKICAgICB9CiAgICAgfCBNRURJQV9BTkQgbWF5YmVfc3BhY2UgbWVkaWFfcXVlcnlf
ZXhwX2xpc3QgewogICAgICAgICAkJCA9ICQzOwpAQCAtNTgxLDM3ICs1NzQsMzMgQEAgbWF5YmVf
bWVkaWFfcmVzdHJpY3RvcjoKIAogbWVkaWFfcXVlcnk6CiAgICAgbWVkaWFfcXVlcnlfZXhwX2xp
c3QgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJz
ZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeShwLT5zaW5rRmxv
YXRpbmdNZWRpYVF1ZXJ5RXhwTGlzdCgkMSkpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRl
RmxvYXRpbmdNZWRpYVF1ZXJ5KHBhcnNlci0+c2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cExpc3Qo
JDEpKTsKICAgICB9CiAgICAgfAogICAgIG1heWJlX21lZGlhX3Jlc3RyaWN0b3IgbWF5YmVfc3Bh
Y2UgbWVkaXVtIG1heWJlX2FuZF9tZWRpYV9xdWVyeV9leHBfbGlzdCB7Ci0gICAgICAgIENTU1Bh
cnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAgICAgICQzLmxv
d2VyKCk7Ci0gICAgICAgICQkID0gcC0+Y3JlYXRlRmxvYXRpbmdNZWRpYVF1ZXJ5KCQxLCAkMywg
cC0+c2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cExpc3QoJDQpKTsKKyAgICAgICAgJCQgPSBwYXJz
ZXItPmNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeSgkMSwgJDMsIHBhcnNlci0+c2lua0Zsb2F0aW5n
TWVkaWFRdWVyeUV4cExpc3QoJDQpKTsKICAgICB9CiAgICAgOwogCiBtYXliZV9tZWRpYV9saXN0
OgogICAgICAvKiBlbXB0eSAqLyB7Ci0gICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2Vy
Kj4ocGFyc2VyKS0+Y3JlYXRlTWVkaWFRdWVyeVNldCgpOworICAgICAgICAkJCA9IHBhcnNlci0+
Y3JlYXRlTWVkaWFRdWVyeVNldCgpOwogICAgICB9CiAgICAgIHwgbWVkaWFfbGlzdAogICAgICA7
CiAKIG1lZGlhX2xpc3Q6CiAgICAgbWVkaWFfcXVlcnkgewotICAgICAgICBDU1NQYXJzZXIqIHAg
PSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0
ZU1lZGlhUXVlcnlTZXQoKTsKLSAgICAgICAgJCQtPmFkZE1lZGlhUXVlcnkocC0+c2lua0Zsb2F0
aW5nTWVkaWFRdWVyeSgkMSkpOwotICAgICAgICBwLT51cGRhdGVMYXN0TWVkaWFMaW5lKCQkKTsK
KyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZU1lZGlhUXVlcnlTZXQoKTsKKyAgICAgICAgJCQt
PmFkZE1lZGlhUXVlcnkocGFyc2VyLT5zaW5rRmxvYXRpbmdNZWRpYVF1ZXJ5KCQxKSk7CisgICAg
ICAgIHBhcnNlci0+dXBkYXRlTGFzdE1lZGlhTGluZSgkJCk7CiAgICAgfQogICAgIHwgbWVkaWFf
bGlzdCAnLCcgbWF5YmVfc3BhY2UgbWVkaWFfcXVlcnkgewogICAgICAgICAkJCA9ICQxOwogICAg
ICAgICBpZiAoJCQpIHsKLSAgICAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENT
U1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgICAgICAkJC0+YWRkTWVkaWFRdWVyeShwLT5zaW5r
RmxvYXRpbmdNZWRpYVF1ZXJ5KCQ0KSk7Ci0gICAgICAgICAgICBwLT51cGRhdGVMYXN0TWVkaWFM
aW5lKCQkKTsKKyAgICAgICAgICAgICQkLT5hZGRNZWRpYVF1ZXJ5KHBhcnNlci0+c2lua0Zsb2F0
aW5nTWVkaWFRdWVyeSgkNCkpOworICAgICAgICAgICAgcGFyc2VyLT51cGRhdGVMYXN0TWVkaWFM
aW5lKCQkKTsKICAgICAgICAgfQogICAgIH0KICAgICB8IG1lZGlhX2xpc3QgZXJyb3IgewpAQCAt
NjIxLDMyICs2MTAsMzIgQEAgbWVkaWFfbGlzdDoKIAogYXRfcnVsZV9ib2R5X3N0YXJ0OgogICAg
IC8qIGVtcHR5ICovIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+
bWFya1J1bGVCb2R5U3RhcnQoKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUJvZHlTdGFydCgp
OwogICAgIH0KICAgICA7CiAKIGJlZm9yZV9tZWRpYV9ydWxlOgogICAgIC8qIGVtcHR5ICovIHsK
LSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+bWFya1J1bGVIZWFkZXJT
dGFydChDU1NSdWxlU291cmNlRGF0YTo6TUVESUFfUlVMRSk7CisgICAgICAgIHBhcnNlci0+bWFy
a1J1bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6TUVESUFfUlVMRSk7CiAgICAgfQog
ICAgIDsKIAogYXRfcnVsZV9oZWFkZXJfZW5kX21heWJlX3NwYWNlOgogICAgIG1heWJlX3NwYWNl
IHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+bWFya1J1bGVIZWFk
ZXJFbmQoKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRlckVuZCgpOwogICAgIH0KICAg
ICA7CiAKIG1lZGlhOgogICAgIGJlZm9yZV9tZWRpYV9ydWxlIE1FRElBX1NZTSBtYXliZV9zcGFj
ZSBtZWRpYV9saXN0IGF0X3J1bGVfaGVhZGVyX2VuZCAneycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1h
eWJlX3NwYWNlIGJsb2NrX3J1bGVfbGlzdCBzYXZlX2Jsb2NrIHsKLSAgICAgICAgJCQgPSBzdGF0
aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5jcmVhdGVNZWRpYVJ1bGUoJDQsICQ5KTsKKyAg
ICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZU1lZGlhUnVsZSgkNCwgJDkpOwogICAgIH0KICAgICB8
IGJlZm9yZV9tZWRpYV9ydWxlIE1FRElBX1NZTSBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVfc3Bh
Y2UgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZSBibG9ja19ydWxlX2xpc3Qgc2F2
ZV9ibG9jayB7Ci0gICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+
Y3JlYXRlTWVkaWFSdWxlKDAsICQ3KTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZU1lZGlh
UnVsZSgwLCAkNyk7CiAgICAgfQogICAgIHwgYmVmb3JlX21lZGlhX3J1bGUgTUVESUFfU1lNIGF0
X3J1bGVfaGVhZGVyX2VuZF9tYXliZV9zcGFjZSAnOycgewogICAgICAgICAkJCA9IDA7Ci0gICAg
ICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPnBvcFJ1bGVEYXRhKCk7CisgICAg
ICAgIHBhcnNlci0+cG9wUnVsZURhdGEoKTsKICAgICB9CiAgICAgOwogCkBAIC02NTgsMTMgKzY0
NywxMyBAQCBtZWRpdW06CiAKIGJlZm9yZV9rZXlmcmFtZXNfcnVsZToKICAgICAvKiBlbXB0eSAq
LyB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPm1hcmtSdWxlSGVh
ZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6OktFWUZSQU1FU19SVUxFKTsKKyAgICAgICAgcGFy
c2VyLT5tYXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpLRVlGUkFNRVNfUlVM
RSk7CiAgICAgfQogICAgIDsKIAoga2V5ZnJhbWVzOgogICAgIGJlZm9yZV9rZXlmcmFtZXNfcnVs
ZSBXRUJLSVRfS0VZRlJBTUVTX1NZTSBtYXliZV9zcGFjZSBrZXlmcmFtZV9uYW1lIGF0X3J1bGVf
aGVhZGVyX2VuZF9tYXliZV9zcGFjZSAneycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1heWJlX3NwYWNl
IGtleWZyYW1lc19ydWxlIGNsb3NpbmdfYnJhY2UgewotICAgICAgICAkJCA9IHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0ZUtleWZyYW1lc1J1bGUoJDQsIHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlciktPnNpbmtGbG9hdGluZ0tleWZyYW1lVmVjdG9yKCQ5KSk7Cisg
ICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVLZXlmcmFtZXNSdWxlKCQ0LCBwYXJzZXItPnNpbmtG
bG9hdGluZ0tleWZyYW1lVmVjdG9yKCQ5KSk7CiAgICAgfQogICAgIDsKICAgCkBAIC02NzQsNyAr
NjYzLDcgQEAga2V5ZnJhbWVfbmFtZToKICAgICA7CiAKIGtleWZyYW1lc19ydWxlOgotICAgIC8q
IGVtcHR5ICovIHsgJCQgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5jcmVhdGVG
bG9hdGluZ0tleWZyYW1lVmVjdG9yKCk7IH0KKyAgICAvKiBlbXB0eSAqLyB7ICQkID0gcGFyc2Vy
LT5jcmVhdGVGbG9hdGluZ0tleWZyYW1lVmVjdG9yKCk7IH0KICAgICB8IGtleWZyYW1lc19ydWxl
IGtleWZyYW1lX3J1bGUgbWF5YmVfc3BhY2UgewogICAgICAgICAkJCA9ICQxOwogICAgICAgICBp
ZiAoJDIpCkBAIC02ODQsMjEgKzY3MywxOSBAQCBrZXlmcmFtZXNfcnVsZToKIAoga2V5ZnJhbWVf
cnVsZToKICAgICBrZXlfbGlzdCBtYXliZV9zcGFjZSAneycgbWF5YmVfc3BhY2UgZGVjbGFyYXRp
b25fbGlzdCAnfScgewotICAgICAgICAkJCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNl
ciktPmNyZWF0ZUtleWZyYW1lKCQxKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUtleWZy
YW1lKCQxKTsKICAgICB9CiAgICAgOwogCiBrZXlfbGlzdDoKICAgICBrZXkgewotICAgICAgICBD
U1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAk
JCA9IHAtPmNyZWF0ZUZsb2F0aW5nVmFsdWVMaXN0KCk7Ci0gICAgICAgICQkLT5hZGRWYWx1ZShw
LT5zaW5rRmxvYXRpbmdWYWx1ZSgkMSkpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxv
YXRpbmdWYWx1ZUxpc3QoKTsKKyAgICAgICAgJCQtPmFkZFZhbHVlKHBhcnNlci0+c2lua0Zsb2F0
aW5nVmFsdWUoJDEpKTsKICAgICB9CiAgICAgfCBrZXlfbGlzdCBtYXliZV9zcGFjZSAnLCcgbWF5
YmVfc3BhY2Uga2V5IHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFy
c2VyKj4ocGFyc2VyKTsKICAgICAgICAgJCQgPSAkMTsKICAgICAgICAgaWYgKCQkKQotICAgICAg
ICAgICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVlKCQ1KSk7CisgICAgICAgICAg
ICAkJC0+YWRkVmFsdWUocGFyc2VyLT5zaW5rRmxvYXRpbmdWYWx1ZSgkNSkpOwogICAgIH0KICAg
ICA7CiAKQEAgLTcxOCw0NiArNzA1LDQzIEBAIGtleToKIAogYmVmb3JlX3BhZ2VfcnVsZToKICAg
ICAvKiBlbXB0eSAqLyB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcikt
Pm1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6OlBBR0VfUlVMRSk7CisgICAg
ICAgIHBhcnNlci0+bWFya1J1bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6UEFHRV9S
VUxFKTsKICAgICB9CiAgICAgOwogCiBwYWdlOgogICAgIGJlZm9yZV9wYWdlX3J1bGUgUEFHRV9T
WU0gbWF5YmVfc3BhY2UgcGFnZV9zZWxlY3RvciBhdF9ydWxlX2hlYWRlcl9lbmRfbWF5YmVfc3Bh
Y2UKICAgICAneycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1heWJlX3NwYWNlX2JlZm9yZV9kZWNsYXJh
dGlvbiBkZWNsYXJhdGlvbnNfYW5kX21hcmdpbnMgY2xvc2luZ19icmFjZSB7Ci0gICAgICAgIENT
U1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAgICAgIGlm
ICgkNCkKLSAgICAgICAgICAgICQkID0gcC0+Y3JlYXRlUGFnZVJ1bGUocC0+c2lua0Zsb2F0aW5n
U2VsZWN0b3IoJDQpKTsKKyAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVQYWdlUnVsZShw
YXJzZXItPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQ0KSk7CiAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgLy8gQ2xlYXIgcHJvcGVydGllcyBpbiB0aGUgaW52YWxpZCBAcGFnZSBydWxlLgotICAg
ICAgICAgICAgcC0+Y2xlYXJQcm9wZXJ0aWVzKCk7CisgICAgICAgICAgICBwYXJzZXItPmNsZWFy
UHJvcGVydGllcygpOwogICAgICAgICAgICAgLy8gQWxzbyBjbGVhciBtYXJnaW4gYXQtcnVsZXMg
aGVyZSBvbmNlIHdlIGZ1bGx5IGltcGxlbWVudCBtYXJnaW4gYXQtcnVsZXMgcGFyc2luZy4KICAg
ICAgICAgICAgICQkID0gMDsKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBh
cnNlciktPnBvcFJ1bGVEYXRhKCk7CisgICAgICAgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgfCBiZWZvcmVfcGFnZV9ydWxlIFBBR0VfU1lNIGVycm9y
IGludmFsaWRfYmxvY2sgewotICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+
cG9wUnVsZURhdGEoKTsKKyAgICAgIHBhcnNlci0+cG9wUnVsZURhdGEoKTsKICAgICAgICQkID0g
MDsKICAgICB9CiAgICAgfCBiZWZvcmVfcGFnZV9ydWxlIFBBR0VfU1lNIGVycm9yICc7JyB7Ci0g
ICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5wb3BSdWxlRGF0YSgpOworICAg
ICAgcGFyc2VyLT5wb3BSdWxlRGF0YSgpOwogICAgICAgJCQgPSAwOwogICAgIH0KICAgICA7CiAK
IHBhZ2Vfc2VsZWN0b3I6CiAgICAgSURFTlQgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0
aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0
aW5nU2VsZWN0b3IoKTsKLSAgICAgICAgJCQtPnNldFRhZyhRdWFsaWZpZWROYW1lKG51bGxBdG9t
LCAkMSwgcC0+bV9kZWZhdWx0TmFtZXNwYWNlKSk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVh
dGVGbG9hdGluZ1NlbGVjdG9yKCk7CisgICAgICAgICQkLT5zZXRUYWcoUXVhbGlmaWVkTmFtZShu
dWxsQXRvbSwgJDEsIHBhcnNlci0+bV9kZWZhdWx0TmFtZXNwYWNlKSk7CiAgICAgICAgICQkLT5z
ZXRGb3JQYWdlKCk7CiAgICAgfQogICAgIHwgSURFTlQgcHNldWRvX3BhZ2UgewotICAgICAgICBD
U1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwogICAgICAgICAk
JCA9ICQyOwogICAgICAgICBpZiAoJCQpIHsKLSAgICAgICAgICAgICQkLT5zZXRUYWcoUXVhbGlm
aWVkTmFtZShudWxsQXRvbSwgJDEsIHAtPm1fZGVmYXVsdE5hbWVzcGFjZSkpOworICAgICAgICAg
ICAgJCQtPnNldFRhZyhRdWFsaWZpZWROYW1lKG51bGxBdG9tLCAkMSwgcGFyc2VyLT5tX2RlZmF1
bHROYW1lc3BhY2UpKTsKICAgICAgICAgICAgICQkLT5zZXRGb3JQYWdlKCk7CiAgICAgICAgIH0K
ICAgICB9CkBAIC03NjcsOCArNzUxLDcgQEAgcGFnZV9zZWxlY3RvcjoKICAgICAgICAgICAgICQk
LT5zZXRGb3JQYWdlKCk7CiAgICAgfQogICAgIHwgLyogZW1wdHkgKi8gewotICAgICAgICBDU1NQ
YXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9
IHAtPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0
ZUZsb2F0aW5nU2VsZWN0b3IoKTsKICAgICAgICAgJCQtPnNldEZvclBhZ2UoKTsKICAgICB9CiAg
ICAgOwpAQCAtNzgwLDkgKzc2Myw5IEBAIGRlY2xhcmF0aW9uc19hbmRfbWFyZ2luczoKIAogbWFy
Z2luX2JveDoKICAgICBtYXJnaW5fc3ltIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2Vy
Kj4ocGFyc2VyKS0+c3RhcnREZWNsYXJhdGlvbnNGb3JNYXJnaW5Cb3goKTsKKyAgICAgICAgcGFy
c2VyLT5zdGFydERlY2xhcmF0aW9uc0Zvck1hcmdpbkJveCgpOwogICAgIH0gbWF5YmVfc3BhY2Ug
J3snIG1heWJlX3NwYWNlIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7Ci0gICAgICAg
ICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlTWFyZ2luQXRSdWxl
KCQxKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZU1hcmdpbkF0UnVsZSgkMSk7CiAgICAg
fQogICAgIDsKIApAQCAtODM5LDMwICs4MjIsMzAgQEAgbWFyZ2luX3N5bSA6CiAKIGJlZm9yZV9m
b250X2ZhY2VfcnVsZToKICAgICAvKiBlbXB0eSAqLyB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENT
U1BhcnNlcio+KHBhcnNlciktPm1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6
OkZPTlRfRkFDRV9SVUxFKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRlclN0YXJ0KENT
U1J1bGVTb3VyY2VEYXRhOjpGT05UX0ZBQ0VfUlVMRSk7CiAgICAgfQogICAgIDsKIAogZm9udF9m
YWNlOgogICAgIGJlZm9yZV9mb250X2ZhY2VfcnVsZSBGT05UX0ZBQ0VfU1lNIGF0X3J1bGVfaGVh
ZGVyX2VuZF9tYXliZV9zcGFjZQogICAgICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3Bh
Y2VfYmVmb3JlX2RlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3QgY2xvc2luZ19icmFjZSB7Ci0g
ICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlRm9udEZh
Y2VSdWxlKCk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGb250RmFjZVJ1bGUoKTsKICAg
ICB9CiAgICAgfCBiZWZvcmVfZm9udF9mYWNlX3J1bGUgRk9OVF9GQUNFX1NZTSBlcnJvciBpbnZh
bGlkX2Jsb2NrIHsKICAgICAgICQkID0gMDsKLSAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+
KHBhcnNlciktPnBvcFJ1bGVEYXRhKCk7CisgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CiAg
ICAgfQogICAgIHwgYmVmb3JlX2ZvbnRfZmFjZV9ydWxlIEZPTlRfRkFDRV9TWU0gZXJyb3IgJzsn
IHsKICAgICAgICQkID0gMDsKLSAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcikt
PnBvcFJ1bGVEYXRhKCk7CisgICAgICBwYXJzZXItPnBvcFJ1bGVEYXRhKCk7CiAgICAgfQogOwog
CiByZWdpb25fc2VsZWN0b3I6CiAgICAgc2VsZWN0b3JfbGlzdCB7CiAgICAgICAgIGlmICgkMSkg
ewotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+c2V0UmV1c2Fi
bGVSZWdpb25TZWxlY3RvclZlY3RvcigkMSk7Ci0gICAgICAgICAgICAkJCA9IHN0YXRpY19jYXN0
PENTU1BhcnNlcio+KHBhcnNlciktPnJldXNhYmxlUmVnaW9uU2VsZWN0b3JWZWN0b3IoKTsKKyAg
ICAgICAgICAgIHBhcnNlci0+c2V0UmV1c2FibGVSZWdpb25TZWxlY3RvclZlY3RvcigkMSk7Cisg
ICAgICAgICAgICAkJCA9IHBhcnNlci0+cmV1c2FibGVSZWdpb25TZWxlY3RvclZlY3RvcigpOwog
ICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICQkID0gMDsKQEAgLTg3MSwxNyAr
ODU0LDE3IEBAIHJlZ2lvbl9zZWxlY3RvcjoKIAogYmVmb3JlX3JlZ2lvbl9ydWxlOgogICAgIC8q
IGVtcHR5ICovIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+bWFy
a1J1bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6UkVHSU9OX1JVTEUpOworICAgICAg
ICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6OlJFR0lPTl9S
VUxFKTsKICAgICB9CiAgICAgOwogCiByZWdpb246CiAgICAgYmVmb3JlX3JlZ2lvbl9ydWxlIFdF
QktJVF9SRUdJT05fUlVMRV9TWU0gV0hJVEVTUEFDRSByZWdpb25fc2VsZWN0b3IgYXRfcnVsZV9o
ZWFkZXJfZW5kICd7JyBhdF9ydWxlX2JvZHlfc3RhcnQgbWF5YmVfc3BhY2UgYmxvY2tfcnVsZV9s
aXN0IHNhdmVfYmxvY2sgewogICAgICAgICBpZiAoJDQpCi0gICAgICAgICAgICAkJCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0ZVJlZ2lvblJ1bGUoJDQsICQ5KTsKKyAg
ICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVSZWdpb25SdWxlKCQ0LCAkOSk7CiAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgJCQgPSAwOwotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Q1NT
UGFyc2VyKj4ocGFyc2VyKS0+cG9wUnVsZURhdGEoKTsKKyAgICAgICAgICAgIHBhcnNlci0+cG9w
UnVsZURhdGEoKTsKICAgICAgICAgfQogICAgIH0KIDsKQEAgLTkwNCw0NSArODg3LDQyIEBAIHVu
YXJ5X29wZXJhdG9yOgogCiBtYXliZV9zcGFjZV9iZWZvcmVfZGVjbGFyYXRpb246CiAgICAgbWF5
YmVfc3BhY2UgewotICAgICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5tYXJr
UHJvcGVydHlTdGFydCgpOworICAgICAgICBwYXJzZXItPm1hcmtQcm9wZXJ0eVN0YXJ0KCk7CiAg
ICAgfQogICA7CiAKIGJlZm9yZV9zZWxlY3Rvcl9saXN0OgogICAgIC8qIGVtcHR5ICovIHsKLSAg
ICAgICAgc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+bWFya1J1bGVIZWFkZXJTdGFy
dChDU1NSdWxlU291cmNlRGF0YTo6U1RZTEVfUlVMRSk7CisgICAgICAgIHBhcnNlci0+bWFya1J1
bGVIZWFkZXJTdGFydChDU1NSdWxlU291cmNlRGF0YTo6U1RZTEVfUlVMRSk7CiAgICAgfQogICA7
CiAKIGF0X3J1bGVfaGVhZGVyX2VuZDoKICAgICAvKiBlbXB0eSAqLyB7Ci0gICAgICAgIHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPm1hcmtSdWxlSGVhZGVyRW5kKCk7CisgICAgICAg
IHBhcnNlci0+bWFya1J1bGVIZWFkZXJFbmQoKTsKICAgICB9CiAgIDsKIAogcnVsZXNldDoKICAg
ICBiZWZvcmVfc2VsZWN0b3JfbGlzdCBzZWxlY3Rvcl9saXN0IGF0X3J1bGVfaGVhZGVyX2VuZCAn
eycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1heWJlX3NwYWNlX2JlZm9yZV9kZWNsYXJhdGlvbiBkZWNs
YXJhdGlvbl9saXN0IGNsb3NpbmdfYnJhY2UgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0
aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZVN0eWxl
UnVsZSgkMik7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVTdHlsZVJ1bGUoJDIpOwogICAg
IH0KICAgOwogCiBzZWxlY3Rvcl9saXN0OgogICAgIHNlbGVjdG9yICVwcmVjIFVOSU1QT1JUQU5U
X1RPSyB7CiAgICAgICAgIGlmICgkMSkgewotICAgICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3Rh
dGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAgICAgICAgICQkID0gcC0+cmV1c2Fi
bGVTZWxlY3RvclZlY3RvcigpOworICAgICAgICAgICAgJCQgPSBwYXJzZXItPnJldXNhYmxlU2Vs
ZWN0b3JWZWN0b3IoKTsKICAgICAgICAgICAgICQkLT5zaHJpbmsoMCk7Ci0gICAgICAgICAgICAk
JC0+YXBwZW5kKHAtPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQxKSk7Ci0gICAgICAgICAgICBwLT51
cGRhdGVMYXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24oKTsKKyAgICAgICAgICAgICQkLT5hcHBl
bmQocGFyc2VyLT5zaW5rRmxvYXRpbmdTZWxlY3RvcigkMSkpOworICAgICAgICAgICAgcGFyc2Vy
LT51cGRhdGVMYXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24oKTsKICAgICAgICAgfQogICAgIH0K
ICAgICB8IHNlbGVjdG9yX2xpc3QgJywnIG1heWJlX3NwYWNlIHNlbGVjdG9yICVwcmVjIFVOSU1Q
T1JUQU5UX1RPSyB7CiAgICAgICAgIGlmICgkMSAmJiAkNCkgewotICAgICAgICAgICAgQ1NTUGFy
c2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKICAgICAgICAgICAgICQk
ID0gJDE7Ci0gICAgICAgICAgICAkJC0+YXBwZW5kKHAtPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQ0
KSk7Ci0gICAgICAgICAgICBwLT51cGRhdGVMYXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24oKTsK
KyAgICAgICAgICAgICQkLT5hcHBlbmQocGFyc2VyLT5zaW5rRmxvYXRpbmdTZWxlY3RvcigkNCkp
OworICAgICAgICAgICAgcGFyc2VyLT51cGRhdGVMYXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24o
KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAkJCA9IDA7CiAgICAgfQpAQCAtOTcxLDEy
ICs5NTEsMTEgQEAgc2VsZWN0b3I6CiAgICAgICAgIGlmICghJDEpCiAgICAgICAgICAgICAkJCA9
IDA7CiAgICAgICAgIGVsc2UgaWYgKCQkKSB7Ci0gICAgICAgICAgICBDU1NQYXJzZXIqIHAgPSBz
dGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwogICAgICAgICAgICAgQ1NTUGFyc2VyU2Vs
ZWN0b3IqIGVuZCA9ICQkOwogICAgICAgICAgICAgd2hpbGUgKGVuZC0+dGFnSGlzdG9yeSgpKQog
ICAgICAgICAgICAgICAgIGVuZCA9IGVuZC0+dGFnSGlzdG9yeSgpOwogICAgICAgICAgICAgZW5k
LT5zZXRSZWxhdGlvbihDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudCk7Ci0gICAgICAgICAgICBlbmQt
PnNldFRhZ0hpc3RvcnkocC0+c2lua0Zsb2F0aW5nU2VsZWN0b3IoJDEpKTsKKyAgICAgICAgICAg
IGVuZC0+c2V0VGFnSGlzdG9yeShwYXJzZXItPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQxKSk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgfCBzZWxlY3RvciBjb21iaW5hdG9yIHNpbXBsZV9zZWxlY3Rv
ciB7CkBAIC05ODQsMTIgKzk2MywxMSBAQCBzZWxlY3RvcjoKICAgICAgICAgaWYgKCEkMSkKICAg
ICAgICAgICAgICQkID0gMDsKICAgICAgICAgZWxzZSBpZiAoJCQpIHsKLSAgICAgICAgICAgIENT
U1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CiAgICAgICAgICAg
ICBDU1NQYXJzZXJTZWxlY3RvciogZW5kID0gJCQ7CiAgICAgICAgICAgICB3aGlsZSAoZW5kLT50
YWdIaXN0b3J5KCkpCiAgICAgICAgICAgICAgICAgZW5kID0gZW5kLT50YWdIaXN0b3J5KCk7CiAg
ICAgICAgICAgICBlbmQtPnNldFJlbGF0aW9uKCQyKTsKLSAgICAgICAgICAgIGVuZC0+c2V0VGFn
SGlzdG9yeShwLT5zaW5rRmxvYXRpbmdTZWxlY3RvcigkMSkpOworICAgICAgICAgICAgZW5kLT5z
ZXRUYWdIaXN0b3J5KHBhcnNlci0+c2lua0Zsb2F0aW5nU2VsZWN0b3IoJDEpKTsKICAgICAgICAg
fQogICAgIH0KICAgICB8IHNlbGVjdG9yIGVycm9yIHsKQEAgLTEwMDUsNTEgKzk4Myw0NyBAQCBu
YW1lc3BhY2Vfc2VsZWN0b3I6CiAgICAgCiBzaW1wbGVfc2VsZWN0b3I6CiAgICAgZWxlbWVudF9u
YW1lIHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFy
c2VyKTsKLSAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7Ci0gICAgICAg
ICQkLT5zZXRUYWcoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgJDEsIHAtPm1fZGVmYXVsdE5hbWVz
cGFjZSkpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOwor
ICAgICAgICAkJC0+c2V0VGFnKFF1YWxpZmllZE5hbWUobnVsbEF0b20sICQxLCBwYXJzZXItPm1f
ZGVmYXVsdE5hbWVzcGFjZSkpOwogICAgIH0KICAgICB8IGVsZW1lbnRfbmFtZSBzcGVjaWZpZXJf
bGlzdCB7CiAgICAgICAgICQkID0gJDI7CiAgICAgICAgIGlmICgkJCkKLSAgICAgICAgICAgIHN0
YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPnVwZGF0ZVNwZWNpZmllcnNXaXRoRWxlbWVu
dE5hbWUobnVsbEF0b20sICQxLCAkJCk7CisgICAgICAgICAgICBwYXJzZXItPnVwZGF0ZVNwZWNp
ZmllcnNXaXRoRWxlbWVudE5hbWUobnVsbEF0b20sICQxLCAkJCk7CiAgICAgfQogICAgIHwgc3Bl
Y2lmaWVyX2xpc3QgewogICAgICAgICAkJCA9ICQxOwogICAgICAgICBpZiAoJCQpCi0gICAgICAg
ICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT51cGRhdGVTcGVjaWZpZXJzV2l0
aEVsZW1lbnROYW1lKG51bGxBdG9tLCBzdGFyQXRvbSwgJCQpOworICAgICAgICAgICAgcGFyc2Vy
LT51cGRhdGVTcGVjaWZpZXJzV2l0aEVsZW1lbnROYW1lKG51bGxBdG9tLCBzdGFyQXRvbSwgJCQp
OwogICAgIH0KICAgICB8IG5hbWVzcGFjZV9zZWxlY3RvciBlbGVtZW50X25hbWUgewotICAgICAg
ICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAg
ICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKLSAgICAgICAgJCQtPnNldFRhZyhw
LT5kZXRlcm1pbmVOYW1lSW5OYW1lc3BhY2UoJDEsICQyKSk7CisgICAgICAgICQkID0gcGFyc2Vy
LT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7CisgICAgICAgICQkLT5zZXRUYWcocGFyc2VyLT5k
ZXRlcm1pbmVOYW1lSW5OYW1lc3BhY2UoJDEsICQyKSk7CiAgICAgfQogICAgIHwgbmFtZXNwYWNl
X3NlbGVjdG9yIGVsZW1lbnRfbmFtZSBzcGVjaWZpZXJfbGlzdCB7CiAgICAgICAgICQkID0gJDM7
CiAgICAgICAgIGlmICgkJCkKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBh
cnNlciktPnVwZGF0ZVNwZWNpZmllcnNXaXRoRWxlbWVudE5hbWUoJDEsICQyLCAkJCk7CisgICAg
ICAgICAgICBwYXJzZXItPnVwZGF0ZVNwZWNpZmllcnNXaXRoRWxlbWVudE5hbWUoJDEsICQyLCAk
JCk7CiAgICAgfQogICAgIHwgbmFtZXNwYWNlX3NlbGVjdG9yIHNwZWNpZmllcl9saXN0IHsKICAg
ICAgICAgJCQgPSAkMjsKICAgICAgICAgaWYgKCQkKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8
Q1NTUGFyc2VyKj4ocGFyc2VyKS0+dXBkYXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZSgkMSwg
c3RhckF0b20sICQkKTsKKyAgICAgICAgICAgIHBhcnNlci0+dXBkYXRlU3BlY2lmaWVyc1dpdGhF
bGVtZW50TmFtZSgkMSwgc3RhckF0b20sICQkKTsKICAgICB9CiAgIDsKIAogc2ltcGxlX3NlbGVj
dG9yX2xpc3Q6CiAgICAgc2ltcGxlX3NlbGVjdG9yICVwcmVjIFVOSU1QT1JUQU5UX1RPSyB7CiAg
ICAgICAgIGlmICgkMSkgewotICAgICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8
Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAgICAgICAgICQkID0gcC0+Y3JlYXRlRmxvYXRpbmdT
ZWxlY3RvclZlY3RvcigpOwotICAgICAgICAgICAgJCQtPmFwcGVuZChwLT5zaW5rRmxvYXRpbmdT
ZWxlY3RvcigkMSkpOworICAgICAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2Vs
ZWN0b3JWZWN0b3IoKTsKKyAgICAgICAgICAgICQkLT5hcHBlbmQocGFyc2VyLT5zaW5rRmxvYXRp
bmdTZWxlY3RvcigkMSkpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICQkID0gMDsKICAg
ICB9CiAgICAgfCBzaW1wbGVfc2VsZWN0b3JfbGlzdCBtYXliZV9zcGFjZSAnLCcgbWF5YmVfc3Bh
Y2Ugc2ltcGxlX3NlbGVjdG9yICVwcmVjIFVOSU1QT1JUQU5UX1RPSyB7CiAgICAgICAgIGlmICgk
MSAmJiAkNSkgewotICAgICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFy
c2VyKj4ocGFyc2VyKTsKICAgICAgICAgICAgICQkID0gJDE7Ci0gICAgICAgICAgICAkJC0+YXBw
ZW5kKHAtPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQ1KSk7CisgICAgICAgICAgICAkJC0+YXBwZW5k
KHBhcnNlci0+c2lua0Zsb2F0aW5nU2VsZWN0b3IoJDUpKTsKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICAkJCA9IDA7CiAgICAgfQpAQCAtMTA2MSw4ICsxMDM1LDcgQEAgc2ltcGxlX3NlbGVj
dG9yX2xpc3Q6CiBlbGVtZW50X25hbWU6CiAgICAgSURFTlQgewogICAgICAgICBDU1NQYXJzZXJT
dHJpbmcmIHN0ciA9ICQxOwotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQ
YXJzZXIqPihwYXJzZXIpOwotICAgICAgICBpZiAocC0+bV9jb250ZXh0LmlzSFRNTERvY3VtZW50
KQorICAgICAgICBpZiAocGFyc2VyLT5tX2NvbnRleHQuaXNIVE1MRG9jdW1lbnQpCiAgICAgICAg
ICAgICBzdHIubG93ZXIoKTsKICAgICAgICAgJCQgPSBzdHI7CiAgICAgfQpAQCAtMTA4MSw3ICsx
MDU0LDcgQEAgc3BlY2lmaWVyX2xpc3Q6CiAgICAgICAgIGlmICghJDIpCiAgICAgICAgICAgICAk
JCA9IDA7CiAgICAgICAgIGVsc2UgaWYgKCQxKQotICAgICAgICAgICAgJCQgPSBzdGF0aWNfY2Fz
dDxDU1NQYXJzZXIqPihwYXJzZXIpLT51cGRhdGVTcGVjaWZpZXJzKCQxLCAkMik7CisgICAgICAg
ICAgICAkJCA9IHBhcnNlci0+dXBkYXRlU3BlY2lmaWVycygkMSwgJDIpOwogICAgIH0KICAgICB8
IHNwZWNpZmllcl9saXN0IGVycm9yIHsKICAgICAgICAgJCQgPSAwOwpAQCAtMTA5MCwxMCArMTA2
Myw5IEBAIHNwZWNpZmllcl9saXN0OgogCiBzcGVjaWZpZXI6CiAgICAgSURTRUwgewotICAgICAg
ICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAg
ICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgJCQgPSBwYXJzZXIt
PmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKICAgICAgICAgJCQtPnNldE1hdGNoKENTU1NlbGVj
dG9yOjpJZCk7Ci0gICAgICAgIGlmIChwLT5tX2NvbnRleHQubW9kZSA9PSBDU1NRdWlya3NNb2Rl
KQorICAgICAgICBpZiAocGFyc2VyLT5tX2NvbnRleHQubW9kZSA9PSBDU1NRdWlya3NNb2RlKQog
ICAgICAgICAgICAgJDEubG93ZXIoKTsKICAgICAgICAgJCQtPnNldFZhbHVlKCQxKTsKICAgICB9
CkBAIC0xMTAxLDEwICsxMDczLDkgQEAgc3BlY2lmaWVyOgogICAgICAgICBpZiAoJDEuY2hhcmFj
dGVyc1swXSA+PSAnMCcgJiYgJDEuY2hhcmFjdGVyc1swXSA8PSAnOScpIHsKICAgICAgICAgICAg
ICQkID0gMDsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIENTU1BhcnNlciogcCA9IHN0
YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgICAgICAkJCA9IHAtPmNyZWF0
ZUZsb2F0aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9h
dGluZ1NlbGVjdG9yKCk7CiAgICAgICAgICAgICAkJC0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6Oklk
KTsKLSAgICAgICAgICAgIGlmIChwLT5tX2NvbnRleHQubW9kZSA9PSBDU1NRdWlya3NNb2RlKQor
ICAgICAgICAgICAgaWYgKHBhcnNlci0+bV9jb250ZXh0Lm1vZGUgPT0gQ1NTUXVpcmtzTW9kZSkK
ICAgICAgICAgICAgICAgICAkMS5sb3dlcigpOwogICAgICAgICAgICAgJCQtPnNldFZhbHVlKCQx
KTsKICAgICAgICAgfQpAQCAtMTExNiwxMCArMTA4Nyw5IEBAIHNwZWNpZmllcjoKIAogY2xhc3M6
CiAgICAgJy4nIElERU5UIHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NT
UGFyc2VyKj4ocGFyc2VyKTsKLSAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9y
KCk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7CiAgICAg
ICAgICQkLT5zZXRNYXRjaChDU1NTZWxlY3Rvcjo6Q2xhc3MpOwotICAgICAgICBpZiAocC0+bV9j
b250ZXh0Lm1vZGUgPT0gQ1NTUXVpcmtzTW9kZSkKKyAgICAgICAgaWYgKHBhcnNlci0+bV9jb250
ZXh0Lm1vZGUgPT0gQ1NTUXVpcmtzTW9kZSkKICAgICAgICAgICAgICQyLmxvd2VyKCk7CiAgICAg
ICAgICQkLT5zZXRWYWx1ZSgkMik7CiAgICAgfQpAQCAtMTEyOCw4ICsxMDk4LDcgQEAgY2xhc3M6
CiBhdHRyX25hbWU6CiAgICAgSURFTlQgbWF5YmVfc3BhY2UgewogICAgICAgICBDU1NQYXJzZXJT
dHJpbmcmIHN0ciA9ICQxOwotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQ
YXJzZXIqPihwYXJzZXIpOwotICAgICAgICBpZiAocC0+bV9jb250ZXh0LmlzSFRNTERvY3VtZW50
KQorICAgICAgICBpZiAocGFyc2VyLT5tX2NvbnRleHQuaXNIVE1MRG9jdW1lbnQpCiAgICAgICAg
ICAgICBzdHIubG93ZXIoKTsKICAgICAgICAgJCQgPSBzdHI7CiAgICAgfQpAQCAtMTEzNywyNiAr
MTEwNiwyNCBAQCBhdHRyX25hbWU6CiAKIGF0dHJpYjoKICAgICAnWycgbWF5YmVfc3BhY2UgYXR0
cl9uYW1lICddJyB7Ci0gICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2Vy
KS0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRl
RmxvYXRpbmdTZWxlY3RvcigpOwogICAgICAgICAkJC0+c2V0QXR0cmlidXRlKFF1YWxpZmllZE5h
bWUobnVsbEF0b20sICQzLCBudWxsQXRvbSkpOwogICAgICAgICAkJC0+c2V0TWF0Y2goQ1NTU2Vs
ZWN0b3I6OlNldCk7CiAgICAgfQogICAgIHwgJ1snIG1heWJlX3NwYWNlIGF0dHJfbmFtZSBtYXRj
aCBtYXliZV9zcGFjZSBpZGVudF9vcl9zdHJpbmcgbWF5YmVfc3BhY2UgJ10nIHsKLSAgICAgICAg
JCQgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5jcmVhdGVGbG9hdGluZ1NlbGVj
dG9yKCk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7CiAg
ICAgICAgICQkLT5zZXRBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgJDMsIG51bGxB
dG9tKSk7CiAgICAgICAgICQkLT5zZXRNYXRjaCgoQ1NTU2VsZWN0b3I6Ok1hdGNoKSQ0KTsKICAg
ICAgICAgJCQtPnNldFZhbHVlKCQ2KTsKICAgICB9CiAgICAgfCAnWycgbWF5YmVfc3BhY2UgbmFt
ZXNwYWNlX3NlbGVjdG9yIGF0dHJfbmFtZSAnXScgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBz
dGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZs
b2F0aW5nU2VsZWN0b3IoKTsKLSAgICAgICAgJCQtPnNldEF0dHJpYnV0ZShwLT5kZXRlcm1pbmVO
YW1lSW5OYW1lc3BhY2UoJDMsICQ0KSk7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVGbG9h
dGluZ1NlbGVjdG9yKCk7CisgICAgICAgICQkLT5zZXRBdHRyaWJ1dGUocGFyc2VyLT5kZXRlcm1p
bmVOYW1lSW5OYW1lc3BhY2UoJDMsICQ0KSk7CiAgICAgICAgICQkLT5zZXRNYXRjaChDU1NTZWxl
Y3Rvcjo6U2V0KTsKICAgICB9CiAgICAgfCAnWycgbWF5YmVfc3BhY2UgbmFtZXNwYWNlX3NlbGVj
dG9yIGF0dHJfbmFtZSBtYXRjaCBtYXliZV9zcGFjZSBpZGVudF9vcl9zdHJpbmcgbWF5YmVfc3Bh
Y2UgJ10nIHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKLSAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7Ci0gICAg
ICAgICQkLT5zZXRBdHRyaWJ1dGUocC0+ZGV0ZXJtaW5lTmFtZUluTmFtZXNwYWNlKCQzLCAkNCkp
OworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOworICAgICAg
ICAkJC0+c2V0QXR0cmlidXRlKHBhcnNlci0+ZGV0ZXJtaW5lTmFtZUluTmFtZXNwYWNlKCQzLCAk
NCkpOwogICAgICAgICAkJC0+c2V0TWF0Y2goKENTU1NlbGVjdG9yOjpNYXRjaCkkNSk7CiAgICAg
ICAgICQkLT5zZXRWYWx1ZSgkNyk7CiAgICAgfQpAQCAtMTE5MCw3ICsxMTU3LDcgQEAgaWRlbnRf
b3Jfc3RyaW5nOgogCiBwc2V1ZG9fcGFnZToKICAgICAnOicgSURFTlQgewotICAgICAgICAkJCA9
IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3Io
KTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKICAgICAg
ICAgJCQtPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQYWdlUHNldWRvQ2xhc3MpOwogICAgICAgICAk
Mi5sb3dlcigpOwogICAgICAgICAkJC0+c2V0VmFsdWUoJDIpOwpAQCAtMTIwMSw3ICsxMTY4LDcg
QEAgcHNldWRvX3BhZ2U6CiAKIHBzZXVkbzoKICAgICAnOicgSURFTlQgewotICAgICAgICAkJCA9
IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3Io
KTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKICAgICAg
ICAgJCQtPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcyk7CiAgICAgICAgICQyLmxv
d2VyKCk7CiAgICAgICAgICQkLT5zZXRWYWx1ZSgkMik7CkBAIC0xMjEwLDcgKzExNzcsNyBAQCBw
c2V1ZG86CiAgICAgICAgICAgICAkJCA9IDA7CiAgICAgfQogICAgIHwgJzonICc6JyBJREVOVCB7
Ci0gICAgICAgICQkID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKS0+Y3JlYXRlRmxv
YXRpbmdTZWxlY3RvcigpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxl
Y3RvcigpOwogICAgICAgICAkJC0+c2V0TWF0Y2goQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQp
OwogICAgICAgICAkMy5sb3dlcigpOwogICAgICAgICAkJC0+c2V0VmFsdWUoJDMpOwpAQCAtMTIy
NCwxMCArMTE5MSw5IEBAIHBzZXVkbzoKICAgICAvLyByZWxhdGVkIGRpc2N1c3Npb24gd2l0aCBy
ZXNwZWN0IHRvIDpub3QuCiAgICAgfCAnOicgQU5ZRlVOQ1RJT04gbWF5YmVfc3BhY2Ugc2ltcGxl
X3NlbGVjdG9yX2xpc3QgbWF5YmVfc3BhY2UgJyknIHsKICAgICAgICAgaWYgKCQ0KSB7Ci0gICAg
ICAgICAgICBDU1NQYXJzZXIgKnAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7CisgICAgICAgICAg
ICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOwogICAgICAgICAgICAgJCQt
PnNldE1hdGNoKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcyk7Ci0gICAgICAgICAgICAkJC0+YWRv
cHRTZWxlY3RvclZlY3RvcigqcC0+c2lua0Zsb2F0aW5nU2VsZWN0b3JWZWN0b3IoJDQpKTsKKyAg
ICAgICAgICAgICQkLT5hZG9wdFNlbGVjdG9yVmVjdG9yKCpwYXJzZXItPnNpbmtGbG9hdGluZ1Nl
bGVjdG9yVmVjdG9yKCQ0KSk7CiAgICAgICAgICAgICAkMi5sb3dlcigpOwogICAgICAgICAgICAg
JCQtPnNldFZhbHVlKCQyKTsKICAgICAgICAgICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHR5
cGUgPSAkJC0+cHNldWRvVHlwZSgpOwpAQCAtMTIzOCw4ICsxMjA0LDcgQEAgcHNldWRvOgogICAg
IH0KICAgICAvLyB1c2VkIGJ5IDpudGgtKihheCtiKQogICAgIHwgJzonIEZVTkNUSU9OIG1heWJl
X3NwYWNlIE5USCBtYXliZV9zcGFjZSAnKScgewotICAgICAgICBDU1NQYXJzZXIgKnAgPSBzdGF0
aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0
aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0
b3IoKTsKICAgICAgICAgJCQtPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcyk7CiAg
ICAgICAgICQkLT5zZXRBcmd1bWVudCgkNCk7CiAgICAgICAgICQkLT5zZXRWYWx1ZSgkMik7CkBA
IC0xMjQ5LDggKzEyMTQsNyBAQCBwc2V1ZG86CiAgICAgfQogICAgIC8vIHVzZWQgYnkgOm50aC0q
CiAgICAgfCAnOicgRlVOQ1RJT04gbWF5YmVfc3BhY2UgbWF5YmVfdW5hcnlfb3BlcmF0b3IgSU5U
RUdFUiBtYXliZV9zcGFjZSAnKScgewotICAgICAgICBDU1NQYXJzZXIgKnAgPSBzdGF0aWNfY2Fz
dDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nU2Vs
ZWN0b3IoKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsK
ICAgICAgICAgJCQtPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcyk7CiAgICAgICAg
ICQkLT5zZXRBcmd1bWVudChTdHJpbmc6Om51bWJlcigkNCAqICQ1KSk7CiAgICAgICAgICQkLT5z
ZXRWYWx1ZSgkMik7CkBAIC0xMjYwLDggKzEyMjQsNyBAQCBwc2V1ZG86CiAgICAgfQogICAgIC8v
IHVzZWQgYnkgOm50aC0qKG9kZC9ldmVuKSBhbmQgOmxhbmcKICAgICB8ICc6JyBGVU5DVElPTiBt
YXliZV9zcGFjZSBJREVOVCBtYXliZV9zcGFjZSAnKScgewotICAgICAgICBDU1NQYXJzZXIgKnAg
PSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAtPmNyZWF0
ZUZsb2F0aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5n
U2VsZWN0b3IoKTsKICAgICAgICAgJCQtPnNldE1hdGNoKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
cyk7CiAgICAgICAgICQkLT5zZXRBcmd1bWVudCgkNCk7CiAgICAgICAgICQyLmxvd2VyKCk7CkBA
IC0xMjgyLDEyICsxMjQ1LDExIEBAIHBzZXVkbzoKICAgICAgICAgaWYgKCEkNCB8fCAhJDQtPmlz
U2ltcGxlKCkpCiAgICAgICAgICAgICAkJCA9IDA7CiAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAg
ICAgICAgICQkID0gcC0+Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOworICAgICAgICAgICAgJCQg
PSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKICAgICAgICAgICAgICQkLT5zZXRN
YXRjaChDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpOwogCiAgICAgICAgICAgICBWZWN0b3I8T3du
UHRyPENTU1BhcnNlclNlbGVjdG9yPiA+IHNlbGVjdG9yVmVjdG9yOwotICAgICAgICAgICAgc2Vs
ZWN0b3JWZWN0b3IuYXBwZW5kKHAtPnNpbmtGbG9hdGluZ1NlbGVjdG9yKCQ0KSk7CisgICAgICAg
ICAgICBzZWxlY3RvclZlY3Rvci5hcHBlbmQocGFyc2VyLT5zaW5rRmxvYXRpbmdTZWxlY3Rvcigk
NCkpOwogICAgICAgICAgICAgJCQtPmFkb3B0U2VsZWN0b3JWZWN0b3Ioc2VsZWN0b3JWZWN0b3Ip
OwogCiAgICAgICAgICAgICAkMi5sb3dlcigpOwpAQCAtMTMyNCw4ICsxMjg2LDcgQEAgZGVjbGFy
YXRpb25fbGlzdDoKIAogZGVjbF9saXN0OgogICAgIGRlY2xhcmF0aW9uICc7JyBtYXliZV9zcGFj
ZSB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNl
cik7Ci0gICAgICAgIHAtPm1hcmtQcm9wZXJ0eVN0YXJ0KCk7CisgICAgICAgIHBhcnNlci0+bWFy
a1Byb3BlcnR5U3RhcnQoKTsKICAgICAgICAgJCQgPSAkMTsKICAgICB9CiAgICAgfCBkZWNsYXJh
dGlvbiBpbnZhbGlkX2Jsb2NrX2xpc3QgbWF5YmVfc3BhY2UgewpAQCAtMTMzNSwyOCArMTI5Niwy
NCBAQCBkZWNsX2xpc3Q6CiAgICAgICAgICQkID0gZmFsc2U7CiAgICAgfQogICAgIHwgZXJyb3Ig
JzsnIG1heWJlX3NwYWNlIHsKLSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NT
UGFyc2VyKj4ocGFyc2VyKTsKLSAgICAgICAgcC0+bWFya1Byb3BlcnR5U3RhcnQoKTsKKyAgICAg
ICAgcGFyc2VyLT5tYXJrUHJvcGVydHlTdGFydCgpOwogICAgICAgICAkJCA9IGZhbHNlOwogICAg
IH0KICAgICB8IGVycm9yIGludmFsaWRfYmxvY2tfbGlzdCBlcnJvciAnOycgbWF5YmVfc3BhY2Ug
ewogICAgICAgICAkJCA9IGZhbHNlOwogICAgIH0KICAgICB8IGRlY2xfbGlzdCBkZWNsYXJhdGlv
biAnOycgbWF5YmVfc3BhY2UgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICBwLT5tYXJrUHJvcGVydHlTdGFydCgpOworICAg
ICAgICBwYXJzZXItPm1hcmtQcm9wZXJ0eVN0YXJ0KCk7CiAgICAgICAgICQkID0gJDE7CiAgICAg
ICAgIGlmICgkMikKICAgICAgICAgICAgICQkID0gJDI7CiAgICAgfQogICAgIHwgZGVjbF9saXN0
IGVycm9yICc7JyBtYXliZV9zcGFjZSB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19j
YXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgIHAtPm1hcmtQcm9wZXJ0eVN0YXJ0KCk7
CisgICAgICAgIHBhcnNlci0+bWFya1Byb3BlcnR5U3RhcnQoKTsKICAgICAgICAgJCQgPSAkMTsK
ICAgICB9CiAgICAgfCBkZWNsX2xpc3QgZXJyb3IgaW52YWxpZF9ibG9ja19saXN0IGVycm9yICc7
JyBtYXliZV9zcGFjZSB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1Bh
cnNlcio+KHBhcnNlcik7Ci0gICAgICAgIHAtPm1hcmtQcm9wZXJ0eVN0YXJ0KCk7CisgICAgICAg
IHBhcnNlci0+bWFya1Byb3BlcnR5U3RhcnQoKTsKICAgICAgICAgJCQgPSAkMTsKICAgICB9CiAg
ICAgOwpAQCAtMTM2NCwxMCArMTMyMSw5IEBAIGRlY2xfbGlzdDoKIGRlY2xhcmF0aW9uOgogICAg
IFZBUl9ERUZJTklUSU9OICc6JyBtYXliZV9zcGFjZSBleHByIHByaW8gewogI2lmIEVOQUJMRShD
U1NfVkFSSUFCTEVTKQotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOwotICAgICAgICBwLT5zdG9yZVZhcmlhYmxlRGVjbGFyYXRpb24oJDEsIHAt
PnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkNCksICQ1KTsKKyAgICAgICAgcGFyc2VyLT5zdG9yZVZh
cmlhYmxlRGVjbGFyYXRpb24oJDEsIHBhcnNlci0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQ0KSwg
JDUpOwogICAgICAgICAkJCA9IHRydWU7Ci0gICAgICAgIHAtPm1hcmtQcm9wZXJ0eUVuZCgkNSwg
dHJ1ZSk7CisgICAgICAgIHBhcnNlci0+bWFya1Byb3BlcnR5RW5kKCQ1LCB0cnVlKTsKICNlbHNl
CiAgICAgICAgICQkID0gZmFsc2U7CiAjZW5kaWYKQEAgLTEzNzUsMTkgKzEzMzEsMTggQEAgZGVj
bGFyYXRpb246CiAgICAgfAogICAgIHByb3BlcnR5ICc6JyBtYXliZV9zcGFjZSBleHByIHByaW8g
ewogICAgICAgICAkJCA9IGZhbHNlOwotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2Fz
dDxDU1NQYXJzZXIqPihwYXJzZXIpOwogICAgICAgICBib29sIGlzUHJvcGVydHlQYXJzZWQgPSBm
YWxzZTsKICAgICAgICAgaWYgKCQxICYmICQ0KSB7Ci0gICAgICAgICAgICBwLT5tX3ZhbHVlTGlz
dCA9IHAtPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkNCk7Ci0gICAgICAgICAgICBpbnQgb2xkUGFy
c2VkUHJvcGVydGllcyA9IHAtPm1fcGFyc2VkUHJvcGVydGllcy5zaXplKCk7Ci0gICAgICAgICAg
ICAkJCA9IHAtPnBhcnNlVmFsdWUoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4oJDEpLCAkNSk7
CisgICAgICAgICAgICBwYXJzZXItPm1fdmFsdWVMaXN0ID0gcGFyc2VyLT5zaW5rRmxvYXRpbmdW
YWx1ZUxpc3QoJDQpOworICAgICAgICAgICAgaW50IG9sZFBhcnNlZFByb3BlcnRpZXMgPSBwYXJz
ZXItPm1fcGFyc2VkUHJvcGVydGllcy5zaXplKCk7CisgICAgICAgICAgICAkJCA9IHBhcnNlci0+
cGFyc2VWYWx1ZShzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPigkMSksICQ1KTsKICAgICAgICAg
ICAgIGlmICghJCQpCi0gICAgICAgICAgICAgICAgcC0+cm9sbGJhY2tMYXN0UHJvcGVydGllcyhw
LT5tX3BhcnNlZFByb3BlcnRpZXMuc2l6ZSgpIC0gb2xkUGFyc2VkUHJvcGVydGllcyk7CisgICAg
ICAgICAgICAgICAgcGFyc2VyLT5yb2xsYmFja0xhc3RQcm9wZXJ0aWVzKHBhcnNlci0+bV9wYXJz
ZWRQcm9wZXJ0aWVzLnNpemUoKSAtIG9sZFBhcnNlZFByb3BlcnRpZXMpOwogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIGlzUHJvcGVydHlQYXJzZWQgPSB0cnVlOwotICAgICAgICAg
ICAgcC0+bV92YWx1ZUxpc3QgPSBudWxscHRyOworICAgICAgICAgICAgcGFyc2VyLT5tX3ZhbHVl
TGlzdCA9IG51bGxwdHI7CiAgICAgICAgIH0KLSAgICAgICAgcC0+bWFya1Byb3BlcnR5RW5kKCQ1
LCBpc1Byb3BlcnR5UGFyc2VkKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrUHJvcGVydHlFbmQoJDUs
IGlzUHJvcGVydHlQYXJzZWQpOwogICAgIH0KICAgICB8CiAgICAgcHJvcGVydHkgZXJyb3IgewpA
QCAtMTM5OCwxNSArMTM1MywxMyBAQCBkZWNsYXJhdGlvbjoKICAgICAgICAgLyogVGhlIGRlZmF1
bHQgbW92YWJsZSB0eXBlIHRlbXBsYXRlIGhhcyBsZXR0ZXItc3BhY2luZzogLm5vbmU7ICBIYW5k
bGUgdGhpcyBieSBsb29raW5nIGZvcgogICAgICAgICBlcnJvciB0b2tlbnMgYXQgdGhlIHN0YXJ0
IG9mIGFuIGV4cHIsIHJlY292ZXIgdGhlIGV4cHIgYW5kIHRoZW4gdHJlYXQgYXMgYW4gZXJyb3Is
IGNsZWFuaW5nCiAgICAgICAgIHVwIGFuZCBkZWxldGluZyB0aGUgc2hpZnRlZCBleHByLiAgKi8K
LSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsK
LSAgICAgICAgcC0+bWFya1Byb3BlcnR5RW5kKGZhbHNlLCBmYWxzZSk7CisgICAgICAgIHBhcnNl
ci0+bWFya1Byb3BlcnR5RW5kKGZhbHNlLCBmYWxzZSk7CiAgICAgICAgICQkID0gZmFsc2U7CiAg
ICAgfQogICAgIHwKICAgICBwcm9wZXJ0eSAnOicgbWF5YmVfc3BhY2UgZXhwciBwcmlvIGVycm9y
IHsKICAgICAgICAgLyogV2hlbiB3ZSBlbmNvdW50ZXIgc29tZXRoaW5nIGxpa2UgcCB7Y29sb3I6
IHJlZCAhaW1wb3J0YW50IGZhaWw7fSB3ZSBzaG91bGQgZHJvcCB0aGUgZGVjbGFyYXRpb24gKi8K
LSAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsK
LSAgICAgICAgcC0+bWFya1Byb3BlcnR5RW5kKGZhbHNlLCBmYWxzZSk7CisgICAgICAgIHBhcnNl
ci0+bWFya1Byb3BlcnR5RW5kKGZhbHNlLCBmYWxzZSk7CiAgICAgICAgICQkID0gZmFsc2U7CiAg
ICAgfQogICAgIHwKQEAgLTE0MTcsMTUgKzEzNzAsMTMgQEAgZGVjbGFyYXRpb246CiAgICAgfAog
ICAgIHByb3BlcnR5ICc6JyBtYXliZV9zcGFjZSB7CiAgICAgICAgIC8qIGRpdiB7IGZvbnQtZmFt
aWx5OiB9IEp1c3QgcmVkdWNlIGF3YXkgdGhpcyBwcm9wZXJ0eSB3aXRoIG5vIHZhbHVlLiAqLwot
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICAgICBwLT5tYXJrUHJvcGVydHlFbmQoZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgcGFyc2Vy
LT5tYXJrUHJvcGVydHlFbmQoZmFsc2UsIGZhbHNlKTsKICAgICAgICAgJCQgPSBmYWxzZTsKICAg
ICB9CiAgICAgfAogICAgIHByb3BlcnR5ICc6JyBtYXliZV9zcGFjZSBlcnJvciB7CiAgICAgICAg
IC8qIGlmIHdlIGNvbWUgYWNyb3NzIHJ1bGVzIHdpdGggaW52YWxpZCB2YWx1ZXMgbGlrZSB0aGlz
IGNhc2U6IHAgeyB3ZWlnaHQ6ICo7IH0sIGp1c3QgZGlzY2FyZCB0aGUgcnVsZSAqLwotICAgICAg
ICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAg
ICBwLT5tYXJrUHJvcGVydHlFbmQoZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgcGFyc2VyLT5tYXJr
UHJvcGVydHlFbmQoZmFsc2UsIGZhbHNlKTsKICAgICAgICAgJCQgPSBmYWxzZTsKICAgICB9CiAg
ICAgfApAQCAtMTQ0OCwxMiArMTM5OSwxMCBAQCBwcmlvOgogCiBleHByOgogICAgIHRlcm0gewot
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nVmFsdWVMaXN0KCk7Ci0gICAgICAgICQkLT5h
ZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMSkpOworICAgICAgICAkJCA9IHBhcnNlci0+
Y3JlYXRlRmxvYXRpbmdWYWx1ZUxpc3QoKTsKKyAgICAgICAgJCQtPmFkZFZhbHVlKHBhcnNlci0+
c2lua0Zsb2F0aW5nVmFsdWUoJDEpKTsKICAgICB9CiAgICAgfCBleHByIG9wZXJhdG9yIHRlcm0g
ewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIp
OwogICAgICAgICAkJCA9ICQxOwogICAgICAgICBpZiAoJCQpIHsKICAgICAgICAgICAgIGlmICgk
MikgewpAQCAtMTQ2Myw3ICsxNDEyLDcgQEAgZXhwcjoKICAgICAgICAgICAgICAgICB2LmlWYWx1
ZSA9ICQyOwogICAgICAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMykpOworICAg
ICAgICAgICAgJCQtPmFkZFZhbHVlKHBhcnNlci0+c2lua0Zsb2F0aW5nVmFsdWUoJDMpKTsKICAg
ICAgICAgfQogICAgIH0KICAgICB8IGV4cHIgaW52YWxpZF9ibG9ja19saXN0IHsKQEAgLTE1NTIs
OSArMTUwMSw4IEBAIHVuYXJ5X3Rlcm06CiAgICAgICAkJC5pZCA9IDA7CiAgICAgICAkJC5mVmFs
dWUgPSAkMTsKICAgICAgICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM7Ci0g
ICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAg
ICAgaWYgKHAtPm1fc3R5bGVTaGVldCkKLSAgICAgICAgICBwLT5tX3N0eWxlU2hlZXQtPnBhcnNl
clNldFVzZXNSZW1Vbml0cyh0cnVlKTsKKyAgICAgIGlmIChwYXJzZXItPm1fc3R5bGVTaGVldCkK
KyAgICAgICAgICBwYXJzZXItPm1fc3R5bGVTaGVldC0+cGFyc2VyU2V0VXNlc1JlbVVuaXRzKHRy
dWUpOwogICB9CiAgIHwgVlcgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IDA7ICQkLmZWYWx1ZSA9ICQx
OyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WVzsgfQogICB8IFZIIG1heWJlX3Nw
YWNlIHsgJCQuaWQgPSAwOyAkJC5mVmFsdWUgPSAkMTsgJCQudW5pdCA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfVkg7IH0KQEAgLTE1NjYsMzYgKzE1MTQsMzIgQEAgdW5hcnlfdGVybToKIAogZnVu
Y3Rpb246CiAgICAgRlVOQ1RJT04gbWF5YmVfc3BhY2UgZXhwciAnKScgbWF5YmVfc3BhY2Ugewot
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24o
KTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5n
RnVuY3Rpb24oKTsKICAgICAgICAgZi0+bmFtZSA9ICQxOwotICAgICAgICBmLT5hcmdzID0gcC0+
c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKKyAgICAgICAgZi0+YXJncyA9IHBhcnNlci0+c2lu
a0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKICAgICAgICAgJCQuaWQgPSAwOwogICAgICAgICAkJC51
bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOwogICAgICAgICAkJC5mdW5jdGlvbiA9IGY7
CiAgICAgfSB8CiAgICAgRlVOQ1RJT04gbWF5YmVfc3BhY2UgZXhwciBUT0tFTl9FT0YgewotICAg
ICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAg
ICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsK
KyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nRnVu
Y3Rpb24oKTsKICAgICAgICAgZi0+bmFtZSA9ICQxOwotICAgICAgICBmLT5hcmdzID0gcC0+c2lu
a0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKKyAgICAgICAgZi0+YXJncyA9IHBhcnNlci0+c2lua0Zs
b2F0aW5nVmFsdWVMaXN0KCQzKTsKICAgICAgICAgJCQuaWQgPSAwOwogICAgICAgICAkJC51bml0
ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOwogICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CiAg
ICAgfSB8CiAgICAgRlVOQ1RJT04gbWF5YmVfc3BhY2UgJyknIG1heWJlX3NwYWNlIHsKLSAgICAg
ICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAg
ICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwLT5jcmVhdGVGbG9hdGluZ0Z1bmN0aW9uKCk7Cisg
ICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ0Z1bmN0
aW9uKCk7CiAgICAgICAgIGYtPm5hbWUgPSAkMTsKLSAgICAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0
KiB2YWx1ZUxpc3QgPSBwLT5jcmVhdGVGbG9hdGluZ1ZhbHVlTGlzdCgpOwotICAgICAgICBmLT5h
cmdzID0gcC0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KHZhbHVlTGlzdCk7CisgICAgICAgIENTU1Bh
cnNlclZhbHVlTGlzdCogdmFsdWVMaXN0ID0gcGFyc2VyLT5jcmVhdGVGbG9hdGluZ1ZhbHVlTGlz
dCgpOworICAgICAgICBmLT5hcmdzID0gcGFyc2VyLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QodmFs
dWVMaXN0KTsKICAgICAgICAgJCQuaWQgPSAwOwogICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2Vy
VmFsdWU6OkZ1bmN0aW9uOwogICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CiAgICAgfSB8CiAgICAg
RlVOQ1RJT04gbWF5YmVfc3BhY2UgZXJyb3IgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0
aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiog
ZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rp
b24qIGYgPSBwYXJzZXItPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKICAgICAgICAgZi0+bmFt
ZSA9ICQxOwogICAgICAgICBmLT5hcmdzID0gbnVsbHB0cjsKICAgICAgICAgJCQuaWQgPSAwOwpA
QCAtMTY0MSwxMiArMTU4NSwxMCBAQCBjYWxjX2Z1bmNfcGFyZW5fZXhwcjoKIAogY2FsY19mdW5j
X2V4cHI6CiAgICAgY2FsY19mdW5jX3Rlcm0gbWF5YmVfc3BhY2UgewotICAgICAgICBDU1NQYXJz
ZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwotICAgICAgICAkJCA9IHAt
PmNyZWF0ZUZsb2F0aW5nVmFsdWVMaXN0KCk7Ci0gICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5r
RmxvYXRpbmdWYWx1ZSgkMSkpOworICAgICAgICAkJCA9IHBhcnNlci0+Y3JlYXRlRmxvYXRpbmdW
YWx1ZUxpc3QoKTsKKyAgICAgICAgJCQtPmFkZFZhbHVlKHBhcnNlci0+c2lua0Zsb2F0aW5nVmFs
dWUoJDEpKTsKICAgICB9CiAgICAgfCBjYWxjX2Z1bmNfZXhwciBjYWxjX2Z1bmNfb3BlcmF0b3Ig
Y2FsY19mdW5jX3Rlcm0gewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQ
YXJzZXIqPihwYXJzZXIpOwogICAgICAgICBpZiAoJDEgJiYgJDIpIHsKICAgICAgICAgICAgICQk
ID0gJDE7CiAgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OwpAQCAtMTY1NCw3ICsxNTk2LDcg
QEAgY2FsY19mdW5jX2V4cHI6CiAgICAgICAgICAgICB2LnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6
T3BlcmF0b3I7CiAgICAgICAgICAgICB2LmlWYWx1ZSA9ICQyOwogICAgICAgICAgICAgJCQtPmFk
ZFZhbHVlKHYpOwotICAgICAgICAgICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVl
KCQzKSk7CisgICAgICAgICAgICAkJC0+YWRkVmFsdWUocGFyc2VyLT5zaW5rRmxvYXRpbmdWYWx1
ZSgkMykpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICQkID0gMDsKIApAQCAtMTY5Nywx
MCArMTYzOSw5IEBAIGNhbGNfZnVuY19leHByX2xpc3Q6CiAKIGNhbGNfZnVuY3Rpb246CiAgICAg
Q0FMQ0ZVTkNUSU9OIG1heWJlX3NwYWNlIGNhbGNfZnVuY19leHByICcpJyBtYXliZV9zcGFjZSB7
Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7
Ci0gICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlv
bigpOworICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHBhcnNlci0+Y3JlYXRlRmxvYXRp
bmdGdW5jdGlvbigpOwogICAgICAgICBmLT5uYW1lID0gJDE7Ci0gICAgICAgIGYtPmFyZ3MgPSBw
LT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDMpOworICAgICAgICBmLT5hcmdzID0gcGFyc2VyLT5z
aW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDMpOwogICAgICAgICAkJC5pZCA9IDA7CiAgICAgICAgICQk
LnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CiAgICAgICAgICQkLmZ1bmN0aW9uID0g
ZjsKQEAgLTE3MjIsMTAgKzE2NjMsOSBAQCBtaW5fb3JfbWF4OgogCiBtaW5fb3JfbWF4X2Z1bmN0
aW9uOgogICAgIG1pbl9vcl9tYXggbWF5YmVfc3BhY2UgY2FsY19mdW5jX2V4cHJfbGlzdCAnKScg
bWF5YmVfc3BhY2UgewotICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJz
ZXIqPihwYXJzZXIpOwotICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZs
b2F0aW5nRnVuY3Rpb24oKTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwYXJzZXIt
PmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKICAgICAgICAgZi0+bmFtZSA9ICQxOwotICAgICAg
ICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKKyAgICAgICAgZi0+YXJn
cyA9IHBhcnNlci0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKICAgICAgICAgJCQuaWQgPSAw
OwogICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOwogICAgICAgICAk
JC5mdW5jdGlvbiA9IGY7CkBAIC0xNzc1LDEwICsxNzE1LDEwIEBAIGludmFsaWRfcnVsZToKIAog
aW52YWxpZF9ibG9jazoKICAgICAneycgZXJyb3IgaW52YWxpZF9ibG9ja19saXN0IGVycm9yIGNs
b3NpbmdfYnJhY2UgewotICAgICAgICBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpLT5p
bnZhbGlkQmxvY2tIaXQoKTsKKyAgICAgICAgcGFyc2VyLT5pbnZhbGlkQmxvY2tIaXQoKTsKICAg
ICB9CiAgIHwgJ3snIGVycm9yIGNsb3NpbmdfYnJhY2UgewotICAgICAgICBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpLT5pbnZhbGlkQmxvY2tIaXQoKTsKKyAgICAgICAgcGFyc2VyLT5p
bnZhbGlkQmxvY2tIaXQoKTsKICAgICB9CiAgICAgOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>