<?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>215195</bug_id>
          
          <creation_ts>2020-08-05 15:16:43 -0700</creation_ts>
          <short_desc>DynamicsCompressorNode.reduction attribute should be a float, not an AudioParam</short_desc>
          <delta_ts>2020-08-06 10:34:22 -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>Web Audio</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>
          <dependson>215180</dependson>
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>annulen</cc>
    
    <cc>clark_wang</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1678105</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-05 15:16:43 -0700</bug_when>
    <thetext>DynamicsCompressorNode.reduction attribute should be a float, not an AudioParam:
- https://webaudio.github.io/web-audio-api/#dynamicscompressornode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678129</commentid>
    <comment_count>1</comment_count>
      <attachid>406054</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-05 16:20:46 -0700</bug_when>
    <thetext>Created attachment 406054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678214</commentid>
    <comment_count>2</comment_count>
      <attachid>406054</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-06 01:32:00 -0700</bug_when>
    <thetext>Comment on attachment 406054
Patch

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

&gt; Source/WebCore/Modules/webaudio/WebKitAudioContext.idl:79
&gt; +    [MayThrowException, ImplementedAs=createWebKitDynamicsCompressor] WebKitDynamicsCompressorNode createDynamicsCompressor();

Do we need this ImplementedAs?
IIUC, WebKitAudioContext is already the prefixed version so this might break existing code.
Also I do not see any test coverage for createWebKitDynamicsCompressor also.

&gt; Source/WebCore/Modules/webaudio/WebKitDynamicsCompressorNode.h:40
&gt; +    AudioParam&amp; legacyReduction() { return m_legacyReduction.get(); }

Seems a bit odd to have one one-liner in the same line as the declaration and another one-liner on a different line.

&gt; Source/WebCore/Modules/webaudio/WebKitDynamicsCompressorNode.idl:37
&gt; +    [ImplementedAs=legacyReduction] readonly attribute AudioParam reduction; // in Decibels

Ditto here about ImplementedAs=legacyReduction, can we do without?
I do not see any change to our legacy web audio tests. Does that mean reduction/legacyReduction is not covered?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678269</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-06 09:20:35 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Comment on attachment 406054 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406054&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WebKitAudioContext.idl:79
&gt; &gt; +    [MayThrowException, ImplementedAs=createWebKitDynamicsCompressor] WebKitDynamicsCompressorNode createDynamicsCompressor();
&gt; 
&gt; Do we need this ImplementedAs?
&gt; IIUC, WebKitAudioContext is already the prefixed version so this might break
&gt; existing code.
&gt; Also I do not see any test coverage for createWebKitDynamicsCompressor also.

There is a test here:
LayoutTests/webaudio/dynamicscompressor-basic.html:    compressor = context.createDynamicsCompressor();

And it is still passing.

&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WebKitDynamicsCompressorNode.h:40
&gt; &gt; +    AudioParam&amp; legacyReduction() { return m_legacyReduction.get(); }
&gt; 
&gt; Seems a bit odd to have one one-liner in the same line as the declaration
&gt; and another one-liner on a different line.
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WebKitDynamicsCompressorNode.idl:37
&gt; &gt; +    [ImplementedAs=legacyReduction] readonly attribute AudioParam reduction; // in Decibels
&gt; 
&gt; Ditto here about ImplementedAs=legacyReduction, can we do without?
&gt; I do not see any change to our legacy web audio tests. Does that mean
&gt; reduction/legacyReduction is not covered?

ImplementedAs changes the name of our internal implementation function, it does NOT change the name exposed to the Web. This change is backward compatible as mentioned in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678286</commentid>
    <comment_count>4</comment_count>
      <attachid>406054</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-06 10:18:20 -0700</bug_when>
    <thetext>Comment on attachment 406054
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/webaudio/WebKitAudioContext.idl:79
&gt;&gt;&gt; +    [MayThrowException, ImplementedAs=createWebKitDynamicsCompressor] WebKitDynamicsCompressorNode createDynamicsCompressor();
&gt;&gt; 
&gt;&gt; Do we need this ImplementedAs?
&gt;&gt; IIUC, WebKitAudioContext is already the prefixed version so this might break existing code.
&gt;&gt; Also I do not see any test coverage for createWebKitDynamicsCompressor also.
&gt; 
&gt; There is a test here:
&gt; LayoutTests/webaudio/dynamicscompressor-basic.html:    compressor = context.createDynamicsCompressor();
&gt; 
&gt; And it is still passing.

Oh my bad!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678290</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-06 10:33:44 -0700</bug_when>
    <thetext>Committed r265336: &lt;https://trac.webkit.org/changeset/265336&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406054.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678292</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-06 10:34:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/66633893&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406054</attachid>
            <date>2020-08-05 16:20:46 -0700</date>
            <delta_ts>2020-08-06 10:33:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215195-20200805162045.patch</filename>
            <type>text/plain</type>
            <size>28221</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM1NjY1ZDgxZmI0Njc3
NTMyNGYyN2JhOGNiZTRmZDFkNmMzYTc2My4uNzgwYmY4MmU4ZDY5ODUzZGMzNzY0MDVkNTZiODNm
OTRiMzYzNGJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTA4LTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHluYW1pY3NDb21wcmVzc29y
Tm9kZS5yZWR1Y3Rpb24gYXR0cmlidXRlIHNob3VsZCBiZSBhIGZsb2F0LCBub3QgYW4gQXVkaW9Q
YXJhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHlu
YW1pY3NDb21wcmVzc29yTm9kZS5yZWR1Y3Rpb24gYXR0cmlidXRlIHNob3VsZCBiZSBhIGZsb2F0
LCBub3QgYW4gQXVkaW9QYXJhbToKKyAgICAgICAgLSBodHRwczovL3dlYmF1ZGlvLmdpdGh1Yi5p
by93ZWItYXVkaW8tYXBpLyNkeW5hbWljc2NvbXByZXNzb3Jub2RlCisKKyAgICAgICAgQmFja3dh
cmQtY29tcGF0aWJpbGl0eSBpcyBtYWludGFpbmVkIGZvciB0aGUgcHJlZml4ZWQgV2ViQXVkaW8g
QVBJLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy93
ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkR5
bmFtaWNzQ29tcHJlc3Nvck5vZGU6OkR5bmFtaWNzQ29tcHJlc3Nvck5vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6RHluYW1pY3NDb21wcmVzc29yTm9kZTo6cHJvY2Vzcyk6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpEeW5hbWljc0NvbXByZXNzb3JOb2RlOjpyZWR1Y3Rpb24gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RHluYW1pY3NDb21wcmVzc29yTm9kZTo6RHluYW1pY3NDb21wcmVzc29yTm9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEeW5hbWljc0NvbXByZXNzb3JOb2RlOjpzZXRSZWR1Y3Rpb24pOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0QXVkaW9Db250ZXh0OjpjcmVhdGVXZWJLaXREeW5hbWljc0NvbXBy
ZXNzb3IpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZS5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJl
c3Nvck5vZGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0RHluYW1pY3ND
b21wcmVzc29yTm9kZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGwuCisgICAgICAgICogU291cmNlcy50eHQ6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIwLTA4
LTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGNvbnN0
cnVjdG9yIGZvciBEeW5hbWljc0NvbXByZXNzb3JOb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGZiMjVkMjk2YWVkOTBjMzM1MTZkNmI5MTQ3ZjY4NGNmNjI2OGIwMmIuLmQ0NjgyOGFjY2QxOWE2
YzA1NTM0Mjk2MTAwYzFlOGM0YjlmYThlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01MDYs
NiArNTA2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL3dl
YmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlvL1dlYktp
dEF1ZGlvTGlzdGVuZXIuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5l
ck5vZGUuaWRsCisgICAgTW9kdWxlcy93ZWJhdWRpby9XZWJLaXREeW5hbWljc0NvbXByZXNzb3JO
b2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4dC5p
ZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JOb2RlLmlkbAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCAwYjFl
ZTY0ZmExODZkYWRjZTEyMzY3ZmQ0YzBhZGYxMjU4MDU1YWRmLi4xMzhhYjU4ZDkyN2E1MjQ0MTBk
ODY4M2RlYTY2MDgxMTVjNDFmNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTM1NSw2ICszNTUsNyBAQCAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0xpc3RlbmVyLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb1Bhbm5lck5vZGUuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxpbmVBdWRpb0NvbnRl
eHQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9zY2lsbGF0b3JO
b2RlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJhdXRobi9BdHRlc3RhdGlvbkNvbnZl
eWFuY2VQcmVmZXJlbmNlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAppbmRleCAzM2RmNmU3ZDZlZGQ5YmFlNzdjMGNmNmY1YTkxZDNkY2U4
YWUxN2QzLi5mY2UxMzczYzU1MTNiZDMzMDI4OTk2YTU4ZGRlMDk3ZGRhMDAxZmI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjE1
MCw2ICsyMTUwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJLaXRDU1NNYXRyaXguY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYktpdENTU01hdHJpeC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0Q1NTVmlld3Bv
cnRSdWxlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
V2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZS5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdE1lZGlh
S2V5RXJyb3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYktpdE1lZGlhS2V5RXJyb3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGI5ZjU2Yzc3M2JjNmNlMzFlZDVmMDY3ZmIyY2ExMDE4
NmY1MWUxNjUuLmVkNDU0MGNkZWJhOWQ5ODczYWI3OGZjNDA0YzA5NzVhZmQzYjYxMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDM4LDYgKzQzOCw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250
ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvTGlz
dGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Q
YW5uZXJOb2RlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdER5
bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJhdWRpby9XZWJLaXRPc2NpbGxhdG9yTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJhdXRobi9BdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXBy
ZXNzb3JOb2RlLmNwcAppbmRleCA0NzhmNDA0ZWM5YTZjZjcxN2E4N2Y2ZjBmODg4NDg0NDc4OWRi
ZDMyLi5hZDIxMWM2NWJmMmM4ZjEyZDIzY2E4M2JiYWE0YzRmNWI4OTc5NjNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVz
c29yTm9kZS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJBdWRpb05vZGVJbnB1dC5o
IgogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgogI2luY2x1ZGUgIkR5bmFtaWNzQ29tcHJl
c3Nvci5oIgorI2luY2x1ZGUgIldlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiAvLyBTZXQgb3V0cHV0IHRvIHN0ZXJlbyBi
eSBkZWZhdWx0LgpAQCAtNDEsNiArNDIsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVs
dE51bWJlck9mT3V0cHV0Q2hhbm5lbHMgPSAyOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRHluYW1pY3NDb21wcmVzc29yTm9kZSk7CitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZSk7CiAKIEV4
Y2VwdGlvbk9yPFJlZjxEeW5hbWljc0NvbXByZXNzb3JOb2RlPj4gRHluYW1pY3NDb21wcmVzc29y
Tm9kZTo6Y3JlYXRlKEJhc2VBdWRpb0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IER5bmFtaWNzQ29t
cHJlc3Nvck9wdGlvbnMmIG9wdGlvbnMpCiB7CkBAIC02Myw3ICs2NSw2IEBAIER5bmFtaWNzQ29t
cHJlc3Nvck5vZGU6OkR5bmFtaWNzQ29tcHJlc3Nvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYgY29u
dGV4dCwgY29uc3QKICAgICAsIG1fdGhyZXNob2xkKEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0
LCAidGhyZXNob2xkIl9zLCBvcHRpb25zLnRocmVzaG9sZCwgLTEwMCwgMCkpCiAgICAgLCBtX2tu
ZWUoQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJrbmVlIl9zLCBvcHRpb25zLmtuZWUsIDAs
IDQwKSkKICAgICAsIG1fcmF0aW8oQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJyYXRpbyJf
cywgb3B0aW9ucy5yYXRpbywgMSwgMjApKQotICAgICwgbV9yZWR1Y3Rpb24oQXVkaW9QYXJhbTo6
Y3JlYXRlKGNvbnRleHQsICJyZWR1Y3Rpb24iX3MsIDAsIC0yMCwgMCkpCiAgICAgLCBtX2F0dGFj
ayhBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImF0dGFjayJfcywgb3B0aW9ucy5hdHRhY2ss
IDAsIDEpKQogICAgICwgbV9yZWxlYXNlKEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAicmVs
ZWFzZSJfcywgb3B0aW9ucy5yZWxlYXNlLCAwLCAxKSkKIHsKQEAgLTk5LDggKzEwMCw3IEBAIHZv
aWQgRHluYW1pY3NDb21wcmVzc29yTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNz
KQogCiAgICAgbV9keW5hbWljc0NvbXByZXNzb3ItPnByb2Nlc3MoaW5wdXQoMCktPmJ1cygpLCBv
dXRwdXRCdXMsIGZyYW1lc1RvUHJvY2Vzcyk7CiAKLSAgICBmbG9hdCByZWR1Y3Rpb24gPSBtX2R5
bmFtaWNzQ29tcHJlc3Nvci0+cGFyYW1ldGVyVmFsdWUoRHluYW1pY3NDb21wcmVzc29yOjpQYXJh
bVJlZHVjdGlvbik7Ci0gICAgbV9yZWR1Y3Rpb24tPnNldFZhbHVlKHJlZHVjdGlvbik7CisgICAg
c2V0UmVkdWN0aW9uKG1fZHluYW1pY3NDb21wcmVzc29yLT5wYXJhbWV0ZXJWYWx1ZShEeW5hbWlj
c0NvbXByZXNzb3I6OlBhcmFtUmVkdWN0aW9uKSk7CiB9CiAKIHZvaWQgRHluYW1pY3NDb21wcmVz
c29yTm9kZTo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaAppbmRleCA1ZDUyOGVkM2FlMDU5ZDNkMWI3
ZmRmMTQ3NWYwYmNlY2U4N2MyNDgyLi5mYTM3N2VmNjg0YTM0Y2M0ZmIyMmZiYTdmNWZhMDU0MmRj
NzQwZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIER5bmFtaWNzQ29tcHJlc3NvcjsKIAotY2xhc3MgRHluYW1pY3NDb21w
cmVzc29yTm9kZSBmaW5hbCA6IHB1YmxpYyBBdWRpb05vZGUgeworY2xhc3MgRHluYW1pY3NDb21w
cmVzc29yTm9kZSA6IHB1YmxpYyBBdWRpb05vZGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoRHluYW1pY3NDb21wcmVzc29yTm9kZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV4Y2VwdGlv
bk9yPFJlZjxEeW5hbWljc0NvbXByZXNzb3JOb2RlPj4gY3JlYXRlKEJhc2VBdWRpb0NvbnRleHQm
LCBjb25zdCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zJiA9IHsgfSk7CkBAIC01NSwyNCArNTUs
MjYgQEAgcHVibGljOgogICAgIEF1ZGlvUGFyYW0mIHJlbGVhc2UoKSB7IHJldHVybiBtX3JlbGVh
c2UuZ2V0KCk7IH0KIAogICAgIC8vIEFtb3VudCBieSB3aGljaCB0aGUgY29tcHJlc3NvciBpcyBj
dXJyZW50bHkgY29tcHJlc3NpbmcgdGhlIHNpZ25hbCBpbiBkZWNpYmVscy4KLSAgICBBdWRpb1Bh
cmFtJiByZWR1Y3Rpb24oKSB7IHJldHVybiBtX3JlZHVjdGlvbi5nZXQoKTsgfQorICAgIGZsb2F0
IHJlZHVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVkdWN0aW9uOyB9CiAKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRDaGFubmVsQ291bnQodW5zaWduZWQpIGZpbmFsOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldENoYW5uZWxDb3VudE1vZGUoQ2hhbm5lbENvdW50TW9kZSkgZmluYWw7CiAK
K3Byb3RlY3RlZDoKKyAgICBleHBsaWNpdCBEeW5hbWljc0NvbXByZXNzb3JOb2RlKEJhc2VBdWRp
b0NvbnRleHQmLCBjb25zdCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zJiA9IHsgfSk7CisgICAg
dmlydHVhbCB2b2lkIHNldFJlZHVjdGlvbihmbG9hdCByZWR1Y3Rpb24pIHsgbV9yZWR1Y3Rpb24g
PSByZWR1Y3Rpb247IH0KKwogcHJpdmF0ZToKICAgICBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBv
dmVycmlkZTsKICAgICBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IER5bmFtaWNzQ29tcHJlc3Nvck5vZGUoQmFzZUF1ZGlvQ29udGV4dCYsIGNvbnN0IER5bmFtaWNz
Q29tcHJlc3Nvck9wdGlvbnMmKTsKLQogICAgIHN0ZDo6dW5pcXVlX3B0cjxEeW5hbWljc0NvbXBy
ZXNzb3I+IG1fZHluYW1pY3NDb21wcmVzc29yOwogICAgIFJlZjxBdWRpb1BhcmFtPiBtX3RocmVz
aG9sZDsKICAgICBSZWY8QXVkaW9QYXJhbT4gbV9rbmVlOwogICAgIFJlZjxBdWRpb1BhcmFtPiBt
X3JhdGlvOwotICAgIFJlZjxBdWRpb1BhcmFtPiBtX3JlZHVjdGlvbjsKICAgICBSZWY8QXVkaW9Q
YXJhbT4gbV9hdHRhY2s7CiAgICAgUmVmPEF1ZGlvUGFyYW0+IG1fcmVsZWFzZTsKKyAgICBmbG9h
dCBtX3JlZHVjdGlvbiB7IDAgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29y
Tm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJl
c3Nvck5vZGUuaWRsCmluZGV4IDRjOGNlMmYwOWMxMDg3M2M1YWE4NWY5N2JhMzU1YzI1ZDVlN2Ux
NjAuLjcwZDJkMjhkMWI0YWVjYmMyZmJhMmNlYzE0MzBhZjljOGY2ZjFmN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNz
b3JOb2RlLmlkbApAQCAtMzUsNiArMzUsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRp
b1BhcmFtIGF0dGFjazsgLy8gaW4gU2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRp
b1BhcmFtIHJlbGVhc2U7IC8vIGluIFNlY29uZHMKIAotICAgIC8vIEZJWE1FOiBUaGUgZm9sbG93
aW5nIGF0dHJpYnV0ZSBzaG91bGQgdXNlIGZsb2F0IHR5cGUuCi0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvUGFyYW0gcmVkdWN0aW9uOyAvLyBpbiBEZWNpYmVscworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBmbG9hdCByZWR1Y3Rpb247IC8vIGluIERlY2liZWxzCiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuY3BwCmlu
ZGV4IGZmNjJmNGRjM2I0Mjg2MDgzMDExZDZlNDI0MDU1NGY3NWIyNDE4OGIuLjYwNDkxNTE2ZDll
NTEzOWZjMzc1OWVkYmNhZDM4ZGM1MzhlZjQyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJQZXJpb2RpY1dhdmUuaCIKICNpbmNsdWRlICJXZWJLaXRBdWRpb0J1
ZmZlclNvdXJjZU5vZGUuaCIKICNpbmNsdWRlICJXZWJLaXRBdWRpb1Bhbm5lck5vZGUuaCIKKyNp
bmNsdWRlICJXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlLmgiCiAjaW5jbHVkZSAiV2ViS2l0
T3NjaWxsYXRvck5vZGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBA
IC0yMjYsNiArMjI3LDE2IEBAIEV4Y2VwdGlvbk9yPFJlZjxXZWJLaXRBdWRpb0J1ZmZlclNvdXJj
ZU5vZGU+PiBXZWJLaXRBdWRpb0NvbnRleHQ6OmNyZWF0ZVdlYktpdEJ1CiAgICAgcmV0dXJuIG5v
ZGU7CiB9CiAKK0V4Y2VwdGlvbk9yPFJlZjxXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlPj4g
V2ViS2l0QXVkaW9Db250ZXh0OjpjcmVhdGVXZWJLaXREeW5hbWljc0NvbXByZXNzb3IoKQorewor
ICAgIGlmIChpc1N0b3BwZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yIH07CisKKyAgICBsYXp5SW5pdGlhbGl6ZSgpOworCisgICAgcmV0dXJuIFdlYktp
dER5bmFtaWNzQ29tcHJlc3Nvck5vZGU6OmNyZWF0ZSgqdGhpcyk7Cit9CisKIHZvaWQgV2ViS2l0
QXVkaW9Db250ZXh0OjpjbG9zZShET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQog
ewogICAgIGlmIChpc09mZmxpbmVDb250ZXh0KCkgfHwgaXNTdG9wcGVkKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5oCmlu
ZGV4IDFkOWFiYTdhOTE4OGQ0NTk0ZmUyYWRjZjYwZWM3OWViMDZhYWIwYTYuLjFhOTM4OTA2YWM4
Y2U0NGJkN2VmOGRiMGRkZjJiMTVhMzhmYjFmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTsKIGNsYXNzIFBlcmlvZGljV2F2ZTsK
IGNsYXNzIFdlYktpdEF1ZGlvQnVmZmVyU291cmNlTm9kZTsKIGNsYXNzIFdlYktpdEF1ZGlvUGFu
bmVyTm9kZTsKK2NsYXNzIFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGU7CiBjbGFzcyBXZWJL
aXRPc2NpbGxhdG9yTm9kZTsKIAogLy8gQXVkaW9Db250ZXh0IGlzIHRoZSBjb3JuZXJzdG9uZSBv
ZiB0aGUgd2ViIGF1ZGlvIEFQSSBhbmQgYWxsIEF1ZGlvTm9kZXMgYXJlIGNyZWF0ZWQgZnJvbSBp
dC4KQEAgLTY5LDYgKzcwLDcgQEAgcHVibGljOgogICAgIEV4Y2VwdGlvbk9yPFJlZjxXZWJLaXRP
c2NpbGxhdG9yTm9kZT4+IGNyZWF0ZVdlYktpdE9zY2lsbGF0b3IoKTsKICAgICBFeGNlcHRpb25P
cjxSZWY8UGVyaW9kaWNXYXZlPj4gY3JlYXRlUGVyaW9kaWNXYXZlKEZsb2F0MzJBcnJheSYgcmVh
bCwgRmxvYXQzMkFycmF5JiBpbWFnaW5hcnkpOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxXZWJLaXRB
dWRpb0J1ZmZlclNvdXJjZU5vZGU+PiBjcmVhdGVXZWJLaXRCdWZmZXJTb3VyY2UoKTsKKyAgICBF
eGNlcHRpb25PcjxSZWY8V2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZT4+IGNyZWF0ZVdlYktp
dER5bmFtaWNzQ29tcHJlc3NvcigpOwogCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgV2ViS2l0
QXVkaW9Db250ZXh0KERvY3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwKaW5kZXggMmMwYzIyOWIzMDMyNzNl
MjQ5MDhlOTk0N2NlNzMxZTBkNzZmMDQ0Yy4uYTk1NWFlYTIyY2U4NzMwZmE0NjEwY2RiNGE4OGRl
YjViMWMxZWUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRBdWRpb0NvbnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2ViS2l0QXVkaW9Db250ZXh0LmlkbApAQCAtNzYsNyArNzYsNyBAQAogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gV2F2ZVNoYXBlck5vZGUgY3JlYXRlV2F2ZVNoYXBlcigpOwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1jcmVhdGVXZWJLaXRQYW5uZXJdIFdlYktpdEF1
ZGlvUGFubmVyTm9kZSBjcmVhdGVQYW5uZXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIENv
bnZvbHZlck5vZGUgY3JlYXRlQ29udm9sdmVyKCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBE
eW5hbWljc0NvbXByZXNzb3JOb2RlIGNyZWF0ZUR5bmFtaWNzQ29tcHJlc3NvcigpOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1jcmVhdGVXZWJLaXREeW5hbWljc0NvbXBy
ZXNzb3JdIFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgY3JlYXRlRHluYW1pY3NDb21wcmVz
c29yKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBBbmFseXNlck5vZGUgY3JlYXRlQW5hbHlz
ZXIoKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNjcmlwdFByb2Nlc3Nvck5vZGUgY3JlYXRl
U2NyaXB0UHJvY2Vzc29yKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyU2l6ZSA9IDAsIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMiwgb3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBudW1iZXJPZk91dHB1dENoYW5uZWxzID0gMik7CiAgICAgW01heVRocm93
RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPWNyZWF0ZVdlYktpdE9zY2lsbGF0b3JdIFdlYktpdE9z
Y2lsbGF0b3JOb2RlIGNyZWF0ZU9zY2lsbGF0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2Rl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmY5ZjNjMTFhYzQxNzg4YmI2OGUyYjAwMjE1MjgzODllMDY5MTNmNQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0
RHluYW1pY3NDb21wcmVzc29yTm9kZS5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiRHluYW1pY3NDb21wcmVzc29yTm9kZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgZmlu
YWwgOiBwdWJsaWMgRHluYW1pY3NDb21wcmVzc29yTm9kZSB7CisgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGU+IGNyZWF0ZShXZWJLaXRBdWRpb0Nv
bnRleHQmIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJL
aXREeW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpKTsKKyAgICB9CisKKyAgICBBdWRpb1Bh
cmFtJiBsZWdhY3lSZWR1Y3Rpb24oKSB7IHJldHVybiBtX2xlZ2FjeVJlZHVjdGlvbi5nZXQoKTsg
fQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUo
V2ViS2l0QXVkaW9Db250ZXh0JiBjb250ZXh0KQorICAgICAgICA6IER5bmFtaWNzQ29tcHJlc3Nv
ck5vZGUoY29udGV4dCkKKyAgICAgICAgLCBtX2xlZ2FjeVJlZHVjdGlvbihBdWRpb1BhcmFtOjpj
cmVhdGUoY29udGV4dCwgInJlZHVjdGlvbiJfcywgMCwgLTIwLCAwKSkKKyAgICB7CisgICAgICAg
IGluaXRpYWxpemVEZWZhdWx0Tm9kZU9wdGlvbnMoMiwgQ2hhbm5lbENvdW50TW9kZTo6Q2xhbXBl
ZE1heCwgQ2hhbm5lbEludGVycHJldGF0aW9uOjpTcGVha2Vycyk7CisgICAgfQorCisgICAgdm9p
ZCBzZXRSZWR1Y3Rpb24oZmxvYXQgcmVkdWN0aW9uKSBmaW5hbAorICAgIHsKKyAgICAgICAgRHlu
YW1pY3NDb21wcmVzc29yTm9kZTo6c2V0UmVkdWN0aW9uKHJlZHVjdGlvbik7CisgICAgICAgIG1f
bGVnYWN5UmVkdWN0aW9uLT5zZXRWYWx1ZShyZWR1Y3Rpb24pOworICAgIH0KKworICAgIFJlZjxB
dWRpb1BhcmFtPiBtX2xlZ2FjeVJlZHVjdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0RHlu
YW1pY3NDb21wcmVzc29yTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjYjhlYTZiYjE3
YmRhNGUxMjBmYjIxNjRkMzVkODM4MzdjMzg5MjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRs
CkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAsIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfQVVE
SU8sCisgICAgRW5hYmxlZEJ5U2V0dGluZz1QcmVmaXhlZFdlYkF1ZGlvLAorICAgIEpTR2VuZXJh
dGVUb0pTT2JqZWN0LAorICAgIE5vSW50ZXJmYWNlT2JqZWN0CitdIGludGVyZmFjZSBXZWJLaXRE
eW5hbWljc0NvbXByZXNzb3JOb2RlIDogQXVkaW9Ob2RlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgQXVkaW9QYXJhbSB0aHJlc2hvbGQ7IC8vIGluIERlY2liZWxzCisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEF1ZGlvUGFyYW0ga25lZTsgLy8gaW4gRGVjaWJlbHMKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgQXVkaW9QYXJhbSByYXRpbzsgLy8gdW5pdC1sZXNzCisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvUGFyYW0gYXR0YWNrOyAvLyBpbiBTZWNvbmRzCisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEF1ZGlvUGFyYW0gcmVsZWFzZTsgLy8gaW4gU2Vjb25kcworICAgIFtJbXBsZW1lbnRlZEFz
PWxlZ2FjeVJlZHVjdGlvbl0gcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gcmVkdWN0aW9u
OyAvLyBpbiBEZWNpYmVscworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMTA1ZWM3OWU3NjdiY2EwNDZi
NWVhOWI5YzU4NTE1ZDkyNDI0MmEyYy4uOTIwN2VlNWE5ODJhODBjMmE4MjI4OTU3NGVjYmY4Nzli
Y2ZkZGFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM1NzksNiArMzU3OSw3IEBAIEpTV2ViS2l0QXVk
aW9Db250ZXh0LmNwcAogSlNXZWJLaXRBdWRpb0xpc3RlbmVyLmNwcAogSlNXZWJLaXRBdWRpb1Bh
bm5lck5vZGUuY3BwCiBKU1dlYktpdENTU01hdHJpeC5jcHAKK0pTV2ViS2l0RHluYW1pY3NDb21w
cmVzc29yTm9kZS5jcHAKIEpTV2ViS2l0TWVkaWFLZXlFcnJvci5jcHAKIEpTV2ViS2l0TWVkaWFL
ZXlNZXNzYWdlRXZlbnQuY3BwCiBKU1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NDhlZDQxYjEwMTNiZjUzNzM2NDE4MzdjNzA0ZTE3ZjE0MDExNWQ5MC4uZTE1YjI0ZjM0ZGY2Zjg5
MTc1NWQ1ZmEzODgyYzI1OTMwZmVhYjk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQzMCw2ICsyNDMwLDcgQEAKIAkJODMw
NTE5OTYxQkIwRjExMDAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwNTE5OTMxQkIwRjBFNzAwRjM3NzJF
IC8qIEhUTUxUaW1lRWxlbWVudC5oICovOyB9OwogCQk4MzA3ODRCMjFDNTJFRTJDMDAxMDREMUQg
LyogWE1MRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzMDc4NEIxMUM1MkVFMTkwMDEwNEQxRCAvKiBYTUxEb2N1bWVudC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzMEEzNkJEMURBQzVG
QUQwMDZEN0QwOSAvKiBKU01vdXNlRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzBBMzZCQjFEQUM1RkE3MDA2RDdEMDkgLyogSlNNb3Vz
ZUV2ZW50SW5pdC5oICovOyB9OworCQk4MzBFRUFCQTI0REI2QTY0MDA5RUZCQ0UgLyogV2ViS2l0
RHluYW1pY3NDb21wcmVzc29yTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODMwRUVBQjcyNERCNkE1MjAwOUVGQkNFIC8qIFdlYktpdER5bmFtaWNz
Q29tcHJlc3Nvck5vZGUuaCAqLzsgfTsKIAkJODMxMDJCMjcxRjlFQUREOTAwRTQwNEI5IC8qIEpT
RXh0ZW5kYWJsZU1lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODMxMDJCMjMxRjlFQURDMjAwRTQwNEI5IC8qIEpTRXh0ZW5kYWJsZU1l
c3NhZ2VFdmVudC5oICovOyB9OwogCQk4MzExQzAwMzFGQUEyRTk1MDBFM0M4RTUgLyogU1dTZXJ2
ZXJKb2JRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODMxMUMwMDIxRkFBMkU4OTAwRTNDOEU1IC8qIFNXU2VydmVySm9iUXVldWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4MzEyMEM3MTFDNTZG
M0ZCMDAxQ0IxMTIgLyogSFRNTERhdGFFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzRCODZBNzFDNTZFODNBMDBGM0YwRTMgLyogSFRNTERh
dGFFbGVtZW50LmggKi87IH07CkBAIC0xMDQyMyw2ICsxMDQyNCw4IEBACiAJCTgzMDc4NEIxMUM1
MkVFMTkwMDEwNEQxRCAvKiBYTUxEb2N1bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBYTUxEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzBB
MzZCQTFEQUM1RkE3MDA2RDdEMDkgLyogSlNNb3VzZUV2ZW50SW5pdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vdXNlRXZlbnRJbml0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMwQTM2QkIxREFDNUZBNzAwNkQ3RDA5IC8qIEpTTW91c2VF
dmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb3VzZUV2ZW50
SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzBFRUFCNzI0REI2QTUyMDA5
RUZCQ0UgLyogV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzMEVFQUI5MjREQjZBNTIwMDlFRkJDRSAvKiBXZWJLaXREeW5hbWljc0NvbXByZXNzb3JO
b2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMxMDJCMjMxRjlFQURDMjAwRTQwNEI5IC8qIEpTRXh0ZW5k
YWJsZU1lc3NhZ2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V4
dGVuZGFibGVNZXNzYWdlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMx
MDJCMjUxRjlFQURDMjAwRTQwNEI5IC8qIEpTRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0V4dGVuZGFibGVNZXNzYWdlRXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzExQzAwMDFGQUEyRTg5MDBF
M0M4RTUgLyogU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTV1NlcnZlckpvYlF1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTI5Njg4LDYgKzI5NjkxLDggQEAKIAkJCQk4MzFCNjE3MTI0OTlBNTk5MDBDMDdDNzkg
LyogV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmNwcCAqLywKIAkJCQk4MzFCNjE3NDI0OTlBNTlDMDBD
MDdDNzkgLyogV2ViS2l0QXVkaW9QYW5uZXJOb2RlLmggKi8sCiAJCQkJODMxQjYxNkYyNDk5QTU5
ODAwQzA3Qzc5IC8qIFdlYktpdEF1ZGlvUGFubmVyTm9kZS5pZGwgKi8sCisJCQkJODMwRUVBQjcy
NERCNkE1MjAwOUVGQkNFIC8qIFdlYktpdER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCAqLywKKwkJ
CQk4MzBFRUFCOTI0REI2QTUyMDA5RUZCQ0UgLyogV2ViS2l0RHluYW1pY3NDb21wcmVzc29yTm9k
ZS5pZGwgKi8sCiAJCQkJODMxQjYxNzMyNDk5QTU5QjAwQzA3Qzc5IC8qIFdlYktpdE9mZmxpbmVB
dWRpb0NvbnRleHQuY3BwICovLAogCQkJCTgzMUI2MTc1MjQ5OUE1OUQwMEMwN0M3OSAvKiBXZWJL
aXRPZmZsaW5lQXVkaW9Db250ZXh0LmggKi8sCiAJCQkJODMxQjYxNzIyNDk5QTU5QTAwQzA3Qzc5
IC8qIFdlYktpdE9mZmxpbmVBdWRpb0NvbnRleHQuaWRsICovLApAQCAtMzQxNDAsNiArMzQxNDUs
NyBAQAogCQkJCTgzMUI2MTc2MjQ5OUE1QkIwMEMwN0M3OSAvKiBXZWJLaXRBdWRpb1Bhbm5lck5v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTVERkVCQUI3MTg1OTJCNkQwMEM3NUJFQiAvKiBXZWJL
aXRBdmFpbGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5ODM5MTU5MEYxRTc3NjkwMEMy
Mzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguaCBpbiBIZWFkZXJzICovLAorCQkJCTgzMEVFQUJBMjRE
QjZBNjQwMDlFRkJDRSAvKiBXZWJLaXREeW5hbWljc0NvbXByZXNzb3JOb2RlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDA2MjE0NTFEQTYzOUJBMDBBN0ZCMjYgLyogV2ViS2l0TWVkaWFLZXlNZXNz
YWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMDYyMTUxMURBNjNBOUYwMEE3RkIyNiAv
KiBXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDA2MjE0
RTFEQTYzQThFMDBBN0ZCMjYgLyogV2ViS2l0TWVkaWFLZXlzLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDY2NmQyNjEzYzRmZjZlMDM5NDZlMTU1MWY1
ZmY5ZWRmYWQ1Mzc4YTguLjIzM2ViNDQ4MWE0ODczN2RjMTJiYjM2NjM0OTU0ZjI1MzMzMjVmOGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA4
LTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHluYW1pY3ND
b21wcmVzc29yTm9kZS5yZWR1Y3Rpb24gYXR0cmlidXRlIHNob3VsZCBiZSBhIGZsb2F0LCBub3Qg
YW4gQXVkaW9QYXJhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE1MTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3Np
bmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vaWRsaGFybmVzcy5o
dHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1keW5hbWljc2NvbXByZXNzb3Jub2RlLWludGVyZmFj
ZS9jdG9yLWR5bmFtaWNzY29tcHJlc3Nvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWR5bmFtaWNzY29tcHJlc3Nv
cm5vZGUtaW50ZXJmYWNlL2R5bmFtaWNzY29tcHJlc3Nvci1iYXNpYy1leHBlY3RlZC50eHQ6CisK
IDIwMjAtMDgtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgY29uc3RydWN0b3IgZm9yIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vaWRsaGFy
bmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBl
Y3RlZC50eHQKaW5kZXggY2FjM2FlMDdjMjg3YjZlYjFlMDYyNWNkNjRkYTQzMTgwY2U5YWE4ZS4u
ZmRiYjUwNzBhZWNmNDFlMmEyOGFiZjgzNGEyNzRlYzIyYTI2NjIxZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9pZGxoYXJu
ZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1l
eHBlY3RlZC50eHQKQEAgLTY5NSw3ICs2OTUsNyBAQCBQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBu
ZXcgRHluYW1pY3NDb21wcmVzc29yTm9kZShjb250ZXh0KQogUEFTUyBEeW5hbWljc0NvbXByZXNz
b3JOb2RlIGludGVyZmFjZTogbmV3IER5bmFtaWNzQ29tcHJlc3Nvck5vZGUoY29udGV4dCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJ0aHJlc2hvbGQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEeW5hbWljc0NvbXByZXNzb3JOb2RlIGludGVyZmFjZTogbmV3IER5bmFtaWNzQ29tcHJlc3Nv
ck5vZGUoY29udGV4dCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJrbmVlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRHluYW1pY3NDb21wcmVzc29yTm9kZSBpbnRlcmZhY2U6IG5ldyBEeW5h
bWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmF0aW8i
IHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBEeW5hbWljc0NvbXByZXNzb3JOb2RlIGludGVy
ZmFjZTogbmV3IER5bmFtaWNzQ29tcHJlc3Nvck5vZGUoY29udGV4dCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJyZWR1Y3Rpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJudW1iZXIiIGJ1dCBnb3QgIm9iamVjdCIKK1BBU1MgRHluYW1pY3NDb21wcmVzc29y
Tm9kZSBpbnRlcmZhY2U6IG5ldyBEeW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicmVkdWN0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
RHluYW1pY3NDb21wcmVzc29yTm9kZSBpbnRlcmZhY2U6IG5ldyBEeW5hbWljc0NvbXByZXNzb3JO
b2RlKGNvbnRleHQpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXR0YWNrIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRHluYW1pY3NDb21wcmVzc29yTm9kZSBpbnRlcmZhY2U6IG5ldyBEeW5h
bWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVsZWFz
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEF1ZGlvTm9kZSBpbnRlcmZhY2U6IG5ldyBE
eW5hbWljc0NvbXByZXNzb3JOb2RlKGNvbnRleHQpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29u
bmVjdChBdWRpb05vZGUsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcsIG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
ZHluYW1pY3Njb21wcmVzc29ybm9kZS1pbnRlcmZhY2UvY3Rvci1keW5hbWljc2NvbXByZXNzb3It
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1keW5hbWljc2NvbXByZXNzb3Jub2RlLWludGVy
ZmFjZS9jdG9yLWR5bmFtaWNzY29tcHJlc3Nvci1leHBlY3RlZC50eHQKaW5kZXggNjIxOTQxOGI3
MzE1Y2IzYzE1M2ZmYWYxNjkyMWY2MmQxMTkxMGIwZS4uNDFlOTM3OTlhZTMzYTIzYmI4NmRhZWNi
Y2RmOTEzOTg2ZTY2OGE0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1keW5hbWljc2NvbXBy
ZXNzb3Jub2RlLWludGVyZmFjZS9jdG9yLWR5bmFtaWNzY29tcHJlc3Nvci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRp
by90aGUtYXVkaW8tYXBpL3RoZS1keW5hbWljc2NvbXByZXNzb3Jub2RlLWludGVyZmFjZS9jdG9y
LWR5bmFtaWNzY29tcHJlc3Nvci1leHBlY3RlZC50eHQKQEAgLTI1LDcgKzI1LDcgQEAgUEFTUyAg
IG5vZGUwLmNoYW5uZWxJbnRlcnByZXRhdGlvbiBpcyBlcXVhbCB0byBzcGVha2Vycy4KIFBBU1Mg
ICBub2RlMC50aHJlc2hvbGQudmFsdWUgaXMgZXF1YWwgdG8gLTI0LiAKIFBBU1MgICBub2RlMC5r
bmVlLnZhbHVlIGlzIGVxdWFsIHRvIDMwLiAKIFBBU1MgICBub2RlMC5yYXRpby52YWx1ZSBpcyBl
cXVhbCB0byAxMi4gCi1QQVNTICAgbm9kZTAucmVkdWN0aW9uLnZhbHVlIGlzIGVxdWFsIHRvIDAu
IAorUEFTUyAgIG5vZGUwLnJlZHVjdGlvbiBpcyBlcXVhbCB0byAwLiAKIFBBU1MgICBub2RlMC5h
dHRhY2sudmFsdWUgaXMgZXF1YWwgdG8gMC4wMDMwMDAwMDAwMjYwNzcwMzIuIAogUEFTUyAgIG5v
ZGUwLnJlbGVhc2UudmFsdWUgaXMgZXF1YWwgdG8gMC4yNS4gCiBQQVNTIDwgW2RlZmF1bHQgY29u
c3RydWN0b3JdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDEzIGFzc2VydGlvbnMpIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1keW5hbWljc2NvbXByZXNzb3Jub2RlLWludGVyZmFj
ZS9keW5hbWljc2NvbXByZXNzb3ItYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1k
eW5hbWljc2NvbXByZXNzb3Jub2RlLWludGVyZmFjZS9keW5hbWljc2NvbXByZXNzb3ItYmFzaWMt
ZXhwZWN0ZWQudHh0CmluZGV4IGMwNmMxYThhMGVjMzZkMTMxN2RmZjMzNzEzYzFiM2E2NWIyNjhk
ZTQuLjMzZDU1NjNjYzg1ODY4NjE1OTcyODMwN2UxY2M2NmY5M2ZiYTQ1OTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhl
LWF1ZGlvLWFwaS90aGUtZHluYW1pY3Njb21wcmVzc29ybm9kZS1pbnRlcmZhY2UvZHluYW1pY3Nj
b21wcmVzc29yLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLWR5bmFtaWNz
Y29tcHJlc3Nvcm5vZGUtaW50ZXJmYWNlL2R5bmFtaWNzY29tcHJlc3Nvci1iYXNpYy1leHBlY3Rl
ZC50eHQKQEAgLTgsOCArOCw4IEBAIFBBU1MgICBjb21wcmVzc29yLmtuZWUudmFsdWUgaXMgZXF1
YWwgdG8gMzAuCiBQQVNTICAgY29tcHJlc3Nvci5yYXRpby52YWx1ZSBpcyBlcXVhbCB0byAxMi4g
CiBQQVNTICAgY29tcHJlc3Nvci5hdHRhY2sudmFsdWUgaXMgZXF1YWwgdG8gMC4wMDMwMDAwMDAw
MjYwNzcwMzIuIAogUEFTUyAgIGNvbXByZXNzb3IucmVsZWFzZS52YWx1ZSBpcyBlcXVhbCB0byAw
LjI1LiAKLUZBSUwgWCB0eXBlb2YgY29tcHJlc3Nvci5yZWR1Y3Rpb24gaXMgbm90IGVxdWFsIHRv
IG51bWJlci4gR290IG9iamVjdC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFggY29tcHJlc3Nvci5yZWR1Y3Rpb24gaXMgbm90IGVxdWFsIHRvIDAuIEdvdCBBdWRp
b1BhcmFtLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgPCBbdGVz
dF0gMiBvdXQgb2YgNyBhc3NlcnRpb25zIHdlcmUgZmFpbGVkLiBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSBv
dXQgb2YgMSB0YXNrcyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitQQVNTICAgdHlwZW9mIGNvbXByZXNzb3IucmVkdWN0aW9uIGlzIGVxdWFsIHRvIG51
bWJlci4gCitQQVNTICAgY29tcHJlc3Nvci5yZWR1Y3Rpb24gaXMgZXF1YWwgdG8gMC4gCitQQVNT
IDwgW3Rlc3RdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDcgYXNzZXJ0aW9ucykgCitQ
QVNTICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDEgdGFza3MgcmFuIHN1Y2Nlc3NmdWxs
eS4gCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>