<?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>209982</bug_id>
          
          <creation_ts>2020-04-03 12:42:15 -0700</creation_ts>
          <short_desc>Add a visual debug indicator for locating and identifying all kinds of WebViews</short_desc>
          <delta_ts>2020-04-03 13:55:45 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1637492</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-04-03 12:42:15 -0700</bug_when>
    <thetext>Add a visual debug indicator for locating and identifying all kinds of WebViews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637493</commentid>
    <comment_count>1</comment_count>
      <attachid>395403</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-04-03 12:42:44 -0700</bug_when>
    <thetext>Created attachment 395403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637494</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-04-03 12:42:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/60339870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637495</commentid>
    <comment_count>3</comment_count>
      <attachid>395404</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-04-03 12:46:46 -0700</bug_when>
    <thetext>Created attachment 395404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637497</commentid>
    <comment_count>4</comment_count>
      <attachid>395405</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-04-03 12:49:22 -0700</bug_when>
    <thetext>Created attachment 395405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637518</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-03 13:55:44 -0700</bug_when>
    <thetext>Committed r259512: &lt;https://trac.webkit.org/changeset/259512&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395405.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395403</attachid>
            <date>2020-04-03 12:42:44 -0700</date>
            <delta_ts>2020-04-03 12:46:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209982-20200403124243.patch</filename>
            <type>text/plain</type>
            <size>22746</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE2ZGFjMDkyZWMzNThk
NDM1OTZkZTA0OWRkYjQ4MmU1ZGI4Y2QxOS4uM2UzNjIxZGRlNzUyNDc4YmFmMmIwYWI4MTQyYTcx
YzcyMmJjOGQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA0LTAzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHZpc3Vh
bCBkZWJ1ZyBpbmRpY2F0b3IgZm9yIGxvY2F0aW5nIGFuZCBpZGVudGlmeWluZyBhbGwga2luZHMg
b2YgV2ViVmlld3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwOTk4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMzk4NzA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZGVidWcgb3Zlcmxh
eSB0aGF0IGNhbiBiZSBlbmFibGVkIHdpdGggYSBzaW5nbGUgc3dpdGNoIGZvciBhbGwKKyAgICAg
ICAgKldlYlZpZXcgdmFyaWFudHMsIHdoaWNoIGluZGljYXRlcyB0aGUgdHlwZSBvZiAqV2ViVmll
dyBpbiBhbiB1bm1pc3NhYmxlLAorICAgICAgICBnYXVkeSBmYXNoaW9uLgorCisgICAgICAgIFRo
aXMgaXMgaW50ZW5kZWQgdG8gYWRkcmVzcyBzb21lIHNob3J0Y29taW5ncyBvZiBleGlzdGluZyBt
ZWNoYW5pc21zCisgICAgICAgIHRoYXQgcGVvcGxlIHVzZSB0byBhbnN3ZXIgdGhlICJ3aGF0IGtp
bmQgb2Ygd2ViIHZpZXcgaXMgWCBhcHAgdXNpbmc/IgorICAgICAgICBxdWVzdGlvbi4gU3BlY2lm
aWNhbGx5OgorCisgICAgICAgIC0gaXQgd2lsbCBhcHBlYXIgZXZlbiBpZiB0aGUgV2ViIENvbnRl
bnQgcHJvY2VzcyBkb2VzIG5vdCBsYXVuY2ggb3IgY3Jhc2hlcworICAgICAgICAtIGl0IHdpbGwg
YXBwZWFyIGV2ZW4gaWYgYSBjdXN0b20gY29udGVudCB2aWV3IGlzIGJlaW5nIHVzZWQgKGUuZy4g
UERGKQorICAgICAgICAtIGl0IHdpbGwgYXBwZWFyIGV2ZW4gaWYgY29tcG9zaXRpbmcgaXMgbm90
IGVuYWJsZWQgKGUuZy4gaW4gYSBsZWdhY3kgV2ViVmlldyBvbiBtYWNPUykKKyAgICAgICAgLSBp
dCBleHBsaWNpdGx5IHN0YXRlcyBpbiB3cml0dGVuIHRleHQgdGhlIGNsYXNzIG5hbWUgb2YgdGhl
IHdlYiB2aWV3LCB3aXRoIG5vIG5lZWQgZm9yIGludGVycHJldGluZyBjb2xvcnMKKyAgICAgICAg
LSBpdCBjb3ZlcnMgdGhlIGVudGlyZSB3ZWIgdmlldywgc28gY2Fubm90IGJlIGFjY2lkZW50YWxs
eSBvYnNjdXJlZAorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBkZWJ1Z2dpbmcgVUkuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXkuaDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9jb2NvYS9X
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tOiBBZGRlZC4KKyAgICAgICAgKCtb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBzaG91bGRJZGVudGlmeVdlYlZpZXdz
XSk6CisgICAgICAgIFVzZSBhIHNpbmdsZSBkZWZhdWx0IGFjcm9zcyBhbGwga2luZHMgb2YgV2Vi
Vmlld3MsIGluc3RlYWQgb2YgdXNpbmcKKyAgICAgICAgV2ViUHJlZmVyZW5jZXMgYW5kIGZyaWVu
ZHMsIGluIG9yZGVyIHRvIG1ha2UgaXQgZXh0cmVtZWx5IGVhc3kgdG8gdHVybiBvbiwKKyAgICAg
ICAgYW5kIGJlY2F1c2UgaXQncyBpbnRlbmRlZCB0byBiZSBzZXQgZ2xvYmFsbHksIGFuZCBpcyBu
b3QgdXNlZnVsIG9uIGEKKyAgICAgICAgcGVyLXZpZXcgYmFzaXMuCisKKyAgICAgICAgKCtbV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVk
OmtpbmQ6ZGVwcmVjYXRlZDpdKToKKyAgICAgICAgKC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheSBpbml0V2l0aFdlYlZpZXc6a2luZDpkZXByZWNhdGVkOl0pOgorICAgICAgICAo
LVtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGRlYWxsb2NdKToKKyAgICAgICAg
KC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBvYnNlcnZlVmFsdWVGb3JLZXlQ
YXRoOm9mT2JqZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5IGRyYXdMYXllcjppbkNvbnRleHQ6XSk6CisgICAgICAgIERy
YXcgYSB3YXNoIGFuZCB0aGUgY2xhc3MgbmFtZSBvdmVyIHRoZSBlbnRpcmUgZmFjZSBvZiB0aGUg
d2ViIHZpZXcuCisgICAgICAgIFRoZSB3YXNoIGlzIGJsdWUgZm9yIFdLV2ViVmlldyBhbmQgcmVk
IGZvciBhbGwgb2YgdGhlIGRlcHJlY2F0ZWQgd2ViIHZpZXdzIChXS1ZpZXcsIFdlYlZpZXcsIFVJ
V2ViVmlldykuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlIGNhbiBiZSBy
ZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2QyMTQzMDVmZWZmOWRiYTI1MmFjOGUz
ZmU0ZDFkNmYzNTJkODVhZC4uYjE4NTY1ZDQzNTU3NzlkNmEyZTA0OGQ3ZDE1NDRjMmQwMDhhNDY4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNC0wMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSB2aXN1YWwgZGVidWcgaW5k
aWNhdG9yIGZvciBsb2NhdGluZyBhbmQgaWRlbnRpZnlpbmcgYWxsIGtpbmRzIG9mIFdlYlZpZXdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5ODIK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMzM5ODcwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1b
V0tWaWV3IGluaXRXaXRoRnJhbWU6cHJvY2Vzc1Bvb2w6Y29uZmlndXJhdGlvbjpdKToKKyAgICAg
ICAgQWRvcHQgaW4gV0tXZWJWaWV3IGFuZCBXS1ZpZXcuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20g
TUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBiOTdiNTU0YTgwNDY1ODQ1Y2NmY2NiZjViYTY4MjIwNGMxMjM1
MmI3Li43OTRhMmY1YzRmOTExNzdlNjlmMjVhZjNhNDAxN2E3YzgxNTY5YTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDQtMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgdmlzdWFsIGRl
YnVnIGluZGljYXRvciBmb3IgbG9jYXRpbmcgYW5kIGlkZW50aWZ5aW5nIGFsbCBraW5kcyBvZiBX
ZWJWaWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5OTgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDMzOTg3MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKyAgICAgICAgQWRvcHQgZm9yIFdlYlZpZXcgb24gbWFjT1MgKFVJV2ViVmll
dyB3aWxsIGluc3RhbGwgaXQgaXRzZWxmIG9uIGlPUykuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXdQcml2YXRlLmg6CisgICAgICAgIEV4cG9zZSBfaW5zdGFsbFZpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheUZvclZpZXdJZk5lZWRlZDpraW5kOiBmb3IgVUlXZWJWaWV3J3MgdXNlLgorICAg
ICAgICBJdCBpcyBzbGlnaHRseSB1bmZvcnR1bmF0ZSB0byBleHBvc2UgU1BJIHRoYXQgdXNlcyBV
SVZpZXcgZnJvbSBhIGZyYW1ld29yaworICAgICAgICB1bmRlcm5lYXRoIFVJS2l0LCBidXQgdGhl
cmUgaXMgbm8gb3RoZXIgc2luZ2xlIHBsYWNlIHdoZXJlIHRoaXMgY29kZSBjYW4gbGl2ZQorICAg
ICAgICBhbmQgbm90IGJlIGEgbWlub3IgbGF5ZXJpbmcgcHJvYmxlbS4gU2luY2UgaXQncyBkZWJ1
ZyBVSSwgaXQgc2VlbXMgcGFzc2FibGUuCisKIDIwMjAtMDMtMzEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRGF0YWxpc3Qgb3B0aW9uJ3MgbGFiZWwg
bm90IHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGExZmJmOTUyODc4MDE1YTM2N2Zm
ZTMyZDRmMGM5OTYxZmFhZDUzN2EuLmZmYzYxYjQ4NjU1MjBkZmE3N2VkYTRiYTRkMDk3NjJkNjJl
ZWIzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNTc4LDYgKzU3OCw4IEBAIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQogCiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAK
IAordGVzdGluZy9jb2NvYS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tCisK
IC8vIERlcml2ZWQgU291cmNlcwogCiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQ0Mzc5MThjYWJhNzMzZmZiNjNmM2EwN2I0OGVhMGY0NDUzY2VhNzguLjMxY2FmMjVk
MzE2OWYzYmYwYWU1M2QyZDc5ZTE3ZjkzNzRmMWQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Myw2ICs3NTMsNyBAQAog
CQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U4QjFDMUVDQjFDMDA2
MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggKi87IH07CiAJCTJENzBCQTEzMTgwNzREREYwMDAx
OTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3MEJBMTIxODA3NERERjAwMDE5MDhBIC8qIFBsYXRmb3Jt
Q0FMYXllckNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMkQ3NkJCODIxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3NkJCODAxOTQ1
NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEN0RBMEYyMjQzNUVCMTkwMEYwNDhEMSAvKiBX
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEN0VEMEFCMUJBRTk5MTcwMDQzQjNFNSAvKiBU
aW1lckV2ZW50QmFzZWRNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDdFRDBBOTFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oICovOyB9OwogCQkyRDgxRTFDRjIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEODFFMUNEMjFBNzhDQzIwMEEzMkNGNCAvKiBJbnNlcnRFZGl0YWJsZUltYWdlQ29tbWFu
ZC5oICovOyB9OwogCQkyRDgyODdGNzE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDgyODdG
NTE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTY4NjMsNiArNjg2NCw4IEBACiAJCTJE
NzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODAxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BP
YnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW5Mb29wT2JzZXJ2
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODMxOTQ1NkY4MTAwQ0ZE
MjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSdW5Mb29wT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9u
T3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
N0RBMEYxMjQzNUVCMTgwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVy
bGF5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVmlld1Zp
c3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQ3RUQwQTkxQkFFOTkxNzAwNDNCM0U1IC8qIFRpbWVyRXZlbnRCYXNlZE1vY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGltZXJFdmVudEJhc2VkTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDgxRTFDQjIxQTc4Q0MxMDBBMzJDRjQgLyogSW5z
ZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDgxRTFDRDIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0RWRp
dGFibGVJbWFnZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyOTY1
LDYgKzIyOTY4LDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUExNzYzRjNEMUUyMDUyMzQwMDFE
NThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLywKIAkJCQlBMTc2M0YzQzFFMjA1MjM0
MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tICovLAorCQkJCTJEN0RBMEVGMjQz
NUVCMTcwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggKi8s
CisJCQkJMkQ3REEwRjEyNDM1RUIxODAwRjA0OEQxIC8qIFdlYlZpZXdWaXN1YWxJZGVudGlmaWNh
dGlvbk92ZXJsYXkubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTMzNDQ3LDYgKzMzNDUyLDcgQEAKIAkJCQkzMURFQTQ1NjFCMzlG
NEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY1ODBGQTMxNDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVkQmFja2luZ0xheWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkzRjQyQjMxRDE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDdEQTBGMjI0MzVF
QjE5MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjEyMTcxRjYxNkE4Q0YwQjAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjFBODAzMTNFQ0U1REYwMEJCNzA2NCAvKiBXZWJWVFRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxMEI2OTgwMTQwQzE3NDAwMEJDMUMyNiAvKiBX
ZWJWVFRUb2tlbi5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zlcmxh
eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmVkMDMwNTU3MzU5NmRmNzY1NjVmMzk1YmJiMGUwOWJmMzgwMjU3ODMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdW
aXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoQVBQS0lUKQorI2luY2x1ZGUgPEFwcEtpdC9BcHBL
aXQuaD4KKyNlbHNlCisjaW5jbHVkZSA8VUlLaXQvVUlLaXQuaD4KKyNlbmRpZgorCisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybVZpZXcuaD4KKworV0VCQ09SRV9FWFBPUlQKK0BpbnRlcmZhY2Ug
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSA6IE5TT2JqZWN0CisKKysgKHZvaWQp
aW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDooUGxhdGZvcm1WaWV3ICopdmlldyBraW5kOihOU1N0
cmluZyAqKWtpbmQgZGVwcmVjYXRlZDooQk9PTClpc0RlcHJlY2F0ZWQ7CisKK0BlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZp
Y2F0aW9uT3ZlcmxheS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvY29jb2EvV2ViVmlld1Zp
c3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzk1MjMwZGM5YTBjNWZm
MGViZTA5MDUxN2ZlNTZjZWY0ZDJhNDU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9jb2NvYS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tCkBA
IC0wLDAgKzEsMTcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0
ICJXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmgiCisKKyNpbXBvcnQgIkNvbG9y
LmgiCisjaW1wb3J0ICJXZWJDb3JlQ0FMYXllckV4dHJhcy5oIgorI2ltcG9ydCA8d3RmL1dlYWtP
YmpDUHRyLmg+CisKKyNpbXBvcnQgPHBhbC9pb3MvVUlLaXRTb2Z0TGluay5oPgorCitzdGF0aWMg
dm9pZCAqYm91bmRzT2JzZXJ2YXRpb25Db250ZXh0ID0gJmJvdW5kc09ic2VydmF0aW9uQ29udGV4
dDsKKworQGludGVyZmFjZSBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5ICgpIDxD
QUxheWVyRGVsZWdhdGU+CitAZW5kCisKK2NvbnN0IHZvaWQqIGNvbnN0IHdlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXlLZXkgPSAmd2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zl
cmxheUtleTsKKworQGltcGxlbWVudGF0aW9uIFdlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92
ZXJsYXkgeworICAgIFJldGFpblB0cjxQbGF0Zm9ybVZpZXc+IF92aWV3OworCisgICAgUmV0YWlu
UHRyPENBTGF5ZXI+IF9sYXllcjsKKyAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IF9raW5kOworfQor
CisrIChCT09MKXNob3VsZElkZW50aWZ5V2ViVmlld3MKK3sKKyAgICBzdGF0aWMgT3B0aW9uYWw8
Qk9PTD4gc2hvdWxkSWRlbnRpZnlXZWJWaWV3czsKKyAgICBpZiAoIXNob3VsZElkZW50aWZ5V2Vi
Vmlld3MpCisgICAgICAgIHNob3VsZElkZW50aWZ5V2ViVmlld3MgPSBbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5OkAiV2ViS2l0RGVidWdJZGVudGlmeVdl
YlZpZXdzIl07CisgICAgcmV0dXJuICpzaG91bGRJZGVudGlmeVdlYlZpZXdzOworfQorCisrICh2
b2lkKWluc3RhbGxGb3JXZWJWaWV3SWZOZWVkZWQ6KFBsYXRmb3JtVmlldyAqKXZpZXcga2luZDoo
TlNTdHJpbmcgKilraW5kIGRlcHJlY2F0ZWQ6KEJPT0wpaXNEZXByZWNhdGVkCit7CisgICAgaWYg
KCFbc2VsZiBzaG91bGRJZGVudGlmeVdlYlZpZXdzXSkKKyAgICAgICAgcmV0dXJuOworICAgIGF1
dG8gb3ZlcmxheSA9IGFkb3B0TlMoW1tXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5
IGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6dmlldyBraW5kOmtpbmQgZGVwcmVjYXRlZDppc0RlcHJl
Y2F0ZWRdKTsKKyAgICBvYmpjX3NldEFzc29jaWF0ZWRPYmplY3Qoc2VsZiwgd2ViVmlld1Zpc3Vh
bElkZW50aWZpY2F0aW9uT3ZlcmxheUtleSwgb3ZlcmxheS5nZXQoKSwgT0JKQ19BU1NPQ0lBVElP
Tl9SRVRBSU5fTk9OQVRPTUlDKTsKK30KKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoV2ViVmll
dzooUGxhdGZvcm1WaWV3ICopd2ViVmlldyBraW5kOihOU1N0cmluZyAqKWtpbmQgZGVwcmVjYXRl
ZDooQk9PTClpc0RlcHJlY2F0ZWQKK3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIGlm
ICghc2VsZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9raW5kID0ga2luZDsKKworI2lm
IFVTRShBUFBLSVQpCisgICAgX3ZpZXcgPSBhZG9wdE5TKFtbTlNWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOndlYlZpZXcuYm91bmRzXSk7CisgICAgW192aWV3IHNldFdhbnRzTGF5ZXI6WUVTXTsK
KyAgICBbX3ZpZXcgc2V0QXV0b3Jlc2l6aW5nTWFzazpOU1ZpZXdXaWR0aFNpemFibGUgfCBOU1Zp
ZXdIZWlnaHRTaXphYmxlXTsKKyNlbHNlCisgICAgX3ZpZXcgPSBhZG9wdE5TKFtQQUw6OmFsbG9j
VUlWaWV3SW5zdGFuY2UoKSBpbml0V2l0aEZyYW1lOndlYlZpZXcuYm91bmRzXSk7CisgICAgW192
aWV3IHNldFVzZXJJbnRlcmFjdGlvbkVuYWJsZWQ6Tk9dOworICAgIFtfdmlldyBzZXRBdXRvcmVz
aXppbmdNYXNrOlVJVmlld0F1dG9yZXNpemluZ0ZsZXhpYmxlV2lkdGggfCBVSVZpZXdBdXRvcmVz
aXppbmdGbGV4aWJsZUhlaWdodF07CisjZW5kaWYKKyAgICBbd2ViVmlldyBhZGRTdWJ2aWV3Ol92
aWV3LmdldCgpXTsKKworI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorICAgIF9raW5kID0gW19r
aW5kIHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOkAiIChtYWNDYXRhbHlzdCkiXTsKKyNlbmRpZgor
CisgICAgX2xheWVyID0gYWRvcHROUyhbW0NBVGlsZWRMYXllciBhbGxvY10gaW5pdF0pOworICAg
IFtfbGF5ZXIgc2V0TmFtZTpAIldlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkiXTsK
KyAgICBbX2xheWVyIHNldEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgW192aWV3IGJvdW5kc10uc2l6
ZS53aWR0aCwgW192aWV3IGJvdW5kc10uc2l6ZS5oZWlnaHQpXTsKKyAgICBXZWJDb3JlOjpDb2xv
ciB2aWV3Q29sb3IgPSBpc0RlcHJlY2F0ZWQgPyBXZWJDb3JlOjpDb2xvcigyNTUsIDAsIDAsIDMy
KSA6IFdlYkNvcmU6OkNvbG9yKDAsIDAsIDI1NSwgMzIpOworICAgIFtfbGF5ZXIgc2V0QmFja2dy
b3VuZENvbG9yOmNhY2hlZENHQ29sb3Iodmlld0NvbG9yKV07CisgICAgW19sYXllciBzZXRaUG9z
aXRpb246OTk5XTsKKyAgICBbX2xheWVyIHNldERlbGVnYXRlOnNlbGZdOworICAgIFtfbGF5ZXIg
d2ViX2Rpc2FibGVBbGxBY3Rpb25zXTsKKyAgICBbW192aWV3IGxheWVyXSBhZGRTdWJsYXllcjpf
bGF5ZXIuZ2V0KCldOworCisgICAgW1tfdmlldyBsYXllcl0gYWRkT2JzZXJ2ZXI6c2VsZiBmb3JL
ZXlQYXRoOkAiYm91bmRzIiBvcHRpb25zOjAgY29udGV4dDpib3VuZHNPYnNlcnZhdGlvbkNvbnRl
eHRdOworCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpZGVhbGxvYworeworICAgIFtb
X3ZpZXcgbGF5ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAImJvdW5kcyIgY29u
dGV4dDpib3VuZHNPYnNlcnZhdGlvbkNvbnRleHRdOworCisgICAgW3N1cGVyIGRlYWxsb2NdOwor
fQorCistICh2b2lkKW9ic2VydmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5nICopa2V5UGF0aCBv
Zk9iamVjdDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0aW9uYXJ5PE5TS2V5VmFsdWVDaGFuZ2VL
ZXksIGlkPiAqKWNoYW5nZSBjb250ZXh0Oih2b2lkICopY29udGV4dAoreworICAgIGlmIChjb250
ZXh0ID09IGJvdW5kc09ic2VydmF0aW9uQ29udGV4dCkgeworICAgICAgICBbX2xheWVyIHNldEZy
YW1lOkNHUmVjdE1ha2UoMCwgMCwgW192aWV3IGJvdW5kc10uc2l6ZS53aWR0aCwgW192aWV3IGJv
dW5kc10uc2l6ZS5oZWlnaHQpXTsKKyAgICAgICAgW19sYXllciBzZXROZWVkc0Rpc3BsYXldOwor
ICAgIH0KK30KKworc3RhdGljIENURm9udFJlZiBpZGVudGlmaWNhdGlvbkZvbnQoKQoreworICAg
IGF1dG8gbWF0cml4ID0gQ0dBZmZpbmVUcmFuc2Zvcm1JZGVudGl0eTsKKyAgICByZXR1cm4gKENU
Rm9udFJlZilDRkF1dG9yZWxlYXNlKENURm9udENyZWF0ZVdpdGhOYW1lKENGU1RSKCJIZWx2ZXRp
Y2EiKSwgMjAsICZtYXRyaXgpKTsKK30KKworY29uc3RleHByIENHRmxvYXQgaG9yaXpvbnRhbE1h
cmdpbiA9IDE1OworY29uc3RleHByIENHRmxvYXQgdmVydGljYWxNYXJnaW4gPSA1OworCitzdGF0
aWMgdm9pZCBkcmF3UGF0dGVybih2b2lkICpvdmVybGF5UHRyLCBDR0NvbnRleHRSZWYgY3R4KQor
eworICAgIFdlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgKm92ZXJsYXkgPSAoV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSAqKW92ZXJsYXlQdHI7CisKKyAgICBhdXRv
IGF0dHJpYnV0ZXMgPSBAeworICAgICAgICAoaWQpa0NURm9udEF0dHJpYnV0ZU5hbWUgOiAoaWQp
aWRlbnRpZmljYXRpb25Gb250KCksCisgICAgICAgIChpZClrQ1RGb3JlZ3JvdW5kQ29sb3JGcm9t
Q29udGV4dEF0dHJpYnV0ZU5hbWUgOiBAWUVTCisgICAgfTsKKyAgICBhdXRvIGF0dHJpYnV0ZWRT
dHJpbmcgPSBhZG9wdENGKENGQXR0cmlidXRlZFN0cmluZ0NyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpb3ZlcmxheS0+X2tpbmQuZ2V0KCksIChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpYXR0cmlidXRlcykpOworICAgIGF1dG8gbGluZSA9IGFkb3B0Q0Yo
Q1RMaW5lQ3JlYXRlV2l0aEF0dHJpYnV0ZWRTdHJpbmcoYXR0cmlidXRlZFN0cmluZy5nZXQoKSkp
OworCisgICAgQ0dTaXplIHRleHRTaXplID0gW292ZXJsYXktPl9raW5kIHNpemVXaXRoQXR0cmli
dXRlczphdHRyaWJ1dGVzXTsKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgQ0dDb250
ZXh0U2NhbGVDVE0oY3R4LCAxLCAtMSk7CisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGN0eCwg
MCwgLSh0ZXh0U2l6ZS5oZWlnaHQgKyB2ZXJ0aWNhbE1hcmdpbikgKiAyKTsKKyNlbmRpZgorCisg
ICAgQ0dDb250ZXh0U2V0VGV4dERyYXdpbmdNb2RlKGN0eCwga0NHVGV4dEZpbGwpOworCisgICAg
Q0dDb250ZXh0U2V0VGV4dFBvc2l0aW9uKGN0eCwgMCwgMCk7CisgICAgQ0dDb250ZXh0U2V0Rmls
bENvbG9yV2l0aENvbG9yKGN0eCwgY2FjaGVkQ0dDb2xvcihXZWJDb3JlOjpDb2xvcjo6YmxhY2sp
KTsKKyAgICBDVExpbmVEcmF3KGxpbmUuZ2V0KCksIGN0eCk7CisKKyAgICBDR0NvbnRleHRTZXRU
ZXh0UG9zaXRpb24oY3R4LCAwLCB0ZXh0U2l6ZS5oZWlnaHQgKyA1KTsKKyAgICBDR0NvbnRleHRT
ZXRGaWxsQ29sb3JXaXRoQ29sb3IoY3R4LCBjYWNoZWRDR0NvbG9yKFdlYkNvcmU6OkNvbG9yOjp3
aGl0ZSkpOworICAgIENUTGluZURyYXcobGluZS5nZXQoKSwgY3R4KTsKK30KKworLSAodm9pZClk
cmF3TGF5ZXI6KENBTGF5ZXIgKilsYXllciBpbkNvbnRleHQ6KENHQ29udGV4dFJlZiljdHgKK3sK
KyAgICBDR1BhdHRlcm5DYWxsYmFja3MgY2FsbGJhY2tzID0geyAwLCAmZHJhd1BhdHRlcm4sIG51
bGxwdHIgfTsKKyAgICBhdXRvIHBhdHRlcm5TcGFjZSA9IGFkb3B0Q0YoQ0dDb2xvclNwYWNlQ3Jl
YXRlUGF0dGVybihudWxscHRyKSk7CisgICAgQ0dDb250ZXh0U2V0RmlsbENvbG9yU3BhY2UoY3R4
LCBwYXR0ZXJuU3BhY2UuZ2V0KCkpOworCisgICAgQ0dTaXplIHRleHRTaXplID0gW19raW5kIHNp
emVXaXRoQXR0cmlidXRlczpAeyAoaWQpa0NURm9udEF0dHJpYnV0ZU5hbWUgOiAoaWQpaWRlbnRp
ZmljYXRpb25Gb250KCkgfV07CisgICAgQ0dTaXplIHBhdHRlcm5TaXplID0gQ0dTaXplTWFrZSh0
ZXh0U2l6ZS53aWR0aCArIGhvcml6b250YWxNYXJnaW4sICh0ZXh0U2l6ZS5oZWlnaHQgKyB2ZXJ0
aWNhbE1hcmdpbikgKiAyKTsKKyAgICBhdXRvIHBhdHRlcm4gPSBhZG9wdENGKENHUGF0dGVybkNy
ZWF0ZShzZWxmLCBsYXllci5ib3VuZHMsIENHQWZmaW5lVHJhbnNmb3JtTWFrZVJvdGF0aW9uKE1f
UElfNCksIHBhdHRlcm5TaXplLndpZHRoLCBwYXR0ZXJuU2l6ZS5oZWlnaHQsIGtDR1BhdHRlcm5U
aWxpbmdOb0Rpc3RvcnRpb24sIHRydWUsICZjYWxsYmFja3MpKTsKKyAgICBDR0Zsb2F0IGFscGhh
ID0gMC41OworICAgIENHQ29udGV4dFNldEZpbGxQYXR0ZXJuKGN0eCwgcGF0dGVybi5nZXQoKSwg
JmFscGhhKTsKKworICAgIENHQ29udGV4dEZpbGxSZWN0KGN0eCwgbGF5ZXIuYm91bmRzKTsKK30K
KworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KaW5kZXggNTNhMGY5OWI1MzEyNTNhYjUxZDViNDI3YjRlZDc4NTcyNTc3ZjAwYS4uYzRkMDZm
YjU4MGUwMjVjNGY4ZjM5MDA3ZDFiNDRiNzI2YmYzYjVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMjcsNiArMTI3LDcgQEAKICNp
bXBvcnQgPFdlYkNvcmUvU3RyaW5nVXRpbGl0aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RleHRN
YW5pcHVsYXRpb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1ZpZXdwb3J0QXJndW1l
bnRzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJs
YXkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV3JpdGluZ01vZGUuaD4KICNpbXBvcnQgPHd0Zi9CbG9j
a1B0ci5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KQEAgLTQwNCw2ICs0MDUsOCBAQCAtICh2
b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24g
Kiljb25maWd1cmF0aW9uCiAKICAgICBwYWdlVG9WaWV3TWFwKCkuYWRkKF9wYWdlLmdldCgpLCBz
ZWxmKTsKIAorICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGluc3RhbGxG
b3JXZWJWaWV3SWZOZWVkZWQ6c2VsZiBraW5kOkAiV0tXZWJWaWV3IiBkZXByZWNhdGVkOk5PXTsK
KwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byB0aW1lTm93ID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgX3RpbWVPZlJlcXVlc3RGb3JWaXNpYmxlQ29udGVudFJlY3RVcGRh
dGUgPSB0aW1lTm93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21h
Yy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpp
bmRleCBiNDI3NTdmOTU2NjAzMWE2MGYwNmVhZDJjNWUxMzhkOThkZDVjYWFhLi4yNmM4YzI0OGM1
YjNmZDFiYTYwYjQ3YWMyNGU0MzgxMTlmNjk2ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtNDMsNiArNDMsNyBAQAogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Bvb2wuaCIKICNpbXBvcnQgIldlYlZpZXdJbXBsLmgiCiAjaW1wb3J0ICJfV0tMaW5rSWNvblBh
cmFtZXRlcnNJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9XZWJWaWV3VmlzdWFsSWRlbnRp
ZmljYXRpb25PdmVybGF5Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tEcmFnRGVzdGluYXRpb25BY3Rp
b24uaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9C
bG9ja1B0ci5oPgpAQCAtOTYzLDYgKzk2NCw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZy
YW1lOihOU1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KE5ha2VkUmVmPFdlYktpdDo6V2ViUHJvCiAg
ICAgX2RhdGEtPl9pbXBsID0gbWFrZVVuaXF1ZTxXZWJLaXQ6OldlYlZpZXdJbXBsPihzZWxmLCBu
dWxscHRyLCBwcm9jZXNzUG9vbC5nZXQoKSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiAKICAg
ICBbc2VsZiBtYXliZUluc3RhbGxJY29uTG9hZGluZ0NsaWVudF07CisgICAgW1dlYlZpZXdWaXN1
YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDpzZWxmIGtp
bmQ6QCJXS1ZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKIAogICAgIHJldHVybiBzZWxmOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGMzNTk1MjFjNmRk
Yzc3ZjY2YTEzNTZjYWExOTFmNjU4NzAzZWZkYTkuLmVjNjZjZjVhMTgxODg4N2RkNmUwMjY4MGJk
OTIwZmI1NmU5NmY2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KQEAgLTIyMSw2ICsyMjEsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9WYWxpZGF0aW9uQnVi
YmxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1dlYkNvcmVWaWV3Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYlZpZXdWaXN1YWxJZGVu
dGlmaWNhdGlvbk92ZXJsYXkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CiAjaW1wb3J0
IDxXZWJLaXRMZWdhY3kvRE9NLmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NRXh0ZW5zaW9u
cy5oPgpAQCAtMTYwMCw2ICsxNjAxLDEwIEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9u
V2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAjZW5k
aWYKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLnNldENvbnRlbnREaXNwb3NpdGlv
bkF0dGFjaG1lbnRTYW5kYm94RW5hYmxlZCh0cnVlKTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAg
ICBbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lm
TmVlZGVkOnNlbGYga2luZDpAIldlYlZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKKyNlbmRpZgogfQog
CiAtIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJhbWVOYW1lOihOU1N0cmluZyAqKWZy
YW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCkBAIC0xMDIyMCw2ICsxMDIy
NSwxMSBAQCAtICh2b2lkKXJldmVhbEN1cnJlbnRTZWxlY3Rpb24KICAgICAgICAgcGFnZS0+cmV2
ZWFsQ3VycmVudFNlbGVjdGlvbigpOwogfQogCistICh2b2lkKV9pbnN0YWxsVmlzdWFsSWRlbnRp
ZmljYXRpb25PdmVybGF5Rm9yVmlld0lmTmVlZGVkOihpZCl2aWV3IGtpbmQ6KE5TU3RyaW5nICop
a2luZAoreworICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGluc3RhbGxG
b3JXZWJWaWV3SWZOZWVkZWQ6c3RhdGljX2Nhc3Q8VUlWaWV3ICo+KHZpZXcpIGtpbmQ6a2luZCBk
ZXByZWNhdGVkOllFU107Cit9CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggMjU1NjQ2ZmMwZjE3NjFk
NGViZmUwYzk3NGZjMzg3YmNlNThkYTgyNy4uOTZmM2Q1NjcyZTI0ODdiYWU3YWJhZmUyMTNiNTYw
M2UxZDEzNTAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaApAQCAtMTA4OCw2ICsxMDg4LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgV2ViRWRn
ZUluc2V0cyB7CiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdJT1NBZGRpdGlvbnMpCiAtIChO
U0FycmF5PERPTUVsZW1lbnQgKj4gKilfZWRpdGFibGVFbGVtZW50c0luUmVjdDooQ0dSZWN0KXJl
Y3Q7CiAtICh2b2lkKXJldmVhbEN1cnJlbnRTZWxlY3Rpb247CisKKy8vIFZpZXcgbXVzdCBiZSBh
IFVJVmlldy4KKy0gKHZvaWQpX2luc3RhbGxWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXlGb3JW
aWV3SWZOZWVkZWQ6KGlkKXZpZXcga2luZDooTlNTdHJpbmcgKilraW5kOwogQGVuZAogCiAjZW5k
aWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395404</attachid>
            <date>2020-04-03 12:46:46 -0700</date>
            <delta_ts>2020-04-03 12:49:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209982-20200403124645.patch</filename>
            <type>text/plain</type>
            <size>22881</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE2ZGFjMDkyZWMzNThk
NDM1OTZkZTA0OWRkYjQ4MmU1ZGI4Y2QxOS4uM2UzNjIxZGRlNzUyNDc4YmFmMmIwYWI4MTQyYTcx
YzcyMmJjOGQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA0LTAzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHZpc3Vh
bCBkZWJ1ZyBpbmRpY2F0b3IgZm9yIGxvY2F0aW5nIGFuZCBpZGVudGlmeWluZyBhbGwga2luZHMg
b2YgV2ViVmlld3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwOTk4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMzk4NzA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZGVidWcgb3Zlcmxh
eSB0aGF0IGNhbiBiZSBlbmFibGVkIHdpdGggYSBzaW5nbGUgc3dpdGNoIGZvciBhbGwKKyAgICAg
ICAgKldlYlZpZXcgdmFyaWFudHMsIHdoaWNoIGluZGljYXRlcyB0aGUgdHlwZSBvZiAqV2ViVmll
dyBpbiBhbiB1bm1pc3NhYmxlLAorICAgICAgICBnYXVkeSBmYXNoaW9uLgorCisgICAgICAgIFRo
aXMgaXMgaW50ZW5kZWQgdG8gYWRkcmVzcyBzb21lIHNob3J0Y29taW5ncyBvZiBleGlzdGluZyBt
ZWNoYW5pc21zCisgICAgICAgIHRoYXQgcGVvcGxlIHVzZSB0byBhbnN3ZXIgdGhlICJ3aGF0IGtp
bmQgb2Ygd2ViIHZpZXcgaXMgWCBhcHAgdXNpbmc/IgorICAgICAgICBxdWVzdGlvbi4gU3BlY2lm
aWNhbGx5OgorCisgICAgICAgIC0gaXQgd2lsbCBhcHBlYXIgZXZlbiBpZiB0aGUgV2ViIENvbnRl
bnQgcHJvY2VzcyBkb2VzIG5vdCBsYXVuY2ggb3IgY3Jhc2hlcworICAgICAgICAtIGl0IHdpbGwg
YXBwZWFyIGV2ZW4gaWYgYSBjdXN0b20gY29udGVudCB2aWV3IGlzIGJlaW5nIHVzZWQgKGUuZy4g
UERGKQorICAgICAgICAtIGl0IHdpbGwgYXBwZWFyIGV2ZW4gaWYgY29tcG9zaXRpbmcgaXMgbm90
IGVuYWJsZWQgKGUuZy4gaW4gYSBsZWdhY3kgV2ViVmlldyBvbiBtYWNPUykKKyAgICAgICAgLSBp
dCBleHBsaWNpdGx5IHN0YXRlcyBpbiB3cml0dGVuIHRleHQgdGhlIGNsYXNzIG5hbWUgb2YgdGhl
IHdlYiB2aWV3LCB3aXRoIG5vIG5lZWQgZm9yIGludGVycHJldGluZyBjb2xvcnMKKyAgICAgICAg
LSBpdCBjb3ZlcnMgdGhlIGVudGlyZSB3ZWIgdmlldywgc28gY2Fubm90IGJlIGFjY2lkZW50YWxs
eSBvYnNjdXJlZAorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBkZWJ1Z2dpbmcgVUkuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXkuaDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9jb2NvYS9X
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tOiBBZGRlZC4KKyAgICAgICAgKCtb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBzaG91bGRJZGVudGlmeVdlYlZpZXdz
XSk6CisgICAgICAgIFVzZSBhIHNpbmdsZSBkZWZhdWx0IGFjcm9zcyBhbGwga2luZHMgb2YgV2Vi
Vmlld3MsIGluc3RlYWQgb2YgdXNpbmcKKyAgICAgICAgV2ViUHJlZmVyZW5jZXMgYW5kIGZyaWVu
ZHMsIGluIG9yZGVyIHRvIG1ha2UgaXQgZXh0cmVtZWx5IGVhc3kgdG8gdHVybiBvbiwKKyAgICAg
ICAgYW5kIGJlY2F1c2UgaXQncyBpbnRlbmRlZCB0byBiZSBzZXQgZ2xvYmFsbHksIGFuZCBpcyBu
b3QgdXNlZnVsIG9uIGEKKyAgICAgICAgcGVyLXZpZXcgYmFzaXMuCisKKyAgICAgICAgKCtbV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVk
OmtpbmQ6ZGVwcmVjYXRlZDpdKToKKyAgICAgICAgKC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheSBpbml0V2l0aFdlYlZpZXc6a2luZDpkZXByZWNhdGVkOl0pOgorICAgICAgICAo
LVtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGRlYWxsb2NdKToKKyAgICAgICAg
KC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBvYnNlcnZlVmFsdWVGb3JLZXlQ
YXRoOm9mT2JqZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5IGRyYXdMYXllcjppbkNvbnRleHQ6XSk6CisgICAgICAgIERy
YXcgYSB3YXNoIGFuZCB0aGUgY2xhc3MgbmFtZSBvdmVyIHRoZSBlbnRpcmUgZmFjZSBvZiB0aGUg
d2ViIHZpZXcuCisgICAgICAgIFRoZSB3YXNoIGlzIGJsdWUgZm9yIFdLV2ViVmlldyBhbmQgcmVk
IGZvciBhbGwgb2YgdGhlIGRlcHJlY2F0ZWQgd2ViIHZpZXdzIChXS1ZpZXcsIFdlYlZpZXcsIFVJ
V2ViVmlldykuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlIGNhbiBiZSBy
ZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2QyMTQzMDVmZWZmOWRiYTI1MmFjOGUz
ZmU0ZDFkNmYzNTJkODVhZC4uYjE4NTY1ZDQzNTU3NzlkNmEyZTA0OGQ3ZDE1NDRjMmQwMDhhNDY4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNC0wMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSB2aXN1YWwgZGVidWcgaW5k
aWNhdG9yIGZvciBsb2NhdGluZyBhbmQgaWRlbnRpZnlpbmcgYWxsIGtpbmRzIG9mIFdlYlZpZXdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5ODIK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMzM5ODcwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1b
V0tWaWV3IGluaXRXaXRoRnJhbWU6cHJvY2Vzc1Bvb2w6Y29uZmlndXJhdGlvbjpdKToKKyAgICAg
ICAgQWRvcHQgaW4gV0tXZWJWaWV3IGFuZCBXS1ZpZXcuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20g
TUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBiOTdiNTU0YTgwNDY1ODQ1Y2NmY2NiZjViYTY4MjIwNGMxMjM1
MmI3Li43OTRhMmY1YzRmOTExNzdlNjlmMjVhZjNhNDAxN2E3YzgxNTY5YTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDQtMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgdmlzdWFsIGRl
YnVnIGluZGljYXRvciBmb3IgbG9jYXRpbmcgYW5kIGlkZW50aWZ5aW5nIGFsbCBraW5kcyBvZiBX
ZWJWaWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5OTgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDMzOTg3MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKyAgICAgICAgQWRvcHQgZm9yIFdlYlZpZXcgb24gbWFjT1MgKFVJV2ViVmll
dyB3aWxsIGluc3RhbGwgaXQgaXRzZWxmIG9uIGlPUykuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXdQcml2YXRlLmg6CisgICAgICAgIEV4cG9zZSBfaW5zdGFsbFZpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheUZvclZpZXdJZk5lZWRlZDpraW5kOiBmb3IgVUlXZWJWaWV3J3MgdXNlLgorICAg
ICAgICBJdCBpcyBzbGlnaHRseSB1bmZvcnR1bmF0ZSB0byBleHBvc2UgU1BJIHRoYXQgdXNlcyBV
SVZpZXcgZnJvbSBhIGZyYW1ld29yaworICAgICAgICB1bmRlcm5lYXRoIFVJS2l0LCBidXQgdGhl
cmUgaXMgbm8gb3RoZXIgc2luZ2xlIHBsYWNlIHdoZXJlIHRoaXMgY29kZSBjYW4gbGl2ZQorICAg
ICAgICBhbmQgbm90IGJlIGEgbWlub3IgbGF5ZXJpbmcgcHJvYmxlbS4gU2luY2UgaXQncyBkZWJ1
ZyBVSSwgaXQgc2VlbXMgcGFzc2FibGUuCisKIDIwMjAtMDMtMzEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRGF0YWxpc3Qgb3B0aW9uJ3MgbGFiZWwg
bm90IHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGExZmJmOTUyODc4MDE1YTM2N2Zm
ZTMyZDRmMGM5OTYxZmFhZDUzN2EuLmZmYzYxYjQ4NjU1MjBkZmE3N2VkYTRiYTRkMDk3NjJkNjJl
ZWIzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNTc4LDYgKzU3OCw4IEBAIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQogCiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAK
IAordGVzdGluZy9jb2NvYS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tCisK
IC8vIERlcml2ZWQgU291cmNlcwogCiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQ0Mzc5MThjYWJhNzMzZmZiNjNmM2EwN2I0OGVhMGY0NDUzY2VhNzguLjMxY2FmMjVk
MzE2OWYzYmYwYWU1M2QyZDc5ZTE3ZjkzNzRmMWQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Myw2ICs3NTMsNyBAQAog
CQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U4QjFDMUVDQjFDMDA2
MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggKi87IH07CiAJCTJENzBCQTEzMTgwNzREREYwMDAx
OTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3MEJBMTIxODA3NERERjAwMDE5MDhBIC8qIFBsYXRmb3Jt
Q0FMYXllckNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMkQ3NkJCODIxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3NkJCODAxOTQ1
NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEN0RBMEYyMjQzNUVCMTkwMEYwNDhEMSAvKiBX
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEN0VEMEFCMUJBRTk5MTcwMDQzQjNFNSAvKiBU
aW1lckV2ZW50QmFzZWRNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDdFRDBBOTFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oICovOyB9OwogCQkyRDgxRTFDRjIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEODFFMUNEMjFBNzhDQzIwMEEzMkNGNCAvKiBJbnNlcnRFZGl0YWJsZUltYWdlQ29tbWFu
ZC5oICovOyB9OwogCQkyRDgyODdGNzE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDgyODdG
NTE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTY4NjMsNiArNjg2NCw4IEBACiAJCTJE
NzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODAxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BP
YnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW5Mb29wT2JzZXJ2
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODMxOTQ1NkY4MTAwQ0ZE
MjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSdW5Mb29wT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9u
T3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
N0RBMEYxMjQzNUVCMTgwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVy
bGF5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVmlld1Zp
c3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQ3RUQwQTkxQkFFOTkxNzAwNDNCM0U1IC8qIFRpbWVyRXZlbnRCYXNlZE1vY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGltZXJFdmVudEJhc2VkTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDgxRTFDQjIxQTc4Q0MxMDBBMzJDRjQgLyogSW5z
ZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDgxRTFDRDIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0RWRp
dGFibGVJbWFnZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyOTY1
LDYgKzIyOTY4LDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUExNzYzRjNEMUUyMDUyMzQwMDFE
NThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLywKIAkJCQlBMTc2M0YzQzFFMjA1MjM0
MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tICovLAorCQkJCTJEN0RBMEVGMjQz
NUVCMTcwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggKi8s
CisJCQkJMkQ3REEwRjEyNDM1RUIxODAwRjA0OEQxIC8qIFdlYlZpZXdWaXN1YWxJZGVudGlmaWNh
dGlvbk92ZXJsYXkubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTMzNDQ3LDYgKzMzNDUyLDcgQEAKIAkJCQkzMURFQTQ1NjFCMzlG
NEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY1ODBGQTMxNDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVkQmFja2luZ0xheWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkzRjQyQjMxRDE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDdEQTBGMjI0MzVF
QjE5MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjEyMTcxRjYxNkE4Q0YwQjAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjFBODAzMTNFQ0U1REYwMEJCNzA2NCAvKiBXZWJWVFRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxMEI2OTgwMTQwQzE3NDAwMEJDMUMyNiAvKiBX
ZWJWVFRUb2tlbi5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zlcmxh
eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg1M2IwMDQ3M2U1ZjlhZTg3NTc0NzQwYzVkMmQxZDJiNjQxYzMzYjIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdW
aXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBQTEFURk9STShDT0NPQSkKKworI2lmIFVTRShBUFBLSVQp
CisjaW5jbHVkZSA8QXBwS2l0L0FwcEtpdC5oPgorI2Vsc2UKKyNpbmNsdWRlIDxVSUtpdC9VSUtp
dC5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtVmlldy5oPgorCitXRUJD
T1JFX0VYUE9SVAorQGludGVyZmFjZSBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5
IDogTlNPYmplY3QKKworKyAodm9pZClpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVkOihQbGF0Zm9y
bVZpZXcgKil2aWV3IGtpbmQ6KE5TU3RyaW5nICopa2luZCBkZXByZWNhdGVkOihCT09MKWlzRGVw
cmVjYXRlZDsKKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlv
bk92ZXJsYXkubW0gYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXkubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThlODhhOTYzOWMyYzMxODM3MmJj
MmExODgzMDYxOWQ5ZDNlMTc2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbQpAQCAtMCww
ICsxLDE3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oIgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisKKyNpbXBvcnQgIkNvbG9yLmgiCisjaW1wb3J0ICJXZWJDb3JlQ0FMYXllckV4dHJhcy5oIgor
I2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5o
PgorCisjaW1wb3J0IDxwYWwvaW9zL1VJS2l0U29mdExpbmsuaD4KKworc3RhdGljIHZvaWQgKmJv
dW5kc09ic2VydmF0aW9uQ29udGV4dCA9ICZib3VuZHNPYnNlcnZhdGlvbkNvbnRleHQ7CisKK0Bp
bnRlcmZhY2UgV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSAoKSA8Q0FMYXllckRl
bGVnYXRlPgorQGVuZAorCitjb25zdCB2b2lkKiBjb25zdCB3ZWJWaWV3VmlzdWFsSWRlbnRpZmlj
YXRpb25PdmVybGF5S2V5ID0gJndlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXlLZXk7
CisKK0BpbXBsZW1lbnRhdGlvbiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IHsK
KyAgICBSZXRhaW5QdHI8UGxhdGZvcm1WaWV3PiBfdmlldzsKKworICAgIFJldGFpblB0cjxDQUxh
eWVyPiBfbGF5ZXI7CisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBfa2luZDsKK30KKworKyAoQk9P
TClzaG91bGRJZGVudGlmeVdlYlZpZXdzCit7CisgICAgc3RhdGljIE9wdGlvbmFsPEJPT0w+IHNo
b3VsZElkZW50aWZ5V2ViVmlld3M7CisgICAgaWYgKCFzaG91bGRJZGVudGlmeVdlYlZpZXdzKQor
ICAgICAgICBzaG91bGRJZGVudGlmeVdlYlZpZXdzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIldlYktpdERlYnVnSWRlbnRpZnlXZWJWaWV3cyJd
OworICAgIHJldHVybiAqc2hvdWxkSWRlbnRpZnlXZWJWaWV3czsKK30KKworKyAodm9pZClpbnN0
YWxsRm9yV2ViVmlld0lmTmVlZGVkOihQbGF0Zm9ybVZpZXcgKil2aWV3IGtpbmQ6KE5TU3RyaW5n
ICopa2luZCBkZXByZWNhdGVkOihCT09MKWlzRGVwcmVjYXRlZAoreworICAgIGlmICghW3NlbGYg
c2hvdWxkSWRlbnRpZnlXZWJWaWV3c10pCisgICAgICAgIHJldHVybjsKKyAgICBhdXRvIG92ZXJs
YXkgPSBhZG9wdE5TKFtbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBhbGxvY10g
aW5pdFdpdGhXZWJWaWV3OnZpZXcga2luZDpraW5kIGRlcHJlY2F0ZWQ6aXNEZXByZWNhdGVkXSk7
CisgICAgb2JqY19zZXRBc3NvY2lhdGVkT2JqZWN0KHNlbGYsIHdlYlZpZXdWaXN1YWxJZGVudGlm
aWNhdGlvbk92ZXJsYXlLZXksIG92ZXJsYXkuZ2V0KCksIE9CSkNfQVNTT0NJQVRJT05fUkVUQUlO
X05PTkFUT01JQyk7Cit9CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFdlYlZpZXc6KFBsYXRm
b3JtVmlldyAqKXdlYlZpZXcga2luZDooTlNTdHJpbmcgKilraW5kIGRlcHJlY2F0ZWQ6KEJPT0wp
aXNEZXByZWNhdGVkCit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKKyAgICBpZiAoIXNlbGYp
CisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfa2luZCA9IGtpbmQ7CisKKyNpZiBVU0UoQVBQ
S0lUKQorICAgIF92aWV3ID0gYWRvcHROUyhbW05TVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTp3
ZWJWaWV3LmJvdW5kc10pOworICAgIFtfdmlldyBzZXRXYW50c0xheWVyOllFU107CisgICAgW192
aWV3IHNldEF1dG9yZXNpemluZ01hc2s6TlNWaWV3V2lkdGhTaXphYmxlIHwgTlNWaWV3SGVpZ2h0
U2l6YWJsZV07CisjZWxzZQorICAgIF92aWV3ID0gYWRvcHROUyhbUEFMOjphbGxvY1VJVmlld0lu
c3RhbmNlKCkgaW5pdFdpdGhGcmFtZTp3ZWJWaWV3LmJvdW5kc10pOworICAgIFtfdmlldyBzZXRV
c2VySW50ZXJhY3Rpb25FbmFibGVkOk5PXTsKKyAgICBbX3ZpZXcgc2V0QXV0b3Jlc2l6aW5nTWFz
azpVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZVdpZHRoIHwgVUlWaWV3QXV0b3Jlc2l6aW5nRmxl
eGlibGVIZWlnaHRdOworI2VuZGlmCisgICAgW3dlYlZpZXcgYWRkU3Vidmlldzpfdmlldy5nZXQo
KV07CisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKyAgICBfa2luZCA9IFtfa2luZCBzdHJp
bmdCeUFwcGVuZGluZ1N0cmluZzpAIiAobWFjQ2F0YWx5c3QpIl07CisjZW5kaWYKKworICAgIF9s
YXllciA9IGFkb3B0TlMoW1tDQVRpbGVkTGF5ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbX2xheWVy
IHNldE5hbWU6QCJXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Il07CisgICAgW19s
YXllciBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIFtfdmlldyBib3VuZHNdLnNpemUud2lkdGgs
IFtfdmlldyBib3VuZHNdLnNpemUuaGVpZ2h0KV07CisgICAgV2ViQ29yZTo6Q29sb3Igdmlld0Nv
bG9yID0gaXNEZXByZWNhdGVkID8gV2ViQ29yZTo6Q29sb3IoMjU1LCAwLCAwLCAzMikgOiBXZWJD
b3JlOjpDb2xvcigwLCAwLCAyNTUsIDMyKTsKKyAgICBbX2xheWVyIHNldEJhY2tncm91bmRDb2xv
cjpjYWNoZWRDR0NvbG9yKHZpZXdDb2xvcildOworICAgIFtfbGF5ZXIgc2V0WlBvc2l0aW9uOjk5
OV07CisgICAgW19sYXllciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbX2xheWVyIHdlYl9kaXNh
YmxlQWxsQWN0aW9uc107CisgICAgW1tfdmlldyBsYXllcl0gYWRkU3VibGF5ZXI6X2xheWVyLmdl
dCgpXTsKKworICAgIFtbX3ZpZXcgbGF5ZXJdIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpA
ImJvdW5kcyIgb3B0aW9uczowIGNvbnRleHQ6Ym91bmRzT2JzZXJ2YXRpb25Db250ZXh0XTsKKwor
ICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbW192aWV3IGxh
eWVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJib3VuZHMiIGNvbnRleHQ6Ym91
bmRzT2JzZXJ2YXRpb25Db250ZXh0XTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAo
dm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6
KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4g
KiljaGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRleHQKK3sKKyAgICBpZiAoY29udGV4dCA9PSBi
b3VuZHNPYnNlcnZhdGlvbkNvbnRleHQpIHsKKyAgICAgICAgW19sYXllciBzZXRGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIFtfdmlldyBib3VuZHNdLnNpemUud2lkdGgsIFtfdmlldyBib3VuZHNdLnNp
emUuaGVpZ2h0KV07CisgICAgICAgIFtfbGF5ZXIgc2V0TmVlZHNEaXNwbGF5XTsKKyAgICB9Cit9
CisKK3N0YXRpYyBDVEZvbnRSZWYgaWRlbnRpZmljYXRpb25Gb250KCkKK3sKKyAgICBhdXRvIG1h
dHJpeCA9IENHQWZmaW5lVHJhbnNmb3JtSWRlbnRpdHk7CisgICAgcmV0dXJuIChDVEZvbnRSZWYp
Q0ZBdXRvcmVsZWFzZShDVEZvbnRDcmVhdGVXaXRoTmFtZShDRlNUUigiSGVsdmV0aWNhIiksIDIw
LCAmbWF0cml4KSk7Cit9CisKK2NvbnN0ZXhwciBDR0Zsb2F0IGhvcml6b250YWxNYXJnaW4gPSAx
NTsKK2NvbnN0ZXhwciBDR0Zsb2F0IHZlcnRpY2FsTWFyZ2luID0gNTsKKworc3RhdGljIHZvaWQg
ZHJhd1BhdHRlcm4odm9pZCAqb3ZlcmxheVB0ciwgQ0dDb250ZXh0UmVmIGN0eCkKK3sKKyAgICBX
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5ICpvdmVybGF5ID0gKFdlYlZpZXdWaXN1
YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgKilvdmVybGF5UHRyOworCisgICAgYXV0byBhdHRyaWJ1
dGVzID0gQHsKKyAgICAgICAgKGlkKWtDVEZvbnRBdHRyaWJ1dGVOYW1lIDogKGlkKWlkZW50aWZp
Y2F0aW9uRm9udCgpLAorICAgICAgICAoaWQpa0NURm9yZWdyb3VuZENvbG9yRnJvbUNvbnRleHRB
dHRyaWJ1dGVOYW1lIDogQFlFUworICAgIH07CisgICAgYXV0byBhdHRyaWJ1dGVkU3RyaW5nID0g
YWRvcHRDRihDRkF0dHJpYnV0ZWRTdHJpbmdDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKF9f
YnJpZGdlIENGU3RyaW5nUmVmKW92ZXJsYXktPl9raW5kLmdldCgpLCAoX19icmlkZ2UgQ0ZEaWN0
aW9uYXJ5UmVmKWF0dHJpYnV0ZXMpKTsKKyAgICBhdXRvIGxpbmUgPSBhZG9wdENGKENUTGluZUNy
ZWF0ZVdpdGhBdHRyaWJ1dGVkU3RyaW5nKGF0dHJpYnV0ZWRTdHJpbmcuZ2V0KCkpKTsKKworICAg
IENHU2l6ZSB0ZXh0U2l6ZSA9IFtvdmVybGF5LT5fa2luZCBzaXplV2l0aEF0dHJpYnV0ZXM6YXR0
cmlidXRlc107CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIENHQ29udGV4dFNjYWxl
Q1RNKGN0eCwgMSwgLTEpOworICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjdHgsIDAsIC0odGV4
dFNpemUuaGVpZ2h0ICsgdmVydGljYWxNYXJnaW4pICogMik7CisjZW5kaWYKKworICAgIENHQ29u
dGV4dFNldFRleHREcmF3aW5nTW9kZShjdHgsIGtDR1RleHRGaWxsKTsKKworICAgIENHQ29udGV4
dFNldFRleHRQb3NpdGlvbihjdHgsIDAsIDApOworICAgIENHQ29udGV4dFNldEZpbGxDb2xvcldp
dGhDb2xvcihjdHgsIGNhY2hlZENHQ29sb3IoV2ViQ29yZTo6Q29sb3I6OmJsYWNrKSk7CisgICAg
Q1RMaW5lRHJhdyhsaW5lLmdldCgpLCBjdHgpOworCisgICAgQ0dDb250ZXh0U2V0VGV4dFBvc2l0
aW9uKGN0eCwgMCwgdGV4dFNpemUuaGVpZ2h0ICsgNSk7CisgICAgQ0dDb250ZXh0U2V0RmlsbENv
bG9yV2l0aENvbG9yKGN0eCwgY2FjaGVkQ0dDb2xvcihXZWJDb3JlOjpDb2xvcjo6d2hpdGUpKTsK
KyAgICBDVExpbmVEcmF3KGxpbmUuZ2V0KCksIGN0eCk7Cit9CisKKy0gKHZvaWQpZHJhd0xheWVy
OihDQUxheWVyICopbGF5ZXIgaW5Db250ZXh0OihDR0NvbnRleHRSZWYpY3R4Cit7CisgICAgQ0dQ
YXR0ZXJuQ2FsbGJhY2tzIGNhbGxiYWNrcyA9IHsgMCwgJmRyYXdQYXR0ZXJuLCBudWxscHRyIH07
CisgICAgYXV0byBwYXR0ZXJuU3BhY2UgPSBhZG9wdENGKENHQ29sb3JTcGFjZUNyZWF0ZVBhdHRl
cm4obnVsbHB0cikpOworICAgIENHQ29udGV4dFNldEZpbGxDb2xvclNwYWNlKGN0eCwgcGF0dGVy
blNwYWNlLmdldCgpKTsKKworICAgIENHU2l6ZSB0ZXh0U2l6ZSA9IFtfa2luZCBzaXplV2l0aEF0
dHJpYnV0ZXM6QHsgKGlkKWtDVEZvbnRBdHRyaWJ1dGVOYW1lIDogKGlkKWlkZW50aWZpY2F0aW9u
Rm9udCgpIH1dOworICAgIENHU2l6ZSBwYXR0ZXJuU2l6ZSA9IENHU2l6ZU1ha2UodGV4dFNpemUu
d2lkdGggKyBob3Jpem9udGFsTWFyZ2luLCAodGV4dFNpemUuaGVpZ2h0ICsgdmVydGljYWxNYXJn
aW4pICogMik7CisgICAgYXV0byBwYXR0ZXJuID0gYWRvcHRDRihDR1BhdHRlcm5DcmVhdGUoc2Vs
ZiwgbGF5ZXIuYm91bmRzLCBDR0FmZmluZVRyYW5zZm9ybU1ha2VSb3RhdGlvbihNX1BJXzQpLCBw
YXR0ZXJuU2l6ZS53aWR0aCwgcGF0dGVyblNpemUuaGVpZ2h0LCBrQ0dQYXR0ZXJuVGlsaW5nTm9E
aXN0b3J0aW9uLCB0cnVlLCAmY2FsbGJhY2tzKSk7CisgICAgQ0dGbG9hdCBhbHBoYSA9IDAuNTsK
KyAgICBDR0NvbnRleHRTZXRGaWxsUGF0dGVybihjdHgsIHBhdHRlcm4uZ2V0KCksICZhbHBoYSk7
CisKKyAgICBDR0NvbnRleHRGaWxsUmVjdChjdHgsIGxheWVyLmJvdW5kcyk7Cit9CisKK0BlbmQK
KworI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNTNhMGY5OWI1MzEyNTNhYjUxZDViNDI3YjRl
ZDc4NTcyNTc3ZjAwYS4uYzRkMDZmYjU4MGUwMjVjNGY4ZjM5MDA3ZDFiNDRiNzI2YmYzYjVlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBA
IC0xMjcsNiArMTI3LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvU3RyaW5nVXRpbGl0aWVzLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1RleHRNYW5pcHVsYXRpb25Db250cm9sbGVyLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1ZpZXdwb3J0QXJndW1lbnRzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYlZpZXdWaXN1
YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV3JpdGluZ01vZGUu
aD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KQEAg
LTQwNCw2ICs0MDUsOCBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAKICAgICBwYWdlVG9WaWV3TWFw
KCkuYWRkKF9wYWdlLmdldCgpLCBzZWxmKTsKIAorICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmlj
YXRpb25PdmVybGF5IGluc3RhbGxGb3JXZWJWaWV3SWZOZWVkZWQ6c2VsZiBraW5kOkAiV0tXZWJW
aWV3IiBkZXByZWNhdGVkOk5PXTsKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0
byB0aW1lTm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgX3RpbWVPZlJlcXVlc3RGb3JW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGUgPSB0aW1lTm93OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbQppbmRleCBiNDI3NTdmOTU2NjAzMWE2MGYwNmVhZDJjNWUxMzhk
OThkZDVjYWFhLi4yNmM4YzI0OGM1YjNmZDFiYTYwYjQ3YWMyNGU0MzgxMTlmNjk2ZGE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtNDMsNiArNDMsNyBA
QAogI2ltcG9ydCAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbXBvcnQgIldlYlZpZXdJbXBsLmgiCiAj
aW1wb3J0ICJfV0tMaW5rSWNvblBhcmFtZXRlcnNJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29y
ZS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tEcmFnRGVzdGluYXRpb25BY3Rpb24uaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRT
UEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgpAQCAtOTYzLDYgKzk2NCw3IEBAIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KE5ha2Vk
UmVmPFdlYktpdDo6V2ViUHJvCiAgICAgX2RhdGEtPl9pbXBsID0gbWFrZVVuaXF1ZTxXZWJLaXQ6
OldlYlZpZXdJbXBsPihzZWxmLCBudWxscHRyLCBwcm9jZXNzUG9vbC5nZXQoKSwgV1RGTW92ZShj
b25maWd1cmF0aW9uKSk7CiAKICAgICBbc2VsZiBtYXliZUluc3RhbGxJY29uTG9hZGluZ0NsaWVu
dF07CisgICAgW1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldl
YlZpZXdJZk5lZWRlZDpzZWxmIGtpbmQ6QCJXS1ZpZXciIGRlcHJlY2F0ZWQ6WUVTXTsKIAogICAg
IHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCmluZGV4IGMzNTk1MjFjNmRkYzc3ZjY2YTEzNTZjYWExOTFmNjU4NzAzZWZkYTkuLmVjNjZj
ZjVhMTgxODg4N2RkNmUwMjY4MGJkOTIwZmI1NmU5NmY2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIyMSw2ICsyMjEsNyBAQAogI2ltcG9ydCA8
V2ViQ29yZS9WYWxpZGF0aW9uQnViYmxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpD
RXh0cmFzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVWaWV3Lmg+CisjaW1wb3J0IDxXZWJD
b3JlL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaD4KICNpbXBvcnQgPFdlYkNv
cmUvV2lkZ2V0Lmg+CiAjaW1wb3J0IDxXZWJLaXRMZWdhY3kvRE9NLmg+CiAjaW1wb3J0IDxXZWJL
aXRMZWdhY3kvRE9NRXh0ZW5zaW9ucy5oPgpAQCAtMTYwMCw2ICsxNjAxLDEwIEBAIC0gKHZvaWQp
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUg
Z3JvdXBOYW1lOihOU1N0CiAjZW5kaWYKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygp
LnNldENvbnRlbnREaXNwb3NpdGlvbkF0dGFjaG1lbnRTYW5kYm94RW5hYmxlZCh0cnVlKTsKKwor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICBbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zlcmxh
eSBpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVkOnNlbGYga2luZDpAIldlYlZpZXciIGRlcHJlY2F0
ZWQ6WUVTXTsKKyNlbmRpZgogfQogCiAtIChpZClfaW5pdFdpdGhGcmFtZTooTlNSZWN0KWYgZnJh
bWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBO
YW1lCkBAIC0xMDIyMCw2ICsxMDIyNSwxMSBAQCAtICh2b2lkKXJldmVhbEN1cnJlbnRTZWxlY3Rp
b24KICAgICAgICAgcGFnZS0+cmV2ZWFsQ3VycmVudFNlbGVjdGlvbigpOwogfQogCistICh2b2lk
KV9pbnN0YWxsVmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Rm9yVmlld0lmTmVlZGVkOihpZCl2
aWV3IGtpbmQ6KE5TU3RyaW5nICopa2luZAoreworICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmlj
YXRpb25PdmVybGF5IGluc3RhbGxGb3JXZWJWaWV3SWZOZWVkZWQ6c3RhdGljX2Nhc3Q8VUlWaWV3
ICo+KHZpZXcpIGtpbmQ6a2luZCBkZXByZWNhdGVkOllFU107Cit9CisKIEBlbmQKIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgK
aW5kZXggMjU1NjQ2ZmMwZjE3NjFkNGViZmUwYzk3NGZjMzg3YmNlNThkYTgyNy4uOTZmM2Q1Njcy
ZTI0ODdiYWU3YWJhZmUyMTNiNTYwM2UxZDEzNTAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtMTA4OCw2ICsxMDg4LDkgQEAg
dHlwZWRlZiBzdHJ1Y3QgV2ViRWRnZUluc2V0cyB7CiBAaW50ZXJmYWNlIFdlYlZpZXcgKFdlYlZp
ZXdJT1NBZGRpdGlvbnMpCiAtIChOU0FycmF5PERPTUVsZW1lbnQgKj4gKilfZWRpdGFibGVFbGVt
ZW50c0luUmVjdDooQ0dSZWN0KXJlY3Q7CiAtICh2b2lkKXJldmVhbEN1cnJlbnRTZWxlY3Rpb247
CisKKy8vIFZpZXcgbXVzdCBiZSBhIFVJVmlldy4KKy0gKHZvaWQpX2luc3RhbGxWaXN1YWxJZGVu
dGlmaWNhdGlvbk92ZXJsYXlGb3JWaWV3SWZOZWVkZWQ6KGlkKXZpZXcga2luZDooTlNTdHJpbmcg
KilraW5kOwogQGVuZAogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395405</attachid>
            <date>2020-04-03 12:49:22 -0700</date>
            <delta_ts>2020-04-03 13:55:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209982-20200403124922.patch</filename>
            <type>text/plain</type>
            <size>22963</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE2ZGFjMDkyZWMzNThk
NDM1OTZkZTA0OWRkYjQ4MmU1ZGI4Y2QxOS4uM2UzNjIxZGRlNzUyNDc4YmFmMmIwYWI4MTQyYTcx
YzcyMmJjOGQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA0LTAzICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHZpc3Vh
bCBkZWJ1ZyBpbmRpY2F0b3IgZm9yIGxvY2F0aW5nIGFuZCBpZGVudGlmeWluZyBhbGwga2luZHMg
b2YgV2ViVmlld3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwOTk4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMzk4NzA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZGVidWcgb3Zlcmxh
eSB0aGF0IGNhbiBiZSBlbmFibGVkIHdpdGggYSBzaW5nbGUgc3dpdGNoIGZvciBhbGwKKyAgICAg
ICAgKldlYlZpZXcgdmFyaWFudHMsIHdoaWNoIGluZGljYXRlcyB0aGUgdHlwZSBvZiAqV2ViVmll
dyBpbiBhbiB1bm1pc3NhYmxlLAorICAgICAgICBnYXVkeSBmYXNoaW9uLgorCisgICAgICAgIFRo
aXMgaXMgaW50ZW5kZWQgdG8gYWRkcmVzcyBzb21lIHNob3J0Y29taW5ncyBvZiBleGlzdGluZyBt
ZWNoYW5pc21zCisgICAgICAgIHRoYXQgcGVvcGxlIHVzZSB0byBhbnN3ZXIgdGhlICJ3aGF0IGtp
bmQgb2Ygd2ViIHZpZXcgaXMgWCBhcHAgdXNpbmc/IgorICAgICAgICBxdWVzdGlvbi4gU3BlY2lm
aWNhbGx5OgorCisgICAgICAgIC0gaXQgd2lsbCBhcHBlYXIgZXZlbiBpZiB0aGUgV2ViIENvbnRl
bnQgcHJvY2VzcyBkb2VzIG5vdCBsYXVuY2ggb3IgY3Jhc2hlcworICAgICAgICAtIGl0IHdpbGwg
YXBwZWFyIGV2ZW4gaWYgYSBjdXN0b20gY29udGVudCB2aWV3IGlzIGJlaW5nIHVzZWQgKGUuZy4g
UERGKQorICAgICAgICAtIGl0IHdpbGwgYXBwZWFyIGV2ZW4gaWYgY29tcG9zaXRpbmcgaXMgbm90
IGVuYWJsZWQgKGUuZy4gaW4gYSBsZWdhY3kgV2ViVmlldyBvbiBtYWNPUykKKyAgICAgICAgLSBp
dCBleHBsaWNpdGx5IHN0YXRlcyBpbiB3cml0dGVuIHRleHQgdGhlIGNsYXNzIG5hbWUgb2YgdGhl
IHdlYiB2aWV3LCB3aXRoIG5vIG5lZWQgZm9yIGludGVycHJldGluZyBjb2xvcnMKKyAgICAgICAg
LSBpdCBjb3ZlcnMgdGhlIGVudGlyZSB3ZWIgdmlldywgc28gY2Fubm90IGJlIGFjY2lkZW50YWxs
eSBvYnNjdXJlZAorCisgICAgICAgIE5vIG5ldyB0ZXN0cywganVzdCBkZWJ1Z2dpbmcgVUkuCisK
KyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXkuaDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9jb2NvYS9X
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tOiBBZGRlZC4KKyAgICAgICAgKCtb
V2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBzaG91bGRJZGVudGlmeVdlYlZpZXdz
XSk6CisgICAgICAgIFVzZSBhIHNpbmdsZSBkZWZhdWx0IGFjcm9zcyBhbGwga2luZHMgb2YgV2Vi
Vmlld3MsIGluc3RlYWQgb2YgdXNpbmcKKyAgICAgICAgV2ViUHJlZmVyZW5jZXMgYW5kIGZyaWVu
ZHMsIGluIG9yZGVyIHRvIG1ha2UgaXQgZXh0cmVtZWx5IGVhc3kgdG8gdHVybiBvbiwKKyAgICAg
ICAgYW5kIGJlY2F1c2UgaXQncyBpbnRlbmRlZCB0byBiZSBzZXQgZ2xvYmFsbHksIGFuZCBpcyBu
b3QgdXNlZnVsIG9uIGEKKyAgICAgICAgcGVyLXZpZXcgYmFzaXMuCisKKyAgICAgICAgKCtbV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVk
OmtpbmQ6ZGVwcmVjYXRlZDpdKToKKyAgICAgICAgKC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheSBpbml0V2l0aFdlYlZpZXc6a2luZDpkZXByZWNhdGVkOl0pOgorICAgICAgICAo
LVtXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IGRlYWxsb2NdKToKKyAgICAgICAg
KC1bV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBvYnNlcnZlVmFsdWVGb3JLZXlQ
YXRoOm9mT2JqZWN0OmNoYW5nZTpjb250ZXh0Ol0pOgorICAgICAgICAoLVtXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5IGRyYXdMYXllcjppbkNvbnRleHQ6XSk6CisgICAgICAgIERy
YXcgYSB3YXNoIGFuZCB0aGUgY2xhc3MgbmFtZSBvdmVyIHRoZSBlbnRpcmUgZmFjZSBvZiB0aGUg
d2ViIHZpZXcuCisgICAgICAgIFRoZSB3YXNoIGlzIGJsdWUgZm9yIFdLV2ViVmlldyBhbmQgcmVk
IGZvciBhbGwgb2YgdGhlIGRlcHJlY2F0ZWQgd2ViIHZpZXdzIChXS1ZpZXcsIFdlYlZpZXcsIFVJ
V2ViVmlldykuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20gTUlNRSB0eXBlIGNhY2hlIGNhbiBiZSBy
ZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2QyMTQzMDVmZWZmOWRiYTI1MmFjOGUz
ZmU0ZDFkNmYzNTJkODVhZC4uYjE4NTY1ZDQzNTU3NzlkNmEyZTA0OGQ3ZDE1NDRjMmQwMDhhNDY4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNC0wMyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSB2aXN1YWwgZGVidWcgaW5k
aWNhdG9yIGZvciBsb2NhdGluZyBhbmQgaWRlbnRpZnlpbmcgYWxsIGtpbmRzIG9mIFdlYlZpZXdz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk5ODIK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMzM5ODcwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9u
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1b
V0tWaWV3IGluaXRXaXRoRnJhbWU6cHJvY2Vzc1Bvb2w6Y29uZmlndXJhdGlvbjpdKToKKyAgICAg
ICAgQWRvcHQgaW4gV0tXZWJWaWV3IGFuZCBXS1ZpZXcuCisKIDIwMjAtMDQtMDEgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVVRJIGZyb20g
TUlNRSB0eXBlIGNhY2hlIGNhbiBiZSByZW1vdmVkIGFmdGVyIHIyNTg5MTUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCBiOTdiNTU0YTgwNDY1ODQ1Y2NmY2NiZjViYTY4MjIwNGMxMjM1
MmI3Li43OTRhMmY1YzRmOTExNzdlNjlmMjVhZjNhNDAxN2E3YzgxNTY5YTg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDQtMDMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgdmlzdWFsIGRl
YnVnIGluZGljYXRvciBmb3IgbG9jYXRpbmcgYW5kIGlkZW50aWZ5aW5nIGFsbCBraW5kcyBvZiBX
ZWJWaWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5OTgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MDMzOTg3MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKyAgICAgICAgQWRvcHQgZm9yIFdlYlZpZXcgb24gbWFjT1MgKFVJV2ViVmll
dyB3aWxsIGluc3RhbGwgaXQgaXRzZWxmIG9uIGlPUykuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXdQcml2YXRlLmg6CisgICAgICAgIEV4cG9zZSBfaW5zdGFsbFZpc3VhbElkZW50aWZpY2F0
aW9uT3ZlcmxheUZvclZpZXdJZk5lZWRlZDpraW5kOiBmb3IgVUlXZWJWaWV3J3MgdXNlLgorICAg
ICAgICBJdCBpcyBzbGlnaHRseSB1bmZvcnR1bmF0ZSB0byBleHBvc2UgU1BJIHRoYXQgdXNlcyBV
SVZpZXcgZnJvbSBhIGZyYW1ld29yaworICAgICAgICB1bmRlcm5lYXRoIFVJS2l0LCBidXQgdGhl
cmUgaXMgbm8gb3RoZXIgc2luZ2xlIHBsYWNlIHdoZXJlIHRoaXMgY29kZSBjYW4gbGl2ZQorICAg
ICAgICBhbmQgbm90IGJlIGEgbWlub3IgbGF5ZXJpbmcgcHJvYmxlbS4gU2luY2UgaXQncyBkZWJ1
ZyBVSSwgaXQgc2VlbXMgcGFzc2FibGUuCisKIDIwMjAtMDMtMzEgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRGF0YWxpc3Qgb3B0aW9uJ3MgbGFiZWwg
bm90IHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGExZmJmOTUyODc4MDE1YTM2N2Zm
ZTMyZDRmMGM5OTYxZmFhZDUzN2EuLmZmYzYxYjQ4NjU1MjBkZmE3N2VkYTRiYTRkMDk3NjJkNjJl
ZWIzMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNTc4LDYgKzU3OCw4IEBAIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbQogCiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAK
IAordGVzdGluZy9jb2NvYS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lm1tCisK
IC8vIERlcml2ZWQgU291cmNlcwogCiBXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGQ0Mzc5MThjYWJhNzMzZmZiNjNmM2EwN2I0OGVhMGY0NDUzY2VhNzguLjMxY2FmMjVk
MzE2OWYzYmYwYWU1M2QyZDc5ZTE3ZjkzNzRmMWQ3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc1Myw2ICs3NTMsNyBAQAog
CQkyRDZGM0U5MTFDMUVDQjJGMDA2MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U4QjFDMUVDQjFDMDA2
MURCRDQgLyogTW9ja1BhZ2VPdmVybGF5LmggKi87IH07CiAJCTJENzBCQTEzMTgwNzREREYwMDAx
OTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3MEJBMTIxODA3NERERjAwMDE5MDhBIC8qIFBsYXRmb3Jt
Q0FMYXllckNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMkQ3NkJCODIxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ3NkJCODAxOTQ1
NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEN0RBMEYyMjQzNUVCMTkwMEYwNDhEMSAvKiBX
ZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEN0VEMEFCMUJBRTk5MTcwMDQzQjNFNSAvKiBU
aW1lckV2ZW50QmFzZWRNb2NrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDdFRDBBOTFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oICovOyB9OwogCQkyRDgxRTFDRjIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEODFFMUNEMjFBNzhDQzIwMEEzMkNGNCAvKiBJbnNlcnRFZGl0YWJsZUltYWdlQ29tbWFu
ZC5oICovOyB9OwogCQkyRDgyODdGNzE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDgyODdG
NTE2RTRBMDM4MDA4NkJEMDAgLyogSGl0VGVzdExvY2F0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTY4NjMsNiArNjg2NCw4IEBACiAJCTJE
NzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODAxOTQ1NjMyNDAwQ0ZEMjlBIC8qIFJ1bkxvb3BP
YnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSdW5Mb29wT2JzZXJ2
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3NkJCODMxOTQ1NkY4MTAwQ0ZE
MjlBIC8qIFJ1bkxvb3BPYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSdW5Mb29wT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDdEQTBFRjI0MzVFQjE3MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9u
T3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWV3VmlzdWFs
SWRlbnRpZmljYXRpb25PdmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
N0RBMEYxMjQzNUVCMTgwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVy
bGF5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVmlld1Zp
c3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQ3RUQwQTkxQkFFOTkxNzAwNDNCM0U1IC8qIFRpbWVyRXZlbnRCYXNlZE1vY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGltZXJFdmVudEJhc2VkTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDgxRTFDQjIxQTc4Q0MxMDBBMzJDRjQgLyogSW5z
ZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zZXJ0RWRpdGFibGVJbWFnZUNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRDgxRTFDRDIxQTc4Q0MyMDBBMzJDRjQgLyogSW5zZXJ0RWRpdGFibGVJ
bWFnZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zZXJ0RWRp
dGFibGVJbWFnZUNvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyOTY1
LDYgKzIyOTY4LDggQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUExNzYzRjNEMUUyMDUyMzQwMDFE
NThERSAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLywKIAkJCQlBMTc2M0YzQzFFMjA1MjM0
MDAxRDU4REUgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lm1tICovLAorCQkJCTJEN0RBMEVGMjQz
NUVCMTcwMEYwNDhEMSAvKiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5LmggKi8s
CisJCQkJMkQ3REEwRjEyNDM1RUIxODAwRjA0OEQxIC8qIFdlYlZpZXdWaXN1YWxJZGVudGlmaWNh
dGlvbk92ZXJsYXkubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTMzNDQ3LDYgKzMzNDUyLDcgQEAKIAkJCQkzMURFQTQ1NjFCMzlG
NEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY1ODBGQTMxNDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVkQmFja2luZ0xheWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQkzRjQyQjMxRDE4ODExOTFCMDAyNzhBQUMgLyogV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDdEQTBGMjI0MzVF
QjE5MDBGMDQ4RDEgLyogV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjEyMTcxRjYxNkE4Q0YwQjAwMDA1M0NBIC8qIFdlYlZUVEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTVEMjFBODAzMTNFQ0U1REYwMEJCNzA2NCAvKiBXZWJWVFRQ
YXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxMEI2OTgwMTQwQzE3NDAwMEJDMUMyNiAvKiBX
ZWJWVFRUb2tlbi5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zlcmxh
eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg1M2IwMDQ3M2U1ZjlhZTg3NTc0NzQwYzVkMmQxZDJiNjQxYzMzYjIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdW
aXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBQTEFURk9STShDT0NPQSkKKworI2lmIFVTRShBUFBLSVQp
CisjaW5jbHVkZSA8QXBwS2l0L0FwcEtpdC5oPgorI2Vsc2UKKyNpbmNsdWRlIDxVSUtpdC9VSUtp
dC5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtVmlldy5oPgorCitXRUJD
T1JFX0VYUE9SVAorQGludGVyZmFjZSBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5
IDogTlNPYmplY3QKKworKyAodm9pZClpbnN0YWxsRm9yV2ViVmlld0lmTmVlZGVkOihQbGF0Zm9y
bVZpZXcgKil2aWV3IGtpbmQ6KE5TU3RyaW5nICopa2luZCBkZXByZWNhdGVkOihCT09MKWlzRGVw
cmVjYXRlZDsKKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlv
bk92ZXJsYXkubW0gYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2NvY29hL1dlYlZpZXdWaXN1YWxJ
ZGVudGlmaWNhdGlvbk92ZXJsYXkubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdlYjZmMjMzZGI5YWM3OGZjYWQ4
NTBmZmZmMDYxYTljYWU4ZGU2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvY29jb2EvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5tbQpAQCAtMCww
ICsxLDE3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV2Vi
Vmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheS5oIgorCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisKKyNpbXBvcnQgIkNvbG9yLmgiCisjaW1wb3J0ICJXZWJDb3JlQ0FMYXllckV4dHJhcy5oIgor
I2ltcG9ydCA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5o
PgorCisjaW1wb3J0IDxwYWwvaW9zL1VJS2l0U29mdExpbmsuaD4KKworc3RhdGljIHZvaWQgKmJv
dW5kc09ic2VydmF0aW9uQ29udGV4dCA9ICZib3VuZHNPYnNlcnZhdGlvbkNvbnRleHQ7CisKK0Bp
bnRlcmZhY2UgV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSAoKSA8Q0FMYXllckRl
bGVnYXRlPgorQGVuZAorCitjb25zdCB2b2lkKiBjb25zdCB3ZWJWaWV3VmlzdWFsSWRlbnRpZmlj
YXRpb25PdmVybGF5S2V5ID0gJndlYlZpZXdWaXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXlLZXk7
CisKK0BpbXBsZW1lbnRhdGlvbiBXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5IHsK
KyAgICBSZXRhaW5QdHI8UGxhdGZvcm1WaWV3PiBfdmlldzsKKworICAgIFJldGFpblB0cjxDQUxh
eWVyPiBfbGF5ZXI7CisgICAgUmV0YWluUHRyPE5TU3RyaW5nPiBfa2luZDsKK30KKworKyAoQk9P
TClzaG91bGRJZGVudGlmeVdlYlZpZXdzCit7CisgICAgc3RhdGljIE9wdGlvbmFsPEJPT0w+IHNo
b3VsZElkZW50aWZ5V2ViVmlld3M7CisgICAgaWYgKCFzaG91bGRJZGVudGlmeVdlYlZpZXdzKQor
ICAgICAgICBzaG91bGRJZGVudGlmeVdlYlZpZXdzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gYm9vbEZvcktleTpAIldlYktpdERlYnVnSWRlbnRpZnlXZWJWaWV3cyJd
OworICAgIHJldHVybiAqc2hvdWxkSWRlbnRpZnlXZWJWaWV3czsKK30KKworKyAodm9pZClpbnN0
YWxsRm9yV2ViVmlld0lmTmVlZGVkOihQbGF0Zm9ybVZpZXcgKil2aWV3IGtpbmQ6KE5TU3RyaW5n
ICopa2luZCBkZXByZWNhdGVkOihCT09MKWlzRGVwcmVjYXRlZAoreworICAgIGlmICghW3NlbGYg
c2hvdWxkSWRlbnRpZnlXZWJWaWV3c10pCisgICAgICAgIHJldHVybjsKKyAgICBhdXRvIG92ZXJs
YXkgPSBhZG9wdE5TKFtbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBhbGxvY10g
aW5pdFdpdGhXZWJWaWV3OnZpZXcga2luZDpraW5kIGRlcHJlY2F0ZWQ6aXNEZXByZWNhdGVkXSk7
CisgICAgb2JqY19zZXRBc3NvY2lhdGVkT2JqZWN0KHNlbGYsIHdlYlZpZXdWaXN1YWxJZGVudGlm
aWNhdGlvbk92ZXJsYXlLZXksIG92ZXJsYXkuZ2V0KCksIE9CSkNfQVNTT0NJQVRJT05fUkVUQUlO
X05PTkFUT01JQyk7Cit9CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFdlYlZpZXc6KFBsYXRm
b3JtVmlldyAqKXdlYlZpZXcga2luZDooTlNTdHJpbmcgKilraW5kIGRlcHJlY2F0ZWQ6KEJPT0wp
aXNEZXByZWNhdGVkCit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKKyAgICBpZiAoIXNlbGYp
CisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfa2luZCA9IGtpbmQ7CisKKyNpZiBVU0UoQVBQ
S0lUKQorICAgIF92aWV3ID0gYWRvcHROUyhbW05TVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTp3
ZWJWaWV3LmJvdW5kc10pOworICAgIFtfdmlldyBzZXRXYW50c0xheWVyOllFU107CisgICAgW192
aWV3IHNldEF1dG9yZXNpemluZ01hc2s6TlNWaWV3V2lkdGhTaXphYmxlIHwgTlNWaWV3SGVpZ2h0
U2l6YWJsZV07CisjZWxzZQorICAgIF92aWV3ID0gYWRvcHROUyhbUEFMOjphbGxvY1VJVmlld0lu
c3RhbmNlKCkgaW5pdFdpdGhGcmFtZTp3ZWJWaWV3LmJvdW5kc10pOworICAgIFtfdmlldyBzZXRV
c2VySW50ZXJhY3Rpb25FbmFibGVkOk5PXTsKKyAgICBbX3ZpZXcgc2V0QXV0b3Jlc2l6aW5nTWFz
azpVSVZpZXdBdXRvcmVzaXppbmdGbGV4aWJsZVdpZHRoIHwgVUlWaWV3QXV0b3Jlc2l6aW5nRmxl
eGlibGVIZWlnaHRdOworI2VuZGlmCisgICAgW3dlYlZpZXcgYWRkU3Vidmlldzpfdmlldy5nZXQo
KV07CisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKyAgICBfa2luZCA9IFtfa2luZCBzdHJp
bmdCeUFwcGVuZGluZ1N0cmluZzpAIiAobWFjQ2F0YWx5c3QpIl07CisjZW5kaWYKKworICAgIF9s
YXllciA9IGFkb3B0TlMoW1tDQVRpbGVkTGF5ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbX2xheWVy
IHNldE5hbWU6QCJXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Il07CisgICAgW19s
YXllciBzZXRGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIFtfdmlldyBib3VuZHNdLnNpemUud2lkdGgs
IFtfdmlldyBib3VuZHNdLnNpemUuaGVpZ2h0KV07CisgICAgV2ViQ29yZTo6Q29sb3Igdmlld0Nv
bG9yID0gaXNEZXByZWNhdGVkID8gV2ViQ29yZTo6Q29sb3IoMjU1LCAwLCAwLCAzMikgOiBXZWJD
b3JlOjpDb2xvcigwLCAwLCAyNTUsIDMyKTsKKyAgICBbX2xheWVyIHNldEJhY2tncm91bmRDb2xv
cjpjYWNoZWRDR0NvbG9yKHZpZXdDb2xvcildOworICAgIFtfbGF5ZXIgc2V0WlBvc2l0aW9uOjk5
OV07CisgICAgW19sYXllciBzZXREZWxlZ2F0ZTpzZWxmXTsKKyAgICBbX2xheWVyIHdlYl9kaXNh
YmxlQWxsQWN0aW9uc107CisgICAgW1tfdmlldyBsYXllcl0gYWRkU3VibGF5ZXI6X2xheWVyLmdl
dCgpXTsKKworICAgIFtbX3ZpZXcgbGF5ZXJdIGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpA
ImJvdW5kcyIgb3B0aW9uczowIGNvbnRleHQ6Ym91bmRzT2JzZXJ2YXRpb25Db250ZXh0XTsKKwor
ICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbW192aWV3IGxh
eWVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJib3VuZHMiIGNvbnRleHQ6Ym91
bmRzT2JzZXJ2YXRpb25Db250ZXh0XTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAo
dm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6
KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeTxOU0tleVZhbHVlQ2hhbmdlS2V5LCBpZD4g
KiljaGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRleHQKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5
UGF0aCk7CisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7CisgICAgVU5VU0VEX1BBUkFNKGNoYW5n
ZSk7CisgICAgaWYgKGNvbnRleHQgPT0gYm91bmRzT2JzZXJ2YXRpb25Db250ZXh0KSB7CisgICAg
ICAgIFtfbGF5ZXIgc2V0RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCBbX3ZpZXcgYm91bmRzXS5zaXpl
LndpZHRoLCBbX3ZpZXcgYm91bmRzXS5zaXplLmhlaWdodCldOworICAgICAgICBbX2xheWVyIHNl
dE5lZWRzRGlzcGxheV07CisgICAgfQorfQorCitzdGF0aWMgQ1RGb250UmVmIGlkZW50aWZpY2F0
aW9uRm9udCgpCit7CisgICAgYXV0byBtYXRyaXggPSBDR0FmZmluZVRyYW5zZm9ybUlkZW50aXR5
OworICAgIHJldHVybiAoQ1RGb250UmVmKUNGQXV0b3JlbGVhc2UoQ1RGb250Q3JlYXRlV2l0aE5h
bWUoQ0ZTVFIoIkhlbHZldGljYSIpLCAyMCwgJm1hdHJpeCkpOworfQorCitjb25zdGV4cHIgQ0dG
bG9hdCBob3Jpem9udGFsTWFyZ2luID0gMTU7Citjb25zdGV4cHIgQ0dGbG9hdCB2ZXJ0aWNhbE1h
cmdpbiA9IDU7CisKK3N0YXRpYyB2b2lkIGRyYXdQYXR0ZXJuKHZvaWQgKm92ZXJsYXlQdHIsIENH
Q29udGV4dFJlZiBjdHgpCit7CisgICAgV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zlcmxh
eSAqb3ZlcmxheSA9IChXZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5ICopb3Zlcmxh
eVB0cjsKKworICAgIGF1dG8gYXR0cmlidXRlcyA9IEB7CisgICAgICAgIChpZClrQ1RGb250QXR0
cmlidXRlTmFtZSA6IChpZClpZGVudGlmaWNhdGlvbkZvbnQoKSwKKyAgICAgICAgKGlkKWtDVEZv
cmVncm91bmRDb2xvckZyb21Db250ZXh0QXR0cmlidXRlTmFtZSA6IEBZRVMKKyAgICB9OworICAg
IGF1dG8gYXR0cmlidXRlZFN0cmluZyA9IGFkb3B0Q0YoQ0ZBdHRyaWJ1dGVkU3RyaW5nQ3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilvdmVybGF5LT5fa2lu
ZC5nZXQoKSwgKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzKSk7CisgICAgYXV0
byBsaW5lID0gYWRvcHRDRihDVExpbmVDcmVhdGVXaXRoQXR0cmlidXRlZFN0cmluZyhhdHRyaWJ1
dGVkU3RyaW5nLmdldCgpKSk7CisKKyAgICBDR1NpemUgdGV4dFNpemUgPSBbb3ZlcmxheS0+X2tp
bmQgc2l6ZVdpdGhBdHRyaWJ1dGVzOmF0dHJpYnV0ZXNdOworCisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyAgICBDR0NvbnRleHRTY2FsZUNUTShjdHgsIDEsIC0xKTsKKyAgICBDR0NvbnRleHRU
cmFuc2xhdGVDVE0oY3R4LCAwLCAtKHRleHRTaXplLmhlaWdodCArIHZlcnRpY2FsTWFyZ2luKSAq
IDIpOworI2VuZGlmCisKKyAgICBDR0NvbnRleHRTZXRUZXh0RHJhd2luZ01vZGUoY3R4LCBrQ0dU
ZXh0RmlsbCk7CisKKyAgICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY3R4LCAwLCAwKTsKKyAg
ICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY3R4LCBjYWNoZWRDR0NvbG9yKFdlYkNv
cmU6OkNvbG9yOjpibGFjaykpOworICAgIENUTGluZURyYXcobGluZS5nZXQoKSwgY3R4KTsKKwor
ICAgIENHQ29udGV4dFNldFRleHRQb3NpdGlvbihjdHgsIDAsIHRleHRTaXplLmhlaWdodCArIDUp
OworICAgIENHQ29udGV4dFNldEZpbGxDb2xvcldpdGhDb2xvcihjdHgsIGNhY2hlZENHQ29sb3Io
V2ViQ29yZTo6Q29sb3I6OndoaXRlKSk7CisgICAgQ1RMaW5lRHJhdyhsaW5lLmdldCgpLCBjdHgp
OworfQorCistICh2b2lkKWRyYXdMYXllcjooQ0FMYXllciAqKWxheWVyIGluQ29udGV4dDooQ0dD
b250ZXh0UmVmKWN0eAoreworICAgIENHUGF0dGVybkNhbGxiYWNrcyBjYWxsYmFja3MgPSB7IDAs
ICZkcmF3UGF0dGVybiwgbnVsbHB0ciB9OworICAgIGF1dG8gcGF0dGVyblNwYWNlID0gYWRvcHRD
RihDR0NvbG9yU3BhY2VDcmVhdGVQYXR0ZXJuKG51bGxwdHIpKTsKKyAgICBDR0NvbnRleHRTZXRG
aWxsQ29sb3JTcGFjZShjdHgsIHBhdHRlcm5TcGFjZS5nZXQoKSk7CisKKyAgICBDR1NpemUgdGV4
dFNpemUgPSBbX2tpbmQgc2l6ZVdpdGhBdHRyaWJ1dGVzOkB7IChpZClrQ1RGb250QXR0cmlidXRl
TmFtZSA6IChpZClpZGVudGlmaWNhdGlvbkZvbnQoKSB9XTsKKyAgICBDR1NpemUgcGF0dGVyblNp
emUgPSBDR1NpemVNYWtlKHRleHRTaXplLndpZHRoICsgaG9yaXpvbnRhbE1hcmdpbiwgKHRleHRT
aXplLmhlaWdodCArIHZlcnRpY2FsTWFyZ2luKSAqIDIpOworICAgIGF1dG8gcGF0dGVybiA9IGFk
b3B0Q0YoQ0dQYXR0ZXJuQ3JlYXRlKHNlbGYsIGxheWVyLmJvdW5kcywgQ0dBZmZpbmVUcmFuc2Zv
cm1NYWtlUm90YXRpb24oTV9QSV80KSwgcGF0dGVyblNpemUud2lkdGgsIHBhdHRlcm5TaXplLmhl
aWdodCwga0NHUGF0dGVyblRpbGluZ05vRGlzdG9ydGlvbiwgdHJ1ZSwgJmNhbGxiYWNrcykpOwor
ICAgIENHRmxvYXQgYWxwaGEgPSAwLjU7CisgICAgQ0dDb250ZXh0U2V0RmlsbFBhdHRlcm4oY3R4
LCBwYXR0ZXJuLmdldCgpLCAmYWxwaGEpOworCisgICAgQ0dDb250ZXh0RmlsbFJlY3QoY3R4LCBs
YXllci5ib3VuZHMpOworfQorCitAZW5kCisKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDUz
YTBmOTliNTMxMjUzYWI1MWQ1YjQyN2I0ZWQ3ODU3MjU3N2YwMGEuLmM0ZDA2ZmI1ODBlMDI1YzRm
OGYzOTAwN2QxYjQ0YjcyNmJmM2I1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTI3LDYgKzEyNyw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL1N0cmluZ1V0aWxpdGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0TWFuaXB1bGF0aW9u
Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgorI2lt
cG9ydCA8V2ViQ29yZS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1dyaXRpbmdNb2RlLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9IYXNoTWFwLmg+CkBAIC00MDQsNiArNDA1LDggQEAgLSAodm9pZClfaW5pdGlh
bGl6ZVdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJh
dGlvbgogCiAgICAgcGFnZVRvVmlld01hcCgpLmFkZChfcGFnZS5nZXQoKSwgc2VsZik7CiAKKyAg
ICBbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lm
TmVlZGVkOnNlbGYga2luZDpAIldLV2ViVmlldyIgZGVwcmVjYXRlZDpOT107CisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIGF1dG8gdGltZU5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygp
OwogICAgIF90aW1lT2ZSZXF1ZXN0Rm9yVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlID0gdGltZU5v
dzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggYjQyNzU3
Zjk1NjYwMzFhNjBmMDZlYWQyYzVlMTM4ZDk4ZGQ1Y2FhYS4uMjZjOGMyNDhjNWIzZmQxYmE2MGI0
N2FjMjRlNDM4MTE5ZjY5NmRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL21hYy9XS1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9X
S1ZpZXcubW0KQEAgLTQzLDYgKzQzLDcgQEAKICNpbXBvcnQgIldlYlByb2Nlc3NQb29sLmgiCiAj
aW1wb3J0ICJXZWJWaWV3SW1wbC5oIgogI2ltcG9ydCAiX1dLTGlua0ljb25QYXJhbWV0ZXJzSW50
ZXJuYWwuaCIKKyNpbXBvcnQgPFdlYkNvcmUvV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3Zl
cmxheS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL2NvY29hL0FWS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
QEAgLTk2Myw2ICs5NjQsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0
KWZyYW1lIHByb2Nlc3NQb29sOihOYWtlZFJlZjxXZWJLaXQ6OldlYlBybwogICAgIF9kYXRhLT5f
aW1wbCA9IG1ha2VVbmlxdWU8V2ViS2l0OjpXZWJWaWV3SW1wbD4oc2VsZiwgbnVsbHB0ciwgcHJv
Y2Vzc1Bvb2wuZ2V0KCksIFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogCiAgICAgW3NlbGYgbWF5
YmVJbnN0YWxsSWNvbkxvYWRpbmdDbGllbnRdOworICAgIFtXZWJWaWV3VmlzdWFsSWRlbnRpZmlj
YXRpb25PdmVybGF5IGluc3RhbGxGb3JXZWJWaWV3SWZOZWVkZWQ6c2VsZiBraW5kOkAiV0tWaWV3
IiBkZXByZWNhdGVkOllFU107CiAKICAgICByZXR1cm4gc2VsZjsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjMzU5NTIxYzZkZGM3N2Y2NmExMzU2
Y2FhMTkxZjY1ODcwM2VmZGE5Li5lYzY2Y2Y1YTE4MTg4ODdkZDZlMDI2ODBiZDkyMGZiNTZlOTZm
NmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0y
MjEsNiArMjIxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlVmlldy5oPgorI2ltcG9ydCA8V2ViQ29yZS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25P
dmVybGF5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpZGdldC5oPgogI2ltcG9ydCA8V2ViS2l0TGVn
YWN5L0RPTS5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RPTUV4dGVuc2lvbnMuaD4KQEAgLTE2
MDAsNiArMTYwMSwxMCBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5h
bWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogI2VuZGlmCiAKICAgICBf
cHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3MoKS5zZXRDb250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50
U2FuZGJveEVuYWJsZWQodHJ1ZSk7CisKKyNpZiBQTEFURk9STShNQUMpCisgICAgW1dlYlZpZXdW
aXN1YWxJZGVudGlmaWNhdGlvbk92ZXJsYXkgaW5zdGFsbEZvcldlYlZpZXdJZk5lZWRlZDpzZWxm
IGtpbmQ6QCJXZWJWaWV3IiBkZXByZWNhdGVkOllFU107CisjZW5kaWYKIH0KIAogLSAoaWQpX2lu
aXRXaXRoRnJhbWU6KE5TUmVjdClmIGZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3Jv
dXBOYW1lOihOU1N0cmluZyAqKWdyb3VwTmFtZQpAQCAtMTAyMjAsNiArMTAyMjUsMTEgQEAgLSAo
dm9pZClyZXZlYWxDdXJyZW50U2VsZWN0aW9uCiAgICAgICAgIHBhZ2UtPnJldmVhbEN1cnJlbnRT
ZWxlY3Rpb24oKTsKIH0KIAorLSAodm9pZClfaW5zdGFsbFZpc3VhbElkZW50aWZpY2F0aW9uT3Zl
cmxheUZvclZpZXdJZk5lZWRlZDooaWQpdmlldyBraW5kOihOU1N0cmluZyAqKWtpbmQKK3sKKyAg
ICBbV2ViVmlld1Zpc3VhbElkZW50aWZpY2F0aW9uT3ZlcmxheSBpbnN0YWxsRm9yV2ViVmlld0lm
TmVlZGVkOnN0YXRpY19jYXN0PFVJVmlldyAqPih2aWV3KSBraW5kOmtpbmQgZGVwcmVjYXRlZDpZ
RVNdOworfQorCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDI1NTY0NmZjMGYxNzYxZDRlYmZlMGM5NzRm
YzM4N2JjZTU4ZGE4MjcuLjk2ZjNkNTY3MmUyNDg3YmFlN2FiYWZlMjEzYjU2MDNlMWQxMzUwMjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRl
LmgKQEAgLTEwODgsNiArMTA4OCw5IEBAIHR5cGVkZWYgc3RydWN0IFdlYkVkZ2VJbnNldHMgewog
QGludGVyZmFjZSBXZWJWaWV3IChXZWJWaWV3SU9TQWRkaXRpb25zKQogLSAoTlNBcnJheTxET01F
bGVtZW50ICo+ICopX2VkaXRhYmxlRWxlbWVudHNJblJlY3Q6KENHUmVjdClyZWN0OwogLSAodm9p
ZClyZXZlYWxDdXJyZW50U2VsZWN0aW9uOworCisvLyBWaWV3IG11c3QgYmUgYSBVSVZpZXcuCist
ICh2b2lkKV9pbnN0YWxsVmlzdWFsSWRlbnRpZmljYXRpb25PdmVybGF5Rm9yVmlld0lmTmVlZGVk
OihpZCl2aWV3IGtpbmQ6KE5TU3RyaW5nICopa2luZDsKIEBlbmQKIAogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>