<?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>79964</bug_id>
          
          <creation_ts>2012-02-29 18:00:42 -0800</creation_ts>
          <short_desc>[chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost</short_desc>
          <delta_ts>2012-03-01 13:43:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nat Duca">nduca</reporter>
          <assigned_to name="Nat Duca">nduca</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>568164</commentid>
    <comment_count>0</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-02-29 18:00:42 -0800</bug_when>
    <thetext>[chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568166</commentid>
    <comment_count>1</comment_count>
      <attachid>129570</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-02-29 18:01:06 -0800</bug_when>
    <thetext>Created attachment 129570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568365</commentid>
    <comment_count>2</comment_count>
      <attachid>129570</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-02-29 23:06:38 -0800</bug_when>
    <thetext>Comment on attachment 129570
Patch

R=me. This looks real nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568405</commentid>
    <comment_count>3</comment_count>
      <attachid>129570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 23:57:16 -0800</bug_when>
    <thetext>Comment on attachment 129570
Patch

Rejecting attachment 129570 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/11779271</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568872</commentid>
    <comment_count>4</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2012-03-01 13:43:02 -0800</bug_when>
    <thetext>Committed r109411: &lt;http://trac.webkit.org/changeset/109411&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129570</attachid>
            <date>2012-02-29 18:01:06 -0800</date>
            <delta_ts>2012-02-29 23:57:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79964-20120229180105.patch</filename>
            <type>text/plain</type>
            <size>27297</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU3MDYyZjFmOTU4ODIz
YTJhNGRkMjhmMDkyZDllOWEwNWVhZWVhYy4uZTQ5MThiMTNmZGQ5NzRkM2U2NGNkZmNkNWI1OGVk
ZDA5ZGVjMDJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTAyLTI5ICBOYXQg
RHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIE1vdmUgY29u
dGV4dCBsb3N0IGNvbnRyb2wgY29kZSBmcm9tIENDU2luZ2xlVGhyZWFkUHJveHkgdG8gQ0NMYXll
clRyZWVIb3N0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03OTk2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6Q0NMYXllclRyZWVIb3N0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpyZWNyZWF0ZUNvbnRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpjcmVhdGVDb250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6ZGlkTG9zZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NMYXllclRyZWVIb3N0Ojpjb21wb3NpdGVBbmRSZWFkYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6Omxvc2VDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNDTGF5ZXJUcmVlSG9zdDo6dXBkYXRlTGF5ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKENDTGF5ZXJUcmVl
SG9zdENsaWVudCk6CisgICAgICAgIChDQ0xheWVyVHJlZUhvc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKENDUHJveHkpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJv
eHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVU
aHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpjb21w
b3NpdGVBbmRSZWFkYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5
Ojppbml0aWFsaXplQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFBy
b3h5OjpyZWNyZWF0ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpsb3NlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpjb21wb3NpdGVJbW1lZGlhdGVseSk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpkb0NvbXBvc2l0ZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oOgorICAgICAg
ICAoQ0NTaW5nbGVUaHJlYWRQcm94eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFBy
b3h5Ojppbml0aWFsaXplQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5
OjpyZWNyZWF0ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1RocmVhZFByb3h5Ojpsb3NlQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oOgorICAgICAgICAoQ0NUaHJlYWRQcm94eSk6
CisKIDIwMTItMDItMjggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDkxMzcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IDlhNzRlZTc2NDhkNzJhOGNlM2Q2NzE5MGNiNjI5ODg3ODgxZDI5
ZmUuLjJiZTgzZGFmYWQyNzc4ZmNkODIzMzE1NGIxOTk4NzM2Y2YxMDJmNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDItMjkgIE5hdCBEdWNhICA8
bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW92ZSBjb250ZXh0IGxv
c3QgY29udHJvbCBjb2RlIGZyb20gQ0NTaW5nbGVUaHJlYWRQcm94eSB0byBDQ0xheWVyVHJlZUhv
c3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5OTY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMv
V2ViTGF5ZXJUcmVlVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVZpZXc6
Omxvc2VDb21wb3NpdG9yQ29udGV4dCk6CisgICAgICAgICogc3JjL1dlYkxheWVyVHJlZVZpZXdJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlVmlld0ltcGw6OmNyZWF0ZUNv
bnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlkUmVjcmVh
dGVDb250ZXh0KToKKyAgICAgICAgKiBzcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaDoKKyAgICAg
ICAgKFdlYkxheWVyVHJlZVZpZXdJbXBsKToKKyAgICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhv
c3RUZXN0LmNwcDoKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJlZUhvc3RDbGllbnQ6OmNyZWF0
ZUNvbnRleHQpOgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJUcmVlSG9zdENsaWVudDo6ZGlkUmVj
cmVhdGVDb250ZXh0KToKKyAgICAgICAgKiB0ZXN0cy9GYWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpGYWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50OjpjcmVhdGVD
b250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkZha2VDQ0xheWVyVHJlZUhvc3RDbGllbnQ6OmRp
ZFJlY3JlYXRlQ29udGV4dCk6CisKIDIwMTItMDItMjggIEdhcnkgS2FjbWFyY2lrICA8Z2FyeWth
Y0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBTZXQgbmF0aXZlS2V5Q29kZSB0
byBpbmNsdWRlIFdpbmRvd3Mgc2NhbiBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNw
cAppbmRleCA5YWUwMjc5YjAxZjFlODE3MTI3NGRlNTk3OWNmM2UyYzU2ODJiMjlkLi43Y2NiNWZk
NzE4YzIzNzcwMDM4OGVhYzE5OTlkZmVmOWJjNjhjYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5jcHAKQEAgLTY2LDYgKzY2LDkgQEAgQ0NMYXllclRyZWVIb3N0OjpDQ0xheWVyVHJl
ZUhvc3QoQ0NMYXllclRyZWVIb3N0Q2xpZW50KiBjbGllbnQsIGNvbnN0IENDU2V0dGluZ3MKICAg
ICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZnJhbWVOdW1iZXIoMCkKICAgICAsIG1fbGF5
ZXJSZW5kZXJlckluaXRpYWxpemVkKGZhbHNlKQorICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkK
KyAgICAsIG1fbnVtVGltZXNSZWNyZWF0ZVNob3VsZEZhaWwoMCkKKyAgICAsIG1fbnVtRmFpbGVk
UmVjcmVhdGVBdHRlbXB0cygwKQogICAgICwgbV9zZXR0aW5ncyhzZXR0aW5ncykKICAgICAsIG1f
dmlzaWJsZSh0cnVlKQogICAgICwgbV9wYWdlU2NhbGVGYWN0b3IoMSkKQEAgLTExNCw3ICsxMTcs
NyBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoKQogICAg
IFRSQUNFX0VWRU5UKCJDQ0xheWVyVHJlZUhvc3Q6OmluaXRpYWxpemVMYXllclJlbmRlcmVyIiwg
dGhpcywgMCk7CiAgICAgaWYgKCFtX3Byb3h5LT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcigpKSB7
CiAgICAgICAgIC8vIFVoIG9oLCBiZXR0ZXIgdGVsbCB0aGUgY2xpZW50IHRoYXQgd2UgY2FuJ3Qg
ZG8gYW55dGhpbmcgd2l0aCB0aGlzIGNvbnRleHQuCi0gICAgICAgIG1fY2xpZW50LT5kaWRSZWNy
ZWF0ZUdyYXBoaWNzQ29udGV4dChmYWxzZSk7CisgICAgICAgIG1fY2xpZW50LT5kaWRSZWNyZWF0
ZUNvbnRleHQoZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMzEsNiArMTM0
LDM1IEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlcigpCiAg
ICAgbV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQgPSB0cnVlOwogfQogCit2b2lkIENDTGF5ZXJU
cmVlSG9zdDo6cmVjcmVhdGVDb250ZXh0KCkKK3sKKyAgICBUUkFDRV9FVkVOVDAoImNjIiwgIkND
TGF5ZXJUcmVlSG9zdDo6cmVjcmVhdGVDb250ZXh0Iik7CisgICAgQVNTRVJUKG1fY29udGV4dExv
c3QpOworCisgICAgYm9vbCByZWNyZWF0ZWQgPSBmYWxzZTsKKyAgICBpZiAoIW1fbnVtVGltZXNS
ZWNyZWF0ZVNob3VsZEZhaWwpCisgICAgICAgIHJlY3JlYXRlZCA9IG1fcHJveHktPnJlY3JlYXRl
Q29udGV4dCgpOworICAgIGVsc2UKKyAgICAgICAgbV9udW1UaW1lc1JlY3JlYXRlU2hvdWxkRmFp
bC0tOworCisgICAgaWYgKHJlY3JlYXRlZCkgeworICAgICAgICBtX2NsaWVudC0+ZGlkUmVjcmVh
dGVDb250ZXh0KHRydWUpOworICAgICAgICBtX2NvbnRleHRMb3N0ID0gZmFsc2U7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICAvLyBUb2xlcmF0ZSBhIGNlcnRhaW4gbnVtYmVyIG9mIHJl
Y3JlYXRpb24gZmFpbHVyZXMgdG8gd29yayBhcm91bmQgcmFjZXMKKyAgICAvLyBpbiB0aGUgY29u
dGV4dC1sb3N0IG1hY2hpbmVyeS4KKyAgICBtX251bUZhaWxlZFJlY3JlYXRlQXR0ZW1wdHMrKzsK
KyAgICBpZiAobV9udW1GYWlsZWRSZWNyZWF0ZUF0dGVtcHRzIDwgNSkgeworICAgICAgICBzZXRO
ZWVkc0NvbW1pdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gV2UgaGF2ZSB0
cmllZCB0b28gbWFueSB0aW1lcyB0byByZWNyZWF0ZSB0aGUgY29udGV4dC4gVGVsbCB0aGUgaG9z
dCB0byBmYWxsCisgICAgLy8gYmFjayB0byBzb2Z0d2FyZSByZW5kZXJpbmcuCisgICAgbV9jbGll
bnQtPmRpZFJlY3JlYXRlQ29udGV4dChmYWxzZSk7Cit9CiAKIHZvaWQgQ0NMYXllclRyZWVIb3N0
OjpkZWxldGVDb250ZW50c1RleHR1cmVzT25JbXBsVGhyZWFkKFRleHR1cmVBbGxvY2F0b3IqIGFs
bG9jYXRvcikKIHsKQEAgLTE4OSw5ICsyMjEsOSBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6Y29t
bWl0Q29tcGxldGUoKQogICAgIG1fY29udGVudHNUZXh0dXJlTWFuYWdlci0+dW5wcm90ZWN0QWxs
VGV4dHVyZXMoKTsKIH0KIAotUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gQ0NMYXllclRy
ZWVIb3N0OjpjcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCkKK1Bhc3NSZWZQdHI8R3JhcGhp
Y3NDb250ZXh0M0Q+IENDTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29udGV4dCgpCiB7Ci0gICAgcmV0
dXJuIG1fY2xpZW50LT5jcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCk7CisgICAgcmV0dXJu
IG1fY2xpZW50LT5jcmVhdGVDb250ZXh0KCk7CiB9CiAKIFBhc3NPd25QdHI8Q0NMYXllclRyZWVI
b3N0SW1wbD4gQ0NMYXllclRyZWVIb3N0OjpjcmVhdGVMYXllclRyZWVIb3N0SW1wbChDQ0xheWVy
VHJlZUhvc3RJbXBsQ2xpZW50KiBjbGllbnQpCkBAIC0xOTksOSArMjMxLDEzIEBAIFBhc3NPd25Q
dHI8Q0NMYXllclRyZWVIb3N0SW1wbD4gQ0NMYXllclRyZWVIb3N0OjpjcmVhdGVMYXllclRyZWVI
b3N0SW1wbChDQ0xheWVyCiAgICAgcmV0dXJuIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNyZWF0ZSht
X3NldHRpbmdzLCBjbGllbnQpOwogfQogCi12b2lkIENDTGF5ZXJUcmVlSG9zdDo6ZGlkUmVjcmVh
dGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKQordm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmRp
ZExvc2VDb250ZXh0KCkKIHsKLSAgICBtX2NsaWVudC0+ZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRl
eHQoc3VjY2Vzcyk7CisgICAgVFJBQ0VfRVZFTlQoIkNDTGF5ZXJUcmVlSG9zdDo6ZGlkTG9zZUNv
bnRleHQiLCAwLCB0aGlzKTsKKyAgICBBU1NFUlQoQ0NQcm94eTo6aXNNYWluVGhyZWFkKCkpOwor
ICAgIG1fY29udGV4dExvc3QgPSB0cnVlOworICAgIG1fbnVtRmFpbGVkUmVjcmVhdGVBdHRlbXB0
cyA9IDA7CisgICAgc2V0TmVlZHNDb21taXQoKTsKIH0KIAogLy8gVGVtcG9yYXJ5IGhhY2sgdW50
aWwgV2ViVmlld0ltcGwgY29udGV4dCBjcmVhdGlvbiBnZXRzIHNpbXBsaWZpZWQKQEAgLTIxOCw2
ICsyNTQsMTEgQEAgYm9vbCBDQ0xheWVyVHJlZUhvc3Q6OmNvbXBvc2l0ZUFuZFJlYWRiYWNrKHZv
aWQgKnBpeGVscywgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICAgICAgaWYgKCFtX2xheWVyUmVu
ZGVyZXJJbml0aWFsaXplZCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CisgICAg
aWYgKG1fY29udGV4dExvc3QpIHsKKyAgICAgICAgcmVjcmVhdGVDb250ZXh0KCk7CisgICAgICAg
IGlmIChtX2NvbnRleHRMb3N0KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KICAg
ICBtX3RyaWdnZXJJZGxlUGFpbnRzID0gZmFsc2U7CiAgICAgYm9vbCByZXQgPSBtX3Byb3h5LT5j
b21wb3NpdGVBbmRSZWFkYmFjayhwaXhlbHMsIHJlY3QpOwogICAgIG1fdHJpZ2dlcklkbGVQYWlu
dHMgPSB0cnVlOwpAQCAtMzUxLDkgKzM5MiwxMSBAQCB2b2lkIENDTGF5ZXJUcmVlSG9zdDo6c3Rh
cnRQYWdlU2NhbGVBbmltYXRpb24oY29uc3QgSW50U2l6ZSYgdGFyZ2V0UG9zaXRpb24sIGJvbwog
ICAgIG1fcHJveHktPnN0YXJ0UGFnZVNjYWxlQW5pbWF0aW9uKHRhcmdldFBvc2l0aW9uLCB1c2VB
bmNob3IsIHNjYWxlLCBkdXJhdGlvblNlYyk7CiB9CiAKLXZvaWQgQ0NMYXllclRyZWVIb3N0Ojps
b3NlQ29tcG9zaXRvckNvbnRleHQoaW50IG51bVRpbWVzKQordm9pZCBDQ0xheWVyVHJlZUhvc3Q6
Omxvc2VDb250ZXh0KGludCBudW1UaW1lcykKIHsKLSAgICBtX3Byb3h5LT5sb3NlQ29tcG9zaXRv
ckNvbnRleHQobnVtVGltZXMpOworICAgIFRSQUNFX0VWRU5UMSgiY2MiLCAiQ0NMYXllclRyZWVI
b3N0Ojpsb3NlQ29tcG9zaXRvckNvbnRleHQiLCAibnVtVGltZXMiLCBudW1UaW1lcyk7CisgICAg
bV9udW1UaW1lc1JlY3JlYXRlU2hvdWxkRmFpbCA9IG51bVRpbWVzIC0gMTsKKyAgICBtX3Byb3h5
LT5sb3NlQ29udGV4dCgpOwogfQogCiBUZXh0dXJlTWFuYWdlciogQ0NMYXllclRyZWVIb3N0Ojpj
b250ZW50c1RleHR1cmVNYW5hZ2VyKCkgY29uc3QKQEAgLTM3NSw2ICs0MTgsMTEgQEAgYm9vbCBD
Q0xheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVycygpCiAgICAgICAgIGlmICghbV9sYXllclJlbmRl
cmVySW5pdGlhbGl6ZWQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIGlm
IChtX2NvbnRleHRMb3N0KSB7CisgICAgICAgIHJlY3JlYXRlQ29udGV4dCgpOworICAgICAgICBp
ZiAobV9jb250ZXh0TG9zdCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAg
ICBpZiAoIXJvb3RMYXllcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0LmgKaW5kZXggODlhZGU1NThiYjk2YzExYjY5NTJjN2E4YjFkZDRkNGVmNjRmZjAy
NC4uMmExYmRkMWY0Y2I4YWNhYWZmNjhkNTY4MDM5ZjEwOTYzMDRlMjUzYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0LmgKQEAgLTU1LDggKzU1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVBbmltYXRpb25zKGRvdWJsZSBmcmFtZUJlZ2luVGltZSkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBsYXlvdXQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5U2Nyb2xsQW5k
U2NhbGUoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZsb2F0IHBhZ2VTY2FsZSkgPSAwOwot
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3JlYXRlTGF5ZXJUcmVl
SG9zdENvbnRleHQzRCgpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGlj
c0NvbnRleHQoYm9vbCBzdWNjZXNzKSA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEdyYXBo
aWNzQ29udGV4dDNEPiBjcmVhdGVDb250ZXh0KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNyZWF0ZUNvbnRleHQoYm9vbCBzdWNjZXNzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZENv
bW1pdEFuZERyYXdGcmFtZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTd2Fw
QnVmZmVycygpID0gMDsKIApAQCAtMTMwLDEzICsxMzAsMTUgQEAgcHVibGljOgogICAgIHZvaWQg
YmVnaW5Db21taXRPbkltcGxUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopOwogICAgIHZvaWQg
ZmluaXNoQ29tbWl0T25JbXBsVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKTsKICAgICB2b2lk
IGNvbW1pdENvbXBsZXRlKCk7Ci0gICAgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3Jl
YXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgpOworICAgIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250
ZXh0M0Q+IGNyZWF0ZUNvbnRleHQoKTsKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q0NMYXllclRy
ZWVIb3N0SW1wbD4gY3JlYXRlTGF5ZXJUcmVlSG9zdEltcGwoQ0NMYXllclRyZWVIb3N0SW1wbENs
aWVudCopOwogICAgIHZvaWQgZGlkQmVjb21lSW52aXNpYmxlT25JbXBsVGhyZWFkKENDTGF5ZXJU
cmVlSG9zdEltcGwqKTsKLSAgICB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0KGJvb2wg
c3VjY2Vzcyk7CisgICAgdm9pZCBkaWRMb3NlQ29udGV4dCgpOwogICAgIHZvaWQgZGlkQ29tbWl0
QW5kRHJhd0ZyYW1lKCkgeyBtX2NsaWVudC0+ZGlkQ29tbWl0QW5kRHJhd0ZyYW1lKCk7IH0KICAg
ICB2b2lkIGRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMoKSB7IG1fY2xpZW50LT5kaWRDb21wbGV0ZVN3
YXBCdWZmZXJzKCk7IH0KICAgICB2b2lkIGRlbGV0ZUNvbnRlbnRzVGV4dHVyZXNPbkltcGxUaHJl
YWQoVGV4dHVyZUFsbG9jYXRvciopOworICAgIC8vIFJldHVybnMgZmFsc2UgaWYgd2Ugc2hvdWxk
IGFib3J0IHRoaXMgZnJhbWUgZHVlIHRvIGluaXRpYWxpemF0aW9uIGZhaWx1cmUuCisgICAgYm9v
bCB1cGRhdGVMYXllcnMoKTsKIAogICAgIENDTGF5ZXJUcmVlSG9zdENsaWVudCogY2xpZW50KCkg
eyByZXR1cm4gbV9jbGllbnQ7IH0KIApAQCAtMTU5LDcgKzE2MSw3IEBAIHB1YmxpYzoKICAgICBj
b25zdCBMYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzJiBsYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVz
KCkgY29uc3Q7CiAKICAgICAvLyBUZXN0IG9ubHkgaG9vawotICAgIHZvaWQgbG9zZUNvbXBvc2l0
b3JDb250ZXh0KGludCBudW1UaW1lcyk7CisgICAgdm9pZCBsb3NlQ29udGV4dChpbnQgbnVtVGlt
ZXMpOwogCiAgICAgdm9pZCBzZXROZWVkc0FuaW1hdGUoKTsKICAgICAvLyB2aXJ0dWFsIGZvciB0
ZXN0aW5nCkBAIC0xODUsOSArMTg3LDYgQEAgcHVibGljOgogICAgIGJvb2wgdmlzaWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdmlzaWJsZTsgfQogICAgIHZvaWQgc2V0VmlzaWJsZShib29sKTsKIAot
ICAgIC8vIFJldHVybnMgZmFsc2UgaWYgd2Ugc2hvdWxkIGFib3J0IHRoaXMgZnJhbWUgZHVlIHRv
IGluaXRpYWxpemF0aW9uIGZhaWx1cmUuCi0gICAgYm9vbCB1cGRhdGVMYXllcnMoKTsKLQogICAg
IHZvaWQgc3RhcnRQYWdlU2NhbGVBbmltYXRpb24oY29uc3QgSW50U2l6ZSYgdGFyZ2V0UG9zaXRp
b24sIGJvb2wgdXNlQW5jaG9yLCBmbG9hdCBzY2FsZSwgZG91YmxlIGR1cmF0aW9uU2VjKTsKIAog
ICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRvclJlc291cmNlcyhHcmFwaGljc0NvbnRleHQzRCosIEND
VGV4dHVyZVVwZGF0ZXImKTsKQEAgLTIwNyw2ICsyMDYsNyBAQCBwcml2YXRlOgogICAgIHR5cGVk
ZWYgVmVjdG9yPE93blB0cjxNYW5hZ2VkVGV4dHVyZT4gPiBUZXh0dXJlTGlzdDsKIAogICAgIHZv
aWQgaW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoKTsKKyAgICB2b2lkIHJlY3JlYXRlQ29udGV4dCgp
OwogCiAgICAgZW51bSBQYWludFR5cGUgeyBQYWludFZpc2libGUsIFBhaW50SWRsZSB9OwogICAg
IHN0YXRpYyB2b2lkIHBhaW50Q29udGVudHNJZkRpcnR5KExheWVyQ2hyb21pdW0qLCBQYWludFR5
cGUsIGNvbnN0IFJlZ2lvbiYgb2NjbHVkZWRTY3JlZW5TcGFjZSk7CkBAIC0yMzAsNiArMjMwLDkg
QEAgcHJpdmF0ZToKIAogICAgIE93blB0cjxDQ1Byb3h5PiBtX3Byb3h5OwogICAgIGJvb2wgbV9s
YXllclJlbmRlcmVySW5pdGlhbGl6ZWQ7CisgICAgYm9vbCBtX2NvbnRleHRMb3N0OworICAgIGlu
dCBtX251bVRpbWVzUmVjcmVhdGVTaG91bGRGYWlsOworICAgIGludCBtX251bUZhaWxlZFJlY3Jl
YXRlQXR0ZW1wdHM7CiAKICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbV9yb290TGF5ZXI7CiAg
ICAgT3duUHRyPFRleHR1cmVNYW5hZ2VyPiBtX2NvbnRlbnRzVGV4dHVyZU1hbmFnZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1By
b3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1By
b3h5LmgKaW5kZXggYjQzNThhYWRkNzdmMjc4YzgxZGY2ZDJmNmNlYTUzZWJmZjA1MWFhYi4uYTU0
NjgwMjEyYjU4Nzg0MTBjZmFmNzhlZmM3Y2M2MzdjZmNkMWJjNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaApAQCAt
NzAsNiArNzAsMTAgQEAgcHVibGljOgogICAgIC8vIEF0dGVtcHRzIHRvIGluaXRpYWxpemUgdGhl
IGxheWVyIHJlbmRlcmVyLiBSZXR1cm5zIGZhbHNlIGlmIHRoZSBjb250ZXh0IGlzbid0IHVzYWJs
ZSBmb3IgY29tcG9zaXRpbmcuCiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemVMYXllclJlbmRl
cmVyKCkgPSAwOwogCisgICAgLy8gQXR0ZW1wdHMgdG8gcmVjcmVhdGUgdGhlIGNvbnRleHQgYW5k
IGxheWVyIHJlbmRlcmVyIGFmdGVyIGEgY29udGV4dCBsb3N0LiBSZXR1cm5zIGZhbHNlIGlmIHRo
ZSByZW5kZXJlciBjb3VsZG4ndCBiZQorICAgIC8vIHJlaW5pdGlhbGl6ZWQuCisgICAgdmlydHVh
bCBib29sIHJlY3JlYXRlQ29udGV4dCgpID0gMDsKKwogICAgIHZpcnR1YWwgaW50IGNvbXBvc2l0
b3JJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBjb25zdCBMYXllclJlbmRl
cmVyQ2FwYWJpbGl0aWVzJiBsYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkgY29uc3QgPSAwOwpA
QCAtOTUsNyArOTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBHcmFwaGljc0NvbnRleHQzRCog
Y29udGV4dCgpID0gMDsKIAogICAgIC8vIFRlc3RpbmcgaG9va3MKLSAgICB2aXJ0dWFsIHZvaWQg
bG9zZUNvbXBvc2l0b3JDb250ZXh0KGludCBudW1UaW1lcykgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBsb3NlQ29udGV4dCgpID0gMDsKIAogI2lmbmRlZiBOREVCVUcKICAgICBzdGF0aWMgdm9pZCBz
ZXRDdXJyZW50VGhyZWFkSXNJbXBsVGhyZWFkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Npbmds
ZVRocmVhZFByb3h5LmNwcAppbmRleCBlYThjNDBmMTI1NjVlYzQxM2JhYjU4NmJhMjBlNDljZWY5
ZjlkYThkLi5mYTkzNDRiZmVhZDFlYmY0Yzg3ZTcwZGVlNjZlZDkwM2QwMjIyMDlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Npbmds
ZVRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcApAQCAtNDUsMTEgKzQ1LDkgQEAgUGFz
c093blB0cjxDQ1Byb3h5PiBDQ1NpbmdsZVRocmVhZFByb3h5OjpjcmVhdGUoQ0NMYXllclRyZWVI
b3N0KiBsYXllclRyZWVIb3N0KQogCiBDQ1NpbmdsZVRocmVhZFByb3h5OjpDQ1NpbmdsZVRocmVh
ZFByb3h5KENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKICAgICA6IG1fbGF5ZXJUcmVl
SG9zdChsYXllclRyZWVIb3N0KQorICAgICwgbV9jb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1f
Y29tcG9zaXRvcklkZW50aWZpZXIoLTEpCiAgICAgLCBtX2xheWVyUmVuZGVyZXJJbml0aWFsaXpl
ZChmYWxzZSkKLSAgICAsIG1fbnVtRmFpbGVkUmVjcmVhdGVBdHRlbXB0cygwKQotICAgICwgbV9n
cmFwaGljc0NvbnRleHRMb3N0KGZhbHNlKQotICAgICwgbV90aW1lc1JlY3JlYXRlU2hvdWxkRmFp
bCgwKQogICAgICwgbV9uZXh0RnJhbWVJc05ld2x5Q29tbWl0dGVkRnJhbWUoZmFsc2UpCiB7CiAg
ICAgVFJBQ0VfRVZFTlQoIkNDU2luZ2xlVGhyZWFkUHJveHk6OkNDU2luZ2xlVGhyZWFkUHJveHki
LCB0aGlzLCAwKTsKQEAgLTc0LDExICs3Miw2IEBAIGJvb2wgQ0NTaW5nbGVUaHJlYWRQcm94eTo6
Y29tcG9zaXRlQW5kUmVhZGJhY2sodm9pZCAqcGl4ZWxzLCBjb25zdCBJbnRSZWN0JiByZWN0CiAg
ICAgVFJBQ0VfRVZFTlQoIkNDU2luZ2xlVGhyZWFkUHJveHk6OmNvbXBvc2l0ZUFuZFJlYWRiYWNr
IiwgdGhpcywgMCk7CiAgICAgQVNTRVJUKENDUHJveHk6OmlzTWFpblRocmVhZCgpKTsKIAotICAg
IGlmICghcmVjcmVhdGVDb250ZXh0SWZOZWVkZWQoKSkgewotICAgICAgICBUUkFDRV9FVkVOVCgi
Y29tcG9zaXRlQW5kUmVhZGJhY2tfRWFybHlPdXRfQ29udGV4dExvc3QiLCB0aGlzLCAwKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQogICAgIGlmICghY29tbWl0SWZOZWVkZWQoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMjUsNyArMTE4LDcgQEAgYm9vbCBDQ1Npbmds
ZVRocmVhZFByb3h5Ojppc1N0YXJ0ZWQoKSBjb25zdAogYm9vbCBDQ1NpbmdsZVRocmVhZFByb3h5
Ojppbml0aWFsaXplQ29udGV4dCgpCiB7CiAgICAgQVNTRVJUKENDUHJveHk6OmlzTWFpblRocmVh
ZCgpKTsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQgPSBtX2xheWVyVHJl
ZUhvc3QtPmNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKTsKKyAgICBSZWZQdHI8R3JhcGhp
Y3NDb250ZXh0M0Q+IGNvbnRleHQgPSBtX2xheWVyVHJlZUhvc3QtPmNyZWF0ZUNvbnRleHQoKTsK
ICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBBU1NFUlQoY29u
dGV4dC0+aGFzT25lUmVmKCkpOwpAQCAtMTQ4LDYgKzE0MSwzMiBAQCBib29sIENDU2luZ2xlVGhy
ZWFkUHJveHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyKCkKICAgICB9CiB9CiAKK2Jvb2wgQ0NT
aW5nbGVUaHJlYWRQcm94eTo6cmVjcmVhdGVDb250ZXh0KCkKK3sKKyAgICBUUkFDRV9FVkVOVDAo
ImNjIiwgIkNDU2luZ2xlVGhyZWFkUHJveHk6OnJlY3JlYXRlQ29udGV4dCIpOworICAgIEFTU0VS
VChDQ1Byb3h5Ojppc01haW5UaHJlYWQoKSk7CisgICAgQVNTRVJUKG1fY29udGV4dExvc3QpOwor
CisgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0ID0gbV9sYXllclRyZWVIb3N0
LT5jcmVhdGVDb250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBBU1NFUlQoY29udGV4dC0+aGFzT25lUmVmKCkpOworICAgIGJvb2wgaW5pdGlh
bGl6ZWQ7CisgICAgeworICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKKyAg
ICAgICAgbV9sYXllclRyZWVIb3N0LT5kZWxldGVDb250ZW50c1RleHR1cmVzT25JbXBsVGhyZWFk
KG1fbGF5ZXJUcmVlSG9zdEltcGwtPmNvbnRlbnRzVGV4dHVyZUFsbG9jYXRvcigpKTsKKyAgICAg
ICAgaW5pdGlhbGl6ZWQgPSBtX2xheWVyVHJlZUhvc3RJbXBsLT5pbml0aWFsaXplTGF5ZXJSZW5k
ZXJlcihjb250ZXh0KTsKKyAgICAgICAgaWYgKGluaXRpYWxpemVkKQorICAgICAgICAgICAgbV9s
YXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzRm9yTWFpblRocmVhZCA9IG1fbGF5ZXJUcmVlSG9zdElt
cGwtPmxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKTsKKyAgICB9CisKKyAgICBpZiAoaW5pdGlh
bGl6ZWQpCisgICAgICAgIG1fY29udGV4dExvc3QgPSBmYWxzZTsKKworICAgIHJldHVybiBpbml0
aWFsaXplZDsKK30KKwogY29uc3QgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcyYgQ0NTaW5nbGVU
aHJlYWRQcm94eTo6bGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcygpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKG1fbGF5ZXJSZW5kZXJlckluaXRpYWxpemVkKTsKQEAgLTE1NSwxMCArMTc0LDExIEBAIGNv
bnN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMmIENDU2luZ2xlVGhyZWFkUHJveHk6OmxheWVy
UmVuZGVyZXJDYXBhYmlsaXRpZXMoCiAgICAgcmV0dXJuIG1fbGF5ZXJSZW5kZXJlckNhcGFiaWxp
dGllc0Zvck1haW5UaHJlYWQ7CiB9CiAKLXZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6bG9zZUNv
bXBvc2l0b3JDb250ZXh0KGludCBudW1UaW1lcykKK3ZvaWQgQ0NTaW5nbGVUaHJlYWRQcm94eTo6
bG9zZUNvbnRleHQoKQogewotICAgIG1fZ3JhcGhpY3NDb250ZXh0TG9zdCA9IHRydWU7Ci0gICAg
bV90aW1lc1JlY3JlYXRlU2hvdWxkRmFpbCA9IG51bVRpbWVzIC0gMTsKKyAgICBBU1NFUlQoQ0NQ
cm94eTo6aXNNYWluVGhyZWFkKCkpOworICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGlkTG9zZUNvbnRl
eHQoKTsKKyAgICBtX2NvbnRleHRMb3N0ID0gdHJ1ZTsKIH0KIAogdm9pZCBDQ1NpbmdsZVRocmVh
ZFByb3h5OjpzZXROZWVkc0FuaW1hdGUoKQpAQCAtMjQzLDkgKzI2Myw2IEBAIHZvaWQgQ0NTaW5n
bGVUaHJlYWRQcm94eTo6cG9zdEFuaW1hdGlvbkV2ZW50c1RvTWFpblRocmVhZE9uSW1wbFRocmVh
ZChQYXNzT3duUHRyCiAvLyBDYWxsZWQgYnkgdGhlIGxlZ2FjeSBzY2hlZHVsaW5nIHBhdGggKGUu
Zy4gd2hlcmUgcmVuZGVyX3dpZGdldCBkb2VzIHRoZSBzY2hlZHVsaW5nKQogdm9pZCBDQ1Npbmds
ZVRocmVhZFByb3h5Ojpjb21wb3NpdGVJbW1lZGlhdGVseSgpCiB7Ci0gICAgaWYgKCFyZWNyZWF0
ZUNvbnRleHRJZk5lZWRlZCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICBpZiAoIWNvbW1pdElm
TmVlZGVkKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjUzLDU0ICsyNzAsNiBAQCB2b2lkIEND
U2luZ2xlVGhyZWFkUHJveHk6OmNvbXBvc2l0ZUltbWVkaWF0ZWx5KCkKICAgICAgICAgbV9sYXll
clRyZWVIb3N0SW1wbC0+c3dhcEJ1ZmZlcnMoKTsKIH0KIAotYm9vbCBDQ1NpbmdsZVRocmVhZFBy
b3h5OjpyZWNyZWF0ZUNvbnRleHRJZk5lZWRlZCgpCi17Ci0gICAgQVNTRVJUKENDUHJveHk6Omlz
TWFpblRocmVhZCgpKTsKLQotICAgIGlmICghbV9ncmFwaGljc0NvbnRleHRMb3N0ICYmIG1fbGF5
ZXJUcmVlSG9zdEltcGwtPmlzQ29udGV4dExvc3QoKSkgewotICAgICAgICBtX2dyYXBoaWNzQ29u
dGV4dExvc3QgPSB0cnVlOwotICAgICAgICBtX251bUZhaWxlZFJlY3JlYXRlQXR0ZW1wdHMgPSAw
OwotICAgIH0KLQotICAgIGlmICghbV9ncmFwaGljc0NvbnRleHRMb3N0KQotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQ7Ci0gICAgaWYg
KCFtX3RpbWVzUmVjcmVhdGVTaG91bGRGYWlsKQotICAgICAgICBjb250ZXh0ID0gbV9sYXllclRy
ZWVIb3N0LT5jcmVhdGVMYXllclRyZWVIb3N0Q29udGV4dDNEKCk7Ci0gICAgZWxzZQotICAgICAg
ICBtX3RpbWVzUmVjcmVhdGVTaG91bGRGYWlsLS07Ci0KLSAgICBpZiAoY29udGV4dCkgewotICAg
ICAgICBBU1NFUlQoY29udGV4dC0+aGFzT25lUmVmKCkpOwotICAgICAgICBib29sIG9rOwotICAg
ICAgICB7Ci0gICAgICAgICAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKLSAgICAg
ICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+ZGVsZXRlQ29udGVudHNUZXh0dXJlc09uSW1wbFRocmVh
ZChtX2xheWVyVHJlZUhvc3RJbXBsLT5jb250ZW50c1RleHR1cmVBbGxvY2F0b3IoKSk7Ci0gICAg
ICAgICAgICBvayA9IG1fbGF5ZXJUcmVlSG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVy
KGNvbnRleHQpOwotICAgICAgICAgICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fbGF5ZXJS
ZW5kZXJlckNhcGFiaWxpdGllc0Zvck1haW5UaHJlYWQgPSBtX2xheWVyVHJlZUhvc3RJbXBsLT5s
YXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG9rKSB7
Ci0gICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmRpZFJlY3JlYXRlR3JhcGhpY3NDb250ZXh0
KHRydWUpOwotICAgICAgICAgICAgbV9ncmFwaGljc0NvbnRleHRMb3N0ID0gZmFsc2U7Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8vIFRvbGVyYXRl
IGEgY2VydGFpbiBudW1iZXIgb2YgcmVjcmVhdGlvbiBmYWlsdXJlcyB0byB3b3JrIGFyb3VuZCBy
YWNlcwotICAgIC8vIGluIHRoZSBjb250ZXh0LWxvc3QgbWFjaGluZXJ5LgotICAgIG1fbnVtRmFp
bGVkUmVjcmVhdGVBdHRlbXB0cysrOwotICAgIGlmIChtX251bUZhaWxlZFJlY3JlYXRlQXR0ZW1w
dHMgPCA1KSB7Ci0gICAgICAgIHNldE5lZWRzQ29tbWl0KCk7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0KLSAgICAvLyBXZSBoYXZlIHRyaWVkIHRvbyBtYW55IHRpbWVzIHRvIHJlY3Jl
YXRlIHRoZSBjb250ZXh0LiBUZWxsIHRoZSBob3N0IHRvIGZhbGwKLSAgICAvLyBiYWNrIHRvIHNv
ZnR3YXJlIHJlbmRlcmluZy4KLSAgICBtX2xheWVyVHJlZUhvc3QtPmRpZFJlY3JlYXRlR3JhcGhp
Y3NDb250ZXh0KGZhbHNlKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJvb2wgQ0NTaW5nbGVU
aHJlYWRQcm94eTo6Y29tbWl0SWZOZWVkZWQoKQogewogICAgIEFTU0VSVChDQ1Byb3h5Ojppc01h
aW5UaHJlYWQoKSk7CkBAIC0zMTQsOCArMjgzLDcgQEAgYm9vbCBDQ1NpbmdsZVRocmVhZFByb3h5
Ojpjb21taXRJZk5lZWRlZCgpCiAKIGJvb2wgQ0NTaW5nbGVUaHJlYWRQcm94eTo6ZG9Db21wb3Np
dGUoKQogewotICAgIEFTU0VSVCghbV9ncmFwaGljc0NvbnRleHRMb3N0KTsKLQorICAgIEFTU0VS
VCghbV9jb250ZXh0TG9zdCk7CiAgICAgewogICAgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFk
IGltcGw7CiAgICAgICBkb3VibGUgZnJhbWVEaXNwbGF5VGltZU1zID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCkgKiAxMDAwLjA7CkBAIC0zMjQsMTUgKzI5Miw4IEBAIGJvb2wgQ0NTaW5n
bGVUaHJlYWRQcm94eTo6ZG9Db21wb3NpdGUoKQogICAgIH0KIAogICAgIGlmIChtX2xheWVyVHJl
ZUhvc3RJbXBsLT5pc0NvbnRleHRMb3N0KCkpIHsKLSAgICAgICAgLy8gVHJ5aW5nIHRvIHJlY292
ZXIgdGhlIGNvbnRleHQgcmlnaHQgaGVyZSB3aWxsIG5vdCB3b3JrIGlmIEdQVSBwcm9jZXNzCi0g
ICAgICAgIC8vIGRpZWQuIFRoaXMgaXMgYmVjYXVzZSBHcHVDaGFubmVsSG9zdDo6T25FcnJvck1l
c3NhZ2Ugd2lsbCBvbmx5IGJlCi0gICAgICAgIC8vIGNhbGxlZCBhdCB0aGUgbmV4dCBpdGVyYXRp
b24gb2YgdGhlIG1lc3NhZ2UgbG9vcCwgcmV2ZXJ0aW5nIG91cgotICAgICAgICAvLyByZWNvdmVy
eSBhdHRlbXB0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBkZXRhY2ggdGhlIHJvb3QgbGF5ZXIgZnJvbSB0
aGUKLSAgICAgICAgLy8gcmVuZGVyZXIsIHJlY3JlYXRlIHRoZSByZW5kZXJlciBhdCB0aGUgbmV4
dCBtZXNzYWdlIGxvb3AgaXRlcmF0aW9uCi0gICAgICAgIC8vIGFuZCByZXF1ZXN0IGEgcmVwYWlu
dCB5ZXQgYWdhaW4uCi0gICAgICAgIG1fZ3JhcGhpY3NDb250ZXh0TG9zdCA9IHRydWU7Ci0gICAg
ICAgIG1fbnVtRmFpbGVkUmVjcmVhdGVBdHRlbXB0cyA9IDA7Ci0gICAgICAgIHNldE5lZWRzQ29t
bWl0KCk7CisgICAgICAgIG1fY29udGV4dExvc3QgPSB0cnVlOworICAgICAgICBtX2xheWVyVHJl
ZUhvc3QtPmRpZExvc2VDb250ZXh0KCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDU2luZ2xlVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaAppbmRleCA3MWI1ZTk5YjJlZDJhZmY3
ODI1MDNiZjM5MzM2Njk4M2ZjNTk0NzFlLi4yODU1ODRmZDcwODhhMWFkMjAzMDFmZDI4NzQxNzk4
MGM1YzgxNGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oCkBAIC00OSw5
ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU3RhcnRlZCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplQ29udGV4dCgpOwogICAgIHZpcnR1YWwgYm9vbCBp
bml0aWFsaXplTGF5ZXJSZW5kZXJlcigpOworICAgIHZpcnR1YWwgYm9vbCByZWNyZWF0ZUNvbnRl
eHQoKTsKICAgICB2aXJ0dWFsIGludCBjb21wb3NpdG9ySWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fY29tcG9zaXRvcklkZW50aWZpZXI7IH0KICAgICB2aXJ0dWFsIGNvbnN0IExheWVyUmVu
ZGVyZXJDYXBhYmlsaXRpZXMmIGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKSBjb25zdDsKLSAg
ICB2aXJ0dWFsIHZvaWQgbG9zZUNvbXBvc2l0b3JDb250ZXh0KGludCBudW1UaW1lcyk7CisgICAg
dmlydHVhbCB2b2lkIGxvc2VDb250ZXh0KCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzQW5p
bWF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0NvbW1pdCgpOwogICAgIHZpcnR1YWwg
dm9pZCBzZXROZWVkc1JlZHJhdygpOwpAQCAtNzEsMTMgKzcyLDE0IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICBleHBsaWNpdCBDQ1NpbmdsZVRocmVhZFByb3h5KENDTGF5ZXJUcmVlSG9zdCop
OwotICAgIGJvb2wgcmVjcmVhdGVDb250ZXh0SWZOZWVkZWQoKTsKKwogICAgIGJvb2wgY29tbWl0
SWZOZWVkZWQoKTsKICAgICB2b2lkIGRvQ29tbWl0KCk7CiAgICAgYm9vbCBkb0NvbXBvc2l0ZSgp
OwogCiAgICAgLy8gQWNjZXNzZWQgb24gbWFpbiB0aHJlYWQgb25seS4KICAgICBDQ0xheWVyVHJl
ZUhvc3QqIG1fbGF5ZXJUcmVlSG9zdDsKKyAgICBib29sIG1fY29udGV4dExvc3Q7CiAgICAgaW50
IG1fY29tcG9zaXRvcklkZW50aWZpZXI7CiAKICAgICAvLyBIb2xkcyBvbiB0byB0aGUgY29udGV4
dCBiZXR3ZWVuIGluaXRpYWxpemVDb250ZXh0KCkgYW5kIGluaXRpYWxpemVMYXllclJlbmRlcmVy
KCkgY2FsbHMuIFNob3VsZG4ndApAQCAtODksOSArOTEsNiBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9sYXllclJlbmRlcmVySW5pdGlhbGl6ZWQ7CiAgICAgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGll
cyBtX2xheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXNGb3JNYWluVGhyZWFkOwogCi0gICAgaW50IG1f
bnVtRmFpbGVkUmVjcmVhdGVBdHRlbXB0czsKLSAgICBib29sIG1fZ3JhcGhpY3NDb250ZXh0TG9z
dDsKLSAgICBpbnQgbV90aW1lc1JlY3JlYXRlU2hvdWxkRmFpbDsgLy8gVXNlZCBkdXJpbmcgdGVz
dGluZy4KICAgICBib29sIG1fbmV4dEZyYW1lSXNOZXdseUNvbW1pdHRlZEZyYW1lOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NUaHJlYWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcAppbmRleCA3NWVmMTM2MjNkZTg3NmY0NGEyY2E0N2Vh
ZGQ4MTIwYjExMGIyMzI2Li45MDVhMDk0YzA3YTYxMWUxMjc3Y2IxNmVhMzdiMjM1ZDZiZTY1M2Ux
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1RocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcApAQCAtMTcwLDcgKzE3MCw3IEBAIGJvb2wg
Q0NUaHJlYWRQcm94eTo6aXNTdGFydGVkKCkgY29uc3QKIGJvb2wgQ0NUaHJlYWRQcm94eTo6aW5p
dGlhbGl6ZUNvbnRleHQoKQogewogICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5Ojppbml0
aWFsaXplQ29udGV4dCIsIHRoaXMsIDApOwotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4g
Y29udGV4dCA9IG1fbGF5ZXJUcmVlSG9zdC0+Y3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgp
OworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dCA9IG1fbGF5ZXJUcmVlSG9z
dC0+Y3JlYXRlQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIEFTU0VSVChjb250ZXh0LT5oYXNPbmVSZWYoKSk7CkBAIC0yMDUsNiArMjA1LDEy
IEBAIGJvb2wgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoKQogICAgIHJl
dHVybiBpbml0aWFsaXplU3VjY2VlZGVkOwogfQogCitib29sIENDVGhyZWFkUHJveHk6OnJlY3Jl
YXRlQ29udGV4dCgpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCiBpbnQgQ0NUaHJlYWRQcm94eTo6Y29tcG9zaXRvcklkZW50aWZpZXIoKSBjb25z
dAogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC0yMTcsNyArMjIzLDcgQEAgY29u
c3QgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcyYgQ0NUaHJlYWRQcm94eTo6bGF5ZXJSZW5kZXJl
ckNhcGFiaWxpdGllcygpIGNvbnMKICAgICByZXR1cm4gbV9sYXllclJlbmRlcmVyQ2FwYWJpbGl0
aWVzTWFpblRocmVhZENvcHk7CiB9CiAKLXZvaWQgQ0NUaHJlYWRQcm94eTo6bG9zZUNvbXBvc2l0
b3JDb250ZXh0KGludCBudW1UaW1lcykKK3ZvaWQgQ0NUaHJlYWRQcm94eTo6bG9zZUNvbnRleHQo
KQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5o
CmluZGV4IDMzMGVmNTFjYTk4YTE2ZDIyMzFlMzM2NTU0MGFjMDNjMTczMzJhMzQuLjU3YmE1OTg3
NDg4ODY5ZTkzMjgwZWU0NTUzMGY4Yjg5NzU4MmJiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5
LmgKQEAgLTU2LDkgKzU2LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTdGFydGVk
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemVDb250ZXh0KCk7CiAgICAgdmly
dHVhbCBib29sIGluaXRpYWxpemVMYXllclJlbmRlcmVyKCk7CisgICAgdmlydHVhbCBib29sIHJl
Y3JlYXRlQ29udGV4dCgpOwogICAgIHZpcnR1YWwgaW50IGNvbXBvc2l0b3JJZGVudGlmaWVyKCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBjb25zdCBMYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzJiBsYXll
clJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGxvc2VDb21w
b3NpdG9yQ29udGV4dChpbnQgbnVtVGltZXMpOworICAgIHZpcnR1YWwgdm9pZCBsb3NlQ29udGV4
dCgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0FuaW1hdGUoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0TmVlZHNDb21taXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlldy5jcHAKaW5k
ZXggMjVlZjc3YWY1MjJjYjRlMDg1ZTJiMzVhMzlmYzJmM2FjZmJjNzMyYS4uMzMxNGRjMmY1NDRj
MWNhOGM1OWM0NzJiYzAyNWU4YzAwN2Y3MDFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlldy5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBXZWJHcmFw
aGljc0NvbnRleHQzRCogV2ViTGF5ZXJUcmVlVmlldzo6Y29udGV4dCgpCiAKIHZvaWQgV2ViTGF5
ZXJUcmVlVmlldzo6bG9zZUNvbXBvc2l0b3JDb250ZXh0KGludCBudW1UaW1lcykKIHsKLSAgICBt
X3ByaXZhdGUtPmxvc2VDb21wb3NpdG9yQ29udGV4dChudW1UaW1lcyk7CisgICAgbV9wcml2YXRl
LT5sb3NlQ29udGV4dChudW1UaW1lcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuY3Bw
CmluZGV4IDM1OTdjZjRmNWM0MGM2M2ZmNjgyYTAwOGFmZTI3ZmIyZDY2N2FkNzEuLjMzNTg3OWI2
NjA1MzRhNGJjNzU3ZTUxNzc0ZjMyZmZkYzY3ZTdmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5jcHAKQEAgLTc4LDcgKzc4LDcg
QEAgdm9pZCBXZWJMYXllclRyZWVWaWV3SW1wbDo6YXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWwKICAgICAgICAgbV9jbGllbnQtPmFwcGx5U2Nyb2xs
QW5kU2NhbGUoV2ViU2l6ZShzY3JvbGxEZWx0YSksIHBhZ2VTY2FsZSk7CiB9CiAKLVBhc3NSZWZQ
dHI8R3JhcGhpY3NDb250ZXh0M0Q+IFdlYkxheWVyVHJlZVZpZXdJbXBsOjpjcmVhdGVMYXllclRy
ZWVIb3N0Q29udGV4dDNEKCkKK1Bhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IFdlYkxheWVy
VHJlZVZpZXdJbXBsOjpjcmVhdGVDb250ZXh0KCkKIHsKICAgICBpZiAoIW1fY2xpZW50KQogICAg
ICAgICByZXR1cm4gMDsKQEAgLTg5LDcgKzg5LDcgQEAgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRl
eHQzRD4gV2ViTGF5ZXJUcmVlVmlld0ltcGw6OmNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QK
ICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRl
eHRGcm9tV2ViQ29udGV4dCh3ZWJDb250ZXh0LnJlbGVhc2UoKSwgR3JhcGhpY3NDb250ZXh0M0Q6
OlJlbmRlckRpcmVjdGx5VG9Ib3N0V2luZG93LCBmYWxzZSAvKiBwcmVzZXJ2ZURyYXdpbmdCdWZm
ZXIgKi8gKTsKIH0KIAotdm9pZCBXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlkUmVjcmVhdGVHcmFw
aGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKQordm9pZCBXZWJMYXllclRyZWVWaWV3SW1wbDo6ZGlk
UmVjcmVhdGVDb250ZXh0KGJvb2wgc3VjY2VzcykKIHsKICAgICBpZiAobV9jbGllbnQpCiAgICAg
ICAgIG1fY2xpZW50LT5kaWRSZWJpbmRHcmFwaGljc0NvbnRleHQoc3VjY2Vzcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXJUcmVlVmlld0ltcGwuaAppbmRleCA1
ODBlOWFmODQzODU5NDI1ODkxNGRiMGRjODhhMTFlNzg1ZTExN2YwLi5iMWIyNmQwZmMzMzg2MDRm
ZTVjZjM4MDcxZjUwYThjMzU4NjQ1MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJMYXllclRyZWVWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkxheWVyVHJlZVZpZXdJbXBsLmgKQEAgLTQ0LDggKzQ0LDggQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0aW9ucyhkb3VibGUgZnJhbWVCZWdpblRpbWUp
OwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3Jv
bGxBbmRTY2FsZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFn
ZVNjYWxlKTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCBzdWNjZXNzKTsKKyAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUNvbnRleHQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVDb250ZXh0KGJvb2wgc3VjY2Vzcyk7CiAgICAgdmlydHVh
bCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21w
bGV0ZVN3YXBCdWZmZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IGNlZDYyY2MwNmRkNGM1YjdmODdjZTVm
YTg2MWIxZDEyODk1NGM0MjcuLmQ3ZGQwNTU5NWJmZTUyNmE1MDdlOGI3MmU0OGRhN2MxODY3NjM0
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RUZXN0LmNwcApAQCAtMjI3LDcgKzIyNyw3IEBAIHB1YmxpYzoKICAgICAgICAgbV90ZXN0
SG9va3MtPmFwcGx5U2Nyb2xsQW5kU2NhbGUoc2Nyb2xsRGVsdGEsIHNjYWxlKTsKICAgICB9CiAK
LSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJl
ZUhvc3RDb250ZXh0M0QoKQorICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQz
RD4gY3JlYXRlQ29udGV4dCgpCiAgICAgewogICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0
cmlidXRlcyBhdHRyczsKICAgICAgICAgV2ViR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMg
d2ViQXR0cnM7CkBAIC0yNDUsNyArMjQ1LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9vbCkKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjcmVhdGVDb250ZXh0KGJvb2wpCiAgICAgewogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9GYWtlQ0NMYXllclRyZWVIb3N0Q2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0Zha2VDQ0xheWVyVHJlZUhvc3RD
bGllbnQuaAppbmRleCAyMzIzMTAzOGFiNGVmYWVjZWRlZGU3MjdlNjA4NTFlZDgxOWM2MzM5Li4z
ODg3NmQ3MzdmYjUyYWE2ZDAzYzcxYmZmZTQxNzI4YzhjY2NmMGI1IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0Zha2VDQ0xheWVyVHJlZUhvc3RDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0Zha2VDQ0xheWVyVHJlZUhvc3RDbGllbnQu
aApAQCAtMzcsMTIgKzM3LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5p
bWF0aW9ucyhkb3VibGUgZnJhbWVCZWdpblRpbWUpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBsYXlv
dXQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxBbmRTY2FsZShjb25zdCBJbnRT
aXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgcGFnZVNjYWxlKSB7IH0KLSAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKQor
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3JlYXRlQ29udGV4dCgp
CiAgICAgewogICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBhdHRyczsKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUNvbXBvc2l0b3JNb2NrR3JhcGhpY3NDb250ZXh0M0QoYXR0cnMp
OwogICAgIH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVHcmFwaGljc0NvbnRleHQoYm9v
bCBzdWNjZXNzKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjcmVhdGVDb250ZXh0KGJvb2wg
c3VjY2VzcykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdEFuZERyYXdGcmFtZSgpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21wbGV0ZVN3YXBCdWZmZXJzKCkgeyB9CiAK
</data>
<flag name="review"
          id="132313"
          type_id="1"
          status="+"
          setter="jamesr"
    />
    <flag name="commit-queue"
          id="132362"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>