<?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>36024</bug_id>
          
          <creation_ts>2010-03-11 11:39:18 -0800</creation_ts>
          <short_desc>Add DOMFormData.idl to expose FormData interface</short_desc>
          <delta_ts>2010-03-15 10:37:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>
          
          <blocked>26979</blocked>
    
    <blocked>36026</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>dimich</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>198704</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-03-11 11:39:18 -0800</bug_when>
    <thetext>Need to add DOMFormData.idl to expose FormData interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198708</commentid>
    <comment_count>1</comment_count>
      <attachid>50521</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-03-11 11:49:43 -0800</bug_when>
    <thetext>Created attachment 50521
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198757</commentid>
    <comment_count>2</comment_count>
      <attachid>50521</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-11 13:28:12 -0800</bug_when>
    <thetext>Comment on attachment 50521
Proposed Patch

&gt; +
&gt; +JSValue JSDOMFormData::append(ExecState* exec, const ArgList&amp; args)
&gt; +{
&gt; +    if (args.size() &lt; 2)
&gt; +        return throwError(exec, SyntaxError, &quot;Not enough arguments&quot;);

We don&apos;t generally throw on too few arguments, but rather let the undefined value get toStringed.

Otherwise, this looks good. r=me if you make that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199174</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-12 12:41:47 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/55921, but reverted by http://trac.webkit.org/changeset/55926.

If you apply this patch, Qt build will work. 

diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 7d1a56a..80f2e39 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -289,6 +289,7 @@ SOURCES += \
     bindings/js/JSDebugWrapperSet.cpp \
     bindings/js/JSDocumentCustom.cpp \
     bindings/js/JSDocumentFragmentCustom.cpp \
+    bindings/js/JSDOMFormDataCustom.cpp \
     bindings/js/JSDOMGlobalObject.cpp \
     bindings/js/JSDOMWindowBase.cpp \
     bindings/js/JSDOMWindowCustom.cpp \

---

And please update Qt specific expected file to make buildbot happy:
LayoutTests/platform/qt/fast/dom/Window/window-properties-expected.txt

-window.FormData [object DOMFormDataConstructor]
-window.FormData.prototype [object DOMFormDataPrototype]
+window.FormData [object FormDataConstructor]
+window.FormData.prototype [object FormDataPrototype]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199258</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-12 17:14:56 -0800</bug_when>
    <thetext>Any reason you did not make the change I asked you to make?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199260</commentid>
    <comment_count>5</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-03-12 17:21:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Any reason you did not make the change I asked you to make?

Sorry, forgot this one. I will make sure this will be applied in next landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199713</commentid>
    <comment_count>6</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-03-15 10:37:24 -0700</bug_when>
    <thetext>Changed and committed as http://trac.webkit.org/changeset/56003.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50521</attachid>
            <date>2010-03-11 11:49:43 -0800</date>
            <delta_ts>2010-03-11 13:28:12 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>36024</filename>
            <type>text/plain</type>
            <size>39005</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3ZTFmZDAwLi5jNGU0NDQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTAtMDMt
MTEgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBET01Gb3JtRGF0YS5pZGwgdG8gZXhwb3Nl
IEZvcm1EYXRhIGludGVyZmFjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzYwMjQKKyAgICAgICAgCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRv
IHRlc3Qgc2VuZGluZyBGb3JtRGF0YSB2aWEgWE1MSHR0cFJlcXVlc3QuIEFsc28KKyAgICAgICAg
Y2hhbmdlZCBhbGwgdGVzdCByZXN1bHRzIHRoYXQgYXJlIGFmZmVjdGVkIGJ5IGV4cG9zaW5nIEZv
cm1EYXRhLgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRl
c2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jb25zdHJ1Y3RlZC1v
YmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9wcm90
b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvZ2xvYmFs
LWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9y
ZXNvdXJjZXMvc2VuZC1mb3JtLWRhdGEuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
bG9jYWwvc2VuZC1mb3JtLWRhdGEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2xvY2FsL3NlbmQtZm9ybS1kYXRhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL211bHRpcGFydC1wb3N0LWVjaG8ucGhwOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lw
cGVkOgorCiAyMDEwLTAzLTEwICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CiAKICAgICAgICAgU2tpcHBpbmcgdGVzdCBvbiBHVEsgYW5kIFdJTi4gTm8gUmV2aWV3LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQKaW5kZXggODM2ZDM2Ny4uZmZhZTg2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC05MDEsNiArOTAxLDkgQEAgd2luZG93LkZpbGUucHJvdG90eXBlIFtwcmludGVkIGFi
b3ZlIGFzIHdpbmRvdy5CbG9iLnByb3RvdHlwZV0KIHdpbmRvdy5GaWxlTGlzdCBbb2JqZWN0IEZp
bGVMaXN0Q29uc3RydWN0b3JdCiB3aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlIFtvYmplY3QgRmls
ZUxpc3RQcm90b3R5cGVdCiB3aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9u
XQord2luZG93LkZvcm1EYXRhIFtvYmplY3QgRm9ybURhdGFDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5G
b3JtRGF0YS5wcm90b3R5cGUgW29iamVjdCBGb3JtRGF0YVByb3RvdHlwZV0KK3dpbmRvdy5Gb3Jt
RGF0YS5wcm90b3R5cGUuYXBwZW5kIFtmdW5jdGlvbl0KIHdpbmRvdy5IVE1MQWxsQ29sbGVjdGlv
biBbb2JqZWN0IEhUTUxBbGxDb2xsZWN0aW9uQ29uc3RydWN0b3JdCiB3aW5kb3cuSFRNTEFsbENv
bGxlY3Rpb24ucHJvdG90eXBlIFtvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25Qcm90b3R5cGVdCiB3
aW5kb3cuSFRNTEFsbENvbGxlY3Rpb24ucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlw
dG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBlODY5NTQ5Li41NGZjMTY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRl
c2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApAQCAtNDksNiArNDksNyBA
QCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0V2
ZW50RXhjZXB0aW9uJykgaXMgJ29iamVjdAogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3csICdFdmVudFNvdXJjZScpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0ZpbGUnKSBpcyAn
b2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdGaWxlTGlzdCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Zvcm1EYXRhJykgaXMgJ29iamVjdCcKIFBBU1MgdHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRnVuY3Rpb24nKSBp
cyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdIVE1MQWxsQ29sbGVjdGlvbicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0hUTUxBbmNob3JFbGVtZW50Jykg
aXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbnN0cnVjdGVk
LW9iamVjdHMtcHJvdG90eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9j
b25zdHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlwZXMtZXhwZWN0ZWQudHh0CmluZGV4IDI2MzlkM2Qu
LjY1MDlmMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NvbnN0cnVjdGVkLW9i
amVjdHMtcHJvdG90eXBlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Y29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLWV4cGVjdGVkLnR4dApAQCAtNyw2ICs3LDgg
QEAgUEFTUyAobmV3IGlubmVyLkF1ZGlvKCkpLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyAobmV3IGlu
bmVyLkF1ZGlvKCkpLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyAobmV3IGlubmVy
LkRPTVBhcnNlcigpKS5pc0lubmVyIGlzIHRydWUKIFBBU1MgKG5ldyBpbm5lci5ET01QYXJzZXIo
KSkuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIChuZXcgaW5uZXIuRm9ybURhdGEo
KSkuaXNJbm5lciBpcyB0cnVlCitQQVNTIChuZXcgaW5uZXIuRm9ybURhdGEoKSkuY29uc3RydWN0
b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIChuZXcgaW5uZXIuSW1hZ2UoKSkuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIChuZXcgaW5uZXIuSW1hZ2UoKSkuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIChuZXcgaW5uZXIuTWVzc2FnZUNoYW5uZWwoKSkuaXNJbm5lciBpcyB0cnVlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1l
eHBlY3RlZC50eHQKaW5kZXggNTgzZDg2NS4uY2NjZmQ3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dApA
QCAtMjIxLDYgKzIyMSw3IEBAIE5ldmVyIGZvdW5kIEVudGl0eQogTmV2ZXIgZm91bmQgRW50aXR5
UmVmZXJlbmNlCiBOZXZlciBmb3VuZCBGaWxlCiBOZXZlciBmb3VuZCBGaWxlTGlzdAorTmV2ZXIg
Zm91bmQgRm9ybURhdGEKIE5ldmVyIGZvdW5kIEhUTUxBbGxDb2xsZWN0aW9uCiBOZXZlciBmb3Vu
ZCBIVE1MQmFzZUVsZW1lbnQKIE5ldmVyIGZvdW5kIEhUTUxCYXNlRm9udEVsZW1lbnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CmluZGV4IDRmYWE3MTUuLjUzNDc4M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtODcsNiAr
ODcsOCBAQCBQQVNTIGlubmVyLkZpbGUuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkZpbGUu
Y29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkZpbGVMaXN0LmlzSW5uZXIg
aXMgdHJ1ZQogUEFTUyBpbm5lci5GaWxlTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
K1BBU1MgaW5uZXIuRm9ybURhdGEuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkZvcm1EYXRh
LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5IVE1MQWxsQ29sbGVjdGlv
bi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuSFRNTEFsbENvbGxlY3Rpb24uY29uc3RydWN0
b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkhUTUxBbmNob3JFbGVtZW50LmlzSW5uZXIg
aXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKaW5kZXggMWQxYzJkYy4uOGZjODUwNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CkBAIC00Myw2
ICs0Myw3IEBAIFBBU1MgRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBFdmVudENvbnN0cnVj
dG9yXScKIFBBU1MgRXZlbnRFeGNlcHRpb24udG9TdHJpbmcoKSBpcyAnW29iamVjdCBFdmVudEV4
Y2VwdGlvbkNvbnN0cnVjdG9yXScKIFBBU1MgRmlsZS50b1N0cmluZygpIGlzICdbb2JqZWN0IEZp
bGVDb25zdHJ1Y3Rvcl0nCiBQQVNTIEZpbGVMaXN0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRmls
ZUxpc3RDb25zdHJ1Y3Rvcl0nCitQQVNTIEZvcm1EYXRhLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3Qg
Rm9ybURhdGFDb25zdHJ1Y3Rvcl0nCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uLnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIEhUTUxBbmNo
b3JFbGVtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgSFRNTEFuY2hvckVsZW1lbnRDb25zdHJ1
Y3Rvcl0nCiBQQVNTIEhUTUxBcHBsZXRFbGVtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgSFRN
TEFwcGxldEVsZW1lbnRDb25zdHJ1Y3Rvcl0nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWZvcm0tZGF0YS5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbG9jYWwvcmVzb3VyY2VzL3NlbmQtZm9ybS1kYXRhLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZjdjNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3Jlc291cmNlcy9zZW5kLWZvcm0tZGF0YS5qcwpAQCAtMCww
ICsxLDExNSBAQAorZGVzY3JpcHRpb24oIlRlc3QgZm9yIHNlbmRpbmcgRm9ybURhdGEgdmlhIFhN
TEh0dHBSZXF1ZXN0LiIpOworCit2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaW5wdXQiKTsKK2ZpbGVJbnB1dC50eXBlID0gJ2ZpbGUnOworZmlsZUlucHV0LnN0eWxlLndp
ZHRoID0gIjEwMCUiOyAvLyBTbyB0aGF0IGFueSBtYW51YWwgdGVzdGluZyB3aWxsIHNob3cgZnVs
bCBmaWxlIG5hbWVzCisvLyBJbXBvcnRhbnQgdGhhdCB3ZSBwdXQgdGhpcyBhdCB0aGUgdG9wIG9m
IHRoZSBkb2Mgc28gdGhhdCBsb2dnaW5nIGRvZXMgbm90IGNhdXNlIGl0IHRvIGdvIG91dCBvZiB2
aWV3ICh3aGVyZSBpdCBjYW4ndCBiZSBkcmFnZ2VkIHRvKQorZG9jdW1lbnQuYm9keS5pbnNlcnRC
ZWZvcmUoZmlsZUlucHV0LCBkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOworCitmdW5jdGlvbiBt
b3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChlbGVtZW50KQoreworICAgIHZhciBjZW50ZXJYID0g
ZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIGNl
bnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhjZW50ZXJYLCBjZW50ZXJZKTsKK30KKworZnVuY3Rp
b24gZ2V0RmlsZU5hbWUoZmlsZVBhdGgpCit7CisgICAgdmFyIGluZGV4ID0gZmlsZVBhdGgubGFz
dEluZGV4T2YoJy8nKTsKKyAgICBpZiAoaW5kZXggPT0gLTEpCisgICAgICAgIHJldHVybiBmaWxl
UGF0aDsKKyAgICByZXR1cm4gZmlsZVBhdGguc3Vic3RyKGluZGV4ICsgMSk7Cit9CisKK2Z1bmN0
aW9uIHNlbmRGb3JtRGF0YShmb3JtRGF0YUxpc3QpCit7CisgICAgdmFyIGZvcm1EYXRhID0gbmV3
IEZvcm1EYXRhKCk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JtRGF0YUxpc3QubGVuZ3Ro
OyBpKyspCisgICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRGF0YUxpc3RbaV1bJ25hbWUnXSwg
Zm9ybURhdGFMaXN0W2ldWyd2YWx1ZSddKTsKKworICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKKyAgICB4aHIub3BlbigiUE9TVCIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAveG1s
aHR0cHJlcXVlc3QvcmVzb3VyY2VzL211bHRpcGFydC1wb3N0LWVjaG8ucGhwIiwgZmFsc2UpOwor
ICAgIHhoci5zZW5kKGZvcm1EYXRhKTsKKworICAgIGRlYnVnKHhoci5yZXNwb25zZVRleHQpOwor
fQorCitmdW5jdGlvbiB0ZXN0U2VuZGluZ0Zvcm1EYXRhKGRhdGFMaXN0KQoreworICAgIHZhciBm
aWxlc1RvRHJhZyA9IFtdOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YUxpc3QubGVuZ3Ro
OyBpKyspIHsKKyAgICAgICAgaWYgKGRhdGFMaXN0W2ldWyd0eXBlJ10gPT0gJ2ZpbGUnKQorICAg
ICAgICAgICAgZmlsZXNUb0RyYWcucHVzaChkYXRhTGlzdFtpXVsndmFsdWUnXSk7CisgICAgfQor
CisgICAgaWYgKGZpbGVzVG9EcmFnKSB7CisgICAgICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dp
dGhGaWxlcyhmaWxlc1RvRHJhZyk7CisgICAgICAgIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50
KGZpbGVJbnB1dCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9CisKKyAg
ICB2YXIgZmlsZXMgPSBmaWxlSW5wdXQuZmlsZXM7CisgICAgdmFyIGZvcm1EYXRhTGlzdCA9IFtd
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YUxpc3QubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgaWYgKGRhdGFMaXN0W2ldWyd0eXBlJ10gPT0gJ2ZpbGUnKSB7CisgICAgICAgICAgICB2YXIg
ZmlsZU5hbWUgPSBnZXRGaWxlTmFtZShkYXRhTGlzdFtpXVsndmFsdWUnXSk7CisgICAgICAgICAg
ICBmb3IgKHZhciBqID0gMDsgaiA8IGZpbGVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICAg
ICAgaWYgKGZpbGVOYW1lID09IGZpbGVzW2pdLm5hbWUpIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9ybURhdGFMaXN0LnB1c2goeyduYW1lJzogZGF0YUxpc3RbaV1bJ25hbWUnXSwgJ3ZhbHVlJzog
ZmlsZXNbal19KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9ybURhdGFM
aXN0LnB1c2goeyduYW1lJzogZGF0YUxpc3RbaV1bJ25hbWUnXSwgJ3ZhbHVlJzogZGF0YUxpc3Rb
aV1bJ3ZhbHVlJ119KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHNlbmRGb3JtRGF0YShmb3Jt
RGF0YUxpc3QpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBkZWJ1ZygiU2VuZGlu
ZyBGb3JtRGF0YSBjb250YWluaW5nIG9uZSBzdHJpbmcgd2l0aCBlbXB0eSBuYW1lOiIpOworICAg
IHRlc3RTZW5kaW5nRm9ybURhdGEoWworICAgICAgICB7ICd0eXBlJzogJ3N0cmluZycsICduYW1l
JzogJycsICd2YWx1ZSc6ICdmb28nIH0KKyAgICBdKTsKKworICAgIGRlYnVnKCJTZW5kaW5nIEZv
cm1EYXRhIGNvbnRhaW5pbmcgb25lIGZpbGUgd2l0aCBlbXB0eSBuYW1lOiIpOworICAgIHRlc3RT
ZW5kaW5nRm9ybURhdGEoWworICAgICAgICB7ICd0eXBlJzogJ2ZpbGUnLCAnbmFtZSc6ICcnLCAn
dmFsdWUnOiAncmVzb3VyY2VzL2ZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQnIH0KKyAgICBdKTsK
KworICAgIGRlYnVnKCJTZW5kaW5nIEZvcm1EYXRhIGNvbnRhaW5pbmcgb25lIHN0cmluZzoiKTsK
KyAgICB0ZXN0U2VuZGluZ0Zvcm1EYXRhKFsKKyAgICAgICAgeyAndHlwZSc6ICdzdHJpbmcnLCAn
bmFtZSc6ICdzdHJpbmcnLCAndmFsdWUnOiAnZm9vJyB9CisgICAgXSk7CisKKyAgICBkZWJ1Zygi
U2VuZGluZyBGb3JtRGF0YSBjb250YWluaW5nIG9uZSBmaWxlOiIpOworICAgIHRlc3RTZW5kaW5n
Rm9ybURhdGEoWworICAgICAgICB7ICd0eXBlJzogJ2ZpbGUnLCAnbmFtZSc6ICdmaWxlJywgJ3Zh
bHVlJzogJ3Jlc291cmNlcy9maWxlLWZvci1kcmFnLXRvLXNlbmQudHh0JyB9CisgICAgXSk7CisK
KyAgICBkZWJ1ZygiU2VuZGluZyBGb3JtRGF0YSBjb250YWluaW5nIG9uZSBzdHJpbmcgYW5kIG9u
ZSBmaWxlOiIpOworICAgIHRlc3RTZW5kaW5nRm9ybURhdGEoWworICAgICAgICB7ICd0eXBlJzog
J3N0cmluZycsICduYW1lJzogJ3N0cmluZzEnLCAndmFsdWUnOiAnZm9vJyB9LAorICAgICAgICB7
ICd0eXBlJzogJ2ZpbGUnLCAnbmFtZSc6ICdmaWxlMScsICd2YWx1ZSc6ICdyZXNvdXJjZXMvZmls
ZS1mb3ItZHJhZy10by1zZW5kLnR4dCcgfQorICAgIF0pOworCisgICAgZGVidWcoIlNlbmRpbmcg
Rm9ybURhdGEgY29udGFpbmluZyB0d28gc3RyaW5ncyBhbmQgdHdvIGZpbGVzOiIpOworICAgIHRl
c3RTZW5kaW5nRm9ybURhdGEoWworICAgICAgICB7ICd0eXBlJzogJ3N0cmluZycsICduYW1lJzog
J3N0cmluZzEnLCAndmFsdWUnOiAnZm9vJyB9LAorICAgICAgICB7ICd0eXBlJzogJ2ZpbGUnLCAn
bmFtZSc6ICdmaWxlMScsICd2YWx1ZSc6ICdyZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1zZW5k
LnR4dCcgfSwKKyAgICAgICAgeyAndHlwZSc6ICdzdHJpbmcnLCAnbmFtZSc6ICdzdHJpbmcyJywg
J3ZhbHVlJzogJ2JhcicgfSwKKyAgICAgICAgeyAndHlwZSc6ICdmaWxlJywgJ25hbWUnOiAnZmls
ZTInLCAndmFsdWUnOiAncmVzb3VyY2VzL2ZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQnIH0KKyAg
ICBdKTsKK30KKworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHJ1blRlc3QoKTsKKyAg
ICAvLyBDbGVhbiB1cCBhZnRlciBvdXJzZWx2ZXMKKyAgICBmaWxlSW5wdXQucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChmaWxlSW5wdXQpOworfSBlbHNlIHsKKyAgICB0ZXN0RmFpbGVkKCJUaGlzIHRl
c3QgaXMgbm90IGludGVyYWN0aXZlLCBwbGVhc2UgcnVuIHVzaW5nIER1bXBSZW5kZXJUcmVlIik7
Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtZm9ybS1kYXRhLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yzc4OWY2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMSBAQAorVGVzdCBmb3Igc2VuZGluZyBGb3JtRGF0YSB2aWEgWE1MSHR0
cFJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitTZW5kaW5nIEZvcm1E
YXRhIGNvbnRhaW5pbmcgb25lIHN0cmluZyB3aXRoIGVtcHR5IG5hbWU6CisKK1NlbmRpbmcgRm9y
bURhdGEgY29udGFpbmluZyBvbmUgZmlsZSB3aXRoIGVtcHR5IG5hbWU6CisKK1NlbmRpbmcgRm9y
bURhdGEgY29udGFpbmluZyBvbmUgc3RyaW5nOgorc3RyaW5nPWZvbworU2VuZGluZyBGb3JtRGF0
YSBjb250YWluaW5nIG9uZSBmaWxlOgorZmlsZT1maWxlLWZvci1kcmFnLXRvLXNlbmQudHh0OjEy
MzQ1Njc4OTAKK1NlbmRpbmcgRm9ybURhdGEgY29udGFpbmluZyBvbmUgc3RyaW5nIGFuZCBvbmUg
ZmlsZToKK3N0cmluZzE9Zm9vJmZpbGUxPWZpbGUtZm9yLWRyYWctdG8tc2VuZC50eHQ6MTIzNDU2
Nzg5MAorU2VuZGluZyBGb3JtRGF0YSBjb250YWluaW5nIHR3byBzdHJpbmdzIGFuZCB0d28gZmls
ZXM6CitzdHJpbmcxPWZvbyZzdHJpbmcyPWJhciZmaWxlMT1maWxlLWZvci1kcmFnLXRvLXNlbmQu
dHh0OjEyMzQ1Njc4OTAmZmlsZTI9ZmlsZS1mb3ItZHJhZy10by1zZW5kLnR4dDoxMjM0NTY3ODkw
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YzcwYjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL3NlbmQtZm9ybS1kYXRhLmh0bWwKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2VuZC1mb3JtLWRhdGEuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9tdWx0aXBhcnQtcG9zdC1lY2hvLnBocCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL211bHRpcGFy
dC1wb3N0LWVjaG8ucGhwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY0M2I1
ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3Jlc291cmNlcy9tdWx0aXBhcnQtcG9zdC1lY2hvLnBocApAQCAtMCwwICsxLDI5IEBACis8
P3BocAoraWYgKHN0cnBvcygkX1NFUlZFUlsnQ09OVEVOVF9UWVBFJ10sICdtdWx0aXBhcnQvZm9y
bS1kYXRhOyBib3VuZGFyeT0nKSAhPSAwKSB7CisgICAgZWNobyAnSW52YWxpZCBDb250ZW50LVR5
cGVzLic7CisgICAgcmV0dXJuOworfQorCiskdmFsdWVzID0gYXJyYXkoKTsKKworZm9yZWFjaCAo
JF9QT1NUIGFzICRrZXkgPT4gJHZhbHVlKSB7CisgICAgJHZhbHVlc1tdID0gIiRrZXk9JHZhbHVl
IjsKK30KKworZm9yZWFjaCAoJF9GSUxFUyBhcyAka2V5ID0+ICR2YWx1ZSkgeworICAgICRmaWxl
ID0gJF9GSUxFU1ska2V5XTsKKyAgICBpZiAoJGZpbGVbJ2Vycm9yJ10pIHsKKyAgICAgICAgZWNo
byAnVXBsb2FkIGZpbGUgZXJyb3I6ICcgLiAkZmlsZVsnZXJyb3InXTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0gZWxzZSB7CisgICAgICAgICRmcCA9IGZvcGVuKCRmaWxlWyd0bXBfbmFtZSddLCAn
cicpOworICAgICAgICBpZiAoJGZwKSB7CisgICAgICAgICAgICAkY29udGVudCA9IGZyZWFkKCRm
cCwgJGZpbGVbJ3NpemUnXSk7CisgICAgICAgICAgICBmY2xvc2UoJGZwKTsKKyAgICAgICAgfQor
ICAgICAgICAkdmFsdWVzW10gPSAka2V5IC4gJz0nIC4gJGZpbGVbJ25hbWUnXSAuICc6JyAuICRj
b250ZW50OworICAgIH0KK30KKworZWNobyBqb2luKCcmJywgJHZhbHVlcyk7Cis/PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZAppbmRleCA5ZDMxNzRiLi5kNTljNjY4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZApAQCAtMzQyMyw2ICszNDIzLDcgQEAgaHR0cC90ZXN0cy9sb2FkaW5nL3Nsb3ct
cGFyc2luZy1zdWJmcmFtZS5odG1sCiBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250ZW50LXR5
cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLmh0bWwKIGh0dHAvdGVzdHMvbG9jYWwvc2VuZC1kcmFn
Z2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNsaWNlZC1kcmFnZ2VkLWZpbGUu
aHRtbAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS5odG1sCiBodHRwL3Rlc3RzL21l
ZGlhL3ZpZGVvLXBsYXktc3RhbGwtc2Vlay5odG1sCiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBs
YXktc3RhbGwuaHRtbAogaHR0cC90ZXN0cy9tZWRpYS92aWRlby1zZWVrYWJsZS1zdGFsbC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDIzNmE5
MTUuLmNhM2Y4YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CkBAIC04NzIsNiArODcyLDkgQEAgd2luZG93LkZpbGUucHJvdG90eXBlIFtvYmplY3QgRmls
ZVByb3RvdHlwZV0KIHdpbmRvdy5GaWxlTGlzdCBbb2JqZWN0IEZpbGVMaXN0Q29uc3RydWN0b3Jd
CiB3aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlIFtvYmplY3QgRmlsZUxpc3RQcm90b3R5cGVdCiB3
aW5kb3cuRmlsZUxpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQord2luZG93LkZvcm1EYXRh
IFtvYmplY3QgRE9NRm9ybURhdGFDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5Gb3JtRGF0YS5wcm90b3R5
cGUgW29iamVjdCBET01Gb3JtRGF0YVByb3RvdHlwZV0KK3dpbmRvdy5Gb3JtRGF0YS5wcm90b3R5
cGUuYXBwZW5kIFtmdW5jdGlvbl0KIHdpbmRvdy5IVE1MQW5jaG9yRWxlbWVudCBbb2JqZWN0IEhU
TUxBbmNob3JFbGVtZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuSFRNTEFuY2hvckVsZW1lbnQucHJv
dG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZV0KIHdpbmRv
dy5IVE1MQXBwbGV0RWxlbWVudCBbb2JqZWN0IEhUTUxBcHBsZXRFbGVtZW50Q29uc3RydWN0b3Jd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCBmNTAzYzJiLi45NTI4YmFlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQKQEAgLTU0LDYgKzU0LDcgQEAgcGx1Z2lucy9zZXQtc3RhdHVzLmh0bWwK
IGh0dHAvdGVzdHMvbG9jYWwvZHJhZy1vdmVyLXJlbW90ZS1jb250ZW50Lmh0bWwKIGh0dHAvdGVz
dHMvbG9jYWwvc2VuZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5kLXNs
aWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0YS5o
dG1sCiAKICMgRmFpbGluZyBuYXZpZ2F0aW9uIHRlc3RzCiBodHRwL3Rlc3RzL25hdmlnYXRpb24v
YW5jaG9yLWZyYW1lcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAppbmRleCBhZDIxODcwLi5iOGRmOTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQKQEAgLTkwMSw2ICs5MDEsOSBAQCB3aW5kb3cuRmlsZS5wcm90b3R5
cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkJsb2IucHJvdG90eXBlXQogd2luZG93LkZpbGVM
aXN0IFtvYmplY3QgRmlsZUxpc3RDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5GaWxlTGlzdC5wcm90b3R5
cGUgW29iamVjdCBGaWxlTGlzdFByb3RvdHlwZV0KIHdpbmRvdy5GaWxlTGlzdC5wcm90b3R5cGUu
aXRlbSBbZnVuY3Rpb25dCit3aW5kb3cuRm9ybURhdGEgW29iamVjdCBET01Gb3JtRGF0YUNvbnN0
cnVjdG9yXQord2luZG93LkZvcm1EYXRhLnByb3RvdHlwZSBbb2JqZWN0IERPTUZvcm1EYXRhUHJv
dG90eXBlXQord2luZG93LkZvcm1EYXRhLnByb3RvdHlwZS5hcHBlbmQgW2Z1bmN0aW9uXQogd2lu
ZG93LkhUTUxBbGxDb2xsZWN0aW9uIFtvYmplY3QgSFRNTEFsbENvbGxlY3Rpb25Db25zdHJ1Y3Rv
cl0KIHdpbmRvdy5IVE1MQWxsQ29sbGVjdGlvbi5wcm90b3R5cGUgW29iamVjdCBIVE1MQWxsQ29s
bGVjdGlvblByb3RvdHlwZV0KIHdpbmRvdy5IVE1MQWxsQ29sbGVjdGlvbi5wcm90b3R5cGUuaXRl
bSBbZnVuY3Rpb25dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3Jp
cHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGIxOWUyYjcuLmY2NWMxYzcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVz
Y3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBAIC00
OSw2ICs0OSw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAnRXZlbnRFeGNlcHRpb24nKSBpcyAnb2JqZWN0CiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0V2ZW50U291cmNlJykgaXMgJ29iamVj
dCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
RmlsZScpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0ZpbGVMaXN0JykgaXMgJ29iamVjdCcKK1BBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRm9ybURhdGEnKSBpcyAnb2JqZWN0
JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdG
dW5jdGlvbicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ0hUTUxBbGxDb2xsZWN0aW9uJykgaXMgJ29iamVjdCcKIFBBU1Mg
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnSFRNTEFuY2hv
ckVsZW1lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQKaW5kZXggMzg0YzBhMS4uYjEwNDdlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0CkBAIC04Nyw2ICs4Nyw4IEBAIFBBU1MgaW5uZXIuRmlsZS5pc0lubmVyIGlzIHRy
dWUKIFBBU1MgaW5uZXIuRmlsZS5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuRmlsZUxpc3QuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkZpbGVMaXN0LmNvbnN0cnVj
dG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5Gb3JtRGF0YS5pc0lubmVyIGlzIHRydWUK
K1BBU1MgaW5uZXIuRm9ybURhdGEuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlu
bmVyLkhUTUxBbGxDb2xsZWN0aW9uLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5IVE1MQWxs
Q29sbGVjdGlvbi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuSFRNTEFu
Y2hvckVsZW1lbnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCAzMzY0OTI4Li4xNTBkNTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKQEAgLTQzLDYgKzQzLDcgQEAgUEFTUyBFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEV2
ZW50Q29uc3RydWN0b3JdJwogUEFTUyBFdmVudEV4Y2VwdGlvbi50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBGaWxlLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgRmlsZUNvbnN0cnVjdG9yXScKIFBBU1MgRmlsZUxpc3QudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBGaWxlTGlzdENvbnN0cnVjdG9yXScKK1BBU1MgRm9ybURhdGEudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBGb3JtRGF0YUNvbnN0cnVjdG9yXScKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24u
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBIVE1MQWxsQ29sbGVjdGlvbkNvbnN0cnVjdG9yXScKIFBB
U1MgSFRNTEFuY2hvckVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBIVE1MQW5jaG9yRWxl
bWVudENvbnN0cnVjdG9yXScKIFBBU1MgSFRNTEFwcGxldEVsZW1lbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBIVE1MQXBwbGV0RWxlbWVudENvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Nr
aXBwZWQKaW5kZXggY2E2YzhlYy4uYmYyMDRmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQK
QEAgLTY2Myw2ICs2NjMsNyBAQCBmYXN0L2Zvcm1zL2lucHV0LXNlbGVjdGVkb3B0aW9uLmh0bWwK
ICMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI4Nz4KIGh0dHAv
dGVzdHMvbG9jYWwvc2VuZC1kcmFnZ2VkLWZpbGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9zZW5k
LXNsaWNlZC1kcmFnZ2VkLWZpbGUuaHRtbAoraHR0cC90ZXN0cy9sb2NhbC9zZW5kLWZvcm0tZGF0
YS5odG1sCiAKICMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTI4
OT4KIHBsdWdpbnMvZGVzdHJveS1kdXJpbmctbnBwLW5ldy5odG1sCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJp
dmVkLmpzY2JpbmRpbmdzLm1rCmluZGV4IDg2NmE2YWMuLmIzYzUzMWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9p
ZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCkBAIC0xNTMsNiArMTUzLDcgQEAgJChwYXRzdWJzdCAl
LmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9kb20vJS5jcHAgOiAkKGludGVybWVk
aWF0ZXMpL2RvbS8KICMgSFRNTAogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwv
SlNCbG9iLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RPTUZvcm1EYXRhLmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uLmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2h0bWwvSlNGaWxlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
aW5kZXggMTlhNTk3NS4uZjZhNWVmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCkBAIC01MTMsNiArNTEzLDcgQEAgJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykKIAogIyBYTUwK
IEdFTiA6PSBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERPTUZvcm1EYXRhLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01QYXJzZXIuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFhNTEh0dHBSZXF1ZXN0LmggXAogICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhYTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGRjZGVkNi4u
YzI0MTQ5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wMy0xMSAgSmlhbiBMaSAgPGppYW5saUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIERPTUZvcm1EYXRhLmlkbCB0byBleHBvc2UgRm9ybURhdGEgaW50ZXJmYWNlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYwMjQKKyAgICAg
ICAgCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiBYTUxIdHRwUmVxdWVz
dCAyIHNwZWM6CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1hNTEh0dHBS
ZXF1ZXN0LTIvI2Zvcm1kYXRhCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9sb2NhbC9zZW5k
LWZvcm0tZGF0YS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFD
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6OnNlbmQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAq
IGh0bWwvRE9NRm9ybURhdGEuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6CisKIDIwMTAtMDMtMTAgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMTdkOGFkOS4u
NGIxZmUyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTcxLDYgKzcxLDcgQEAKICNpbmNsdWRlICJKU0Rv
Y3VtZW50VHlwZS5jcHAiCiAjaW5jbHVkZSAiSlNET01BcHBsaWNhdGlvbkNhY2hlLmNwcCIKICNp
bmNsdWRlICJKU0RPTUNvcmVFeGNlcHRpb24uY3BwIgorI2luY2x1ZGUgIkpTRE9NRm9ybURhdGEu
Y3BwIgogI2luY2x1ZGUgIkpTRE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9N
UGFyc2VyLmNwcCIKICNpbmNsdWRlICJKU0RPTVNlbGVjdGlvbi5jcHAiCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggZDVmZDJjMS4uMGU2OTkwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTA4LDYgKzEwOCw3
IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERlZGljYXRlZFdvcmtlckNvbnRleHQgXAogICAgIERP
TUFwcGxpY2F0aW9uQ2FjaGUgXAogICAgIERPTUNvcmVFeGNlcHRpb24gXAorICAgIERPTUZvcm1E
YXRhIFwKICAgICBET01JbXBsZW1lbnRhdGlvbiBcCiAgICAgRE9NUGFyc2VyIFwKICAgICBET01T
ZWxlY3Rpb24gXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KaW5kZXggZGJiMGMyOC4uMmM1NjdiZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xODIsNiAr
MTgyLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5z
aWduZWRTaG9ydEFycmF5LmlkbCBcCiAJV2ViQ29yZS9odG1sL0RhdGFHcmlkQ29sdW1uLmlkbCBc
CiAJV2ViQ29yZS9odG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwgXAorCVdlYkNvcmUvaHRtbC9E
T01Gb3JtRGF0YS5pZGwgXAogCVdlYkNvcmUvaHRtbC9GaWxlLmlkbCBcCiAJV2ViQ29yZS9odG1s
L0ZpbGVMaXN0LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCBcCkBA
IC0zNzksNiArMzgwLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBcCisg
IFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NR2xvYmFsT2JqZWN0LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQppbmRleCA4OGZlZjVlLi45ZjAxZmRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTMwNCw2ICszMDQsNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIGh0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9ydEFycmF5Lmlk
bCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbi5pZGwgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1
bW5MaXN0LmlkbCBcCisgICAgaHRtbC9ET01Gb3JtRGF0YS5pZGwgXAogICAgIGh0bWwvRmlsZS5p
ZGwgXAogICAgIGh0bWwvRmlsZUxpc3QuaWRsIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBmNjI0NjMyLi5h
OGJiNmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI5MDUsNiAr
MjkwNSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTRE9NRm9ybURhdGEuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTRE9NRm9ybURhdGEuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcSlNET01JbXBsZW1lbnRhdGlvbi5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpAQCAtMzU4NzIsNiArMzU5MjgsNTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+
DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRE9NRm9y
bURhdGFDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQor
CQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+
DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkv
Pg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
YmluZGluZ3NcanNcSlNET01HbG9iYWxPYmplY3QuY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBhNjEyN2U0Li44YThkY2VmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNTk0LDYgKzU5NCwxMCBAQAogCQkyOUE4MTI0QjBGQkI5Q0E5MDA1MTAy
OTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hl
TWFjLm1tICovOyB9OwogCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2
MDQwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLzsgfTsKIAkJMkQ5MDY2MDcw
QkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQkyRTA4ODhDNDExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhDMzExNDg4M0E5MDBB
RjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovOyB9OworCQkyRTA4ODhENDExNDg4NDhBMDBBRjQy
NjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5j
cHAgKi87IH07CisJCTJFMDg4OEQ1MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMzEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovOyB9OworCQkyRTA4ODhFNjExNDg4
NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyog
SlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi87IH07CiAJCTJFMkQ5OUNEMTBFMkJCREEwMDQ5NjMz
NyAvKiBKU0Jsb2IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkUyRDk5Q0IxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5jcHAgKi87IH07CiAJCTJF
MkQ5OUNFMTBFMkJCREEwMDQ5NjMzNyAvKiBKU0Jsb2IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMkQ5OUNDMTBFMkJCREEwMDQ5NjMzNyAvKiBKU0Js
b2IuaCAqLzsgfTsKIAkJMkUyRDk5RTcxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMkQ5OUU1MTBFMkJD
MUMwMDQ5NjMzNyAvKiBET01CbG9iLmggKi87IH07CkBAIC01OTU4LDYgKzU5NjIsMTAgQEAKIAkJ
MkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEgLyogQ2xpcGJvYXJkTWFjLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZE1h
Yy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJMkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENsaXBi
b2FyZE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07CisJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NRm9ybURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUZvcm1EYXRhLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1
IC8qIEpTRE9NRm9ybURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRTA4ODhFNTExNDg4
NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkUyRDk5Q0IxMEUyQkJEQTAwNDk2MzM3IC8qIEpTQmxvYi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Jsb2IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRTJEOTlDQzEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9i
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQmxvYi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRTJEOTlFNTEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01CbG9iLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMjg4MCw2ICsxMjg4OCw3IEBACiAJCQkJQkM3REFBRUQwRkY5
NjE1RDAwQ0UwMTM4IC8qIERPTURhdGFHcmlkRGF0YVNvdXJjZS5oICovLAogCQkJCTJFRDYwOUJB
MTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi8sCiAJCQkJMkVENjA5QkIxMTQ1
QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggKi8sCisJCQkJMkUwODg4QzMxMTQ4ODNBOTAw
QUY0MjY1IC8qIERPTUZvcm1EYXRhLmlkbCAqLywKIAkJCQlCQ0RCQjhDQzBFMDg5NTg0MDBDNjBG
RjYgLyogRmlsZS5jcHAgKi8sCiAJCQkJQkNEQkI4Q0IwRTA4OTU4NDAwQzYwRkY2IC8qIEZpbGUu
aCAqLywKIAkJCQlCQzE4ODFEOTBFMDhDNEVEMDAwNDhDMTMgLyogRmlsZS5pZGwgKi8sCkBAIC0x
MzE5Nyw2ICsxMzIwNiw4IEBACiAJCQkJQkM3N0QxNjYwRkYxOUY1NTAwNzA4ODdCIC8qIEpTRGF0
YUdyaWRDb2x1bW4uaCAqLywKIAkJCQlCQzc3RDE2NzBGRjE5RjU1MDA3MDg4N0IgLyogSlNEYXRh
R3JpZENvbHVtbkxpc3QuY3BwICovLAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBK
U0RhdGFHcmlkQ29sdW1uTGlzdC5oICovLAorCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmNwcCAqLywKKwkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyog
SlNET01Gb3JtRGF0YS5oICovLAogCQkJCUJDMDBGMDEwMEUwQTE4OTUwMEZEMDRFMyAvKiBKU0Zp
bGUuY3BwICovLAogCQkJCUJDMDBGMDExMEUwQTE4OTUwMEZEMDRFMyAvKiBKU0ZpbGUuaCAqLywK
IAkJCQlCQzAwRjAxMjBFMEExODk1MDBGRDA0RTMgLyogSlNGaWxlTGlzdC5jcHAgKi8sCkBAIC0x
NDg1Miw2ICsxNDg2Myw3IEBACiAJCQkJNDlDN0JBOEMxMDQyRjVCMTAwMDlENDQ3IC8qIEpTRG9j
dW1lbnRDdXN0b20uY3BwICovLAogCQkJCUJDQ0U1OEFFMTA2MUU5MEMwMDhGQjM1QSAvKiBKU0Rv
Y3VtZW50RnJhZ21lbnRDdXN0b20uY3BwICovLAogCQkJCTFBQzIyNjE2MERCNjlGNzQwMDg5QjY2
OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwICovLAorCQkJCTJFMDg4OEU1MTE0
ODg0RTIwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0Q5QzI1
RTBDMTdBQTY3MDA1QzkwQTIgLyogSlNET01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTY1MkZC
QkJCMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oICovLAogCQkJCUJDMkVE
NTU0MEM2QjlCRDMwMDkyMEJGRiAvKiBKU0VsZW1lbnRDdXN0b20uY3BwICovLApAQCAtMTg2NzUs
NiArMTg2ODcsNyBAQAogCQkJCUJDNTNEQTYwMTE0MzE0MUEwMDBEODE3RSAvKiBET01PYmplY3RI
YXNoVGFibGVNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTNEQUMyMTE0MzJFRUUwMDBEODE3
RSAvKiBKU0RlYnVnV3JhcHBlclNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVENjA5QkQxMTQ1
QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRTA4ODhE
NTExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0x
ODc3Nyw2ICsxODc5MCw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNEIC8qIHdlc3RS
ZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBDMDUxRkRFMDAx
MzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUFCMUFFN0Iw
QzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKKwkJ
CQkyRTA4ODhDNDExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsIGluIFJlc291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKQEAgLTIwODc1LDYgKzIwODg5LDggQEAKIAkJCQlCQzUzREFDNTExNDMyRkQ5MDAwRDgx
N0UgLyogSlNEZWJ1Z1dyYXBwZXJTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1M0RBQzcx
MTQzMzA2NDAwMEQ4MTdFIC8qIEpTRE9NV3JhcHBlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
RUQ2MDlCQzExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMkUwODg4RTYxMTQ4ODRFMjAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGFD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUZvcm1E
YXRhQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTQ5ZWQy
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3Vz
dG9tLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpT
RE9NRm9ybURhdGEuaCIKKworI2luY2x1ZGUgIkRPTUZvcm1EYXRhLmgiCisjaW5jbHVkZSAiSlNC
bG9iLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlND
OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNET01Gb3JtRGF0YTo6YXBwZW5k
KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKK3sKKyAgICBpZiAoYXJncy5z
aXplKCkgPCAyKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBTeW50YXhFcnJvciwg
Ik5vdCBlbm91Z2ggYXJndW1lbnRzIik7CisKKyAgICBTdHJpbmcgbmFtZSA9IGFyZ3MuYXQoMCku
dG9TdHJpbmcoZXhlYyk7CisgICAgSlNWYWx1ZSB2YWx1ZSA9IGFyZ3MuYXQoMSk7CisgICAgaWYg
KHZhbHVlLmluaGVyaXRzKCZKU0Jsb2I6OnNfaW5mbykpCisgICAgICAgIGltcGwoKS0+YXBwZW5k
KG5hbWUsIHRvQmxvYih2YWx1ZSkpOworICAgIGVsc2UKKyAgICAgICAgaW1wbCgpLT5hcHBlbmQo
bmFtZSwgdmFsdWUudG9TdHJpbmcoZXhlYykpOworCisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCmluZGV4IDY4NGRlOTEuLmVkZTVhMjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3QuaCIKIAogI2luY2x1ZGUgIkJsb2Iu
aCIKKyNpbmNsdWRlICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTM3LDYgKzM4LDcgQEAK
ICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkpTQmxvYi5oIgorI2luY2x1ZGUgIkpTRE9NRm9ybURhdGEuaCIKICNpbmNsdWRlICJK
U0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRG9jdW1lbnQuaCIKICNpbmNsdWRlICJK
U0V2ZW50LmgiCkBAIC0xMTMsNiArMTE1LDggQEAgSlNWYWx1ZSBKU1hNTEh0dHBSZXF1ZXN0Ojpz
ZW5kKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKICAgICAgICAgICAgIGlt
cGwoKS0+c2VuZCh0b0RvY3VtZW50KHZhbCksIGVjKTsKICAgICAgICAgZWxzZSBpZiAodmFsLmlu
aGVyaXRzKCZKU0Jsb2I6OnNfaW5mbykpCiAgICAgICAgICAgICBpbXBsKCktPnNlbmQodG9CbG9i
KHZhbCksIGVjKTsKKyAgICAgICAgZWxzZSBpZiAodmFsLmluaGVyaXRzKCZKU0RPTUZvcm1EYXRh
OjpzX2luZm8pKQorICAgICAgICAgICAgaW1wbCgpLT5zZW5kKHRvRE9NRm9ybURhdGEodmFsKSwg
ZWMpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBpbXBsKCktPnNlbmQodmFsLnRvU3RyaW5n
KGV4ZWMpLCBlYyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KaW5kZXggM2ZhMGY2Zi4uOWUyNTVmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNDQsNiArMTQ0LDcgQEAgc3ViIEdldFZpc2li
bGVDbGFzc05hbWUKICAgICBteSAkY2xhc3NOYW1lID0gc2hpZnQ7CiAKICAgICByZXR1cm4gIkRP
TUV4Y2VwdGlvbiIgaWYgJGNsYXNzTmFtZSBlcSAiRE9NQ29yZUV4Y2VwdGlvbiI7CisgICAgcmV0
dXJuICJGb3JtRGF0YSIgaWYgJGNsYXNzTmFtZSBlcSAiRE9NRm9ybURhdGEiOwogICAgIHJldHVy
biAkY2xhc3NOYW1lOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEu
aWRsIGIvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi45NGIxYmY5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RP
TUZvcm1EYXRhLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHhtbCB7CisKKyAgICBpbnRlcmZh
Y2UgWworICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBHZW5lcmF0ZU5hdGl2ZUNv
bnZlcnRlciwKKyAgICAgICAgR2VuZXJhdGVUb0pTCisgICAgXSBET01Gb3JtRGF0YSB7CisgICAg
ICAgIC8vIHZvaWQgYXBwZW5kKERPTVN0cmluZyBuYW1lLCBCbG9iIHZhbHVlKTsKKyAgICAgICAg
W0N1c3RvbV0gdm9pZCBhcHBlbmQoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2YWx1
ZSk7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBkMjRkOGY1Li44ODExYjcxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbApAQCAtNzEyLDYgKzcxMiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBh
dHRyaWJ1dGUgVG91Y2hFdmVudENvbnN0cnVjdG9yIFRvdWNoRXZlbnQ7CiAjZW5kaWYKIAorICAg
ICAgICBhdHRyaWJ1dGUgRE9NRm9ybURhdGFDb25zdHJ1Y3RvciBGb3JtRGF0YTsKKwogI2VuZGlm
IC8vIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKIAogI2lmIGRlZmluZWQoVjhfQklORElO
RykgJiYgVjhfQklORElORwo=
</data>
<flag name="review"
          id="33680"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="33681"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>