<?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>216564</bug_id>
          
          <creation_ts>2020-09-15 09:42:08 -0700</creation_ts>
          <short_desc>Remove runtime setting for enabling/disabling the fetch keepalive attribute</short_desc>
          <delta_ts>2023-11-22 01:08:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>264154</dup_id>
          
          <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>
          
          <blocked>216512</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annevk</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit-unassigned</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688724</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 09:42:08 -0700</bug_when>
    <thetext>Remove runtime setting for enabling/disabling the Fetch keepalive attribute API. It should always be enabled at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688727</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 09:44:54 -0700</bug_when>
    <thetext>Looks like this was put behind the flag about 3 years ago in https://trac.webkit.org/changeset/227079/webkit, and then turned on by default 17 months ago, https://trac.webkit.org/changeset/244931/webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689484</commentid>
    <comment_count>2</comment_count>
      <attachid>409046</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-17 09:52:35 -0700</bug_when>
    <thetext>Created attachment 409046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689485</commentid>
    <comment_count>3</comment_count>
      <attachid>409046</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-17 09:55:46 -0700</bug_when>
    <thetext>Comment on attachment 409046
Patch

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

&gt; Source/WebKitLegacy/mac/ChangeLog:9
&gt; +        on by default and there is no known reason one would need to disable it.

Isn’’t it off by default in wk1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689486</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-17 10:01:37 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 409046 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409046&amp;action=review
&gt; 
&gt; &gt; Source/WebKitLegacy/mac/ChangeLog:9
&gt; &gt; +        on by default and there is no known reason one would need to disable it.
&gt; 
&gt; Isn’’t it off by default in wk1

It looks like it was, yes. Do you think turning it on will be a problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689620</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-17 16:01:58 -0700</bug_when>
    <thetext>Youenn, is your concern with the ChangeLog comment being inaccurate or do you think we should not do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689721</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-18 00:15:00 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #5)
&gt; Youenn, is your concern with the ChangeLog comment being inaccurate or do
&gt; you think we should not do this?

Mostly the latter.
We only made sure to implement fetch keepAlive correctly for WK2.
See for instance LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/basic/keepalive-expected.txt vs. LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/keepalive-expected.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689781</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-18 07:59:11 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; (In reply to Sam Weinig from comment #5)
&gt; &gt; Youenn, is your concern with the ChangeLog comment being inaccurate or do
&gt; &gt; you think we should not do this?
&gt; 
&gt; Mostly the latter.
&gt; We only made sure to implement fetch keepAlive correctly for WK2.
&gt; See for instance
&gt; LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/basic/
&gt; keepalive-expected.txt vs.
&gt; LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/keepalive-
&gt; expected.txt.

Eek. That definitely seems like a reason not to do this. 

Pretty big bummer that we are not implementing these things for both WebKit1 and WebKit2. Seems like that is likely to create a more complicated testing matrix long term.

Do you know what work remains to make keepalive work with WebKit1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690742</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-22 09:43:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/69375709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1994331</commentid>
    <comment_count>9</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2023-11-22 01:08:45 -0800</bug_when>
    <thetext>I ended up removing the preference in bug 264154. As far as I can tell the preference doesn&apos;t end up guarding WebKitLegacy support. It just isn&apos;t implemented in WebKitLegacy&apos;s networking code.

*** This bug has been marked as a duplicate of bug 264154 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409046</attachid>
            <date>2020-09-17 09:52:35 -0700</date>
            <delta_ts>2020-09-18 07:46:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216564-20200917095234.patch</filename>
            <type>text/plain</type>
            <size>25079</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA5LTE3ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5n
IGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIGtlZXBhbGl2ZSBhdHRyaWJ1dGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjU2NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBydW50
aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2gga2VlcGFsaXZlIGF0
dHJpYnV0ZS4gSXQgaXMKKyAgICAgICAgb24gYnkgZGVmYXVsdCBhbmQgdGhlcmUgaXMgbm8ga25v
d24gcmVhc29uIG9uZSB3b3VsZCBuZWVkIHRvIGRpc2FibGUgaXQuCisKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpm
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAgICAgICAo
V2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDIwLTA5LTE3ICBBbnR0aSBLb2l2
aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBTdHlsZTo6Q2hhbmdlIHNob3VsZCBi
ZSBlbnVtIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVx
dWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlcXVlc3QuaWRsCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAg
dHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdQogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGZXRjaFJlcXVlc3RDYWNoZSBjYWNoZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RmV0Y2hSZXF1ZXN0UmVkaXJlY3QgcmVkaXJlY3Q7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBpbnRlZ3JpdHk7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUElLZWVwQWxp
dmVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGtlZXBhbGl2ZTsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiBrZWVwYWxpdmU7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCAnaXNS
ZWxvYWROYXZpZ2F0aW9uJy4KICAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Jl
bG9hZE5hdmlnYXRpb247CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCAnaXNIaXN0b3J5TmF2aWdh
dGlvbicuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaAkocmV2aXNpb24gMjY3MTk0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDkgKzg3LDYgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0V2ViU29ja2V0RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViU29j
a2V0RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgd2ViU29ja2V0RW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNXZWJTb2NrZXRFbmFibGVkOyB9CiAKLSAgICBib29sIGZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmV0Y2hBUElLZWVwQWxpdmVFbmFi
bGVkOyB9Ci0gICAgdm9pZCBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9mZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLQogICAgIHZv
aWQgc2V0SW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2luc3Bl
Y3RvckFkZGl0aW9uc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGluc3BlY3RvckFk
ZGl0aW9uc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJs
ZWQ7IH0KIApAQCAtMjk1LDcgKzI5Miw2IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBib29sIG1f
aXNDYWNoZUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1dlYlNvY2tldEVuYWJs
ZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQgeyBmYWxzZSB9OwogI2lm
IEVOQUJMRShXRUJYUikKICAgICBib29sIG1fd2ViWFJFbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAkocmV2aXNpb24g
MjY3MTk0KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEyMCw2IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1
cDo6QmFja3VwKFNldHRpbmcKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgICwgbV93ZWJHTDJFbmFi
bGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR0wyRW5hYmxl
ZCgpKQogI2VuZGlmCi0gICAgLCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZCgpKQogICAgICwgbV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KFJl
bmRlclRoZW1lOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3Np
YmlsaXR5KCkpCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAgICAgLCBtX3Nob3VsZE1hbmFnZUF1
ZGlvU2Vzc2lvbkNhdGVnb3J5KERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2hvdWxkTWFuYWdl
QXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSkKQEAgLTIyNCw3ICsyMjMsNiBAQCB2b2lkIEludGVybmFs
U2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdMMkVuYWJsZWQobV93
ZWJHTDJFbmFibGVkKTsKICNlbmRpZgotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKG1fZmV0Y2hBUElLZWVwQWxp
dmVBUElFbmFibGVkKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZChtX2N1c3RvbVBhc3RlYm9hcmREYXRh
RW5hYmxlZCk7CiAKICNpZiBVU0UoQVVESU9fU0VTU0lPTikKQEAgLTgyNCwxMSArODIyLDYgQEAg
dm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKAogI2VuZGlmCiB9CiAKLXZv
aWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGJvb2wgZW5h
YmxlZCkKLXsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChlbmFibGVkKTsKLX0KLQogRXhjZXB0aW9uT3I8U3Ry
aW5nPiBJbnRlcm5hbFNldHRpbmdzOjp1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KCkKIHsK
ICAgICBpZiAoIW1fcGFnZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTMzLDcgKzEzMyw2IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2
b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZvaWQgc2V0UGljdHVyZUlu
UGljdHVyZUFQSUVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQgc2V0RmV0Y2hBUElLZWVw
QWxpdmVFbmFibGVkKGJvb2wpOwogCiAgICAgdm9pZCBzZXRTaG91bGREZWFjdGl2YXRlQXVkaW9T
ZXNzaW9uKGJvb2wpOwogICAgIApAQCAtMjIyLDcgKzIyMSw2IEBAIHByaXZhdGU6CiAgICAgICAg
IC8vIFJ1bnRpbWUgZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBtX2luZGV4ZWREQldv
cmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fd2ViR0wyRW5hYmxlZDsKLSAgICAgICAgYm9v
bCBtX2ZldGNoQVBJS2VlcEFsaXZlQVBJRW5hYmxlZDsKICAgICAgICAgCiAgICAgICAgIGJvb2wg
bV9zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5OwogI2lmIFVTRShBVURJ
T19TRVNTSU9OKQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaWRsCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw2IEBAIGVudW0gRm9u
dExvYWRUaW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICIKICAgICB1bmRlZmluZWQgc2V0SW5kZXhl
ZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmluZWQgc2V0V2Vi
R0wyRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHVuZGVmaW5lZCBzZXRXZWJHUFVFbmFi
bGVkKGJvb2xlYW4gZW5hYmxlZCk7Ci0gICAgdW5kZWZpbmVkIHNldEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBET01T
dHJpbmcgdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSgpOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIHNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koRE9NU3RyaW5n
IHBvbGljeSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MTk0KQorKysgU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0wOS0xNyAg
U2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUg
c2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBrZWVwYWxpdmUgYXR0cmli
dXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1
NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIGtlZXBh
bGl2ZSBhdHRyaWJ1dGUuIEl0IGlzCisgICAgICAgIG9uIGJ5IGRlZmF1bHQgYW5kIHRoZXJlIGlz
IG5vIGtub3duIHJlYXNvbiBvbmUgd291bGQgbmVlZCB0byBkaXNhYmxlIGl0LgorCisgICAgICAg
ICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Nl
dEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0RmV0
Y2hBUElLZWVwQWxpdmVFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6dXNl
UGluZ0xvYWQgY29uc3QpOgorCiAyMDIwLTA5LTE3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZSBzaG91bGRuJ3QgbmVlZCB0byBzcGVjaWZ5IGEgY2F0ZWdvcnkg
Zm9yIHByZWZlcmVuY2VzIG5vdyB0aGF0IHRoZXkgYXJlIHNwbGl0IGludG8gc2VwYXJhdGUgZmls
ZXMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNF
eHBlcmltZW50YWwueWFtbAkocmV2aXNpb24gMjY3MTk0KQorKysgU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAkod29ya2luZyBjb3B5KQpAQCAtMzY5
LDE0ICszNjksNiBAQCBBZENsaWNrQXR0cmlidXRpb25EZWJ1Z01vZGVFbmFibGVkOgogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgQWQgQ2xpY2sgQXR0cmlidXRpb24gRGVidWcg
TW9kZSIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKIAotRmV0Y2hB
UElLZWVwQWxpdmVFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTogdHJ1ZQot
ICBodW1hblJlYWRhYmxlTmFtZTogIkZldGNoIEFQSSBSZXF1ZXN0IEtlZXBBbGl2ZSIKLSAgaHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEZldGNoIEFQSSBSZXF1ZXN0IEtlZXBBbGl2
ZSIKLSAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKLSAgd2ViY29yZU5h
bWU6IGZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZAotCiBHZW5lcmljQ3VlQVBJRW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjcxOTQpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTczOSwxNiArMTczOSw2IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRJc0FjY2Vzc2kKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aXNBY2Nl
c3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNT
ZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBmbGFnKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZChmbGFnKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0RmV0Y2hB
UElLZWVwQWxpdmVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCi17Ci0g
ICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZCgpOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTZWxlY3Rpb25QYWludGluZ1dpdGhvdXRT
ZWxlY3Rpb25HYXBzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29s
IGZsYWcpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2VsZWN0aW9uUGFpbnRp
bmdXaXRob3V0U2VsZWN0aW9uR2Fwc0VuYWJsZWQoZmxhZyk7CkBAIC0yMjI0LDMgKzIyMTQsMTIg
QEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNTZWN1cmVDb250ZXh0QXR0cgogewogICAgIHJldHVy
biB0cnVlOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0
RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRydWU7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJldmlzaW9uIDI2NzE5NCkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ3MywxMCArNDczLDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFJlc291cmNlVAogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFJlc291cmNlVGlt
aW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKLVdL
X0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7Ci0KLS8vIERlZmF1
bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SXNOU1VSTFNlc3Np
b25XZWJTb2NrZXRFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SXNOU1VSTFNlc3Npb25XZWJTb2NrZXRFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYpOwogCkBAIC01OTUsNiArNTkxLDggQEAgV0tfRVhQT1JUIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldEZldGNoQVBJRQogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEZl
dGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9ERVBSRUNBVEVEOwogV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkgV0tfQ19BUElfREVQUkVDQVRFRDsKIFdLX0VYUE9S
VCBib29sIFdLUHJlZmVyZW5jZXNHZXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgdm9pZCBXS1By
ZWZlcmVuY2VzU2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpIFdLX0NfQVBJX0RFUFJF
Q0FURUQ7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAkocmV2aXNp
b24gMjY3MTk0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVy
U3RyYXRlZ3kuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NDUsNyArNjQ1LDcgQEAgdWludDY0X3Qg
V2ViTG9hZGVyU3RyYXRlZ3k6OmdlbmVyYXRlTG9hZAogCiBib29sIFdlYkxvYWRlclN0cmF0ZWd5
Ojp1c2VQaW5nTG9hZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCgpOworICAgIHJl
dHVybiBmYWxzZTsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c3RhcnRQaW5nTG9hZChG
cmFtZSYgZnJhbWUsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgSFRUUEhlYWRlck1h
cCYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBD
b250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uIHBvbGljeUNoZWNrLCBQaW5nTG9hZENvbXBs
ZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wOS0xNyAgU2Ft
IFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0
dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBrZWVwYWxpdmUgYXR0cmlidXRl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1NjQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUg
cnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIGtlZXBhbGl2
ZSBhdHRyaWJ1dGUuIEl0IGlzCisgICAgICAgIG9uIGJ5IGRlZmF1bHQgYW5kIHRoZXJlIGlzIG5v
IGtub3duIHJlYXNvbiBvbmUgd291bGQgbmVlZCB0byBkaXNhYmxlIGl0LgorCisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDpd
KToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkXSk6
CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdl
ZDpdKToKKwogMjAyMC0wOS0xNyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZW1vdmUgdGhlIGxlZ2FjeSBhbmltYXRpb24gY29kZQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MDIsNyArMjAyLDYgQEAKICNkZWZpbmUgV2ViS2l0Q29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkIgogI2RlZmluZSBX
ZWJLaXRDb2xvckZpbHRlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q29sb3JGaWx0ZXJF
bmFibGVkIgogI2RlZmluZSBXZWJLaXRQdW5jaE91dFdoaXRlQmFja2dyb3VuZHNJbkRhcmtNb2Rl
UHJlZmVyZW5jZUtleSBAIldlYktpdFB1bmNoT3V0V2hpdGVCYWNrZ3JvdW5kc0luRGFya01vZGUi
Ci0jZGVmaW5lIFdlYktpdEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdExheW91dEZvcm1h
dHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdExheW91
dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkIgogI2RlZmluZSBXZWJLaXRXZWJT
UUxFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYlNRTEVuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdFVzZXJHZXN0dXJlUHJvbWlzZVByb3BhZ2F0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRVc2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQiCkBAIC0yOTMsMyArMjky
LDQgQEAKICNkZWZpbmUgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dEZldGNoQVBJRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0SXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRJc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0Q1NTU2hhZG93UGFydHNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRGZXRjaEFQSUtlZXBB
bGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVk
IgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OTksNyArNjk5LDYg
QEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIEBOTywgV2ViS2l0QWNjZXNzaWJpbGl0eU9i
amVjdE1vZGVsRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBZRVMsIFdlYktpdEFyaWFS
ZWZsZWN0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0TWVkaWFD
YXBhYmlsaXRpZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKLSAgICAgICAgQE5PLCBXZWJLaXRGZXRj
aEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFNl
cnZlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktpdFJlZmVy
cmVyUG9saWN5QXR0cmlidXRlRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjaWYgRU5BQkxFKFJFU0la
RV9PQlNFUlZFUikKQEAgLTMyMTIsMTYgKzMyMTEsNiBAQCAtICh2b2lkKXNldFN5bnRoZXRpY0Vk
aXRpbmdDb21tYW5kc0VuYWJsCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpX
ZWJLaXRTeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAK
LS0gKEJPT0wpZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9i
b29sVmFsdWVGb3JLZXk6V2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0K
LS0gKHZvaWQpc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkOihCT09MKWZsYWcKLXsKLSAgICBb
c2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdEZldGNoQVBJRW5hYmxlZFByZWZl
cmVuY2VLZXldOwotfQotCiAtIChCT09MKW1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkCiB7CiAg
ICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0TW9kZXJuTWVkaWFDb250cm9s
c0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKQEAgLTM2NDgsNiArMzYzNywxNSBAQCArIChOU1N0cmlu
ZyAqKV9jb25jYXRlbmF0ZUtleVdpdGhJQkNyZWF0CiAvLyBUaGUgcHJlZmVyZW5jZXMgaW4gdGhp
cyBjYXRlZ29yeSBhcmUgZGVwcmVjYXRlZCBhbmQgaGF2ZSBubyBlZmZlY3QuIFRoZXkgc2hvdWxk
CiAvLyBiZSByZW1vdmVkIHdoZW4gaXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgogCist
ICh2b2lkKXNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDooQk9PTClmbGFnCit7Cit9CisKKy0g
KEJPT0wpZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkCit7CisgICAgcmV0dXJuIFlFUzsKK30KKwog
LSAodm9pZClzZXRDU1NTaGFkb3dQYXJ0c0VuYWJsZWQ6KEJPT0wpZmxhZwogewogfQpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NzYs
OSArNTc2LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZv
aWQpc2V0U3ludGhldGljRWRpdGluZ0NvbW1hbmRzRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9P
TClzeW50aGV0aWNFZGl0aW5nQ29tbWFuZHNFbmFibGVkOwogCi0tICh2b2lkKXNldEZldGNoQVBJ
S2VlcEFsaXZlRW5hYmxlZDooQk9PTClmbGFnOwotLSAoQk9PTClmZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWQ7Ci0KIC0gKHZvaWQpc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ6KEJPT0wpZmxh
ZzsKIC0gKEJPT0wpbW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ7CiAKQEAgLTY4Niw2ICs2ODMs
OSBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlRGVwCiAvLyBUaGUgcHJl
ZmVyZW5jZXMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgZGVwcmVjYXRlZCBhbmQgaGF2ZSBubyBlZmZl
Y3QuIFRoZXkgc2hvdWxkCiAvLyBiZSByZW1vdmVkIHdoZW4gaXQgaXMgY29uc2lkZXJlZCBzYWZl
IHRvIGRvIHNvLgogCistICh2b2lkKXNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZDooQk9PTClm
bGFnOworLSAoQk9PTClmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ7CisKIC0gKHZvaWQpc2V0Q1NT
U2hhZG93UGFydHNFbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKWNzc1NoYWRvd1BhcnRzRW5h
YmxlZDsKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQkocmV2aXNpb24gMjY3MTk0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMzczLDcgKzMzNzMsNiBAQCAtICh2b2lkKV9w
cmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXRNZW51SXRlbUVsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNl
cyBtZW51SXRlbUVsZW1lbnRFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkKFtwcmVm
ZXJlbmNlcyBhY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkXSk7CiAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRBcmlhUmVmbGVjdGlvbkVuYWJsZWQo
W3ByZWZlcmVuY2VzIGFyaWFSZWZsZWN0aW9uRW5hYmxlZF0pOwotICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKFtw
cmVmZXJlbmNlcyBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRdKTsKICAgICBzZXR0aW5ncy5zZXRS
ZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlZmVycmVyUG9saWN5
QXR0cmlidXRlRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLnNldExpbmtQcmVsb2FkUmVzcG9uc2l2
ZUltYWdlc0VuYWJsZWQoW3ByZWZlcmVuY2VzIGxpbmtQcmVsb2FkUmVzcG9uc2l2ZUltYWdlc0Vu
YWJsZWRdKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNl
dERpYWxvZ0VsZW1lbnRFbmFibGVkKFtwcmVmZXJlbmNlcyBkaWFsb2dFbGVtZW50RW5hYmxlZF0p
OwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MTk0KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMjAtMDktMTcgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUg
ZmV0Y2gga2VlcGFsaXZlIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlz
YWJsaW5nIHRoZSBmZXRjaCBrZWVwYWxpdmUgYXR0cmlidXRlLiBJdCBpcworICAgICAgICBvbiBi
eSBkZWZhdWx0IGFuZCB0aGVyZSBpcyBubyBrbm93biByZWFzb24gb25lIHdvdWxkIG5lZWQgdG8g
ZGlzYWJsZSBpdC4KKworICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdl
YlByZWZlcmVuY2VzOjpmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQpOgorICAgICAgICAoV2ViUHJl
ZmVyZW5jZXM6OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCk6CisgICAgICAgICogV2ViVmll
dy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAy
MDIwLTA5LTE3ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB0aGUgbGVnYWN5IGFuaW1hdGlvbiBjb2RlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjcxOTQpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
MzYsMTMgKzIxMzYsMTIgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6ZmV0Y2hBUElLZWVwQWxp
dgogewogICAgIGlmICghZW5hYmxlZCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAq
ZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJLaXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQ
cmVmZXJlbmNlS2V5KTsKKyAgICAqZW5hYmxlZCA9IHRydWU7CiAgICAgcmV0dXJuIFNfT0s7CiB9
CiAKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChC
T09MIGVuYWJsZWQpCiB7Ci0gICAgc2V0Qm9vbFZhbHVlKFdlYktpdEZldGNoQVBJS2VlcEFsaXZl
RW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOwogICAgIHJldHVybiBTX09LOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjY3MTk0KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUy
NzQsMTEgKzUyNzQsNiBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdl
CiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy5zZXRMaW5rUHJlbG9hZEVuYWJsZWQo
ISFlbmFibGVkKTsKIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5mZXRjaEFQSUtlZXBBbGl2ZUVu
YWJsZWQoJmVuYWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7
Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQ
SUtlZXBBbGl2ZUVuYWJsZWQoISFlbmFibGVkKTsKLQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5t
ZWRpYVByZWxvYWRpbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAg
ICAgICAgcmV0dXJuIGhyOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MTk0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDktMTcgIFNhbSBXZWluaWcgIDx3ZWlu
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJs
aW5nL2Rpc2FibGluZyB0aGUgZmV0Y2gga2VlcGFsaXZlIGF0dHJpYnV0ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTY0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGlu
ZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBrZWVwYWxpdmUgYXR0cmlidXRlLiBJ
dCBpcworICAgICAgICBvbiBieSBkZWZhdWx0IGFuZCB0aGVyZSBpcyBubyBrbm93biByZWFzb24g
b25lIHdvdWxkIG5lZWQgdG8gZGlzYWJsZSBpdC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1
cmVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisKIDIwMjAtMDktMTcgIERp
ZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVbnJl
dmlld2VkIGdhcmRlbmluZy4gQVBJIHRlc3QgV2ViS2l0V2ViSW5zcGVjdG9yU2VydmVyL3Rlc3Qt
cGFnZS1saXN0IGlzIGZsYWt5LgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY3MTk0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04MTMsNyArODEzLDYgQEAg
c3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoVwogICAgIFtwcmVmZXJlbmNl
cyBzZXRMaW5rUHJlbG9hZEVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TWVkaWFQ
cmVsb2FkaW5nRW5hYmxlZDpZRVNdOwogICAgIC8vIEZJWE1FOiBJbnB1dEV2ZW50cwotICAgIFtw
cmVmZXJlbmNlcyBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0V2ViQW5pbWF0aW9uc0NvbXBvc2l0ZU9wZXJhdGlvbnNFbmFibGVkOllFU107CiAg
ICAgW3ByZWZlcmVuY2VzIHNldFdlYkFuaW1hdGlvbnNNdXRhYmxlVGltZWxpbmVzRW5hYmxlZDpZ
RVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5h
YmxlZDpZRVNdOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCShyZXZpc2lvbiAyNjcxOTQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03ODQsNyArNzg0LDYgQEAgc3RhdGlj
IHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoSQogewogICAgIENPTVB0cjxJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlNz4gcHJlZnNQcml2YXRlIHsgUXVlcnksIHByZWZlcmVuY2VzIH07CiAK
LSAgICBwcmVmc1ByaXZhdGUtPnNldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChUUlVFKTsKICAg
ICAvLyBGSVhNRTogQ1NTR3JpZExheW91dAogICAgIC8vIEZJWE1FOiBTcHJpbmdUaW1pbmdGdW5j
dGlvbgogICAgIC8vIEZJWE1FOiBHYW1lcGFkcwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI2NzE5NCkKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTUsNyArOTU1
LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQwogCiAgICAgV0tQ
cmVmZXJlbmNlc1NldElzTlNVUkxTZXNzaW9uV2ViU29ja2V0RW5hYmxlZChwcmVmZXJlbmNlcywg
ZmFsc2UpOwogCi0gICAgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZChw
cmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVGltaW5nRW5h
YmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFVzZXJUaW1pbmdF
bmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0TWVkaWFQcmVs
b2FkaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcx
OTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NiBAQAorMjAyMC0wOS0xNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRj
aCBrZWVwYWxpdmUgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTY1NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxp
bmcgdGhlIGZldGNoIGtlZXBhbGl2ZSBhdHRyaWJ1dGUuIEl0IGlzCisgICAgICAgIG9uIGJ5IGRl
ZmF1bHQgYW5kIHRoZXJlIGlzIG5vIGtub3duIHJlYXNvbiBvbmUgd291bGQgbmVlZCB0byBkaXNh
YmxlIGl0LgorCisgICAgICAgICogaHR0cC93cHQvYmVhY29uL2JlYWNvbi1sZWdhY3ktY29kZS1w
YXRoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9iZWFjb24vYmVh
Y29uLWxlZ2FjeS1jb2RlLXBhdGguaHRtbDogUmVtb3ZlZC4KKwogMjAyMC0wOS0xNyAgRGllZ28g
UGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIFVucmV2aWV3
ZWQgZ2FyZGVuaW5nLiBVcGRhdGUgYmFzZWxpbmVzIGFmdGVyIHIyMDA1Ni4KSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvd3B0L2JlYWNvbi9iZWFjb24tbGVnYWN5LWNvZGUtcGF0aC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC93cHQvYmVhY29uL2JlYWNvbi1sZWdh
Y3ktY29kZS1wYXRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjY3MTk0KQorKysgTGF5b3V0VGVz
dHMvaHR0cC93cHQvYmVhY29uL2JlYWNvbi1sZWdhY3ktY29kZS1wYXRoLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIFNlbmQgQmVhY29uIAotCkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3dwdC9iZWFjb24vYmVhY29uLWxlZ2FjeS1jb2RlLXBhdGguaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3dwdC9iZWFjb24vYmVhY29uLWxlZ2Fj
eS1jb2RlLXBhdGguaHRtbAkocmV2aXNpb24gMjY3MTk0KQorKysgTGF5b3V0VGVzdHMvaHR0cC93
cHQvYmVhY29uL2JlYWNvbi1sZWdhY3ktY29kZS1wYXRoLmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwzNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIvV2ViS2l0L2Jl
YWNvbi9yZXNvdXJjZXMvIjsKLQotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKGZhbHNlKTsKLQot
ICAgIGZ1bmN0aW9uIHdhaXRGb3JCZWFjb25Db21wbGV0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAg
IGlmICghaW50ZXJuYWxzLmluZmxpZ2h0QmVhY29uc0NvdW50KSB7Ci0gICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgd2FpdEZvckJl
YWNvbkNvbXBsZXRpb24oKS50aGVuKHJlc29sdmUsIHJlamVjdCk7Ci0gICAgICAgICAgICB9LCAx
MCk7Ci0gICAgICAgIH0pOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNyZWF0ZVBheWxvYWQocGF5
bG9hZFNpemUpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3IEJsb2IoWyIqIi5yZXBlYXQocGF5
bG9hZFNpemUpXSk7Ci0gICAgfQotCi0gICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgewotICAg
ICAgICB2YXIgaWQgPSBzZWxmLnRva2VuKCk7Ci0gICAgICAgIHZhciB0YXJnZXQgPSBSRVNPVVJD
RVNfRElSICsgImJlYWNvbi1wcmVmbGlnaHQucHk/YWxsb3dDb3JzPTEmY21kPXB1dCZpZD0iICsg
aWQ7Ci0KLSAgICAgICAgYXNzZXJ0X3RydWUobmF2aWdhdG9yLnNlbmRCZWFjb24odGFyZ2V0LCBj
cmVhdGVQYXlsb2FkKDEwKSksICJTZW5kIGJlYWNvbiIpOwotICAgICAgICByZXR1cm4gd2FpdEZv
ckJlYWNvbkNvbXBsZXRpb24oKTsKLSAgICB9LCAiU2VuZCBCZWFjb24iKTsKLTwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="424627"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>