<?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>228965</bug_id>
          
          <creation_ts>2021-08-10 12:21:56 -0700</creation_ts>
          <short_desc>Meta HTTP refresh should not navigate if document has sandboxed automatic features browsing context flag set</short_desc>
          <delta_ts>2021-08-10 16:20:23 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783248</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-10 12:21:56 -0700</bug_when>
    <thetext>Meta HTTP refresh should not navigate if document has sandboxed automatic features browsing context flag set:
- https://html.spec.whatwg.org/multipage/semantics.html#shared-declarative-refresh-steps (Step 13)

Firefox and Chrome already behave this way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783250</commentid>
    <comment_count>1</comment_count>
      <attachid>435281</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-10 12:26:39 -0700</bug_when>
    <thetext>Created attachment 435281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783314</commentid>
    <comment_count>2</comment_count>
      <attachid>435281</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-10 15:05:20 -0700</bug_when>
    <thetext>Comment on attachment 435281
Patch

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

&gt; Source/WebCore/loader/NavigationScheduler.cpp:186
&gt; +            if (auto* document = frame.document()) {
&gt; +                if (document-&gt;isSandboxed(SandboxAutomaticFeatures)) {

Rather than nesting, I like this style:

    if (auto document = frame.document(); document &amp;&amp; document-&gt;isSandboxed(SandboxAutomaticFeatures) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783315</commentid>
    <comment_count>3</comment_count>
      <attachid>435281</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-10 15:05:45 -0700</bug_when>
    <thetext>Comment on attachment 435281
Patch

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

&gt;&gt; Source/WebCore/loader/NavigationScheduler.cpp:186
&gt;&gt; +                if (document-&gt;isSandboxed(SandboxAutomaticFeatures)) {
&gt; 
&gt; Rather than nesting, I like this style:
&gt; 
&gt;     if (auto document = frame.document(); document &amp;&amp; document-&gt;isSandboxed(SandboxAutomaticFeatures) {

Not saying you must change this, just telling you the style I prefer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783317</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-10 15:06:41 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 435281 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=435281&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/loader/NavigationScheduler.cpp:186
&gt; &gt;&gt; +                if (document-&gt;isSandboxed(SandboxAutomaticFeatures)) {
&gt; &gt; 
&gt; &gt; Rather than nesting, I like this style:
&gt; &gt; 
&gt; &gt;     if (auto document = frame.document(); document &amp;&amp; document-&gt;isSandboxed(SandboxAutomaticFeatures) {
&gt; 
&gt; Not saying you must change this, just telling you the style I prefer.

Oh, indeed. It is nicer and will make the update. My brain just hasn&apos;t adjusted to the new C++ syntax yet :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783323</commentid>
    <comment_count>5</comment_count>
      <attachid>435302</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-10 15:14:34 -0700</bug_when>
    <thetext>Created attachment 435302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783349</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-10 16:19:11 -0700</bug_when>
    <thetext>Committed r280870 (240409@main): &lt;https://commits.webkit.org/240409@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435302.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783350</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-10 16:20:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/81766558&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435281</attachid>
            <date>2021-08-10 12:26:39 -0700</date>
            <delta_ts>2021-08-10 15:14:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228965-20210810122638.patch</filename>
            <type>text/plain</type>
            <size>18051</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGMzNTZhMzEzYTEyOGJj
M2FjOWQ1NDNjMWQ3ZDIxZTdlMGZiYjgwNi4uMWVhY2VlZGQxY2IzYTViZTFjMDQxN2EzZDdjOTJh
MDBmZjZmN2EzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWV0YSBIVFRQIHJlZnJlc2gg
c2hvdWxkIG5vdCBuYXZpZ2F0ZSBpZiBkb2N1bWVudCBoYXMgc2FuZGJveGVkIGF1dG9tYXRpYyBm
ZWF0dXJlcyBicm93c2luZyBjb250ZXh0IGZsYWcgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5NjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXRhIEhUVFAgcmVmcmVzaCBzaG91bGQgbm90IG5h
dmlnYXRlIGlmIGRvY3VtZW50IGhhcyBzYW5kYm94ZWQgYXV0b21hdGljIGZlYXR1cmVzIGJyb3dz
aW5nIGNvbnRleHQgZmxhZyBzZXQ6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjc2hhcmVkLWRlY2xhcmF0aXZlLXJlZnJlc2gt
c3RlcHMgKFN0ZXAgMTMpCisKKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFscmVhZHkgYmVo
YXZlIHRoaXMgd2F5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnByb2Nlc3NNZXRhSHR0cEVxdWl2KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VS
ZWNlaXZlZCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6c2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQpOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5cGVzLmg6Cisg
ICAgICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NoZWR1bGVkUmVkaXJlY3Q6OlNjaGVkdWxlZFJlZGlyZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlUmVkaXJlY3QpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmg6CisKIDIwMjEtMDgtMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xp
Y3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAyMjU5
NjFmOWY3NzkxZjY2ZTJkOWQ5ZWQzMjVjMzliMzllNzZkODJjLi41NmViMTU2Y2FiMWFkYWJkNDA2
OGExMDk4NGZkNzFkYTAxZWNlMDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM3MjQs
NyArMzcyNCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldEhhc0VsZW1lbnRVc2luZ1N0eWxlQmFzZWRF
ZGl0YWJpbGl0eSgpCiAgICAgbV9oYXNFbGVtZW50VXNpbmdTdHlsZUJhc2VkRWRpdGFiaWxpdHkg
PSB0cnVlOwogfQogCi12b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmlu
ZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBpc0luRG9jdW1lbnRIZWFkKQor
dm9pZCBEb2N1bWVudDo6cHJvY2Vzc01ldGFIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwg
Y29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGlzSW5Eb2N1bWVudEhlYWQpCiB7CiAgICAgQVNT
RVJUKCFlcXVpdi5pc051bGwoKSk7CiAgICAgQVNTRVJUKCFjb250ZW50LmlzTnVsbCgpKTsKQEAg
LTM3NjksNyArMzc2OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3Qg
U3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sCiAKICAgICBjYXNlIEhU
VFBIZWFkZXJOYW1lOjpSZWZyZXNoOgogICAgICAgICBpZiAoZnJhbWUpCi0gICAgICAgICAgICBm
cmFtZS0+bG9hZGVyKCkuc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoKnRoaXMsIGNvbnRlbnQpOwor
ICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLnNjaGVkdWxlUmVmcmVzaElmTmVlZGVkKCp0aGlz
LCBjb250ZW50LCBJc01ldGFSZWZyZXNoOjpZZXMpOwogICAgICAgICBicmVhazsKIAogICAgIGNh
c2UgSFRUUEhlYWRlck5hbWU6OlNldENvb2tpZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZGE2
OTMzMjQ1ZjMxMGM0ZTA1NjA4YzJjMmUyN2E1NTg0NmZiYWQ2OC4uOGM1MmVkODkzMjk5MGFjMzgy
NWFkMGExNTllY2JiYjMxZDg0MjhiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTg5Miw3ICs4
OTIsNyBAQCBwdWJsaWM6CiAgICAgLy8gd2hlbiBhIG1ldGEgdGFnIGlzIGVuY291bnRlcmVkIGR1
cmluZyBkb2N1bWVudCBwYXJzaW5nLCBhbmQgYWxzbyB3aGVuIGEgc2NyaXB0IGR5bmFtaWNhbGx5
IGNoYW5nZXMgb3IgYWRkcyBhIG1ldGEKICAgICAvLyB0YWcuIFRoaXMgZW5hYmxlcyBzY3JpcHRz
IHRvIHVzZSBtZXRhIHRhZ3MgdG8gcGVyZm9ybSByZWZyZXNoZXMgYW5kIHNldCBleHBpcnkgZGF0
ZXMgaW4gYWRkaXRpb24gdG8gdGhlbSBiZWluZwogICAgIC8vIHNwZWNpZmllZCBpbiBhbiBIVE1M
IGZpbGUuCi0gICAgdm9pZCBwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNv
bnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBpc0luRG9jdW1lbnRIZWFkKTsKKyAgICB2b2lkIHBy
b2Nlc3NNZXRhSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29u
dGVudCwgYm9vbCBpc0luRG9jdW1lbnRIZWFkKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgdm9pZCBwcm9jZXNzRm9ybWF0RGV0ZWN0aW9uKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCmluZGV4IDAwMGNmNGYwNDA2YjUyMzFlNjJk
ZTI5M2MwZjkwZjc5YmUwNTdmNTkuLmJmNGY5MWNjYjgyOGVmMjI1MmY4MzM4MDdjYTAwMGRiOWUx
MDIzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKQEAgLTE4MSw3
ICsxODEsNyBAQCB2b2lkIEhUTUxNZXRhRWxlbWVudDo6cHJvY2VzcygpCiAKICAgICBjb25zdCBB
dG9tU3RyaW5nJiBodHRwRXF1aXZWYWx1ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oaHR0cF9lcXVpdkF0dHIpOwogICAgIGlmICghaHR0cEVxdWl2VmFsdWUuaXNOdWxsKCkpCi0g
ICAgICAgIGRvY3VtZW50KCkucHJvY2Vzc0h0dHBFcXVpdihodHRwRXF1aXZWYWx1ZSwgY29udGVu
dFZhbHVlLCBpc0Rlc2NlbmRhbnRPZihkb2N1bWVudCgpLmhlYWQoKSkpOworICAgICAgICBkb2N1
bWVudCgpLnByb2Nlc3NNZXRhSHR0cEVxdWl2KGh0dHBFcXVpdlZhbHVlLCBjb250ZW50VmFsdWUs
IGlzRGVzY2VuZGFudE9mKGRvY3VtZW50KCkuaGVhZCgpKSk7CiB9CiAKIGNvbnN0IEF0b21TdHJp
bmcmIEhUTUxNZXRhRWxlbWVudDo6Y29udGVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBlODkwMTU2NDQ3OTc0OGVhNDY5YWE5ZGM5MzdiOWZm
MjRmMWU5ODY1Li4zZTRmZjllMDQ5NjRiMTZiNDI4MDkyNmNmOWUwMzI4MDUwM2M3YmUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTkyNyw3ICs5MjcsNyBA
QCB2b2lkIERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiBy
ZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZQogICAgICAgICAgICAgYXV0byBmaXJzdFBhcnR5RG9t
YWluID0gUmVnaXN0cmFibGVEb21haW4ocmVzcG9uc2UudXJsKCkpOwogICAgICAgICAgICAgaWYg
KGF1dG8gbG9naW5Eb21haW5zID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzdWJSZXNvdXJjZURv
bWFpbnNJbk5lZWRPZlN0b3JhZ2VBY2Nlc3NGb3JGaXJzdFBhcnR5KGZpcnN0UGFydHlEb21haW4p
KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFRdWlya3M6Omhhc1N0b3JhZ2VBY2Nlc3NGb3JBbGxM
b2dpbkRvbWFpbnMoKmxvZ2luRG9tYWlucywgZmlyc3RQYXJ0eURvbWFpbikpIHsKLSAgICAgICAg
ICAgICAgICAgICAgbV9mcmFtZS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLnNjaGVkdWxlUmVkaXJl
Y3QoZG9jdW1lbnQsIDAsIG1pY3Jvc29mdFRlYW1zUmVkaXJlY3RVUkwoKSk7CisgICAgICAgICAg
ICAgICAgICAgIG1fZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZVJlZGlyZWN0
KGRvY3VtZW50LCAwLCBtaWNyb3NvZnRUZWFtc1JlZGlyZWN0VVJMKCksIElzTWV0YVJlZnJlc2g6
Ok5vKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDgzOTgz
YzZhMzA1M2JmN2M0ZWUzNzM3YmNiY2QxODkxMDE5MTg2ODIuLmQzMDg5NzkyM2FlMmFjNzQzOTc0
YzY5NzQ1NDg1ZTdjYzAxMDNkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtNzEzLDcgKzcxMyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlY2VpdmVkRmlyc3REYXRh
KCkKIAogICAgIExpbmtMb2FkZXI6OmxvYWRMaW5rc0Zyb21IZWFkZXIoZG9jdW1lbnRMb2FkZXIu
cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkxpbmspLCBkb2N1bWVu
dC51cmwoKSwgZG9jdW1lbnQsIExpbmtMb2FkZXI6Ok1lZGlhQXR0cmlidXRlQ2hlY2s6Ok1lZGlh
QXR0cmlidXRlRW1wdHkpOwogCi0gICAgc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoZG9jdW1lbnQs
IGRvY3VtZW50TG9hZGVyLnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpSZWZyZXNoKSk7CisgICAgc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoZG9jdW1lbnQsIGRvY3Vt
ZW50TG9hZGVyLnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpSZWZy
ZXNoKSwgSXNNZXRhUmVmcmVzaDo6Tm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzZXRPdXRn
b2luZ1JlZmVycmVyKGNvbnN0IFVSTCYgdXJsKQpAQCAtMjk2OCwxNCArMjk2OCwxNCBAQCB2b2lk
IEZyYW1lTG9hZGVyOjp1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMoUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBJc01haQogICAgICAgICByZXF1ZXN0LnNldElzQXBwSW5pdGlhdGVkKG1f
ZnJhbWUubWFpbkZyYW1lKCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+bGFzdE5hdmlnYXRp
b25XYXNBcHBJbml0aWF0ZWQoKSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OnNjaGVkdWxlUmVm
cmVzaElmTmVlZGVkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBjb250ZW50KQor
dm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIElzTWV0YVJlZnJlc2ggaXNNZXRhUmVmcmVzaCkK
IHsKICAgICBkb3VibGUgZGVsYXkgPSAwOwogICAgIFN0cmluZyB1cmxTdHJpbmc7CiAgICAgaWYg
KHBhcnNlTWV0YUhUVFBFcXVpdlJlZnJlc2goY29udGVudCwgZGVsYXksIHVybFN0cmluZykpIHsK
ICAgICAgICAgYXV0byBjb21wbGV0ZWRVUkwgPSB1cmxTdHJpbmcuaXNFbXB0eSgpID8gZG9jdW1l
bnQudXJsKCkgOiBkb2N1bWVudC5jb21wbGV0ZVVSTCh1cmxTdHJpbmcpOwogICAgICAgICBpZiAo
IWNvbXBsZXRlZFVSTC5wcm90b2NvbElzSmF2YVNjcmlwdCgpKQotICAgICAgICAgICAgbV9mcmFt
ZS5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVSZWRpcmVjdChkb2N1bWVudCwgZGVsYXks
IGNvbXBsZXRlZFVSTCk7CisgICAgICAgICAgICBtX2ZyYW1lLm5hdmlnYXRpb25TY2hlZHVsZXIo
KS5zY2hlZHVsZVJlZGlyZWN0KGRvY3VtZW50LCBkZWxheSwgY29tcGxldGVkVVJMLCBpc01ldGFS
ZWZyZXNoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJS
ZWZ1c2VkIHRvIHJlZnJlc2ggIiArIGRvY3VtZW50LnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6
ZWRUb0xlbmd0aCgpICsgIiB0byBhIGphdmFzY3JpcHQ6IFVSTCI7CiAgICAgICAgICAgICBkb2N1
bWVudC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4
IGQzNGJkNTdjMGMwZTY4ZDdmOTg1NDNiZjViNjg2NGM5NWU3NmM4NDIuLjZmM2JkYmVmY2EzOWZi
ZmMyM2Y5ZDE0YzliMjcxMTIyNmRlMjRhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC0zMTksNyArMzE5LDcgQEAgcHVibGljOgogICAgIC8vIEZvciBzdWJyZXNvdXJjZSBy
ZXF1ZXN0cyB0aGUgRnJhbWVMb2FkVHlwZSBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBhbmQgY2Fu
IGJlIHNraXBwZWQuCiAgICAgdm9pZCB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMoUmVz
b3VyY2VSZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBGcmFtZUxvYWRU
eXBlOjpTdGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwSW5pdGlhdGVkVmFsdWUgPSBTaG91bGRVcGRh
dGVBcHBJbml0aWF0ZWRWYWx1ZTo6WWVzKTsKIAotICAgIHZvaWQgc2NoZWR1bGVSZWZyZXNoSWZO
ZWVkZWQoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpOworICAgIHZvaWQgc2NoZWR1
bGVSZWZyZXNoSWZOZWVkZWQoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIElzTWV0
YVJlZnJlc2gpOwogCiAgICAgdm9pZCBzd2l0Y2hCcm93c2luZ0NvbnRleHRzR3JvdXAoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggODQ5NzFjYjJmMzU4
YWM5ZWY0MzRmMzM2NGM0N2I0YzRlZWI3MjRiOS4uYzUxNWJhZTRkMjE4YjM1MmRmZDIyNTBkYWI1
MDg0YzU0M2ViODg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5o
CkBAIC02OSw2ICs2OSw3IEBAIGVudW0gY2xhc3MgRnJhbWVMb2FkVHlwZSA6IHVpbnQ4X3Qgewog
ICAgIFJlbG9hZEV4cGlyZWRPbmx5CiB9OwogCitlbnVtIGNsYXNzIElzTWV0YVJlZnJlc2ggOiBi
b29sIHsgTm8sIFllcyB9OwogZW51bSBjbGFzcyBXaWxsQ29udGludWVMb2FkaW5nIDogYm9vbCB7
IE5vLCBZZXMgfTsKIAogY2xhc3MgUG9saWN5Q2hlY2tJZGVudGlmaWVyIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCAyZWM4YzYxNzg3NzQz
M2M1NzQxOWQ2MmMyYzcyOTQ2N2Y4MDY2YTVkLi43ZjM4MzhmNDA3N2ZlMGIwY2JlNTVkMjM3MmIz
OTg5YzA5MjQ1YzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hl
ZHVsZXIuY3BwCkBAIC0xNjcsOCArMTY3LDkgQEAgcHJpdmF0ZToKIAogY2xhc3MgU2NoZWR1bGVk
UmVkaXJlY3QgOiBwdWJsaWMgU2NoZWR1bGVkVVJMTmF2aWdhdGlvbiB7CiBwdWJsaWM6Ci0gICAg
U2NoZWR1bGVkUmVkaXJlY3QoRG9jdW1lbnQmIGluaXRpYXRpbmdEb2N1bWVudCwgZG91YmxlIGRl
bGF5LCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFVSTCYgdXJsLCBMb2Nr
SGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRM
aXN0KQorICAgIFNjaGVkdWxlZFJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQs
IGRvdWJsZSBkZWxheSwgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBVUkwm
IHVybCwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCwgSXNNZXRhUmVmcmVzaCBpc01ldGFSZWZyZXNoKQogICAgICAgICA6IFNj
aGVkdWxlZFVSTE5hdmlnYXRpb24oaW5pdGlhdGluZ0RvY3VtZW50LCBkZWxheSwgc2VjdXJpdHlP
cmlnaW4sIHVybCwgU3RyaW5nKCksIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBm
YWxzZSwgZmFsc2UpCisgICAgICAgICwgbV9pc01ldGFSZWZyZXNoKGlzTWV0YVJlZnJlc2gpCiAg
ICAgewogICAgICAgICBjbGVhclVzZXJHZXN0dXJlKCk7CiAgICAgfQpAQCAtMTgwLDYgKzE4MSwx
NSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGZpcmUoRnJhbWUmIGZyYW1lKSBvdmVycmlkZQogICAg
IHsKKyAgICAgICAgaWYgKG1faXNNZXRhUmVmcmVzaCA9PSBJc01ldGFSZWZyZXNoOjpZZXMpIHsK
KyAgICAgICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZyYW1lLmRvY3VtZW50KCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoZG9jdW1lbnQtPmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNG
ZWF0dXJlcykpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQtPmFkZENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiVW5hYmxl
IHRvIGRvIG1ldGEgcmVmcmVzaCBkdWUgdG8gc2FuZGJveGluZyJfcyk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKwogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yIHsgdXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSB9OwogCiAgICAgICAgIGJvb2wgcmVmcmVzaCA9IGVxdWFsSWdu
b3JpbmdGcmFnbWVudElkZW50aWZpZXIoZnJhbWUuZG9jdW1lbnQoKS0+dXJsKCksIHVybCgpKTsK
QEAgLTE5NCw2ICsyMDQsOSBAQCBwdWJsaWM6CiAKICAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hh
bmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAgfQorCitwcml2YXRl
OgorICAgIElzTWV0YVJlZnJlc2ggbV9pc01ldGFSZWZyZXNoOwogfTsKIAogY2xhc3MgU2NoZWR1
bGVkTG9jYXRpb25DaGFuZ2UgOiBwdWJsaWMgU2NoZWR1bGVkVVJMTmF2aWdhdGlvbiB7CkBAIC00
MDcsNyArNDIwLDcgQEAgaW5saW5lIGJvb2wgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2hvdWxkU2No
ZWR1bGVOYXZpZ2F0aW9uKGNvbnN0IFVSTCYgdXJsKSBjb25zdAogICAgIHJldHVybiBOYXZpZ2F0
aW9uRGlzYWJsZXI6OmlzTmF2aWdhdGlvbkFsbG93ZWQobV9mcmFtZSk7CiB9CiAKLXZvaWQgTmF2
aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVSZWRpcmVjdChEb2N1bWVudCYgaW5pdGlhdGluZ0Rv
Y3VtZW50LCBkb3VibGUgZGVsYXksIGNvbnN0IFVSTCYgdXJsKQordm9pZCBOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzY2hlZHVsZVJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQsIGRv
dWJsZSBkZWxheSwgY29uc3QgVVJMJiB1cmwsIElzTWV0YVJlZnJlc2ggaXNNZXRhUmVmcmVzaCkK
IHsKICAgICBpZiAoIXNob3VsZFNjaGVkdWxlTmF2aWdhdGlvbih1cmwpKQogICAgICAgICByZXR1
cm47CkBAIC00MTksNyArNDMyLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVs
ZVJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQsIGRvdWJsZQogICAgIC8vIFdl
IHdhbnQgYSBuZXcgYmFjay9mb3J3YXJkIGxpc3QgaXRlbSBpZiB0aGUgcmVmcmVzaCB0aW1lb3V0
IGlzID4gMSBzZWNvbmQuCiAgICAgaWYgKCFtX3JlZGlyZWN0IHx8IGRlbGF5IDw9IG1fcmVkaXJl
Y3QtPmRlbGF5KCkpIHsKICAgICAgICAgYXV0byBsb2NrQmFja0ZvcndhcmRMaXN0ID0gZGVsYXkg
PD0gMSA/IExvY2tCYWNrRm9yd2FyZExpc3Q6OlllcyA6IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5v
OwotICAgICAgICBzY2hlZHVsZShtYWtlVW5pcXVlPFNjaGVkdWxlZFJlZGlyZWN0Pihpbml0aWF0
aW5nRG9jdW1lbnQsIGRlbGF5LCAmbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigp
LCB1cmwsIExvY2tIaXN0b3J5OjpZZXMsIGxvY2tCYWNrRm9yd2FyZExpc3QpKTsKKyAgICAgICAg
c2NoZWR1bGUobWFrZVVuaXF1ZTxTY2hlZHVsZWRSZWRpcmVjdD4oaW5pdGlhdGluZ0RvY3VtZW50
LCBkZWxheSwgJm1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgdXJsLCBMb2Nr
SGlzdG9yeTo6WWVzLCBsb2NrQmFja0ZvcndhcmRMaXN0LCBpc01ldGFSZWZyZXNoKSk7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRl
eCA5N2MyM2IxNTA5MmJmMzkzYjMxZDIwYzhmMzRkMjU3NzI2MzFjYzkwLi4zOGFjZmNlZDA5MDE5
M2M5ZjJmYjYyMWZmNmVlZTBhNjJhOGQ1OTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogICAgIGJvb2wg
cmVkaXJlY3RTY2hlZHVsZWREdXJpbmdMb2FkKCk7CiAgICAgYm9vbCBsb2NhdGlvbkNoYW5nZVBl
bmRpbmcoKTsKIAotICAgIHZvaWQgc2NoZWR1bGVSZWRpcmVjdChEb2N1bWVudCYgaW5pdGlhdGlu
Z0RvY3VtZW50LCBkb3VibGUgZGVsYXksIGNvbnN0IFVSTCYpOworICAgIHZvaWQgc2NoZWR1bGVS
ZWRpcmVjdChEb2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50LCBkb3VibGUgZGVsYXksIGNvbnN0
IFVSTCYsIElzTWV0YVJlZnJlc2gpOwogICAgIHZvaWQgc2NoZWR1bGVMb2NhdGlvbkNoYW5nZShE
b2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50LCBTZWN1cml0eU9yaWdpbiYsIGNvbnN0IFVSTCYs
IGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIExvY2tIaXN0b3J5ID0gTG9ja0hpc3Rvcnk6Olllcywg
TG9ja0JhY2tGb3J3YXJkTGlzdCA9IExvY2tCYWNrRm9yd2FyZExpc3Q6OlllcywgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmID0gW10geyB9KTsKICAgICB2b2lkIHNjaGVkdWxlRm9ybVN1Ym1p
c3Npb24oUmVmPEZvcm1TdWJtaXNzaW9uPiYmKTsKICAgICB2b2lkIHNjaGVkdWxlUmVmcmVzaChE
b2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNWRkODg3OGFkMDA4ODA4YzUw
MzUzNDM0NWEzMmY5Mjk4MTJiZTczLi4yNDA0MWY5ZTZmNGRlNmQzNDMxNDk4MjA0ZmUyNTIyNTg2
NzUxZGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNZXRhIEhUVFAgcmVmcmVzaCBzaG91bGQgbm90
IG5hdmlnYXRlIGlmIGRvY3VtZW50IGhhcyBzYW5kYm94ZWQgYXV0b21hdGljIGZlYXR1cmVzIGJy
b3dzaW5nIGNvbnRleHQgZmxhZyBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyODk2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHNob3VsZCBubyBsb25nZXIgYmUgZmxh
a3kgbm93IHRoYXQgdGhleSBhcmUgcGFzc2luZy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjEtMDgtMTAgIEF5dW1pIEtvamltYSAgPGF5dW1pX2tvamltYUBhcHBsZS5jb20+
CiAKICAgICAgICAgWyBNYWNPUyBdIGluc3BlY3Rvci9jYW52YXMvc2hhZGVyUHJvZ3JhbS1hZGQt
cmVtb3ZlLXdlYmdsMi5odG1sIGlzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggYWQyN2IwZjhmYzQ1YmQzZDFjYWYxZjgzMWQ4ZGE2MzQxZjk1ZTQ1My4uMjBhNTUzNGIx
M2EzZTY2MjM4ODhiZmQ2NjIzNjAyZjgyYzUzYjI5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDgtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBNZXRhIEhUVFAgcmVmcmVzaCBzaG91bGQgbm90IG5hdmln
YXRlIGlmIGRvY3VtZW50IGhhcyBzYW5kYm94ZWQgYXV0b21hdGljIGZlYXR1cmVzIGJyb3dzaW5n
IGNvbnRleHQgZmxhZyBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyODk2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIHRoYXQgYXJlIG5vdyBwYXNzaW5nLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFk
YXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1
aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFk
YXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1
aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMi1leHBlY3RlZC50eHQ6CisK
IDIwMjEtMDgtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3MWY1Y2EzYjVjYmMyY2Y1ODc3MWVlZWIzNWNmMzA1YmNkMDM1OTFi
Li44NDg1NmQ4M2RhNzIzMThmNzgxZjQwYTczMTBiMjZhYjg0YzM1Y2QzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE1MDEsMTAgKzE1MDEsNiBAQCB3ZWJraXQub3JnL2IvMTkxNTA4IGZhc3QvY3Nz
LWdyaWQtbGF5b3V0L2NyYXNoLWxhcmdlLXBvc2l0aW9ucy5odG1sIFsgU2tpcCBdCiAjIEZsYWt5
IHRlc3RzIGF0IGltcG9ydCB0aW1lCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2NvcGluZy9jc3Mtc2NvcGluZy1zaGFkb3ctaG9zdC1uYW1lc3BhY2UuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogCi0jIFRob3NlIFdQVCB0ZXN0cyBhcmUgZmxha3kgd2hlbiBmYWls
aW5nLgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1
bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0
YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTEuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2
ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdp
bmctMi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogIyBXUFQgdGVzdHMgZm9yIGN1c3RvbSBlbGVt
ZW50cwogd2Via2l0Lm9yZy9iLzE4NzgwMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LXN2Zy5zdmcgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8xODc4MDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcGFyc2VyL3BhcnNlci11c2VzLWNyZWF0ZS1hbi1lbGVtZW50LWZvci1hLXRv
a2VuLXN2Zy5zdmcgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhl
LW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZy
ZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1l
bnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEt
aHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVk
LnR4dAppbmRleCBkZTliZTNjM2M3MGEzNDZhNTBkMmFlMDZiMTA0OWNmNjg3NzZhOTkxLi5iY2Y3
YjAwMzc5MmJmZTRhOTA0NWJmZTU5MDU2NjVlNTE3YjRkMWJkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3Vt
ZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRh
LWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1k
aXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFn
LWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKK0NPTlNPTEUgTUVTU0FHRTogVW5hYmxlIHRvIGRvIG1l
dGEgcmVmcmVzaCBkdWUgdG8gc2FuZGJveGluZwogCi1GQUlMIE1ldGEgcmVmcmVzaCBpcyBibG9j
a2VkIGJ5IHRoZSBhbGxvdy1zY3JpcHRzIHNhbmRib3ggZmxhZyBhdCBpdHMgY3JlYXRpb24gdGlt
ZSwgbm90IHdoZW4gcmVmcmVzaCBjb21lcyBkdWUgVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9k
ZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCitQQVNT
IE1ldGEgcmVmcmVzaCBpcyBibG9ja2VkIGJ5IHRoZSBhbGxvdy1zY3JpcHRzIHNhbmRib3ggZmxh
ZyBhdCBpdHMgY3JlYXRpb24gdGltZSwgbm90IHdoZW4gcmVmcmVzaCBjb21lcyBkdWUKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJl
Y3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNo
YW5naW5nLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVt
ZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ct
c2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0ZWQudHh0CmluZGV4IDBiNWVmNjZkZDQxYTYx
ZjI0NDk5MzdjOWFiMGJiMzJhOGM1NWVjOTYuLjQ3NTc4MGYzZDQzYTg5ZDA3M2U4ZTFkMDJkZmUx
MTVhYTkxNmVkYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxl
bWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93
LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1l
dGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAt
ZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMi1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J25vZGUnKSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZQor
Q09OU09MRSBNRVNTQUdFOiBVbmFibGUgdG8gZG8gbWV0YSByZWZyZXNoIGR1ZSB0byBzYW5kYm94
aW5nCiAKLUZBSUwgTWV0YSByZWZyZXNoIG9mIHRoZSBvcmlnaW5hbCBpZnJhbWUgaXMgbm90IGJs
b2NrZWQgaWYgbW92ZWQgaW50byBhIHNhbmRib3hlZCBpZnJhbWUgVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBO
b2RlCitQQVNTIE1ldGEgcmVmcmVzaCBvZiB0aGUgb3JpZ2luYWwgaWZyYW1lIGlzIG5vdCBibG9j
a2VkIGlmIG1vdmVkIGludG8gYSBzYW5kYm94ZWQgaWZyYW1lCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435302</attachid>
            <date>2021-08-10 15:14:34 -0700</date>
            <delta_ts>2021-08-10 16:19:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228965-20210810151434.patch</filename>
            <type>text/plain</type>
            <size>18020</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2E5YmYzYjUzOTFiNGQy
MDg1MDA2N2RiYWU0OGEyZTllZjE0ODM2NS4uYmVjOGE1MDM1YTIyZTIzODAyMzgzNDVjZTMxM2E5
ZTIwNDE2OTI4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWV0YSBIVFRQIHJlZnJlc2gg
c2hvdWxkIG5vdCBuYXZpZ2F0ZSBpZiBkb2N1bWVudCBoYXMgc2FuZGJveGVkIGF1dG9tYXRpYyBm
ZWF0dXJlcyBicm93c2luZyBjb250ZXh0IGZsYWcgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5NjUKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBNZXRhIEhUVFAgcmVmcmVzaCBzaG91bGQgbm90IG5hdmln
YXRlIGlmIGRvY3VtZW50IGhhcyBzYW5kYm94ZWQgYXV0b21hdGljIGZlYXR1cmVzIGJyb3dzaW5n
IGNvbnRleHQgZmxhZyBzZXQ6CisgICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9y
Zy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjc2hhcmVkLWRlY2xhcmF0aXZlLXJlZnJlc2gtc3Rl
cHMgKFN0ZXAgMTMpCisKKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFscmVhZHkgYmVoYXZl
IHRoaXMgd2F5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnByb2Nlc3NNZXRhSHR0cEVxdWl2KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNl
aXZlZCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpyZWNlaXZlZEZpcnN0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6c2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5cGVzLmg6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NoZWR1bGVkUmVkaXJlY3Q6OlNjaGVkdWxlZFJlZGlyZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlUmVkaXJlY3QpOgorICAgICAgICAqIGxvYWRl
ci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmg6CisKIDIwMjEtMDgtMTAgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVwbG95IHNvbWUgbW9yZSBzbWFydCBwb2ludGVy
cyBpbiBET01XaW5kb3cuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBkNmJhNjM5MTM1
OWI2ZjI5M2I4NjZhYWMyZTg0YmVhZGU3MzQwZDRhLi44NzFkNDJkZTQ5Nzg5ZWMwMzVkYzkyYWQy
OGYwZWQ5NGM2Yjc5OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM3MzYsNyArMzcz
Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldEhhc0VsZW1lbnRVc2luZ1N0eWxlQmFzZWRFZGl0YWJp
bGl0eSgpCiAgICAgbV9oYXNFbGVtZW50VXNpbmdTdHlsZUJhc2VkRWRpdGFiaWxpdHkgPSB0cnVl
OwogfQogCi12b2lkIERvY3VtZW50Ojpwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1
aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBpc0luRG9jdW1lbnRIZWFkKQordm9pZCBE
b2N1bWVudDo6cHJvY2Vzc01ldGFIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3Qg
U3RyaW5nJiBjb250ZW50LCBib29sIGlzSW5Eb2N1bWVudEhlYWQpCiB7CiAgICAgQVNTRVJUKCFl
cXVpdi5pc051bGwoKSk7CiAgICAgQVNTRVJUKCFjb250ZW50LmlzTnVsbCgpKTsKQEAgLTM3ODEs
NyArMzc4MSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5n
JiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sCiAKICAgICBjYXNlIEhUVFBIZWFk
ZXJOYW1lOjpSZWZyZXNoOgogICAgICAgICBpZiAoZnJhbWUpCi0gICAgICAgICAgICBmcmFtZS0+
bG9hZGVyKCkuc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoKnRoaXMsIGNvbnRlbnQpOworICAgICAg
ICAgICAgZnJhbWUtPmxvYWRlcigpLnNjaGVkdWxlUmVmcmVzaElmTmVlZGVkKCp0aGlzLCBjb250
ZW50LCBJc01ldGFSZWZyZXNoOjpZZXMpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSFRU
UEhlYWRlck5hbWU6OlNldENvb2tpZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYjJlYmZhZGNm
OWU3NzgzNzNhZjJmYjczOWUyN2QwMjU3NDBjMzkzNS4uNmEyMmI1NzNjMDcwNTFkYTg0NTY0OTY0
NTgxNGU5Zjg0MzBlMWJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTg5Miw3ICs4OTIsNyBA
QCBwdWJsaWM6CiAgICAgLy8gd2hlbiBhIG1ldGEgdGFnIGlzIGVuY291bnRlcmVkIGR1cmluZyBk
b2N1bWVudCBwYXJzaW5nLCBhbmQgYWxzbyB3aGVuIGEgc2NyaXB0IGR5bmFtaWNhbGx5IGNoYW5n
ZXMgb3IgYWRkcyBhIG1ldGEKICAgICAvLyB0YWcuIFRoaXMgZW5hYmxlcyBzY3JpcHRzIHRvIHVz
ZSBtZXRhIHRhZ3MgdG8gcGVyZm9ybSByZWZyZXNoZXMgYW5kIHNldCBleHBpcnkgZGF0ZXMgaW4g
YWRkaXRpb24gdG8gdGhlbSBiZWluZwogICAgIC8vIHNwZWNpZmllZCBpbiBhbiBIVE1MIGZpbGUu
Ci0gICAgdm9pZCBwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNvbnN0IFN0
cmluZyYgY29udGVudCwgYm9vbCBpc0luRG9jdW1lbnRIZWFkKTsKKyAgICB2b2lkIHByb2Nlc3NN
ZXRhSHR0cEVxdWl2KGNvbnN0IFN0cmluZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCwg
Ym9vbCBpc0luRG9jdW1lbnRIZWFkKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
dm9pZCBwcm9jZXNzRm9ybWF0RGV0ZWN0aW9uKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCmluZGV4IDAwMGNmNGYwNDA2YjUyMzFlNjJkZTI5M2Mw
ZjkwZjc5YmUwNTdmNTkuLmJmNGY5MWNjYjgyOGVmMjI1MmY4MzM4MDdjYTAwMGRiOWUxMDIzZGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKQEAgLTE4MSw3ICsxODEs
NyBAQCB2b2lkIEhUTUxNZXRhRWxlbWVudDo6cHJvY2VzcygpCiAKICAgICBjb25zdCBBdG9tU3Ry
aW5nJiBodHRwRXF1aXZWYWx1ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oaHR0
cF9lcXVpdkF0dHIpOwogICAgIGlmICghaHR0cEVxdWl2VmFsdWUuaXNOdWxsKCkpCi0gICAgICAg
IGRvY3VtZW50KCkucHJvY2Vzc0h0dHBFcXVpdihodHRwRXF1aXZWYWx1ZSwgY29udGVudFZhbHVl
LCBpc0Rlc2NlbmRhbnRPZihkb2N1bWVudCgpLmhlYWQoKSkpOworICAgICAgICBkb2N1bWVudCgp
LnByb2Nlc3NNZXRhSHR0cEVxdWl2KGh0dHBFcXVpdlZhbHVlLCBjb250ZW50VmFsdWUsIGlzRGVz
Y2VuZGFudE9mKGRvY3VtZW50KCkuaGVhZCgpKSk7CiB9CiAKIGNvbnN0IEF0b21TdHJpbmcmIEhU
TUxNZXRhRWxlbWVudDo6Y29udGVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcAppbmRleCBlODkwMTU2NDQ3OTc0OGVhNDY5YWE5ZGM5MzdiOWZmMjRmMWU5
ODY1Li4zZTRmZjllMDQ5NjRiMTZiNDI4MDkyNmNmOWUwMzI4MDUwM2M3YmUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTkyNyw3ICs5MjcsNyBAQCB2b2lk
IERvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKENhY2hlZFJlc291cmNlJiByZXNvdXJj
ZSwgY29uc3QgUmVzb3VyY2VSZQogICAgICAgICAgICAgYXV0byBmaXJzdFBhcnR5RG9tYWluID0g
UmVnaXN0cmFibGVEb21haW4ocmVzcG9uc2UudXJsKCkpOwogICAgICAgICAgICAgaWYgKGF1dG8g
bG9naW5Eb21haW5zID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzdWJSZXNvdXJjZURvbWFpbnNJ
bk5lZWRPZlN0b3JhZ2VBY2Nlc3NGb3JGaXJzdFBhcnR5KGZpcnN0UGFydHlEb21haW4pKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKCFRdWlya3M6Omhhc1N0b3JhZ2VBY2Nlc3NGb3JBbGxMb2dpbkRv
bWFpbnMoKmxvZ2luRG9tYWlucywgZmlyc3RQYXJ0eURvbWFpbikpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbV9mcmFtZS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLnNjaGVkdWxlUmVkaXJlY3QoZG9j
dW1lbnQsIDAsIG1pY3Jvc29mdFRlYW1zUmVkaXJlY3RVUkwoKSk7CisgICAgICAgICAgICAgICAg
ICAgIG1fZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZVJlZGlyZWN0KGRvY3Vt
ZW50LCAwLCBtaWNyb3NvZnRUZWFtc1JlZGlyZWN0VVJMKCksIElzTWV0YVJlZnJlc2g6Ok5vKTsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDNhYTk3MGUyNTNi
MDczZTU0MDgwZjYwOTNiYjRmZDQyZTJiYWJkMWIuLmIwN2RmMmNhMzg3M2NmYjJmNWM5NjkxNDFk
ODk5YjAwMjg5MmU4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAt
NzEzLDcgKzcxMyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJlY2VpdmVkRmlyc3REYXRhKCkKIAog
ICAgIExpbmtMb2FkZXI6OmxvYWRMaW5rc0Zyb21IZWFkZXIoZG9jdW1lbnRMb2FkZXIucmVzcG9u
c2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkxpbmspLCBkb2N1bWVudC51cmwo
KSwgZG9jdW1lbnQsIExpbmtMb2FkZXI6Ok1lZGlhQXR0cmlidXRlQ2hlY2s6Ok1lZGlhQXR0cmli
dXRlRW1wdHkpOwogCi0gICAgc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoZG9jdW1lbnQsIGRvY3Vt
ZW50TG9hZGVyLnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpSZWZy
ZXNoKSk7CisgICAgc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoZG9jdW1lbnQsIGRvY3VtZW50TG9h
ZGVyLnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpSZWZyZXNoKSwg
SXNNZXRhUmVmcmVzaDo6Tm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzZXRPdXRnb2luZ1Jl
ZmVycmVyKGNvbnN0IFVSTCYgdXJsKQpAQCAtMjk2OCwxNCArMjk2OCwxNCBAQCB2b2lkIEZyYW1l
TG9hZGVyOjp1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMoUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBJc01haQogICAgICAgICByZXF1ZXN0LnNldElzQXBwSW5pdGlhdGVkKG1fZnJhbWUu
bWFpbkZyYW1lKCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQoKSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OnNjaGVkdWxlUmVmcmVzaElm
TmVlZGVkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBjb250ZW50KQordm9pZCBG
cmFtZUxvYWRlcjo6c2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIGNvbnRlbnQsIElzTWV0YVJlZnJlc2ggaXNNZXRhUmVmcmVzaCkKIHsKICAg
ICBkb3VibGUgZGVsYXkgPSAwOwogICAgIFN0cmluZyB1cmxTdHJpbmc7CiAgICAgaWYgKHBhcnNl
TWV0YUhUVFBFcXVpdlJlZnJlc2goY29udGVudCwgZGVsYXksIHVybFN0cmluZykpIHsKICAgICAg
ICAgYXV0byBjb21wbGV0ZWRVUkwgPSB1cmxTdHJpbmcuaXNFbXB0eSgpID8gZG9jdW1lbnQudXJs
KCkgOiBkb2N1bWVudC5jb21wbGV0ZVVSTCh1cmxTdHJpbmcpOwogICAgICAgICBpZiAoIWNvbXBs
ZXRlZFVSTC5wcm90b2NvbElzSmF2YVNjcmlwdCgpKQotICAgICAgICAgICAgbV9mcmFtZS5uYXZp
Z2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1bGVSZWRpcmVjdChkb2N1bWVudCwgZGVsYXksIGNvbXBs
ZXRlZFVSTCk7CisgICAgICAgICAgICBtX2ZyYW1lLm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hl
ZHVsZVJlZGlyZWN0KGRvY3VtZW50LCBkZWxheSwgY29tcGxldGVkVVJMLCBpc01ldGFSZWZyZXNo
KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBTdHJpbmcgbWVzc2FnZSA9ICJSZWZ1c2Vk
IHRvIHJlZnJlc2ggIiArIGRvY3VtZW50LnVybCgpLnN0cmluZ0NlbnRlckVsbGlwc2l6ZWRUb0xl
bmd0aCgpICsgIiB0byBhIGphdmFzY3JpcHQ6IFVSTCI7CiAgICAgICAgICAgICBkb2N1bWVudC5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpF
cnJvciwgbWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IGQzNGJk
NTdjMGMwZTY4ZDdmOTg1NDNiZjViNjg2NGM5NWU3NmM4NDIuLjZmM2JkYmVmY2EzOWZiZmMyM2Y5
ZDE0YzliMjcxMTIyNmRlMjRhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBA
IC0zMTksNyArMzE5LDcgQEAgcHVibGljOgogICAgIC8vIEZvciBzdWJyZXNvdXJjZSByZXF1ZXN0
cyB0aGUgRnJhbWVMb2FkVHlwZSBwYXJhbWV0ZXIgaGFzIG5vIGVmZmVjdCBhbmQgY2FuIGJlIHNr
aXBwZWQuCiAgICAgdm9pZCB1cGRhdGVSZXF1ZXN0QW5kQWRkRXh0cmFGaWVsZHMoUmVzb3VyY2VS
ZXF1ZXN0JiwgSXNNYWluUmVzb3VyY2UsIEZyYW1lTG9hZFR5cGUgPSBGcmFtZUxvYWRUeXBlOjpT
dGFuZGFyZCwgU2hvdWxkVXBkYXRlQXBwSW5pdGlhdGVkVmFsdWUgPSBTaG91bGRVcGRhdGVBcHBJ
bml0aWF0ZWRWYWx1ZTo6WWVzKTsKIAotICAgIHZvaWQgc2NoZWR1bGVSZWZyZXNoSWZOZWVkZWQo
RG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpOworICAgIHZvaWQgc2NoZWR1bGVSZWZy
ZXNoSWZOZWVkZWQoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIElzTWV0YVJlZnJl
c2gpOwogCiAgICAgdm9pZCBzd2l0Y2hCcm93c2luZ0NvbnRleHRzR3JvdXAoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggODQ5NzFjYjJmMzU4YWM5ZWY0
MzRmMzM2NGM0N2I0YzRlZWI3MjRiOS4uYzUxNWJhZTRkMjE4YjM1MmRmZDIyNTBkYWI1MDg0YzU0
M2ViODg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlw
ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCkBAIC02
OSw2ICs2OSw3IEBAIGVudW0gY2xhc3MgRnJhbWVMb2FkVHlwZSA6IHVpbnQ4X3QgewogICAgIFJl
bG9hZEV4cGlyZWRPbmx5CiB9OwogCitlbnVtIGNsYXNzIElzTWV0YVJlZnJlc2ggOiBib29sIHsg
Tm8sIFllcyB9OwogZW51bSBjbGFzcyBXaWxsQ29udGludWVMb2FkaW5nIDogYm9vbCB7IE5vLCBZ
ZXMgfTsKIAogY2xhc3MgUG9saWN5Q2hlY2tJZGVudGlmaWVyIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCAyZWM4YzYxNzg3NzQzM2M1NzQx
OWQ2MmMyYzcyOTQ2N2Y4MDY2YTVkLi5jMTQyMjY4Yjc0YmQ3OTJhNTg2NTY3ZDI0YzMyZTNhNTcz
ZTVkZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIu
Y3BwCkBAIC0xNjcsOCArMTY3LDkgQEAgcHJpdmF0ZToKIAogY2xhc3MgU2NoZWR1bGVkUmVkaXJl
Y3QgOiBwdWJsaWMgU2NoZWR1bGVkVVJMTmF2aWdhdGlvbiB7CiBwdWJsaWM6Ci0gICAgU2NoZWR1
bGVkUmVkaXJlY3QoRG9jdW1lbnQmIGluaXRpYXRpbmdEb2N1bWVudCwgZG91YmxlIGRlbGF5LCBT
ZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFVSTCYgdXJsLCBMb2NrSGlzdG9y
eSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0KQor
ICAgIFNjaGVkdWxlZFJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQsIGRvdWJs
ZSBkZWxheSwgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBVUkwmIHVybCwg
TG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3
YXJkTGlzdCwgSXNNZXRhUmVmcmVzaCBpc01ldGFSZWZyZXNoKQogICAgICAgICA6IFNjaGVkdWxl
ZFVSTE5hdmlnYXRpb24oaW5pdGlhdGluZ0RvY3VtZW50LCBkZWxheSwgc2VjdXJpdHlPcmlnaW4s
IHVybCwgU3RyaW5nKCksIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBmYWxzZSwg
ZmFsc2UpCisgICAgICAgICwgbV9pc01ldGFSZWZyZXNoKGlzTWV0YVJlZnJlc2gpCiAgICAgewog
ICAgICAgICBjbGVhclVzZXJHZXN0dXJlKCk7CiAgICAgfQpAQCAtMTgwLDYgKzE4MSwxMyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGZpcmUoRnJhbWUmIGZyYW1lKSBvdmVycmlkZQogICAgIHsKKyAg
ICAgICAgaWYgKG1faXNNZXRhUmVmcmVzaCA9PSBJc01ldGFSZWZyZXNoOjpZZXMpIHsKKyAgICAg
ICAgICAgIGlmIChhdXRvIGRvY3VtZW50ID0gZnJhbWUuZG9jdW1lbnQoKTsgZG9jdW1lbnQgJiYg
ZG9jdW1lbnQtPmlzU2FuZGJveGVkKFNhbmRib3hBdXRvbWF0aWNGZWF0dXJlcykpIHsKKyAgICAg
ICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6U2Vj
dXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJVbmFibGUgdG8gZG8gbWV0YSByZWZyZXNoIGR1
ZSB0byBzYW5kYm94aW5nIl9zKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKwogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5k
aWNhdG9yIHsgdXNlckdlc3R1cmVUb0ZvcndhcmQoKSB9OwogCiAgICAgICAgIGJvb2wgcmVmcmVz
aCA9IGVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIoZnJhbWUuZG9jdW1lbnQoKS0+dXJs
KCksIHVybCgpKTsKQEAgLTE5NCw2ICsyMDIsOSBAQCBwdWJsaWM6CiAKICAgICAgICAgZnJhbWUu
bG9hZGVyKCkuY2hhbmdlTG9jYXRpb24oV1RGTW92ZShmcmFtZUxvYWRSZXF1ZXN0KSk7CiAgICAg
fQorCitwcml2YXRlOgorICAgIElzTWV0YVJlZnJlc2ggbV9pc01ldGFSZWZyZXNoOwogfTsKIAog
Y2xhc3MgU2NoZWR1bGVkTG9jYXRpb25DaGFuZ2UgOiBwdWJsaWMgU2NoZWR1bGVkVVJMTmF2aWdh
dGlvbiB7CkBAIC00MDcsNyArNDE4LDcgQEAgaW5saW5lIGJvb2wgTmF2aWdhdGlvblNjaGVkdWxl
cjo6c2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKGNvbnN0IFVSTCYgdXJsKSBjb25zdAogICAgIHJl
dHVybiBOYXZpZ2F0aW9uRGlzYWJsZXI6OmlzTmF2aWdhdGlvbkFsbG93ZWQobV9mcmFtZSk7CiB9
CiAKLXZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVSZWRpcmVjdChEb2N1bWVudCYg
aW5pdGlhdGluZ0RvY3VtZW50LCBkb3VibGUgZGVsYXksIGNvbnN0IFVSTCYgdXJsKQordm9pZCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZVJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5n
RG9jdW1lbnQsIGRvdWJsZSBkZWxheSwgY29uc3QgVVJMJiB1cmwsIElzTWV0YVJlZnJlc2ggaXNN
ZXRhUmVmcmVzaCkKIHsKICAgICBpZiAoIXNob3VsZFNjaGVkdWxlTmF2aWdhdGlvbih1cmwpKQog
ICAgICAgICByZXR1cm47CkBAIC00MTksNyArNDMwLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1
bGVyOjpzY2hlZHVsZVJlZGlyZWN0KERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQsIGRvdWJs
ZQogICAgIC8vIFdlIHdhbnQgYSBuZXcgYmFjay9mb3J3YXJkIGxpc3QgaXRlbSBpZiB0aGUgcmVm
cmVzaCB0aW1lb3V0IGlzID4gMSBzZWNvbmQuCiAgICAgaWYgKCFtX3JlZGlyZWN0IHx8IGRlbGF5
IDw9IG1fcmVkaXJlY3QtPmRlbGF5KCkpIHsKICAgICAgICAgYXV0byBsb2NrQmFja0ZvcndhcmRM
aXN0ID0gZGVsYXkgPD0gMSA/IExvY2tCYWNrRm9yd2FyZExpc3Q6OlllcyA6IExvY2tCYWNrRm9y
d2FyZExpc3Q6Ok5vOwotICAgICAgICBzY2hlZHVsZShtYWtlVW5pcXVlPFNjaGVkdWxlZFJlZGly
ZWN0Pihpbml0aWF0aW5nRG9jdW1lbnQsIGRlbGF5LCAmbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpLCB1cmwsIExvY2tIaXN0b3J5OjpZZXMsIGxvY2tCYWNrRm9yd2FyZExpc3Qp
KTsKKyAgICAgICAgc2NoZWR1bGUobWFrZVVuaXF1ZTxTY2hlZHVsZWRSZWRpcmVjdD4oaW5pdGlh
dGluZ0RvY3VtZW50LCBkZWxheSwgJm1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4o
KSwgdXJsLCBMb2NrSGlzdG9yeTo6WWVzLCBsb2NrQmFja0ZvcndhcmRMaXN0LCBpc01ldGFSZWZy
ZXNoKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hl
ZHVsZXIuaAppbmRleCA5N2MyM2IxNTA5MmJmMzkzYjMxZDIwYzhmMzRkMjU3NzI2MzFjYzkwLi4z
OGFjZmNlZDA5MDE5M2M5ZjJmYjYyMWZmNmVlZTBhNjJhOGQ1OTJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgcmVkaXJlY3RTY2hlZHVsZWREdXJpbmdMb2FkKCk7CiAgICAgYm9vbCBsb2Nh
dGlvbkNoYW5nZVBlbmRpbmcoKTsKIAotICAgIHZvaWQgc2NoZWR1bGVSZWRpcmVjdChEb2N1bWVu
dCYgaW5pdGlhdGluZ0RvY3VtZW50LCBkb3VibGUgZGVsYXksIGNvbnN0IFVSTCYpOworICAgIHZv
aWQgc2NoZWR1bGVSZWRpcmVjdChEb2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50LCBkb3VibGUg
ZGVsYXksIGNvbnN0IFVSTCYsIElzTWV0YVJlZnJlc2gpOwogICAgIHZvaWQgc2NoZWR1bGVMb2Nh
dGlvbkNoYW5nZShEb2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50LCBTZWN1cml0eU9yaWdpbiYs
IGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIExvY2tIaXN0b3J5ID0gTG9ja0hp
c3Rvcnk6OlllcywgTG9ja0JhY2tGb3J3YXJkTGlzdCA9IExvY2tCYWNrRm9yd2FyZExpc3Q6Olll
cywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmID0gW10geyB9KTsKICAgICB2b2lkIHNjaGVk
dWxlRm9ybVN1Ym1pc3Npb24oUmVmPEZvcm1TdWJtaXNzaW9uPiYmKTsKICAgICB2b2lkIHNjaGVk
dWxlUmVmcmVzaChEb2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZWRhM2Zk
MDQ4NDZjYjU4MDFjZDJiMWIwZmI4N2E1ZTA0NTE0YjEyLi5mMWYxYWEzZTNlYjM4YjhjMTA5NGM0
ODFiYjI4YWM4NTQzOGRiZmQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNZXRhIEhUVFAgcmVmcmVz
aCBzaG91bGQgbm90IG5hdmlnYXRlIGlmIGRvY3VtZW50IGhhcyBzYW5kYm94ZWQgYXV0b21hdGlj
IGZlYXR1cmVzIGJyb3dzaW5nIGNvbnRleHQgZmxhZyBzZXQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODk2NQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHNob3VsZCBubyBsb25n
ZXIgYmUgZmxha3kgbm93IHRoYXQgdGhleSBhcmUgcGFzc2luZy4KKworICAgICAgICAqIFRlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMjEtMDgtMTAgIEF5dW1pIEtvamltYSAgPGF5dW1pX2tvamltYUBh
cHBsZS5jb20+CiAKICAgICAgICAgWyBXaW4gRVdTIF0gZmFzdC9mb3Jtcy9zZWFyY2gvc2VhcmNo
LXpvb20tY29tcHV0ZWQtc3R5bGUtaGVpZ2h0Lmh0bWwgaXMgZmxha3kgY3Jhc2hpbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA2ODA2MzA2ZWY1YjBiMDJiMWFlZTIyNmI5ZTUz
MTViZjJlNzQ2ZmZhLi4zZDdjM2FhOWI3NzNmNDNkMWQ1ZTI2ZDE0NGEwYTg1NDFhZjYyZDMwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOC0x
MCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE1ldGEgSFRUUCBy
ZWZyZXNoIHNob3VsZCBub3QgbmF2aWdhdGUgaWYgZG9jdW1lbnQgaGFzIHNhbmRib3hlZCBhdXRv
bWF0aWMgZmVhdHVyZXMgYnJvd3NpbmcgY29udGV4dCBmbGFnIHNldAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTY1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgdGhhdCBh
cmUgbm93IHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZl
cy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2lu
Zy0xLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZl
cy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2lu
Zy0yLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERvY3VtZW50LmJhc2VVUkkgaXMgaW5hY2N1cmF0ZSBmb3IgaWZy
YW1lIHNyY2RvYyBkb2N1bWVudHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFhZmIwMWUwZTBiNjdi
ZWM1ZGMyMjkxNDg4YTlkZWYwNWQzYmU0ZWQuLmMyYzA4NzFkNTBjMDRiZmQ0YzlmNDhkOTU5NWU0
NzBiN2RkYmE2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTUwNSwxMCArMTUwNSw2IEBAIHdl
YmtpdC5vcmcvYi8xOTE1MDggZmFzdC9jc3MtZ3JpZC1sYXlvdXQvY3Jhc2gtbGFyZ2UtcG9zaXRp
b25zLmh0bWwgWyBTa2lwIF0KICMgRmxha3kgdGVzdHMgYXQgaW1wb3J0IHRpbWUKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL2Nzcy1zY29waW5nLXNoYWRv
dy1ob3N0LW5hbWVzcGFjZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLSMgVGhvc2UgV1BU
IHRlc3RzIGFyZSBmbGFreSB3aGVuIGZhaWxpbmcuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQv
cHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3Jp
cHRzLWZsYWctY2hhbmdpbmctMS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1l
dGEtZWxlbWVudC9wcmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNo
L2FsbG93LXNjcmlwdHMtZmxhZy1jaGFuZ2luZy0yLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiAj
IFdQVCB0ZXN0cyBmb3IgY3VzdG9tIGVsZW1lbnRzCiB3ZWJraXQub3JnL2IvMTg3ODAwIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0RvY3VtZW50LWNyZWF0
ZUVsZW1lbnQtc3ZnLnN2ZyBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NzgwMCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9wYXJzZXIvcGFyc2VyLXVzZXMt
Y3JlYXRlLWFuLWVsZW1lbnQtZm9yLWEtdG9rZW4tc3ZnLnN2ZyBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVz
L2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5n
LTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3By
YWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0
cy1mbGFnLWNoYW5naW5nLTEtZXhwZWN0ZWQudHh0CmluZGV4IGRlOWJlM2MzYzcwYTM0NmE1MGQy
YWUwNmIxMDQ5Y2Y2ODc3NmE5OTEuLmJjZjdiMDAzNzkyYmZlNGE5MDQ1YmZlNTkwNTY2NWU1MTdi
NGQxYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9w
cmFnbWEtZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlw
dHMtZmxhZy1jaGFuZ2luZy0xLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRh
L3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYt
cmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25vZGUn
KSB0byBOb2RlLmFwcGVuZENoaWxkIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTm9kZQorQ09OU09M
RSBNRVNTQUdFOiBVbmFibGUgdG8gZG8gbWV0YSByZWZyZXNoIGR1ZSB0byBzYW5kYm94aW5nCiAK
LUZBSUwgTWV0YSByZWZyZXNoIGlzIGJsb2NrZWQgYnkgdGhlIGFsbG93LXNjcmlwdHMgc2FuZGJv
eCBmbGFnIGF0IGl0cyBjcmVhdGlvbiB0aW1lLCBub3Qgd2hlbiByZWZyZXNoIGNvbWVzIGR1ZSBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTm9kZS5hcHBlbmRDaGlsZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIE5vZGUKK1BBU1MgTWV0YSByZWZyZXNoIGlzIGJsb2NrZWQgYnkgdGhl
IGFsbG93LXNjcmlwdHMgc2FuZGJveCBmbGFnIGF0IGl0cyBjcmVhdGlvbiB0aW1lLCBub3Qgd2hl
biByZWZyZXNoIGNvbWVzIGR1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3Ro
ZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVm
cmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3Vt
ZW50LW1ldGFkYXRhL3RoZS1tZXRhLWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRh
LWh0dHAtZXF1aXYtcmVmcmVzaC9hbGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMi1leHBlY3Rl
ZC50eHQKaW5kZXggMGI1ZWY2NmRkNDFhNjFmMjQ0OTkzN2M5YWIwYmIzMmE4YzU1ZWM5Ni4uNDc1
NzgwZjNkNDNhODlkMDczZThlMWQwMmRmZTExNWFhOTE2ZWRhNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1
bWVudC1tZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0
YS1odHRwLWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZG9jdW1lbnQtbWV0YWRhdGEvdGhlLW1ldGEtZWxlbWVudC9wcmFnbWEt
ZGlyZWN0aXZlcy9hdHRyLW1ldGEtaHR0cC1lcXVpdi1yZWZyZXNoL2FsbG93LXNjcmlwdHMtZmxh
Zy1jaGFuZ2luZy0yLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbm9kZScpIHRvIE5vZGUuYXBwZW5kQ2hpbGQgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBOb2RlCitDT05TT0xFIE1FU1NBR0U6IFVuYWJsZSB0byBkbyBt
ZXRhIHJlZnJlc2ggZHVlIHRvIHNhbmRib3hpbmcKIAotRkFJTCBNZXRhIHJlZnJlc2ggb2YgdGhl
IG9yaWdpbmFsIGlmcmFtZSBpcyBub3QgYmxvY2tlZCBpZiBtb3ZlZCBpbnRvIGEgc2FuZGJveGVk
IGlmcmFtZSBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdub2RlJykgdG8gTm9kZS5hcHBlbmRDaGls
ZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE5vZGUKK1BBU1MgTWV0YSByZWZyZXNoIG9mIHRoZSBv
cmlnaW5hbCBpZnJhbWUgaXMgbm90IGJsb2NrZWQgaWYgbW92ZWQgaW50byBhIHNhbmRib3hlZCBp
ZnJhbWUKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>