<?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>112919</bug_id>
          
          <creation_ts>2013-03-21 08:20:08 -0700</creation_ts>
          <short_desc>Web Inspector: timeline paint rectangles are off for transformed layers</short_desc>
          <delta_ts>2013-03-29 02:43:31 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>112911</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>860359</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-21 08:20:08 -0700</bug_when>
    <thetext>Timeline currently ignores layer offset/transform when displaying paint rectangles coming through instrumentation in RenderLayerBacking. See details here: https://code.google.com/p/chromium/issues/detail?id=113224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861613</commentid>
    <comment_count>1</comment_count>
      <attachid>194582</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-22 10:09:53 -0700</bug_when>
    <thetext>Created attachment 194582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865364</commentid>
    <comment_count>2</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-28 05:14:40 -0700</bug_when>
    <thetext>ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866046</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-29 02:43:31 -0700</bug_when>
    <thetext>Committed r147204: &lt;http://trac.webkit.org/changeset/147204&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194582</attachid>
            <date>2013-03-22 10:09:53 -0700</date>
            <delta_ts>2013-03-28 05:32:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112919-20130322210540.patch</filename>
            <type>text/plain</type>
            <size>31442</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRkNWU2NmIyYjM4ODEz
ZTJmYzMxMWQxNmE1YjU4NzU0MjM3YzdkYi4uYzdiYTUwNzU0MDNhNjE0MjY1ZjgxYmQ0MDQ5Yzhk
ZGZlNWNjOTRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTAzLTIyICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdGltZWxpbmUgcGFpbnQgcmVjdGFuZ2xlcyBhcmUgb2ZmIGZvciB0cmFuc2Zvcm1lZCBsYXll
cnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjkx
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gcGFz
cyBSZW5kZXJPYmplY3QgaW5zdGVhZCBvZiBGcmFtZSB0byBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFBhaW50OworICAgICAgICAtIHRha2UgdHJhbnNmb3JtcyBpbnRvIGFjY291bnQgYW5k
IGNvbnZlcnQgcGFpbnQgY2xpcCByZWN0IGludG8gcXVhZDsKKyAgICAgICAgLSBlbWl0IHF1YWRz
LCBub3QgcmVjdHMgYXMgUGFpbnQgYW5kIExheW91dCByZWNvcmQgZGF0YTsKKyAgICAgICAgLSBh
ZGp1c3QgY2xpZW50IHRvIHVzaW5nIHF1YWRzLCBjb21wdXRlIHdpZHRoL2hlaWdodCBmcm9tIHF1
YWQgY29vcmRzLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHA6IFBhc3MgUmVuZGVyT2JqZWN0LCBub3QgZnJhbWUgdG8ge3dpbGwsZGlkfVBhaW50Lgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxQYWludEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRQYWludEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yUmVuZGVyZXIpOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6IAorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmxvY2FsVG9QYWdlUXVhZCk6IENvbnZlcnQgbG9jYWwgY2xpcCBy
ZWN0IHRvIHRyYW5zZm9ybWVkIHF1YWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDogRW1pdCBxdWFkcyBhcyBQYWludCBhbmQgTGF5b3V0IHJl
Y29yZHMgZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVF1YWQpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVBh
aW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0
ZUxheW91dERhdGEpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRGYWN0b3J5KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6IEhpZ2hsaWdo
dCBhIHF1YWQgaWZmIGZvcm1hdHRlZCByZWNvcmQgaGFzIGhpZ2hsaWdodFF1YWQgZmllbGQuCisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUuX21vdXNlT3V0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5fbW91c2VNb3Zl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5faGlnaGxp
Z2h0UXVhZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUu
X2hpZGVRdWFkSGlnaGxpZ2h0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5SZWNvcmQpOiBTZXQgaGlnaGxpZ2h0UXVhZCBmb3IgUGFpbnQgYW5k
IExheW91dAorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwu
UmVjb3JkLnByb3RvdHlwZS5fZ2VuZXJhdGVQb3B1cENvbnRlbnRXaXRoSW1hZ2VQcmV2aWV3KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5w
cm90b3R5cGUuX2dldFJlY29yZERldGFpbHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwucXVhZFdpZHRoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnF1YWRIZWlnaHQpOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGFpbnRDb250ZW50cyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMpOgorCiAyMDEzLTAzLTE4
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5lJ3Mg
cGFpbnQgcmVjb3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmlu
ZGV4IGNjY2JmZTlhZWE5YjlmNGI4NjBjYTY3MzI5N2U3NTgyNTkwOTc0NWYuLjMwOGU2ZjI5MmM5
MGNjNjBmMDU4OTllMmJmNDJkNGRlMmExODAwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC02Niw2ICs2Niw3
IEBACiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlBhZ2VEZWJ1
Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiUGFnZVJ1bnRpbWVBZ2VudC5oIgorI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKQEAgLTUyNSwyMCAr
NTI2LDIwIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxv
YWRFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAgICAgICAgIHRpbWVsaW5lQWdlbnQt
PmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIEZyYW1lKiBmcmFtZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
UGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFJlbmRl
ck9iamVjdCogcmVuZGVyZXIpCiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgVFJBQ0Vf
RVZFTlRfSU5TVEFOVDEoImluc3RydW1lbnRhdGlvbiIsIEluc3RydW1lbnRhdGlvbkV2ZW50czo6
UGFpbnQsIEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpQYWdlSWQsIGZyYW1lID8gcmVp
bnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGZyYW1lLT5wYWdlKCkpIDogMCk7Cisg
ICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDEoImluc3RydW1lbnRhdGlvbiIsIEluc3RydW1lbnRhdGlv
bkV2ZW50czo6UGFpbnQsIEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpQYWdlSWQsIHJl
aW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihyZW5kZXJlci0+ZnJhbWUoKS0+cGFn
ZSgpKSk7CiAjZW5kaWYKIAogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQot
ICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsUGFpbnQoZnJhbWUpOworICAgICAgICB0aW1lbGlu
ZUFnZW50LT53aWxsUGFpbnQocmVuZGVyZXItPmZyYW1lKCkpOwogfQogCi12b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqICBpbnN0
cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogIGluc3RydW1lbnRpbmdBZ2VudHMsIFJl
bmRlck9iamVjdCogcmVuZGVyZXIsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5
b3V0UmVjdCYgcmVjdCkKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxp
bmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkK
LSAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkUGFpbnQoZnJhbWUsIHJlY3QpOworICAgICAgICB0
aW1lbGluZUFnZW50LT5kaWRQYWludChyZW5kZXJlciwgcmVjdCk7CiAgICAgaWYgKEluc3BlY3Rv
clBhZ2VBZ2VudCogcGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUGFn
ZUFnZW50KCkpCiAgICAgICAgIHBhZ2VBZ2VudC0+ZGlkUGFpbnQoY29udGV4dCwgcmVjdCk7CiB9
CkBAIC0xMzI5LDYgKzEzMzAsMTEgQEAgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShQYWdlKgogICAgIHJldHVy
biBpbnN0cnVtZW50YXRpb25Gb3JQYWdlKHBhZ2UpOwogfQogCitJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JSZW5kZXJl
cihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQoreworICAgIHJldHVybiBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yRnJhbWUocmVuZGVyZXItPmZyYW1lKCkpOworfQorCiAjaWYgRU5BQkxFKFdPUktFUlMp
CiBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1l
bnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKaW5kZXggNTZlNWUwZGJlNzlhYWQ3ODlmMDQwZDQ4OGI5ODRjYjMyOWRjYWIzNS4u
OTljZDJhZWIyZDU1OTUzMDRjNTRiM2Y3YTYwZGJjYWVlM2FmMGRmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNzQs
NiArNzQsNyBAQCBjbGFzcyBLVVJMOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7
CiBjbGFzcyBSZW5kZXJMYXllcjsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZzsKIGNsYXNzIFJl
bmRlck9iamVjdDsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CkBAIC0xNjksOCArMTcwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZERpc3Bh
dGNoWEhSTG9hZEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwog
ICAgIHN0YXRpYyB2b2lkIHdpbGxTY3JvbGxMYXllcihGcmFtZSopOwogICAgIHN0YXRpYyB2b2lk
IGRpZFNjcm9sbExheWVyKEZyYW1lKik7Ci0gICAgc3RhdGljIHZvaWQgd2lsbFBhaW50KEZyYW1l
Kik7Ci0gICAgc3RhdGljIHZvaWQgZGlkUGFpbnQoRnJhbWUqLCBHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBMYXlvdXRSZWN0Jik7CisgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50KFJlbmRlck9iamVj
dCopOworICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50KFJlbmRlck9iamVjdCosIEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsQ29tcG9zaXRl
KFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDb21wb3NpdGUoUGFnZSopOwogICAgIHN0YXRp
YyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3VsYXRlU3R5bGUoRG9j
dW1lbnQqKTsKQEAgLTM3Myw4ICszNzQsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRp
ZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjcm9sbExheWVySW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKik7Ci0gICAgc3RhdGljIHZvaWQgd2lsbFBhaW50SW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRQYWludEltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgTGF5
b3V0UmVjdCYpOworICAgIHN0YXRpYyB2b2lkIHdpbGxQYWludEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyosIFJlbmRlck9iamVjdCopOworICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50SW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiwgUmVuZGVyT2JqZWN0KiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
TGF5b3V0UmVjdCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUg
d2lsbFJlY2FsY3VsYXRlU3R5bGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFJlY2FsY3VsYXRlU3R5bGVJbXBsKGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjaGVkdWxlU3R5bGVS
ZWNhbGN1bGF0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRG9jdW1lbnQqKTsKQEAgLTQ4
Myw2ICs0ODQsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoRnJhbWUqKTsKICAgICBzdGF0aWMgSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopOwogICAgIHN0YXRpYyBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKKyAgICBzdGF0aWMgSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0ZvclJlbmRlcmVyKFJlbmRlck9iamVjdCopOworCiAj
aWYgRU5BQkxFKFdPUktFUlMpCiAgICAgc3RhdGljIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JXb3JrZXJDb250ZXh0KFdvcmtlckNvbnRleHQqKTsKICAgICBzdGF0
aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0Zvck5vbkRvY3VtZW50
Q29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CkBAIC0xMTAxLDI1ICsxMTA0LDI1IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2Fk
RXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zCiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQoRnJhbWUqIGZyYW1lKQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQoUmVuZGVyT2JqZWN0KiByZW5kZXJl
cikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05U
RU5EUyh2b2lkKCkpOwotICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKLSAgICAgICAgcmV0
dXJuIHdpbGxQYWludEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOworICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvclJlbmRlcmVyKHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIHdpbGxQYWludEltcGwo
aW5zdHJ1bWVudGluZ0FnZW50cywgcmVuZGVyZXIpOwogI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZnJhbWUpOworICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7CiAjZW5kaWYKIH0KIAotaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludChGcmFtZSogZnJhbWUsIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKK2lubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlciwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0KQog
ewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7Ci0gICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQotICAgICAgICBkaWRQYWlu
dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIGNvbnRleHQsIHJlY3QpOworICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvclJlbmRlcmVyKHJlbmRlcmVyKSkKKyAgICAgICAgZGlkUGFpbnRJbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHJlbmRlcmVyLCBjb250ZXh0LCByZWN0KTsKICNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGZyYW1lKTsKKyAgICBVTlVTRURfUEFSQU0ocmVuZGVyZXIpOwogICAgIFVOVVNF
RF9QQVJBTShjb250ZXh0KTsKICAgICBVTlVTRURfUEFSQU0ocmVjdCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApp
bmRleCBmN2JkYTZjYmYzNTc5NzBjMWE1NmVlZWZhYWNkZGNjNDA5M2ExYTQwLi4yMGY0MjM2YTA4
N2UxYTExMGIyYTRlNGFkMGFiNjY2MWI0ZTMzOGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0yNzAsMTAgKzI3MCwx
NCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dChSZW5kZXJPYmplY3Qq
IHJvb3QpCiB7CiAgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47Ci0gICAgTGF5b3V0UmVjdCByZWN0ID0gcm9vdC0+ZnJhbWUoKS0+dmlldygpLT5jb250ZW50
c1RvUm9vdFZpZXcocm9vdC0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKSk7Ci0gICAgVGltZWxp
bmVSZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3RhY2subGFzdCgpOworICAgIFRpbWVsaW5l
UmVjb3JkRW50cnkmIGVudHJ5ID0gbV9yZWNvcmRTdGFjay5sYXN0KCk7CiAgICAgQVNTRVJUKGVu
dHJ5LnR5cGUgPT0gVGltZWxpbmVSZWNvcmRUeXBlOjpMYXlvdXQpOwotICAgIFRpbWVsaW5lUmVj
b3JkRmFjdG9yeTo6YWRkUmVjdERhdGEoZW50cnkuZGF0YS5nZXQoKSwgcmVjdCk7CisgICAgVmVj
dG9yPEZsb2F0UXVhZD4gcXVhZHM7CisgICAgcm9vdC0+YWJzb2x1dGVRdWFkcyhxdWFkcyk7Cisg
ICAgaWYgKHF1YWRzLnNpemUoKSA+PSAxKQorICAgICAgICBlbnRyeS5kYXRhID0gVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVMYXlvdXREYXRhKHF1YWRzWzBdKTsKKyAgICBlbHNlCisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZFR5cGU6OkxheW91dCk7CiB9CiAKQEAgLTI5NywxMiArMzAxLDEzIEBAIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KEZyYW1lKiBmcmFtZSkKICAgICBw
dXNoQ3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29y
ZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwgdHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkUGFpbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBMYXlvdXRSZWN0JiByZWN0
KQordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludChSZW5kZXJPYmplY3QqIHJl
bmRlcmVyLCBjb25zdCBMYXlvdXRSZWN0JiBjbGlwUmVjdCkKIHsKLSAgICBUaW1lbGluZVJlY29y
ZEVudHJ5IGVudHJ5ID0gbV9yZWNvcmRTdGFjay5sYXN0KCk7CisgICAgVGltZWxpbmVSZWNvcmRF
bnRyeSYgZW50cnkgPSBtX3JlY29yZFN0YWNrLmxhc3QoKTsKICAgICBBU1NFUlQoZW50cnkudHlw
ZSA9PSBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50KTsKLSAgICBMYXlvdXRSZWN0IHJlY3RJblJv
b3RDb29yZGluYXRlcyA9IGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9Sb290VmlldyhwaXhlbFNu
YXBwZWRJbnRSZWN0KHJlY3QpKTsKLSAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFkZFJlY3RE
YXRhKGVudHJ5LmRhdGEuZ2V0KCksIHJlY3RJblJvb3RDb29yZGluYXRlcyk7CisgICAgRmxvYXRR
dWFkIHF1YWQ7CisgICAgbG9jYWxUb1BhZ2VRdWFkKCpyZW5kZXJlciwgY2xpcFJlY3QsICZxdWFk
KTsKKyAgICBlbnRyeS5kYXRhID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWludERh
dGEocXVhZCk7CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlw
ZTo6UGFpbnQpOwogfQogCkBAIC02OTAsNiArNjk1LDE3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6Y2xlYXJSZWNvcmRTdGFjaygpCiAgICAgbV9pZCsrOwogfQogCit2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmxvY2FsVG9QYWdlUXVhZChjb25zdCBSZW5kZXJPYmplY3QmIHJl
bmRlcmVyLCBjb25zdCBMYXlvdXRSZWN0JiByZWN0LCBGbG9hdFF1YWQqIHF1YWQpCit7CisgICAg
RnJhbWUqIGZyYW1lID0gcmVuZGVyZXIuZnJhbWUoKTsKKyAgICBGcmFtZVZpZXcqIHZpZXcgPSBm
cmFtZS0+dmlldygpOworICAgIEZsb2F0UXVhZCBhYnNvbHV0ZSA9IHJlbmRlcmVyLmxvY2FsVG9B
YnNvbHV0ZVF1YWQoRmxvYXRRdWFkKHJlY3QpKTsKKyAgICBxdWFkLT5zZXRQMSh2aWV3LT5jb250
ZW50c1RvUm9vdFZpZXcocm91bmRlZEludFBvaW50KGFic29sdXRlLnAxKCkpKSk7CisgICAgcXVh
ZC0+c2V0UDIodmlldy0+Y29udGVudHNUb1Jvb3RWaWV3KHJvdW5kZWRJbnRQb2ludChhYnNvbHV0
ZS5wMigpKSkpOworICAgIHF1YWQtPnNldFAzKHZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhyb3Vu
ZGVkSW50UG9pbnQoYWJzb2x1dGUucDMoKSkpKTsKKyAgICBxdWFkLT5zZXRQNCh2aWV3LT5jb250
ZW50c1RvUm9vdFZpZXcocm91bmRlZEludFBvaW50KGFic29sdXRlLnA0KCkpKSk7Cit9CisKIGRv
dWJsZSBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp0aW1lc3RhbXAoKQogewogICAgIHJldHVybiBt
X3RpbWVDb252ZXJ0ZXIuZnJvbU1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZShXVEY6Om1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGIwZGEzNWZjYzQ0M2FlNTgxMzUxYjhh
ZjFjYzVhZDk1ZmRjYzVkZTcuLjJhY2QwMzA0ZTY5MGYyMWMwZjhhY2Y4ODQ5MmI2OTQyMTQwYzMz
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuaApAQCAtNDYsNiArNDYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBF
dmVudDsKK2NsYXNzIEZsb2F0UXVhZDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSW5zcGVjdG9yQ2xp
ZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CkBAIC0xMjksNyArMTMwLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOwogCiAgICAgdm9pZCB3aWxsUGFpbnQo
RnJhbWUqKTsKLSAgICB2b2lkIGRpZFBhaW50KEZyYW1lKiwgY29uc3QgTGF5b3V0UmVjdCYpOwor
ICAgIHZvaWQgZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiwgY29uc3QgTGF5b3V0UmVjdCYpOwogCiAg
ICAgdm9pZCB3aWxsU2Nyb2xsKEZyYW1lKik7CiAgICAgdm9pZCBkaWRTY3JvbGwoKTsKQEAgLTIy
OCw2ICsyMjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5l
KFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiwgY29uc3QgU3RyaW5nJiB0eXBlKTsKICAgICB2
b2lkIGNsZWFyUmVjb3JkU3RhY2soKTsKIAorICAgIHZvaWQgbG9jYWxUb1BhZ2VRdWFkKGNvbnN0
IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IExheW91dFJlY3QmLCBGbG9hdFF1YWQqKTsK
ICAgICBjb25zdCBUaW1lbGluZVRpbWVDb252ZXJ0ZXImIHRpbWVDb252ZXJ0ZXIoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVDb252ZXJ0ZXI7IH0KICAgICBkb3VibGUgdGltZXN0YW1wKCk7CiAgICAg
UGFnZSogcGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcAppbmRleCBhMmQ1NTVlNzc3MzZlOTdjZTgxZjUwMWYyZTE3NTYzM2Ri
YmVjMWQ1Li40ODlhZTVjNjRlNTYwMzNjZWIxODBkYjIxZDc5NjNlZTM1NzgwODkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlRpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIgogCiAj
aW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVj
dC5oIgpAQCAtMjEzLDEyICsyMTQsMzIgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IFRp
bWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlQW5pbWF0aW9uRnJhbWVEYXRhKGludAogICAgIHJl
dHVybiBkYXRhLnJlbGVhc2UoKTsKIH0KIAotdm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFk
ZFJlY3REYXRhKEluc3BlY3Rvck9iamVjdCogZGF0YSwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkK
K3N0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5PiBjcmVhdGVRdWFkKGNvbnN0IEZsb2F0
UXVhZCYgcXVhZCkKIHsKLSAgICBkYXRhLT5zZXROdW1iZXIoIngiLCByZWN0LngoKSk7Ci0gICAg
ZGF0YS0+c2V0TnVtYmVyKCJ5IiwgcmVjdC55KCkpOwotICAgIGRhdGEtPnNldE51bWJlcigid2lk
dGgiLCByZWN0LndpZHRoKCkpOwotICAgIGRhdGEtPnNldE51bWJlcigiaGVpZ2h0IiwgcmVjdC5o
ZWlnaHQoKSk7CisgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBhcnJheSA9IEluc3BlY3RvckFy
cmF5OjpjcmVhdGUoKTsKKyAgICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnAxKCkueCgpKTsKKyAg
ICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnAxKCkueSgpKTsKKyAgICBhcnJheS0+cHVzaE51bWJl
cihxdWFkLnAyKCkueCgpKTsKKyAgICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnAyKCkueSgpKTsK
KyAgICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnAzKCkueCgpKTsKKyAgICBhcnJheS0+cHVzaE51
bWJlcihxdWFkLnAzKCkueSgpKTsKKyAgICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnA0KCkueCgp
KTsKKyAgICBhcnJheS0+cHVzaE51bWJlcihxdWFkLnA0KCkueSgpKTsKKyAgICByZXR1cm4gYXJy
YXkucmVsZWFzZSgpOworfQorCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWludERhdGEoY29uc3QgRmxvYXRRdWFkJiBxdWFkKQorewor
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0
ZSgpOworICAgIGRhdGEtPnNldEFycmF5KCJjbGlwIiwgY3JlYXRlUXVhZChxdWFkKSk7CisgICAg
cmV0dXJuIGRhdGEucmVsZWFzZSgpOworfQorCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVMYXlvdXREYXRhKGNvbnN0IEZsb2F0UXVhZCYg
cXVhZCkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhID0gSW5zcGVjdG9yT2Jq
ZWN0OjpjcmVhdGUoKTsKKyAgICBkYXRhLT5zZXRBcnJheSgicm9vdCIsIGNyZWF0ZVF1YWQocXVh
ZCkpOworICAgIHJldHVybiBkYXRhLnJlbGVhc2UoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5oCmluZGV4IDY4Y2JhNmQ2YmE5ZDIzNjY5NmYyMDVhMzFkZTUyMGRkOWI4MWU1NjYuLmFlYjMx
NjZmMmM3MjY5Yjc1MmE2ZThiMjRlZjQxY2I1MzVlMjNkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKQEAgLTQwLDYgKzQwLDcgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEV2ZW50OworICAgIGNsYXNzIEZsb2F0
UXVhZDsKICAgICBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKICAgICBjbGFzcyBJbnNwZWN0b3JP
YmplY3Q7CiAgICAgY2xhc3MgSW50UmVjdDsKQEAgLTkxLDYgKzkyLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNy
ZWF0ZUFuaW1hdGlvbkZyYW1lRGF0YShpbnQgY2FsbGJhY2tJZCk7CiAKKyAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVQYWludERhdGEoY29uc3QgRmxvYXRR
dWFkJik7CisKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVh
dGVMYXlvdXREYXRhKGNvbnN0IEZsb2F0UXVhZCYpOworCiAjaWYgRU5BQkxFKFdFQl9TT0NLRVRT
KQogICAgICAgICBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVh
dGVXZWJTb2NrZXRDcmVhdGVEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZmMw
NzllNzMyZGQ2NjhkNmJjMTc2MzQxYzQ3OThhNGZjYTZmOTEwNS4uYzAxOWQ3NTc0YzJjOTgwZjk0
ZjA1NGY4OWY1NTVmZGI5Y2UyZDI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMTA2MSwxOCArMTA2MSwyMCBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBfbW91c2VPdXQ6
IGZ1bmN0aW9uKGUpCiAgICAgewotICAgICAgICB0aGlzLl9oaWRlUmVjdEhpZ2hsaWdodCgpOwor
ICAgICAgICB0aGlzLl9oaWRlUXVhZEhpZ2hsaWdodCgpOwogICAgIH0sCiAKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge0V2ZW50fSBlCisgICAgICovCiAgICAgX21vdXNlTW92ZTogZnVuY3Rpb24o
ZSkKICAgICB7CiAgICAgICAgIHZhciBhbmNob3IgPSB0aGlzLl9nZXRQb3BvdmVyQW5jaG9yKGUu
dGFyZ2V0KTsKIAotICAgICAgICBjb25zdCByZWNvcmRUeXBlID0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTW9kZWwuUmVjb3JkVHlwZTsKLSAgICAgICAgaWYgKGFuY2hvciAmJiBhbmNob3Iucm93ICYm
IChhbmNob3Iucm93Ll9yZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZS5QYWludCB8fCBhbmNob3Iu
cm93Ll9yZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZS5MYXlvdXQpKQotICAgICAgICAgICAgdGhp
cy5faGlnaGxpZ2h0UmVjdChhbmNob3Iucm93Ll9yZWNvcmQpOworICAgICAgICBpZiAoYW5jaG9y
ICYmIGFuY2hvci5yb3cgJiYgYW5jaG9yLnJvdy5fcmVjb3JkLmhpZ2hsaWdodFF1YWQpCisgICAg
ICAgICAgICB0aGlzLl9oaWdobGlnaHRRdWFkKGFuY2hvci5yb3cuX3JlY29yZC5oaWdobGlnaHRR
dWFkKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhpcy5faGlkZVJlY3RIaWdobGlnaHQo
KTsKKyAgICAgICAgICAgIHRoaXMuX2hpZGVRdWFkSGlnaGxpZ2h0KCk7CiAKICAgICAgICAgaWYg
KGFuY2hvciAmJiBhbmNob3IuX3Rhc2tzSW5mbykgewogICAgICAgICAgICAgdmFyIG9mZnNldCA9
IGFuY2hvci5vZmZzZXRMZWZ0OwpAQCAtMTA4MSwyMCArMTA4MywyMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZUdy
aWQuaGlkZUN1cnRhaW5zKCk7CiAgICAgfSwKIAotICAgIF9oaWdobGlnaHRSZWN0OiBmdW5jdGlv
bihyZWNvcmQpCisgICAgLyoqCisgICAgICogQHBhcmFtIHtBcnJheS48bnVtYmVyPn0gcXVhZAor
ICAgICAqLworICAgIF9oaWdobGlnaHRRdWFkOiBmdW5jdGlvbihxdWFkKQogICAgIHsKLSAgICAg
ICAgaWYgKHJlY29yZC5jb2FsZXNjZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlm
ICh0aGlzLl9oaWdobGlnaHRlZFJlY3QgPT09IHJlY29yZC5kYXRhKQorICAgICAgICBpZiAodGhp
cy5faGlnaGxpZ2h0ZWRRdWFkID09PSBxdWFkKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB0aGlzLl9oaWdobGlnaHRlZFJlY3QgPSByZWNvcmQuZGF0YTsKLSAgICAgICAgRE9NQWdlbnQu
aGlnaGxpZ2h0UmVjdCh0aGlzLl9oaWdobGlnaHRlZFJlY3QueCwgdGhpcy5faGlnaGxpZ2h0ZWRS
ZWN0LnksIHRoaXMuX2hpZ2hsaWdodGVkUmVjdC53aWR0aCwgdGhpcy5faGlnaGxpZ2h0ZWRSZWN0
LmhlaWdodCwgV2ViSW5zcGVjdG9yLkNvbG9yLlBhZ2VIaWdobGlnaHQuQ29udGVudC50b1Byb3Rv
Y29sUkdCQSgpLCBXZWJJbnNwZWN0b3IuQ29sb3IuUGFnZUhpZ2hsaWdodC5Db250ZW50T3V0bGlu
ZS50b1Byb3RvY29sUkdCQSgpKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRRdWFkID0gcXVh
ZDsKKyAgICAgICAgRE9NQWdlbnQuaGlnaGxpZ2h0UXVhZChxdWFkLCBXZWJJbnNwZWN0b3IuQ29s
b3IuUGFnZUhpZ2hsaWdodC5Db250ZW50LnRvUHJvdG9jb2xSR0JBKCksIFdlYkluc3BlY3Rvci5D
b2xvci5QYWdlSGlnaGxpZ2h0LkNvbnRlbnRPdXRsaW5lLnRvUHJvdG9jb2xSR0JBKCkpOwogICAg
IH0sCiAKLSAgICBfaGlkZVJlY3RIaWdobGlnaHQ6IGZ1bmN0aW9uKCkKKyAgICBfaGlkZVF1YWRI
aWdobGlnaHQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9oaWdobGlnaHRl
ZFJlY3QpIHsKLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9oaWdobGlnaHRlZFJlY3Q7CisgICAg
ICAgIGlmICh0aGlzLl9oaWdobGlnaHRlZFF1YWQpIHsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlz
Ll9oaWdobGlnaHRlZFF1YWQ7CiAgICAgICAgICAgICBET01BZ2VudC5oaWRlSGlnaGxpZ2h0KCk7
CiAgICAgICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IDUw
ZDQwYjliZjFhZjcwMzg5MzJhYmY4ZTNlMTkzMDgzOTVkNjkyMWQuLjY4ZTc4YzJkMjU0MGY2YTJi
Zjc5Nzk3MzAwOTc1OTM3NzE4YWQwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMK
QEAgLTczOSw2ICs3MzksMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwuUmVjb3JkID0gZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwsIHJlY28KICAgICAgICAgaWYg
KHRoaXMuc3RhY2tUcmFjZSkKICAgICAgICAgICAgIHRoaXMuc2V0SGFzV2FybmluZygpOwogICAg
ICAgICBwcmVzZW50YXRpb25Nb2RlbC5fbGF5b3V0SW52YWxpZGF0ZVN0YWNrW3RoaXMuZnJhbWVJ
ZF0gPSBudWxsOworICAgICAgICB0aGlzLmhpZ2hsaWdodFF1YWQgPSByZWNvcmQuZGF0YS5yb290
OworICAgICAgICBicmVhazsKKworICAgIGNhc2UgcmVjb3JkVHlwZXMuUGFpbnQ6CisgICAgICAg
IHRoaXMuaGlnaGxpZ2h0UXVhZCA9IHJlY29yZC5kYXRhLmNsaXA7CiAgICAgICAgIGJyZWFrOwog
CiAgICAgY2FzZSByZWNvcmRUeXBlcy5XZWJTb2NrZXRDcmVhdGU6CkBAIC0xMDIxLDggKzEwMjYs
MTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuUmVjb3JkLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5hcHBlbmRFbGVtZW50
Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2NyaXB0IiksIHRoaXMuX2xpbmtpZnlMb2NhdGlv
bih0aGlzLnVybCwgdGhpcy5kYXRhWyJsaW5lTnVtYmVyIl0pKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuUGFpbnQ6Ci0gICAgICAgICAgICAg
ICAgY29udGVudEhlbHBlci5hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9j
YXRpb24iKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIoJWQsICVkKSIsIHRoaXMuZGF0YVsieCJd
LCB0aGlzLmRhdGFbInkiXSkpOwotICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuYXBwZW5k
VGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRpbWVuc2lvbnMiKSwgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCIlZCDDlyAlZCIsIHRoaXMuZGF0YVsid2lkdGgiXSwgdGhpcy5kYXRhWyJoZWln
aHQiXSkpOworICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuYXBwZW5kVGV4dFJvdyhXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkxvY2F0aW9uIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiKCVk
LCAlZCkiLCB0aGlzLmRhdGEuY2xpcFswXSwgdGhpcy5kYXRhLmNsaXBbMV0pKTsKKyAgICAgICAg
ICAgICAgICB2YXIgY2xpcFdpZHRoID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwucXVhZFdpZHRoKHRoaXMuZGF0YS5jbGlwKTsKKyAgICAgICAgICAgICAgICB2YXIgY2xp
cEhlaWdodCA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnF1YWRIZWln
aHQodGhpcy5kYXRhLmNsaXApOworICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuYXBwZW5k
VGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRpbWVuc2lvbnMiKSwgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCIlZCDDlyAlZCIsIGNsaXBXaWR0aCwgY2xpcEhlaWdodCkpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5SZWNhbGN1bGF0ZVN0
eWxlczogLy8gV2UgZG9uJ3Qgd2FudCB0byBzZWUgZGVmYXVsdCBkZXRhaWxzLgogICAgICAgICAg
ICAgICAgIGNhbGxTaXRlU3RhY2tUcmFjZUxhYmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
dHlsZXMgaW52YWxpZGF0ZWQiKTsKQEAgLTExMzMsNyArMTE0MCw3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLlJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBkZXRhaWxzID0gdGhpcy5kYXRhID8gdGhpcy5kYXRhWyJ0eXBlIl0gOiBudWxsOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVj
b3JkVHlwZS5QYWludDoKLSAgICAgICAgICAgIGRldGFpbHMgPSB0aGlzLmRhdGFbIndpZHRoIl0g
KyAiXHUyMDA5XHUwMGQ3XHUyMDA5IiArIHRoaXMuZGF0YVsiaGVpZ2h0Il07CisgICAgICAgICAg
ICBkZXRhaWxzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucXVhZFdp
ZHRoKHRoaXMuZGF0YS5jbGlwKSAgKyAiXHUyMDA5XHUwMGQ3XHUyMDA5IiArIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnF1YWRIZWlnaHQodGhpcy5kYXRhLmNsaXApOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuUmVjb3JkVHlwZS5EZWNvZGVJbWFnZToKICAgICAgICAgICAgIGRldGFpbHMgPSB0aGlzLmRh
dGFbImltYWdlVHlwZSJdOwpAQCAtMTM1Niw2ICsxMzYzLDI0IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLmNyZWF0ZVN0eWxlUnVsZUZvckNhdGVnb3J5ID0gZnVuY3Rp
b24oY2F0CiB9CiAKIC8qKgorICogQHBhcmFtIHtBcnJheS48bnVtYmVyPn0gcXVhZAorICogQHJl
dHVybiB7bnVtYmVyfQorICovCitXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5xdWFkV2lkdGggPSBmdW5jdGlvbihxdWFkKQoreworICAgIHJldHVybiBNYXRoLnJvdW5kKE1h
dGguc3FydChNYXRoLnBvdyhxdWFkWzBdIC0gcXVhZFsyXSwgMikgKyBNYXRoLnBvdyhxdWFkWzFd
IC0gcXVhZFszXSwgMikpKTsKK30KKworLyoqCisgKiBAcGFyYW0ge0FycmF5LjxudW1iZXI+fSBx
dWFkCisgKiBAcmV0dXJuIHtudW1iZXJ9CisgKi8KK1dlYkluc3BlY3Rvci5UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLnF1YWRIZWlnaHQgPSBmdW5jdGlvbihxdWFkKQoreworICAgIHJldHVybiBN
YXRoLnJvdW5kKE1hdGguc3FydChNYXRoLnBvdyhxdWFkWzBdIC0gcXVhZFs2XSwgMikgKyBNYXRo
LnBvdyhxdWFkWzFdIC0gcXVhZFs3XSwgMikpKTsKK30KKworLyoqCiAgKiBAaW50ZXJmYWNlCiAg
Ki8KIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkZpbHRlciA9IGZ1bmN0
aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAxNDYwODMxY2FlMjI5MjVjZGFm
MmVhZjEzMTZlMWU2ZTEyYTQwNjQ4Li5hNTljZjk4MDVlNTU5ZWVlODFiZjk2Zjk1NmE4MGE4ZTVj
NmNjOTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMzUxLDggKzMzNTEsNiBA
QCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludChtX2ZyYW1lLmdldCgpKTsKLQog
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7CiAKICNpZm5kZWYg
TkRFQlVHCkBAIC0zMzg0LDYgKzMzODIsOCBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50
cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKG5lZWRz
TGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbFBhaW50KHJlbmRlclZpZXcpOworCiAgICAgYm9vbCBpc1RvcExldmVsUGFpbnRlciA9
ICFzQ3VycmVudFBhaW50VGltZVN0YW1wOwogICAgIGlmIChpc1RvcExldmVsUGFpbnRlcikKICAg
ICAgICAgc0N1cnJlbnRQYWludFRpbWVTdGFtcCA9IGN1cnJlbnRUaW1lKCk7CkBAIC0zNDQ2LDcg
KzM0NDYsNyBAQCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQq
IHAsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKGlzVG9wTGV2ZWxQYWludGVyKQogICAg
ICAgICBzQ3VycmVudFBhaW50VGltZVN0YW1wID0gMDsKIAotICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUGFpbnQobV9mcmFtZS5nZXQoKSwgcCwgcmVjdCk7CisgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludChyZW5kZXJWaWV3LCBwLCByZWN0KTsKIH0KIAogdm9p
ZCBGcmFtZVZpZXc6OnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvciBiZWhhdmlvcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXgg
NjdhYmRmZjNjNDdiYzJjZTM1YmZhMTFiYmM3OTU1NTRiY2MxNThhYy4uNjllMDJkMjE1ZjU0YjU1
YmNhYjk5NjBjMmVmOWY2MDA0MWY0N2E5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE4OTUsOCArMTg5NSw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBo
aWNzTGF5ZXIsIEdyYXBoCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3JvdW5k
TGF5ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBtX21hc2tMYXllci5nZXQo
KQogICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fc2Nyb2xsaW5nQ29udGVudHNMYXllci5n
ZXQoKSkgewotICAgICAgICBGcmFtZSogZnJhbWUgPSBtX293bmluZ0xheWVyLT5yZW5kZXJlcigp
LT5mcmFtZSgpOwotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludChm
cmFtZSk7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KHJlbmRl
cmVyKCkpOwogCiAgICAgICAgIC8vIFRoZSBkaXJ0eVJlY3QgaXMgaW4gdGhlIGNvb3JkcyBvZiB0
aGUgcGFpbnRpbmcgcm9vdC4KICAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjbGlwOwpAQCAt
MTkwNyw5ICsxOTA2LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMo
Y29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgcGFpbnRJ
bnRvTGF5ZXIoZ3JhcGhpY3NMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhhdmlv
ck5vcm1hbCwgcGFpbnRpbmdQaGFzZSk7CiAKICAgICAgICAgaWYgKG1fdXNpbmdUaWxlZENhY2hl
TGF5ZXIpCi0gICAgICAgICAgICBmcmFtZS0+dmlldygpLT5zZXRMYXN0UGFpbnRUaW1lKGN1cnJl
bnRUaW1lKCkpOworICAgICAgICAgICAgcmVuZGVyZXIoKS0+ZnJhbWUoKS0+dmlldygpLT5zZXRM
YXN0UGFpbnRUaW1lKGN1cnJlbnRUaW1lKCkpOwogCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUGFpbnQoZnJhbWUsICZjb250ZXh0LCBjbGlwKTsKKyAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludChyZW5kZXJlcigpLCAmY29udGV4dCwgY2xpcCk7
CiAgICAgfSBlbHNlIGlmIChncmFwaGljc0xheWVyID09IGxheWVyRm9ySG9yaXpvbnRhbFNjcm9s
bGJhcigpKSB7CiAgICAgICAgIHBhaW50U2Nyb2xsYmFyKG1fb3duaW5nTGF5ZXItPmhvcml6b250
YWxTY3JvbGxiYXIoKSwgY29udGV4dCwgY2xpcCk7CiAgICAgfSBlbHNlIGlmIChncmFwaGljc0xh
eWVyID09IGxheWVyRm9yVmVydGljYWxTY3JvbGxiYXIoKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMwM2I2YTE2ZDdl
M2FlNmI2YzFkNWY3MmIwOTJlNWIyYjFiMTAyNDMuLjZkMmI4MjdiMzVlOTBlOWExMTMyNzA1ZTU1
YTIyNjUyNTVmZTZjOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0yMiAgQW5kcmV5
IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHRpbWVsaW5lIHBhaW50IHJlY3RhbmdsZXMgYXJlIG9mZiBmb3IgdHJhbnNmb3JtZWQgbGF5ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI5MTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGFkanVz
dCB0byBjaGFuZ2VkIHJlY29yZCBmb3JtYXQ7CisgICAgICAgIC0gc2ltcGxpZnkgdGVzdCB1c2lu
ZyBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aFRpbWVsaW5lKCkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzOgorICAgICAgICAqIGluc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWw6CisKIDIwMTMtMDMtMTkgIEFuZHJleSBL
b3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBQ
YWludCByZWN0YW5nbGVzIHNob3duIG9uIGhvdmVyIG92ZXIgVGltZWxpbmUncyBwYWludCByZWNv
cmRzIG9jY2FzaW9uYWxseSBoYXZlIHdyb25nIG9mZnNldHMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzCmluZGV4IDJjZWY4NmRhYTM2YmVj
MjU1YTFiNmEyMDhkZTc5MjBjOWRlZjdiZTEuLmY0ZDRlODc4YmI4ZTE1NTFiMDIyZTYwYzJlZDBh
ODhjMmNjNTFhNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUtdGVzdC5qcwpAQCAtNCwxMCArNCw4IEBAIHZhciBpbml0aWFsaXplX1RpbWVsaW5l
ID0gZnVuY3Rpb24oKSB7CiBJbnNwZWN0b3JUZXN0LnRpbWVsaW5lUHJvcGVydHlGb3JtYXR0ZXJz
ID0gewogICAgIGNoaWxkcmVuOiAiZm9ybWF0QXNUeXBlTmFtZSIsCiAgICAgZW5kVGltZTogImZv
cm1hdEFzVHlwZU5hbWUiLAotICAgIGhlaWdodDogImZvcm1hdEFzVHlwZU5hbWUiLAogICAgIHJl
cXVlc3RJZDogImZvcm1hdEFzVHlwZU5hbWUiLAogICAgIHN0YXJ0VGltZTogImZvcm1hdEFzVHlw
ZU5hbWUiLAotICAgIHdpZHRoOiAiZm9ybWF0QXNUeXBlTmFtZSIsCiAgICAgc3RhY2tUcmFjZTog
ImZvcm1hdEFzVHlwZU5hbWUiLAogICAgIHVybDogImZvcm1hdEFzVHlwZU5hbWUiLAogICAgIHNj
cmlwdE5hbWU6ICJmb3JtYXRBc1R5cGVOYW1lIiwKQEAgLTIxLDcgKzE5LDkgQEAgSW5zcGVjdG9y
VGVzdC50aW1lbGluZVByb3BlcnR5Rm9ybWF0dGVycyA9IHsKICAgICBsaW5lTnVtYmVyOiAiZm9y
bWF0QXNUeXBlTmFtZSIsCiAgICAgZnJhbWVJZDogImZvcm1hdEFzVHlwZU5hbWUiLAogICAgIGVu
Y29kZWREYXRhTGVuZ3RoOiAiZm9ybWF0QXNUeXBlTmFtZSIsCi0gICAgaWRlbnRpZmllcjogImZv
cm1hdEFzVHlwZU5hbWUiICAgIAorICAgIGlkZW50aWZpZXI6ICJmb3JtYXRBc1R5cGVOYW1lIiwK
KyAgICBjbGlwOiAiZm9ybWF0QXNUeXBlTmFtZSIsCisgICAgcm9vdDogImZvcm1hdEFzVHlwZU5h
bWUiLAogfTsKIAogSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lID0gZnVuY3Rpb24oY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
bGF5b3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0CmluZGV4IDZiOGM3NDNmYWU0NjE2ZWI3YmRjNzQyYmVk
ZDRiMjgyNTFmZTE4ZmUuLjgyZGJmZGQ2MGFjYmJjNWQxNWJjYjVmY2E2Yzc0ODcxODRmMjdiYjEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1sYXlv
dXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1sYXlvdXQtZXhwZWN0ZWQudHh0CkBAIC02LDEwICs2LDcgQEAgTGF5b3V0IFByb3BlcnRp
ZXM6CiAgICAgY2hpbGRyZW4gOiA8b2JqZWN0PgogICAgIGNvdW50ZXJzIDogPG9iamVjdD4KICAg
ICBkYXRhIDogewotICAgICAgICBoZWlnaHQgOiA8bnVtYmVyPgotICAgICAgICB3aWR0aCA6IDxu
dW1iZXI+Ci0gICAgICAgIHggOiAwCi0gICAgICAgIHkgOiAwCisgICAgICAgIHJvb3QgOiA8b2Jq
ZWN0PgogICAgIH0KICAgICBlbmRUaW1lIDogPG51bWJlcj4KICAgICBmcmFtZUlkIDogPHN0cmlu
Zz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1w
YWludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtcGFpbnQtZXhwZWN0ZWQudHh0CmluZGV4IGMxNDVjZDU3MDkxNWI2ZTQzNjYwOGY3YWY1NDU1
Zjg3NGYyNDY5NWYuLjE1OGJlZWE3YTc2NGVkMGIzZGQ2NmU5OTM5MmRkMWFhZGNkYWY1OWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LXBhaW50LWV4cGVjdGVkLnR4dApAQCAtNiwxMCArNiw3IEBAIFBhaW50IFByb3BlcnRpZXM6CiAg
ICAgY2hpbGRyZW4gOiA8b2JqZWN0PgogICAgIGNvdW50ZXJzIDogPG9iamVjdD4KICAgICBkYXRh
IDogewotICAgICAgICBoZWlnaHQgOiA8bnVtYmVyPgotICAgICAgICB3aWR0aCA6IDxudW1iZXI+
Ci0gICAgICAgIHggOiAwCi0gICAgICAgIHkgOiAwCisgICAgICAgIGNsaXAgOiA8b2JqZWN0Pgog
ICAgIH0KICAgICBlbmRUaW1lIDogPG51bWJlcj4KICAgICBmcmFtZUlkIDogPHN0cmluZz4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwK
aW5kZXggYTc2MjgwMGQ1Y2Q1M2Y5ZTBhMzU2ZTg1MTM4MjdkYzg2ODM3MjdkMS4uNzc4ZWQ1NjQw
YjE0N2Q3OTZkZWVlOTQwMTliMGJhN2E4OTdmMzQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKQEAgLTE5LDE4ICsxOSwxNCBA
QCBmdW5jdGlvbiB1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKQogCiBmdW5jdGlvbiB0ZXN0KCkK
IHsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUoc3RlcDEpOworICAgIHN0ZXAxKCk7
CisKICAgICBmdW5jdGlvbiBzdGVwMSgpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJkaXNwbGF5KCkiLCBzdGVwMik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVXaXRoVGltZWxpbmUoImRpc3BsYXkoKSIsIHN0ZXAyKTsKICAgICB9CiAKLSAgICBm
dW5jdGlvbiBzdGVwMigpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1lbGlu
ZShzdGVwMyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMocmVjb3JkcykKKyAgICBmdW5j
dGlvbiBzdGVwMihyZWNvcmRzKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBy
ZWNvcmRzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgcmVjb3JkID0gcmVjb3Jkc1tp
XTsKQEAgLTM5LDIwICszNSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0
YXJ0VGltZWxpbmUoc3RlcDQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlV2l0aFRp
bWVsaW5lKCJ1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKSIsIHN0ZXAzKTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBzdGVwNCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJ1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKSIsIHN0ZXA1KTsKLSAgICB9Ci0KLSAg
ICBmdW5jdGlvbiBzdGVwNSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LnN0b3BUaW1l
bGluZShzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDYocmVjb3JkcykKKyAgICBm
dW5jdGlvbiBzdGVwMyhyZWNvcmRzKQogICAgIHsKICAgICAgICAgdmFyIHBhaW50UmVjb3JkOwog
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKQEAgLTYz
LDExICs0OSwyMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUocGFpbnRSZWNvcmQsICJQYWludCByZWNv
cmQgd2l0aCBzdWJmcmFtZSBwYWludCBub3QgZm91bmQiKTsKKyAgICAgICAgdmFyIHRvcFF1YWQg
PSBwYWludFJlY29yZC5kYXRhLmNsaXA7CiAgICAgICAgIHZhciBzdWJmcmFtZVBhaW50ID0gcGFp
bnRSZWNvcmQuY2hpbGRyZW5bMF07Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRl
ck9yRXF1YWwoc3ViZnJhbWVQYWludC5kYXRhLngsIHBhaW50UmVjb3JkLmRhdGEueCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwoc3ViZnJhbWVQYWludC5kYXRh
LnksIHBhaW50UmVjb3JkLmRhdGEueSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3Jl
YXRlck9yRXF1YWwocGFpbnRSZWNvcmQuZGF0YS54ICsgcGFpbnRSZWNvcmQuZGF0YS53aWR0aCwg
c3ViZnJhbWVQYWludC5kYXRhLnggKyBzdWJmcmFtZVBhaW50LmRhdGEud2lkdGgpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHBhaW50UmVjb3JkLmRhdGEueSAr
IHBhaW50UmVjb3JkLmRhdGEuaGVpZ2h0LCBzdWJmcmFtZVBhaW50LmRhdGEueSArIHN1YmZyYW1l
UGFpbnQuZGF0YS5oZWlnaHQpOworICAgICAgICB2YXIgc3ViZnJhbWVRdWFkID0gc3ViZnJhbWVQ
YWludC5kYXRhLmNsaXA7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKDgsIHRv
cFF1YWQubGVuZ3RoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoOCwgc3Vi
ZnJhbWVRdWFkLmxlbmd0aCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9y
RXF1YWwoc3ViZnJhbWVRdWFkWzBdLCB0b3BRdWFkWzBdKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVF1YWRbMV0sIHRvcFF1YWRbMV0pOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHRvcFF1YWRbMl0sIHN1YmZy
YW1lUXVhZFsyXSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwo
c3ViZnJhbWVRdWFkWzNdLCB0b3BRdWFkWzNdKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRHcmVhdGVyT3JFcXVhbCh0b3BRdWFkWzRdLCBzdWJmcmFtZVF1YWRbNF0pOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHRvcFF1YWRbNV0sIHN1YmZyYW1lUXVh
ZFs1XSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3JlYXRlck9yRXF1YWwoc3ViZnJh
bWVRdWFkWzZdLCB0b3BRdWFkWzZdKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVh
dGVyT3JFcXVhbCh0b3BRdWFkWzddLCBzdWJmcmFtZVF1YWRbN10pOworCiAgICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiAgICAgfQogfQo=
</data>
<flag name="review"
          id="216350"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>