<?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>179277</bug_id>
          
          <creation_ts>2017-11-03 19:26:39 -0700</creation_ts>
          <short_desc>UIWebView is not rendering content that comes on screen during overflow scroll</short_desc>
          <delta_ts>2017-11-08 11:16:58 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=179315</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>fred.wang</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1368281</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-03 19:26:39 -0700</bug_when>
    <thetext>UIWebView is not rendering content that comes on screen during overflow scroll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368283</commentid>
    <comment_count>1</comment_count>
      <attachid>326001</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-03 19:32:55 -0700</bug_when>
    <thetext>Created attachment 326001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368284</commentid>
    <comment_count>2</comment_count>
      <attachid>326002</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-03 19:34:40 -0700</bug_when>
    <thetext>Created attachment 326002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368286</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-03 19:39:35 -0700</bug_when>
    <thetext>rdar://problem/34272949</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368716</commentid>
    <comment_count>4</comment_count>
      <attachid>326002</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-11-06 11:21:18 -0800</bug_when>
    <thetext>Comment on attachment 326002
Patch

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

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:427
&gt; +#if PLATFORM(IOS)
&gt; +        return frameView.exposedContentRect();
&gt; +#else
&gt; +        // Having a m_clipLayer indicates that we&apos;re doing scrolling via GraphicsLayers.
&gt; +        FloatRect visibleRect = m_clipLayer ? FloatRect({ }, frameView.sizeForVisibleContent()) : frameView.visibleContentRect();
&gt; +
&gt; +        if (frameView.viewExposedRect())
&gt; +            visibleRect.intersect(frameView.viewExposedRect().value());
&gt; +
&gt; +    return visibleRect;

Why the extra indent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368782</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-06 13:43:21 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/224510/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326001</attachid>
            <date>2017-11-03 19:32:55 -0700</date>
            <delta_ts>2017-11-03 19:34:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179277-20171103193255.patch</filename>
            <type>text/plain</type>
            <size>12454</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNjN2QxMDI1MWRhYmU4
MDdmMTJkMjcyOGY3YmM3NDFmNzdjOGJkYi4uYThmNzE1MmQ4OGFjZjUwMjg2NjNlMDg0ZjUwODk4
ZmNmZDVmYjcwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTExLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVJV2ViVmlldyBp
cyBub3QgcmVuZGVyaW5nIGNvbnRlbnQgdGhhdCBjb21lcyBvbiBzY3JlZW4gZHVyaW5nIG92ZXJm
bG93IHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc5Mjc3CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM0MjcyOTQ5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwYWdlIG9yIG92ZXJmbG93
IHNjcm9sbGluZyBoYXBwZW5zLCB3ZSBkbyBhIHRyYXZlcnNhbCBvZiBHcmFwaGljc0xheWVycyB0
byBkZXRlcm1pbmUKKyAgICAgICAgd2hldGhlciB0aGUgZXhwb3NlZCBwYXJ0IG9mIHRpbGVkIGxh
eWVycyBjaGFuZ2VkIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgYSBjaGFuZ2UgaW4gdGhlIHRpbGUK
KyAgICAgICAgY292ZXJhZ2UuIElmIHNvLCB3ZSBzY2hlZHVsZSBhIGNvbXBvc2l0aW5nIGxheWVy
IGZsdXNoLgorCisgICAgICAgIFRoZXJlIHdhcyBubyBlcXVpdmFsZW50IGxvZ2ljIGZvciBjb21w
dXRpbmcgd2hldGhlciB0aGUgImJhY2tpbmcgc3RvcmUgZGV0YWNoZWQiIHN0YXRlCisgICAgICAg
IG9mIGEgbGF5ZXIgY2hhbmdlZCAod2hpY2ggd2UgdXNlIHRvIHRocm93IGF3YXkgYmFja2luZyBz
dG9yZSBvZiBsYXllcnMgb3V0c2lkZSB0aGUgdmlld3BvcnQpLAorICAgICAgICBzbyBhZnRlciBz
Y3JvbGxpbmcgYW4gYWNjZWxlcmF0ZWQgb3ZlcmZsb3c6c2Nyb2xsIHdoaWNoIGNvbnRhaW5lZCBj
b21wb3NpdGVkIGxheWVycywgd2UKKyAgICAgICAgd291bGQgc29tZXRpbWVzIGZhaWwgdG8gcmVj
b21wdXRlIHRoYXQgd2Ugc2hvdWxkIHJlLWNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciByZXZlYWxl
ZAorICAgICAgICBsYXllcnMuCisKKyAgICAgICAgRml4IGJ5IGhhdmluZyBHcmFwaGljc0xheWVy
Q0E6OnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaCgpIGRldGVybWluZQor
ICAgICAgICB3aGV0aGVyICdpbnRlcnNlY3RzQ292ZXJhZ2VSZWN0JyBjaGFuZ2VkLCBhbmQgaWYg
c28gdHJpZ2dlciBhIGZsdXNoLiBUaGlzIHJlcXVpcmVzCisgICAgICAgIHRyYWNraW5nIENvbW1p
dFN0YXRlIGZvciBpc1ZpZXdwb3J0Q29uc3RyYWluZWQtbmVzcywganVzdCBsaWtlIHdlIGRvIGR1
cmluZyBjb21taXRzLgorICAgICAgICAKKyAgICAgICAgTm90IHRlc3RhYmxlIGJlY2F1c2UgVUlX
ZWJWaWV3IGxheW91dCB0ZXN0cyBhcmUgdW5yZWxpYWJsZS4KKworICAgICAgICAqIHBhZ2UvaW9z
L0ZyYW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnZpZXdwb3J0T2Zmc2V0Q2hh
bmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6b3ZlcmZsb3dTY3JvbGxQb3NpdGlvbkNo
YW5nZWRGb3JOb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xh
eWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVW
aXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjp2aXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2ggY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp2aXNpYmxlUmVjdEZvckxheWVyRmx1c2hpbmcgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmbHVzaFBlbmRp
bmdMYXllckNoYW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpkaWRDaGFuZ2VWaXNpYmxlUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oOgorCiAyMDE3LTEwLTMxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1iYW5kaW5nIG92ZXJmbG93LXNjcm9sbGluZy10
b3VjaCBzaG93cyBibGFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvRnJh
bWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9GcmFtZUlPUy5tbQppbmRleCA1MjQw
MGY0OTZjMzAyOTk2NDFkODk0NmQxMmQwYjMzMGI2MzFhZTViLi4zODAyMjc4M2U5YTQ4NTdiNTAz
MGI4NGY3Yzg5YWViZmFlY2Y4MjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9GcmFtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9GcmFtZUlPUy5tbQpA
QCAtNDcsNiArNDcsNyBAQAogI2ltcG9ydCAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbXBvcnQg
IkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW1wb3J0ICJIaXRUZXN0UmVzdWx0LmgiCisjaW1wb3J0ICJM
b2dnaW5nLmgiCiAjaW1wb3J0ICJNYWluRnJhbWUuaCIKICNpbXBvcnQgIk5vZGVSZW5kZXJTdHls
ZS5oIgogI2ltcG9ydCAiTm9kZVRyYXZlcnNhbC5oIgpAQCAtNjcsNiArNjgsNyBAQAogI2ltcG9y
dCAiV0FLV2luZG93LmgiCiAjaW1wb3J0IDxydW50aW1lL0pTTG9jay5oPgogI2ltcG9ydCA8d3Rm
L0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkhUTUxOYW1lczsKIHVzaW5nIG5hbWVzcGFjZSBX
VEY6OlVuaWNvZGU7CkBAIC03MDgsNiArNzEwLDggQEAgc3RhdGljIGJvb2wgYW55RnJhbWVIYXNU
aWxlZExheWVycyhGcmFtZSogcm9vdEZyYW1lKQogCiB2b2lkIEZyYW1lOjp2aWV3cG9ydE9mZnNl
dENoYW5nZWQoVmlld3BvcnRPZmZzZXRDaGFuZ2VUeXBlIGNoYW5nZVR5cGUpCiB7CisgICAgTE9H
X1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZTo6dmlld3BvcnRPZmZzZXRD
aGFuZ2VkIC0gIiA8PCAoY2hhbmdlVHlwZSA9PSBJbmNyZW1lbnRhbFNjcm9sbE9mZnNldCA/ICJp
bmNyZW1lbnRhbCIgOiAiY29tcGxldGVkIikpOworCiAgICAgaWYgKGNoYW5nZVR5cGUgPT0gSW5j
cmVtZW50YWxTY3JvbGxPZmZzZXQpIHsKICAgICAgICAgaWYgKGFueUZyYW1lSGFzVGlsZWRMYXll
cnModGhpcykpIHsKICAgICAgICAgICAgIGlmIChSZW5kZXJWaWV3KiByb290ID0gY29udGVudFJl
bmRlcmVyKCkpCkBAIC03MzEsNiArNzM1LDggQEAgYm9vbCBGcmFtZTo6Y29udGFpbnNUaWxlZEJh
Y2tpbmdMYXllcnMoKSBjb25zdAogCiB2b2lkIEZyYW1lOjpvdmVyZmxvd1Njcm9sbFBvc2l0aW9u
Q2hhbmdlZEZvck5vZGUoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uLCBOb2RlKiBub2RlLCBib29s
IGlzVXNlclNjcm9sbCkKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0g
PDwgIkZyYW1lOjpvdmVyZmxvd1Njcm9sbFBvc2l0aW9uQ2hhbmdlZEZvck5vZGUgIiA8PCBub2Rl
IDw8ICIgcG9zaXRpb24gIiA8PCBwb3NpdGlvbik7CisKICAgICBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+
aGFzTGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggN2ZkYjhjMWVj
OTc3ZmI2YjhkNDUwOWY2Y2NkZjBmYzliODM3YTBiNi4uMzk4ZjRjZmQ4OGQyM2IyNjc2OTA1Y2E1
ZjVmY2IxY2U3NmY4YmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0xMjM1LDE1ICsxMjM1LDIzIEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBhY2N1bXVsYXRlc1RyYW5zZm9ybShjb25zdCBHcmFwaGljc0xh
eWVyQ0EmIGxheWVyKQogICAgIHJldHVybiAhbGF5ZXIubWFza3NUb0JvdW5kcygpICYmIChsYXll
ci5wcmVzZXJ2ZXMzRCgpIHx8IChsYXllci5wYXJlbnQoKSAmJiBsYXllci5wYXJlbnQoKS0+cHJl
c2VydmVzM0QoKSkpOwogfQogCi1ib29sIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlVmlzaWJs
ZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IFRyYW5zZm9ybVN0YXRlJiBzdGF0ZSkgY29u
c3QKK2Jvb2wgR3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVp
cmVzRmx1c2goY29uc3QgQ29tbWl0U3RhdGUmIGNvbW1pdFN0YXRlLCBjb25zdCBUcmFuc2Zvcm1T
dGF0ZSYgc3RhdGUpIGNvbnN0CiB7CiAgICAgVHJhbnNmb3JtU3RhdGUgbG9jYWxTdGF0ZSA9IHN0
YXRlOwotICAgIAorICAgIENvbW1pdFN0YXRlIGNoaWxkQ29tbWl0U3RhdGUgPSBjb21taXRTdGF0
ZTsKKwogICAgIC8vIFRoaXMgbWF5IGJlIGNhbGxlZCBhdCB0aW1lcyB3aGVuIGxheW91dCBoYXMg
bm90IGJlZW4gdXBkYXRlZCwgc28gd2Ugd2FudCB0byBhdm9pZCBjYWxsaW5nIG91dCB0byB0aGUg
Y2xpZW50CiAgICAgLy8gZm9yIGFuaW1hdGluZyB0cmFuc2Zvcm1zLgogICAgIFZpc2libGVBbmRD
b3ZlcmFnZVJlY3RzIHJlY3RzID0gY29tcHV0ZVZpc2libGVBbmRDb3ZlcmFnZVJlY3QobG9jYWxT
dGF0ZSwgYWNjdW11bGF0ZXNUcmFuc2Zvcm0oKnRoaXMpLCAwKTsKICAgICBhZGp1c3RDb3ZlcmFn
ZVJlY3QocmVjdHMsIG1fdmlzaWJsZVJlY3QpOwogCisgICAgYXV0byBib3VuZHMgPSBGbG9hdFJl
Y3QobV9ib3VuZHNPcmlnaW4sIHNpemUoKSk7CisKKyAgICBib29sIGlzVmlld3BvcnRDb25zdHJh
aW5lZCA9IG1faXNWaWV3cG9ydENvbnN0cmFpbmVkIHx8IGNvbW1pdFN0YXRlLmFuY2VzdG9ySXNW
aWV3cG9ydENvbnN0cmFpbmVkOworICAgIGJvb2wgaW50ZXJzZWN0c0NvdmVyYWdlUmVjdCA9IGlz
Vmlld3BvcnRDb25zdHJhaW5lZCB8fCByZWN0cy5jb3ZlcmFnZVJlY3QuaW50ZXJzZWN0cyhib3Vu
ZHMpOworICAgIGlmIChpbnRlcnNlY3RzQ292ZXJhZ2VSZWN0ICE9IG1faW50ZXJzZWN0c0NvdmVy
YWdlUmVjdCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAocmVjdHMuY292ZXJhZ2VS
ZWN0ICE9IG1fY292ZXJhZ2VSZWN0KSB7CiAgICAgICAgIGlmIChUaWxlZEJhY2tpbmcqIHRpbGVk
QmFja2luZyA9IHRoaXMtPnRpbGVkQmFja2luZygpKSB7CiAgICAgICAgICAgICBpZiAodGlsZWRC
YWNraW5nLT50aWxlc1dvdWxkQ2hhbmdlRm9yQ292ZXJhZ2VSZWN0KHJlY3RzLmNvdmVyYWdlUmVj
dCkpCkBAIC0xMjUxLDkgKzEyNTksMTEgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2
ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChjb25zdCBUcmFuc2Zvcm1TdGEKICAgICAg
ICAgfQogICAgIH0KIAorICAgIGNoaWxkQ29tbWl0U3RhdGUuYW5jZXN0b3JJc1ZpZXdwb3J0Q29u
c3RyYWluZWQgfD0gbV9pc1ZpZXdwb3J0Q29uc3RyYWluZWQ7CisKICAgICBpZiAobV9tYXNrTGF5
ZXIpIHsKICAgICAgICAgR3JhcGhpY3NMYXllckNBJiBtYXNrTGF5ZXJDQSA9IGRvd25jYXN0PEdy
YXBoaWNzTGF5ZXJDQT4oKm1fbWFza0xheWVyKTsKLSAgICAgICAgaWYgKG1hc2tMYXllckNBLnJl
Y3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChsb2NhbFN0YXRlKSkKKyAgICAg
ICAgaWYgKG1hc2tMYXllckNBLnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVz
aChjaGlsZENvbW1pdFN0YXRlLCBsb2NhbFN0YXRlKSkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIApAQCAtMTI2MiwxMiArMTI3MiwxMiBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6
cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IFRyYW5zZm9ybVN0
YQogICAgIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtQ2hpbGRyZW47ICsraSkgewog
ICAgICAgICBHcmFwaGljc0xheWVyQ0EmIGN1cnJlbnRDaGlsZCA9IGRvd25jYXN0PEdyYXBoaWNz
TGF5ZXJDQT4oKmNoaWxkTGF5ZXJzW2ldKTsKLSAgICAgICAgaWYgKGN1cnJlbnRDaGlsZC5yZWN1
cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2gobG9jYWxTdGF0ZSkpCisgICAgICAg
IGlmIChjdXJyZW50Q2hpbGQucmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNo
KGNoaWxkQ29tbWl0U3RhdGUsIGxvY2FsU3RhdGUpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogCiAgICAgaWYgKG1fcmVwbGljYUxheWVyKQotICAgICAgICBpZiAoZG93bmNhc3Q8
R3JhcGhpY3NMYXllckNBPigqbV9yZXBsaWNhTGF5ZXIpLnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hh
bmdlUmVxdWlyZXNGbHVzaChsb2NhbFN0YXRlKSkKKyAgICAgICAgaWYgKGRvd25jYXN0PEdyYXBo
aWNzTGF5ZXJDQT4oKm1fcmVwbGljYUxheWVyKS5yZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJl
cXVpcmVzRmx1c2goY2hpbGRDb21taXRTdGF0ZSwgbG9jYWxTdGF0ZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMjc2LDcgKzEyODYsOCBA
QCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJl
c0ZsdXNoKGNvbnN0IFRyYW5zZm9ybVN0YQogYm9vbCBHcmFwaGljc0xheWVyQ0E6OnZpc2libGVS
ZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChjb25zdCBGbG9hdFJlY3QmIGNsaXBSZWN0KSBjb25zdAog
ewogICAgIFRyYW5zZm9ybVN0YXRlIHN0YXRlKFRyYW5zZm9ybVN0YXRlOjpVbmFwcGx5SW52ZXJz
ZVRyYW5zZm9ybURpcmVjdGlvbiwgRmxvYXRRdWFkKGNsaXBSZWN0KSk7Ci0gICAgcmV0dXJuIHJl
Y3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChzdGF0ZSk7CisgICAgQ29tbWl0
U3RhdGUgY29tbWl0U3RhdGU7CisgICAgcmV0dXJuIHJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdl
UmVxdWlyZXNGbHVzaChjb21taXRTdGF0ZSwgc3RhdGUpOwogfQogCiBUaWxlZEJhY2tpbmcqIEdy
YXBoaWNzTGF5ZXJDQTo6dGlsZWRCYWNraW5nKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXggOTg2MDc4
MGEyOGMxMjNmOWRhYzcwYzhlOGE1MWJmMDgzMmI3ZDZlZS4uMjJkZjU4NWE1YmFkOWNiM2U2ZDZi
YTE3Nzc5ZDQ4OWFmNDNmNTg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKQEAgLTMxNCw3ICszMTQsNyBAQCBwcml2
YXRlOgogICAgIAogICAgIHN0YXRpYyBGbG9hdFJlY3QgYWRqdXN0VGlsZWRMYXllclZpc2libGVS
ZWN0KFRpbGVkQmFja2luZyosIGNvbnN0IEZsb2F0UmVjdCYgb2xkVmlzaWJsZVJlY3QsIGNvbnN0
IEZsb2F0UmVjdCYgbmV3VmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgb2xkU2l6ZSwgY29u
c3QgRmxvYXRTaXplJiBuZXdTaXplKTsKIAotICAgIGJvb2wgcmVjdXJzaXZlVmlzaWJsZVJlY3RD
aGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7CisgICAgYm9v
bCByZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2goY29uc3QgQ29tbWl0U3Rh
dGUmLCBjb25zdCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaXNQYWdl
VGlsZWRCYWNraW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFnZVRp
bGVkQmFja2luZzsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGQwNGU2NDdmM2RiNWVjMzdjYjI2ZGQ4NWU0MTE2ZjU3
ZmEwNmM0OTguLjNjYTliMjFiMjk0MjgyYTA5NGYwODRhMWY1NTc3Y2UwMTFmZDQzOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CkBAIC00MTIsNiArNDEyLDIyIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVs
ZUxheWVyRmx1c2goYm9vbCBjYW5UaHJvdHRsZSkKICAgICBzY2hlZHVsZUxheWVyRmx1c2hOb3co
KTsKIH0KIAorRmxvYXRSZWN0IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dmlzaWJsZVJlY3RGb3JM
YXllckZsdXNoaW5nKCkgY29uc3QKK3sKKyAgICBjb25zdCBGcmFtZVZpZXcmIGZyYW1lVmlldyA9
IG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKTsKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgIHJl
dHVybiBmcmFtZVZpZXcuZXhwb3NlZENvbnRlbnRSZWN0KCk7CisjZWxzZQorICAgICAgICAvLyBI
YXZpbmcgYSBtX2NsaXBMYXllciBpbmRpY2F0ZXMgdGhhdCB3ZSdyZSBkb2luZyBzY3JvbGxpbmcg
dmlhIEdyYXBoaWNzTGF5ZXJzLgorICAgICAgICBGbG9hdFJlY3QgdmlzaWJsZVJlY3QgPSBtX2Ns
aXBMYXllciA/IEZsb2F0UmVjdCh7IH0sIGZyYW1lVmlldy5zaXplRm9yVmlzaWJsZUNvbnRlbnQo
KSkgOiBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRSZWN0KCk7CisKKyAgICAgICAgaWYgKGZyYW1l
Vmlldy52aWV3RXhwb3NlZFJlY3QoKSkKKyAgICAgICAgICAgIHZpc2libGVSZWN0LmludGVyc2Vj
dChmcmFtZVZpZXcudmlld0V4cG9zZWRSZWN0KCkudmFsdWUoKSk7CisKKyAgICByZXR1cm4gdmlz
aWJsZVJlY3Q7CisjZW5kaWYKK30KKwogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZsdXNo
UGVuZGluZ0xheWVyQ2hhbmdlcyhib29sIGlzRmx1c2hSb290KQogewogICAgIC8vIEZyYW1lVmll
dzo6Zmx1c2hDb21wb3NpdGluZ1N0YXRlSW5jbHVkaW5nU3ViZnJhbWVzKCkgZmx1c2hlcyBlYWNo
IHN1YmZyYW1lLApAQCAtNDM2LDIzICs0NTIsOSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiAgICAgbV9mbHVz
aGluZ0xheWVycyA9IHRydWU7CiAKICAgICBpZiAoYXV0byogcm9vdExheWVyID0gcm9vdEdyYXBo
aWNzTGF5ZXIoKSkgewotI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgRmxvYXRSZWN0IGV4cG9z
ZWRSZWN0ID0gZnJhbWVWaWV3LmV4cG9zZWRDb250ZW50UmVjdCgpOwotICAgICAgICBMT0dfV0lU
SF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0cmVhbSA8PCAiXG5SZW5kZXJMYXllckNvbXBvc2l0b3Ig
IiA8PCB0aGlzIDw8ICIgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzIChpcyByb290ICIgPDwgaXNG
bHVzaFJvb3QgPDwgIikgZXhwb3NlZFJlY3QgIiA8PCBleHBvc2VkUmVjdCk7Ci0KLSAgICAgICAg
Ly8gRklYTUU6IFVzZSBvcHRpbWl6ZWQgZmx1c2hlcy4KLSAgICAgICAgcm9vdExheWVyLT5mbHVz
aENvbXBvc2l0aW5nU3RhdGUoZXhwb3NlZFJlY3QpOwotI2Vsc2UKLSAgICAgICAgLy8gSGF2aW5n
IGEgbV9jbGlwTGF5ZXIgaW5kaWNhdGVzIHRoYXQgd2UncmUgZG9pbmcgc2Nyb2xsaW5nIHZpYSBH
cmFwaGljc0xheWVycy4KLSAgICAgICAgRmxvYXRSZWN0IHZpc2libGVSZWN0ID0gbV9jbGlwTGF5
ZXIgPyBGbG9hdFJlY3QoeyAwLCAwIH0sIGZyYW1lVmlldy5zaXplRm9yVmlzaWJsZUNvbnRlbnQo
KSkgOiBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRSZWN0KCk7Ci0KLSAgICAgICAgaWYgKGZyYW1l
Vmlldy52aWV3RXhwb3NlZFJlY3QoKSkKLSAgICAgICAgICAgIHZpc2libGVSZWN0LmludGVyc2Vj
dChmcmFtZVZpZXcudmlld0V4cG9zZWRSZWN0KCkudmFsdWUoKSk7Ci0KKyAgICAgICAgRmxvYXRS
ZWN0IHZpc2libGVSZWN0ID0gdmlzaWJsZVJlY3RGb3JMYXllckZsdXNoaW5nKCk7CiAgICAgICAg
IExPR19XSVRIX1NUUkVBTShDb21wb3NpdGluZywgIHN0cmVhbSA8PCAiXG5SZW5kZXJMYXllckNv
bXBvc2l0b3IgIiA8PCB0aGlzIDw8ICIgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzIChpcyByb290
ICIgPDwgaXNGbHVzaFJvb3QgPDwgIikgdmlzaWJsZSByZWN0ICIgPDwgdmlzaWJsZVJlY3QpOwog
ICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7Ci0g
ICAgICAgIExPR19XSVRIX1NUUkVBTShDb21wb3NpdGluZywgIHN0cmVhbSA8PCAiUmVuZGVyTGF5
ZXJDb21wb3NpdG9yICIgPDwgdGhpcyA8PCAiIGZsdXNoIGNvbXBsZXRlXG4iKTsKLSNlbmRpZgog
ICAgIH0KICAgICAKICAgICBBU1NFUlQobV9mbHVzaGluZ0xheWVycyk7CkBAIC01NTksMTYgKzU2
MSwxMSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGlkQ2hhbmdlVmlzaWJsZVJlY3Qo
KQogICAgIGlmICghcm9vdExheWVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBGcmFt
ZVZpZXcmIGZyYW1lVmlldyA9IG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKTsKLQotI2lmIFBMQVRG
T1JNKElPUykKLSAgICBJbnRSZWN0IHZpc2libGVSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChmcmFt
ZVZpZXcuZXhwb3NlZENvbnRlbnRSZWN0KCkpOwotI2Vsc2UKLSAgICBJbnRSZWN0IHZpc2libGVS
ZWN0ID0gbV9jbGlwTGF5ZXIgPyBJbnRSZWN0KEludFBvaW50KCksIGZyYW1lVmlldy5jb250ZW50
c1NpemUoKSkgOiBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRSZWN0KCk7Ci0jZW5kaWYKLSAgICBp
ZiAoIXJvb3RMYXllci0+dmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKHZpc2libGVSZWN0
KSkKLSAgICAgICAgcmV0dXJuOwotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaE5vdygpOworICAgIEZs
b2F0UmVjdCB2aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0Rm9yTGF5ZXJGbHVzaGluZygpOworICAg
IGJvb2wgcmVxdWlyZXNGbHVzaCA9IHJvb3RMYXllci0+dmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJl
c0ZsdXNoKHZpc2libGVSZWN0KTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0
cmVhbSA8PCAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRDaGFuZ2VWaXNpYmxlUmVjdCAiIDw8
IHZpc2libGVSZWN0IDw8ICIgcmVxdWlyZXNGbHVzaCAiIDw8IHJlcXVpcmVzRmx1c2gpOworICAg
IGlmIChyZXF1aXJlc0ZsdXNoKQorICAgICAgICBzY2hlZHVsZUxheWVyRmx1c2hOb3coKTsKIH0K
IAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5vdGlmeUZsdXNoQmVmb3JlRGlzcGxheVJl
ZnJlc2goY29uc3QgR3JhcGhpY3NMYXllciopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggYWMyNmIyMjBiZTMyZmM5NThhMjFlZDYz
YTBkZDU2OTg2MWU0NTA4ZC4uMDI0ZDZkMDYzYzJlNGQ1ODFjOTIwM2Y0ZTA5ZDY4MzdlN2U0NDEw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaApAQCAtNDA3LDYgKzQwNyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc0ZsdXNoaW5nTGF5
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9mbHVzaGluZ0xheWVyczsgfQogICAgIHZvaWQgdXBkYXRl
U2Nyb2xsQ29vcmRpbmF0ZWRMYXllcnNBZnRlckZsdXNoSW5jbHVkaW5nU3ViZnJhbWVzKCk7CiAg
ICAgdm9pZCB1cGRhdGVTY3JvbGxDb29yZGluYXRlZExheWVyc0FmdGVyRmx1c2goKTsKKworICAg
IEZsb2F0UmVjdCB2aXNpYmxlUmVjdEZvckxheWVyRmx1c2hpbmcoKSBjb25zdDsKICAgICAKICAg
ICBQYWdlJiBwYWdlKCkgY29uc3Q7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326002</attachid>
            <date>2017-11-03 19:34:40 -0700</date>
            <delta_ts>2017-11-06 11:28:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179277-20171103193439.patch</filename>
            <type>text/plain</type>
            <size>12684</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNjN2QxMDI1MWRhYmU4
MDdmMTJkMjcyOGY3YmM3NDFmNzdjOGJkYi4uZTk2Mzg0ODU0NWY5ZTQxYjUyZmMyMzY4Y2UxOTlm
NjE5MjhkMWZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE3LTExLTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFVJV2ViVmlldyBp
cyBub3QgcmVuZGVyaW5nIGNvbnRlbnQgdGhhdCBjb21lcyBvbiBzY3JlZW4gZHVyaW5nIG92ZXJm
bG93IHNjcm9sbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc5Mjc3CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM0MjcyOTQ5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBwYWdlIG9yIG92ZXJmbG93
IHNjcm9sbGluZyBoYXBwZW5zLCB3ZSBkbyBhIHRyYXZlcnNhbCBvZiBHcmFwaGljc0xheWVycyB0
byBkZXRlcm1pbmUKKyAgICAgICAgd2hldGhlciB0aGUgZXhwb3NlZCBwYXJ0IG9mIHRpbGVkIGxh
eWVycyBjaGFuZ2VkIGluIGEgd2F5IHRoYXQgcmVxdWlyZXMgYSBjaGFuZ2UgaW4gdGhlIHRpbGUK
KyAgICAgICAgY292ZXJhZ2UuIElmIHNvLCB3ZSBzY2hlZHVsZSBhIGNvbXBvc2l0aW5nIGxheWVy
IGZsdXNoLgorCisgICAgICAgIFRoZXJlIHdhcyBubyBlcXVpdmFsZW50IGxvZ2ljIGZvciBjb21w
dXRpbmcgd2hldGhlciB0aGUgImJhY2tpbmcgc3RvcmUgZGV0YWNoZWQiIHN0YXRlCisgICAgICAg
IG9mIGEgbGF5ZXIgY2hhbmdlZCAod2hpY2ggd2UgdXNlIHRvIHRocm93IGF3YXkgYmFja2luZyBz
dG9yZSBvZiBsYXllcnMgb3V0c2lkZSB0aGUgdmlld3BvcnQpLAorICAgICAgICBzbyBhZnRlciBz
Y3JvbGxpbmcgYW4gYWNjZWxlcmF0ZWQgb3ZlcmZsb3c6c2Nyb2xsIHdoaWNoIGNvbnRhaW5lZCBj
b21wb3NpdGVkIGxheWVycywgd2UKKyAgICAgICAgd291bGQgc29tZXRpbWVzIGZhaWwgdG8gcmVj
b21wdXRlIHRoYXQgd2Ugc2hvdWxkIHJlLWNyZWF0ZSBiYWNraW5nIHN0b3JlIGZvciByZXZlYWxl
ZAorICAgICAgICBsYXllcnMuCisKKyAgICAgICAgRml4IGJ5IGhhdmluZyBHcmFwaGljc0xheWVy
Q0E6OnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaCgpIGRldGVybWluZQor
ICAgICAgICB3aGV0aGVyICdpbnRlcnNlY3RzQ292ZXJhZ2VSZWN0JyBjaGFuZ2VkLCBhbmQgaWYg
c28gdHJpZ2dlciBhIGZsdXNoLiBUaGlzIHJlcXVpcmVzCisgICAgICAgIHRyYWNraW5nIENvbW1p
dFN0YXRlIGZvciBpc1ZpZXdwb3J0Q29uc3RyYWluZWQtbmVzcywganVzdCBsaWtlIHdlIGRvIGR1
cmluZyBjb21taXRzLgorICAgICAgICAKKyAgICAgICAgQWxzbyBjbGVhbiB1cCBjb2RlIHJlbGF0
ZWQgdG8gY29tcHV0aW5nIHRoZSB2aXNpYmxlIHJlY3QgcGFzc2VkIGludG8gdmlzaWJsZVJlY3RD
aGFuZ2VSZXF1aXJlc0ZsdXNoKCkgYW5kCisgICAgICAgIGZsdXNoQ29tcG9zaXRpbmdTdGF0ZSgp
OyB0aGVzZSBkaXZlcmdlZCBmb3Igbm8gZ29vZCByZWFzb24uIEFsc28gY2xlYW4gdXAgdGhlIGxv
Z2dpbmcgYSBsaXR0bGUuCisgICAgICAgIAorICAgICAgICBOb3QgdGVzdGFibGUgYmVjYXVzZSBV
SVdlYlZpZXcgbGF5b3V0IHRlc3RzIGFyZSB1bnJlbGlhYmxlLgorCisgICAgICAgICogcGFnZS9p
b3MvRnJhbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6dmlld3BvcnRPZmZzZXRD
aGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpvdmVyZmxvd1Njcm9sbFBvc2l0aW9u
Q2hhbmdlZEZvck5vZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNz
TGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2
ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQ0E6OnZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaCBjb25zdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnZpc2libGVSZWN0Rm9yTGF5ZXJGbHVzaGluZyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZsdXNoUGVu
ZGluZ0xheWVyQ2hhbmdlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OmRpZENoYW5nZVZpc2libGVSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmg6CisKIDIwMTctMTAtMzEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLWJhbmRpbmcgb3ZlcmZsb3ctc2Nyb2xsaW5n
LXRvdWNoIHNob3dzIGJsYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9G
cmFtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0ZyYW1lSU9TLm1tCmluZGV4IDUy
NDAwZjQ5NmMzMDI5OTY0MWQ4OTQ2ZDEyZDBiMzMwYjYzMWFlNWIuLjM4MDIyNzgzZTlhNDg1N2I1
MDMwYjg0ZjdjODlhZWJmYWVjZjgyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0ZyYW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0ZyYW1lSU9TLm1t
CkBAIC00Nyw2ICs0Nyw3IEBACiAjaW1wb3J0ICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2ltcG9y
dCAiSGl0VGVzdFJlcXVlc3QuaCIKICNpbXBvcnQgIkhpdFRlc3RSZXN1bHQuaCIKKyNpbXBvcnQg
IkxvZ2dpbmcuaCIKICNpbXBvcnQgIk1haW5GcmFtZS5oIgogI2ltcG9ydCAiTm9kZVJlbmRlclN0
eWxlLmgiCiAjaW1wb3J0ICJOb2RlVHJhdmVyc2FsLmgiCkBAIC02Nyw2ICs2OCw3IEBACiAjaW1w
b3J0ICJXQUtXaW5kb3cuaCIKICNpbXBvcnQgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW1wb3J0IDx3
dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgorI2ltcG9ydCA8d3RmL3RleHQvVGV4dFN0cmVhbS5o
PgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTo6SFRNTE5hbWVzOwogdXNpbmcgbmFtZXNwYWNl
IFdURjo6VW5pY29kZTsKQEAgLTcwOCw2ICs3MTAsOCBAQCBzdGF0aWMgYm9vbCBhbnlGcmFtZUhh
c1RpbGVkTGF5ZXJzKEZyYW1lKiByb290RnJhbWUpCiAKIHZvaWQgRnJhbWU6OnZpZXdwb3J0T2Zm
c2V0Q2hhbmdlZChWaWV3cG9ydE9mZnNldENoYW5nZVR5cGUgY2hhbmdlVHlwZSkKIHsKKyAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lOjp2aWV3cG9ydE9mZnNl
dENoYW5nZWQgLSAiIDw8IChjaGFuZ2VUeXBlID09IEluY3JlbWVudGFsU2Nyb2xsT2Zmc2V0ID8g
ImluY3JlbWVudGFsIiA6ICJjb21wbGV0ZWQiKSk7CisKICAgICBpZiAoY2hhbmdlVHlwZSA9PSBJ
bmNyZW1lbnRhbFNjcm9sbE9mZnNldCkgewogICAgICAgICBpZiAoYW55RnJhbWVIYXNUaWxlZExh
eWVycyh0aGlzKSkgewogICAgICAgICAgICAgaWYgKFJlbmRlclZpZXcqIHJvb3QgPSBjb250ZW50
UmVuZGVyZXIoKSkKQEAgLTczMSw2ICs3MzUsOCBAQCBib29sIEZyYW1lOjpjb250YWluc1RpbGVk
QmFja2luZ0xheWVycygpIGNvbnN0CiAKIHZvaWQgRnJhbWU6Om92ZXJmbG93U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkRm9yTm9kZShjb25zdCBJbnRQb2ludCYgcG9zaXRpb24sIE5vZGUqIG5vZGUsIGJv
b2wgaXNVc2VyU2Nyb2xsKQogeworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVh
bSA8PCAiRnJhbWU6Om92ZXJmbG93U2Nyb2xsUG9zaXRpb25DaGFuZ2VkRm9yTm9kZSAiIDw8IG5v
ZGUgPDwgIiBwb3NpdGlvbiAiIDw8IHBvc2l0aW9uKTsKKwogICAgIFJlbmRlck9iamVjdCogcmVu
ZGVyZXIgPSBub2RlLT5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVy
LT5oYXNMYXllcigpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCA3ZmRiOGMx
ZWM5NzdmYjZiOGQ0NTA5ZjZjY2RmMGZjOWI4MzdhMGI2Li4zOThmNGNmZDg4ZDIzYjI2NzY5MDVj
YTVmNWZjYjFjZTc2ZjhiYTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTEyMzUsMTUgKzEyMzUsMjMg
QEAgc3RhdGljIGlubGluZSBib29sIGFjY3VtdWxhdGVzVHJhbnNmb3JtKGNvbnN0IEdyYXBoaWNz
TGF5ZXJDQSYgbGF5ZXIpCiAgICAgcmV0dXJuICFsYXllci5tYXNrc1RvQm91bmRzKCkgJiYgKGxh
eWVyLnByZXNlcnZlczNEKCkgfHwgKGxheWVyLnBhcmVudCgpICYmIGxheWVyLnBhcmVudCgpLT5w
cmVzZXJ2ZXMzRCgpKSk7CiB9CiAKLWJvb2wgR3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVWaXNp
YmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2goY29uc3QgVHJhbnNmb3JtU3RhdGUmIHN0YXRlKSBj
b25zdAorYm9vbCBHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVx
dWlyZXNGbHVzaChjb25zdCBDb21taXRTdGF0ZSYgY29tbWl0U3RhdGUsIGNvbnN0IFRyYW5zZm9y
bVN0YXRlJiBzdGF0ZSkgY29uc3QKIHsKICAgICBUcmFuc2Zvcm1TdGF0ZSBsb2NhbFN0YXRlID0g
c3RhdGU7Ci0gICAgCisgICAgQ29tbWl0U3RhdGUgY2hpbGRDb21taXRTdGF0ZSA9IGNvbW1pdFN0
YXRlOworCiAgICAgLy8gVGhpcyBtYXkgYmUgY2FsbGVkIGF0IHRpbWVzIHdoZW4gbGF5b3V0IGhh
cyBub3QgYmVlbiB1cGRhdGVkLCBzbyB3ZSB3YW50IHRvIGF2b2lkIGNhbGxpbmcgb3V0IHRvIHRo
ZSBjbGllbnQKICAgICAvLyBmb3IgYW5pbWF0aW5nIHRyYW5zZm9ybXMuCiAgICAgVmlzaWJsZUFu
ZENvdmVyYWdlUmVjdHMgcmVjdHMgPSBjb21wdXRlVmlzaWJsZUFuZENvdmVyYWdlUmVjdChsb2Nh
bFN0YXRlLCBhY2N1bXVsYXRlc1RyYW5zZm9ybSgqdGhpcyksIDApOwogICAgIGFkanVzdENvdmVy
YWdlUmVjdChyZWN0cywgbV92aXNpYmxlUmVjdCk7CiAKKyAgICBhdXRvIGJvdW5kcyA9IEZsb2F0
UmVjdChtX2JvdW5kc09yaWdpbiwgc2l6ZSgpKTsKKworICAgIGJvb2wgaXNWaWV3cG9ydENvbnN0
cmFpbmVkID0gbV9pc1ZpZXdwb3J0Q29uc3RyYWluZWQgfHwgY29tbWl0U3RhdGUuYW5jZXN0b3JJ
c1ZpZXdwb3J0Q29uc3RyYWluZWQ7CisgICAgYm9vbCBpbnRlcnNlY3RzQ292ZXJhZ2VSZWN0ID0g
aXNWaWV3cG9ydENvbnN0cmFpbmVkIHx8IHJlY3RzLmNvdmVyYWdlUmVjdC5pbnRlcnNlY3RzKGJv
dW5kcyk7CisgICAgaWYgKGludGVyc2VjdHNDb3ZlcmFnZVJlY3QgIT0gbV9pbnRlcnNlY3RzQ292
ZXJhZ2VSZWN0KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmIChyZWN0cy5jb3ZlcmFn
ZVJlY3QgIT0gbV9jb3ZlcmFnZVJlY3QpIHsKICAgICAgICAgaWYgKFRpbGVkQmFja2luZyogdGls
ZWRCYWNraW5nID0gdGhpcy0+dGlsZWRCYWNraW5nKCkpIHsKICAgICAgICAgICAgIGlmICh0aWxl
ZEJhY2tpbmctPnRpbGVzV291bGRDaGFuZ2VGb3JDb3ZlcmFnZVJlY3QocmVjdHMuY292ZXJhZ2VS
ZWN0KSkKQEAgLTEyNTEsOSArMTI1OSwxMSBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJz
aXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IFRyYW5zZm9ybVN0YQogICAg
ICAgICB9CiAgICAgfQogCisgICAgY2hpbGRDb21taXRTdGF0ZS5hbmNlc3RvcklzVmlld3BvcnRD
b25zdHJhaW5lZCB8PSBtX2lzVmlld3BvcnRDb25zdHJhaW5lZDsKKwogICAgIGlmIChtX21hc2tM
YXllcikgewogICAgICAgICBHcmFwaGljc0xheWVyQ0EmIG1hc2tMYXllckNBID0gZG93bmNhc3Q8
R3JhcGhpY3NMYXllckNBPigqbV9tYXNrTGF5ZXIpOwotICAgICAgICBpZiAobWFza0xheWVyQ0Eu
cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGxvY2FsU3RhdGUpKQorICAg
ICAgICBpZiAobWFza0xheWVyQ0EucmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0Zs
dXNoKGNoaWxkQ29tbWl0U3RhdGUsIGxvY2FsU3RhdGUpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCkBAIC0xMjYyLDEyICsxMjcyLDEyIEBAIGJvb2wgR3JhcGhpY3NMYXllckNB
OjpyZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2goY29uc3QgVHJhbnNmb3Jt
U3RhCiAgICAgCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGlsZHJlbjsgKytpKSB7
CiAgICAgICAgIEdyYXBoaWNzTGF5ZXJDQSYgY3VycmVudENoaWxkID0gZG93bmNhc3Q8R3JhcGhp
Y3NMYXllckNBPigqY2hpbGRMYXllcnNbaV0pOwotICAgICAgICBpZiAoY3VycmVudENoaWxkLnJl
Y3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChsb2NhbFN0YXRlKSkKKyAgICAg
ICAgaWYgKGN1cnJlbnRDaGlsZC5yZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1
c2goY2hpbGRDb21taXRTdGF0ZSwgbG9jYWxTdGF0ZSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKICAgICBpZiAobV9yZXBsaWNhTGF5ZXIpCi0gICAgICAgIGlmIChkb3duY2Fz
dDxHcmFwaGljc0xheWVyQ0E+KCptX3JlcGxpY2FMYXllcikucmVjdXJzaXZlVmlzaWJsZVJlY3RD
aGFuZ2VSZXF1aXJlc0ZsdXNoKGxvY2FsU3RhdGUpKQorICAgICAgICBpZiAoZG93bmNhc3Q8R3Jh
cGhpY3NMYXllckNBPigqbV9yZXBsaWNhTGF5ZXIpLnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdl
UmVxdWlyZXNGbHVzaChjaGlsZENvbW1pdFN0YXRlLCBsb2NhbFN0YXRlKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTEyNzYsNyArMTI4Niw4
IEBAIGJvb2wgR3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVp
cmVzRmx1c2goY29uc3QgVHJhbnNmb3JtU3RhCiBib29sIEdyYXBoaWNzTGF5ZXJDQTo6dmlzaWJs
ZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IEZsb2F0UmVjdCYgY2xpcFJlY3QpIGNvbnN0
CiB7CiAgICAgVHJhbnNmb3JtU3RhdGUgc3RhdGUoVHJhbnNmb3JtU3RhdGU6OlVuYXBwbHlJbnZl
cnNlVHJhbnNmb3JtRGlyZWN0aW9uLCBGbG9hdFF1YWQoY2xpcFJlY3QpKTsKLSAgICByZXR1cm4g
cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKHN0YXRlKTsKKyAgICBDb21t
aXRTdGF0ZSBjb21taXRTdGF0ZTsKKyAgICByZXR1cm4gcmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFu
Z2VSZXF1aXJlc0ZsdXNoKGNvbW1pdFN0YXRlLCBzdGF0ZSk7CiB9CiAKIFRpbGVkQmFja2luZyog
R3JhcGhpY3NMYXllckNBOjp0aWxlZEJhY2tpbmcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCA5ODYw
NzgwYTI4YzEyM2Y5ZGFjNzBjOGU4YTUxYmYwODMyYjdkNmVlLi4yMmRmNTg1YTViYWQ5Y2IzZTZk
NmJhMTc3NzlkNDg5YWY0M2Y1ODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMzE0LDcgKzMxNCw3IEBAIHBy
aXZhdGU6CiAgICAgCiAgICAgc3RhdGljIEZsb2F0UmVjdCBhZGp1c3RUaWxlZExheWVyVmlzaWJs
ZVJlY3QoVGlsZWRCYWNraW5nKiwgY29uc3QgRmxvYXRSZWN0JiBvbGRWaXNpYmxlUmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBuZXdWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBvbGRTaXplLCBj
b25zdCBGbG9hdFNpemUmIG5ld1NpemUpOwogCi0gICAgYm9vbCByZWN1cnNpdmVWaXNpYmxlUmVj
dENoYW5nZVJlcXVpcmVzRmx1c2goY29uc3QgVHJhbnNmb3JtU3RhdGUmKSBjb25zdDsKKyAgICBi
b29sIHJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChjb25zdCBDb21taXRT
dGF0ZSYsIGNvbnN0IFRyYW5zZm9ybVN0YXRlJikgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpc1Bh
Z2VUaWxlZEJhY2tpbmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWdl
VGlsZWRCYWNraW5nOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggZDA0ZTY0N2YzZGI1ZWMzN2NiMjZkZDg1ZTQxMTZm
NTdmYTA2YzQ5OC4uM2NhOWIyMWIyOTQyODJhMDk0ZjA4NGExZjU1NzdjZTAxMWZkNDM4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKQEAgLTQxMiw2ICs0MTIsMjIgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVk
dWxlTGF5ZXJGbHVzaChib29sIGNhblRocm90dGxlKQogICAgIHNjaGVkdWxlTGF5ZXJGbHVzaE5v
dygpOwogfQogCitGbG9hdFJlY3QgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp2aXNpYmxlUmVjdEZv
ckxheWVyRmx1c2hpbmcoKSBjb25zdAoreworICAgIGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3
ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOworI2lmIFBMQVRGT1JNKElPUykKKyAgICAgICAg
cmV0dXJuIGZyYW1lVmlldy5leHBvc2VkQ29udGVudFJlY3QoKTsKKyNlbHNlCisgICAgICAgIC8v
IEhhdmluZyBhIG1fY2xpcExheWVyIGluZGljYXRlcyB0aGF0IHdlJ3JlIGRvaW5nIHNjcm9sbGlu
ZyB2aWEgR3JhcGhpY3NMYXllcnMuCisgICAgICAgIEZsb2F0UmVjdCB2aXNpYmxlUmVjdCA9IG1f
Y2xpcExheWVyID8gRmxvYXRSZWN0KHsgfSwgZnJhbWVWaWV3LnNpemVGb3JWaXNpYmxlQ29udGVu
dCgpKSA6IGZyYW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKKworICAgICAgICBpZiAoZnJh
bWVWaWV3LnZpZXdFeHBvc2VkUmVjdCgpKQorICAgICAgICAgICAgdmlzaWJsZVJlY3QuaW50ZXJz
ZWN0KGZyYW1lVmlldy52aWV3RXhwb3NlZFJlY3QoKS52YWx1ZSgpKTsKKworICAgIHJldHVybiB2
aXNpYmxlUmVjdDsKKyNlbmRpZgorfQorCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiB7CiAgICAgLy8gRnJhbWVW
aWV3OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKSBmbHVzaGVzIGVh
Y2ggc3ViZnJhbWUsCkBAIC00MzYsMjMgKzQ1Miw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoYm9vbCBpc0ZsdXNoUm9vdCkKICAgICBtX2Zs
dXNoaW5nTGF5ZXJzID0gdHJ1ZTsKIAogICAgIGlmIChhdXRvKiByb290TGF5ZXIgPSByb290R3Jh
cGhpY3NMYXllcigpKSB7Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgICAgICBGbG9hdFJlY3QgZXhw
b3NlZFJlY3QgPSBmcmFtZVZpZXcuZXhwb3NlZENvbnRlbnRSZWN0KCk7Ci0gICAgICAgIExPR19X
SVRIX1NUUkVBTShDb21wb3NpdGluZywgc3RyZWFtIDw8ICJcblJlbmRlckxheWVyQ29tcG9zaXRv
ciAiIDw8IHRoaXMgPDwgIiBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMgKGlzIHJvb3QgIiA8PCBp
c0ZsdXNoUm9vdCA8PCAiKSBleHBvc2VkUmVjdCAiIDw8IGV4cG9zZWRSZWN0KTsKLQotICAgICAg
ICAvLyBGSVhNRTogVXNlIG9wdGltaXplZCBmbHVzaGVzLgotICAgICAgICByb290TGF5ZXItPmZs
dXNoQ29tcG9zaXRpbmdTdGF0ZShleHBvc2VkUmVjdCk7Ci0jZWxzZQotICAgICAgICAvLyBIYXZp
bmcgYSBtX2NsaXBMYXllciBpbmRpY2F0ZXMgdGhhdCB3ZSdyZSBkb2luZyBzY3JvbGxpbmcgdmlh
IEdyYXBoaWNzTGF5ZXJzLgotICAgICAgICBGbG9hdFJlY3QgdmlzaWJsZVJlY3QgPSBtX2NsaXBM
YXllciA/IEZsb2F0UmVjdCh7IDAsIDAgfSwgZnJhbWVWaWV3LnNpemVGb3JWaXNpYmxlQ29udGVu
dCgpKSA6IGZyYW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKLQotICAgICAgICBpZiAoZnJh
bWVWaWV3LnZpZXdFeHBvc2VkUmVjdCgpKQotICAgICAgICAgICAgdmlzaWJsZVJlY3QuaW50ZXJz
ZWN0KGZyYW1lVmlldy52aWV3RXhwb3NlZFJlY3QoKS52YWx1ZSgpKTsKLQorICAgICAgICBGbG9h
dFJlY3QgdmlzaWJsZVJlY3QgPSB2aXNpYmxlUmVjdEZvckxheWVyRmx1c2hpbmcoKTsKICAgICAg
ICAgTE9HX1dJVEhfU1RSRUFNKENvbXBvc2l0aW5nLCAgc3RyZWFtIDw8ICJcblJlbmRlckxheWVy
Q29tcG9zaXRvciAiIDw8IHRoaXMgPDwgIiBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMgKGlzIHJv
b3QgIiA8PCBpc0ZsdXNoUm9vdCA8PCAiKSB2aXNpYmxlIHJlY3QgIiA8PCB2aXNpYmxlUmVjdCk7
CiAgICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKHZpc2libGVSZWN0KTsK
LSAgICAgICAgTE9HX1dJVEhfU1RSRUFNKENvbXBvc2l0aW5nLCAgc3RyZWFtIDw8ICJSZW5kZXJM
YXllckNvbXBvc2l0b3IgIiA8PCB0aGlzIDw8ICIgZmx1c2ggY29tcGxldGVcbiIpOwotI2VuZGlm
CiAgICAgfQogICAgIAogICAgIEFTU0VSVChtX2ZsdXNoaW5nTGF5ZXJzKTsKQEAgLTU1OSwxNiAr
NTYxLDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRDaGFuZ2VWaXNpYmxlUmVj
dCgpCiAgICAgaWYgKCFyb290TGF5ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IEZy
YW1lVmlldyYgZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOwotCi0jaWYgUExB
VEZPUk0oSU9TKQotICAgIEludFJlY3QgdmlzaWJsZVJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZy
YW1lVmlldy5leHBvc2VkQ29udGVudFJlY3QoKSk7Ci0jZWxzZQotICAgIEludFJlY3QgdmlzaWJs
ZVJlY3QgPSBtX2NsaXBMYXllciA/IEludFJlY3QoSW50UG9pbnQoKSwgZnJhbWVWaWV3LmNvbnRl
bnRzU2l6ZSgpKSA6IGZyYW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKLSNlbmRpZgotICAg
IGlmICghcm9vdExheWVyLT52aXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2godmlzaWJsZVJl
Y3QpKQotICAgICAgICByZXR1cm47Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoTm93KCk7CisgICAg
RmxvYXRSZWN0IHZpc2libGVSZWN0ID0gdmlzaWJsZVJlY3RGb3JMYXllckZsdXNoaW5nKCk7Cisg
ICAgYm9vbCByZXF1aXJlc0ZsdXNoID0gcm9vdExheWVyLT52aXNpYmxlUmVjdENoYW5nZVJlcXVp
cmVzRmx1c2godmlzaWJsZVJlY3QpOworICAgIExPR19XSVRIX1NUUkVBTShDb21wb3NpdGluZywg
c3RyZWFtIDw8ICJSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRpZENoYW5nZVZpc2libGVSZWN0ICIg
PDwgdmlzaWJsZVJlY3QgPDwgIiByZXF1aXJlc0ZsdXNoICIgPDwgcmVxdWlyZXNGbHVzaCk7Cisg
ICAgaWYgKHJlcXVpcmVzRmx1c2gpCisgICAgICAgIHNjaGVkdWxlTGF5ZXJGbHVzaE5vdygpOwog
fQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bm90aWZ5Rmx1c2hCZWZvcmVEaXNwbGF5
UmVmcmVzaChjb25zdCBHcmFwaGljc0xheWVyKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBhYzI2YjIyMGJlMzJmYzk1OGEyMWVk
NjNhMGRkNTY5ODYxZTQ1MDhkLi4wMjRkNmQwNjNjMmU0ZDU4MWM5MjAzZjRlMDlkNjgzN2U3ZTQ0
MTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCkBAIC00MDcsNiArNDA3LDggQEAgcHJpdmF0ZToKICAgICBib29sIGlzRmx1c2hpbmdM
YXllcnMoKSBjb25zdCB7IHJldHVybiBtX2ZsdXNoaW5nTGF5ZXJzOyB9CiAgICAgdm9pZCB1cGRh
dGVTY3JvbGxDb29yZGluYXRlZExheWVyc0FmdGVyRmx1c2hJbmNsdWRpbmdTdWJmcmFtZXMoKTsK
ICAgICB2b2lkIHVwZGF0ZVNjcm9sbENvb3JkaW5hdGVkTGF5ZXJzQWZ0ZXJGbHVzaCgpOworCisg
ICAgRmxvYXRSZWN0IHZpc2libGVSZWN0Rm9yTGF5ZXJGbHVzaGluZygpIGNvbnN0OwogICAgIAog
ICAgIFBhZ2UmIHBhZ2UoKSBjb25zdDsKICAgICAK
</data>
<flag name="review"
          id="345380"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>