<?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>230219</bug_id>
          
          <creation_ts>2021-09-13 08:17:36 -0700</creation_ts>
          <short_desc>Refactor WritableStream to better integrate https://streams.spec.whatwg.org/#create-writable-stream</short_desc>
          <delta_ts>2021-09-14 10:02:18 -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>WebKit 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>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>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792952</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-13 08:17:36 -0700</bug_when>
    <thetext>Refactor WritableStream to better integrate https://streams.spec.whatwg.org/#create-writable-stream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792956</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-13 08:23:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/83055758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792957</commentid>
    <comment_count>2</comment_count>
      <attachid>438041</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-13 08:24:05 -0700</bug_when>
    <thetext>Created attachment 438041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793058</commentid>
    <comment_count>3</comment_count>
      <attachid>438041</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-09-13 13:18:09 -0700</bug_when>
    <thetext>Comment on attachment 438041
Patch

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

r=me, if all bots are green

&gt; Source/WebCore/ChangeLog:9
&gt; +        we were still going through the WritableStream constructor taking an underlying source.

underlying sink?

&gt; Source/WebCore/Modules/streams/WritableStreamInternals.js:51
&gt; +    const internalStream = { };

Do we want to Assert: ! IsNonNegativeNumber(highWaterMark) is true as spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793285</commentid>
    <comment_count>4</comment_count>
      <attachid>438132</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-14 06:54:41 -0700</bug_when>
    <thetext>Created attachment 438132
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793286</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-14 06:55:26 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Sihui Liu from comment #3)
&gt; Comment on attachment 438041 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=438041&amp;action=review
&gt; 
&gt; r=me, if all bots are green
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        we were still going through the WritableStream constructor taking an underlying source.
&gt; 
&gt; underlying sink?

Done.

&gt; &gt; Source/WebCore/Modules/streams/WritableStreamInternals.js:51
&gt; &gt; +    const internalStream = { };
&gt; 
&gt; Do we want to Assert: ! IsNonNegativeNumber(highWaterMark) is true as spec?

Added, I had to fix an actual bug in extractHWM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793350</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-14 10:02:15 -0700</bug_when>
    <thetext>Committed r282395 (241656@main): &lt;https://commits.webkit.org/241656@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438132.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438041</attachid>
            <date>2021-09-13 08:24:05 -0700</date>
            <delta_ts>2021-09-14 06:54:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230219-20210913172404.patch</filename>
            <type>text/plain</type>
            <size>13006</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI2MDUyYmVhMzA4ZGJk
ZmM4NGQ4ZTg4MWJmNzgxNDcyYTViNzM0OC4uNTA5ZjNiYWMzMjcxYWIzMGVmNjA1Y2IxYmYwYjJh
Y2NhNmQzN2E2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA5LTEzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXcml0YWJs
ZVN0cmVhbSB0byBiZXR0ZXIgaW50ZWdyYXRlIGh0dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5v
cmcvI2NyZWF0ZS13cml0YWJsZS1zdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDIxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHkgdG8gY3JlYXRlIGEgV3JpdGFibGVTdHJlYW0g
YXMgaHR0cHM6Ly9zdHJlYW1zLnNwZWMud2hhdHdnLm9yZy8jY3JlYXRlLXdyaXRhYmxlLXN0cmVh
bSwKKyAgICAgICAgd2Ugd2VyZSBzdGlsbCBnb2luZyB0aHJvdWdoIHRoZSBXcml0YWJsZVN0cmVh
bSBjb25zdHJ1Y3RvciB0YWtpbmcgYW4gdW5kZXJseWluZyBzb3VyY2UuCisgICAgICAgIFdlIHJl
ZmFjdG9yIGNvZGUgdG8gc3RvcCBkb2luZyB0aGF0LCB3aGljaCB3aWxsIG1ha2UgaXQgZWFzeSB0
byBpbnRyb2R1Y2UgaHR0cHM6Ly9zdHJlYW1zLnNwZWMud2hhdHdnLm9yZy8jd3JpdGFibGVzdHJl
YW0tc2V0LXVwCisgICAgICAgIHdoaWNoIGlzIG5vdyB1c2VkIGluIG90aGVyIHdlYiBzcGVjaWZp
Y2F0aW9ucy4KKworICAgICAgICBUbyBkbyBzbywgd2UgaW50cm9kdWNlIGEgY3JlYXRlRnJvbVVu
ZGVybHlpbmdTaW5rIGJ1aWx0LWluIGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIFdyaXRhYmxlU3Ry
ZWFtIGZyb20gYW4gSW50ZXJuYWxXcml0YWJsZVN0cmVhbS4KKyAgICAgICAgQ292ZXJlZCBieSBl
eGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uaDoKKyAgICAgICAgKiBNb2R1bGVz
L3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChjcmVhdGVXcml0
YWJsZVN0cmVhbSk6CisgICAgICAgIChjcmVhdGVJbnRlcm5hbFdyaXRhYmxlU3RyZWFtRnJvbVVu
ZGVybHlpbmdTaW5rKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3Ry
ZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0
ZUZyb21VbmRlcmx5aW5nU2luayk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFdyaXRhYmxl
U3RyZWFtOjpmcm9tT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsV3JpdGFibGVT
dHJlYW06OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSW50ZXJuYWxX
cml0YWJsZVN0cmVhbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKwogMjAyMS0wOS0xMyAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFdyaXRh
YmxlU3RyZWFtIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9Xcml0YWJsZVN0cmVhbS5jcHAKaW5kZXggOWZkOTk4YWFlZjY0ZDE5NTViMThhMjM2M2M0
ZTE4NDJjODg0MGM0ZS4uOTdkNTZiNDc2MTFmMDM5M2U3ZTlkYWViZjE2YjY5YTM1MzRhYzU0MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0u
Y3BwCkBAIC00Niw3ICs0Niw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxXcml0YWJsZVN0cmVhbT4+IFdy
aXRhYmxlU3RyZWFtOjpjcmVhdGUoSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvCiAKIEV4Y2VwdGlv
bk9yPFJlZjxXcml0YWJsZVN0cmVhbT4+IFdyaXRhYmxlU3RyZWFtOjpjcmVhdGUoSlNDOjpKU0ds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgdW5kZXJseWluZ1NpbmssIEpT
Qzo6SlNWYWx1ZSBzdHJhdGVneSkKIHsKLSAgICBhdXRvIHJlc3VsdCA9IEludGVybmFsV3JpdGFi
bGVTdHJlYW06OmNyZWF0ZSgqSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPigmZ2xvYmFs
T2JqZWN0KSwgdW5kZXJseWluZ1NpbmssIHN0cmF0ZWd5KTsKKyAgICBhdXRvIHJlc3VsdCA9IElu
dGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0ZUZyb21VbmRlcmx5aW5nU2luaygqSlNDOjpqc0Nh
c3Q8SlNET01HbG9iYWxPYmplY3QqPigmZ2xvYmFsT2JqZWN0KSwgdW5kZXJseWluZ1NpbmssIHN0
cmF0ZWd5KTsKICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4g
cmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKIApAQCAtNTgsNiArNTgsMTEgQEAgRXhjZXB0aW9u
T3I8UmVmPFdyaXRhYmxlU3RyZWFtPj4gV3JpdGFibGVTdHJlYW06OmNyZWF0ZShKU0RPTUdsb2Jh
bE9iamVjdCYgZ2xvYmEKICAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdG9KU05ld2x5
Q3JlYXRlZCgmZ2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHNpbmspKSwgSlND
Ojpqc1VuZGVmaW5lZCgpKTsKIH0KIAorUmVmPFdyaXRhYmxlU3RyZWFtPiBXcml0YWJsZVN0cmVh
bTo6Y3JlYXRlKFJlZjxJbnRlcm5hbFdyaXRhYmxlU3RyZWFtPiYmIGludGVybmFsV3JpdGFibGVT
dHJlYW0pCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV3JpdGFibGVTdHJlYW0oV1RGTW92
ZShpbnRlcm5hbFdyaXRhYmxlU3RyZWFtKSkpOworfQorCiBXcml0YWJsZVN0cmVhbTo6V3JpdGFi
bGVTdHJlYW0oUmVmPEludGVybmFsV3JpdGFibGVTdHJlYW0+JiYgaW50ZXJuYWxXcml0YWJsZVN0
cmVhbSkKICAgICA6IG1faW50ZXJuYWxXcml0YWJsZVN0cmVhbShXVEZNb3ZlKGludGVybmFsV3Jp
dGFibGVTdHJlYW0pKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL1dyaXRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3Jp
dGFibGVTdHJlYW0uaAppbmRleCAyYzJhMjUyNGRiZDMwYjAwNzE3NjNkYzdlNmUzNzNlOTIxMmRh
NGY3Li4zZjA3ZmEyMDZjZmYyOGE1YjJjZGIzNTk3MDI3YWRlYjU3NmE2NmEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uaApAQCAtMzksNiAr
MzksNyBAQCBjbGFzcyBXcml0YWJsZVN0cmVhbSA6IHB1YmxpYyBSZWZDb3VudGVkPFdyaXRhYmxl
U3RyZWFtPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXcml0YWJsZVN0
cmVhbT4+IGNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0Jiwgc3RkOjpvcHRpb25hbDxKU0M6OlN0
cm9uZzxKU0M6OkpTT2JqZWN0Pj4mJiwgc3RkOjpvcHRpb25hbDxKU0M6OlN0cm9uZzxKU0M6OkpT
T2JqZWN0Pj4mJik7CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXcml0YWJsZVN0cmVhbT4+
IGNyZWF0ZShKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxXcml0YWJsZVN0cmVhbVNpbms+JiYpOwor
ICAgIHN0YXRpYyBSZWY8V3JpdGFibGVTdHJlYW0+IGNyZWF0ZShSZWY8SW50ZXJuYWxXcml0YWJs
ZVN0cmVhbT4mJik7CiAKICAgICB+V3JpdGFibGVTdHJlYW0oKSA9IGRlZmF1bHQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVy
bmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUlu
dGVybmFscy5qcwppbmRleCA4MjIzODQ2MWVmNmVmNGU1MmE2MjRhNzYzOWZjNDQyMmFiOGQxZjA3
Li40MDM1ZmY1MjU3MTFlMmFmNzMzODE2Y2MyZWNjMjIxM2UzMGJhZWY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJu
YWxzLmpzCkBAIC00NSwxOSArNDUsMTkgQEAgZnVuY3Rpb24gYWNxdWlyZVdyaXRhYmxlU3RyZWFt
RGVmYXVsdFdyaXRlcihzdHJlYW0pCiAgICAgcmV0dXJuIG5ldyBAV3JpdGFibGVTdHJlYW1EZWZh
dWx0V3JpdGVyKHN0cmVhbSk7CiB9CiAKLWZ1bmN0aW9uIGNyZWF0ZVdyaXRhYmxlU3RyZWFtKHN0
YXJ0QWxnb3JpdGhtLCB3cml0ZUFsZ29yaXRobSwgY2xvc2VBbGdvcml0aG0sIGFib3J0QWxnb3Jp
dGhtLCB3cml0YWJsZUhpZ2hXYXRlck1hcmssIHdyaXRhYmxlU2l6ZUFsZ29yaXRobSkKKy8vIGh0
dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5vcmcvI2NyZWF0ZS13cml0YWJsZS1zdHJlYW0KK2Z1
bmN0aW9uIGNyZWF0ZVdyaXRhYmxlU3RyZWFtKHN0YXJ0QWxnb3JpdGhtLCB3cml0ZUFsZ29yaXRo
bSwgY2xvc2VBbGdvcml0aG0sIGFib3J0QWxnb3JpdGhtLCBoaWdoV2F0ZXJNYXJrLCBzaXplQWxn
b3JpdGhtKQogewotICAgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgNSkKLSAgICAgICAgd3JpdGFi
bGVIaWdoV2F0ZXJNYXJrID0gMTsKLSAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA8IDYpCi0gICAg
ICAgIHdyaXRhYmxlU2l6ZUFsZ29yaXRobSA9ICgpID0+IHsgcmV0dXJuIDE7IH07CisgICAgY29u
c3QgaW50ZXJuYWxTdHJlYW0gPSB7IH07CisgICAgQGluaXRpYWxpemVXcml0YWJsZVN0cmVhbVNs
b3RzKGludGVybmFsU3RyZWFtLCB7IH0pOworICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQFdy
aXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoKTsKIAotICAgIGxldCB1bmRlcmx5aW5nU2lu
ayA9IHsgc3RhcnRBbGdvcml0aG06IHN0YXJ0QWxnb3JpdGhtLCB3cml0ZUFsZ29yaXRobTogd3Jp
dGVBbGdvcml0aG0sIGNsb3NlQWxnb3JpdGhtOiBjbG9zZUFsZ29yaXRobSwgYWJvcnRBbGdvcml0
aG06IGFib3J0QWxnb3JpdGhtfTsKLSAgICBAcHV0QnlJZERpcmVjdFByaXZhdGUodW5kZXJseWlu
Z1NpbmssICJXcml0YWJsZVN0cmVhbSIsIHRydWUpOwotICAgIHJldHVybiBuZXcgQFdyaXRhYmxl
U3RyZWFtKHVuZGVybHlpbmdTaW5rLCB7IHNpemVBbGdvcml0aG06IHdyaXRhYmxlU2l6ZUFsZ29y
aXRobSwgaGlnaFdhdGVyTWFyazogd3JpdGFibGVIaWdoV2F0ZXJNYXJrIH0pOwotfQorICAgIEBz
ZXRVcFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoaW50ZXJuYWxTdHJlYW0sIGNvbnRy
b2xsZXIsIHN0YXJ0QWxnb3JpdGhtLCB3cml0ZUFsZ29yaXRobSwgY2xvc2VBbGdvcml0aG0sIGFi
b3J0QWxnb3JpdGhtLCBoaWdoV2F0ZXJNYXJrLCBzaXplQWxnb3JpdGhtKTsKIAotZnVuY3Rpb24g
Y3JlYXRlSW50ZXJuYWxXcml0YWJsZVN0cmVhbSh1bmRlcmx5aW5nU2luaywgc3RyYXRlZ3kpCisg
ICAgcmV0dXJuIEBjcmVhdGVXcml0YWJsZVN0cmVhbUZyb21JbnRlcm5hbChpbnRlcm5hbFN0cmVh
bSk7Cit9CisgCitmdW5jdGlvbiBjcmVhdGVJbnRlcm5hbFdyaXRhYmxlU3RyZWFtRnJvbVVuZGVy
bHlpbmdTaW5rKHVuZGVybHlpbmdTaW5rLCBzdHJhdGVneSkKIHsKICAgICAidXNlIHN0cmljdCI7
CiAKQEAgLTcyLDE2ICs3Miw2IEBAIGZ1bmN0aW9uIGNyZWF0ZUludGVybmFsV3JpdGFibGVTdHJl
YW0odW5kZXJseWluZ1NpbmssIHN0cmF0ZWd5KQogICAgIGlmICghQGlzT2JqZWN0KHVuZGVybHlp
bmdTaW5rKSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJXcml0YWJsZVN0cmVhbSBjb25zdHJ1
Y3RvciB0YWtlcyBhbiBvYmplY3QgYXMgZmlyc3QgYXJndW1lbnQiKTsKIAotICAgIC8vIGNyZWF0
ZVdyaXRlU3RyZWFtIGNvZGUgcGF0aC4KLSAgICBpZiAoQGdldEJ5SWREaXJlY3RQcml2YXRlKHVu
ZGVybHlpbmdTaW5rLCAiV3JpdGFibGVTdHJlYW0iKSkgewotICAgICAgICBAaW5pdGlhbGl6ZVdy
aXRhYmxlU3RyZWFtU2xvdHMoc3RyZWFtLCB1bmRlcmx5aW5nU2luayk7Ci0KLSAgICAgICAgY29u
c3QgY29udHJvbGxlciA9IG5ldyBAV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcigpOwot
Ci0gICAgICAgIEBzZXRVcFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoc3RyZWFtLCBj
b250cm9sbGVyLCB1bmRlcmx5aW5nU2luay5zdGFydEFsZ29yaXRobSwgdW5kZXJseWluZ1Npbmsu
d3JpdGVBbGdvcml0aG0sIHVuZGVybHlpbmdTaW5rLmNsb3NlQWxnb3JpdGhtLCB1bmRlcmx5aW5n
U2luay5hYm9ydEFsZ29yaXRobSwgc3RyYXRlZ3kuaGlnaFdhdGVyTWFyaywgc3RyYXRlZ3kuc2l6
ZUFsZ29yaXRobSk7Ci0gICAgICAgIHJldHVybiBzdHJlYW07Ci0gICAgfQotCiAgICAgaWYgKCJ0
eXBlIiBpbiB1bmRlcmx5aW5nU2luaykKICAgICAgICAgQHRocm93UmFuZ2VFcnJvcigiSW52YWxp
ZCB0eXBlIGlzIHNwZWNpZmllZCIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0ludGVybmFsV3JpdGFibGVTdHJlYW0uY3BwCmluZGV4IGMwYWE2YWY4ZGQxMzZkNWQ4
Y2I3ZGI3YWY4MGI0YmU3ZTM3MTQ5ZjMuLjEyYzg1Y2UwMDdiYzY5OGU2ZmM2M2FiNTc2ZDRmZTRh
ZjVkNmEyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0ludGVybmFs
V3JpdGFibGVTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0ludGVy
bmFsV3JpdGFibGVTdHJlYW0uY3BwCkBAIC00OSwxMCArNDksMTAgQEAgc3RhdGljIEV4Y2VwdGlv
bk9yPEpTQzo6SlNWYWx1ZT4gaW52b2tlV3JpdGFibGVTdHJlYW1GdW5jdGlvbihKU0M6OkpTR2xv
YmFsT2JqZWMKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1FeGNlcHRpb25PcjxSZWY8SW50ZXJu
YWxXcml0YWJsZVN0cmVhbT4+IEludGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0ZShKU0RPTUds
b2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgdW5kZXJseWluZ1NpbmssIEpT
Qzo6SlNWYWx1ZSBzdHJhdGVneSkKK0V4Y2VwdGlvbk9yPFJlZjxJbnRlcm5hbFdyaXRhYmxlU3Ry
ZWFtPj4gSW50ZXJuYWxXcml0YWJsZVN0cmVhbTo6Y3JlYXRlRnJvbVVuZGVybHlpbmdTaW5rKEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSB1bmRlcmx5aW5nU2lu
aywgSlNDOjpKU1ZhbHVlIHN0cmF0ZWd5KQogewogICAgIGF1dG8qIGNsaWVudERhdGEgPSBzdGF0
aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KGdsb2JhbE9iamVjdC52bSgpLmNsaWVudERhdGEpOwot
ICAgIGF1dG8mIHByaXZhdGVOYW1lID0gY2xpZW50RGF0YS0+YnVpbHRpbkZ1bmN0aW9ucygpLndy
aXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5jcmVhdGVJbnRlcm5hbFdyaXRhYmxlU3Ry
ZWFtUHJpdmF0ZU5hbWUoKTsKKyAgICBhdXRvJiBwcml2YXRlTmFtZSA9IGNsaWVudERhdGEtPmJ1
aWx0aW5GdW5jdGlvbnMoKS53cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkuY3JlYXRl
SW50ZXJuYWxXcml0YWJsZVN0cmVhbUZyb21VbmRlcmx5aW5nU2lua1ByaXZhdGVOYW1lKCk7CiAK
ICAgICBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKICAgICBhcmd1bWVudHMu
YXBwZW5kKHVuZGVybHlpbmdTaW5rKTsKQEAgLTY3LDYgKzY3LDExIEBAIEV4Y2VwdGlvbk9yPFJl
ZjxJbnRlcm5hbFdyaXRhYmxlU3RyZWFtPj4gSW50ZXJuYWxXcml0YWJsZVN0cmVhbTo6Y3JlYXRl
KEpTRE9NR2xvCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW50ZXJuYWxXcml0YWJsZVN0cmVh
bShnbG9iYWxPYmplY3QsICpyZXN1bHQucmV0dXJuVmFsdWUoKS50b09iamVjdCgmZ2xvYmFsT2Jq
ZWN0KSkpOwogfQogCitSZWY8SW50ZXJuYWxXcml0YWJsZVN0cmVhbT4gSW50ZXJuYWxXcml0YWJs
ZVN0cmVhbTo6ZnJvbU9iamVjdChKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTT2JqZWN0JiBvYmplY3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW50ZXJuYWxX
cml0YWJsZVN0cmVhbShnbG9iYWxPYmplY3QsIG9iamVjdCkpOworfQorCiBib29sIEludGVybmFs
V3JpdGFibGVTdHJlYW06OmxvY2tlZCgpIGNvbnN0CiB7CiAgICAgYXV0byogZ2xvYmFsT2JqZWN0
ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmgKaW5kZXggMTBhYWEyNzNlNjZjYmUxNjdhMzkz
YjcxZDIwYjY4MjFhYmY1NmVlNS4uYTc2OGY5NTlkN2ZiNjc4ZDA0NzUxYjkxYzNmMzc1ZmNkNDA5
N2E5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSW50ZXJuYWxXcml0
YWJsZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0ludGVybmFsV3Jp
dGFibGVTdHJlYW0uaApAQCAtMzIsNyArMzIsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSW50ZXJuYWxXcml0YWJsZVN0cmVhbSBmaW5hbCA6IHB1YmxpYyBET01HdWFyZGVkPEpTQzo6
SlNPYmplY3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEludGVybmFs
V3JpdGFibGVTdHJlYW0+PiBjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUg
dW5kZXJseWluZ1NpbmssIEpTQzo6SlNWYWx1ZSBzdHJhdGVneSk7CisgICAgc3RhdGljIEV4Y2Vw
dGlvbk9yPFJlZjxJbnRlcm5hbFdyaXRhYmxlU3RyZWFtPj4gY3JlYXRlRnJvbVVuZGVybHlpbmdT
aW5rKEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIHVuZGVybHlpbmdTaW5rLCBKU0M6
OkpTVmFsdWUgc3RyYXRlZ3kpOworICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxXcml0YWJsZVN0cmVh
bT4gZnJvbU9iamVjdChKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNPYmplY3QmKTsKIAogICAg
IG9wZXJhdG9yIEpTQzo6SlNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGd1YXJkZWQoKTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKaW5k
ZXggNTZkYzUxZmY0ZGMxOWM3ZDYxNzk4YWFiMzE3NGQzNGM1ZjkzYWE3Zi4uNzY4MWY5NTE3ZjRm
ZDRkYzdjNjA2M2EyMzc4OWQ0MTIwODlhNDA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtNzIsNiArNzIsNyBAQCBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKG1ha2VUaGlzVHlwZUVycm9yRm9yQnVpbHRpbnMpOwogSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihtYWtlR2V0dGVyVHlwZUVycm9yRm9yQnVpbHRpbnMpOwogSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYWtlRE9NRXhjZXB0aW9uRm9yQnVpbHRpbnMpOwogSlND
X0RFQ0xBUkVfSE9TVF9GVU5DVElPTihpc1JlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQpOwor
SlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihjcmVhdGVXcml0YWJsZVN0cmVhbUZyb21JbnRlcm5h
bCk7CiBKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9OKGdldEludGVybmFsV3JpdGFibGVTdHJlYW0p
OwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTih3aGVuU2lnbmFsQWJvcnRlZCk7CiBKU0NfREVD
TEFSRV9IT1NUX0ZVTkNUSU9OKGlzQWJvcnRTaWduYWwpOwpAQCAtMTcxLDYgKzE3MiwxNyBAQCBK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oZ2V0SW50ZXJuYWxXcml0YWJsZVN0cmVhbSwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUod3JpdGFi
bGVTdHJlYW0tPndyYXBwZWQoKS5pbnRlcm5hbFdyaXRhYmxlU3RyZWFtKCkpOwogfQogCitKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04oY3JlYXRlV3JpdGFibGVTdHJlYW1Gcm9tSW50ZXJuYWwsIChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCit7Cisg
ICAgQVNTRVJUKGNhbGxGcmFtZSk7CisgICAgQVNTRVJUKGNhbGxGcmFtZS0+YXJndW1lbnRDb3Vu
dCgpID09IDEpOworICAgIEFTU0VSVChjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLmlz
T2JqZWN0KCkpOworCisgICAgYXV0byoganNET01HbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCk7CisgICAgYXV0byBpbnRlcm5hbFdyaXRh
YmxlU3RyZWFtID0gSW50ZXJuYWxXcml0YWJsZVN0cmVhbTo6ZnJvbU9iamVjdCgqanNET01HbG9i
YWxPYmplY3QsICpjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDApLnRvT2JqZWN0KGdsb2Jh
bE9iamVjdCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KU05ld2x5Q3JlYXRlZChn
bG9iYWxPYmplY3QsIGpzRE9NR2xvYmFsT2JqZWN0LCBXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKFdU
Rk1vdmUoaW50ZXJuYWxXcml0YWJsZVN0cmVhbSkpKSk7Cit9CisKIEpTQ19ERUZJTkVfSE9TVF9G
VU5DVElPTih3aGVuU2lnbmFsQWJvcnRlZCwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBBU1NFUlQoY2FsbEZyYW1lKTsKQEAgLTIy
Miw2ICsyMzQsNyBAQCBTVVBQUkVTU19BU0FOIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1
aWx0aW5HbG9iYWxzKFZNJiB2bSkKICAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFBy
b3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlQnl0ZVN0cmVhbUFQ
SUVuYWJsZWRQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDAsIFN0
cmluZygpLCBpc1JlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQpLCBQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAgICAgICAgIEpT
RE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFt
ZXMoKS5pc0Fib3J0U2lnbmFsUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0
aGlzLCAxLCBTdHJpbmcoKSwgaXNBYm9ydFNpZ25hbCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICAgICAgSlNET01HbG9i
YWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLmdl
dEludGVybmFsV3JpdGFibGVTdHJlYW1Qcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIHRoaXMsIDEsIFN0cmluZygpLCBnZXRJbnRlcm5hbFdyaXRhYmxlU3RyZWFtKSwgUHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAor
ICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERhdGEu
YnVpbHRpbk5hbWVzKCkuY3JlYXRlV3JpdGFibGVTdHJlYW1Gcm9tSW50ZXJuYWxQcml2YXRlTmFt
ZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIFN0cmluZygpLCBjcmVhdGVXcml0
YWJsZVN0cmVhbUZyb21JbnRlcm5hbCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICAgICB9OwogICAgIGFkZFN0YXRpY0dsb2Jh
bHMoc3RhdGljR2xvYmFscywgV1RGX0FSUkFZX0xFTkdUSChzdGF0aWNHbG9iYWxzKSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5k
ZXggYWNhMjlmMmQ5YjRjODZiZWZkNjE4NTViNzBmM2NiN2M3OWI3YWU3YS4uMDA0MjdhOTc4NzBl
NzgwNDBhODA3ZTc1M2JiZGEyNGFlZjYyNzRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzMwLDYgKzMzMCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjb250cm9sbGVyKSBcCiAgICAgbWFjcm8oY3JlYXRl
SW1hZ2VCaXRtYXApIFwKICAgICBtYWNybyhjcmVhdGVSZWFkYWJsZVN0cmVhbSkgXAorICAgIG1h
Y3JvKGNyZWF0ZVdyaXRhYmxlU3RyZWFtRnJvbUludGVybmFsKSBcCiAgICAgbWFjcm8oY3Jvc3NP
cmlnaW5Jc29sYXRlZCkgXAogICAgIG1hY3JvKGN1c3RvbUVsZW1lbnRzKSBcCiAgICAgbWFjcm8o
ZGVjb2RlKSBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438132</attachid>
            <date>2021-09-14 06:54:41 -0700</date>
            <delta_ts>2021-09-14 10:02:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-230219-20210914155439.patch</filename>
            <type>text/plain</type>
            <size>13940</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ2NDU4Mjg0OTk5Mjkx
NWIwNjNiYzQ4ZGE1MDg2NTY0NTRhOGMxYy4uNzFiMWZhM2E0MmVkNzcyODZlY2FkYmU5OTVmOGM5
ODlhNGI0ZjJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA5LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBXcml0YWJs
ZVN0cmVhbSB0byBiZXR0ZXIgaW50ZWdyYXRlIGh0dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5v
cmcvI2NyZWF0ZS13cml0YWJsZS1zdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDIxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpaHVpIExp
dS4KKworICAgICAgICBQcmV2aW91c2x5IHRvIGNyZWF0ZSBhIFdyaXRhYmxlU3RyZWFtIGFzIGh0
dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5vcmcvI2NyZWF0ZS13cml0YWJsZS1zdHJlYW0sCisg
ICAgICAgIHdlIHdlcmUgc3RpbGwgZ29pbmcgdGhyb3VnaCB0aGUgV3JpdGFibGVTdHJlYW0gY29u
c3RydWN0b3IgdGFraW5nIGFuIHVuZGVybHlpbmcgc2luay4KKyAgICAgICAgV2UgcmVmYWN0b3Ig
Y29kZSB0byBzdG9wIGRvaW5nIHRoYXQsIHdoaWNoIHdpbGwgbWFrZSBpdCBlYXN5IHRvIGludHJv
ZHVjZSBodHRwczovL3N0cmVhbXMuc3BlYy53aGF0d2cub3JnLyN3cml0YWJsZXN0cmVhbS1zZXQt
dXAKKyAgICAgICAgd2hpY2ggaXMgbm93IHVzZWQgaW4gb3RoZXIgd2ViIHNwZWNpZmljYXRpb25z
LgorCisgICAgICAgIFRvIGRvIHNvLCB3ZSBpbnRyb2R1Y2UgYSBjcmVhdGVGcm9tVW5kZXJseWlu
Z1NpbmsgYnVpbHQtaW4gZnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgV3JpdGFibGVTdHJlYW0gZnJv
bSBhbiBJbnRlcm5hbFdyaXRhYmxlU3RyZWFtLgorICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qczoK
KyAgICAgICAgKGV4dHJhY3RIaWdoV2F0ZXJNYXJrKTogTWFrZSBzdXJlIGV4dHJhY3RIaWdoV2F0
ZXJNYXJrIHJldHVybnMgYSBudW1iZXIgYXMgV2ViSURMIGRlZmluZXMgSFdNIGFzIGEgZG91Ymxl
LgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvV3JpdGFibGVTdHJlYW0uaDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvV3JpdGFi
bGVTdHJlYW1JbnRlcm5hbHMuanM6CisgICAgICAgIChjcmVhdGVXcml0YWJsZVN0cmVhbSk6Cisg
ICAgICAgIChjcmVhdGVJbnRlcm5hbFdyaXRhYmxlU3RyZWFtRnJvbVVuZGVybHlpbmdTaW5rKToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0ZUZyb21VbmRlcmx5aW5n
U2luayk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFdyaXRhYmxlU3RyZWFtOjpmcm9tT2Jq
ZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0ZSk6
IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvSW50ZXJuYWxXcml0YWJsZVN0cmVhbS5o
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgIChXZWJDb3JlOjpK
U0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKwogMjAyMS0wOS0xNCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWlncmF0ZSB0byBsaWJ3ZWJydGMgbm9uLXJh
Y3kgc2V0UmVtb3RlRGVzY3JpcHRpb24vc2V0TG9jYWxEZXNjcmlwdGlvbiB2YXJpYW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5q
cyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9TdHJlYW1JbnRlcm5hbHMuanMKaW5k
ZXggMDFmN2Y2OWNmNDkyNTQ3NTYzY2U3YjgyNGY5MWJhYTljMTFiYjViYi4uYzU3ODZlZjA4NjQx
ZWVkNGJkYWJkZjU2ZGQxN2E5YjBhNjk2NTk1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1N0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0xODUsNyArMTg1LDcgQEAgZnVu
Y3Rpb24gZXh0cmFjdEhpZ2hXYXRlck1hcmsoc3RyYXRlZ3ksIGRlZmF1bHRIV00pCiAgICAgaWYg
KEBpc05hTihoaWdoV2F0ZXJNYXJrKSB8fCBoaWdoV2F0ZXJNYXJrIDwgMCkKICAgICAgICAgQHRo
cm93UmFuZ2VFcnJvcigiaGlnaFdhdGVyTWFyayB2YWx1ZSBpcyBuZWdhdGl2ZSBvciBub3QgYSBu
dW1iZXIiKTsKIAotICAgIHJldHVybiBoaWdoV2F0ZXJNYXJrOworICAgIHJldHVybiBAdG9OdW1i
ZXIoaGlnaFdhdGVyTWFyayk7CiB9CiAKIGZ1bmN0aW9uIGNyZWF0ZUZ1bGZpbGxlZFByb21pc2Uo
dmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFi
bGVTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3Ry
ZWFtLmNwcAppbmRleCA5ZmQ5OThhYWVmNjRkMTk1NWIxOGEyMzYzYzRlMTg0MmM4ODQwYzRlLi45
N2Q1NmI0NzYxMWYwMzkzZTdlOWRhZWJmMTZiNjlhMzUzNGFjNTQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5jcHAKQEAgLTQ2LDcgKzQ2
LDcgQEAgRXhjZXB0aW9uT3I8UmVmPFdyaXRhYmxlU3RyZWFtPj4gV3JpdGFibGVTdHJlYW06OmNy
ZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG8KIAogRXhjZXB0aW9uT3I8UmVmPFdyaXRhYmxl
U3RyZWFtPj4gV3JpdGFibGVTdHJlYW06OmNyZWF0ZShKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QsIEpTQzo6SlNWYWx1ZSB1bmRlcmx5aW5nU2luaywgSlNDOjpKU1ZhbHVlIHN0cmF0
ZWd5KQogewotICAgIGF1dG8gcmVzdWx0ID0gSW50ZXJuYWxXcml0YWJsZVN0cmVhbTo6Y3JlYXRl
KCpKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KCZnbG9iYWxPYmplY3QpLCB1bmRlcmx5
aW5nU2luaywgc3RyYXRlZ3kpOworICAgIGF1dG8gcmVzdWx0ID0gSW50ZXJuYWxXcml0YWJsZVN0
cmVhbTo6Y3JlYXRlRnJvbVVuZGVybHlpbmdTaW5rKCpKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9i
amVjdCo+KCZnbG9iYWxPYmplY3QpLCB1bmRlcmx5aW5nU2luaywgc3RyYXRlZ3kpOwogICAgIGlm
IChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiByZXN1bHQucmVsZWFzZUV4
Y2VwdGlvbigpOwogCkBAIC01OCw2ICs1OCwxMSBAQCBFeGNlcHRpb25PcjxSZWY8V3JpdGFibGVT
dHJlYW0+PiBXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYQog
ICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB0b0pTTmV3bHlDcmVhdGVkKCZnbG9iYWxP
YmplY3QsICZnbG9iYWxPYmplY3QsIFdURk1vdmUoc2luaykpLCBKU0M6OmpzVW5kZWZpbmVkKCkp
OwogfQogCitSZWY8V3JpdGFibGVTdHJlYW0+IFdyaXRhYmxlU3RyZWFtOjpjcmVhdGUoUmVmPElu
dGVybmFsV3JpdGFibGVTdHJlYW0+JiYgaW50ZXJuYWxXcml0YWJsZVN0cmVhbSkKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXcml0YWJsZVN0cmVhbShXVEZNb3ZlKGludGVybmFsV3JpdGFi
bGVTdHJlYW0pKSk7Cit9CisKIFdyaXRhYmxlU3RyZWFtOjpXcml0YWJsZVN0cmVhbShSZWY8SW50
ZXJuYWxXcml0YWJsZVN0cmVhbT4mJiBpbnRlcm5hbFdyaXRhYmxlU3RyZWFtKQogICAgIDogbV9p
bnRlcm5hbFdyaXRhYmxlU3RyZWFtKFdURk1vdmUoaW50ZXJuYWxXcml0YWJsZVN0cmVhbSkpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJl
YW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5oCmlu
ZGV4IDJjMmEyNTI0ZGJkMzBiMDA3MTc2M2RjN2U2ZTM3M2U5MjEyZGE0ZjcuLjNmMDdmYTIwNmNm
ZjI4YTViMmNkYjM1OTcwMjdhZGViNTc2YTY2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbS5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIFdy
aXRhYmxlU3RyZWFtIDogcHVibGljIFJlZkNvdW50ZWQ8V3JpdGFibGVTdHJlYW0+IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdyaXRhYmxlU3RyZWFtPj4gY3JlYXRlKEpT
Qzo6SlNHbG9iYWxPYmplY3QmLCBzdGQ6Om9wdGlvbmFsPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmpl
Y3Q+PiYmLCBzdGQ6Om9wdGlvbmFsPEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+PiYmKTsKICAg
ICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFdyaXRhYmxlU3RyZWFtPj4gY3JlYXRlKEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFdyaXRhYmxlU3RyZWFtU2luaz4mJik7CisgICAgc3RhdGljIFJlZjxX
cml0YWJsZVN0cmVhbT4gY3JlYXRlKFJlZjxJbnRlcm5hbFdyaXRhYmxlU3RyZWFtPiYmKTsKIAog
ICAgIH5Xcml0YWJsZVN0cmVhbSgpID0gZGVmYXVsdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmluZGV4
IDgyMjM4NDYxZWY2ZWY0ZTUyYTYyNGE3NjM5ZmM0NDIyYWI4ZDFmMDcuLjQwNmI5ZWE0ODJjNmZk
MzczMGE1YmRjMmY5YzNkZDJjY2U1YjMwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9Xcml0YWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTQ1LDE5
ICs0NSwyMSBAQCBmdW5jdGlvbiBhY3F1aXJlV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyKHN0
cmVhbSkKICAgICByZXR1cm4gbmV3IEBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIoc3RyZWFt
KTsKIH0KIAotZnVuY3Rpb24gY3JlYXRlV3JpdGFibGVTdHJlYW0oc3RhcnRBbGdvcml0aG0sIHdy
aXRlQWxnb3JpdGhtLCBjbG9zZUFsZ29yaXRobSwgYWJvcnRBbGdvcml0aG0sIHdyaXRhYmxlSGln
aFdhdGVyTWFyaywgd3JpdGFibGVTaXplQWxnb3JpdGhtKQorLy8gaHR0cHM6Ly9zdHJlYW1zLnNw
ZWMud2hhdHdnLm9yZy8jY3JlYXRlLXdyaXRhYmxlLXN0cmVhbQorZnVuY3Rpb24gY3JlYXRlV3Jp
dGFibGVTdHJlYW0oc3RhcnRBbGdvcml0aG0sIHdyaXRlQWxnb3JpdGhtLCBjbG9zZUFsZ29yaXRo
bSwgYWJvcnRBbGdvcml0aG0sIGhpZ2hXYXRlck1hcmssIHNpemVBbGdvcml0aG0pCiB7Ci0gICAg
aWYgKGFyZ3VtZW50cy5sZW5ndGggPCA1KQotICAgICAgICB3cml0YWJsZUhpZ2hXYXRlck1hcmsg
PSAxOwotICAgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgNikKLSAgICAgICAgd3JpdGFibGVTaXpl
QWxnb3JpdGhtID0gKCkgPT4geyByZXR1cm4gMTsgfTsKKyAgICBAYXNzZXJ0KHR5cGVvZiBoaWdo
V2F0ZXJNYXJrID09PSAibnVtYmVyIiAmJiAhQGlzTmFOKGhpZ2hXYXRlck1hcmspICYmIGhpZ2hX
YXRlck1hcmsgPj0gMCk7CiAKLSAgICBsZXQgdW5kZXJseWluZ1NpbmsgPSB7IHN0YXJ0QWxnb3Jp
dGhtOiBzdGFydEFsZ29yaXRobSwgd3JpdGVBbGdvcml0aG06IHdyaXRlQWxnb3JpdGhtLCBjbG9z
ZUFsZ29yaXRobTogY2xvc2VBbGdvcml0aG0sIGFib3J0QWxnb3JpdGhtOiBhYm9ydEFsZ29yaXRo
bX07Ci0gICAgQHB1dEJ5SWREaXJlY3RQcml2YXRlKHVuZGVybHlpbmdTaW5rLCAiV3JpdGFibGVT
dHJlYW0iLCB0cnVlKTsKLSAgICByZXR1cm4gbmV3IEBXcml0YWJsZVN0cmVhbSh1bmRlcmx5aW5n
U2luaywgeyBzaXplQWxnb3JpdGhtOiB3cml0YWJsZVNpemVBbGdvcml0aG0sIGhpZ2hXYXRlck1h
cms6IHdyaXRhYmxlSGlnaFdhdGVyTWFyayB9KTsKKyAgICBjb25zdCBpbnRlcm5hbFN0cmVhbSA9
IHsgfTsKKyAgICBAaW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtU2xvdHMoaW50ZXJuYWxTdHJlYW0s
IHsgfSk7CisgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBAV3JpdGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlcigpOworCisgICAgQHNldFVwV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
cihpbnRlcm5hbFN0cmVhbSwgY29udHJvbGxlciwgc3RhcnRBbGdvcml0aG0sIHdyaXRlQWxnb3Jp
dGhtLCBjbG9zZUFsZ29yaXRobSwgYWJvcnRBbGdvcml0aG0sIGhpZ2hXYXRlck1hcmssIHNpemVB
bGdvcml0aG0pOworCisgICAgcmV0dXJuIEBjcmVhdGVXcml0YWJsZVN0cmVhbUZyb21JbnRlcm5h
bChpbnRlcm5hbFN0cmVhbSk7CiB9CiAKLWZ1bmN0aW9uIGNyZWF0ZUludGVybmFsV3JpdGFibGVT
dHJlYW0odW5kZXJseWluZ1NpbmssIHN0cmF0ZWd5KQorZnVuY3Rpb24gY3JlYXRlSW50ZXJuYWxX
cml0YWJsZVN0cmVhbUZyb21VbmRlcmx5aW5nU2luayh1bmRlcmx5aW5nU2luaywgc3RyYXRlZ3kp
CiB7CiAgICAgInVzZSBzdHJpY3QiOwogCkBAIC03MiwxNiArNzQsNiBAQCBmdW5jdGlvbiBjcmVh
dGVJbnRlcm5hbFdyaXRhYmxlU3RyZWFtKHVuZGVybHlpbmdTaW5rLCBzdHJhdGVneSkKICAgICBp
ZiAoIUBpc09iamVjdCh1bmRlcmx5aW5nU2luaykpCiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigi
V3JpdGFibGVTdHJlYW0gY29uc3RydWN0b3IgdGFrZXMgYW4gb2JqZWN0IGFzIGZpcnN0IGFyZ3Vt
ZW50Iik7CiAKLSAgICAvLyBjcmVhdGVXcml0ZVN0cmVhbSBjb2RlIHBhdGguCi0gICAgaWYgKEBn
ZXRCeUlkRGlyZWN0UHJpdmF0ZSh1bmRlcmx5aW5nU2luaywgIldyaXRhYmxlU3RyZWFtIikpIHsK
LSAgICAgICAgQGluaXRpYWxpemVXcml0YWJsZVN0cmVhbVNsb3RzKHN0cmVhbSwgdW5kZXJseWlu
Z1NpbmspOwotCi0gICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQFdyaXRhYmxlU3RyZWFt
RGVmYXVsdENvbnRyb2xsZXIoKTsKLQotICAgICAgICBAc2V0VXBXcml0YWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyKHN0cmVhbSwgY29udHJvbGxlciwgdW5kZXJseWluZ1Npbmsuc3RhcnRBbGdv
cml0aG0sIHVuZGVybHlpbmdTaW5rLndyaXRlQWxnb3JpdGhtLCB1bmRlcmx5aW5nU2luay5jbG9z
ZUFsZ29yaXRobSwgdW5kZXJseWluZ1NpbmsuYWJvcnRBbGdvcml0aG0sIHN0cmF0ZWd5LmhpZ2hX
YXRlck1hcmssIHN0cmF0ZWd5LnNpemVBbGdvcml0aG0pOwotICAgICAgICByZXR1cm4gc3RyZWFt
OwotICAgIH0KLQogICAgIGlmICgidHlwZSIgaW4gdW5kZXJseWluZ1NpbmspCiAgICAgICAgIEB0
aHJvd1JhbmdlRXJyb3IoIkludmFsaWQgdHlwZSBpcyBzcGVjaWZpZWQiKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSW50ZXJuYWxXcml0YWJsZVN0cmVhbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmNwcApp
bmRleCBmNGY5YmZkZWIxMzZlZTZlODUzN2FlZTcxNzM0NTc4NGYxNDUyZGVjLi5lNGJiMTYwZmZm
NTZjOWVkY2ZkNTMxMzRmYzlkYzAzMjQ5MzUyZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmNwcApAQCAtNTAsMTAgKzUw
LDEwIEBAIHN0YXRpYyBFeGNlcHRpb25PcjxKU0M6OkpTVmFsdWU+IGludm9rZVdyaXRhYmxlU3Ry
ZWFtRnVuY3Rpb24oSlNDOjpKU0dsb2JhbE9iamVjCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
RXhjZXB0aW9uT3I8UmVmPEludGVybmFsV3JpdGFibGVTdHJlYW0+PiBJbnRlcm5hbFdyaXRhYmxl
U3RyZWFtOjpjcmVhdGUoSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIHVuZGVybHlpbmdTaW5rLCBKU0M6OkpTVmFsdWUgc3RyYXRlZ3kpCitFeGNlcHRpb25PcjxS
ZWY8SW50ZXJuYWxXcml0YWJsZVN0cmVhbT4+IEludGVybmFsV3JpdGFibGVTdHJlYW06OmNyZWF0
ZUZyb21VbmRlcmx5aW5nU2luayhKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTVmFsdWUgdW5kZXJseWluZ1NpbmssIEpTQzo6SlNWYWx1ZSBzdHJhdGVneSkKIHsKICAgICBh
dXRvKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPihnbG9iYWxPYmpl
Y3Qudm0oKS5jbGllbnREYXRhKTsKLSAgICBhdXRvJiBwcml2YXRlTmFtZSA9IGNsaWVudERhdGEt
PmJ1aWx0aW5GdW5jdGlvbnMoKS53cml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkuY3Jl
YXRlSW50ZXJuYWxXcml0YWJsZVN0cmVhbVByaXZhdGVOYW1lKCk7CisgICAgYXV0byYgcHJpdmF0
ZU5hbWUgPSBjbGllbnREYXRhLT5idWlsdGluRnVuY3Rpb25zKCkud3JpdGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGlucygpLmNyZWF0ZUludGVybmFsV3JpdGFibGVTdHJlYW1Gcm9tVW5kZXJseWlu
Z1NpbmtQcml2YXRlTmFtZSgpOwogCiAgICAgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmd1
bWVudHM7CiAgICAgYXJndW1lbnRzLmFwcGVuZCh1bmRlcmx5aW5nU2luayk7CkBAIC02OCw2ICs2
OCwxMSBAQCBFeGNlcHRpb25PcjxSZWY8SW50ZXJuYWxXcml0YWJsZVN0cmVhbT4+IEludGVybmFs
V3JpdGFibGVTdHJlYW06OmNyZWF0ZShKU0RPTUdsbwogICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEludGVybmFsV3JpdGFibGVTdHJlYW0oZ2xvYmFsT2JqZWN0LCAqcmVzdWx0LnJldHVyblZhbHVl
KCkudG9PYmplY3QoJmdsb2JhbE9iamVjdCkpKTsKIH0KIAorUmVmPEludGVybmFsV3JpdGFibGVT
dHJlYW0+IEludGVybmFsV3JpdGFibGVTdHJlYW06OmZyb21PYmplY3QoSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCwgSlNDOjpKU09iamVjdCYgb2JqZWN0KQoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEludGVybmFsV3JpdGFibGVTdHJlYW0oZ2xvYmFsT2JqZWN0LCBvYmplY3Qp
KTsKK30KKwogYm9vbCBJbnRlcm5hbFdyaXRhYmxlU3RyZWFtOjpsb2NrZWQoKSBjb25zdAogewog
ICAgIGF1dG8qIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSW50ZXJuYWxXcml0YWJsZVN0cmVhbS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSW50ZXJuYWxXcml0YWJsZVN0cmVhbS5oCmluZGV4
IDEwYWFhMjczZTY2Y2JlMTY3YTM5M2I3MWQyMGI2ODIxYWJmNTZlZTUuLmE3NjhmOTU5ZDdmYjY3
OGQwNDc1MWI5MWMzZjM3NWZjZDQwOTdhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0ludGVybmFsV3JpdGFibGVTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9JbnRlcm5hbFdyaXRhYmxlU3RyZWFtLmgKQEAgLTMyLDcgKzMyLDggQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludGVybmFsV3JpdGFibGVTdHJlYW0gZmluYWwgOiBw
dWJsaWMgRE9NR3VhcmRlZDxKU0M6OkpTT2JqZWN0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIEV4
Y2VwdGlvbk9yPFJlZjxJbnRlcm5hbFdyaXRhYmxlU3RyZWFtPj4gY3JlYXRlKEpTRE9NR2xvYmFs
T2JqZWN0JiwgSlNDOjpKU1ZhbHVlIHVuZGVybHlpbmdTaW5rLCBKU0M6OkpTVmFsdWUgc3RyYXRl
Z3kpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8SW50ZXJuYWxXcml0YWJsZVN0cmVhbT4+
IGNyZWF0ZUZyb21VbmRlcmx5aW5nU2luayhKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNWYWx1
ZSB1bmRlcmx5aW5nU2luaywgSlNDOjpKU1ZhbHVlIHN0cmF0ZWd5KTsKKyAgICBzdGF0aWMgUmVm
PEludGVybmFsV3JpdGFibGVTdHJlYW0+IGZyb21PYmplY3QoSlNET01HbG9iYWxPYmplY3QmLCBK
U0M6OkpTT2JqZWN0Jik7CiAKICAgICBvcGVyYXRvciBKU0M6OkpTVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBndWFyZGVkKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01HbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01HbG9iYWxPYmplY3QuY3BwCmluZGV4IDU2ZGM1MWZmNGRjMTljN2Q2MTc5OGFhYjMxNzRkMzRj
NWY5M2FhN2YuLjc2ODFmOTUxN2Y0ZmQ0ZGM3YzYwNjNhMjM3ODlkNDEyMDg5YTQwNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKQEAg
LTcyLDYgKzcyLDcgQEAgSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihtYWtlVGhpc1R5cGVFcnJv
ckZvckJ1aWx0aW5zKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWFrZUdldHRlclR5cGVF
cnJvckZvckJ1aWx0aW5zKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04obWFrZURPTUV4Y2Vw
dGlvbkZvckJ1aWx0aW5zKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oaXNSZWFkYWJsZUJ5
dGVTdHJlYW1BUElFbmFibGVkKTsKK0pTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY3JlYXRlV3Jp
dGFibGVTdHJlYW1Gcm9tSW50ZXJuYWwpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihnZXRJ
bnRlcm5hbFdyaXRhYmxlU3RyZWFtKTsKIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04od2hlblNp
Z25hbEFib3J0ZWQpOwogSlNDX0RFQ0xBUkVfSE9TVF9GVU5DVElPTihpc0Fib3J0U2lnbmFsKTsK
QEAgLTE3MSw2ICsxNzIsMTcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGdldEludGVybmFs
V3JpdGFibGVTdHJlYW0sIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHdyaXRhYmxlU3RyZWFtLT53cmFwcGVkKCkuaW50ZXJuYWxXcml0YWJs
ZVN0cmVhbSgpKTsKIH0KIAorSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNyZWF0ZVdyaXRhYmxl
U3RyZWFtRnJvbUludGVybmFsLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZy
YW1lKiBjYWxsRnJhbWUpKQoreworICAgIEFTU0VSVChjYWxsRnJhbWUpOworICAgIEFTU0VSVChj
YWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA9PSAxKTsKKyAgICBBU1NFUlQoY2FsbEZyYW1lLT51
bmNoZWNrZWRBcmd1bWVudCgwKS5pc09iamVjdCgpKTsKKworICAgIGF1dG8qIGpzRE9NR2xvYmFs
T2JqZWN0ID0gSlNDOjpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QpOwor
ICAgIGF1dG8gaW50ZXJuYWxXcml0YWJsZVN0cmVhbSA9IEludGVybmFsV3JpdGFibGVTdHJlYW06
OmZyb21PYmplY3QoKmpzRE9NR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1
bWVudCgwKS50b09iamVjdChnbG9iYWxPYmplY3QpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHRvSlNOZXdseUNyZWF0ZWQoZ2xvYmFsT2JqZWN0LCBqc0RPTUdsb2JhbE9iamVjdCwgV3Jp
dGFibGVTdHJlYW06OmNyZWF0ZShXVEZNb3ZlKGludGVybmFsV3JpdGFibGVTdHJlYW0pKSkpOwor
fQorCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04od2hlblNpZ25hbEFib3J0ZWQsIChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAgQVNT
RVJUKGNhbGxGcmFtZSk7CkBAIC0yMjIsNiArMjM0LDcgQEAgU1VQUFJFU1NfQVNBTiB2b2lkIEpT
RE9NR2xvYmFsT2JqZWN0OjphZGRCdWlsdGluR2xvYmFscyhWTSYgdm0pCiAgICAgICAgIEpTRE9N
R2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMo
KS5yZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6
Y3JlYXRlKHZtLCB0aGlzLCAwLCBTdHJpbmcoKSwgaXNSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFi
bGVkKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkpLAogICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZv
KGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuaXNBYm9ydFNpZ25hbFByaXZhdGVOYW1lKCksIEpT
RnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIGlzQWJvcnRTaWduYWwpLCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSksCiAgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50
RGF0YS5idWlsdGluTmFtZXMoKS5nZXRJbnRlcm5hbFdyaXRhYmxlU3RyZWFtUHJpdmF0ZU5hbWUo
KSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgZ2V0SW50ZXJuYWxX
cml0YWJsZVN0cmVhbSksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5KSwKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFBy
b3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLmNyZWF0ZVdyaXRhYmxlU3RyZWFt
RnJvbUludGVybmFsUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAx
LCBTdHJpbmcoKSwgY3JlYXRlV3JpdGFibGVTdHJlYW1Gcm9tSW50ZXJuYWwpLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAgICAg
fTsKICAgICBhZGRTdGF0aWNHbG9iYWxzKHN0YXRpY0dsb2JhbHMsIFdURl9BUlJBWV9MRU5HVEgo
c3RhdGljR2xvYmFscykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDJiMTJhYjY0N2YzZjE2MmM5YmI1ZDdiZmI5NmQ1MWQy
YjBmNjdkNGUuLjdjYTJhYjVhZjU5MTYzNWRiNTIxOTkxZTI4MmI3NmMxZWU2MDNmMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAg
LTM0Miw2ICszNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oY29udHJvbGxl
cikgXAogICAgIG1hY3JvKGNyZWF0ZUltYWdlQml0bWFwKSBcCiAgICAgbWFjcm8oY3JlYXRlUmVh
ZGFibGVTdHJlYW0pIFwKKyAgICBtYWNybyhjcmVhdGVXcml0YWJsZVN0cmVhbUZyb21JbnRlcm5h
bCkgXAogICAgIG1hY3JvKGNyb3NzT3JpZ2luSXNvbGF0ZWQpIFwKICAgICBtYWNybyhjdXN0b21F
bGVtZW50cykgXAogICAgIG1hY3JvKGRlY29kZSkgXAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>