<?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>43391</bug_id>
          
          <creation_ts>2010-08-02 16:27:57 -0700</creation_ts>
          <short_desc>Factor out PendingScript and protect its members</short_desc>
          <delta_ts>2010-08-06 10:36:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>40934</dependson>
          <blocked>20710</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259181</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-02 16:27:57 -0700</bug_when>
    <thetext>Factor out PendingScript and protect its members</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259185</commentid>
    <comment_count>1</comment_count>
      <attachid>63275</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-02 16:32:58 -0700</bug_when>
    <thetext>Created attachment 63275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259233</commentid>
    <comment_count>2</comment_count>
      <attachid>63275</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-02 18:03:16 -0700</bug_when>
    <thetext>Comment on attachment 63275
Patch

WebCore/dom/PendingScript.h:44
 +  class PendingScript : public CachedResourceClient, Noncopyable {
Noncopyable should probably be the first base class, not that it really matters.

WebCore/dom/PendingScript.h:69
 +      virtual void notifyFinished(CachedResource*)
Please move to implementation file.  It can&apos;t be inlined anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260284</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-04 17:10:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 63275 [details])
&gt; WebCore/dom/PendingScript.h:44
&gt;  +  class PendingScript : public CachedResourceClient, Noncopyable {
&gt; Noncopyable should probably be the first base class, not that it really matters.

Moot because r64674 made PendingScript copyable.

&gt; 
&gt; WebCore/dom/PendingScript.h:69
&gt;  +      virtual void notifyFinished(CachedResource*)
&gt; Please move to implementation file.  It can&apos;t be inlined anyway.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260286</commentid>
    <comment_count>4</comment_count>
      <attachid>63514</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-04 17:13:52 -0700</bug_when>
    <thetext>Created attachment 63514
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261327</commentid>
    <comment_count>5</comment_count>
      <attachid>63737</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-08-06 10:16:17 -0700</bug_when>
    <thetext>Created attachment 63737
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261340</commentid>
    <comment_count>6</comment_count>
      <attachid>63737</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-06 10:36:35 -0700</bug_when>
    <thetext>Comment on attachment 63737
Patch for landing

Clearing flags on attachment: 63737

Committed r64857: &lt;http://trac.webkit.org/changeset/64857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261341</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-06 10:36:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63275</attachid>
            <date>2010-08-02 16:32:58 -0700</date>
            <delta_ts>2010-08-04 17:13:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43391-20100802163257.patch</filename>
            <type>text/plain</type>
            <size>20010</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBkNzVmZDU5MjhmNjcxM2JmZTFlZTE2OGE0MWE4NmMwN2I2Nzc0MDY0Li45MjM1ZmMxZTE2OGUw
NmNkM2YwMWQ4ZTU5NTJjY2NkZThmZjFhNjQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xNTUsNiArMTU1LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwIFwKIAlkb20vT3ZlcmZsb3dFdmVudC5jcHAgXAogCWRvbS9QYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCBcCisJZG9tL1BlbmRpbmdTY3JpcHQuY3BwIFwKIAlkb20vUG9zaXRpb24uY3BwIFwK
IAlkb20vUG9zaXRpb25JdGVyYXRvci5jcHAgXAogCWRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
Y3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGUwYTY0YWZmOGJlMDQyODExMDJjM2IxNmYzNGQ2MzcxM2M4MGI0Nzku
LjdhZGY5NTY2YjdmMDQ2NjU3ZDU2NzE0NjM2YzRkYzZjMjg4MGM3ODggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODI4
LDYgKzgyOCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vT3B0aW9uR3JvdXBFbGVt
ZW50LmNwcAogICAgIGRvbS9PdmVyZmxvd0V2ZW50LmNwcAogICAgIGRvbS9QYWdlVHJhbnNpdGlv
bkV2ZW50LmNwcAorICAgIGRvbS9QZW5kaW5nU2NyaXB0LmNwcAogICAgIGRvbS9Qb3BTdGF0ZUV2
ZW50LmNwcAogICAgIGRvbS9Qb3NpdGlvbi5jcHAKICAgICBkb20vUG9zaXRpb25JdGVyYXRvci5j
cHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNGI2ZDlmMWViY2M5ZTIzNjRjMTM4YmI5NzRhYjYwOWM0MzQxYjAyNi4uNDFkOTcyNWM3YzM4
ZGQ3NDk4MGVhMzVjMDE4OTM4ZDIxYzI4ZGU0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMC0wOC0wMiAg
VG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhY3RvciBvdXQgUGVuZGluZ1NjcmlwdCBh
bmQgcHJvdGVjdCBpdHMgbWVtYmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDMzOTEKKworICAgICAgICBUaGlzIHdpbGwgYmUgc2hhcmVkIGJ5IEFz
eW5jU2NyaXB0UnVubmVyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIG5ldyBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGRvbS9QZW5kaW5nU2NyaXB0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpQZW5kaW5nU2NyaXB0Ojp+UGVuZGluZ1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZW5kaW5nU2NyaXB0OjplbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdTY3JpcHQ6
OnJlbGVhc2VFbGVtZW50QW5kQ2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1Njcmlw
dDo6c2V0Q2FjaGVkU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdTY3JpcHQ6OmNh
Y2hlZFNjcmlwdCk6CisgICAgICAgICogZG9tL1BlbmRpbmdTY3JpcHQuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpQZW5kaW5nU2NyaXB0OjpQZW5kaW5nU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBlbmRpbmdTY3JpcHQ6OnN0YXJ0aW5nTGluZU51bWJlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZW5kaW5nU2NyaXB0Ojp3YXRjaGluZ0ZvckxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVuZGluZ1NjcmlwdDo6c2V0V2F0Y2hpbmdGb3JMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
bmRpbmdTY3JpcHQ6Omhhc0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1Njcmlw
dDo6YWRvcHRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdTY3JpcHQ6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRSdW5uZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFNjcmlwdFJ1bm5lcjo6c291cmNlRnJvbVBlbmRpbmdTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdFJ1bm5lcjo6aGF2ZVBhcnNpbmdCbG9ja2luZ1Nj
cmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpyZXF1ZXN0U2NyaXB0
KToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRSdW5uZXIuaDoKKwogMjAxMC0wOC0wMiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50
IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IDRmN2NhNmNmMjdmNzcxMTY2MmZkMWIzNzViOTI2MzdlYWZlMGM0
NWMuLjZjNzYwNjc4YzczZmE3MGIxNjg0MDE4NTVkZmEyYjM1ZWIzNzMxODQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
MTExMSw2ICsxMTExLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9PdmVy
Zmxvd0V2ZW50LmggXAogCVdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKIAlX
ZWJDb3JlL2RvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmggXAorCVdlYkNvcmUvZG9tL1BlbmRpbmdT
Y3JpcHQuY3BwIFwKKwlXZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmggXAogCVdlYkNvcmUvZG9t
L1Bvc2l0aW9uLmNwcCBcCiAJV2ViQ29yZS9kb20vUG9zaXRpb24uaCBcCiAJV2ViQ29yZS9kb20v
UG9wU3RhdGVFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA4NGJiZGE2NzIwNTEwMTZkMDBkMGMyY2Y0ZmM2NWIz
YmM0YjZjMmZmLi5mMzdjZTIxNTlmMjJlNDBkMjBjYmI1OTlmNjZkMzdiOTRiODMwYzQ4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTIyMCw2ICsxMjIwLDggQEAKICAgICAgICAgICAgICdkb20vUG9wU3RhdGVFdmVudC5oJywK
ICAgICAgICAgICAgICdkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAg
J2RvbS9QYWdlVHJhbnNpdGlvbkV2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9QZW5kaW5nU2Ny
aXB0LmNwcCcsCisgICAgICAgICAgICAnZG9tL1BlbmRpbmdTY3JpcHQuaCcsCiAgICAgICAgICAg
ICAnZG9tL1Bvc2l0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Bvc2l0aW9uLmgnLAogICAg
ICAgICAgICAgJ2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA5N2YzNjc5ZDMzOThlYTAw
ZTIwZWQzNWYwMzA0ZWMzY2Y1Y2U2NjEyLi42MDViMjA0Y2M0OTE1NWEwNzBjNjY2MjY4MWE5M2E4
OTg4MGYzNDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KQEAgLTUyMiw2ICs1MjIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vU3Rh
dGljSGFzaFNldE5vZGVMaXN0LmNwcCBcCiAgICAgZG9tL092ZXJmbG93RXZlbnQuY3BwIFwKICAg
ICBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAgXAorICAgIGRvbS9QZW5kaW5nU2NyaXB0LmNw
cCBcCiAgICAgZG9tL1BvcFN0YXRlRXZlbnQuY3BwIFwKICAgICBkb20vUG9zaXRpb24uY3BwIFwK
ICAgICBkb20vUG9zaXRpb25JdGVyYXRvci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggNWFjZWRhMTQ3NWUzNjQ4MmZkZjgyYjljN2U1YmJkZTFjNzY0NDU1OS4u
OThiMmI5MGJjMzdkZjFlYzY5ZmMxMDFhODdlYmNjMTM4YWE1OTI4YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMzA5Nyw2ICszMzA5NywxNCBAQAogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cUGVuZGluZ1Nj
cmlwdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cUGVuZGluZ1NjcmlwdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFBhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIg0K
IAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZTRjNWUxNzdmN2QxMDJmMGM4NTViMTdlNTQ4MTk3OTI5YjFmZWNmZS4uMDBl
YjcyMDZhNWY0NTJjZDg0M2E1MzNjYWRkZjljMDhmM2NhMzg0YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNDcsNiArMjM0Nyw4IEBACiAJCTg5Q0Qw
MjkzMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAv
KiBKU0Jsb2JCdWlsZGVyLmNwcCAqLzsgfTsKIAkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8q
IEpTQmxvYkJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi87IH07
CiAJCThBMTJFMzVEMTFGQTMzMjgwMDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBMTJFMzVDMTFGQTMz
MjgwMDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4QTdDQzk2QjEyMDc2RDczMDAxRDQ1ODggLyog
UGVuZGluZ1NjcmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEE3Q0M5NkExMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4QTdDQzk3MDEyMDc2
RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTdDQzk2RjEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGlu
Z1NjcmlwdC5jcHAgKi87IH07CiAJCThBODFCRjg1MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJj
ZUxvYWRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhBODFCRjg0MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4QTg0NEQwNDEx
RDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZv
cm1hbmNlLmNwcCAqLzsgfTsKIAkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1h
bmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTg0
NEQwMjExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLzsgfTsKQEAgLTgxMjgsNiAr
ODEzMCw4IEBACiAJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEg
LyogSlNCbG9iQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Js
b2JCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBMTJFMzVDMTFGQTMz
MjgwMDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRG9jdW1lbnRMb2FkVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCThBN0NDOTZBMTIwNzZENzMwMDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlbmRpbmdTY3JpcHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOEE3Q0M5NkYxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3Jp
cHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVuZGluZ1Njcmlw
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODFCRjg0MTFEQ0ZEOTAwMERB
MkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVzb3VyY2VMb2FkVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CThBODQ0RDAxMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCThBODQ0RDAyMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcxOTEsNiArMTcxOTUsOCBAQAogCQkJCUUxMjg0QUU5
MTA0NDdERUUwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCAqLywKIAkJCQlFMTI4
NEFFMDEwNDQ3RDQ1MDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVudC5oICovLAogCQkJCUUx
Mjg0QUQ5MTA0NDdBRUIwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmlkbCAqLywKKwkJ
CQk4QTdDQzk2RjEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgKi8sCisJCQkJ
OEE3Q0M5NkExMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCAqLywKIAkJCQk0MUJG
NzAwRDBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwICov
LAogCQkJCTQxQkY3MDBFMEZFODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbC5oICovLAogCQkJCTUxODlGMEREMTBCNDZCMEUwMEYzQzczOSAvKiBQb3BTdGF0ZUV2ZW50
LmNwcCAqLywKQEAgLTE5OTg4LDYgKzE5OTk0LDcgQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAy
RUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0RENEQ4NzBG
REY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJF
MDExMTM2RThDRTAwNjJBNTMzIC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQk4QTdD
Qzk2QjEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yMjM5NCw2ICsyMjQwMSw3IEBACiAJCQkJOTNGMTlCMDUwODI0NUU1OTAwMUU5QUJDIC8qIFhT
TFRQcm9jZXNzb3JMaWJ4c2x0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQkU1MTJEMENGNkM1
MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdE
RDREODYwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJOEE3Q0M5NzAxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBiL1dlYkNv
cmUvZG9tL1BlbmRpbmdTY3JpcHQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1NGJmODk0MGJmYzc0NWZiZGQ5
NTM4Njk3NjFiMDY4ZTQ1YjY4ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9QZW5k
aW5nU2NyaXB0LmNwcApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBl
bmRpbmdTY3JpcHQuaCIKKworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkVs
ZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQZW5kaW5nU2NyaXB0Ojp+UGVuZGlu
Z1NjcmlwdCgpCit7CisgICAgaWYgKG1fY2FjaGVkU2NyaXB0KQorICAgICAgICBtX2NhY2hlZFNj
cmlwdC0+cmVtb3ZlQ2xpZW50KHRoaXMpOworfQorCitjb25zdCBFbGVtZW50JiBQZW5kaW5nU2Ny
aXB0OjplbGVtZW50KCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV9lbGVtZW50KTsKKyAgICByZXR1
cm4gKm1fZWxlbWVudDsKK30KKworUGFzc1JlZlB0cjxFbGVtZW50PiBQZW5kaW5nU2NyaXB0Ojpy
ZWxlYXNlRWxlbWVudEFuZENsZWFyKCkKK3sKKyAgICBzZXRDYWNoZWRTY3JpcHQoMCk7CisgICAg
bV9zdGFydGluZ0xpbmVOdW1iZXIgPSAwOworICAgIG1fd2F0Y2hpbmdGb3JMb2FkID0gZmFsc2U7
CisgICAgcmV0dXJuIG1fZWxlbWVudC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgUGVuZGluZ1Njcmlw
dDo6c2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KQoreworICAgIGlm
IChtX2NhY2hlZFNjcmlwdCA9PSBjYWNoZWRTY3JpcHQpCisgICAgICAgIHJldHVybjsKKyAgICBp
ZiAobV9jYWNoZWRTY3JpcHQpCisgICAgICAgIG1fY2FjaGVkU2NyaXB0LT5yZW1vdmVDbGllbnQo
dGhpcyk7CisgICAgbV9jYWNoZWRTY3JpcHQgPSBjYWNoZWRTY3JpcHQ7CisgICAgaWYgKG1fY2Fj
aGVkU2NyaXB0KQorICAgICAgICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50KHRoaXMpOworfQor
CitDYWNoZWRTY3JpcHQqIFBlbmRpbmdTY3JpcHQ6OmNhY2hlZFNjcmlwdCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOworfQorCit9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9QZW5kaW5nU2NyaXB0LmggYi9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmE5ZTE1ZTJjMGI3MjE1MzliNjYzNDg3YzliYmMwYTI2NzQzYjU2YQotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1BlbmRpbmdTY3JpcHQuaApAQCAtMCwwICsxLDgyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBQZW5kaW5nU2NyaXB0X2gKKyNkZWZpbmUgUGVuZGluZ1NjcmlwdF9oCisKKyNpbmNsdWRlICJD
YWNoZWRSZXNvdXJjZUNsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgi
CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRTY3JpcHQ7CitjbGFzcyBF
bGVtZW50OworCisvLyBBIGNvbnRhaW5lciBmb3IgYW4gZXh0ZXJuYWwgc2NyaXB0IHdoaWNoIG1h
eSBiZSBsb2FkZWQgYW5kIGV4ZWN1dGVkLgorLy8KKy8vIEEgQ2FjaGVkUmVzb3VyY2VIYW5kbGUg
YWxvbmUgZG9lcyBub3QgcHJldmVudCB0aGUgdW5kZXJseWluZyBDYWNoZWRSZXNvdXJjZQorLy8g
ZnJvbSBwdXJnaW5nIGl0cyBkYXRhIGJ1ZmZlci4gVGhpcyBjbGFzcyBob2xkcyBhIGR1bW15IGNs
aWVudCBvcGVuIGZvciBpdHMKKy8vIGxpZmV0aW1lIGluIG9yZGVyIHRvIGd1YXJhbnRlZSB0aGF0
IHRoZSBkYXRhIGJ1ZmZlciB3aWxsIG5vdCBiZSBwdXJnZWQuCitjbGFzcyBQZW5kaW5nU2NyaXB0
IDogcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBOb25jb3B5YWJsZSB7CitwdWJsaWM6Cisg
ICAgUGVuZGluZ1NjcmlwdCgpCisgICAgICAgIDogbV9zdGFydGluZ0xpbmVOdW1iZXIoMCkKKyAg
ICAgICAgLCBtX3dhdGNoaW5nRm9yTG9hZChmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgflBl
bmRpbmdTY3JpcHQoKTsKKworICAgIC8vIEZJWE1FOiBObyBzZXR0ZXIgbWVhbnMgdGhpcyBpcyBu
ZXZlciBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAwLgorICAgIC8vIFRoaXMgaXMgZWl0aGVy
IHVubmVjZXNzYXJ5IG9yIGluY29ycmVjdC4KKyAgICBpbnQgc3RhcnRpbmdMaW5lTnVtYmVyKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGFydGluZ0xpbmVOdW1iZXI7IH0KKworICAgIGJvb2wgd2F0Y2hp
bmdGb3JMb2FkKCkgY29uc3QgeyByZXR1cm4gbV93YXRjaGluZ0ZvckxvYWQ7IH0KKyAgICB2b2lk
IHNldFdhdGNoaW5nRm9yTG9hZChib29sIGIpIHsgbV93YXRjaGluZ0ZvckxvYWQgPSBiOyB9CisK
KyAgICBjb25zdCBFbGVtZW50JiBlbGVtZW50KCkgY29uc3Q7CisgICAgYm9vbCBoYXNFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gISFtX2VsZW1lbnQ7IH0KKyAgICB2b2lkIGFkb3B0RWxlbWVudChF
bGVtZW50KiBlbGVtZW50KSB7IG1fZWxlbWVudCA9IGVsZW1lbnQ7IH0KKyAgICBQYXNzUmVmUHRy
PEVsZW1lbnQ+IHJlbGVhc2VFbGVtZW50QW5kQ2xlYXIoKTsKKworICAgIENhY2hlZFNjcmlwdCog
Y2FjaGVkU2NyaXB0KCkgY29uc3Q7CisgICAgdm9pZCBzZXRDYWNoZWRTY3JpcHQoQ2FjaGVkU2Ny
aXB0Kik7CisKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Uq
KQorICAgIHsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgaW50IG1fc3RhcnRpbmdMaW5lTnVtYmVy
OyAvLyBPbmx5IHVzZWQgZm9yIGlubGluZSBzY3JpcHQgdGFncy4KKyAgICBib29sIG1fd2F0Y2hp
bmdGb3JMb2FkOworICAgIFJlZlB0cjxFbGVtZW50PiBtX2VsZW1lbnQ7CisgICAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsKK307CisKK30KKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHAgYi9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHAKaW5kZXggZjRiNzAxMzNlMmE4ZDk3M2Y2M2E2
YjhiMjgwN2I4ZGQ5MGEzOGJjMi4uNGY1OGJjNWRmN2MzODZmYjk5ZjJiMDNlYzEyMzEzMWNjZDMx
NWM2YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRSdW5uZXIuY3BwCisrKyBi
L1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFNj
cmlwdFNvdXJjZUNvZGUgSFRNTFNjcmlwdFJ1bm5lcjo6c291cmNlRnJvbVBlbmRpbmdTY3JpcHQo
Y29uc3QgUGVuZGluZ1NjcmlwdCYKICAgICAgICAgcmV0dXJuIFNjcmlwdFNvdXJjZUNvZGUoc2Ny
aXB0LmNhY2hlZFNjcmlwdCgpKTsKICAgICB9CiAgICAgZXJyb3JPY2N1cnJlZCA9IGZhbHNlOwot
ICAgIHJldHVybiBTY3JpcHRTb3VyY2VDb2RlKHNjcmlwdC5lbGVtZW50LT50ZXh0Q29udGVudCgp
LCBkb2N1bWVudFVSTEZvclNjcmlwdEV4ZWN1dGlvbihtX2RvY3VtZW50KSwgc2NyaXB0LnN0YXJ0
aW5nTGluZU51bWJlcik7CisgICAgcmV0dXJuIFNjcmlwdFNvdXJjZUNvZGUoc2NyaXB0LmVsZW1l
bnQoKS50ZXh0Q29udGVudCgpLCBkb2N1bWVudFVSTEZvclNjcmlwdEV4ZWN1dGlvbihtX2RvY3Vt
ZW50KSwgc2NyaXB0LnN0YXJ0aW5nTGluZU51bWJlcigpKTsKIH0KIAogYm9vbCBIVE1MU2NyaXB0
UnVubmVyOjppc1BlbmRpbmdTY3JpcHRSZWFkeShjb25zdCBQZW5kaW5nU2NyaXB0JiBzY3JpcHQp
CkBAIC0xOTUsNyArMTk1LDcgQEAgYm9vbCBIVE1MU2NyaXB0UnVubmVyOjpleGVjdXRlKFBhc3NS
ZWZQdHI8RWxlbWVudD4gc2NyaXB0RWxlbWVudCwgaW50IHN0YXJ0TGluZSkKIAogYm9vbCBIVE1M
U2NyaXB0UnVubmVyOjpoYXZlUGFyc2luZ0Jsb2NraW5nU2NyaXB0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gISFtX3BhcnNpbmdCbG9ja2luZ1NjcmlwdC5lbGVtZW50OworICAgIHJldHVybiBtX3Bh
cnNpbmdCbG9ja2luZ1NjcmlwdC5oYXNFbGVtZW50KCk7CiB9CiAKIGJvb2wgSFRNTFNjcmlwdFJ1
bm5lcjo6ZXhlY3V0ZVBhcnNpbmdCbG9ja2luZ1NjcmlwdHMoKQpAQCAtMjMwLDcgKzIzMCw3IEBA
IGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9yU3R5bGVzaGVl
dHMoKQogCiB2b2lkIEhUTUxTY3JpcHRSdW5uZXI6OnJlcXVlc3RTY3JpcHQoRWxlbWVudCogc2Ny
aXB0KQogewotICAgIEFTU0VSVCghbV9wYXJzaW5nQmxvY2tpbmdTY3JpcHQuZWxlbWVudCk7Cisg
ICAgQVNTRVJUKCFoYXZlUGFyc2luZ0Jsb2NraW5nU2NyaXB0KCkpOwogICAgIEF0b21pY1N0cmlu
ZyBzcmNWYWx1ZSA9IHNjcmlwdC0+Z2V0QXR0cmlidXRlKHNyY0F0dHIpOwogICAgIC8vIEFsbG93
IHRoZSBob3N0IHRvIGRpc2xsb3cgc2NyaXB0IGxvYWRzICh1c2luZyB0aGUgWFNTQXVkaXRvciwg
ZXRjLikKICAgICBpZiAoIW1faG9zdC0+c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhz
cmNWYWx1ZSkpCkBAIC0yMzgsNyArMjM4LDcgQEAgdm9pZCBIVE1MU2NyaXB0UnVubmVyOjpyZXF1
ZXN0U2NyaXB0KEVsZW1lbnQqIHNjcmlwdCkKICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byByZXNv
bHZlIHRoZSB1cmwgcmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQuCiAgICAgaWYgKCFzY3JpcHQtPmRp
c3BhdGNoQmVmb3JlTG9hZEV2ZW50KHNyY1ZhbHVlKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1f
cGFyc2luZ0Jsb2NraW5nU2NyaXB0LmVsZW1lbnQgPSBzY3JpcHQ7CisgICAgbV9wYXJzaW5nQmxv
Y2tpbmdTY3JpcHQuYWRvcHRFbGVtZW50KHNjcmlwdCk7CiAgICAgLy8gVGhpcyBzaG91bGQgY29y
cmVjdGx5IHJldHVybiAwIGZvciBlbXB0eSBvciBpbnZhbGlkIHNyY1ZhbHVlcy4KICAgICBDYWNo
ZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCA9IG1fZG9jdW1lbnQtPmRvY0xvYWRlcigpLT5yZXF1ZXN0
U2NyaXB0KHNyY1ZhbHVlLCB0b1NjcmlwdEVsZW1lbnQoc2NyaXB0KS0+c2NyaXB0Q2hhcnNldCgp
KTsKICAgICBpZiAoIWNhY2hlZFNjcmlwdCkgewpAQCAtMjc4LDM0ICsyNzgsNCBAQCB2b2lkIEhU
TUxTY3JpcHRSdW5uZXI6OnJ1blNjcmlwdChFbGVtZW50KiBzY3JpcHQsIGludCBzdGFydGluZ0xp
bmVOdW1iZXIpCiAgICAgfQogfQogCi1IVE1MU2NyaXB0UnVubmVyOjpQZW5kaW5nU2NyaXB0Ojp+
UGVuZGluZ1NjcmlwdCgpCi17Ci0gICAgaWYgKG1fY2FjaGVkU2NyaXB0KQotICAgICAgICBtX2Nh
Y2hlZFNjcmlwdC0+cmVtb3ZlQ2xpZW50KHRoaXMpOwotfQotCi1QYXNzUmVmUHRyPEVsZW1lbnQ+
IEhUTUxTY3JpcHRSdW5uZXI6OlBlbmRpbmdTY3JpcHQ6OnJlbGVhc2VFbGVtZW50QW5kQ2xlYXIo
KQotewotICAgIHNldENhY2hlZFNjcmlwdCgwKTsKLSAgICBzdGFydGluZ0xpbmVOdW1iZXIgPSAw
OwotICAgIG1fd2F0Y2hpbmdGb3JMb2FkID0gZmFsc2U7Ci0gICAgcmV0dXJuIGVsZW1lbnQucmVs
ZWFzZSgpOwotfQotCi12b2lkIEhUTUxTY3JpcHRSdW5uZXI6OlBlbmRpbmdTY3JpcHQ6OnNldENh
Y2hlZFNjcmlwdChDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKLXsKLSAgICBpZiAobV9jYWNo
ZWRTY3JpcHQgPT0gY2FjaGVkU2NyaXB0KQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKG1fY2Fj
aGVkU2NyaXB0KQotICAgICAgICBtX2NhY2hlZFNjcmlwdC0+cmVtb3ZlQ2xpZW50KHRoaXMpOwot
ICAgIG1fY2FjaGVkU2NyaXB0ID0gY2FjaGVkU2NyaXB0OwotICAgIGlmIChtX2NhY2hlZFNjcmlw
dCkKLSAgICAgICAgbV9jYWNoZWRTY3JpcHQtPmFkZENsaWVudCh0aGlzKTsKLX0KLQotQ2FjaGVk
U2NyaXB0KiBIVE1MU2NyaXB0UnVubmVyOjpQZW5kaW5nU2NyaXB0OjpjYWNoZWRTY3JpcHQoKSBj
b25zdAotewotICAgIHJldHVybiBtX2NhY2hlZFNjcmlwdC5nZXQoKTsKLX0KLQogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
U2NyaXB0UnVubmVyLmgKaW5kZXggY2M2OTQ0MzUxNDQxN2JlMzMzY2Y0ZGE3OGMwOTI0NGMyMjMz
OWJmYi4uODU4MDFiMjk0NDEyZDg3YTQ5MGUwNmM5ODVmZDY1ZmFiY2MxNTUzMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TFNjcmlwdFJ1bm5lci5oCkBAIC0yNiwxNCArMjYsMTMgQEAKICNpZm5kZWYgSFRNTFNjcmlwdFJ1
bm5lcl9oCiAjZGVmaW5lIEhUTUxTY3JpcHRSdW5uZXJfaAogCi0jaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaCIKLSNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1
ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENh
Y2hlZFJlc291cmNlQ2xpZW50OworY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiBjbGFzcyBDYWNoZWRT
Y3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CkBAIC01Niw0NSArNTUsNiBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0V4ZWN1dGluZ1NjcmlwdCgpIHsgcmV0dXJuICEhbV9zY3Jp
cHROZXN0aW5nTGV2ZWw7IH0KIAogcHJpdmF0ZToKLSAgICAvLyBBIGNvbnRhaW5lciBmb3IgYW4g
ZXh0ZXJuYWwgc2NyaXB0IHdoaWNoIG1heSBiZSBsb2FkZWQgYW5kIGV4ZWN1dGVkLgotICAgIC8v
Ci0gICAgLy8gQSBDYWNoZWRSZXNvdXJjZUhhbmRsZSBhbG9uZSBkb2VzIG5vdCBwcmV2ZW50IHRo
ZSB1bmRlcmx5aW5nIENhY2hlZFJlc291cmNlCi0gICAgLy8gZnJvbSBwdXJnaW5nIGl0cyBkYXRh
IGJ1ZmZlci4gVGhpcyBjbGFzcyBob2xkcyBhIGR1bW15IGNsaWVudCBvcGVuIGZvciBpdHMKLSAg
ICAvLyBsaWZldGltZSBpbiBvcmRlciB0byBndWFyYW50ZWUgdGhhdCB0aGUgZGF0YSBidWZmZXIg
d2lsbCBub3QgYmUgcHVyZ2VkLgotICAgIC8vCi0gICAgLy8gRklYTUU6IEZpbmlzaCB0dXJuaW5n
IHRoaXMgaW50byBhIHByb3BlciBjbGFzcy4KLSAgICBjbGFzcyBQZW5kaW5nU2NyaXB0IDogcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBOb25jb3B5YWJsZSB7Ci0gICAgcHVibGljOgotICAg
ICAgICBQZW5kaW5nU2NyaXB0KCkKLSAgICAgICAgICAgIDogc3RhcnRpbmdMaW5lTnVtYmVyKDAp
Ci0gICAgICAgICAgICAsIG1fd2F0Y2hpbmdGb3JMb2FkKGZhbHNlKQotICAgICAgICB7Ci0gICAg
ICAgIH0KLQotICAgICAgICB+UGVuZGluZ1NjcmlwdCgpOwotCi0gICAgICAgIFBhc3NSZWZQdHI8
RWxlbWVudD4gcmVsZWFzZUVsZW1lbnRBbmRDbGVhcigpOwotCi0gICAgICAgIGJvb2wgd2F0Y2hp
bmdGb3JMb2FkKCkgY29uc3QgeyByZXR1cm4gbV93YXRjaGluZ0ZvckxvYWQ7IH0KLSAgICAgICAg
dm9pZCBzZXRXYXRjaGluZ0ZvckxvYWQoYm9vbCBiKSB7IG1fd2F0Y2hpbmdGb3JMb2FkID0gYjsg
fQotCi0gICAgICAgIENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KCkgY29uc3Q7Ci0gICAgICAg
IHZvaWQgc2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlwdCopOwotCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopCi0gICAgICAgIHsKLSAgICAgICAg
fQotCi0gICAgICAgIFJlZlB0cjxFbGVtZW50PiBlbGVtZW50OwotICAgICAgICBpbnQgc3RhcnRp
bmdMaW5lTnVtYmVyOyAvLyBPbmx5IHVzZWQgZm9yIGlubGluZSBzY3JpcHQgdGFncy4KLSAgICAg
ICAgLy8gSFRNTDUgaGFzIGFuIGlzUmVhZHkgcGFyYW1ldGVyLCBob3dldmVyIGlzUmVhZHkgZW5k
cyB1cCBlcXVpdmFsZW50IHRvCi0gICAgICAgIC8vIG1fZG9jdW1lbnQtPmhhdmVTdHlsZXNoZWV0
c0xvYWRlZCgpICYmIGNhY2hlZFNjcmlwdC0+aXNMb2FkZWQoKQotCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgYm9vbCBtX3dhdGNoaW5nRm9yTG9hZDsKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsKLSAgICB9OwotCiAgICAgRnJhbWUqIGZy
YW1lKCkgY29uc3Q7CiAKICAgICBib29sIGhhdmVQYXJzaW5nQmxvY2tpbmdTY3JpcHQoKSBjb25z
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63514</attachid>
            <date>2010-08-04 17:13:52 -0700</date>
            <delta_ts>2010-08-06 10:16:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-43391-20100804171351.patch</filename>
            <type>text/plain</type>
            <size>21193</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCBmNzlhYTc0MzBjNzg4MzRjMWY2YzQyZDcyZTM1OTk0OGM3NGMxMjVmLi4yYjcxOTU3M2U2OGRi
ZmM1NmQ4MWYwZTAwNGJjOGE5Nzg5MWZjZjIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xNTUsNiArMTU1LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwIFwKIAlkb20vT3ZlcmZsb3dFdmVudC5jcHAgXAogCWRvbS9QYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCBcCisJZG9tL1BlbmRpbmdTY3JpcHQuY3BwIFwKIAlkb20vUG9zaXRpb24uY3BwIFwK
IAlkb20vUG9zaXRpb25JdGVyYXRvci5jcHAgXAogCWRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
Y3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGY2MTE1OTRmMzJiNGZiZWIzOWNlZDU2ODZhZTBjNDYzMzY3MjczMzMu
LjJmMTNkNmFlYWNiNTFiN2I0MGM2YzRhY2RhNDc4OTFjOGQxOTY0OTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODMx
LDYgKzgzMSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vT3B0aW9uR3JvdXBFbGVt
ZW50LmNwcAogICAgIGRvbS9PdmVyZmxvd0V2ZW50LmNwcAogICAgIGRvbS9QYWdlVHJhbnNpdGlv
bkV2ZW50LmNwcAorICAgIGRvbS9QZW5kaW5nU2NyaXB0LmNwcAogICAgIGRvbS9Qb3BTdGF0ZUV2
ZW50LmNwcAogICAgIGRvbS9Qb3NpdGlvbi5jcHAKICAgICBkb20vUG9zaXRpb25JdGVyYXRvci5j
cHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMjhiMDA1ZWI0ZTc3YmNhMDc5MTQ0ODlmZWI2YmQ1NzQ1NzM2YjNjZC4uY2YxODVmMWMxMjgw
MTkyZWY2MTFiOTQ4MGI2MmY0YjMwZjU0MTMyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMC0wOC0wMiAg
VG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRmFjdG9yIG91dCBQZW5kaW5nU2NyaXB0IGFuZCBw
cm90ZWN0IGl0cyBtZW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzM5MQorCisgICAgICAgIFRoaXMgd2lsbCBiZSBzaGFyZWQgYnkgQXN5bmNT
Y3JpcHRSdW5uZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gbmV3IGZ1bmN0
aW9uYWxpdHkuCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZG9tL1BlbmRpbmdTY3JpcHQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlbmRpbmdTY3JpcHQ6On5QZW5kaW5nU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRp
bmdTY3JpcHQ6OmVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6cmVs
ZWFzZUVsZW1lbnRBbmRDbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nU2NyaXB0Ojpz
ZXRDYWNoZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6Y2FjaGVk
U2NyaXB0KToKKyAgICAgICAgKiBkb20vUGVuZGluZ1NjcmlwdC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlBlbmRpbmdTY3JpcHQ6OlBlbmRpbmdTY3JpcHQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVuZGluZ1NjcmlwdDo6c3RhcnRpbmdMaW5lTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlbmRpbmdTY3JpcHQ6OndhdGNoaW5nRm9yTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpQZW5k
aW5nU2NyaXB0OjpzZXRXYXRjaGluZ0ZvckxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGlu
Z1NjcmlwdDo6aGFzRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nU2NyaXB0Ojph
ZG9wdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpzb3VyY2VGcm9tUGVuZGluZ1NjcmlwdCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpoYXZlUGFyc2luZ0Jsb2NraW5nU2NyaXB0
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTY3JpcHRSdW5uZXI6OnJlcXVlc3RTY3JpcHQpOgor
ICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdFJ1bm5lci5oOgorCiAyMDEwLTA4LTA0ICBaaGVueWFv
IE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IDNmM2MwZGJmZmIxYjQ2NGY0YmVmNjk4MjBkNWIzZmU1YzIxODhiMDEuLjUyY2Fh
M2FhMzdmYTQzY2FhOWVmOWQ2NmEyMTdjNGQyZDU2M2VmOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTEwNyw2ICsx
MTA3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50
LmggXAogCVdlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKIAlXZWJDb3JlL2Rv
bS9QYWdlVHJhbnNpdGlvbkV2ZW50LmggXAorCVdlYkNvcmUvZG9tL1BlbmRpbmdTY3JpcHQuY3Bw
IFwKKwlXZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmggXAogCVdlYkNvcmUvZG9tL1Bvc2l0aW9u
LmNwcCBcCiAJV2ViQ29yZS9kb20vUG9zaXRpb24uaCBcCiAJV2ViQ29yZS9kb20vUG9wU3RhdGVF
dmVudC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCBkNWVkM2QyOTQ3NmVhYzA1YzJiZDA3OGJkZjRhZDM4MGFjNWVhYTNj
Li5mNjg2ODM2NjM1YTA5NmZjNTE4NjM3ZTY3N2RkN2M0YTMxOGU3ZTRjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTIxNiw2
ICsxMjE2LDggQEAKICAgICAgICAgICAgICdkb20vUG9wU3RhdGVFdmVudC5oJywKICAgICAgICAg
ICAgICdkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9QYWdl
VHJhbnNpdGlvbkV2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9QZW5kaW5nU2NyaXB0LmNwcCcs
CisgICAgICAgICAgICAnZG9tL1BlbmRpbmdTY3JpcHQuaCcsCiAgICAgICAgICAgICAnZG9tL1Bv
c2l0aW9uLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Bvc2l0aW9uLmgnLAogICAgICAgICAgICAg
J2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
cHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAxMmQwNTZkOTc0Y2VmZTg1MjFjYTY2M2Vm
ZGQ0YjA2YjRjZmY3Zjc4Li4wN2Q3MGI4ODMzNGZjMmE5OWQ2NmM3YmM1NWRjOWYzZDRmNWM1NDk0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KQEAgLTUyMiw2ICs1MjIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vU3RhdGljSGFzaFNl
dE5vZGVMaXN0LmNwcCBcCiAgICAgZG9tL092ZXJmbG93RXZlbnQuY3BwIFwKICAgICBkb20vUGFn
ZVRyYW5zaXRpb25FdmVudC5jcHAgXAorICAgIGRvbS9QZW5kaW5nU2NyaXB0LmNwcCBcCiAgICAg
ZG9tL1BvcFN0YXRlRXZlbnQuY3BwIFwKICAgICBkb20vUG9zaXRpb24uY3BwIFwKICAgICBkb20v
UG9zaXRpb25JdGVyYXRvci5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggYzBkYzNiZWVmZGEyZDQwYThjNWYyOGYzYjU3YzhiZjY0YjU2YWY2Ni4uMDU1MTk1YWNm
NGJkMjFjMjZkZTQ4YTMwZTVjYjAxYzE3YWQ5ODM1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC0zMjk5Nyw2ICszMjk5NywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cUGVuZGluZ1NjcmlwdC5jcHAi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxk
b21cUGVuZGluZ1NjcmlwdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXFBhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZjViOTMwM2NlYmNkOWNkZGFmYzU0OTAxOTgwYThkMTY2NzU4MWNjNC4uNzQzMThhNDZlZThl
ZDE2MDQwZmNkYzM1N2IyMDk5ZTBhZmQ4YTBmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNDEsNiArMjM0MSw4IEBACiAJCTg5Q0QwMjkzMTFDODVC
ODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JC
dWlsZGVyLmNwcCAqLzsgfTsKIAkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5
Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi87IH07CiAJCThBMTJF
MzVEMTFGQTMzMjgwMDI1ODM2QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBMTJFMzVDMTFGQTMzMjgwMDI1ODM2
QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk4QTdDQzk2QjEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1Nj
cmlwdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE3
Q0M5NkExMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4QTdDQzk3MDEyMDc2RjhBMDAxRDQ1
ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4QTdDQzk2RjEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5j
cHAgKi87IH07CiAJCThBODFCRjg1MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1p
bmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBODFC
Rjg0MTFEQ0ZEOTAwMERBMkI5OCAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4QTg0NEQwNDExRDNDMThFMDAx
NDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEE4NDREMDExMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNw
cCAqLzsgfTsKIAkJOEE4NDREMDUxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QTg0NEQwMjExRDND
MThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCAqLzsgfTsKQEAgLTgxMTksNiArODEyMSw4IEBA
CiAJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9i
QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jsb2JCdWlsZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBMTJFMzVDMTFGQTMzMjgwMDI1ODM2
QSAvKiBEb2N1bWVudExvYWRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRG9jdW1lbnRMb2FkVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThB
N0NDOTZBMTIwNzZENzMwMDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBlbmRpbmdTY3JpcHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOEE3Q0M5NkYxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVuZGluZ1NjcmlwdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODFCRjg0MTFEQ0ZEOTAwMERBMkI5OCAvKiBS
ZXNvdXJjZUxvYWRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVz
b3VyY2VMb2FkVGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBODQ0RDAx
MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThBODQ0RDAyMTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTcxOTIsNiArMTcxOTYsOCBAQAogCQkJCUUxMjg0QUU5MTA0NDdERUUw
MEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmNwcCAqLywKIAkJCQlFMTI4NEFFMDEwNDQ3
RDQ1MDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVudC5oICovLAogCQkJCUUxMjg0QUQ5MTA0
NDdBRUIwMEVBRUI1MiAvKiBQYWdlVHJhbnNpdGlvbkV2ZW50LmlkbCAqLywKKwkJCQk4QTdDQzk2
RjEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgKi8sCisJCQkJOEE3Q0M5NkEx
MjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCAqLywKIAkJCQk0MUJGNzAwRDBGRTg2
RjYxMDA1RThERUMgLyogUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwICovLAogCQkJCTQx
QkY3MDBFMEZFODZGNjEwMDVFOERFQyAvKiBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oICov
LAogCQkJCTUxODlGMEREMTBCNDZCMEUwMEYzQzczOSAvKiBQb3BTdGF0ZUV2ZW50LmNwcCAqLywK
QEAgLTE5OTkwLDYgKzE5OTk2LDcgQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyog
WFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMz
IC8qIFpvb21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3QTND
NjcgLyogQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOEE3
Q0M5NkIxMjA3NkQ3MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMjIzOTQsNiArMjI0MDEsNyBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBY
U0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
REQ0RDg2MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCThBN0NDOTcwMTIwNzZGOEEwMDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5jcHAgYi9XZWJD
b3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmUyMjVhN2YzMmExYjBjZGMx
YmMzNDUxYjY1NDk3YTQ2MTM1Njg5Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9kb20vUGVu
ZGluZ1NjcmlwdC5jcHAKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQ
ZW5kaW5nU2NyaXB0LmgiCisKKyNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKKyNpbmNsdWRlICJF
bGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVuZGluZ1NjcmlwdDo6flBlbmRp
bmdTY3JpcHQoKQoreworICAgIGlmIChtX2NhY2hlZFNjcmlwdCkKKyAgICAgICAgbV9jYWNoZWRT
Y3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKK30KKworUGFzc1JlZlB0cjxFbGVtZW50PiBQZW5k
aW5nU2NyaXB0OjpyZWxlYXNlRWxlbWVudEFuZENsZWFyKCkKK3sKKyAgICBzZXRDYWNoZWRTY3Jp
cHQoMCk7CisgICAgbV9zdGFydGluZ0xpbmVOdW1iZXIgPSAwOworICAgIG1fd2F0Y2hpbmdGb3JM
b2FkID0gZmFsc2U7CisgICAgcmV0dXJuIG1fZWxlbWVudC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQg
UGVuZGluZ1NjcmlwdDo6c2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0
KQoreworICAgIGlmIChtX2NhY2hlZFNjcmlwdCA9PSBjYWNoZWRTY3JpcHQpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAobV9jYWNoZWRTY3JpcHQpCisgICAgICAgIG1fY2FjaGVkU2NyaXB0LT5y
ZW1vdmVDbGllbnQodGhpcyk7CisgICAgbV9jYWNoZWRTY3JpcHQgPSBjYWNoZWRTY3JpcHQ7Cisg
ICAgaWYgKG1fY2FjaGVkU2NyaXB0KQorICAgICAgICBtX2NhY2hlZFNjcmlwdC0+YWRkQ2xpZW50
KHRoaXMpOworfQorCitDYWNoZWRTY3JpcHQqIFBlbmRpbmdTY3JpcHQ6OmNhY2hlZFNjcmlwdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2FjaGVkU2NyaXB0LmdldCgpOworfQorCit2b2lkIFBl
bmRpbmdTY3JpcHQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKikKK3sKK30KKworfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5oIGIvV2ViQ29yZS9kb20vUGVu
ZGluZ1NjcmlwdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllMjNlMWEzZmM1Y2FkNTBmZDdhY2UyNzZlMmQ4MjZk
MjY1YWZlNDUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmgK
QEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlLCBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWZuZGVmIFBlbmRpbmdTY3JpcHRfaAorI2RlZmluZSBQZW5kaW5nU2NyaXB0
X2gKKworI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50LmgiCisjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIENhY2hlZFNjcmlwdDsKK2NsYXNzIEVsZW1lbnQ7CisKKy8v
IEEgY29udGFpbmVyIGZvciBhbiBleHRlcm5hbCBzY3JpcHQgd2hpY2ggbWF5IGJlIGxvYWRlZCBh
bmQgZXhlY3V0ZWQuCisvLworLy8gQSBDYWNoZWRSZXNvdXJjZUhhbmRsZSBhbG9uZSBkb2VzIG5v
dCBwcmV2ZW50IHRoZSB1bmRlcmx5aW5nIENhY2hlZFJlc291cmNlCisvLyBmcm9tIHB1cmdpbmcg
aXRzIGRhdGEgYnVmZmVyLiBUaGlzIGNsYXNzIGhvbGRzIGEgZHVtbXkgY2xpZW50IG9wZW4gZm9y
IGl0cworLy8gbGlmZXRpbWUgaW4gb3JkZXIgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGRhdGEgYnVm
ZmVyIHdpbGwgbm90IGJlIHB1cmdlZC4KK2NsYXNzIFBlbmRpbmdTY3JpcHQgOiBwdWJsaWMgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgeworcHVibGljOgorICAgIFBlbmRpbmdTY3JpcHQoKQorICAgICAg
ICA6IG1fc3RhcnRpbmdMaW5lTnVtYmVyKDApCisgICAgICAgICwgbV93YXRjaGluZ0ZvckxvYWQo
ZmFsc2UpCisgICAgeworICAgIH0KKworICAgIFBlbmRpbmdTY3JpcHQoY29uc3QgUGVuZGluZ1Nj
cmlwdCYgb3RoZXIpCisgICAgICAgIDogQ2FjaGVkUmVzb3VyY2VDbGllbnQob3RoZXIpCisgICAg
ICAgICwgbV9zdGFydGluZ0xpbmVOdW1iZXIob3RoZXIubV9zdGFydGluZ0xpbmVOdW1iZXIpCisg
ICAgICAgICwgbV93YXRjaGluZ0ZvckxvYWQob3RoZXIubV93YXRjaGluZ0ZvckxvYWQpCisgICAg
ICAgICwgbV9lbGVtZW50KG90aGVyLm1fZWxlbWVudCkKKyAgICB7CisgICAgICAgIHNldENhY2hl
ZFNjcmlwdChvdGhlci5jYWNoZWRTY3JpcHQoKSk7CisgICAgfQorCisgICAgUGVuZGluZ1Njcmlw
dCYgb3BlcmF0b3I9KGNvbnN0IFBlbmRpbmdTY3JpcHQmIG90aGVyKQorICAgIHsKKyAgICAgICAg
aWYgKHRoaXMgPT0gJm90aGVyKQorICAgICAgICAgICAgcmV0dXJuICp0aGlzOworCisgICAgICAg
IG1fc3RhcnRpbmdMaW5lTnVtYmVyID0gb3RoZXIubV9zdGFydGluZ0xpbmVOdW1iZXI7CisgICAg
ICAgIG1fd2F0Y2hpbmdGb3JMb2FkID0gb3RoZXIubV93YXRjaGluZ0ZvckxvYWQ7CisgICAgICAg
IG1fZWxlbWVudCA9IG90aGVyLm1fZWxlbWVudDsKKyAgICAgICAgc2V0Q2FjaGVkU2NyaXB0KG90
aGVyLmNhY2hlZFNjcmlwdCgpKTsKKworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisg
ICAgflBlbmRpbmdTY3JpcHQoKTsKKworICAgIC8vIEZJWE1FOiBObyBzZXR0ZXIgbWVhbnMgdGhp
cyBpcyBuZXZlciBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAwLgorICAgIC8vIFRoaXMgaXMg
ZWl0aGVyIHVubmVjZXNzYXJ5IG9yIGluY29ycmVjdC4KKyAgICBpbnQgc3RhcnRpbmdMaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9zdGFydGluZ0xpbmVOdW1iZXI7IH0KKworICAgIGJvb2wg
d2F0Y2hpbmdGb3JMb2FkKCkgY29uc3QgeyByZXR1cm4gbV93YXRjaGluZ0ZvckxvYWQ7IH0KKyAg
ICB2b2lkIHNldFdhdGNoaW5nRm9yTG9hZChib29sIGIpIHsgbV93YXRjaGluZ0ZvckxvYWQgPSBi
OyB9CisKKyAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50Lmdl
dCgpOyB9CisgICAgdm9pZCBhZG9wdEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgeyBtX2VsZW1l
bnQgPSBlbGVtZW50OyB9CisgICAgUGFzc1JlZlB0cjxFbGVtZW50PiByZWxlYXNlRWxlbWVudEFu
ZENsZWFyKCk7CisKKyAgICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCgpIGNvbnN0OworICAg
IHZvaWQgc2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlwdCopOworCisgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7CisKK3ByaXZhdGU6CisgICAgaW50IG1f
c3RhcnRpbmdMaW5lTnVtYmVyOyAvLyBPbmx5IHVzZWQgZm9yIGlubGluZSBzY3JpcHQgdGFncy4K
KyAgICBib29sIG1fd2F0Y2hpbmdGb3JMb2FkOworICAgIFJlZlB0cjxFbGVtZW50PiBtX2VsZW1l
bnQ7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlw
dDsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlw
dFJ1bm5lci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHAKaW5kZXggMGQx
ODQ1ZmRmYzRjMTEyYmI1N2E0ZDZhNWNkZjQ2OTU3NmQxMmU0ZC4uMjkzODBlNjExZWE1M2I5YmIz
OTViNDgxMTAzYjc3NmM4NTI1NmY1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTY3Jp
cHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmNwcApAQCAt
MTA1LDcgKzEwNSw3IEBAIFNjcmlwdFNvdXJjZUNvZGUgSFRNTFNjcmlwdFJ1bm5lcjo6c291cmNl
RnJvbVBlbmRpbmdTY3JpcHQoY29uc3QgUGVuZGluZ1NjcmlwdCYKICAgICAgICAgcmV0dXJuIFNj
cmlwdFNvdXJjZUNvZGUoc2NyaXB0LmNhY2hlZFNjcmlwdCgpKTsKICAgICB9CiAgICAgZXJyb3JP
Y2N1cnJlZCA9IGZhbHNlOwotICAgIHJldHVybiBTY3JpcHRTb3VyY2VDb2RlKHNjcmlwdC5lbGVt
ZW50LT50ZXh0Q29udGVudCgpLCBkb2N1bWVudFVSTEZvclNjcmlwdEV4ZWN1dGlvbihtX2RvY3Vt
ZW50KSwgc2NyaXB0LnN0YXJ0aW5nTGluZU51bWJlcik7CisgICAgcmV0dXJuIFNjcmlwdFNvdXJj
ZUNvZGUoc2NyaXB0LmVsZW1lbnQoKS0+dGV4dENvbnRlbnQoKSwgZG9jdW1lbnRVUkxGb3JTY3Jp
cHRFeGVjdXRpb24obV9kb2N1bWVudCksIHNjcmlwdC5zdGFydGluZ0xpbmVOdW1iZXIoKSk7CiB9
CiAKIGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6aXNQZW5kaW5nU2NyaXB0UmVhZHkoY29uc3QgUGVu
ZGluZ1NjcmlwdCYgc2NyaXB0KQpAQCAtMTk1LDcgKzE5NSw3IEBAIGJvb2wgSFRNTFNjcmlwdFJ1
bm5lcjo6ZXhlY3V0ZShQYXNzUmVmUHRyPEVsZW1lbnQ+IHNjcmlwdEVsZW1lbnQsIGludCBzdGFy
dExpbmUpCiAKIGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6aGF2ZVBhcnNpbmdCbG9ja2luZ1Njcmlw
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICEhbV9wYXJzaW5nQmxvY2tpbmdTY3JpcHQuZWxlbWVu
dDsKKyAgICByZXR1cm4gISFtX3BhcnNpbmdCbG9ja2luZ1NjcmlwdC5lbGVtZW50KCk7CiB9CiAK
IGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVBhcnNpbmdCbG9ja2luZ1NjcmlwdHMoKQpA
QCAtMjQ3LDE0ICsyNDcsMTQgQEAgYm9vbCBIVE1MU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
c1dhaXRpbmdGb3JQYXJzaW5nKCkKIAogYm9vbCBIVE1MU2NyaXB0UnVubmVyOjpyZXF1ZXN0U2Ny
aXB0KFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQsIEVsZW1lbnQqIHNjcmlwdEVsZW1lbnQp
CiB7Ci0gICAgQVNTRVJUKCFwZW5kaW5nU2NyaXB0LmVsZW1lbnQpOworICAgIEFTU0VSVCghaGF2
ZVBhcnNpbmdCbG9ja2luZ1NjcmlwdCgpKTsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNyY1Zh
bHVlID0gc2NyaXB0RWxlbWVudC0+Z2V0QXR0cmlidXRlKHNyY0F0dHIpOwogICAgIGlmICghbV9o
b3N0LT5zaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjKHNyY1ZhbHVlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHJlc29sdmUgdGhlIHVybCBy
ZWxhdGl2ZSB0byB0aGUgZWxlbWVudC4KICAgICBpZiAoIXNjcmlwdEVsZW1lbnQtPmRpc3BhdGNo
QmVmb3JlTG9hZEV2ZW50KHNyY1ZhbHVlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHBl
bmRpbmdTY3JpcHQuZWxlbWVudCA9IHNjcmlwdEVsZW1lbnQ7CisgICAgcGVuZGluZ1NjcmlwdC5h
ZG9wdEVsZW1lbnQoc2NyaXB0RWxlbWVudCk7CiAgICAgLy8gVGhpcyBzaG91bGQgY29ycmVjdGx5
IHJldHVybiAwIGZvciBlbXB0eSBvciBpbnZhbGlkIHNyY1ZhbHVlcy4KICAgICBDYWNoZWRTY3Jp
cHQqIGNhY2hlZFNjcmlwdCA9IG1fZG9jdW1lbnQtPmRvY0xvYWRlcigpLT5yZXF1ZXN0U2NyaXB0
KHNyY1ZhbHVlLCB0b1NjcmlwdEVsZW1lbnQoc2NyaXB0RWxlbWVudCktPnNjcmlwdENoYXJzZXQo
KSk7CiAgICAgaWYgKCFjYWNoZWRTY3JpcHQpIHsKQEAgLTMxNiwzNCArMzE2LDQgQEAgdm9pZCBI
VE1MU2NyaXB0UnVubmVyOjpydW5TY3JpcHQoRWxlbWVudCogc2NyaXB0LCBpbnQgc3RhcnRpbmdM
aW5lTnVtYmVyKQogICAgIH0KIH0KIAotSFRNTFNjcmlwdFJ1bm5lcjo6UGVuZGluZ1NjcmlwdDo6
flBlbmRpbmdTY3JpcHQoKQotewotICAgIGlmIChtX2NhY2hlZFNjcmlwdCkKLSAgICAgICAgbV9j
YWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsKLX0KLQotUGFzc1JlZlB0cjxFbGVtZW50
PiBIVE1MU2NyaXB0UnVubmVyOjpQZW5kaW5nU2NyaXB0OjpyZWxlYXNlRWxlbWVudEFuZENsZWFy
KCkKLXsKLSAgICBzZXRDYWNoZWRTY3JpcHQoMCk7Ci0gICAgc3RhcnRpbmdMaW5lTnVtYmVyID0g
MDsKLSAgICBtX3dhdGNoaW5nRm9yTG9hZCA9IGZhbHNlOwotICAgIHJldHVybiBlbGVtZW50LnJl
bGVhc2UoKTsKLX0KLQotdm9pZCBIVE1MU2NyaXB0UnVubmVyOjpQZW5kaW5nU2NyaXB0OjpzZXRD
YWNoZWRTY3JpcHQoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCi17Ci0gICAgaWYgKG1fY2Fj
aGVkU2NyaXB0ID09IGNhY2hlZFNjcmlwdCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX2Nh
Y2hlZFNjcmlwdCkKLSAgICAgICAgbV9jYWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVudCh0aGlzKTsK
LSAgICBtX2NhY2hlZFNjcmlwdCA9IGNhY2hlZFNjcmlwdDsKLSAgICBpZiAobV9jYWNoZWRTY3Jp
cHQpCi0gICAgICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQodGhpcyk7Ci19Ci0KLUNhY2hl
ZFNjcmlwdCogSFRNTFNjcmlwdFJ1bm5lcjo6UGVuZGluZ1NjcmlwdDo6Y2FjaGVkU2NyaXB0KCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9jYWNoZWRTY3JpcHQuZ2V0KCk7Ci19Ci0KIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0bWwvSFRN
TFNjcmlwdFJ1bm5lci5oCmluZGV4IGJiYWM3Y2Y3OGFmYjhmZmE1ZDE1MGZlZTU4ZmFkYzgxMTk0
MTAxMjYuLjYxYjc3YzY4M2Q5YTNiZWQ4NGYzYTdiNzdiMzM4NWNmOTdjN2JiOTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxTY3JpcHRSdW5uZXIuaApAQCAtMjYsMTUgKzI2LDE0IEBACiAjaWZuZGVmIEhUTUxTY3JpcHRS
dW5uZXJfaAogI2RlZmluZSBIVE1MU2NyaXB0UnVubmVyX2gKIAotI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlQ2xpZW50LmgiCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNs
dWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudDsKK2NsYXNzIENhY2hl
ZFJlc291cmNlOwogY2xhc3MgQ2FjaGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBF
bGVtZW50OwpAQCAtNTgsNjcgKzU3LDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNFeGVjdXRpbmdT
Y3JpcHQoKSB7IHJldHVybiAhIW1fc2NyaXB0TmVzdGluZ0xldmVsOyB9CiAKIHByaXZhdGU6Ci0g
ICAgLy8gQSBjb250YWluZXIgZm9yIGFuIGV4dGVybmFsIHNjcmlwdCB3aGljaCBtYXkgYmUgbG9h
ZGVkIGFuZCBleGVjdXRlZC4KLSAgICAvLwotICAgIC8vIEEgQ2FjaGVkUmVzb3VyY2VIYW5kbGUg
YWxvbmUgZG9lcyBub3QgcHJldmVudCB0aGUgdW5kZXJseWluZyBDYWNoZWRSZXNvdXJjZQotICAg
IC8vIGZyb20gcHVyZ2luZyBpdHMgZGF0YSBidWZmZXIuIFRoaXMgY2xhc3MgaG9sZHMgYSBkdW1t
eSBjbGllbnQgb3BlbiBmb3IgaXRzCi0gICAgLy8gbGlmZXRpbWUgaW4gb3JkZXIgdG8gZ3VhcmFu
dGVlIHRoYXQgdGhlIGRhdGEgYnVmZmVyIHdpbGwgbm90IGJlIHB1cmdlZC4KLSAgICAvLwotICAg
IC8vIEZJWE1FOiBGaW5pc2ggdHVybmluZyB0aGlzIGludG8gYSBwcm9wZXIgY2xhc3MuCi0gICAg
Y2xhc3MgUGVuZGluZ1NjcmlwdCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7Ci0gICAg
cHVibGljOgotICAgICAgICBQZW5kaW5nU2NyaXB0KCkKLSAgICAgICAgICAgIDogc3RhcnRpbmdM
aW5lTnVtYmVyKDApCi0gICAgICAgICAgICAsIG1fd2F0Y2hpbmdGb3JMb2FkKGZhbHNlKQotICAg
ICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBQZW5kaW5nU2NyaXB0KGNvbnN0IFBlbmRpbmdT
Y3JpcHQmIG90aGVyKQotICAgICAgICAgICAgOiBDYWNoZWRSZXNvdXJjZUNsaWVudChvdGhlcikK
LSAgICAgICAgICAgICwgZWxlbWVudChvdGhlci5lbGVtZW50KQotICAgICAgICAgICAgLCBzdGFy
dGluZ0xpbmVOdW1iZXIob3RoZXIuc3RhcnRpbmdMaW5lTnVtYmVyKQotICAgICAgICAgICAgLCBt
X3dhdGNoaW5nRm9yTG9hZChvdGhlci5tX3dhdGNoaW5nRm9yTG9hZCkKLSAgICAgICAgewotICAg
ICAgICAgICAgc2V0Q2FjaGVkU2NyaXB0KG90aGVyLmNhY2hlZFNjcmlwdCgpKTsKLSAgICAgICAg
fQotCi0gICAgICAgIFBlbmRpbmdTY3JpcHQmIG9wZXJhdG9yPShjb25zdCBQZW5kaW5nU2NyaXB0
JiBvdGhlcikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHRoaXMgPT0gJm90aGVyKQotICAg
ICAgICAgICAgICAgIHJldHVybiAqdGhpczsKLQotICAgICAgICAgICAgZWxlbWVudCA9IG90aGVy
LmVsZW1lbnQ7Ci0gICAgICAgICAgICBzdGFydGluZ0xpbmVOdW1iZXIgPSBvdGhlci5zdGFydGlu
Z0xpbmVOdW1iZXI7Ci0gICAgICAgICAgICBtX3dhdGNoaW5nRm9yTG9hZCA9IG90aGVyLm1fd2F0
Y2hpbmdGb3JMb2FkOwotICAgICAgICAgICAgc2V0Q2FjaGVkU2NyaXB0KG90aGVyLmNhY2hlZFNj
cmlwdCgpKTsKLQotICAgICAgICAgICAgcmV0dXJuICp0aGlzOwotICAgICAgICB9Ci0KLSAgICAg
ICAgflBlbmRpbmdTY3JpcHQoKTsKLQotICAgICAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IHJlbGVh
c2VFbGVtZW50QW5kQ2xlYXIoKTsKLQotICAgICAgICBib29sIHdhdGNoaW5nRm9yTG9hZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2F0Y2hpbmdGb3JMb2FkOyB9Ci0gICAgICAgIHZvaWQgc2V0V2F0Y2hp
bmdGb3JMb2FkKGJvb2wgYikgeyBtX3dhdGNoaW5nRm9yTG9hZCA9IGI7IH0KLQotICAgICAgICBD
YWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCgpIGNvbnN0OwotICAgICAgICB2b2lkIHNldENhY2hl
ZFNjcmlwdChDYWNoZWRTY3JpcHQqKTsKLQotICAgICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmlu
aXNoZWQoQ2FjaGVkUmVzb3VyY2UqKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICBS
ZWZQdHI8RWxlbWVudD4gZWxlbWVudDsKLSAgICAgICAgaW50IHN0YXJ0aW5nTGluZU51bWJlcjsg
Ly8gT25seSB1c2VkIGZvciBpbmxpbmUgc2NyaXB0IHRhZ3MuCi0gICAgICAgIC8vIEhUTUw1IGhh
cyBhbiBpc1JlYWR5IHBhcmFtZXRlciwgaG93ZXZlciBpc1JlYWR5IGVuZHMgdXAgZXF1aXZhbGVu
dCB0bwotICAgICAgICAvLyBtX2RvY3VtZW50LT5oYXZlU3R5bGVzaGVldHNMb2FkZWQoKSAmJiBj
YWNoZWRTY3JpcHQtPmlzTG9hZGVkKCkKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIGJvb2wgbV93
YXRjaGluZ0ZvckxvYWQ7Ci0gICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFNjcmlw
dD4gbV9jYWNoZWRTY3JpcHQ7Ci0gICAgfTsKLQogICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0Owog
CiAgICAgYm9vbCBoYXZlUGFyc2luZ0Jsb2NraW5nU2NyaXB0KCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63737</attachid>
            <date>2010-08-06 10:16:17 -0700</date>
            <delta_ts>2010-08-06 10:36:35 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-43391-20100806101616.patch</filename>
            <type>text/plain</type>
            <size>19977</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5tayBiL1dlYkNvcmUvQW5kcm9pZC5tawppbmRl
eCA4M2Y4MmVkNDU2NGNhNTBhNTg1Njc2ZjcwNzZhYmUwYTdmZGJhMmUyLi5kN2M3MDI5ZWEzODQw
ZjZkMGJhYjY1MDNiMTEzMTQ3NDIyN2E4ZDU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
bWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLm1rCkBAIC0xNTgsNiArMTU4LDcgQEAgTE9DQUxfU1JD
X0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVTKSBcCiAJZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwIFwKIAlkb20vT3ZlcmZsb3dFdmVudC5jcHAgXAogCWRvbS9QYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCBcCisJZG9tL1BlbmRpbmdTY3JpcHQuY3BwIFwKIAlkb20vUG9zaXRpb24uY3BwIFwK
IAlkb20vUG9zaXRpb25JdGVyYXRvci5jcHAgXAogCWRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24u
Y3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDFhOTNiMGIyYThiYjQzMjJlYzg0MTIxNGNhYzNjODE5NzNmYjE0ZmUu
LjA0MTYxYmNiODZlNWE4NzhkM2Y2N2ExZTY1ODc2YjZjMzk5OTE3ODAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtODM3
LDYgKzgzNyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vT3B0aW9uR3JvdXBFbGVt
ZW50LmNwcAogICAgIGRvbS9PdmVyZmxvd0V2ZW50LmNwcAogICAgIGRvbS9QYWdlVHJhbnNpdGlv
bkV2ZW50LmNwcAorICAgIGRvbS9QZW5kaW5nU2NyaXB0LmNwcAogICAgIGRvbS9Qb3BTdGF0ZUV2
ZW50LmNwcAogICAgIGRvbS9Qb3NpdGlvbi5jcHAKICAgICBkb20vUG9zaXRpb25JdGVyYXRvci5j
cHAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNjVkOTczMWM5ZThjYmQwN2FkMmMxZGE2OWNkNDY3NGU2ZGFkNmRjZC4uNDg3YTYyMzJkMDY3
MTU0NGY5NTZmZWJjZGI3Y2FlZGJiYWE2M2ViNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMC0wOC0wMiAg
VG9ueSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRmFjdG9yIG91dCBQZW5kaW5nU2NyaXB0IGFuZCBw
cm90ZWN0IGl0cyBtZW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzM5MQorCisgICAgICAgIFRoaXMgd2lsbCBiZSBzaGFyZWQgYnkgQXN5bmNT
Y3JpcHRSdW5uZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gbmV3IGZ1bmN0
aW9uYWxpdHkuCisKKyAgICAgICAgKiBBbmRyb2lkLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogZG9tL1BlbmRpbmdTY3JpcHQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlbmRpbmdTY3JpcHQ6On5QZW5kaW5nU2NyaXB0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRp
bmdTY3JpcHQ6OmVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6cmVs
ZWFzZUVsZW1lbnRBbmRDbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nU2NyaXB0Ojpz
ZXRDYWNoZWRTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6Y2FjaGVk
U2NyaXB0KToKKyAgICAgICAgKiBkb20vUGVuZGluZ1NjcmlwdC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlBlbmRpbmdTY3JpcHQ6OlBlbmRpbmdTY3JpcHQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVuZGluZ1NjcmlwdDo6c3RhcnRpbmdMaW5lTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlbmRpbmdTY3JpcHQ6OndhdGNoaW5nRm9yTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpQZW5k
aW5nU2NyaXB0OjpzZXRXYXRjaGluZ0ZvckxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGlu
Z1NjcmlwdDo6aGFzRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nU2NyaXB0Ojph
ZG9wdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpzb3VyY2VGcm9tUGVuZGluZ1NjcmlwdCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpoYXZlUGFyc2luZ0Jsb2NraW5nU2NyaXB0
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTY3JpcHRSdW5uZXI6OnJlcXVlc3RTY3JpcHQpOgor
ICAgICAgICAqIGh0bWwvSFRNTFNjcmlwdFJ1bm5lci5oOgorCiAyMDEwLTA4LTA2ICBNYXJ0aW4g
Um9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
IGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA4NDA2MTcwN2Y3NWY1Mjc1MGE3OTJlNmE4
M2QwYjQ4MjU4NzVlYTgxLi40YWU1OWFjYzkzY2ZkOThiNjYyYjI1ZTE4MmZlZTYwNWI1MTkzYjI4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTExMTUsNiArMTExNSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9kb20vT3ZlcmZsb3dFdmVudC5oIFwKIAlXZWJDb3JlL2RvbS9QYWdlVHJhbnNpdGlvbkV2
ZW50LmNwcCBcCiAJV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5oIFwKKwlXZWJDb3Jl
L2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBcCisJV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5oIFwK
IAlXZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAgXAogCVdlYkNvcmUvZG9tL1Bvc2l0aW9uLmggXAog
CVdlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzFlNTlmZTlhNzliN2RlYjll
NGRiZGMxM2VlOTQ3OTA2ODNiNzc3OC4uOTY4NGM2MmE0NWRmMzhjN2YwNTVlNGIwZjVmNDU4ZjM4
OGJlMTBjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTEyMjQsNiArMTIyNCw4IEBACiAgICAgICAgICAgICAnZG9tL1BvcFN0
YXRlRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwJywK
ICAgICAgICAgICAgICdkb20vUGFnZVRyYW5zaXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdk
b20vUGVuZGluZ1NjcmlwdC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9QZW5kaW5nU2NyaXB0Lmgn
LAogICAgICAgICAgICAgJ2RvbS9Qb3NpdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2RvbS9Qb3Np
dGlvbi5oJywKICAgICAgICAgICAgICdkb20vUG9zaXRpb25JdGVyYXRvci5jcHAnLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggOTY3
ZTMzMDdiNTlkY2Y2ODQzNWMzMmFjM2ZkNjMyNjNhNTlkMDY4OS4uN2FkZGZhMWRkYjk1NzVjMDRj
NzFiZjE3ODY3NzI5NTQ4ZTdjOTEwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybwor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC01MjUsNiArNTI1LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgZG9tL1N0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAgXAogICAgIGRvbS9PdmVyZmxvd0V2
ZW50LmNwcCBcCiAgICAgZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKKyAgICBkb20vUGVu
ZGluZ1NjcmlwdC5jcHAgXAogICAgIGRvbS9Qb3BTdGF0ZUV2ZW50LmNwcCBcCiAgICAgZG9tL1Bv
c2l0aW9uLmNwcCBcCiAgICAgZG9tL1Bvc2l0aW9uSXRlcmF0b3IuY3BwIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDE4YThkOTI2ZjQ0NjNhY2M3YzRlNjcyY2UwOGRh
ZjNiNzM4NTg4YTguLmJiOWEyYzkyYzg4NjhhYzJmNmJhYmE4OTY1NDZmODRlMDVmNDE1NzIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzMwODEsNiArMzMwODEsMTQg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXFBlbmRpbmdTY3JpcHQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXFBlbmRpbmdTY3JpcHQuaCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxQYWdlVHJhbnNpdGlv
bkV2ZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZhMmM1MWYwYTJlNjM5ZTVjNTFjMDliZDBiODgzNWI0
YzQ0M2M2N2MuLjQzN2Y3MTMwNjI0M2U4ZWVmMGE3NTVlZmY0MGZkNDkzZWM4NzljMDMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzU2LDYgKzIzNTYs
OCBAQAogCQk4OUNEMDI5MzExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MTExQzg1
Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgKi87IH07CiAJCTg5Q0QwMjk0MTFDODVC
ODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVp
bGRlci5oICovOyB9OwogCQk4QTEyRTM1RDExRkEzMzI4MDAyNTgzNkEgLyogRG9jdW1lbnRMb2Fk
VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QTEyRTM1QzExRkEzMzI4MDAyNTgzNkEgLyogRG9jdW1lbnRMb2FkVGltaW5nLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOEE3Q0M5NkIxMjA3NkQ3
MzAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhBN0NDOTZBMTIwNzZENzMwMDFENDU4OCAvKiBQZW5kaW5nU2Ny
aXB0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
OEE3Q0M5NzAxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEE3Q0M5NkYxMjA3NkY4QTAwMUQ0
NTg4IC8qIFBlbmRpbmdTY3JpcHQuY3BwICovOyB9OwogCQk4QTgxQkY4NTExRENGRDkwMDBEQTJC
OTggLyogUmVzb3VyY2VMb2FkVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4QTgxQkY4NDExRENGRDkwMDBEQTJCOTggLyogUmVzb3VyY2VMb2Fk
VGltaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOEE4NDREMDQxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhBODQ0RDAxMTFEM0MxOEUwMDE0
MDY1QyAvKiBQZXJmb3JtYW5jZS5jcHAgKi87IH07CiAJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1
QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEE4NDREMDIxMUQzQzE4RTAwMTQwNjVDIC8qIFBlcmZvcm1hbmNlLmggKi87IH07
CkBAIC04MTU3LDYgKzgxNTksOCBAQAogCQk4OUNEMDI5MTExQzg1Qjg3MDA3MEI3OTEgLyogSlNC
bG9iQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Js
b2JCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlDRDAyOTIxMUM4
NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNCbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
QTEyRTM1QzExRkEzMzI4MDAyNTgzNkEgLyogRG9jdW1lbnRMb2FkVGltaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50TG9hZFRpbWluZy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4QTdDQzk2QTEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGluZ1Nj
cmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZW5kaW5nU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThBN0NDOTZGMTIwNzZGOEEwMDFENDU4OCAv
KiBQZW5kaW5nU2NyaXB0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBlbmRpbmdTY3JpcHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTgxQkY4
NDExRENGRDkwMDBEQTJCOTggLyogUmVzb3VyY2VMb2FkVGltaW5nLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4QTg0NEQwMTExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTg0NEQwMjExRDNDMThFMDAxNDA2NUMgLyog
UGVyZm9ybWFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjY2LDYgKzE3MjcwLDggQEAK
IAkJCQlFMTI4NEFFOTEwNDQ3REVFMDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVudC5jcHAg
Ki8sCiAJCQkJRTEyODRBRTAxMDQ0N0Q0NTAwRUFFQjUyIC8qIFBhZ2VUcmFuc2l0aW9uRXZlbnQu
aCAqLywKIAkJCQlFMTI4NEFEOTEwNDQ3QUVCMDBFQUVCNTIgLyogUGFnZVRyYW5zaXRpb25FdmVu
dC5pZGwgKi8sCisJCQkJOEE3Q0M5NkYxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQu
Y3BwICovLAorCQkJCThBN0NDOTZBMTIwNzZENzMwMDFENDU4OCAvKiBQZW5kaW5nU2NyaXB0Lmgg
Ki8sCiAJCQkJNDFCRjcwMEQwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmNwcCAqLywKIAkJCQk0MUJGNzAwRTBGRTg2RjYxMDA1RThERUMgLyogUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWwuaCAqLywKIAkJCQk1MTg5RjBERDEwQjQ2QjBFMDBGM0M3MzkgLyog
UG9wU3RhdGVFdmVudC5jcHAgKi8sCkBAIC0yMDA3NSw2ICsyMDA4MSw3IEBACiAJCQkJMzFGQjFB
NUIxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1vdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxRkIxQTVEMTIwQTVEMDYwMERDMDJBMCAvKiBEZXZpY2VNb3Rpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFGQjFBNjYxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9u
RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCThBN0NDOTZCMTIwNzZENzMwMDFENDU4OCAvKiBQ
ZW5kaW5nU2NyaXB0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyNDkwLDYgKzIyNDk3LDcgQEAKIAkJ
CQkzMUZCMUE1QzEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90aW9uRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzFGQjFBNjUxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9u
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFGQjFBNkMxMjBBNUQ2OTAwREMwMkEwIC8q
IEpTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEE3Q0M5
NzAxMjA3NkY4QTAwMUQ0NTg4IC8qIFBlbmRpbmdTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBiL1dlYkNvcmUvZG9tL1Bl
bmRpbmdTY3JpcHQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyZTIyNWE3ZjMyYTFiMGNkYzFiYzM0NTFiNjU0
OTdhNDYxMzU2ODkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0
LmNwcApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlbmRpbmdTY3Jp
cHQuaCIKKworI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQZW5kaW5nU2NyaXB0Ojp+UGVuZGluZ1NjcmlwdCgp
Cit7CisgICAgaWYgKG1fY2FjaGVkU2NyaXB0KQorICAgICAgICBtX2NhY2hlZFNjcmlwdC0+cmVt
b3ZlQ2xpZW50KHRoaXMpOworfQorCitQYXNzUmVmUHRyPEVsZW1lbnQ+IFBlbmRpbmdTY3JpcHQ6
OnJlbGVhc2VFbGVtZW50QW5kQ2xlYXIoKQoreworICAgIHNldENhY2hlZFNjcmlwdCgwKTsKKyAg
ICBtX3N0YXJ0aW5nTGluZU51bWJlciA9IDA7CisgICAgbV93YXRjaGluZ0ZvckxvYWQgPSBmYWxz
ZTsKKyAgICByZXR1cm4gbV9lbGVtZW50LnJlbGVhc2UoKTsKK30KKwordm9pZCBQZW5kaW5nU2Ny
aXB0OjpzZXRDYWNoZWRTY3JpcHQoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCit7CisgICAg
aWYgKG1fY2FjaGVkU2NyaXB0ID09IGNhY2hlZFNjcmlwdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChtX2NhY2hlZFNjcmlwdCkKKyAgICAgICAgbV9jYWNoZWRTY3JpcHQtPnJlbW92ZUNsaWVu
dCh0aGlzKTsKKyAgICBtX2NhY2hlZFNjcmlwdCA9IGNhY2hlZFNjcmlwdDsKKyAgICBpZiAobV9j
YWNoZWRTY3JpcHQpCisgICAgICAgIG1fY2FjaGVkU2NyaXB0LT5hZGRDbGllbnQodGhpcyk7Cit9
CisKK0NhY2hlZFNjcmlwdCogUGVuZGluZ1NjcmlwdDo6Y2FjaGVkU2NyaXB0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9jYWNoZWRTY3JpcHQuZ2V0KCk7Cit9CisKK3ZvaWQgUGVuZGluZ1Njcmlw
dDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKQoreworfQorCit9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmggYi9XZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODA1ZjdmZjllY2RmYTM0OWQwYjcwZmUyYjRhNTJiMmFhNDUwZWE3Mwot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9tL1BlbmRpbmdTY3JpcHQuaApAQCAtMCwwICsx
LDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSwgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBQZW5kaW5nU2NyaXB0X2gKKyNkZWZpbmUgUGVuZGluZ1NjcmlwdF9oCisKKyNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZUNsaWVudC5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFu
ZGxlLmgiCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWNoZWRTY3JpcHQ7Citj
bGFzcyBFbGVtZW50OworCisvLyBBIGNvbnRhaW5lciBmb3IgYW4gZXh0ZXJuYWwgc2NyaXB0IHdo
aWNoIG1heSBiZSBsb2FkZWQgYW5kIGV4ZWN1dGVkLgorLy8KKy8vIEEgQ2FjaGVkUmVzb3VyY2VI
YW5kbGUgYWxvbmUgZG9lcyBub3QgcHJldmVudCB0aGUgdW5kZXJseWluZyBDYWNoZWRSZXNvdXJj
ZQorLy8gZnJvbSBwdXJnaW5nIGl0cyBkYXRhIGJ1ZmZlci4gVGhpcyBjbGFzcyBob2xkcyBhIGR1
bW15IGNsaWVudCBvcGVuIGZvciBpdHMKKy8vIGxpZmV0aW1lIGluIG9yZGVyIHRvIGd1YXJhbnRl
ZSB0aGF0IHRoZSBkYXRhIGJ1ZmZlciB3aWxsIG5vdCBiZSBwdXJnZWQuCitjbGFzcyBQZW5kaW5n
U2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlLCBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CitwdWJs
aWM6CisgICAgUGVuZGluZ1NjcmlwdCgpCisgICAgICAgIDogbV9zdGFydGluZ0xpbmVOdW1iZXIo
MCkKKyAgICAgICAgLCBtX3dhdGNoaW5nRm9yTG9hZChmYWxzZSkKKyAgICB7CisgICAgfQorCisg
ICAgflBlbmRpbmdTY3JpcHQoKTsKKworICAgIC8vIEZJWE1FOiBObyBzZXR0ZXIgbWVhbnMgdGhp
cyBpcyBuZXZlciBzZXQgdG8gYW55dGhpbmcgb3RoZXIgdGhhbiAwLgorICAgIC8vIFRoaXMgaXMg
ZWl0aGVyIHVubmVjZXNzYXJ5IG9yIGluY29ycmVjdC4KKyAgICBpbnQgc3RhcnRpbmdMaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9zdGFydGluZ0xpbmVOdW1iZXI7IH0KKworICAgIGJvb2wg
d2F0Y2hpbmdGb3JMb2FkKCkgY29uc3QgeyByZXR1cm4gbV93YXRjaGluZ0ZvckxvYWQ7IH0KKyAg
ICB2b2lkIHNldFdhdGNoaW5nRm9yTG9hZChib29sIGIpIHsgbV93YXRjaGluZ0ZvckxvYWQgPSBi
OyB9CisKKyAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50Lmdl
dCgpOyB9CisgICAgdm9pZCBhZG9wdEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgeyBtX2VsZW1l
bnQgPSBlbGVtZW50OyB9CisgICAgUGFzc1JlZlB0cjxFbGVtZW50PiByZWxlYXNlRWxlbWVudEFu
ZENsZWFyKCk7CisKKyAgICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCgpIGNvbnN0OworICAg
IHZvaWQgc2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlwdCopOworCisgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKik7CisKK3ByaXZhdGU6CisgICAgaW50IG1f
c3RhcnRpbmdMaW5lTnVtYmVyOyAvLyBPbmx5IHVzZWQgZm9yIGlubGluZSBzY3JpcHQgdGFncy4K
KyAgICBib29sIG1fd2F0Y2hpbmdGb3JMb2FkOworICAgIFJlZlB0cjxFbGVtZW50PiBtX2VsZW1l
bnQ7CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlw
dDsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFNjcmlw
dFJ1bm5lci5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdFJ1bm5lci5jcHAKaW5kZXggZjRi
NzAxMzNlMmE4ZDk3M2Y2M2E2YjhiMjgwN2I4ZGQ5MGEzOGJjMi4uNGE5MDU4ZmFmNDVjZDg1MjFi
ZDNhYTM5YWUxMGYxZDViMGY3ZDVmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTY3Jp
cHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmNwcApAQCAt
MTA1LDcgKzEwNSw3IEBAIFNjcmlwdFNvdXJjZUNvZGUgSFRNTFNjcmlwdFJ1bm5lcjo6c291cmNl
RnJvbVBlbmRpbmdTY3JpcHQoY29uc3QgUGVuZGluZ1NjcmlwdCYKICAgICAgICAgcmV0dXJuIFNj
cmlwdFNvdXJjZUNvZGUoc2NyaXB0LmNhY2hlZFNjcmlwdCgpKTsKICAgICB9CiAgICAgZXJyb3JP
Y2N1cnJlZCA9IGZhbHNlOwotICAgIHJldHVybiBTY3JpcHRTb3VyY2VDb2RlKHNjcmlwdC5lbGVt
ZW50LT50ZXh0Q29udGVudCgpLCBkb2N1bWVudFVSTEZvclNjcmlwdEV4ZWN1dGlvbihtX2RvY3Vt
ZW50KSwgc2NyaXB0LnN0YXJ0aW5nTGluZU51bWJlcik7CisgICAgcmV0dXJuIFNjcmlwdFNvdXJj
ZUNvZGUoc2NyaXB0LmVsZW1lbnQoKS0+dGV4dENvbnRlbnQoKSwgZG9jdW1lbnRVUkxGb3JTY3Jp
cHRFeGVjdXRpb24obV9kb2N1bWVudCksIHNjcmlwdC5zdGFydGluZ0xpbmVOdW1iZXIoKSk7CiB9
CiAKIGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6aXNQZW5kaW5nU2NyaXB0UmVhZHkoY29uc3QgUGVu
ZGluZ1NjcmlwdCYgc2NyaXB0KQpAQCAtMTk1LDcgKzE5NSw3IEBAIGJvb2wgSFRNTFNjcmlwdFJ1
bm5lcjo6ZXhlY3V0ZShQYXNzUmVmUHRyPEVsZW1lbnQ+IHNjcmlwdEVsZW1lbnQsIGludCBzdGFy
dExpbmUpCiAKIGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6aGF2ZVBhcnNpbmdCbG9ja2luZ1Njcmlw
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICEhbV9wYXJzaW5nQmxvY2tpbmdTY3JpcHQuZWxlbWVu
dDsKKyAgICByZXR1cm4gISFtX3BhcnNpbmdCbG9ja2luZ1NjcmlwdC5lbGVtZW50KCk7CiB9CiAK
IGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVBhcnNpbmdCbG9ja2luZ1NjcmlwdHMoKQpA
QCAtMjMwLDcgKzIzMCw3IEBAIGJvb2wgSFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdHNX
YWl0aW5nRm9yU3R5bGVzaGVldHMoKQogCiB2b2lkIEhUTUxTY3JpcHRSdW5uZXI6OnJlcXVlc3RT
Y3JpcHQoRWxlbWVudCogc2NyaXB0KQogewotICAgIEFTU0VSVCghbV9wYXJzaW5nQmxvY2tpbmdT
Y3JpcHQuZWxlbWVudCk7CisgICAgQVNTRVJUKCFtX3BhcnNpbmdCbG9ja2luZ1NjcmlwdC5lbGVt
ZW50KCkpOwogICAgIEF0b21pY1N0cmluZyBzcmNWYWx1ZSA9IHNjcmlwdC0+Z2V0QXR0cmlidXRl
KHNyY0F0dHIpOwogICAgIC8vIEFsbG93IHRoZSBob3N0IHRvIGRpc2xsb3cgc2NyaXB0IGxvYWRz
ICh1c2luZyB0aGUgWFNTQXVkaXRvciwgZXRjLikKICAgICBpZiAoIW1faG9zdC0+c2hvdWxkTG9h
ZEV4dGVybmFsU2NyaXB0RnJvbVNyYyhzcmNWYWx1ZSkpCkBAIC0yMzgsNyArMjM4LDcgQEAgdm9p
ZCBIVE1MU2NyaXB0UnVubmVyOjpyZXF1ZXN0U2NyaXB0KEVsZW1lbnQqIHNjcmlwdCkKICAgICAv
LyBGSVhNRTogV2UgbmVlZCB0byByZXNvbHZlIHRoZSB1cmwgcmVsYXRpdmUgdG8gdGhlIGVsZW1l
bnQuCiAgICAgaWYgKCFzY3JpcHQtPmRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KHNyY1ZhbHVlKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIG1fcGFyc2luZ0Jsb2NraW5nU2NyaXB0LmVsZW1lbnQgPSBz
Y3JpcHQ7CisgICAgbV9wYXJzaW5nQmxvY2tpbmdTY3JpcHQuYWRvcHRFbGVtZW50KHNjcmlwdCk7
CiAgICAgLy8gVGhpcyBzaG91bGQgY29ycmVjdGx5IHJldHVybiAwIGZvciBlbXB0eSBvciBpbnZh
bGlkIHNyY1ZhbHVlcy4KICAgICBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCA9IG1fZG9jdW1l
bnQtPmRvY0xvYWRlcigpLT5yZXF1ZXN0U2NyaXB0KHNyY1ZhbHVlLCB0b1NjcmlwdEVsZW1lbnQo
c2NyaXB0KS0+c2NyaXB0Q2hhcnNldCgpKTsKICAgICBpZiAoIWNhY2hlZFNjcmlwdCkgewpAQCAt
Mjc4LDM0ICsyNzgsNCBAQCB2b2lkIEhUTUxTY3JpcHRSdW5uZXI6OnJ1blNjcmlwdChFbGVtZW50
KiBzY3JpcHQsIGludCBzdGFydGluZ0xpbmVOdW1iZXIpCiAgICAgfQogfQogCi1IVE1MU2NyaXB0
UnVubmVyOjpQZW5kaW5nU2NyaXB0Ojp+UGVuZGluZ1NjcmlwdCgpCi17Ci0gICAgaWYgKG1fY2Fj
aGVkU2NyaXB0KQotICAgICAgICBtX2NhY2hlZFNjcmlwdC0+cmVtb3ZlQ2xpZW50KHRoaXMpOwot
fQotCi1QYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxTY3JpcHRSdW5uZXI6OlBlbmRpbmdTY3JpcHQ6
OnJlbGVhc2VFbGVtZW50QW5kQ2xlYXIoKQotewotICAgIHNldENhY2hlZFNjcmlwdCgwKTsKLSAg
ICBzdGFydGluZ0xpbmVOdW1iZXIgPSAwOwotICAgIG1fd2F0Y2hpbmdGb3JMb2FkID0gZmFsc2U7
Ci0gICAgcmV0dXJuIGVsZW1lbnQucmVsZWFzZSgpOwotfQotCi12b2lkIEhUTUxTY3JpcHRSdW5u
ZXI6OlBlbmRpbmdTY3JpcHQ6OnNldENhY2hlZFNjcmlwdChDYWNoZWRTY3JpcHQqIGNhY2hlZFNj
cmlwdCkKLXsKLSAgICBpZiAobV9jYWNoZWRTY3JpcHQgPT0gY2FjaGVkU2NyaXB0KQotICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKG1fY2FjaGVkU2NyaXB0KQotICAgICAgICBtX2NhY2hlZFNjcmlw
dC0+cmVtb3ZlQ2xpZW50KHRoaXMpOwotICAgIG1fY2FjaGVkU2NyaXB0ID0gY2FjaGVkU2NyaXB0
OwotICAgIGlmIChtX2NhY2hlZFNjcmlwdCkKLSAgICAgICAgbV9jYWNoZWRTY3JpcHQtPmFkZENs
aWVudCh0aGlzKTsKLX0KLQotQ2FjaGVkU2NyaXB0KiBIVE1MU2NyaXB0UnVubmVyOjpQZW5kaW5n
U2NyaXB0OjpjYWNoZWRTY3JpcHQoKSBjb25zdAotewotICAgIHJldHVybiBtX2NhY2hlZFNjcmlw
dC5nZXQoKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRSdW5u
ZXIuaCBiL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggY2M2OTQ0MzUxNDQx
N2JlMzMzY2Y0ZGE3OGMwOTI0NGMyMjMzOWJmYi4uODU4MDFiMjk0NDEyZDg3YTQ5MGUwNmM5ODVm
ZDY1ZmFiY2MxNTUzMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRSdW5uZXIu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yNiwxNCArMjYsMTMg
QEAKICNpZm5kZWYgSFRNTFNjcmlwdFJ1bm5lcl9oCiAjZGVmaW5lIEhUTUxTY3JpcHRSdW5uZXJf
aAogCi0jaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCIKLSNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZUhhbmRsZS5oIgorI2luY2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50OworY2xhc3MgQ2FjaGVk
UmVzb3VyY2U7CiBjbGFzcyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVs
ZW1lbnQ7CkBAIC01Niw0NSArNTUsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0V4ZWN1dGluZ1Nj
cmlwdCgpIHsgcmV0dXJuICEhbV9zY3JpcHROZXN0aW5nTGV2ZWw7IH0KIAogcHJpdmF0ZToKLSAg
ICAvLyBBIGNvbnRhaW5lciBmb3IgYW4gZXh0ZXJuYWwgc2NyaXB0IHdoaWNoIG1heSBiZSBsb2Fk
ZWQgYW5kIGV4ZWN1dGVkLgotICAgIC8vCi0gICAgLy8gQSBDYWNoZWRSZXNvdXJjZUhhbmRsZSBh
bG9uZSBkb2VzIG5vdCBwcmV2ZW50IHRoZSB1bmRlcmx5aW5nIENhY2hlZFJlc291cmNlCi0gICAg
Ly8gZnJvbSBwdXJnaW5nIGl0cyBkYXRhIGJ1ZmZlci4gVGhpcyBjbGFzcyBob2xkcyBhIGR1bW15
IGNsaWVudCBvcGVuIGZvciBpdHMKLSAgICAvLyBsaWZldGltZSBpbiBvcmRlciB0byBndWFyYW50
ZWUgdGhhdCB0aGUgZGF0YSBidWZmZXIgd2lsbCBub3QgYmUgcHVyZ2VkLgotICAgIC8vCi0gICAg
Ly8gRklYTUU6IEZpbmlzaCB0dXJuaW5nIHRoaXMgaW50byBhIHByb3BlciBjbGFzcy4KLSAgICBj
bGFzcyBQZW5kaW5nU2NyaXB0IDogcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50LCBOb25jb3B5
YWJsZSB7Ci0gICAgcHVibGljOgotICAgICAgICBQZW5kaW5nU2NyaXB0KCkKLSAgICAgICAgICAg
IDogc3RhcnRpbmdMaW5lTnVtYmVyKDApCi0gICAgICAgICAgICAsIG1fd2F0Y2hpbmdGb3JMb2Fk
KGZhbHNlKQotICAgICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICB+UGVuZGluZ1NjcmlwdCgp
OwotCi0gICAgICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gcmVsZWFzZUVsZW1lbnRBbmRDbGVhcigp
OwotCi0gICAgICAgIGJvb2wgd2F0Y2hpbmdGb3JMb2FkKCkgY29uc3QgeyByZXR1cm4gbV93YXRj
aGluZ0ZvckxvYWQ7IH0KLSAgICAgICAgdm9pZCBzZXRXYXRjaGluZ0ZvckxvYWQoYm9vbCBiKSB7
IG1fd2F0Y2hpbmdGb3JMb2FkID0gYjsgfQotCi0gICAgICAgIENhY2hlZFNjcmlwdCogY2FjaGVk
U2NyaXB0KCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0Q2FjaGVkU2NyaXB0KENhY2hlZFNjcmlw
dCopOwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJj
ZSopCi0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAgICAgIFJlZlB0cjxFbGVtZW50PiBlbGVt
ZW50OwotICAgICAgICBpbnQgc3RhcnRpbmdMaW5lTnVtYmVyOyAvLyBPbmx5IHVzZWQgZm9yIGlu
bGluZSBzY3JpcHQgdGFncy4KLSAgICAgICAgLy8gSFRNTDUgaGFzIGFuIGlzUmVhZHkgcGFyYW1l
dGVyLCBob3dldmVyIGlzUmVhZHkgZW5kcyB1cCBlcXVpdmFsZW50IHRvCi0gICAgICAgIC8vIG1f
ZG9jdW1lbnQtPmhhdmVTdHlsZXNoZWV0c0xvYWRlZCgpICYmIGNhY2hlZFNjcmlwdC0+aXNMb2Fk
ZWQoKQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgYm9vbCBtX3dhdGNoaW5nRm9yTG9hZDsKLSAg
ICAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkU2NyaXB0PiBtX2NhY2hlZFNjcmlwdDsK
LSAgICB9OwotCiAgICAgRnJhbWUqIGZyYW1lKCkgY29uc3Q7CiAKICAgICBib29sIGhhdmVQYXJz
aW5nQmxvY2tpbmdTY3JpcHQoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>