<?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>120875</bug_id>
          
          <creation_ts>2013-09-06 11:50:45 -0700</creation_ts>
          <short_desc>MediaStream API: Remove LocalMediaStream</short_desc>
          <delta_ts>2013-09-13 16:26:47 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121101</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luciano.wolf</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>tommyw</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>925754</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-06 11:50:45 -0700</bug_when>
    <thetext>Consider merging https://chromium.googlesource.com/chromium/blink/+/81643ee3fe048a64fa8931132e1294fa2c8e821a 

The subclass LocalMediaStream have been removed from the getusermedia specification:
http://dev.w3.org/2011/webrtc/editor/getusermedia.html

The stop method will be moved temporarily to MediaStream until MediaStreamTrack has been updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927628</commentid>
    <comment_count>1</comment_count>
      <attachid>211275</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-09-10 20:15:55 -0700</bug_when>
    <thetext>Created attachment 211275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927630</commentid>
    <comment_count>2</comment_count>
      <attachid>211275</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-10 20:40:16 -0700</bug_when>
    <thetext>Comment on attachment 211275
Patch

Attachment 211275 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1736748</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927632</commentid>
    <comment_count>3</comment_count>
      <attachid>211275</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-10 20:58:11 -0700</bug_when>
    <thetext>Comment on attachment 211275
Patch

Attachment 211275 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1731829</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927656</commentid>
    <comment_count>4</comment_count>
      <attachid>211275</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-09-10 23:59:17 -0700</bug_when>
    <thetext>Comment on attachment 211275
Patch

Attachment 211275 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1743456</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927890</commentid>
    <comment_count>5</comment_count>
      <attachid>211334</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-09-11 11:31:24 -0700</bug_when>
    <thetext>Created attachment 211334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927965</commentid>
    <comment_count>6</comment_count>
      <attachid>211334</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-09-11 13:51:58 -0700</bug_when>
    <thetext>Comment on attachment 211334
Patch

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

r=me with the changes noted.

&gt; Source/WebCore/ChangeLog:8
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=120875
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Existing tests were updated.

This should reference the Blink change this was merged from.

&gt; Source/WebCore/Modules/mediastream/MediaStream.h:-53
&gt; -    // DEPRECATED
&gt; -    String label() const { return m_descriptor-&gt;id(); }
&gt; -

This is unrelated, it should be removed in another patch.

&gt; Source/WebCore/Modules/mediastream/MediaStream.idl:-37
&gt; -    // DEPRECATED
&gt; -    readonly attribute DOMString label;
&gt; -

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927992</commentid>
    <comment_count>7</comment_count>
      <attachid>211356</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-09-11 14:56:13 -0700</bug_when>
    <thetext>Created attachment 211356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928018</commentid>
    <comment_count>8</comment_count>
      <attachid>211356</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-11 15:31:29 -0700</bug_when>
    <thetext>Comment on attachment 211356
Patch

Clearing flags on attachment: 211356

Committed r155573: &lt;http://trac.webkit.org/changeset/155573&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211275</attachid>
            <date>2013-09-10 20:15:55 -0700</date>
            <delta_ts>2013-09-11 11:31:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120875-20130911001553.patch</filename>
            <type>text/plain</type>
            <size>26082</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1NDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTVmYTQ0Mzc2M2YwMWZi
M2M3ZGE0ZTMwZGYyZDUwNTc4MzhhMWJkYi4uZTRhODk1Y2Y5ZGFjMjNmNjIxM2E1OWY3MzA2NjNj
ZmMwZGZkMDNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA5LTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVtb3ZlIExvY2FsTWVkaWFTdHJlYW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDg3NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHdl
cmUgdXBkYXRlZC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmg6IFJlbW92ZWQuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtOjpzdG9wKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJl
cXVlc3Q6OnN1Y2NlZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Up
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25O
b2RlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorCiAyMDEz
LTA5LTEwICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBVcHN0cmVhbSB0ZXh0IGF1dG9zaXppbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjYwMDJk
ZTI4ZGM2MDQ5NDY1NTRiOGE1ZWE0MDVkNTFkMjQ5MTRmYi4uYjRiZDMyMTFkNDVmYjcwYzM1NDY2
ZmRmMTVkZmY1YjIzMDY2Y2Y2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIxMSw3ICsyMTEs
NiBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5pZGwKICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaWRs
CiAKLSAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaWRsCiAgICAgTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRXZlbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmlkbApAQCAtODMzLDcgKzgzMiw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKICAgICBNb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCiAKLSAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0xvY2Fs
TWVkaWFTdHJlYW0uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRz
SW1wbC5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAogICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTRkNTAxZWJjOWFiZmMzYTk3YjExNjA0NTYyNTFl
MzQ5YTI0ZjhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
RXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiTG9jYWxNZWRpYVN0cmVhbS5oIgotCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIk1lZGlhU3RyZWFtQ2VudGVyLmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBMb2NhbE1lZGlhU3Ry
ZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgTWVkaWFT
dHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VW
ZWN0b3ImIHZpZGVvU291cmNlcykKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IExvY2FsTWVk
aWFTdHJlYW0oY29udGV4dCwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3Vy
Y2VzLCB2aWRlb1NvdXJjZXMpKSk7Ci19Ci0KLVBhc3NSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4g
TG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBzdHJlYW1EZXNjcmlwdG9yKQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgTG9jYWxNZWRpYVN0cmVhbShjb250ZXh0LCBzdHJlYW1E
ZXNjcmlwdG9yKSk7Ci19Ci0KLUxvY2FsTWVkaWFTdHJlYW06OkxvY2FsTWVkaWFTdHJlYW0oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2Ny
aXB0b3I+IHN0cmVhbURlc2NyaXB0b3IpCi0gICAgOiBNZWRpYVN0cmVhbShjb250ZXh0LCBzdHJl
YW1EZXNjcmlwdG9yKQotewotfQotCi12b2lkIExvY2FsTWVkaWFTdHJlYW06OnN0b3AoKQotewot
ICAgIGlmIChlbmRlZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBNZWRpYVN0cmVhbUNlbnRl
cjo6aW5zdGFuY2UoKS5kaWRTdG9wTG9jYWxNZWRpYVN0cmVhbShkZXNjcmlwdG9yKCkpOwotCi0g
ICAgc3RyZWFtRW5kZWQoKTsKLX0KLQotTG9jYWxNZWRpYVN0cmVhbTo6fkxvY2FsTWVkaWFTdHJl
YW0oKQotewotfQotCi1jb25zdCBBdG9taWNTdHJpbmcmIExvY2FsTWVkaWFTdHJlYW06OmludGVy
ZmFjZU5hbWUoKSBjb25zdAotewotICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9y
TG9jYWxNZWRpYVN0cmVhbTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDdjNDgxMDdiMTFiYzRlOTcyZDkzMTE3MTliOWIzYTYwMmQwNWUwZmYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIExvY2FsTWVkaWFTdHJlYW1faAotI2Rl
ZmluZSBMb2NhbE1lZGlhU3RyZWFtX2gKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNp
bmNsdWRlICJNZWRpYVN0cmVhbS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIExv
Y2FsTWVkaWFTdHJlYW0gOiBwdWJsaWMgTWVkaWFTdHJlYW0gewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcyk7Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pOwotICAgIHZpcnR1YWwgfkxvY2FsTWVk
aWFTdHJlYW0oKTsKLQotICAgIHZvaWQgc3RvcCgpOwotCi0gICAgLy8gTWVkaWFTdHJlYW0KLSAg
ICB2aXJ0dWFsIGJvb2wgaXNMb2NhbCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0K
LQotICAgIC8vIEV2ZW50VGFyZ2V0Ci0gICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGlu
dGVyZmFjZU5hbWUoKSBjb25zdCBPVkVSUklERTsKLQotcHJpdmF0ZToKLSAgICBMb2NhbE1lZGlh
U3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcj4pOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKLQotI2VuZGlmIC8vIExvY2FsTWVkaWFTdHJlYW1faApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFt
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVh
bS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0YjQ4MGY4NjM5OTllMGYzOTMy
ZmY2NTlmYTNiYzE5MDAxOGIzYzUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlh
U3RyZWFtLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0g
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LVsKLSAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCi0gICAgRXZlbnRUYXJnZXQsCi0gICAg
SlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAotICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0Ci1dIGlu
dGVyZmFjZSBMb2NhbE1lZGlhU3RyZWFtIDogTWVkaWFTdHJlYW0gewotICAgIHZvaWQgc3RvcCgp
OwotfTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcAppbmRleCBmOWNmODM1NTU1MmMzZTFkNjUwZWI2YjQxZjVkMmEzNDg5NGRhZGIy
Li5iODEwZmE4NDNhYjZhZWQ5NDYzNWY4YjY2ZDE5NTY4M2I4NTFjMzg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcApAQCAtMTMy
LDYgKzEzMiwxNSBAQCBib29sIE1lZGlhU3RyZWFtOjplbmRlZCgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fc3RvcHBlZCB8fCBtX2Rlc2NyaXB0b3ItPmVuZGVkKCk7CiB9CiAKK3ZvaWQgTWVkaWFTdHJl
YW06OnN0b3AoKQoreworICAgIGlmIChlbmRlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBN
ZWRpYVN0cmVhbUNlbnRlcjo6aW5zdGFuY2UoKS5kaWRTdG9wTG9jYWxNZWRpYVN0cmVhbShkZXNj
cmlwdG9yKCkpOworICAgIHN0cmVhbUVuZGVkKCk7Cit9CisKIHZvaWQgTWVkaWFTdHJlYW06OmFk
ZFRyYWNrKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gcHJwVHJhY2ssIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIGlmIChlbmRlZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKaW5kZXggNzgyYjkyMzU5Mjg4MDdjOTlkNTY4
Yzg1OGY1YTRjY2Q2YjUwNzExOC4uNmFlNGQ5OTZjNDg4MTY5M2FlZTUzYjBmZmJmOThjMmZiYjIy
MzBhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW0uaApAQCAtNDgsOSArNDgsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW0+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+KTsKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbSgpOwogCi0g
ICAgLy8gREVQUkVDQVRFRAotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVz
Y3JpcHRvci0+aWQoKTsgfQotCiAgICAgU3RyaW5nIGlkKCkgY29uc3QgeyByZXR1cm4gbV9kZXNj
cmlwdG9yLT5pZCgpOyB9CiAKICAgICB2b2lkIGFkZFRyYWNrKFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1UcmFjaz4sIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTYxLDYgKzU4LDcgQEAgcHVibGljOgogICAg
IE1lZGlhU3RyZWFtVHJhY2tWZWN0b3IgZ2V0VmlkZW9UcmFja3MoKSBjb25zdCB7IHJldHVybiBt
X3ZpZGVvVHJhY2tzOyB9CiAKICAgICBib29sIGVuZGVkKCkgY29uc3Q7CisgICAgdm9pZCBzdG9w
KCk7CiAKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVuZGVkKTsKICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHRyYWNrKTsKQEAgLTcwLDggKzY4LDYg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0cmFja0VuZGVkKCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHN0cmVhbUVuZGVkKCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIGJvb2wg
aXNMb2NhbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KICAgICBNZWRpYVN0cmVhbURlc2Ny
aXB0b3IqIGRlc2NyaXB0b3IoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3IuZ2V0KCk7IH0K
IAogICAgIC8vIEV2ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsCmluZGV4IGJhMWRjNjM5MjQzZWYwZjhmYmQ2YThiZTJk
MGJiZDJlODEzNTkwODYuLjZiNDc0YTk0YzFiMmYxNmNmMjcxYjQzNDliZmE5NjQxYzBmNmIyYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0uaWRsCkBAIC0yOSwxMiArMjksOCBAQAogICAgIENvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0
cmVhbSksCiAgICAgQ29uc3RydWN0b3IoTWVkaWFTdHJlYW1UcmFja1tdIHRyYWNrcyksCiAgICAg
Q29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAotICAgIFNraXBWVGFi
bGVWYWxpZGF0aW9uLAogICAgIEludGVyZmFjZU5hbWU9d2Via2l0TWVkaWFTdHJlYW0KIF0gaW50
ZXJmYWNlIE1lZGlhU3RyZWFtIHsKLSAgICAvLyBERVBSRUNBVEVECi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBsYWJlbDsKLQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgaWQ7CiAKICAgICBzZXF1ZW5jZTxNZWRpYVN0cmVhbVRyYWNrPiBnZXRBdWRpb1RyYWNrcygp
OwpAQCAtNDUsNiArNDEsNyBAQAogICAgIE1lZGlhU3RyZWFtVHJhY2sgZ2V0VHJhY2tCeUlkKERP
TVN0cmluZyB0cmFja0lkKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGVuZGVk
OworICAgIHZvaWQgc3RvcCgpOwogCiAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lbmRl
ZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmFkZHRyYWNrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKaW5kZXggMmI2YWFlNWRmMDMwOTRiZTc4N2Nh
ZjgxODliYTMwNzk5ZmY2MDg3MS4uOWY0NTZlYWRjNmFlNDk0MTg2Y2YwN2M2ZTJhNTJlMDQ3NjNm
OTk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0z
MSwxMiArMzEsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbE1lZGlh
U3RyZWFtOworY2xhc3MgTWVkaWFTdHJlYW07CiAKIGNsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjaz4gewogcHVibGljOgogICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjaygpIHsgfQotICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChMb2NhbE1l
ZGlhU3RyZWFtKikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChNZWRpYVN0cmVh
bSopID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAppbmRleCAyMjZhOWE2OWQzZDIyZTgxZGRjNmFk
NzI0YTg5M2FiZWJmMWYwNGZlLi4zOTEyNzk3ZDMxM2UyYWFlZTRiODA4YjJkMDBjMTRhN2VlMWFi
MDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCkBA
IC0yNSw2ICsyNSw2IEBACiBbCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAogXSBjYWxs
YmFjayBpbnRlcmZhY2UgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHsKLSAgICBi
b29sZWFuIGhhbmRsZUV2ZW50KExvY2FsTWVkaWFTdHJlYW0gc3RyZWFtKTsKKyAgICBib29sZWFu
IGhhbmRsZUV2ZW50KE1lZGlhU3RyZWFtIHN0cmVhbSk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRl
eCA2MjNhY2JjYzgxZGNjMDEwMzYyYmI3MDYwODZhMTZiNDA1MmZlOWY5Li5jNjRlZGVlZWRhYWZm
OWVjODdlMzgzYTM3NGE2NDFhYTA5NGQ1YTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTM4LDggKzM4
LDggQEAKICNpbmNsdWRlICJEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiTG9jYWxNZWRpYVN0cmVhbS5oIgog
I2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHNJbXBsLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0u
aCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNlbnRlci5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFt
RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKQEAgLTEzNSwyMSAr
MTM1LDEyIEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGlkQ29tcGxldGVRdWVyeShjb25zdCBN
ZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyCiAgICAgICAgIG1fY29udHJvbGxlci0+
cmVxdWVzdFVzZXJNZWRpYSh0aGlzLCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7CiB9CiAK
LXZvaWQgVXNlck1lZGlhUmVxdWVzdDo6c3VjY2VlZChjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9T
b3VyY2VzKQotewotICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gc3RyZWFtID0gTG9jYWxNZWRp
YVN0cmVhbTo6Y3JlYXRlKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2
aWRlb1NvdXJjZXMpOwotICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChzdHJlYW0u
Z2V0KCkpOwotfQotCiB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OnN1Y2NlZWQoUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IHN0cmVhbURlc2NyaXB0b3IpCiB7CiAgICAgaWYgKCFtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxMb2Nh
bE1lZGlhU3RyZWFtPiBzdHJlYW0gPSBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUobV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdHJlYW1EZXNjcmlwdG9yKTsKKyAgICBSZWZQdHI8TWVkaWFTdHJl
YW0+IHN0cmVhbSA9IE1lZGlhU3RyZWFtOjpjcmVhdGUobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBzdHJlYW1EZXNjcmlwdG9yKTsKICAgICBtX3N1Y2Nlc3NDYWxsYmFjay0+aGFuZGxlRXZlbnQo
c3RyZWFtLmdldCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCA2NGQwYjE3ZWQ5YTA2ODNjNzRlMWFj
Yjc4YjIyOWU3OTY1Y2E4OTRkLi43ODgxNDk2NjMwYmQ3OTRkMzY0MjhiMGVmOWQzNzMzMDY3OTFh
YTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaApAQCAtNjMsNyArNjMsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0
YXJ0KCk7CiAKLSAgICB2b2lkIHN1Y2NlZWQoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNl
cyk7CiAgICAgdm9pZCBzdWNjZWVkKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPik7
CiAgICAgdm9pZCBmYWlsKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmNwcAppbmRleCBjY2RiMzA1ZmQ5OWExMjk2MTVhZGU5MTc1MTQxYWE4
YWFlZWYwODgwLi5mZTljNDU1MGY5Yzc4NWYwZWIyYTNiZWNjMTc3YjFiMmZiZDMwY2VkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBA
IC00MTgsMTUgKzQxOCwxNSBAQCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
PiBBdWRpb0NvbnRleHQ6OmNyZWF0ZU1lZGlhU3RyZWFtU291cmNlKE1lZAogICAgIEF1ZGlvU291
cmNlUHJvdmlkZXIqIHByb3ZpZGVyID0gMDsKIAogICAgIE1lZGlhU3RyZWFtVHJhY2tWZWN0b3Ig
YXVkaW9UcmFja3MgPSBtZWRpYVN0cmVhbS0+Z2V0QXVkaW9UcmFja3MoKTsKLSAgICBpZiAobWVk
aWFTdHJlYW0tPmlzTG9jYWwoKSAmJiBhdWRpb1RyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgLy8g
RW5hYmxlIGlucHV0IGZvciB0aGUgc3BlY2lmaWMgbG9jYWwgYXVkaW8gZGV2aWNlIHNwZWNpZmll
ZCBpbiB0aGUgTWVkaWFTdHJlYW1Tb3VyY2UuCi0gICAgICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRy
YWNrPiBsb2NhbEF1ZGlvID0gYXVkaW9UcmFja3NbMF07CisgICAgLy8gRklYTUU6IGdldCBhIHBy
b3ZpZGVyIGZvciBub24tbG9jYWwgTWVkaWFTdHJlYW1zIChsaWtlIGZyb20gYSByZW1vdGUgcGVl
cikuCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhdWRpb1RyYWNrcy5zaXplKCk7ICsraSkg
eworICAgICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gbG9jYWxBdWRpbyA9IGF1ZGlvVHJh
Y2tzW2ldOwogICAgICAgICBNZWRpYVN0cmVhbVNvdXJjZSogc291cmNlID0gbG9jYWxBdWRpby0+
Y29tcG9uZW50KCktPnNvdXJjZSgpOwotICAgICAgICBkZXN0aW5hdGlvbigpLT5lbmFibGVJbnB1
dChzb3VyY2UtPmRldmljZUlkKCkpOwotICAgICAgICBwcm92aWRlciA9IGRlc3RpbmF0aW9uKCkt
PmxvY2FsQXVkaW9JbnB1dFByb3ZpZGVyKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gRklY
TUU6IGdldCBhIHByb3ZpZGVyIGZvciBub24tbG9jYWwgTWVkaWFTdHJlYW1zIChsaWtlIGZyb20g
YSByZW1vdGUgcGVlcikuCi0gICAgICAgIHByb3ZpZGVyID0gMDsKKyAgICAgICAgaWYgKCFzb3Vy
Y2UtPmRldmljZUlkKCkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBkZXN0aW5hdGlvbigpLT5l
bmFibGVJbnB1dChzb3VyY2UtPmRldmljZUlkKCkpOworICAgICAgICAgICAgcHJvdmlkZXIgPSBk
ZXN0aW5hdGlvbigpLT5sb2NhbEF1ZGlvSW5wdXRQcm92aWRlcigpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICB9CiAKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGU+IG5vZGUgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKHRoaXMsIG1l
ZGlhU3RyZWFtLCBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cAppbmRleCAzNjEzZGJlOWVhM2IzNjI1NTg3Y2VhODI4NmRkM2U0ZWMzYzM4YzVkLi5kNTdiZWI4
ZDBmOTgzYTQ3Y2MzN2NlOTJmMjE1Y2VhZDYyNTM4Mzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQ29u
dGV4dC5oIgogI2luY2x1ZGUgIkF1ZGlvTm9kZUlucHV0LmgiCi0jaW5jbHVkZSAiTG9jYWxNZWRp
YVN0cmVhbS5oIgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW1DZW50ZXIuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKICNpbmNs
dWRlICJVVUlELmgiCkBAIC01Myw3ICs1Myw3IEBAIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlv
bk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVkaW9Db250ZXh0KiBjCiAg
ICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgYXVkaW9Tb3VyY2VzOwogICAgIGF1ZGlvU291cmNl
cy5hcHBlbmQobV9zb3VyY2UpOwogICAgIE1lZGlhU3RyZWFtU291cmNlVmVjdG9yIHZpZGVvU291
cmNlczsKLSAgICBtX3N0cmVhbSA9IExvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZShjb250ZXh0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAg
ICBtX3N0cmVhbSA9IE1lZGlhU3RyZWFtOjpjcmVhdGUoY29udGV4dC0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZp
ZGVvU291cmNlcykpOwogICAgIE1lZGlhU3RyZWFtQ2VudGVyOjppbnN0YW5jZSgpLmRpZENyZWF0
ZU1lZGlhU3RyZWFtKG1fc3RyZWFtLT5kZXNjcmlwdG9yKCkpOwogCiAgICAgbV9zb3VyY2UtPnNl
dEF1ZGlvRm9ybWF0KG51bWJlck9mQ2hhbm5lbHMsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGEyMWJkMDBiMGZmNzYyMzJmNTQyZWZhZTI3OTQx
ZWNhNzA3NmNkYmYuLjkyOGI2MmY5ZGQ2OGNhODFlMGNkZGM3ODM5ZWM1Y2IxNmJhYzU0YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC01NSw3ICs1NSw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBJREJSZXF1ZXN0OwogICAgIGNsYXNzIElEQlRyYW5zYWN0aW9uOwog
ICAgIGNsYXNzIFNjcmlwdFByb2Nlc3Nvck5vZGU7Ci0gICAgY2xhc3MgTG9jYWxNZWRpYVN0cmVh
bTsKICAgICBjbGFzcyBNZWRpYUNvbnRyb2xsZXI7CiAgICAgY2xhc3MgTWVkaWFTb3VyY2U7CiAg
ICAgY2xhc3MgTWVkaWFTdHJlYW07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9y
eS5pbgppbmRleCBhZWVhOTZhNmNjMmE2MDI5ODg5NjIxYWNlY2NmOGU0ZmI3YzcwMTUxLi4yZjVi
ZThkZWQ0YWI0YTliYzE2YjdlYzQ4NGMwMWE2MzFhMDFmYmNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE1LDcgKzE1LDYgQEAgSURCRGF0YWJhc2UgY29u
ZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSURCT3BlbkRCUmVxdWVzdCBjb25kaXRpb25hbD1J
TkRFWEVEX0RBVEFCQVNFCiBJREJSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UK
IElEQlRyYW5zYWN0aW9uIGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKLUxvY2FsTWVkaWFT
dHJlYW0gY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYUtleVNlc3Npb24gY29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBX1YyCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8K
IE1lZGlhU291cmNlIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3Iu
aAppbmRleCBhMDEzZDQ5Y2RkZmMxNjcyMjViNGJjNzkxMzQxM2U3NWZjY2MyZTgyLi44NTAwZjYy
NWU2MWE0ZDU3NTUyZmJkMzA3Y2I5MzcxNDljYzdlNDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3Iu
aApAQCAtMzYsNiArMzYsNyBAQAogCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Db21wb25lbnQuaCIK
ICNpbmNsdWRlICJNZWRpYVN0cmVhbVNvdXJjZS5oIgorI2luY2x1ZGUgIlVVSUQuaCIKICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDRiNzRkNmNiNDI2ZGRjNmRmNjgyMzk0OTNjZjA4OTE1OTI4YzJjMzEuLjNhOTk1MGRmNmYwN2U2
ZDBmYzIzZWE0YTkwYTdlOGIwNThhMWUwN2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0w
OS0xMCAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3Nh
Lm9yZz4KKworICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IFJlbW92ZSBMb2NhbE1lZGlhU3RyZWFt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA4NzUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
bWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS1vbmVuZGVkLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0tb25lbmRlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25l
bmRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS1vbmVuZGVkLmh0bWw6CisKIDIwMTMtMDktMTAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVwc3RyZWFtIHRleHQgYXV0b3NpemluZwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5k
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlh
U3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhOGJjZDk1ZDRmZmJlNTJkYTIxNmU3OGJlNGNiYjFhOTgzODQ1NjViLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vTG9jYWxNZWRpYVN0cmVhbS1vbmVuZGVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIExvY2FsTWVkaWFTdHJlYW06Om9uZW5kZWQgY2FsbGJh
Y2suCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHN0cmVhbS5lbmRlZCBp
cyBmYWxzZQotUEFTUyBzdHJlYW1FbmRlZCB3YXMgY2FsbGVkLgotUEFTUyBzdHJlYW0uZW5kZWQg
aXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0
cmVhbS1vbmVuZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL0xvY2FsTWVk
aWFTdHJlYW0tb25lbmRlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNmMx
NDllMTdhZjJmOTMxZjZlMDdiYWJlMGIxNWFjODI5YjAwNzVmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
TG9jYWxNZWRpYVN0cmVhbS1vbmVuZGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCww
IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oIlRlc3RzIExvY2Fs
TWVkaWFTdHJlYW06Om9uZW5kZWQgY2FsbGJhY2suIik7Ci0KLWZ1bmN0aW9uIGVycm9yKCkgewot
ICAgIHRlc3RGYWlsZWQoJ1N0cmVhbSBnZW5lcmF0aW9uIGZhaWxlZC4nKTsKLSAgICBmaW5pc2hK
U1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gZ2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNr
KSB7Ci0gICAgdHJ5IHsKLSAgICAgICAgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShkaWN0
aW9uYXJ5LCBjYWxsYmFjaywgZXJyb3IpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgdGVz
dEZhaWxlZCgnd2Via2l0R2V0VXNlck1lZGlhIHRocmV3IGV4Y2VwdGlvbiA6JyArIGUpOwotICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9Ci19Ci0KLXZhciBzdHJlYW07Ci0KLWZ1bmN0aW9u
IHN0cmVhbUVuZGVkKCkgewotICAgIHRlc3RQYXNzZWQoJ3N0cmVhbUVuZGVkIHdhcyBjYWxsZWQu
Jyk7Ci0gICAgc2hvdWxkQmVUcnVlKCdzdHJlYW0uZW5kZWQnKTsKLSAgICBmaW5pc2hKU1Rlc3Qo
KTsKLX0KLQotZnVuY3Rpb24gZ290U3RyZWFtKHMpIHsKLSAgICBzdHJlYW0gPSBzOwotICAgIHNo
b3VsZEJlRmFsc2UoJ3N0cmVhbS5lbmRlZCcpOwotICAgIHRyeSB7Ci0gICAgICAgIHN0cmVhbS5v
bmVuZGVkID0gc3RyZWFtRW5kZWQ7Ci0gICAgICAgIHN0cmVhbS5zdG9wKCk7Ci0gICAgfSBjYXRj
aCAoZSkgewotICAgICAgICB0ZXN0RmFpbGVkKCdMb2NhbE1lZGlhU3RyZWFtIHRocmV3IGV4Y2Vw
dGlvbiA6JyArIGUpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9Ci19Ci0KLWdldFVz
ZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbSk7Ci0KLXdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwot
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1vbmVuZGVkLWV4cGVjdGVkLnR4dAppbmRl
eCA0OTFiMzViOTU3YzViZTU2ODI3MTRhYWRiOTZjNGExOTI5NGM5OTFjLi5lMDY2NDczYjAyYTI4
ZDgyYTU1MDk3OTg1OTBhODRiOTBkODU4NmQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQK
QEAgLTYsNiArNiw5IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIHN0cmVhbS5lbmRl
ZCBpcyBmYWxzZQogUEFTUyBzdHJlYW1FbmRlZCB3YXMgY2FsbGVkLgogUEFTUyBzdHJlYW0uZW5k
ZWQgaXMgdHJ1ZQorUEFTUyBzdHJlYW0uZW5kZWQgaXMgZmFsc2UKK1BBU1Mgc3RyZWFtRW5kZWQg
d2FzIGNhbGxlZC4KK1BBU1Mgc3RyZWFtLmVuZGVkIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1vbmVuZGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbAppbmRleCAzOTNjNTIwZDBh
M2NjZDZlZDg5MmE2NTNlYmY4N2I1YmE1MDdjZmFmLi5mMDFkYmMyYzFlNGM4MzU4NzY4NDFmNmEx
ODlmZDcyNTZlMmZmNTAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbApAQCAtMjUsMjAgKzI1LDM5IEBAIGZ1bmN0aW9u
IGdldFVzZXJNZWRpYShkaWN0aW9uYXJ5LCBjYWxsYmFjaykgewogCiB2YXIgc3RyZWFtOwogCi1m
dW5jdGlvbiBzdHJlYW1FbmRlZCgpIHsKK2Z1bmN0aW9uIHN0cmVhbUVuZGVkMigpIHsKICAgICB0
ZXN0UGFzc2VkKCdzdHJlYW1FbmRlZCB3YXMgY2FsbGVkLicpOwogICAgIHNob3VsZEJlVHJ1ZSgn
c3RyZWFtLmVuZGVkJyk7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIGdvdFN0
cmVhbShzKSB7CitmdW5jdGlvbiBnb3RTdHJlYW0yKHMpIHsKICAgICBzdHJlYW0gPSBuZXcgd2Vi
a2l0TWVkaWFTdHJlYW0ocyk7CiAgICAgc2hvdWxkQmVGYWxzZSgnc3RyZWFtLmVuZGVkJyk7CiAg
ICAgdHJ5IHsKLSAgICAgICAgc3RyZWFtLm9uZW5kZWQgPSBzdHJlYW1FbmRlZDsKKyAgICAgICAg
c3RyZWFtLm9uZW5kZWQgPSBzdHJlYW1FbmRlZDI7CiAgICAgICAgIHMuc3RvcCgpOwogICAgIH0g
Y2F0Y2ggKGUpIHsKLSAgICAgICAgdGVzdEZhaWxlZCgnTG9jYWxNZWRpYVN0cmVhbSB0aHJldyBl
eGNlcHRpb24gOicgKyBlKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnTWVkaWFTdHJlYW0gdGhyZXcg
ZXhjZXB0aW9uIDonICsgZSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30KKwor
ZnVuY3Rpb24gc3RyZWFtRW5kZWQoKSB7CisgICAgdGVzdFBhc3NlZCgnc3RyZWFtRW5kZWQgd2Fz
IGNhbGxlZC4nKTsKKyAgICBzaG91bGRCZVRydWUoJ3N0cmVhbS5lbmRlZCcpOworCisgICAgZ2V0
VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtMik7Cit9CisKK2Z1
bmN0aW9uIGdvdFN0cmVhbShzKSB7CisgICAgc3RyZWFtID0gczsKKyAgICBzaG91bGRCZUZhbHNl
KCdzdHJlYW0uZW5kZWQnKTsKKyAgICB0cnkgeworICAgICAgICBzdHJlYW0ub25lbmRlZCA9IHN0
cmVhbUVuZGVkOworICAgICAgICBzdHJlYW0uc3RvcCgpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgnTWVkaWFTdHJlYW0gdGhyZXcgZXhjZXB0aW9uIDonICsgZSk7CiAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211334</attachid>
            <date>2013-09-11 11:31:24 -0700</date>
            <delta_ts>2013-09-13 16:26:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120875-20130911153123.patch</filename>
            <type>text/plain</type>
            <size>37277</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1NTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI2OWMyZDg3ZDMxNDgy
NTc3MWMyOGI1MjBmNTgyN2QzM2E2YzUyNi4uYjk0NzUzNmU0ZTc0N2MzNDJhYWI4YzA4M2UxYWIy
MTBlMmFiOWMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA5LTExICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVtb3ZlIExvY2FsTWVkaWFTdHJlYW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDg3NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHdl
cmUgdXBkYXRlZC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5oOiBSZW1vdmVkLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5pZGw6IFJlbW92
ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVc2Vy
TWVkaWFSZXF1ZXN0OjpzdWNjZWVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNyZWF0ZU1lZGlhU3RyZWFt
U291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSk6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudFRh
cmdldC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmg6CisKIDIwMTMtMDkt
MTEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1
bm5lY2Vzc2FyeSBEb2N1bWVudDo6ZnJhbWUoKSBudWxsIGNoZWNrcyBpbiByZW5kZXJlcklzTmVl
ZGVkKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDA2MzNjODIzZmIxNjY1MWE1NzAzYmNmMTll
NjRkZjUzNWQ5M2M2MTEuLmEwY2E0MDA0NDIxNDNjOWM1MWRhMGY4MTI3M2Y3OGVlMjlmM2RiMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMTEsNyArMjExLDYgQEAgc2V0KFdlYkNvcmVfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCiAgICAgTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAogCi0gICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50Lmlk
bAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwKQEAgLTgzMyw3
ICs4MzIsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmNwcAogCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcAogICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50c0ltcGwuY3BwCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhYjVl
ZWU2ZWQyM2VkZGYyNzUxYWI4YWMwZDg4MjBlMzIxNTY4YjI2Li4zZGY0NDY4NDg2MjJjMmZiOTgx
MDZkN2RkY2ZmYmQzOTBhM2YxNDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTExNiw3ICsxMTYsNiBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCAwNTM0NDZlYmJkNDg2YTBjZTM2Zjk1MGMxZjAyYzA0OTE5YjM0MWI4Li5jYzFm
ZDI5ODcwNDBmMjM3MmUzN2RkNzY5YjM0YjBmMTRiN2NkZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTQ4OCw4ICs0ODgsNiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0tleWJvYXJkRXZlbnQuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0xvY2FsTWVkaWFTdHJlYW0uY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYWxN
ZWRpYVN0cmVhbS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYXRpb24uY3BwIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTG9jYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU01lZGlhQ29udHJvbGxlci5jcHAgXApAQCAtMTI0MCw3ICsxMjM4LDYgQEAgZG9t
X2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0
LmlkbCBcCi0JJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0u
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmlkbCBcCkBA
IC0xOTQ1LDggKzE5NDIsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmggXAotCVNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHAgXAotCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRz
SW1wbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xv
Y2FsTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9M
b2NhbE1lZGlhU3RyZWFtLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTk0ZDUw
MWViYzlhYmZjM2E5N2IxMTYwNDU2MjUxZTM0OWEyNGY4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL0xvY2FsTWVkaWFTdHJlYW0uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICogQ29weXJpZ2h0IChDKSAyMDExIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwot
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxvY2FsTWVkaWFT
dHJlYW0uaCIKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlICJNZWRpYVN0
cmVhbUNlbnRlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVBhc3NSZWZQdHI8TG9jYWxN
ZWRpYVN0cmVhbT4gTG9jYWxNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMs
IGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBMb2NhbE1lZGlhU3RyZWFtKGNvbnRleHQsIE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKSkpOwotfQotCi1QYXNz
UmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IExvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRv
cj4gc3RyZWFtRGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IExvY2FsTWVk
aWFTdHJlYW0oY29udGV4dCwgc3RyZWFtRGVzY3JpcHRvcikpOwotfQotCi1Mb2NhbE1lZGlhU3Ry
ZWFtOjpMb2NhbE1lZGlhU3RyZWFtKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBh
c3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBzdHJlYW1EZXNjcmlwdG9yKQotICAgIDog
TWVkaWFTdHJlYW0oY29udGV4dCwgc3RyZWFtRGVzY3JpcHRvcikKLXsKLX0KLQotdm9pZCBMb2Nh
bE1lZGlhU3RyZWFtOjpzdG9wKCkKLXsKLSAgICBpZiAoZW5kZWQoKSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgTWVkaWFTdHJlYW1DZW50ZXI6Omluc3RhbmNlKCkuZGlkU3RvcExvY2FsTWVkaWFT
dHJlYW0oZGVzY3JpcHRvcigpKTsKLQotICAgIHN0cmVhbUVuZGVkKCk7Ci19Ci0KLUxvY2FsTWVk
aWFTdHJlYW06On5Mb2NhbE1lZGlhU3RyZWFtKCkKLXsKLX0KLQotY29uc3QgQXRvbWljU3RyaW5n
JiBMb2NhbE1lZGlhU3RyZWFtOjppbnRlcmZhY2VOYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
ZXZlbnROYW1lcygpLmludGVyZmFjZUZvckxvY2FsTWVkaWFTdHJlYW07Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzQ4MTA3YjExYmM0ZTk3MmQ5MzExNzE5
YjliM2E2MDJkMDVlMGZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVh
bS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAy
MDExIEVyaWNzc29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0g
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBMb2NhbE1lZGlhU3RyZWFtX2gKLSNkZWZpbmUgTG9jYWxNZWRpYVN0cmVhbV9oCi0KLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBMb2NhbE1lZGlhU3RyZWFtIDogcHVibGljIE1lZGlhU3Ry
ZWFtIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVj
dG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1Nv
dXJjZXMpOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+
KTsKLSAgICB2aXJ0dWFsIH5Mb2NhbE1lZGlhU3RyZWFtKCk7Ci0KLSAgICB2b2lkIHN0b3AoKTsK
LQotICAgIC8vIE1lZGlhU3RyZWFtCi0gICAgdmlydHVhbCBib29sIGlzTG9jYWwoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICAvLyBFdmVudFRhcmdldAotICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgT1ZFUlJJREU7Ci0K
LXByaXZhdGU6Ci0gICAgTG9jYWxNZWRpYVN0cmVhbShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+KTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBM
b2NhbE1lZGlhU3RyZWFtX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjNGI0ODBmODYzOTk5ZTBmMzkzMmZmNjU5ZmEzYmMxOTAwMThiM2M1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
LAotICAgIEV2ZW50VGFyZ2V0LAotICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKLSAgICBK
U0dlbmVyYXRlVG9KU09iamVjdAotXSBpbnRlcmZhY2UgTG9jYWxNZWRpYVN0cmVhbSA6IE1lZGlh
U3RyZWFtIHsKLSAgICB2b2lkIHN0b3AoKTsKLX07Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggZjljZjgzNTU1NTJjM2Ux
ZDY1MGViNmI0MWY1ZDJhMzQ4OTRkYWRiMi4uYjgxMGZhODQzYWI2YWVkOTQ2MzVmOGI2NmQxOTU2
ODNiODUxYzM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS5jcHAKQEAgLTEzMiw2ICsxMzIsMTUgQEAgYm9vbCBNZWRpYVN0cmVhbTo6
ZW5kZWQoKSBjb25zdAogICAgIHJldHVybiBtX3N0b3BwZWQgfHwgbV9kZXNjcmlwdG9yLT5lbmRl
ZCgpOwogfQogCit2b2lkIE1lZGlhU3RyZWFtOjpzdG9wKCkKK3sKKyAgICBpZiAoZW5kZWQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgTWVkaWFTdHJlYW1DZW50ZXI6Omluc3RhbmNlKCkuZGlk
U3RvcExvY2FsTWVkaWFTdHJlYW0oZGVzY3JpcHRvcigpKTsKKyAgICBzdHJlYW1FbmRlZCgpOwor
fQorCiB2b2lkIE1lZGlhU3RyZWFtOjphZGRUcmFjayhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJh
Y2s+IHBycFRyYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoZW5kZWQoKSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCmlu
ZGV4IDc4MmI5MjM1OTI4ODA3Yzk5ZDU2OGM4NThmNWE0Y2NkNmI1MDcxMTguLjZhZTRkOTk2YzQ4
ODE2OTNhZWU1M2IwZmZiZjk4YzJmYmIyMjMwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKQEAgLTQ4LDkgKzQ4LDYgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPik7CiAgICAgdmly
dHVhbCB+TWVkaWFTdHJlYW0oKTsKIAotICAgIC8vIERFUFJFQ0FURUQKLSAgICBTdHJpbmcgbGFi
ZWwoKSBjb25zdCB7IHJldHVybiBtX2Rlc2NyaXB0b3ItPmlkKCk7IH0KLQogICAgIFN0cmluZyBp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3JpcHRvci0+aWQoKTsgfQogCiAgICAgdm9pZCBhZGRU
cmFjayhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+LCBFeGNlcHRpb25Db2RlJik7CkBAIC02
MSw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yIGdldFZpZGVv
VHJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV92aWRlb1RyYWNrczsgfQogCiAgICAgYm9vbCBlbmRl
ZCgpIGNvbnN0OworICAgIHZvaWQgc3RvcCgpOwogCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihlbmRlZCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihh
ZGR0cmFjayk7CkBAIC03MCw4ICs2OCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdHJh
Y2tFbmRlZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1FbmRlZCgpIE9WRVJS
SURFOwogCi0gICAgdmlydHVhbCBib29sIGlzTG9jYWwoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQotCiAgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBkZXNjcmlwdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9kZXNjcmlwdG9yLmdldCgpOyB9CiAKICAgICAvLyBFdmVudFRhcmdldApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAppbmRleCBi
YTFkYzYzOTI0M2VmMGY4ZmJkNmE4YmUyZDBiYmQyZTgxMzU5MDg2Li42YjQ3NGE5NGMxYjJmMTZj
ZjI3MWI0MzQ5YmZhOTY0MWMwZjZiMmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbApAQCAtMjksMTIgKzI5LDggQEAKICAgICBD
b25zdHJ1Y3RvcihNZWRpYVN0cmVhbSBzdHJlYW0pLAogICAgIENvbnN0cnVjdG9yKE1lZGlhU3Ry
ZWFtVHJhY2tbXSB0cmFja3MpLAogICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwKLSAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKICAgICBJbnRlcmZhY2VOYW1l
PXdlYmtpdE1lZGlhU3RyZWFtCiBdIGludGVyZmFjZSBNZWRpYVN0cmVhbSB7Ci0gICAgLy8gREVQ
UkVDQVRFRAotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7Ci0KICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwogCiAgICAgc2VxdWVuY2U8TWVkaWFTdHJl
YW1UcmFjaz4gZ2V0QXVkaW9UcmFja3MoKTsKQEAgLTQ1LDYgKzQxLDcgQEAKICAgICBNZWRpYVN0
cmVhbVRyYWNrIGdldFRyYWNrQnlJZChET01TdHJpbmcgdHJhY2tJZCk7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBlbmRlZDsKKyAgICB2b2lkIHN0b3AoKTsKIAogICAgIGF0dHJp
YnV0ZSBFdmVudExpc3RlbmVyIG9uZW5kZWQ7CiAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b25hZGR0cmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCmlu
ZGV4IDJiNmFhZTVkZjAzMDk0YmU3ODdjYWY4MTg5YmEzMDc5OWZmNjA4NzEuLjlmNDU2ZWFkYzZh
ZTQ5NDE4NmNmMDdjNmUyYTUyZTA0NzYzZjk5OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMzEsMTIgKzMxLDEyIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgTG9jYWxNZWRpYVN0cmVhbTsKK2NsYXNzIE1lZGlhU3RyZWFtOwogCiBj
bGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soKSB7IH0KLSAgICB2aXJ0dWFs
IGJvb2wgaGFuZGxlRXZlbnQoTG9jYWxNZWRpYVN0cmVhbSopID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgaGFuZGxlRXZlbnQoTWVkaWFTdHJlYW0qKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKaW5k
ZXggMjI2YTlhNjlkM2QyMmU4MWRkYzZhZDcyNGE4OTNhYmViZjFmMDRmZS4uMzkxMjc5N2QzMTNl
MmFhZWU0YjgwOGIyZDAwYzE0YTdlZTFhYjA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMjUsNiArMjUsNiBAQAogWwogICAgIENvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTSwKIF0gY2FsbGJhY2sgaW50ZXJmYWNlIE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjayB7Ci0gICAgYm9vbGVhbiBoYW5kbGVFdmVudChMb2NhbE1lZGlhU3Ry
ZWFtIHN0cmVhbSk7CisgICAgYm9vbGVhbiBoYW5kbGVFdmVudChNZWRpYVN0cmVhbSBzdHJlYW0p
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
VXNlck1lZGlhUmVxdWVzdC5jcHAKaW5kZXggNjIzYWNiY2M4MWRjYzAxMDM2MmJiNzA2MDg2YTE2
YjQwNTJmZTlmOS4uYzY0ZWRlZWVkYWFmZjllYzg3ZTM4M2EzNzRhNjQxYWEwOTRkNWEzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuY3BwCkBAIC0zOCw4ICszOCw4IEBACiAjaW5jbHVkZSAiRGljdGlvbmFyeS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1
ZGUgIkxvY2FsTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzSW1wbC5o
IgorI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1DZW50ZXIu
aCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKICNpbmNsdWRlICJTcGFjZVNw
bGl0U3RyaW5nLmgiCkBAIC0xMzUsMjEgKzEzNSwxMiBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6
OmRpZENvbXBsZXRlUXVlcnkoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291
cgogICAgICAgICBtX2NvbnRyb2xsZXItPnJlcXVlc3RVc2VyTWVkaWEodGhpcywgYXVkaW9Tb3Vy
Y2VzLCB2aWRlb1NvdXJjZXMpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OnN1Y2NlZWQo
Y29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFT
dHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykKLXsKLSAgICBpZiAoIW1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPExvY2FsTWVkaWFT
dHJlYW0+IHN0cmVhbSA9IExvY2FsTWVkaWFTdHJlYW06OmNyZWF0ZShtX3NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKLSAgICBtX3N1Y2Nlc3NDYWxs
YmFjay0+aGFuZGxlRXZlbnQoc3RyZWFtLmdldCgpKTsKLX0KLQogdm9pZCBVc2VyTWVkaWFSZXF1
ZXN0OjpzdWNjZWVkKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBzdHJlYW1EZXNj
cmlwdG9yKQogewogICAgIGlmICghbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gc3RyZWFtID0gTG9jYWxNZWRp
YVN0cmVhbTo6Y3JlYXRlKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RyZWFtRGVzY3JpcHRv
cik7CisgICAgUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRl
KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RyZWFtRGVzY3JpcHRvcik7CiAgICAgbV9zdWNj
ZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0cmVhbS5nZXQoKSk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKaW5k
ZXggNjRkMGIxN2VkOWEwNjgzYzc0ZTFhY2I3OGIyMjllNzk2NWNhODk0ZC4uNzg4MTQ5NjYzMGJk
Nzk0ZDM2NDI4YjBlZjlkMzczMzA2NzkxYWE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKQEAgLTYzLDcgKzYzLDYg
QEAgcHVibGljOgogCiAgICAgdm9pZCBzdGFydCgpOwogCi0gICAgdm9pZCBzdWNjZWVkKGNvbnN0
IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFt
U291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpOwogICAgIHZvaWQgc3VjY2VlZChQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pOwogICAgIHZvaWQgZmFpbCgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggY2NkYjMw
NWZkOTlhMTI5NjE1YWRlOTE3NTE0MWFhOGFhZWVmMDg4MC4uZmU5YzQ1NTBmOWM3ODVmMGViMmEz
YmVjYzE3N2IxYjJmYmQzMGNlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDE4LDE1ICs0MTgsMTUgQEAgUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gQXVkaW9Db250ZXh0OjpjcmVhdGVNZWRpYVN0cmVh
bVNvdXJjZShNZWQKICAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBwcm92aWRlciA9IDA7CiAKICAg
ICBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yIGF1ZGlvVHJhY2tzID0gbWVkaWFTdHJlYW0tPmdldEF1
ZGlvVHJhY2tzKCk7Ci0gICAgaWYgKG1lZGlhU3RyZWFtLT5pc0xvY2FsKCkgJiYgYXVkaW9UcmFj
a3Muc2l6ZSgpKSB7Ci0gICAgICAgIC8vIEVuYWJsZSBpbnB1dCBmb3IgdGhlIHNwZWNpZmljIGxv
Y2FsIGF1ZGlvIGRldmljZSBzcGVjaWZpZWQgaW4gdGhlIE1lZGlhU3RyZWFtU291cmNlLgotICAg
ICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gbG9jYWxBdWRpbyA9IGF1ZGlvVHJhY2tzWzBd
OworICAgIC8vIEZJWE1FOiBnZXQgYSBwcm92aWRlciBmb3Igbm9uLWxvY2FsIE1lZGlhU3RyZWFt
cyAobGlrZSBmcm9tIGEgcmVtb3RlIHBlZXIpLgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
YXVkaW9UcmFja3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPE1lZGlhU3RyZWFtVHJh
Y2s+IGxvY2FsQXVkaW8gPSBhdWRpb1RyYWNrc1tpXTsKICAgICAgICAgTWVkaWFTdHJlYW1Tb3Vy
Y2UqIHNvdXJjZSA9IGxvY2FsQXVkaW8tPmNvbXBvbmVudCgpLT5zb3VyY2UoKTsKLSAgICAgICAg
ZGVzdGluYXRpb24oKS0+ZW5hYmxlSW5wdXQoc291cmNlLT5kZXZpY2VJZCgpKTsKLSAgICAgICAg
cHJvdmlkZXIgPSBkZXN0aW5hdGlvbigpLT5sb2NhbEF1ZGlvSW5wdXRQcm92aWRlcigpOwotICAg
IH0gZWxzZSB7Ci0gICAgICAgIC8vIEZJWE1FOiBnZXQgYSBwcm92aWRlciBmb3Igbm9uLWxvY2Fs
IE1lZGlhU3RyZWFtcyAobGlrZSBmcm9tIGEgcmVtb3RlIHBlZXIpLgotICAgICAgICBwcm92aWRl
ciA9IDA7CisgICAgICAgIGlmICghc291cmNlLT5kZXZpY2VJZCgpLmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgZGVzdGluYXRpb24oKS0+ZW5hYmxlSW5wdXQoc291cmNlLT5kZXZpY2VJZCgpKTsK
KyAgICAgICAgICAgIHByb3ZpZGVyID0gZGVzdGluYXRpb24oKS0+bG9jYWxBdWRpb0lucHV0UHJv
dmlkZXIoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogCiAgICAgUmVm
UHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlPiBub2RlID0gTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGU6OmNyZWF0ZSh0aGlzLCBtZWRpYVN0cmVhbSwgcHJvdmlkZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGlu
YXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggMzYxM2RiZTllYTNiMzYyNTU4N2NlYTgy
ODZkZDNlNGVjM2MzOGM1ZC4uZDU3YmViOGQwZjk4M2E0N2NjMzdjZTkyZjIxNWNlYWQ2MjUzODM3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVh
bUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0zMCw3ICszMCw3
IEBACiAKICNpbmNsdWRlICJBdWRpb0NvbnRleHQuaCIKICNpbmNsdWRlICJBdWRpb05vZGVJbnB1
dC5oIgotI2luY2x1ZGUgIkxvY2FsTWVkaWFTdHJlYW0uaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVh
bS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtQ2VudGVyLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyLmgiCiAjaW5jbHVkZSAiVVVJRC5oIgpAQCAtNTMsNyArNTMsNyBAQCBN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRp
b25Ob2RlKEF1ZGlvQ29udGV4dCogYwogICAgIE1lZGlhU3RyZWFtU291cmNlVmVjdG9yIGF1ZGlv
U291cmNlczsKICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKG1fc291cmNlKTsKICAgICBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciB2aWRlb1NvdXJjZXM7Ci0gICAgbV9zdHJlYW0gPSBMb2NhbE1lZGlh
U3RyZWFtOjpjcmVhdGUoY29udGV4dC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBhdWRpb1Nv
dXJjZXMsIHZpZGVvU291cmNlcyk7CisgICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRl
KGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpKTsKICAgICBNZWRpYVN0cmVhbUNl
bnRlcjo6aW5zdGFuY2UoKS5kaWRDcmVhdGVNZWRpYVN0cmVhbShtX3N0cmVhbS0+ZGVzY3JpcHRv
cigpKTsKIAogICAgIG1fc291cmNlLT5zZXRBdWRpb0Zvcm1hdChudW1iZXJPZkNoYW5uZWxzLCBj
b250ZXh0LT5zYW1wbGVSYXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIzYzQ2ZmE1NGI5NjdjNmEzMjJjNDJlODgxYmRl
OGFmNWYzNTlhMDMuLjkzMjNjYzBlOGUyNDliYWNmMGNhZGU0ZDA1OWIwZTA1ZTQyYjYyYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTEzOCw4ICsxMzgsNiBAQAogCQkwNzg0NjM0MjE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFj
a0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3ODQ2MzQwMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwICovOyB9OwogCQkw
Nzg0NjM0MzE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0MTE0NUIxNTFBMDBBNThERjEg
LyogSlNUcmFja0V2ZW50LmggKi87IH07CiAJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBK
U1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzg0NjM4NDE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1c3RvbS5oICovOyB9Owot
CQkwNzhFMDhGQzE3RDE0Q0JEMDA0MjBBQTEgLyogTG9jYWxNZWRpYVN0cmVhbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyMjFCNDgxN0NFQzMyNzAw
ODQ4RTUxIC8qIExvY2FsTWVkaWFTdHJlYW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQkwNzhFMDhGRDE3RDE0Q0M2MDA0MjBBQTEgLyogTG9jYWxN
ZWRpYVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwNzIyMUI0NzE3Q0VDMzI3MDA4NDhFNTEgLyogTG9jYWxNZWRpYVN0cmVhbS5jcHAgKi87
IH07CiAJCTA3OEUwOEZFMTdEMTRDRUUwMDQyMEFBMSAvKiBNZWRpYUNvbnN0cmFpbnRzSW1wbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzIyMUI0
QTE3Q0VDMzI3MDA4NDhFNTEgLyogTWVkaWFDb25zdHJhaW50c0ltcGwuY3BwICovOyB9OwogCQkw
NzhFMDhGRjE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyMjFCNEMxN0NFQzMyNzAwODQ4RTUx
IC8qIE1lZGlhU3RyZWFtLmNwcCAqLzsgfTsKIAkJMDc4RTA5MDAxN0QxNENFRTAwNDIwQUExIC8q
IE1lZGlhU3RyZWFtRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDcyMjFCNEYxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhU3RyZWFtRXZlbnQu
Y3BwICovOyB9OwpAQCAtMjE5LDggKzIxNyw2IEBACiAJCTA3OTQxNzkxMTY2RTg1NUYwMDk0MTZD
MiAvKiBJbmJhbmRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDc5NDE3OEYxNjZFODU1RjAwOTQxNkMyIC8qIEluYmFuZFRleHRUcmFj
ay5jcHAgKi87IH07CiAJCTA3OTQxNzkyMTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OTQx
NzkwMTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2suaCAqLzsgfTsKIAkJMDc5NDE3
OTQxNjZFQTA0RTAwOTQxNkMyIC8qIEluYmFuZFRleHRUcmFja1ByaXZhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OTQxNzkzMTY2RUEwNEUwMDk0
MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMDc5NjlEOEYxN0QxM0Y0MzAwN0ZGODQyIC8qIEpT
TG9jYWxNZWRpYVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzk2OUQ4RDE3RDEzRjQzMDA3RkY4NDIgLyogSlNMb2NhbE1lZGlhU3RyZWFt
LmNwcCAqLzsgfTsKLQkJMDc5NjlEOTAxN0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0
cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5
NjlEOEUxN0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0cmVhbS5oICovOyB9OwogCQkw
Nzk2OURBQjE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk2OUQ5MTE3RDE0MTUxMDA3
RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbC5jcHAgKi87IH07CiAJCTA3OTY5REFDMTdEMTQxNTEw
MDdGRjg0MiAvKiBKU1JUQ0RhdGFDaGFubmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk2OUQ5MjE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRh
Q2hhbm5lbC5oICovOyB9OwogCQkwNzk2OURBRDE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRh
Q2hhbm5lbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3OTY5RDkzMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ0RhdGFDaGFubmVsRXZlbnQu
Y3BwICovOyB9OwpAQCAtNjQ0MCw5ICs2NDM2LDYgQEAKIAkJMDcyMEIwOUYxNEQzMzIzNTAwNjQy
OTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEdlbmVyaWNFdmVudFF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3
MjBCMDlGMTREMzMyMzUwMDY0Mjk1NiAvKiBHZXN0dXJlRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VzdHVyZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMDcyMEIwOUYxNEQzMzIzNTAwNjQyOTU3IC8qIEdlc3R1cmVFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXN0dXJlRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDcyMjFCNDcxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2Fs
TWVkaWFTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9j
YWxNZWRpYVN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3MjIxQjQ4
MTdDRUMzMjcwMDg0OEU1MSAvKiBMb2NhbE1lZGlhU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IExvY2FsTWVkaWFTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMDcyMjFCNDkxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2FsTWVkaWFTdHJlYW0uaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IExvY2FsTWVkaWFTdHJlYW0uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwNzIyMUI0QTE3Q0VDMzI3MDA4NDhFNTEgLyogTWVkaWFDb25z
dHJhaW50c0ltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVk
aWFDb25zdHJhaW50c0ltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzIy
MUI0QjE3Q0VDMzI3MDA4NDhFNTEgLyogTWVkaWFDb25zdHJhaW50c0ltcGwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDb25zdHJhaW50c0ltcGwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyMjFCNEMxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhU3Ry
ZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhU3RyZWFt
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY1ODIsOCArNjU3NSw2IEBACiAJ
CTA3OTQxNzhGMTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5iYW5kVGV4dFRyYWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NDE3OTAxNjZFODU1RjAwOTQxNkMyIC8qIEluYmFu
ZFRleHRUcmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmJhbmRUZXh0
VHJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NDE3OTMxNjZFQTA0RTAw
OTQxNkMyIC8qIEluYmFuZFRleHRUcmFja1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkwNzk2OUQ4RDE3RDEzRjQzMDA3RkY4NDIgLyogSlNMb2NhbE1lZGlhU3RyZWFt
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTG9jYWxNZWRpYVN0
cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA3OTY5RDhFMTdEMTNGNDMw
MDdGRjg0MiAvKiBKU0xvY2FsTWVkaWFTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNMb2NhbE1lZGlhU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA3OTY5RDkxMTdEMTQxNTEwMDdGRjg0MiAvKiBKU1JUQ0RhdGFDaGFubmVsLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUlRDRGF0YUNoYW5uZWwuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzk2OUQ5MjE3RDE0MTUxMDA3RkY4NDIgLyog
SlNSVENEYXRhQ2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JU
Q0RhdGFDaGFubmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3OTY5RDkzMTdE
MTQxNTEwMDdGRjg0MiAvKiBKU1JUQ0RhdGFDaGFubmVsRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSVENEYXRhQ2hhbm5lbEV2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjQ0LDkgKzEzMjM1LDYgQEAKIAkJMDcyMjFCNDYx
N0NFQzMyNzAwODQ4RTUxIC8qIG1lZGlhc3RyZWFtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKLQkJCQkwNzIyMUI0NzE3Q0VDMzI3MDA4NDhFNTEgLyogTG9jYWxN
ZWRpYVN0cmVhbS5jcHAgKi8sCi0JCQkJMDcyMjFCNDgxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2Fs
TWVkaWFTdHJlYW0uaCAqLywKLQkJCQkwNzIyMUI0OTE3Q0VDMzI3MDA4NDhFNTEgLyogTG9jYWxN
ZWRpYVN0cmVhbS5pZGwgKi8sCiAJCQkJMDcyMjFCNEExN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlh
Q29uc3RyYWludHNJbXBsLmNwcCAqLywKIAkJCQkwNzIyMUI0QjE3Q0VDMzI3MDA4NDhFNTEgLyog
TWVkaWFDb25zdHJhaW50c0ltcGwuaCAqLywKIAkJCQkwNzIyMUI0QzE3Q0VDMzI3MDA4NDhFNTEg
LyogTWVkaWFTdHJlYW0uY3BwICovLApAQCAtMTMzODIsOCArMTMzNzAsNiBAQAogCQkwN0NGRDk5
MzE3RDAxNDA1MDAxQzRGRkMgLyogTWVkaWFTdHJlYW0gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTA3OTY5RDhEMTdEMTNGNDMwMDdGRjg0MiAvKiBKU0xv
Y2FsTWVkaWFTdHJlYW0uY3BwICovLAotCQkJCTA3OTY5RDhFMTdEMTNGNDMwMDdGRjg0MiAvKiBK
U0xvY2FsTWVkaWFTdHJlYW0uaCAqLywKIAkJCQkwNzI3N0UzRTE3RDAxOENDMDAxNTUzNEQgLyog
SlNNZWRpYVNvdXJjZS5jcHAgKi8sCiAJCQkJMDcyNzdFM0YxN0QwMThDQzAwMTU1MzREIC8qIEpT
TWVkaWFTb3VyY2UuaCAqLywKIAkJCQkwNzI3N0U0MDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRp
YVN0cmVhbS5jcHAgKi8sCkBAIC0yMzA1OSw4ICsyMzA0NSw2IEBACiAJCQkJNDQ5NkUzOUUxMzk4
MTM2QzAwM0VFMzJBIC8qIEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyRkEzRDU1MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVUcmFuc2Zvcm1F
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q1NzBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdBbmltYXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQkwNzhFMDhGQzE3RDE0
Q0JEMDA0MjBBQTEgLyogTG9jYWxNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDc5
NjlEOTAxN0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJGQTNENTkwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQ2lyY2xlRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENUIwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQ2xp
cFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q1RDBBQjc1QTZGMDAwRTVB
QzQgLyogSlNTVkdDb2xvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjk4MCw3ICsyNjk2NCw2IEBA
CiAJCQkJMEY2MDVBRUMxNUY5NDg0ODAwNERGMEMwIC8qIFNjcm9sbGluZ0NvbnN0cmFpbnRzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBRjYyRUU3MTREQTIyQTcwMDQxNTU2QyAvKiBTY3JvbGxp
bmdDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUY2MkVFNjE0REEyMkE3MDA0
MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gaW4gU291cmNlcyAqLywKLQkJCQkw
Nzk2OUQ4RjE3RDEzRjQzMDA3RkY4NDIgLyogSlNMb2NhbE1lZGlhU3RyZWFtLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzQzM4QkZFMTY0NDczQzcwMDA5MUVCMiAvKiBTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzFDQkQwQzE2MUE0NEU5MDBFNEM4NzQg
LyogU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMUNCRDEzMTYx
QTQ0RjgwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGVNYWMubW0gaW4gU291cmNlcyAqLywK
QEAgLTI3NDY5LDcgKzI3NDUyLDYgQEAKIAkJCQk0OUM3QjlENDEwNDJEMzJGMDAwOUQ0NDcgLyog
V2ViR0xPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlDN0I5RDYxMDQyRDMyRjAwMDlE
NDQ3IC8qIFdlYkdMUHJvZ3JhbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlEOTEwNDJE
MzJGMDAwOUQ0NDcgLyogV2ViR0xSZW5kZXJidWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MDc4RTA4RkQxN0QxNENDNjAwNDIwQUExIC8qIExvY2FsTWVkaWFTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDlDN0I5REYxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlFMjEwNDJEMzJGMDAwOUQ0NDcgLyog
V2ViR0xTaGFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTA4Q0YxNTQxNTJCNzdCMzAwOUM1
Nzc1IC8qIFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBhMjFiZDAwYjBmZjc2MjMyZjU0MmVmYWUyNzk0MWVj
YTcwNzZjZGJmLi45MjhiNjJmOWRkNjhjYTgxZTBjZGRjNzgzOWVjNWNiMTZiYWM1NGI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtNTUsNyArNTUsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgSURCUmVxdWVzdDsKICAgICBjbGFzcyBJREJUcmFuc2FjdGlvbjsKICAg
ICBjbGFzcyBTY3JpcHRQcm9jZXNzb3JOb2RlOwotICAgIGNsYXNzIExvY2FsTWVkaWFTdHJlYW07
CiAgICAgY2xhc3MgTWVkaWFDb250cm9sbGVyOwogICAgIGNsYXNzIE1lZGlhU291cmNlOwogICAg
IGNsYXNzIE1lZGlhU3RyZWFtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KaW5kZXggYWVlYTk2YTZjYzJhNjAyOTg4OTYyMWFjZWNjZjhlNGZiN2M3MDE1MS4uMmY1YmU4
ZGVkNGFiNGE5YmMxNmI3ZWM0ODRjMDFhNjMxYTAxZmJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xNSw3ICsxNSw2IEBAIElEQkRhdGFiYXNlIGNvbmRp
dGlvbmFsPUlOREVYRURfREFUQUJBU0UKIElEQk9wZW5EQlJlcXVlc3QgY29uZGl0aW9uYWw9SU5E
RVhFRF9EQVRBQkFTRQogSURCUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJ
REJUcmFuc2FjdGlvbiBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCi1Mb2NhbE1lZGlhU3Ry
ZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFLZXlTZXNzaW9uIGNvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQV9WMgogTWVkaWFDb250cm9sbGVyIGNvbmRpdGlvbmFsPVZJREVPCiBN
ZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgK
aW5kZXggYTAxM2Q0OWNkZGZjMTY3MjI1YjRiYzc5MTM0MTNlNzVmY2NjMmU4Mi4uODUwMGY2MjVl
NjFhNGQ1NzU1MmZiZDMwN2NiOTM3MTQ5Y2M3ZTQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgK
QEAgLTM2LDYgKzM2LDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtQ29tcG9uZW50LmgiCiAj
aW5jbHVkZSAiTWVkaWFTdHJlYW1Tb3VyY2UuaCIKKyNpbmNsdWRlICJVVUlELmgiCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
ZmI0YTczOTdlNmQ3MTZjODI5YmQzZDEyNDlkMDNiNjdlZTk5MzVjLi44YWM1ZGZmZjRkMTlhMzI0
MjM1NDEzM2NlMzI3ZGI3MmM4ZWZkYWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDkt
MTEgIFRoaWFnbyBkZSBCYXJyb3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5v
cmc+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBSZW1vdmUgTG9jYWxNZWRpYVN0cmVhbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODc1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21l
ZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQu
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5k
ZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0t
b25lbmRlZC5odG1sOgorCiAyMDEzLTA5LTExICBLcnp5c3p0b2YgV29sYW5za2kgIDxrLndvbGFu
c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIENoYW5nZWQgZXhwZWN0ZWQgcmVzdWx0
cyBhZnRlciByMTU1MjUzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L0xvY2FsTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4YmNkOTVkNGZmYmU1MmRhMjE2ZTc4YmU0Y2JiMWE5
ODM4NDU2NWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgTG9jYWxNZWRp
YVN0cmVhbTo6b25lbmRlZCBjYWxsYmFjay4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1Mgc3RyZWFtLmVuZGVkIGlzIGZhbHNlCi1QQVNTIHN0cmVhbUVuZGVkIHdhcyBjYWxs
ZWQuCi1QQVNTIHN0cmVhbS5lbmRlZCBpcyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS1vbmVuZGVkLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGU2YzE0OWUxN2FmMmY5MzFmNmUwN2JhYmUwYjE1YWM4MjliMDA3
NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1k
ZXNjcmlwdGlvbigiVGVzdHMgTG9jYWxNZWRpYVN0cmVhbTo6b25lbmRlZCBjYWxsYmFjay4iKTsK
LQotZnVuY3Rpb24gZXJyb3IoKSB7Ci0gICAgdGVzdEZhaWxlZCgnU3RyZWFtIGdlbmVyYXRpb24g
ZmFpbGVkLicpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBnZXRVc2VyTWVk
aWEoZGljdGlvbmFyeSwgY2FsbGJhY2spIHsKLSAgICB0cnkgewotICAgICAgICBuYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNrLCBlcnJvcik7Ci0gICAgfSBj
YXRjaCAoZSkgewotICAgICAgICB0ZXN0RmFpbGVkKCd3ZWJraXRHZXRVc2VyTWVkaWEgdGhyZXcg
ZXhjZXB0aW9uIDonICsgZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQot
dmFyIHN0cmVhbTsKLQotZnVuY3Rpb24gc3RyZWFtRW5kZWQoKSB7Ci0gICAgdGVzdFBhc3NlZCgn
c3RyZWFtRW5kZWQgd2FzIGNhbGxlZC4nKTsKLSAgICBzaG91bGRCZVRydWUoJ3N0cmVhbS5lbmRl
ZCcpOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBnb3RTdHJlYW0ocykgewot
ICAgIHN0cmVhbSA9IHM7Ci0gICAgc2hvdWxkQmVGYWxzZSgnc3RyZWFtLmVuZGVkJyk7Ci0gICAg
dHJ5IHsKLSAgICAgICAgc3RyZWFtLm9uZW5kZWQgPSBzdHJlYW1FbmRlZDsKLSAgICAgICAgc3Ry
ZWFtLnN0b3AoKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ0xvY2Fs
TWVkaWFTdHJlYW0gdGhyZXcgZXhjZXB0aW9uIDonICsgZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVz
dCgpOwotICAgIH0KLX0KLQotZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwg
Z290U3RyZWFtKTsKLQotd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwotd2luZG93LnN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9u
ZW5kZWQtZXhwZWN0ZWQudHh0CmluZGV4IDQ5MWIzNWI5NTdjNWJlNTY4MjcxNGFhZGI5NmM0YTE5
Mjk0Yzk5MWMuLmUwNjY0NzNiMDJhMjhkODJhNTUwOTc5ODU5MGE4NGI5MGQ4NTg2ZDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS1vbmVuZGVkLWV4cGVjdGVkLnR4dApAQCAtNiw2ICs2LDkgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUKIFBBU1Mgc3RyZWFtLmVuZGVkIGlzIGZhbHNlCiBQQVNTIHN0cmVhbUVuZGVkIHdhcyBj
YWxsZWQuCiBQQVNTIHN0cmVhbS5lbmRlZCBpcyB0cnVlCitQQVNTIHN0cmVhbS5lbmRlZCBpcyBm
YWxzZQorUEFTUyBzdHJlYW1FbmRlZCB3YXMgY2FsbGVkLgorUEFTUyBzdHJlYW0uZW5kZWQgaXMg
dHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5k
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRl
ZC5odG1sCmluZGV4IDM5M2M1MjBkMGEzY2NkNmVkODkyYTY1M2ViZjg3YjViYTUwN2NmYWYuLmYw
MWRiYzJjMWU0YzgzNTg3Njg0MWY2YTE4OWZkNzI1NmUyZmY1MDAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC5odG1sCkBAIC0y
NSwyMCArMjUsMzkgQEAgZnVuY3Rpb24gZ2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNr
KSB7CiAKIHZhciBzdHJlYW07CiAKLWZ1bmN0aW9uIHN0cmVhbUVuZGVkKCkgeworZnVuY3Rpb24g
c3RyZWFtRW5kZWQyKCkgewogICAgIHRlc3RQYXNzZWQoJ3N0cmVhbUVuZGVkIHdhcyBjYWxsZWQu
Jyk7CiAgICAgc2hvdWxkQmVUcnVlKCdzdHJlYW0uZW5kZWQnKTsKICAgICBmaW5pc2hKU1Rlc3Qo
KTsKIH0KIAotZnVuY3Rpb24gZ290U3RyZWFtKHMpIHsKK2Z1bmN0aW9uIGdvdFN0cmVhbTIocykg
ewogICAgIHN0cmVhbSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbShzKTsKICAgICBzaG91bGRCZUZh
bHNlKCdzdHJlYW0uZW5kZWQnKTsKICAgICB0cnkgewotICAgICAgICBzdHJlYW0ub25lbmRlZCA9
IHN0cmVhbUVuZGVkOworICAgICAgICBzdHJlYW0ub25lbmRlZCA9IHN0cmVhbUVuZGVkMjsKICAg
ICAgICAgcy5zdG9wKCk7CiAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICB0ZXN0RmFpbGVkKCdM
b2NhbE1lZGlhU3RyZWFtIHRocmV3IGV4Y2VwdGlvbiA6JyArIGUpOworICAgICAgICB0ZXN0RmFp
bGVkKCdNZWRpYVN0cmVhbSB0aHJldyBleGNlcHRpb24gOicgKyBlKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBzdHJlYW1FbmRlZCgpIHsKKyAgICB0ZXN0
UGFzc2VkKCdzdHJlYW1FbmRlZCB3YXMgY2FsbGVkLicpOworICAgIHNob3VsZEJlVHJ1ZSgnc3Ry
ZWFtLmVuZGVkJyk7CisKKyAgICBnZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9
LCBnb3RTdHJlYW0yKTsKK30KKworZnVuY3Rpb24gZ290U3RyZWFtKHMpIHsKKyAgICBzdHJlYW0g
PSBzOworICAgIHNob3VsZEJlRmFsc2UoJ3N0cmVhbS5lbmRlZCcpOworICAgIHRyeSB7CisgICAg
ICAgIHN0cmVhbS5vbmVuZGVkID0gc3RyZWFtRW5kZWQ7CisgICAgICAgIHN0cmVhbS5zdG9wKCk7
CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCdNZWRpYVN0cmVhbSB0aHJl
dyBleGNlcHRpb24gOicgKyBlKTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211356</attachid>
            <date>2013-09-11 14:56:13 -0700</date>
            <delta_ts>2013-09-11 15:31:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120875-20130911185611.patch</filename>
            <type>text/plain</type>
            <size>36968</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYzMGFlMzkzZGE5YjEy
MDc4NDViMTJjOTFjYmZiZTQyMjA1ZmM5MC4uY2UwY2QyYmMxMWEyZDE3OWZiNGU5MWU2MzNmZjk3
MTZkODM5NWU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA5LTExICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVtb3ZlIExvY2FsTWVkaWFTdHJlYW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDg3NQorCisgICAgICAg
IGJsaW5rIG1lcmdlOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
YmxpbmsvKy84MTY0M2VlM2ZlMDQ4YTY0ZmE4OTMxMTMyZTEyOTRmYTJjOGU4MjFhCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHdl
cmUgdXBkYXRlZC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uY3BwOiBSZW1vdmVkLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5oOiBSZW1vdmVkLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5pZGw6IFJlbW92
ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVc2Vy
TWVkaWFSZXF1ZXN0OjpzdWNjZWVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNyZWF0ZU1lZGlhU3RyZWFt
U291cmNlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSk6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9FdmVudFRh
cmdldC5oOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmg6CisKIDIwMTMtMDkt
MTEgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBM
aW5lV2lkdGggb3V0IG9mIFJlbmRlckJsb2NrTGluZUxheW91dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCAxNzAyMDYwOWYxMjk1MWU0NjJhOTUwMGY4OTM5MzhiMGUwOTg1ZjQ4Li40YTY3N2RhNGM3
NTkxMTU4MmEzMGE4ZGUxMWQ2MGI1Nzg1YjZmMjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MjExLDcgKzIxMSw2IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFz
b3VyY2UvU291cmNlQnVmZmVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5pZGwKIAotICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5p
ZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1FdmVudC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suaWRsCkBAIC04MzMsNyArODMyLDYgQEAgc2V0KFdlYkNvcmVfU09V
UkNFUwogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAogICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5jcHAKIAotICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
Q29uc3RyYWludHNJbXBsLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0u
Y3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUV2ZW50LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYWI1ZWVlNmVkMjNlZGRmMjc1MWFiOGFjMGQ4ODIw
ZTMyMTU2OGIyNi4uM2RmNDQ2ODQ4NjIyYzJmYjk4MTA2ZDdkZGNmZmJkMzkwYTNmMTQ0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTYsNyArMTE2LDYgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5p
ZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFt
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWE0OWFjNmY3OTU2NzYz
NGM3ZDJlZGQ2YjVmNzFjZmU2YjFlM2Q2ZC4uYTVlYjY4Yzg3ZGQ4Y2I1ODk5MGI3ODY1MjgwNmE4
MjEwN2IzZDk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00ODgsOCArNDg4
LDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTS2V5
Ym9hcmRFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNLZXlib2FyZEV2ZW50
LmggXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNMb2NhbE1lZGlhU3RyZWFtLmNwcCBcCi0J
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0xvY2FsTWVkaWFTdHJlYW0uaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUNvbnRyb2xsZXIu
Y3BwIFwKQEAgLTEyNDAsNyArMTIzOCw2IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5pZGwgXApAQCAtMTk0NSw4ICsxOTQyLDYgQEAgd2ViY29y
ZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL0xvY2FsTWVkaWFTdHJlYW0uY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50c0ltcGwuaCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5NGQ1MDFlYmM5YWJmYzNhOTdiMTE2MDQ1NjI1MWUz
NDlhMjRmOGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBF
cmljc3NvbiBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJMb2NhbE1lZGlhU3RyZWFtLmgiCi0KLSNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQotCi0jaW5jbHVkZSAiTWVkaWFTdHJlYW1DZW50ZXIuaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IExvY2FsTWVkaWFTdHJl
YW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgdmlkZW9Tb3VyY2VzKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTG9jYWxNZWRp
YVN0cmVhbShjb250ZXh0LCBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJj
ZXMsIHZpZGVvU291cmNlcykpKTsKLX0KLQotUGFzc1JlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBM
b2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IHN0cmVhbURlc2NyaXB0b3IpCi17Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBMb2NhbE1lZGlhU3RyZWFtKGNvbnRleHQsIHN0cmVhbURl
c2NyaXB0b3IpKTsKLX0KLQotTG9jYWxNZWRpYVN0cmVhbTo6TG9jYWxNZWRpYVN0cmVhbShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcj4gc3RyZWFtRGVzY3JpcHRvcikKLSAgICA6IE1lZGlhU3RyZWFtKGNvbnRleHQsIHN0cmVh
bURlc2NyaXB0b3IpCi17Ci19Ci0KLXZvaWQgTG9jYWxNZWRpYVN0cmVhbTo6c3RvcCgpCi17Ci0g
ICAgaWYgKGVuZGVkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIE1lZGlhU3RyZWFtQ2VudGVy
OjppbnN0YW5jZSgpLmRpZFN0b3BMb2NhbE1lZGlhU3RyZWFtKGRlc2NyaXB0b3IoKSk7Ci0KLSAg
ICBzdHJlYW1FbmRlZCgpOwotfQotCi1Mb2NhbE1lZGlhU3RyZWFtOjp+TG9jYWxNZWRpYVN0cmVh
bSgpCi17Ci19Ci0KLWNvbnN0IEF0b21pY1N0cmluZyYgTG9jYWxNZWRpYVN0cmVhbTo6aW50ZXJm
YWNlTmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JM
b2NhbE1lZGlhU3RyZWFtOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggN2M0ODEwN2IxMWJjNGU5NzJkOTMxMTcxOWI5YjNhNjAyZDA1ZTBmZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0uaAorKysgL2Rldi9udWxsCkBAIC0xLDU3
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTG9jYWxNZWRpYVN0cmVhbV9oCi0jZGVm
aW5lIExvY2FsTWVkaWFTdHJlYW1faAotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2lu
Y2x1ZGUgIk1lZGlhU3RyZWFtLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTG9j
YWxNZWRpYVN0cmVhbSA6IHB1YmxpYyBNZWRpYVN0cmVhbSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8TG9jYWxNZWRpYVN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBN
ZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKTsKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPik7Ci0gICAgdmlydHVhbCB+TG9jYWxNZWRp
YVN0cmVhbSgpOwotCi0gICAgdm9pZCBzdG9wKCk7Ci0KLSAgICAvLyBNZWRpYVN0cmVhbQotICAg
IHZpcnR1YWwgYm9vbCBpc0xvY2FsKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQot
Ci0gICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50
ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwotCi1wcml2YXRlOgotICAgIExvY2FsTWVkaWFT
dHJlYW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNj
cmlwdG9yPik7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQotCi0jZW5kaWYgLy8gTG9jYWxNZWRpYVN0cmVhbV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0u
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3RyZWFt
LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRiNDgwZjg2Mzk5OWUwZjM5MzJm
ZjY1OWZhM2JjMTkwMDE4YjNjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0xvY2FsTWVkaWFT
dHJlYW0uaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KLSAq
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwotICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
WwotICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKLSAgICBFdmVudFRhcmdldCwKLSAgICBK
U0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCi0gICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKLV0gaW50
ZXJmYWNlIExvY2FsTWVkaWFTdHJlYW0gOiBNZWRpYVN0cmVhbSB7Ci0gICAgdm9pZCBzdG9wKCk7
Ci19OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW0uY3BwCmluZGV4IGY5Y2Y4MzU1NTUyYzNlMWQ2NTBlYjZiNDFmNWQyYTM0ODk0ZGFkYjIu
LmI4MTBmYTg0M2FiNmFlZDk0NjM1ZjhiNjZkMTk1NjgzYjg1MWMzODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCkBAIC0xMzIs
NiArMTMyLDE1IEBAIGJvb2wgTWVkaWFTdHJlYW06OmVuZGVkKCkgY29uc3QKICAgICByZXR1cm4g
bV9zdG9wcGVkIHx8IG1fZGVzY3JpcHRvci0+ZW5kZWQoKTsKIH0KIAordm9pZCBNZWRpYVN0cmVh
bTo6c3RvcCgpCit7CisgICAgaWYgKGVuZGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIE1l
ZGlhU3RyZWFtQ2VudGVyOjppbnN0YW5jZSgpLmRpZFN0b3BMb2NhbE1lZGlhU3RyZWFtKGRlc2Ny
aXB0b3IoKSk7CisgICAgc3RyZWFtRW5kZWQoKTsKK30KKwogdm9pZCBNZWRpYVN0cmVhbTo6YWRk
VHJhY2soUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBwcnBUcmFjaywgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgaWYgKGVuZGVkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAppbmRleCA3ODJiOTIzNTkyODgwN2M5OWQ1Njhj
ODU4ZjVhNGNjZDZiNTA3MTE4Li5jZWEyYzljMmQ5NThkNjQzMTRkNzU1ZjllZWMwOTljYTQ4YmVi
Mjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVN0cmVhbVRyYWNrVmVj
dG9yIGdldFZpZGVvVHJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV92aWRlb1RyYWNrczsgfQogCiAg
ICAgYm9vbCBlbmRlZCgpIGNvbnN0OworICAgIHZvaWQgc3RvcCgpOwogCiAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihlbmRlZCk7CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihhZGR0cmFjayk7CkBAIC03MCw4ICs3MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgdHJhY2tFbmRlZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1F
bmRlZCgpIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBib29sIGlzTG9jYWwoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQotCiAgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKiBkZXNjcmlwdG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdG9yLmdldCgpOyB9CiAKICAgICAvLyBFdmVudFRhcmdl
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LmlkbAppbmRleCBiYTFkYzYzOTI0M2VmMGY4ZmJkNmE4YmUyZDBiYmQyZTgxMzU5MDg2Li4wNGRm
MTdiOWNkMzE0YWM1OGRlZThiZWY5MWE1Nzg5ZDIzNjU0NjU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbApAQCAtMjksNyArMjks
NiBAQAogICAgIENvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSksCiAgICAgQ29uc3RydWN0
b3IoTWVkaWFTdHJlYW1UcmFja1tdIHRyYWNrcyksCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LAotICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAogICAgIElu
dGVyZmFjZU5hbWU9d2Via2l0TWVkaWFTdHJlYW0KIF0gaW50ZXJmYWNlIE1lZGlhU3RyZWFtIHsK
ICAgICAvLyBERVBSRUNBVEVECkBAIC00NSw2ICs0NCw3IEBACiAgICAgTWVkaWFTdHJlYW1UcmFj
ayBnZXRUcmFja0J5SWQoRE9NU3RyaW5nIHRyYWNrSWQpOwogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gZW5kZWQ7CisgICAgdm9pZCBzdG9wKCk7CiAKICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbmVuZGVkOwogICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uYWRkdHJh
Y2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaAppbmRleCAyYjZh
YWU1ZGYwMzA5NGJlNzg3Y2FmODE4OWJhMzA3OTlmZjYwODcxLi45ZjQ1NmVhZGM2YWU0OTQxODZj
ZjA3YzZlMmE1MmUwNDc2M2Y5OTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmgKQEAgLTMxLDEyICszMSwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIExvY2FsTWVkaWFTdHJlYW07CitjbGFzcyBNZWRpYVN0cmVhbTsKIAogY2xhc3MgTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIGhh
bmRsZUV2ZW50KExvY2FsTWVkaWFTdHJlYW0qKSA9IDA7CisgICAgdmlydHVhbCBib29sIGhhbmRs
ZUV2ZW50KE1lZGlhU3RyZWFtKikgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCmluZGV4IDIyNmE5
YTY5ZDNkMjJlODFkZGM2YWQ3MjRhODkzYWJlYmYxZjA0ZmUuLjM5MTI3OTdkMzEzZTJhYWVlNGI4
MDhiMmQwMGMxNGE3ZWUxYWIwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5pZGwKQEAgLTI1LDYgKzI1LDYgQEAKIFsKICAgICBDb25kaXRpb25hbD1NRURJ
QV9TVFJFQU0sCiBdIGNhbGxiYWNrIGludGVyZmFjZSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2sgewotICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoTG9jYWxNZWRpYVN0cmVhbSBzdHJl
YW0pOworICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoTWVkaWFTdHJlYW0gc3RyZWFtKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuY3BwCmluZGV4IDYyM2FjYmNjODFkY2MwMTAzNjJiYjcwNjA4NmExNmI0MDUyZmU5
ZjkuLmM2NGVkZWVlZGFhZmY5ZWM4N2UzODNhMzc0YTY0MWFhMDk0ZDVhMzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmNwcApAQCAtMzgsOCArMzgsOCBAQAogI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJMb2Nh
bE1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50c0ltcGwuaCIKKyNpbmNs
dWRlICJNZWRpYVN0cmVhbS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtQ2VudGVyLmgiCiAjaW5j
bHVkZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmlu
Zy5oIgpAQCAtMTM1LDIxICsxMzUsMTIgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpkaWRDb21w
bGV0ZVF1ZXJ5KGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXIKICAgICAg
ICAgbV9jb250cm9sbGVyLT5yZXF1ZXN0VXNlck1lZGlhKHRoaXMsIGF1ZGlvU291cmNlcywgdmlk
ZW9Tb3VyY2VzKTsKIH0KIAotdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdWNjZWVkKGNvbnN0IE1l
ZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291
cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpCi17Ci0gICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFJlZlB0cjxMb2NhbE1lZGlhU3RyZWFtPiBz
dHJlYW0gPSBMb2NhbE1lZGlhU3RyZWFtOjpjcmVhdGUobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7Ci0gICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhh
bmRsZUV2ZW50KHN0cmVhbS5nZXQoKSk7Ci19Ci0KIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6c3Vj
Y2VlZChQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVzY3JpcHRvcikK
IHsKICAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgUmVmUHRyPExvY2FsTWVkaWFTdHJlYW0+IHN0cmVhbSA9IExvY2FsTWVkaWFTdHJlYW06
OmNyZWF0ZShtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0cmVhbURlc2NyaXB0b3IpOworICAg
IFJlZlB0cjxNZWRpYVN0cmVhbT4gc3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0ZShtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIHN0cmVhbURlc2NyaXB0b3IpOwogICAgIG1fc3VjY2Vzc0NhbGxi
YWNrLT5oYW5kbGVFdmVudChzdHJlYW0uZ2V0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oCmluZGV4IDY0ZDBi
MTdlZDlhMDY4M2M3NGUxYWNiNzhiMjI5ZTc5NjVjYTg5NGQuLjc4ODE0OTY2MzBiZDc5NGQzNjQy
OGIwZWY5ZDM3MzMwNjc5MWFhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oCkBAIC02Myw3ICs2Myw2IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc3RhcnQoKTsKIAotICAgIHZvaWQgc3VjY2VlZChjb25zdCBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgdmlkZW9Tb3VyY2VzKTsKICAgICB2b2lkIHN1Y2NlZWQoUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbURlc2NyaXB0b3I+KTsKICAgICB2b2lkIGZhaWwoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IGNjZGIzMDVmZDk5YTEy
OTYxNWFkZTkxNzUxNDFhYThhYWVlZjA4ODAuLmZlOWM0NTUwZjljNzg1ZjBlYjJhM2JlY2MxNzdi
MWIyZmJkMzBjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAKQEAgLTQxOCwxNSArNDE4LDE1IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Uo
TWVkCiAgICAgQXVkaW9Tb3VyY2VQcm92aWRlciogcHJvdmlkZXIgPSAwOwogCiAgICAgTWVkaWFT
dHJlYW1UcmFja1ZlY3RvciBhdWRpb1RyYWNrcyA9IG1lZGlhU3RyZWFtLT5nZXRBdWRpb1RyYWNr
cygpOwotICAgIGlmIChtZWRpYVN0cmVhbS0+aXNMb2NhbCgpICYmIGF1ZGlvVHJhY2tzLnNpemUo
KSkgewotICAgICAgICAvLyBFbmFibGUgaW5wdXQgZm9yIHRoZSBzcGVjaWZpYyBsb2NhbCBhdWRp
byBkZXZpY2Ugc3BlY2lmaWVkIGluIHRoZSBNZWRpYVN0cmVhbVNvdXJjZS4KLSAgICAgICAgUmVm
UHRyPE1lZGlhU3RyZWFtVHJhY2s+IGxvY2FsQXVkaW8gPSBhdWRpb1RyYWNrc1swXTsKKyAgICAv
LyBGSVhNRTogZ2V0IGEgcHJvdmlkZXIgZm9yIG5vbi1sb2NhbCBNZWRpYVN0cmVhbXMgKGxpa2Ug
ZnJvbSBhIHJlbW90ZSBwZWVyKS4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGF1ZGlvVHJh
Y2tzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBsb2Nh
bEF1ZGlvID0gYXVkaW9UcmFja3NbaV07CiAgICAgICAgIE1lZGlhU3RyZWFtU291cmNlKiBzb3Vy
Y2UgPSBsb2NhbEF1ZGlvLT5jb21wb25lbnQoKS0+c291cmNlKCk7Ci0gICAgICAgIGRlc3RpbmF0
aW9uKCktPmVuYWJsZUlucHV0KHNvdXJjZS0+ZGV2aWNlSWQoKSk7Ci0gICAgICAgIHByb3ZpZGVy
ID0gZGVzdGluYXRpb24oKS0+bG9jYWxBdWRpb0lucHV0UHJvdmlkZXIoKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICAvLyBGSVhNRTogZ2V0IGEgcHJvdmlkZXIgZm9yIG5vbi1sb2NhbCBNZWRpYVN0
cmVhbXMgKGxpa2UgZnJvbSBhIHJlbW90ZSBwZWVyKS4KLSAgICAgICAgcHJvdmlkZXIgPSAwOwor
ICAgICAgICBpZiAoIXNvdXJjZS0+ZGV2aWNlSWQoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
IGRlc3RpbmF0aW9uKCktPmVuYWJsZUlucHV0KHNvdXJjZS0+ZGV2aWNlSWQoKSk7CisgICAgICAg
ICAgICBwcm92aWRlciA9IGRlc3RpbmF0aW9uKCktPmxvY2FsQXVkaW9JbnB1dFByb3ZpZGVyKCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIAogICAgIFJlZlB0cjxNZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZT4gbm9kZSA9IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
OjpjcmVhdGUodGhpcywgbWVkaWFTdHJlYW0sIHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDM2MTNkYmU5ZWEzYjM2MjU1ODdjZWE4Mjg2ZGQzZTRl
YzNjMzhjNWQuLmQ1N2JlYjhkMGY5ODNhNDdjYzM3Y2U5MmYyMTVjZWFkNjI1MzgzNzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAj
aW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlSW5wdXQuaCIKLSNp
bmNsdWRlICJMb2NhbE1lZGlhU3RyZWFtLmgiCisjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNp
bmNsdWRlICJNZWRpYVN0cmVhbUNlbnRlci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5oIgogI2luY2x1ZGUgIlVVSUQuaCIKQEAgLTUzLDcgKzUzLDcgQEAgTWVkaWFTdHJl
YW1BdWRpb0Rlc3RpbmF0aW9uTm9kZTo6TWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZShB
dWRpb0NvbnRleHQqIGMKICAgICBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7
CiAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChtX3NvdXJjZSk7CiAgICAgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3IgdmlkZW9Tb3VyY2VzOwotICAgIG1fc3RyZWFtID0gTG9jYWxNZWRpYVN0cmVhbTo6
Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgYXVkaW9Tb3VyY2VzLCB2
aWRlb1NvdXJjZXMpOworICAgIG1fc3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0ZShjb250ZXh0
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRl
KGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKSk7CiAgICAgTWVkaWFTdHJlYW1DZW50ZXI6Omlu
c3RhbmNlKCkuZGlkQ3JlYXRlTWVkaWFTdHJlYW0obV9zdHJlYW0tPmRlc2NyaXB0b3IoKSk7CiAK
ICAgICBtX3NvdXJjZS0+c2V0QXVkaW9Gb3JtYXQobnVtYmVyT2ZDaGFubmVscywgY29udGV4dC0+
c2FtcGxlUmF0ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAwMDc4MmExMTBmNGFiODQ1MWE3M2E0MTY1ZjdkYmMyMTE0NzMy
ZWQ1Li5mM2UxNjRlNWZjZTIyYTQ1NmQyZjZmOWVkNGI0NDc0YjU4ZDMxNGMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzgs
OCArMTM4LDYgQEAKIAkJMDc4NDYzNDIxNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzg0NjM0
MDE0NUIxNTFBMDBBNThERjEgLyogSlNUcmFja0V2ZW50LmNwcCAqLzsgfTsKIAkJMDc4NDYzNDMx
NDVCMTUxQTAwQTU4REYxIC8qIEpTVHJhY2tFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4NDYzNDExNDVCMTUxQTAwQTU4REYxIC8qIEpTVHJh
Y2tFdmVudC5oICovOyB9OwogCQkwNzg0NjM4NTE0NUIxQjhFMDBBNThERjEgLyogSlNUcmFja0N1
c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc4
NDYzODQxNDVCMUI4RTAwQTU4REYxIC8qIEpTVHJhY2tDdXN0b20uaCAqLzsgfTsKLQkJMDc4RTA4
RkMxN0QxNENCRDAwNDIwQUExIC8qIExvY2FsTWVkaWFTdHJlYW0uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjIxQjQ4MTdDRUMzMjcwMDg0OEU1MSAv
KiBMb2NhbE1lZGlhU3RyZWFtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJMDc4RTA4RkQxN0QxNENDNjAwNDIwQUExIC8qIExvY2FsTWVkaWFTdHJl
YW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcy
MjFCNDcxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2FsTWVkaWFTdHJlYW0uY3BwICovOyB9OwogCQkw
NzhFMDhGRTE3RDE0Q0VFMDA0MjBBQTEgLyogTWVkaWFDb25zdHJhaW50c0ltcGwuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDcyMjFCNEExN0NFQzMy
NzAwODQ4RTUxIC8qIE1lZGlhQ29uc3RyYWludHNJbXBsLmNwcCAqLzsgfTsKIAkJMDc4RTA4RkYx
N0QxNENFRTAwNDIwQUExIC8qIE1lZGlhU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3MjIxQjRDMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRp
YVN0cmVhbS5jcHAgKi87IH07CiAJCTA3OEUwOTAwMTdEMTRDRUUwMDQyMEFBMSAvKiBNZWRpYVN0
cmVhbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA3MjIxQjRGMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRpYVN0cmVhbUV2ZW50LmNwcCAqLzsg
fTsKQEAgLTIxOSw4ICsyMTcsNiBAQAogCQkwNzk0MTc5MTE2NkU4NTVGMDA5NDE2QzIgLyogSW5i
YW5kVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3OTQxNzhGMTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2suY3BwICov
OyB9OwogCQkwNzk0MTc5MjE2NkU4NTVGMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk0MTc5MDE2NkU4
NTVGMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNrLmggKi87IH07CiAJCTA3OTQxNzk0MTY2RUEw
NEUwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzk0MTc5MzE2NkVBMDRFMDA5NDE2QzIgLyog
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTA3OTY5RDhGMTdEMTNGNDMwMDdGRjg0MiAvKiBKU0xvY2FsTWVk
aWFTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc5NjlEOEQxN0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0cmVhbS5jcHAgKi87
IH07Ci0JCTA3OTY5RDkwMTdEMTNGNDMwMDdGRjg0MiAvKiBKU0xvY2FsTWVkaWFTdHJlYW0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3OTY5RDhFMTdE
MTNGNDMwMDdGRjg0MiAvKiBKU0xvY2FsTWVkaWFTdHJlYW0uaCAqLzsgfTsKIAkJMDc5NjlEQUIx
N0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDRGF0YUNoYW5uZWwuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc5NjlEOTExN0QxNDE1MTAwN0ZGODQyIC8q
IEpTUlRDRGF0YUNoYW5uZWwuY3BwICovOyB9OwogCQkwNzk2OURBQzE3RDE0MTUxMDA3RkY4NDIg
LyogSlNSVENEYXRhQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDc5NjlEOTIxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDRGF0YUNoYW5uZWwu
aCAqLzsgfTsKIAkJMDc5NjlEQUQxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDRGF0YUNoYW5uZWxF
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
Nzk2OUQ5MzE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbEV2ZW50LmNwcCAqLzsg
fTsKQEAgLTY0NDAsOSArNjQzNiw2IEBACiAJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBH
ZW5lcmljRXZlbnRRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5l
cmljRXZlbnRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzIwQjA5RjE0
RDMzMjM1MDA2NDI5NTYgLyogR2VzdHVyZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdlc3R1cmVFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NyAvKiBHZXN0dXJlRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VzdHVyZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTA3MjIxQjQ3MTdDRUMzMjcwMDg0OEU1MSAvKiBMb2NhbE1lZGlhU3Ry
ZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvY2FsTWVkaWFT
dHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzIyMUI0ODE3Q0VDMzI3
MDA4NDhFNTEgLyogTG9jYWxNZWRpYVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMb2NhbE1lZGlhU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTA3MjIxQjQ5MTdDRUMzMjcwMDg0OEU1MSAvKiBMb2NhbE1lZGlhU3RyZWFtLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBMb2NhbE1lZGlhU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMDcyMjFCNEExN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhQ29uc3RyYWludHNJ
bXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29uc3Ry
YWludHNJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDcyMjFCNEIxN0NF
QzMyNzAwODQ4RTUxIC8qIE1lZGlhQ29uc3RyYWludHNJbXBsLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29uc3RyYWludHNJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA3MjIxQjRDMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRpYVN0cmVhbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NTgyLDggKzY1NzUsNiBAQAogCQkwNzk0MTc4
RjE2NkU4NTVGMDA5NDE2QzIgLyogSW5iYW5kVGV4dFRyYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluYmFuZFRleHRUcmFjay5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA3OTQxNzkwMTY2RTg1NUYwMDk0MTZDMiAvKiBJbmJhbmRUZXh0VHJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5iYW5kVGV4dFRyYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3OTQxNzkzMTY2RUEwNEUwMDk0MTZDMiAv
KiBJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluYmFuZFRleHRUcmFja1ByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMDc5NjlEOEQxN0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0cmVhbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0xvY2FsTWVkaWFTdHJlYW0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwNzk2OUQ4RTE3RDEzRjQzMDA3RkY4NDIg
LyogSlNMb2NhbE1lZGlhU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTTG9jYWxNZWRpYVN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzk2
OUQ5MTE3RDE0MTUxMDA3RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JUQ0RhdGFDaGFubmVsLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDc5NjlEOTIxN0QxNDE1MTAwN0ZGODQyIC8qIEpTUlRDRGF0
YUNoYW5uZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSVENEYXRhQ2hh
bm5lbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwNzk2OUQ5MzE3RDE0MTUxMDA3
RkY4NDIgLyogSlNSVENEYXRhQ2hhbm5lbEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTUlRDRGF0YUNoYW5uZWxFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMzI0NCw5ICsxMzIzNSw2IEBACiAJCTA3MjIxQjQ2MTdDRUMzMjcw
MDg0OEU1MSAvKiBtZWRpYXN0cmVhbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCi0JCQkJMDcyMjFCNDcxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2FsTWVkaWFTdHJl
YW0uY3BwICovLAotCQkJCTA3MjIxQjQ4MTdDRUMzMjcwMDg0OEU1MSAvKiBMb2NhbE1lZGlhU3Ry
ZWFtLmggKi8sCi0JCQkJMDcyMjFCNDkxN0NFQzMyNzAwODQ4RTUxIC8qIExvY2FsTWVkaWFTdHJl
YW0uaWRsICovLAogCQkJCTA3MjIxQjRBMTdDRUMzMjcwMDg0OEU1MSAvKiBNZWRpYUNvbnN0cmFp
bnRzSW1wbC5jcHAgKi8sCiAJCQkJMDcyMjFCNEIxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlhQ29u
c3RyYWludHNJbXBsLmggKi8sCiAJCQkJMDcyMjFCNEMxN0NFQzMyNzAwODQ4RTUxIC8qIE1lZGlh
U3RyZWFtLmNwcCAqLywKQEAgLTEzMzgyLDggKzEzMzcwLDYgQEAKIAkJMDdDRkQ5OTMxN0QwMTQw
NTAwMUM0RkZDIC8qIE1lZGlhU3RyZWFtICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQlj
aGlsZHJlbiA9ICgKLQkJCQkwNzk2OUQ4RDE3RDEzRjQzMDA3RkY4NDIgLyogSlNMb2NhbE1lZGlh
U3RyZWFtLmNwcCAqLywKLQkJCQkwNzk2OUQ4RTE3RDEzRjQzMDA3RkY4NDIgLyogSlNMb2NhbE1l
ZGlhU3RyZWFtLmggKi8sCiAJCQkJMDcyNzdFM0UxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFT
b3VyY2UuY3BwICovLAogCQkJCTA3Mjc3RTNGMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU291
cmNlLmggKi8sCiAJCQkJMDcyNzdFNDAxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW0u
Y3BwICovLApAQCAtMjMwNTksOCArMjMwNDUsNiBAQAogCQkJCTQ0OTZFMzlFMTM5ODEzNkMwMDNF
RTMyQSAvKiBKU1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MkZBM0Q1NTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENTcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5p
bWF0aW9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMDc4RTA4RkMxN0QxNENCRDAwNDIw
QUExIC8qIExvY2FsTWVkaWFTdHJlYW0uaCBpbiBIZWFkZXJzICovLAotCQkJCTA3OTY5RDkwMTdE
MTNGNDMwMDdGRjg0MiAvKiBKU0xvY2FsTWVkaWFTdHJlYW0uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyRkEzRDU5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0NpcmNsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIyRkEzRDVCMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0NsaXBQYXRoRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENUQwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHQ29sb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjY5ODAsNyArMjY5NjQsNiBAQAogCQkJCTBG
NjA1QUVDMTVGOTQ4NDgwMDRERjBDMCAvKiBTY3JvbGxpbmdDb25zdHJhaW50cy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQUY2MkVFNzE0REEyMkE3MDA0MTU1NkMgLyogU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFGNjJFRTYxNERBMjJBNzAwNDE1NTZDIC8q
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMDc5NjlEOEYx
N0QxM0Y0MzAwN0ZGODQyIC8qIEpTTG9jYWxNZWRpYVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5M0MzOEJGRTE2NDQ3M0M3MDAwOTFFQjIgLyogU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMxQ0JEMEMxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9s
bGluZ1N0YXRlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzFDQkQxMzE2MUE0NEY4MDBF
NEM4NzQgLyogU2Nyb2xsaW5nU3RhdGVOb2RlTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yNzQ2
OCw3ICsyNzQ1MSw2IEBACiAJCQkJNDlDN0I5RDQxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMT2Jq
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdCOUQ2MTA0MkQzMkYwMDA5RDQ0NyAvKiBX
ZWJHTFByb2dyYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlDN0I5RDkxMDQyRDMyRjAwMDlE
NDQ3IC8qIFdlYkdMUmVuZGVyYnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA3OEUwOEZE
MTdEMTRDQzYwMDQyMEFBMSAvKiBMb2NhbE1lZGlhU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ5QzdCOURGMTA0MkQzMkYwMDA5RDQ0NyAvKiBXZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDlDN0I5RTIxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMU2hh
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBX
ZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggYTIxYmQwMGIwZmY3NjIzMmY1NDJlZmFlMjc5NDFlY2E3MDc2Y2Ri
Zi4uOTI4YjYyZjlkZDY4Y2E4MWUwY2RkYzc4MzllYzVjYjE2YmFjNTRiNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKQEAgLTU1LDcgKzU1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIElEQlJlcXVlc3Q7CiAgICAgY2xhc3MgSURCVHJhbnNhY3Rpb247CiAgICAgY2xhc3Mg
U2NyaXB0UHJvY2Vzc29yTm9kZTsKLSAgICBjbGFzcyBMb2NhbE1lZGlhU3RyZWFtOwogICAgIGNs
YXNzIE1lZGlhQ29udHJvbGxlcjsKICAgICBjbGFzcyBNZWRpYVNvdXJjZTsKICAgICBjbGFzcyBN
ZWRpYVN0cmVhbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4
IGFlZWE5NmE2Y2MyYTYwMjk4ODk2MjFhY2VjY2Y4ZTRmYjdjNzAxNTEuLjJmNWJlOGRlZDRhYjRh
OWJjMTZiN2VjNDg0YzAxYTYzMWEwMWZiY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbgpAQCAtMTUsNyArMTUsNiBAQCBJREJEYXRhYmFzZSBjb25kaXRpb25hbD1J
TkRFWEVEX0RBVEFCQVNFCiBJREJPcGVuREJSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFU
QUJBU0UKIElEQlJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSURCVHJhbnNh
Y3Rpb24gY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQotTG9jYWxNZWRpYVN0cmVhbSBjb25k
aXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhS2V5U2Vzc2lvbiBjb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUFfVjIKIE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25hbD1WSURFTwogTWVkaWFTb3Vy
Y2UgY29uZGl0aW9uYWw9TUVESUFfU09VUkNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCmluZGV4IGEw
MTNkNDljZGRmYzE2NzIyNWI0YmM3OTEzNDEzZTc1ZmNjYzJlODIuLjg1MDBmNjI1ZTYxYTRkNTc1
NTJmYmQzMDdjYjkzNzE0OWNjN2U0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCkBAIC0zNiw2
ICszNiw3IEBACiAKICNpbmNsdWRlICJNZWRpYVN0cmVhbUNvbXBvbmVudC5oIgogI2luY2x1ZGUg
Ik1lZGlhU3RyZWFtU291cmNlLmgiCisjaW5jbHVkZSAiVVVJRC5oIgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDczNzY2MmY5
ODc3MGE2ZTg4Mzc4MTMzODFjYmQzOTk2MWU2OGFhYi4uMDMxZjhmZWIyOGIwNTdhMWI2MGY0M2Ji
MjRmMGNlOWViNzE5NGMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA5LTExICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVtb3ZlIExvY2FsTWVkaWFTdHJlYW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDg3NQorCisgICAgICAg
IGJsaW5rIG1lcmdlOiBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
YmxpbmsvKy84MTY0M2VlM2ZlMDQ4YTY0ZmE4OTMxMTMyZTEyOTRmYTJjOGU4MjFhCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVh
bS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGZhc3QvbWVkaWFzdHJlYW0vTG9jYWxNZWRpYVN0cmVhbS1vbmVuZGVkLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1vbmVuZGVkLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQu
aHRtbDoKKwogMjAxMy0wOS0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBuZXN0ZWQgdW5pY29kZS1iaWRpOiBpc29sYXRlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL0xvY2FsTWVkaWFTdHJlYW0tb25lbmRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL0xvY2FsTWVkaWFT
dHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGE4YmNkOTVkNGZmYmU1MmRhMjE2ZTc4YmU0Y2JiMWE5ODM4NDU2NWIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9Mb2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotVGVzdHMgTG9jYWxNZWRpYVN0cmVhbTo6b25lbmRlZCBjYWxsYmFj
ay4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc3RyZWFtLmVuZGVkIGlz
IGZhbHNlCi1QQVNTIHN0cmVhbUVuZGVkIHdhcyBjYWxsZWQuCi1QQVNTIHN0cmVhbS5lbmRlZCBp
cyB0cnVlCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9Mb2NhbE1lZGlhU3Ry
ZWFtLW9uZW5kZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTG9jYWxNZWRp
YVN0cmVhbS1vbmVuZGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2YzE0
OWUxN2FmMmY5MzFmNmUwN2JhYmUwYjE1YWM4MjliMDA3NWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9M
b2NhbE1lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMgTG9jYWxN
ZWRpYVN0cmVhbTo6b25lbmRlZCBjYWxsYmFjay4iKTsKLQotZnVuY3Rpb24gZXJyb3IoKSB7Ci0g
ICAgdGVzdEZhaWxlZCgnU3RyZWFtIGdlbmVyYXRpb24gZmFpbGVkLicpOwotICAgIGZpbmlzaEpT
VGVzdCgpOwotfQotCi1mdW5jdGlvbiBnZXRVc2VyTWVkaWEoZGljdGlvbmFyeSwgY2FsbGJhY2sp
IHsKLSAgICB0cnkgewotICAgICAgICBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKGRpY3Rp
b25hcnksIGNhbGxiYWNrLCBlcnJvcik7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICB0ZXN0
RmFpbGVkKCd3ZWJraXRHZXRVc2VyTWVkaWEgdGhyZXcgZXhjZXB0aW9uIDonICsgZSk7Ci0gICAg
ICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotdmFyIHN0cmVhbTsKLQotZnVuY3Rpb24g
c3RyZWFtRW5kZWQoKSB7Ci0gICAgdGVzdFBhc3NlZCgnc3RyZWFtRW5kZWQgd2FzIGNhbGxlZC4n
KTsKLSAgICBzaG91bGRCZVRydWUoJ3N0cmVhbS5lbmRlZCcpOwotICAgIGZpbmlzaEpTVGVzdCgp
OwotfQotCi1mdW5jdGlvbiBnb3RTdHJlYW0ocykgewotICAgIHN0cmVhbSA9IHM7Ci0gICAgc2hv
dWxkQmVGYWxzZSgnc3RyZWFtLmVuZGVkJyk7Ci0gICAgdHJ5IHsKLSAgICAgICAgc3RyZWFtLm9u
ZW5kZWQgPSBzdHJlYW1FbmRlZDsKLSAgICAgICAgc3RyZWFtLnN0b3AoKTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIHRlc3RGYWlsZWQoJ0xvY2FsTWVkaWFTdHJlYW0gdGhyZXcgZXhjZXB0
aW9uIDonICsgZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLX0KLQotZ2V0VXNl
ck1lZGlhKHthdWRpbzp0cnVlLCB2aWRlbzp0cnVlfSwgZ290U3RyZWFtKTsKLQotd2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOwotd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQtZXhwZWN0ZWQudHh0CmluZGV4
IDQ5MWIzNWI5NTdjNWJlNTY4MjcxNGFhZGI5NmM0YTE5Mjk0Yzk5MWMuLmUwNjY0NzNiMDJhMjhk
ODJhNTUwOTc5ODU5MGE4NGI5MGQ4NTg2ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1vbmVuZGVkLWV4cGVjdGVkLnR4dApA
QCAtNiw2ICs2LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIFBBU1Mgc3RyZWFtLmVuZGVk
IGlzIGZhbHNlCiBQQVNTIHN0cmVhbUVuZGVkIHdhcyBjYWxsZWQuCiBQQVNTIHN0cmVhbS5lbmRl
ZCBpcyB0cnVlCitQQVNTIHN0cmVhbS5lbmRlZCBpcyBmYWxzZQorUEFTUyBzdHJlYW1FbmRlZCB3
YXMgY2FsbGVkLgorUEFTUyBzdHJlYW0uZW5kZWQgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLW9uZW5kZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tb25lbmRlZC5odG1sCmluZGV4IDM5M2M1MjBkMGEz
Y2NkNmVkODkyYTY1M2ViZjg3YjViYTUwN2NmYWYuLmYwMWRiYzJjMWU0YzgzNTg3Njg0MWY2YTE4
OWZkNzI1NmUyZmY1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tb25lbmRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0tb25lbmRlZC5odG1sCkBAIC0yNSwyMCArMjUsMzkgQEAgZnVuY3Rpb24g
Z2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNrKSB7CiAKIHZhciBzdHJlYW07CiAKLWZ1
bmN0aW9uIHN0cmVhbUVuZGVkKCkgeworZnVuY3Rpb24gc3RyZWFtRW5kZWQyKCkgewogICAgIHRl
c3RQYXNzZWQoJ3N0cmVhbUVuZGVkIHdhcyBjYWxsZWQuJyk7CiAgICAgc2hvdWxkQmVUcnVlKCdz
dHJlYW0uZW5kZWQnKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIAotZnVuY3Rpb24gZ290U3Ry
ZWFtKHMpIHsKK2Z1bmN0aW9uIGdvdFN0cmVhbTIocykgewogICAgIHN0cmVhbSA9IG5ldyB3ZWJr
aXRNZWRpYVN0cmVhbShzKTsKICAgICBzaG91bGRCZUZhbHNlKCdzdHJlYW0uZW5kZWQnKTsKICAg
ICB0cnkgewotICAgICAgICBzdHJlYW0ub25lbmRlZCA9IHN0cmVhbUVuZGVkOworICAgICAgICBz
dHJlYW0ub25lbmRlZCA9IHN0cmVhbUVuZGVkMjsKICAgICAgICAgcy5zdG9wKCk7CiAgICAgfSBj
YXRjaCAoZSkgewotICAgICAgICB0ZXN0RmFpbGVkKCdMb2NhbE1lZGlhU3RyZWFtIHRocmV3IGV4
Y2VwdGlvbiA6JyArIGUpOworICAgICAgICB0ZXN0RmFpbGVkKCdNZWRpYVN0cmVhbSB0aHJldyBl
eGNlcHRpb24gOicgKyBlKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfQorCitm
dW5jdGlvbiBzdHJlYW1FbmRlZCgpIHsKKyAgICB0ZXN0UGFzc2VkKCdzdHJlYW1FbmRlZCB3YXMg
Y2FsbGVkLicpOworICAgIHNob3VsZEJlVHJ1ZSgnc3RyZWFtLmVuZGVkJyk7CisKKyAgICBnZXRV
c2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0yKTsKK30KKworZnVu
Y3Rpb24gZ290U3RyZWFtKHMpIHsKKyAgICBzdHJlYW0gPSBzOworICAgIHNob3VsZEJlRmFsc2Uo
J3N0cmVhbS5lbmRlZCcpOworICAgIHRyeSB7CisgICAgICAgIHN0cmVhbS5vbmVuZGVkID0gc3Ry
ZWFtRW5kZWQ7CisgICAgICAgIHN0cmVhbS5zdG9wKCk7CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICB0ZXN0RmFpbGVkKCdNZWRpYVN0cmVhbSB0aHJldyBleGNlcHRpb24gOicgKyBlKTsKICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>