<?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>207341</bug_id>
          
          <creation_ts>2020-02-06 10:23:11 -0800</creation_ts>
          <short_desc>[WK2][iOS] Add WKWebviewConfiguration SPI to run client navigations at foreground priority, even if the view is background</short_desc>
          <delta_ts>2020-03-30 13:17:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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=209759</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1615698</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 10:23:11 -0800</bug_when>
    <thetext>Add WKWebviewConfiguration SPI to run client navigations at foreground priority, even if the view is background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615699</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 10:23:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/59227077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615743</commentid>
    <comment_count>2</comment_count>
      <attachid>389981</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 12:35:58 -0800</bug_when>
    <thetext>Created attachment 389981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615828</commentid>
    <comment_count>3</comment_count>
      <attachid>389981</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-02-06 14:36:02 -0800</bug_when>
    <thetext>Comment on attachment 389981
Patch

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

r=me

&gt; Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:153
&gt; +    bool isViewService = WTF::processHasEntitlement(&quot;com.apple.UIKit.vends-view-services&quot;) &amp;&amp; [[m_webView window] _isHostedInAnotherProcess];
&gt; +    if (_UIApplicationIsExtension() || isViewService) {

Might be nicer to use applicationType() here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615838</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 14:42:23 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #3)
&gt; Comment on attachment 389981 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=389981&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:153
&gt; &gt; +    bool isViewService = WTF::processHasEntitlement(&quot;com.apple.UIKit.vends-view-services&quot;) &amp;&amp; [[m_webView window] _isHostedInAnotherProcess];
&gt; &gt; +    if (_UIApplicationIsExtension() || isViewService) {
&gt; 
&gt; Might be nicer to use applicationType() here.

applicationType() is in ApplicationStateTracker.mm, would you like me to move it somewhere else so I can reuse it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615856</commentid>
    <comment_count>5</comment_count>
      <attachid>390009</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 15:01:11 -0800</bug_when>
    <thetext>Created attachment 390009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615929</commentid>
    <comment_count>6</comment_count>
      <attachid>390009</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 16:44:39 -0800</bug_when>
    <thetext>Comment on attachment 390009
Patch

Clearing flags on attachment: 390009

Committed r255992: &lt;https://trac.webkit.org/changeset/255992&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615930</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-06 16:44:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389981</attachid>
            <date>2020-02-06 12:35:58 -0800</date>
            <delta_ts>2020-02-06 15:01:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207341-20200206123423.patch</filename>
            <type>text/plain</type>
            <size>18351</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM1ZTY5ZjQwZDgxZDk0MTRm
ZTMzMDk3ZjhmODZlNzE1ODY0MjMxZmIuLjIxNTRjNWMyOGIwNmUwZDI1MjRiNGM2OTgwMWMyNTg3
NzU4ZTdlMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMDItMDYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXVtpT1NdIEFkZCBXS1dlYnZp
ZXdDb25maWd1cmF0aW9uIFNQSSB0byBydW4gY2xpZW50IG5hdmlnYXRpb25zIGF0IGZvcmVncm91
bmQgcHJpb3JpdHksIGV2ZW4gaWYgdGhlIHZpZXcgaXMgYmFja2dyb3VuZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzQxCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81OTIyNzA3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgV0tXZWJ2aWV3Q29uZmlndXJhdGlvbiBTUEkgdG8gcnVuIGNsaWVu
dCBuYXZpZ2F0aW9ucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5LCBldmVuIGlmIHRoZSB2aWV3IGlz
IGJhY2tncm91bmQsCisgICAgICAgIGFzIGxvbmcgYXMgdGhlIGFwcGxpY2F0aW9uIGl0c2VsZiBp
cyBmb3JlZ3JvdW5kLiBUaGUgbmV3IFNQSSBpczoKKyAgICAgICAgV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5fY2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eQorCisgICAgICAg
IFRoZSB1c2UgY2FzZSBpcyB0aGF0IHRoZSBjbGllbnQgbWF5IGNob29zZSB0byBsb2FkIHNvbWV0
aGluZyBpbiBhbiBvZmZzY3JlZW4gdmlldyBhbmQgb25seSBzaG93IHRoZSB2aWV3IG9uY2UgdGhl
CisgICAgICAgIGxvYWQgaXMgY29tcGxldGUgKHRvIGF2b2lkIGZsYXNoaW5nIGZvciBlLmcuKS4g
SW4gc3VjaCBjYXNlcywgaXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGZvcmVncm91bmQgcHJpb3JpdHkg
Zm9yIHRoZQorICAgICAgICBsb2FkIHNpbmNlIGl0IG5lZWRzIHRvIGNvbXBsZXRlIGFzIGZhc3Qg
YXMgcG9zc2libGUsIGV2ZW4gdGhvdWdoIHRoZSB2aWV3IGlzIHRlY2huaWNhbGx5IGJhY2tncm91
bmQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaDoKKyAgICAgICAg
KEFQSTo6TmF2aWdhdGlvbjo6c2V0Rm9yZWdyb3VuZEFjdGl2aXR5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNv
bmZpZ3VyYXRpb246OmNvcHkgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUGFn
ZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNsaWVu
dE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHkgY29uc3QpOgorICAgICAgICAoQVBJ
OjpQYWdlQ29uZmlndXJhdGlvbjo6c2V0Q2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQ
cmlvcml0eSk6CisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjphbHdheXNSdW5zQXRG
b3JlZ3JvdW5kUHJpb3JpdHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQYWdlQ29uZmlndXJhdGlv
bjo6YWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgt
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5k
UHJpb3JpdHldKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0Q2xpZW50
TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eTpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmxvYWREYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpk
aWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkRmFpbExvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aXNBcHBsaWNhdGlvblZpc2libGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OnNob3VsZFVzZUZvcmVncm91bmRQcmlvcml0eUZvckNsaWVudE5hdmlnYXRp
b24gY29uc3QpOgorCiAyMDIwLTAyLTA2ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ29jb2FdIFVzZSBBVkFzc2V0V3JpdGVyRGVsZWdhdGUgdG8gaW1wbGVt
ZW50IE1lZGlhUmVjb3JkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElOYXZpZ2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdh
dGlvbi5oCmluZGV4IDcyODU1NTRkMmRkNWIwMjQxNjZlNWM1YTU1NTA3NTU1NDAwMTZmMGUuLjlk
OTdiODJlNmVhOTllN2EzMWMyNjU0ZDUzZDUzYjY3ZmRiODhkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJGcmFtZUluZm9EYXRhLmgiCiAjaW5jbHVk
ZSAiTmF2aWdhdGlvbkFjdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyLmgi
CiAjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRl
bnRNb2RlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BZENsaWNrQXR0cmlidXRpb24uaD4KQEAgLTE1
Myw2ICsxNTQsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpBZENs
aWNrQXR0cmlidXRpb24+JiBhZENsaWNrQXR0cmlidXRpb24oKSBjb25zdCB7IHJldHVybiBtX2xh
c3ROYXZpZ2F0aW9uQWN0aW9uLmFkQ2xpY2tBdHRyaWJ1dGlvbjsgfQogCisgICAgdm9pZCBzZXRG
b3JlZ3JvdW5kQWN0aXZpdHkoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6UHJvY2Vzc1Rocm90dGxl
cjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiYmIGFjdGl2aXR5KSB7IG1fZm9yZWdyb3VuZEFjdGl2aXR5
ID0gV1RGTW92ZShhY3Rpdml0eSk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBOYXZpZ2F0
aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJik7CiAgICAgTmF2aWdhdGlvbihXZWJLaXQ6
OldlYk5hdmlnYXRpb25TdGF0ZSYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJLaXQ6
OldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZyb21JdGVtKTsKQEAgLTE3NCw2ICsxNzcsNyBAQCBw
cml2YXRlOgogICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBtX2Rlc3RpbmF0aW9uRnJh
bWVTZWN1cml0eU9yaWdpbjsKICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxl
ZCB7IHRydWUgfTsKICAgICBXZWJLaXQ6OldlYkNvbnRlbnRNb2RlIG1fZWZmZWN0aXZlQ29udGVu
dE1vZGUgeyBXZWJLaXQ6OldlYkNvbnRlbnRNb2RlOjpSZWNvbW1lbmRlZCB9OworICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJLaXQ6OlByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9mb3JlZ3JvdW5kQWN0aXZpdHk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmlu
ZGV4IDc4OWYzMzQ5YzVkZTUwMGM0MWEzZDZiNTY0ZTljOGMxZmExNjgxYjUuLjAwMmZiMThlOGNk
YTQwYzcyYTIzMzQ0NGY4MzM2NGQxOTIwMWQ4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNzQsNiArNzQsNyBA
QCBSZWY8UGFnZUNvbmZpZ3VyYXRpb24+IFBhZ2VDb25maWd1cmF0aW9uOjpjb3B5KCkgY29uc3QK
ICAgICBjb3B5LT5tX3dlYnNpdGVEYXRhU3RvcmUgPSB0aGlzLT5tX3dlYnNpdGVEYXRhU3RvcmU7
CiAgICAgY29weS0+bV90cmVhdHNTSEExU2lnbmVkQ2VydGlmaWNhdGVzQXNJbnNlY3VyZSA9IHRo
aXMtPm1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmU7CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBjb3B5LT5tX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3Jv
dW5kUHJpb3JpdHkgPSB0aGlzLT5tX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJp
b3JpdHk7CiAgICAgY29weS0+bV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSB0aGlz
LT5tX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKICAgICBjb3B5LT5tX2NhblNob3dX
aGlsZUxvY2tlZCA9IHRoaXMtPm1fY2FuU2hvd1doaWxlTG9ja2VkOwogICAgIGNvcHktPm1fY2xp
Y2tJbnRlcmFjdGlvbkRyaXZlckZvclRlc3RpbmcgPSB0aGlzLT5tX2NsaWNrSW50ZXJhY3Rpb25E
cml2ZXJGb3JUZXN0aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0FQSVBhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
UGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCAwYjJhNjUwZDYxMWQ1MTdlZGY0NWRlZDk4OTNkNTg1
MWQ5NjkwM2YyLi4yMzY3YjgyMjgzZGY0Zjg0OTA3NDNiZmJhOWM3MjQ5OTEwZTI1YmJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24u
aApAQCAtOTUsNyArOTUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUcmVhdHNTSEExU2lnbmVk
Q2VydGlmaWNhdGVzQXNJbnNlY3VyZShib29sIHRyZWF0c1NIQTFTaWduZWRDZXJ0aWZpY2F0ZXNB
c0luc2VjdXJlKSB7IG1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmUgPSB0
cmVhdHNTSEExU2lnbmVkQ2VydGlmaWNhdGVzQXNJbnNlY3VyZTsgfSAKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCi0gICAgYm9vbCBhbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoKSB7
IHJldHVybiBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsgfQorICAgIGJvb2wgY2xp
ZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eTsgfQorICAgIHZvaWQgc2V0
Q2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eShib29sIHZhbHVlKSB7IG1f
Y2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSA9IHZhbHVlOyB9CisgICAg
Ym9vbCBhbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBtX2Fs
d2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsgfQogICAgIHZvaWQgc2V0QWx3YXlzUnVuc0F0
Rm9yZWdyb3VuZFByaW9yaXR5KGJvb2wgYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KSB7
IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gYWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5OyB9CiAgICAgCiAgICAgYm9vbCBjYW5TaG93V2hpbGVMb2NrZWQoKSBjb25zdCB7
IHJldHVybiBtX2NhblNob3dXaGlsZUxvY2tlZDsgfQpAQCAtMTU3LDYgKzE1OSw3IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmUg
eyB0cnVlIH07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBib29sIG1fY2xpZW50TmF2
aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Fs
d2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhblNo
b3dXaGlsZUxvY2tlZCB7IGZhbHNlIH07CiAgICAgUmV0YWluUHRyPF9VSUNsaWNrSW50ZXJhY3Rp
b25Ecml2aW5nPiBtX2NsaWNrSW50ZXJhY3Rpb25Ecml2ZXJGb3JUZXN0aW5nOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQppbmRleCA2MmIzOTY5NDE5ZmMwODVkMmEzMmI4ODU1NjVjYzE1NmVhN2JmZGMx
Li5lZjg2NDRjYWY3NmM4MzE0MzgwNTJjYmMxNTdjZDE0OTRmOTNhMGU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQpAQCAtNzAyLDYgKzcwMiwxNiBAQCAtICh2b2lkKV9zZXRBbGxvd3NNZXRhUmVm
cmVzaDooQk9PTClhbGxvd3NNZXRhUmVmcmVzaAogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKKy0gKEJPT0wpX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHkKK3sK
KyAgICByZXR1cm4gX3BhZ2VDb25maWd1cmF0aW9uLT5jbGllbnROYXZpZ2F0aW9uc1J1bkF0Rm9y
ZWdyb3VuZFByaW9yaXR5KCk7Cit9CisKKy0gKHZvaWQpX3NldENsaWVudE5hdmlnYXRpb25zUnVu
QXRGb3JlZ3JvdW5kUHJpb3JpdHk6KEJPT0wpY2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91
bmRQcmlvcml0eQoreworICAgIF9wYWdlQ29uZmlndXJhdGlvbi0+c2V0Q2xpZW50TmF2aWdhdGlv
bnNSdW5BdEZvcmVncm91bmRQcmlvcml0eShjbGllbnROYXZpZ2F0aW9uc1J1bkF0Rm9yZWdyb3Vu
ZFByaW9yaXR5KTsKK30KKwogLSAoQk9PTClfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5
CiB7CiAgICAgcmV0dXJuIF9wYWdlQ29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0Rm9yZWdyb3Vu
ZFByaW9yaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IGE4OWM4
ZWIwYzFhMzkwMGJlNzAzNGE2ZmExMWY2NDE3NzFjODMyODYuLmZmZjVkZGE1ZTRjYjEwZjI0ZWFj
YjFhMmYxOTZiNGIzMTc3N2Q4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5o
CkBAIC04Niw2ICs4Niw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tXZWJWaWV3
Q2F0ZWdvcnkpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldENPUlNE
aXNhYmxpbmdQYXR0ZXJuczopIE5TQXJyYXk8TlNTdHJpbmcgKj4gKl9jb3JzRGlzYWJsaW5nUGF0
dGVybnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldENsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9jbGll
bnROYXZpZ2F0aW9uc1J1bkF0Rm9yZWdyb3VuZFByaW9yaXR5IFdLX0FQSV9BVkFJTEFCTEUoaW9z
KFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1J1
bnNBdEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlv
cml0eSBXS19BUElfQVZBSUxBQkxFKGlvcyg5XzApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
OikgQk9PTCBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUg
V0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbjopIEJPT0wgX2Fs
bG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gIFdLX0FQSV9BVkFJTEFCTEUo
aW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAxZWUxZWQz
MDEyNWZiMGU2MDMzZWZkMmYzYzVmZjYxNzAzNjg3MzFkLi4yMTc5YTlkZjMwMmMzNjdkMzdiZDE4
MzBjMDZkNTUyYWJiZDJkYjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBA
IC0xOTYsNiArMTk2LDExIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm4gd2hldGhlciB0aGUgdmll
dyBpcyB2aXNpYmxlLgogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxlKCkgPSAwOwogCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAvLyBSZXR1cm4gd2hldGhlciB0aGUgYXBwbGlj
YXRpb24gaXMgdmlzaWJsZS4KKyAgICB2aXJ0dWFsIGJvb2wgaXNBcHBsaWNhdGlvblZpc2libGUo
KSA9IDA7CisjZW5kaWYKKwogICAgIC8vIFJldHVybiB3aGV0aGVyIHRoZSB2aWV3IGlzIHZpc2li
bGUsIG9yIG9jY2x1ZGVkIGJ5IGFub3RoZXIgd2luZG93LgogICAgIHZpcnR1YWwgYm9vbCBpc1Zp
ZXdWaXNpYmxlT3JPY2NsdWRlZCgpIHsgcmV0dXJuIGlzVmlld1Zpc2libGUoKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAyMTQ1MDdlNDRiODNhNjdl
MmFhZDEyZThhZTVjNjY4MTYzYzY2ZDY4Li5hYzgxODQ2MTZhYzJhMDZhM2Y4ZTZjNWUyYzQwYmNh
MjNjNTk4M2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTEyNTYsNiArMTI1NiwxMCBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6
OmxvYWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFNobwogICAgICAgICBsYXVu
Y2hQcm9jZXNzKFJlZ2lzdHJhYmxlRG9tYWluIHsgcmVxdWVzdC51cmwoKSB9LCBQcm9jZXNzTGF1
bmNoUmVhc29uOjpJbml0aWFsUHJvY2Vzcyk7CiAKICAgICBhdXRvIG5hdmlnYXRpb24gPSBtX25h
dmlnYXRpb25TdGF0ZS0+Y3JlYXRlTG9hZFJlcXVlc3ROYXZpZ2F0aW9uKFJlc291cmNlUmVxdWVz
dChyZXF1ZXN0KSwgbV9iYWNrRm9yd2FyZExpc3QtPmN1cnJlbnRJdGVtKCkpOworCisgICAgaWYg
KHNob3VsZFVzZUZvcmVncm91bmRQcmlvcml0eUZvckNsaWVudE5hdmlnYXRpb24oKSkKKyAgICAg
ICAgbmF2aWdhdGlvbi0+c2V0Rm9yZWdyb3VuZEFjdGl2aXR5KHByb2Nlc3MoKS50aHJvdHRsZXIo
KS5mb3JlZ3JvdW5kQWN0aXZpdHkoIkNsaWVudCBuYXZpZ2F0aW9uIl9zKS5tb3ZlVG9VbmlxdWVQ
dHIoKSk7CisKICAgICBsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uU2hhcmVkKG1fcHJvY2Vzcy5j
b3B5UmVmKCksIG1fd2ViUGFnZUlELCBuYXZpZ2F0aW9uLmdldCgpLCBXVEZNb3ZlKHJlcXVlc3Qp
LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCB1c2VyRGF0YSwgU2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkOjpObyk7CiAgICAgcmV0dXJuIG5hdmlnYXRpb247CiB9CkBAIC0xMzI4LDYg
KzEzMzIsOSBAQCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWRGaWxl
KGNvbnN0IFN0cmluZyYgZmlsZVVSTFN0cmluZywgY29ucwogCiAgICAgYXV0byBuYXZpZ2F0aW9u
ID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbihSZXNvdXJj
ZVJlcXVlc3QoZmlsZVVSTCksIG1fYmFja0ZvcndhcmRMaXN0LT5jdXJyZW50SXRlbSgpKTsKIAor
ICAgIGlmIChzaG91bGRVc2VGb3JlZ3JvdW5kUHJpb3JpdHlGb3JDbGllbnROYXZpZ2F0aW9uKCkp
CisgICAgICAgIG5hdmlnYXRpb24tPnNldEZvcmVncm91bmRBY3Rpdml0eShwcm9jZXNzKCkudGhy
b3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJDbGllbnQgbmF2aWdhdGlvbiJfcykubW92ZVRv
VW5pcXVlUHRyKCkpOworCiAgICAgYXV0byB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0ZS50
cmFuc2FjdGlvbigpOwogCiAgICAgbV9wYWdlTG9hZFN0YXRlLnNldFBlbmRpbmdBUElSZXF1ZXN0
KHRyYW5zYWN0aW9uLCB7IG5hdmlnYXRpb24tPm5hdmlnYXRpb25JRCgpLCBmaWxlVVJMU3RyaW5n
IH0sIHJlc291cmNlRGlyZWN0b3J5VVJMKTsKQEAgLTEzNjcsNiArMTM3NCwxMCBAQCBSZWZQdHI8
QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgZGF0YSwgYwogICAgICAgICBsYXVuY2hQcm9jZXNzKHsgfSwgUHJvY2Vzc0xhdW5j
aFJlYXNvbjo6SW5pdGlhbFByb2Nlc3MpOwogCiAgICAgYXV0byBuYXZpZ2F0aW9uID0gbV9uYXZp
Z2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbihtYWtlVW5pcXVlPEFQSTo6U3Vi
c3RpdHV0ZURhdGE+KGRhdGEudmVjdG9yKCksIE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVSTCwg
dXNlckRhdGEpKTsKKworICAgIGlmIChzaG91bGRVc2VGb3JlZ3JvdW5kUHJpb3JpdHlGb3JDbGll
bnROYXZpZ2F0aW9uKCkpCisgICAgICAgIG5hdmlnYXRpb24tPnNldEZvcmVncm91bmRBY3Rpdml0
eShwcm9jZXNzKCkudGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJDbGllbnQgbmF2aWdh
dGlvbiJfcykubW92ZVRvVW5pcXVlUHRyKCkpOworCiAgICAgbG9hZERhdGFXaXRoTmF2aWdhdGlv
blNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBtX3dlYlBhZ2VJRCwgbmF2aWdhdGlvbiwgZGF0
YSwgTUlNRVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2VyRGF0YSwgU2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkOjpObywgV1RGOjpudWxsb3B0LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KTsKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKIH0KQEAgLTQ0MzAsNiArNDQ0MSw4IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpkaWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVTaGFyZWQoUmVm
PFdlYlByb2Nlc3NQcm94eT4mJiBwCiAgICAgICAgIHJlcG9ydFBhZ2VMb2FkUmVzdWx0KGVycm9y
KTsKICAgICAgICAgbV9wYWdlTG9hZFN0YXRlLmRpZEZhaWxQcm92aXNpb25hbExvYWQodHJhbnNh
Y3Rpb24pOwogICAgICAgICBwYWdlQ2xpZW50KCkuZGlkRmFpbFByb3Zpc2lvbmFsTG9hZEZvck1h
aW5GcmFtZSgpOworICAgICAgICBpZiAobmF2aWdhdGlvbikKKyAgICAgICAgICAgIG5hdmlnYXRp
b24tPnNldEZvcmVncm91bmRBY3Rpdml0eShudWxscHRyKTsKICAgICB9CiAKICAgICBmcmFtZS0+
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZCgpOwpAQCAtNDY2Miw2ICs0Njc1LDkgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwg
dWludDY0X3QgbmF2aWcKICAgICAgICAgcmVwb3J0UGFnZUxvYWRSZXN1bHQoKTsKICAgICAgICAg
cGFnZUNsaWVudCgpLmRpZEZpbmlzaExvYWRGb3JNYWluRnJhbWUoKTsKIAorICAgICAgICBpZiAo
bmF2aWdhdGlvbikKKyAgICAgICAgICAgIG5hdmlnYXRpb24tPnNldEZvcmVncm91bmRBY3Rpdml0
eShudWxscHRyKTsKKwogICAgICAgICByZXNldFJlY2VudENyYXNoQ291bnRTb29uKCk7CiAKICAg
ICAgICAgbm90aWZ5UHJvY2Vzc1Bvb2xUb1ByZXdhcm0oKTsKQEAgLTQ3MDksNiArNDcyNSw4IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGYWlsTG9hZEZvckZyYW1lKEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCB1aW50NjRfdCBuYXZpZ2F0CiAgICAgaWYgKGlzTWFpbkZyYW1lKSB7CiAgICAgICAg
IHJlcG9ydFBhZ2VMb2FkUmVzdWx0KGVycm9yKTsKICAgICAgICAgcGFnZUNsaWVudCgpLmRpZEZh
aWxMb2FkRm9yTWFpbkZyYW1lKCk7CisgICAgICAgIGlmIChuYXZpZ2F0aW9uKQorICAgICAgICAg
ICAgbmF2aWdhdGlvbi0+c2V0Rm9yZWdyb3VuZEFjdGl2aXR5KG51bGxwdHIpOwogICAgIH0KIH0K
IApAQCAtOTgxNCw2ICs5ODMyLDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRPdmVycmlkZGVu
TWVkaWFUeXBlKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlKQogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2U6OlNldE92ZXJyaWRkZW5NZWRpYVR5cGUobWVkaWFUeXBlKSk7CiB9CiAKKyNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKK2Jvb2wgV2ViUGFnZVByb3h5OjpzaG91bGRVc2VGb3JlZ3JvdW5k
UHJpb3JpdHlGb3JDbGllbnROYXZpZ2F0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlUHJveHk6OnNldE9yaWVudGF0aW9uRm9yTWVkaWFD
YXB0dXJlKHVpbnQ2NF90IG9yaWVudGF0aW9uKQogewogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCA0ODA3MTA2MmEzYjljODRlODk5YjI2Zjc3NTcxYTJmODA0MGYzYzJhLi45NTBjMGQ1M2Rh
ZTI5YTc2OTU4ZjhkMTAyZjJmOWU0NmVkZmU3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtMTY5Miw2ICsxNjkyLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIG5v
dGlmeVByb2Nlc3NQb29sVG9QcmV3YXJtKCk7CiAgICAgYm9vbCBzaG91bGRVc2VCYWNrRm9yd2Fy
ZENhY2hlKCkgY29uc3Q7CiAKKyAgICBib29sIHNob3VsZFVzZUZvcmVncm91bmRQcmlvcml0eUZv
ckNsaWVudE5hdmlnYXRpb24oKSBjb25zdDsKKwogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+
IGdvVG9CYWNrRm9yd2FyZEl0ZW0oV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYsIFdlYkNvcmU6OkZy
YW1lTG9hZFR5cGUpOwogCiAgICAgdm9pZCB1cGRhdGVBY3Rpdml0eVN0YXRlKE9wdGlvblNldDxX
ZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpGbGFnPiBmbGFnc1RvVXBkYXRlID0gV2ViQ29yZTo6QWN0
aXZpdHlTdGF0ZTo6YWxsRmxhZ3MoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDU2YWY1ODg0NDE4YmVmNmIzZjA4MDZiOTAwYWYy
MDBjNmM2Yjg2ODkuLjg0YmJjZjgwZmQxMWFlYmU3MGNhNzk1NTlhNjBhZjczNWU1OTE0ZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBA
IC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBv
dmVycmlkZTsKICAgICBib29sIGlzVmlld0ZvY3VzZWQoKSBvdmVycmlkZTsKICAgICBib29sIGlz
Vmlld1Zpc2libGUoKSBvdmVycmlkZTsKKyAgICBib29sIGlzQXBwbGljYXRpb25WaXNpYmxlKCkg
b3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZpZXdJbldpbmRvdygpIG92ZXJyaWRlOwogICAgIGJvb2wg
aXNWaWV3VmlzaWJsZU9yT2NjbHVkZWQoKSBvdmVycmlkZTsKICAgICBib29sIGlzVmlzdWFsbHlJ
ZGxlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0KaW5kZXggY2RmM2U5NWYwNTk2YjcxZWQwNTA5ZGU2ZTQwZGVkNDgyNDJh
YzNlYy4uMTI3YTk4ZmYzOWZhNzBjYzE3ZGVlNzA4MDJjOTVkMTQ1MTZjOWExNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMjks
NiArMjksNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKICNpbXBvcnQgIkFQSURhdGEu
aCIKKyNpbXBvcnQgIkFzc2VydGlvblNlcnZpY2VzU1BJLmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJl
bmNlLmgiCiAjaW1wb3J0ICJEb3dubG9hZFByb3h5LmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYVBy
b3h5LmgiCkBAIC02OCw5ICs2OSwxNCBAQAogI2ltcG9ydCA8V2ViQ29yZS9UZXh0SW5kaWNhdG9y
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1ZhbGlkYXRpb25CdWJibGUuaD4KICNpbXBvcnQgPHd0Zi9C
bG9ja1B0ci5oPgorI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogCiAjZGVmaW5l
IE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCBt
X3dlYlZpZXcuZ2V0KCktPl9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpKQogCitAaW50ZXJm
YWNlIFVJV2luZG93ICgpCistIChCT09MKV9pc0hvc3RlZEluQW5vdGhlclByb2Nlc3M7CitAZW5k
CisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTE0
MSw2ICsxNDcsMzEgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3VmlzaWJsZSgpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIFBhZ2VDbGllbnRJbXBsOjppc0FwcGxpY2F0aW9uVmlz
aWJsZSgpCit7CisgICAgYm9vbCBpc1ZpZXdTZXJ2aWNlID0gV1RGOjpwcm9jZXNzSGFzRW50aXRs
ZW1lbnQoImNvbS5hcHBsZS5VSUtpdC52ZW5kcy12aWV3LXNlcnZpY2VzIikgJiYgW1ttX3dlYlZp
ZXcgd2luZG93XSBfaXNIb3N0ZWRJbkFub3RoZXJQcm9jZXNzXTsKKyAgICBpZiAoX1VJQXBwbGlj
YXRpb25Jc0V4dGVuc2lvbigpIHx8IGlzVmlld1NlcnZpY2UpIHsKKyAgICAgICAgVUlWaWV3Q29u
dHJvbGxlciAqc2VydmljZVZpZXdDb250cm9sbGVyID0gbmlsOworCisgICAgICAgIGZvciAoVUlW
aWV3ICp2aWV3ID0gbV93ZWJWaWV3LmdldCgpLmdldCgpOyB2aWV3OyB2aWV3ID0gdmlldy5zdXBl
cnZpZXcpIHsKKyAgICAgICAgICAgIFVJVmlld0NvbnRyb2xsZXIgKnZpZXdDb250cm9sbGVyID0g
W1VJVmlld0NvbnRyb2xsZXIgdmlld0NvbnRyb2xsZXJGb3JWaWV3OnZpZXddOworICAgICAgICAg
ICAgaWYgKHZpZXdDb250cm9sbGVyLl9ob3N0UHJvY2Vzc0lkZW50aWZpZXIpIHsKKyAgICAgICAg
ICAgICAgICBzZXJ2aWNlVmlld0NvbnRyb2xsZXIgPSB2aWV3Q29udHJvbGxlcjsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBBU1NFUlQo
c2VydmljZVZpZXdDb250cm9sbGVyKTsKKyAgICAgICAgcGlkX3QgYXBwbGljYXRpb25QSUQgPSBz
ZXJ2aWNlVmlld0NvbnRyb2xsZXIuX2hvc3RQcm9jZXNzSWRlbnRpZmllcjsKKyAgICAgICAgQVNT
RVJUKGFwcGxpY2F0aW9uUElEKTsKKworICAgICAgICBhdXRvIGFwcGxpY2F0aW9uU3RhdGVNb25p
dG9yID0gYWRvcHROUyhbW0JLU0FwcGxpY2F0aW9uU3RhdGVNb25pdG9yIGFsbG9jXSBpbml0XSk7
CisgICAgICAgIGF1dG8gYXBwbGljYXRpb25TdGF0ZSA9IFthcHBsaWNhdGlvblN0YXRlTW9uaXRv
ciBtb3N0RWxldmF0ZWRBcHBsaWNhdGlvblN0YXRlRm9yUElEOmFwcGxpY2F0aW9uUElEXTsKKyAg
ICAgICAgW2FwcGxpY2F0aW9uU3RhdGVNb25pdG9yIGludmFsaWRhdGVdOworICAgICAgICByZXR1
cm4gYXBwbGljYXRpb25TdGF0ZSAhPSBCS1NBcHBsaWNhdGlvblN0YXRlQmFja2dyb3VuZFJ1bm5p
bmcgJiYgYXBwbGljYXRpb25TdGF0ZSAhPSBCS1NBcHBsaWNhdGlvblN0YXRlQmFja2dyb3VuZFRh
c2tTdXNwZW5kZWQ7CisgICAgfQorICAgIHJldHVybiBbW1VJQXBwbGljYXRpb24gc2hhcmVkQXBw
bGljYXRpb25dIGFwcGxpY2F0aW9uU3RhdGVdICE9IFVJQXBwbGljYXRpb25TdGF0ZUJhY2tncm91
bmQ7Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld0luV2luZG93KCkKIHsKICAgICAv
LyBGSVhNRTogaW4gV2ViS2l0VGVzdFJ1bm5lciwgbV93ZWJWaWV3IGlzIG5pbCwgc28gY2hlY2sg
dGhlIGNvbnRlbnQgdmlldyBpbnN0ZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggNDMwOWViOWQyMTlkY2M4YTk0NjM1MWU5NDcyNGRh
YjNiYzQ1YTU5MS4uZGQ3OTY1YWI3NjljMzdkZTgwMDQzZTY5MjcxOTdhOWNmZTBmMGRiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0y
OSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogI2ltcG9ydCAiQVBJTmF2
aWdhdGlvbkFjdGlvbi5oIgorI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbXBv
cnQgIkFQSVVJQ2xpZW50LmgiCiAjaW1wb3J0ICJBUElXZWJzaXRlUG9saWNpZXMuaCIKICNpbXBv
cnQgIkNvbm5lY3Rpb24uaCIKQEAgLTE1MDAsNiArMTUwMSwxOSBAQCBXZWJDb250ZW50TW9kZSBX
ZWJQYWdlUHJveHk6OmVmZmVjdGl2ZUNvbnRlbnRNb2RlQWZ0ZXJBZGp1c3RpbmdQb2xpY2llcyhB
UEk6OldlYgogICAgIHJldHVybiBXZWJDb250ZW50TW9kZTo6RGVza3RvcDsKIH0KIAorYm9vbCBX
ZWJQYWdlUHJveHk6OnNob3VsZFVzZUZvcmVncm91bmRQcmlvcml0eUZvckNsaWVudE5hdmlnYXRp
b24oKSBjb25zdAoreworICAgIC8vIFRoZSBjbGllbnQgbWF5IHJlcXVlc3QgdGhhdCB3ZSBkbyBj
bGllbnQgbmF2aWdhdGlvbnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSwgZXZlbiBpZiB0aGUKKyAg
ICAvLyB2aWV3IGlzIG5vdCB2aXNpYmxlLCBhcyBsb25nIGFzIHRoZSBhcHBsaWNhdGlvbiBpcyBm
b3JlZ3JvdW5kLgorICAgIGlmICghY29uZmlndXJhdGlvbigpLmNsaWVudE5hdmlnYXRpb25zUnVu
QXRGb3JlZ3JvdW5kUHJpb3JpdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGlzVmlld1Zpc2libGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHBh
Z2VDbGllbnQoKS5pc0FwcGxpY2F0aW9uVmlzaWJsZSgpOworfQorCiAjaWYgUExBVEZPUk0oSU9T
KQogdm9pZCBXZWJQYWdlUHJveHk6OmdyYW50QWNjZXNzVG9Bc3NldFNlcnZpY2VzKCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390009</attachid>
            <date>2020-02-06 15:01:11 -0800</date>
            <delta_ts>2020-02-06 16:44:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207341-20200206145935.patch</filename>
            <type>text/plain</type>
            <size>19660</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM1ZTY5ZjQwZDgxZDk0MTRm
ZTMzMDk3ZjhmODZlNzE1ODY0MjMxZmIuLmRiNjU5OTBlMWZmM2NhZjFhYzIzNTg0Mjc4ZGJiNTg2
YTQ0NDRhY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjAtMDItMDYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXVtpT1NdIEFkZCBXS1dlYnZp
ZXdDb25maWd1cmF0aW9uIFNQSSB0byBydW4gY2xpZW50IG5hdmlnYXRpb25zIGF0IGZvcmVncm91
bmQgcHJpb3JpdHksIGV2ZW4gaWYgdGhlIHZpZXcgaXMgYmFja2dyb3VuZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzQxCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81OTIyNzA3Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4K
KworICAgICAgICBBZGQgV0tXZWJ2aWV3Q29uZmlndXJhdGlvbiBTUEkgdG8gcnVuIGNsaWVudCBu
YXZpZ2F0aW9ucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5LCBldmVuIGlmIHRoZSB2aWV3IGlzIGJh
Y2tncm91bmQsCisgICAgICAgIGFzIGxvbmcgYXMgdGhlIGFwcGxpY2F0aW9uIGl0c2VsZiBpcyBm
b3JlZ3JvdW5kLiBUaGUgbmV3IFNQSSBpczoKKyAgICAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5fY2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eQorCisgICAgICAgIFRo
ZSB1c2UgY2FzZSBpcyB0aGF0IHRoZSBjbGllbnQgbWF5IGNob29zZSB0byBsb2FkIHNvbWV0aGlu
ZyBpbiBhbiBvZmZzY3JlZW4gdmlldyBhbmQgb25seSBzaG93IHRoZSB2aWV3IG9uY2UgdGhlCisg
ICAgICAgIGxvYWQgaXMgY29tcGxldGUgKHRvIGF2b2lkIGZsYXNoaW5nIGZvciBlLmcuKS4gSW4g
c3VjaCBjYXNlcywgaXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGZvcmVncm91bmQgcHJpb3JpdHkgZm9y
IHRoZQorICAgICAgICBsb2FkIHNpbmNlIGl0IG5lZWRzIHRvIGNvbXBsZXRlIGFzIGZhc3QgYXMg
cG9zc2libGUsIGV2ZW4gdGhvdWdoIHRoZSB2aWV3IGlzIHRlY2huaWNhbGx5IGJhY2tncm91bmQu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaDoKKyAgICAgICAgKEFQ
STo6TmF2aWdhdGlvbjo6c2V0Rm9yZWdyb3VuZEFjdGl2aXR5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZp
Z3VyYXRpb246OmNvcHkgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNv
bmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNsaWVudE5h
dmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQ
YWdlQ29uZmlndXJhdGlvbjo6c2V0Q2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlv
cml0eSk6CisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjphbHdheXNSdW5zQXRGb3Jl
Z3JvdW5kUHJpb3JpdHkgY29uc3QpOgorICAgICAgICAoQVBJOjpQYWdlQ29uZmlndXJhdGlvbjo6
YWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJp
b3JpdHldKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0Q2xpZW50TmF2
aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9hZEZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmxvYWREYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWVTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6ZGlkRmFpbExvYWRGb3JGcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aXNBcHBsaWNhdGlvblZpc2libGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OnNob3VsZFVzZUZvcmVncm91bmRQcmlvcml0eUZvckNsaWVudE5hdmlnYXRpb24g
Y29uc3QpOgorCiAyMDIwLTAyLTA2ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQ29jb2FdIFVzZSBBVkFzc2V0V3JpdGVyRGVsZWdhdGUgdG8gaW1wbGVtZW50
IE1lZGlhUmVjb3JkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElOYXZpZ2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlv
bi5oCmluZGV4IDcyODU1NTRkMmRkNWIwMjQxNjZlNWM1YTU1NTA3NTU1NDAwMTZmMGUuLjlkOTdi
ODJlNmVhOTllN2EzMWMyNjU0ZDUzZDUzYjY3ZmRiODhkMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJGcmFtZUluZm9EYXRhLmgiCiAjaW5jbHVkZSAi
TmF2aWdhdGlvbkFjdGlvbkRhdGEuaCIKKyNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyLmgiCiAj
aW5jbHVkZSAiV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRlbnRN
b2RlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BZENsaWNrQXR0cmlidXRpb24uaD4KQEAgLTE1Myw2
ICsxNTQsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpBZENsaWNr
QXR0cmlidXRpb24+JiBhZENsaWNrQXR0cmlidXRpb24oKSBjb25zdCB7IHJldHVybiBtX2xhc3RO
YXZpZ2F0aW9uQWN0aW9uLmFkQ2xpY2tBdHRyaWJ1dGlvbjsgfQogCisgICAgdm9pZCBzZXRGb3Jl
Z3JvdW5kQWN0aXZpdHkoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6UHJvY2Vzc1Rocm90dGxlcjo6
Rm9yZWdyb3VuZEFjdGl2aXR5PiYmIGFjdGl2aXR5KSB7IG1fZm9yZWdyb3VuZEFjdGl2aXR5ID0g
V1RGTW92ZShhY3Rpdml0eSk7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBOYXZpZ2F0aW9u
KFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJik7CiAgICAgTmF2aWdhdGlvbihXZWJLaXQ6Oldl
Yk5hdmlnYXRpb25TdGF0ZSYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJLaXQ6Oldl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZyb21JdGVtKTsKQEAgLTE3NCw2ICsxNzcsNyBAQCBwcml2
YXRlOgogICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBtX2Rlc3RpbmF0aW9uRnJhbWVT
ZWN1cml0eU9yaWdpbjsKICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCB7
IHRydWUgfTsKICAgICBXZWJLaXQ6OldlYkNvbnRlbnRNb2RlIG1fZWZmZWN0aXZlQ29udGVudE1v
ZGUgeyBXZWJLaXQ6OldlYkNvbnRlbnRNb2RlOjpSZWNvbW1lbmRlZCB9OworICAgIHN0ZDo6dW5p
cXVlX3B0cjxXZWJLaXQ6OlByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9m
b3JlZ3JvdW5kQWN0aXZpdHk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4
IDc4OWYzMzQ5YzVkZTUwMGM0MWEzZDZiNTY0ZTljOGMxZmExNjgxYjUuLjAwMmZiMThlOGNkYTQw
YzcyYTIzMzQ0NGY4MzM2NGQxOTIwMWQ4NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcApAQCAtNzQsNiArNzQsNyBAQCBS
ZWY8UGFnZUNvbmZpZ3VyYXRpb24+IFBhZ2VDb25maWd1cmF0aW9uOjpjb3B5KCkgY29uc3QKICAg
ICBjb3B5LT5tX3dlYnNpdGVEYXRhU3RvcmUgPSB0aGlzLT5tX3dlYnNpdGVEYXRhU3RvcmU7CiAg
ICAgY29weS0+bV90cmVhdHNTSEExU2lnbmVkQ2VydGlmaWNhdGVzQXNJbnNlY3VyZSA9IHRoaXMt
Pm1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmU7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyAgICBjb3B5LT5tX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5k
UHJpb3JpdHkgPSB0aGlzLT5tX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3Jp
dHk7CiAgICAgY29weS0+bV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgPSB0aGlzLT5t
X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsKICAgICBjb3B5LT5tX2NhblNob3dXaGls
ZUxvY2tlZCA9IHRoaXMtPm1fY2FuU2hvd1doaWxlTG9ja2VkOwogICAgIGNvcHktPm1fY2xpY2tJ
bnRlcmFjdGlvbkRyaXZlckZvclRlc3RpbmcgPSB0aGlzLT5tX2NsaWNrSW50ZXJhY3Rpb25Ecml2
ZXJGb3JUZXN0aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVBhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFn
ZUNvbmZpZ3VyYXRpb24uaAppbmRleCAwYjJhNjUwZDYxMWQ1MTdlZGY0NWRlZDk4OTNkNTg1MWQ5
NjkwM2YyLi4yMzY3YjgyMjgzZGY0Zjg0OTA3NDNiZmJhOWM3MjQ5OTEwZTI1YmJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaApA
QCAtOTUsNyArOTUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUcmVhdHNTSEExU2lnbmVkQ2Vy
dGlmaWNhdGVzQXNJbnNlY3VyZShib29sIHRyZWF0c1NIQTFTaWduZWRDZXJ0aWZpY2F0ZXNBc0lu
c2VjdXJlKSB7IG1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmUgPSB0cmVh
dHNTSEExU2lnbmVkQ2VydGlmaWNhdGVzQXNJbnNlY3VyZTsgfSAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgYm9vbCBhbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoKSB7IHJl
dHVybiBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsgfQorICAgIGJvb2wgY2xpZW50
TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xp
ZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eTsgfQorICAgIHZvaWQgc2V0Q2xp
ZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eShib29sIHZhbHVlKSB7IG1fY2xp
ZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSA9IHZhbHVlOyB9CisgICAgYm9v
bCBhbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eTsgfQogICAgIHZvaWQgc2V0QWx3YXlzUnVuc0F0Rm9y
ZWdyb3VuZFByaW9yaXR5KGJvb2wgYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KSB7IG1f
YWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5ID0gYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFBy
aW9yaXR5OyB9CiAgICAgCiAgICAgYm9vbCBjYW5TaG93V2hpbGVMb2NrZWQoKSBjb25zdCB7IHJl
dHVybiBtX2NhblNob3dXaGlsZUxvY2tlZDsgfQpAQCAtMTU3LDYgKzE1OSw3IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1fdHJlYXRzU0hBMVNpZ25lZENlcnRpZmljYXRlc0FzSW5zZWN1cmUgeyB0
cnVlIH07CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBib29sIG1fY2xpZW50TmF2aWdh
dGlvbnNSdW5BdEZvcmVncm91bmRQcmlvcml0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Fsd2F5
c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhblNob3dX
aGlsZUxvY2tlZCB7IGZhbHNlIH07CiAgICAgUmV0YWluUHRyPF9VSUNsaWNrSW50ZXJhY3Rpb25E
cml2aW5nPiBtX2NsaWNrSW50ZXJhY3Rpb25Ecml2ZXJGb3JUZXN0aW5nOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQppbmRleCA2MmIzOTY5NDE5ZmMwODVkMmEzMmI4ODU1NjVjYzE1NmVhN2JmZGMxLi5l
Zjg2NDRjYWY3NmM4MzE0MzgwNTJjYmMxNTdjZDE0OTRmOTNhMGU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQpAQCAtNzAyLDYgKzcwMiwxNiBAQCAtICh2b2lkKV9zZXRBbGxvd3NNZXRhUmVmcmVz
aDooQk9PTClhbGxvd3NNZXRhUmVmcmVzaAogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
Ky0gKEJPT0wpX2NsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHkKK3sKKyAg
ICByZXR1cm4gX3BhZ2VDb25maWd1cmF0aW9uLT5jbGllbnROYXZpZ2F0aW9uc1J1bkF0Rm9yZWdy
b3VuZFByaW9yaXR5KCk7Cit9CisKKy0gKHZvaWQpX3NldENsaWVudE5hdmlnYXRpb25zUnVuQXRG
b3JlZ3JvdW5kUHJpb3JpdHk6KEJPT0wpY2xpZW50TmF2aWdhdGlvbnNSdW5BdEZvcmVncm91bmRQ
cmlvcml0eQoreworICAgIF9wYWdlQ29uZmlndXJhdGlvbi0+c2V0Q2xpZW50TmF2aWdhdGlvbnNS
dW5BdEZvcmVncm91bmRQcmlvcml0eShjbGllbnROYXZpZ2F0aW9uc1J1bkF0Rm9yZWdyb3VuZFBy
aW9yaXR5KTsKK30KKwogLSAoQk9PTClfYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5CiB7
CiAgICAgcmV0dXJuIF9wYWdlQ29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFBy
aW9yaXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IGE4OWM4ZWIw
YzFhMzkwMGJlNzAzNGE2ZmExMWY2NDE3NzFjODMyODYuLmZmZjVkZGE1ZTRjYjEwZjI0ZWFjYjFh
MmYxOTZiNGIzMTc3N2Q4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBA
IC04Niw2ICs4Niw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tXZWJWaWV3Q2F0
ZWdvcnkpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldENPUlNEaXNh
YmxpbmdQYXR0ZXJuczopIE5TQXJyYXk8TlNTdHJpbmcgKj4gKl9jb3JzRGlzYWJsaW5nUGF0dGVy
bnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IAogI2lmIFRBUkdFVF9PU19JUEhPTkUKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dENsaWVudE5hdmlnYXRpb25zUnVuQXRGb3JlZ3JvdW5kUHJpb3JpdHk6KSBCT09MIF9jbGllbnRO
YXZpZ2F0aW9uc1J1bkF0Rm9yZWdyb3VuZFByaW9yaXR5IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdL
X0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1J1bnNB
dEZvcmVncm91bmRQcmlvcml0eTopIEJPT0wgX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0
eSBXS19BUElfQVZBSUxBQkxFKGlvcyg5XzApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOikg
Qk9PTCBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgV0tf
QVBJX0FWQUlMQUJMRShpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbjopIEJPT0wgX2FsbG93
c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gIFdLX0FQSV9BVkFJTEFCTEUoaW9z
KDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9u
U3RhdGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRl
VHJhY2tlci5oCmluZGV4IDk0OTM3YjAwMTk0NjI1MzYyZjY0NGNhNzcwNTA4ZDBkYWE2NzQzMWMu
LmVjNGE3MzRhY2U4ZTFkYTBhMzhjMWIwNzQwNzM3ZTZjMjU1ZTM3OGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIuaApAQCAtMzQsNiAr
MzQsNyBAQAogCiBPQkpDX0NMQVNTIEJLU0FwcGxpY2F0aW9uU3RhdGVNb25pdG9yOwogT0JKQ19D
TEFTUyBVSVZpZXc7CitPQkpDX0NMQVNTIFVJV2luZG93OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IApAQCAtNjQsNiArNjUsMTQgQEAgcHJpdmF0ZToKICAgICBpZCBtX3dpbGxFbnRlckZvcmVncm91
bmRPYnNlcnZlcjsKIH07CiAKK2VudW0gY2xhc3MgQXBwbGljYXRpb25UeXBlIHsKKyAgICBBcHBs
aWNhdGlvbiwKKyAgICBWaWV3U2VydmljZSwKKyAgICBFeHRlbnNpb24sCit9OworCitBcHBsaWNh
dGlvblR5cGUgYXBwbGljYXRpb25UeXBlKFVJV2luZG93ICopOworCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQpp
bmRleCA2OTk1ZTY5NTQyN2U2MDgyM2Q0NDdiYTE0OTExODNlZjkwZWM1NDIyLi41ZWUyMTU0MDk3
ZGM2Y2I2ODJmODhlMjFiOWRmNTQ2NzFhZTAxMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BcHBsaWNhdGlvblN0YXRlVHJhY2tlci5tbQpAQCAtNTAsMTMgKzUwLDcgQEAg
c3RhdGljIE5TTm90aWZpY2F0aW9uTmFtZSBjb25zdCB2aWV3U2VydmljZUZvcmVncm91bmROb3Rp
ZmljYXRpb25OYW1lID0gQCJfVUlWaWUKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWVudW0gY2xh
c3MgQXBwbGljYXRpb25UeXBlIHsKLSAgICBBcHBsaWNhdGlvbiwKLSAgICBWaWV3U2VydmljZSwK
LSAgICBFeHRlbnNpb24sCi19OwotCi1zdGF0aWMgQXBwbGljYXRpb25UeXBlIGFwcGxpY2F0aW9u
VHlwZShVSVdpbmRvdyAqd2luZG93KQorQXBwbGljYXRpb25UeXBlIGFwcGxpY2F0aW9uVHlwZShV
SVdpbmRvdyAqd2luZG93KQogewogICAgIEFTU0VSVCh3aW5kb3cpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMWVlMWVkMzAxMjVmYjBlNjAzM2VmZDJmM2M1ZmY2MTcw
MzY4NzMxZC4uMjE3OWE5ZGYzMDJjMzY3ZDM3YmQxODMwYzA2ZDU1MmFiYmQyZGI0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMTk2LDYgKzE5NiwxMSBAQCBwdWJsaWM6
CiAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIHZpZXcgaXMgdmlzaWJsZS4KICAgICB2aXJ0dWFs
IGJvb2wgaXNWaWV3VmlzaWJsZSgpID0gMDsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIGFwcGxpY2F0aW9uIGlzIHZpc2libGUuCisgICAgdmly
dHVhbCBib29sIGlzQXBwbGljYXRpb25WaXNpYmxlKCkgPSAwOworI2VuZGlmCisKICAgICAvLyBS
ZXR1cm4gd2hldGhlciB0aGUgdmlldyBpcyB2aXNpYmxlLCBvciBvY2NsdWRlZCBieSBhbm90aGVy
IHdpbmRvdy4KICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZU9yT2NjbHVkZWQoKSB7IHJl
dHVybiBpc1ZpZXdWaXNpYmxlKCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggMjE0NTA3ZTQ0YjgzYTY3ZTJhYWQxMmU4YWU1YzY2ODE2M2M2NmQ2OC4u
YWM4MTg0NjE2YWMyYTA2YTNmOGU2YzVlMmM0MGJjYTIzYzU5ODNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMjU2LDYgKzEyNTYsMTAgQEAgUmVmUHRy
PEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmJiByZXF1ZXN0LCBTaG8KICAgICAgICAgbGF1bmNoUHJvY2VzcyhSZWdpc3RyYWJsZURvbWFp
biB7IHJlcXVlc3QudXJsKCkgfSwgUHJvY2Vzc0xhdW5jaFJlYXNvbjo6SW5pdGlhbFByb2Nlc3Mp
OwogCiAgICAgYXV0byBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWRS
ZXF1ZXN0TmF2aWdhdGlvbihSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCksIG1fYmFja0ZvcndhcmRM
aXN0LT5jdXJyZW50SXRlbSgpKTsKKworICAgIGlmIChzaG91bGRVc2VGb3JlZ3JvdW5kUHJpb3Jp
dHlGb3JDbGllbnROYXZpZ2F0aW9uKCkpCisgICAgICAgIG5hdmlnYXRpb24tPnNldEZvcmVncm91
bmRBY3Rpdml0eShwcm9jZXNzKCkudGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJDbGll
bnQgbmF2aWdhdGlvbiJfcykubW92ZVRvVW5pcXVlUHRyKCkpOworCiAgICAgbG9hZFJlcXVlc3RX
aXRoTmF2aWdhdGlvblNoYXJlZChtX3Byb2Nlc3MuY29weVJlZigpLCBtX3dlYlBhZ2VJRCwgbmF2
aWdhdGlvbi5nZXQoKSwgV1RGTW92ZShyZXF1ZXN0KSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSwgdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6Tm8pOwogICAgIHJl
dHVybiBuYXZpZ2F0aW9uOwogfQpAQCAtMTMyOCw2ICsxMzMyLDkgQEAgUmVmUHRyPEFQSTo6TmF2
aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkRmlsZShjb25zdCBTdHJpbmcmIGZpbGVVUkxTdHJp
bmcsIGNvbnMKIAogICAgIGF1dG8gbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVh
dGVMb2FkUmVxdWVzdE5hdmlnYXRpb24oUmVzb3VyY2VSZXF1ZXN0KGZpbGVVUkwpLCBtX2JhY2tG
b3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0oKSk7CiAKKyAgICBpZiAoc2hvdWxkVXNlRm9yZWdyb3Vu
ZFByaW9yaXR5Rm9yQ2xpZW50TmF2aWdhdGlvbigpKQorICAgICAgICBuYXZpZ2F0aW9uLT5zZXRG
b3JlZ3JvdW5kQWN0aXZpdHkocHJvY2VzcygpLnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0
eSgiQ2xpZW50IG5hdmlnYXRpb24iX3MpLm1vdmVUb1VuaXF1ZVB0cigpKTsKKwogICAgIGF1dG8g
dHJhbnNhY3Rpb24gPSBtX3BhZ2VMb2FkU3RhdGUudHJhbnNhY3Rpb24oKTsKIAogICAgIG1fcGFn
ZUxvYWRTdGF0ZS5zZXRQZW5kaW5nQVBJUmVxdWVzdCh0cmFuc2FjdGlvbiwgeyBuYXZpZ2F0aW9u
LT5uYXZpZ2F0aW9uSUQoKSwgZmlsZVVSTFN0cmluZyB9LCByZXNvdXJjZURpcmVjdG9yeVVSTCk7
CkBAIC0xMzY3LDYgKzEzNzQsMTAgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVBy
b3h5Ojpsb2FkRGF0YShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGMKICAgICAgICAg
bGF1bmNoUHJvY2Vzcyh7IH0sIFByb2Nlc3NMYXVuY2hSZWFzb246OkluaXRpYWxQcm9jZXNzKTsK
IAogICAgIGF1dG8gbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2FkRGF0
YU5hdmlnYXRpb24obWFrZVVuaXF1ZTxBUEk6OlN1YnN0aXR1dGVEYXRhPihkYXRhLnZlY3Rvcigp
LCBNSU1FVHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHVzZXJEYXRhKSk7CisKKyAgICBpZiAoc2hv
dWxkVXNlRm9yZWdyb3VuZFByaW9yaXR5Rm9yQ2xpZW50TmF2aWdhdGlvbigpKQorICAgICAgICBu
YXZpZ2F0aW9uLT5zZXRGb3JlZ3JvdW5kQWN0aXZpdHkocHJvY2VzcygpLnRocm90dGxlcigpLmZv
cmVncm91bmRBY3Rpdml0eSgiQ2xpZW50IG5hdmlnYXRpb24iX3MpLm1vdmVUb1VuaXF1ZVB0cigp
KTsKKwogICAgIGxvYWREYXRhV2l0aE5hdmlnYXRpb25TaGFyZWQobV9wcm9jZXNzLmNvcHlSZWYo
KSwgbV93ZWJQYWdlSUQsIG5hdmlnYXRpb24sIGRhdGEsIE1JTUVUeXBlLCBlbmNvZGluZywgYmFz
ZVVSTCwgdXNlckRhdGEsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6Tm8sIFdURjo6bnVs
bG9wdCwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSk7CiAgICAgcmV0dXJuIG5hdmlnYXRp
b247CiB9CkBAIC00NDMwLDYgKzQ0NDEsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lU2hhcmVkKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcAogICAg
ICAgICByZXBvcnRQYWdlTG9hZFJlc3VsdChlcnJvcik7CiAgICAgICAgIG1fcGFnZUxvYWRTdGF0
ZS5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKHRyYW5zYWN0aW9uKTsKICAgICAgICAgcGFnZUNsaWVu
dCgpLmRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JNYWluRnJhbWUoKTsKKyAgICAgICAgaWYgKG5h
dmlnYXRpb24pCisgICAgICAgICAgICBuYXZpZ2F0aW9uLT5zZXRGb3JlZ3JvdW5kQWN0aXZpdHko
bnVsbHB0cik7CiAgICAgfQogCiAgICAgZnJhbWUtPmRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsK
QEAgLTQ2NjIsNiArNDY3NSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRGaW5pc2hMb2FkRm9y
RnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IG5hdmlnCiAgICAgICAgIHJl
cG9ydFBhZ2VMb2FkUmVzdWx0KCk7CiAgICAgICAgIHBhZ2VDbGllbnQoKS5kaWRGaW5pc2hMb2Fk
Rm9yTWFpbkZyYW1lKCk7CiAKKyAgICAgICAgaWYgKG5hdmlnYXRpb24pCisgICAgICAgICAgICBu
YXZpZ2F0aW9uLT5zZXRGb3JlZ3JvdW5kQWN0aXZpdHkobnVsbHB0cik7CisKICAgICAgICAgcmVz
ZXRSZWNlbnRDcmFzaENvdW50U29vbigpOwogCiAgICAgICAgIG5vdGlmeVByb2Nlc3NQb29sVG9Q
cmV3YXJtKCk7CkBAIC00NzA5LDYgKzQ3MjUsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmFp
bExvYWRGb3JGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdAog
ICAgIGlmIChpc01haW5GcmFtZSkgewogICAgICAgICByZXBvcnRQYWdlTG9hZFJlc3VsdChlcnJv
cik7CiAgICAgICAgIHBhZ2VDbGllbnQoKS5kaWRGYWlsTG9hZEZvck1haW5GcmFtZSgpOworICAg
ICAgICBpZiAobmF2aWdhdGlvbikKKyAgICAgICAgICAgIG5hdmlnYXRpb24tPnNldEZvcmVncm91
bmRBY3Rpdml0eShudWxscHRyKTsKICAgICB9CiB9CiAKQEAgLTk4MTQsNiArOTgzMiwxMyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0T3ZlcnJpZGRlbk1lZGlhVHlwZShjb25zdCBTdHJpbmcmIG1l
ZGlhVHlwZSkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRPdmVycmlkZGVuTWVkaWFU
eXBlKG1lZGlhVHlwZSkpOwogfQogCisjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCitib29sIFdl
YlBhZ2VQcm94eTo6c2hvdWxkVXNlRm9yZWdyb3VuZFByaW9yaXR5Rm9yQ2xpZW50TmF2aWdhdGlv
bigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFn
ZVByb3h5OjpzZXRPcmllbnRhdGlvbkZvck1lZGlhQ2FwdHVyZSh1aW50NjRfdCBvcmllbnRhdGlv
bikKIHsKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDgwNzEwNjJhM2I5Yzg0ZTg5OWIy
NmY3NzU3MWEyZjgwNDBmM2MyYS4uOTUwYzBkNTNkYWUyOWE3Njk1OGY4ZDEwMmYyZjllNDZlZGZl
NzE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE2OTIsNiAr
MTY5Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBub3RpZnlQcm9jZXNzUG9vbFRvUHJld2FybSgp
OwogICAgIGJvb2wgc2hvdWxkVXNlQmFja0ZvcndhcmRDYWNoZSgpIGNvbnN0OwogCisgICAgYm9v
bCBzaG91bGRVc2VGb3JlZ3JvdW5kUHJpb3JpdHlGb3JDbGllbnROYXZpZ2F0aW9uKCkgY29uc3Q7
CisKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBnb1RvQmFja0ZvcndhcmRJdGVtKFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW0mLCBXZWJDb3JlOjpGcmFtZUxvYWRUeXBlKTsKIAogICAgIHZvaWQg
dXBkYXRlQWN0aXZpdHlTdGF0ZShPcHRpb25TZXQ8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6Rmxh
Zz4gZmxhZ3NUb1VwZGF0ZSA9IFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OmFsbEZsYWdzKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRl
eCA1NmFmNTg4NDQxOGJlZjZiM2YwODA2YjkwMGFmMjAwYzZjNmI4Njg5Li44NGJiY2Y4MGZkMTFh
ZWJlNzBjYTc5NTU5YTYwYWY3MzVlNTkxNGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtNjMsNiArNjMsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZpZXdG
b2N1c2VkKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZpZXdWaXNpYmxlKCkgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBpc0FwcGxpY2F0aW9uVmlzaWJsZSgpIG92ZXJyaWRlOwogICAgIGJvb2wgaXNWaWV3
SW5XaW5kb3coKSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1Zpc2libGVPck9jY2x1ZGVkKCkg
b3ZlcnJpZGU7CiAgICAgYm9vbCBpc1Zpc3VhbGx5SWRsZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGNkZjNl
OTVmMDU5NmI3MWVkMDUwOWRlNmU0MGRlZDQ4MjQyYWMzZWMuLjYzMTA3ODYxZDM0NWNhOWYyNDc2
ZTY1ZWE3OTdjY2M0N2I0Yzc1MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTI5LDYgKzI5LDggQEAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogCiAjaW1wb3J0ICJBUElEYXRhLmgiCisjaW1wb3J0ICJBcHBsaWNhdGlvblN0
YXRlVHJhY2tlci5oIgorI2ltcG9ydCAiQXNzZXJ0aW9uU2VydmljZXNTUEkuaCIKICNpbXBvcnQg
IkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQgIkRvd25sb2FkUHJveHkuaCIKICNpbXBvcnQgIkRy
YXdpbmdBcmVhUHJveHkuaCIKQEAgLTY4LDkgKzcwLDE0IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Rl
eHRJbmRpY2F0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgogI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+
CiAKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShh
c3NlcnRpb24sIG1fd2ViVmlldy5nZXQoKS0+X3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkp
CiAKK0BpbnRlcmZhY2UgVUlXaW5kb3cgKCkKKy0gKEJPT0wpX2lzSG9zdGVkSW5Bbm90aGVyUHJv
Y2VzczsKK0BlbmQKKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApAQCAtMTQxLDYgKzE0OCwzNCBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdWaXNp
YmxlKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgUGFnZUNsaWVudEltcGw6OmlzQXBw
bGljYXRpb25WaXNpYmxlKCkKK3sKKyAgICBzd2l0Y2ggKGFwcGxpY2F0aW9uVHlwZShbbV93ZWJW
aWV3IHdpbmRvd10pKSB7CisgICAgY2FzZSBBcHBsaWNhdGlvblR5cGU6OkFwcGxpY2F0aW9uOgor
ICAgICAgICByZXR1cm4gW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBhcHBsaWNh
dGlvblN0YXRlXSAhPSBVSUFwcGxpY2F0aW9uU3RhdGVCYWNrZ3JvdW5kOworICAgIGNhc2UgQXBw
bGljYXRpb25UeXBlOjpWaWV3U2VydmljZToKKyAgICBjYXNlIEFwcGxpY2F0aW9uVHlwZTo6RXh0
ZW5zaW9uOgorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBVSVZpZXdDb250cm9sbGVyICpz
ZXJ2aWNlVmlld0NvbnRyb2xsZXIgPSBuaWw7CisgICAgZm9yIChVSVZpZXcgKnZpZXcgPSBtX3dl
YlZpZXcuZ2V0KCkuZ2V0KCk7IHZpZXc7IHZpZXcgPSB2aWV3LnN1cGVydmlldykgeworICAgICAg
ICBVSVZpZXdDb250cm9sbGVyICp2aWV3Q29udHJvbGxlciA9IFtVSVZpZXdDb250cm9sbGVyIHZp
ZXdDb250cm9sbGVyRm9yVmlldzp2aWV3XTsKKyAgICAgICAgaWYgKHZpZXdDb250cm9sbGVyLl9o
b3N0UHJvY2Vzc0lkZW50aWZpZXIpIHsKKyAgICAgICAgICAgIHNlcnZpY2VWaWV3Q29udHJvbGxl
ciA9IHZpZXdDb250cm9sbGVyOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
CisgICAgQVNTRVJUKHNlcnZpY2VWaWV3Q29udHJvbGxlcik7CisgICAgcGlkX3QgYXBwbGljYXRp
b25QSUQgPSBzZXJ2aWNlVmlld0NvbnRyb2xsZXIuX2hvc3RQcm9jZXNzSWRlbnRpZmllcjsKKyAg
ICBBU1NFUlQoYXBwbGljYXRpb25QSUQpOworCisgICAgYXV0byBhcHBsaWNhdGlvblN0YXRlTW9u
aXRvciA9IGFkb3B0TlMoW1tCS1NBcHBsaWNhdGlvblN0YXRlTW9uaXRvciBhbGxvY10gaW5pdF0p
OworICAgIGF1dG8gYXBwbGljYXRpb25TdGF0ZSA9IFthcHBsaWNhdGlvblN0YXRlTW9uaXRvciBt
b3N0RWxldmF0ZWRBcHBsaWNhdGlvblN0YXRlRm9yUElEOmFwcGxpY2F0aW9uUElEXTsKKyAgICBb
YXBwbGljYXRpb25TdGF0ZU1vbml0b3IgaW52YWxpZGF0ZV07CisgICAgcmV0dXJuIGFwcGxpY2F0
aW9uU3RhdGUgIT0gQktTQXBwbGljYXRpb25TdGF0ZUJhY2tncm91bmRSdW5uaW5nICYmIGFwcGxp
Y2F0aW9uU3RhdGUgIT0gQktTQXBwbGljYXRpb25TdGF0ZUJhY2tncm91bmRUYXNrU3VzcGVuZGVk
OworfQorCiBib29sIFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdJbldpbmRvdygpCiB7CiAgICAgLy8g
RklYTUU6IGluIFdlYktpdFRlc3RSdW5uZXIsIG1fd2ViVmlldyBpcyBuaWwsIHNvIGNoZWNrIHRo
ZSBjb250ZW50IHZpZXcgaW5zdGVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDQzMDllYjlkMjE5ZGNjOGE5NDYzNTFlOTQ3MjRkYWIz
YmM0NWE1OTEuLmRkNzk2NWFiNzY5YzM3ZGU4MDA0M2U2OTI3MTk3YTljZmUwZjBkYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMjks
NiArMjksNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKICNpbXBvcnQgIkFQSU5hdmln
YXRpb25BY3Rpb24uaCIKKyNpbXBvcnQgIkFQSVBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW1wb3J0
ICJBUElVSUNsaWVudC5oIgogI2ltcG9ydCAiQVBJV2Vic2l0ZVBvbGljaWVzLmgiCiAjaW1wb3J0
ICJDb25uZWN0aW9uLmgiCkBAIC0xNTAwLDYgKzE1MDEsMTkgQEAgV2ViQ29udGVudE1vZGUgV2Vi
UGFnZVByb3h5OjplZmZlY3RpdmVDb250ZW50TW9kZUFmdGVyQWRqdXN0aW5nUG9saWNpZXMoQVBJ
OjpXZWIKICAgICByZXR1cm4gV2ViQ29udGVudE1vZGU6OkRlc2t0b3A7CiB9CiAKK2Jvb2wgV2Vi
UGFnZVByb3h5OjpzaG91bGRVc2VGb3JlZ3JvdW5kUHJpb3JpdHlGb3JDbGllbnROYXZpZ2F0aW9u
KCkgY29uc3QKK3sKKyAgICAvLyBUaGUgY2xpZW50IG1heSByZXF1ZXN0IHRoYXQgd2UgZG8gY2xp
ZW50IG5hdmlnYXRpb25zIGF0IGZvcmVncm91bmQgcHJpb3JpdHksIGV2ZW4gaWYgdGhlCisgICAg
Ly8gdmlldyBpcyBub3QgdmlzaWJsZSwgYXMgbG9uZyBhcyB0aGUgYXBwbGljYXRpb24gaXMgZm9y
ZWdyb3VuZC4KKyAgICBpZiAoIWNvbmZpZ3VyYXRpb24oKS5jbGllbnROYXZpZ2F0aW9uc1J1bkF0
Rm9yZWdyb3VuZFByaW9yaXR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChp
c1ZpZXdWaXNpYmxlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBwYWdl
Q2xpZW50KCkuaXNBcHBsaWNhdGlvblZpc2libGUoKTsKK30KKwogI2lmIFBMQVRGT1JNKElPUykK
IHZvaWQgV2ViUGFnZVByb3h5OjpncmFudEFjY2Vzc1RvQXNzZXRTZXJ2aWNlcygpCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>