<?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>106163</bug_id>
          
          <creation_ts>2013-01-04 19:36:09 -0800</creation_ts>
          <short_desc>Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes</short_desc>
          <delta_ts>2013-01-05 18:27:59 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>abecsi</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>800825</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-04 19:36:09 -0800</bug_when>
    <thetext>Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800836</commentid>
    <comment_count>1</comment_count>
      <attachid>181423</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-04 19:57:41 -0800</bug_when>
    <thetext>Created attachment 181423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800841</commentid>
    <comment_count>2</comment_count>
      <attachid>181423</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-04 20:04:47 -0800</bug_when>
    <thetext>Comment on attachment 181423
Patch

Attachment 181423 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15700484</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800842</commentid>
    <comment_count>3</comment_count>
      <attachid>181423</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-01-04 20:05:38 -0800</bug_when>
    <thetext>Comment on attachment 181423
Patch

Attachment 181423 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15710529</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800843</commentid>
    <comment_count>4</comment_count>
      <attachid>181423</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-04 20:21:18 -0800</bug_when>
    <thetext>Comment on attachment 181423
Patch

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

&gt; Source/WebKit2/ChangeLog:16
&gt; +        (NetworkProcess):

You should remove bogus lines like this, or fix the script so it doesn’t add them. I’m also partial to per-function comments.

&gt; Source/WebKit2/ChangeLog:26
&gt; +        (WebKit):

Another.

&gt; Source/WebKit2/ChangeLog:28
&gt; +        (PluginProcess):

Another.

&gt; Source/WebKit2/ChangeLog:45
&gt; +        (ChildProcess):

Another.

&gt; Source/WebKit2/ChangeLog:51
&gt; +        (WebKit):

Another.

&gt; Source/WebKit2/NetworkProcess/mac/NetworkProcessMainMac.mm:84
&gt; +    @autoreleasepool {

Why not put the [NSApplication sharedApplication] call inside this pool?

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:281
&gt; +    // FIXME: It would be better to proxy set cursor calls over to the UI process instead of

Typo: &quot;set cursor calls&quot; should probably be something else, like maybe &quot;SetCursor calls&quot;. I know you just moved this, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800853</commentid>
    <comment_count>5</comment_count>
      <attachid>181423</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-04 21:07:26 -0800</bug_when>
    <thetext>Comment on attachment 181423
Patch

Attachment 181423 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15700515

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800859</commentid>
    <comment_count>6</comment_count>
      <attachid>181423</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-01-04 23:09:29 -0800</bug_when>
    <thetext>Comment on attachment 181423
Patch

Attachment 181423 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15700613</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801023</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-05 18:27:59 -0800</bug_when>
    <thetext>Committed r138913: &lt;http://trac.webkit.org/changeset/138913&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181423</attachid>
            <date>2013-01-04 19:57:41 -0800</date>
            <delta_ts>2013-01-04 23:09:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106163-20130104195448.patch</filename>
            <type>text/plain</type>
            <size>42525</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjU0YTkxNGM2OWNlYjE2
NjMzNTU3NTZhOGI2ZjBhYzIzMjY4NzMwNC4uMjMwM2ZhZWNmY2YwMWZiNjZiODBhOTc5MjE5ZDNm
MjJjYjM0YWRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDczIEBACiAyMDEzLTAxLTA0ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgUmVtb3ZlIFdlYlByb2Nlc3NJbml0
aWFsaXphdGlvbiBhbmQgTmV0d29ya1Byb2Nlc3NJbml0aWFsaXphdGlvbiBieSBwdXR0aW5nIHRo
ZSByZXN0IG9mIGluaXRpYWxpemF0aW9uIGluIENoaWxkUHJvY2VzcyBkZXJpdmVkIGNsYXNzZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjE2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgQ2hp
bGRQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUoKSBhbmQgdGhlIGNhdGNoYWxsIENoaWxk
UHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MoKQorICAgICAgICBhcyB0aGUgbGFzdCBwaWVjZXMg
dG8gaGF2ZSBhbGwgdGhlIGluaXRpYWxpemF0aW9uIGZyb20gV2ViUHJvY2Vzc0luaXRpYWxpemF0
aW9uIGFuZCBOZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uCisgICAgICAgIGNhcHR1cmVkIGlu
IENoaWxkUHJvY2VzcyBhbmQgZGVyaXZlZCBjbGFzc2VzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nl
c3M6OmluaXRpYWxpemVTYW5kYm94KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oOgorICAgICAgICAoTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLmg6IFJlbW92ZWQuCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzSW5pdGlhbGl6YXRpb24ubW06
IFJlbW92ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NO
YW1lKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWluTWFjLm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc01haW4pOgorICAgICAgICAqIFBsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nl
c3M6OmluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgIChQbHVnaW5Qcm9jZXNzKToKKyAg
ICAgICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKToKKyAgICAg
ICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFpbk1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luUHJvY2Vzc01haW4pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvcXQv
UGx1Z2luUHJvY2Vzc1F0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MpOgorICAgICAgICAqIFBsdWdpblByb2Nl
c3MvdW5peC9QbHVnaW5Qcm9jZXNzVW5peC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblBy
b2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGls
ZFByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OmluaXRpYWxpemUp
OgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKToKKyAg
ICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUpOgorICAg
ICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KToKKyAgICAgICAg
KFdlYktpdDo6Q2hpbGRQcm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlvbik6CisgICAgICAgICog
U2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoQ2hpbGRQcm9jZXNzKToKKyAgICAgICAg
KiBTaGFyZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6U2hhcmVkV29ya2VyUHJvY2Vzc01haW4pOgorICAgICAgICAqIFdl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplUHJv
Y2Vzcyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpp
bml0aWFsaXplUHJvY2Vzc05hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0
aWFsaXplU2FuZGJveCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAg
ICAgIChXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzSW5p
dGlhbGl6YXRpb24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9j
ZXNzSW5pdGlhbGl6YXRpb24ubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6
ZVNhbmRib3gpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vz
c05hbWUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9tYWMvV2Vi
UHJvY2Vzc01haW5NYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWluKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzU2VydmljZUVudHJ5UG9pbnRzLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzU2VydmljZUV2ZW50SGFuZGxlcik6CisgICAgICAg
IChpbml0aWFsaXplV2ViUHJvY2Vzc0ZvcldlYlByb2Nlc3NTZXJ2aWNlRm9yV2ViS2l0RGV2ZWxv
cG1lbnQpOgorCisyMDEzLTAxLTA0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKICAg
ICAgICAgRml4IGZhaWxpbmcgQVBJIHRlc3QuCiAKICAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwCmluZGV4IDNlNjFkY2ZlYzM5NmY2ZGM5YmEzZjM3ZTYwZWU1NzEzYWIyNGRlMmMu
LjNhZDBmNTU3NDQ2NDVjZjhlM2ZiY2MzODkxY2JjY2M0N2VjNzAzNTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTE5OSw3ICsx
OTksMTEgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkK
IH0KIAogI2lmICFQTEFURk9STShNQUMpCi12b2lkIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXpl
U2FuZGJveChjb25zdCBTdHJpbmcmIGNsaWVudElkZW50aWZpZXIpCit2b2lkIE5ldHdvcmtQcm9j
ZXNzOjppbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJikKK3sKK30KKwordm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVNh
bmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKIHsKIH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmgKaW5kZXggYjRiOGY0YTVkYmFhNDNjMDlkMTYxZmE2ZTAzNDM5ZWIzNzViYTU2NC4uOWQ4YmQx
OGZkNDRhN2RjYTFmYjBlZTMwM2E4NTU3MmE1MWYzNzhmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC03Nyw4ICs3Nyw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3
b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gQ2hpbGRQcm9jZXNzCisg
ICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFRlcm1pbmF0ZSgpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplU2FuZGJveChjb25zdCBTdHJpbmcmIGNsaWVu
dElkZW50aWZpZXIpIE9WRVJSSURFOwogCiAgICAgLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xp
ZW50CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJ
REU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29y
a1Byb2Nlc3NJbml0aWFsaXphdGlvbi5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
bWFjL05ldHdvcmtQcm9jZXNzSW5pdGlhbGl6YXRpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzQ4ZmZhNWE4MzdjNDc0YmI2MGQ4YTJkY2QwNGVlZWUwZGJiMGFlOS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NJbml0aWFsaXphdGlvbi5oCisrKyAvZGV2
L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTmV0d29ya1Byb2Nl
c3NJbml0aWFsaXphdGlvbl9oCi0jZGVmaW5lIE5ldHdvcmtQcm9jZXNzSW5pdGlhbGl6YXRpb25f
aAotCi0jaW5jbHVkZSAiQ2hpbGRQcm9jZXNzLmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12
b2lkIGluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmKTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBO
ZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLm1tIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzSW5pdGlhbGl6YXRp
b24ubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmMDNiODJlYjYxYTJhMjNlNDZk
MzY2MWRmNDdlNjI1MjVhZDllYzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9j
ZXNzSW5pdGlhbGl6YXRpb24ubW0KKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJOZXR3b3JrUHJvY2Vzc0luaXRp
YWxpemF0aW9uLmgiCi0KLSNpbXBvcnQgIk5ldHdvcmtQcm9jZXNzLmgiCi0jaW1wb3J0ICJXZWJL
aXQySW5pdGlhbGl6ZS5oIgotI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+Ci0j
aW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIGluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
cyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
Ci17Ci0gICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIEluaXRpYWxpemVXZWJLaXQyKCk7
Ci0KLSAgICAgICAgaWYgKCFwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUuaXNOdWxsKCkpIHsKLSAg
ICAgICAgICAgIE5TU3RyaW5nICphcHBsaWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0
aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCIlQCBOZXR3b3JraW5nIiwgInZpc2libGUgbmFtZSBvZiB0
aGUgbmV0d29yayBwcm9jZXNzLiBUaGUgYXJndW1lbnQgaXMgdGhlIGFwcGxpY2F0aW9uIG5hbWUu
IiksIChOU1N0cmluZyAqKXBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZV07Ci0gICAgICAgICAgICBX
S1NldFZpc2libGVBcHBsaWNhdGlvbk5hbWUoKENGU3RyaW5nUmVmKWFwcGxpY2F0aW9uTmFtZSk7
Ci0gICAgICAgIH0KLQotICAgICAgICBOZXR3b3JrUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6
ZShwYXJhbWV0ZXJzKTsKLSAgICB9Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFj
Lm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9jZXNzTWFj
Lm1tCmluZGV4IGMxNDE1MjRmZmQ1MzAyNjA5YjMyYjM3YWI4YmQxYWQyZDNkNWI2NjIuLjhlNWRj
YWU2NWRmZTI1ZmNlYWM1OWIxZDJiZDcwMjVlNjkzZTQxZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vzc01hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NNYWMubW0KQEAgLTQ2
LDcgKzQ2LDE1IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgU3RyaW5n
JikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGls
ZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgaWYg
KCFwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUuaXNOdWxsKCkpIHsKKyAgICAgICAgTlNTdHJpbmcg
KmFwcGxpY2F0aW9uTmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9TVFJJ
TkcoIiVAIE5ldHdvcmtpbmciLCAidmlzaWJsZSBuYW1lIG9mIHRoZSBuZXR3b3JrIHByb2Nlc3Mu
IFRoZSBhcmd1bWVudCBpcyB0aGUgYXBwbGljYXRpb24gbmFtZS4iKSwgKE5TU3RyaW5nICopcGFy
YW1ldGVycy51aVByb2Nlc3NOYW1lXTsKKyAgICAgICAgV0tTZXRWaXNpYmxlQXBwbGljYXRpb25O
YW1lKChDRlN0cmluZ1JlZilhcHBsaWNhdGlvbk5hbWUpOworICAgIH0KK30KKwordm9pZCBOZXR3
b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJikKIHsKICAgICAvLyBGSVhNRTogSW5pdGlhbGl6ZSB0aGUgc2FuZGJv
eC4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3
b3JrUHJvY2Vzc01haW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMv
TmV0d29ya1Byb2Nlc3NNYWluTWFjLm1tCmluZGV4IGI0NWI2MTA2NTQ3MTBjZmQ5ZWQ2NzY3ZjM0
YzIxZmFkNzczY2MxNmUuLmRkYjljMzdhMzMxMzJlM2MxMTA3OTIwNTY5MmQ4ZDQ2Y2I3NDRlYmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJv
Y2Vzc01haW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05l
dHdvcmtQcm9jZXNzTWFpbk1hYy5tbQpAQCAtMjksNyArMjksOCBAQAogI2lmIEVOQUJMRShORVRX
T1JLX1BST0NFU1MpCiAKICNpbXBvcnQgIkNvbW1hbmRMaW5lLmgiCi0jaW1wb3J0ICJOZXR3b3Jr
UHJvY2Vzc0luaXRpYWxpemF0aW9uLmgiCisjaW1wb3J0ICJOZXR3b3JrUHJvY2Vzcy5oIgorI2lt
cG9ydCAiV2ViS2l0MkluaXRpYWxpemUuaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVuTG9vcC5oPgog
I2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL21hY2hfZXJy
b3IuaD4KQEAgLTgwLDExICs4MSwxNiBAQCBpbnQgTmV0d29ya1Byb2Nlc3NNYWluKGNvbnN0IENv
bW1hbmRMaW5lJiBjb21tYW5kTGluZSkKICAgICAvLyBvbiB0aGUgb3V0ZXIgbW9zdCBydW5sb29w
IGJlaW5nIGFuIEFwcEtpdCBydW5sb29wLgogICAgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxp
Y2F0aW9uXTsKIAotICAgIENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBwYXJh
bWV0ZXJzOwotICAgIHBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZSA9IGNvbW1hbmRMaW5lWyJ1aS1w
cm9jZXNzLW5hbWUiXTsKLSAgICBwYXJhbWV0ZXJzLmNsaWVudElkZW50aWZpZXIgPSBjb21tYW5k
TGluZVsiY2xpZW50LWlkZW50aWZpZXIiXTsKLSAgICBwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVu
dGlmaWVyID0gc2VydmVyUG9ydDsKLSAgICBpbml0aWFsaXplTmV0d29ya1Byb2Nlc3MocGFyYW1l
dGVycyk7CisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIEluaXRpYWxpemVXZWJLaXQy
KCk7CisKKyAgICAgICAgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzIHBhcmFt
ZXRlcnM7CisgICAgICAgIHBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZSA9IGNvbW1hbmRMaW5lWyJ1
aS1wcm9jZXNzLW5hbWUiXTsKKyAgICAgICAgcGFyYW1ldGVycy5jbGllbnRJZGVudGlmaWVyID0g
Y29tbWFuZExpbmVbImNsaWVudC1pZGVudGlmaWVyIl07CisgICAgICAgIHBhcmFtZXRlcnMuY29u
bmVjdGlvbklkZW50aWZpZXIgPSBzZXJ2ZXJQb3J0OworCisgICAgICAgIE5ldHdvcmtQcm9jZXNz
OjpzaGFyZWQoKS5pbml0aWFsaXplKHBhcmFtZXRlcnMpOworICAgIH0KIAogICAgIFJ1bkxvb3A6
OnJ1bigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmNwcAppbmRleCAxN2Q1MzQ2NGFiM2ExZTkyZTFlZjNiNGUyNWRlZTg4NmZmYzNkYzQ4Li40ZTRh
OTM0ZTc0OGFiYjc3MDA4YzU4MjQ0NWU5YzJiNWM1YTc2Nzk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTg1LDYgKzg1LDExIEBAIFBs
dWdpblByb2Nlc3M6On5QbHVnaW5Qcm9jZXNzKCkKIHsKIH0KIAordm9pZCBQbHVnaW5Qcm9jZXNz
Ojppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgcGxhdGZvcm1Jbml0aWFsaXplUHJvY2VzcyhwYXJh
bWV0ZXJzKTsKK30KKwogdm9pZCBQbHVnaW5Qcm9jZXNzOjpyZW1vdmVXZWJQcm9jZXNzQ29ubmVj
dGlvbihXZWJQcm9jZXNzQ29ubmVjdGlvbiogd2ViUHJvY2Vzc0Nvbm5lY3Rpb24pCiB7CiAgICAg
c2l6ZV90IHZlY3RvckluZGV4ID0gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuZmluZCh3ZWJQcm9j
ZXNzQ29ubmVjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oCmluZGV4IDVlZWVjNGRmOWRiNWY4NDM5OGM1MWYzOWZmNzM4YWFjNTExOTFhYjUuLmUw
MTA3NDY0YmZlYmQwNzAwNzVlZGJlOGE4ZDAxNDQ0NGY0ZDMwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC03Myw4ICs3MywxMCBAQCBwcml2
YXRlOgogICAgIH5QbHVnaW5Qcm9jZXNzKCk7CiAKICAgICAvLyBDaGlsZFByb2Nlc3MKKyAgICB2
aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFRlcm1p
bmF0ZSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKSBP
VkVSUklERTsKKworICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGls
ZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8vIENvcmVJUEM6OkNv
bm5lY3Rpb246OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3Jl
SVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
bWFjL1BsdWdpblByb2Nlc3NNYWMubW0KaW5kZXggNGU0YTAyZDk5ZDM5OWQ3ZjZmMWY2NGQ3YTRm
ZGIwNmU4ZTQxOGQ0ZC4uOGY3Nzg3OTJiZGI3ZTQ3ODZhMDU5MDU1MzlkYzVhODZiZTFkMGYyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vz
c01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9j
ZXNzTWFjLm1tCkBAIC0yNjgsNyArMjY4LDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUNvY29h
T3ZlcnJpZGVzKCkKICAgICBDRlJldGFpbihvcmRlck9mZlNjcmVlbk9ic2VydmVyKTsKIH0KIAot
dm9pZCBQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUoKQordm9pZCBQbHVnaW5Qcm9j
ZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxp
emF0aW9uUGFyYW1ldGVycyYpCiB7CiAjaWYgZGVmaW5lZChfX2kzODZfXykKICAgICAvLyBJbml0
aWFsaXplIHRoZSBzaGltLgpAQCAtMjc3LDYgKzI3NywxMCBAQCB2b2lkIFBsdWdpblByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAKICAgICAvLyBJbml0aWFsaXplIENvY29hIG92ZXJyaWRl
cy4KICAgICBpbml0aWFsaXplQ29jb2FPdmVycmlkZXMoKTsKKworICAgIC8vIEZJWE1FOiBJdCB3
b3VsZCBiZSBiZXR0ZXIgdG8gcHJveHkgc2V0IGN1cnNvciBjYWxscyBvdmVyIHRvIHRoZSBVSSBw
cm9jZXNzIGluc3RlYWQgb2YKKyAgICAvLyBhbGxvd2luZyBwbHVnLWlucyB0byBjaGFuZ2UgdGhl
IG1vdXNlIGN1cnNvciBhdCBhbnkgdGltZS4KKyAgICBXS0VuYWJsZVNldHRpbmdDdXJzb3JXaGVu
SW5CYWNrZ3JvdW5kKCk7CiB9CiAKIHZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TW9kYWxXaW5kb3dJ
c1Nob3dpbmcoYm9vbCBtb2RhbFdpbmRvd0lzU2hvd2luZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWluTWFjLm1tIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01haW5NYWMubW0KaW5kZXgg
M2YxYjk1NWFkMWViOTAzNzA1ODhjNmZjMjgwMGExNTM0NDMxYjA2ZS4uMzE4NWJhMjA4NzA1OGUw
NGU2ZDc4ZjZjMDEwZGRjYjIyOWM3MDc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01haW5NYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01haW5NYWMubW0KQEAgLTEwOCwxNiAr
MTA4LDEzIEBAIGludCBQbHVnaW5Qcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGluZSYgY29tbWFu
ZExpbmUpCiAjZW5kaWYKIAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICAvLyBGSVhN
RTogSXQgd291bGQgYmUgYmV0dGVyIHRvIHByb3h5IHNldCBjdXJzb3IgY2FsbHMgb3ZlciB0byB0
aGUgVUkgcHJvY2VzcyBpbnN0ZWFkIG9mCi0gICAgICAgIC8vIGFsbG93aW5nIHBsdWctaW5zIHRv
IGNoYW5nZSB0aGUgbW91c2UgY3Vyc29yIGF0IGFueSB0aW1lLgotICAgICAgICBXS0VuYWJsZVNl
dHRpbmdDdXJzb3JXaGVuSW5CYWNrZ3JvdW5kKCk7Ci0KICAgICAgICAgSW5pdGlhbGl6ZVdlYktp
dDIoKTsKIAogICAgICAgICBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgcGFy
YW1ldGVyczsKICAgICAgICAgcGFyYW1ldGVycy51aVByb2Nlc3NOYW1lID0gY29tbWFuZExpbmVb
InVpLXByb2Nlc3MtbmFtZSJdOwogICAgICAgICBwYXJhbWV0ZXJzLmNsaWVudElkZW50aWZpZXIg
PSBjb21tYW5kTGluZVsiY2xpZW50LWlkZW50aWZpZXIiXTsKICAgICAgICAgcGFyYW1ldGVycy5j
b25uZWN0aW9uSWRlbnRpZmllciA9IENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIoc2Vy
dmVyUG9ydCk7CisKICAgICAgICAgUGx1Z2luUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZShw
YXJhbWV0ZXJzKTsKIAogICAgICAgICBbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3F0L1BsdWdpblByb2Nl
c3NRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3F0L1BsdWdpblByb2Nlc3NR
dC5jcHAKaW5kZXggYTQwNjBiNjdhN2RkYzlmYjYxOWU3M2Q2MWY4ZDNkYWIxNmNiYTNjNC4uZjNi
ZTFhZGEyY2UxNTc3ZWRiOWJhZTYyMjQ2NzI0OTU5MDg0Mzk5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9xdC9QbHVnaW5Qcm9jZXNzUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvcXQvUGx1Z2luUHJvY2Vzc1F0LmNwcApAQCAtMzQsMTEg
KzM0LDExIEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lkIFBsdWdpblByb2Nlc3M6OnBs
YXRmb3JtSW5pdGlhbGl6ZSgpCit2b2lkIFBsdWdpblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6
ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKIHsK
IH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNz
KGNvbnN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2b2lk
IFBsdWdpblByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoY29uc3QgUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Q
cm9jZXNzVW5peC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2lu
UHJvY2Vzc1VuaXguY3BwCmluZGV4IDMwMmU2MThlNjJiN2IzMjRlNmI5NGEyOGEwZThiNjI2NTJi
ODU0ZDQuLjQzZWI4ODQ4YjQ4OWE3Y2U5ZjVhNGZkZTNmNDBkODI5NGZjODQzOTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzVW5peC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy91bml4L1BsdWdpblByb2Nlc3NV
bml4LmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBQ
bHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUoKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpw
bGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycyYpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAK
aW5kZXggNzc3MzcwODJkZWIwNWNjZWVmYTczNDhkOTY0YjVlZmY4OWE2NGViYi4uNTZlNmExOWQ0
NmFkNDBiODRiOTQ5NjA2OGM0ZmMzMGYyZGNlMjMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKIAorI2luY2x1ZGUgIldlYktpdDJJbml0aWFsaXplLmgi
CisKICNpZiAhT1MoV0lORE9XUykKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNlbmRpZgpAQCAtNjQs
OSArNjYsMTMgQEAgc3RhdGljIHZvaWQgZGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUoV29y
a1F1ZXVlJiB3b3JrUXVldWUsIENvcmVJUEM6OkNvbm5lY3QKIAogdm9pZCBDaGlsZFByb2Nlc3M6
OmluaXRpYWxpemUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQogeworICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CisKICAgICBwbGF0Zm9ybUlu
aXRpYWxpemUoKTsKIAotICAgIGluaXRpYWxpemVTYW5kYm94KHBhcmFtZXRlcnMuY2xpZW50SWRl
bnRpZmllcik7CisgICAgaW5pdGlhbGl6ZVByb2Nlc3MocGFyYW1ldGVycyk7CisgICAgaW5pdGlh
bGl6ZVByb2Nlc3NOYW1lKHBhcmFtZXRlcnMpOworICAgIGluaXRpYWxpemVTYW5kYm94KHBhcmFt
ZXRlcnMpOwogICAgIAogICAgIG1fY29ubmVjdGlvbiA9IENvcmVJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZUNsaWVudENvbm5lY3Rpb24ocGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllciwgdGhp
cywgUnVuTG9vcDo6bWFpbigpKTsKICAgICBtX2Nvbm5lY3Rpb24tPnNldERpZENsb3NlT25Db25u
ZWN0aW9uV29ya1F1ZXVlQ2FsbGJhY2soZGlkQ2xvc2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUpOwpA
QCAtNzQsMTEgKzgwLDE5IEBAIHZvaWQgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplKGNvbnN0IENo
aWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1lCiAgICAgbV9jb25uZWN0
aW9uLT5vcGVuKCk7CiB9CiAKLXZvaWQgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplQ29ubmVjdGlv
bihDb3JlSVBDOjpDb25uZWN0aW9uKikKK3ZvaWQgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplUHJv
Y2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQoreworfQor
Cit2b2lkIENoaWxkUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7CiB9CiAKLXZvaWQgQ2hpbGRQcm9jZXNz
Ojppbml0aWFsaXplU2FuZGJveChjb25zdCBTdHJpbmcmIGNsaWVudElkZW50aWZpZXIpCit2b2lk
IENoaWxkUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzJikKK3sKK30KKwordm9pZCBDaGlsZFByb2Nlc3M6OmluaXRpYWxp
emVDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb24qKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggZDljNTRkN2Y0MGM1NjY1ZGQ1OWFlZTIzOWRiYmZjNmVm
MmE5MzYzYi4uNjQ0OTViNDhiOGE3MGJkZjhkN2Q2ZDY0ZWI4YjliNDMyYTQ0NDJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtOTIsOSArOTIsMTAgQEAgcHJvdGVjdGVk
OgogCiAgICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsgbV90
ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlh
bGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7
CisgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6
ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAg
ICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uKENvcmVJUEM6OkNvbm5lY3Rpb24q
KTsKLSAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3goY29uc3QgU3RyaW5nJiBjbGll
bnRJZGVudGlmaWVyKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVGVybWluYXRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCB0ZXJtaW5hdGUoKTsKQEAgLTEwMiw2ICsxMDMsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgog
ICAgIHZvaWQgdGVybWluYXRpb25UaW1lckZpcmVkKCk7CiAKKyAgICB2b2lkIHBsYXRmb3JtSW5p
dGlhbGl6ZSgpOworCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlz
IHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJl
ZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxs
IGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCiAgICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1l
b3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMv
U2hhcmVkV29ya2VyUHJvY2Vzc01haW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3Jr
ZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1hYy5tbQppbmRleCAxZWMxOGY1
NTViNzg0YjA4NTAwYjYwMjY0NGQ2OWJhN2E0NTliYmZjLi5iZTY3YTIyMzgyNzNmYjMxYzA0Y2Q1
ZjdhMjZmODNhN2I5ZjU4ODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3Jr
ZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1h
Yy5tbQpAQCAtOTgsNiArOTgsNyBAQCBpbnQgU2hhcmVkV29ya2VyUHJvY2Vzc01haW4oY29uc3Qg
Q29tbWFuZExpbmUmIGNvbW1hbmRMaW5lKQogICAgICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc05h
bWUgPSBjb21tYW5kTGluZVsidWktcHJvY2Vzcy1uYW1lIl07CiAgICAgICAgIHBhcmFtZXRlcnMu
Y2xpZW50SWRlbnRpZmllciA9IGNvbW1hbmRMaW5lWyJjbGllbnQtaWRlbnRpZmllciJdOwogICAg
ICAgICBwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlmaWVyID0gQ29yZUlQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllcihzZXJ2ZXJQb3J0KTsKKwogICAgICAgICBTaGFyZWRXb3JrZXJQcm9jZXNz
OjpzaGFyZWQoKS5pbml0aWFsaXplKHBhcmFtZXRlcnMpOwogCiAgICAgICAgIFtOU0FwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MTAwYmFiODBkM2JmNmVlMWI5YTFjZmJmN2Zl
YjBiYWI3M2RiYTJjLi5iNTk2ZmE0OTQzMDM3MjM0MDQ2MTQ5YjE2YTM4OTcxZWRkOTg4YzQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC02NDcsOCArNjQ3LDYgQEAKIAkJQkMxMTFCNUQxMTJGNjI5ODAwMzM3QkFCIC8qIFdlYkV2
ZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkMxMTFCNUIxMTJGNjI5ODAwMzM3QkFCIC8qIFdlYkV2ZW50RmFjdG9yeS5oICovOyB9Owog
CQlCQzExMUI1RTExMkY2Mjk4MDAzMzdCQUIgLyogV2ViRXZlbnRGYWN0b3J5Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxMTFCNUMxMTJGNjI5ODAw
MzM3QkFCIC8qIFdlYkV2ZW50RmFjdG9yeS5tbSAqLzsgfTsKIAkJQkMxMzFCQzkxMTcyNkMyODAw
QjY5NzI3IC8qIENvcmVJUENNZXNzYWdlS2luZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMTMxQkM4MTE3MjZDMjgwMEI2OTcyNyAvKiBDb3JlSVBD
TWVzc2FnZUtpbmRzLmggKi87IH07Ci0JCUJDMTNFOTc3MTY5NEUyRDAwMEJDNkMwMCAvKiBOZXR3
b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMxM0U5NzUxNjk0RTJEMDAwQkM2QzAwIC8qIE5ldHdvcmtQcm9j
ZXNzSW5pdGlhbGl6YXRpb24ubW0gKi87IH07Ci0JCUJDMTNFOTc4MTY5NEUyRDAwMEJDNkMwMCAv
KiBOZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzEzRTk3NjE2OTRFMkQwMDBCQzZDMDAgLyogTmV0d29y
a1Byb2Nlc3NJbml0aWFsaXphdGlvbi5oICovOyB9OwogCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZD
MEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNERGNzUxMjBCNUI3OTAwODI2QzBDIC8qIEluamVj
dGVkQnVuZGxlU2NyaXB0V29ybGQuaCAqLzsgfTsKIAkJQkMxNERGNzgxMjBCNUI3OTAwODI2QzBD
IC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNERGNzYxMjBCNUI3OTAwODI2QzBDIC8qIEluamVj
dGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwICovOyB9OwogCQlCQzE0REY5RTEyMEI2MzVGMDA4MjZD
MEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE0REY5QzEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVT
Y3JpcHRXb3JsZC5jcHAgKi87IH07CkBAIC05MjQsOCArOTIyLDYgQEAKIAkJQkNENTk4QUMxMTJC
N0ZERjAwRUM4QzIzIC8qIFdlYlByZWZlcmVuY2VzU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRDU5OEFBMTEyQjdGREYwMEVDOEMyMyAvKiBX
ZWJQcmVmZXJlbmNlc1N0b3JlLmggKi87IH07CiAJCUJDRDU5OEFEMTEyQjdGREYwMEVDOEMyMyAv
KiBXZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRDU5OEFCMTEyQjdGREYwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNl
c1N0b3JlLmNwcCAqLzsgfTsKIAkJQkNEQjg2QzExMjAwRkI5NzAwNzI1NEJFIC8qIFdlYlVSTC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNEQjg2QzAx
MjAwRkI5NzAwNzI1NEJFIC8qIFdlYlVSTC5oICovOyB9OwotCQlCQ0RDMzA4NzE1RkQ2QThCMDA2
QjY2OTUgLyogV2ViUHJvY2Vzc0luaXRpYWxpemF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNEQzMwODUxNUZENkE4QjAwNkI2Njk1IC8qIFdl
YlByb2Nlc3NJbml0aWFsaXphdGlvbi5tbSAqLzsgfTsKLQkJQkNEQzMwODgxNUZENkE4QjAwNkI2
Njk1IC8qIFdlYlByb2Nlc3NJbml0aWFsaXphdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNEQzMwODYxNUZENkE4QjAwNkI2Njk1IC8qIFdlYlBy
b2Nlc3NJbml0aWFsaXphdGlvbi5oICovOyB9OwogCQlCQ0RDMzA4QjE1RkQ2Q0QxMDA2QjY2OTUg
LyogV2ViUHJvY2Vzc1NlcnZpY2VFbnRyeVBvaW50cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDREMzMDg5MTVGRDZDRDEwMDZCNjY5NSAvKiBXZWJQ
cm9jZXNzU2VydmljZUVudHJ5UG9pbnRzLm1tICovOyB9OwogCQlCQ0RDMzA4QzE1RkQ2Q0QxMDA2
QjY2OTUgLyogV2ViUHJvY2Vzc1NlcnZpY2VFbnRyeVBvaW50cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNEQzMwOEExNUZENkNEMTAwNkI2Njk1IC8q
IFdlYlByb2Nlc3NTZXJ2aWNlRW50cnlQb2ludHMuaCAqLzsgfTsKIAkJQkNEREIzMTcxMjRFQkQx
MzAwNDhEMTNDIC8qIFdLQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNEREIzMTYxMjRFQkQxMzAwNDhEMTNDIC8qIFdLQmFzZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKQEAgLTE5MTksOCArMTkxNSw2
IEBACiAJCUJDMTIyRkEzMTMyNzA3RjMwMEY3RUFDMSAvKiBQbHVnaW5Qcm9jZXNzLnhjY29uZmln
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54
Y2NvbmZpZzsgcGF0aCA9IFBsdWdpblByb2Nlc3MueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDMTIyRkE2MTMyNzA4NzQwMEY3RUFDMSAvKiBJbmZvLnBsaXN0ICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54
bWw7IG5hbWUgPSBJbmZvLnBsaXN0OyBwYXRoID0gUGx1Z2luUHJvY2Vzcy9JbmZvLnBsaXN0OyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzEzMUJDODExNzI2QzI4MDBCNjk3MjcgLyog
Q29yZUlQQ01lc3NhZ2VLaW5kcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b3JlSVBDTWVzc2FnZUtpbmRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDMTNF
OTc1MTY5NEUyRDAwMEJDNkMwMCAvKiBOZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NJbml0
aWFsaXphdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkMxM0U5NzYxNjk0
RTJEMDAwQkM2QzAwIC8qIE5ldHdvcmtQcm9jZXNzSW5pdGlhbGl6YXRpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NJbml0aWFsaXphdGlvbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzE0REY3NTEyMEI1Qjc5MDA4MjZDMEMgLyog
SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDMTRERjc2MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdv
cmxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzE0REY5
QzEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRsZVNjcmlwdFdvcmxkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMDEsOCArMjE5NSw2IEBACiAJCUJDRDU5OEFBMTEy
QjdGREYwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkNENTk4QUIxMTJCN0ZERjAwRUM4QzIzIC8qIFdlYlByZWZlcmVuY2VzU3Rv
cmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDREI4NkMwMTIwMEZC
OTcwMDcyNTRCRSAvKiBXZWJVUkwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViVVJMLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDREMzMDg1MTVGRDZBOEIw
MDZCNjY5NSAvKiBXZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24ubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDREMzMDg2MTVGRDZBOEIwMDZCNjY5NSAvKiBXZWJQ
cm9jZXNzSW5pdGlhbGl6YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViUHJvY2Vzc0luaXRpYWxpemF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDREMzMDg5MTVGRDZDRDEwMDZCNjY5NSAvKiBXZWJQcm9jZXNzU2VydmljZUVudHJ5UG9pbnRz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc1Nl
cnZpY2VFbnRyeVBvaW50cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNEQzMw
OEExNUZENkNEMTAwNkI2Njk1IC8qIFdlYlByb2Nlc3NTZXJ2aWNlRW50cnlQb2ludHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUHJvY2Vzc1NlcnZpY2VFbnRyeVBvaW50
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0REQjMxNjEyNEVCRDEzMDA0OEQx
M0MgLyogV0tCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQmFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY2Miw4ICsyNjU0LDYgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTUxMUY4QTdEMTM4QjQ2RkUwMEE5NUY0NCAvKiBTZWNJdGVtU2hpbU1l
dGhvZHMuaCAqLywKIAkJCQk1MTFGOEE3RTEzOEI0NkZFMDBBOTVGNDQgLyogU2VjSXRlbVNoaW1N
ZXRob2RzLm1tICovLAotCQkJCUJDREMzMDg2MTVGRDZBOEIwMDZCNjY5NSAvKiBXZWJQcm9jZXNz
SW5pdGlhbGl6YXRpb24uaCAqLywKLQkJCQlCQ0RDMzA4NTE1RkQ2QThCMDA2QjY2OTUgLyogV2Vi
UHJvY2Vzc0luaXRpYWxpemF0aW9uLm1tICovLAogCQkJCUJDMzA2NUMzMTI1OTJGODkwMEU3MTI3
OCAvKiBXZWJQcm9jZXNzTWFjLm1tICovLAogCQkJCTFBNkZBMDFEMTFFMTUyNjMwMERCMTM3MSAv
KiBXZWJQcm9jZXNzTWFpbk1hYy5tbSAqLywKIAkJCQk1MTFGOEE3NzEzOEI0NjA5MDBBOTVGNDQg
LyogV2ViUHJvY2Vzc1NoaW0uaCAqLywKQEAgLTMxODYsOCArMzE3Niw2IEBACiAJCTUxMENDN0RD
MTYxMzhFMjkwMEQwM0VEMyAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAotCQkJCUJDMTNFOTc1MTY5NEUyRDAwMEJDNkMwMCAvKiBOZXR3b3JrUHJvY2Vz
c0luaXRpYWxpemF0aW9uLm1tICovLAotCQkJCUJDMTNFOTc2MTY5NEUyRDAwMEJDNkMwMCAvKiBO
ZXR3b3JrUHJvY2Vzc0luaXRpYWxpemF0aW9uLmggKi8sCiAJCQkJNTFBOEE2MTUxNjI3RjNGOTAw
MEQ5MEU5IC8qIE5ldHdvcmtQcm9jZXNzTWFjLm1tICovLAogCQkJCTUxMENDN0REMTYxMzhFMjkw
MEQwM0VEMyAvKiBOZXR3b3JrUHJvY2Vzc01haW5NYWMubW0gKi8sCiAJCQkJNTEyQzA2OEYxNjM5
MEU2OTAwQUJCOTExIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXJNYWMubW0gKi8sCkBA
IC00OTc3LDcgKzQ5NjUsNiBAQAogCQkJCTNGODdCOUJFMTU4OTQwMTkwMDkwRkY2MiAvKiBXZWJD
b2xvckNob29zZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNGODdCOUMwMTU4OTQwRDgwMDkwRkY2
MiAvKiBXZWJDb2xvckNob29zZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1OTU0ODkx
NUM3ODY4NTAwRkQxRTNFIC8qIFdlYktpdDIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDREMzMDg4
MTVGRDZBOEIwMDZCNjY5NSAvKiBXZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDREMzMDhDMTVGRDZDRDEwMDZCNjY5NSAvKiBXZWJQcm9jZXNzU2VydmljZUVu
dHJ5UG9pbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4OUQ4MjE2MUE3RTVEMDAwRDQ2RDMg
LyogV0tXZWJQcm9jZXNzUGx1Z0luLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk4OUQ4NTE2MUE5
ODkwMDAwRDQ2RDMgLyogV0tXZWJQcm9jZXNzUGx1Z0luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LApAQCAtNTA0NCw3ICs1MDMxLDYgQEAKIAkJCQlCQ0UwRTQyNTE2OEI3QTI4MDA1N0U2NkEgLyog
V2ViUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjRERTIzMTY4RTRC
RDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRjRERTI1MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250ZXh0U3VwcGxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJQkMxM0U5NzgxNjk0RTJEMDAwQkM2QzAwIC8qIE5ldHdvcmtQcm9j
ZXNzSW5pdGlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOUJBNTA1MTY5N0M0NTMw
MEU0NDYxNiAvKiBXZWJLaXQySW5pdGlhbGl6ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC01OTQ0LDcgKzU5MzAs
NiBAQAogCQkJCTFBMkE0QjBFMTU4NkEyMjQwMDkwQzlFOSAvKiBDb2xvclNwYWNlRGF0YS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTNGODdCOUJEMTU4OTQwMTIwMDkwRkY2MiAvKiBXZWJDb2xvckNo
b29zZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q2N0QzMEUxNUMwOEY5QTAwODQzQURGIC8q
IEluamVjdGVkQnVuZGxlUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCUJDREMzMDg3MTVGRDZBOEIwMDZCNjY5NSAvKiBXZWJQcm9jZXNzSW5pdGlhbGl6
YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQ0RDMzA4QjE1RkQ2Q0QxMDA2QjY2OTUgLyog
V2ViUHJvY2Vzc1NlcnZpY2VFbnRyeVBvaW50cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDOTg5
RDgxMTYxQTdFNUQwMDBENDZEMyAvKiBXS1dlYlByb2Nlc3NQbHVnSW4ubW0gaW4gU291cmNlcyAq
LywKIAkJCQkxQTNFRUQwRTE2MUE1MzU0MDBBRUI0RjUgLyogTWVzc2FnZVJlY2VpdmVyTWFwLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtNjAyMCw3ICs2MDA1LDYgQEAKIAkJCQlCQ0YxODYzODE2N0Qw
NzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTg5QTQx
MTE2N0QxODM0MDA0Rjk2RDIgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzFBNTA1RjkxNjgwMDI1NTAwQTkzMEVCIC8qIFdlYkNvbnRleHRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkMxM0U5NzcxNjk0RTJEMDAwQkM2QzAwIC8qIE5ldHdv
cmtQcm9jZXNzSW5pdGlhbGl6YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzlCQTUwNDE2
OTdDNDUzMDBFNDQ2MTYgLyogV2ViS2l0MkluaXRpYWxpemUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBlNjMyN2QyMGFkOTNkY2YzODU4
NmIyZjVhNWE0MGQzMjQwZDY2ODc5Li42ZWJjMDIyYWU1ZjAzMWYxMjhmZTQwNTIyY2VlM2FkMzRi
MWUyM2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE5
Nyw2ICsxOTcsMTEgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYKIH0KIAordm9p
ZCBXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgcGxhdGZvcm1Jbml0aWFsaXpl
UHJvY2VzcyhwYXJhbWV0ZXJzKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplQ29u
bmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogewogICAgIGNvbm5lY3Rp
b24tPnNldFNob3VsZEV4aXRPblN5bmNNZXNzYWdlU2VuZEZhaWx1cmUodHJ1ZSk7CkBAIC0xMDYz
LDcgKzEwNjgsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFYKICNlbmRpZiAvLyBFTkFCTEUo
UExVR0lOX1BST0NFU1MpCiAKICNpZiAhUExBVEZPUk0oTUFDKQotdm9pZCBXZWJQcm9jZXNzOjpp
bml0aWFsaXplU2FuZGJveChjb25zdCBTdHJpbmcmIGNsaWVudElkZW50aWZpZXIpCit2b2lkIFdl
YlByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFs
aXphdGlvblBhcmFtZXRlcnMmKQoreworfQorCit2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVT
YW5kYm94KGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggOGQ2ZWVmNzVhMDlj
OTA4OTdhMzU5ZjY1YmEzMTM4Yzg5YWQ2NDZkZi4uMDhjZTViMDA0YjJjZTk3ZWU2ZmE3ZmI1YWIw
OTE3YmZkNDkwMGVhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAg
LTI3NSwxMiArMjc1LDE2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIC8vIENoaWxkUHJvY2Vz
cworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJ
bml0aWFsaXphdGlvblBhcmFtZXRlcnMmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5p
dGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplU2FuZGJveChjb25z
dCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUNvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbiopIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplU2FuZGJveChjb25zdCBTdHJpbmcm
IGNsaWVudElkZW50aWZpZXIpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUlu
aXRpYWxpemUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVGVybWluYXRlKCkg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZSgpIE9WRVJSSURFOwogCisgICAg
dm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxp
emF0aW9uUGFyYW1ldGVycyYpOworCisKICAgICAvLyBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGll
bnQKICAgICBmcmllbmQgY2xhc3MgV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc0luaXRpYWxpemF0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24uaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY0MjcxMDIyY2QyNGNmZWE2MWQzMTQ2N2RhYTJm
YjhmN2U4MWVjYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24u
aAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdl
YlByb2Nlc3NJbml0aWFsaXphdGlvbl9oCi0jZGVmaW5lIFdlYlByb2Nlc3NJbml0aWFsaXphdGlv
bl9oCi0KLSNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0K
LXZvaWQgaW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJik7Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gV2Vi
UHJvY2Vzc0luaXRpYWxpemF0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvbWFjL1dlYlByb2Nlc3NJbml0aWFsaXphdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NJbml0aWFsaXphdGlvbi5tbQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjhmMTIyMjI3NzAyYjAwNmJkMTA5MTk2M2M3ZGFhOWYzMzgxYzJhZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24ubW0KKysrIC9kZXYv
bnVsbApAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0j
aW1wb3J0ICJXZWJQcm9jZXNzSW5pdGlhbGl6YXRpb24uaCIKLQotI2ltcG9ydCAiV2ViUHJvY2Vz
cy5oIgotI2ltcG9ydCAiV2ViS2l0MkluaXRpYWxpemUuaCIKLQotI2ltcG9ydCA8V2ViQ29yZS9M
b2NhbGl6ZWRTdHJpbmdzLmg+Ci0jaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi12b2lkIGlu
aXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKLXsKLSAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgSW5p
dGlhbGl6ZVdlYktpdDIoKTsKLQotICAgICAgICBpZiAoIXBhcmFtZXRlcnMudWlQcm9jZXNzTmFt
ZS5pc051bGwoKSkgewotICAgICAgICAgICAgTlNTdHJpbmcgKmFwcGxpY2F0aW9uTmFtZSA9IFtO
U1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9TVFJJTkcoIiVAIFdlYiBDb250ZW50Iiwg
IlZpc2libGUgbmFtZSBvZiB0aGUgd2ViIHByb2Nlc3MuIFRoZSBhcmd1bWVudCBpcyB0aGUgYXBw
bGljYXRpb24gbmFtZS4iKSwgKE5TU3RyaW5nICopcGFyYW1ldGVycy51aVByb2Nlc3NOYW1lXTsK
LSAgICAgICAgICAgIFdLU2V0VmlzaWJsZUFwcGxpY2F0aW9uTmFtZSgoQ0ZTdHJpbmdSZWYpYXBw
bGljYXRpb25OYW1lKTsKLSAgICAgICAgfQotCi0gICAgICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgp
LmluaXRpYWxpemUocGFyYW1ldGVycyk7Ci0gICAgICAgIAotICAgICAgICBXS0FYUmVnaXN0ZXJS
ZW1vdGVBcHAoKTsKLSAgICB9Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01hYy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0KaW5kZXggNGQ0Y2ZjMmRk
OWQyMTdlN2E5OTgyZTdhYTk5YmUwYTI5MjQzMjI2NC4uZWM2ZDk2ZjZiNjA1NzEzMDZkYWEwNjY3
NGY2YjA0ZjQ1NmM1NzVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9t
YWMvV2ViUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9X
ZWJQcm9jZXNzTWFjLm1tCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIHZvaWQgYXBwZW5kUmVh
ZHdyaXRlU2FuZGJveERpcmVjdG9yeShWZWN0b3I8Y29uc3QgY2hhcio+JiB2ZWN0b3IsIGNvbnN0
IGMKIAogI2VuZGlmCiAKLXZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3Qg
U3RyaW5nJiBjbGllbnRJZGVudGlmaWVyKQordm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplU2Fu
ZGJveChjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiB7CiAgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjaGFuZ2VDdXJyZW50
RGlyZWN0b3J5UGF0aDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZVBhdGhdXTsKIApAQCAt
MTk2LDcgKzE5Niw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3Qg
U3RyaW5nJiBjbGllbnRJZGVudGlmaWVyKQogCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDgwCiAgICAgLy8gVXNlIHByaXZhdGUgdGVtcG9yYXJ5IGFuZCBjYWNoZSBk
aXJlY3Rvcmllcy4KLSAgICBTdHJpbmcgc3lzdGVtRGlyZWN0b3J5U3VmZml4ID0gImNvbS5hcHBs
ZS5XZWJQcm9jZXNzKyIgKyBjbGllbnRJZGVudGlmaWVyOworICAgIFN0cmluZyBzeXN0ZW1EaXJl
Y3RvcnlTdWZmaXggPSAiY29tLmFwcGxlLldlYlByb2Nlc3MrIiArIHBhcmFtZXRlcnMuY2xpZW50
SWRlbnRpZmllcjsKICAgICBzZXRlbnYoIkRJUkhFTFBFUl9VU0VSX0RJUl9TVUZGSVgiLCBmaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oc3lzdGVtRGlyZWN0b3J5U3VmZml4KS5kYXRhKCksIDApOwog
ICAgIGNoYXIgdGVtcG9yYXJ5RGlyZWN0b3J5W1BBVEhfTUFYXTsKICAgICBpZiAoIWNvbmZzdHIo
X0NTX0RBUldJTl9VU0VSX1RFTVBfRElSLCB0ZW1wb3JhcnlEaXJlY3RvcnksIHNpemVvZih0ZW1w
b3JhcnlEaXJlY3RvcnkpKSkgewpAQCAtMjk3LDggKzI5NywxNyBAQCB2b2lkIFdlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycwogICAgIG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihtZXRob2RUb1BhdGNoLCAoSU1Q
KU5TQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5Rm9jdXNlZFVJRWxlbWVudCk7CiB9CiAKLXZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgV2ViUHJvY2Vzczo6aW5pdGlh
bGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKIHsKKyAgICBpZiAoIXBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZS5pc051
bGwoKSkgeworICAgICAgICBOU1N0cmluZyAqYXBwbGljYXRpb25OYW1lID0gW05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX1NUUklORygiJUAgV2ViIENvbnRlbnQiLCAiVmlzaWJsZSBu
YW1lIG9mIHRoZSB3ZWIgcHJvY2Vzcy4gVGhlIGFyZ3VtZW50IGlzIHRoZSBhcHBsaWNhdGlvbiBu
YW1lLiIpLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWVdOworICAgICAgICBX
S1NldFZpc2libGVBcHBsaWNhdGlvbk5hbWUoKENGU3RyaW5nUmVmKWFwcGxpY2F0aW9uTmFtZSk7
CisgICAgfQorfQorCit2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3Mo
Y29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKK3sKKyAgICBXS0FY
UmVnaXN0ZXJSZW1vdGVBcHAoKTsKICAgICBpbml0aWFsaXplU2VjSXRlbVNoaW0oKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01haW5N
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFpbk1hYy5t
bQppbmRleCBmZGZkOTJmNjI4OTI0NjIxMTAzYTRlMDNjYmE0ODNhNzkwMGNlZDIyLi4wZTI1MDQx
ZTQyNDUzNDU0MDM4Zjg2MzE3Y2YwNmNiZjJiMDNmNmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFpbk1hYy5tbQpAQCAtMzAsOCArMzAsOCBA
QAogI2ltcG9ydCAiRW52aXJvbm1lbnRVdGlsaXRpZXMuaCIKICNpbXBvcnQgIkVudmlyb25tZW50
VmFyaWFibGVzLmgiCiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKKyNpbXBvcnQgIldlYktp
dDJJbml0aWFsaXplLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCi0jaW1wb3J0ICJXZWJQcm9j
ZXNzSW5pdGlhbGl6YXRpb24uaCIKICNpbXBvcnQgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2ltcG9y
dCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxtYWNoL21hY2hfZXJyb3IuaD4K
QEAgLTE3OCwxMSArMTc4LDE2IEBAIGludCBXZWJQcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGlu
ZSYgY29tbWFuZExpbmUpCiAgICAgW1tOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBf
aW5zdGFsbEF1dG9yZWxlYXNlUG9vbHNPbkN1cnJlbnRUaHJlYWRJZk5lY2Vzc2FyeV07CiAjZW5k
aWYKIAotICAgIENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJz
OwotICAgIHBhcmFtZXRlcnMudWlQcm9jZXNzTmFtZSA9IGNvbW1hbmRMaW5lWyJ1aS1wcm9jZXNz
LW5hbWUiXTsKLSAgICBwYXJhbWV0ZXJzLmNsaWVudElkZW50aWZpZXIgPSBjbGllbnRJZGVudGlm
aWVyOwotICAgIHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIgPSBzZXJ2ZXJQb3J0Owot
ICAgIGluaXRpYWxpemVXZWJQcm9jZXNzKHBhcmFtZXRlcnMpOworICAgIEBhdXRvcmVsZWFzZXBv
b2wgeworICAgICAgICBJbml0aWFsaXplV2ViS2l0MigpOworCisgICAgICAgIENoaWxkUHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgICAgICBwYXJhbWV0ZXJz
LnVpUHJvY2Vzc05hbWUgPSBjb21tYW5kTGluZVsidWktcHJvY2Vzcy1uYW1lIl07CisgICAgICAg
IHBhcmFtZXRlcnMuY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7CisgICAgICAg
IHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIgPSBzZXJ2ZXJQb3J0OworCisgICAgICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CisgICAgfQogCiAg
ICAgUnVuTG9vcDo6cnVuKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvbWFjL1dlYlByb2Nlc3NTZXJ2aWNlRW50cnlQb2ludHMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzU2VydmljZUVudHJ5UG9pbnRzLm1tCmluZGV4IDAxNTgw
ZDc3OTgxOTIxYzkwNWRhYzFmOTljOWQxOGNhNWU4OWI4YzAuLmMyN2NlMTU4OTJiM2NiYzg0ZjNl
MmQ3N2EyZTI4NmUwYWIxMDIyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvbWFjL1dlYlByb2Nlc3NTZXJ2aWNlRW50cnlQb2ludHMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1NlcnZpY2VFbnRyeVBvaW50cy5tbQpAQCAtMjks
MTAgKzI5LDggQEAKICNpZiBIQVZFKFhQQykKIAogI2ltcG9ydCAiRW52aXJvbm1lbnRVdGlsaXRp
ZXMuaCIKLSNpbXBvcnQgIldlYlByb2Nlc3NJbml0aWFsaXphdGlvbi5oIgotCi0jaW1wb3J0ICJF
bnZpcm9ubWVudFV0aWxpdGllcy5oIgotI2ltcG9ydCAiV2ViUHJvY2Vzc0luaXRpYWxpemF0aW9u
LmgiCisjaW1wb3J0ICJXZWJLaXQySW5pdGlhbGl6ZS5oIgorI2ltcG9ydCAiV2ViUHJvY2Vzcy5o
IgogI2ltcG9ydCA8c3RkaW8uaD4KICNpbXBvcnQgPHN0ZGxpYi5oPgogI2ltcG9ydCA8eHBjL3hw
Yy5oPgpAQCAtNjAsMTEgKzU4LDE0IEBAIHN0YXRpYyB2b2lkIFdlYlByb2Nlc3NTZXJ2aWNlRXZl
bnRIYW5kbGVyKHhwY19jb25uZWN0aW9uX3QgcGVlcikKICAgICAgICAgICAgICAgICB4cGNfY29u
bmVjdGlvbl9zZW5kX21lc3NhZ2UoeHBjX2RpY3Rpb25hcnlfZ2V0X3JlbW90ZV9jb25uZWN0aW9u
KGV2ZW50KSwgcmVwbHkpOwogICAgICAgICAgICAgICAgIHhwY19yZWxlYXNlKHJlcGx5KTsKIAor
ICAgICAgICAgICAgICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CisKICAgICAgICAgICAgICAgICBD
aGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKICAgICAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUgPSB4cGNfZGljdGlvbmFyeV9nZXRfc3Ry
aW5nKGV2ZW50LCAidWktcHJvY2Vzcy1uYW1lIik7CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVy
cy5jbGllbnRJZGVudGlmaWVyID0geHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhldmVudCwgImNs
aWVudC1pZGVudGlmaWVyIik7CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy5jb25uZWN0aW9u
SWRlbnRpZmllciA9IHhwY19kaWN0aW9uYXJ5X2NvcHlfbWFjaF9zZW5kKGV2ZW50LCAic2VydmVy
LXBvcnQiKTsKLSAgICAgICAgICAgICAgICBpbml0aWFsaXplV2ViUHJvY2VzcyhwYXJhbWV0ZXJz
KTsKKworICAgICAgICAgICAgICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUocGFy
YW1ldGVycyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTkwLDExICs5
MSwxNCBAQCB2b2lkIGluaXRpYWxpemVXZWJQcm9jZXNzRm9yV2ViUHJvY2Vzc1NlcnZpY2VGb3JX
ZWJLaXREZXZlbG9wbWVudChjb25zdCBjaGFyKiBjbAogICAgIC8vIHRoZSBXZWJQcm9jZXNzIGRv
bid0IHRyeSB0byBpbnNlcnQgdGhlIHNoaW0gYW5kIGNyYXNoLgogICAgIFdlYktpdDo6RW52aXJv
bm1lbnRVdGlsaXRpZXM6OnN0cmlwVmFsdWVzRW5kaW5nV2l0aFN0cmluZygiRFlMRF9JTlNFUlRf
TElCUkFSSUVTIiwgIi9XZWJQcm9jZXNzU2hpbS5keWxpYiIpOwogCisgICAgV2ViS2l0OjpJbml0
aWFsaXplV2ViS2l0MigpOworCiAgICAgV2ViS2l0OjpDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMgcGFyYW1ldGVyczsKICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUgPSB1
aVByb2Nlc3NOYW1lOwogICAgIHBhcmFtZXRlcnMuY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CiAgICAgcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllciA9IENvcmVJUEM6
OkNvbm5lY3Rpb246OklkZW50aWZpZXIoc2VydmVyUG9ydCwgY29ubmVjdGlvbik7Ci0gICAgaW5p
dGlhbGl6ZVdlYlByb2Nlc3MocGFyYW1ldGVycyk7CisKKyAgICBXZWJLaXQ6OldlYlByb2Nlc3M6
OnNoYXJlZCgpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CiB9CiAKICNlbmRpZiAvLyBIQVZFKFhQ
QykK
</data>
<flag name="review"
          id="199042"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="199043"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>