<?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>234429</bug_id>
          
          <creation_ts>2021-12-17 02:00:21 -0800</creation_ts>
          <short_desc>Update RTCRtpScriptTransformer key frame API according latest spec proposal</short_desc>
          <delta_ts>2021-12-20 12:44:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234522</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1825027</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-17 02:00:21 -0800</bug_when>
    <thetext>Update RTCRtpScriptTransformer key frame API according latest spec proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825032</commentid>
    <comment_count>1</comment_count>
      <attachid>447443</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-17 02:31:51 -0800</bug_when>
    <thetext>Created attachment 447443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825034</commentid>
    <comment_count>2</comment_count>
      <attachid>447445</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-17 02:53:46 -0800</bug_when>
    <thetext>Created attachment 447445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825142</commentid>
    <comment_count>3</comment_count>
      <attachid>447445</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-12-17 11:05:26 -0800</bug_when>
    <thetext>Comment on attachment 447445
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp:154
&gt; +        fprintf(stderr, &quot;RTCRtpScriptTransformer::generatetKeyFrame promise resolution\n&quot;);

You probably don&apos;t want to commit this.

&gt; Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp:170
&gt; +    fprintf(stderr, &quot;RTCRtpScriptTransformer::generateKeyFrame2Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.h \n&quot;);

Ditto

&gt; Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp:180
&gt; +    fprintf(stderr, &quot;RTCRtpScriptTransformer::sendKeyFrameRequest\n&quot;);

Ditto

&gt; Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp:188
&gt; +    fprintf(stderr, &quot;RTCRtpScriptTransformer::sendKeyFrameRequest1\n&quot;);

Ditto

&gt; Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.cpp:193
&gt; +        fprintf(stderr, &quot;RTCRtpScriptTransformer::sendKeyFrameRequest2\n&quot;);

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825570</commentid>
    <comment_count>4</comment_count>
      <attachid>447594</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-12-20 03:06:25 -0800</bug_when>
    <thetext>Created attachment 447594
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825577</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-20 04:40:06 -0800</bug_when>
    <thetext>Committed r287258 (245414@main): &lt;https://commits.webkit.org/245414@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447594.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825578</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-20 04:41:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/86719358&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447443</attachid>
            <date>2021-12-17 02:31:51 -0800</date>
            <delta_ts>2021-12-17 02:53:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234429-20211217113150.patch</filename>
            <type>text/plain</type>
            <size>19305</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY3MzY5MWVjYzk5ZjA5
NWU3MGVjNDczOTE2OTZmZGJiMjlkOTEzOS4uYWQ3ZDk1ODdlOWE1MjMzYmFiMDNhZDlhMzJjOGRi
NmFiYzJhNjRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEyLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIga2V5IGZyYW1lIEFQSSBhY2NvcmRpbmcgbGF0ZXN0IHNwZWMgcHJvcG9z
YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBpbXBsZW1lbnRhdGlvbiBhY2NvcmRpbmcgaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJydGMt
ZW5jb2RlZC10cmFuc2Zvcm0vcHVsbC8xMjUuCisgICAgICAgIFRoaXMgbWVhbnMgYWRkaW5nIGEg
c3BlY2lmaWMgbWV0aG9kIHRvIHNlbmQgYSBGSVIsIGEgc3BlY2lmaWMgbWV0aG9kIHRvIGdlbmVy
YXRlIGEga2V5IGZyYW1lIG9uIHNlbmRlciBzaWRlLgorICAgICAgICBUaGlzIGFsc28gbWVhbnMg
aW1wcm92aW5nIHRoZSBlcnJvciBoYW5kbGluZyBhbmQgdGhlIHByb21pc2UgcmVzb2x1dGlvbiB0
aW1pbmcuCisgICAgICAgIFJJRCBzdXBwb3J0IGlzIG5vdCB5ZXQgYXZhaWxhYmxlIHVudGlsIHdl
IGNhbiBwcm9wZXJseSBwaXBlIHRoYXQgaW5mb3JtYXRpb24gZG93biB0byBlbmNvZGVycy4KKwor
ICAgICAgICBUZXN0OiBodHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3Jt
Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJh
bnNmb3JtZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyLmlkbDoKKwogMjAyMS0xMi0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWxsb3cgQXVkaW9TYW1wbGVEYXRhU291cmNlIHRvIGluY3JlYXNl
L2RlY3JlYXNlIGJ1ZmZlcmVkIGRhdGEgcHJvZ3Jlc3NpdmVseQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9y
bWVyLmNwcAppbmRleCBiZjMyNzQxMjJmODE5MWNhMWFlNDVmZWI4NGZiYjA1ZWRmNTM3MGYwLi44
NTY2NDFiNWU4MjQyM2Y1ODEwZDViZDYyYjI2ODRhMmE4NTRkNzg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAj
aW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJKU1JUQ0VuY29kZWRBdWRpb0ZyYW1lLmgiCiAjaW5jbHVkZSAiSlNS
VENFbmNvZGVkVmlkZW9GcmFtZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
LmgiCkBAIC0xMjMsMTcgKzEyNCwxMCBAQCB2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpz
dGFydChSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4mJiBiYWNrZW5kKQogICAgIG1fYmFja2Vu
ZCA9IFdURk1vdmUoYmFja2VuZCk7CiAKICAgICBhdXRvJiBjb250ZXh0ID0gZG93bmNhc3Q8V29y
a2VyR2xvYmFsU2NvcGU+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIG1fYmFja2Vu
ZC0+c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soW3JlYWRhYmxlU291cmNlID0gV2Vha1B0
ciB7IG1fcmVhZGFibGVTb3VyY2UgfSwgaXNBdWRpbyA9IG1fYmFja2VuZC0+bWVkaWFUeXBlKCkg
PT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbywgdGhyZWFkID0gUmVm
IHsgY29udGV4dC50aHJlYWQoKSB9XShhdXRvJiYgZnJhbWUpIG11dGFibGUgewotICAgICAgICB0
aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlYWRhYmxlU291cmNlLCBpc0F1ZGlv
LCBmcmFtZSA9IFdURk1vdmUoZnJhbWUpXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIGlmICghcmVhZGFibGVTb3VyY2UpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihjb250ZXh0Lmdsb2JhbE9iamVjdCgpKTsKLSAgICAgICAgICAgIGF1dG8mIHZtID0g
Z2xvYmFsT2JqZWN0LnZtKCk7Ci0gICAgICAgICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZt
KTsKLQotICAgICAgICAgICAgYXV0byB2YWx1ZSA9IGlzQXVkaW8gPyB0b0pTKCZnbG9iYWxPYmpl
Y3QsICZnbG9iYWxPYmplY3QsIFJUQ0VuY29kZWRBdWRpb0ZyYW1lOjpjcmVhdGUoV1RGTW92ZShm
cmFtZSkpKSA6IHRvSlMoJmdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVjdCwgUlRDRW5jb2RlZFZp
ZGVvRnJhbWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpOwotICAgICAgICAgICAgcmVhZGFibGVT
b3VyY2UtPmVucXVldWUodmFsdWUpOworICAgIG1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZy
YW1lQ2FsbGJhY2soW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRocmVhZCA9IFJlZiB7
IGNvbnRleHQudGhyZWFkKCkgfV0oYXV0byYmIGZyYW1lKSBtdXRhYmxlIHsKKyAgICAgICAgdGhy
ZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFt3ZWFrVGhpcywgZnJhbWUgPSBXVEZNb3Zl
KGZyYW1lKV0oYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1Ro
aXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmVucXVldWVGcmFtZShjb250ZXh0LCBXVEZN
b3ZlKGZyYW1lKSk7CiAgICAgICAgIH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwog
ICAgIH0pOwogfQpAQCAtMTQ2LDE2ICsxNDAsNTkgQEAgdm9pZCBSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcjo6Y2xlYXIoQ2xlYXJDYWxsYmFjayBjbGVhckNhbGxiYWNrKQogICAgIHN0b3BQZW5kaW5n
QWN0aXZpdHkoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI6OnJlcXVlc3RLZXlGcmFtZSgpCit2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjplbnF1
ZXVlRnJhbWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZT4mJiBmcmFtZSkKIHsKLSAgICBpZiAoIW1fYmFja2VuZCkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiTm90IGF0dGFjaGVkIHRvIGEg
cmVjZWl2ZXIgb3Igc2VuZGVyIl9zIH07CisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihjb250ZXh0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICBp
ZiAoIWdsb2JhbE9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisKKyAgICBi
b29sIGlzVmlkZW8gPSBtX2JhY2tlbmQtPm1lZGlhVHlwZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW87CisgICAgaWYgKGlzVmlkZW8gJiYgIW1fcGVuZGluZ0tl
eUZyYW1lUHJvbWlzZXMuaXNFbXB0eSgpICYmIGZyYW1lLT5pc0tleUZyYW1lKCkpIHsKKyAgICAg
ICAgZnByaW50ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Z2VuZXJhdGV0S2V5
RnJhbWUgcHJvbWlzZSByZXNvbHV0aW9uXG4iKTsKKyAgICAgICAgZm9yIChhdXRvJiBwcm9taXNl
IDogc3RkOjpleGNoYW5nZShtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzLCB7IH0pKQorICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgIH0KKworICAgIGF1dG8gdmFsdWUgPSBpc1Zp
ZGVvID8gdG9KUyhnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgUlRDRW5jb2RlZFZpZGVvRnJh
bWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpIDogdG9KUyhnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdCwgUlRDRW5jb2RlZEF1ZGlvRnJhbWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpOworICAg
IG1fcmVhZGFibGVTb3VyY2UtPmVucXVldWUodmFsdWUpOworfQogCi0gICAgaWYgKG1fYmFja2Vu
ZC0+bWVkaWFUeXBlKCkgIT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRl
bykKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90
IHJlcXVlc3Qga2V5IGZyYW1lIG9uIGF1ZGlvIHNlbmRlciJfcyB9Owordm9pZCBSVENSdHBTY3Jp
cHRUcmFuc2Zvcm1lcjo6Z2VuZXJhdGVLZXlGcmFtZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
KyAgICBpZiAoIWNvbnRleHQgfHwgIW1fYmFja2VuZCB8fCBtX2JhY2tlbmQtPnNpZGUoKSAhPSBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpTZW5kZXIgfHwgbV9iYWNrZW5kLT5tZWRpYVR5
cGUoKSAhPSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvKSB7CisgICAg
ICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk5vdCBh
dHRhY2hlZCB0byBhIHZhbGlkIHZpZGVvIHNlbmRlciJfcyB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBmcHJpbnRmKHN0ZGVyciwgIlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpnZW5l
cmF0ZUtleUZyYW1lMlNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIuaCBcbiIpOwogCisgICAgYm9vbCBzaG91bGRSZXF1ZXN0S2V5RnJhbWUg
PSBtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzLmlzRW1wdHkoKTsKKyAgICBtX3BlbmRpbmdLZXlG
cmFtZVByb21pc2VzLmFwcGVuZChXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBpZiAoc2hvdWxkUmVx
dWVzdEtleUZyYW1lKQorICAgICAgICBtX2JhY2tlbmQtPnJlcXVlc3RLZXlGcmFtZSgpOworfQor
Cit2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpzZW5kS2V5RnJhbWVSZXF1ZXN0KFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlJUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyOjpzZW5kS2V5RnJhbWVSZXF1ZXN0XG4iKTsKKworICAgIGF1dG8q
IGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0IHx8
ICFtX2JhY2tlbmQgfHwgbV9iYWNrZW5kLT5zaWRlKCkgIT0gUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6U2lkZTo6UmVjZWl2ZXIgfHwgbV9iYWNrZW5kLT5tZWRpYVR5cGUoKSAhPSBSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvKSB7CisgICAgICAgIHByb21pc2UtPnJlamVj
dChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk5vdCBhdHRhY2hlZCB0byBhIHZhbGlk
IHZpZGVvIHJlY2VpdmVyIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZnBy
aW50ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6c2VuZEtleUZyYW1lUmVxdWVz
dDFcbiIpOworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBrbm93IHdoZW4gdGhl
IEZJUiByZXF1ZXN0IGlzIHNlbnQgdG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSBhdCB0aGlzIHRpbWUu
CiAgICAgbV9iYWNrZW5kLT5yZXF1ZXN0S2V5RnJhbWUoKTsKLSAgICByZXR1cm4geyB9OworCisg
ICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcs
IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgZnByaW50
ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6c2VuZEtleUZyYW1lUmVxdWVzdDJc
biIpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CisgICAgfSk7CiB9CiAKIEpTQzo6SlNW
YWx1ZSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9ucyhKU0M6OkpTR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKaW5kZXggNmQzOWUyMTAyZmE1
YzI5Mjc0ODYxYWE1NDc2YTk2ZTJhOGVmNzk3NS4uYzdjODc3NTRiZmFjNzdmYTVlZmY0YjIzMDAx
ZmQ2Njg0ZTJiMTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaApAQCAtMjksNiArMjksNyBA
QAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTU4LDcgKzU5LDggQEAgcHVibGljOgog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxXcml0YWJsZVN0cmVhbT4+IHdyaXRhYmxlKCk7CiAgICAgSlND
OjpKU1ZhbHVlIG9wdGlvbnMoSlNDOjpKU0dsb2JhbE9iamVjdCYpOwogCi0gICAgRXhjZXB0aW9u
T3I8dm9pZD4gcmVxdWVzdEtleUZyYW1lKCk7CisgICAgdm9pZCBnZW5lcmF0ZUtleUZyYW1lKFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgc2VuZEtleUZyYW1lUmVxdWVzdChSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogICAgIHZvaWQgc3RhcnRQZW5kaW5nQWN0aXZpdHkoKSB7
IG1fcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7IH0KICAgICB2
b2lkIHN0YXJ0KFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmKTsKQEAgLTc1LDYgKzc3LDgg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc3RvcFBlbmRpbmdBY3Rpdml0eSgpIHsgYXV0byBwZW5k
aW5nQWN0aXZpdHkgPSBXVEZNb3ZlKG1fcGVuZGluZ0FjdGl2aXR5KTsgfQogCisgICAgdm9pZCBl
bnF1ZXVlRnJhbWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU+JiYpOworCiAgICAgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9vcHRpb25z
OwogICAgIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBtX3BvcnRzOwogCkBAIC04NCw2ICs4
OCw4IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9i
YWNrZW5kOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8UlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI+PiBtX3BlbmRpbmdBY3Rpdml0eTsKKworICAgIERlcXVlPFJlZjxEZWZlcnJlZFByb21pc2U+
PiBtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbAppbmRleCA5YjRlZTk2YmMwM2YzMmU3NGIzNjNl
ZTJmNmIxMzEwYmM4ZGViYjQ3Li43MjVjMjI3NWVjOTI2YWYzNTkzODM5M2ZmYjVkMWY0ZDVjOTA0
MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbApAQCAtMzQsNSArMzQsNyBAQAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0YWJsZVN0cmVhbSB3cml0YWJsZTsKICAgICBbQ2FsbFdp
dGg9R2xvYmFsT2JqZWN0LCBDYWNoZWRBdHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkg
b3B0aW9uczsKIAotICAgIHVuZGVmaW5lZCByZXF1ZXN0S2V5RnJhbWUoKTsKKyAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIFJJRCBvcHRpb25zLgorICAgIFByb21pc2U8dW5kZWZpbmVkPiBn
ZW5lcmF0ZUtleUZyYW1lKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNlbmRLZXlGcmFtZVJl
cXVlc3QoKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTdlYzg5MGJjNjZlZjMyMDMzNzE2OTRhN2YwMWNhODdjYTNm
MWVmNC4uYTNhODYzZTAxMDA3MTkyMzI5NGQ3ZTA2YzgwNWVjNTUwNjU2NmRkZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTEyLTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBVcGRhdGUgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIga2V5IGZyYW1lIEFQ
SSBhY2NvcmRpbmcgbGF0ZXN0IHNwZWMgcHJvcG9zYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvLXZpZGVvLXRy
YW5zZm9ybS5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8t
c2NyaXB0LXRyYW5zZm9ybS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYnJ0Yy9hdWRpb3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzOgorCiAyMDIxLTEyLTE1ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgdG8g
c3RhcnQgYSByZWFsdGltZSBvdXRnb2luZyBzb3VyY2UgaW4gY2FzZSBpdCBpcyB0YWtlbiB0byBh
bm90aGVyIHNlbmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1
ZGlvLXZpZGVvLXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRp
by12aWRlby10cmFuc2Zvcm0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RjOWM3NThhYzQyZWQyM2JlZTNhNDgx
ZTRmYWIxYzc5YWI2MzY2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYnJ0Yy9hdWRpby12aWRlby10cmFuc2Zvcm0uanMKQEAgLTAsMCArMSw4MCBAQAorY2xhc3Mg
QXVkaW9WaWRlb1JUQ1J0cFRyYW5zZm9ybWVyIHsKKyAgICBjb25zdHJ1Y3Rvcih0cmFuc2Zvcm1l
cikgeworICAgICAgICB0aGlzLmFza0tleUZyYW1lID0gZmFsc2U7CisgICAgICAgIHRoaXMuY29u
dGV4dCA9IHRyYW5zZm9ybWVyOworICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0Lm9u
bWVzc2FnZSA9IChldmVudCkgPT4geworICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09ICJ0
cnlHZW5lcmF0ZUtleUZyYW1lIikKKyAgICAgICAgICAgICAgICB0aGlzLnRyeUdlbmVyYXRlS2V5
RnJhbWUgPSB0cnVlOworICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gInRyeVNl
bmRLZXlGcmFtZVJlcXVlc3QiKQorICAgICAgICAgICAgICAgIHRoaXMudHJ5U2VuZEtleUZyYW1l
UmVxdWVzdCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmIChldmVudC5kYXRhID09PSAidHJ5
R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZyIpCisgICAgICAgICAgICAgICAgdGhpcy50
cnlHZW5lcmF0ZUtleUZyYW1lUHJvbWlzZUhhbmRsaW5nID0gdHJ1ZTsKKyAgICAgICAgfTsKKyAg
ICAgICAgdGhpcy5zdGFydCgpOworICAgIH0KKyAgICBzdGFydCgpCisgICAgeworICAgICAgICB0
aGlzLnJlYWRlciA9IHRoaXMuY29udGV4dC5yZWFkYWJsZS5nZXRSZWFkZXIoKTsKKyAgICAgICAg
dGhpcy53cml0ZXIgPSB0aGlzLmNvbnRleHQud3JpdGFibGUuZ2V0V3JpdGVyKCk7CisgICAgICAg
IHRoaXMucHJvY2VzcygpOworICAgIH0KKworICAgIHByb2Nlc3MoKQorICAgIHsKKyAgICAgICAg
dGhpcy5yZWFkZXIucmVhZCgpLnRoZW4oY2h1bmsgPT4geworICAgICAgICAgICAgaWYgKGNodW5r
LmRvbmUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0aGlzLndyaXRl
ci53cml0ZShjaHVuay52YWx1ZSk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLnRyeUdlbmVyYXRl
S2V5RnJhbWUpIHsKKyAgICAgICAgICAgICAgICB0aGlzLnRyeUdlbmVyYXRlS2V5RnJhbWUgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2VuZXJhdGVLZXlGcmFtZSgpLnRo
ZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0
LnBvc3RNZXNzYWdlKCJQQVNTIik7CisgICAgICAgICAgICAgICAgfSwgKGUpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgiRkFJ
TDogIiArIGUubmFtZSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAodGhpcy50cnlTZW5kS2V5RnJhbWVSZXF1ZXN0KSB7CisgICAgICAgICAgICAg
ICAgdGhpcy50cnlTZW5kS2V5RnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
dGhpcy5jb250ZXh0LnNlbmRLZXlGcmFtZVJlcXVlc3QoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgiUEFTUyIp
OworICAgICAgICAgICAgICAgIH0sIChlKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
Y29udGV4dC5vcHRpb25zLnBvcnQucG9zdE1lc3NhZ2UoIkZBSUw6ICIgKyBlLm5hbWUpOworICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRoaXMudHJ5
R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZykgeworICAgICAgICAgICAgICAgIHRoaXMu
dHJ5R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZyA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIGxldCB0ZXN0MSA9IGZhbHNlLCB0ZXN0MiA9IGZhbHNlLCB0ZXN0MyA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIGxldCByZXN1bHQ7IAorICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5n
ZW5lcmF0ZUtleUZyYW1lKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRlc3Qx
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QyIHx8IHRlc3QzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDEnOworICAgICAgICAgICAgICAgIH0s
IChlKSA9PiB7Y29uc29sZS5sb2coZSk7fSk7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0
LmdlbmVyYXRlS2V5RnJhbWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dDIgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3QxIHx8IHRlc3QzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDInOworICAgICAgICAgICAgICAg
IH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3QzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDMnOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKCFyZXN1bHQgPyAiUEFTUyIg
OiAiRkFJTDogIiArIHJlc3VsdCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5jb250ZXh0LmdlbmVyYXRlS2V5RnJhbWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdDMgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3Qx
IHx8ICF0ZXN0MikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICdlcnJvciA0JzsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGhpcy5w
cm9jZXNzKCk7CisgICAgICAgIH0pOworICAgIH0KK307CisKK29ucnRjdHJhbnNmb3JtID0gKGV2
ZW50KSA9PiB7CisgICAgbmV3IEF1ZGlvVmlkZW9SVENSdHBUcmFuc2Zvcm1lcihldmVudC50cmFu
c2Zvcm1lcik7Cit9OworCitzZWxmLnBvc3RNZXNzYWdlKCJyZWdpc3RlcmVkIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpb3ZpZGVv
LXNjcmlwdC10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYjczYzg2MTRjYTZj
Y2IyYWIxMDg2NjJmOGM0NjFkYjJmYWNmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3JtLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogVHlwZSBlcnJv
cgorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKKworCitIYXJuZXNzIEVy
cm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjogVHlwZSBlcnJvcgorCitGQUlMIHNldHVw
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAiVGVzdCB0aW1l
ZCBvdXQiCitGQUlMIGtleSBmcmFtZSBvbiBhdWRpbyBzZW5kZXIgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJkaWQgbm90IGdldCBmYWlsZWQiCitGQUlMIGtl
eSBmcmFtZSBvbiBhdWRpbyByZWNlaXZlciB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnYXVkaW9SZWNlaXZlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlJykKK0ZBSUwg
c2VuZCByZXF1ZXN0IGtleSBmcmFtZSBvbiB2aWRlbyBzZW5kZXIgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJkaWQgbm90IGdldCBmYWlsZWQiCitGQUlMIGdl
bmVyYXRlIGtleSBmcmFtZSBvbiB2aWRlbyByZWNlaXZlciB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndmlkZW9SZWNlaXZlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdl
JykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8t
c2NyaXB0LXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1ZGlv
dmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1ZGFlNDY3NTUwMzhhMjcx
YjljMzQ0MzI0YThiZWViYzQ2NTY5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCAr
MSw5NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5IHBsYXlzSW5saW5lPjwvdmlkZW8+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSJyb3V0aW5lcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3Jp
cHQ+CitmdW5jdGlvbiB3YWl0Rm9yTWVzc2FnZShwb3J0LCBkYXRhKQoreworICAgIGxldCBnb3RN
ZXNzYWdlOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CisgICAgICAgIGdvdE1lc3NhZ2UgPSByZXNvbHZlOworICAgICAgICBzZXRUaW1lb3V0
KCgpID0+IHsgcmVqZWN0KCJkaWQgbm90IGdldCAnIiArIGRhdGEgKyAiJyBsYXN0IG1lc3NhZ2Ug
ZGF0YSBpcyAnIiArIHByb21pc2UubGFzdERhdGEgKyAiJyIpIH0sIDUwMDApOworICAgIH0pOwor
ICAgIHBvcnQub25tZXNzYWdlID0gZXZlbnQgPT4geworY29uc29sZS5sb2coZXZlbnQuZGF0YSk7
CisgICAgICAgcHJvbWlzZS5sYXN0RGF0YSA9IGV2ZW50LmRhdGE7CisgICAgICAgaWYgKGV2ZW50
LmRhdGEgPT09IGRhdGEpCisgICAgICAgICAgIGdvdE1lc3NhZ2UoKTsKKyAgICB9OworICAgIHJl
dHVybiBwcm9taXNlOworfQorCitmdW5jdGlvbiBjcmVhdGVUcmFuc2Zvcm1zKHdvcmtlciwgbWVk
aWFUeXBlKQoreworICAgIGNvbnN0IHNlbmRlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7
CisgICAgY29uc3QgcmVjZWl2ZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIHNl
bmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bWVkaWFU
eXBlOiBtZWRpYVR5cGUsIHNpZGU6ICdzZW5kZXInLCBwb3J0OiBzZW5kZXJDaGFubmVsLnBvcnQy
fSwgW3NlbmRlckNoYW5uZWwucG9ydDJdKTsKKyAgICByZWNlaXZlclRyYW5zZm9ybSA9IG5ldyBS
VENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bWVkaWFUeXBlOiBtZWRpYVR5cGUsIHNpZGU6
ICdyZWNlaXZlcicsIHBvcnQ6IHJlY2VpdmVyQ2hhbm5lbC5wb3J0Mn0sIFtyZWNlaXZlckNoYW5u
ZWwucG9ydDJdKTsKKyAgICBzZW5kZXJUcmFuc2Zvcm0ucG9ydCA9IHNlbmRlckNoYW5uZWwucG9y
dDE7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydCA9IHJlY2VpdmVyQ2hhbm5lbC5wb3J0MTsK
KyAgICByZXR1cm4gW3NlbmRlclRyYW5zZm9ybSwgcmVjZWl2ZXJUcmFuc2Zvcm1dOworfQorCits
ZXQgdmlkZW9TZW5kZXJUcmFuc2Zvcm0sIHZpZGVvUmVjZWl2ZXJUcmFuc2Zvcm0sIGF1ZGlvU2Vu
ZGVyVHJhbnNmb3JtLCBhdWRpb1JlY2VpdmVyVHJhbnNmb3JtOworcHJvbWlzZV90ZXN0KGFzeW5j
ICh0ZXN0KSA9PiB7CisgICAgd29ya2VyID0gbmV3IFdvcmtlcignYXVkaW8tdmlkZW8tdHJhbnNm
b3JtLmpzJyk7CisgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
d29ya2VyLm9ubWVzc2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CisgICAg
YXNzZXJ0X2VxdWFscyhkYXRhLCAicmVnaXN0ZXJlZCIpOworCisgICAgY29uc3QgbG9jYWxTdHJl
YW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRy
dWUsIHZpZGVvOiB0cnVlfSk7CisKKyAgICBbYXVkaW9TZW5kZXJUcmFuc2Zvcm0sIGF1ZGlvUmVj
ZWl2ZXJUcmFuc2Zvcm1dID0gY3JlYXRlVHJhbnNmb3Jtcyh3b3JrZXIsICdhdWRpbycpOworICAg
IFt2aWRlb1NlbmRlclRyYW5zZm9ybSwgdmlkZW9SZWNlaXZlclRyYW5zZm9ybV0gPSBjcmVhdGVU
cmFuc2Zvcm1zKHdvcmtlciwgJ3ZpZGVvJyk7CisKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rp
b25zKChmaXJzdENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGF1ZGlvU2VuZGVy
ID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClb
MF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAgICAgIGF1ZGlvU2VuZGVyLnRyYW5zZm9ybSA9IGF1
ZGlvU2VuZGVyVHJhbnNmb3JtOworICAgICAgICAgICAgY29uc3QgdmlkZW9TZW5kZXIgPSBmaXJz
dENvbm5lY3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXSwgbG9j
YWxTdHJlYW0pOworICAgICAgICAgICAgdmlkZW9TZW5kZXIudHJhbnNmb3JtID0gdmlkZW9TZW5k
ZXJUcmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNvbmRDb25uZWN0aW9uKSA9PiB7CisgICAgICAg
ICAgICBzZWNvbmRDb25uZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4geworICAgICAg
ICAgICAgICAgIHJlY2VpdmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAgICAgICAgICAg
ICByZWNlaXZlci50cmFuc2Zvcm0gPSB0cmFja0V2ZW50LnRyYWNrLmtpbmQgPT09ICJhdWRpbyIg
PyBhdWRpb1JlY2VpdmVyVHJhbnNmb3JtIDogdmlkZW9SZWNlaXZlclRyYW5zZm9ybTsKKyAgICAg
ICAgICAgICAgICByZXNvbHZlKHRyYWNrRXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9
OworICAgICAgICB9KTsKKyAgICAgICAgdGVzdC5zdGVwX3RpbWVvdXQoKCkgPT4gcmVqZWN0KCJU
ZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsKKyAgICB9KTsKKworICAgIHZpZGVvLnNyY09iamVjdCA9
IHN0cmVhbTsKKyAgICByZXR1cm4gdmlkZW8ucGxheSgpOworfSwgInNldHVwIik7CisKK3Byb21p
c2VfdGVzdCgodGVzdCkgPT4geworICAgIGF1ZGlvU2VuZGVyVHJhbnNmb3JtLnBvcnQucG9zdE1l
c3NhZ2UoInRyeUdlbmVyYXRlS2V5RnJhbWUiKTsKKyAgICByZXR1cm4gd2FpdEZvck1lc3NhZ2Uo
YXVkaW9TZW5kZXJUcmFuc2Zvcm0ucG9ydCwgIkZBSUw6IEludmFsaWRTdGF0ZUVycm9yIik7Cit9
LCAia2V5IGZyYW1lIG9uIGF1ZGlvIHNlbmRlciIpOworCitwcm9taXNlX3Rlc3QoKHRlc3QpID0+
IHsKKyAgICBhdWRpb1JlY2VpdmVyVHJhbnNmb3JtLnBvcnQucG9zdE1lc3NhZ2UoInRyeVNlbmRL
ZXlGcmFtZVJlcXVlc3QiKTsKKyAgICByZXR1cm4gd2FpdEZvck1lc3NhZ2UoYXVkaW9SZWNlaXZl
clRyYW5zZm9ybS5wb3J0LCAiRkFJTDogSW52YWxpZFN0YXRlRXJyb3IiKTsKK30sICJrZXkgZnJh
bWUgb24gYXVkaW8gcmVjZWl2ZXIiKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAg
dmlkZW9SZWNlaXZlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0cnlHZW5lcmF0ZUtleUZy
YW1lIik7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdlKHZpZGVvUmVjZWl2ZXJUcmFuc2Zvcm0u
cG9ydCwgIkZBSUw6IEludmFsaWRTdGF0ZUVycm9yIik7Cit9LCAiZ2VuZXJhdGUga2V5IGZyYW1l
IG9uIHZpZGVvIHJlY2VpdmVyIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4geworICAgIHZp
ZGVvU2VuZGVyVHJhbnNmb3JtLnBvcnQucG9zdE1lc3NhZ2UoInRyeVNlbmRLZXlGcmFtZVJlcXVl
c3QiKTsKKyAgICByZXR1cm4gd2FpdEZvck1lc3NhZ2UodmlkZW9TZW5kZXJUcmFuc2Zvcm0ucG9y
dCwgIkZBSUw6IEludmFsaWRTdGF0ZUVycm9yIik7Cit9LCAic2VuZCByZXF1ZXN0IGtleSBmcmFt
ZSBvbiB2aWRlbyBzZW5kZXIiKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAgdmlk
ZW9TZW5kZXJUcmFuc2Zvcm0ucG9ydC5wb3N0TWVzc2FnZSgidHJ5R2VuZXJhdGVLZXlGcmFtZVBy
b21pc2VIYW5kbGluZyIpOworICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZSh2aWRlb1NlbmRlclRy
YW5zZm9ybS5wb3J0LCAiUEFTUyIpOworfSwgImdlbmVyYXRlIGtleSBmcmFtZSBwcm9taXNlIGhh
bmRsaW5nIG9uIHZpZGVvIHNlbmRlciIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29udGV4
dC10cmFuc2Zvcm0uanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29udGV4dC10cmFu
c2Zvcm0uanMKaW5kZXggYmE0YWQ3MjczNjM0N2M5MzRjMWY1ZWEyNDc2MjRiYWZhZWEzZjk3OC4u
YWIxNzVkMDQwY2FkZjFiMDQ5OWNkOWQ2ZGZkYmQ5MDBkMWU1NTY3NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qcwpAQCAtMzAsOCArMzAs
MTIgQEAgY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIHsKICAgICAgICAgICAgICAgICBpZiAo
Y2h1bmsudmFsdWUgaW5zdGFuY2VvZiBSVENFbmNvZGVkVmlkZW9GcmFtZSkKICAgICAgICAgICAg
ICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgidmlkZW8gZnJh
bWUgIiArIGNodW5rLnZhbHVlLnR5cGUpOwogCi0gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXNr
S2V5RnJhbWUpCi0gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5yZXF1ZXN0S2V5RnJh
bWUoKTsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5hc2tLZXlGcmFtZSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0Lm9wdGlvbnMuc2lkZSA9PT0gInNlbmRlciIpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmdlbmVyYXRlS2V5RnJhbWUoKTsK
KyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
Y29udGV4dC5zZW5kS2V5RnJhbWVSZXF1ZXN0KCk7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICB0aGlzLnByb2Nlc3MoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447445</attachid>
            <date>2021-12-17 02:53:46 -0800</date>
            <delta_ts>2021-12-20 03:06:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234429-20211217115344.patch</filename>
            <type>text/plain</type>
            <size>18838</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY3MzY5MWVjYzk5ZjA5
NWU3MGVjNDczOTE2OTZmZGJiMjlkOTEzOS4uYWQ3ZDk1ODdlOWE1MjMzYmFiMDNhZDlhMzJjOGRi
NmFiYzJhNjRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEyLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIga2V5IGZyYW1lIEFQSSBhY2NvcmRpbmcgbGF0ZXN0IHNwZWMgcHJvcG9z
YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBpbXBsZW1lbnRhdGlvbiBhY2NvcmRpbmcgaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWJydGMt
ZW5jb2RlZC10cmFuc2Zvcm0vcHVsbC8xMjUuCisgICAgICAgIFRoaXMgbWVhbnMgYWRkaW5nIGEg
c3BlY2lmaWMgbWV0aG9kIHRvIHNlbmQgYSBGSVIsIGEgc3BlY2lmaWMgbWV0aG9kIHRvIGdlbmVy
YXRlIGEga2V5IGZyYW1lIG9uIHNlbmRlciBzaWRlLgorICAgICAgICBUaGlzIGFsc28gbWVhbnMg
aW1wcm92aW5nIHRoZSBlcnJvciBoYW5kbGluZyBhbmQgdGhlIHByb21pc2UgcmVzb2x1dGlvbiB0
aW1pbmcuCisgICAgICAgIFJJRCBzdXBwb3J0IGlzIG5vdCB5ZXQgYXZhaWxhYmxlIHVudGlsIHdl
IGNhbiBwcm9wZXJseSBwaXBlIHRoYXQgaW5mb3JtYXRpb24gZG93biB0byBlbmNvZGVycy4KKwor
ICAgICAgICBUZXN0OiBodHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3Jt
Lmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNm
b3JtZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJh
bnNmb3JtZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyLmlkbDoKKwogMjAyMS0xMi0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWxsb3cgQXVkaW9TYW1wbGVEYXRhU291cmNlIHRvIGluY3JlYXNl
L2RlY3JlYXNlIGJ1ZmZlcmVkIGRhdGEgcHJvZ3Jlc3NpdmVseQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9y
bWVyLmNwcAppbmRleCBiZjMyNzQxMjJmODE5MWNhMWFlNDVmZWI4NGZiYjA1ZWRmNTM3MGYwLi44
NTY2NDFiNWU4MjQyM2Y1ODEwZDViZDYyYjI2ODRhMmE4NTRkNzg4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAj
aW5jbHVkZSAiRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJFdmVudExv
b3AuaCIKICNpbmNsdWRlICJKU1JUQ0VuY29kZWRBdWRpb0ZyYW1lLmgiCiAjaW5jbHVkZSAiSlNS
VENFbmNvZGVkVmlkZW9GcmFtZS5oIgogI2luY2x1ZGUgIk1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRz
LmgiCkBAIC0xMjMsMTcgKzEyNCwxMCBAQCB2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpz
dGFydChSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4mJiBiYWNrZW5kKQogICAgIG1fYmFja2Vu
ZCA9IFdURk1vdmUoYmFja2VuZCk7CiAKICAgICBhdXRvJiBjb250ZXh0ID0gZG93bmNhc3Q8V29y
a2VyR2xvYmFsU2NvcGU+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIG1fYmFja2Vu
ZC0+c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soW3JlYWRhYmxlU291cmNlID0gV2Vha1B0
ciB7IG1fcmVhZGFibGVTb3VyY2UgfSwgaXNBdWRpbyA9IG1fYmFja2VuZC0+bWVkaWFUeXBlKCkg
PT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbywgdGhyZWFkID0gUmVm
IHsgY29udGV4dC50aHJlYWQoKSB9XShhdXRvJiYgZnJhbWUpIG11dGFibGUgewotICAgICAgICB0
aHJlYWQtPnJ1bkxvb3AoKS5wb3N0VGFza0Zvck1vZGUoW3JlYWRhYmxlU291cmNlLCBpc0F1ZGlv
LCBmcmFtZSA9IFdURk1vdmUoZnJhbWUpXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAg
ICAgICAgIGlmICghcmVhZGFibGVTb3VyY2UpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgICAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihjb250ZXh0Lmdsb2JhbE9iamVjdCgpKTsKLSAgICAgICAgICAgIGF1dG8mIHZtID0g
Z2xvYmFsT2JqZWN0LnZtKCk7Ci0gICAgICAgICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZt
KTsKLQotICAgICAgICAgICAgYXV0byB2YWx1ZSA9IGlzQXVkaW8gPyB0b0pTKCZnbG9iYWxPYmpl
Y3QsICZnbG9iYWxPYmplY3QsIFJUQ0VuY29kZWRBdWRpb0ZyYW1lOjpjcmVhdGUoV1RGTW92ZShm
cmFtZSkpKSA6IHRvSlMoJmdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVjdCwgUlRDRW5jb2RlZFZp
ZGVvRnJhbWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpOwotICAgICAgICAgICAgcmVhZGFibGVT
b3VyY2UtPmVucXVldWUodmFsdWUpOworICAgIG1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZy
YW1lQ2FsbGJhY2soW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRocmVhZCA9IFJlZiB7
IGNvbnRleHQudGhyZWFkKCkgfV0oYXV0byYmIGZyYW1lKSBtdXRhYmxlIHsKKyAgICAgICAgdGhy
ZWFkLT5ydW5Mb29wKCkucG9zdFRhc2tGb3JNb2RlKFt3ZWFrVGhpcywgZnJhbWUgPSBXVEZNb3Zl
KGZyYW1lKV0oYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1Ro
aXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmVucXVldWVGcmFtZShjb250ZXh0LCBXVEZN
b3ZlKGZyYW1lKSk7CiAgICAgICAgIH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwog
ICAgIH0pOwogfQpAQCAtMTQ2LDE2ICsxNDAsNTkgQEAgdm9pZCBSVENSdHBTY3JpcHRUcmFuc2Zv
cm1lcjo6Y2xlYXIoQ2xlYXJDYWxsYmFjayBjbGVhckNhbGxiYWNrKQogICAgIHN0b3BQZW5kaW5n
QWN0aXZpdHkoKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI6OnJlcXVlc3RLZXlGcmFtZSgpCit2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjplbnF1
ZXVlRnJhbWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZT4mJiBmcmFtZSkKIHsKLSAgICBpZiAoIW1fYmFja2VuZCkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiTm90IGF0dGFjaGVkIHRvIGEg
cmVjZWl2ZXIgb3Igc2VuZGVyIl9zIH07CisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gSlNDOjpq
c0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihjb250ZXh0Lmdsb2JhbE9iamVjdCgpKTsKKyAgICBp
ZiAoIWdsb2JhbE9iamVjdCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisKKyAgICBi
b29sIGlzVmlkZW8gPSBtX2JhY2tlbmQtPm1lZGlhVHlwZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW87CisgICAgaWYgKGlzVmlkZW8gJiYgIW1fcGVuZGluZ0tl
eUZyYW1lUHJvbWlzZXMuaXNFbXB0eSgpICYmIGZyYW1lLT5pc0tleUZyYW1lKCkpIHsKKyAgICAg
ICAgZnByaW50ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Z2VuZXJhdGV0S2V5
RnJhbWUgcHJvbWlzZSByZXNvbHV0aW9uXG4iKTsKKyAgICAgICAgZm9yIChhdXRvJiBwcm9taXNl
IDogc3RkOjpleGNoYW5nZShtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzLCB7IH0pKQorICAgICAg
ICAgICAgcHJvbWlzZS0+cmVzb2x2ZSgpOworICAgIH0KKworICAgIGF1dG8gdmFsdWUgPSBpc1Zp
ZGVvID8gdG9KUyhnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgUlRDRW5jb2RlZFZpZGVvRnJh
bWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpIDogdG9KUyhnbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdCwgUlRDRW5jb2RlZEF1ZGlvRnJhbWU6OmNyZWF0ZShXVEZNb3ZlKGZyYW1lKSkpOworICAg
IG1fcmVhZGFibGVTb3VyY2UtPmVucXVldWUodmFsdWUpOworfQogCi0gICAgaWYgKG1fYmFja2Vu
ZC0+bWVkaWFUeXBlKCkgIT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRl
bykKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90
IHJlcXVlc3Qga2V5IGZyYW1lIG9uIGF1ZGlvIHNlbmRlciJfcyB9Owordm9pZCBSVENSdHBTY3Jp
cHRUcmFuc2Zvcm1lcjo6Z2VuZXJhdGVLZXlGcmFtZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsK
KyAgICBpZiAoIWNvbnRleHQgfHwgIW1fYmFja2VuZCB8fCBtX2JhY2tlbmQtPnNpZGUoKSAhPSBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpTZW5kZXIgfHwgbV9iYWNrZW5kLT5tZWRpYVR5
cGUoKSAhPSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvKSB7CisgICAg
ICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk5vdCBh
dHRhY2hlZCB0byBhIHZhbGlkIHZpZGVvIHNlbmRlciJfcyB9KTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBmcHJpbnRmKHN0ZGVyciwgIlJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpnZW5l
cmF0ZUtleUZyYW1lMlNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIuaCBcbiIpOwogCisgICAgYm9vbCBzaG91bGRSZXF1ZXN0S2V5RnJhbWUg
PSBtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzLmlzRW1wdHkoKTsKKyAgICBtX3BlbmRpbmdLZXlG
cmFtZVByb21pc2VzLmFwcGVuZChXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBpZiAoc2hvdWxkUmVx
dWVzdEtleUZyYW1lKQorICAgICAgICBtX2JhY2tlbmQtPnJlcXVlc3RLZXlGcmFtZSgpOworfQor
Cit2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpzZW5kS2V5RnJhbWVSZXF1ZXN0KFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlJUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyOjpzZW5kS2V5RnJhbWVSZXF1ZXN0XG4iKTsKKworICAgIGF1dG8q
IGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0IHx8
ICFtX2JhY2tlbmQgfHwgbV9iYWNrZW5kLT5zaWRlKCkgIT0gUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6U2lkZTo6UmVjZWl2ZXIgfHwgbV9iYWNrZW5kLT5tZWRpYVR5cGUoKSAhPSBSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvKSB7CisgICAgICAgIHByb21pc2UtPnJlamVj
dChFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIk5vdCBhdHRhY2hlZCB0byBhIHZhbGlk
IHZpZGVvIHJlY2VpdmVyIl9zIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZnBy
aW50ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6c2VuZEtleUZyYW1lUmVxdWVz
dDFcbiIpOworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWJsZSB0byBrbm93IHdoZW4gdGhl
IEZJUiByZXF1ZXN0IGlzIHNlbnQgdG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSBhdCB0aGlzIHRpbWUu
CiAgICAgbV9iYWNrZW5kLT5yZXF1ZXN0S2V5RnJhbWUoKTsKLSAgICByZXR1cm4geyB9OworCisg
ICAgY29udGV4dC0+ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok5ldHdvcmtpbmcs
IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgZnByaW50
ZihzdGRlcnIsICJSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6c2VuZEtleUZyYW1lUmVxdWVzdDJc
biIpOworICAgICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CisgICAgfSk7CiB9CiAKIEpTQzo6SlNW
YWx1ZSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6b3B0aW9ucyhKU0M6OkpTR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKaW5kZXggNmQzOWUyMTAyZmE1
YzI5Mjc0ODYxYWE1NDc2YTk2ZTJhOGVmNzk3NS4uYzdjODc3NTRiZmFjNzdmYTVlZmY0YjIzMDAx
ZmQ2Njg0ZTJiMTNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaApAQCAtMjksNiArMjksNyBA
QAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTU4LDcgKzU5LDggQEAgcHVibGljOgog
ICAgIEV4Y2VwdGlvbk9yPFJlZjxXcml0YWJsZVN0cmVhbT4+IHdyaXRhYmxlKCk7CiAgICAgSlND
OjpKU1ZhbHVlIG9wdGlvbnMoSlNDOjpKU0dsb2JhbE9iamVjdCYpOwogCi0gICAgRXhjZXB0aW9u
T3I8dm9pZD4gcmVxdWVzdEtleUZyYW1lKCk7CisgICAgdm9pZCBnZW5lcmF0ZUtleUZyYW1lKFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgc2VuZEtleUZyYW1lUmVxdWVzdChSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKIAogICAgIHZvaWQgc3RhcnRQZW5kaW5nQWN0aXZpdHkoKSB7
IG1fcGVuZGluZ0FjdGl2aXR5ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyk7IH0KICAgICB2
b2lkIHN0YXJ0KFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmKTsKQEAgLTc1LDYgKzc3LDgg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc3RvcFBlbmRpbmdBY3Rpdml0eSgpIHsgYXV0byBwZW5k
aW5nQWN0aXZpdHkgPSBXVEZNb3ZlKG1fcGVuZGluZ0FjdGl2aXR5KTsgfQogCisgICAgdm9pZCBl
bnF1ZXVlRnJhbWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU+JiYpOworCiAgICAgUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbV9vcHRpb25z
OwogICAgIFZlY3RvcjxSZWZQdHI8TWVzc2FnZVBvcnQ+PiBtX3BvcnRzOwogCkBAIC04NCw2ICs4
OCw4IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9i
YWNrZW5kOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8UlRDUnRwU2NyaXB0VHJhbnNmb3Jt
ZXI+PiBtX3BlbmRpbmdBY3Rpdml0eTsKKworICAgIERlcXVlPFJlZjxEZWZlcnJlZFByb21pc2U+
PiBtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
Y3JpcHRUcmFuc2Zvcm1lci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbAppbmRleCA5YjRlZTk2YmMwM2YzMmU3NGIzNjNl
ZTJmNmIxMzEwYmM4ZGViYjQ3Li43MjVjMjI3NWVjOTI2YWYzNTkzODM5M2ZmYjVkMWY0ZDVjOTA0
MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNjcmlwdFRyYW5zZm9ybWVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmlkbApAQCAtMzQsNSArMzQsNyBAQAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0YWJsZVN0cmVhbSB3cml0YWJsZTsKICAgICBbQ2FsbFdp
dGg9R2xvYmFsT2JqZWN0LCBDYWNoZWRBdHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkg
b3B0aW9uczsKIAotICAgIHVuZGVmaW5lZCByZXF1ZXN0S2V5RnJhbWUoKTsKKyAgICAvLyBGSVhN
RTogQWRkIHN1cHBvcnQgZm9yIFJJRCBvcHRpb25zLgorICAgIFByb21pc2U8dW5kZWZpbmVkPiBn
ZW5lcmF0ZUtleUZyYW1lKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNlbmRLZXlGcmFtZVJl
cXVlc3QoKTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTdlYzg5MGJjNjZlZjMyMDMzNzE2OTRhN2YwMWNhODdjYTNm
MWVmNC4uYTNhODYzZTAxMDA3MTkyMzI5NGQ3ZTA2YzgwNWVjNTUwNjU2NmRkZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTEyLTE3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBVcGRhdGUgUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIga2V5IGZyYW1lIEFQ
SSBhY2NvcmRpbmcgbGF0ZXN0IHNwZWMgcHJvcG9zYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvLXZpZGVvLXRy
YW5zZm9ybS5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8t
c2NyaXB0LXRyYW5zZm9ybS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYnJ0Yy9hdWRpb3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzOgorCiAyMDIxLTEyLTE1ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgdG8g
c3RhcnQgYSByZWFsdGltZSBvdXRnb2luZyBzb3VyY2UgaW4gY2FzZSBpdCBpcyB0YWtlbiB0byBh
bm90aGVyIHNlbmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1
ZGlvLXZpZGVvLXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRp
by12aWRlby10cmFuc2Zvcm0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RjOWM3NThhYzQyZWQyM2JlZTNhNDgx
ZTRmYWIxYzc5YWI2MzY2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYnJ0Yy9hdWRpby12aWRlby10cmFuc2Zvcm0uanMKQEAgLTAsMCArMSw4MCBAQAorY2xhc3Mg
QXVkaW9WaWRlb1JUQ1J0cFRyYW5zZm9ybWVyIHsKKyAgICBjb25zdHJ1Y3Rvcih0cmFuc2Zvcm1l
cikgeworICAgICAgICB0aGlzLmFza0tleUZyYW1lID0gZmFsc2U7CisgICAgICAgIHRoaXMuY29u
dGV4dCA9IHRyYW5zZm9ybWVyOworICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0Lm9u
bWVzc2FnZSA9IChldmVudCkgPT4geworICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEgPT09ICJ0
cnlHZW5lcmF0ZUtleUZyYW1lIikKKyAgICAgICAgICAgICAgICB0aGlzLnRyeUdlbmVyYXRlS2V5
RnJhbWUgPSB0cnVlOworICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuZGF0YSA9PT0gInRyeVNl
bmRLZXlGcmFtZVJlcXVlc3QiKQorICAgICAgICAgICAgICAgIHRoaXMudHJ5U2VuZEtleUZyYW1l
UmVxdWVzdCA9IHRydWU7CisgICAgICAgICAgICBlbHNlIGlmIChldmVudC5kYXRhID09PSAidHJ5
R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZyIpCisgICAgICAgICAgICAgICAgdGhpcy50
cnlHZW5lcmF0ZUtleUZyYW1lUHJvbWlzZUhhbmRsaW5nID0gdHJ1ZTsKKyAgICAgICAgfTsKKyAg
ICAgICAgdGhpcy5zdGFydCgpOworICAgIH0KKyAgICBzdGFydCgpCisgICAgeworICAgICAgICB0
aGlzLnJlYWRlciA9IHRoaXMuY29udGV4dC5yZWFkYWJsZS5nZXRSZWFkZXIoKTsKKyAgICAgICAg
dGhpcy53cml0ZXIgPSB0aGlzLmNvbnRleHQud3JpdGFibGUuZ2V0V3JpdGVyKCk7CisgICAgICAg
IHRoaXMucHJvY2VzcygpOworICAgIH0KKworICAgIHByb2Nlc3MoKQorICAgIHsKKyAgICAgICAg
dGhpcy5yZWFkZXIucmVhZCgpLnRoZW4oY2h1bmsgPT4geworICAgICAgICAgICAgaWYgKGNodW5r
LmRvbmUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0aGlzLndyaXRl
ci53cml0ZShjaHVuay52YWx1ZSk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLnRyeUdlbmVyYXRl
S2V5RnJhbWUpIHsKKyAgICAgICAgICAgICAgICB0aGlzLnRyeUdlbmVyYXRlS2V5RnJhbWUgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2VuZXJhdGVLZXlGcmFtZSgpLnRo
ZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0
LnBvc3RNZXNzYWdlKCJQQVNTIik7CisgICAgICAgICAgICAgICAgfSwgKGUpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgiRkFJ
TDogIiArIGUubmFtZSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAodGhpcy50cnlTZW5kS2V5RnJhbWVSZXF1ZXN0KSB7CisgICAgICAgICAgICAg
ICAgdGhpcy50cnlTZW5kS2V5RnJhbWVSZXF1ZXN0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
dGhpcy5jb250ZXh0LnNlbmRLZXlGcmFtZVJlcXVlc3QoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgiUEFTUyIp
OworICAgICAgICAgICAgICAgIH0sIChlKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
Y29udGV4dC5vcHRpb25zLnBvcnQucG9zdE1lc3NhZ2UoIkZBSUw6ICIgKyBlLm5hbWUpOworICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRoaXMudHJ5
R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZykgeworICAgICAgICAgICAgICAgIHRoaXMu
dHJ5R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZyA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIGxldCB0ZXN0MSA9IGZhbHNlLCB0ZXN0MiA9IGZhbHNlLCB0ZXN0MyA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIGxldCByZXN1bHQ7IAorICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5n
ZW5lcmF0ZUtleUZyYW1lKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRlc3Qx
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QyIHx8IHRlc3QzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDEnOworICAgICAgICAgICAgICAgIH0s
IChlKSA9PiB7Y29uc29sZS5sb2coZSk7fSk7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0
LmdlbmVyYXRlS2V5RnJhbWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dDIgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3QxIHx8IHRlc3QzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDInOworICAgICAgICAgICAgICAg
IH0pLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3QzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gJ2Vycm9yIDMnOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKCFyZXN1bHQgPyAiUEFTUyIg
OiAiRkFJTDogIiArIHJlc3VsdCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5jb250ZXh0LmdlbmVyYXRlS2V5RnJhbWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdDMgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoIXRlc3Qx
IHx8ICF0ZXN0MikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICdlcnJvciA0JzsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGhpcy5w
cm9jZXNzKCk7CisgICAgICAgIH0pOworICAgIH0KK307CisKK29ucnRjdHJhbnNmb3JtID0gKGV2
ZW50KSA9PiB7CisgICAgbmV3IEF1ZGlvVmlkZW9SVENSdHBUcmFuc2Zvcm1lcihldmVudC50cmFu
c2Zvcm1lcik7Cit9OworCitzZWxmLnBvc3RNZXNzYWdlKCJyZWdpc3RlcmVkIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpb3ZpZGVv
LXNjcmlwdC10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxMmNmY2M3YjAyNGI5
Njk3M2EzNzllYjllMmE4YmVhMTgyODIwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3JtLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDkgQEAKKworCitQQVNTIHNldHVwCitQQVNTIGtleSBmcmFtZSBvbiBhdWRp
byBzZW5kZXIKK1BBU1Mga2V5IGZyYW1lIG9uIGF1ZGlvIHJlY2VpdmVyCitQQVNTIGdlbmVyYXRl
IGtleSBmcmFtZSBvbiB2aWRlbyByZWNlaXZlcgorUEFTUyBzZW5kIHJlcXVlc3Qga2V5IGZyYW1l
IG9uIHZpZGVvIHNlbmRlcgorUEFTUyBnZW5lcmF0ZSBrZXkgZnJhbWUgcHJvbWlzZSBoYW5kbGlu
ZyBvbiB2aWRlbyBzZW5kZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
cnRjL2F1ZGlvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2VicnRjL2F1ZGlvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQz
MmRlNTg4Zjc5N2MxNTExMjUxYWI1ODEwNzAzMWE3MTk1M2JkZjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3Jt
Lmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5IHBsYXlzSW5s
aW5lPjwvdmlkZW8+CisgICAgICAgIDxzY3JpcHQgc3JjPSJyb3V0aW5lcy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQ+CitmdW5jdGlvbiB3YWl0Rm9yTWVzc2FnZShwb3J0LCBkYXRhKQor
eworICAgIGxldCBnb3RNZXNzYWdlOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGdvdE1lc3NhZ2UgPSByZXNvbHZlOworICAg
ICAgICBzZXRUaW1lb3V0KCgpID0+IHsgcmVqZWN0KCJkaWQgbm90IGdldCAnIiArIGRhdGEgKyAi
JyBsYXN0IG1lc3NhZ2UgZGF0YSBpcyAnIiArIHByb21pc2UubGFzdERhdGEgKyAiJyIpIH0sIDUw
MDApOworICAgIH0pOworICAgIHBvcnQub25tZXNzYWdlID0gZXZlbnQgPT4geworICAgICAgIHBy
b21pc2UubGFzdERhdGEgPSBldmVudC5kYXRhOworICAgICAgIGlmIChldmVudC5kYXRhID09PSBk
YXRhKQorICAgICAgICAgICBnb3RNZXNzYWdlKCk7CisgICAgfTsKKyAgICByZXR1cm4gcHJvbWlz
ZTsKK30KKworZnVuY3Rpb24gY3JlYXRlVHJhbnNmb3Jtcyh3b3JrZXIsIG1lZGlhVHlwZSkKK3sK
KyAgICBjb25zdCBzZW5kZXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgIGNvbnN0
IHJlY2VpdmVyQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICBzZW5kZXJUcmFuc2Zv
cm0gPSBuZXcgUlRDUnRwU2NyaXB0VHJhbnNmb3JtKHdvcmtlciwge21lZGlhVHlwZTogbWVkaWFU
eXBlLCBzaWRlOiAnc2VuZGVyJywgcG9ydDogc2VuZGVyQ2hhbm5lbC5wb3J0Mn0sIFtzZW5kZXJD
aGFubmVsLnBvcnQyXSk7CisgICAgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBuZXcgUlRDUnRwU2NyaXB0
VHJhbnNmb3JtKHdvcmtlciwge21lZGlhVHlwZTogbWVkaWFUeXBlLCBzaWRlOiAncmVjZWl2ZXIn
LCBwb3J0OiByZWNlaXZlckNoYW5uZWwucG9ydDJ9LCBbcmVjZWl2ZXJDaGFubmVsLnBvcnQyXSk7
CisgICAgc2VuZGVyVHJhbnNmb3JtLnBvcnQgPSBzZW5kZXJDaGFubmVsLnBvcnQxOworICAgIHJl
Y2VpdmVyVHJhbnNmb3JtLnBvcnQgPSByZWNlaXZlckNoYW5uZWwucG9ydDE7CisgICAgcmV0dXJu
IFtzZW5kZXJUcmFuc2Zvcm0sIHJlY2VpdmVyVHJhbnNmb3JtXTsKK30KKworbGV0IHZpZGVvU2Vu
ZGVyVHJhbnNmb3JtLCB2aWRlb1JlY2VpdmVyVHJhbnNmb3JtLCBhdWRpb1NlbmRlclRyYW5zZm9y
bSwgYXVkaW9SZWNlaXZlclRyYW5zZm9ybTsKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4g
eworICAgIHdvcmtlciA9IG5ldyBXb3JrZXIoJ2F1ZGlvLXZpZGVvLXRyYW5zZm9ybS5qcycpOwor
ICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtlci5vbm1l
c3NhZ2UgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQuZGF0YSkpOworICAgIGFzc2VydF9lcXVh
bHMoZGF0YSwgInJlZ2lzdGVyZWQiKTsKKworICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQg
bmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVlLCB2aWRlbzog
dHJ1ZX0pOworCisgICAgW2F1ZGlvU2VuZGVyVHJhbnNmb3JtLCBhdWRpb1JlY2VpdmVyVHJhbnNm
b3JtXSA9IGNyZWF0ZVRyYW5zZm9ybXMod29ya2VyLCAnYXVkaW8nKTsKKyAgICBbdmlkZW9TZW5k
ZXJUcmFuc2Zvcm0sIHZpZGVvUmVjZWl2ZXJUcmFuc2Zvcm1dID0gY3JlYXRlVHJhbnNmb3Jtcyh3
b3JrZXIsICd2aWRlbycpOworCisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RD
b25uZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBjb25zdCBhdWRpb1NlbmRlciA9IGZpcnN0Q29u
bmVjdGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLCBsb2NhbFN0
cmVhbSk7CisgICAgICAgICAgICBhdWRpb1NlbmRlci50cmFuc2Zvcm0gPSBhdWRpb1NlbmRlclRy
YW5zZm9ybTsKKyAgICAgICAgICAgIGNvbnN0IHZpZGVvU2VuZGVyID0gZmlyc3RDb25uZWN0aW9u
LmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsK
KyAgICAgICAgICAgIHZpZGVvU2VuZGVyLnRyYW5zZm9ybSA9IHZpZGVvU2VuZGVyVHJhbnNmb3Jt
OworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgc2Vjb25k
Q29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBy
ZWNlaXZlciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIu
dHJhbnNmb3JtID0gdHJhY2tFdmVudC50cmFjay5raW5kID09PSAiYXVkaW8iID8gYXVkaW9SZWNl
aXZlclRyYW5zZm9ybSA6IHZpZGVvUmVjZWl2ZXJUcmFuc2Zvcm07CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAg
fSk7CisgICAgICAgIHRlc3Quc3RlcF90aW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBv
dXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICB2aWRlby5zcmNPYmplY3QgPSBzdHJlYW07Cisg
ICAgcmV0dXJuIHZpZGVvLnBsYXkoKTsKK30sICJzZXR1cCIpOworCitwcm9taXNlX3Rlc3QoKHRl
c3QpID0+IHsKKyAgICBhdWRpb1NlbmRlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0cnlH
ZW5lcmF0ZUtleUZyYW1lIik7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdlKGF1ZGlvU2VuZGVy
VHJhbnNmb3JtLnBvcnQsICJGQUlMOiBJbnZhbGlkU3RhdGVFcnJvciIpOworfSwgImtleSBmcmFt
ZSBvbiBhdWRpbyBzZW5kZXIiKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAgYXVk
aW9SZWNlaXZlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0cnlTZW5kS2V5RnJhbWVSZXF1
ZXN0Iik7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdlKGF1ZGlvUmVjZWl2ZXJUcmFuc2Zvcm0u
cG9ydCwgIkZBSUw6IEludmFsaWRTdGF0ZUVycm9yIik7Cit9LCAia2V5IGZyYW1lIG9uIGF1ZGlv
IHJlY2VpdmVyIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4geworICAgIHZpZGVvUmVjZWl2
ZXJUcmFuc2Zvcm0ucG9ydC5wb3N0TWVzc2FnZSgidHJ5R2VuZXJhdGVLZXlGcmFtZSIpOworICAg
IHJldHVybiB3YWl0Rm9yTWVzc2FnZSh2aWRlb1JlY2VpdmVyVHJhbnNmb3JtLnBvcnQsICJGQUlM
OiBJbnZhbGlkU3RhdGVFcnJvciIpOworfSwgImdlbmVyYXRlIGtleSBmcmFtZSBvbiB2aWRlbyBy
ZWNlaXZlciIpOworCitwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKKyAgICB2aWRlb1NlbmRlclRy
YW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0cnlTZW5kS2V5RnJhbWVSZXF1ZXN0Iik7CisgICAg
cmV0dXJuIHdhaXRGb3JNZXNzYWdlKHZpZGVvU2VuZGVyVHJhbnNmb3JtLnBvcnQsICJGQUlMOiBJ
bnZhbGlkU3RhdGVFcnJvciIpOworfSwgInNlbmQgcmVxdWVzdCBrZXkgZnJhbWUgb24gdmlkZW8g
c2VuZGVyIik7CisKK3Byb21pc2VfdGVzdCgodGVzdCkgPT4geworICAgIHZpZGVvU2VuZGVyVHJh
bnNmb3JtLnBvcnQucG9zdE1lc3NhZ2UoInRyeUdlbmVyYXRlS2V5RnJhbWVQcm9taXNlSGFuZGxp
bmciKTsKKyAgICByZXR1cm4gd2FpdEZvck1lc3NhZ2UodmlkZW9TZW5kZXJUcmFuc2Zvcm0ucG9y
dCwgIlBBU1MiKTsKK30sICJnZW5lcmF0ZSBrZXkgZnJhbWUgcHJvbWlzZSBoYW5kbGluZyBvbiB2
aWRlbyBzZW5kZXIiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3Jt
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzCmlu
ZGV4IGJhNGFkNzI3MzYzNDdjOTM0YzFmNWVhMjQ3NjI0YmFmYWVhM2Y5NzguLmFiMTc1ZDA0MGNh
ZGYxYjA0OTljZDlkNmRmZGJkOTAwZDFlNTU2NzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qcworKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJydGMvY29udGV4dC10cmFuc2Zvcm0uanMKQEAgLTMwLDggKzMwLDEyIEBAIGNsYXNz
IE1vY2tSVENSdHBUcmFuc2Zvcm1lciB7CiAgICAgICAgICAgICAgICAgaWYgKGNodW5rLnZhbHVl
IGluc3RhbmNlb2YgUlRDRW5jb2RlZFZpZGVvRnJhbWUpCiAgICAgICAgICAgICAgICAgICAgIHRo
aXMuY29udGV4dC5vcHRpb25zLnBvcnQucG9zdE1lc3NhZ2UoInZpZGVvIGZyYW1lICIgKyBjaHVu
ay52YWx1ZS50eXBlKTsKIAotICAgICAgICAgICAgICAgIGlmICh0aGlzLmFza0tleUZyYW1lKQot
ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQucmVxdWVzdEtleUZyYW1lKCk7CisgICAg
ICAgICAgICAgICAgaWYgKHRoaXMuYXNrS2V5RnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHRoaXMuY29udGV4dC5vcHRpb25zLnNpZGUgPT09ICJzZW5kZXIiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuY29udGV4dC5nZW5lcmF0ZUtleUZyYW1lKCk7CisgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc2Vu
ZEtleUZyYW1lUmVxdWVzdCgpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgdGhpcy5wcm9jZXNzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447594</attachid>
            <date>2021-12-20 03:06:25 -0800</date>
            <delta_ts>2021-12-20 04:40:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234429-20211220120623.patch</filename>
            <type>text/plain</type>
            <size>18347</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTIxYzBkMmM5Y2FmNmZi
YTA1YzE0MTY5NjE5ZWU2OTI4Mjg4MGQ0YS4uY2IyOTZiN2IwZGU3ZTcyYjkwN2E3N2RkMjVlNTY2
NTAyMDEyZDQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEyLTIwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXIga2V5IGZyYW1lIEFQSSBhY2NvcmRpbmcgbGF0ZXN0IHNwZWMgcHJvcG9z
YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQy
OQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBVcGRhdGUg
aW1wbGVtZW50YXRpb24gYWNjb3JkaW5nIGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2VicnRjLWVu
Y29kZWQtdHJhbnNmb3JtL3B1bGwvMTI1LgorICAgICAgICBUaGlzIG1lYW5zIGFkZGluZyBhIHNw
ZWNpZmljIG1ldGhvZCB0byBzZW5kIGEgRklSLCBhIHNwZWNpZmljIG1ldGhvZCB0byBnZW5lcmF0
ZSBhIGtleSBmcmFtZSBvbiBzZW5kZXIgc2lkZS4KKyAgICAgICAgVGhpcyBhbHNvIG1lYW5zIGlt
cHJvdmluZyB0aGUgZXJyb3IgaGFuZGxpbmcgYW5kIHRoZSBwcm9taXNlIHJlc29sdXRpb24gdGlt
aW5nLgorICAgICAgICBSSUQgc3VwcG9ydCBpcyBub3QgeWV0IGF2YWlsYWJsZSB1bnRpbCB3ZSBj
YW4gcHJvcGVybHkgcGlwZSB0aGF0IGluZm9ybWF0aW9uIGRvd24gdG8gZW5jb2RlcnMuCisKKyAg
ICAgICAgVGVzdDogaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5o
dG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9y
bWVyLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5z
Zm9ybWVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTY3JpcHRUcmFu
c2Zvcm1lci5pZGw6CisKIDIwMjEtMTItMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSByZXF1ZXN0ZXIgd2hlbiBjYWxsaW5nIHVwZGF0ZVJlcXVlc3RB
bmRBZGRFeHRyYUZpZWxkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNwcAppbmRleCBiZjMyNzQx
MjJmODE5MWNhMWFlNDVmZWI4NGZiYjA1ZWRmNTM3MGYwLi5jODg1MTg2NDViOWEwMDQzZjNkM2Zl
OTAxNjNmNzBjMGM0Y2UzYjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAiRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUuaCIKKyNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJKU1JU
Q0VuY29kZWRBdWRpb0ZyYW1lLmgiCiAjaW5jbHVkZSAiSlNSVENFbmNvZGVkVmlkZW9GcmFtZS5o
IgogI2luY2x1ZGUgIk1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzLmgiCkBAIC0xMjMsMTcgKzEyNCwx
MCBAQCB2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpzdGFydChSZWY8UlRDUnRwVHJhbnNm
b3JtQmFja2VuZD4mJiBiYWNrZW5kKQogICAgIG1fYmFja2VuZCA9IFdURk1vdmUoYmFja2VuZCk7
CiAKICAgICBhdXRvJiBjb250ZXh0ID0gZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpOwotICAgIG1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZy
YW1lQ2FsbGJhY2soW3JlYWRhYmxlU291cmNlID0gV2Vha1B0ciB7IG1fcmVhZGFibGVTb3VyY2Ug
fSwgaXNBdWRpbyA9IG1fYmFja2VuZC0+bWVkaWFUeXBlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6TWVkaWFUeXBlOjpBdWRpbywgdGhyZWFkID0gUmVmIHsgY29udGV4dC50aHJlYWQoKSB9
XShhdXRvJiYgZnJhbWUpIG11dGFibGUgewotICAgICAgICB0aHJlYWQtPnJ1bkxvb3AoKS5wb3N0
VGFza0Zvck1vZGUoW3JlYWRhYmxlU291cmNlLCBpc0F1ZGlvLCBmcmFtZSA9IFdURk1vdmUoZnJh
bWUpXShhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKLSAgICAgICAgICAgIGlmICghcmVhZGFibGVT
b3VyY2UpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBhdXRvJiBnbG9i
YWxPYmplY3QgPSAqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihjb250ZXh0Lmdsb2Jh
bE9iamVjdCgpKTsKLSAgICAgICAgICAgIGF1dG8mIHZtID0gZ2xvYmFsT2JqZWN0LnZtKCk7Ci0g
ICAgICAgICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZtKTsKLQotICAgICAgICAgICAgYXV0
byB2YWx1ZSA9IGlzQXVkaW8gPyB0b0pTKCZnbG9iYWxPYmplY3QsICZnbG9iYWxPYmplY3QsIFJU
Q0VuY29kZWRBdWRpb0ZyYW1lOjpjcmVhdGUoV1RGTW92ZShmcmFtZSkpKSA6IHRvSlMoJmdsb2Jh
bE9iamVjdCwgJmdsb2JhbE9iamVjdCwgUlRDRW5jb2RlZFZpZGVvRnJhbWU6OmNyZWF0ZShXVEZN
b3ZlKGZyYW1lKSkpOwotICAgICAgICAgICAgcmVhZGFibGVTb3VyY2UtPmVucXVldWUodmFsdWUp
OworICAgIG1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soW3dlYWtUaGlz
ID0gV2Vha1B0ciB7ICp0aGlzIH0sIHRocmVhZCA9IFJlZiB7IGNvbnRleHQudGhyZWFkKCkgfV0o
YXV0byYmIGZyYW1lKSBtdXRhYmxlIHsKKyAgICAgICAgdGhyZWFkLT5ydW5Mb29wKCkucG9zdFRh
c2tGb3JNb2RlKFt3ZWFrVGhpcywgZnJhbWUgPSBXVEZNb3ZlKGZyYW1lKV0oYXV0byYgY29udGV4
dCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAg
d2Vha1RoaXMtPmVucXVldWVGcmFtZShjb250ZXh0LCBXVEZNb3ZlKGZyYW1lKSk7CiAgICAgICAg
IH0sIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkpOwogICAgIH0pOwogfQpAQCAtMTQ2LDE2
ICsxNDAsNTMgQEAgdm9pZCBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcjo6Y2xlYXIoQ2xlYXJDYWxs
YmFjayBjbGVhckNhbGxiYWNrKQogICAgIHN0b3BQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAotRXhj
ZXB0aW9uT3I8dm9pZD4gUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXI6OnJlcXVlc3RLZXlGcmFtZSgp
Cit2b2lkIFJUQ1J0cFNjcmlwdFRyYW5zZm9ybWVyOjplbnF1ZXVlRnJhbWUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZT4mJiBmcmFt
ZSkKK3sKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9i
amVjdCo+KGNvbnRleHQuZ2xvYmFsT2JqZWN0KCkpOworICAgIGlmICghZ2xvYmFsT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAg
ICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKworICAgIGJvb2wgaXNWaWRlbyA9IG1fYmFj
a2VuZC0+bWVkaWFUeXBlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpW
aWRlbzsKKyAgICBpZiAoaXNWaWRlbyAmJiAhbV9wZW5kaW5nS2V5RnJhbWVQcm9taXNlcy5pc0Vt
cHR5KCkgJiYgZnJhbWUtPmlzS2V5RnJhbWUoKSkgeworICAgICAgICBmb3IgKGF1dG8mIHByb21p
c2UgOiBzdGQ6OmV4Y2hhbmdlKG1fcGVuZGluZ0tleUZyYW1lUHJvbWlzZXMsIHsgfSkpCisgICAg
ICAgICAgICBwcm9taXNlLT5yZXNvbHZlKCk7CisgICAgfQorCisgICAgYXV0byB2YWx1ZSA9IGlz
VmlkZW8gPyB0b0pTKGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBSVENFbmNvZGVkVmlkZW9G
cmFtZTo6Y3JlYXRlKFdURk1vdmUoZnJhbWUpKSkgOiB0b0pTKGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LCBSVENFbmNvZGVkQXVkaW9GcmFtZTo6Y3JlYXRlKFdURk1vdmUoZnJhbWUpKSk7Cisg
ICAgbV9yZWFkYWJsZVNvdXJjZS0+ZW5xdWV1ZSh2YWx1ZSk7Cit9CisKK3ZvaWQgUlRDUnRwU2Ny
aXB0VHJhbnNmb3JtZXI6OmdlbmVyYXRlS2V5RnJhbWUoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBw
cm9taXNlKQogewotICAgIGlmICghbV9iYWNrZW5kKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IsICJOb3QgYXR0YWNoZWQgdG8gYSByZWNlaXZlciBvciBzZW5k
ZXIiX3MgfTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwor
ICAgIGlmICghY29udGV4dCB8fCAhbV9iYWNrZW5kIHx8IG1fYmFja2VuZC0+c2lkZSgpICE9IFJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlNpZGU6OlNlbmRlciB8fCBtX2JhY2tlbmQtPm1lZGlhVHlw
ZSgpICE9IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW8pIHsKKyAgICAg
ICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiTm90IGF0
dGFjaGVkIHRvIGEgdmFsaWQgdmlkZW8gc2VuZGVyIl9zIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYm9vbCBzaG91bGRSZXF1ZXN0S2V5RnJhbWUgPSBtX3BlbmRpbmdLZXlGcmFt
ZVByb21pc2VzLmlzRW1wdHkoKTsKKyAgICBtX3BlbmRpbmdLZXlGcmFtZVByb21pc2VzLmFwcGVu
ZChXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBpZiAoc2hvdWxkUmVxdWVzdEtleUZyYW1lKQorICAg
ICAgICBtX2JhY2tlbmQtPnJlcXVlc3RLZXlGcmFtZSgpOworfQogCi0gICAgaWYgKG1fYmFja2Vu
ZC0+bWVkaWFUeXBlKCkgIT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRl
bykKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90
IHJlcXVlc3Qga2V5IGZyYW1lIG9uIGF1ZGlvIHNlbmRlciJfcyB9Owordm9pZCBSVENSdHBTY3Jp
cHRUcmFuc2Zvcm1lcjo6c2VuZEtleUZyYW1lUmVxdWVzdChSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTsKKyAgICBpZiAoIWNvbnRleHQgfHwgIW1fYmFja2VuZCB8fCBtX2JhY2tlbmQtPnNpZGUoKSAh
PSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpSZWNlaXZlciB8fCBtX2JhY2tlbmQtPm1l
ZGlhVHlwZSgpICE9IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW8pIHsK
KyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAi
Tm90IGF0dGFjaGVkIHRvIGEgdmFsaWQgdmlkZW8gcmVjZWl2ZXIiX3MgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFibGUgdG8ga25vdyB3
aGVuIHRoZSBGSVIgcmVxdWVzdCBpcyBzZW50IHRvIHJlc29sdmUgdGhlIHByb21pc2UgYXQgdGhp
cyBleGFjdCB0aW1lLgogICAgIG1fYmFja2VuZC0+cmVxdWVzdEtleUZyYW1lKCk7Ci0gICAgcmV0
dXJuIHsgfTsKKworICAgIGNvbnRleHQtPmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNl
OjpOZXR3b3JraW5nLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7Cisg
ICAgICAgIHByb21pc2UtPnJlc29sdmUoKTsKKyAgICB9KTsKIH0KIAogSlNDOjpKU1ZhbHVlIFJU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyOjpvcHRpb25zKEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaAppbmRleCA2ZDM5ZTIxMDJmYTVjMjkyNzQ4
NjFhYTU0NzZhOTZlMmE4ZWY3OTc1Li5jN2M4Nzc1NGJmYWM3N2ZhNWVmZjRiMjMwMDFmZDY2ODRl
MmIxM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNjcmlwdFRyYW5zZm9ybWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTY3JpcHRUcmFuc2Zvcm1lci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNTgsNyArNTksOCBAQCBwdWJsaWM6CiAgICAgRXhj
ZXB0aW9uT3I8UmVmPFdyaXRhYmxlU3RyZWFtPj4gd3JpdGFibGUoKTsKICAgICBKU0M6OkpTVmFs
dWUgb3B0aW9ucyhKU0M6OkpTR2xvYmFsT2JqZWN0Jik7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lk
PiByZXF1ZXN0S2V5RnJhbWUoKTsKKyAgICB2b2lkIGdlbmVyYXRlS2V5RnJhbWUoUmVmPERlZmVy
cmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCBzZW5kS2V5RnJhbWVSZXF1ZXN0KFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBzdGFydFBlbmRpbmdBY3Rpdml0eSgpIHsgbV9wZW5k
aW5nQWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0aGlzKTsgfQogICAgIHZvaWQgc3Rh
cnQoUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+JiYpOwpAQCAtNzUsNiArNzcsOCBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBzdG9wUGVuZGluZ0FjdGl2aXR5KCkgeyBhdXRvIHBlbmRpbmdBY3Rp
dml0eSA9IFdURk1vdmUobV9wZW5kaW5nQWN0aXZpdHkpOyB9CiAKKyAgICB2b2lkIGVucXVldWVG
cmFtZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZT4mJik7CisKICAgICBSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX29wdGlvbnM7CiAgICAg
VmVjdG9yPFJlZlB0cjxNZXNzYWdlUG9ydD4+IG1fcG9ydHM7CiAKQEAgLTg0LDYgKzg4LDggQEAg
cHJpdmF0ZToKIAogICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2JhY2tlbmQ7
CiAgICAgUmVmUHRyPFBlbmRpbmdBY3Rpdml0eTxSVENSdHBTY3JpcHRUcmFuc2Zvcm1lcj4+IG1f
cGVuZGluZ0FjdGl2aXR5OworCisgICAgRGVxdWU8UmVmPERlZmVycmVkUHJvbWlzZT4+IG1fcGVu
ZGluZ0tleUZyYW1lUHJvbWlzZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNjcmlwdFRy
YW5zZm9ybWVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2NyaXB0VHJhbnNmb3JtZXIuaWRsCmluZGV4IDliNGVlOTZiYzAzZjMyZTc0YjM2M2VlMmY2YjEz
MTBiYzhkZWJiNDcuLjcyNWMyMjc1ZWM5MjZhZjM1OTM4MzkzZmZiNWQxZjRkNWM5MDQxZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2NyaXB0
VHJhbnNmb3JtZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2NyaXB0VHJhbnNmb3JtZXIuaWRsCkBAIC0zNCw1ICszNCw3IEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFdyaXRhYmxlU3RyZWFtIHdyaXRhYmxlOwogICAgIFtDYWxsV2l0aD1HbG9i
YWxPYmplY3QsIENhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIGFueSBvcHRpb25z
OwogCi0gICAgdW5kZWZpbmVkIHJlcXVlc3RLZXlGcmFtZSgpOworICAgIC8vIEZJWE1FOiBBZGQg
c3VwcG9ydCBmb3IgUklEIG9wdGlvbnMuCisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IGdlbmVyYXRl
S2V5RnJhbWUoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2VuZEtleUZyYW1lUmVxdWVzdCgp
OwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA1ZWRiYjIyMTNiNjQ4M2FhNGRjY2NmNmJmZmQxMWYzN2ZjNDdjMTIyLi4y
ODgwMGM1MWVmYTg1Yjg2OWYzYjIxMjI0NWU1MmRkNjU4Mjc1ZmZlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjEtMTItMjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisg
ICAgICAgIFVwZGF0ZSBSVENSdHBTY3JpcHRUcmFuc2Zvcm1lciBrZXkgZnJhbWUgQVBJIGFjY29y
ZGluZyBsYXRlc3Qgc3BlYyBwcm9wb3NhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvLXZpZGVvLXRyYW5zZm9ybS5q
czogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8tc2NyaXB0LXRy
YW5zZm9ybS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy9h
dWRpb3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzOgorCiAyMDIxLTEyLTIwICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcmVxdWVzdGVyIHdoZW4gY2Fs
bGluZyB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpby12aWRlby10cmFuc2Zvcm0uanMgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvYXVkaW8tdmlkZW8tdHJhbnNmb3JtLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNk
YzljNzU4YWM0MmVkMjNiZWUzYTQ4MWU0ZmFiMWM3OWFiNjM2NjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvYXVkaW8tdmlkZW8tdHJhbnNmb3JtLmpzCkBA
IC0wLDAgKzEsODAgQEAKK2NsYXNzIEF1ZGlvVmlkZW9SVENSdHBUcmFuc2Zvcm1lciB7CisgICAg
Y29uc3RydWN0b3IodHJhbnNmb3JtZXIpIHsKKyAgICAgICAgdGhpcy5hc2tLZXlGcmFtZSA9IGZh
bHNlOworICAgICAgICB0aGlzLmNvbnRleHQgPSB0cmFuc2Zvcm1lcjsKKyAgICAgICAgdGhpcy5j
b250ZXh0Lm9wdGlvbnMucG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgICAg
IGlmIChldmVudC5kYXRhID09PSAidHJ5R2VuZXJhdGVLZXlGcmFtZSIpCisgICAgICAgICAgICAg
ICAgdGhpcy50cnlHZW5lcmF0ZUtleUZyYW1lID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UgaWYg
KGV2ZW50LmRhdGEgPT09ICJ0cnlTZW5kS2V5RnJhbWVSZXF1ZXN0IikKKyAgICAgICAgICAgICAg
ICB0aGlzLnRyeVNlbmRLZXlGcmFtZVJlcXVlc3QgPSB0cnVlOworICAgICAgICAgICAgZWxzZSBp
ZiAoZXZlbnQuZGF0YSA9PT0gInRyeUdlbmVyYXRlS2V5RnJhbWVQcm9taXNlSGFuZGxpbmciKQor
ICAgICAgICAgICAgICAgIHRoaXMudHJ5R2VuZXJhdGVLZXlGcmFtZVByb21pc2VIYW5kbGluZyA9
IHRydWU7CisgICAgICAgIH07CisgICAgICAgIHRoaXMuc3RhcnQoKTsKKyAgICB9CisgICAgc3Rh
cnQoKQorICAgIHsKKyAgICAgICAgdGhpcy5yZWFkZXIgPSB0aGlzLmNvbnRleHQucmVhZGFibGUu
Z2V0UmVhZGVyKCk7CisgICAgICAgIHRoaXMud3JpdGVyID0gdGhpcy5jb250ZXh0LndyaXRhYmxl
LmdldFdyaXRlcigpOworICAgICAgICB0aGlzLnByb2Nlc3MoKTsKKyAgICB9CisKKyAgICBwcm9j
ZXNzKCkKKyAgICB7CisgICAgICAgIHRoaXMucmVhZGVyLnJlYWQoKS50aGVuKGNodW5rID0+IHsK
KyAgICAgICAgICAgIGlmIChjaHVuay5kb25lKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICAgICAgdGhpcy53cml0ZXIud3JpdGUoY2h1bmsudmFsdWUpOworCisgICAgICAgICAg
ICBpZiAodGhpcy50cnlHZW5lcmF0ZUtleUZyYW1lKSB7CisgICAgICAgICAgICAgICAgdGhpcy50
cnlHZW5lcmF0ZUtleUZyYW1lID0gZmFsc2U7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0
LmdlbmVyYXRlS2V5RnJhbWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVzc2FnZSgiUEFTUyIpOworICAgICAgICAgICAg
ICAgIH0sIChlKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5vcHRpb25z
LnBvcnQucG9zdE1lc3NhZ2UoIkZBSUw6ICIgKyBlLm5hbWUpOworICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRoaXMudHJ5U2VuZEtleUZyYW1lUmVx
dWVzdCkgeworICAgICAgICAgICAgICAgIHRoaXMudHJ5U2VuZEtleUZyYW1lUmVxdWVzdCA9IGZh
bHNlOworICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zZW5kS2V5RnJhbWVSZXF1ZXN0KCku
dGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5vcHRpb25zLnBv
cnQucG9zdE1lc3NhZ2UoIlBBU1MiKTsKKyAgICAgICAgICAgICAgICB9LCAoZSkgPT4geworICAg
ICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdlKCJG
QUlMOiAiICsgZS5uYW1lKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICh0aGlzLnRyeUdlbmVyYXRlS2V5RnJhbWVQcm9taXNlSGFuZGxpbmcpIHsK
KyAgICAgICAgICAgICAgICB0aGlzLnRyeUdlbmVyYXRlS2V5RnJhbWVQcm9taXNlSGFuZGxpbmcg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBsZXQgdGVzdDEgPSBmYWxzZSwgdGVzdDIgPSBmYWxz
ZSwgdGVzdDMgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBsZXQgcmVzdWx0OyAKKyAgICAgICAg
ICAgICAgICB0aGlzLmNvbnRleHQuZ2VuZXJhdGVLZXlGcmFtZSgpLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgICAgICAgICB0ZXN0MSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGlmICh0
ZXN0MiB8fCB0ZXN0MykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICdlcnJvciAx
JzsKKyAgICAgICAgICAgICAgICB9LCAoZSkgPT4ge2NvbnNvbGUubG9nKGUpO30pOworICAgICAg
ICAgICAgICAgIHRoaXMuY29udGV4dC5nZW5lcmF0ZUtleUZyYW1lKCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgICAgIHRlc3QyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCF0ZXN0MSB8fCB0ZXN0MykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICdlcnJv
ciAyJzsKKyAgICAgICAgICAgICAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKCF0ZXN0MykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICdlcnJvciAz
JzsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0Lm9wdGlvbnMucG9ydC5wb3N0TWVz
c2FnZSghcmVzdWx0ID8gIlBBU1MiIDogIkZBSUw6ICIgKyByZXN1bHQpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5nZW5lcmF0ZUtleUZyYW1lKCku
dGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHRlc3QzID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0MSB8fCAhdGVzdDIpCisgICAgICAgICAgICAgICAgICAgICAg
ICByZXN1bHQgPSAnZXJyb3IgNCc7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHRoaXMucHJvY2VzcygpOworICAgICAgICB9KTsKKyAgICB9Cit9Owor
CitvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4geworICAgIG5ldyBBdWRpb1ZpZGVvUlRDUnRw
VHJhbnNmb3JtZXIoZXZlbnQudHJhbnNmb3JtZXIpOworfTsKKworc2VsZi5wb3N0TWVzc2FnZSgi
cmVnaXN0ZXJlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1
ZGlvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJydGMvYXVkaW92aWRlby1zY3JpcHQtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MTJjZmNjN2IwMjRiOTY5NzNhMzc5ZWI5ZTJhOGJlYTE4MjgyMDIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1ZGlvdmlkZW8tc2NyaXB0
LXRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKKworUEFTUyBzZXR1cAor
UEFTUyBrZXkgZnJhbWUgb24gYXVkaW8gc2VuZGVyCitQQVNTIGtleSBmcmFtZSBvbiBhdWRpbyBy
ZWNlaXZlcgorUEFTUyBnZW5lcmF0ZSBrZXkgZnJhbWUgb24gdmlkZW8gcmVjZWl2ZXIKK1BBU1Mg
c2VuZCByZXF1ZXN0IGtleSBmcmFtZSBvbiB2aWRlbyBzZW5kZXIKK1BBU1MgZ2VuZXJhdGUga2V5
IGZyYW1lIHByb21pc2UgaGFuZGxpbmcgb24gdmlkZW8gc2VuZGVyCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpb3ZpZGVvLXNjcmlwdC10cmFuc2Zvcm0uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9hdWRpb3ZpZGVvLXNjcmlwdC10cmFuc2Zv
cm0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MzJkZTU4OGY3OTdjMTUxMTI1MWFiNTgxMDcwMzFhNzE5NTNi
ZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2F1ZGlv
dmlkZW8tc2NyaXB0LXRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8gaWQ9InZp
ZGVvIiBhdXRvcGxheSBwbGF5c0lubGluZT48L3ZpZGVvPgorICAgICAgICA8c2NyaXB0IHNyYz0i
cm91dGluZXMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorZnVuY3Rpb24gd2FpdEZv
ck1lc3NhZ2UocG9ydCwgZGF0YSkKK3sKKyAgICBsZXQgZ290TWVzc2FnZTsKKyAgICBjb25zdCBw
cm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBnb3RN
ZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHJlamVjdCgiZGlk
IG5vdCBnZXQgJyIgKyBkYXRhICsgIicgbGFzdCBtZXNzYWdlIGRhdGEgaXMgJyIgKyBwcm9taXNl
Lmxhc3REYXRhICsgIiciKSB9LCA1MDAwKTsKKyAgICB9KTsKKyAgICBwb3J0Lm9ubWVzc2FnZSA9
IGV2ZW50ID0+IHsKKyAgICAgICBwcm9taXNlLmxhc3REYXRhID0gZXZlbnQuZGF0YTsKKyAgICAg
ICBpZiAoZXZlbnQuZGF0YSA9PT0gZGF0YSkKKyAgICAgICAgICAgZ290TWVzc2FnZSgpOworICAg
IH07CisgICAgcmV0dXJuIHByb21pc2U7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZVRyYW5zZm9ybXMo
d29ya2VyLCBtZWRpYVR5cGUpCit7CisgICAgY29uc3Qgc2VuZGVyQ2hhbm5lbCA9IG5ldyBNZXNz
YWdlQ2hhbm5lbDsKKyAgICBjb25zdCByZWNlaXZlckNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5u
ZWw7CisgICAgc2VuZGVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3Jr
ZXIsIHttZWRpYVR5cGU6IG1lZGlhVHlwZSwgc2lkZTogJ3NlbmRlcicsIHBvcnQ6IHNlbmRlckNo
YW5uZWwucG9ydDJ9LCBbc2VuZGVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHJlY2VpdmVyVHJhbnNm
b3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHttZWRpYVR5cGU6IG1lZGlh
VHlwZSwgc2lkZTogJ3JlY2VpdmVyJywgcG9ydDogcmVjZWl2ZXJDaGFubmVsLnBvcnQyfSwgW3Jl
Y2VpdmVyQ2hhbm5lbC5wb3J0Ml0pOworICAgIHNlbmRlclRyYW5zZm9ybS5wb3J0ID0gc2VuZGVy
Q2hhbm5lbC5wb3J0MTsKKyAgICByZWNlaXZlclRyYW5zZm9ybS5wb3J0ID0gcmVjZWl2ZXJDaGFu
bmVsLnBvcnQxOworICAgIHJldHVybiBbc2VuZGVyVHJhbnNmb3JtLCByZWNlaXZlclRyYW5zZm9y
bV07Cit9CisKK2xldCB2aWRlb1NlbmRlclRyYW5zZm9ybSwgdmlkZW9SZWNlaXZlclRyYW5zZm9y
bSwgYXVkaW9TZW5kZXJUcmFuc2Zvcm0sIGF1ZGlvUmVjZWl2ZXJUcmFuc2Zvcm07Citwcm9taXNl
X3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIgPSBuZXcgV29ya2VyKCdhdWRpby12
aWRlby10cmFuc2Zvcm0uanMnKTsKKyAgICBjb25zdCBkYXRhID0gYXdhaXQgbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LmRh
dGEpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEsICJyZWdpc3RlcmVkIik7CisKKyAgICBjb25z
dCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlh
KHthdWRpbzogdHJ1ZSwgdmlkZW86IHRydWV9KTsKKworICAgIFthdWRpb1NlbmRlclRyYW5zZm9y
bSwgYXVkaW9SZWNlaXZlclRyYW5zZm9ybV0gPSBjcmVhdGVUcmFuc2Zvcm1zKHdvcmtlciwgJ2F1
ZGlvJyk7CisgICAgW3ZpZGVvU2VuZGVyVHJhbnNmb3JtLCB2aWRlb1JlY2VpdmVyVHJhbnNmb3Jt
XSA9IGNyZWF0ZVRyYW5zZm9ybXMod29ya2VyLCAndmlkZW8nKTsKKworICAgIGNvbnN0IHN0cmVh
bSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3Jl
YXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgY29uc3Qg
YXVkaW9TZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0QXVk
aW9UcmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAgYXVkaW9TZW5kZXIudHJh
bnNmb3JtID0gYXVkaW9TZW5kZXJUcmFuc2Zvcm07CisgICAgICAgICAgICBjb25zdCB2aWRlb1Nl
bmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5nZXRWaWRlb1RyYWNr
cygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICB2aWRlb1NlbmRlci50cmFuc2Zvcm0g
PSB2aWRlb1NlbmRlclRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+
IHsKKyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9
PiB7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAg
ICAgICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHRyYWNrRXZlbnQudHJhY2sua2luZCA9
PT0gImF1ZGlvIiA/IGF1ZGlvUmVjZWl2ZXJUcmFuc2Zvcm0gOiB2aWRlb1JlY2VpdmVyVHJhbnNm
b3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAg
ICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9
PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAgIH0pOworCisgICAgdmlkZW8u
c3JjT2JqZWN0ID0gc3RyZWFtOworICAgIHJldHVybiB2aWRlby5wbGF5KCk7Cit9LCAic2V0dXAi
KTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAgYXVkaW9TZW5kZXJUcmFuc2Zvcm0u
cG9ydC5wb3N0TWVzc2FnZSgidHJ5R2VuZXJhdGVLZXlGcmFtZSIpOworICAgIHJldHVybiB3YWl0
Rm9yTWVzc2FnZShhdWRpb1NlbmRlclRyYW5zZm9ybS5wb3J0LCAiRkFJTDogSW52YWxpZFN0YXRl
RXJyb3IiKTsKK30sICJrZXkgZnJhbWUgb24gYXVkaW8gc2VuZGVyIik7CisKK3Byb21pc2VfdGVz
dCgodGVzdCkgPT4geworICAgIGF1ZGlvUmVjZWl2ZXJUcmFuc2Zvcm0ucG9ydC5wb3N0TWVzc2Fn
ZSgidHJ5U2VuZEtleUZyYW1lUmVxdWVzdCIpOworICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZShh
dWRpb1JlY2VpdmVyVHJhbnNmb3JtLnBvcnQsICJGQUlMOiBJbnZhbGlkU3RhdGVFcnJvciIpOwor
fSwgImtleSBmcmFtZSBvbiBhdWRpbyByZWNlaXZlciIpOworCitwcm9taXNlX3Rlc3QoKHRlc3Qp
ID0+IHsKKyAgICB2aWRlb1JlY2VpdmVyVHJhbnNmb3JtLnBvcnQucG9zdE1lc3NhZ2UoInRyeUdl
bmVyYXRlS2V5RnJhbWUiKTsKKyAgICByZXR1cm4gd2FpdEZvck1lc3NhZ2UodmlkZW9SZWNlaXZl
clRyYW5zZm9ybS5wb3J0LCAiRkFJTDogSW52YWxpZFN0YXRlRXJyb3IiKTsKK30sICJnZW5lcmF0
ZSBrZXkgZnJhbWUgb24gdmlkZW8gcmVjZWl2ZXIiKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9
PiB7CisgICAgdmlkZW9TZW5kZXJUcmFuc2Zvcm0ucG9ydC5wb3N0TWVzc2FnZSgidHJ5U2VuZEtl
eUZyYW1lUmVxdWVzdCIpOworICAgIHJldHVybiB3YWl0Rm9yTWVzc2FnZSh2aWRlb1NlbmRlclRy
YW5zZm9ybS5wb3J0LCAiRkFJTDogSW52YWxpZFN0YXRlRXJyb3IiKTsKK30sICJzZW5kIHJlcXVl
c3Qga2V5IGZyYW1lIG9uIHZpZGVvIHNlbmRlciIpOworCitwcm9taXNlX3Rlc3QoKHRlc3QpID0+
IHsKKyAgICB2aWRlb1NlbmRlclRyYW5zZm9ybS5wb3J0LnBvc3RNZXNzYWdlKCJ0cnlHZW5lcmF0
ZUtleUZyYW1lUHJvbWlzZUhhbmRsaW5nIik7CisgICAgcmV0dXJuIHdhaXRGb3JNZXNzYWdlKHZp
ZGVvU2VuZGVyVHJhbnNmb3JtLnBvcnQsICJQQVNTIik7Cit9LCAiZ2VuZXJhdGUga2V5IGZyYW1l
IHByb21pc2UgaGFuZGxpbmcgb24gdmlkZW8gc2VuZGVyIik7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YnJ0Yy9jb250ZXh0LXRyYW5zZm9ybS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9j
b250ZXh0LXRyYW5zZm9ybS5qcwppbmRleCBiYTRhZDcyNzM2MzQ3YzkzNGMxZjVlYTI0NzYyNGJh
ZmFlYTNmOTc4Li5hYjE3NWQwNDBjYWRmMWIwNDk5Y2Q5ZDZkZmRiZDkwMGQxZTU1Njc2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvY29udGV4dC10cmFuc2Zvcm0uanMK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL2NvbnRleHQtdHJhbnNmb3JtLmpzCkBA
IC0zMCw4ICszMCwxMiBAQCBjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIgewogICAgICAgICAg
ICAgICAgIGlmIChjaHVuay52YWx1ZSBpbnN0YW5jZW9mIFJUQ0VuY29kZWRWaWRlb0ZyYW1lKQog
ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQub3B0aW9ucy5wb3J0LnBvc3RNZXNzYWdl
KCJ2aWRlbyBmcmFtZSAiICsgY2h1bmsudmFsdWUudHlwZSk7CiAKLSAgICAgICAgICAgICAgICBp
ZiAodGhpcy5hc2tLZXlGcmFtZSkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnJl
cXVlc3RLZXlGcmFtZSgpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLmFza0tleUZyYW1lKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQub3B0aW9ucy5zaWRlID09PSAi
c2VuZGVyIikKKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2VuZXJhdGVL
ZXlGcmFtZSgpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5jb250ZXh0LnNlbmRLZXlGcmFtZVJlcXVlc3QoKTsKKyAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHRoaXMucHJvY2VzcygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>