<?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>160071</bug_id>
          
          <creation_ts>2016-07-21 20:41:49 -0700</creation_ts>
          <short_desc>Parameter to Node.compareDocumentPosition() should be mandatory and non-nullable</short_desc>
          <delta_ts>2016-10-27 16:30:31 -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>DOM</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>164093</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1213484</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-21 20:41:49 -0700</bug_when>
    <thetext>Parameter to Node.compareDocumentPosition() should be mandatory and non-nullable:
- https://dom.spec.whatwg.org/#interface-node

Firefox and Chrome agree with the specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213491</commentid>
    <comment_count>1</comment_count>
      <attachid>284306</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-21 21:55:02 -0700</bug_when>
    <thetext>Created attachment 284306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213493</commentid>
    <comment_count>2</comment_count>
      <attachid>284306</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-07-21 22:36:34 -0700</bug_when>
    <thetext>Comment on attachment 284306
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +
&gt; +        

What&apos;s up with the second blank line (with leading whitespace)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213582</commentid>
    <comment_count>3</comment_count>
      <attachid>284306</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-22 09:02:49 -0700</bug_when>
    <thetext>Comment on attachment 284306
Patch

Clearing flags on attachment: 284306

Committed r203601: &lt;http://trac.webkit.org/changeset/203601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213583</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-22 09:02:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213645</commentid>
    <comment_count>5</comment_count>
      <attachid>284306</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-22 11:21:25 -0700</bug_when>
    <thetext>Comment on attachment 284306
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityObject.cpp:649
&gt; -    if (afterRange &amp;&amp; ((afterRange-&gt;startPosition().anchorNode()-&gt;compareDocumentPosition(referenceRange-&gt;endPosition().anchorNode()) &amp; Node::DOCUMENT_POSITION_DISCONNECTED) == Node::DOCUMENT_POSITION_DISCONNECTED))
&gt; +    if (afterRange &amp;&amp; (referenceRange-&gt;endPosition().isNull() || ((afterRange-&gt;startPosition().anchorNode()-&gt;compareDocumentPosition(*referenceRange-&gt;endPosition().anchorNode()) &amp; Node::DOCUMENT_POSITION_DISCONNECTED) == Node::DOCUMENT_POSITION_DISCONNECTED)))

Sure seems like a wordy way to write this. If &quot;b&quot; is a single bit, then in a boolean context:

    (x &amp; b) == b

Is just a wordy way to write:

    (x &amp; b)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284306</attachid>
            <date>2016-07-21 21:55:02 -0700</date>
            <delta_ts>2016-07-22 09:02:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160071-20160721215402.patch</filename>
            <type>text/plain</type>
            <size>31779</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRmNDczMDFjZGJmNTBl
ODE2ZDcwYzY4MmM5YzMxZDJjZmI1NTQ5Yi4uNmRmZGVkOWQ2NTRjNDE4NmVjNTgzM2U1YmE4NDZl
ZWNlOTE5ZGI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTA3LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgUGFyYW1ldGVyIHRvIE5vZGUu
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBub24tbnVs
bGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MDA3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIAor
ICAgICAgICBQYXJhbWV0ZXIgdG8gTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbigpIHNob3Vs
ZCBiZSBtYW5kYXRvcnkgYW5kCisgICAgICAgIG5vbi1udWxsYWJsZToKKyAgICAgICAgLSBodHRw
czovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub2RlCisKKyAgICAgICAgRmlyZWZv
eCBhbmQgQ2hyb21lIGFncmVlIHdpdGggdGhlIHNwZWNpZmljYXRpb24gc28gdGhlIGNvbXBhdGli
aWxpdHkKKyAgICAgICAgcmlzayBzaG91bGQgYmUgbG93LiBBbHNvLCBpdCBkb2VzIG5vdCBtYWtl
IG11Y2ggc2Vuc2UgdG8gY2FsbCB0aGlzCisgICAgICAgIG9wZXJhdGlvbiB3aXRob3V0IHBhcmFt
ZXRlci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3Rz
LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnJhbmdlQ2xvc2VzdFRvUmFuZ2UpOgorICAgICAgICAqIGRvbS9BdXRo
b3JTdHlsZVNoZWV0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdXRob3JTdHlsZVNoZWV0czo6
YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbXBhcmVEZXRhY2hlZEVsZW1lbnRzUG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24pOgorICAgICAgICAqIGRv
bS9Ob2RlLmg6CisgICAgICAgICogZG9tL05vZGUuaWRsOgorICAgICAgICAqIGRvbS9Qb3NpdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8KToKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZvcm1F
bGVtZW50SW5kZXhXaXRoRm9ybUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9y
bUVsZW1lbnQ6OmZvcm1FbGVtZW50SW5kZXgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJO
YW1lZEZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhy
ZWFkOjpuZXh0UmVuZGVyZXJGb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBhcmVS
ZW5kZXJOYW1lZEZsb3dGcmFnbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRG
bG93VGhyZWFkOjpyZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50KToKKworMjAxNi0wNy0y
MSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFBhcmFtZXRlciB0
byBEb2N1bWVudC5jcmVhdGVFdmVudCgpIHNob3VsZCBiZSBtYW5kYXRvcnkKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDA2NQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRl
eCA4OGY3NzljYjc0NjkwMWE5N2Y0NjBiNmFiMzBiOGI5MzJjMmY4MmQ1Li4wMzJhNmE5YjY4MjA5
MjRhNWE5N2U4YjQ3YmIyODViYzJiNGQyNjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAgLTY0NiwxMSArNjQ2LDEx
IEBAIHN0YXRpYyBSZWZQdHI8UmFuZ2U+IHJhbmdlQ2xvc2VzdFRvUmFuZ2UoUmFuZ2UqIHJlZmVy
ZW5jZVJhbmdlLCBSZWZQdHI8UmFuZ2U+JiYKICAgICAKICAgICAvLyBUaGUgdHJlZVNjb3BlIGZv
ciBzaGFkb3cgbm9kZXMgbWF5IG5vdCBiZSB0aGUgc2FtZSBzY29wZSBhcyBhbm90aGVyIGVsZW1l
bnQgaW4gYSBkb2N1bWVudC4KICAgICAvLyBDb21wYXJpc29ucyBtYXkgZmFpbCBpbiB0aGF0IGNh
c2UsIHdoaWNoIGFyZSBleHBlY3RlZCBiZWhhdmlvciBhbmQgc2hvdWxkIG5vdCBhc3NlcnQuCi0g
ICAgaWYgKGFmdGVyUmFuZ2UgJiYgKChhZnRlclJhbmdlLT5zdGFydFBvc2l0aW9uKCkuYW5jaG9y
Tm9kZSgpLT5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyZWZlcmVuY2VSYW5nZS0+ZW5kUG9zaXRp
b24oKS5hbmNob3JOb2RlKCkpICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVE
KSA9PSBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQpKQorICAgIGlmIChhZnRl
clJhbmdlICYmIChyZWZlcmVuY2VSYW5nZS0+ZW5kUG9zaXRpb24oKS5pc051bGwoKSB8fCAoKGFm
dGVyUmFuZ2UtPnN0YXJ0UG9zaXRpb24oKS5hbmNob3JOb2RlKCktPmNvbXBhcmVEb2N1bWVudFBv
c2l0aW9uKCpyZWZlcmVuY2VSYW5nZS0+ZW5kUG9zaXRpb24oKS5hbmNob3JOb2RlKCkpICYgTm9k
ZTo6RE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEKSA9PSBOb2RlOjpET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQpKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQVNTRVJU
KCFhZnRlclJhbmdlIHx8IGFmdGVyUmFuZ2UtPnN0YXJ0UG9zaXRpb24oKSA+PSByZWZlcmVuY2VS
YW5nZS0+ZW5kUG9zaXRpb24oKSk7CiAgICAgCi0gICAgaWYgKGJlZm9yZVJhbmdlICYmICgoYmVm
b3JlUmFuZ2UtPmVuZFBvc2l0aW9uKCkuYW5jaG9yTm9kZSgpLT5jb21wYXJlRG9jdW1lbnRQb3Np
dGlvbihyZWZlcmVuY2VSYW5nZS0+c3RhcnRQb3NpdGlvbigpLmFuY2hvck5vZGUoKSkgJiBOb2Rl
OjpET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQpID09IE5vZGU6OkRPQ1VNRU5UX1BPU0lU
SU9OX0RJU0NPTk5FQ1RFRCkpCisgICAgaWYgKGJlZm9yZVJhbmdlICYmIChyZWZlcmVuY2VSYW5n
ZS0+c3RhcnRQb3NpdGlvbigpLmlzTnVsbCgpIHx8ICgoYmVmb3JlUmFuZ2UtPmVuZFBvc2l0aW9u
KCkuYW5jaG9yTm9kZSgpLT5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbigqcmVmZXJlbmNlUmFuZ2Ut
PnN0YXJ0UG9zaXRpb24oKS5hbmNob3JOb2RlKCkpICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05f
RElTQ09OTkVDVEVEKSA9PSBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQpKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgQVNTRVJUKCFiZWZvcmVSYW5nZSB8fCBiZWZv
cmVSYW5nZS0+ZW5kUG9zaXRpb24oKSA8PSByZWZlcmVuY2VSYW5nZS0+c3RhcnRQb3NpdGlvbigp
KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRob3JTdHlsZVNoZWV0
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0aG9yU3R5bGVTaGVldHMuY3BwCmluZGV4IDdk
ZDRlNmMxNzMxMWQ1NjRhMGRjNzI0YWNmMjQ2NzQ3NjVhMGM5MWYuLmUxZWE5NWUyODU1NjFhY2Vj
OWE2NjYzODM5OTQxZDdhMWZlMDlmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dXRob3JTdHlsZVNoZWV0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F1dGhvclN0eWxl
U2hlZXRzLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgQXV0aG9yU3R5bGVTaGVldHM6OmFk
ZFN0eWxlU2hlZXRDYW5kaWRhdGVOb2RlKE5vZGUmIG5vZGUsIGJvb2wgY3JlYXRlZEJ5UGFyCiAg
ICAgZG8gewogICAgICAgICAtLWl0OwogICAgICAgICBOb2RlKiBuID0gKml0OwotICAgICAgICB1
bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IG4tPmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCZub2Rl
KTsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgcG9zaXRpb24gPSBuLT5jb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihub2RlKTsKICAgICAgICAgaWYgKHBvc2l0aW9uID09IE5vZGU6OkRPQ1VNRU5UX1BP
U0lUSU9OX0ZPTExPV0lORykgewogICAgICAgICAgICAgbV9zdHlsZVNoZWV0Q2FuZGlkYXRlTm9k
ZXMuaW5zZXJ0QmVmb3JlKGZvbGxvd2luZ05vZGUsICZub2RlKTsKICAgICAgICAgICAgIHJldHVy
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAppbmRleCBkNGIwZDMwZTkyYjE5Mzg2YTg0Y2FkNmVkY2E4MmEyNDJk
MzY0ODcyLi5hYTI1YjA4OTExNDg1ODZhYWNiMTc5YTMxNjAyMTRmNTY3ZjdhNjFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCkBAIC0xNTA5LDcgKzE1MDksNyBAQCBzdGF0aWMgU0hBMTo6RGlnZXN0IGhhc2hQ
b2ludGVyKHZvaWQqIHBvaW50ZXIpCiAgICAgcmV0dXJuIGRpZ2VzdDsKIH0KIAotc3RhdGljIGlu
bGluZSB1bnNpZ25lZCBzaG9ydCBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKE5vZGUq
IGZpcnN0Tm9kZSwgTm9kZSogc2Vjb25kTm9kZSkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgc2hv
cnQgY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbihOb2RlJiBmaXJzdE5vZGUsIE5vZGUm
IHNlY29uZE5vZGUpCiB7CiAgICAgLy8gSWYgdGhlIDIgbm9kZXMgYXJlIG5vdCBpbiB0aGUgc2Ft
ZSB0cmVlLCByZXR1cm4gdGhlIHJlc3VsdCBvZiBhZGRpbmcgRE9DVU1FTlRfUE9TSVRJT05fRElT
Q09OTkVDVEVELAogICAgIC8vIERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJ
RklDLCBhbmQgZWl0aGVyIERPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyBvcgpAQCAtMTUxNywz
MyArMTUxNywyOSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IGNvbXBhcmVEZXRhY2hl
ZEVsZW1lbnRzUG9zaXRpb24oTm9kZSogZmlyc3ROb2RlLCBObwogICAgIC8vIERPQ1VNRU5UX1BP
U0lUSU9OX1BSRUNFRElORyBvciBET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgaXMgaW1wbGVt
ZW50ZWQgYnkgY29tcGFyaW5nIGNyeXB0b2dyYXBoaWMKICAgICAvLyBoYXNoZXMgb2YgTm9kZSBw
b2ludGVycy4KICAgICAvLyBTZWUgc3RlcCAzIGluIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9y
Zy8jZG9tLW5vZGUtY29tcGFyZWRvY3VtZW50cG9zaXRpb24KLSAgICBTSEExOjpEaWdlc3QgZmly
c3RIYXNoID0gaGFzaFBvaW50ZXIoZmlyc3ROb2RlKTsKLSAgICBTSEExOjpEaWdlc3Qgc2Vjb25k
SGFzaCA9IGhhc2hQb2ludGVyKHNlY29uZE5vZGUpOworICAgIFNIQTE6OkRpZ2VzdCBmaXJzdEhh
c2ggPSBoYXNoUG9pbnRlcigmZmlyc3ROb2RlKTsKKyAgICBTSEExOjpEaWdlc3Qgc2Vjb25kSGFz
aCA9IGhhc2hQb2ludGVyKCZzZWNvbmROb2RlKTsKIAogICAgIHVuc2lnbmVkIHNob3J0IGRpcmVj
dGlvbiA9IG1lbWNtcChmaXJzdEhhc2guZGF0YSgpLCBzZWNvbmRIYXNoLmRhdGEoKSwgU0hBMTo6
aGFzaFNpemUpID4gMCA/IE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyA6IE5vZGU6
OkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORzsKIAogICAgIHJldHVybiBOb2RlOjpET0NVTUVO
VF9QT1NJVElPTl9ESVNDT05ORUNURUQgfCBOb2RlOjpET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1F
TlRBVElPTl9TUEVDSUZJQyB8IGRpcmVjdGlvbjsKIH0KIAotdW5zaWduZWQgc2hvcnQgTm9kZTo6
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSogb3RoZXJOb2RlKQordW5zaWduZWQgc2hvcnQg
Tm9kZTo6Y29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSYgb3RoZXJOb2RlKQogewotICAgIC8v
IEl0IGlzIG5vdCBjbGVhciB3aGF0IHNob3VsZCBiZSBkb25lIGlmIHxvdGhlck5vZGV8IGlzIG51
bGxwdHIuCi0gICAgaWYgKCFvdGhlck5vZGUpCi0gICAgICAgIHJldHVybiBET0NVTUVOVF9QT1NJ
VElPTl9ESVNDT05ORUNURUQ7Ci0KLSAgICBpZiAob3RoZXJOb2RlID09IHRoaXMpCisgICAgaWYg
KCZvdGhlck5vZGUgPT0gdGhpcykKICAgICAgICAgcmV0dXJuIERPQ1VNRU5UX1BPU0lUSU9OX0VR
VUlWQUxFTlQ7CiAgICAgCiAgICAgQXR0ciogYXR0cjEgPSBpczxBdHRyPigqdGhpcykgPyBkb3du
Y2FzdDxBdHRyPih0aGlzKSA6IG51bGxwdHI7Ci0gICAgQXR0ciogYXR0cjIgPSBpczxBdHRyPigq
b3RoZXJOb2RlKSA/IGRvd25jYXN0PEF0dHI+KG90aGVyTm9kZSkgOiBudWxscHRyOworICAgIEF0
dHIqIGF0dHIyID0gaXM8QXR0cj4ob3RoZXJOb2RlKSA/ICZkb3duY2FzdDxBdHRyPihvdGhlck5v
ZGUpIDogbnVsbHB0cjsKICAgICAKICAgICBOb2RlKiBzdGFydDEgPSBhdHRyMSA/IGF0dHIxLT5v
d25lckVsZW1lbnQoKSA6IHRoaXM7Ci0gICAgTm9kZSogc3RhcnQyID0gYXR0cjIgPyBhdHRyMi0+
b3duZXJFbGVtZW50KCkgOiBvdGhlck5vZGU7CisgICAgTm9kZSogc3RhcnQyID0gYXR0cjIgPyBh
dHRyMi0+b3duZXJFbGVtZW50KCkgOiAmb3RoZXJOb2RlOwogICAgIAogICAgIC8vIElmIGVpdGhl
ciBvZiBzdGFydDEgb3Igc3RhcnQyIGlzIG51bGwsIHRoZW4gd2UgYXJlIGRpc2Nvbm5lY3RlZCwg
c2luY2Ugb25lIG9mIHRoZSBub2RlcyBpcwogICAgIC8vIGFuIG9ycGhhbmVkIGF0dHJpYnV0ZSBu
b2RlLgogICAgIGlmICghc3RhcnQxIHx8ICFzdGFydDIpCi0gICAgICAgIHJldHVybiBjb21wYXJl
RGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKHRoaXMsIG90aGVyTm9kZSk7CisgICAgICAgIHJldHVy
biBjb21wYXJlRGV0YWNoZWRFbGVtZW50c1Bvc2l0aW9uKCp0aGlzLCBvdGhlck5vZGUpOwogCiAg
ICAgVmVjdG9yPE5vZGUqLCAxNj4gY2hhaW4xOwogICAgIFZlY3RvcjxOb2RlKiwgMTY+IGNoYWlu
MjsKQEAgLTE1NzYsNyArMTU3Miw3IEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1
bWVudFBvc2l0aW9uKE5vZGUqIG90aGVyTm9kZSkKICAgICAvLyBJZiB0aGUgbm9kZXMgaGF2ZSBk
aWZmZXJlbnQgb3duaW5nIGRvY3VtZW50cywgdGhleSBtdXN0IGJlIGRpc2Nvbm5lY3RlZC4gIE5v
dGUgdGhhdCB3ZSBhdm9pZAogICAgIC8vIGNvbXBhcmluZyBBdHRyIG5vZGVzIGhlcmUsIHNpbmNl
IHRoZXkgcmV0dXJuIGZhbHNlIGZyb20gaW5Eb2N1bWVudCgpIGFsbCB0aGUgdGltZSAod2hpY2gg
c2VlbXMgbGlrZSBhIGJ1ZykuCiAgICAgaWYgKHN0YXJ0MS0+aW5Eb2N1bWVudCgpICE9IHN0YXJ0
Mi0+aW5Eb2N1bWVudCgpIHx8ICZzdGFydDEtPnRyZWVTY29wZSgpICE9ICZzdGFydDItPnRyZWVT
Y29wZSgpKQotICAgICAgICByZXR1cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbih0
aGlzLCBvdGhlck5vZGUpOworICAgICAgICByZXR1cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQ
b3NpdGlvbigqdGhpcywgb3RoZXJOb2RlKTsKIAogICAgIC8vIFdlIG5lZWQgdG8gZmluZCBhIGNv
bW1vbiBhbmNlc3RvciBjb250YWluZXIsIGFuZCB0aGVuIGNvbXBhcmUgdGhlIGluZGljZXMgb2Yg
dGhlIHR3byBpbW1lZGlhdGUgY2hpbGRyZW4uCiAgICAgTm9kZSogY3VycmVudDsKQEAgLTE1OTAs
NyArMTU4Niw3IEBAIHVuc2lnbmVkIHNob3J0IE5vZGU6OmNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KE5vZGUqIG90aGVyTm9kZSkKIAogICAgIC8vIElmIHRoZSB0d28gZWxlbWVudHMgZG9uJ3QgaGF2
ZSBhIGNvbW1vbiByb290LCB0aGV5J3JlIG5vdCBpbiB0aGUgc2FtZSB0cmVlLgogICAgIGlmIChj
aGFpbjFbaW5kZXgxIC0gMV0gIT0gY2hhaW4yW2luZGV4MiAtIDFdKQotICAgICAgICByZXR1cm4g
Y29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbih0aGlzLCBvdGhlck5vZGUpOworICAgICAg
ICByZXR1cm4gY29tcGFyZURldGFjaGVkRWxlbWVudHNQb3NpdGlvbigqdGhpcywgb3RoZXJOb2Rl
KTsKIAogICAgIC8vIFdhbGsgdGhlIHR3byBjaGFpbnMgYmFja3dhcmRzIGFuZCBsb29rIGZvciB0
aGUgZmlyc3QgZGlmZmVyZW5jZS4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGQ6Om1pbihpbmRl
eDEsIGluZGV4Mik7IGk7IC0taSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggOTI3YTc3MWVkNzRmMjUyMDVk
MjkzMWE2ZTZlYmU5ZDM4ODNhMmVhMi4uZjc2MGMyZDIyZDFiZGFkNTdiNmJlNGE4YzdiOTkwNjUx
YWU1NWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC00OTQsNyArNDk0LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpOwogICAgIHZpcnR1YWwg
Ym9vbCB3aWxsUmVzcG9uZFRvTW91c2VXaGVlbEV2ZW50cygpOwogCi0gICAgV0VCQ09SRV9FWFBP
UlQgdW5zaWduZWQgc2hvcnQgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSopOworICAgIFdF
QkNPUkVfRVhQT1JUIHVuc2lnbmVkIHNob3J0IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUm
KTsKIAogICAgIE5vZGUqIHRvTm9kZSgpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXgg
MDBhZWY1OTE1Y2YxNDcxZGJiZTM2MzgxMmU5NmU4ZTY5YTA0NjhmMy4uNzIzMDViN2E2OGJmYzNk
NTlmZWUwNzVlMzU5YmNkOTZhYzdjOWMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtMTEzLDggKzEx
Myw3IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgICAgICBET0NVTUVOVF9QT1NJVElPTl9D
T05UQUlORURfQlkgPSAweDEwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAgICAgRE9DVU1F
TlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMgPSAweDIwOwogCi0gICAgLy8gRklY
TUU6IG90aGVyIHNob3VsZCBiZSBuZWl0aGVyIG9wdGlvbmFsIG5vciBudWxsYWJsZS4KLSAgICB1
bnNpZ25lZCBzaG9ydCAgICAgY29tcGFyZURvY3VtZW50UG9zaXRpb24ob3B0aW9uYWwgTm9kZT8g
b3RoZXIgPSBudWxsKTsKKyAgICB1bnNpZ25lZCBzaG9ydCBjb21wYXJlRG9jdW1lbnRQb3NpdGlv
bihOb2RlIG90aGVyKTsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NNAogICAgIC8vIEZJWE1F
OiBvdGhlciBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1Bvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAppbmRleCBi
MGUwZWM5MWU5YmVlMzRhOTJhYTNlZjg1MWM1ZjJiZTllZWRjOTBjLi41OGFkMDRkNTQ1YTdkYWEx
MzgwMmEzNTk1NjcyMjVjMmJmMWY4MDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UG9zaXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaApAQCAtMjUxLDcg
KzI1MSw3IEBAIGlubGluZSBib29sIG9wZXJhdG9yPChjb25zdCBQb3NpdGlvbiYgYSwgY29uc3Qg
UG9zaXRpb24mIGIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoYS5hbmNob3JOb2Rl
KCkgPT0gYi5hbmNob3JOb2RlKCkpCiAgICAgICAgIHJldHVybiBhLmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCkgPCBiLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCk7Ci0gICAgcmV0dXJuIGIuYW5j
aG9yTm9kZSgpLT5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhLmFuY2hvck5vZGUoKSkgPT0gTm9k
ZTo6RE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HOworICAgIHJldHVybiBiLmFuY2hvck5vZGUo
KS0+Y29tcGFyZURvY3VtZW50UG9zaXRpb24oKmEuYW5jaG9yTm9kZSgpKSA9PSBOb2RlOjpET0NV
TUVOVF9QT1NJVElPTl9QUkVDRURJTkc7CiB9CiAKIGlubGluZSBib29sIG9wZXJhdG9yPihjb25z
dCBQb3NpdGlvbiYgYSwgY29uc3QgUG9zaXRpb24mIGIpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCmluZGV4IGRmMzAzMjRlYmNiMzdlNTdiZWYxOWE2ZTA0MzU3ZTlhZTU0
YThmOTcuLjBlYWE2NTNlZmI5NGI2ZjMwMDk5MDg5OTgzNTk4Njc2NWQzMDc5ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTUyOSw3ICs1MjksNyBAQCB1bnNp
Z25lZCBIVE1MRm9ybUVsZW1lbnQ6OmZvcm1FbGVtZW50SW5kZXhXaXRoRm9ybUF0dHJpYnV0ZShF
bGVtZW50KiBlbGVtZW50LCB1bgogICAgIHdoaWxlIChsZWZ0ICE9IHJpZ2h0KSB7CiAgICAgICAg
IHVuc2lnbmVkIG1pZGRsZSA9IGxlZnQgKyAoKHJpZ2h0IC0gbGVmdCkgLyAyKTsKICAgICAgICAg
QVNTRVJUKG1pZGRsZSA8IG1fYXNzb2NpYXRlZEVsZW1lbnRzQmVmb3JlSW5kZXggfHwgbWlkZGxl
ID49IG1fYXNzb2NpYXRlZEVsZW1lbnRzQWZ0ZXJJbmRleCk7Ci0gICAgICAgIHBvc2l0aW9uID0g
ZWxlbWVudC0+Y29tcGFyZURvY3VtZW50UG9zaXRpb24oJm1fYXNzb2NpYXRlZEVsZW1lbnRzW21p
ZGRsZV0tPmFzSFRNTEVsZW1lbnQoKSk7CisgICAgICAgIHBvc2l0aW9uID0gZWxlbWVudC0+Y29t
cGFyZURvY3VtZW50UG9zaXRpb24obV9hc3NvY2lhdGVkRWxlbWVudHNbbWlkZGxlXS0+YXNIVE1M
RWxlbWVudCgpKTsKICAgICAgICAgaWYgKHBvc2l0aW9uICYgRE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HKQogICAgICAgICAgICAgcmlnaHQgPSBtaWRkbGU7CiAgICAgICAgIGVsc2UKQEAgLTUz
Nyw3ICs1MzcsNyBAQCB1bnNpZ25lZCBIVE1MRm9ybUVsZW1lbnQ6OmZvcm1FbGVtZW50SW5kZXhX
aXRoRm9ybUF0dHJpYnV0ZShFbGVtZW50KiBlbGVtZW50LCB1bgogICAgIH0KICAgICAKICAgICBB
U1NFUlQobGVmdCA8IG1fYXNzb2NpYXRlZEVsZW1lbnRzQmVmb3JlSW5kZXggfHwgbGVmdCA+PSBt
X2Fzc29jaWF0ZWRFbGVtZW50c0FmdGVySW5kZXgpOwotICAgIHBvc2l0aW9uID0gZWxlbWVudC0+
Y29tcGFyZURvY3VtZW50UG9zaXRpb24oJm1fYXNzb2NpYXRlZEVsZW1lbnRzW2xlZnRdLT5hc0hU
TUxFbGVtZW50KCkpOworICAgIHBvc2l0aW9uID0gZWxlbWVudC0+Y29tcGFyZURvY3VtZW50UG9z
aXRpb24obV9hc3NvY2lhdGVkRWxlbWVudHNbbGVmdF0tPmFzSFRNTEVsZW1lbnQoKSk7CiAgICAg
aWYgKHBvc2l0aW9uICYgRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKQogICAgICAgICByZXR1
cm4gbGVmdDsKICAgICByZXR1cm4gbGVmdCArIDE7CkBAIC01NTIsNyArNTUyLDcgQEAgdW5zaWdu
ZWQgSFRNTEZvcm1FbGVtZW50Ojpmb3JtRWxlbWVudEluZGV4KEZvcm1Bc3NvY2lhdGVkRWxlbWVu
dCogYXNzb2NpYXRlZEVsZW0KICAgICAvLyBUcmVhdHMgc2VwYXJhdGVseSB0aGUgY2FzZSB3aGVy
ZSB0aGlzIGVsZW1lbnQgaGFzIHRoZSBmb3JtIGF0dHJpYnV0ZQogICAgIC8vIGZvciBwZXJmb3Jt
YW5jZSBjb25zaWRlcmF0aW9uLgogICAgIGlmIChhc3NvY2lhdGVkSFRNTEVsZW1lbnQuaGFzQXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihmb3JtQXR0cikpIHsKLSAgICAgICAgdW5zaWdu
ZWQgc2hvcnQgcG9zaXRpb24gPSBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbigmYXNzb2NpYXRlZEhU
TUxFbGVtZW50KTsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgcG9zaXRpb24gPSBjb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihhc3NvY2lhdGVkSFRNTEVsZW1lbnQpOwogICAgICAgICBpZiAocG9zaXRp
b24gJiBET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpIHsKICAgICAgICAgICAgICsrbV9hc3Nv
Y2lhdGVkRWxlbWVudHNCZWZvcmVJbmRleDsKICAgICAgICAgICAgICsrbV9hc3NvY2lhdGVkRWxl
bWVudHNBZnRlckluZGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCAzYzk2ZmJlNWIwYTMyOGUxOWJiYmZiYzc1ZDZhYzI3
MWY3ZTE3YjlkLi5mOWZhOWU1MDBhYjc5MGVkOWNmY2VhYjE2YTA1MTA0ZjVjYmIyNTQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNw
cApAQCAtMTAxLDcgKzEwMSw5IEBAIFJlbmRlckVsZW1lbnQqIFJlbmRlck5hbWVkRmxvd1RocmVh
ZDo6bmV4dFJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50KSBjCiB7CiAgICAgZm9y
IChhdXRvJiBjaGlsZCA6IG1fZmxvd1RocmVhZENoaWxkTGlzdCkgewogICAgICAgICBBU1NFUlQo
IWNoaWxkLT5pc0Fub255bW91cygpKTsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgcG9zaXRpb24g
PSBlbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGNoaWxkLT5lbGVtZW50KCkpOworICAg
ICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGNoaWxkLT5lbGVtZW50KCksICJDYW4gb25seSBiZSBu
dWxsIGZvciBhbm9ueW1vdXMgcmVuZGVyZXJzIik7CisKKyAgICAgICAgdW5zaWduZWQgc2hvcnQg
cG9zaXRpb24gPSBlbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCpjaGlsZC0+ZWxlbWVu
dCgpKTsKICAgICAgICAgaWYgKHBvc2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05fRk9M
TE9XSU5HKQogICAgICAgICAgICAgcmV0dXJuIGNoaWxkOwogICAgIH0KQEAgLTE1OSw3ICsxNjEs
NyBAQCBzdGF0aWMgYm9vbCBjb21wYXJlUmVuZGVyTmFtZWRGbG93RnJhZ21lbnRzKGNvbnN0IFJl
bmRlck5hbWVkRmxvd0ZyYWdtZW50KiBmaXJzdAogCiAgICAgLy8gSWYgdGhlIHJlZ2lvbnMgYmVs
b25nIHRvIGRpZmZlcmVudCBub2RlcywgY29tcGFyZSB0aGVpciBwb3NpdGlvbiBpbiB0aGUgRE9N
LgogICAgIGlmIChmaXJzdEZyYWdtZW50LT5nZW5lcmF0aW5nRWxlbWVudCgpICE9IHNlY29uZEZy
YWdtZW50LT5nZW5lcmF0aW5nRWxlbWVudCgpKSB7Ci0gICAgICAgIHVuc2lnbmVkIHNob3J0IHBv
c2l0aW9uID0gZmlyc3RGcmFnbWVudC0+Z2VuZXJhdGluZ0VsZW1lbnQoKS0+Y29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oc2Vjb25kRnJhZ21lbnQtPmdlbmVyYXRpbmdFbGVtZW50KCkpOworICAgICAg
ICB1bnNpZ25lZCBzaG9ydCBwb3NpdGlvbiA9IGZpcnN0RnJhZ21lbnQtPmdlbmVyYXRpbmdFbGVt
ZW50KCktPmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCpzZWNvbmRGcmFnbWVudC0+Z2VuZXJhdGlu
Z0VsZW1lbnQoKSk7CiAKICAgICAgICAgLy8gSWYgdGhlIHNlY29uZCByZWdpb24gaXMgY29udGFp
bmVkIGluIHRoZSBmaXJzdCBvbmUsIHRoZSBmaXJzdCByZWdpb24gaXMgImxlc3MiIGlmIGl0J3Mg
OmJlZm9yZS4KICAgICAgICAgaWYgKHBvc2l0aW9uICYgTm9kZTo6RE9DVU1FTlRfUE9TSVRJT05f
Q09OVEFJTkVEX0JZKSB7CkBAIC01MDMsNyArNTA1LDcgQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dU
aHJlYWQ6OnJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1lbnQoRWxlbWVudCYgY29udGVudEVs
ZW0KIAogICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbnRlbnQgbm9kZSBmb2xsb3dpbmcgdGhlIG5l
dyBjb250ZW50IG5vZGUuCiAgICAgZm9yIChhdXRvJiBlbGVtZW50IDogbV9jb250ZW50RWxlbWVu
dHMpIHsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgcG9zaXRpb24gPSBjb250ZW50RWxlbWVudC5j
b21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbGVtZW50KTsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQg
cG9zaXRpb24gPSBjb250ZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbigqZWxlbWVu
dCk7CiAgICAgICAgIGlmIChwb3NpdGlvbiAmIE5vZGU6OkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExP
V0lORykgewogICAgICAgICAgICAgbV9jb250ZW50RWxlbWVudHMuaW5zZXJ0QmVmb3JlKGVsZW1l
bnQsICZjb250ZW50RWxlbWVudCk7CiAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFJlZ2lzdGVyTmFtZWRGbG93Q29udGVudEVsZW1lbnQoZG9jdW1lbnQoKSwgbmFtZWRG
bG93KCksIGNvbnRlbnRFbGVtZW50LCBlbGVtZW50KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDVmNDk2MmJjNmFiN2UxYWE0MDRmNDUwMGJlZjg4MzRmNzM0ZmI2NTMuLmQ5ZTA0
OGM4ZmVkYjM2MDcyNGEzMzQ1YzFlZTRjOTc2MjViMTZlMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE2LTA3LTIxICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgUGFyYW1ldGVyIHRvIE5vZGUuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oKSBzaG91bGQgYmUgbWFuZGF0b3J5IGFuZCBub24tbnVsbGFibGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDA3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgc2V2
ZXJhbCBXM0MgdGVzdHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dDoKKworMjAxNi0wNy0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAg
ICAgIFBhcmFtZXRlciB0byBEb2N1bWVudC5jcmVhdGVFdmVudCgpIHNob3VsZCBiZSBtYW5kYXRv
cnkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDA2
NQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGMx
NmI3M2E3MjBiY2JiNDQ1YTY5NGUzNGRmODAxNmNhNzUyOThjYTcuLjRlMzkzZWU0YjhkZGE3NWNi
ZmQyY2NmMmNmNGIxNTE4ZDBlYzk2YzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2ludGVyZmFj
ZXMtZXhwZWN0ZWQudHh0CkBAIC0yMzAsNyArMjMwLDcgQEAgUEFTUyBOb2RlIGludGVyZmFjZTog
Y29uc3RhbnQgRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIG9uIGludGVyZmFjZSBvYmpl
Y3QKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGNvbnN0YW50IERPQ1VNRU5UX1BPU0lUSU9OX0NPTlRB
SU5FRF9CWSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgTm9kZSBpbnRlcmZh
Y2U6IGNvbnN0YW50IERPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIG9u
IGludGVyZmFjZSBvYmplY3QgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBjb25zdGFudCBET0NVTUVO
VF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyBvbiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKLUZBSUwgTm9kZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihOb2RlKSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBoYXMgd3JvbmcgLmxlbmd0aCBl
eHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBOb2RlIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIAogRkFJTCBOb2RlIGludGVyZmFjZTogb3BlcmF0aW9u
IGNvbnRhaW5zKE5vZGUpIGFzc2VydF9lcXVhbHM6IHByb3BlcnR5IGhhcyB3cm9uZyAubGVuZ3Ro
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCiBGQUlMIE5vZGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gbG9v
a3VwUHJlZml4KERPTVN0cmluZykgYXNzZXJ0X2VxdWFsczogcHJvcGVydHkgaGFzIHdyb25nIC5s
ZW5ndGggZXhwZWN0ZWQgMSBidXQgZ290IDAKIEZBSUwgTm9kZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBsb29rdXBOYW1lc3BhY2VVUkkoRE9NU3RyaW5nKSBhc3NlcnRfZXF1YWxzOiBwcm9wZXJ0eSBo
YXMgd3JvbmcgLmxlbmd0aCBleHBlY3RlZCAxIGJ1dCBnb3QgMApAQCAtMzg3LDkgKzM4Nyw3IEBA
IFBBU1MgTm9kZSBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiRE9DVU1FTlRfUE9TSVRJT05fQ09OCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBuZXcgRG9jdW1l
bnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9C
WSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM1KSAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IG5ldyBE
b2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVN
RU5UQVRJT05fU1BFQ0lGSUMiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNikgCiBQQVNTIE5vZGUg
aW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBhcmVE
b2N1bWVudFBvc2l0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzcpIAotRkFJTCBOb2RlIGlu
dGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKSBvbiBuZXcgRG9j
dW1lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2Vy
dF90aHJvd3M6IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
Ci0gICAgICAgICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90IHRo
cm93CitQQVNTIE5vZGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9u
KE5vZGUpIG9uIG5ldyBEb2N1bWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImNvbnRhaW5zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzgpIAogRkFJ
TCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb250YWlucyhOb2RlKSBvbiBuZXcgRG9jdW1lbnQo
KSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJv
d3M6IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAg
ICAgICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwpAQCAtNTMzLDkgKzUzMSw3IEBAIFBBU1MgTm9k
ZSBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRPQ1VNRU5UX1BPU0lU
SU9OX0NPTlRBSU5TIiB3CiBQQVNTIE5vZGUgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgzNSkgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDM2KSAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMzcpIAotRkFJTCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihOb2RlKSBvbiB4bWxEb2Mgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsKLSAgICAg
ICAgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihOb2RlKSBvbiB4bWxEb2Mgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImNvbnRhaW5zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzgpIAogRkFJ
TCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb250YWlucyhOb2RlKSBvbiB4bWxEb2Mgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBDYWxs
ZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
Zm4uYXBwbHkob2JqLCBhcmdzKTsKQEAgLTY1Nyw5ICs2NTMsNyBAQCBQQVNTIE5vZGUgaW50ZXJm
YWNlOiBkb2N1bWVudC5kb2N0eXBlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9T
SVRJT05fQwogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuZG9jdHlwZSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDM1KSAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmRvY3R5cGUgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVD
SUZJQyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM2KSAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRv
Y3VtZW50LmRvY3R5cGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlRG9jdW1lbnRQb3Np
dGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM3KSAKLUZBSUwgTm9kZSBpbnRlcmZhY2U6IGNh
bGxpbmcgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24gZG9jdW1lbnQuZG9jdHlwZSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6
IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90IHRocm93CitQQVNT
IE5vZGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIG9u
IGRvY3VtZW50LmRvY3R5cGUgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmRvY3R5cGUgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJjb250YWlucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM4KSAKIEZBSUwgTm9k
ZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29udGFpbnMoTm9kZSkgb24gZG9jdW1lbnQuZG9jdHlwZSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6
IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAgICAg
ICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwpAQCAtNzY5LDkgKzc2Myw3IEBAIFBBU1MgTm9kZSBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIkRPCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1bWVu
dEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9DT05U
QUlORURfQlkiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNSkgCiBQQVNTIE5vZGUgaW50ZXJmYWNl
OiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQyIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgKDM2KSAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZURvY3Vt
ZW50RnJhZ21lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBhcmVEb2N1bWVudFBvc2l0
aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzcpIAotRkFJTCBOb2RlIGludGVyZmFjZTogY2Fs
bGluZyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2RlKSBvbiBkb2N1bWVudC5jcmVhdGVEb2N1
bWVudEZyYWdtZW50KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciBhc3NlcnRfdGhyb3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsKLSAgICAgICAgfSIgZGlk
IG5vdCB0aHJvdworUEFTUyBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9jdW1lbnRQ
b3NpdGlvbihOb2RlKSBvbiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgTm9kZSBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImNvbnRhaW5zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzgpIAogRkFJTCBOb2RlIGludGVy
ZmFjZTogY2FsbGluZyBjb250YWlucyhOb2RlKSBvbiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZy
YWdtZW50KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3Nl
cnRfdGhyb3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
ewogICAgICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsKQEAgLTk5MCw5ICs5ODIsNyBAQCBQ
QVNTIE5vZGUgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1F
TlRfUE9TSVRJT05fQ09OVEFJTlMiCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBlbGVtZW50IG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMzUpIAogUEFTUyBOb2RlIGludGVyZmFjZTogZWxlbWVudCBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklD
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzYpIAogUEFTUyBOb2RlIGludGVyZmFjZTogZWxlbWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMzcpIAotRkFJTCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJl
RG9jdW1lbnRQb3NpdGlvbihOb2RlKSBvbiBlbGVtZW50IHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVu
dHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJn
cyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTm9kZSBpbnRlcmZhY2U6IGNhbGxp
bmcgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24gZWxlbWVudCB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBOb2RlIGludGVyZmFjZTogZWxl
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbnRhaW5zIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMzgpIAogRkFJTCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb250YWlucyhOb2RlKSBvbiBl
bGVtZW50IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7CkBAIC0xMTY3LDkgKzExNTcsNyBAQCBQ
QVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiYWJjIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJET0NVTQogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJ
T05fQ09OVEFJTkVEX0JZIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzUpIAogUEFTUyBOb2RlIGlu
dGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMiIHdpdGggdGhl
IHByb3BlciB0eXBlICgzNikgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlRG9jdW1lbnRQb3Np
dGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM3KSAKLUZBSUwgTm9kZSBpbnRlcmZhY2U6IGNh
bGxpbmcgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoImFiYyIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
YXNzZXJ0X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBu
b3QgdGhyb3cKK1BBU1MgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29tcGFyZURvY3VtZW50UG9z
aXRpb24oTm9kZSkgb24gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb250
YWlucyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM4KSAKIEZBSUwgTm9kZSBpbnRlcmZhY2U6IGNh
bGxpbmcgY29udGFpbnMoTm9kZSkgb24gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImFiYyIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czog
Q2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7CkBAIC0xMjc3LDkgKzEyNjUsNyBAQCBQQVNTIE5vZGUg
aW50ZXJmYWNlOiB4bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVm
IikgbXVzdCBpbmhlcgogUEFTUyBOb2RlIGludGVyZmFjZTogeG1sRG9jLmNyZWF0ZVByb2Nlc3Np
bmdJbnN0cnVjdGlvbigiYWJjIiwgImRlZiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1F
TlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzUpIAogUEFT
UyBOb2RlIGludGVyZmFjZTogeG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigiYWJj
IiwgImRlZiIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVN
RU5UQVRJT05fU1BFQ0lGSUMiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNikgCiBQQVNTIE5vZGUg
aW50ZXJmYWNlOiB4bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCJhYmMiLCAiZGVm
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDM3KSAKLUZBSUwgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29tcGFy
ZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24geG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVj
dGlvbigiYWJjIiwgImRlZiIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgYXNzZXJ0X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0i
IGRpZCBub3QgdGhyb3cKK1BBU1MgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24oTm9kZSkgb24geG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigi
YWJjIiwgImRlZiIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIE5vZGUgaW50ZXJmYWNlOiB4bWxEb2MuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9u
KCJhYmMiLCAiZGVmIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb250YWlucyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgKDM4KSAKIEZBSUwgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29udGFpbnMo
Tm9kZSkgb24geG1sRG9jLmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigiYWJjIiwgImRlZiIp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93
czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAg
ICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7CkBAIC0xMzg1LDkgKzEzNzEsNyBAQCBQQVNTIE5v
ZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIkRPQ1VNRQogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlQ29t
bWVudCgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9DT05U
QUlORURfQlkiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNSkgCiBQQVNTIE5vZGUgaW50ZXJmYWNl
OiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMzYpIAogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgi
YWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgKDM3KSAKLUZBSUwgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29t
cGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJj
Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfdGhy
b3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAg
ICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsKLSAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwor
UEFTUyBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihOb2Rl
KSBvbiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCJhYmMiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlQ29tbWVudCgiYWJjIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb250YWlucyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDM4KSAKIEZBSUwgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29udGFp
bnMoTm9kZSkgb24gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiYWJjIikgd2l0aCB0b28gZmV3IGFy
Z3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBDYWxsZWQgd2l0aCAw
IGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgZm4uYXBwbHko
b2JqLCBhcmdzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9kb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVyZmFjZXMtZXhw
ZWN0ZWQudHh0CmluZGV4IGI3ZWRhYTdmMjBhZTBiZDAyYzRkZDU3ODE3ZjBhMGY2YzZkMjllZTcu
LmZjMWU1OTVkMzdmNmM0MjQyODNjZjY4YjUyY2VlZDMxYWU2MDdkZmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaW50ZXJm
YWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2RvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMzY2LDkgKzM2
Niw3IEBAIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBpZnJh
bWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJ
T05fQ09OVEFJTkVEX0JZIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzMpIAogUEFTUyBOb2RlIGlu
dGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRP
Q1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMzQpIAogUEFTUyBOb2RlIGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAoMzUpIAotRkFJTCBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9j
dW1lbnRQb3NpdGlvbihOb2RlKSBvbiBpZnJhbWUuY29udGVudERvY3VtZW50IHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czogQ2FsbGVkIHdp
dGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGZuLmFw
cGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTm9kZSBpbnRl
cmZhY2U6IGNhbGxpbmcgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9kZSkgb24gaWZyYW1lLmNv
bnRlbnREb2N1bWVudCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAogUEFTUyBOb2RlIGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImNvbnRhaW5zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzYpIAogRkFJTCBO
b2RlIGludGVyZmFjZTogY2FsbGluZyBjb250YWlucyhOb2RlKSBvbiBpZnJhbWUuY29udGVudERv
Y3VtZW50IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
ICAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7CkBAIC02NDYsOSArNjQ0LDcgQEAgUEFT
UyBOb2RlIGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJE
T0NVTUVOVF9QT1NJVElPTl9DT04KIFBBU1MgTm9kZSBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzMpIAogUEFTUyBOb2RlIGludGVyZmFjZTogbmV3IERvY3Vt
ZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRB
VElPTl9TUEVDSUZJQyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDM0KSAKIFBBU1MgTm9kZSBpbnRl
cmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlICgzNSkgCi1GQUlMIE5vZGUgaW50ZXJm
YWNlOiBjYWxsaW5nIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIG9uIG5ldyBEb2N1bWVu
dCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Ro
cm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhyb3cK
K1BBU1MgTm9kZSBpbnRlcmZhY2U6IGNhbGxpbmcgY29tcGFyZURvY3VtZW50UG9zaXRpb24oTm9k
ZSkgb24gbmV3IERvY3VtZW50KCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5
cGVFcnJvciAKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiY29udGFpbnMiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNikgCiBGQUlMIE5v
ZGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbnRhaW5zKE5vZGUpIG9uIG5ldyBEb2N1bWVudCgpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czog
Q2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7CkBAIC05MjksOSArOTI1LDcgQEAgUEFTUyBOb2RlIGlu
dGVyZmFjZTogZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQobnVsbCwgIiIs
IG51bGwpIG11c3QKIFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmltcGxlbWVudGF0aW9u
LmNyZWF0ZURvY3VtZW50KG51bGwsICIiLCBudWxsKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRP
Q1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDMzKSAK
IFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3Vt
ZW50KG51bGwsICIiLCBudWxsKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkRPQ1VNRU5UX1BPU0lU
SU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMzQpIAog
UEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1l
bnQobnVsbCwgIiIsIG51bGwpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGFyZURvY3VtZW50
UG9zaXRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlICgzNSkgCi1GQUlMIE5vZGUgaW50ZXJmYWNl
OiBjYWxsaW5nIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIG9uIGRvY3VtZW50LmltcGxl
bWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KG51bGwsICIiLCBudWxsKSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6IENhbGxlZCB3aXRoIDAg
YXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBmbi5hcHBseShv
YmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIE5vZGUgaW50ZXJmYWNl
OiBjYWxsaW5nIGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIG9uIGRvY3VtZW50LmltcGxl
bWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KG51bGwsICIiLCBudWxsKSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBOb2RlIGludGVyZmFjZTogZG9jdW1l
bnQuaW1wbGVtZW50YXRpb24uY3JlYXRlRG9jdW1lbnQobnVsbCwgIiIsIG51bGwpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiY29udGFpbnMiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNikgCiBGQUlM
IE5vZGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbnRhaW5zKE5vZGUpIG9uIGRvY3VtZW50LmltcGxl
bWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KG51bGwsICIiLCBudWxsKSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6IENhbGxlZCB3aXRoIDAg
YXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICBmbi5hcHBseShv
YmosIGFyZ3MpOwpAQCAtMTMzNSw5ICsxMzI5LDcgQEAgUEFTUyBOb2RlIGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkQK
IFBBU1MgTm9kZSBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkiIHdp
dGggdGhlIHByb3BlciB0eXBlICgzMykgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRE9DVU1FTlRf
UE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMiIHdpdGggdGhlIHByb3BlciB0eXBlICgz
NCkgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Njcmlw
dCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGFyZURvY3VtZW50UG9zaXRpb24iIHdpdGgg
dGhlIHByb3BlciB0eXBlICgzNSkgCi1GQUlMIE5vZGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNvbXBh
cmVEb2N1bWVudFBvc2l0aW9uKE5vZGUpIG9uIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2Ny
aXB0Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRf
dGhyb3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewot
ICAgICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsKLSAgICAgICAgfSIgZGlkIG5vdCB0aHJv
dworUEFTUyBOb2RlIGludGVyZmFjZTogY2FsbGluZyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbihO
b2RlKSBvbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIE5vZGUgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29u
dGFpbnMiIHdpdGggdGhlIHByb3BlciB0eXBlICgzNikgCiBGQUlMIE5vZGUgaW50ZXJmYWNlOiBj
YWxsaW5nIGNvbnRhaW5zKE5vZGUpIG9uIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0
Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfdGhy
b3dzOiBDYWxsZWQgd2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewogICAg
ICAgICAgICAgZm4uYXBwbHkob2JqLCBhcmdzKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>