<?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>89025</bug_id>
          
          <creation_ts>2012-06-13 11:29:39 -0700</creation_ts>
          <short_desc>[chromium] Upstream LayerRendererChromium::drawHighlightQuads from Android port</short_desc>
          <delta_ts>2012-06-14 15:28:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>84487</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66687</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Iain Merrick">husky</reporter>
          <assigned_to name="Iain Merrick">husky</assigned_to>
          <cc>aelias</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>husky</cc>
    
    <cc>jamesr</cc>
    
    <cc>klobag</cc>
    
    <cc>peter</cc>
    
    <cc>trchen</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>648283</commentid>
    <comment_count>0</comment_count>
    <who name="Iain Merrick">husky</who>
    <bug_when>2012-06-13 11:29:39 -0700</bug_when>
    <thetext>[chromium] Upstream LayerRendererChromium::drawHighlightQuads from Android port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648286</commentid>
    <comment_count>1</comment_count>
      <attachid>147373</attachid>
    <who name="Iain Merrick">husky</who>
    <bug_when>2012-06-13 11:31:24 -0700</bug_when>
    <thetext>Created attachment 147373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648287</commentid>
    <comment_count>2</comment_count>
    <who name="Iain Merrick">husky</who>
    <bug_when>2012-06-13 11:33:11 -0700</bug_when>
    <thetext>This is the code currently used by the Android port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648310</commentid>
    <comment_count>3</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-13 11:50:45 -0700</bug_when>
    <thetext>Is the code at all related/similar to link highlight, or could/should it be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648347</commentid>
    <comment_count>4</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-06-13 12:19:00 -0700</bug_when>
    <thetext>This looks very related to work already underway at 

https://bugs.webkit.org/show_bug.cgi?id=84487

I don&apos;t think we want two different mechanisms, and  if I recall earlier discussions with Nat &amp; James R, there was a desire to not hardwire highlight drawing directly into the compositor.

Is there anything we can do in the existing work to accommodate what you&apos;re trying to do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648406</commentid>
    <comment_count>5</comment_count>
      <attachid>147373</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-13 13:30:08 -0700</bug_when>
    <thetext>Comment on attachment 147373
Patch

I don&apos;t think it makes sense to build this directly into the compositor - instead, the caller should construct an appropriate layer and set the right bits on it (assuming that this is initiated from the main thread, which appears to be the case).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648433</commentid>
    <comment_count>6</comment_count>
    <who name="Iain Merrick">husky</who>
    <bug_when>2012-06-13 13:54:33 -0700</bug_when>
    <thetext>This wasn&apos;t written by me originally, I&apos;m just unforking code that has been shipped already. I&apos;ll take a look at 84487.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649268</commentid>
    <comment_count>7</comment_count>
    <who name="Iain Merrick">husky</who>
    <bug_when>2012-06-14 10:07:20 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 84487 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649540</commentid>
    <comment_count>8</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-06-14 15:28:38 -0700</bug_when>
    <thetext>I&apos;ll delete this code from the Android branch as there&apos;s no plan to ship it again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147373</attachid>
            <date>2012-06-13 11:31:24 -0700</date>
            <delta_ts>2012-06-13 13:30:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89025-20120613193123.patch</filename>
            <type>text/plain</type>
            <size>17207</size>
            <attacher name="Iain Merrick">husky</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ3ODE3MmFlODM5OGNh
MjNkMzc0MWU5NmFlYTgwZjE0MmJjYjNjNC4uZDQyM2RlNjQ2OWY5YmVjNjIxZWNmYmI2YzY3OGZl
YmFhNTFkYjA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA2LTEzICBJYWlu
IE1lcnJpY2sgIDxodXNreUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXBzdHJl
YW0gTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3SGlnaGxpZ2h0UXVhZHMgZnJvbSBBbmRyb2lk
IHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MDI1CisKKyAgICAgICAgVGhpcyBpcyB1c2VkIGJ5IHRoZSBBbmRyb2lkIGNvZGUgdG8gZHJhdyBh
IHRlbXBvcmFyeSBoaWdobGlnaHQKKyAgICAgICAgd2hlbiB0aGUgdXNlciB0b3VjaGVzIHRoZSBw
YWdlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0hlYWRzVXBEaXNwbGF5
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0hpZ2hsaWdo
dFF1YWRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorICAgICAgICAoTGF5ZXJSZW5kZXJl
ckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xh
eWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpmaW5p
c2hDb21taXRPbkltcGxUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
OjpwZW5kSGlnaGxpZ2h0Rm9yTmV4dENvbXBvc2l0ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoK
KyAgICAgICAgKENDTGF5ZXJUcmVlSG9zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHA6CisgICAgICAgIChVcGRhdGVIaWdo
bGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6VXBkYXRlSGlnaGxpZ2h0OjpVcGRhdGVIaWdobGln
aHQpOgorICAgICAgICAoV2ViQ29yZTo6VXBkYXRlSGlnaGxpZ2h0Ojp+VXBkYXRlSGlnaGxpZ2h0
KToKKyAgICAgICAgKFdlYkNvcmU6OlVwZGF0ZUhpZ2hsaWdodDo6b25UaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6
Q0NMYXllclRyZWVIb3N0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJ
bXBsOjpzZXRIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1w
bDo6Z2V0SGlnaGxpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDTGF5ZXJUcmVlSG9zdEltcGw6OmxheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAg
KENDTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0
SW1wbDo6Z2V0SGlnaGxpZ2h0Q29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyZXIuaDoKKyAgICAgICAgKENDUmVuZGVyZXJDbGllbnQpOgorCiAy
MDEyLTA2LTEzICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBTYXZlIGEgSlNHbG9iYWxDb250ZXh0UmVm
IGluc3RlYWQgb2YgYSBKU0NvbnRleHRSZWYgaW4gUXRDb25uZWN0aW9uT2JqZWN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDMxN2M1ZTVkYzU4NTVhMDY5YzBjZTNhMGU2OWQ5ZjEzZTA3
OGE2YmUuLjUxMjYwNzUyODA1ZDVhNWEwZWIyYmMxMDg3NzcyMTRiYjczM2JmMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDYtMTMgIElhaW4gTWVy
cmljayAgPGh1c2t5QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBVcHN0cmVhbSBM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdIaWdobGlnaHRRdWFkcyBmcm9tIEFuZHJvaWQgcG9y
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkwMjUK
KworICAgICAgICBUaGlzIGlzIHVzZWQgYnkgdGhlIEFuZHJvaWQgY29kZSB0byBkcmF3IGEgdGVt
cG9yYXJ5IGhpZ2hsaWdodAorICAgICAgICB3aGVuIHRoZSB1c2VyIHRvdWNoZXMgdGhlIHBhZ2Uu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0
cy9MYXllclJlbmRlcmVyQ2hyb21pdW1UZXN0LmNwcDoKKwogMjAxMi0wNi0xMyAgTU9SSVRBIEhh
amltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMTgwOTgp
OiA8Y29udGVudD4gZWxlbWVudCBkb2VzIG5vdCByZW5kZXIgZGlzdHJpYnV0ZWQgY2hpbGRyZW4g
d2hlbiBjbG9uZWQgZnJvbSBhbm90aGVyIGRvY3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJl
ckNocm9taXVtLmNwcAppbmRleCAwZTVhZjQxN2Y3YjcwZDZmOGQzNjUzYzgzODFkNGUwNTI5Y2M3
M2NlLi4xY2ZhMDlkMmQxZjViOWQxNzZmMDJhMmE5ZGM2YjlhZDQ4ZTQxMGU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29sb3IuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAj
aW5jbHVkZSAiU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJTa0JpdG1hcC5o
IgogI2luY2x1ZGUgIlRleHR1cmVDb3BpZXIuaCIKQEAgLTExNjksNiArMTE3MCwxMiBAQCB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0lPU3VyZmFjZVF1YWQoY29uc3QgQ0NJT1N1cmZh
Y2VEcmF3UXVhZCogcXVhZCkKIAogdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdIZWFk
c1VwRGlzcGxheShNYW5hZ2VkVGV4dHVyZSogaHVkVGV4dHVyZSwgY29uc3QgSW50U2l6ZSYgaHVk
U2l6ZSkKIHsKKyAgICBpZiAoIVBsYXRmb3JtU3VwcG9ydDo6bGF5b3V0VGVzdE1vZGUoKSkgeyAv
LyBuZXZlciBkcmF3IGV4dHJhcyBpbiBsYXlvdXQgdGVzdCBtb2RlCisgICAgICAgIEdMQyhtX2Nv
bnRleHQuZ2V0KCksIG1fY29udGV4dC0+ZGlzYWJsZShHcmFwaGljc0NvbnRleHQzRDo6U0NJU1NP
Ul9URVNUKSk7CisKKyAgICAgICAgZHJhd0hpZ2hsaWdodFF1YWRzKCk7CisgICAgfQorCiAgICAg
R0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT5lbmFibGUoR3JhcGhpY3NDb250ZXh0M0Q6OkJMRU5E
KSk7CiAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT5ibGVuZEZ1bmMoR3JhcGhpY3NDb250
ZXh0M0Q6Ok9ORSwgR3JhcGhpY3NDb250ZXh0M0Q6Ok9ORV9NSU5VU19TUkNfQUxQSEEpKTsKICAg
ICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPmRpc2FibGUoR3JhcGhpY3NDb250ZXh0M0Q6OlND
SVNTT1JfVEVTVCkpOwpAQCAtMTc5NCw2ICsxODAxLDgyIEBAIGJvb2wgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjppc0NvbnRleHRMb3N0KCkKICAgICByZXR1cm4gKG1fY29udGV4dC5nZXQoKS0+Z2V0
RXh0ZW5zaW9ucygpLT5nZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJCKCkgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6Ok5PX0VSUk9SKTsKIH0KIAordm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdI
aWdobGlnaHRRdWFkcygpCit7CisgICAgVmVjdG9yPEZsb2F0UXVhZD4gaGlnaGxpZ2h0OworICAg
IG1fY2xpZW50LT5sYXllclRyZWVIb3N0SW1wbCgpLT5nZXRIaWdobGlnaHQoaGlnaGxpZ2h0KTsK
KyAgICBDb2xvciBoaWdobGlnaHRDb2xvciA9IG1fY2xpZW50LT5sYXllclRyZWVIb3N0SW1wbCgp
LT5nZXRIaWdobGlnaHRDb2xvcigpOworICAgIGlmICghaGlnaGxpZ2h0LnNpemUoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgY29uc3QgU29saWRDb2xvclByb2dyYW0qIHByb2dyYW0gPSBzb2xp
ZENvbG9yUHJvZ3JhbSgpOworICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4dC0+dXNl
UHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKKworICAgIGZsb2F0IG1hdHJpeFsxNl07Cisg
ICAgdG9HTE1hdHJpeChtYXRyaXgsIHByb2plY3Rpb25NYXRyaXgoKSk7CisgICAgR0xDKG1fY29u
dGV4dC5nZXQoKSwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNo
YWRlcigpLm1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNlLCBtYXRyaXgpKTsKKworICAgIC8vIFRP
RE86IG5lZWQgYmV0dGVyIHdheSB0byBzeW5jIHdpdGggc29mdHdhcmUgcGF0aCBiZWhhdmlvcgor
ICAgIGZsb2F0IGNvbG9yWzRdOworICAgIGhpZ2hsaWdodENvbG9yLmdldFJHQkEoY29sb3JbMF0s
IGNvbG9yWzFdLCBjb2xvclsyXSwgY29sb3JbM10pOworICAgIEdMQyhtX2NvbnRleHQuZ2V0KCks
IG1fY29udGV4dC0+dW5pZm9ybTRmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9j
YXRpb24oKSwgMSwgY29sb3IpKTsKKworICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4
dC0+ZW5hYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpCTEVORCkpOworICAgIEdMQyhtX2NvbnRleHQu
Z2V0KCksIG1fY29udGV4dC0+YmxlbmRGdW5jKEdyYXBoaWNzQ29udGV4dDNEOjpPTkUsIEdyYXBo
aWNzQ29udGV4dDNEOjpPTkVfTUlOVVNfU1JDX0FMUEhBKSk7CisKKyAgICBQbGF0Zm9ybTNET2Jq
ZWN0IHZidWYgPSBtX2NvbnRleHQtPmNyZWF0ZUJ1ZmZlcigpOworCisgICAgR0xDKG1fY29udGV4
dC5nZXQoKSwgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJBWV9C
VUZGRVIsIHZidWYpKTsKKyAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmJ1ZmZl
ckRhdGEoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgc2l6ZW9mKGZsb2F0WzRdWzRd
KSwgR3JhcGhpY3NDb250ZXh0M0Q6OkRZTkFNSUNfRFJBVykpOworICAgIEdMQyhtX2NvbnRleHQu
Z2V0KCksIG1fY29udGV4dC0+dmVydGV4QXR0cmliUG9pbnRlcigwLCA0LCBHcmFwaGljc0NvbnRl
eHQzRDo6RkxPQVQsIGZhbHNlLCAwLCAwKSk7CisgICAgR0xDKG1fY29udGV4dC5nZXQoKSwgbV9j
b250ZXh0LT5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgwKSk7CisKKyAgICBHQzNEaW50IHN0ZW5j
aWxCaXRzID0gMDsKKyAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmdldEludGVn
ZXJ2KEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JJVFMsICZzdGVuY2lsQml0cykpOworICAg
IGlmIChzdGVuY2lsQml0cykgeworICAgICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRl
eHQtPmVuYWJsZShHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9URVNUKSk7CisgICAgICAgIEdM
QyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4dC0+c3RlbmNpbE9wKEdyYXBoaWNzQ29udGV4dDNE
OjpLRUVQLCBHcmFwaGljc0NvbnRleHQzRDo6S0VFUCwgR3JhcGhpY3NDb250ZXh0M0Q6OklOQ1Ip
KTsKKyAgICAgICAgR0xDKG1fY29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5zdGVuY2lsRnVuYyhH
cmFwaGljc0NvbnRleHQzRDo6RVFVQUwsIDAsIH4wKSk7CisKKyAgICAgICAgR0xDKG1fY29udGV4
dC5nZXQoKSwgbV9jb250ZXh0LT5jbGVhclN0ZW5jaWwoMCkpOworICAgICAgICBHTEMobV9jb250
ZXh0LmdldCgpLCBtX2NvbnRleHQtPmNsZWFyKEdyYXBoaWNzQ29udGV4dDNEOjpTVEVOQ0lMX0JV
RkZFUl9CSVQpKTsKKworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGhpZ2hsaWdodC5z
aXplKCk7IGkrKykgeworICAgICAgICAgICAgY29uc3QgRmxvYXRRdWFkICZxID0gaGlnaGxpZ2h0
W2ldOworICAgICAgICAgICAgZmxvYXQgdmVydGljZXNbNF1bNF0gPSB7CisgICAgICAgICAgICAg
ICAgIHtxLnA0KCkueCgpLCBxLnA0KCkueSgpLCAwLjAsIDEuMH0sCisgICAgICAgICAgICAgICAg
IHtxLnAzKCkueCgpLCBxLnAzKCkueSgpLCAwLjAsIDEuMH0sCisgICAgICAgICAgICAgICAgIHtx
LnAyKCkueCgpLCBxLnAyKCkueSgpLCAwLjAsIDEuMH0sCisgICAgICAgICAgICAgICAgIHtxLnAx
KCkueCgpLCBxLnAxKCkueSgpLCAwLjAsIDEuMH19OworICAgICAgICAgICAgR0xDKG1fY29udGV4
dC5nZXQoKSwgbV9jb250ZXh0LT5idWZmZXJTdWJEYXRhKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJB
WV9CVUZGRVIsIDAsIHNpemVvZihmbG9hdFs0XVs0XSksIHZlcnRpY2VzKSk7CisgICAgICAgICAg
ICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmRyYXdBcnJheXMoR3JhcGhpY3NDb250
ZXh0M0Q6OlRSSUFOR0xFX0ZBTiwgMCwgNCkpOworICAgICAgICB9CisKKyAgICAgICAgR0xDKG1f
Y29udGV4dC5nZXQoKSwgbV9jb250ZXh0LT5kaXNhYmxlKEdyYXBoaWNzQ29udGV4dDNEOjpTVEVO
Q0lMX1RFU1QpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBTa1JlZ2lvbiByZWdpb247CisgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaGlnaGxpZ2h0LnNpemUoKTsgaSsrKSB7CisgICAg
ICAgICAgICBjb25zdCBJbnRSZWN0IHIgPSBoaWdobGlnaHRbaV0uZW5jbG9zaW5nQm91bmRpbmdC
b3goKTsKKyAgICAgICAgICAgIHJlZ2lvbi5vcChyLngoKSwgci55KCksIHIubWF4WCgpLCByLm1h
eFkoKSwgU2tSZWdpb246OmtVbmlvbl9PcCk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChTa1Jl
Z2lvbjo6SXRlcmF0b3IgaShyZWdpb24pOyAhaS5kb25lKCk7IGkubmV4dCgpKSB7CisgICAgICAg
ICAgICBjb25zdCBTa0lSZWN0ICZyID0gaS5yZWN0KCk7CisgICAgICAgICAgICBmbG9hdCB2ZXJ0
aWNlc1s0XVs0XSA9IHsKKyAgICAgICAgICAgICAgICAge3IuZkxlZnQgLCByLmZCb3R0b20sIDAu
MCwgMS4wfSwKKyAgICAgICAgICAgICAgICAge3IuZlJpZ2h0LCByLmZCb3R0b20sIDAuMCwgMS4w
fSwKKyAgICAgICAgICAgICAgICAge3IuZlJpZ2h0LCByLmZUb3AgICAsIDAuMCwgMS4wfSwKKyAg
ICAgICAgICAgICAgICAge3IuZkxlZnQgLCByLmZUb3AgICAsIDAuMCwgMS4wfX07CisgICAgICAg
ICAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmJ1ZmZlclN1YkRhdGEoR3JhcGhp
Y3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgMCwgc2l6ZW9mKGZsb2F0WzRdWzRdKSwgdmVydGlj
ZXMpKTsKKyAgICAgICAgICAgIEdMQyhtX2NvbnRleHQuZ2V0KCksIG1fY29udGV4dC0+ZHJhd0Fy
cmF5cyhHcmFwaGljc0NvbnRleHQzRDo6VFJJQU5HTEVfRkFOLCAwLCA0KSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBHTEMobV9jb250ZXh0LmdldCgpLCBtX2NvbnRleHQtPmJpbmRCdWZmZXIo
R3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgMCkpOworICAgIEdMQyhtX2NvbnRleHQu
Z2V0KCksIG1fY29udGV4dC0+ZGVsZXRlQnVmZmVyKHZidWYpKTsKKworICAgIEdMQyhtX2NvbnRl
eHQuZ2V0KCksIG1fY29udGV4dC0+ZGlzYWJsZShHcmFwaGljc0NvbnRleHQzRDo6QkxFTkQpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCBkNzNj
MTUyNzQ0Y2E0YzNmMDRkMmMxMTY4Zjc2MTcwYzhiOGM3YjM4Li5hM2NjMDQ5OTBiNTBlOTE4OWM1
ODc2ZTlmODZkOTU4OWIzMjZkMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
aApAQCAtMTU4LDYgKzE1OCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpbml0aWFsaXplU2hhcmVk
T2JqZWN0cygpOwogICAgIHZvaWQgY2xlYW51cFNoYXJlZE9iamVjdHMoKTsKIAorICAgIHZvaWQg
ZHJhd0hpZ2hsaWdodFF1YWRzKCk7CisKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlclN3
YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0FkYXB0ZXI7CiAgICAgdm9pZCBvblN3YXBCdWZmZXJz
Q29tcGxldGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggYWJhNDU0
NDc5NTUxYjdkMTBiZmExYjVkYTZiMWI0Mjg0MWVmZTIxYS4uMmVmMDU1YjNkYjdkN2UxYzVlNWFm
ZjU5YzQ0ZmQyOTVhMThjMzkzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCkBA
IC0yNDQsNiArMjQ0LDkgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmZpbmlzaENvbW1pdE9uSW1w
bFRocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBob3N0SW1wbCkKIAogICAgIGhvc3RJbXBsLT5z
ZXRSb290TGF5ZXIoVHJlZVN5bmNocm9uaXplcjo6c3luY2hyb25pemVUcmVlcyhyb290TGF5ZXIo
KSwgaG9zdEltcGwtPnJlbGVhc2VSb290TGF5ZXIoKSwgaG9zdEltcGwpKTsKIAorICAgIGhvc3RJ
bXBsLT5zZXRIaWdobGlnaHQobV9oaWdobGlnaHQsIG1faGlnaGxpZ2h0Q29sb3IpOworICAgIG1f
aGlnaGxpZ2h0LmNsZWFyKCk7CisKICAgICAvLyBXZSBtYXkgaGF2ZSBhZGRlZCBhbiBhbmltYXRp
b24gZHVyaW5nIHRoZSB0cmVlIHN5bmMuIFRoaXMgd2lsbCBjYXVzZSBib3RoIGxheWVyIHRyZWUg
aG9zdHMKICAgICAvLyB0byB2aXNpdCB0aGVpciBjb250cm9sbGVycy4KICAgICBpZiAocm9vdExh
eWVyKCkgJiYgbV9uZWVkc0FuaW1hdGVMYXllcnMpCkBAIC00NTksNiArNDYyLDEzIEBAIHZvaWQg
Q0NMYXllclRyZWVIb3N0Ojpjb21wb3NpdGUoKQogICAgIHN0YXRpY19jYXN0PENDU2luZ2xlVGhy
ZWFkUHJveHkqPihtX3Byb3h5LmdldCgpKS0+Y29tcG9zaXRlSW1tZWRpYXRlbHkoKTsKIH0KIAor
dm9pZCBDQ0xheWVyVHJlZUhvc3Q6OnBlbmRIaWdobGlnaHRGb3JOZXh0Q29tcG9zaXRlKGNvbnN0
IFZlY3RvcjxGbG9hdFF1YWQ+JiBoaWdobGlnaHQsIGNvbnN0IENvbG9yJiBoaWdobGlnaHRDb2xv
cikKK3sKKyAgICBtX2hpZ2hsaWdodCA9IGhpZ2hsaWdodDsKKyAgICBtX2hpZ2hsaWdodENvbG9y
ID0gaGlnaGxpZ2h0Q29sb3I7CisgICAgc2V0TmVlZHNDb21taXQoKTsKK30KKwogdm9pZCBDQ0xh
eWVyVHJlZUhvc3Q6OnNjaGVkdWxlQ29tcG9zaXRlKCkKIHsKICAgICBtX2NsaWVudC0+c2NoZWR1
bGVDb21wb3NpdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXggM2MzYWUwM2Y2
NmM4ZWY0NTdhODMxY2U2MmRjMWQ4NGZjZmMzNDFlMi4uOGM3ZjQwMzlhNzZiZGQ5MjIwZjNlNmQ4
YzFiZmNkODc2YjYyZGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKQEAgLTIzOSw2
ICsyMzksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB2aXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV92
aXNpYmxlOyB9CiAgICAgdm9pZCBzZXRWaXNpYmxlKGJvb2wpOwogCisgICAgdm9pZCBwZW5kSGln
aGxpZ2h0Rm9yTmV4dENvbXBvc2l0ZShjb25zdCBWZWN0b3I8RmxvYXRRdWFkPiYgaGlnaGxpZ2h0
LCBjb25zdCBDb2xvciYgaGlnaGxpZ2h0Q29sb3IpOworCiAgICAgdm9pZCBzdGFydFBhZ2VTY2Fs
ZUFuaW1hdGlvbihjb25zdCBJbnRTaXplJiB0YXJnZXRQb3NpdGlvbiwgYm9vbCB1c2VBbmNob3Is
IGZsb2F0IHNjYWxlLCBkb3VibGUgZHVyYXRpb25TZWMpOwogCiAgICAgdm9pZCBhcHBseVNjcm9s
bEFuZFNjYWxlKGNvbnN0IENDU2Nyb2xsQW5kU2NhbGVTZXQmKTsKQEAgLTI3Niw2ICsyNzgsOSBA
QCBwcml2YXRlOgogICAgIGJvb2wgYW5pbWF0ZUxheWVyc1JlY3Vyc2l2ZShMYXllckNocm9taXVt
KiBjdXJyZW50LCBkb3VibGUgbW9ub3RvbmljVGltZSk7CiAgICAgdm9pZCBzZXRBbmltYXRpb25F
dmVudHNSZWN1cnNpdmUoY29uc3QgQ0NBbmltYXRpb25FdmVudHNWZWN0b3ImLCBMYXllckNocm9t
aXVtKiwgZG91YmxlIHdhbGxDbG9ja1RpbWUpOwogCisgICAgVmVjdG9yPEZsb2F0UXVhZD4gbV9o
aWdobGlnaHQ7CisgICAgQ29sb3IgbV9oaWdobGlnaHRDb2xvcjsKKwogICAgIGludCBtX2NvbXBv
c2l0b3JJZGVudGlmaWVyOwogCiAgICAgYm9vbCBtX2FuaW1hdGluZzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5jcHAKaW5kZXggNjBjNDJkN2Q3NDMzYjRkYTI2YzI1MDAyMmZl
ZjhmOTAyNDA2ZmJlNS4uNjgyYTczNjEwZDk4ZWRjMDBjN2RkNWNhYTNhZmRlMTMwOWY4NGFjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5jcHAKQEAgLTY0LDYgKzY0LDE3
IEBAIHZvaWQgZGlkVmlzaWJpbGl0eUNoYW5nZShXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBs
KiBpZCwgYm9vbCB2aXNpYmxlKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFVwZGF0
ZUhpZ2hsaWdodCA6IHB1YmxpYyBDQ1RpbWVyQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCBVcGRhdGVIaWdobGlnaHQoQ0NMYXllclRyZWVIb3N0SW1wbCogbGF5ZXJUcmVlSG9zdEltcGwp
CisgICAgICAgIDogbV9jY0xheWVyVHJlZUhvc3RJbXBsKGxheWVyVHJlZUhvc3RJbXBsKSB7IH0K
KyAgICB2aXJ0dWFsIH5VcGRhdGVIaWdobGlnaHQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBv
blRpbWVyRmlyZWQoKSB7IG1fY2NMYXllclRyZWVIb3N0SW1wbC0+c2V0TmVlZHNSZWRyYXcoKTsg
fQorcHJpdmF0ZToKKyAgICBDQ0xheWVyVHJlZUhvc3RJbXBsKiBtX2NjTGF5ZXJUcmVlSG9zdElt
cGw7Cit9OworCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXIgOiBw
dWJsaWMgQ0NUaW1lU291cmNlQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0xh
eWVyVHJlZUhvc3RJbXBsVGltZVNvdXJjZUFkYXB0ZXIpOwogcHVibGljOgpAQCAtMTE2LDYgKzEy
Nyw3IEBAIENDTGF5ZXJUcmVlSG9zdEltcGw6OkNDTGF5ZXJUcmVlSG9zdEltcGwoY29uc3QgQ0NT
ZXR0aW5ncyYgc2V0dGluZ3MsIENDTGF5ZXJUcmVlCiAgICAgLCBtX2ZyYW1lTnVtYmVyKDApCiAg
ICAgLCBtX3Njcm9sbExheWVySW1wbCgwKQogICAgICwgbV9zZXR0aW5ncyhzZXR0aW5ncykKKyAg
ICAsIG1faGlnaGxpZ2h0VGltZW91dCgwKQogICAgICwgbV92aXNpYmxlKHRydWUpCiAgICAgLCBt
X3NvdXJjZUZyYW1lQ2FuQmVEcmF3bih0cnVlKQogICAgICwgbV9oZWFkc1VwRGlzcGxheShDQ0hl
YWRzVXBEaXNwbGF5OjpjcmVhdGUoKSkKQEAgLTEzMiw2ICsxNDQsNyBAQCBDQ0xheWVyVHJlZUhv
c3RJbXBsOjpDQ0xheWVyVHJlZUhvc3RJbXBsKGNvbnN0IENDU2V0dGluZ3MmIHNldHRpbmdzLCBD
Q0xheWVyVHJlZQogewogICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7CiAgICAg
ZGlkVmlzaWJpbGl0eUNoYW5nZSh0aGlzLCBtX3Zpc2libGUpOworICAgIG1faGlnaGxpZ2h0VXBk
YXRlVGltZXIgPSBhZG9wdFB0cihuZXcgQ0NUaW1lcihDQ1Byb3h5OjppbXBsVGhyZWFkKCksIG5l
dyBVcGRhdGVIaWdobGlnaHQodGhpcykpKTsKIH0KIAogQ0NMYXllclRyZWVIb3N0SW1wbDo6fkND
TGF5ZXJUcmVlSG9zdEltcGwoKQpAQCAtODM3LDYgKzg1MCwyNCBAQCB2b2lkIENDTGF5ZXJUcmVl
SG9zdEltcGw6OnNldEZ1bGxSb290TGF5ZXJEYW1hZ2UoKQogICAgIH0KIH0KIAordm9pZCBDQ0xh
eWVyVHJlZUhvc3RJbXBsOjpzZXRIaWdobGlnaHQoY29uc3QgVmVjdG9yPEZsb2F0UXVhZD4mIGhp
Z2hsaWdodCwgY29uc3QgQ29sb3ImIGhpZ2hsaWdodENvbG9yKQoreworICAgIG1faGlnaGxpZ2h0
ID0gaGlnaGxpZ2h0OworICAgIG1faGlnaGxpZ2h0Q29sb3IgPSBoaWdobGlnaHRDb2xvcjsKKyAg
ICBpZiAoaGlnaGxpZ2h0LnNpemUoKSkgeworICAgICAgICBtX2hpZ2hsaWdodFRpbWVvdXQgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIGhpZ2hsaWdodFRpbWVvdXRNUyAqIDAuMDAx
OworICAgICAgICBtX2hpZ2hsaWdodFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoaGlnaGxpZ2h0
VGltZW91dE1TKTsKKyAgICB9Cit9CisKK3ZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6Z2V0SGln
aGxpZ2h0KFZlY3RvcjxGbG9hdFF1YWQ+JiBoaWdobGlnaHQpIGNvbnN0Cit7CisgICAgaWYgKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpID4gbV9oaWdobGlnaHRUaW1lb3V0KQorICAgICAg
ICBoaWdobGlnaHQgPSBWZWN0b3I8RmxvYXRRdWFkPigpOworICAgIGVsc2UKKyAgICAgICAgaGln
aGxpZ2h0ID0gbV9oaWdobGlnaHQ7Cit9CisKIHZvaWQgQ0NMYXllclRyZWVIb3N0SW1wbDo6YW5p
bWF0ZVBhZ2VTY2FsZShkb3VibGUgbW9ub3RvbmljVGltZSkKIHsKICAgICBpZiAoIW1fcGFnZVNj
YWxlQW5pbWF0aW9uIHx8ICFtX3Njcm9sbExheWVySW1wbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdEltcGwuaAppbmRleCAwOTVjMGU1YjM5MzI0MWE2OTVjNTE0MDUwZjQwZGJmODNlODNi
MDkxLi4yN2NlMTY2M2ExNjQ2MTgxYTUwYzM0ZTYwZmZhMDc5MDE4ZWFlMDQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIENDTGF5
ZXJUcmVlSG9zdEltcGxUaW1lU291cmNlQWRhcHRlcjsKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJv
bWl1bTsKIGNsYXNzIFRleHR1cmVBbGxvY2F0b3I7CiBzdHJ1Y3QgTGF5ZXJSZW5kZXJlckNhcGFi
aWxpdGllczsKK2NsYXNzIENDVGltZXI7CiAKIC8vIENDTGF5ZXJUcmVlSG9zdC0+Q0NQcm94eSBj
YWxsYmFjayBpbnRlcmZhY2UuCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RJbXBsQ2xpZW50IHsKQEAg
LTg0LDYgKzg1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY3RpdmVHZXN0dXJl
QW5pbWF0aW9uKFBhc3NPd25QdHI8Q0NBY3RpdmVHZXN0dXJlQW5pbWF0aW9uPik7CiAgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiAKKyAgICB2aXJ0dWFsIENDTGF5ZXJUcmVl
SG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsKCkgeyByZXR1cm4gdGhpczsgfQorCiAgICAgc3Ry
dWN0IEZyYW1lRGF0YSB7CiAgICAgICAgIENDUmVuZGVyUGFzc0xpc3QgcmVuZGVyUGFzc2VzOwog
ICAgICAgICBDQ0xheWVyTGlzdCByZW5kZXJTdXJmYWNlTGF5ZXJMaXN0OwpAQCAtMTU1LDYgKzE1
OCwxMCBAQCBwdWJsaWM6CiAKICAgICBQYXNzT3duUHRyPENDU2Nyb2xsQW5kU2NhbGVTZXQ+IHBy
b2Nlc3NTY3JvbGxEZWx0YXMoKTsKIAorICAgIHZvaWQgc2V0SGlnaGxpZ2h0KGNvbnN0IFZlY3Rv
cjxGbG9hdFF1YWQ+JiBoaWdobGlnaHQsIGNvbnN0IENvbG9yJiBoaWdobGlnaHRDb2xvcik7Cisg
ICAgdm9pZCBnZXRIaWdobGlnaHQoVmVjdG9yPEZsb2F0UXVhZD4mKSBjb25zdDsKKyAgICBDb2xv
ciBnZXRIaWdobGlnaHRDb2xvcigpIHsgcmV0dXJuIG1faGlnaGxpZ2h0Q29sb3I7IH0KKwogICAg
IHZvaWQgc3RhcnRQYWdlU2NhbGVBbmltYXRpb24oY29uc3QgSW50U2l6ZSYgdHJhZ2V0UG9zaXRp
b24sIGJvb2wgdXNlQW5jaG9yLCBmbG9hdCBzY2FsZSwgZG91YmxlIGR1cmF0aW9uU2VjKTsKIAog
ICAgIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCB7IHJldHVybiBtX2JhY2tn
cm91bmRDb2xvcjsgfQpAQCAtMjIwLDYgKzIyNywxNCBAQCBwcml2YXRlOgogICAgIENDU2V0dGlu
Z3MgbV9zZXR0aW5nczsKICAgICBJbnRTaXplIG1fdmlld3BvcnRTaXplOwogICAgIEludFNpemUg
bV9kZXZpY2VWaWV3cG9ydFNpemU7CisKKyAgICBWZWN0b3I8RmxvYXRRdWFkPiBtX2hpZ2hsaWdo
dDsKKyAgICBDb2xvciBtX2hpZ2hsaWdodENvbG9yOworICAgIGRvdWJsZSBtX2hpZ2hsaWdodFRp
bWVvdXQ7CisgICAgT3duUHRyPENDVGltZXI+IG1faGlnaGxpZ2h0VXBkYXRlVGltZXI7CisKKyAg
ICBzdGF0aWMgY29uc3QgaW50IGhpZ2hsaWdodFRpbWVvdXRNUyA9IDMwMDsKKwogICAgIGJvb2wg
bV92aXNpYmxlOwogICAgIGJvb2wgbV9zb3VyY2VGcmFtZUNhbkJlRHJhd247CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyZXIuaAppbmRleCA5YzkzOGE5OTBhYmM0ZDliNTU1NDY4ZTcwODZkN2I1MzYxYjYwNTE5Li4z
ZWZhNjcwY2RlNDY2MjdiNGMxNjM5NjZmYjAwNWQ2N2YwNTYzODkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlcmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJl
ci5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgb25Td2FwQnVm
ZmVyc0NvbXBsZXRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRGdWxsUm9vdExheWVyRGFt
YWdlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c01lbW9yeUFsbG9jYXRpb25M
aW1pdEJ5dGVzKHNpemVfdCkgPSAwOworICAgIHZpcnR1YWwgQ0NMYXllclRyZWVIb3N0SW1wbCog
bGF5ZXJUcmVlSG9zdEltcGwoKSA9IDA7CiB9OwogCiBjbGFzcyBDQ1JlbmRlcmVyIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJSZW5kZXJlckNocm9taXVt
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xheWVyUmVuZGVyZXJDaHJv
bWl1bVRlc3QuY3BwCmluZGV4IDc2ZDU5NjgzMmEwMTc5NWZkMTM2OTVmZGVjMDgyN2RiYTE0YjYz
OTMuLjQwY2JmYWIxN2Q2Y2NiNjE5OTc3Zjg4MDE0ODBkZTdhNTdhMWU2YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGF5ZXJSZW5kZXJlckNocm9taXVtVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MYXllclJlbmRlcmVyQ2hyb21p
dW1UZXN0LmNwcApAQCAtODcsNiArODcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dEZ1bGxSb290TGF5ZXJEYW1hZ2UoKSBPVkVSUklERSB7IG1fc2V0RnVsbFJvb3RMYXllckRhbWFn
ZUNvdW50Kys7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNNZW1vcnlBbGxvY2F0aW9u
TGltaXRCeXRlcyhzaXplX3QgYnl0ZXMpIE9WRVJSSURFIHsgbV9tZW1vcnlBbGxvY2F0aW9uTGlt
aXRCeXRlcyA9IGJ5dGVzOyB9CiAKKyAgICB2aXJ0dWFsIENDTGF5ZXJUcmVlSG9zdEltcGwqIGxh
eWVyVHJlZUhvc3RJbXBsKCkgT1ZFUlJJREUgeyByZXR1cm4gMDsgfQorCiAgICAgLy8gTWV0aG9k
cyBhZGRlZCBmb3IgdGVzdC4KICAgICBpbnQgc2V0RnVsbFJvb3RMYXllckRhbWFnZUNvdW50KCkg
Y29uc3QgeyByZXR1cm4gbV9zZXRGdWxsUm9vdExheWVyRGFtYWdlQ291bnQ7IH0KIAo=
</data>
<flag name="review"
          id="154855"
          type_id="1"
          status="-"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>