<?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>131821</bug_id>
          
          <creation_ts>2014-04-17 15:14:16 -0700</creation_ts>
          <short_desc>[iOS] Hook up screen.{availHeight, availWidth, height, width}</short_desc>
          <delta_ts>2014-04-18 10:21:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001712</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 15:14:16 -0700</bug_when>
    <thetext>Currently querying properties window.screen.{availHeight, availWidth, height, width} always returns 0 in WebKit2 on iOS. We should hook up the platform-specific logic so that these properties return the actual screen size and available screen size dimensions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001713</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 15:14:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/16413795&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001728</commentid>
    <comment_count>2</comment_count>
      <attachid>229586</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 15:38:16 -0700</bug_when>
    <thetext>Created attachment 229586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001730</commentid>
    <comment_count>3</comment_count>
      <attachid>229587</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 15:45:33 -0700</bug_when>
    <thetext>Created attachment 229587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001740</commentid>
    <comment_count>4</comment_count>
      <attachid>229587</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 16:12:31 -0700</bug_when>
    <thetext>Comment on attachment 229587
Patch

After talking with Tim Horton in-person today, it&apos;s sufficient to use WKGetViewportScreenSize() and the associated WebKit2 logic for the screen size. We can take a similar approach for exposing the available screen size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001779</commentid>
    <comment_count>5</comment_count>
      <attachid>229603</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 17:54:02 -0700</bug_when>
    <thetext>Created attachment 229603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001808</commentid>
    <comment_count>6</comment_count>
      <attachid>229603</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-17 18:53:52 -0700</bug_when>
    <thetext>Comment on attachment 229603
Patch

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

Why does the code use the name &quot;viewportAvailableScreenSize&quot;? The screen size is completely orthogonal to the viewport?

&gt; Source/WebKit/ios/WebCoreSupport/WebChromeClientIOS.mm:182
&gt; +    return FloatSize(WKGetViewportAvailableScreenSize());

Probably ASSERT_NOT_REACHED here.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:4151
&gt;      parameters.viewportScreenSize = viewportScreenSize();
&gt; +    parameters.viewportAvailableScreenSize = viewportAvailableScreenSize();

Let&apos;s unify this, name it screenSize, and push it to the viewport.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001825</commentid>
    <comment_count>7</comment_count>
      <attachid>229617</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 20:15:31 -0700</bug_when>
    <thetext>Created attachment 229617
Patch

Updated patch based on Benjamin Poulain&apos;s remarks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001827</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-17 20:51:48 -0700</bug_when>
    <thetext>Committed r167481: &lt;http://trac.webkit.org/changeset/167481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001941</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-04-18 10:21:11 -0700</bug_when>
    <thetext>Sorted added entries to WebCore.exp.in and substituted _wkGetAvailableScreenSize for _wkGetViewportAvailableScreenSize in the ChangeLog entry for &lt;http://trac.webkit.org/changeset/167481&gt; and committed this fix in &lt;http://trac.webkit.org/changeset/167493&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229586</attachid>
            <date>2014-04-17 15:38:16 -0700</date>
            <delta_ts>2014-04-17 15:45:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131821-20140417153753.patch</filename>
            <type>text/plain</type>
            <size>12632</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljZjM0NWY5MWRiZGQ4
ZmMzMGI3Yzc5OTE3MDYwMTcwMjc4ODhhMC4uNzliODg0MTJlNDU0ZmZlMWVhZmIzN2U0Yjk0ZGRl
Mjc1MjJhMjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA0LTE3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBIb29rIHVwIHNj
cmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwgd2lkdGh9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4MjEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciBzY3JlZW4ue2F2YWlsSGVpZ2h0
LCBhdmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofSBpbiBXZWJLaXQyIGZvciBpT1MuCisKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNjcmVlblNp
emUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6YXZhaWxhYmxlU2NyZWVuU2l6
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjp3aW5kb3dTY3JlZW5TaXplRGlk
Q2hhbmdlKTogQWRkZWQ7IGNhbGxlZCB0byB1cGRhdGUgdGhlIGNhY2hlZCBzY3JlZW4KKyAgICAg
ICAgc2l6ZSBhbmQgYXZhaWxhYmxlIHNjcmVlbiBzaXplIGRpbWVuc2lvbnMuCisgICAgICAgICog
cGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6IE1vZGlmaWVkIHRvIHF1ZXJ5IEhvc3RXaW5kb3c6OnNjcmVlblNpemUoKSB3
aGVuIGNvbXB1dGluZyB0aGUKKyAgICAgICAgc2NyZWVuIHJlY3RhbmdsZSBpbiBXZWJLaXQyIGZv
ciBpT1MuCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KTogTW9kaWZpZWQg
dG8gcXVlcnkgSG9zdFdpbmRvdzo6YXZhaWxhYmxlU2NyZWVuU2l6ZSgpCisgICAgICAgIHdoZW4g
Y29tcHV0aW5nIHRoZSBhdmFpbGFibGUgc2NyZWVuIHJlY3RhbmdsZSBpbiBXZWJLaXQyIGZvciBp
T1MuCisKIDIwMTQtMDQtMDkgIEJyZW5kYW4gTG9uZyAgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgog
CiAgICAgICAgIFtHU3RyZWFtZXJdIEV4cG9zZSBNUEVHLVRTIG1ldGFkYXRhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOGY3MDk1YzMxMDhiZDg0MmU5MzFlNTI5NTIwODM2MDI2OGE0NjMzZS4uYjE3MzlkYjJlZGRi
MmQ5MzJlYWMzZDJjNzYyZDVmOGRmNDI4MWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBA
CisyMDE0LTA0LTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBIb29rIHVwIHNjcmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwg
d2lkdGh9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzE4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlYWNoIFdLQ29udGVudFZpZXcgdG8g
bm90aWZ5IHRoZSB3ZWIgcGFnZSBvbiBpbml0aWFsaXphdGlvbiBhbmQKKyAgICAgICAgb24gc2Ny
ZWVuIHVwZGF0ZSBub3RpZmljYXRpb25zIG9mIHRoZSBzY3JlZW4gc2l6ZSBhbmQgYXZhaWxhYmxl
CisgICAgICAgIHNjcmVlbiBzaXplIHNvIHRoYXQgdGhlIHdlYiBwYWdlIGNhbiBleHBvc2Ugc3Vj
aCBkaW1lbnNpb25zIHZpYQorICAgICAgICB0aGUgSmF2YVNjcmlwdCBzY3JlZW4gb2JqZWN0Lgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6d2luZG93U2NyZWVuU2l6ZURpZENoYW5nZSk6IEFkZGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5pdFdpdGhGcmFtZTpj
b250ZXh0OldlYktpdDo6Y29uZmlndXJhdGlvbjpXZWJLaXQ6OndlYlZpZXc6XSk6CisgICAgICAg
IE1vZGlmaWVkIHRvIGNhbGwgV2ViUGFnZVByb3h5Ojp3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdl
KCkgdG8gbm90aWZ5IHRoZSBXZWJQcm9jZXNzCisgICAgICAgIG9mIHRoZSBpbml0aWFsIHNjcmVl
biBhbmQgYXZhaWxhYmxlIHNjcmVlbiBkaW1lbnNpb25zLgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF91cGRhdGVGb3JTY3JlZW46XSk6IE1vZGlmaWVkIHRvIGNhbGwgV2ViUGFnZVByb3h5Ojp3
aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKCkKKyAgICAgICAgdG8gbm90aWZ5IHRoZSBXZWJQcm9j
ZXNzIG9mIGNoYW5nZXMgdG8gdGhlIHNjcmVlbiBhbmQgYXZhaWxhYmxlIHNjcmVlbiBkaW1lbnNp
b25zLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6d2luZG93U2NyZWVuU2l6ZURpZENoYW5nZSk6IEFkZGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTQtMDQtMDkgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZp
eCBHVEsrIGJ1aWxkIGFmdGVyIHIxNjY5NzUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYTY5
MGUzYjY4YTkxZWMxNWU2ZTZlMjYyOWJiNzAyNTM5YThhY2NhZS4uMjhiZjFlYzllYTIyNzFlNzZh
MmQ1NzU2NzY2YTNlZjQ3ZDA4NDY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTQyLDYg
KzU0MiwyMiBAQCB2b2lkIENocm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCkKICAgICB9CiB9CiAKK0Zsb2F0U2l6ZSBDaHJvbWU6OnNjcmVlblNp
emUoKSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmVlblNpemU7Cit9CisKK0Zsb2F0U2l6ZSBD
aHJvbWU6OmF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX2F2YWls
YWJsZVNjcmVlblNpemU7Cit9CisKK3ZvaWQgQ2hyb21lOjp3aW5kb3dTY3JlZW5TaXplRGlkQ2hh
bmdlKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2NyZWVuU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBuZXdB
dmFpbGFibGVTY3JlZW5TaXplKQoreworICAgIG1fc2NyZWVuU2l6ZSA9IG5ld1NjcmVlblNpemU7
CisgICAgbV9hdmFpbGFibGVTY3JlZW5TaXplID0gbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZTsKK30K
KwogLy8gLS0tLS0tLS0KIAogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5oCmluZGV4IGEyOTlkNGQ5MjRmYmE1ZTdmZmExOWEwYzRjYjgwOGE3M2UwMTg4MDQuLmFi
YjVmNzk4NjQzYzhkYzc3YTE3YzFlYjdhMTE3OTEyMzMwYmFlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aApAQCAtOTAsNiArOTAsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGxhdGZvcm1EaXNwbGF5
SUQgZGlzcGxheUlEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd1Nj
cmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCkgb3ZlcnJpZGU7CiAKKyAgICB2aXJ0dWFs
IEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBGbG9h
dFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCB3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2NyZWVu
U2l6ZSwgY29uc3QgRmxvYXRTaXplJiBuZXdBdmFpbGFibGVTY3JlZW5TaXplKSBvdmVycmlkZTsK
KwogICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAog
ICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSosIGNvbnN0IEludFNpemUmKSBjb25z
dDsKQEAgLTE5Miw2ICsxOTYsOCBAQCBwcml2YXRlOgogICAgIFBhZ2UmIG1fcGFnZTsKICAgICBD
aHJvbWVDbGllbnQmIG1fY2xpZW50OwogICAgIFBsYXRmb3JtRGlzcGxheUlEIG1fZGlzcGxheUlE
OworICAgIEZsb2F0U2l6ZSBtX3NjcmVlblNpemU7CisgICAgRmxvYXRTaXplIG1fYXZhaWxhYmxl
U2NyZWVuU2l6ZTsKICAgICBWZWN0b3I8UG9wdXBPcGVuaW5nT2JzZXJ2ZXIqPiBtX3BvcHVwT3Bl
bmluZ09ic2VydmVyczsKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCBtX2lzRGlzcGF0Y2hW
aWV3cG9ydERhdGFEaWRDaGFuZ2VTdXBwcmVzc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdp
bmRvdy5oCmluZGV4IGE3Njc0MzUzMjJmODNjMjIyMjAxM2ZiNWY3M2U3MTI1N2UzN2QzNDIuLmY4
NmIzZDNkNWRiM2UwZWY0NTQyMDg5NGIyNzA3ZGUwNzViZTcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTc2LDYgKzc2LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpID0gMDsKKworICAg
IHZpcnR1YWwgRmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBG
bG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgd2luZG93U2NyZWVuU2l6ZURpZENoYW5nZShjb25zdCBGbG9hdFNpemUmIG5ld1NjcmVlblNp
emUsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZSkgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1BsYXRmb3JtU2NyZWVuSU9TLm1tCmluZGV4IDI1ODY4NDVhY2ViMDk2MzIzYjRmODU1ODUwNTcy
ZmRlNGJjOWQ4NTAuLjljYzQxNjNkYWViNzRjY2E3OTQ0NjgzNzcyMmRhNjk1NDc4Nzg3YTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0K
QEAgLTI4LDggKzI4LDEwIEBACiAKICNpbXBvcnQgIkZsb2F0UmVjdC5oIgogI2ltcG9ydCAiRnJh
bWVWaWV3LmgiCisjaW1wb3J0ICJIb3N0V2luZG93LmgiCiAjaW1wb3J0ICJJbnRSZWN0LmgiCiAj
aW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgorI2ltcG9ydCAiU2Nyb2xsVmlldy5oIgogI2ltcG9y
dCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1w
b3J0ICJXaWRnZXQuaCIKQEAgLTU5LDIyICs2MSwzMiBAQCBGbG9hdFJlY3Qgc2NyZWVuUmVjdChX
aWRnZXQqIHdpZGdldCkKIHsKICAgICBpZiAoIXdpZGdldCkKICAgICAgICAgcmV0dXJuIENHUmVj
dFplcm87Ci0gICAgV0FLV2luZG93ICp3aW5kb3cgPSBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgp
IHdpbmRvd107Ci0gICAgaWYgKCF3aW5kb3cpCi0gICAgICAgIHJldHVybiBbd2lkZ2V0LT5wbGF0
Zm9ybVdpZGdldCgpIGZyYW1lXTsKLSAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFpl
cm8sIFt3aW5kb3cgc2NyZWVuU2l6ZV0gfTsKLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChz
Y3JlZW5SZWN0KTsKKworICAgIGlmIChOU1ZpZXcgKnBsYXRmb3JtV2lkZ2V0ID0gd2lkZ2V0LT5w
bGF0Zm9ybVdpZGdldCgpKSB7CisgICAgICAgIC8vIFdlYktpdDEKKyAgICAgICAgV0FLV2luZG93
ICp3aW5kb3cgPSBbcGxhdGZvcm1XaWRnZXQgd2luZG93XTsKKyAgICAgICAgaWYgKCF3aW5kb3cp
CisgICAgICAgICAgICByZXR1cm4gW3BsYXRmb3JtV2lkZ2V0IGZyYW1lXTsKKyAgICAgICAgQ0dS
ZWN0IHNjcmVlblJlY3QgPSB7IENHUG9pbnRaZXJvLCBbd2luZG93IHNjcmVlblNpemVdIH07Cisg
ICAgICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KHNjcmVlblJlY3QpOworICAgIH0KKyAgICBy
ZXR1cm4gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCB3aWRnZXQtPnJv
b3QoKS0+aG9zdFdpbmRvdygpLT5zY3JlZW5TaXplKCkpKTsKIH0KIAogRmxvYXRSZWN0IHNjcmVl
bkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgaWYgKCF3aWRnZXQpCiAgICAg
ICAgIHJldHVybiBDR1JlY3RaZXJvOwotICAgIFdBS1dpbmRvdyAqd2luZG93ID0gW3dpZGdldC0+
cGxhdGZvcm1XaWRnZXQoKSB3aW5kb3ddOwotICAgIGlmICghd2luZG93KQotICAgICAgICByZXR1
cm4gQ0dSZWN0WmVybzsKLSAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFplcm8sIFt3
aW5kb3cgYXZhaWxhYmxlU2NyZWVuU2l6ZV0gfTsKLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVj
dChzY3JlZW5SZWN0KTsKKworICAgIGlmIChOU1ZpZXcgKnBsYXRmb3JtV2lkZ2V0ID0gd2lkZ2V0
LT5wbGF0Zm9ybVdpZGdldCgpKSB7CisgICAgICAgIC8vIFdlYktpdDEKKyAgICAgICAgV0FLV2lu
ZG93ICp3aW5kb3cgPSBbcGxhdGZvcm1XaWRnZXQgd2luZG93XTsKKyAgICAgICAgaWYgKCF3aW5k
b3cpCisgICAgICAgICAgICByZXR1cm4gQ0dSZWN0WmVybzsKKyAgICAgICAgQ0dSZWN0IHNjcmVl
blJlY3QgPSB7IENHUG9pbnRaZXJvLCBbd2luZG93IGF2YWlsYWJsZVNjcmVlblNpemVdIH07Cisg
ICAgICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KHNjcmVlblJlY3QpOworICAgIH0KKyAgICBy
ZXR1cm4gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCB3aWRnZXQtPnJv
b3QoKS0+aG9zdFdpbmRvdygpLT5hdmFpbGFibGVTY3JlZW5TaXplKCkpKTsKIH0KIAogdm9pZCBz
Y3JlZW5Db2xvclByb2ZpbGUoQ29sb3JQcm9maWxlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMTZjOGYwYjNiYzYwNGY1MzkwM2Y5MWE4NjI2OTU3YzEx
ZTEyYmVkNS4uNzczNjgyYzNjZWYzOWU0NjQxMzZhYmJiYThhMjY0ZWI5YmM3NWVlNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3MzksNiArMTczOSwx
NCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OldpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5Ojp3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKGNvbnN0IEZsb2F0U2l6ZSYg
bmV3U2NyZWVuU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBuZXdBdmFpbGFibGVTY3JlZW5TaXplKQor
eworICAgIGlmICghaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UobmV3U2Ny
ZWVuU2l6ZSwgbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZSksIG1fcGFnZUlEKTsKK30KKwogZmxvYXQg
V2ViUGFnZVByb3h5OjpkZXZpY2VTY2FsZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgaWYgKG1fY3Vz
dG9tRGV2aWNlU2NhbGVGYWN0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggNDU0Mjk4M2Q2MTMwMzM2YzViNTg1ZDJiMmM0Y2RiMGI2MDBmMzBmZS4uOWUzYmEy
OWUwMGUzMmQxNmIzN2NhODQ1Y2ZkMjNkMzJlYjQ5ZTY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzM2LDYgKzczNiw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKICAgICB2b2lkIHNldEN1c3Rv
bURldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKICAgICB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5n
ZShQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9pZCB3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdl
KGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgbmV3U2NyZWVuU2l6ZSwgY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJiBuZXdBdmFpbGFibGVTY3JlZW5TaXplKTsKIAogICAgIHZvaWQgc2V0VXNlRml4
ZWRMYXlvdXQoYm9vbCk7CiAgICAgdm9pZCBzZXRGaXhlZExheW91dFNpemUoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3Lm1tCmluZGV4IDI2ZTA1MTY4MTdkZDM5M2ViNGM1OWY2MDliN2VhNTdkZWJjMjI3YjcuLjI5
NTdiYjRjY2I3YTQ1YjY1NTAyOWUyNWM0NmRhNTI5Y2I1MzBlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTE5MSw2ICsxOTEsNyBAQCBw
cml2YXRlOgogICAgIF9wYWdlID0gY29udGV4dC5jcmVhdGVXZWJQYWdlKCpfcGFnZUNsaWVudCwg
c3RkOjptb3ZlKHdlYlBhZ2VDb25maWd1cmF0aW9uKSk7CiAgICAgX3BhZ2UtPmluaXRpYWxpemVX
ZWJQYWdlKCk7CiAgICAgX3BhZ2UtPnNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKFdLR2V0
U2NhbGVGYWN0b3JGb3JTY3JlZW4oW1VJU2NyZWVuIG1haW5TY3JlZW5dKSk7CisgICAgX3BhZ2Ut
PndpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UoRmxvYXRTaXplKFtbVUlTY3JlZW4gbWFpblNjcmVl
bl0gYm91bmRzXS5zaXplKSwgRmxvYXRTaXplKFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gYXBwbGlj
YXRpb25GcmFtZV0uc2l6ZSkpOwogICAgIF9wYWdlLT5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsK
ICAgICBfcGFnZS0+c2V0RGVsZWdhdGVzU2Nyb2xsaW5nKHRydWUpOwogCkBAIC0zNzQsNiArMzc1
LDcgQEAgc3RhdGljIGlubGluZSBGbG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3RGcm9tRXhwb3Nl
ZFJlY3QoQ0dSZWN0IHVub2JzY3VyZWRSZWN0LAogewogICAgIEFTU0VSVChzY3JlZW4pOwogICAg
IF9wYWdlLT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihXS0dldFNjYWxlRmFjdG9yRm9y
U2NyZWVuKHNjcmVlbikpOworICAgIF9wYWdlLT53aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKEZs
b2F0U2l6ZShbW1VJU2NyZWVuIG1haW5TY3JlZW5dIGJvdW5kc10uc2l6ZSksIEZsb2F0U2l6ZShb
W1VJU2NyZWVuIG1haW5TY3JlZW5dIGFwcGxpY2F0aW9uRnJhbWVdLnNpemUpKTsKICAgICBbc2Vs
ZiBfYWNjZXNzaWJpbGl0eVJlZ2lzdGVyVUlQcm9jZXNzVG9rZW5zXTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGFmZTI4NDUxZjQ0
Yzg2YjhhOGViMGE2ZDM3YjNjMTVkOGRiZjljMWQuLmRhYTNkNGMxMGUyMGRjZThlN2MzNzgyMTgw
OGU0MzhhYWQ2ODQ4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTEyNzQsNiArMTI3NCwxMSBAQCB2b2lkIFdlYlBhZ2U6OndpbmRvd1Nj
cmVlbkRpZENoYW5nZSh1aW50NjRfdCBkaXNwbGF5SUQpCiAgICAgbV9wYWdlLT5jaHJvbWUoKS53
aW5kb3dTY3JlZW5EaWRDaGFuZ2Uoc3RhdGljX2Nhc3Q8UGxhdGZvcm1EaXNwbGF5SUQ+KGRpc3Bs
YXlJRCkpOwogfQogCit2b2lkIFdlYlBhZ2U6OndpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UoY29u
c3QgRmxvYXRTaXplJiBuZXdTY3JlZW5TaXplLCBjb25zdCBGbG9hdFNpemUmIG5ld0F2YWlsYWJs
ZVNjcmVlblNpemUpCit7CisgICAgbV9wYWdlLT5jaHJvbWUoKS53aW5kb3dTY3JlZW5TaXplRGlk
Q2hhbmdlKG5ld1NjcmVlblNpemUsIG5ld0F2YWlsYWJsZVNjcmVlblNpemUpOworfQorCiB2b2lk
IFdlYlBhZ2U6OnNjYWxlUGFnZShkb3VibGUgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4p
CiB7CiAgICAgaWYgKHNjYWxlID09IHBhZ2VTY2FsZUZhY3RvcigpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNTJmNTkzMWJiY2UxZmE5MDM0MzFh
M2U0ZTNmZWUwODQ3YWRlZWYwNS4uZWNmNWNiODY5OWZhZjgwNDM1MmQ3OGVlYjMzNjFiOWVkNTE4
MDM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBA
IC0zNDcsNiArMzQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZG91
YmxlKTsKICAgICB2b2lkIHNldFBhZ2VBbmRUZXh0Wm9vbUZhY3RvcnMoZG91YmxlIHBhZ2Vab29t
RmFjdG9yLCBkb3VibGUgdGV4dFpvb21GYWN0b3IpOwogICAgIHZvaWQgd2luZG93U2NyZWVuRGlk
Q2hhbmdlKHVpbnQ2NF90KTsKKyAgICB2b2lkIHdpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBuZXdTY3JlZW5TaXplLCBjb25zdCBXZWJDb3JlOjpGbG9h
dFNpemUmIG5ld0F2YWlsYWJsZVNjcmVlblNpemUpOwogCiAgICAgdm9pZCBzY2FsZVBhZ2UoZG91
YmxlIHNjYWxlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgb3JpZ2luKTsKICAgICBkb3VibGUg
cGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDEyNWIwY2Y0MGUyZDM5MjA3
ZDM2NDdiMjY4ZGE3N2UxYjBjNDc2NDIuLjRlZTIwMzQ1N2JlZGIxZjJkOTcxNmZlMjY2OTgxZThm
MDk3YmVhNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0xNjQsNiArMTY0LDcgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UGFnZVpvb21GYWN0b3IoZG91YmxlIHpvb21G
YWN0b3IpCiAgICAgU2V0VGV4dFpvb21GYWN0b3IoZG91YmxlIHpvb21GYWN0b3IpCiAgICAgV2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKHVpbnQ2NF90IGRpc3BsYXlJRCkKKyAgICBXaW5kb3dTY3JlZW5T
aXplRGlkQ2hhbmdlKFdlYkNvcmU6OkZsb2F0U2l6ZSBuZXdTY3JlZW5TaXplLCBXZWJDb3JlOjpG
bG9hdFNpemUgbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZSkKIAogICAgIFNjYWxlUGFnZShkb3VibGUg
c2NhbGUsIFdlYkNvcmU6OkludFBvaW50IG9yaWdpbikKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229587</attachid>
            <date>2014-04-17 15:45:33 -0700</date>
            <delta_ts>2014-04-17 16:12:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131821-20140417154510.patch</filename>
            <type>text/plain</type>
            <size>12725</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljZjM0NWY5MWRiZGQ4
ZmMzMGI3Yzc5OTE3MDYwMTcwMjc4ODhhMC4uNzliODg0MTJlNDU0ZmZlMWVhZmIzN2U0Yjk0ZGRl
Mjc1MjJhMjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA0LTE3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBIb29rIHVwIHNj
cmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwgd2lkdGh9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4MjEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciBzY3JlZW4ue2F2YWlsSGVpZ2h0
LCBhdmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofSBpbiBXZWJLaXQyIGZvciBpT1MuCisKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNjcmVlblNp
emUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6YXZhaWxhYmxlU2NyZWVuU2l6
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjp3aW5kb3dTY3JlZW5TaXplRGlk
Q2hhbmdlKTogQWRkZWQ7IGNhbGxlZCB0byB1cGRhdGUgdGhlIGNhY2hlZCBzY3JlZW4KKyAgICAg
ICAgc2l6ZSBhbmQgYXZhaWxhYmxlIHNjcmVlbiBzaXplIGRpbWVuc2lvbnMuCisgICAgICAgICog
cGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6
c2NyZWVuUmVjdCk6IE1vZGlmaWVkIHRvIHF1ZXJ5IEhvc3RXaW5kb3c6OnNjcmVlblNpemUoKSB3
aGVuIGNvbXB1dGluZyB0aGUKKyAgICAgICAgc2NyZWVuIHJlY3RhbmdsZSBpbiBXZWJLaXQyIGZv
ciBpT1MuCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5BdmFpbGFibGVSZWN0KTogTW9kaWZpZWQg
dG8gcXVlcnkgSG9zdFdpbmRvdzo6YXZhaWxhYmxlU2NyZWVuU2l6ZSgpCisgICAgICAgIHdoZW4g
Y29tcHV0aW5nIHRoZSBhdmFpbGFibGUgc2NyZWVuIHJlY3RhbmdsZSBpbiBXZWJLaXQyIGZvciBp
T1MuCisKIDIwMTQtMDQtMDkgIEJyZW5kYW4gTG9uZyAgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgog
CiAgICAgICAgIFtHU3RyZWFtZXJdIEV4cG9zZSBNUEVHLVRTIG1ldGFkYXRhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOGY3MDk1YzMxMDhiZDg0MmU5MzFlNTI5NTIwODM2MDI2OGE0NjMzZS4uYjE3MzlkYjJlZGRi
MmQ5MzJlYWMzZDJjNzYyZDVmOGRmNDI4MWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBA
CisyMDE0LTA0LTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBIb29rIHVwIHNjcmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwg
d2lkdGh9CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzE4MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlYWNoIFdLQ29udGVudFZpZXcgdG8g
bm90aWZ5IHRoZSB3ZWIgcGFnZSBvbiBpbml0aWFsaXphdGlvbiBhbmQKKyAgICAgICAgb24gc2Ny
ZWVuIHVwZGF0ZSBub3RpZmljYXRpb25zIG9mIHRoZSBzY3JlZW4gc2l6ZSBhbmQgYXZhaWxhYmxl
CisgICAgICAgIHNjcmVlbiBzaXplIHNvIHRoYXQgdGhlIHdlYiBwYWdlIGNhbiBleHBvc2Ugc3Vj
aCBkaW1lbnNpb25zIHZpYQorICAgICAgICB0aGUgSmF2YVNjcmlwdCBzY3JlZW4gb2JqZWN0Lgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6d2luZG93U2NyZWVuU2l6ZURpZENoYW5nZSk6IEFkZGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5pdFdpdGhGcmFtZTpj
b250ZXh0OldlYktpdDo6Y29uZmlndXJhdGlvbjpXZWJLaXQ6OndlYlZpZXc6XSk6CisgICAgICAg
IE1vZGlmaWVkIHRvIGNhbGwgV2ViUGFnZVByb3h5Ojp3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdl
KCkgdG8gbm90aWZ5IHRoZSBXZWJQcm9jZXNzCisgICAgICAgIG9mIHRoZSBpbml0aWFsIHNjcmVl
biBhbmQgYXZhaWxhYmxlIHNjcmVlbiBkaW1lbnNpb25zLgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF91cGRhdGVGb3JTY3JlZW46XSk6IE1vZGlmaWVkIHRvIGNhbGwgV2ViUGFnZVByb3h5Ojp3
aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKCkKKyAgICAgICAgdG8gbm90aWZ5IHRoZSBXZWJQcm9j
ZXNzIG9mIGNoYW5nZXMgdG8gdGhlIHNjcmVlbiBhbmQgYXZhaWxhYmxlIHNjcmVlbiBkaW1lbnNp
b25zLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6d2luZG93U2NyZWVuU2l6ZURpZENoYW5nZSk6IEFkZGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMTQtMDQtMDkgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZp
eCBHVEsrIGJ1aWxkIGFmdGVyIHIxNjY5NzUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYTY5
MGUzYjY4YTkxZWMxNWU2ZTZlMjYyOWJiNzAyNTM5YThhY2NhZS4uMjhiZjFlYzllYTIyNzFlNzZh
MmQ1NzU2NzY2YTNlZjQ3ZDA4NDY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTQyLDYg
KzU0MiwyMiBAQCB2b2lkIENocm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCkKICAgICB9CiB9CiAKK0Zsb2F0U2l6ZSBDaHJvbWU6OnNjcmVlblNp
emUoKSBjb25zdAoreworICAgIHJldHVybiBtX3NjcmVlblNpemU7Cit9CisKK0Zsb2F0U2l6ZSBD
aHJvbWU6OmF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX2F2YWls
YWJsZVNjcmVlblNpemU7Cit9CisKK3ZvaWQgQ2hyb21lOjp3aW5kb3dTY3JlZW5TaXplRGlkQ2hh
bmdlKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2NyZWVuU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBuZXdB
dmFpbGFibGVTY3JlZW5TaXplKQoreworICAgIG1fc2NyZWVuU2l6ZSA9IG5ld1NjcmVlblNpemU7
CisgICAgbV9hdmFpbGFibGVTY3JlZW5TaXplID0gbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZTsKK30K
KwogLy8gLS0tLS0tLS0KIAogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5oCmluZGV4IGEyOTlkNGQ5MjRmYmE1ZTdmZmExOWEwYzRjYjgwOGE3M2UwMTg4MDQuLmFi
YjVmNzk4NjQzYzhkYzc3YTE3YzFlYjdhMTE3OTEyMzMwYmFlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aApAQCAtOTAsNiArOTAsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGxhdGZvcm1EaXNwbGF5
SUQgZGlzcGxheUlEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbmRvd1Nj
cmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCkgb3ZlcnJpZGU7CiAKKyAgICB2aXJ0dWFs
IEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBGbG9h
dFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwg
dm9pZCB3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2NyZWVu
U2l6ZSwgY29uc3QgRmxvYXRTaXplJiBuZXdBdmFpbGFibGVTY3JlZW5TaXplKSBvdmVycmlkZTsK
KwogICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAog
ICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSosIGNvbnN0IEludFNpemUmKSBjb25z
dDsKQEAgLTE5Miw2ICsxOTYsOCBAQCBwcml2YXRlOgogICAgIFBhZ2UmIG1fcGFnZTsKICAgICBD
aHJvbWVDbGllbnQmIG1fY2xpZW50OwogICAgIFBsYXRmb3JtRGlzcGxheUlEIG1fZGlzcGxheUlE
OworICAgIEZsb2F0U2l6ZSBtX3NjcmVlblNpemU7CisgICAgRmxvYXRTaXplIG1fYXZhaWxhYmxl
U2NyZWVuU2l6ZTsKICAgICBWZWN0b3I8UG9wdXBPcGVuaW5nT2JzZXJ2ZXIqPiBtX3BvcHVwT3Bl
bmluZ09ic2VydmVyczsKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCBtX2lzRGlzcGF0Y2hW
aWV3cG9ydERhdGFEaWRDaGFuZ2VTdXBwcmVzc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdp
bmRvdy5oCmluZGV4IGE3Njc0MzUzMjJmODNjMjIyMjAxM2ZiNWY3M2U3MTI1N2UzN2QzNDIuLmY4
NmIzZDNkNWRiM2UwZWY0NTQyMDg5NGIyNzA3ZGUwNzViZTcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTc2LDYgKzc2LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpID0gMDsKKworICAg
IHZpcnR1YWwgRmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBG
bG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgd2luZG93U2NyZWVuU2l6ZURpZENoYW5nZShjb25zdCBGbG9hdFNpemUmIG5ld1NjcmVlblNp
emUsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3QXZhaWxhYmxlU2NyZWVuU2l6ZSkgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1BsYXRmb3JtU2NyZWVuSU9TLm1tCmluZGV4IDI1ODY4NDVhY2ViMDk2MzIzYjRmODU1ODUwNTcy
ZmRlNGJjOWQ4NTAuLmM0OTY1YTlhMTdiMGU2ZmU3OTlhZGQ5YjYxNmMzNWZiYjhlYWFhMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0K
QEAgLTI4LDggKzI4LDEwIEBACiAKICNpbXBvcnQgIkZsb2F0UmVjdC5oIgogI2ltcG9ydCAiRnJh
bWVWaWV3LmgiCisjaW1wb3J0ICJIb3N0V2luZG93LmgiCiAjaW1wb3J0ICJJbnRSZWN0LmgiCiAj
aW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgorI2ltcG9ydCAiU2Nyb2xsVmlldy5oIgogI2ltcG9y
dCAiV0FLV2luZG93LmgiCiAjaW1wb3J0ICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1w
b3J0ICJXaWRnZXQuaCIKQEAgLTU4LDIzICs2MCwzMyBAQCBib29sIHNjcmVlbklzTW9ub2Nocm9t
ZShXaWRnZXQqKQogRmxvYXRSZWN0IHNjcmVlblJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAg
aWYgKCF3aWRnZXQpCi0gICAgICAgIHJldHVybiBDR1JlY3RaZXJvOwotICAgIFdBS1dpbmRvdyAq
d2luZG93ID0gW3dpZGdldC0+cGxhdGZvcm1XaWRnZXQoKSB3aW5kb3ddOwotICAgIGlmICghd2lu
ZG93KQotICAgICAgICByZXR1cm4gW3dpZGdldC0+cGxhdGZvcm1XaWRnZXQoKSBmcmFtZV07Ci0g
ICAgQ0dSZWN0IHNjcmVlblJlY3QgPSB7IENHUG9pbnRaZXJvLCBbd2luZG93IHNjcmVlblNpemVd
IH07Ci0gICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qoc2NyZWVuUmVjdCk7CisgICAgICAgIHJl
dHVybiBGbG9hdFJlY3QoKTsKKworICAgIGlmIChOU1ZpZXcgKnBsYXRmb3JtV2lkZ2V0ID0gd2lk
Z2V0LT5wbGF0Zm9ybVdpZGdldCgpKSB7CisgICAgICAgIC8vIFdlYktpdDEKKyAgICAgICAgV0FL
V2luZG93ICp3aW5kb3cgPSBbcGxhdGZvcm1XaWRnZXQgd2luZG93XTsKKyAgICAgICAgaWYgKCF3
aW5kb3cpCisgICAgICAgICAgICByZXR1cm4gW3BsYXRmb3JtV2lkZ2V0IGZyYW1lXTsKKyAgICAg
ICAgQ0dSZWN0IHNjcmVlblJlY3QgPSB7IENHUG9pbnRaZXJvLCBbd2luZG93IHNjcmVlblNpemVd
IH07CisgICAgICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KHNjcmVlblJlY3QpOworICAgIH0K
KyAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCB3aWRn
ZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5zY3JlZW5TaXplKCkpKTsKIH0KIAogRmxvYXRSZWN0
IHNjcmVlbkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgaWYgKCF3aWRnZXQp
Ci0gICAgICAgIHJldHVybiBDR1JlY3RaZXJvOwotICAgIFdBS1dpbmRvdyAqd2luZG93ID0gW3dp
ZGdldC0+cGxhdGZvcm1XaWRnZXQoKSB3aW5kb3ddOwotICAgIGlmICghd2luZG93KQotICAgICAg
ICByZXR1cm4gQ0dSZWN0WmVybzsKLSAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFpl
cm8sIFt3aW5kb3cgYXZhaWxhYmxlU2NyZWVuU2l6ZV0gfTsKLSAgICByZXR1cm4gZW5jbG9zaW5n
SW50UmVjdChzY3JlZW5SZWN0KTsKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOworCisgICAg
aWYgKE5TVmlldyAqcGxhdGZvcm1XaWRnZXQgPSB3aWRnZXQtPnBsYXRmb3JtV2lkZ2V0KCkpIHsK
KyAgICAgICAgLy8gV2ViS2l0MQorICAgICAgICBXQUtXaW5kb3cgKndpbmRvdyA9IFtwbGF0Zm9y
bVdpZGdldCB3aW5kb3ddOworICAgICAgICBpZiAoIXdpbmRvdykKKyAgICAgICAgICAgIHJldHVy
biBGbG9hdFJlY3QoKTsKKyAgICAgICAgQ0dSZWN0IHNjcmVlblJlY3QgPSB7IENHUG9pbnRaZXJv
LCBbd2luZG93IGF2YWlsYWJsZVNjcmVlblNpemVdIH07CisgICAgICAgIHJldHVybiBlbmNsb3Np
bmdJbnRSZWN0KHNjcmVlblJlY3QpOworICAgIH0KKyAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVj
dChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCB3aWRnZXQtPnJvb3QoKS0+aG9zdFdpbmRvdygpLT5h
dmFpbGFibGVTY3JlZW5TaXplKCkpKTsKIH0KIAogdm9pZCBzY3JlZW5Db2xvclByb2ZpbGUoQ29s
b3JQcm9maWxlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggMTZjOGYwYjNiYzYwNGY1MzkwM2Y5MWE4NjI2OTU3YzExZTEyYmVkNS4uNzczNjgyYzNjZWYz
OWU0NjQxMzZhYmJiYThhMjY0ZWI5YmM3NWVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE3MzksNiArMTczOSwxNCBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKICAg
ICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OldpbmRvd1NjcmVlbkRpZENoYW5n
ZShkaXNwbGF5SUQpLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojp3aW5kb3dT
Y3JlZW5TaXplRGlkQ2hhbmdlKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2NyZWVuU2l6ZSwgY29uc3Qg
RmxvYXRTaXplJiBuZXdBdmFpbGFibGVTY3JlZW5TaXplKQoreworICAgIGlmICghaXNWYWxpZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OldpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UobmV3U2NyZWVuU2l6ZSwgbmV3QXZhaWxhYmxl
U2NyZWVuU2l6ZSksIG1fcGFnZUlEKTsKK30KKwogZmxvYXQgV2ViUGFnZVByb3h5OjpkZXZpY2VT
Y2FsZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgaWYgKG1fY3VzdG9tRGV2aWNlU2NhbGVGYWN0b3Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDU0Mjk4M2Q2MTMw
MzM2YzViNTg1ZDJiMmM0Y2RiMGI2MDBmMzBmZS4uOWUzYmEyOWUwMGUzMmQxNmIzN2NhODQ1Y2Zk
MjNkMzJlYjQ5ZTY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtNzM2LDYgKzczNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEludHJpbnNpY0RldmljZVNj
YWxlRmFjdG9yKGZsb2F0KTsKICAgICB2b2lkIHNldEN1c3RvbURldmljZVNjYWxlRmFjdG9yKGZs
b2F0KTsKICAgICB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7
CisgICAgdm9pZCB3aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgbmV3U2NyZWVuU2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBuZXdBdmFpbGFi
bGVTY3JlZW5TaXplKTsKIAogICAgIHZvaWQgc2V0VXNlRml4ZWRMYXlvdXQoYm9vbCk7CiAgICAg
dm9pZCBzZXRGaXhlZExheW91dFNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDI2ZTA1MTY4
MTdkZDM5M2ViNGM1OWY2MDliN2VhNTdkZWJjMjI3YjcuLjI5NTdiYjRjY2I3YTQ1YjY1NTAyOWUy
NWM0NmRhNTI5Y2I1MzBlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW0KQEAgLTE5MSw2ICsxOTEsNyBAQCBwcml2YXRlOgogICAgIF9wYWdlID0g
Y29udGV4dC5jcmVhdGVXZWJQYWdlKCpfcGFnZUNsaWVudCwgc3RkOjptb3ZlKHdlYlBhZ2VDb25m
aWd1cmF0aW9uKSk7CiAgICAgX3BhZ2UtPmluaXRpYWxpemVXZWJQYWdlKCk7CiAgICAgX3BhZ2Ut
PnNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKFdLR2V0U2NhbGVGYWN0b3JGb3JTY3JlZW4o
W1VJU2NyZWVuIG1haW5TY3JlZW5dKSk7CisgICAgX3BhZ2UtPndpbmRvd1NjcmVlblNpemVEaWRD
aGFuZ2UoRmxvYXRTaXplKFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gYm91bmRzXS5zaXplKSwgRmxv
YXRTaXplKFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gYXBwbGljYXRpb25GcmFtZV0uc2l6ZSkpOwog
ICAgIF9wYWdlLT5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsKICAgICBfcGFnZS0+c2V0RGVsZWdh
dGVzU2Nyb2xsaW5nKHRydWUpOwogCkBAIC0zNzQsNiArMzc1LDcgQEAgc3RhdGljIGlubGluZSBG
bG9hdFJlY3QgZml4ZWRQb3NpdGlvblJlY3RGcm9tRXhwb3NlZFJlY3QoQ0dSZWN0IHVub2JzY3Vy
ZWRSZWN0LAogewogICAgIEFTU0VSVChzY3JlZW4pOwogICAgIF9wYWdlLT5zZXRJbnRyaW5zaWNE
ZXZpY2VTY2FsZUZhY3RvcihXS0dldFNjYWxlRmFjdG9yRm9yU2NyZWVuKHNjcmVlbikpOworICAg
IF9wYWdlLT53aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKEZsb2F0U2l6ZShbW1VJU2NyZWVuIG1h
aW5TY3JlZW5dIGJvdW5kc10uc2l6ZSksIEZsb2F0U2l6ZShbW1VJU2NyZWVuIG1haW5TY3JlZW5d
IGFwcGxpY2F0aW9uRnJhbWVdLnNpemUpKTsKICAgICBbc2VsZiBfYWNjZXNzaWJpbGl0eVJlZ2lz
dGVyVUlQcm9jZXNzVG9rZW5zXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGFmZTI4NDUxZjQ0Yzg2YjhhOGViMGE2ZDM3YjNjMTVk
OGRiZjljMWQuLmRhYTNkNGMxMGUyMGRjZThlN2MzNzgyMTgwOGU0MzhhYWQ2ODQ4ZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEyNzQs
NiArMTI3NCwxMSBAQCB2b2lkIFdlYlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZSh1aW50NjRf
dCBkaXNwbGF5SUQpCiAgICAgbV9wYWdlLT5jaHJvbWUoKS53aW5kb3dTY3JlZW5EaWRDaGFuZ2Uo
c3RhdGljX2Nhc3Q8UGxhdGZvcm1EaXNwbGF5SUQ+KGRpc3BsYXlJRCkpOwogfQogCit2b2lkIFdl
YlBhZ2U6OndpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UoY29uc3QgRmxvYXRTaXplJiBuZXdTY3Jl
ZW5TaXplLCBjb25zdCBGbG9hdFNpemUmIG5ld0F2YWlsYWJsZVNjcmVlblNpemUpCit7CisgICAg
bV9wYWdlLT5jaHJvbWUoKS53aW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKG5ld1NjcmVlblNpemUs
IG5ld0F2YWlsYWJsZVNjcmVlblNpemUpOworfQorCiB2b2lkIFdlYlBhZ2U6OnNjYWxlUGFnZShk
b3VibGUgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCiB7CiAgICAgaWYgKHNjYWxlID09
IHBhZ2VTY2FsZUZhY3RvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggNTJmNTkzMWJiY2UxZmE5MDM0MzFhM2U0ZTNmZWUwODQ3YWRlZWYwNS4u
ZWNmNWNiODY5OWZhZjgwNDM1MmQ3OGVlYjMzNjFiOWVkNTE4MDM2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zNDcsNiArMzQ3LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0UGFnZVpvb21GYWN0b3IoZG91YmxlKTsKICAgICB2b2lkIHNldFBh
Z2VBbmRUZXh0Wm9vbUZhY3RvcnMoZG91YmxlIHBhZ2Vab29tRmFjdG9yLCBkb3VibGUgdGV4dFpv
b21GYWN0b3IpOwogICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKHVpbnQ2NF90KTsKKyAg
ICB2b2lkIHdpbmRvd1NjcmVlblNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiBuZXdTY3JlZW5TaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG5ld0F2YWlsYWJsZVNj
cmVlblNpemUpOwogCiAgICAgdm9pZCBzY2FsZVBhZ2UoZG91YmxlIHNjYWxlLCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgb3JpZ2luKTsKICAgICBkb3VibGUgcGFnZVNjYWxlRmFjdG9yKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCmluZGV4IDEyNWIwY2Y0MGUyZDM5MjA3ZDM2NDdiMjY4ZGE3N2UxYjBjNDc2
NDIuLjRlZTIwMzQ1N2JlZGIxZjJkOTcxNmZlMjY2OTgxZThmMDk3YmVhNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CkBAIC0xNjQsNiArMTY0LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7
CiAgICAgU2V0UGFnZVpvb21GYWN0b3IoZG91YmxlIHpvb21GYWN0b3IpCiAgICAgU2V0VGV4dFpv
b21GYWN0b3IoZG91YmxlIHpvb21GYWN0b3IpCiAgICAgV2luZG93U2NyZWVuRGlkQ2hhbmdlKHVp
bnQ2NF90IGRpc3BsYXlJRCkKKyAgICBXaW5kb3dTY3JlZW5TaXplRGlkQ2hhbmdlKFdlYkNvcmU6
OkZsb2F0U2l6ZSBuZXdTY3JlZW5TaXplLCBXZWJDb3JlOjpGbG9hdFNpemUgbmV3QXZhaWxhYmxl
U2NyZWVuU2l6ZSkKIAogICAgIFNjYWxlUGFnZShkb3VibGUgc2NhbGUsIFdlYkNvcmU6OkludFBv
aW50IG9yaWdpbikKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229603</attachid>
            <date>2014-04-17 17:54:02 -0700</date>
            <delta_ts>2014-04-17 20:15:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131821-20140417175339.patch</filename>
            <type>text/plain</type>
            <size>22940</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljZjM0NWY5MWRiZGQ4
ZmMzMGI3Yzc5OTE3MDYwMTcwMjc4ODhhMC4uYzlmNjEwMTFkOWVjYjMwOGIwZjc1YTM4N2ZmZGIx
ODBlZDYzOTNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTA0LTE3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBIb29rIHVwIHNj
cmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwgd2lkdGh9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4MjEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciBzY3JlZW4ue2F2YWlsSGVpZ2h0
LCBhdmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofSBpbiBXZWJLaXQyIGZvciBpT1MuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IHN5bWJvbCBmb3IgV2ViQ29yZSBTeXN0ZW0gSW50
ZXJmYWNlIGZ1bmN0aW9uCisgICAgICAgIF93a0dldFZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6
ZS4KKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6
OnZpZXdwb3J0U2NyZWVuU2l6ZSk6IEFkZGVkOyB0dXJucyBhcm91bmQgYW5kIGNhbGxzCisgICAg
ICAgIENocm9tZUNsaWVudDo6dmlld3BvcnRTY3JlZW5TaXplKCkuCisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OnZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6ZSk6IEFkZGVkOyB0dXJucyBhcm91
bmQgYW5kIGNhbGxzCisgICAgICAgIENocm9tZUNsaWVudDo6dmlld3BvcnRBdmFpbGFibGVTY3Jl
ZW5TaXplKCkuCisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9t
ZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojp2aWV3cG9ydEF2YWls
YWJsZVNjcmVlblNpemUpOiBBZGRlZDsgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiwgd2hpY2gKKyAg
ICAgICAgcmV0dXJucyB0aGUgc2l6ZSBvZiBDaHJvbWU6OndpbmRvd1JlY3QoKS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6IEFkZGVkIGRlY2xhcmF0aW9ucyBmb3Igdmlld3BvcnR7
QXZhaWxhYmxlU2NyZWVuU2l6ZSwgU2NyZWVuU2l6ZX0oKQorICAgICAgICBzbyB0aGF0IGEgY2Fs
bGVyIChlLmcuIFdlYkNvcmU6OnNjcmVlblJlY3QoKSkgY2FuIHF1ZXJ5IGZvciBzdWNoIHNjcmVl
biBpbmZvcm1hdGlvbiB1c2luZworICAgICAgICBvbmx5IHRoZSBIb3N0V2luZG93IGludGVyZmFj
ZS4gVGhhdCBpcywgYSBjYWxsZXIgZG9lc24ndCBuZWVkIHRvIGtub3cgYWJvdXQgQ2hyb21lQ2xp
ZW50LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOiBNb2RpZmllZCB0byBxdWVyeSBIb3N0V2luZG93Ojpz
Y3JlZW5TaXplKCkgd2hlbiBjb21wdXRpbmcgdGhlCisgICAgICAgIHNjcmVlbiByZWN0YW5nbGUg
aW4gV2ViS2l0MiBmb3IgaU9TLgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVj
dCk6IE1vZGlmaWVkIHRvIHF1ZXJ5IEhvc3RXaW5kb3c6OmF2YWlsYWJsZVNjcmVlblNpemUoKQor
ICAgICAgICB3aGVuIGNvbXB1dGluZyB0aGUgYXZhaWxhYmxlIHNjcmVlbiByZWN0YW5nbGUgaW4g
V2ViS2l0MiBmb3IgaU9TLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlSU9TLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJm
YWNlLmg6IAorCiAyMDE0LTA0LTA5ICBCcmVuZGFuIExvbmcgIDxiLmxvbmdAY2FibGVsYWJzLmNv
bT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBFeHBvc2UgTVBFRy1UUyBtZXRhZGF0YQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hh
bmdlTG9nCmluZGV4IDE4NWZiYTkxMThiYzNiOTg4Y2RkYzIyNTAwMzkwMmNhZGQwMjM0ODguLjNj
NTI0MDhjZDMzNDg0NTQwODlhMDFiZGFjOWVkOWJjYzA0MmQ1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxNC0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgW2lPU10gSG9vayB1cCBzY3JlZW4ue2F2YWlsSGVpZ2h0LCBhdmFp
bFdpZHRoLCBoZWlnaHQsIHdpZHRofQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMxODIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQxMzc5NT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRl
IGlPUy1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiBDaHJvbWVDbGllbnQ6OnZpZXdwb3J0QXZh
aWxhYmxlU2NyZWVuU2l6ZSgpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50SU9TLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9T
Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50SU9TOjp2aWV3cG9ydEF2YWlsYWJsZVNjcmVl
blNpemUpOiBBZGRlZC4KKwogMjAxNC0wNC0wOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgQ2xpcGJvYXJkIHRvIERhdGFUcmFuc2ZlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDAwN2Y5ZTZiZGZjMmZhYjk1OWIwMTJkZjVjNzVhYzUzODVmNGI5ODYu
LjczYWQ0OGYzMTk1ZDgzMWRjZjMyOWYxMWM5ZDJjOGE3ZWJjN2E2OGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSG9vayB1cCBzY3JlZW4ue2F2YWlsSGVpZ2h0LCBh
dmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMxODIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQxMzc5
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
ZGVjbGFyYXRpb24gZm9yIFdLR2V0Vmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkgdG8gcmV0
dXJuCisgICAgICAgIHRoZSBhdmFpbGFibGUgc2NyZWVuIHNpemUuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJbml0V2ViQ29yZVN5
c3RlbUludGVyZmFjZSk6CisKIDIwMTQtMDQtMDggIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIFR1cm4gTVNFIG9uIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA4ZjcwOTVj
MzEwOGJkODQyZTkzMWU1Mjk1MjA4MzYwMjY4YTQ2MzNlLi4yNDM4YzY1NDYxOWMwOTdmOTNmOGM0
YjAzODFkMDJkNDE3NWY4MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTQtMDQt
MTcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEhv
b2sgdXAgc2NyZWVuLnthdmFpbEhlaWdodCwgYXZhaWxXaWR0aCwgaGVpZ2h0LCB3aWR0aH0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTgyMQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTY0MTM3OTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdDItc3BlY2lmaWMgc3VwcG9y
dCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6
ZW5jb2RlKTogTW9kaWZpZWQgdG8gZW5jb2RlIHRoZSB2aWV3cG9ydAorICAgICAgICBhdmFpbGFi
bGUgc2NyZWVuIHNpemUgcGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzOjpkZWNvZGUpOiBNb2RpZmllZCB0byBkZWNvZGUgdGhlIHZpZXdwb3J0Cisg
ICAgICAgIGF2YWlsYWJsZSBzY3JlZW4gc2l6ZSBwYXJhbWV0ZXIuCisgICAgICAgICogU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFt
ZXRlcnMpOiBJbml0aWFsaXplIHRoZSB2aWV3cG9ydCBhdmFpbGFibGUKKyAgICAgICAgc2NyZWVu
IHNpemUgcGFyYW1ldGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojp2aWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemUpOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6dmlld3BvcnRBdmFpbGFibGVTY3JlZW5T
aXplKTogQWRkZWQ7IHR1cm5zIGFyb3VuZAorICAgICAgICBhbmQgY2FsbHMgV2ViUGFnZTo6dmll
d3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJbml0V2ViQ29yZVN5
c3RlbUludGVyZmFjZSk6IEhvb2sgdXAgV2ViS2l0IFN5c3RlbSBJbnRlcmZhY2UgZnVuY3Rpb24g
V0tHZXRWaWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemUuCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKTog
SW5pdGlhbGl6ZSB2aWV3cG9ydCBhdmFpbGFibGUgc2NyZWVuIHNpemUgaW5zdGFuY2UgdmFyaWFi
bGUuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6ZSk6IEFkZGVkLgorCiAyMDE0LTA0LTA5
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLiBGaXggR1RLKyBidWlsZCBhZnRlciByMTY2OTc1LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgppbmRleCA3YzQzNmE3Yjk0NTBlZGE4MWRhMjgyNmMyNjRlYTliMjMzNmUwNzJiLi4yZDgyNTcy
YzkwOWVhM2EwY2NkMDAxOGE0Nzk2M2U5MjNhZGU5YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpA
QCAtMjcxMiw2ICsyNzEyLDcgQEAgX3drR2V0VXNlckFnZW50CiBfd2tHZXRWZW5kb3JOYW1lRm9y
TmF2aWdhdG9yCiBfd2tHZXRWZXJ0aWNhbEdseXBoc0ZvckNoYXJhY3RlcnMKIF93a0dldFZpZXdw
b3J0U2NyZWVuU2l6ZQorX3drR2V0Vmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplCiBfd2tJc0dC
MTgwMzBDb21wbGlhbmNlUmVxdWlyZWQKIF93a1NldExheWVyQ29udGVudHNTY2FsZQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYTY5MGUzYjY4YTkxZWMxNWU2ZTZlMjYyOWJiNzAy
NTM5YThhY2NhZS4uOTU3OTYwYWQzNWI4N2MzZjM3YWRiZDNjNTliOWI4OWU4MGY3MTUzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNDg4LDYgKzQ4OCwxNiBAQCB2b2lkIENocm9tZTo6bG9h
ZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGaWxlSWNvbkxv
YWRlciogbAogICAgIG1fY2xpZW50LmxvYWRJY29uRm9yRmlsZXMoZmlsZW5hbWVzLCBsb2FkZXIp
OwogfQogCitGbG9hdFNpemUgQ2hyb21lOjp2aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2NsaWVudC52aWV3cG9ydFNjcmVlblNpemUoKTsKK30KKworRmxvYXRTaXpl
IENocm9tZTo6dmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9jbGllbnQudmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCk7Cit9CisKIHZvaWQgQ2hy
b21lOjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBWaWV3cG9ydEFy
Z3VtZW50cyYgYXJndW1lbnRzKSBjb25zdAogewogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5oCmluZGV4IGEyOTlkNGQ5MjRmYmE1ZTdmZmExOWEwYzRjYjgwOGE3M2UwMTg4MDQuLjc0
OGFhNzBkYTVhZGM0MDZiZjU1YzAzOWU0N2VlZmIwZWFhOTQxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aApAQCAtOTAsNiArOTAsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQbGF0Zm9ybURpc3BsYXlJ
RCBkaXNwbGF5SUQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2Ny
ZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsKIAorICAgIEZsb2F0U2l6
ZSB2aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBGbG9hdFNpemUgdmll
d3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICB2b2lkIHNj
cm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGNvbnRl
bnRzU2l6ZUNoYW5nZWQoRnJhbWUqLCBjb25zdCBJbnRTaXplJikgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAppbmRleCA2N2I1OTU0ZGM2MGE2YTg0M2E0YTdmNjYxYjg2ZDM5NjAy
ZGQyOWQ0Li43Mjk1MGZjMzJjNjc5M2FmM2E4MjQ3ZDliZmRhYTNiNjQxZmQyMzNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gRW5kIG1ldGhvZHMgdXNlZCBieSBIb3N0V2luZG93LgogCiAgICAgdmlydHVhbCBGbG9hdFNp
emUgdmlld3BvcnRTY3JlZW5TaXplKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxDaHJvbWVD
bGllbnQqPih0aGlzKS0+d2luZG93UmVjdCgpLnNpemUoKTsgfQorICAgIHZpcnR1YWwgRmxvYXRT
aXplIHZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nh
c3Q8Q2hyb21lQ2xpZW50Kj4odGhpcyktPndpbmRvd1JlY3QoKS5zaXplKCk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3Bv
cnRBcmd1bWVudHMmKSBjb25zdCB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVD
aGFuZ2VkKEZyYW1lKiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0hvc3RXaW5kb3cuaAppbmRleCBhNzY3NDM1MzIyZjgzYzIyMjIwMTNmYjVmNzNlNzEyNTdl
MzdkMzQyLi44ZjA3Y2U5ODU5ZGVhZjNmYmI0YjUxNjc1YzhhMzIzZjcyZjI0YTlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC03Niw2ICs3Niw5IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpID0g
MDsKKworICAgIHZpcnR1YWwgRmxvYXRTaXplIHZpZXdwb3J0U2NyZWVuU2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSB2aWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemUoKSBj
b25zdCA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0KaW5kZXggMjU4Njg0NWFjZWIw
OTYzMjNiNGY4NTU4NTA1NzJmZGU0YmM5ZDg1MC4uZDQ4MGM5NzEyYWZhMWNiYWUzMzkyYTliZGE5
ZjBmYjcxMGE1MjFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Bs
YXRmb3JtU2NyZWVuSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9QbGF0
Zm9ybVNjcmVlbklPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW1wb3J0ICJGbG9hdFJlY3Qu
aCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgorI2ltcG9ydCAiSG9zdFdpbmRvdy5oIgogI2ltcG9y
dCAiSW50UmVjdC5oIgogI2ltcG9ydCAiTm90SW1wbGVtZW50ZWQuaCIKICNpbXBvcnQgIldBS1dp
bmRvdy5oIgpAQCAtNTgsMjMgKzU5LDMzIEBAIGJvb2wgc2NyZWVuSXNNb25vY2hyb21lKFdpZGdl
dCopCiBGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICBpZiAoIXdp
ZGdldCkKLSAgICAgICAgcmV0dXJuIENHUmVjdFplcm87Ci0gICAgV0FLV2luZG93ICp3aW5kb3cg
PSBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpIHdpbmRvd107Ci0gICAgaWYgKCF3aW5kb3cpCi0g
ICAgICAgIHJldHVybiBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpIGZyYW1lXTsKLSAgICBDR1Jl
Y3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFplcm8sIFt3aW5kb3cgc2NyZWVuU2l6ZV0gfTsKLSAg
ICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChzY3JlZW5SZWN0KTsKKyAgICAgICAgcmV0dXJuIEZs
b2F0UmVjdCgpOworCisgICAgaWYgKE5TVmlldyAqcGxhdGZvcm1XaWRnZXQgPSB3aWRnZXQtPnBs
YXRmb3JtV2lkZ2V0KCkpIHsKKyAgICAgICAgLy8gV2ViS2l0MQorICAgICAgICBXQUtXaW5kb3cg
KndpbmRvdyA9IFtwbGF0Zm9ybVdpZGdldCB3aW5kb3ddOworICAgICAgICBpZiAoIXdpbmRvdykK
KyAgICAgICAgICAgIHJldHVybiBbcGxhdGZvcm1XaWRnZXQgZnJhbWVdOworICAgICAgICBDR1Jl
Y3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFplcm8sIFt3aW5kb3cgc2NyZWVuU2l6ZV0gfTsKKyAg
ICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qoc2NyZWVuUmVjdCk7CisgICAgfQorICAgIHJl
dHVybiBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHdpZGdldC0+cm9v
dCgpLT5ob3N0V2luZG93KCktPnZpZXdwb3J0U2NyZWVuU2l6ZSgpKSk7CiB9CiAKIEZsb2F0UmVj
dCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQogewogICAgIGlmICghd2lkZ2V0
KQotICAgICAgICByZXR1cm4gQ0dSZWN0WmVybzsKLSAgICBXQUtXaW5kb3cgKndpbmRvdyA9IFt3
aWRnZXQtPnBsYXRmb3JtV2lkZ2V0KCkgd2luZG93XTsKLSAgICBpZiAoIXdpbmRvdykKLSAgICAg
ICAgcmV0dXJuIENHUmVjdFplcm87Ci0gICAgQ0dSZWN0IHNjcmVlblJlY3QgPSB7IENHUG9pbnRa
ZXJvLCBbd2luZG93IGF2YWlsYWJsZVNjcmVlblNpemVdIH07Ci0gICAgcmV0dXJuIGVuY2xvc2lu
Z0ludFJlY3Qoc2NyZWVuUmVjdCk7CisgICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKKworICAg
IGlmIChOU1ZpZXcgKnBsYXRmb3JtV2lkZ2V0ID0gd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpKSB7
CisgICAgICAgIC8vIFdlYktpdDEKKyAgICAgICAgV0FLV2luZG93ICp3aW5kb3cgPSBbcGxhdGZv
cm1XaWRnZXQgd2luZG93XTsKKyAgICAgICAgaWYgKCF3aW5kb3cpCisgICAgICAgICAgICByZXR1
cm4gRmxvYXRSZWN0KCk7CisgICAgICAgIENHUmVjdCBzY3JlZW5SZWN0ID0geyBDR1BvaW50WmVy
bywgW3dpbmRvdyBhdmFpbGFibGVTY3JlZW5TaXplXSB9OworICAgICAgICByZXR1cm4gZW5jbG9z
aW5nSW50UmVjdChzY3JlZW5SZWN0KTsKKyAgICB9CisgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJl
Y3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgd2lkZ2V0LT5yb290KCktPmhvc3RXaW5kb3coKS0+
dmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkpKTsKIH0KIAogdm9pZCBzY3JlZW5Db2xvclBy
b2ZpbGUoQ29sb3JQcm9maWxlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0KaW5kZXggODhmYjhhNGFhY2EzZDk4
MDFkMzBhMTNhZTY3NWRjYWNkYzU5ZWY0NS4uNGMxMzI3ZjczZTIyZmYzODcxNWE2NWE5NDRkMDhi
Y2RjZWI2Y2MzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkNv
cmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0KQEAgLTY5LDYgKzY5LDcgQEAgQ0ZIVFRQTWVz
c2FnZVJlZiAoKndrQ29weUNPTk5FQ1RQcm94eVJlc3BvbnNlKShDRlJlYWRTdHJlYW1SZWYsIENG
VVJMUmVmIHJlc3BvbnMKIGJvb2wgKCp3a0V4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJJT1NW
ZXJzaW9uKShpbnQpOwogaW50ICgqd2tHZXREZXZpY2VDbGFzcykodm9pZCk7CiBDR1NpemUgKCp3
a0dldFZpZXdwb3J0U2NyZWVuU2l6ZSkodm9pZCk7CitDR1NpemUgKCp3a0dldFZpZXdwb3J0QXZh
aWxhYmxlU2NyZWVuU2l6ZSkodm9pZCk7CiB2b2lkICgqd2tTZXRMYXllckNvbnRlbnRzU2NhbGUp
KENBTGF5ZXIgKik7CiBmbG9hdCAoKndrR2V0U2NyZWVuU2NhbGVGYWN0b3IpKHZvaWQpOwogYm9v
bCAoKndrSXNHQjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVkKSh2b2lkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCmluZGV4IGM1
Mzg5OGFmMWNiNzE3NjBiYjM1MTE2NWFkNzI2YjM1ZTg4ZTQ5ODIuLmRjMTM3ZWExOGZlYjNmNjU1
NWQzNmI0YWEwODcwZjJiZTE4YjcxOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaApAQCAtMzAxLDYgKzMwMSw3IEBAIGV4
dGVybiBBWFVJRWxlbWVudFJlZiAoKndrQ3JlYXRlQVhVSUVsZW1lbnRSZWYpKGlkIGVsZW1lbnQp
OwogCiAjaWYgUExBVEZPUk0oSU9TKQogZXh0ZXJuIENHU2l6ZSAoKndrR2V0Vmlld3BvcnRTY3Jl
ZW5TaXplKSh2b2lkKTsKK2V4dGVybiBDR1NpemUgKCp3a0dldFZpZXdwb3J0QXZhaWxhYmxlU2Ny
ZWVuU2l6ZSkodm9pZCk7CiBleHRlcm4gdm9pZCAoKndrU2V0TGF5ZXJDb250ZW50c1NjYWxlKShD
QUxheWVyICopOwogZXh0ZXJuIGZsb2F0ICgqd2tHZXRTY3JlZW5TY2FsZUZhY3Rvcikodm9pZCk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudElPUy5oIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50SU9TLmgKaW5kZXggMGExZjMxZGRlN2ViOWJiZDZkODQ5M2FhMDA5YmJjZGQ5
MWI4OWI3ZC4uODQwNGQ0ODViM2U3NGViYzBkNmU2MjM1ODM0YzliOGQ0YjM2M2ZjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9T
LmgKKysrIGIvU291cmNlL1dlYktpdC9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
SU9TLmgKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvYnNlcnZl
ZENvbnRlbnRDaGFuZ2UoV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgY2xlYXJDb250ZW50Q2hhbmdlT2JzZXJ2ZXJzKFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRTY3JlZW5TaXplKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRBdmFp
bGFibGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJn
dW1lbnRzJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVJldmVhbGVk
U2VsZWN0aW9uQnlTY3JvbGxpbmdGcmFtZShXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgYm9vbCBpc1N0b3BwaW5nKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MubW0KaW5kZXggNzU2
Y2MxNjk3NDhhMGE1MzllZTQ5ZjQ2OTUyMTU1NjFjZTU1YjhhOC4uYzczMTc2OGRmYzgzMzk1NDJk
MmVmZDk5OWJiMmMxYmRlMmY3ZTA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9z
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAtMTc3LDYgKzE3NywxMSBA
QCBGbG9hdFNpemUgV2ViQ2hyb21lQ2xpZW50SU9TOjp2aWV3cG9ydFNjcmVlblNpemUoKSBjb25z
dAogICAgIHJldHVybiBGbG9hdFNpemUoV0tHZXRWaWV3cG9ydFNjcmVlblNpemUoKSk7CiB9CiAK
K0Zsb2F0U2l6ZSBXZWJDaHJvbWVDbGllbnRJT1M6OnZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEZsb2F0U2l6ZShXS0dldFZpZXdwb3J0QXZhaWxhYmxl
U2NyZWVuU2l6ZSgpKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnRJT1M6OmRpc3BhdGNoVmll
d3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRz
JiBhcmd1bWVudHMpIGNvbnN0CiB7CiAgICAgW1t3ZWJWaWV3KCkgX1VJS2l0RGVsZWdhdGVGb3J3
YXJkZXJdIHdlYlZpZXc6d2ViVmlldygpIGRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50czpkaWN0
aW9uYXJ5Rm9yVmlld3BvcnRBcmd1bWVudHMoYXJndW1lbnRzKV07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5kZXgg
YThkMmYxOTNjMjVhYTk4Y2JhZjAyMmNkNmQ5MGJjNTA2MmE1MjQ3OS4uMDM5MTA1ZmQ3ZDdiY2E3
Njg3YWZmYWYzNTNhOTNlOTlkZjYzNGJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQpAQCAtMTQwLDYgKzE0MCw3
IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICBJTklUKEV4ZWN1
dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJJT1NWZXJzaW9uKTsKICAgICBJTklUKEdldERldmljZUNs
YXNzKTsKICAgICBJTklUKEdldFZpZXdwb3J0U2NyZWVuU2l6ZSk7CisgICAgSU5JVChHZXRWaWV3
cG9ydEF2YWlsYWJsZVNjcmVlblNpemUpOwogICAgIElOSVQoR2V0U2NyZWVuU2NhbGVGYWN0b3Ip
OwogICAgIElOSVQoSXNHQjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVkKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmlu
ZGV4IDY4MDU5ZTJlYzkwZDU3NTA4NDgwYWM3NDhkZjFkOGIwYjkwMDgyMzAuLjVhNmQxNjJmZGMw
MGRkMDA5MzBkZjk1MDRmYjU4NDJmZmQxNGJjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTczLDYgKzczLDcgQEAg
dm9pZCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCiAgICAgZW5jb2Rl
ciA8PCB2aWV3cG9ydFNjcmVlblNpemU7CisgICAgZW5jb2RlciA8PCB2aWV3cG9ydEF2YWlsYWJs
ZVNjcmVlblNpemU7CiAjZW5kaWYKIH0KIApAQCAtMTU0LDYgKzE1NSw4IEBAIGJvb2wgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBXZWJQYWdlQ3JlCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cGFyYW1ldGVycy52aWV3cG9ydFNjcmVlblNpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnZpZXdwb3J0QXZhaWxhYmxlU2NyZWVu
U2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDBhMTcyZDA4
YmQ3ODlhODYyZjY2YmJlNWUwOGE2NDFmMTUzOTQwMTUuLmZlMzRkZWFkNjA4NmZmOWIxNTlkMGVh
ODZiMzRlNWFhM2RjZjM2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHN0cnVjdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzIHsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJD
b3JlOjpGbG9hdFNpemUgdmlld3BvcnRTY3JlZW5TaXplOworICAgIFdlYkNvcmU6OkZsb2F0U2l6
ZSB2aWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemU7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMTZjOGYwYjNiYzYwNGY1MzkwM2Y5
MWE4NjI2OTU3YzExZTEyYmVkNS4uODczMzlhYzMxNWNlNmRmOTc1NmViZTBhMzAxNDYxNTE1NDRl
NTIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQx
NDgsNiArNDE0OCw3IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5Ojpj
cmVhdGlvblBhcmFtZXRlcnMoKQogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHBhcmFt
ZXRlcnMudmlld3BvcnRTY3JlZW5TaXplID0gdmlld3BvcnRTY3JlZW5TaXplKCk7CisgICAgcGFy
YW1ldGVycy52aWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemUgPSB2aWV3cG9ydEF2YWlsYWJsZVNj
cmVlblNpemUoKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDU0Mjk4M2Q2MTMwMzM2YzViNTg1ZDJi
MmM0Y2RiMGI2MDBmMzBmZS4uMDA1MmM0NzQzNThjOTI3OTRlNTgyMDMyNDMzMjNmOWNhOThlMTg2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTMzMiw2ICsx
MzMyLDggQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJDb3JlOjpGbG9h
dFNpemUgdmlld3BvcnRTY3JlZW5TaXplKCk7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIHZpZXdw
b3J0QXZhaWxhYmxlU2NyZWVuU2l6ZSgpOworCiAKICAgICB2b2lkIGRpZEdldFRhcEhpZ2hsaWdo
dEdlb21ldHJpZXModWludDY0X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3JlOjpDb2xvciYgY29s
b3IsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFF1YWQ+JiBnZW9tZXRyaWVzLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiB0b3BMZWZ0UmFkaXVzLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB0
b3BSaWdodFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYm90dG9tTGVmdFJhZGl1cywg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgYm90dG9tUmlnaHRSYWRpdXMpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGFlZWMxZjNh
NWIxMmJjMzIwN2QxZmQ3NTY2MWFhMmY1NzUxN2UxNzMuLjY1YzMxYzc3NzFjMmFlYjRmN2I3MDFl
YzU5ZWRkYTcwYWE3OTU1N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tCkBAIC00NTgsNiArNDU4LDExIEBAIEZsb2F0U2l6ZSBXZWJQYWdl
UHJveHk6OnZpZXdwb3J0U2NyZWVuU2l6ZSgpCiAgICAgcmV0dXJuIEZsb2F0U2l6ZShXS0dldFZp
ZXdwb3J0U2NyZWVuU2l6ZSgpKTsKIH0KIAorRmxvYXRTaXplIFdlYlBhZ2VQcm94eTo6dmlld3Bv
cnRBdmFpbGFibGVTY3JlZW5TaXplKCkKK3sKKyAgICByZXR1cm4gRmxvYXRTaXplKFdLR2V0Vmll
d3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
R2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNv
cmU6OkNvbG9yJiBjb2xvciwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UXVhZD4mIGhpZ2hs
aWdodGVkUXVhZHMsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHRvcExlZnRSYWRpdXMsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIHRvcFJpZ2h0UmFkaXVzLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBib3R0b21MZWZ0UmFkaXVzLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBib3R0b21SaWdodFJh
ZGl1cykKIHsKICAgICBtX3BhZ2VDbGllbnQuZGlkR2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyhy
ZXF1ZXN0SUQsIGNvbG9yLCBoaWdobGlnaHRlZFF1YWRzLCB0b3BMZWZ0UmFkaXVzLCB0b3BSaWdo
dFJhZGl1cywgYm90dG9tTGVmdFJhZGl1cywgYm90dG9tUmlnaHRSYWRpdXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCmluZGV4IGY4YzJkOTU4ZGFiZGQ0MTczNDJiMzliZDgzYmE3YWRmMzhhNjc2
ODMuLjg1MDI0MDU0ZjgxZGM0Y2IzMWVmMGJiYzg0MDg3YTZiMGMyOGUxN2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKQEAgLTg0MSw2ICs4NDEsMTEgQEAgRmxvYXRTaXplIFdlYkNocm9tZUNs
aWVudDo6dmlld3BvcnRTY3JlZW5TaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYWdlLT52
aWV3cG9ydFNjcmVlblNpemUoKTsKIH0KKworRmxvYXRTaXplIFdlYkNocm9tZUNsaWVudDo6dmll
d3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wYWdlLT52
aWV3cG9ydEF2YWlsYWJsZVNjcmVlblNpemUoKTsKK30KICNlbmRpZgogCiB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3Bv
cnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
aW5kZXggMDA5OTY1MmVkODdiZThjOTNjOGE2NmFiZWZkMWNkMWQ1NDI1ZDVlOC4uYjU1NjhkN2Q1
ZjllYmIxMTZmZDM1OGE3ODNjYWI2Y2U4OGM4MWE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0yNTIsNiArMjUyLDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydEF2YWlsYWJsZVNjcmVl
blNpemUoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3Vt
ZW50cyYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2Uu
bW0KaW5kZXggMTJlNzZlYjc1OGM3MjA5ZDY5ZWIyN2M4YzhjYzIwYmRiNjEyMTI0Yi4uNDI5NzAw
OTlkNzE5NjM2ZTk5M2JhNGE4YjA0NzQ1ZWNiNjEzMzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5
c3RlbUludGVyZmFjZS5tbQpAQCAtMjIwLDYgKzIyMCw3IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0
ZW1JbnRlcmZhY2Uodm9pZCkKICAgICAgICAgSU5JVChFeGVjdXRhYmxlV2FzTGlua2VkT25PckFm
dGVySU9TVmVyc2lvbik7CiAgICAgICAgIElOSVQoR2V0RGV2aWNlQ2xhc3MpOwogICAgICAgICBJ
TklUKEdldFZpZXdwb3J0U2NyZWVuU2l6ZSk7CisgICAgICAgIElOSVQoR2V0Vmlld3BvcnRBdmFp
bGFibGVTY3JlZW5TaXplKTsKICAgICAgICAgSU5JVChHZXRTY3JlZW5TY2FsZUZhY3Rvcik7CiAg
ICAgICAgIElOSVQoSXNHQjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVkKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGFmZTI4NDUx
ZjQ0Yzg2YjhhOGViMGE2ZDM3YjNjMTVkOGRiZjljMWQuLjI0MjIwYjliMTllNDAwMjY0ZmM2OTVm
ZWM1YzkyZjhmMDZjNTI3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTI5Miw2ICsyOTIsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2
NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
ICAgICAsIG1fc2NhbGVXYXNTZXRCeVVJUHJvY2VzcyhmYWxzZSkKICAgICAsIG1fdXNlckhhc0No
YW5nZWRQYWdlU2NhbGVGYWN0b3IoZmFsc2UpCiAgICAgLCBtX3ZpZXdwb3J0U2NyZWVuU2l6ZShw
YXJhbWV0ZXJzLnZpZXdwb3J0U2NyZWVuU2l6ZSkKKyAgICAsIG1fdmlld3BvcnRBdmFpbGFibGVT
Y3JlZW5TaXplKHBhcmFtZXRlcnMudmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKQogI2VuZGlm
CiAgICAgLCBtX2luc3BlY3RvckNsaWVudCgwKQogICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoQ29s
b3I6OndoaXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggNTJmNTkzMWJiY2UxZmE5MDM0MzFhM2U0ZTNmZWUwODQ3YWRlZWYwNS4uNjBkMzFhM2Fk
N2E4MGIzMjc4YjVlMDlmM2JkZGIzYWUwNzczNTA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00MzksNiArNDM5LDcgQEAgcHVibGljOgogCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydFNjcmVlblNp
emUoKSBjb25zdDsKKyAgICBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRBdmFpbGFibGVTY3Jl
ZW5TaXplKCkgY29uc3Q7CiAgICAgdm9pZCB2aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNb2Jp
bGVEb2NUeXBlKGJvb2wpOwogCkBAIC0xMTU0LDYgKzExNTUsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGJvb2wgbV91c2VySGFzQ2hhbmdlZFBh
Z2VTY2FsZUZhY3RvcjsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV92aWV3cG9ydFNjcmVlblNp
emU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fdmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXpl
OwogICAgIFdlYkNvcmU6OkludFNpemUgbV9ibG9ja1NlbGVjdGlvbkRlc2lyZWRTaXplOwogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbQppbmRleCA2ZTgwMjc4ZGUzNDJlMTY5YWE4ZGM4ZjM3OTVjZTEwMThmNzFhYWQ3
Li42NzYzMzJiYzUyNjZmNjdjZjE2ODViYzU0MmYxMzI3MjRlYTIyZjkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0x
MTYsNiArMTE2LDExIEBAIEZsb2F0U2l6ZSBXZWJQYWdlOjp2aWV3cG9ydFNjcmVlblNpemUoKSBj
b25zdAogICAgIHJldHVybiBtX3ZpZXdwb3J0U2NyZWVuU2l6ZTsKIH0KIAorRmxvYXRTaXplIFdl
YlBhZ2U6OnZpZXdwb3J0QXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fdmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplOworfQorCiB2b2lkIFdlYlBhZ2U6OnZpZXdw
b3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgdmlld3BvcnRB
cmd1bWVudHMpCiB7CiAgICAgbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0Vmlld3BvcnRBcmd1
bWVudHModmlld3BvcnRBcmd1bWVudHMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229617</attachid>
            <date>2014-04-17 20:15:31 -0700</date>
            <delta_ts>2014-04-17 20:37:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131821-20140417201509.patch</filename>
            <type>text/plain</type>
            <size>26987</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3MDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljZjM0NWY5MWRiZGQ4
ZmMzMGI3Yzc5OTE3MDYwMTcwMjc4ODhhMC4uNjk2OTIwNTIzODkwY2JlNTVjZmRjNzQ4Njg1MTU1
ZjEwNTIyNWI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTA0LTE3ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBIb29rIHVwIHNj
cmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwgd2lkdGh9CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4MjEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGZvciBzY3JlZW4ue2F2YWlsSGVpZ2h0
LCBhdmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofSBpbiBXZWJLaXQyIGZvciBpT1MuCisKKyAgICAg
ICAgQWRkaXRpb25hbGx5IHN1YnN0aXR1dGUgInNjcmVlblNpemUiIGZvciAidmlld3BvclNjcmVl
blNpemUiIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSB1bmRlcnN0YW5kYWJsZS4KKworICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOiBFeHBvcnQgc3ltYm9sIGZvciBXZWJDb3JlIFN5c3RlbSBJbnRlcmZh
Y2UgZnVuY3Rpb24KKyAgICAgICAgX3drR2V0Vmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplLgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
cHJvY2Vzc1ZpZXdwb3J0KTogTW9kaWZpZWQgdG8gY2FsbCBDaHJvbWU6OnNjcmVlblNpemUoKTsg
Zm9ybWVybHkgaXQKKyAgICAgICAgY2FsbGVkIENocm9tZUNsaWVudDo6dmlld3BvcnRTY3JlZW5T
aXplKCkuCisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hy
b21lOjpzY3JlZW5TaXplKTogQWRkZWQ7IHR1cm5zIGFyb3VuZCBhbmQgY2FsbHMgQ2hyb21lQ2xp
ZW50OjpzY3JlZW5TaXplKCkuCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmF2YWlsYWJsZVNj
cmVlblNpemUpOiBBZGRlZDsgdHVybnMgYXJvdW5kIGFuZCBjYWxscyBDaHJvbWVDbGllbnQ6OmF2
YWlsYWJsZVNjcmVlblNpemUoKS4KKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnNj
cmVlblNpemUpOiBSZW5hbWVkOyBmb3JtZXJseSBuYW1lZCB2aWV3cG9ydFNjcmVlblNpemUuCisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmF2YWlsYWJsZVNjcmVlblNpemUpOiBBZGRl
ZDsgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiwgd2hpY2gKKyAgICAgICAgcmV0dXJucyB0aGUgc2l6
ZSBvZiBDaHJvbWU6OndpbmRvd1JlY3QoKS4KKyAgICAgICAgKiBwYWdlL1ZpZXdwb3J0Q29uZmln
dXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb246OnRl
eHREb2N1bWVudFBhcmFtZXRlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL0hvc3RXaW5kb3cuaDog
QWRkZWQgZGVjbGFyYXRpb25zIGZvciBhdmFpbGFibGVTY3JlZW5TaXplKCkgYW5kIHNjcmVlblNp
emUoKQorICAgICAgICBzbyB0aGF0IGEgY2FsbGVyIChlLmcuIFdlYkNvcmU6OnNjcmVlblJlY3Qo
KSkgY2FuIHF1ZXJ5IGZvciBzdWNoIHNjcmVlbiBpbmZvcm1hdGlvbiB1c2luZworICAgICAgICBv
bmx5IHRoZSBIb3N0V2luZG93IGludGVyZmFjZS4gVGhhdCBpcywgYSBjYWxsZXIgZG9lc24ndCBu
ZWVkIHRvIGtub3cgYWJvdXQgQ2hyb21lQ2xpZW50LgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9Q
bGF0Zm9ybVNjcmVlbklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlblJlY3QpOiBNb2Rp
ZmllZCB0byBxdWVyeSBIb3N0V2luZG93OjpzY3JlZW5TaXplKCkgd2hlbiBjb21wdXRpbmcgdGhl
CisgICAgICAgIHNjcmVlbiByZWN0YW5nbGUgaW4gV2ViS2l0MiBmb3IgaU9TLgorICAgICAgICAo
V2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxlUmVjdCk6IE1vZGlmaWVkIHRvIHF1ZXJ5IEhvc3RXaW5k
b3c6OmF2YWlsYWJsZVNjcmVlblNpemUoKQorICAgICAgICB3aGVuIGNvbXB1dGluZyB0aGUgYXZh
aWxhYmxlIHNjcmVlbiByZWN0YW5nbGUgaW4gV2ViS2l0MiBmb3IgaU9TLgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlSU9TLm1tOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmg6CisKIDIwMTQtMDQtMDkgIEJyZW5kYW4g
TG9uZyAgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEV4cG9z
ZSBNUEVHLVRTIG1ldGFkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKaW5kZXggMTg1ZmJhOTExOGJjM2I5ODhj
ZGRjMjI1MDAzOTAyY2FkZDAyMzQ4OC4uYjUxMTM4ZjVkNGVkMjYwMzY2NDI2NGNhYmM2NTI5YzA3
NjVhZjU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA0LTE3ICBE
YW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBIb29rIHVw
IHNjcmVlbi57YXZhaWxIZWlnaHQsIGF2YWlsV2lkdGgsIGhlaWdodCwgd2lkdGh9CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4MjEKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzE2NDEzNzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFByb3ZpZGUgaU9TLXNwZWNpZmljIFdlYktpdDEgaW1wbGVtZW50
YXRpb24gZm9yIENocm9tZUNsaWVudDo6YXZhaWxhYmxlU2NyZWVuU2l6ZSgpLgorCisgICAgICAg
IEFkZGl0aW9uYWxseSBzdWJzdGl0dXRlICJzY3JlZW5TaXplIiBmb3IgInZpZXdwb3JTY3JlZW5T
aXplIiB0byBtYWtlIHRoZSBjb2RlIG1vcmUgdW5kZXJzdGFuZGFibGUuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnRJT1MubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnRJT1M6
OnNjcmVlblNpemUpOiBSZW5hbWVkOyBmb3JtZXJseSBuYW1lZCB2aWV3cG9ydFNjcmVlblNpemUu
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnRJT1M6OmF2YWlsYWJsZVNjcmVlblNpemUpOiBBZGRl
ZDsgQVNTRVJUX05PVF9SRUFDSEVEKCkgYXMgYSB3aWRnZXQKKyAgICAgICAgc2hvdWxkIGNvbnN1
bHQgaXQncyBhc3NvY2lhdGVkIFdBS1dpbmRvdyBmb3IgdGhlIGF2YWlsYWJsZSBzY3JlZW4gc2l6
ZS4KKwogMjAxNC0wNC0wOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW5hbWUgQ2xpcGJvYXJkIHRvIERhdGFUcmFuc2ZlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmlu
ZGV4IDAwN2Y5ZTZiZGZjMmZhYjk1OWIwMTJkZjVjNzVhYzUzODVmNGI5ODYuLjM3MDE1NTkyMGU1
YzczMDdkOWYxOGM0MGRkODIwYjYxNmUyOTk0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxNC0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gSG9vayB1cCBzY3JlZW4ue2F2YWlsSGVpZ2h0LCBhdmFpbFdpZHRoLCBo
ZWlnaHQsIHdpZHRofQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTMxODIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQxMzc5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZGVjbGFyYXRpb24g
Zm9yIFdLR2V0Vmlld3BvcnRBdmFpbGFibGVTY3JlZW5TaXplKCkgdG8gcmV0dXJuIHRoZSBhdmFp
bGFibGUgc2NyZWVuIHNpemUuCisKKyAgICAgICAgQWRkaXRpb25hbGx5IHN1YnN0aXR1dGUgIlNj
cmVlblNpemUiIGZvciAiVmlld3BvclNjcmVlblNpemUiIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSB1
bmRlcnN0YW5kYWJsZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVy
ZmFjZS5tbToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKwogMjAxNC0w
NC0wOCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgVHVybiBNU0Ugb24g
YnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDhmNzA5NWMzMTA4YmQ4NDJlOTMxZTUyOTUyMDgzNjAy
NjhhNDYzM2UuLjM3ZDUyMDY2YTY2ZjNlN2ZlZmJjNWExNGQ1Yjc3NGExYjFjMmVlMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNC0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRl
c0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSG9vayB1cCBzY3JlZW4ue2F2YWlsSGVpZ2h0
LCBhdmFpbFdpZHRoLCBoZWlnaHQsIHdpZHRofQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxODIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQx
Mzc5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBsZW1lbnQgV2ViS2l0Mi1zcGVjaWZpYyBzdXBwb3J0IGluZnJhc3RydWN0dXJlLgorCisgICAg
ICAgIEFkZGl0aW9uYWxseSBzdWJzdGl0dXRlICJzY3JlZW5TaXplIiBmb3IgInZpZXdwb3JTY3Jl
ZW5TaXplIiB0byBtYWtlIHRoZSBjb2RlIG1vcmUgdW5kZXJzdGFuZGFibGUuCisKKyAgICAgICAg
KiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSk6IE1vZGlmaWVkIHRvIGVuY29kZSB0
aGUgYXZhaWxhYmxlIHNjcmVlbiBzaXplCisgICAgICAgIGNyZWF0aW9uIHBhcmFtZXRlci4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKTogTW9kaWZp
ZWQgdG8gZGVjb2RlIHRoZSBhdmFpbGFibGUgc2NyZWVuIHNpemUKKyAgICAgICAgY3JlYXRpb24g
cGFyYW1ldGVyLgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKTogSW5pdGlhbGl6ZSB0aGUgYXZhaWxh
YmxlIHNjcmVlbiBzaXplCisgICAgICAgIHBhcmFtZXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2NyZWVuU2l6ZSk6IFJlbmFtZWQ7
IGZvcm1lcmx5IG5hbWVkIHZpZXdwb3J0U2NyZWVuU2l6ZS4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjphdmFpbGFibGVTY3JlZW5TaXplKTogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDaHJvbWVDbGllbnQ6OnNjcmVlblNpemUpOiBSZW5hbWVkOyBmb3JtZXJseSBuYW1lZCB2
aWV3cG9ydFNjcmVlblNpemUuCisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6YXZh
aWxhYmxlU2NyZWVuU2l6ZSk6IEFkZGVkOyB0dXJucyBhcm91bmQgYW5kIGNhbGxzIFdlYlBhZ2U6
OmF2YWlsYWJsZVNjcmVlblNpemUoKS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVt
SW50ZXJmYWNlKTogSG9vayB1cCBXZWJLaXQgU3lzdGVtIEludGVyZmFjZSBmdW5jdGlvbiBXS0dl
dEF2YWlsYWJsZVNjcmVlblNpemUuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKTogSW5pdGlhbGl6ZSBh
dmFpbGFibGUgc2NyZWVuIHNpemUgaW5zdGFuY2UgdmFyaWFibGUuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNjcmVlblNpemUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjphdmFpbGFibGVTY3JlZW5TaXplKToKKwogMjAxNC0w
NC0wOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4gRml4IEdUSysgYnVpbGQgYWZ0ZXIgcjE2Njk3NS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KaW5kZXggN2M0MzZhN2I5NDUwZWRhODFkYTI4MjZjMjY0ZWE5YjIzMzZlMDcyYi4uMTg5
ZTE5ZGQ1YjRkNWY1NDE5ZmQ4YTc2OTA2MTRjYjQwMzA4ZDUyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KQEAgLTI3MTEsNyArMjcxMSw4IEBAIF93a0dldFNjcmVlblNjYWxlRmFjdG9yCiBfd2tHZXRV
c2VyQWdlbnQKIF93a0dldFZlbmRvck5hbWVGb3JOYXZpZ2F0b3IKIF93a0dldFZlcnRpY2FsR2x5
cGhzRm9yQ2hhcmFjdGVycwotX3drR2V0Vmlld3BvcnRTY3JlZW5TaXplCitfd2tHZXRTY3JlZW5T
aXplCitfd2tHZXRBdmFpbGFibGVTY3JlZW5TaXplCiBfd2tJc0dCMTgwMzBDb21wbGlhbmNlUmVx
dWlyZWQKIF93a1NldExheWVyQ29udGVudHNTY2FsZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAyMWMyOWRhZGU1Yjc2OGViYjkyMTJmMWNlNWIzYmE4ODBkNjAzNDIyLi40NzA3
ZDU0ZTZmMWRhMWI4MGQ2ZWI5OTQ2Yzk5MTIyMmJmM2I4NjNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTI5NDQsNyArMjk0NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9y
dChjb25zdCBTdHJpbmcmIGZlYXR1cmVzLCBWaWV3cG9ydEFyZ3VtZW50czo6VHlwZSBvCiAgICAg
Ly8gYm91bmRzIGNoZWNraW5nIGFuZCBkZXRlcm1pbmluZyBjb25jcmV0ZSB2YWx1ZXMgZm9yIFZh
bHVlQXV0byB3aGljaCB3ZSBhbHJlYWR5IGRvIGluIFVJS2l0LgogICAgIC8vIFRvIG1haW50YWlu
IG9sZCBiZWhhdmlvciwgd2UganVzdCBuZWVkIHRvIHVwZGF0ZSBhIGZldyB2YWx1ZXMsIGxlYXZp
bmcgQXV0bydzIGZvciBVSUtpdC4KICAgICBpZiAoUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKSkK
LSAgICAgICAgZmluYWxpemVWaWV3cG9ydEFyZ3VtZW50cyhtX3ZpZXdwb3J0QXJndW1lbnRzLCBw
YWdlLT5jaHJvbWUoKS5jbGllbnQoKS52aWV3cG9ydFNjcmVlblNpemUoKSk7CisgICAgICAgIGZp
bmFsaXplVmlld3BvcnRBcmd1bWVudHMobV92aWV3cG9ydEFyZ3VtZW50cywgcGFnZS0+Y2hyb21l
KCkuc2NyZWVuU2l6ZSgpKTsKICNlbmRpZgogCiAgICAgdXBkYXRlVmlld3BvcnRBcmd1bWVudHMo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBhNjkwZTNiNjhhOTFlYzE1ZTZlNmUyNjI5YmI3
MDI1MzlhOGFjY2FlLi40ZGNkNjM1N2Q2Y2U4YTQ2ODNiZmNjZjJlZDg0ZGM5Mzc3ZDE3YTMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC00ODgsNiArNDg4LDE2IEBAIHZvaWQgQ2hyb21lOjps
b2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZpbGVJY29u
TG9hZGVyKiBsCiAgICAgbV9jbGllbnQubG9hZEljb25Gb3JGaWxlcyhmaWxlbmFtZXMsIGxvYWRl
cik7CiB9CiAKK0Zsb2F0U2l6ZSBDaHJvbWU6OnNjcmVlblNpemUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2NsaWVudC5zY3JlZW5TaXplKCk7Cit9CisKK0Zsb2F0U2l6ZSBDaHJvbWU6OmF2YWls
YWJsZVNjcmVlblNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX2NsaWVudC5hdmFpbGFibGVT
Y3JlZW5TaXplKCk7Cit9CisKIHZvaWQgQ2hyb21lOjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGll
c0RpZENoYW5nZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lbnRzKSBjb25zdAogewog
I2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IGEyOTlkNGQ5MjRmYmE1ZTdm
ZmExOWEwYzRjYjgwOGE3M2UwMTg4MDQuLjdhNDhjZjM2MDk5OWI0Y2ZjOWQxYjdiYThjOWFjOWI5
OTI1NTk3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTAsNiArOTAsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlE
KSBvdmVycmlkZTsKIAorICAgIEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAogICAg
IHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSosIGNvbnN0IEludFNpemUmKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDY3YjU5NTRkYzYwYTZhODQzYTRhN2Y2
NjFiODZkMzk2MDJkZDI5ZDQuLmY1Y2JhNjA3NTAxYTdhOTYzYzAxOTViNjhjYmViOWRhMTg0ZWY1
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTc2LDcgKzE3Niw5IEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIC8vIEVuZCBtZXRob2RzIHVzZWQgYnkgSG9zdFdpbmRvdy4KIAot
ICAgIHZpcnR1YWwgRmxvYXRTaXplIHZpZXdwb3J0U2NyZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Kj4odGhpcyktPndpbmRvd1JlY3QoKS5zaXplKCk7IH0K
KyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3QgeyByZXR1cm4gY29uc3Rf
Y2FzdDxDaHJvbWVDbGllbnQqPih0aGlzKS0+d2luZG93UmVjdCgpLnNpemUoKTsgfQorICAgIHZp
cnR1YWwgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCB7IHJldHVybiBjb25z
dF9jYXN0PENocm9tZUNsaWVudCo+KHRoaXMpLT53aW5kb3dSZWN0KCkuc2l6ZSgpOyB9CisKICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmKSBjb25zdCB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50
c1NpemVDaGFuZ2VkKEZyYW1lKiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcAppbmRleCBjNDlkN2RkMjg2
ZjUxMzkwYzhmZTYwNTEzY2VkYzJlN2M4ZTc2NjBmLi4zZjkwYTdhZWJkNzM5OGVlMGUwNzlmYmUz
ZWVjMGZlMjgwYzM2ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0
Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZp
Z3VyYXRpb24uY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgVmlld3BvcnRDb25maWd1cmF0aW9uOjpQ
YXJhbWV0ZXJzIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6dGV4dERvY3VtZW50UGFyYW1ldGVycygK
ICAgICBQYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgcGFy
YW1ldGVycy53aWR0aCA9IHN0YXRpY19jYXN0PGludD4od2tHZXRWaWV3cG9ydFNjcmVlblNpemUo
KS53aWR0aCk7CisgICAgcGFyYW1ldGVycy53aWR0aCA9IHN0YXRpY19jYXN0PGludD4od2tHZXRT
Y3JlZW5TaXplKCkud2lkdGgpOwogI2Vsc2UKICAgICAvLyBGSVhNRTogdGhpcyBuZWVkcyB0byBi
ZSB1bmlmaWVkIHdpdGggVmlld3BvcnRBcmd1bWVudHMgb24gYWxsIHBvcnRzLgogICAgIHBhcmFt
ZXRlcnMud2lkdGggPSAzMjA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9I
b3N0V2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXgg
YTc2NzQzNTMyMmY4M2MyMjIyMDEzZmI1ZjczZTcxMjU3ZTM3ZDM0Mi4uMWZlMzE3MjZkMDliNWZk
MWRkZGI5ZWI4NzI3Zjg4OGJiNTE4YzgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5k
b3cuaApAQCAtNzYsNiArNzYsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2Ny
ZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSA9IDA7CisKKyAgICB2aXJ0dWFsIEZsb2F0
U2l6ZSBzY3JlZW5TaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgRmxvYXRTaXplIGF2YWls
YWJsZVNjcmVlblNpemUoKSBjb25zdCA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5J
T1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvUGxhdGZvcm1TY3JlZW5JT1MubW0K
aW5kZXggMjU4Njg0NWFjZWIwOTYzMjNiNGY4NTU4NTA1NzJmZGU0YmM5ZDg1MC4uMDU1ZTNkZTM0
ZWU4MTFlMTE3NjAzNGExYTIwMTA1OTU1OTRiNjcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1BsYXRmb3JtU2NyZWVuSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9QbGF0Zm9ybVNjcmVlbklPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW1wb3J0ICJGbG9hdFJlY3QuaCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgorI2ltcG9ydCAiSG9z
dFdpbmRvdy5oIgogI2ltcG9ydCAiSW50UmVjdC5oIgogI2ltcG9ydCAiTm90SW1wbGVtZW50ZWQu
aCIKICNpbXBvcnQgIldBS1dpbmRvdy5oIgpAQCAtNTgsMjMgKzU5LDMzIEBAIGJvb2wgc2NyZWVu
SXNNb25vY2hyb21lKFdpZGdldCopCiBGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdl
dCkKIHsKICAgICBpZiAoIXdpZGdldCkKLSAgICAgICAgcmV0dXJuIENHUmVjdFplcm87Ci0gICAg
V0FLV2luZG93ICp3aW5kb3cgPSBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpIHdpbmRvd107Ci0g
ICAgaWYgKCF3aW5kb3cpCi0gICAgICAgIHJldHVybiBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgp
IGZyYW1lXTsKLSAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFplcm8sIFt3aW5kb3cg
c2NyZWVuU2l6ZV0gfTsKLSAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChzY3JlZW5SZWN0KTsK
KyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOworCisgICAgaWYgKE5TVmlldyAqcGxhdGZvcm1X
aWRnZXQgPSB3aWRnZXQtPnBsYXRmb3JtV2lkZ2V0KCkpIHsKKyAgICAgICAgLy8gV2ViS2l0MQor
ICAgICAgICBXQUtXaW5kb3cgKndpbmRvdyA9IFtwbGF0Zm9ybVdpZGdldCB3aW5kb3ddOworICAg
ICAgICBpZiAoIXdpbmRvdykKKyAgICAgICAgICAgIHJldHVybiBbcGxhdGZvcm1XaWRnZXQgZnJh
bWVdOworICAgICAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsgQ0dQb2ludFplcm8sIFt3aW5kb3cg
c2NyZWVuU2l6ZV0gfTsKKyAgICAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3Qoc2NyZWVuUmVj
dCk7CisgICAgfQorICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KEZsb2F0UmVjdChGbG9hdFBv
aW50KCksIHdpZGdldC0+cm9vdCgpLT5ob3N0V2luZG93KCktPnNjcmVlblNpemUoKSkpOwogfQog
CiBGbG9hdFJlY3Qgc2NyZWVuQXZhaWxhYmxlUmVjdChXaWRnZXQqIHdpZGdldCkKIHsKICAgICBp
ZiAoIXdpZGdldCkKLSAgICAgICAgcmV0dXJuIENHUmVjdFplcm87Ci0gICAgV0FLV2luZG93ICp3
aW5kb3cgPSBbd2lkZ2V0LT5wbGF0Zm9ybVdpZGdldCgpIHdpbmRvd107Ci0gICAgaWYgKCF3aW5k
b3cpCi0gICAgICAgIHJldHVybiBDR1JlY3RaZXJvOwotICAgIENHUmVjdCBzY3JlZW5SZWN0ID0g
eyBDR1BvaW50WmVybywgW3dpbmRvdyBhdmFpbGFibGVTY3JlZW5TaXplXSB9OwotICAgIHJldHVy
biBlbmNsb3NpbmdJbnRSZWN0KHNjcmVlblJlY3QpOworICAgICAgICByZXR1cm4gRmxvYXRSZWN0
KCk7CisKKyAgICBpZiAoTlNWaWV3ICpwbGF0Zm9ybVdpZGdldCA9IHdpZGdldC0+cGxhdGZvcm1X
aWRnZXQoKSkgeworICAgICAgICAvLyBXZWJLaXQxCisgICAgICAgIFdBS1dpbmRvdyAqd2luZG93
ID0gW3BsYXRmb3JtV2lkZ2V0IHdpbmRvd107CisgICAgICAgIGlmICghd2luZG93KQorICAgICAg
ICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOworICAgICAgICBDR1JlY3Qgc2NyZWVuUmVjdCA9IHsg
Q0dQb2ludFplcm8sIFt3aW5kb3cgYXZhaWxhYmxlU2NyZWVuU2l6ZV0gfTsKKyAgICAgICAgcmV0
dXJuIGVuY2xvc2luZ0ludFJlY3Qoc2NyZWVuUmVjdCk7CisgICAgfQorICAgIHJldHVybiBlbmNs
b3NpbmdJbnRSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIHdpZGdldC0+cm9vdCgpLT5ob3N0
V2luZG93KCktPmF2YWlsYWJsZVNjcmVlblNpemUoKSkpOwogfQogCiB2b2lkIHNjcmVlbkNvbG9y
UHJvZmlsZShDb2xvclByb2ZpbGUmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2VJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbQppbmRleCA4OGZiOGE0YWFjYTNk
OTgwMWQzMGExM2FlNjc1ZGNhY2RjNTllZjQ1Li5mMTBjNDVlZTQ1N2EzOTU2MWM5NWEwZGI2ZmVh
ZGY2Nzk5YWVmMDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
Q29yZVN5c3RlbUludGVyZmFjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViQ29yZVN5c3RlbUludGVyZmFjZUlPUy5tbQpAQCAtNjgsNyArNjgsOCBAQCB2b2lkICgq
d2tTZXRDb29raWVTdG9yYWdlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkoQk9PTCk7CiBDRkhUVFBN
ZXNzYWdlUmVmICgqd2tDb3B5Q09OTkVDVFByb3h5UmVzcG9uc2UpKENGUmVhZFN0cmVhbVJlZiwg
Q0ZVUkxSZWYgcmVzcG9uc2VVUkwsIENGU3RyaW5nUmVmIHByb3h5SG9zdCwgQ0ZOdW1iZXJSZWYg
cHJveHlQb3J0KTsKIGJvb2wgKCp3a0V4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJJT1NWZXJz
aW9uKShpbnQpOwogaW50ICgqd2tHZXREZXZpY2VDbGFzcykodm9pZCk7Ci1DR1NpemUgKCp3a0dl
dFZpZXdwb3J0U2NyZWVuU2l6ZSkodm9pZCk7CitDR1NpemUgKCp3a0dldFNjcmVlblNpemUpKHZv
aWQpOworQ0dTaXplICgqd2tHZXRBdmFpbGFibGVTY3JlZW5TaXplKSh2b2lkKTsKIHZvaWQgKCp3
a1NldExheWVyQ29udGVudHNTY2FsZSkoQ0FMYXllciAqKTsKIGZsb2F0ICgqd2tHZXRTY3JlZW5T
Y2FsZUZhY3Rvcikodm9pZCk7CiBib29sICgqd2tJc0dCMTgwMzBDb21wbGlhbmNlUmVxdWlyZWQp
KHZvaWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVT
eXN0ZW1JbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lz
dGVtSW50ZXJmYWNlLmgKaW5kZXggYzUzODk4YWYxY2I3MTc2MGJiMzUxMTY1YWQ3MjZiMzVlODhl
NDk4Mi4uY2Q3YTFhMjQ2YWE5M2FkNmE0NmFjYjA2MTA0ODE3NTkxNjIxYzhiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5o
CkBAIC0zMDAsNyArMzAwLDggQEAgZXh0ZXJuIEFYVUlFbGVtZW50UmVmICgqd2tDcmVhdGVBWFVJ
RWxlbWVudFJlZikoaWQgZWxlbWVudCk7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIAogI2lm
IFBMQVRGT1JNKElPUykKLWV4dGVybiBDR1NpemUgKCp3a0dldFZpZXdwb3J0U2NyZWVuU2l6ZSko
dm9pZCk7CitleHRlcm4gQ0dTaXplICgqd2tHZXRTY3JlZW5TaXplKSh2b2lkKTsKK2V4dGVybiBD
R1NpemUgKCp3a0dldEF2YWlsYWJsZVNjcmVlblNpemUpKHZvaWQpOwogZXh0ZXJuIHZvaWQgKCp3
a1NldExheWVyQ29udGVudHNTY2FsZSkoQ0FMYXllciAqKTsKIGV4dGVybiBmbG9hdCAoKndrR2V0
U2NyZWVuU2NhbGVGYWN0b3IpKHZvaWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnRJT1MuaCBiL1NvdXJjZS9XZWJL
aXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCmluZGV4IDBhMWYzMWRk
ZTdlYjliYmQ2ZDg0OTNhYTAwOWJiY2RkOTFiODliN2QuLmUwZTRkYmIyZDNkOGU0M2JjYjRkNTM3
ZjY2Njc4YzJiYTk0NjU0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudElPUy5oCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNTY3JvbGxOb3RpZmljYXRpb25zKFdlYkNvcmU6OkZy
YW1lKiwgYm9vbCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG9ic2VydmVkQ29udGVudENo
YW5nZShXZWJDb3JlOjpGcmFtZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckNv
bnRlbnRDaGFuZ2VPYnNlcnZlcnMoV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKLSAgICB2aXJ0
dWFsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6
ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0UHJv
cGVydGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlSZXZlYWxlZFNlbGVjdGlvbkJ5U2Ny
b2xsaW5nRnJhbWUoV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wg
aXNTdG9wcGluZygpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCmluZGV4IDc1NmNjMTY5NzQ4YTBhNTM5
ZWU0OWY0Njk1MjE1NTYxY2U1NWI4YTguLmI1YTM0ODQxNWE1YzNjMWJkMzQ0NDY4ZGMzY2MwNjdk
OTA0ODU0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnRJT1MubW0KQEAgLTE3Miw5ICsxNzIsMTYgQEAgc3RhdGljIGlubGlu
ZSBOU0RpY3Rpb25hcnkqIGRpY3Rpb25hcnlGb3JWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBXZWJD
b3JlOjpWaWV3cG8KICAgICAgICAgICAgICAgQCJtaW5pbWFsLXVpIjpAKGFyZ3VtZW50cy5taW5p
bWFsVUkpIH07CiB9CiAKLUZsb2F0U2l6ZSBXZWJDaHJvbWVDbGllbnRJT1M6OnZpZXdwb3J0U2Ny
ZWVuU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgV2ViQ2hyb21lQ2xpZW50SU9TOjpzY3JlZW5TaXpl
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gRmxvYXRTaXplKFdLR2V0Vmlld3BvcnRTY3JlZW5TaXpl
KCkpOworICAgIHJldHVybiBGbG9hdFNpemUoV0tHZXRTY3JlZW5TaXplKCkpOworfQorCitGbG9h
dFNpemUgV2ViQ2hyb21lQ2xpZW50SU9TOjphdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QKK3sK
KyAgICAvLyBXZWJLaXQxIGNvZGUgc2hvdWxkIHF1ZXJ5IHRoZSBXQUtXaW5kb3cgZm9yIHRoZSBh
dmFpbGFibGUgc2NyZWVuIHNpemUuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIEZsb2F0U2l6ZSgpOwogfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudElPUzo6ZGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVu
dHMmIGFyZ3VtZW50cykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCBhOGQyZjE5M2MyNWFhOThjYmFm
MDIyY2Q2ZDkwYmM1MDYyYTUyNDc5Li5hYWZmZjhlMTNhNzcxMzdmODVmNmIzZjFhNzE1YjQxZTFl
NjgwM2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJT
eXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0xMzksNyArMTM5LDggQEAgdm9pZCBJbml0V2ViQ29y
ZVN5c3RlbUludGVyZmFjZSh2b2lkKQogI2lmIFBMQVRGT1JNKElPUykKICAgICBJTklUKEV4ZWN1
dGFibGVXYXNMaW5rZWRPbk9yQWZ0ZXJJT1NWZXJzaW9uKTsKICAgICBJTklUKEdldERldmljZUNs
YXNzKTsKLSAgICBJTklUKEdldFZpZXdwb3J0U2NyZWVuU2l6ZSk7CisgICAgSU5JVChHZXRTY3Jl
ZW5TaXplKTsKKyAgICBJTklUKEdldEF2YWlsYWJsZVNjcmVlblNpemUpOwogICAgIElOSVQoR2V0
U2NyZWVuU2NhbGVGYWN0b3IpOwogICAgIElOSVQoSXNHQjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVk
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCmluZGV4IDY4MDU5ZTJlYzkwZDU3NTA4NDgwYWM3NDhkZjFkOGIwYjkw
MDgyMzAuLjRlM2NlYjQ4YzQzMjM2MWQ0ZDk1ZDFlYTExNWQyZWZhZjY2MmQ4MjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAK
QEAgLTcyLDcgKzcyLDggQEAgdm9pZCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
SVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb2xv
clNwYWNlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIGVuY29kZXIgPDwgdmlld3Bv
cnRTY3JlZW5TaXplOworICAgIGVuY29kZXIgPDwgc2NyZWVuU2l6ZTsKKyAgICBlbmNvZGVyIDw8
IGF2YWlsYWJsZVNjcmVlblNpemU7CiAjZW5kaWYKIH0KIApAQCAtMTUyLDcgKzE1Myw5IEBAIGJv
b2wgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBXZWJQYWdlQ3JlCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMudmlld3BvcnRTY3JlZW5TaXplKSkKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuc2NyZWVuU2l6ZSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2Ny
ZWVuU2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAwYTE3MmQw
OGJkNzg5YTg2MmY2NmJiZTVlMDhhNjQxZjE1Mzk0MDE1Li4xNDdjMGY0NzM5YmE5Njk4NTEzODM5
ZTcwMDczZWM1Yzg3MjkxNjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTExNSw3ICsxMTUsOCBAQCBzdHJ1Y3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgQ29sb3JTcGFjZURhdGEgY29sb3JTcGFjZTsKICNl
bmRpZgogI2lmIFBMQVRGT1JNKElPUykKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRT
Y3JlZW5TaXplOworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBzY3JlZW5TaXplOworICAgIFdlYkNv
cmU6OkZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplOwogI2VuZGlmCiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDE2YzhmMGIzYmM2MDRmNTM5
MDNmOTFhODYyNjk1N2MxMWUxMmJlZDUuLmRmMTI3YWQ0NTBkYmIwNjIwYTFhNGNkMzU2Nzc4OGEz
OTUxOTc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC00MTQ3LDcgKzQxNDcsOCBAQCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94
eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKCkKICAgICBwYXJhbWV0ZXJzLmNvbG9yU3BhY2UgPSBtX3Bh
Z2VDbGllbnQuY29sb3JTcGFjZSgpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIHBh
cmFtZXRlcnMudmlld3BvcnRTY3JlZW5TaXplID0gdmlld3BvcnRTY3JlZW5TaXplKCk7CisgICAg
cGFyYW1ldGVycy5zY3JlZW5TaXplID0gc2NyZWVuU2l6ZSgpOworICAgIHBhcmFtZXRlcnMuYXZh
aWxhYmxlU2NyZWVuU2l6ZSA9IGF2YWlsYWJsZVNjcmVlblNpemUoKTsKICNlbmRpZgogCiAgICAg
cmV0dXJuIHBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggNDU0Mjk4M2Q2MTMwMzM2YzViNTg1ZDJiMmM0Y2RiMGI2MDBmMzBmZS4uNjZhN2M0YmY0
MWVhZDQ3OGIxMDE4M2U1NjRlZGZmYzg1ZjliYTU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMTMzMSw3ICsxMzMxLDkgQEAgcHJpdmF0ZToKICNlbmRpZiAv
LyBQTEFURk9STShNQUMpCiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgV2ViQ29yZTo6RmxvYXRT
aXplIHZpZXdwb3J0U2NyZWVuU2l6ZSgpOworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBzY3JlZW5T
aXplKCk7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKTsKKwog
CiAgICAgdm9pZCBkaWRHZXRUYXBIaWdobGlnaHRHZW9tZXRyaWVzKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6Rmxv
YXRRdWFkPiYgZ2VvbWV0cmllcywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wTGVmdFJhZGl1
cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wUmlnaHRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6
OkludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGJvdHRv
bVJpZ2h0UmFkaXVzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQppbmRleCBhZWVjMWYzYTViMTJiYzMyMDdkMWZkNzU2NjFhYTJmNTc1MTdl
MTczLi5kNGQ5YTVkMDQ0ZTU1OWYzYzQ2ODNhYzU0OWYwNzM2MDViZjQxNjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtNDUzLDkg
KzQ1MywxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Ymx1ckFzc2lzdGVkTm9kZSgpCiAgICAgcHJv
Y2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkJsdXJBc3Npc3RlZE5vZGUoKSwgbV9wYWdl
SUQpOwogfQogCi1GbG9hdFNpemUgV2ViUGFnZVByb3h5Ojp2aWV3cG9ydFNjcmVlblNpemUoKQor
RmxvYXRTaXplIFdlYlBhZ2VQcm94eTo6c2NyZWVuU2l6ZSgpCiB7Ci0gICAgcmV0dXJuIEZsb2F0
U2l6ZShXS0dldFZpZXdwb3J0U2NyZWVuU2l6ZSgpKTsKKyAgICByZXR1cm4gRmxvYXRTaXplKFdL
R2V0U2NyZWVuU2l6ZSgpKTsKK30KKworRmxvYXRTaXplIFdlYlBhZ2VQcm94eTo6YXZhaWxhYmxl
U2NyZWVuU2l6ZSgpCit7CisgICAgcmV0dXJuIEZsb2F0U2l6ZShXS0dldEF2YWlsYWJsZVNjcmVl
blNpemUoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRHZXRUYXBIaWdobGlnaHRHZW9t
ZXRyaWVzKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBj
b25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRRdWFkPiYgaGlnaGxpZ2h0ZWRRdWFkcywgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgdG9wTGVmdFJhZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYg
dG9wUmlnaHRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMs
IGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGJvdHRvbVJpZ2h0UmFkaXVzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IGY4YzJkOTU4ZGFiZGQ0MTczNDJiMzliZDgzYmE3YWRmMzhhNjc2ODMu
Ljg1YThlMDk0YTdmZWNlODczMTk1Y2EyZDRmNTM0MmNkZWY0ODBkOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKQEAgLTgzNyw5ICs4MzcsMTQgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4
aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQogI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1MpCi1GbG9hdFNpemUgV2ViQ2hyb21lQ2xpZW50Ojp2aWV3cG9y
dFNjcmVlblNpemUoKSBjb25zdAorRmxvYXRTaXplIFdlYkNocm9tZUNsaWVudDo6c2NyZWVuU2l6
ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcGFnZS0+dmlld3BvcnRTY3JlZW5TaXplKCk7Cisg
ICAgcmV0dXJuIG1fcGFnZS0+c2NyZWVuU2l6ZSgpOworfQorCitGbG9hdFNpemUgV2ViQ2hyb21l
Q2xpZW50OjphdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wYWdl
LT5hdmFpbGFibGVTY3JlZW5TaXplKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
aW5kZXggMDA5OTY1MmVkODdiZThjOTNjOGE2NmFiZWZkMWNkMWQ1NDI1ZDVlOC4uYjk5NGVlZWVi
ZDQ0NjU1MjRjMzE3OTVlOGVjMzRlNzllOGFlYWI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0yNTEsNyArMjUxLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uKCkgb3ZlcnJpZGU7CiAKICNpZiBQTEFURk9STShJT1MpCi0gICAgdmlydHVh
bCBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFNpemUgc2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUo
KSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdw
b3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYp
IGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KaW5k
ZXggMTJlNzZlYjc1OGM3MjA5ZDY5ZWIyN2M4YzhjYzIwYmRiNjEyMTI0Yi4uZTM5ZmQwMTNiODlk
YTRiNDY0NDQ4NDRkMjJiNTRiNWJiNGIzM2QwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUlu
dGVyZmFjZS5tbQpAQCAtMjE5LDcgKzIxOSw4IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRl
cmZhY2Uodm9pZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIElOSVQoRXhlY3V0YWJsZVdh
c0xpbmtlZE9uT3JBZnRlcklPU1ZlcnNpb24pOwogICAgICAgICBJTklUKEdldERldmljZUNsYXNz
KTsKLSAgICAgICAgSU5JVChHZXRWaWV3cG9ydFNjcmVlblNpemUpOworICAgICAgICBJTklUKEdl
dFNjcmVlblNpemUpOworICAgICAgICBJTklUKEdldEF2YWlsYWJsZVNjcmVlblNpemUpOwogICAg
ICAgICBJTklUKEdldFNjcmVlblNjYWxlRmFjdG9yKTsKICAgICAgICAgSU5JVChJc0dCMTgwMzBD
b21wbGlhbmNlUmVxdWlyZWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYWZlMjg0NTFmNDRjODZiOGE4ZWIwYTZkMzdiM2Mx
NWQ4ZGJmOWMxZC4uY2E4OWQyYzNiNjg5OGU3YTEwNGI5MDRkZTQ0MTIwZGFiMGQwYTU5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjkx
LDcgKzI5MSw4IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV9oYXNSZWNlaXZlZFZp
c2libGVDb250ZW50UmVjdHNBZnRlckRpZENvbW1pdExvYWQoZmFsc2UpCiAgICAgLCBtX3NjYWxl
V2FzU2V0QnlVSVByb2Nlc3MoZmFsc2UpCiAgICAgLCBtX3VzZXJIYXNDaGFuZ2VkUGFnZVNjYWxl
RmFjdG9yKGZhbHNlKQotICAgICwgbV92aWV3cG9ydFNjcmVlblNpemUocGFyYW1ldGVycy52aWV3
cG9ydFNjcmVlblNpemUpCisgICAgLCBtX3NjcmVlblNpemUocGFyYW1ldGVycy5zY3JlZW5TaXpl
KQorICAgICwgbV9hdmFpbGFibGVTY3JlZW5TaXplKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVu
U2l6ZSkKICNlbmRpZgogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkKICAgICAsIG1fYmFja2dy
b3VuZENvbG9yKENvbG9yOjp3aGl0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IDUyZjU5MzFiYmNlMWZhOTAzNDMxYTNlNGUzZmVlMDg0N2FkZWVm
MDUuLmM2MjUwYzU4ZDRhOWM3MzMzNjc0MzI2YjE4ZjhjYmFiMTY0ZjhjNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDM4LDcgKzQzOCw4IEBA
IHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSB2aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdDsKKyAgICBXZWJDb3JlOjpGbG9hdFNpemUg
c2NyZWVuU2l6ZSgpIGNvbnN0OworICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBhdmFpbGFibGVTY3Jl
ZW5TaXplKCkgY29uc3Q7CiAgICAgdm9pZCB2aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29u
c3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNb2Jp
bGVEb2NUeXBlKGJvb2wpOwogCkBAIC0xMTUzLDcgKzExNTQsOCBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVjdHNBZnRlckRpZENvbW1pdExvYWQ7CiAg
ICAgYm9vbCBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7CiAgICAgYm9vbCBtX3VzZXJIYXNDaGFu
Z2VkUGFnZVNjYWxlRmFjdG9yOwotICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3ZpZXdwb3J0U2Ny
ZWVuU2l6ZTsKKyAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zY3JlZW5TaXplOworICAgIFdlYkNv
cmU6OkZsb2F0U2l6ZSBtX2F2YWlsYWJsZVNjcmVlblNpemU7CiAgICAgV2ViQ29yZTo6SW50U2l6
ZSBtX2Jsb2NrU2VsZWN0aW9uRGVzaXJlZFNpemU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDZlODAy
NzhkZTM0MmUxNjlhYThkYzhmMzc5NWNlMTAxOGY3MWFhZDcuLjY1ZDBkZjIzMjlmY2MwMWI1Y2Q2
ZmFjZWViZmViMmJiZWIyOWNlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTExMSw5ICsxMTEsMTQgQEAgdm9pZCBX
ZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2Vz
U3RvcmUmKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLUZsb2F0U2l6ZSBXZWJQYWdlOjp2
aWV3cG9ydFNjcmVlblNpemUoKSBjb25zdAorRmxvYXRTaXplIFdlYlBhZ2U6OnNjcmVlblNpemUo
KSBjb25zdAogewotICAgIHJldHVybiBtX3ZpZXdwb3J0U2NyZWVuU2l6ZTsKKyAgICByZXR1cm4g
bV9zY3JlZW5TaXplOworfQorCitGbG9hdFNpemUgV2ViUGFnZTo6YXZhaWxhYmxlU2NyZWVuU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYXZhaWxhYmxlU2NyZWVuU2l6ZTsKIH0KIAogdm9p
ZCBXZWJQYWdlOjp2aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1
bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKQo=
</data>
<flag name="review"
          id="253996"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>