<?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>52257</bug_id>
          
          <creation_ts>2011-01-11 15:26:39 -0800</creation_ts>
          <short_desc>Change createObjectURL and revokeObjectURL to put under webkitURL</short_desc>
          <delta_ts>2011-01-13 14:56:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>332727</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-01-11 15:26:39 -0800</bug_when>
    <thetext>Change createObjectURL and revokeObjectURL to put under webkitURL, per the latest version of File API. Note that we add &quot;webkit&quot; vendor prefix to URL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332731</commentid>
    <comment_count>1</comment_count>
      <attachid>78610</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-01-11 15:31:50 -0800</bug_when>
    <thetext>Created attachment 78610
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332757</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-11 15:59:06 -0800</bug_when>
    <thetext>Attachment 78610 did not build on qt:
Build output: http://queues.webkit.org/results/7442120</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332764</commentid>
    <comment_count>3</comment_count>
      <attachid>78615</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-01-11 16:08:02 -0800</bug_when>
    <thetext>Created attachment 78615
Proposed Patch

Fixed qt build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332777</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-11 16:29:08 -0800</bug_when>
    <thetext>Attachment 78610 did not build on gtk:
Build output: http://queues.webkit.org/results/7393154</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332786</commentid>
    <comment_count>5</comment_count>
      <attachid>78620</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-01-11 16:39:21 -0800</bug_when>
    <thetext>Created attachment 78620
Proposed Patch

Another fix for qt build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333205</commentid>
    <comment_count>6</comment_count>
      <attachid>78620</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-01-12 11:52:16 -0800</bug_when>
    <thetext>Comment on attachment 78620
Proposed Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=78620&amp;action=review

&gt; Source/WebCore/DerivedSources.cpp:97
&gt; +#include &quot;JSDOMUrl.cpp&quot;

nit: I think webkit style is for acronyms in identifiers/names to be either lowercase (if at the start of a name) or UPPERCASE, so this should be JSDOMURL.cpp.

&gt; Source/WebCore/DerivedSources.make:150
&gt; +    DOMUrl \

nit: DOMURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333955</commentid>
    <comment_count>7</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-01-13 14:56:44 -0800</bug_when>
    <thetext>Renamed to DOMURL and committed as https://trac.webkit.org/changeset/75739.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78610</attachid>
            <date>2011-01-11 15:31:50 -0800</date>
            <delta_ts>2011-01-11 16:08:02 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>52257</filename>
            <type>text/plain</type>
            <size>39647</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhOTA4NGY4Li42MmEwN2FiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDEt
MTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJl
dm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Via2l0VVJMLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNTcKKworICAgICAgICBDaGFuZ2UgYWxs
IHJlbGF0ZWQgdGVzdCBzY3JpcHRzIGFuZCByZXN1bHRzIHRvIGFjY291bnQgZm9yIHRoaXMgY2hh
bmdlLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJv
cGVydHktZGVzY3JpcHRvcnMuanM6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90
eXBlLWluaGVyaXRhbmNlLTIuanM6CisgICAgICAgICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qczoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sOgorICAgICAgICAqIGZhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8t
eGhyLmh0bWw6CisgICAgICAgICogZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sOgorICAgICAgICAq
IGZhc3QvZmlsZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXho
ci5qczoKKyAgICAgICAgKG9ubWVzc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMS0xMCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2Ny
aXB0b3JzLmpzCmluZGV4IDBkZjg0NTYuLjE0ZjY2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3Jz
LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC00MSw3ICs0MSw5IEBAIHZhciBfX3NraXBfXyA9
IHsKICAgICAiRmlsZVJlYWRlciIgOiAxLAogICAgICJvbmRldmljZW9yaWVudGF0aW9uIiA6IDEs
CiAgICAgLy8gSWdub3JlIHRoaXMgcHJvcGVydHkgYmVjYXVzZSBpdCBvbmx5IGFwcGVhcnMgaW4g
ZGVidWcgYnVpbGRzIGFuZCBub3QgaW4gcmVsZWFzZS4KLSAgICAianNjcHJpbnQiIDogMQorICAg
ICJqc2NwcmludCIgOiAxLAorICAgIC8vIElnbm9yZSB0aGlzIHByb3BlcnR5IGJlY2F1c2UgaXQg
aXMgbm90IHN1cHBvcnRlZCBpbiBhbGwgcGxhdGZvcm1zLgorICAgICJ3ZWJraXRVUkwiIDogMSwK
IH07CiAKIHZhciB3aW5kb3dQcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFt
ZXMod2luZG93KQpAQCAtNjYsOSArNjgsNiBAQCBmb3IgKHZhciBuYW1lIGluIHByb3RvUHJvcGVy
dHlTZXQpCiBwcm90b1Byb3BlcnR5TmFtZXMuc29ydCgpOwogCiBmb3IgKHZhciBpID0gMDsgaSA8
IHByb3RvUHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgewotICAgIC8vIElnbm9yZSB0aGVzZSBw
cm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9u
cy4KLSAgICBpZiAocHJvdG9Qcm9wZXJ0eU5hbWVzW2ldID09ICJjcmVhdGVPYmplY3RVUkwiIHx8
IHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAicmV2b2tlT2JqZWN0VVJMIikKLSAgICAgICAgY29u
dGludWU7CiAgICAgaWYgKHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAiY29uc3RydWN0b3IiKQog
ICAgICAgICBjb250aW51ZTsKICAgICBzaG91bGRCZVVuZGVmaW5lZCgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICciICsgcHJvdG9Qcm9wZXJ0eU5hbWVzW2ldICsgIicp
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBmOWJmZmY1Li41ZWJhZDgzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKQEAgLTIyMDEsNyArMjIwMSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUuY2xlYXJJbnRlcnZhbCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLmNsZWFyVGltZW91dCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBl
LmNsb3NlIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuY29uZmlybSBb
ZnVuY3Rpb25dCi13aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNyZWF0ZU9iamVjdFVSTCBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5maW5kIFtmdW5jdGlvbl0KIHdp
bmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuZm9jdXMgW2Z1bmN0aW9uXQpAQCAtMjIyMCw3ICsy
MjE5LDYgQEAgd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZWxlYXNlRXZlbnRzIFtmdW5j
dGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLnJlc2l6ZUJ5IFtmdW5jdGlv
bl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVzaXplVG8gW2Z1bmN0aW9uXQotd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZXZva2VPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0
cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3Iu
cHJvdG90eXBlLnNjcm9sbFRvIFtmdW5jdGlvbl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggODNiY2M3Ny4uNTM3YzM1MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTg5LDggKzg5LDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlbW90aW9uIiA6IDEsCiAg
ICAgIndpbmRvdy5wZXJmb3JtYW5jZSIgOiAxLAotICAgICJ3aW5kb3cuY3JlYXRlT2JqZWN0VVJM
IiA6IDEsCi0gICAgIndpbmRvdy5yZXZva2VPYmplY3RVUkwiIDogMSwKKyAgICAid2luZG93Lndl
YmtpdFVSTCIgOiAxLAogCiAgICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBvbiBhbGwgcGxhdGZvcm1zIGluIER1bXBSZW5kZXJUcmVlLgogICAgICJ3aW5kb3cuc2hvd01v
ZGFsRGlhbG9nIiA6IDEsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggMDdjMDAyYy4uYmVj
MjZlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTgsNiArMTgsOCBAQCB2YXIgc2tp
cHBlZFByb3BlcnRpZXMgPSBbCiAgICAgInByb3RvdHlwZSIsCiAgICAgLy8gU2tpcCBHZW9sb2Nh
dGlvbiB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24gbW9zdCBwbGF0Zm9ybXMuCiAgICAgImdlb2xv
Y2F0aW9uIiwKKyAgICAvLyBTa2lwIHdlYmtpdFVSTCB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24g
bW9zdCBwbGF0Zm9ybXMuCisgICAgIndlYmtpdFVSTCIsCiBdOwogCiB2YXIgc2tpcHBlZFByb3Bl
cnRpZXNTZXQgPSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmluZGV4IGViNzgwMDkuLmM4NjgxYzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUt
aW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAtMjEsNyArMjEsNyBAQCB2YXIgc2tpcHBlZFByb3Bl
cnRpZXMgPSBbCiAgICAgIkZpbGVFcnJvciIsICJGaWxlUmVhZGVyIiwgInJlcXVlc3RGaWxlU3lz
dGVtIiwKICAgICAiaW5kZXhlZERCIiwgIklEQktleVJhbmdlIiwgIklEQkN1cnNvciIsICJJREJE
YXRhYmFzZSIsICJJREJEYXRhYmFzZUVycm9yIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uIiwgIklE
QkVycm9yRXZlbnQiLCAiSURCRXZlbnQiLCAiSURCRmFjdG9yeSIsICJJREJJbmRleCIsICJJREJP
YmplY3RTdG9yZSIsICJJREJSZXF1ZXN0IiwgIklEQlN1Y2Nlc3NFdmVudCIsICJJREJUcmFuc2Fj
dGlvbiIsCiAgICAgInNob3dNb2RhbERpYWxvZyIsCi0gICAgImNyZWF0ZU9iamVjdFVSTCIsICJy
ZXZva2VPYmplY3RVUkwiLAorICAgICJ3ZWJraXRVUkwiLAogICAgICJEZXZpY2VPcmllbnRhdGlv
bkV2ZW50IiwKICAgICAiRGV2aWNlTW90aW9uRXZlbnQiLAogICAgICJURU1QT1JBUlkiLCAiUEVS
U0lTVEVOVCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10
by1pbWcuaHRtbAppbmRleCBlM2MwODkyLi5mNTUzNWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLWltZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8taW1nLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAg
ZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nVG9SZXBsYWNlJyk7CiAgICAgbG9nKCJPbGQgaW1hZ2U6ICIgKyBpbWcu
d2lkdGggKyAiIHggIiArIGltZy5oZWlnaHQpOwogICAgIGltZy5vbmxvYWQgPSBvbkltZ0xvYWQ7
Ci0gICAgaW1nLnNyYyA9IHdpbmRvdy5jcmVhdGVPYmplY3RVUkwoZmlsZSk7CisgICAgaW1nLnNy
YyA9IHdpbmRvdy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpOwogfQogCiBmdW5jdGlv
biBvbkltZ0xvYWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1i
bG9iLXVybC10by14aHIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11
cmwtdG8teGhyLmh0bWwKaW5kZXggNmM5NDU3MC4uMzNlMmI2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10by14aHIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLXhoci5odG1sCkBAIC0yNiw3ICsyNiw3
IEBAIGZ1bmN0aW9uIHNlbmRYTUxIdHRwUmVxdWVzdChtZXRob2QsIHVybCkKIGZ1bmN0aW9uIG9u
SW5wdXRGaWxlQ2hhbmdlKCkKIHsKICAgICB2YXIgZmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmaWxlIikuZmlsZXNbMF07Ci0gICAgdmFyIGZpbGVVUkwgPSB3aW5kb3cuY3JlYXRlT2Jq
ZWN0VVJMKGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2luZG93LndlYmtpdFVSTC5jcmVhdGVP
YmplY3RVUkwoZmlsZSk7CiAKICAgICBsb2coIlRlc3QgdGhhdCBYTUxIdHRwUmVxdWVzdCBHRVQg
c3VjY2VlZHMuIik7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBmaWxlVVJMKTsKQEAg
LTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHNlbmRYTUxI
dHRwUmVxdWVzdCgiUE9TVCIsIGZpbGVVUkwpOwogCiAgICAgbG9nKCJUZXN0IHRoYXQgWE1MSHR0
cFJlcXVlc3QgR0VUIGZhaWxzIGFmdGVyIHRoZSBibG9iIFVSTCBpcyByZXZva2VkLiIpOwotICAg
IHdpbmRvdy5yZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CisgICAgd2luZG93LndlYmtpdFVSTC5y
ZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBm
aWxlVVJMKTsKIAogICAgIGxvZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLmh0bWwKaW5kZXggNTFhZWZhZC4uNDdjZmUxYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2NyZWF0ZS1ibG9iLXVybC1jcmFzaC5odG1s
CkBAIC0xMCw3ICsxMCw3IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgbG9nKCJUZXN0IHRoYXQgY3JlYXRlT2JqZWN0VVJMIHdpdGggbm8gYXJndW1lbnQg
c2hvdWxkIG5vdCBjYXVzZSBjcmFzaC4iKTsKLSAgICB2YXIgdXJsID0gY3JlYXRlT2JqZWN0VVJM
KCk7CisgICAgdmFyIHVybCA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoKTsKICAgICBsb2co
dXJsID09IHVuZGVmaW5lZCA/ICJQQVNTIiA6ICJGQUlMIik7CiAKICAgICBsb2coIkRPTkUiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJsb2ItdXJsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sCmluZGV4IDc3MTZh
ZDcuLjA4YjVmN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJs
b2ItdXJsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZXZva2UtYmxvYi11cmwu
aHRtbApAQCAtMTAsMTkgKzEwLDE5IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm8g
YXJndW1lbnQuIik7Ci0gICAgdmFyIHVybCA9IHJldm9rZU9iamVjdFVSTCgpOworICAgIHZhciB1
cmwgPSB3ZWJraXRVUkwucmV2b2tlT2JqZWN0VVJMKCk7CiAgICAgbG9nKHVybCA9PSB1bmRlZmlu
ZWQgPyAiUEFTUyIgOiAiRkFJTCIpOwogCiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2Jq
ZWN0VVJMIHdpdGggZW1wdHkgVVJMLiIpOwotICAgIHJldm9rZU9iamVjdFVSTCgiIik7CisgICAg
d2Via2l0VVJMLnJldm9rZU9iamVjdFVSTCgiIik7CiAgICAgbG9nKCJQQVNTIik7CiAKICAgICBs
b2coIlRlc3QgY2FsbGluZyByZXZva2VPYmplY3RVUkwgd2l0aCBpbnZhbGlkIFVSTC4iKTsKLSAg
ICByZXZva2VPYmplY3RVUkwoIltmb28gYmFyXSIpOworICAgIHdlYmtpdFVSTC5yZXZva2VPYmpl
Y3RVUkwoIltmb28gYmFyXSIpOwogICAgIGxvZygiUEFTUyIpOwogCiAgICAgbG9nKCJUZXN0IGNh
bGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm9uLWV4aXN0ZW50IFVSTC4iKTsKLSAgICByZXZv
a2VPYmplY3RVUkwoImJsb2I6bm9uLWV4aXN0ZW50Iik7CisgICAgd2Via2l0VVJMLnJldm9rZU9i
amVjdFVSTCgiYmxvYjpub24tZXhpc3RlbnQiKTsKICAgICBsb2coIlBBU1MiKTsKIAogICAgIGxv
ZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpz
CmluZGV4IGNkY2QwY2YuLjM0NjdjZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXhoci5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1hcHBseS1i
bG9iLXVybC10by14aHIuanMKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gc2VuZFhNTEh0dHBS
ZXF1ZXN0KG1ldGhvZCwgdXJsKQogb25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAg
dmFyIGZpbGUgPSBldmVudC5kYXRhOwotICAgIHZhciBmaWxlVVJMID0gY3JlYXRlT2JqZWN0VVJM
KGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChmaWxl
KTsKIAogICAgIGxvZygiVGVzdCB0aGF0IFhNTEh0dHBSZXF1ZXN0IEdFVCBzdWNjZWVkcy4iKTsK
ICAgICBzZW5kWE1MSHR0cFJlcXVlc3QoIkdFVCIsIGZpbGVVUkwpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggYjQ0YjMwMC4uZGM3OTU2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0yMTY3LDcgKzIxNjcs
NiBAQCB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNsZWFySW50ZXJ2YWwgW2Z1bmN0aW9u
XQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbGVhclRpbWVvdXQgW2Z1bmN0aW9uXQog
d2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbG9zZSBbZnVuY3Rpb25dCiB3aW5kb3cuY29u
c3RydWN0b3IucHJvdG90eXBlLmNvbmZpcm0gW2Z1bmN0aW9uXQotd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5jcmVhdGVPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50IFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUuZmluZCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmZv
Y3VzIFtmdW5jdGlvbl0KQEAgLTIxODYsNyArMjE4NSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUucmVsZWFzZUV2ZW50cyBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJv
dG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5yZXNpemVCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLnJlc2l6ZVRvIFtmdW5jdGlvbl0KLXdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmV2
b2tlT2JqZWN0VVJMIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Ny
b2xsIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Nyb2xsQnkgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxUbyBbZnVuY3Rpb25d
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXgg
ODZiYTY1ZS4uZGJhZGIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1s
L0pTRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pT
RE9NVG9rZW5MaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RPTVVybC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKaW5kZXggNGM0NWEwZS4uNWVhNDNlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBAQCBHRU4g
Oj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCbG9iQnVpbGRlci5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVXJsLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
YmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhGaWxlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5tayBiL1Nv
dXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggZjhlZjQxNC4uMzZhMGY4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5taworKysgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lk
Lm1rCkBAIC0yNzMsNiArMjczLDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJ
TEVTKSBcCiAJaHRtbC9ET01Gb3JtRGF0YS5jcHAgXAogCWh0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuY3BwIFwKIAlodG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCWh0bWwvRE9NVXJsLmNwcCBcCiAJ
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBcCiAJaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgXAog
CWh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMjEyZmI4Li43MGY5NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTk4LDYgKzE5OCw3
IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsCiAgICAg
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5pZGwKICAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwK
KyAgICBodG1sL0RPTVVybC5pZGwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAogICAg
IGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5p
ZGwKQEAgLTk5Niw2ICs5OTcsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9ET01G
b3JtRGF0YS5jcHAKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcAogICAgIGh0bWwv
RE9NVG9rZW5MaXN0LmNwcAorICAgIGh0bWwvRE9NVXJsLmNwcAogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW4uY3BwCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCiAgICAgaHRtbC9EYXRl
Q29tcG9uZW50cy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NzA4OThmLi5kN2RkMTYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMDEtMTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJldm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Vi
a2l0VVJMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTIyNTcKKworICAgICAgICBOb3RlIHRoYXQgd2UgYWRkICJ3ZWJraXQiIHZlbmRvciBwcmVmaXgg
dG8gVVJMIHRoYXQgaXMgaW50cm9kdWNlZCBpbgorICAgICAgICB0aGUgbGF0ZXN0IEZpbGUgQVBJ
IHNwZWMuCisKKyAgICAgICAgRm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBpbXBsZW1lbnQgd2Via2l0
VVJMIGFzIGEgcmVhZG9ubHkgYXR0cmlidXRlCisgICAgICAgIGluc3RlYWQgb2YgYSBjb25zdHJ1
Y3RvciBzbyB0aGF0IHdlIHdpbGwgbm90IGV4cG9zZSBwcm90b3R5cGUgcHJvcGVydHksCisgICAg
ICAgIGFzIHJlcXVpcmVkIGJ5IHRoZSBzcGVjLgorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVk
LmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1r
OgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBodG1sL0RPTVVybC5jcHA6IEFkZGVkLgorICAgICAgICAqIGh0bWwvRE9NVXJsLmg6IEFk
ZGVkLgorICAgICAgICAqIGh0bWwvRE9NVXJsLmlkbDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanM6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3ZWJraXRVUkwpOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0Ojp3ZWJr
aXRVUkwpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAqIHdv
cmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisKIDIwMTEtMDEtMTAgIFBhdHJpY2sgR2Fuc3RlcmVy
ICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJv
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA2ZDZhMjhkLi5jOGRhZTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05NCw2ICs5NCw3IEBACiAjaW5jbHVkZSAiSlNE
T01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVN0cmluZ01hcC5jcHAiCiAjaW5jbHVk
ZSAiSlNET01Ub2tlbkxpc3QuY3BwIgorI2luY2x1ZGUgIkpTRE9NVXJsLmNwcCIKICNpbmNsdWRl
ICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIKICNpbmNsdWRlICJK
U0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlYmI5MmIxLi43
ZjliZDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE0Nyw2ICsxNDcsNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBET01TdHJpbmdNYXAgXAogICAgIERPTVNldHRhYmxlVG9r
ZW5MaXN0IFwKICAgICBET01Ub2tlbkxpc3QgXAorCURPTVVybCBcCiAgICAgRE9NV2luZG93IFwK
ICAgICBEYXRhYmFzZSBcCiAgICAgRGF0YWJhc2VDYWxsYmFjayBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CmluZGV4IDA5YTJlZDQuLjk2YjYwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTQsNiAr
MjE0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NQ29yZUV4Y2VwdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
Rm9ybURhdGEuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NRm9ybURhdGEuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVVybC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNET01VcmwuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTUltcGxl
bWVudGF0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTUltcGxlbWVudGF0
aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01NaW1lVHlwZUFycmF5LmNwcCBc
CkBAIC0yMzYsNiArMjM4LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9r
ZW5MaXN0LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01VcmwuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVXJsLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93Lmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVtZW50LmNwcCBcCkBAIC0xNjE3LDYgKzE2
MjEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRGF0
YUdyaWREYXRhU291cmNlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVXJsLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaCBcCiAJU291
cmNlL1dlYkNvcmUvaHRtbC9FbWFpbElucHV0VHlwZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvRW1haWxJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBl
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggODNlNTVkNC4uMDBiM2JmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMTE5LDYgKzExOSw3IEBACiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaWRsJywKICAgICAg
ICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvRE9NVXJs
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
QWxsQ29sbGVjdGlvbi5pZGwnLApAQCAtMTYyNyw2ICsxNjI4LDggQEAKICAgICAgICAgICAgICdo
dG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5M
aXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaCcsCisgICAgICAgICAg
ICAnaHRtbC9ET01VcmwuY3BwJywKKyAgICAgICAgICAgICdodG1sL0RPTVVybC5oJywKICAgICAg
ICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRh
R3JpZENvbHVtbi5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwppbmRleCAyN2NkNTgyLi5mN2QzZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
ODkyLDYgKzg5Miw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvRE9NRm9ybURhdGEuY3BwIFwK
ICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCBcCiAgICAgaHRtbC9ET01Ub2tlbkxp
c3QuY3BwIFwKKyAgICBodG1sL0RPTVVybC5jcHAgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4u
Y3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAgXAogICAgIGh0bWwvRGF0ZUNv
bXBvbmVudHMuY3BwIFwKQEAgLTE4MTMsNiArMTgxNCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0
bWwvRE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKICAg
ICBodG1sL0RPTVRva2VuTGlzdC5oIFwKKyAgICBodG1sL0RPTVVybC5oIFwKICAgICBodG1sL0Zv
cm1Bc3NvY2lhdGVkRWxlbWVudC5oIFwKICAgICBodG1sL0Zvcm1EYXRhTGlzdC5oIFwKICAgICBo
dG1sL0ZUUERpcmVjdG9yeURvY3VtZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkNDliZjJhLi5mYmRlYjczIDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDA3MCw2ICs0MDcwLDYy
IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNE
T01VcmwuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJv
X0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNET01VcmwuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVdpbmRvdy5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgpAQCAtNTAyOTgsNiArNTAzNTQsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01VcmwuY3BwIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVVybC5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEVt
YWlsSW5wdXRUeXBlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzM4ZjgyZC4uZTU5M2U1
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNzAzLDYgKzcwMywxMCBAQAogCQkyRTJEOTlFQTEwRTJCQzM4MDA0OTYzMzcgLyog
RE9NQmxvYkludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRTJEOTlFOTEwRTJCQzM4MDA0OTYzMzcgLyogRE9NQmxvYkludGVybmFsLmggKi87
IH07CiAJCTJFMkQ5OUVCMTBFMkJEMzkwMDQ5NjMzNyAvKiBET01CbG9iLmggaW4gQ29weSBHZW5l
cmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTJEOTlF
NTEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5oICovOyB9OwogCQkyRTJEOTlFQzEwRTJCRDM5
MDA0OTYzMzcgLyogRE9NQmxvYkludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTJEOTlFOTEwRTJCQzM4MDA0OTYz
MzcgLyogRE9NQmxvYkludGVybmFsLmggKi87IH07CisJCTJFMzdERkRBMTJEQkFGQjgwMEE2QjIz
MyAvKiBET01VcmwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkUzN0RGRDcxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5jcHAgKi87IH07CisJCTJF
MzdERkRCMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMzdERkQ4MTJEQkFGQjgwMEE2QjIzMyAvKiBET01V
cmwuaCAqLzsgfTsKKwkJMkUzN0UwMDUxMkRCQzVBNDAwQTZCMjMzIC8qIEpTRE9NVXJsLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMzdFMDAzMTJE
QkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgKi87IH07CisJCTJFMzdFMDA2MTJEQkM1QTQw
MEE2QjIzMyAvKiBKU0RPTVVybC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkUzN0UwMDQxMkRCQzVBNDAwQTZCMjMzIC8qIEpTRE9NVXJsLmggKi87IH07
CiAJCTJFM0JCRjA3MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAv
KiBVVUlELmNwcCAqLzsgfTsKIAkJMkUzQkJGMDgxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFM0JCRjA2MTE2
MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi87IH07CiAJCTJFM0JDMENBMTE3RDNFMDgwMEI5NDA5
QSAvKiBKU0ZpbGVFcnJvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRTNCQzBDODExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICov
OyB9OwpAQCAtNzAxMSw2ICs3MDE1LDExIEBACiAJCTJFMkQ5OUU1MTBFMkJDMUMwMDQ5NjMzNyAv
KiBET01CbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUJsb2IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUyRDk5RTYxMEUyQkMxQzAwNDk2MzM3IC8q
IERPTUJsb2IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01C
bG9iLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTJEOTlFOTEwRTJCQzM4MDA0
OTYzMzcgLyogRE9NQmxvYkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTUJsb2JJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3
REZENzEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERPTVVybC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJFMzdERkQ4MTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NVXJsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJF
MzdERkQ5MTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IERPTVVybC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJFMzdFMDAzMTJE
QkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0RPTVVybC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJF
MzdFMDA0MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0RPTVVybC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBVVUlELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkUzQkJGMDYxMTYyREExMTAwQjk0MDlBIC8qIFVVSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVVVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTNCQzBD
ODExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlRXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTUzODYsNiArMTUzOTUsOSBAQAogCQkJCTc2RkMyQjA4MTIzNzBEQTAwMDZBOTkx
QSAvKiBET01Ub2tlbkxpc3QuY3BwICovLAogCQkJCTc2RkMyQjA5MTIzNzBEQTAwMDZBOTkxQSAv
KiBET01Ub2tlbkxpc3QuaCAqLywKIAkJCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyogRE9N
VG9rZW5MaXN0LmlkbCAqLywKKwkJCQkyRTM3REZENzEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJs
LmNwcCAqLywKKwkJCQkyRTM3REZEODEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmggKi8sCisJ
CQkJMkUzN0RGRDkxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5pZGwgKi8sCiAJCQkJRjU1QjNE
ODcxMjUxRjEyRDAwM0VGMjY5IC8qIEVtYWlsSW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q4
ODEyNTFGMTJEMDAzRUYyNjkgLyogRW1haWxJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q4OTEy
NTFGMTJEMDAzRUYyNjkgLyogRmlsZUlucHV0VHlwZS5jcHAgKi8sCkBAIC0xNTk1MSw2ICsxNTk2
Myw4IEBACiAJCQkJNEFDQkMwQzkxMjcxM0QwQTAwOTRGOUIyIC8qIEpTRE9NU2V0dGFibGVUb2tl
bkxpc3QuaCAqLywKIAkJCQk3Njk0NTYzQTEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxp
c3QuY3BwICovLAogCQkJCTc2OTQ1NjNCMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlz
dC5oICovLAorCQkJCTJFMzdFMDAzMTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgKi8s
CisJCQkJMkUzN0UwMDQxMkRCQzVBNDAwQTZCMjMzIC8qIEpTRE9NVXJsLmggKi8sCiAJCQkJNDlF
RUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCAqLywKIAkJCQk0OUVF
Q0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCAqLywKIAkJCQlCQzk3RTQx
MDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAgKi8sCkBAIC0yMjI5
Myw2ICsyMjMwNyw4IEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9j
ZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBY
U0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVD
RjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRTM3REZEQjEyREJBRkI4
MDBBNkIyMzMgLyogRE9NVXJsLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRTM3RTAwNjEyREJDNUE0
MDBBNkIyMzMgLyogSlNET01VcmwuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjIzNTIsNyArMjIzNjgs
NiBAQAogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2Rl
IDIuNCI7Ci0JCQlkZXZlbG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9y
RW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtMjQ5
NzYsNiArMjQ5OTEsOCBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJv
Y2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAy
RUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2
MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJF
MzdERkRBMTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MkUzN0UwMDUxMkRCQzVBNDAwQTZCMjMzIC8qIEpTRE9NVXJsLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01VcmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEw
YzdhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVybC5jcHAK
QEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShCTE9CKQor
CisjaW5jbHVkZSAiRE9NVXJsLmgiCisKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RPTVVybDo6
RE9NVXJsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisg
ICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKK3sK
K30KKworU3RyaW5nIERPTVVybDo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCit7CisgICAg
aWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsK
KyAgICByZXR1cm4gbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcmVhdGVQdWJsaWNCbG9iVVJM
KGJsb2IpLnN0cmluZygpOworfQorCit2b2lkIERPTVVybDo6cmV2b2tlT2JqZWN0VVJMKGNvbnN0
IFN0cmluZyYgdXJsU3RyaW5nKQoreworICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
KQorICAgICAgICByZXR1cm47CisgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5yZXZva2VQ
dWJsaWNCbG9iVVJMKEtVUkwoS1VSTCgpLCB1cmxTdHJpbmcpKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVVybC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDQ5ZWFlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaApAQCAtMCwwICsxLDYyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBE
T01VcmxfaAorI2RlZmluZSBET01VcmxfaAorCisjaWYgRU5BQkxFKEJMT0IpCisKKyNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCbG9i
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgRE9NVXJsIDogcHVibGlj
IFJlZkNvdW50ZWQ8RE9NVXJsPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9N
VXJsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTVVybChzY3JpcHRFeGVjdXRpb25Db250ZXh0KSk7
IH0KKworICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOworICAgIHZvaWQgcmV2b2tl
T2JqZWN0VVJMKGNvbnN0IFN0cmluZyYpOworICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBE
T01VcmwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEJMT0IpCisKKyNlbmRpZiAvLyBET01VcmxfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VcmwuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZTRm
YjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVVybC5pZGwKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25k
aXRpb25hbD1CTE9CLAorICAgICAgICBPbWl0Q29uc3RydWN0b3IsCisgICAgICAgIEdlbmVyYXRl
TmF0aXZlQ29udmVydGVyLAorICAgICAgICBHZW5lcmF0ZVRvSlMsCisgICAgICAgIE5vU3RhdGlj
VGFibGVzCisgICAgXSBET01VcmwgeworICAgICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1VbmRl
ZmluZWRdIERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwoaW4gQmxvYiBibG9iKTsKKyAgICAgICAg
dm9pZCByZXZva2VPYmplY3RVUkwoaW4gRE9NU3RyaW5nIHVybCk7CisgICAgfTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5k
ZXggN2I2ZGY4Yi4uYmQxZDdjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKQEAgLTk3OCw3ICs5NzgsNyBAQCBXZWJJbnNwZWN0
b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICBfY29udGV4dE1lbnU6IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHsKICAgICAgICAgLy8gY3JlYXRlQmxvYlVSTCBpcyBlbmFibGVkIGNvbmRp
dGlvbmFsbHksIGRvIG5vdCBleHBvc2UgcmVzb3VyY2UgZXhwb3J0IGlmIGl0J3Mgbm90IGF2YWls
YWJsZS4KLSAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuY3JlYXRlT2JqZWN0VVJMICE9PSAiZnVu
Y3Rpb24iIHx8ICFQcmVmZXJlbmNlcy5yZXNvdXJjZUV4cG9ydEVuYWJsZWQpCisgICAgICAgIGlm
ICh0eXBlb2Ygd2luZG93LndlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwgIT09ICJmdW5jdGlvbiIg
fHwgIVByZWZlcmVuY2VzLnJlc291cmNlRXhwb3J0RW5hYmxlZCkKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICB2YXIgY29udGV4dE1lbnUgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnRleHRN
ZW51KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0
aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVz
LmpzCmluZGV4IDExZjYzODYuLmM0MzhlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCkBAIC0xMDUwLDYgKzEwNTAsNiBAQCBmdW5jdGlv
biBvZmZlckZpbGVGb3JEb3dubG9hZChjb250ZW50cykKICAgICB2YXIgYnVpbGRlciA9IG5ldyBC
bG9iQnVpbGRlcigpOwogICAgIGJ1aWxkZXIuYXBwZW5kKGNvbnRlbnRzKTsKICAgICB2YXIgYmxv
YiA9IGJ1aWxkZXIuZ2V0QmxvYigiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7Ci0gICAgdmFy
IHVybCA9IHdpbmRvdy5jcmVhdGVPYmplY3RVUkwoYmxvYik7CisgICAgdmFyIHVybCA9IHdpbmRv
dy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgIHdpbmRvdy5vcGVuKHVybCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMDIxNDBkNS4uZGJlNTY5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkRP
TVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgogI2luY2x1ZGUgIkRPTVRva2Vu
TGlzdC5oIgorI2luY2x1ZGUgIkRPTVVybC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xs
ZXIuaCIKQEAgLTE2MDYsMTggKzE2MDcsNiBAQCBFdmVudFRhcmdldERhdGEqIERPTVdpbmRvdzo6
ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKICAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwog
fQogCi0jaWYgRU5BQkxFKEJMT0IpCi1TdHJpbmcgRE9NV2luZG93OjpjcmVhdGVPYmplY3RVUkwo
QmxvYiogYmxvYikKLXsKLSAgICByZXR1cm4gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jcmVh
dGVQdWJsaWNCbG9iVVJMKGJsb2IpLnN0cmluZygpOwotfQotCi12b2lkIERPTVdpbmRvdzo6cmV2
b2tlT2JqZWN0VVJMKGNvbnN0IFN0cmluZyYgYmxvYlVSTFN0cmluZykKLXsKLSAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnJldm9rZVB1YmxpY0Jsb2JVUkwoS1VSTChLVVJMKCksIGJsb2JV
UkxTdHJpbmcpKTsKLX0KLSNlbmRpZgotCiB2b2lkIERPTVdpbmRvdzo6c2V0TG9jYXRpb24oY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcsIERPTVdpbmRvdyogYWN0aXZlV2luZG93LCBET01XaW5kb3cq
IGZpcnN0V2luZG93LCBTZXRMb2NhdGlvbkxvY2tpbmcgbG9ja2luZykKIHsKICAgICBGcmFtZSog
YWN0aXZlRnJhbWUgPSBhY3RpdmVXaW5kb3ctPmZyYW1lKCk7CkBAIC0xODE3LDQgKzE4MDYsMTMg
QEAgdm9pZCBET01XaW5kb3c6OnNob3dNb2RhbERpYWxvZyhjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZywgY29uc3QgU3RyaW5nJiBkaWFsb2dGZWEKICAgICBkaWFsb2dGcmFtZS0+cGFnZSgpLT5jaHJv
bWUoKS0+cnVuTW9kYWwoKTsKIH0KIAorI2lmIEVOQUJMRShCTE9CKQorRE9NVXJsKiBET01XaW5k
b3c6OndlYmtpdFVSTCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2RvbVVSTCkKKyAgICAgICAgbV9k
b21VUkwgPSBET01Vcmw6OmNyZWF0ZSh0aGlzLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwor
ICAgIHJldHVybiBtX2RvbVVSTC5nZXQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA5ZTcyZGVjLi5mMGZiNGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTM0LDEyICszNCwxMiBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgY2xhc3MgQmFySW5mbzsKLSAgICBjbGFzcyBCbG9iOwogICAgIGNsYXNzIENT
U1J1bGVMaXN0OwogICAgIGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb247CiAgICAgY2xhc3MgQ29u
c29sZTsKICAgICBjbGFzcyBET01BcHBsaWNhdGlvbkNhY2hlOwogICAgIGNsYXNzIERPTVNlbGVj
dGlvbjsKKyAgICBjbGFzcyBET01Vcmw7CiAgICAgY2xhc3MgRGF0YWJhc2U7CiAgICAgY2xhc3Mg
RGF0YWJhc2VDYWxsYmFjazsKICAgICBjbGFzcyBEb2N1bWVudDsKQEAgLTM0Myw4ICszNDMsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93
Pjo6ZGVyZWY7CiAKICNpZiBFTkFCTEUoQkxPQikKLSAgICAgICAgU3RyaW5nIGNyZWF0ZU9iamVj
dFVSTChCbG9iKik7Ci0gICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGNvbnN0IFN0cmluZyYp
OworICAgICAgICBET01VcmwqIHdlYmtpdFVSTCgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoREFUQUJBU0UpCkBAIC00NjYsNiArNDY1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2U+
IG1fcGVyZm9ybWFuY2U7CiAjZW5kaWYKKworI2lmIEVOQUJMRShCTE9CKQorICAgICAgICBtdXRh
YmxlIFJlZlB0cjxET01Vcmw+IG1fZG9tVVJMOworI2VuZGlmCiAgICAgfTsKIAogICAgIGlubGlu
ZSBTdHJpbmcgRE9NV2luZG93OjpzdGF0dXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCmluZGV4IDM4OWQ1ZWQuLjMzZTAyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
QEAgLTc3OCwxMCArNzc4LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1CTE9CXSBCbG9iQnVpbGRlckNvbnN0cnVjdG9yIEJsb2JCdWlsZGVyOwog
Ci0jaWYgZGVmaW5lZChFTkFCTEVfQkxPQikgJiYgRU5BQkxFX0JMT0IKLSAgICAgICAgW0NvbnZl
cnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIEJs
b2IgYmxvYik7Ci0gICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJMKGluIERPTVN0cmluZyBibG9i
VVJMKTsKLSNlbmRpZgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUJM
T0JdIERPTVVybCB3ZWJraXRVUkw7CiAKICNlbmRpZiAvLyBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCmluZGV4IDM0
NWU1YjcuLjEyZmZhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNw
cApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkRhdGFiYXNlU3luYy5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlVHJhY2tlci5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisjaW5jbHVkZSAiRE9N
VXJsLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXJyb3JFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50LmgiCkBAIC0zNDEsMTQgKzM0MiwxMSBAQCBFdmVudFRhcmdldERhdGEq
IFdvcmtlckNvbnRleHQ6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCiB9CiAKICNpZiBFTkFCTEUo
QkxPQikKLVN0cmluZyBXb3JrZXJDb250ZXh0OjpjcmVhdGVPYmplY3RVUkwoQmxvYiogYmxvYikK
K0RPTVVybCogV29ya2VyQ29udGV4dDo6d2Via2l0VVJMKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jcmVhdGVQdWJsaWNCbG9iVVJMKGJsb2IpLnN0cmlu
ZygpOwotfQotCi12b2lkIFdvcmtlckNvbnRleHQ6OnJldm9rZU9iamVjdFVSTChjb25zdCBTdHJp
bmcmIGJsb2JVUkxTdHJpbmcpCi17Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5yZXZv
a2VQdWJsaWNCbG9iVVJMKEtVUkwoUGFyc2VkVVJMU3RyaW5nLCBibG9iVVJMU3RyaW5nKSk7Cisg
ICAgaWYgKCFtX2RvbVVSTCkKKyAgICAgICAgbV9kb21VUkwgPSBET01Vcmw6OmNyZWF0ZSh0aGlz
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIHJldHVybiBtX2RvbVVSTC5nZXQoKTsK
IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IDdi
NmM5YTIuLjVhZjdkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBA
IC00Niw2ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEJsb2I7CiAg
ICAgY2xhc3MgRE9NRmlsZVN5c3RlbVN5bmM7CisgICAgY2xhc3MgRE9NVXJsOwogICAgIGNsYXNz
IERhdGFiYXNlOwogICAgIGNsYXNzIERhdGFiYXNlQ2FsbGJhY2s7CiAgICAgY2xhc3MgRGF0YWJh
c2VTeW5jOwpAQCAtMTIxLDggKzEyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dmlydHVhbCBib29sIGlzSlNFeGVjdXRpb25UZXJtaW5hdGVkKCkgY29uc3Q7CiAKICNpZiBFTkFC
TEUoQkxPQikKLSAgICAgICAgU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChCbG9iKik7Ci0gICAgICAg
IHZvaWQgcmV2b2tlT2JqZWN0VVJMKGNvbnN0IFN0cmluZyYpOworICAgICAgICBET01VcmwqIHdl
YmtpdFVSTCgpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCkBAIC0x
ODYsNiArMTg2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRV9OT1RJRklDQVRJ
T05TCiAgICAgICAgIG11dGFibGUgUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gbV9ub3RpZmlj
YXRpb25zOwogI2VuZGlmCisjaWYgRU5BQkxFKEJMT0IpCisgICAgICAgIG11dGFibGUgUmVmUHRy
PERPTVVybD4gbV9kb21VUkw7CisjZW5kaWYKICAgICAgICAgYm9vbCBtX2Nsb3Npbmc7CiAgICAg
ICAgIGJvb2wgbV9yZXBvcnRpbmdFeGNlcHRpb247CiAgICAgICAgIEV2ZW50VGFyZ2V0RGF0YSBt
X2V2ZW50VGFyZ2V0RGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRs
CmluZGV4IDQ1YWM1YjEuLjFmZWExYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmlkbApAQCAtMTAxLDEwICsxMDEsMTAgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAg
ICBhdHRyaWJ1dGUgQmxvYkJ1aWxkZXJDb25zdHJ1Y3RvciBCbG9iQnVpbGRlcjsKICAgICAgICAg
YXR0cmlidXRlIEZpbGVSZWFkZXJDb25zdHJ1Y3RvciBGaWxlUmVhZGVyOwogICAgICAgICBhdHRy
aWJ1dGUgRmlsZVJlYWRlclN5bmNDb25zdHJ1Y3RvciBGaWxlUmVhZGVyU3luYzsKLSAgICAgICAg
RE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBCbG9iIGJsb2IpOwotICAgICAgICB2b2lkIHJl
dm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcgYmxvYlVSTCk7CiAjZW5kaWYKIAorICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUJMT0JdIERPTVVybCB3ZWJraXRVUkw7CisK
ICNpZiBkZWZpbmVkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJiYgRU5BQkxFX0ZJTEVfU1lTVEVNCiAg
ICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFRFTVBPUkFSWSA9IDA7CiAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFBFUlNJU1RFTlQgPSAxOwo=
</data>
<flag name="commit-queue"
          id="69957"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78615</attachid>
            <date>2011-01-11 16:08:02 -0800</date>
            <delta_ts>2011-01-11 16:39:21 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>52257_2</filename>
            <type>text/plain</type>
            <size>40095</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhOTA4NGY4Li42MmEwN2FiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDEt
MTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJl
dm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Via2l0VVJMLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNTcKKworICAgICAgICBDaGFuZ2UgYWxs
IHJlbGF0ZWQgdGVzdCBzY3JpcHRzIGFuZCByZXN1bHRzIHRvIGFjY291bnQgZm9yIHRoaXMgY2hh
bmdlLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJv
cGVydHktZGVzY3JpcHRvcnMuanM6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90
eXBlLWluaGVyaXRhbmNlLTIuanM6CisgICAgICAgICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qczoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sOgorICAgICAgICAqIGZhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8t
eGhyLmh0bWw6CisgICAgICAgICogZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sOgorICAgICAgICAq
IGZhc3QvZmlsZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXho
ci5qczoKKyAgICAgICAgKG9ubWVzc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMS0xMCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2Ny
aXB0b3JzLmpzCmluZGV4IDBkZjg0NTYuLjE0ZjY2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3Jz
LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC00MSw3ICs0MSw5IEBAIHZhciBfX3NraXBfXyA9
IHsKICAgICAiRmlsZVJlYWRlciIgOiAxLAogICAgICJvbmRldmljZW9yaWVudGF0aW9uIiA6IDEs
CiAgICAgLy8gSWdub3JlIHRoaXMgcHJvcGVydHkgYmVjYXVzZSBpdCBvbmx5IGFwcGVhcnMgaW4g
ZGVidWcgYnVpbGRzIGFuZCBub3QgaW4gcmVsZWFzZS4KLSAgICAianNjcHJpbnQiIDogMQorICAg
ICJqc2NwcmludCIgOiAxLAorICAgIC8vIElnbm9yZSB0aGlzIHByb3BlcnR5IGJlY2F1c2UgaXQg
aXMgbm90IHN1cHBvcnRlZCBpbiBhbGwgcGxhdGZvcm1zLgorICAgICJ3ZWJraXRVUkwiIDogMSwK
IH07CiAKIHZhciB3aW5kb3dQcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFt
ZXMod2luZG93KQpAQCAtNjYsOSArNjgsNiBAQCBmb3IgKHZhciBuYW1lIGluIHByb3RvUHJvcGVy
dHlTZXQpCiBwcm90b1Byb3BlcnR5TmFtZXMuc29ydCgpOwogCiBmb3IgKHZhciBpID0gMDsgaSA8
IHByb3RvUHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgewotICAgIC8vIElnbm9yZSB0aGVzZSBw
cm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9u
cy4KLSAgICBpZiAocHJvdG9Qcm9wZXJ0eU5hbWVzW2ldID09ICJjcmVhdGVPYmplY3RVUkwiIHx8
IHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAicmV2b2tlT2JqZWN0VVJMIikKLSAgICAgICAgY29u
dGludWU7CiAgICAgaWYgKHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAiY29uc3RydWN0b3IiKQog
ICAgICAgICBjb250aW51ZTsKICAgICBzaG91bGRCZVVuZGVmaW5lZCgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICciICsgcHJvdG9Qcm9wZXJ0eU5hbWVzW2ldICsgIicp
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBmOWJmZmY1Li41ZWJhZDgzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKQEAgLTIyMDEsNyArMjIwMSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUuY2xlYXJJbnRlcnZhbCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLmNsZWFyVGltZW91dCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBl
LmNsb3NlIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuY29uZmlybSBb
ZnVuY3Rpb25dCi13aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNyZWF0ZU9iamVjdFVSTCBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5maW5kIFtmdW5jdGlvbl0KIHdp
bmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuZm9jdXMgW2Z1bmN0aW9uXQpAQCAtMjIyMCw3ICsy
MjE5LDYgQEAgd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZWxlYXNlRXZlbnRzIFtmdW5j
dGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLnJlc2l6ZUJ5IFtmdW5jdGlv
bl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVzaXplVG8gW2Z1bmN0aW9uXQotd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZXZva2VPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0
cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3Iu
cHJvdG90eXBlLnNjcm9sbFRvIFtmdW5jdGlvbl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggODNiY2M3Ny4uNTM3YzM1MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTg5LDggKzg5LDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlbW90aW9uIiA6IDEsCiAg
ICAgIndpbmRvdy5wZXJmb3JtYW5jZSIgOiAxLAotICAgICJ3aW5kb3cuY3JlYXRlT2JqZWN0VVJM
IiA6IDEsCi0gICAgIndpbmRvdy5yZXZva2VPYmplY3RVUkwiIDogMSwKKyAgICAid2luZG93Lndl
YmtpdFVSTCIgOiAxLAogCiAgICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBvbiBhbGwgcGxhdGZvcm1zIGluIER1bXBSZW5kZXJUcmVlLgogICAgICJ3aW5kb3cuc2hvd01v
ZGFsRGlhbG9nIiA6IDEsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggMDdjMDAyYy4uYmVj
MjZlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTgsNiArMTgsOCBAQCB2YXIgc2tp
cHBlZFByb3BlcnRpZXMgPSBbCiAgICAgInByb3RvdHlwZSIsCiAgICAgLy8gU2tpcCBHZW9sb2Nh
dGlvbiB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24gbW9zdCBwbGF0Zm9ybXMuCiAgICAgImdlb2xv
Y2F0aW9uIiwKKyAgICAvLyBTa2lwIHdlYmtpdFVSTCB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24g
bW9zdCBwbGF0Zm9ybXMuCisgICAgIndlYmtpdFVSTCIsCiBdOwogCiB2YXIgc2tpcHBlZFByb3Bl
cnRpZXNTZXQgPSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmluZGV4IGViNzgwMDkuLmM4NjgxYzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUt
aW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAtMjEsNyArMjEsNyBAQCB2YXIgc2tpcHBlZFByb3Bl
cnRpZXMgPSBbCiAgICAgIkZpbGVFcnJvciIsICJGaWxlUmVhZGVyIiwgInJlcXVlc3RGaWxlU3lz
dGVtIiwKICAgICAiaW5kZXhlZERCIiwgIklEQktleVJhbmdlIiwgIklEQkN1cnNvciIsICJJREJE
YXRhYmFzZSIsICJJREJEYXRhYmFzZUVycm9yIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uIiwgIklE
QkVycm9yRXZlbnQiLCAiSURCRXZlbnQiLCAiSURCRmFjdG9yeSIsICJJREJJbmRleCIsICJJREJP
YmplY3RTdG9yZSIsICJJREJSZXF1ZXN0IiwgIklEQlN1Y2Nlc3NFdmVudCIsICJJREJUcmFuc2Fj
dGlvbiIsCiAgICAgInNob3dNb2RhbERpYWxvZyIsCi0gICAgImNyZWF0ZU9iamVjdFVSTCIsICJy
ZXZva2VPYmplY3RVUkwiLAorICAgICJ3ZWJraXRVUkwiLAogICAgICJEZXZpY2VPcmllbnRhdGlv
bkV2ZW50IiwKICAgICAiRGV2aWNlTW90aW9uRXZlbnQiLAogICAgICJURU1QT1JBUlkiLCAiUEVS
U0lTVEVOVCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10
by1pbWcuaHRtbAppbmRleCBlM2MwODkyLi5mNTUzNWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLWltZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8taW1nLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAg
ZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nVG9SZXBsYWNlJyk7CiAgICAgbG9nKCJPbGQgaW1hZ2U6ICIgKyBpbWcu
d2lkdGggKyAiIHggIiArIGltZy5oZWlnaHQpOwogICAgIGltZy5vbmxvYWQgPSBvbkltZ0xvYWQ7
Ci0gICAgaW1nLnNyYyA9IHdpbmRvdy5jcmVhdGVPYmplY3RVUkwoZmlsZSk7CisgICAgaW1nLnNy
YyA9IHdpbmRvdy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpOwogfQogCiBmdW5jdGlv
biBvbkltZ0xvYWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1i
bG9iLXVybC10by14aHIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11
cmwtdG8teGhyLmh0bWwKaW5kZXggNmM5NDU3MC4uMzNlMmI2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10by14aHIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLXhoci5odG1sCkBAIC0yNiw3ICsyNiw3
IEBAIGZ1bmN0aW9uIHNlbmRYTUxIdHRwUmVxdWVzdChtZXRob2QsIHVybCkKIGZ1bmN0aW9uIG9u
SW5wdXRGaWxlQ2hhbmdlKCkKIHsKICAgICB2YXIgZmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmaWxlIikuZmlsZXNbMF07Ci0gICAgdmFyIGZpbGVVUkwgPSB3aW5kb3cuY3JlYXRlT2Jq
ZWN0VVJMKGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2luZG93LndlYmtpdFVSTC5jcmVhdGVP
YmplY3RVUkwoZmlsZSk7CiAKICAgICBsb2coIlRlc3QgdGhhdCBYTUxIdHRwUmVxdWVzdCBHRVQg
c3VjY2VlZHMuIik7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBmaWxlVVJMKTsKQEAg
LTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHNlbmRYTUxI
dHRwUmVxdWVzdCgiUE9TVCIsIGZpbGVVUkwpOwogCiAgICAgbG9nKCJUZXN0IHRoYXQgWE1MSHR0
cFJlcXVlc3QgR0VUIGZhaWxzIGFmdGVyIHRoZSBibG9iIFVSTCBpcyByZXZva2VkLiIpOwotICAg
IHdpbmRvdy5yZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CisgICAgd2luZG93LndlYmtpdFVSTC5y
ZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBm
aWxlVVJMKTsKIAogICAgIGxvZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLmh0bWwKaW5kZXggNTFhZWZhZC4uNDdjZmUxYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2NyZWF0ZS1ibG9iLXVybC1jcmFzaC5odG1s
CkBAIC0xMCw3ICsxMCw3IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgbG9nKCJUZXN0IHRoYXQgY3JlYXRlT2JqZWN0VVJMIHdpdGggbm8gYXJndW1lbnQg
c2hvdWxkIG5vdCBjYXVzZSBjcmFzaC4iKTsKLSAgICB2YXIgdXJsID0gY3JlYXRlT2JqZWN0VVJM
KCk7CisgICAgdmFyIHVybCA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoKTsKICAgICBsb2co
dXJsID09IHVuZGVmaW5lZCA/ICJQQVNTIiA6ICJGQUlMIik7CiAKICAgICBsb2coIkRPTkUiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJsb2ItdXJsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sCmluZGV4IDc3MTZh
ZDcuLjA4YjVmN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJs
b2ItdXJsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZXZva2UtYmxvYi11cmwu
aHRtbApAQCAtMTAsMTkgKzEwLDE5IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm8g
YXJndW1lbnQuIik7Ci0gICAgdmFyIHVybCA9IHJldm9rZU9iamVjdFVSTCgpOworICAgIHZhciB1
cmwgPSB3ZWJraXRVUkwucmV2b2tlT2JqZWN0VVJMKCk7CiAgICAgbG9nKHVybCA9PSB1bmRlZmlu
ZWQgPyAiUEFTUyIgOiAiRkFJTCIpOwogCiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2Jq
ZWN0VVJMIHdpdGggZW1wdHkgVVJMLiIpOwotICAgIHJldm9rZU9iamVjdFVSTCgiIik7CisgICAg
d2Via2l0VVJMLnJldm9rZU9iamVjdFVSTCgiIik7CiAgICAgbG9nKCJQQVNTIik7CiAKICAgICBs
b2coIlRlc3QgY2FsbGluZyByZXZva2VPYmplY3RVUkwgd2l0aCBpbnZhbGlkIFVSTC4iKTsKLSAg
ICByZXZva2VPYmplY3RVUkwoIltmb28gYmFyXSIpOworICAgIHdlYmtpdFVSTC5yZXZva2VPYmpl
Y3RVUkwoIltmb28gYmFyXSIpOwogICAgIGxvZygiUEFTUyIpOwogCiAgICAgbG9nKCJUZXN0IGNh
bGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm9uLWV4aXN0ZW50IFVSTC4iKTsKLSAgICByZXZv
a2VPYmplY3RVUkwoImJsb2I6bm9uLWV4aXN0ZW50Iik7CisgICAgd2Via2l0VVJMLnJldm9rZU9i
amVjdFVSTCgiYmxvYjpub24tZXhpc3RlbnQiKTsKICAgICBsb2coIlBBU1MiKTsKIAogICAgIGxv
ZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpz
CmluZGV4IGNkY2QwY2YuLjM0NjdjZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXhoci5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1hcHBseS1i
bG9iLXVybC10by14aHIuanMKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gc2VuZFhNTEh0dHBS
ZXF1ZXN0KG1ldGhvZCwgdXJsKQogb25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAg
dmFyIGZpbGUgPSBldmVudC5kYXRhOwotICAgIHZhciBmaWxlVVJMID0gY3JlYXRlT2JqZWN0VVJM
KGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChmaWxl
KTsKIAogICAgIGxvZygiVGVzdCB0aGF0IFhNTEh0dHBSZXF1ZXN0IEdFVCBzdWNjZWVkcy4iKTsK
ICAgICBzZW5kWE1MSHR0cFJlcXVlc3QoIkdFVCIsIGZpbGVVUkwpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggYjQ0YjMwMC4uZGM3OTU2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0yMTY3LDcgKzIxNjcs
NiBAQCB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNsZWFySW50ZXJ2YWwgW2Z1bmN0aW9u
XQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbGVhclRpbWVvdXQgW2Z1bmN0aW9uXQog
d2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbG9zZSBbZnVuY3Rpb25dCiB3aW5kb3cuY29u
c3RydWN0b3IucHJvdG90eXBlLmNvbmZpcm0gW2Z1bmN0aW9uXQotd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5jcmVhdGVPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50IFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUuZmluZCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmZv
Y3VzIFtmdW5jdGlvbl0KQEAgLTIxODYsNyArMjE4NSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUucmVsZWFzZUV2ZW50cyBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJv
dG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5yZXNpemVCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLnJlc2l6ZVRvIFtmdW5jdGlvbl0KLXdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmV2
b2tlT2JqZWN0VVJMIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Ny
b2xsIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Nyb2xsQnkgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxUbyBbZnVuY3Rpb25d
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXgg
ODZiYTY1ZS4uZGJhZGIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1s
L0pTRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pT
RE9NVG9rZW5MaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RPTVVybC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKaW5kZXggNGM0NWEwZS4uNWVhNDNlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBAQCBHRU4g
Oj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCbG9iQnVpbGRlci5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVXJsLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
YmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhGaWxlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5tayBiL1Nv
dXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggZjhlZjQxNC4uMzZhMGY4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5taworKysgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lk
Lm1rCkBAIC0yNzMsNiArMjczLDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJ
TEVTKSBcCiAJaHRtbC9ET01Gb3JtRGF0YS5jcHAgXAogCWh0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuY3BwIFwKIAlodG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCWh0bWwvRE9NVXJsLmNwcCBcCiAJ
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBcCiAJaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgXAog
CWh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMjEyZmI4Li43MGY5NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTk4LDYgKzE5OCw3
IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsCiAgICAg
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5pZGwKICAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwK
KyAgICBodG1sL0RPTVVybC5pZGwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAogICAg
IGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5p
ZGwKQEAgLTk5Niw2ICs5OTcsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9ET01G
b3JtRGF0YS5jcHAKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcAogICAgIGh0bWwv
RE9NVG9rZW5MaXN0LmNwcAorICAgIGh0bWwvRE9NVXJsLmNwcAogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW4uY3BwCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCiAgICAgaHRtbC9EYXRl
Q29tcG9uZW50cy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NzA4OThmLi5mY2JiMWE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDEtMTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJldm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Vi
a2l0VVJMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTIyNTcKKworICAgICAgICBOb3RlIHRoYXQgd2UgYWRkICJ3ZWJraXQiIHZlbmRvciBwcmVmaXgg
dG8gVVJMIHRoYXQgaXMgaW50cm9kdWNlZCBpbgorICAgICAgICB0aGUgbGF0ZXN0IEZpbGUgQVBJ
IHNwZWMuCisKKyAgICAgICAgRm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBpbXBsZW1lbnQgd2Via2l0
VVJMIGFzIGEgcmVhZG9ubHkgYXR0cmlidXRlCisgICAgICAgIGluc3RlYWQgb2YgYSBjb25zdHJ1
Y3RvciBzbyB0aGF0IHdlIHdpbGwgbm90IGV4cG9zZSBwcm90b3R5cGUgcHJvcGVydHksCisgICAg
ICAgIGFzIHJlcXVpcmVkIGJ5IHRoZSBzcGVjLgorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVk
LmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1r
OgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0RPTVVybC5jcHA6IEFkZGVkLgorICAg
ICAgICAqIGh0bWwvRE9NVXJsLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvRE9NVXJsLmlkbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanM6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3ZWJraXRVUkwp
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
aWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0Ojp3ZWJraXRVUkwpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Q29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisKIDIwMTEt
MDEtMTAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRl
eCA2ZDZhMjhkLi5jOGRhZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05NCw2
ICs5NCw3IEBACiAjaW5jbHVkZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJKU0RP
TVN0cmluZ01hcC5jcHAiCiAjaW5jbHVkZSAiSlNET01Ub2tlbkxpc3QuY3BwIgorI2luY2x1ZGUg
IkpTRE9NVXJsLmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBlYmI5MmIxLi4xY2U4NGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTE0Nyw2ICsxNDcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01TdHJpbmdN
YXAgXAogICAgIERPTVNldHRhYmxlVG9rZW5MaXN0IFwKICAgICBET01Ub2tlbkxpc3QgXAorICAg
IERPTVVybCBcCiAgICAgRE9NV2luZG93IFwKICAgICBEYXRhYmFzZSBcCiAgICAgRGF0YWJhc2VD
YWxsYmFjayBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDA5YTJlZDQuLjk2YjYwN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCkBAIC0yMTQsNiArMjE0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2Vz
ICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NQ29yZUV4Y2VwdGlvbi5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NRm9ybURhdGEuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRE9NRm9ybURhdGEuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVVybC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01VcmwuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTUltcGxlbWVudGF0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RPTUltcGxlbWVudGF0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01NaW1lVHlwZUFycmF5LmNwcCBcCkBAIC0yMzYsNiArMjM4LDggQEAgd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFw
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNET01VcmwuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVXJsLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNF
bGVtZW50LmNwcCBcCkBAIC0xNjE3LDYgKzE2MjEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZv
cm1EYXRhLmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaHRtbC9ET01VcmwuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9FbWFpbElucHV0VHlw
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvRW1haWxJbnB1dFR5cGUuaCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggODNl
NTVkNC4uMDBiM2JmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE5LDYgKzExOSw3IEBACiAgICAg
ICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NU2V0
dGFibGVUb2tlbkxpc3QuaWRsJywKICAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwn
LAorICAgICAgICAgICAgJ2h0bWwvRE9NVXJsLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRh
R3JpZENvbHVtbi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0Lmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwnLApAQCAtMTYyNyw2
ICsxNjI4LDggQEAKICAgICAgICAgICAgICdodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9E
T01Ub2tlbkxpc3QuaCcsCisgICAgICAgICAgICAnaHRtbC9ET01VcmwuY3BwJywKKyAgICAgICAg
ICAgICdodG1sL0RPTVVybC5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5oJywKICAgICAgICAgICAgICdo
dG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAwYzMzZWVkLi5m
ZGQ2ZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMjEzLDYgKzIxMyw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5pZGwgXAogICAgIGh0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaWRsIFwKICAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAorICAgIGh0bWwvRE9NVXJs
LmlkbCBcCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwgXAogICAgIGh0bWwvSFRNTEF1
ZGlvRWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KaW5kZXggMjdjZDU4Mi4uZjdkM2QyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTg5Miw2ICs4
OTIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCiAgICAgaHRt
bC9ET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcCBc
CisgICAgaHRtbC9ET01VcmwuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAg
ICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGVDb21wb25lbnRz
LmNwcCBcCkBAIC0xODEzLDYgKzE4MTQsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0RPTUZv
cm1EYXRhLmggXAogICAgIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCiAgICAgaHRtbC9E
T01Ub2tlbkxpc3QuaCBcCisgICAgaHRtbC9ET01VcmwuaCBcCiAgICAgaHRtbC9Gb3JtQXNzb2Np
YXRlZEVsZW1lbnQuaCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBE
aXJlY3RvcnlEb2N1bWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggZDQ5YmYyYS4uZmJkZWI3MyAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTQwNzAsNiArNDA3MCw2MiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVXJsLmNw
cCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTRE9NVXJsLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNET01XaW5kb3cuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTUwMjk4LDYgKzUwMzU0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NVXJsLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01VcmwuaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxFbWFpbElucHV0
VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMzOGY4MmQuLmU1OTNlNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTcwMyw2ICs3MDMsMTAgQEAKIAkJMkUyRDk5RUExMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5hbC5oICovOyB9OwogCQky
RTJEOTlFQjEwRTJCRDM5MDA0OTYzMzcgLyogRE9NQmxvYi5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUyRDk5RTUxMEUyQkMx
QzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLzsgfTsKIAkJMkUyRDk5RUMxMEUyQkQzOTAwNDk2MzM3
IC8qIERPTUJsb2JJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8qIERP
TUJsb2JJbnRlcm5hbC5oICovOyB9OworCQkyRTM3REZEQTEyREJBRkI4MDBBNkIyMzMgLyogRE9N
VXJsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJF
MzdERkQ3MTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuY3BwICovOyB9OworCQkyRTM3REZEQjEy
REJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRTM3REZEODEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmggKi87
IH07CisJCTJFMzdFMDA1MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTM3RTAwMzEyREJDNUE0MDBB
NkIyMzMgLyogSlNET01VcmwuY3BwICovOyB9OworCQkyRTM3RTAwNjEyREJDNUE0MDBBNkIyMzMg
LyogSlNET01VcmwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJFMzdFMDA0MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5oICovOyB9OwogCQkyRTNC
QkYwNzExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5j
cHAgKi87IH07CiAJCTJFM0JCRjA4MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQkYwNjExNjJEQTExMDBC
OTQwOUEgLyogVVVJRC5oICovOyB9OwogCQkyRTNCQzBDQTExN0QzRTA4MDBCOTQwOUEgLyogSlNG
aWxlRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkUzQkMwQzgxMTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNwcCAqLzsgfTsKQEAg
LTcwMTEsNiArNzAxNSwxMSBAQAogCQkyRTJEOTlFNTEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxv
Yi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01CbG9iLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMkQ5OUU2MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9i
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQmxvYi5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8q
IERPTUJsb2JJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01C
bG9iSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzN0RGRDcxMkRC
QUZCODAwQTZCMjMzIC8qIERPTVVybC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBET01VcmwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3REZE
ODEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVVybC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3REZEOTEy
REJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01V
cmwuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3RTAwMzEyREJDNUE0MDBB
NkIyMzMgLyogSlNET01VcmwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNET01VcmwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3RTAwNDEy
REJDNUE0MDBBNkIyMzMgLyogSlNET01VcmwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNET01VcmwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUzQkJGMDUx
MTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVVVJRC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFM0JCRjA2
MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFVVSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUzQkMwQzgxMTdEM0Uw
ODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRmlsZUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1Mzg2LDYgKzE1Mzk1LDkgQEAKIAkJCQk3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9N
VG9rZW5MaXN0LmNwcCAqLywKIAkJCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9r
ZW5MaXN0LmggKi8sCiAJCQkJNzZGQzJCMEExMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlz
dC5pZGwgKi8sCisJCQkJMkUzN0RGRDcxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5jcHAgKi8s
CisJCQkJMkUzN0RGRDgxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5oICovLAorCQkJCTJFMzdE
RkQ5MTJEQkFGQjgwMEE2QjIzMyAvKiBET01VcmwuaWRsICovLAogCQkJCUY1NUIzRDg3MTI1MUYx
MkQwMDNFRjI2OSAvKiBFbWFpbElucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEODgxMjUxRjEy
RDAwM0VGMjY5IC8qIEVtYWlsSW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNEODkxMjUxRjEyRDAw
M0VGMjY5IC8qIEZpbGVJbnB1dFR5cGUuY3BwICovLApAQCAtMTU5NTEsNiArMTU5NjMsOCBAQAog
CQkJCTRBQ0JDMEM5MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9rZW5MaXN0Lmgg
Ki8sCiAJCQkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAq
LywKIAkJCQk3Njk0NTYzQjEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLywK
KwkJCQkyRTM3RTAwMzEyREJDNUE0MDBBNkIyMzMgLyogSlNET01VcmwuY3BwICovLAorCQkJCTJF
MzdFMDA0MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5oICovLAogCQkJCTQ5RUVDRUY0MTA1
MDcwQzQwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRjUxMDUw
NzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmggKi8sCiAJCQkJQkM5N0U0MTAxMDkxNTRG
QTAwMTBEMzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMjIyOTMsNiArMjIz
MDcsOCBAQAogCQkJCTkzRjE5OUVEMDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNv
ZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyog
WFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzN0RGREIxMkRCQUZCODAwQTZCMjMz
IC8qIERPTVVybC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkUzN0UwMDYxMkRCQzVBNDAwQTZCMjMz
IC8qIEpTRE9NVXJsLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMzUyLDcgKzIyMzY4LDYgQEAKIAkJ
CWlzYSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMw
ODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVj
dCAiV2ViQ29yZSIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOwot
CQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5n
cyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKQEAgLTI0OTc2LDYgKzI0
OTkxLDggQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3Nvckxp
YnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8q
IFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZF
MDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRTM3REZEQTEy
REJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJFMzdFMDA1
MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVXJsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGM3YTM5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuY3BwCkBAIC0wLDAg
KzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoQkxPQikKKworI2luY2x1
ZGUgIkRPTVVybC5oIgorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01Vcmw6OkRPTVVybChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgIDogbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCit7Cit9CisKK1N0
cmluZyBET01Vcmw6OmNyZWF0ZU9iamVjdFVSTChCbG9iKiBibG9iKQoreworICAgIGlmICghbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0
dXJuIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9iKS5z
dHJpbmcoKTsKK30KKwordm9pZCBET01Vcmw6OnJldm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcm
IHVybFN0cmluZykKK3sKKyAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmV2b2tlUHVibGljQmxv
YlVSTChLVVJMKEtVUkwoKSwgdXJsU3RyaW5nKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShCTE9CKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01VcmwuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA0OWVhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9NVXJsX2gK
KyNkZWZpbmUgRE9NVXJsX2gKKworI2lmIEVOQUJMRShCTE9CKQorCisjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxvYjsKK2NsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIERPTVVybCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPERPTVVybD4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVVybD4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBET01Vcmwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpOyB9CisKKyAg
ICBTdHJpbmcgY3JlYXRlT2JqZWN0VVJMKEJsb2IqKTsKKyAgICB2b2lkIHJldm9rZU9iamVjdFVS
TChjb25zdCBTdHJpbmcmKTsKKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRE9NVXJsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShCTE9CKQorCisjZW5kaWYgLy8gRE9NVXJsX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
VXJsLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2U0ZmI2Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaWRsCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9
QkxPQiwKKyAgICAgICAgT21pdENvbnN0cnVjdG9yLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNv
bnZlcnRlciwKKyAgICAgICAgR2VuZXJhdGVUb0pTLAorICAgICAgICBOb1N0YXRpY1RhYmxlcwor
ICAgIF0gRE9NVXJsIHsKKyAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBE
T01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMKGluIEJsb2IgYmxvYik7CisgICAgICAgIHZvaWQgcmV2
b2tlT2JqZWN0VVJMKGluIERPTVN0cmluZyB1cmwpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDdiNmRm
OGIuLmJkMWQ3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmV0d29ya1BhbmVsLmpzCkBAIC05NzgsNyArOTc4LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgX2NvbnRleHRNZW51OiBmdW5jdGlvbihldmVudCkK
ICAgICB7CiAgICAgICAgIC8vIGNyZWF0ZUJsb2JVUkwgaXMgZW5hYmxlZCBjb25kaXRpb25hbGx5
LCBkbyBub3QgZXhwb3NlIHJlc291cmNlIGV4cG9ydCBpZiBpdCdzIG5vdCBhdmFpbGFibGUuCi0g
ICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmNyZWF0ZU9iamVjdFVSTCAhPT0gImZ1bmN0aW9uIiB8
fCAhUHJlZmVyZW5jZXMucmVzb3VyY2VFeHBvcnRFbmFibGVkKQorICAgICAgICBpZiAodHlwZW9m
IHdpbmRvdy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMICE9PSAiZnVuY3Rpb24iIHx8ICFQcmVm
ZXJlbmNlcy5yZXNvdXJjZUV4cG9ydEVuYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRl
eCAxMWY2Mzg2Li5jNDM4ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtMTA1MCw2ICsxMDUwLDYgQEAgZnVuY3Rpb24gb2ZmZXJG
aWxlRm9yRG93bmxvYWQoY29udGVudHMpCiAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxk
ZXIoKTsKICAgICBidWlsZGVyLmFwcGVuZChjb250ZW50cyk7CiAgICAgdmFyIGJsb2IgPSBidWls
ZGVyLmdldEJsb2IoImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwotICAgIHZhciB1cmwgPSB3
aW5kb3cuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOworICAgIHZhciB1cmwgPSB3aW5kb3cud2Via2l0
VVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKICAgICB3aW5kb3cub3Blbih1cmwpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDAyMTQwZDUuLmRiZTU2OTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJET01TdHJpbmdM
aXN0LmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIKICNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIK
KyNpbmNsdWRlICJET01VcmwuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCkBA
IC0xNjA2LDE4ICsxNjA3LDYgQEAgRXZlbnRUYXJnZXREYXRhKiBET01XaW5kb3c6OmVuc3VyZUV2
ZW50VGFyZ2V0RGF0YSgpCiAgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKIH0KIAotI2lm
IEVOQUJMRShCTE9CKQotU3RyaW5nIERPTVdpbmRvdzo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJs
b2IpCi17Ci0gICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y3JlYXRlUHVibGlj
QmxvYlVSTChibG9iKS5zdHJpbmcoKTsKLX0KLQotdm9pZCBET01XaW5kb3c6OnJldm9rZU9iamVj
dFVSTChjb25zdCBTdHJpbmcmIGJsb2JVUkxTdHJpbmcpCi17Ci0gICAgc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5yZXZva2VQdWJsaWNCbG9iVVJMKEtVUkwoS1VSTCgpLCBibG9iVVJMU3RyaW5n
KSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBET01XaW5kb3c6OnNldExvY2F0aW9uKGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nLCBET01XaW5kb3cqIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93KiBmaXJzdFdp
bmRvdywgU2V0TG9jYXRpb25Mb2NraW5nIGxvY2tpbmcpCiB7CiAgICAgRnJhbWUqIGFjdGl2ZUZy
YW1lID0gYWN0aXZlV2luZG93LT5mcmFtZSgpOwpAQCAtMTgxNyw0ICsxODA2LDEzIEBAIHZvaWQg
RE9NV2luZG93OjpzaG93TW9kYWxEaWFsb2coY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0
IFN0cmluZyYgZGlhbG9nRmVhCiAgICAgZGlhbG9nRnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPnJ1
bk1vZGFsKCk7CiB9CiAKKyNpZiBFTkFCTEUoQkxPQikKK0RPTVVybCogRE9NV2luZG93Ojp3ZWJr
aXRVUkwoKSBjb25zdAoreworICAgIGlmICghbV9kb21VUkwpCisgICAgICAgIG1fZG9tVVJMID0g
RE9NVXJsOjpjcmVhdGUodGhpcy0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICByZXR1
cm4gbV9kb21VUkwuZ2V0KCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggOWU3MmRlYy4uZjBmYjRlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oCkBAIC0zNCwxMiArMzQsMTIgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEJhckluZm87Ci0gICAgY2xhc3MgQmxvYjsKICAgICBjbGFzcyBDU1NSdWxlTGlz
dDsKICAgICBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uOwogICAgIGNsYXNzIENvbnNvbGU7CiAg
ICAgY2xhc3MgRE9NQXBwbGljYXRpb25DYWNoZTsKICAgICBjbGFzcyBET01TZWxlY3Rpb247Cisg
ICAgY2xhc3MgRE9NVXJsOwogICAgIGNsYXNzIERhdGFiYXNlOwogICAgIGNsYXNzIERhdGFiYXNl
Q2FsbGJhY2s7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CkBAIC0zNDMsOCArMzQzLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46OmRlcmVm
OwogCiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxv
YiopOwotICAgICAgICB2b2lkIHJldm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcmKTsKKyAgICAg
ICAgRE9NVXJsKiB3ZWJraXRVUkwoKSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFC
QVNFKQpAQCAtNDY2LDYgKzQ2NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxF
KFdFQl9USU1JTkcpCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBtX3BlcmZv
cm1hbmNlOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoQkxPQikKKyAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8RE9NVXJsPiBtX2RvbVVSTDsKKyNlbmRpZgogICAgIH07CiAKICAgICBpbmxpbmUgU3RyaW5n
IERPTVdpbmRvdzo6c3RhdHVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRl
eCAzODlkNWVkLi4zM2UwMjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03Nzgs
MTAgKzc3OCw3IEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9QkxPQl0gQmxvYkJ1aWxkZXJDb25zdHJ1Y3RvciBCbG9iQnVpbGRlcjsKIAotI2lmIGRl
ZmluZWQoRU5BQkxFX0JMT0IpICYmIEVOQUJMRV9CTE9CCi0gICAgICAgIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPVVuZGVmaW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBCbG9iIGJsb2Ip
OwotICAgICAgICB2b2lkIHJldm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcgYmxvYlVSTCk7Ci0j
ZW5kaWYKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1CTE9CXSBET01V
cmwgd2Via2l0VVJMOwogCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCAzNDVlNWI3Li4x
MmZmYTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKQEAgLTM4
LDYgKzM4LDcgQEAKICNpbmNsdWRlICJEYXRhYmFzZVN5bmMuaCIKICNpbmNsdWRlICJEYXRhYmFz
ZVRyYWNrZXIuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIkRPTVVybC5oIgog
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgpAQCAtMzQxLDE0ICszNDIsMTEgQEAgRXZlbnRUYXJnZXREYXRhKiBXb3JrZXJD
b250ZXh0OjplbnN1cmVFdmVudFRhcmdldERhdGEoKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCi1T
dHJpbmcgV29ya2VyQ29udGV4dDo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCitET01Vcmwq
IFdvcmtlckNvbnRleHQ6OndlYmtpdFVSTCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKS0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9iKS5zdHJpbmcoKTsKLX0K
LQotdm9pZCBXb3JrZXJDb250ZXh0OjpyZXZva2VPYmplY3RVUkwoY29uc3QgU3RyaW5nJiBibG9i
VVJMU3RyaW5nKQotewotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cmV2b2tlUHVibGlj
QmxvYlVSTChLVVJMKFBhcnNlZFVSTFN0cmluZywgYmxvYlVSTFN0cmluZykpOworICAgIGlmICgh
bV9kb21VUkwpCisgICAgICAgIG1fZG9tVVJMID0gRE9NVXJsOjpjcmVhdGUodGhpcy0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICByZXR1cm4gbV9kb21VUkwuZ2V0KCk7CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCA3YjZjOWEyLi41
YWY3ZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtNDYsNiAr
NDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBCbG9iOwogICAgIGNsYXNz
IERPTUZpbGVTeXN0ZW1TeW5jOworICAgIGNsYXNzIERPTVVybDsKICAgICBjbGFzcyBEYXRhYmFz
ZTsKICAgICBjbGFzcyBEYXRhYmFzZUNhbGxiYWNrOwogICAgIGNsYXNzIERhdGFiYXNlU3luYzsK
QEAgLTEyMSw4ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0pTRXhlY3V0aW9uVGVybWluYXRlZCgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKEJMT0Ip
Ci0gICAgICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOwotICAgICAgICB2b2lkIHJl
dm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcmKTsKKyAgICAgICAgRE9NVXJsKiB3ZWJraXRVUkwo
KSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQpAQCAtMTg2LDYgKzE4
Niw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAg
ICAgICBtdXRhYmxlIFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fbm90aWZpY2F0aW9uczsK
ICNlbmRpZgorI2lmIEVOQUJMRShCTE9CKQorICAgICAgICBtdXRhYmxlIFJlZlB0cjxET01Vcmw+
IG1fZG9tVVJMOworI2VuZGlmCiAgICAgICAgIGJvb2wgbV9jbG9zaW5nOwogICAgICAgICBib29s
IG1fcmVwb3J0aW5nRXhjZXB0aW9uOwogICAgICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRh
cmdldERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAppbmRleCA0
NWFjNWIxLi4xZmVhMWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5p
ZGwKQEAgLTEwMSwxMCArMTAxLDEwIEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgYXR0cmli
dXRlIEJsb2JCdWlsZGVyQ29uc3RydWN0b3IgQmxvYkJ1aWxkZXI7CiAgICAgICAgIGF0dHJpYnV0
ZSBGaWxlUmVhZGVyQ29uc3RydWN0b3IgRmlsZVJlYWRlcjsKICAgICAgICAgYXR0cmlidXRlIEZp
bGVSZWFkZXJTeW5jQ29uc3RydWN0b3IgRmlsZVJlYWRlclN5bmM7Ci0gICAgICAgIERPTVN0cmlu
ZyBjcmVhdGVPYmplY3RVUkwoaW4gQmxvYiBibG9iKTsKLSAgICAgICAgdm9pZCByZXZva2VPYmpl
Y3RVUkwoaW4gRE9NU3RyaW5nIGJsb2JVUkwpOwogI2VuZGlmCiAKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1CTE9CXSBET01Vcmwgd2Via2l0VVJMOworCiAjaWYgZGVm
aW5lZChFTkFCTEVfRklMRV9TWVNURU0pICYmIEVOQUJMRV9GSUxFX1NZU1RFTQogICAgICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBQRVJTSVNURU5UID0gMTsK
</data>
<flag name="commit-queue"
          id="69963"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78620</attachid>
            <date>2011-01-11 16:39:21 -0800</date>
            <delta_ts>2011-01-12 11:52:16 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>52257_3</filename>
            <type>text/plain</type>
            <size>39684</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhOTA4NGY4Li42MmEwN2FiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDEt
MTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJl
dm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Via2l0VVJMLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNTcKKworICAgICAgICBDaGFuZ2UgYWxs
IHJlbGF0ZWQgdGVzdCBzY3JpcHRzIGFuZCByZXN1bHRzIHRvIGFjY291bnQgZm9yIHRoaXMgY2hh
bmdlLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJv
cGVydHktZGVzY3JpcHRvcnMuanM6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90
eXBlLWluaGVyaXRhbmNlLTIuanM6CisgICAgICAgICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qczoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sOgorICAgICAgICAqIGZhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8t
eGhyLmh0bWw6CisgICAgICAgICogZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sOgorICAgICAgICAq
IGZhc3QvZmlsZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXho
ci5qczoKKyAgICAgICAgKG9ubWVzc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMS0xMCAg
QWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2Ny
aXB0b3JzLmpzCmluZGV4IDBkZjg0NTYuLjE0ZjY2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3Jz
LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC00MSw3ICs0MSw5IEBAIHZhciBfX3NraXBfXyA9
IHsKICAgICAiRmlsZVJlYWRlciIgOiAxLAogICAgICJvbmRldmljZW9yaWVudGF0aW9uIiA6IDEs
CiAgICAgLy8gSWdub3JlIHRoaXMgcHJvcGVydHkgYmVjYXVzZSBpdCBvbmx5IGFwcGVhcnMgaW4g
ZGVidWcgYnVpbGRzIGFuZCBub3QgaW4gcmVsZWFzZS4KLSAgICAianNjcHJpbnQiIDogMQorICAg
ICJqc2NwcmludCIgOiAxLAorICAgIC8vIElnbm9yZSB0aGlzIHByb3BlcnR5IGJlY2F1c2UgaXQg
aXMgbm90IHN1cHBvcnRlZCBpbiBhbGwgcGxhdGZvcm1zLgorICAgICJ3ZWJraXRVUkwiIDogMSwK
IH07CiAKIHZhciB3aW5kb3dQcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFt
ZXMod2luZG93KQpAQCAtNjYsOSArNjgsNiBAQCBmb3IgKHZhciBuYW1lIGluIHByb3RvUHJvcGVy
dHlTZXQpCiBwcm90b1Byb3BlcnR5TmFtZXMuc29ydCgpOwogCiBmb3IgKHZhciBpID0gMDsgaSA8
IHByb3RvUHJvcGVydHlOYW1lcy5sZW5ndGg7ICsraSkgewotICAgIC8vIElnbm9yZSB0aGVzZSBw
cm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9u
cy4KLSAgICBpZiAocHJvdG9Qcm9wZXJ0eU5hbWVzW2ldID09ICJjcmVhdGVPYmplY3RVUkwiIHx8
IHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAicmV2b2tlT2JqZWN0VVJMIikKLSAgICAgICAgY29u
dGludWU7CiAgICAgaWYgKHByb3RvUHJvcGVydHlOYW1lc1tpXSA9PSAiY29uc3RydWN0b3IiKQog
ICAgICAgICBjb250aW51ZTsKICAgICBzaG91bGRCZVVuZGVmaW5lZCgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICciICsgcHJvdG9Qcm9wZXJ0eU5hbWVzW2ldICsgIicp
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBmOWJmZmY1Li41ZWJhZDgzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKQEAgLTIyMDEsNyArMjIwMSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUuY2xlYXJJbnRlcnZhbCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLmNsZWFyVGltZW91dCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBl
LmNsb3NlIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuY29uZmlybSBb
ZnVuY3Rpb25dCi13aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNyZWF0ZU9iamVjdFVSTCBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5maW5kIFtmdW5jdGlvbl0KIHdp
bmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuZm9jdXMgW2Z1bmN0aW9uXQpAQCAtMjIyMCw3ICsy
MjE5LDYgQEAgd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZWxlYXNlRXZlbnRzIFtmdW5j
dGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciBb
ZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLnJlc2l6ZUJ5IFtmdW5jdGlv
bl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmVzaXplVG8gW2Z1bmN0aW9uXQotd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5yZXZva2VPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2lu
ZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0
cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3Iu
cHJvdG90eXBlLnNjcm9sbFRvIFtmdW5jdGlvbl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggODNiY2M3Ny4uNTM3YzM1MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTg5LDggKzg5LDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cuRGV2
aWNlTW90aW9uRXZlbnQiIDogMSwKICAgICAid2luZG93Lm9uZGV2aWNlbW90aW9uIiA6IDEsCiAg
ICAgIndpbmRvdy5wZXJmb3JtYW5jZSIgOiAxLAotICAgICJ3aW5kb3cuY3JlYXRlT2JqZWN0VVJM
IiA6IDEsCi0gICAgIndpbmRvdy5yZXZva2VPYmplY3RVUkwiIDogMSwKKyAgICAid2luZG93Lndl
YmtpdFVSTCIgOiAxLAogCiAgICAgLy8gc2hvd01vZGFsRGlhbG9nIGlzIG5vdCBpbXBsZW1lbnRl
ZCBvbiBhbGwgcGxhdGZvcm1zIGluIER1bXBSZW5kZXJUcmVlLgogICAgICJ3aW5kb3cuc2hvd01v
ZGFsRGlhbG9nIiA6IDEsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggMDdjMDAyYy4uYmVj
MjZlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTgsNiArMTgsOCBAQCB2YXIgc2tp
cHBlZFByb3BlcnRpZXMgPSBbCiAgICAgInByb3RvdHlwZSIsCiAgICAgLy8gU2tpcCBHZW9sb2Nh
dGlvbiB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24gbW9zdCBwbGF0Zm9ybXMuCiAgICAgImdlb2xv
Y2F0aW9uIiwKKyAgICAvLyBTa2lwIHdlYmtpdFVSTCB1bnRpbCBpdCBpcyBzdXBwb3J0ZWQgb24g
bW9zdCBwbGF0Zm9ybXMuCisgICAgIndlYmtpdFVSTCIsCiBdOwogCiB2YXIgc2tpcHBlZFByb3Bl
cnRpZXNTZXQgPSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmluZGV4IGViNzgwMDkuLmM4NjgxYzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUt
aW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAtMjEsNyArMjEsNyBAQCB2YXIgc2tpcHBlZFByb3Bl
cnRpZXMgPSBbCiAgICAgIkZpbGVFcnJvciIsICJGaWxlUmVhZGVyIiwgInJlcXVlc3RGaWxlU3lz
dGVtIiwKICAgICAiaW5kZXhlZERCIiwgIklEQktleVJhbmdlIiwgIklEQkN1cnNvciIsICJJREJE
YXRhYmFzZSIsICJJREJEYXRhYmFzZUVycm9yIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uIiwgIklE
QkVycm9yRXZlbnQiLCAiSURCRXZlbnQiLCAiSURCRmFjdG9yeSIsICJJREJJbmRleCIsICJJREJP
YmplY3RTdG9yZSIsICJJREJSZXF1ZXN0IiwgIklEQlN1Y2Nlc3NFdmVudCIsICJJREJUcmFuc2Fj
dGlvbiIsCiAgICAgInNob3dNb2RhbERpYWxvZyIsCi0gICAgImNyZWF0ZU9iamVjdFVSTCIsICJy
ZXZva2VPYmplY3RVUkwiLAorICAgICJ3ZWJraXRVUkwiLAogICAgICJEZXZpY2VPcmllbnRhdGlv
bkV2ZW50IiwKICAgICAiRGV2aWNlTW90aW9uRXZlbnQiLAogICAgICJURU1QT1JBUlkiLCAiUEVS
U0lTVEVOVCIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2It
dXJsLXRvLWltZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10
by1pbWcuaHRtbAppbmRleCBlM2MwODkyLi5mNTUzNWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLWltZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11cmwtdG8taW1nLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAg
ZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHZhciBpbWcgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nVG9SZXBsYWNlJyk7CiAgICAgbG9nKCJPbGQgaW1hZ2U6ICIgKyBpbWcu
d2lkdGggKyAiIHggIiArIGltZy5oZWlnaHQpOwogICAgIGltZy5vbmxvYWQgPSBvbkltZ0xvYWQ7
Ci0gICAgaW1nLnNyYyA9IHdpbmRvdy5jcmVhdGVPYmplY3RVUkwoZmlsZSk7CisgICAgaW1nLnNy
YyA9IHdpbmRvdy53ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpOwogfQogCiBmdW5jdGlv
biBvbkltZ0xvYWQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9hcHBseS1i
bG9iLXVybC10by14aHIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYXBwbHktYmxvYi11
cmwtdG8teGhyLmh0bWwKaW5kZXggNmM5NDU3MC4uMzNlMmI2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9maWxlcy9hcHBseS1ibG9iLXVybC10by14aHIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzL2FwcGx5LWJsb2ItdXJsLXRvLXhoci5odG1sCkBAIC0yNiw3ICsyNiw3
IEBAIGZ1bmN0aW9uIHNlbmRYTUxIdHRwUmVxdWVzdChtZXRob2QsIHVybCkKIGZ1bmN0aW9uIG9u
SW5wdXRGaWxlQ2hhbmdlKCkKIHsKICAgICB2YXIgZmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmaWxlIikuZmlsZXNbMF07Ci0gICAgdmFyIGZpbGVVUkwgPSB3aW5kb3cuY3JlYXRlT2Jq
ZWN0VVJMKGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2luZG93LndlYmtpdFVSTC5jcmVhdGVP
YmplY3RVUkwoZmlsZSk7CiAKICAgICBsb2coIlRlc3QgdGhhdCBYTUxIdHRwUmVxdWVzdCBHRVQg
c3VjY2VlZHMuIik7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBmaWxlVVJMKTsKQEAg
LTM1LDcgKzM1LDcgQEAgZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoKQogICAgIHNlbmRYTUxI
dHRwUmVxdWVzdCgiUE9TVCIsIGZpbGVVUkwpOwogCiAgICAgbG9nKCJUZXN0IHRoYXQgWE1MSHR0
cFJlcXVlc3QgR0VUIGZhaWxzIGFmdGVyIHRoZSBibG9iIFVSTCBpcyByZXZva2VkLiIpOwotICAg
IHdpbmRvdy5yZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CisgICAgd2luZG93LndlYmtpdFVSTC5y
ZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7CiAgICAgc2VuZFhNTEh0dHBSZXF1ZXN0KCJHRVQiLCBm
aWxlVVJMKTsKIAogICAgIGxvZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvY3JlYXRlLWJsb2ItdXJsLWNyYXNoLmh0bWwKaW5kZXggNTFhZWZhZC4uNDdjZmUxYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9jcmVhdGUtYmxvYi11cmwtY3Jhc2guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2NyZWF0ZS1ibG9iLXVybC1jcmFzaC5odG1s
CkBAIC0xMCw3ICsxMCw3IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgbG9nKCJUZXN0IHRoYXQgY3JlYXRlT2JqZWN0VVJMIHdpdGggbm8gYXJndW1lbnQg
c2hvdWxkIG5vdCBjYXVzZSBjcmFzaC4iKTsKLSAgICB2YXIgdXJsID0gY3JlYXRlT2JqZWN0VVJM
KCk7CisgICAgdmFyIHVybCA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoKTsKICAgICBsb2co
dXJsID09IHVuZGVmaW5lZCA/ICJQQVNTIiA6ICJGQUlMIik7CiAKICAgICBsb2coIkRPTkUiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJsb2ItdXJsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Jldm9rZS1ibG9iLXVybC5odG1sCmluZGV4IDc3MTZh
ZDcuLjA4YjVmN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmV2b2tlLWJs
b2ItdXJsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZXZva2UtYmxvYi11cmwu
aHRtbApAQCAtMTAsMTkgKzEwLDE5IEBAIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQogZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm8g
YXJndW1lbnQuIik7Ci0gICAgdmFyIHVybCA9IHJldm9rZU9iamVjdFVSTCgpOworICAgIHZhciB1
cmwgPSB3ZWJraXRVUkwucmV2b2tlT2JqZWN0VVJMKCk7CiAgICAgbG9nKHVybCA9PSB1bmRlZmlu
ZWQgPyAiUEFTUyIgOiAiRkFJTCIpOwogCiAgICAgbG9nKCJUZXN0IGNhbGxpbmcgcmV2b2tlT2Jq
ZWN0VVJMIHdpdGggZW1wdHkgVVJMLiIpOwotICAgIHJldm9rZU9iamVjdFVSTCgiIik7CisgICAg
d2Via2l0VVJMLnJldm9rZU9iamVjdFVSTCgiIik7CiAgICAgbG9nKCJQQVNTIik7CiAKICAgICBs
b2coIlRlc3QgY2FsbGluZyByZXZva2VPYmplY3RVUkwgd2l0aCBpbnZhbGlkIFVSTC4iKTsKLSAg
ICByZXZva2VPYmplY3RVUkwoIltmb28gYmFyXSIpOworICAgIHdlYmtpdFVSTC5yZXZva2VPYmpl
Y3RVUkwoIltmb28gYmFyXSIpOwogICAgIGxvZygiUEFTUyIpOwogCiAgICAgbG9nKCJUZXN0IGNh
bGxpbmcgcmV2b2tlT2JqZWN0VVJMIHdpdGggbm9uLWV4aXN0ZW50IFVSTC4iKTsKLSAgICByZXZv
a2VPYmplY3RVUkwoImJsb2I6bm9uLWV4aXN0ZW50Iik7CisgICAgd2Via2l0VVJMLnJldm9rZU9i
amVjdFVSTCgiYmxvYjpub24tZXhpc3RlbnQiKTsKICAgICBsb2coIlBBU1MiKTsKIAogICAgIGxv
ZygiRE9ORSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItYXBwbHktYmxvYi11cmwtdG8teGhyLmpz
CmluZGV4IGNkY2QwY2YuLjM0NjdjZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXMvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWFwcGx5LWJsb2ItdXJsLXRvLXhoci5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1hcHBseS1i
bG9iLXVybC10by14aHIuanMKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gc2VuZFhNTEh0dHBS
ZXF1ZXN0KG1ldGhvZCwgdXJsKQogb25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAg
dmFyIGZpbGUgPSBldmVudC5kYXRhOwotICAgIHZhciBmaWxlVVJMID0gY3JlYXRlT2JqZWN0VVJM
KGZpbGUpOworICAgIHZhciBmaWxlVVJMID0gd2Via2l0VVJMLmNyZWF0ZU9iamVjdFVSTChmaWxl
KTsKIAogICAgIGxvZygiVGVzdCB0aGF0IFhNTEh0dHBSZXF1ZXN0IEdFVCBzdWNjZWVkcy4iKTsK
ICAgICBzZW5kWE1MSHR0cFJlcXVlc3QoIkdFVCIsIGZpbGVVUkwpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggYjQ0YjMwMC4uZGM3OTU2NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0yMTY3LDcgKzIxNjcs
NiBAQCB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmNsZWFySW50ZXJ2YWwgW2Z1bmN0aW9u
XQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbGVhclRpbWVvdXQgW2Z1bmN0aW9uXQog
d2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5jbG9zZSBbZnVuY3Rpb25dCiB3aW5kb3cuY29u
c3RydWN0b3IucHJvdG90eXBlLmNvbmZpcm0gW2Z1bmN0aW9uXQotd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5jcmVhdGVPYmplY3RVUkwgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50IFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUuZmluZCBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90eXBlLmZv
Y3VzIFtmdW5jdGlvbl0KQEAgLTIxODYsNyArMjE4NSw2IEBAIHdpbmRvdy5jb25zdHJ1Y3Rvci5w
cm90b3R5cGUucmVsZWFzZUV2ZW50cyBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJv
dG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgW2Z1bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9y
LnByb3RvdHlwZS5yZXNpemVCeSBbZnVuY3Rpb25dCiB3aW5kb3cuY29uc3RydWN0b3IucHJvdG90
eXBlLnJlc2l6ZVRvIFtmdW5jdGlvbl0KLXdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUucmV2
b2tlT2JqZWN0VVJMIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Ny
b2xsIFtmdW5jdGlvbl0KIHdpbmRvdy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuc2Nyb2xsQnkgW2Z1
bmN0aW9uXQogd2luZG93LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5zY3JvbGxUbyBbZnVuY3Rpb25d
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXgg
ODZiYTY1ZS4uZGJhZGIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1s
L0pTRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pT
RE9NVG9rZW5MaXN0LmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RPTVVybC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2h0bWwvSlNEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRmlsZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKaW5kZXggNGM0NWEwZS4uNWVhNDNlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBAQCBHRU4g
Oj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCbG9iQnVpbGRlci5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RE9NVXJsLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
YmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhGaWxlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5tayBiL1Nv
dXJjZS9XZWJDb3JlL0FuZHJvaWQubWsKaW5kZXggZjhlZjQxNC4uMzZhMGY4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5taworKysgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lk
Lm1rCkBAIC0yNzMsNiArMjczLDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJ
TEVTKSBcCiAJaHRtbC9ET01Gb3JtRGF0YS5jcHAgXAogCWh0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuY3BwIFwKIAlodG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCWh0bWwvRE9NVXJsLmNwcCBcCiAJ
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBcCiAJaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAgXAog
CWh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMjEyZmI4Li43MGY5NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTk4LDYgKzE5OCw3
IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsCiAgICAg
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5pZGwKICAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwK
KyAgICBodG1sL0RPTVVybC5pZGwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAogICAg
IGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5p
ZGwKQEAgLTk5Niw2ICs5OTcsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9ET01G
b3JtRGF0YS5jcHAKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcAogICAgIGh0bWwv
RE9NVG9rZW5MaXN0LmNwcAorICAgIGh0bWwvRE9NVXJsLmNwcAogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW4uY3BwCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCiAgICAgaHRtbC9EYXRl
Q29tcG9uZW50cy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NzA4OThmLi5mY2JiMWE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDEtMTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBjcmVhdGVPYmplY3RVUkwgYW5kIHJldm9rZU9iamVjdFVSTCB0byBwdXQgdW5kZXIgd2Vi
a2l0VVJMLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTIyNTcKKworICAgICAgICBOb3RlIHRoYXQgd2UgYWRkICJ3ZWJraXQiIHZlbmRvciBwcmVmaXgg
dG8gVVJMIHRoYXQgaXMgaW50cm9kdWNlZCBpbgorICAgICAgICB0aGUgbGF0ZXN0IEZpbGUgQVBJ
IHNwZWMuCisKKyAgICAgICAgRm9yIHRoZSB0aW1lIGJlaW5nLCB3ZSBpbXBsZW1lbnQgd2Via2l0
VVJMIGFzIGEgcmVhZG9ubHkgYXR0cmlidXRlCisgICAgICAgIGluc3RlYWQgb2YgYSBjb25zdHJ1
Y3RvciBzbyB0aGF0IHdlIHdpbGwgbm90IGV4cG9zZSBwcm90b3R5cGUgcHJvcGVydHksCisgICAg
ICAgIGFzIHJlcXVpcmVkIGJ5IHRoZSBzcGVjLgorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVk
LmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1r
OgorICAgICAgICAqIEFuZHJvaWQubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0RPTVVybC5jcHA6IEFkZGVkLgorICAg
ICAgICAqIGh0bWwvRE9NVXJsLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvRE9NVXJsLmlkbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanM6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojp3ZWJraXRVUkwp
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
aWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0Ojp3ZWJraXRVUkwpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Q29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisKIDIwMTEt
MDEtMTAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRl
eCA2ZDZhMjhkLi5jOGRhZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05NCw2
ICs5NCw3IEBACiAjaW5jbHVkZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJKU0RP
TVN0cmluZ01hcC5jcHAiCiAjaW5jbHVkZSAiSlNET01Ub2tlbkxpc3QuY3BwIgorI2luY2x1ZGUg
IkpTRE9NVXJsLmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBlYmI5MmIxLi4xY2U4NGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTE0Nyw2ICsxNDcsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01TdHJpbmdN
YXAgXAogICAgIERPTVNldHRhYmxlVG9rZW5MaXN0IFwKICAgICBET01Ub2tlbkxpc3QgXAorICAg
IERPTVVybCBcCiAgICAgRE9NV2luZG93IFwKICAgICBEYXRhYmFzZSBcCiAgICAgRGF0YWJhc2VD
YWxsYmFjayBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDA5YTJlZDQuLmFkYmIzNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCkBAIC0yMzYsNiArMjM2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2Vz
ICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01V
cmwuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVXJsLmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NV2luZG93LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVtZW50LmNwcCBc
CkBAIC0xNjE3LDYgKzE2MTksOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NRm9ybURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmggXAor
CVNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9E
T01VcmwuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9FbWFpbElucHV0VHlwZS5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvRW1haWxJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRt
bC9GaWxlSW5wdXRUeXBlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggODNlNTVkNC4uMDBiM2Jm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE5LDYgKzExOSw3IEBACiAgICAgICAgICAgICAnaHRt
bC9ET01Gb3JtRGF0YS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuaWRsJywKICAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAorICAgICAgICAg
ICAgJ2h0bWwvRE9NVXJsLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCcsCiAgICAgICAg
ICAgICAnaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwnLApAQCAtMTYyNyw2ICsxNjI4LDggQEAK
ICAgICAgICAgICAgICdodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAg
J2h0bWwvRE9NVG9rZW5MaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3Qu
aCcsCisgICAgICAgICAgICAnaHRtbC9ET01VcmwuY3BwJywKKyAgICAgICAgICAgICdodG1sL0RP
TVVybC5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlk
Q29sdW1uTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAwYzMzZWVkLi5mZGQ2ZjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnByaQpAQCAtMjEzLDYgKzIxMyw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgaHRt
bC9ET01Gb3JtRGF0YS5pZGwgXAogICAgIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaWRsIFwK
ICAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAorICAgIGh0bWwvRE9NVXJsLmlkbCBcCiAgICAg
aHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwgXAogICAgIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5p
ZGwgXAogICAgIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXgg
MjdjZDU4Mi4uZjdkM2QyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTg5Miw2ICs4OTIsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCiAgICAgaHRtbC9ET01TZXR0YWJs
ZVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcCBcCisgICAgaHRtbC9E
T01VcmwuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAgaHRtbC9EYXRh
R3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCkBAIC0x
ODEzLDYgKzE4MTQsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmggXAog
ICAgIGh0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBcCiAgICAgaHRtbC9ET01Ub2tlbkxpc3Qu
aCBcCisgICAgaHRtbC9ET01VcmwuaCBcCiAgICAgaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQu
aCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBEaXJlY3RvcnlEb2N1
bWVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggZDQ5YmYyYS4uZmJkZWI3MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTQwNzAsNiArNDA3MCw2MiBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVXJsLmNwcCIKKwkJCQk+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9N
VXJsLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNET01XaW5kb3cuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTUwMjk4
LDYgKzUwMzU0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcRE9NVXJsLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01VcmwuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxFbWFpbElucHV0VHlwZS5jcHAiCiAJ
CQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGMzOGY4MmQuLmU1OTNlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcwMyw2ICs3MDMs
MTAgQEAKIAkJMkUyRDk5RUExMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUyRDk5RTkxMEUy
QkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5hbC5oICovOyB9OwogCQkyRTJEOTlFQjEwRTJC
RDM5MDA0OTYzMzcgLyogRE9NQmxvYi5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUyRDk5RTUxMEUyQkMxQzAwNDk2MzM3IC8q
IERPTUJsb2IuaCAqLzsgfTsKIAkJMkUyRDk5RUMxMEUyQkQzOTAwNDk2MzM3IC8qIERPTUJsb2JJ
bnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRlcm5h
bC5oICovOyB9OworCQkyRTM3REZEQTEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMzdERkQ3MTJEQkFG
QjgwMEE2QjIzMyAvKiBET01VcmwuY3BwICovOyB9OworCQkyRTM3REZEQjEyREJBRkI4MDBBNkIy
MzMgLyogRE9NVXJsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRTM3REZEODEyREJBRkI4MDBBNkIyMzMgLyogRE9NVXJsLmggKi87IH07CisJCTJFMzdF
MDA1MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTM3RTAwMzEyREJDNUE0MDBBNkIyMzMgLyogSlNE
T01VcmwuY3BwICovOyB9OworCQkyRTM3RTAwNjEyREJDNUE0MDBBNkIyMzMgLyogSlNET01Vcmwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMzdFMDA0
MTJEQkM1QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5oICovOyB9OwogCQkyRTNCQkYwNzExNjJEQTEx
MDBCOTQwOUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRTNCQkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi87IH07CiAJ
CTJFM0JCRjA4MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTNCQkYwNjExNjJEQTExMDBCOTQwOUEgLyogVVVJ
RC5oICovOyB9OwogCQkyRTNCQzBDQTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUzQkMwQzgx
MTdEM0UwODAwQjk0MDlBIC8qIEpTRmlsZUVycm9yLmNwcCAqLzsgfTsKQEAgLTcwMTEsNiArNzAx
NSwxMSBAQAogCQkyRTJEOTlFNTEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01CbG9iLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJFMkQ5OUU2MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9iLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NQmxvYi5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkUyRDk5RTkxMEUyQkMzODAwNDk2MzM3IC8qIERPTUJsb2JJbnRl
cm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01CbG9iSW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUzN0RGRDcxMkRCQUZCODAwQTZCMjMz
IC8qIERPTVVybC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01V
cmwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3REZEODEyREJBRkI4MDBB
NkIyMzMgLyogRE9NVXJsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVVy
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3REZEOTEyREJBRkI4MDBBNkIy
MzMgLyogRE9NVXJsLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01VcmwuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3RTAwMzEyREJDNUE0MDBBNkIyMzMgLyogSlNE
T01VcmwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Vcmwu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTM3RTAwNDEyREJDNUE0MDBBNkIy
MzMgLyogSlNET01VcmwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01V
cmwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUzQkJGMDUxMTYyREExMTAwQjk0
MDlBIC8qIFVVSUQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVVJ
RC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFM0JCRjA2MTE2MkRBMTEwMEI5
NDA5QSAvKiBVVUlELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVVSUQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUzQkMwQzgxMTdEM0UwODAwQjk0MDlBIC8q
IEpTRmlsZUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RmlsZUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1Mzg2LDYgKzE1
Mzk1LDkgQEAKIAkJCQk3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNw
cCAqLywKIAkJCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8s
CiAJCQkJNzZGQzJCMEExMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5pZGwgKi8sCisJ
CQkJMkUzN0RGRDcxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5jcHAgKi8sCisJCQkJMkUzN0RG
RDgxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5oICovLAorCQkJCTJFMzdERkQ5MTJEQkFGQjgw
MEE2QjIzMyAvKiBET01VcmwuaWRsICovLAogCQkJCUY1NUIzRDg3MTI1MUYxMkQwMDNFRjI2OSAv
KiBFbWFpbElucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEODgxMjUxRjEyRDAwM0VGMjY5IC8q
IEVtYWlsSW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNEODkxMjUxRjEyRDAwM0VGMjY5IC8qIEZp
bGVJbnB1dFR5cGUuY3BwICovLApAQCAtMTU5NTEsNiArMTU5NjMsOCBAQAogCQkJCTRBQ0JDMEM5
MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmggKi8sCiAJCQkJNzY5
NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLywKIAkJCQk3Njk0
NTYzQjEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLywKKwkJCQkyRTM3RTAw
MzEyREJDNUE0MDBBNkIyMzMgLyogSlNET01VcmwuY3BwICovLAorCQkJCTJFMzdFMDA0MTJEQkM1
QTQwMEE2QjIzMyAvKiBKU0RPTVVybC5oICovLAogCQkJCTQ5RUVDRUY0MTA1MDcwQzQwMDA5OUZB
QiAvKiBKU0Zsb2F0MzJBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRjUxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTRmxvYXQzMkFycmF5LmggKi8sCiAJCQkJQkM5N0U0MTAxMDkxNTRGQTAwMTBEMzYxIC8q
IEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMjIyOTMsNiArMjIzMDcsOCBAQAogCQkJ
CTkzRjE5OUVEMDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkUzN0RGREIxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVybC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkUzN0UwMDYxMkRCQzVBNDAwQTZCMjMzIC8qIEpTRE9NVXJs
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMzUyLDcgKzIyMzY4LDYgQEAKIAkJCWlzYSA9IFBCWFBy
b2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5
RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIg
Ki87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOwotCQkJZGV2ZWxvcG1l
bnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7CiAJCQlr
bm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKQEAgLTI0OTc2LDYgKzI0OTkxLDggQEAKIAkJ
CQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2Rl
U29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyog
WFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRTM3REZEQTEyREJBRkI4MDBBNkIy
MzMgLyogRE9NVXJsLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJFMzdFMDA1MTJEQkM1QTQwMEE2
QjIzMyAvKiBKU0RPTVVybC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVXJsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGM3YTM5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoQkxPQikKKworI2luY2x1ZGUgIkRPTVVybC5o
IgorCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitET01Vcmw6OkRPTVVybChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KQorICAgIDogbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCit7Cit9CisKK1N0cmluZyBET01Vcmw6
OmNyZWF0ZU9iamVjdFVSTChCbG9iKiBibG9iKQoreworICAgIGlmICghbV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgcmV0dXJuIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9iKS5zdHJpbmcoKTsKK30K
Kwordm9pZCBET01Vcmw6OnJldm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcmIHVybFN0cmluZykK
K3sKKyAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cmV2b2tlUHVibGljQmxvYlVSTChLVVJMKEtV
UkwoKSwgdXJsU3RyaW5nKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShCTE9CKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Vcmwu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNzA0OWVhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVXJsLmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9NVXJsX2gKKyNkZWZpbmUgRE9N
VXJsX2gKKworI2lmIEVOQUJMRShCTE9CKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxvYjsKK2NsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CisKK2NsYXNzIERPTVVybCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVVybD4g
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVVybD4gY3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBET01Vcmwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpOyB9CisKKyAgICBTdHJpbmcgY3Jl
YXRlT2JqZWN0VVJMKEJsb2IqKTsKKyAgICB2b2lkIHJldm9rZU9iamVjdFVSTChjb25zdCBTdHJp
bmcmKTsKKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRE9NVXJsKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKTsKKworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShCTE9CKQorCisjZW5kaWYgLy8gRE9NVXJsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NVXJsLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVXJsLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2U0ZmI2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01VcmwuaWRsCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUg
aHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9QkxPQiwKKyAgICAg
ICAgT21pdENvbnN0cnVjdG9yLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNvbnZlcnRlciwKKyAg
ICAgICAgR2VuZXJhdGVUb0pTLAorICAgICAgICBOb1N0YXRpY1RhYmxlcworICAgIF0gRE9NVXJs
IHsKKyAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89VW5kZWZpbmVkXSBET01TdHJpbmcgY3Jl
YXRlT2JqZWN0VVJMKGluIEJsb2IgYmxvYik7CisgICAgICAgIHZvaWQgcmV2b2tlT2JqZWN0VVJM
KGluIERPTVN0cmluZyB1cmwpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDdiNmRmOGIuLmJkMWQ3Y2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1Bh
bmVsLmpzCkBAIC05NzgsNyArOTc4LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgX2NvbnRleHRNZW51OiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAg
ICAgIC8vIGNyZWF0ZUJsb2JVUkwgaXMgZW5hYmxlZCBjb25kaXRpb25hbGx5LCBkbyBub3QgZXhw
b3NlIHJlc291cmNlIGV4cG9ydCBpZiBpdCdzIG5vdCBhdmFpbGFibGUuCi0gICAgICAgIGlmICh0
eXBlb2Ygd2luZG93LmNyZWF0ZU9iamVjdFVSTCAhPT0gImZ1bmN0aW9uIiB8fCAhUHJlZmVyZW5j
ZXMucmVzb3VyY2VFeHBvcnRFbmFibGVkKQorICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy53ZWJr
aXRVUkwuY3JlYXRlT2JqZWN0VVJMICE9PSAiZnVuY3Rpb24iIHx8ICFQcmVmZXJlbmNlcy5yZXNv
dXJjZUV4cG9ydEVuYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFyIGNv
bnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCAxMWY2Mzg2Li5j
NDM4ZTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0
aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxp
dGllcy5qcwpAQCAtMTA1MCw2ICsxMDUwLDYgQEAgZnVuY3Rpb24gb2ZmZXJGaWxlRm9yRG93bmxv
YWQoY29udGVudHMpCiAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKTsKICAgICBi
dWlsZGVyLmFwcGVuZChjb250ZW50cyk7CiAgICAgdmFyIGJsb2IgPSBidWlsZGVyLmdldEJsb2Io
ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwotICAgIHZhciB1cmwgPSB3aW5kb3cuY3JlYXRl
T2JqZWN0VVJMKGJsb2IpOworICAgIHZhciB1cmwgPSB3aW5kb3cud2Via2l0VVJMLmNyZWF0ZU9i
amVjdFVSTChibG9iKTsKICAgICB3aW5kb3cub3Blbih1cmwpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCmluZGV4IDAyMTQwZDUuLmRiZTU2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAjaW5j
bHVkZSAiRE9NVGltZXIuaCIKICNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKKyNpbmNsdWRlICJE
T01VcmwuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCkBAIC0xNjA2LDE4ICsx
NjA3LDYgQEAgRXZlbnRUYXJnZXREYXRhKiBET01XaW5kb3c6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0
YSgpCiAgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKIH0KIAotI2lmIEVOQUJMRShCTE9C
KQotU3RyaW5nIERPTVdpbmRvdzo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCi17Ci0gICAg
cmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9i
KS5zdHJpbmcoKTsKLX0KLQotdm9pZCBET01XaW5kb3c6OnJldm9rZU9iamVjdFVSTChjb25zdCBT
dHJpbmcmIGJsb2JVUkxTdHJpbmcpCi17Ci0gICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5y
ZXZva2VQdWJsaWNCbG9iVVJMKEtVUkwoS1VSTCgpLCBibG9iVVJMU3RyaW5nKSk7Ci19Ci0jZW5k
aWYKLQogdm9pZCBET01XaW5kb3c6OnNldExvY2F0aW9uKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5n
LCBET01XaW5kb3cqIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93KiBmaXJzdFdpbmRvdywgU2V0TG9j
YXRpb25Mb2NraW5nIGxvY2tpbmcpCiB7CiAgICAgRnJhbWUqIGFjdGl2ZUZyYW1lID0gYWN0aXZl
V2luZG93LT5mcmFtZSgpOwpAQCAtMTgxNyw0ICsxODA2LDEzIEBAIHZvaWQgRE9NV2luZG93Ojpz
aG93TW9kYWxEaWFsb2coY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGlh
bG9nRmVhCiAgICAgZGlhbG9nRnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPnJ1bk1vZGFsKCk7CiB9
CiAKKyNpZiBFTkFCTEUoQkxPQikKK0RPTVVybCogRE9NV2luZG93Ojp3ZWJraXRVUkwoKSBjb25z
dAoreworICAgIGlmICghbV9kb21VUkwpCisgICAgICAgIG1fZG9tVVJMID0gRE9NVXJsOjpjcmVh
dGUodGhpcy0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICByZXR1cm4gbV9kb21VUkwu
Z2V0KCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKaW5kZXggOWU3MmRlYy4uZjBmYjRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CkBAIC0zNCwxMiArMzQsMTIgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEJh
ckluZm87Ci0gICAgY2xhc3MgQmxvYjsKICAgICBjbGFzcyBDU1NSdWxlTGlzdDsKICAgICBjbGFz
cyBDU1NTdHlsZURlY2xhcmF0aW9uOwogICAgIGNsYXNzIENvbnNvbGU7CiAgICAgY2xhc3MgRE9N
QXBwbGljYXRpb25DYWNoZTsKICAgICBjbGFzcyBET01TZWxlY3Rpb247CisgICAgY2xhc3MgRE9N
VXJsOwogICAgIGNsYXNzIERhdGFiYXNlOwogICAgIGNsYXNzIERhdGFiYXNlQ2FsbGJhY2s7CiAg
ICAgY2xhc3MgRG9jdW1lbnQ7CkBAIC0zNDMsOCArMzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB1c2luZyBSZWZDb3VudGVkPERPTVdpbmRvdz46OmRlcmVmOwogCiAjaWYgRU5B
QkxFKEJMT0IpCi0gICAgICAgIFN0cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOwotICAgICAg
ICB2b2lkIHJldm9rZU9iamVjdFVSTChjb25zdCBTdHJpbmcmKTsKKyAgICAgICAgRE9NVXJsKiB3
ZWJraXRVUkwoKSBjb25zdDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQpAQCAtNDY2
LDYgKzQ2NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKFdFQl9USU1JTkcp
CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlPiBtX3BlcmZvcm1hbmNlOwogI2Vu
ZGlmCisKKyNpZiBFTkFCTEUoQkxPQikKKyAgICAgICAgbXV0YWJsZSBSZWZQdHI8RE9NVXJsPiBt
X2RvbVVSTDsKKyNlbmRpZgogICAgIH07CiAKICAgICBpbmxpbmUgU3RyaW5nIERPTVdpbmRvdzo6
c3RhdHVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAzODlkNWVkLi4z
M2UwMjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03NzgsMTAgKzc3OCw3IEBA
IG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9QkxPQl0g
QmxvYkJ1aWxkZXJDb25zdHJ1Y3RvciBCbG9iQnVpbGRlcjsKIAotI2lmIGRlZmluZWQoRU5BQkxF
X0JMT0IpICYmIEVOQUJMRV9CTE9CCi0gICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPVVuZGVm
aW5lZF0gRE9NU3RyaW5nIGNyZWF0ZU9iamVjdFVSTChpbiBCbG9iIGJsb2IpOwotICAgICAgICB2
b2lkIHJldm9rZU9iamVjdFVSTChpbiBET01TdHJpbmcgYmxvYlVSTCk7Ci0jZW5kaWYKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb25kaXRpb25hbD1CTE9CXSBET01Vcmwgd2Via2l0VVJM
OwogCiAjZW5kaWYgLy8gZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCAzNDVlNWI3Li4xMmZmYTc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAK
ICNpbmNsdWRlICJEYXRhYmFzZVN5bmMuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIK
ICNpbmNsdWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIkRPTVVybC5oIgogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpA
QCAtMzQxLDE0ICszNDIsMTEgQEAgRXZlbnRUYXJnZXREYXRhKiBXb3JrZXJDb250ZXh0OjplbnN1
cmVFdmVudFRhcmdldERhdGEoKQogfQogCiAjaWYgRU5BQkxFKEJMT0IpCi1TdHJpbmcgV29ya2Vy
Q29udGV4dDo6Y3JlYXRlT2JqZWN0VVJMKEJsb2IqIGJsb2IpCitET01VcmwqIFdvcmtlckNvbnRl
eHQ6OndlYmtpdFVSTCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+Y3JlYXRlUHVibGljQmxvYlVSTChibG9iKS5zdHJpbmcoKTsKLX0KLQotdm9pZCBXb3Jr
ZXJDb250ZXh0OjpyZXZva2VPYmplY3RVUkwoY29uc3QgU3RyaW5nJiBibG9iVVJMU3RyaW5nKQot
ewotICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+cmV2b2tlUHVibGljQmxvYlVSTChLVVJM
KFBhcnNlZFVSTFN0cmluZywgYmxvYlVSTFN0cmluZykpOworICAgIGlmICghbV9kb21VUkwpCisg
ICAgICAgIG1fZG9tVVJMID0gRE9NVXJsOjpjcmVhdGUodGhpcy0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKTsKKyAgICByZXR1cm4gbV9kb21VUkwuZ2V0KCk7CiB9CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCA3YjZjOWEyLi41YWY3ZGUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtNDYsNiArNDYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBCbG9iOwogICAgIGNsYXNzIERPTUZpbGVTeXN0
ZW1TeW5jOworICAgIGNsYXNzIERPTVVybDsKICAgICBjbGFzcyBEYXRhYmFzZTsKICAgICBjbGFz
cyBEYXRhYmFzZUNhbGxiYWNrOwogICAgIGNsYXNzIERhdGFiYXNlU3luYzsKQEAgLTEyMSw4ICsx
MjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0pTRXhl
Y3V0aW9uVGVybWluYXRlZCgpIGNvbnN0OwogCiAjaWYgRU5BQkxFKEJMT0IpCi0gICAgICAgIFN0
cmluZyBjcmVhdGVPYmplY3RVUkwoQmxvYiopOwotICAgICAgICB2b2lkIHJldm9rZU9iamVjdFVS
TChjb25zdCBTdHJpbmcmKTsKKyAgICAgICAgRE9NVXJsKiB3ZWJraXRVUkwoKSBjb25zdDsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQpAQCAtMTg2LDYgKzE4Niw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEVfTk9USUZJQ0FUSU9OUwogICAgICAgICBtdXRhYmxl
IFJlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IG1fbm90aWZpY2F0aW9uczsKICNlbmRpZgorI2lm
IEVOQUJMRShCTE9CKQorICAgICAgICBtdXRhYmxlIFJlZlB0cjxET01Vcmw+IG1fZG9tVVJMOwor
I2VuZGlmCiAgICAgICAgIGJvb2wgbV9jbG9zaW5nOwogICAgICAgICBib29sIG1fcmVwb3J0aW5n
RXhjZXB0aW9uOwogICAgICAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAppbmRleCA0NWFjNWIxLi4xZmVh
MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKQEAgLTEwMSwx
MCArMTAxLDEwIEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgYXR0cmlidXRlIEJsb2JCdWls
ZGVyQ29uc3RydWN0b3IgQmxvYkJ1aWxkZXI7CiAgICAgICAgIGF0dHJpYnV0ZSBGaWxlUmVhZGVy
Q29uc3RydWN0b3IgRmlsZVJlYWRlcjsKICAgICAgICAgYXR0cmlidXRlIEZpbGVSZWFkZXJTeW5j
Q29uc3RydWN0b3IgRmlsZVJlYWRlclN5bmM7Ci0gICAgICAgIERPTVN0cmluZyBjcmVhdGVPYmpl
Y3RVUkwoaW4gQmxvYiBibG9iKTsKLSAgICAgICAgdm9pZCByZXZva2VPYmplY3RVUkwoaW4gRE9N
U3RyaW5nIGJsb2JVUkwpOwogI2VuZGlmCiAKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1CTE9CXSBET01Vcmwgd2Via2l0VVJMOworCiAjaWYgZGVmaW5lZChFTkFCTEVf
RklMRV9TWVNURU0pICYmIEVOQUJMRV9GSUxFX1NZU1RFTQogICAgICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBURU1QT1JBUlkgPSAwOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJT
SVNURU5UID0gMTsK
</data>
<flag name="review"
          id="69969"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="69970"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>