<?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>221015</bug_id>
          
          <creation_ts>2021-01-26 15:49:30 -0800</creation_ts>
          <short_desc>[iOS] expose existing macOS-only `-[WKWebView _pageExtendedBackgroundColor]` SPI</short_desc>
          <delta_ts>2021-01-27 12:10:39 -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>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220944</see_also>
          <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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>hi</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1722755</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-26 15:49:30 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722756</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-26 15:49:52 -0800</bug_when>
    <thetext>&lt;rdar://problem/73636453&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722782</commentid>
    <comment_count>2</comment_count>
      <attachid>418491</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-26 17:06:39 -0800</bug_when>
    <thetext>Created attachment 418491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722785</commentid>
    <comment_count>3</comment_count>
      <attachid>418491</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-01-26 17:15:13 -0800</bug_when>
    <thetext>Comment on attachment 418491
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:383
&gt; +@property (nonatomic, readonly) NSColor *_pageExtendedBackgroundColor;

Might as well rectify past mistakes and add the availability for the macOS version too (blame the line and see when it was introduced).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722797</commentid>
    <comment_count>4</comment_count>
      <attachid>418491</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-26 17:51:37 -0800</bug_when>
    <thetext>Comment on attachment 418491
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:383
&gt;&gt; +@property (nonatomic, readonly) NSColor *_pageExtendedBackgroundColor;
&gt; 
&gt; Might as well rectify past mistakes and add the availability for the macOS version too (blame the line and see when it was introduced).

AFAICT this appears to have existed as long as `WKWebView` has existed.  It was added seven years ago in r165083.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723100</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-27 12:10:38 -0800</bug_when>
    <thetext>Committed r271969: &lt;https://trac.webkit.org/changeset/271969&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418491.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418491</attachid>
            <date>2021-01-26 17:06:39 -0800</date>
            <delta_ts>2021-01-27 12:10:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>pageExtendedBackgroundColor.diff</filename>
            <type>text/plain</type>
            <size>28329</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZTIyYzE2ZmI2MGJhLi40Njk4NDUxZGRhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDMgQEAKKzIwMjEtMDEtMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgor
CisgICAgICAgIFtpT1NdIGV4cG9zZSBleGlzdGluZyBtYWNPUy1vbmx5IGAtW1dLV2ViVmlldyBf
cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXWAgU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEwMTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzczNjM2NDUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpwYWdlRXh0
ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdl
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OnBhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvcldpbGxDaGFuZ2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVu
dDo6cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKTogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6UGFn
ZUNsaWVudEltcGxDb2NvYTo6cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yV2lsbENoYW5nZSk6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpwYWdlRXh0ZW5k
ZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UpOiBBZGRlZC4KKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIE9iakMgS1ZPIG9mIGAtW1dLV2ViVmlldyBfdGhlbWVDb2xvcl1gLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKTogQWRkZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
Ojp3aWxsQ29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Zmx1c2hQ
ZW5kaW5nUGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yQ2hhbmdlKTogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckRp
ZENoYW5nZSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgIE9uIG1hY09TLCBp
bnN0ZWFkIG9mIG1lc3NhZ2luZyB0aGUgVUlQcm9jZXNzIGFzIHNvb24gYXMgY2hhbmdlcyBoYXBw
ZW4sIGtlZXAgYSBmbGFnIG9mCisgICAgICAgIHdoZXRoZXIgdGhlIGBwYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3JgIGhhcyBjaGFuZ2VkIGFuZCB1c2UgaXQgd2hlbiB1cGRhdGluZyByZW5kZXJp
bmcgc28KKyAgICAgICAgdGhhdCBjaGFuZ2UgbWVzc2FnZXMgYXJlIGtlcHQgaW4gc3luYyAoZS5n
LiBtb2RpZnlpbmcgYDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIuLi4iPmApLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2Vi
VmlldyBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXSk6IEFkZGVkLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9w
YWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JdKTogRGVsZXRlZC4KKwogMjAyMS0wMS0yNiAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHRoZSB2YWx1
ZSBvZiBgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9Ii4uLiI+YCBhcyBTUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGYw
MWI2M2Y1MjI0Yy4uZmRjNTI1NjJmMWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTI3OTYsNiArMjc5NiwxNCBAQCAtIChDb2NvYUNv
bG9yICopX3RoZW1lQ29sb3IKICAgICByZXR1cm4gV2ViQ29yZTo6cGxhdGZvcm1Db2xvcih0aGVt
ZUNvbG9yKTsKIH0KIAorLSAoQ29jb2FDb2xvciAqKV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3IKK3sKKyAgICBhdXRvIHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciA9IF9wYWdlLT5wYWdl
RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKTsKKyAgICBpZiAoIXBhZ2VFeHRlbmRlZEJhY2tncm91
bmRDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgcmV0dXJuIFdlYkNv
cmU6OnBsYXRmb3JtQ29sb3IocGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKTsKK30KKwogLSAo
aWQgPF9XS0lucHV0RGVsZWdhdGU+KV9pbnB1dERlbGVnYXRlCiB7CiAgICAgcmV0dXJuIF9pbnB1
dERlbGVnYXRlLmdldEF1dG9yZWxlYXNlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggN2U3ZGFlYmRmOTZhLi5m
NzA3MTZmYmNiMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzc3LDYgKzM3NywxMiBAQCBmb3IgdGhpcyBwcm9w
ZXJ0eS4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNDb2xvciAqX3RoZW1lQ29s
b3IgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiAjZW5kaWYKIAorI2lmIFRB
UkdFVF9PU19JUEhPTkUKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlDb2xvciAq
X3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19JT1Nf
VEJBKSk7CisjZWxzZQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0NvbG9yICpf
cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yOworI2VuZGlmCisKIEBlbmQKIAogI2lmIFRBUkdF
VF9PU19JUEhPTkUKQEAgLTUyMyw3ICs1MjksNiBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLUmVjdEVkZ2UgX3Bpbm5lZFN0YXRlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0UnViYmVyQmFuZGluZ0VuYWJsZWQ6KSBfV0tSZWN0RWRnZSBfcnViYmVyQmFuZGluZ0Vu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSk7CiAKLUBwcm9wZXJ0eSAocmVh
ZG9ubHkpIE5TQ29sb3IgKl9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRCYWNrZ3JvdW5kQ29sb3I6KSBOU0NvbG9yICpfYmFja2dy
b3VuZENvbG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTQpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldFVuZGVybGF5Q29sb3I6KSBOU0NvbG9yICpfdW5kZXJs
YXlDb2xvciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZpZXdNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5tbQppbmRleCA0Nzc1ZTBlMzY3
YTkuLmVkOTQ0NTM5MTZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L21hYy9XS1dlYlZpZXdNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21h
Yy9XS1dlYlZpZXdNYWMubW0KQEAgLTEyODUsMTEgKzEyODUsNiBAQCAtICh2b2lkKV9zZXRSdWJi
ZXJCYW5kaW5nRW5hYmxlZDooX1dLUmVjdEVkZ2Upc3RhdGUKICAgICBfaW1wbC0+c2V0UnViYmVy
QmFuZGluZ0VuYWJsZWQoc3RhdGUpOwogfQogCi0tIChOU0NvbG9yICopX3BhZ2VFeHRlbmRlZEJh
Y2tncm91bmRDb2xvcgotewotICAgIHJldHVybiBfaW1wbC0+cGFnZUV4dGVuZGVkQmFja2dyb3Vu
ZENvbG9yKCk7Ci19Ci0KIC0gKE5TQ29sb3IgKilfYmFja2dyb3VuZENvbG9yCiB7CiAgICAgcmV0
dXJuIF9pbXBsLT5iYWNrZ3JvdW5kQ29sb3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRleCA1NmU1NjU3ZDNiZjkuLjJl
NDk2MTIxNzM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EuaApAQCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHRoZW1lQ29sb3JXaWxsQ2hhbmdlKCkgZmluYWw7CiAgICAgdm9pZCB0aGVtZUNvbG9yRGlkQ2hh
bmdlKCkgZmluYWw7CisgICAgdm9pZCBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JXaWxsQ2hh
bmdlKCkgZmluYWw7CisgICAgdm9pZCBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFu
Z2UoKSBmaW5hbDsKICAgICB2b2lkIGlzUGxheWluZ0F1ZGlvV2lsbENoYW5nZSgpIGZpbmFsOwog
ICAgIHZvaWQgaXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2UoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXgg
NTdkMzcwMjQxNjEwLi4zOGQ2ODA4NzA4ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtNTQsNiArNTQsMTYgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjp0aGVtZUNvbG9yRGlkQ2hhbmdlKCkKICAgICBbbV93
ZWJWaWV3IGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiX3RoZW1lQ29sb3IiXTsKIH0KIAordm9pZCBQ
YWdlQ2xpZW50SW1wbENvY29hOjpwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JXaWxsQ2hhbmdl
KCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9wYWdlRXh0ZW5k
ZWRCYWNrZ3JvdW5kQ29sb3IiXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpwYWdl
RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoKQoreworICAgIFttX3dlYlZpZXcgZGlk
Q2hhbmdlVmFsdWVGb3JLZXk6QCJfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yIl07Cit9CisK
IHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6aXNQbGF5aW5nQXVkaW9XaWxsQ2hhbmdlKCkKIHsK
ICAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpOU1N0cmluZ0Zyb21TZWxlY3Rv
cihAc2VsZWN0b3IoX2lzUGxheWluZ0F1ZGlvKSldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCmluZGV4IDE0ODU3OTZiYzVmOC4uNzliN2QyMzdlZDQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00OTQsNiArNDk0LDggQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHRoZW1lQ29sb3JXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHRo
ZW1lQ29sb3JEaWRDaGFuZ2UoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFnZUV4dGVuZGVkQmFj
a2dyb3VuZENvbG9yV2lsbENoYW5nZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWdlRXh0ZW5k
ZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlQmFja2dyb3VuZENvbG9yKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpc1BsYXlpbmdBdWRp
b1dpbGxDaGFuZ2UoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ0F1ZGlvRGlkQ2hh
bmdlKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
ZTk0YTEyZmIzY2JjLi41OTBmZTc1MzNlNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtODQyNyw5ICs4NDI3LDE0IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp0
aGVtZUNvbG9yQ2hhbmdlZChjb25zdCBDb2xvciYgdGhlbWVDb2xvcikKICAgICBwYWdlQ2xpZW50
KCkudGhlbWVDb2xvckRpZENoYW5nZSgpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29s
b3IpCit2b2lkIFdlYlBhZ2VQcm94eTo6cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hh
bmdlKGNvbnN0IENvbG9yJiBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IpCiB7Ci0gICAgbV9w
YWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IgPSBiYWNrZ3JvdW5kQ29sb3I7CisgICAgaWYgKG1f
cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yID09IHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xv
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgcGFnZUNsaWVudCgpLnBhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvcldpbGxDaGFuZ2UoKTsKKyAgICBtX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xv
ciA9IHBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcjsKKyAgICBwYWdlQ2xpZW50KCkucGFnZUV4
dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKCk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tCmluZGV4IDYxODkyYzI3MzYyOC4uNmNjZjRhNDE1NzYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTMzNiw3ICszMzYs
NyBAQCBzdGF0aWMgYm9vbCBleGNlZWRzUmVuZGVyVHJlZVNpemVTaXplVGhyZXNob2xkKHVpbnQ2
NF90IHRocmVzaG9sZFNpemUsIHVpbnQ2NF90CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0
TGF5ZXJUcmVlKGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVy
VHJlZVRyYW5zYWN0aW9uKQogewogICAgIHRoZW1lQ29sb3JDaGFuZ2VkKGxheWVyVHJlZVRyYW5z
YWN0aW9uLnRoZW1lQ29sb3IoKSk7Ci0gICAgbV9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3Ig
PSBsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IoKTsKKyAg
ICBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UobGF5ZXJUcmVlVHJhbnNhY3Rp
b24ucGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKCkpOwogCiAgICAgaWYgKCFtX2hhc1JlY2Vp
dmVkTGF5ZXJUcmVlVHJhbnNhY3Rpb25BZnRlckRpZENvbW1pdExvYWQpIHsKICAgICAgICAgaWYg
KGxheWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBtX2ZpcnN0TGF5ZXJUcmVl
VHJhbnNhY3Rpb25JZEFmdGVyRGlkQ29tbWl0TG9hZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApp
bmRleCAzOTNiMDdhY2FlZDMuLjk0YzNhMjc3ODBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
QEAgLTExNDQsMTMgKzExNDQsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6dGhlbWVDb2xvckNo
YW5nZWQoQ29sb3IgLyogdGhlbWVDb2xvciAqLykgY29uc3QKICAgICBtX3BhZ2UudGhlbWVDb2xv
ckNoYW5nZWQoKTsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnBhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvckRpZENoYW5nZShDb2xvciBiYWNrZ3JvdW5kQ29sb3IpIGNvbnN0Cit2b2lkIFdl
YkNocm9tZUNsaWVudDo6cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yRGlkQ2hhbmdlKENvbG9y
IC8qIGJhY2tncm91bmRDb2xvciAqLykgY29uc3QKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAg
bV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UGFnZUV4dGVuZGVkQmFja2dyb3Vu
ZENvbG9yRGlkQ2hhbmdlKGJhY2tncm91bmRDb2xvcikpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oYmFja2dyb3VuZENvbG9yKTsKLSNlbmRpZgorICAgIG1fcGFnZS5wYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3JEaWRDaGFuZ2UoKTsKIH0KIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OndoZWVs
RXZlbnRIYW5kbGVyc0NoYW5nZWQoYm9vbCBoYXNIYW5kbGVycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZTIxNTdkZTE1NTM0Li44OTVmNjcx
OTM1OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0zOTM5LDYgKzM5MzksNyBAQCB2b2lkIFdlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUo
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIGxheWVyVHJhbnNhY3Rpb24pCiAgICAgbGF5ZXJU
cmFuc2FjdGlvbi5zZXRTY3JvbGxQb3NpdGlvbihmcmFtZVZpZXctPnNjcm9sbFBvc2l0aW9uKCkp
OwogCiAgICAgbV9wZW5kaW5nVGhlbWVDb2xvckNoYW5nZSA9IGZhbHNlOworICAgIG1fcGVuZGlu
Z1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckNoYW5nZSA9IGZhbHNlOwogCiAgICAgaWYgKG1f
aGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKSB7CiAgICAgICAgIGxheWVyVHJhbnNhY3Rpb24u
c2V0RWRpdG9yU3RhdGUoZWRpdG9yU3RhdGUoKSk7CkBAIC02Mjc5LDYgKzYyODAsMTYgQEAgdm9p
ZCBXZWJQYWdlOjpmbHVzaFBlbmRpbmdUaGVtZUNvbG9yQ2hhbmdlKCkKICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OlRoZW1lQ29sb3JDaGFuZ2VkKG1fcGFnZS0+dGhlbWVDb2xvcigp
KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6Zmx1c2hQZW5kaW5nUGFnZUV4dGVuZGVkQmFja2dyb3Vu
ZENvbG9yQ2hhbmdlKCkKK3sKKyAgICBpZiAoIW1fcGVuZGluZ1BhZ2VFeHRlbmRlZEJhY2tncm91
bmRDb2xvckNoYW5nZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wZW5kaW5nUGFnZUV4dGVu
ZGVkQmFja2dyb3VuZENvbG9yQ2hhbmdlID0gZmFsc2U7CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckRpZENoYW5nZShtX3BhZ2Ut
PnBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcigpKSk7Cit9CisKIHZvaWQgV2ViUGFnZTo6Zmx1
c2hQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9oYXNQZW5kaW5nRWRp
dG9yU3RhdGVVcGRhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggYmJjMWEwZWIxOWM4Li42MDA5ODU4NmQ0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEyMTgsNiArMTIxOCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHRoZW1lQ29sb3JDaGFuZ2VkKCkgeyBtX3BlbmRpbmdUaGVtZUNvbG9yQ2hhbmdl
ID0gdHJ1ZTsgfQogICAgIHZvaWQgZmx1c2hQZW5kaW5nVGhlbWVDb2xvckNoYW5nZSgpOwogCisg
ICAgdm9pZCBwYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JEaWRDaGFuZ2UoKSB7IG1fcGVuZGlu
Z1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckNoYW5nZSA9IHRydWU7IH0KKyAgICB2b2lkIGZs
dXNoUGVuZGluZ1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckNoYW5nZSgpOworCiAgICAgdm9p
ZCBmbHVzaFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSgpOwogCiAjaWYgRU5BQkxFKFJFU09VUkNF
X0xPQURfU1RBVElTVElDUykKQEAgLTIwMzUsNiArMjAzOCw3IEBAIHByaXZhdGU6CiAgICAgUmVm
UHRyPFdlYkNvcmU6OkVsZW1lbnQ+IG1fcmVjZW50bHlCbHVycmVkRWxlbWVudDsKICAgICBib29s
IG1faGFzUGVuZGluZ0lucHV0Q29udGV4dFVwZGF0ZUFmdGVyQmx1cnJpbmdBbmRSZWZvY3VzaW5n
RWxlbWVudCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3BlbmRpbmdUaGVtZUNvbG9yQ2hhbmdlIHsg
ZmFsc2UgfTsKKyAgICBib29sIG1fcGVuZGluZ1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvckNo
YW5nZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSB7
IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCAzNGVlNTcyYTYxNjAuLjY0MDU1YTNlN2Zi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDQ3LDYg
KzQ0Nyw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZVJlbmRl
cmluZyhVcGRhdGVSZW5kZXJpbmdUeXBlIGZsdXNoVHlwCiAKICAgICAgICAgbV93ZWJQYWdlLnVw
ZGF0ZVJlbmRlcmluZygpOwogICAgICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5nVGhlbWVDb2xv
ckNoYW5nZSgpOworICAgICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5nUGFnZUV4dGVuZGVkQmFj
a2dyb3VuZENvbG9yQ2hhbmdlKCk7CiAgICAgICAgIG1fd2ViUGFnZS5mbHVzaFBlbmRpbmdFZGl0
b3JTdGF0ZVVwZGF0ZSgpOwogICAgICAgICBtX3dlYlBhZ2UuZmx1c2hQZW5kaW5nSW50cmluc2lj
Q29udGVudFNpemVVcGRhdGUoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDA1OWRjMDA4ODZmMy4uYjE4ZmQyZWQyOTE0IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjEtMDEtMjYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAg
IFtpT1NdIGV4cG9zZSBleGlzdGluZyBtYWNPUy1vbmx5IGAtW1dLV2ViVmlldyBfcGFnZUV4dGVu
ZGVkQmFja2dyb3VuZENvbG9yXWAgU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjEwMTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczNjM2NDUz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3Iu
bW06IEFkZGVkLgorICAgICAgICAoVEVTVC5QYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IuT25M
b2FkKToKKyAgICAgICAgKFRFU1QuUGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yLk11bHRpcGxl
VGFncyk6CisgICAgICAgICgtW1dLV2ViVmlld1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvck9i
c2VydmVyIGluaXRXaXRoV2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3UGFnZUV4dGVu
ZGVkQmFja2dyb3VuZENvbG9yT2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVj
dDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKFRFU1QuUGFnZUV4dGVuZGVkQmFja2dyb3Vu
ZENvbG9yLktWTyk6CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wMS0yNiAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHRoZSB2YWx1ZSBvZiBgPG1ldGEgbmFt
ZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9Ii4uLiI+YCBhcyBTUEkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMWQ2ZTg3NjU0YjQ0Li41YzU5N2E3MWQyZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC01MSw5ICs1MSw5IEBACiAJCTA3NDkyQjNCMURGOEIxNEMwMDYzM0RFMSAvKiBFbnVt
ZXJhdGVNZWRpYURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDc0OTJCM0ExREY4QUUyRDAwNjMzREUxIC8qIEVudW1lcmF0ZU1lZGlhRGV2
aWNlcy5jcHAgKi87IH07CiAJCTA3NDkyQjNDMURGOEI4NjYwMDYzM0RFMSAvKiBlbnVtZXJhdGVN
ZWRpYURldmljZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzQ5MkIzOTFERjhBREE0MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFE
ZXZpY2VzLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2Vy
TWVkaWEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi87
IH07Ci0JCTA3NDk5NDUyMUVBNTAzNEIwMDBEQTQ0RSAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCQUY0
RTIyNUFDOURCODAwRDgyRjMyIC8qIGdldFVzZXJNZWRpYTIuaHRtbCAqLzsgfTsKIAkJMDc0OTk0
NDIxRUE1MDM0QjAwMERBNDRGIC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAw
MkVCQUI2IC8qIG9uZGV2aWNlY2hhbmdlLmh0bWwgKi87IH07CiAJCTA3NDk5NDQyMUVBNTAzNEIw
MDBEQTQ1RSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjREMTlBRjdC
RUYwMDJFQkFDNSAvKiBnZXRVc2VyTWVkaWFBdWRpb1ZpZGVvQ2FwdHVyZS5odG1sICovOyB9Owor
CQkwNzQ5OTQ1MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhMi5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkFGNEUyMjVB
QzlEQjgwMEQ4MkYzMiAvKiBnZXRVc2VyTWVkaWEyLmh0bWwgKi87IH07CiAJCTA3NkU1MDdGMUY0
NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA3NkU1MDdFMUY0NTAzMUUwMDZFOUY1QSAvKiBMb2dnaW5nLmNw
cCAqLzsgfTsKIAkJMDc3QTVBRjMyMzA2MzhBNjAwQTcxMDVDIC8qIEFjY2Vzc2liaWxpdHlUZXN0
UGx1Z2luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDc0NjY0NTgyMkZGNjMwNTAwRTM0NTFBIC8qIEFjY2Vzc2liaWxpdHlUZXN0UGx1Z2luLm1tICov
OyB9OwogCQkwNzk5QzM0OTFFQkEyRDdCMDAzQjc1MzIgLyogVXNlck1lZGlhRGlzYWJsZWQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0VERUZBQzFF
Qjk0MDBDMDBENDMyOTIgLyogVXNlck1lZGlhRGlzYWJsZWQubW0gKi87IH07CkBAIC04NDMsNiAr
ODQzLDcgQEAKIAkJOTNGNTZEQTkxRTVGOTE5RDAwM0VERTg0IC8qIFdLV2ViVmlld1NuYXBzaG90
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGNTZE
QTgxRTVGOTE4MTAwM0VERTg0IC8qIFdLV2ViVmlld1NuYXBzaG90Lm1tICovOyB9OwogCQk5M0Y3
RTg2RjE0REM4RTVDMDBDODRBOTkgLyogTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJh
bWVzX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5M0Y3RTg2RTE0REM4RTVCMDBDODRBOTkgLyogTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0RnJhbWVzX0J1bmRsZS5jcHAgKi87IH07CiAJCTk1MEU0Q0MxMjUyRTc1MjQwMDcxNjU5
RiAvKiBpT1NTdHlsdXNTdXBwb3J0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTUwRTRDQzAyNTJFNzUyMzAwNzE2NTlGIC8qIGlPU1N0eWx1c1N1cHBv
cnQubW0gKi87IH07CisJCTk1M0FCQjM1MjVDMEQ2ODIwMDRDOEI3MyAvKiBQYWdlRXh0ZW5kZWRC
YWNrZ3JvdW5kQ29sb3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NTNBQkIzNDI1QzBENjgxMDA0QzhCNzMgLyogUGFnZUV4dGVuZGVkQmFja2dyb3Vu
ZENvbG9yLm1tICovOyB9OwogCQk5NUE1MjQ5NTI1ODFBMTBEMDA0NjFGRTkgLyogSFRNTE1ldGFU
aGVtZUNvbG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTVBNTI0OTQyNTgxQTEwRDAwNDYxRkU5IC8qIEhUTUxNZXRhVGhlbWVDb2xvci5tbSAqLzsg
fTsKIAkJOTVCNkIzQjcyNTFFQkYyRjAwRkM0MzgyIC8qIE1lZGlhRG9jdW1lbnQubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUI2QjNCNjI1MUVCRjJG
MDBGQzQzODIgLyogTWVkaWFEb2N1bWVudC5tbSAqLzsgfTsKIAkJOTk4NEZBQ0MxQ0ZGQUY2MDAw
OEQxOThDIC8qIFdLV2ViVmlld1RleHRJbnB1dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5ODRGQUNBMUNGRkFFRUUwMDhEMTk4QyAvKiBXS1dlYlZp
ZXdUZXh0SW5wdXQubW0gKi87IH07CkBAIC0xNDMwLDcgKzE0MzEsNiBAQAogCQkJCTFBN0U4QjM2
MTgxMjBCMkYwMEFFQjc0QSAvKiBGcmFnbWVudE5hdmlnYXRpb24uaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQlGNDc3Mjg5OTFFNEFFM0MxMDA3QUJGNkEgLyogZnVsbC1wYWdlLWNvbnRl
bnRlZGl0YWJsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0RTBBMjhCMjExRTRB
MkIwMEFGN0M3RiAvKiBmdWxsLXBhZ2UtZHJvcHpvbmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKLQkJCQlDREI0Nzc2MjI1NTY4RTI3MDBGRjVEMkEgLyogZnVsbC1zY3JlZW4tc2Nyb2xsLXBv
c2l0aW9uLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRjRGNDA1QkMxRDRDMEQxQzAw
N0E5NzA3IC8qIGZ1bGwtc2l6ZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0Q3OEUxMUUxREI3RUUyQTAwMTRBMkRFIC8qIEZ1bGxz
Y3JlZW5EZWxlZ2F0ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTNGQkQxQjRBMUQz
RDY2QUIwMEU2RDZGQSAvKiBGdWxsc2NyZWVuTGF5b3V0Q29uc3RyYWludHMuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKQEAgLTI0ODUsNiArMjQ4NSw3IEBACiAJCTkzRjdFODZCMTREQzhFNEQw
MEM4NEE5OSAvKiBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0RnJhbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNGN0U4NkUx
NERDOEU1QjAwQzg0QTk5IC8qIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1lc19C
dW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV3Rmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk1MEU0Q0MwMjUyRTc1MjMwMDcxNjU5RiAvKiBpT1NTdHlsdXNTdXBwb3J0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaU9TU3R5bHVzU3Vw
cG9ydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTUzQUJCMzQyNUMwRDY4MTAw
NEM4QjczIC8qIFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVBNTI0OTQyNTgxQTEwRDAwNDYxRkU5IC8q
IEhUTUxNZXRhVGhlbWVDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEhUTUxNZXRhVGhlbWVDb2xvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTVCNkIzQjYyNTFFQkYyRjAwRkM0MzgyIC8qIE1lZGlhRG9jdW1lbnQubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYURvY3VtZW50Lm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5OTg0RkFDQTFDRkZBRUVFMDA4RDE5OEMgLyogV0tXZWJW
aWV3VGV4dElucHV0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
V0tXZWJWaWV3VGV4dElucHV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzM3
NSw2ICszMzc2LDcgQEAKIAkJCQlDRUE2Q0YyMjE5Q0NGNUJEMDA2NEY1QTcgLyogT3BlbkFuZENs
b3NlV2luZG93Lm1tICovLAogCQkJCUNFQkNBMTJFMUUzQTY2MDEwMEM3MzI5MyAvKiBPdmVycmlk
ZUNvbnRlbnRTZWN1cml0eVBvbGljeS5tbSAqLywKIAkJCQkyREEyNTg2RTIyNUM2N0RDMDBCNDVD
MUMgLyogT3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cy5tbSAqLywKKwkJCQk5NTNBQkIzNDI1QzBE
NjgxMDA0QzhCNzMgLyogUGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yLm1tICovLAogCQkJCTJE
M0NBM0E0MjIxREYyMzkwMDg4RTgwMyAvKiBQYWdlT3ZlcmxheVBsdWdpbi5tbSAqLywKIAkJCQk1
MTI0MkNEQTIzN0I3OTFFMDBFRUQ5QzEgLyogUGFnZVpvb20ubW0gKi8sCiAJCQkJRjQ0Qzc5RkIy
MEY5RTUwQzAwMTQ0NzhDIC8qIFBhcnNlcllpZWxkVG9rZW5QbHVnSW4ubW0gKi8sCkBAIC0zODMy
LDcgKzM4MzQsNiBAQAogCQkJCUY0M0UzQkMwMjBEQURCODAwMEE0RTdFRCAvKiBmaXhlZC1uYXYt
YmFyLmh0bWwgKi8sCiAJCQkJOTM1NzVDNTUxRDMwMzY2RTAwMEQ2MDREIC8qIGZvY3VzLWlucHV0
cy5odG1sICovLAogCQkJCUY0NjEyOEQ4MjExRTQ5NjMwMEQ5RkFEQiAvKiBmdWxsLXBhZ2UtZHJv
cHpvbmUuaHRtbCAqLywKLQkJCQlDREI0Nzc2MTI1NTY4OTRCMDBGRjVEMkEgLyogZnVsbC1zY3Jl
ZW4tc2Nyb2xsLXBvc2l0aW9uLmh0bWwgKi8sCiAJCQkJRjRGNDA1QkExRDRDMENGODAwN0E5NzA3
IC8qIGZ1bGwtc2l6ZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi8sCiAJCQkJ
Q0Q3OEUxMUIxREI3RUEzNjAwMTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5odG1sICovLAog
CQkJCTNGQkQxQjQ5MUQzOUQxREIwMEU2RDZGQSAvKiBGdWxsc2NyZWVuTGF5b3V0Q29uc3RyYWlu
dHMuaHRtbCAqLywKQEAgLTUyODEsNyArNTI4Miw2IEBACiAJCQkJQ0Q3OEUxMUQxREI3RUE2NjAw
MTRBMkRFIC8qIEZ1bGxzY3JlZW5EZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQjIx
M0JEMjRFRjUyMjgwMEZERTMwMSAvKiBGdWxsc2NyZWVuRm9jdXMubW0gaW4gU291cmNlcyAqLywK
IAkJCQlDREU3N0QyNTI1QTY1OTFDMDBENDExNUUgLyogRnVsbHNjcmVlblBvaW50ZXJMZWF2ZS5t
bSBpbiBTb3VyY2VzICovLAotCQkJCUNEQjQ3NzYwMjU1Njg4NjgwMEZGNUQyQSAvKiBGdWxsU2Ny
ZWVuU2Nyb2xsUG9zaXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREJGQ0M0NTFBOUZGNDUz
MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gaW4gU291cmNlcyAqLywK
IAkJCQk4M0RCNzk2OTFFRjYzQjNDMDBCRkE1RTUgLyogRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0NDRTdFRjgxQTQxMUFFNjAwNDQ3QzRDIC8qIEdlb2xvY2F0aW9uLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtNTQ2NCw2ICs1NDY0LDcgQEAKIAkJCQk1MThDMTE1MzIwNUIwNTA0MDAx
RkY0QUUgLyogUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlG
RUMyQTg1NjI0Q0VCNjVGMDBBREJDMzUgLyogUHJvcGVydHlTbG90LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDODNFMEMxMUQwQTY1MkYwMEZFQkNGMyAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5n
ZS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTk1M0FCQjM1MjVDMEQ2ODIwMDRDOEI3MyAvKiBQYWdl
RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IubW0gaW4gU291cmNlcyAqLywKIAkJCQk1Q0ZBQ0Y2NTIy
NkZEMkRDMDA1NkM3RDAgLyogUHJveHkubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNDFBMUUzNDIx
NkZGREJDMDA3ODlFMEEgLyogUHVibGljU3VmZml4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
ODNFMEMyMUQwQTY1MzUwMEZFQkNGMyAvKiBRdWlja0xvb2subW0gaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGFnZUV4dGVu
ZGVkQmFja2dyb3VuZENvbG9yLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9QYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3IubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi42NTMyZjQ1YWMwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BhZ2VFeHRlbmRlZEJhY2tncm91bmRD
b2xvci5tbQpAQCAtMCwwICsxLDE2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorCisjaW1wb3J0ICJDb2NvYUNvbG9yLmgiCisjaW1wb3J0ICJUZXN0Q29jb2EuaCIKKyNpbXBv
cnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+
CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKKyNkZWZpbmUgRVhQRUNUX05TU1RSSU5HX0VR
KGV4cGVjdGVkLCBhY3R1YWwpIFwKKyAgICBFWFBFQ1RfVFJVRShbYWN0dWFsIGlzS2luZE9mQ2xh
c3M6W05TU3RyaW5nIGNsYXNzXV0pOyBcCisgICAgRVhQRUNUX1dLX1NUUkVRKGV4cGVjdGVkLCAo
TlNTdHJpbmcgKilhY3R1YWwpOworCitjb25zdGV4cHIgQ0dGbG9hdCB3aGl0ZUNvbG9yQ29tcG9u
ZW50c1s0XSA9IHsgMSwgMSwgMSwgMSB9OworY29uc3RleHByIENHRmxvYXQgcmVkQ29sb3JDb21w
b25lbnRzWzRdID0geyAxLCAwLCAwLCAxIH07Citjb25zdGV4cHIgQ0dGbG9hdCBibHVlQ29sb3JD
b21wb25lbnRzWzRdID0geyAwLCAwLCAxLCAxIH07CisKK1RFU1QoUGFnZUV4dGVuZGVkQmFja2dy
b3VuZENvbG9yLCBPbkxvYWQpCit7CisgICAgYXV0byBzUkdCQ29sb3JTcGFjZSA9IGFkb3B0Q0Yo
Q0dDb2xvclNwYWNlQ3JlYXRlV2l0aE5hbWUoa0NHQ29sb3JTcGFjZVNSR0IpKTsKKyAgICBhdXRv
IHdoaXRlQ29sb3IgPSBhZG9wdENGKENHQ29sb3JDcmVhdGUoc1JHQkNvbG9yU3BhY2UuZ2V0KCks
IHdoaXRlQ29sb3JDb21wb25lbnRzKSk7CisgICAgYXV0byByZWRDb2xvciA9IGFkb3B0Q0YoQ0dD
b2xvckNyZWF0ZShzUkdCQ29sb3JTcGFjZS5nZXQoKSwgcmVkQ29sb3JDb21wb25lbnRzKSk7CisK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworICAgIEVYUEVDVF9UUlVFKCFb
d2ViVmlldyBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXSk7CisKKyAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZy
YW1lc1BhaW50OkAiPHN0eWxlPiBib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9IDwvc3R5
bGU+Il07CisKKyAgICBFWFBFQ1RfVFJVRShDR0NvbG9yRXF1YWxUb0NvbG9yKFt3ZWJWaWV3IF9w
YWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3IsIHJlZENvbG9yLmdldCgpKSk7CisK
KyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJ
bW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OkAiPHN0eWxlPiBib2R5IHsgbm90LWJhY2tncm91bmQt
Y29sb3I6IHJlZDsgfSA8L3N0eWxlPiJdOworCisgICAgRVhQRUNUX1RSVUUoQ0dDb2xvckVxdWFs
VG9Db2xvcihbd2ViVmlldyBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yXS5DR0NvbG9yLCB3
aGl0ZUNvbG9yLmdldCgpKSk7Cit9CisKK1RFU1QoUGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9y
LCBNdWx0aXBsZVN0eWxlcykKK3sKKyAgICBhdXRvIHNSR0JDb2xvclNwYWNlID0gYWRvcHRDRihD
R0NvbG9yU3BhY2VDcmVhdGVXaXRoTmFtZShrQ0dDb2xvclNwYWNlU1JHQikpOworICAgIGF1dG8g
Ymx1ZUNvbG9yID0gYWRvcHRDRihDR0NvbG9yQ3JlYXRlKHNSR0JDb2xvclNwYWNlLmdldCgpLCBi
bHVlQ29sb3JDb21wb25lbnRzKSk7CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVz
dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KV0pOworICAgIEVYUEVDVF9UUlVFKCFbd2ViVmlldyBfcGFnZUV4dGVuZGVkQmFja2dyb3VuZENv
bG9yXSk7CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdBbmRXYWl0
VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OkAiPHN0eWxlPiBib2R5IHsgYmFja2dy
b3VuZC1jb2xvcjogcmVkOyB9IGJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9IDwvc3R5
bGU+Il07CisKKyAgICBFWFBFQ1RfVFJVRShDR0NvbG9yRXF1YWxUb0NvbG9yKFt3ZWJWaWV3IF9w
YWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3IsIGJsdWVDb2xvci5nZXQoKSkpOwor
fQorCitAaW50ZXJmYWNlIFdLV2ViVmlld1BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvck9ic2Vy
dmVyIDogTlNPYmplY3QKKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoV2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldzsKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS1dlYlZp
ZXcgKndlYlZpZXc7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnN0YXRl
OworCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdQYWdlRXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3JPYnNlcnZlcgorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAg
ICAgIHJldHVybiBuaWw7CisKKyAgICBfc3RhdGUgPSBAImJlZm9yZS1pbml0IjsKKworICAgIF93
ZWJWaWV3ID0gd2ViVmlldzsKKyAgICBbX3dlYlZpZXcgYWRkT2JzZXJ2ZXI6c2VsZiBmb3JLZXlQ
YXRoOkAiX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciIgb3B0aW9uczpOU0tleVZhbHVlT2Jz
ZXJ2aW5nT3B0aW9uSW5pdGlhbCBjb250ZXh0Om5pbF07CisKKyAgICByZXR1cm4gc2VsZjsKK30K
KworLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZP
YmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeSAqKWNoYW5nZSBjb250ZXh0Oih2
b2lkICopY29udGV4dAoreworICAgIGlmIChbX3N0YXRlIGlzRXF1YWxUb1N0cmluZzpAImJlZm9y
ZS1pbml0Il0pIHsKKyAgICAgICAgX3N0YXRlID0gQCJhZnRlci1pbml0IjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGlmIChbX3N0YXRlIGlzRXF1YWxUb1N0cmluZzpAImJlZm9yZS1s
b2FkIl0pIHsKKyAgICAgICAgX3N0YXRlID0gQCJhZnRlci1sb2FkIjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChbX3N0YXRlIGlzRXF1YWxUb1N0cmluZzpAImJlZm9yZS1jc3Mt
Y2xhc3MtYWRkZWQiXSkgeworICAgICAgICBfc3RhdGUgPSBAImFmdGVyLWNzcy1jbGFzcy1hZGRl
ZCI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoW19zdGF0ZSBpc0VxdWFsVG9T
dHJpbmc6QCJiZWZvcmUtY3NzLWNsYXNzLWNoYW5nZWQiXSkgeworICAgICAgICBfc3RhdGUgPSBA
ImFmdGVyLWNzcy1jbGFzcy1jaGFuZ2VkIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmIChbX3N0YXRlIGlzRXF1YWxUb1N0cmluZzpAImJlZm9yZS1jc3MtY2xhc3MtcmVtb3ZlZCJd
KSB7CisgICAgICAgIF9zdGF0ZSA9IEAiYWZ0ZXItY3NzLWNsYXNzLXJlbW92ZWQiOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30K
KworQGVuZAorCitURVNUKFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvciwgS1ZPKQoreworICAg
IGF1dG8gc1JHQkNvbG9yU3BhY2UgPSBhZG9wdENGKENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhOYW1l
KGtDR0NvbG9yU3BhY2VTUkdCKSk7CisgICAgYXV0byB3aGl0ZUNvbG9yID0gYWRvcHRDRihDR0Nv
bG9yQ3JlYXRlKHNSR0JDb2xvclNwYWNlLmdldCgpLCB3aGl0ZUNvbG9yQ29tcG9uZW50cykpOwor
ICAgIGF1dG8gcmVkQ29sb3IgPSBhZG9wdENGKENHQ29sb3JDcmVhdGUoc1JHQkNvbG9yU3BhY2Uu
Z2V0KCksIHJlZENvbG9yQ29tcG9uZW50cykpOworICAgIGF1dG8gYmx1ZUNvbG9yID0gYWRvcHRD
RihDR0NvbG9yQ3JlYXRlKHNSR0JDb2xvclNwYWNlLmdldCgpLCBibHVlQ29sb3JDb21wb25lbnRz
KSk7CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworICAgIGF1dG8gdGhl
bWVDb2xvck9ic2VydmVyID0gYWRvcHROUyhbW1dLV2ViVmlld1BhZ2VFeHRlbmRlZEJhY2tncm91
bmRDb2xvck9ic2VydmVyIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwor
ICAgIEVYUEVDVF9OU1NUUklOR19FUSgiYWZ0ZXItaW5pdCIsIFt0aGVtZUNvbG9yT2JzZXJ2ZXIg
c3RhdGVdKTsKKyAgICBFWFBFQ1RfVFJVRSghW3dlYlZpZXcgX3BhZ2VFeHRlbmRlZEJhY2tncm91
bmRDb2xvcl0pOworCisgICAgW3RoZW1lQ29sb3JPYnNlcnZlciBzZXRTdGF0ZTpAImJlZm9yZS1s
b2FkIl07CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nQW5kV2FpdFVu
dGlsQWxsSW1tZWRpYXRlQ2hpbGRGcmFtZXNQYWludDpAIjxzdHlsZT4gYm9keS5yZWQgeyBiYWNr
Z3JvdW5kLWNvbG9yOiByZWQ7IH0gYm9keS5ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsg
fSA8L3N0eWxlPiJdOworICAgIEVYUEVDVF9OU1NUUklOR19FUSgiYWZ0ZXItbG9hZCIsIFt0aGVt
ZUNvbG9yT2JzZXJ2ZXIgc3RhdGVdKTsKKyAgICBFWFBFQ1RfVFJVRShDR0NvbG9yRXF1YWxUb0Nv
bG9yKFt3ZWJWaWV3IF9wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3IsIHdoaXRl
Q29sb3IuZ2V0KCkpKTsKKworICAgIFt0aGVtZUNvbG9yT2JzZXJ2ZXIgc2V0U3RhdGU6QCJiZWZv
cmUtY3NzLWNsYXNzLWFkZGVkIl07CisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2
YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gJ3JlZCciXTsKKyAgICBbd2ViVmll
dyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX05TU1RSSU5HX0VR
KCJhZnRlci1jc3MtY2xhc3MtYWRkZWQiLCBbdGhlbWVDb2xvck9ic2VydmVyIHN0YXRlXSk7Cisg
ICAgRVhQRUNUX1RSVUUoQ0dDb2xvckVxdWFsVG9Db2xvcihbd2ViVmlldyBfcGFnZUV4dGVuZGVk
QmFja2dyb3VuZENvbG9yXS5DR0NvbG9yLCByZWRDb2xvci5nZXQoKSkpOworCisgICAgW3RoZW1l
Q29sb3JPYnNlcnZlciBzZXRTdGF0ZTpAImJlZm9yZS1jc3MtY2xhc3MtY2hhbmdlZCJdOworICAg
IFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmNs
YXNzTmFtZSA9ICdibHVlJyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9u
VXBkYXRlXTsKKyAgICBFWFBFQ1RfTlNTVFJJTkdfRVEoImFmdGVyLWNzcy1jbGFzcy1jaGFuZ2Vk
IiwgW3RoZW1lQ29sb3JPYnNlcnZlciBzdGF0ZV0pOworICAgIEVYUEVDVF9UUlVFKENHQ29sb3JF
cXVhbFRvQ29sb3IoW3dlYlZpZXcgX3BhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvcl0uQ0dDb2xv
ciwgYmx1ZUNvbG9yLmdldCgpKSk7CisKKyAgICBbdGhlbWVDb2xvck9ic2VydmVyIHNldFN0YXRl
OkAiYmVmb3JlLWNzcy1jbGFzcy1yZW1vdmVkIl07CisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gJyciXTsKKyAgICBb
d2ViVmlldyB3YWl0Rm9yTmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX05TU1RS
SU5HX0VRKCJhZnRlci1jc3MtY2xhc3MtcmVtb3ZlZCIsIFt0aGVtZUNvbG9yT2JzZXJ2ZXIgc3Rh
dGVdKTsKKyAgICBFWFBFQ1RfVFJVRShDR0NvbG9yRXF1YWxUb0NvbG9yKFt3ZWJWaWV3IF9wYWdl
RXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3IsIHdoaXRlQ29sb3IuZ2V0KCkpKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>