<?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>218956</bug_id>
          
          <creation_ts>2020-11-15 04:12:37 -0800</creation_ts>
          <short_desc>TextEncoderStreamEncoder should not be exposed</short_desc>
          <delta_ts>2020-11-16 04:19:16 -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>DOM</component>
          <version>WebKit Local 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>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1707590</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-15 04:12:37 -0800</bug_when>
    <thetext>As spotted by Yusuke, TextEncoderStreamEncoder should not be exposed, ditto for TextDecoderStreamDecoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707591</commentid>
    <comment_count>1</comment_count>
      <attachid>414162</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-15 04:31:11 -0800</bug_when>
    <thetext>Created attachment 414162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707614</commentid>
    <comment_count>2</comment_count>
      <attachid>414168</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-15 09:54:16 -0800</bug_when>
    <thetext>Created attachment 414168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707626</commentid>
    <comment_count>3</comment_count>
      <attachid>414168</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-11-15 10:48:57 -0800</bug_when>
    <thetext>Comment on attachment 414168
Patch

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

r=me

&gt; Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp:206
&gt; +    if ((jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext()-&gt;isSecureContext() &amp;&amp; TestEnabledForContext::enabledForContext(*jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext()))) {

Looks like we need to remove this brace.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:248
&gt; +    if (downcast&lt;Document&gt;(jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext())-&gt;settings().testSettingEnabled()) {

Ditto about the brace.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:251
&gt; +    if (downcast&lt;Document&gt;(jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext())-&gt;settings().testSettingEnabled()) {

Ditto.

&gt; Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp:717
&gt; +    if (RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled()) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707697</commentid>
    <comment_count>4</comment_count>
      <attachid>414197</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-16 00:01:45 -0800</bug_when>
    <thetext>Created attachment 414197
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707762</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-16 04:18:12 -0800</bug_when>
    <thetext>Committed r269847: &lt;https://trac.webkit.org/changeset/269847&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414197.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707763</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-16 04:19:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/71434621&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414162</attachid>
            <date>2020-11-15 04:31:11 -0800</date>
            <delta_ts>2020-11-15 09:54:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218956-20201115133110.patch</filename>
            <type>text/plain</type>
            <size>20875</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFlOTRhNDlkZmU4MDBk
MGIxMGYzNzVlNGIxN2Y5ZjI0ZGRmNTZjOS4uYTE5OWRmZWZhNmMyNDJhNzMyZTM3MzllZWQ5M2Ix
NDVjYzE5MzcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0RW5jb2RlclN0cmVh
bUVuY29kZXIgc2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCaW5kaW5nIGdlbmVyYXRvciBjb3JyZWN0bHkgaGFuZGxl
cyBwcml2YXRlIGlkZW50aWZpZXJzIGFuZCBydW50aW1lIHNldHRpbmdzLCBidXQgbm90IHdoZW4g
Y29tYmluZWQgZm9yIGludGVyZmFjZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9lbmNvZGluZy9z
dHJlYW0tdmlzaWJpbGl0eS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmdET01Db25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9y
U3RydWN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JHZXR0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fR0VUVEVSKToKKyAgICAgICAgKFdlYkNv
cmU6OnNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQ
cml2YXRlQ29uc3RydWN0b3JTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3JHZXR0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2Jq
RW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvclNldHRlcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEZvckNvbnRleHQ6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorCiAyMDIwLTExLTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgYSBXZWJSVEMgU0ZyYW1lIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAyN2M3OTdk
MzQwZGI0NmI3ZTMxYmE2ZGJlYjI5MWNjNDM5MjU4MDFkLi42MzAyMGViYmQxZjAwMDM5N2NjZWE0
NTI3M2ZhOWY5ZDg0ZDM2M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDc1NiwxNCArNDc1NiwyMyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmluZyA9ICRj
b2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRyaWJ1dGUpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYg
JGNvbmRpdGlvbmFsU3RyaW5nOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAo
JHtydW50aW1lRW5hYmxlQ29uZGl0aW9uYWxTdHJpbmd9KVxuIik7CisgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIGlmICgke3J1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmluZ30pIHtc
biIpOwogICAgICAgICBhc3NlcnQoIkN1c3RvbUdldHRlclNldHRlciBpcyBub3QgYWxsb3dlZCBm
b3IgRE9NQXR0cmlidXRlLiBET01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXIgbXVzdCBiZSB1c2VkLiIp
IGlmIElzQWNjZWxlcmF0ZWRET01BdHRyaWJ1dGUoJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7Ci0g
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nv
cih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRp
bk5hbWVzKCkuIiAuICRhdHRyaWJ1dGVOYW1lIC4gIlB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sICRnZXR0ZXIsICRzZXR0ZXIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0
dXJlKCRqc2NBdHRyaWJ1dGVzKSk7XG4iKTsKKworICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57UHVibGljSWRlbnRpZmllcn0gfHwgISRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e1ByaXZhdGVJZGVudGlmaWVyfSkgeworICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS4iIC4g
JGF0dHJpYnV0ZU5hbWUgLiAiUHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSwgJGdldHRlciwgJHNldHRlciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoJGpzY0F0dHJp
YnV0ZXMpKTtcbiIpOworICAgICAgICB9CisgICAgICAgIGlmICgkYXR0cmlidXRlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntQcml2YXRlSWRlbnRpZmllcn0pIHsKKyAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuIiAuICRh
dHRyaWJ1dGVOYW1lIC4gIlByaXZhdGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRl
KHZtLCAkZ2V0dGVyLCAkc2V0dGVyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZSgkanNjQXR0cmli
dXRlcykpO1xuIik7CisgICAgICAgIH0KKworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICB9XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRjb25k
aXRpb25hbFN0cmluZzsKICAgICB9CiAKICAgICAjIFN1cHBvcnQgUHJpdmF0ZUlkZW50aWZpZXIg
YXR0cmlidXRlcyBvbiBpbnN0YW5jZXMuCiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRp
bnRlcmZhY2UtPmF0dHJpYnV0ZXN9KSB7CisgICAgICAgIG5leHQgaWYgTmVlZHNSdW50aW1lQ2hl
Y2soJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7CiAgICAgICAgIG5leHQgdW5sZXNzICRhdHRyaWJ1
dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1ByaXZhdGVJZGVudGlmaWVyfTsKICAgICAgICAgbmV4
dCB1bmxlc3MgQXR0cmlidXRlU2hvdWxkQmVPbkluc3RhbmNlKCRpbnRlcmZhY2UsICRhdHRyaWJ1
dGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTRE9NV2luZG93LmNwcAppbmRleCBhNGY0MWVhMjZlZGQ0NTQwYWYxODA0YWUwYzZmZDVl
OTkzN2U5ZmNlLi5jNjliZDUzZTM4YTdkMGUxYmQ2ZWMwOWIzM2Y0ZTA4MjZiMjI5YWMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RP
TVdpbmRvdy5jcHAKQEAgLTIwMyw4ICsyMDMsOSBAQCB2b2lkIEpTRE9NV2luZG93OjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTV2luZG93UHJveHkqIHByb3h5KQogCiAgICAgc3RhdGljX2Fzc2Vy
dCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgRE9NV2luZG93Pjo6dmFsdWUsICJJ
bnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3VnaCBp
bXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKIAotICAg
IGlmICgoanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmlzU2VjdXJlQ29udGV4dCgpICYmIFRlc3RFbmFibGVkRm9yQ29u
dGV4dDo6ZW5hYmxlZEZvckNvbnRleHQoKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkpCisgICAgaWYgKChqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+aXNTZWN1cmVDb250ZXh0KCkgJiYgVGVzdEVuYWJsZWRGb3JDb250ZXh0OjplbmFibGVk
Rm9yQ29udGV4dCgqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKSkgewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nl
c3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVp
bHRpbk5hbWVzKCkuVGVzdEVuYWJsZWRGb3JDb250ZXh0UHVibGljTmFtZSgpLCBDdXN0b21HZXR0
ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29u
c3RydWN0b3IsIHNldEpTRE9NV2luZG93X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9y
KSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgfQogfQogCiBKU1ZhbHVlIEpTRE9NV2lu
ZG93OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKaW5kZXggMzhlZTkwNjEy
YTUzODM4NjA2MTNjMDI2MmQ3NWU5ZTZmNDhlYTM2Yi4uMzE4YjdlZjI0ZTM4YTdmNTlmYjhmYWI4
YmU4Yzg3Njc2ODFhMzFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcApA
QCAtNjAsNiArNjAsMTAgQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNUZXN0
RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZUZ1bmN0aW9uX2VuYWJsZWQKIHN0YXRpYyBKU0NfREVD
TEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3Rvcik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rl
c3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxl
ZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRl
Q29uc3RydWN0b3IpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1
Y3Rvcik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9y
KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3Ip
OwogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlKTsKQEAgLTEwNSw2ICsxMDksMjAgQEAgU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3Rv
dHlwZSwgSlNUZXN0RW5hYmwKIAogdXNpbmcgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0
cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZz47CiAKKy8qIEhhc2ggdGFibGUgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCBDb21w
YWN0SGFzaEluZGV4IEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZUluZGV4WzJdID0geworICAg
IHsgLTEsIC0xIH0sCisgICAgeyAtMSwgLTEgfSwKK307CisKKworc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZVZhbHVlc1tdID0KK3sKKyAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9Cit9OworCitzdGF0aWMgY29uc3QgSGFzaFRh
YmxlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZSA9IHsgMCwgMSwgZmFsc2UsIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OmluZm8oKSwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1RhYmxlVmFsdWVz
LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nVGFibGVJbmRleCB9OwogLyogSGFzaCB0YWJsZSBmb3Ig
Y29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEVuYWJs
ZWRCeVNldHRpbmdDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMjEzLDcgKzIzMSw3IEBA
IHZvaWQgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtKQogICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhPVVRfVFJBTlNJVElPTigpOwogfQogCi1j
b25zdCBDbGFzc0luZm8gSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6c19pbmZvID0geyAiVGVzdEVu
YWJsZWRCeVNldHRpbmciLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNldHRpbmcpIH07Citjb25zdCBDbGFzc0luZm8g
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6c19pbmZvID0geyAiVGVzdEVuYWJsZWRCeVNldHRpbmci
LCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1RhYmxlLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNldHRpbmcpIH07CiAKIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmcoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RW5hYmxlZEJ5U2V0
dGluZz4mJiBpbXBsKQogICAgIDogSlNET01XcmFwcGVyPFRlc3RFbmFibGVkQnlTZXR0aW5nPihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKQEAgLTIyNyw4ICsyNDUsMTYg
QEAgdm9pZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAK
ICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Jhc2Vfb2Y8QWN0aXZlRE9NT2JqZWN0LCBUZXN0
RW5hYmxlZEJ5U2V0dGluZz46OnZhbHVlLCAiSW50ZXJmYWNlIGlzIG5vdCBtYXJrZWQgYXMgW0Fj
dGl2ZURPTU9iamVjdF0gZXZlbiB0aG91Z2ggaW1wbGVtZW50YXRpb24gY2xhc3Mgc3ViY2xhc3Nl
cyBBY3RpdmVET01PYmplY3QuIik7CiAKLSAgICBpZiAoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSkKKyAgICBpZiAoZG93bmNh
c3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQo
KSkgewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNW
TUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZt
LCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3Ry
dWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRp
bmdDb25zdHJ1Y3RvciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSkpOworICAgIH0KKyAgICBpZiAo
ZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0Vu
YWJsZWQoKSkgeworICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuVGVzdFN1
Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHJpdmF0ZU5hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVz
dFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9y
U3RydWN0dXJlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpKTsKKyAgICB9CisgICAgaWYgKGRvd25jYXN0PERvY3VtZW50Pihqc0Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSktPnNldHRpbmdzKCkudGVzdFNldHRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgcHV0RGlyZWN0
Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1
YmxpY1B1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVu
YWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29u
c3RydWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNl
dHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsK
KyAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGll
bnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVk
QnlTZXR0aW5nUHJpdmF0ZVB1YmxpY1ByaXZhdGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6
Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0
aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rl
c3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yKSwgYXR0cmli
dXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pKSk7CisgICAgfQogfQogCiBKU09iamVjdCogSlNUZXN0RW5hYmxlZEJ5
U2V0dGluZzo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKQEAgLTI5NSw2ICszMjEsNTIgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdDb24KICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZyIpOwogfQogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUg
anNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVD
b25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZyYgdGhpc09iamVjdCkKK3sKKyAgICBVTlVTRURfUEFSQU0obGV4
aWNhbEdsb2JhbE9iamVjdCk7CisgICAgcmV0dXJuIEpTVGVzdFN1Yk9iajo6Z2V0Q29uc3RydWN0
b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2Jq
ZWN0KCkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVk
QnlTZXR0aW5nPjo6Z2V0PGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGUiKTsKK30KKworc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJs
ZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmcmIHRoaXNPYmplY3QsIEpTVmFs
dWUgdmFsdWUpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKKyAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KKyAgICByZXR1
cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQ
cml2YXRlIiksIHN0cmxlbigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlIikpLCB2
YWx1ZSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvclNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQcml2YXRlIik7Cit9CisKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1Ymxp
Y0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQoreworICAgIFVOVVNFRF9QQVJBTShs
ZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gSlNUZXN0U3ViT2JqOjpnZXRDb25zdHJ1
Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxP
YmplY3QoKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEVuYWJsZWRCeVNldHRpbmc+OjpnZXQ8anNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2Jq
RW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0
ZVB1YmxpYyIpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0RW5hYmxlZEJ5
U2V0dGluZyYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0
LWluIGNvbnN0cnVjdG9yLgorICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSwgc3RybGVuKCJUZXN0U3Vi
T2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSksIHZhbHVlKTsKK30KKworSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RW5h
YmxlZEJ5U2V0dGluZz46OnNldDxzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpF
bmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ1ByaXZhdGVQdWJsaWMiKTsKK30KKwogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCiBz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0
aW5nQXR0cmlidXRlR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkRm9yQ29udGV4dC5jcHAKaW5kZXggMWU4ODhlMDgwNmQwNWYxZWNkNjNmYWZmMzg2NDFlYjFm
NTUzMDYxNC4uNDE5OGFhODllYTQyNzcwMTgxMzBjZTM3NTgxNjQ1ZTNjNjUzN2M2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRGb3JDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCkBAIC0xMzEsOCArMTMxLDkgQEAgdm9p
ZCBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiAgICAg
c3RhdGljX2Fzc2VydCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgVGVzdEVuYWJs
ZWRGb3JDb250ZXh0Pjo6dmFsdWUsICJJbnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZl
RE9NT2JqZWN0XSBldmVuIHRob3VnaCBpbXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFj
dGl2ZURPTU9iamVjdC4iKTsKIAotICAgIGlmICgoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSAmJiBUZXN0U3ViT2JqRW5hYmxl
ZEZvckNvbnRleHQ6OmVuYWJsZWRGb3JDb250ZXh0KCpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpKQorICAgIGlmICgo
ZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0Vu
YWJsZWQoKSAmJiBUZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHQ6OmVuYWJsZWRGb3JDb250ZXh0
KCpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkpKSB7CiAgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBz
dGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMo
KS5UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNl
dHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxl
ZEZvckNvbnRleHRDb25zdHJ1Y3Rvciwgc2V0SlNUZXN0RW5hYmxlZEZvckNvbnRleHRfVGVzdFN1
Yk9iakVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkp
KTsKKyAgICB9CiB9CiAKIEpTT2JqZWN0KiBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6Y3JlYXRl
UHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHAKaW5kZXggN2Q1Y2VhOTNiM2U1MjYxYTFlM2FiMTJiYjA5ZDA3
OWQwZDFkZTE2Mi4uZjVlZjM2NWFhMTFjYzA1NGQ5ODk5NmZiZWEwNWUzMDNmYWM1MGY0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEds
b2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKQEAgLTcxNCw4ICs3MTQsOSBAQCB2b2lkIEpTVGVz
dEdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHN0YXRpY19hc3NlcnQo
IXN0ZDo6aXNfYmFzZV9vZjxBY3RpdmVET01PYmplY3QsIFRlc3RHbG9iYWxPYmplY3Q+Ojp2YWx1
ZSwgIkludGVyZmFjZSBpcyBub3QgbWFya2VkIGFzIFtBY3RpdmVET01PYmplY3RdIGV2ZW4gdGhv
dWdoIGltcGxlbWVudGF0aW9uIGNsYXNzIHN1YmNsYXNzZXMgQWN0aXZlRE9NT2JqZWN0LiIpOwog
CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkKKyAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkg
ewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuZW5hYmxlZEF0UnVudGlt
ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpz
VGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3RfZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZSksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1
cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFj
Y2Vzc29yKSkpOworICAgIH0KICNlbmRpZgogICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZt
LCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFt
ZXMoKS5wdWJsaWNBbmRQcml2YXRlQXR0cmlidXRlUHJpdmF0ZU5hbWUoKSwgQ3VzdG9tR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQXR0
cmlidXRlLCBudWxscHRyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsK
ICNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwKaW5kZXgg
YjgwZTg0N2UyMzk2YjRhMmUyOTdiZjg1OWExZDI0NGY1MzJlNDc3Yi4uN2EzMTk5NTIwOWE3ZTkw
NWM4ZWIzMTQxZTRjNDA3MjYwMTliNGFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsCkBA
IC0yNyw2ICsyNyw4IEBACiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRlc3RFbmFi
bGVkQnlTZXR0aW5nIHsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZ10gYXR0cmli
dXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZzsKKyAg
ICBbRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZywgUHJpdmF0ZUlkZW50aWZpZXJdIGF0dHJp
YnV0ZSBUZXN0U3ViT2JqQ29uc3RydWN0b3IgVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2
YXRlOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nLCBQcml2YXRlSWRlbnRpZmll
ciwgUHVibGljSWRlbnRpZmllcl0gYXR0cmlidXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBUZXN0
U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWM7CiAKICAgICAvLyBbRW5hYmxlZEJ5
U2V0dGluZ10gYXR0cmlidXRlcyBhbmQgb3BlcmF0aW9ucy4KICAgICBbQ29uZGl0aW9uYWw9VEVT
VF9GRUFUVVJFLCBFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGVuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmZjMzNmZWJiMmU4MDFiYjVj
OTdmNWVjNTJhYjk2OGM3MDA5MjNhOS4uNTBjZjYzNzUxODIxN2JjZjNiZmNlNGE5ZTY4MzJhYzJm
MDkyZDNiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0RW5jb2RlclN0cmVhbUVuY29kZXIg
c2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZW5jb2Rpbmcvc3RyZWFtLXZpc2liaWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5Lmh0
bWw6IEFkZGVkLgorCiAyMDIwLTExLTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBXZWJSVEMgU0ZyYW1lIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJpbGl0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjUxZDU3MjM2YTEyY2UyNjVmZjI4NzJkNmM5ZDk2M2Q5NTkxMGNjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgQ29uc3RydWN0b3Igdmlz
aWJpbGl0eQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12
aXNpYmlsaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmls
aXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJmMTM4ODYyOTllNTFkZDg3NTlkNDRjODM5NGNkN2JmNDMy
YmVmNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2Rpbmcvc3RyZWFt
LXZpc2liaWxpdHkuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+Cit0ZXN0
KCgpID0+IHsKKyAgICBhc3NlcnRfdHJ1ZSghIVRleHRFbmNvZGVyU3RyZWFtLCAiZW5jb2RlciBz
dHJlYW0iKTsKKyAgICBhc3NlcnRfdHJ1ZSghIVRleHREZWNvZGVyU3RyZWFtLCAiZGVjb2RlciBz
dHJlYW0iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5UZXh0RW5jb2RlclN0cmVhbUVuY29k
ZXIsIHVuZGVmaW5lZCwgImVuY29kZXIgc3RyZWFtIik7CisgICAgYXNzZXJ0X2VxdWFscyh3aW5k
b3cuVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyLCB1bmRlZmluZWQsICJkZWNvZGVyIHN0cmVhbSIp
OworfSwgIkNvbnN0cnVjdG9yIHZpc2liaWxpdHkiKTsKKyAgICAgICAgPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414168</attachid>
            <date>2020-11-15 09:54:16 -0800</date>
            <delta_ts>2020-11-16 00:01:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218956-20201115185414.patch</filename>
            <type>text/plain</type>
            <size>20765</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2MzIwZGIyNjgyMzQy
YTg4YzUyMTk5NGNjMDZhMmZmYmQ1ZTkzNC4uN2NlNjJhZDgyOTMwZWUxNzExYjU4YzVhNjJhYWZl
YjY5MzFiNDkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0RW5jb2RlclN0cmVh
bUVuY29kZXIgc2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCaW5kaW5nIGdlbmVyYXRvciBjb3JyZWN0bHkgaGFuZGxl
cyBwcml2YXRlIGlkZW50aWZpZXJzIGFuZCBydW50aW1lIHNldHRpbmdzLCBidXQgbm90IHdoZW4g
Y29tYmluZWQgZm9yIGludGVyZmFjZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9lbmNvZGluZy9z
dHJlYW0tdmlzaWJpbGl0eS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0RPTVdpbmRvdzo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmdET01Db25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9y
U3RydWN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JHZXR0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fR0VUVEVSKToKKyAgICAgICAgKFdlYkNv
cmU6OnNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQ
cml2YXRlQ29uc3RydWN0b3JTZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3JHZXR0ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2Jq
RW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvclNldHRlcik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEZvckNvbnRleHQ6OmZpbmlzaENyZWF0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdEdsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24pOgorCiAyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZGQgYSBXZWJSVEMgU0ZyYW1lIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAyN2M3OTdk
MzQwZGI0NmI3ZTMxYmE2ZGJlYjI5MWNjNDM5MjU4MDFkLi42MzAyMGViYmQxZjAwMDM5N2NjZWE0
NTI3M2ZhOWY5ZDg0ZDM2M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDc1NiwxNCArNDc1NiwyMyBAQCBzdWIgR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbgogCiAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmluZyA9ICRj
b2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRhdHRyaWJ1dGUpOwogICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYg
JGNvbmRpdGlvbmFsU3RyaW5nOwotICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAo
JHtydW50aW1lRW5hYmxlQ29uZGl0aW9uYWxTdHJpbmd9KVxuIik7CisgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgIGlmICgke3J1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmluZ30pIHtc
biIpOwogICAgICAgICBhc3NlcnQoIkN1c3RvbUdldHRlclNldHRlciBpcyBub3QgYWxsb3dlZCBm
b3IgRE9NQXR0cmlidXRlLiBET01BdHRyaWJ1dGVHZXR0ZXJTZXR0ZXIgbXVzdCBiZSB1c2VkLiIp
IGlmIElzQWNjZWxlcmF0ZWRET01BdHRyaWJ1dGUoJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7Ci0g
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nv
cih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRp
bk5hbWVzKCkuIiAuICRhdHRyaWJ1dGVOYW1lIC4gIlB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sICRnZXR0ZXIsICRzZXR0ZXIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0
dXJlKCRqc2NBdHRyaWJ1dGVzKSk7XG4iKTsKKworICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57UHVibGljSWRlbnRpZmllcn0gfHwgISRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e1ByaXZhdGVJZGVudGlmaWVyfSkgeworICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS4iIC4g
JGF0dHJpYnV0ZU5hbWUgLiAiUHVibGljTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0
ZSh2bSwgJGdldHRlciwgJHNldHRlciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoJGpzY0F0dHJp
YnV0ZXMpKTtcbiIpOworICAgICAgICB9CisgICAgICAgIGlmICgkYXR0cmlidXRlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntQcml2YXRlSWRlbnRpZmllcn0pIHsKKyAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuIiAuICRh
dHRyaWJ1dGVOYW1lIC4gIlByaXZhdGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRl
KHZtLCAkZ2V0dGVyLCAkc2V0dGVyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZSgkanNjQXR0cmli
dXRlcykpO1xuIik7CisgICAgICAgIH0KKworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICB9XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRjb25k
aXRpb25hbFN0cmluZzsKICAgICB9CiAKICAgICAjIFN1cHBvcnQgUHJpdmF0ZUlkZW50aWZpZXIg
YXR0cmlidXRlcyBvbiBpbnN0YW5jZXMuCiAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRp
bnRlcmZhY2UtPmF0dHJpYnV0ZXN9KSB7CisgICAgICAgIG5leHQgaWYgTmVlZHNSdW50aW1lQ2hl
Y2soJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7CiAgICAgICAgIG5leHQgdW5sZXNzICRhdHRyaWJ1
dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1ByaXZhdGVJZGVudGlmaWVyfTsKICAgICAgICAgbmV4
dCB1bmxlc3MgQXR0cmlidXRlU2hvdWxkQmVPbkluc3RhbmNlKCRpbnRlcmZhY2UsICRhdHRyaWJ1
dGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTRE9NV2luZG93LmNwcAppbmRleCBhNGY0MWVhMjZlZGQ0NTQwYWYxODA0YWUwYzZmZDVl
OTkzN2U5ZmNlLi5jNjliZDUzZTM4YTdkMGUxYmQ2ZWMwOWIzM2Y0ZTA4MjZiMjI5YWMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0RP
TVdpbmRvdy5jcHAKQEAgLTIwMyw4ICsyMDMsOSBAQCB2b2lkIEpTRE9NV2luZG93OjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTV2luZG93UHJveHkqIHByb3h5KQogCiAgICAgc3RhdGljX2Fzc2Vy
dCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgRE9NV2luZG93Pjo6dmFsdWUsICJJ
bnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3VnaCBp
bXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKIAotICAg
IGlmICgoanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmlzU2VjdXJlQ29udGV4dCgpICYmIFRlc3RFbmFibGVkRm9yQ29u
dGV4dDo6ZW5hYmxlZEZvckNvbnRleHQoKmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSkpCisgICAgaWYgKChqc0Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+aXNTZWN1cmVDb250ZXh0KCkgJiYgVGVzdEVuYWJsZWRGb3JDb250ZXh0OjplbmFibGVk
Rm9yQ29udGV4dCgqanNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KCkpLT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpKSkgewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nl
c3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVp
bHRpbk5hbWVzKCkuVGVzdEVuYWJsZWRGb3JDb250ZXh0UHVibGljTmFtZSgpLCBDdXN0b21HZXR0
ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNET01XaW5kb3dfVGVzdEVuYWJsZWRGb3JDb250ZXh0Q29u
c3RydWN0b3IsIHNldEpTRE9NV2luZG93X1Rlc3RFbmFibGVkRm9yQ29udGV4dENvbnN0cnVjdG9y
KSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgfQogfQogCiBKU1ZhbHVlIEpTRE9NV2lu
ZG93OjpnZXRDb25zdHJ1Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAKaW5kZXggMzhlZTkwNjEy
YTUzODM4NjA2MTNjMDI2MmQ3NWU5ZTZmNDhlYTM2Yi4uMzE4YjdlZjI0ZTM4YTdmNTlmYjhmYWI4
YmU4Yzg3Njc2ODFhMzFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFibGVkQnlTZXR0aW5nLmNwcApA
QCAtNjAsNiArNjAsMTAgQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oanNUZXN0
RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZUZ1bmN0aW9uX2VuYWJsZWQKIHN0YXRpYyBKU0NfREVD
TEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3Rvcik7CiBz
dGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rl
c3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxl
ZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRl
Q29uc3RydWN0b3IpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1
Y3Rvcik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9y
KTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3Ip
OwogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGUpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlKTsKQEAgLTEwNSw2ICsxMDksMjAgQEAgU1RBVElD
X0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3Rv
dHlwZSwgSlNUZXN0RW5hYmwKIAogdXNpbmcgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0
cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZz47CiAKKy8qIEhhc2ggdGFibGUgKi8KKworc3RhdGljIGNvbnN0IHN0cnVjdCBDb21w
YWN0SGFzaEluZGV4IEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZUluZGV4WzJdID0geworICAg
IHsgLTEsIC0xIH0sCisgICAgeyAtMSwgLTEgfSwKK307CisKKworc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZVZhbHVlc1tdID0KK3sKKyAgICB7
IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9Cit9OworCitzdGF0aWMgY29uc3QgSGFzaFRh
YmxlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZSA9IHsgMCwgMSwgZmFsc2UsIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OmluZm8oKSwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1RhYmxlVmFsdWVz
LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nVGFibGVJbmRleCB9OwogLyogSGFzaCB0YWJsZSBmb3Ig
Y29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEVuYWJs
ZWRCeVNldHRpbmdDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMjEzLDcgKzIzMSw3IEBA
IHZvaWQgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtKQogICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhPVVRfVFJBTlNJVElPTigpOwogfQogCi1j
b25zdCBDbGFzc0luZm8gSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6c19pbmZvID0geyAiVGVzdEVu
YWJsZWRCeVNldHRpbmciLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNldHRpbmcpIH07Citjb25zdCBDbGFzc0luZm8g
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6c19pbmZvID0geyAiVGVzdEVuYWJsZWRCeVNldHRpbmci
LCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1RhYmxlLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNldHRpbmcpIH07CiAKIEpTVGVzdEVu
YWJsZWRCeVNldHRpbmc6OkpTVGVzdEVuYWJsZWRCeVNldHRpbmcoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0RW5hYmxlZEJ5U2V0
dGluZz4mJiBpbXBsKQogICAgIDogSlNET01XcmFwcGVyPFRlc3RFbmFibGVkQnlTZXR0aW5nPihz
dHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKQEAgLTIyNyw4ICsyNDUsMTYg
QEAgdm9pZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCiAK
ICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Jhc2Vfb2Y8QWN0aXZlRE9NT2JqZWN0LCBUZXN0
RW5hYmxlZEJ5U2V0dGluZz46OnZhbHVlLCAiSW50ZXJmYWNlIGlzIG5vdCBtYXJrZWQgYXMgW0Fj
dGl2ZURPTU9iamVjdF0gZXZlbiB0aG91Z2ggaW1wbGVtZW50YXRpb24gY2xhc3Mgc3ViY2xhc3Nl
cyBBY3RpdmVET01PYmplY3QuIik7CiAKLSAgICBpZiAoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2Fz
dDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSkKKyAgICBpZiAoZG93bmNh
c3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQo
KSkgewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNW
TUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZt
LCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3Ry
dWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRp
bmdDb25zdHJ1Y3RvciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSkpOworICAgIH0KKyAgICBpZiAo
ZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0Vu
YWJsZWQoKSkgeworICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuVGVzdFN1
Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHJpdmF0ZU5hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVz
dFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9y
U3RydWN0dXJlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSkpKTsKKyAgICB9CisgICAgaWYgKGRvd25jYXN0PERvY3VtZW50Pihqc0Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSktPnNldHRpbmdzKCkudGVzdFNldHRpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgcHV0RGlyZWN0
Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1
YmxpY1B1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEVu
YWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29u
c3RydWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNl
dHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpKTsK
KyAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGll
bnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVk
QnlTZXR0aW5nUHJpdmF0ZVB1YmxpY1ByaXZhdGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6
Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0
aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rl
c3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yKSwgYXR0cmli
dXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pKSk7CisgICAgfQogfQogCiBKU09iamVjdCogSlNUZXN0RW5hYmxlZEJ5
U2V0dGluZzo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2Jh
bE9iamVjdCkKQEAgLTI5NSw2ICszMjEsNTIgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNl
dEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdDb24KICAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZyIpOwogfQogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUg
anNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVD
b25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZyYgdGhpc09iamVjdCkKK3sKKyAgICBVTlVTRURfUEFSQU0obGV4
aWNhbEdsb2JhbE9iamVjdCk7CisgICAgcmV0dXJuIEpTVGVzdFN1Yk9iajo6Z2V0Q29uc3RydWN0
b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2Jq
ZWN0KCkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvciwgKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RFbmFibGVk
QnlTZXR0aW5nPjo6Z2V0PGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRC
eVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0
aGlzVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGUiKTsKK30KKworc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJs
ZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmcmIHRoaXNPYmplY3QsIEpTVmFs
dWUgdmFsdWUpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2Jq
ZWN0KTsKKyAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KKyAgICByZXR1
cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQ
cml2YXRlIiksIHN0cmxlbigiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlIikpLCB2
YWx1ZSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvclNldHRlcj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQcml2YXRlIik7Cit9CisKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1Ymxp
Y0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQoreworICAgIFVOVVNFRF9QQVJBTShs
ZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gSlNUZXN0U3ViT2JqOjpnZXRDb25zdHJ1
Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxP
YmplY3QoKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9y
LCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEVuYWJsZWRCeVNldHRpbmc+OjpnZXQ8anNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2Jq
RW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0
ZVB1YmxpYyIpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3RvclNl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0RW5hYmxlZEJ5
U2V0dGluZyYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0
LWluIGNvbnN0cnVjdG9yLgorICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KCJU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSwgc3RybGVuKCJUZXN0U3Vi
T2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSksIHZhbHVlKTsKK30KKworSlNDX0RF
RklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0RW5h
YmxlZEJ5U2V0dGluZz46OnNldDxzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpF
bmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEds
b2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ1ByaXZhdGVQdWJsaWMiKTsKK30KKwogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCiBz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0
aW5nQXR0cmlidXRlR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRGb3JDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFbmFi
bGVkRm9yQ29udGV4dC5jcHAKaW5kZXggMWU4ODhlMDgwNmQwNWYxZWNkNjNmYWZmMzg2NDFlYjFm
NTUzMDYxNC4uNDE5OGFhODllYTQyNzcwMTgxMzBjZTM3NTgxNjQ1ZTNjNjUzN2M2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJs
ZWRGb3JDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RW5hYmxlZEZvckNvbnRleHQuY3BwCkBAIC0xMzEsOCArMTMxLDkgQEAgdm9p
ZCBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogCiAgICAg
c3RhdGljX2Fzc2VydCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9iamVjdCwgVGVzdEVuYWJs
ZWRGb3JDb250ZXh0Pjo6dmFsdWUsICJJbnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZl
RE9NT2JqZWN0XSBldmVuIHRob3VnaCBpbXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFj
dGl2ZURPTU9iamVjdC4iKTsKIAotICAgIGlmICgoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSAmJiBUZXN0U3ViT2JqRW5hYmxl
ZEZvckNvbnRleHQ6OmVuYWJsZWRGb3JDb250ZXh0KCpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3Qq
PihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpKQorICAgIGlmICgo
ZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0Vu
YWJsZWQoKSAmJiBUZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHQ6OmVuYWJsZWRGb3JDb250ZXh0
KCpqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkpKSB7CiAgICAgICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBz
dGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMo
KS5UZXN0U3ViT2JqRW5hYmxlZEZvckNvbnRleHRQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNl
dHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkRm9yQ29udGV4dF9UZXN0U3ViT2JqRW5hYmxl
ZEZvckNvbnRleHRDb25zdHJ1Y3Rvciwgc2V0SlNUZXN0RW5hYmxlZEZvckNvbnRleHRfVGVzdFN1
Yk9iakVuYWJsZWRGb3JDb250ZXh0Q29uc3RydWN0b3IpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkp
KTsKKyAgICB9CiB9CiAKIEpTT2JqZWN0KiBKU1Rlc3RFbmFibGVkRm9yQ29udGV4dDo6Y3JlYXRl
UHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEdsb2JhbE9iamVjdC5jcHAKaW5kZXggN2Q1Y2VhOTNiM2U1MjYxYTFlM2FiMTJiYjA5ZDA3
OWQwZDFkZTE2Mi4uZjVlZjM2NWFhMTFjYzA1NGQ5ODk5NmZiZWEwNWUzMDNmYWM1MGY0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEds
b2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKQEAgLTcxNCw4ICs3MTQsOSBAQCB2b2lkIEpTVGVz
dEdsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIHN0YXRpY19hc3NlcnQo
IXN0ZDo6aXNfYmFzZV9vZjxBY3RpdmVET01PYmplY3QsIFRlc3RHbG9iYWxPYmplY3Q+Ojp2YWx1
ZSwgIkludGVyZmFjZSBpcyBub3QgbWFya2VkIGFzIFtBY3RpdmVET01PYmplY3RdIGV2ZW4gdGhv
dWdoIGltcGxlbWVudGF0aW9uIGNsYXNzIHN1YmNsYXNzZXMgQWN0aXZlRE9NT2JqZWN0LiIpOwog
CiAjaWYgRU5BQkxFKFRFU1RfRkVBVFVSRSkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkKKyAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS50ZXN0RmVhdHVyZUVuYWJsZWQoKSkg
ewogICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuZW5hYmxlZEF0UnVudGlt
ZUF0dHJpYnV0ZVB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGpz
VGVzdEdsb2JhbE9iamVjdF9lbmFibGVkQXRSdW50aW1lQXR0cmlidXRlLCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3RfZW5hYmxlZEF0UnVudGltZUF0dHJpYnV0ZSksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1
cmUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFj
Y2Vzc29yKSkpOworICAgIH0KICNlbmRpZgogICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZt
LCBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFt
ZXMoKS5wdWJsaWNBbmRQcml2YXRlQXR0cmlidXRlUHJpdmF0ZU5hbWUoKSwgQ3VzdG9tR2V0dGVy
U2V0dGVyOjpjcmVhdGUodm0sIGpzVGVzdEdsb2JhbE9iamVjdF9wdWJsaWNBbmRQcml2YXRlQXR0
cmlidXRlLCBudWxscHRyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsK
ICNpZiBFTkFCTEUoVEVTVF9GRUFUVVJFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwKaW5kZXgg
YjgwZTg0N2UyMzk2YjRhMmUyOTdiZjg1OWExZDI0NGY1MzJlNDc3Yi4uN2EzMTk5NTIwOWE3ZTkw
NWM4ZWIzMTQxZTRjNDA3MjYwMTliNGFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFibGVkQnlTZXR0aW5nLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsCkBA
IC0yNyw2ICsyNyw4IEBACiAgICAgRXhwb3NlZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRlc3RFbmFi
bGVkQnlTZXR0aW5nIHsKICAgICBbRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZ10gYXR0cmli
dXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZzsKKyAg
ICBbRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0dGluZywgUHJpdmF0ZUlkZW50aWZpZXJdIGF0dHJp
YnV0ZSBUZXN0U3ViT2JqQ29uc3RydWN0b3IgVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2
YXRlOworICAgIFtFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nLCBQcml2YXRlSWRlbnRpZmll
ciwgUHVibGljSWRlbnRpZmllcl0gYXR0cmlidXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBUZXN0
U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWM7CiAKICAgICAvLyBbRW5hYmxlZEJ5
U2V0dGluZ10gYXR0cmlidXRlcyBhbmQgb3BlcmF0aW9ucy4KICAgICBbQ29uZGl0aW9uYWw9VEVT
VF9GRUFUVVJFLCBFbmFibGVkQnlTZXR0aW5nPVRlc3RTZXR0aW5nXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGVuYWJsZWRCeVNldHRpbmdBdHRyaWJ1dGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWIyZmJiMWY0NThkNjFjMDgy
ZTQ1MWQyYzZhOGM3YzUyNGNlMjZlYy4uM2IyMGNmY2QzOTk5ZmEyODUzYmQ0NzAyMjMzMGU4NGJk
ZmRlZDdmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0RW5jb2RlclN0cmVhbUVuY29kZXIg
c2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvZW5jb2Rpbmcvc3RyZWFtLXZpc2liaWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5Lmh0
bWw6IEFkZGVkLgorCiAyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgYSBXZWJSVEMgU0ZyYW1lIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJpbGl0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44OTE1NDc4ZjgwNTRmYmVlZGU4YWQ3ZDJiYTA5MTkxMzc1NDEwM2ZhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJp
bGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRW5jb2Rlci9kZWNvZGVy
IGV4cG9zdXJlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZW5jb2Rpbmcvc3RyZWFt
LXZpc2liaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2Rpbmcvc3RyZWFtLXZpc2li
aWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTIyNzYxMWI2NzYzMjMzZDFmZjYxYTEyNzUxM2M3NDBj
MGQ2MjFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJl
YW0tdmlzaWJpbGl0eS5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK3Rl
c3QoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMod2luZG93LlRleHRFbmNvZGVyU3RyZWFtRW5j
b2RlciwgdW5kZWZpbmVkLCAiZW5jb2RlciBzdHJlYW0iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHdp
bmRvdy5UZXh0RGVjb2RlclN0cmVhbURlY29kZXIsIHVuZGVmaW5lZCwgImRlY29kZXIgc3RyZWFt
Iik7Cit9LCAiRW5jb2Rlci9kZWNvZGVyIGV4cG9zdXJlIik7CisgICAgICAgIDwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414197</attachid>
            <date>2020-11-16 00:01:45 -0800</date>
            <delta_ts>2020-11-16 04:18:12 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218956-20201116090143.patch</filename>
            <type>text/plain</type>
            <size>15949</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2MzIwZGIyNjgyMzQy
YTg4YzUyMTk5NGNjMDZhMmZmYmQ1ZTkzNC4uM2FkY2E0MDEzYTk5MGQ3OWNmOGMxMTQwYWZhZGY0
MTg1MzhhMTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBUZXh0RW5jb2RlclN0cmVh
bUVuY29kZXIgc2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1
a2UgU3V6dWtpLgorCisgICAgICAgIEJpbmRpbmcgZ2VuZXJhdG9yIGNvcnJlY3RseSBoYW5kbGVz
IHByaXZhdGUgaWRlbnRpZmllcnMgYW5kIHJ1bnRpbWUgc2V0dGluZ3MsIGJ1dCBub3Qgd2hlbiBj
b21iaW5lZCBmb3IgaW50ZXJmYWNlcy4KKworICAgICAgICBUZXN0OiBmYXN0L2VuY29kaW5nL3N0
cmVhbS12aXNpYmlsaXR5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ0RPTUNvbnN0cnVjdG9yOjpw
cm90b3R5cGVGb3JTdHJ1Y3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0RW5hYmxlZEJ5
U2V0dGluZzo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0RW5hYmxl
ZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3Rvckdl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAg
ICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxl
ZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvclNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpK
U0NfREVGSU5FX0NVU1RPTV9TRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0RW5hYmxl
ZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1
Y3RvckdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5n
X1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yU2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdEVuYWJsZWRCeVNldHRpbmcu
aWRsOgorCiAyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgYSBXZWJSVEMgU0ZyYW1lIHRyYW5zZm9ybQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAyN2M3OTdkMzQw
ZGI0NmI3ZTMxYmE2ZGJlYjI5MWNjNDM5MjU4MDFkLi5jMTllYmU1ZTA3OWNlZGZjOGZlNGRiOTQ0
YmFkOTZmYTI1OTU5NmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDc1MywxNyArNDc1MywyOSBAQCBzdWIgR2VuZXJh
dGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBteSAkZ2V0dGVyID0gR2V0QXR0cmlidXRlR2V0dGVy
TmFtZSgkaW50ZXJmYWNlLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRlKTsKICAgICAgICAgbXkgJHNl
dHRlciA9IElzUmVhZG9ubHkoJGF0dHJpYnV0ZSkgPyAibnVsbHB0ciIgOiBHZXRBdHRyaWJ1dGVT
ZXR0ZXJOYW1lKCRpbnRlcmZhY2UsICRjbGFzc05hbWUsICRhdHRyaWJ1dGUpOwogICAgICAgICBt
eSAkanNjQXR0cmlidXRlcyA9IEdldEpTQ0F0dHJpYnV0ZXNGb3JBdHRyaWJ1dGUoJGludGVyZmFj
ZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgIG15ICRpc1ByaXZhdGVBbmRQdWJsaWMgPSAkYXR0cmli
dXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntQdWJsaWNJZGVudGlmaWVyfSAmJiAkYXR0cmlidXRl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntQcml2YXRlSWRlbnRpZmllcn07CiAKICAgICAgICAgbXkg
JGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxT
dHJpbmcoJGF0dHJpYnV0ZSk7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7Y29u
ZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7Ci0gICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIGlmICgke3J1bnRpbWVFbmFibGVDb25kaXRpb25hbFN0cmluZ30p
XG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCR7cnVudGltZUVuYWJs
ZUNvbmRpdGlvbmFsU3RyaW5nfSkiKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgeyIp
IGlmICRpc1ByaXZhdGVBbmRQdWJsaWM7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4i
KTsKICAgICAgICAgYXNzZXJ0KCJDdXN0b21HZXR0ZXJTZXR0ZXIgaXMgbm90IGFsbG93ZWQgZm9y
IERPTUF0dHJpYnV0ZS4gRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyIG11c3QgYmUgdXNlZC4iKSBp
ZiBJc0FjY2VsZXJhdGVkRE9NQXR0cmlidXRlKCRpbnRlcmZhY2UsICRhdHRyaWJ1dGUpOwotICAg
ICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Io
dm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5O
YW1lcygpLiIgLiAkYXR0cmlidXRlTmFtZSAuICJQdWJsaWNOYW1lKCksIEN1c3RvbUdldHRlclNl
dHRlcjo6Y3JlYXRlKHZtLCAkZ2V0dGVyLCAkc2V0dGVyKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVy
ZSgkanNjQXR0cmlidXRlcykpO1xuIik7CisKKyAgICAgICAgaWYgKCRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e1B1YmxpY0lkZW50aWZpZXJ9IHx8ICEkYXR0cmlidXRlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntQcml2YXRlSWRlbnRpZmllcn0pIHsKKyAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAiICAgICAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuIiAuICRh
dHRyaWJ1dGVOYW1lIC4gIlB1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUo
dm0sICRnZXR0ZXIsICRzZXR0ZXIpLCBhdHRyaWJ1dGVzRm9yU3RydWN0dXJlKCRqc2NBdHRyaWJ1
dGVzKSk7XG4iKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57UHJpdmF0ZUlkZW50aWZpZXJ9KSB7CisgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLiIgLiAkYXR0
cmlidXRlTmFtZSAuICJQcml2YXRlTmFtZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2
bSwgJGdldHRlciwgJHNldHRlciksIGF0dHJpYnV0ZXNGb3JTdHJ1Y3R1cmUoJGpzY0F0dHJpYnV0
ZXMpKTtcbiIpOworICAgICAgICB9CisKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
fVxuIikgaWYgJGlzUHJpdmF0ZUFuZFB1YmxpYzsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIjZW5kaWZcbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICB9CiAKICAgICAjIFN1cHBv
cnQgUHJpdmF0ZUlkZW50aWZpZXIgYXR0cmlidXRlcyBvbiBpbnN0YW5jZXMuCiAgICAgZm9yZWFj
aCBteSAkYXR0cmlidXRlIChAeyRpbnRlcmZhY2UtPmF0dHJpYnV0ZXN9KSB7CisgICAgICAgIG5l
eHQgaWYgTmVlZHNSdW50aW1lQ2hlY2soJGludGVyZmFjZSwgJGF0dHJpYnV0ZSk7CiAgICAgICAg
IG5leHQgdW5sZXNzICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1ByaXZhdGVJZGVu
dGlmaWVyfTsKICAgICAgICAgbmV4dCB1bmxlc3MgQXR0cmlidXRlU2hvdWxkQmVPbkluc3RhbmNl
KCRpbnRlcmZhY2UsICRhdHRyaWJ1dGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGluZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Zy5jcHAKaW5kZXggMzhlZTkwNjEyYTUzODM4NjA2MTNjMDI2MmQ3NWU5ZTZmNDhlYTM2Yi4uZGU4
ZDRjMTg2ZmYxMDMwZjYxNmMxMWRiMjllZGY0ODU3MmJmMzFjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEVuYWJsZWRCeVNldHRpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RF
bmFibGVkQnlTZXR0aW5nLmNwcApAQCAtNjAsNiArNjAsMTAgQEAgc3RhdGljIEpTQ19ERUNMQVJF
X0hPU1RfRlVOQ1RJT04oanNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZUZ1bmN0aW9uX2Vu
YWJsZWQKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNl
dHRpbmdDb25zdHJ1Y3Rvcik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rl
c3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3Ip
Owogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKTsKK3N0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVu
YWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3IpOworc3RhdGljIEpTQ19ERUNMQVJFX0NV
U1RPTV9TRVRURVIoc2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3Rvcik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJp
dmF0ZVB1YmxpY0NvbnN0cnVjdG9yKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2
YXRlUHVibGljQ29uc3RydWN0b3IpOwogI2lmIEVOQUJMRShURVNUX0ZFQVRVUkUpCiBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX2VuYWJsZWRC
eVNldHRpbmdBdHRyaWJ1dGUpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlKTsKQEAgLTEw
NSw2ICsxMDksMjAgQEAgU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0
RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlwZSwgSlNUZXN0RW5hYmwKIAogdXNpbmcgSlNUZXN0RW5h
YmxlZEJ5U2V0dGluZ0RPTUNvbnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVj
dGFibGU8SlNUZXN0RW5hYmxlZEJ5U2V0dGluZz47CiAKKy8qIEhhc2ggdGFibGUgKi8KKworc3Rh
dGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEVuYWJsZWRCeVNldHRpbmdU
YWJsZUluZGV4WzJdID0geworICAgIHsgLTEsIC0xIH0sCisgICAgeyAtMSwgLTEgfSwKK307CisK
Kworc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJs
ZVZhbHVlc1tdID0KK3sKKyAgICB7IDAsIDAsIE5vSW50cmluc2ljLCB7IDAsIDAgfSB9Cit9Owor
CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdUYWJsZSA9IHsg
MCwgMSwgZmFsc2UsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OmluZm8oKSwgSlNUZXN0RW5hYmxl
ZEJ5U2V0dGluZ1RhYmxlVmFsdWVzLCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nVGFibGVJbmRleCB9
OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdEVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10g
PQpAQCAtMjEzLDcgKzIzMSw3IEBAIHZvaWQgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZ1Byb3RvdHlw
ZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogICAgIEpTQ19UT19TVFJJTkdfVEFHX1dJVEhPVVRf
VFJBTlNJVElPTigpOwogfQogCi1jb25zdCBDbGFzc0luZm8gSlNUZXN0RW5hYmxlZEJ5U2V0dGlu
Zzo6c19pbmZvID0geyAiVGVzdEVuYWJsZWRCeVNldHRpbmciLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNldHRpbmcp
IH07Citjb25zdCBDbGFzc0luZm8gSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6c19pbmZvID0geyAi
VGVzdEVuYWJsZWRCeVNldHRpbmciLCAmQmFzZTo6c19pbmZvLCAmSlNUZXN0RW5hYmxlZEJ5U2V0
dGluZ1RhYmxlLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmcpIH07CiAKIEpTVGVzdEVuYWJsZWRCeVNldHRpbmc6OkpTVGVzdEVuYWJsZWRCeVNldHRp
bmcoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IFJlZjxUZXN0RW5hYmxlZEJ5U2V0dGluZz4mJiBpbXBsKQogICAgIDogSlNET01XcmFwcGVyPFRl
c3RFbmFibGVkQnlTZXR0aW5nPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBs
KSkKQEAgLTIyOSw2ICsyNDcsMTIgQEAgdm9pZCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0pCiAKICAgICBpZiAoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxK
U0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSkKICAgICAgICAgcHV0RGlyZWN0
Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHVibGljTmFt
ZSgpLCBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwganNUZXN0RW5hYmxlZEJ5U2V0dGlu
Z19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RFbmFibGVk
QnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nQ29uc3RydWN0b3IpLCBhdHRyaWJ1
dGVzRm9yU3RydWN0dXJlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSkpKTsKKyAgICBpZiAoZG93bmNhc3Q8RG9jdW1lbnQ+KGpzQ2FzdDxKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCgpKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KS0+c2V0dGluZ3MoKS50ZXN0U2V0dGluZ0VuYWJsZWQoKSkKKyAgICAgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0
YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVByaXZh
dGVOYW1lKCksIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNvbnN0cnVjdG9yLCBzZXRK
U1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZUNv
bnN0cnVjdG9yKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgaWYgKGRvd25jYXN0PERv
Y3VtZW50Pihqc0Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3QoKSktPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSktPnNldHRpbmdzKCkudGVzdFNldHRpbmdFbmFibGVkKCkpIHsK
KyAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0YXRpY19jYXN0PEpTVk1DbGll
bnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlRlc3RTdWJPYmpFbmFibGVk
QnlTZXR0aW5nUHJpdmF0ZVB1YmxpY1B1YmxpY05hbWUoKSwgQ3VzdG9tR2V0dGVyU2V0dGVyOjpj
cmVhdGUodm0sIGpzVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRp
bmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IsIHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVz
dFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3IpLCBhdHRyaWJ1
dGVzRm9yU3RydWN0dXJlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSkpKTsKKyAgICAgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIHN0
YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygp
LlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY1ByaXZhdGVOYW1lKCksIEN1
c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RT
dWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yLCBzZXRKU1Rlc3RF
bmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0Nv
bnN0cnVjdG9yKSwgYXR0cmlidXRlc0ZvclN0cnVjdHVyZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKSk7CisgICAgfQogfQogCiBKU09iamVj
dCogSlNUZXN0RW5hYmxlZEJ5U2V0dGluZzo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01H
bG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKQEAgLTI5NSw2ICszMTksNTIgQEAgSlNDX0RFRklO
RV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNldHRpbmdfVGVzdFN1Yk9iakVuYWJs
ZWRCeVNldHRpbmdDb24KICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmc+OjpzZXQ8c2V0SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5
U2V0dGluZ0NvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVl
LCBlbmNvZGVkVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZyIpOwogfQogCitzdGF0
aWMgaW5saW5lIEpTVmFsdWUganNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxl
ZEJ5U2V0dGluZ1ByaXZhdGVDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZyYgdGhpc09iamVjdCkKK3sKKyAg
ICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgcmV0dXJuIEpTVGVzdFN1
Yk9iajo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIo
anNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVD
b25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0dHJp
YnV0ZTxKU1Rlc3RFbmFibGVkQnlTZXR0aW5nPjo6Z2V0PGpzVGVzdEVuYWJsZWRCeVNldHRpbmdf
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1By
aXZhdGUiKTsKK30KKworc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdEVuYWJsZWRCeVNldHRp
bmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlQ29uc3RydWN0b3JTZXR0ZXIoSlNH
bG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEVuYWJsZWRCeVNldHRpbmcm
IHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25z
dHJ1Y3Rvci4KKyAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJlY3Qodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPigiVGVzdFN1Yk9i
akVuYWJsZWRCeVNldHRpbmdQcml2YXRlIiksIHN0cmxlbigiVGVzdFN1Yk9iakVuYWJsZWRCeVNl
dHRpbmdQcml2YXRlIikpLCB2YWx1ZSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihz
ZXRKU1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0
ZUNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKSkKK3sKKyAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpzZXQ8c2V0SlNU
ZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVDb25z
dHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlIik7Cit9CisKK3N0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlT
ZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQorewor
ICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICByZXR1cm4gSlNUZXN0
U3ViT2JqOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwg
dGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc1Rlc3RFbmFibGVkQnlTZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0
ZVB1YmxpY0NvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKSkKK3sKKyAgICByZXR1cm4g
SURMQXR0cmlidXRlPEpTVGVzdEVuYWJsZWRCeVNldHRpbmc+OjpnZXQ8anNUZXN0RW5hYmxlZEJ5
U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWNDb25zdHJ1Y3Rv
ckdldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RTdWJPYmpFbmFi
bGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpYyIpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0
SlNUZXN0RW5hYmxlZEJ5U2V0dGluZ19UZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQ
dWJsaWNDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNUZXN0RW5hYmxlZEJ5U2V0dGluZyYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sK
KyAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIC8v
IFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yLgorICAgIHJldHVybiB0aGlzT2JqZWN0
LnB1dERpcmVjdCh2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBMQ2hhcio+KCJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMi
KSwgc3RybGVuKCJUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKSksIHZh
bHVlKTsKK30KKworSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdEVuYWJsZWRCeVNl
dHRpbmdfVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlUHVibGljQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpKQoreworICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0RW5hYmxlZEJ5U2V0dGluZz46OnNldDxzZXRKU1Rlc3RFbmFibGVkQnlT
ZXR0aW5nX1Rlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nUHJpdmF0ZVB1YmxpY0NvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZhdGVQdWJsaWMiKTsKK30KKwogI2lmIEVOQUJM
RShURVNUX0ZFQVRVUkUpCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0RW5hYmxlZEJ5U2V0
dGluZ19lbmFibGVkQnlTZXR0aW5nQXR0cmlidXRlR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RFbmFibGVkQnlTZXR0aW5nJiB0aGlzT2JqZWN0KQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFi
bGVkQnlTZXR0aW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0RW5hYmxlZEJ5U2V0dGluZy5pZGwKaW5kZXggYjgwZTg0N2UyMzk2YjRhMmUyOTdiZjg1OWEx
ZDI0NGY1MzJlNDc3Yi4uN2EzMTk5NTIwOWE3ZTkwNWM4ZWIzMTQxZTRjNDA3MjYwMTliNGFmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFbmFi
bGVkQnlTZXR0aW5nLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdEVuYWJsZWRCeVNldHRpbmcuaWRsCkBAIC0yNyw2ICsyNyw4IEBACiAgICAgRXhwb3Nl
ZD1XaW5kb3cKIF0gaW50ZXJmYWNlIFRlc3RFbmFibGVkQnlTZXR0aW5nIHsKICAgICBbRW5hYmxl
ZEJ5U2V0dGluZz1UZXN0U2V0dGluZ10gYXR0cmlidXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZzsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1UZXN0U2V0
dGluZywgUHJpdmF0ZUlkZW50aWZpZXJdIGF0dHJpYnV0ZSBUZXN0U3ViT2JqQ29uc3RydWN0b3Ig
VGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdQcml2YXRlOworICAgIFtFbmFibGVkQnlTZXR0aW5n
PVRlc3RTZXR0aW5nLCBQcml2YXRlSWRlbnRpZmllciwgUHVibGljSWRlbnRpZmllcl0gYXR0cmli
dXRlIFRlc3RTdWJPYmpDb25zdHJ1Y3RvciBUZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ1ByaXZh
dGVQdWJsaWM7CiAKICAgICAvLyBbRW5hYmxlZEJ5U2V0dGluZ10gYXR0cmlidXRlcyBhbmQgb3Bl
cmF0aW9ucy4KICAgICBbQ29uZGl0aW9uYWw9VEVTVF9GRUFUVVJFLCBFbmFibGVkQnlTZXR0aW5n
PVRlc3RTZXR0aW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuYWJsZWRCeVNldHRpbmdBdHRyaWJ1
dGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNWIyZmJiMWY0NThkNjFjMDgyZTQ1MWQyYzZhOGM3YzUyNGNlMjZlYy4uYjky
MmMyYjAxNzBmNmUxNTM3NTljNTRkNmI3ZTc1N2FmZmM4NDIxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBUZXh0RW5jb2RlclN0cmVhbUVuY29kZXIgc2hvdWxkIG5vdCBiZSBleHBvc2VkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgICogZmFzdC9lbmNvZGlu
Zy9zdHJlYW0tdmlzaWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZW5jb2Rpbmcvc3RyZWFtLXZpc2liaWxpdHkuaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMTUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIFdlYlJUQyBT
RnJhbWUgdHJhbnNmb3JtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0
cmVhbS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZW5jb2Rpbmcv
c3RyZWFtLXZpc2liaWxpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MTU0NzhmODA1NGZi
ZWVkZThhZDdkMmJhMDkxOTEzNzU0MTAzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBFbmNvZGVyL2RlY29kZXIgZXhwb3N1cmUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJpbGl0eS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9lbmNvZGluZy9zdHJlYW0tdmlzaWJpbGl0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxMjI3
NjExYjY3NjMyMzNkMWZmNjFhMTI3NTEzYzc0MGMwZDYyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2VuY29kaW5nL3N0cmVhbS12aXNpYmlsaXR5Lmh0bWwKQEAgLTAsMCAr
MSwxNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAg
IDxib2R5PgorICAgICAgICA8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh3aW5kb3cuVGV4dEVuY29kZXJTdHJlYW1FbmNvZGVyLCB1bmRlZmluZWQsICJlbmNvZGVyIHN0
cmVhbSIpOworICAgIGFzc2VydF9lcXVhbHMod2luZG93LlRleHREZWNvZGVyU3RyZWFtRGVjb2Rl
ciwgdW5kZWZpbmVkLCAiZGVjb2RlciBzdHJlYW0iKTsKK30sICJFbmNvZGVyL2RlY29kZXIgZXhw
b3N1cmUiKTsKKyAgICAgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>