<?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>177429</bug_id>
          
          <creation_ts>2017-09-25 06:14:56 -0700</creation_ts>
          <short_desc>Add WeakPtr support to RenderObject.</short_desc>
          <delta_ts>2017-09-29 11:32:21 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>177389</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1352175</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-09-25 06:14:56 -0700</bug_when>
    <thetext>and remove it from the subclasses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352176</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-09-25 06:15:36 -0700</bug_when>
    <thetext>This is related to bug 177389</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352177</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-25 06:16:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/34625212&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352183</commentid>
    <comment_count>3</comment_count>
      <attachid>321679</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-09-25 06:57:52 -0700</bug_when>
    <thetext>Created attachment 321679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354539</commentid>
    <comment_count>4</comment_count>
      <attachid>322188</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-09-29 09:16:42 -0700</bug_when>
    <thetext>Created attachment 322188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354594</commentid>
    <comment_count>5</comment_count>
      <attachid>322188</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-29 10:51:02 -0700</bug_when>
    <thetext>Comment on attachment 322188
Patch

Clearing flags on attachment: 322188

Committed r222653: &lt;http://trac.webkit.org/changeset/222653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354595</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-29 10:51:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354611</commentid>
    <comment_count>7</comment_count>
      <attachid>322188</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-09-29 11:22:04 -0700</bug_when>
    <thetext>Comment on attachment 322188
Patch

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

&gt; Source/WebCore/rendering/RenderMultiColumnFlow.cpp:441
&gt; +            m_spannerMap.add(placeholder.spanner(), placeholder.createWeakPtr&lt;RenderMultiColumnSpannerPlaceholder&gt;());

This is bit awkward. Could we have a standalone template function so we could just do

makeWeakPtr(placeholder) 

and get correctly typed WeakPtr automatically?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354614</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-09-29 11:32:21 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/rendering/RenderMultiColumnFlow.cpp:441
&gt; &gt; +            m_spannerMap.add(placeholder.spanner(), placeholder.createWeakPtr&lt;RenderMultiColumnSpannerPlaceholder&gt;());
&gt; 
&gt; This is bit awkward. Could we have a standalone template function so we
&gt; could just do
&gt; 
&gt; makeWeakPtr(placeholder) 
&gt; 
&gt; and get correctly typed WeakPtr automatically?

Totally!

Maybe we should also change the interface so that WeakPtrFactory vends WeakReference&lt;T&gt;&amp;  instead of WeakPtr&lt;T&gt; and WeakPtr&lt;T&gt; automatically constructs itself, just like RefPtr, using that WeakReference&lt;T&gt;&amp;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321679</attachid>
            <date>2017-09-25 06:57:52 -0700</date>
            <delta_ts>2017-09-29 09:16:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177429-20170925065751.patch</filename>
            <type>text/plain</type>
            <size>11569</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQ0NGI3MjY1YWE3ZTYx
MTlkNzkzYWI3M2JmNzJhZWI0NWEwMWU5MC4uMjBjZjM5YTI0NDI4MGI5NzFjNjc0NTBjMzgyYWEy
MjU2NTZkMzI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA5LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFdlYWtQdHIgc3VwcG9y
dCB0byBSZW5kZXJPYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc0MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0NjI1MjEyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4g
cHJlcGFyYXRpb24gdG8gc3RhcnQgdXNpbmcgd2VhayBwb2ludGVycyBleHRlbnNpdmVseSBpbiBy
ZW5kZXJpbmcuCisgICAgICAgIChOb3RlIHRoYXQgdGhlIGNhc3RpbmcgcGFydCB3aWxsIGNoYW5n
ZSB3aXRoIHdlYmtpdC5vcmcvYi8xNzczODkpIAorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5j
dGlvbmFsaXR5LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1Ro
cmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQ6
OmV2YWN1YXRlQW5kRGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVt
bkZsb3dUaHJlYWQ6OmhhbmRsZVNwYW5uZXJSZW1vdmFsKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpjcmVhdGVXZWFrUHRyKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpS
ZXBhaW50UmVnaW9uQWNjdW11bGF0b3I6OlJlcGFpbnRSZWdpb25BY2N1bXVsYXRvcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpSZXBhaW50UmVnaW9uQWNjdW11bGF0b3I6On5SZXBh
aW50UmVnaW9uQWNjdW11bGF0b3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJXaWRnZXQ6OnNldFdpZGdldEdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlcldpZGdldDo6c2V0V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6
dXBkYXRlV2lkZ2V0UG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6Y3JlYXRlV2Vha1B0cik6IERlbGV0
ZWQuCisKIDIwMTctMDktMjIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWFrUHRyRmFjdG9yeSBzaG91bGQgcG9wdWxhdGUgbV9yZWYgbGF6aWx5LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhy
ZWFkLmNwcAppbmRleCBmMWQ4ZWJlZTBlNTdlMTJjZDhkNzIyOWJkM2RmOWI3Y2FlMTAzZTk4Li4x
OTFlMDlkNjI4MWQ4Y2E0ZmVmOWFmMzRkNjdjODM4ZWQ3MjZiZjc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmNw
cApAQCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkOjpl
dmFjdWF0ZUFuZERlc3Ryb3koKQogICAgICAgICBSZW5kZXJCb3gqIHNwYW5uZXIgPSBpdC0+a2V5
OwogICAgICAgICBtdWx0aWNvbENvbnRhaW5lci0+cmVtb3ZlQ2hpbGQoKnNwYW5uZXIpOwogICAg
ICAgICBBU1NFUlQoaXQtPnZhbHVlLmdldCgpKTsKLSAgICAgICAgaWYgKFJlbmRlck11bHRpQ29s
dW1uU3Bhbm5lclBsYWNlaG9sZGVyKiBwbGFjZWhvbGRlciA9IGl0LT52YWx1ZS5nZXQoKSkgewor
ICAgICAgICBpZiAoYXV0byogcGxhY2Vob2xkZXIgPSBkb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVt
blNwYW5uZXJQbGFjZWhvbGRlcj4oaXQtPnZhbHVlLmdldCgpKSkgewogICAgICAgICAgICAgUmVu
ZGVyQmxvY2tGbG93JiBvcmlnaW5hbENvbnRhaW5lciA9IGRvd25jYXN0PFJlbmRlckJsb2NrRmxv
dz4oKnBsYWNlaG9sZGVyLT5wYXJlbnQoKSk7CiAgICAgICAgICAgICBvcmlnaW5hbENvbnRhaW5l
ci5hZGRDaGlsZChzcGFubmVyLCBwbGFjZWhvbGRlcik7CiAgICAgICAgICAgICBwbGFjZWhvbGRl
ci0+ZGVzdHJveSgpOwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5G
bG93VGhyZWFkOjpmbG93VGhyZWFkRGVzY2VuZGFudEluc2VydGVkKFJlbmRlck9iamVjdCYgbmV3
CiB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZDo6aGFuZGxlU3Bhbm5lclJlbW92YWwo
UmVuZGVyT2JqZWN0JiBzcGFubmVyKQogewogICAgICAvLyBUaGUgcGxhY2Vob2xkZXIgbWF5IGFs
cmVhZHkgaGF2ZSBiZWVuIHJlbW92ZWQsIGJ1dCBpZiBpdCBoYXNuJ3QsIGRvIHNvIG5vdy4KLSAg
ICBpZiAoUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIHBsYWNlaG9sZGVyID0g
bV9zcGFubmVyTWFwLmdldCgmZG93bmNhc3Q8UmVuZGVyQm94PihzcGFubmVyKSkuZ2V0KCkpIHsK
KyAgICBpZiAoYXV0byogcGxhY2Vob2xkZXIgPSBkb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtblNw
YW5uZXJQbGFjZWhvbGRlcj4obV9zcGFubmVyTWFwLmdldCgmZG93bmNhc3Q8UmVuZGVyQm94Pihz
cGFubmVyKSkuZ2V0KCkpKSB7CiAgICAgICAgIHBsYWNlaG9sZGVyLT5wYXJlbnQoKS0+cmVtb3Zl
Q2hpbGQoKnBsYWNlaG9sZGVyKTsKICAgICAgICAgbV9zcGFubmVyTWFwLnJlbW92ZSgmZG93bmNh
c3Q8UmVuZGVyQm94PihzcGFubmVyKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZC5oCmluZGV4IDQyNjhjNjFk
YTVhNGYxNzZjMDA5ZGNkYTllMWI3Y2UwMmVkYTQxNDAuLjg3NWUxYzc3ZjA2YzBhZWI3ZDY1NDIz
MWQzYTJjZDg1ZTk2ZjFmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJSZW5kZXJGbG93VGhyZWFkLmgiCisjaW5jbHVkZSAiUmVu
ZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck11bHRpQ29sdW1uU2V0
OwotY2xhc3MgUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI7CiAKIGNsYXNzIFJl
bmRlck11bHRpQ29sdW1uRmxvd1RocmVhZCBmaW5hbCA6IHB1YmxpYyBSZW5kZXJGbG93VGhyZWFk
IHsKIHB1YmxpYzoKQEAgLTQ3LDcgKzQ3LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVuZGVy
Qm94KiBuZXh0Q29sdW1uU2V0T3JTcGFubmVyU2libGluZ09mKGNvbnN0IFJlbmRlckJveCopOwog
ICAgIHN0YXRpYyBSZW5kZXJCb3gqIHByZXZpb3VzQ29sdW1uU2V0T3JTcGFubmVyU2libGluZ09m
KGNvbnN0IFJlbmRlckJveCopOwogCi0gICAgUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vo
b2xkZXIqIGZpbmRDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoUmVuZGVyQm94KiBzcGFubmVyKSBj
b25zdCB7IHJldHVybiBtX3NwYW5uZXJNYXAuZ2V0KHNwYW5uZXIpLmdldCgpOyB9CisgICAgUmVu
ZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIqIGZpbmRDb2x1bW5TcGFubmVyUGxhY2Vo
b2xkZXIoUmVuZGVyQm94KiBzcGFubmVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGRv
d25jYXN0PFJlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyPihtX3NwYW5uZXJNYXAu
Z2V0KHNwYW5uZXIpLmdldCgpKTsKKyAgICB9CiAKICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRl
OwogCkBAIC0xMjcsNyArMTMwLDcgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3QqIHByb2Nl
c3NQb3NzaWJsZVNwYW5uZXJEZXNjZW5kYW50KFJlbmRlck9iamVjdComIHN1YnRyZWVSb290LCBS
ZW5kZXJPYmplY3QmIGRlc2NlbmRhbnQpOwogICAgIAogcHJpdmF0ZToKLSAgICB0eXBlZGVmIEhh
c2hNYXA8UmVuZGVyQm94KiwgV2Vha1B0cjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhv
bGRlcj4+IFNwYW5uZXJNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFJlbmRlckJveCosIFdlYWtQ
dHI8UmVuZGVyT2JqZWN0Pj4gU3Bhbm5lck1hcDsKICAgICBTcGFubmVyTWFwIG1fc3Bhbm5lck1h
cDsKIAogICAgIC8vIFRoZSBsYXN0IHNldCB3ZSB3b3JrZWQgb24uIEl0J3Mgbm90IHRvIGJlIHVz
ZWQgYXMgdGhlICJjdXJyZW50IHNldCIuIFRoZSBjb25jZXB0IG9mIGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBs
YWNlaG9sZGVyLmgKaW5kZXggYjE1MDM5MDEyYzA0NDc4ZTBjMWE4ZTg1M2JlMzAyNTI1YzU0MjQx
Ni4uNjNiZDMyNDQ4ZDE5ZjYyOTkwYTVmNGI0MzNlNjJkOTUzNDc4OTQ4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bh
bm5lclBsYWNlaG9sZGVyLmgKQEAgLTMxLDggKzMxLDYgQEAKIAogI2luY2x1ZGUgIlJlbmRlckJv
eC5oIgogCi0jaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQ7CkBAIC00Myw3ICs0MSw2IEBAIHB1
YmxpYzoKIAogICAgIFJlbmRlckJveCogc3Bhbm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fc3Bhbm5l
cjsgfQogICAgIFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZCogZmxvd1RocmVhZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZmxvd1RocmVhZDsgfQotICAgIFdlYWtQdHI8UmVuZGVyTXVsdGlDb2x1bW5T
cGFubmVyUGxhY2Vob2xkZXI+IGNyZWF0ZVdlYWtQdHIoKSB7IHJldHVybiBtX3dlYWtQdHJGYWN0
b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOyB9CiAKIHByaXZhdGU6CiAgICAgUmVuZGVyTXVsdGlD
b2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKiwgUmVu
ZGVyQm94JiBzcGFubmVyLCBSZW5kZXJTdHlsZSYmKTsKQEAgLTU1LDcgKzUyLDYgQEAgcHJpdmF0
ZToKIAogICAgIFJlbmRlckJveCogbV9zcGFubmVyOwogICAgIFJlbmRlck11bHRpQ29sdW1uRmxv
d1RocmVhZCogbV9mbG93VGhyZWFkOwotICAgIFdlYWtQdHJGYWN0b3J5PFJlbmRlck11bHRpQ29s
dW1uU3Bhbm5lclBsYWNlaG9sZGVyPiBtX3dlYWtQdHJGYWN0b3J5OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApp
bmRleCA2YjFhN2Q5NDU2NTQ3ZDZiODE5ZDI1MDk5MTY3ODU0YjE5MGZmZDE0Li5kYzU1ODZjZjE5
Nzg0YzczMjMyNDliOTBmMjVhOGU5M2Y4YWExNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtOTcsNyArOTcsNyBAQCBSZW5kZXJPYmplY3Q6OlNldExh
eW91dE5lZWRlZEZvcmJpZGRlblNjb3BlOjp+U2V0TGF5b3V0TmVlZGVkRm9yYmlkZGVuU2NvcGUo
KQogCiBzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlck9iamVjdCB7CiAgICAgdmlydHVhbCB+U2FtZVNp
emVBc1JlbmRlck9iamVjdCgpIHsgfSAvLyBBbGxvY2F0ZSB2dGFibGUgcG9pbnRlci4KLSAgICB2
b2lkKiBwb2ludGVyc1s0XTsKKyAgICB2b2lkKiBwb2ludGVyc1s1XTsKICNpZm5kZWYgTkRFQlVH
CiAgICAgdW5zaWduZWQgbV9kZWJ1Z0JpdGZpZWxkcyA6IDI7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmNmMzOWExYTYzYmZiYjQ5MWM1YThiNzVm
ZTM5ZWY5MTQ2N2Y5ZGYxLi4yM2JiOTM1N2I4MzAzMTZhZWUxNDY4YmU5Nzk2ZmU5YmNmNjAyYWFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zNiw2ICszNiw3
IEBACiAjaW5jbHVkZSAiU2Nyb2xsQWxpZ25tZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5o
IgogI2luY2x1ZGUgIlRleHRBZmZpbml0eS5oIgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTA4LDYgKzEwOSw4IEBAIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBSZW5kZXJPYmplY3QoTm9kZSYpOwogICAgIHZpcnR1YWwgflJlbmRlck9iamVjdCgp
OwogCisgICAgV2Vha1B0cjxSZW5kZXJPYmplY3Q+IGNyZWF0ZVdlYWtQdHIoKSB7IHJldHVybiBt
X3dlYWtGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOyB9CisKICAgICBSZW5kZXJUaGVtZSYg
dGhlbWUoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0ID0gMDsKQEAgLTgzNCw2ICs4MzcsOCBAQCBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCog
bV9wcmV2aW91czsKICAgICBSZW5kZXJPYmplY3QqIG1fbmV4dDsKIAorICAgIFdlYWtQdHJGYWN0
b3J5PFJlbmRlck9iamVjdD4gbV93ZWFrRmFjdG9yeTsKKwogI2lmbmRlZiBOREVCVUcKICAgICBi
b29sIG1faGFzQVhPYmplY3QgICAgICAgICAgICAgOiAxOwogICAgIGJvb2wgbV9zZXROZWVkc0xh
eW91dEZvcmJpZGRlbiA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
aW5kZXggNDc1MDYwOGVmYWVhYzYyNmQzZjVkYmQyNDAxYmNhODQ0YWRlZDk2NC4uNjkzZjc1YjI1
ODRlYzFhZWZlNWI2MTAwMGU2N2FhYzA1Y2U3ODJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcApAQCAtMTI4OSwxOCArMTI4OSwxOCBAQCBSZW5kZXJWaWV3OjpSZXBh
aW50UmVnaW9uQWNjdW11bGF0b3I6OlJlcGFpbnRSZWdpb25BY2N1bXVsYXRvcihSZW5kZXJWaWV3
KiB2aWV3KQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Jvb3RWaWV3ID0gcm9vdFJlbmRlclZp
ZXctPmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBtX3dhc0FjY3VtdWxhdGluZ1JlcGFpbnRSZWdpb24g
PSAhIW1fcm9vdFZpZXctPm1fYWNjdW11bGF0ZWRSZXBhaW50UmVnaW9uOworICAgIG1fd2FzQWNj
dW11bGF0aW5nUmVwYWludFJlZ2lvbiA9ICEhcm9vdFJlbmRlclZpZXctPm1fYWNjdW11bGF0ZWRS
ZXBhaW50UmVnaW9uOwogICAgIGlmICghbV93YXNBY2N1bXVsYXRpbmdSZXBhaW50UmVnaW9uKQot
ICAgICAgICBtX3Jvb3RWaWV3LT5tX2FjY3VtdWxhdGVkUmVwYWludFJlZ2lvbiA9IHN0ZDo6bWFr
ZV91bmlxdWU8UmVnaW9uPigpOworICAgICAgICByb290UmVuZGVyVmlldy0+bV9hY2N1bXVsYXRl
ZFJlcGFpbnRSZWdpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPFJlZ2lvbj4oKTsKIH0KIAogUmVuZGVy
Vmlldzo6UmVwYWludFJlZ2lvbkFjY3VtdWxhdG9yOjp+UmVwYWludFJlZ2lvbkFjY3VtdWxhdG9y
KCkKIHsKLSAgICBpZiAoIW1fcm9vdFZpZXcpCi0gICAgICAgIHJldHVybjsKICAgICBpZiAobV93
YXNBY2N1bXVsYXRpbmdSZXBhaW50UmVnaW9uKQogICAgICAgICByZXR1cm47Ci0gICAgbV9yb290
Vmlldy0+Zmx1c2hBY2N1bXVsYXRlZFJlcGFpbnRSZWdpb24oKTsKKyAgICBpZiAoIW1fcm9vdFZp
ZXcpCisgICAgICAgIHJldHVybjsKKyAgICBkb3duY2FzdDxSZW5kZXJWaWV3PihtX3Jvb3RWaWV3
LmdldCgpKS0+Zmx1c2hBY2N1bXVsYXRlZFJlcGFpbnRSZWdpb24oKTsKIH0KIAogdW5zaWduZWQg
UmVuZGVyVmlldzo6cGFnZU51bWJlckZvckJsb2NrUHJvZ3Jlc3Npb25PZmZzZXQoaW50IG9mZnNl
dCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDMwMjIzMDc0
NmIxZDdmM2RiMzc4OWZkOGJkNzIwY2RmMjZkNWIzZGIuLjJlY2Y0YjczYmJlOThmMmExYmZmODYx
MWVjYjdjZGZjYjk5YmMxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApA
QCAtMjI5LDEyICsyMjksMTAgQEAgcHVibGljOgogICAgICAgICB+UmVwYWludFJlZ2lvbkFjY3Vt
dWxhdG9yKCk7CiAKICAgICBwcml2YXRlOgotICAgICAgICBXZWFrUHRyPFJlbmRlclZpZXc+IG1f
cm9vdFZpZXc7CisgICAgICAgIFdlYWtQdHI8UmVuZGVyT2JqZWN0PiBtX3Jvb3RWaWV3OwogICAg
ICAgICBib29sIG1fd2FzQWNjdW11bGF0aW5nUmVwYWludFJlZ2lvbjsKICAgICB9OwogCi0gICAg
V2Vha1B0cjxSZW5kZXJWaWV3PiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1cm4gbV93ZWFrRmFjdG9y
eS5jcmVhdGVXZWFrUHRyKCp0aGlzKTsgfQotCiAgICAgdm9pZCBzY2hlZHVsZUxhenlSZXBhaW50
KFJlbmRlckJveCYpOwogICAgIHZvaWQgdW5zY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDRiNGQ0
NDQ0MzJhYWYxZjA1YTQwYTlmMDY3ZDllNDI5MGFmODY0MWMuLmFmZDMyZWNhZWE3M2QxYTI1N2Jk
YTlhMTZmZmEzNmFkYmMzMjkzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgYm9vbCBSZW5kZXJXaWRnZXQ6OnNldFdpZGdl
dEdlb21ldHJ5KGNvbnN0IExheW91dFJlY3QmIGZyYW1lKQogCiAgICAgbV9jbGlwUmVjdCA9IGNs
aXBSZWN0OwogCi0gICAgV2Vha1B0cjxSZW5kZXJXaWRnZXQ+IHdlYWtUaGlzID0gY3JlYXRlV2Vh
a1B0cigpOworICAgIGF1dG8gd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7CiAgICAgLy8gVGhl
c2UgY2FsbHMgKm1heSogY2F1c2UgdGhpcyByZW5kZXJlciB0byBkaXNhcHBlYXIgZnJvbSB1bmRl
cm5lYXRoLi4uCiAgICAgaWYgKGJvdW5kc0NoYW5nZWQpCiAgICAgICAgIG1fd2lkZ2V0LT5zZXRG
cmFtZVJlY3QobmV3RnJhbWVSZWN0KTsKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIFJlbmRlcldp
ZGdldDo6c2V0V2lkZ2V0KFJlZlB0cjxXaWRnZXQ+JiYgd2lkZ2V0KQogICAgICAgICAvLyB3aWRn
ZXQgaW1tZWRpYXRlbHksIGJ1dCB3ZSBoYXZlIHRvIGhhdmUgcmVhbGx5IGJlZW4gZnVsbHkgY29u
c3RydWN0ZWQuCiAgICAgICAgIGlmIChoYXNJbml0aWFsaXplZFN0eWxlKCkpIHsKICAgICAgICAg
ICAgIGlmICghbmVlZHNMYXlvdXQoKSkgewotICAgICAgICAgICAgICAgIFdlYWtQdHI8UmVuZGVy
V2lkZ2V0PiB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHIoKTsKKyAgICAgICAgICAgICAgICBhdXRv
IHdlYWtUaGlzID0gY3JlYXRlV2Vha1B0cigpOwogICAgICAgICAgICAgICAgIHVwZGF0ZVdpZGdl
dEdlb21ldHJ5KCk7CiAgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMzIyLDcgKzMyMiw3IEBAIFJlbmRlcldpZGdldDo6Q2hpbGRX
aWRnZXRTdGF0ZSBSZW5kZXJXaWRnZXQ6OnVwZGF0ZVdpZGdldFBvc2l0aW9uKCkKICAgICBpZiAo
IW1fd2lkZ2V0KQogICAgICAgICByZXR1cm4gQ2hpbGRXaWRnZXRTdGF0ZTo6RGVzdHJveWVkOwog
Ci0gICAgV2Vha1B0cjxSZW5kZXJXaWRnZXQ+IHdlYWtUaGlzID0gY3JlYXRlV2Vha1B0cigpOwor
ICAgIGF1dG8gd2Vha1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7CiAgICAgYm9vbCB3aWRnZXRTaXpl
Q2hhbmdlZCA9IHVwZGF0ZVdpZGdldEdlb21ldHJ5KCk7CiAgICAgaWYgKCF3ZWFrVGhpcyB8fCAh
bV93aWRnZXQpCiAgICAgICAgIHJldHVybiBDaGlsZFdpZGdldFN0YXRlOjpEZXN0cm95ZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmgKaW5kZXggYzEyZjU3OTY3NDcyNDk5
NTcyMzFkYWJmMDZkYmJmNGUyNzQ4YmMyZC4uYzJiYjJmZjczZDI4ZGE4NmExMjJlYWExMGE0YTli
MzcwYmI1NTQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldp
ZGdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaApAQCAt
NzEsOCArNzEsNiBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlcXVpcmVzQWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpIGNvbnN0OwogCi0gICAgV2Vha1B0cjxSZW5kZXJXaWRnZXQ+IGNyZWF0ZVdlYWtQ
dHIoKSB7IHJldHVybiBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOyB9Ci0K
ICAgICB2b2lkIHJlZigpIHsgKyttX3JlZkNvdW50OyB9CiAgICAgdm9pZCBkZXJlZigpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322188</attachid>
            <date>2017-09-29 09:16:42 -0700</date>
            <delta_ts>2017-09-29 10:51:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177429-20170929091642.patch</filename>
            <type>text/plain</type>
            <size>11369</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJmZjkxMWY4Y2ExM2Fj
NDhjYjE4MTk1MmQxM2FlZGQxNGY4OGViZi4uYWQzYmQxMGYwNDc1ZjI3MTM5ODBhMmU2ZWUxYjJj
NTUyNTY0ZjkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTA5LTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFdlYWtQdHIgc3VwcG9y
dCB0byBSZW5kZXJPYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc0MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0NjI1MjEyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW4g
cHJlcGFyYXRpb24gdG8gc3RhcnQgdXNpbmcgd2VhayBwb2ludGVycyBleHRlbnNpdmVseSBpbiBy
ZW5kZXJpbmcuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAg
ICAgKiBsb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJh
bWVMb2FkZXI6OmxvYWRQbHVnaW4pOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlRW1iZWRkZWRPYmplY3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudGVkRmxvd0Rlc2NlbmRhbnRJbnNlcnRl
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU3Bhbm5lclBsYWNlaG9s
ZGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0
OjpjcmVhdGVXZWFrUHRyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpSZXBhaW50UmVnaW9uQWNjdW11bGF0b3I6OlJl
cGFpbnRSZWdpb25BY2N1bXVsYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpS
ZXBhaW50UmVnaW9uQWNjdW11bGF0b3I6On5SZXBhaW50UmVnaW9uQWNjdW11bGF0b3IpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OnNldFdpZGdldEdl
b21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6c2V0V2lkZ2V0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlcldpZGdldDo6dXBkYXRlV2lkZ2V0UG9zaXRpb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
cldpZGdldDo6Y3JlYXRlV2Vha1B0cik6IERlbGV0ZWQuCisKIDIwMTctMDktMjkgIEVucmlxdWUg
T2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVh
bWVyXSBSZWZhY3RvciBtZWRpYSBwbGF5ZXIgdG8gdXNlIE1lZGlhVGltZSBjb25zaXN0ZW50bHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCmluZGV4IGYwMDRhODgyMWU2
YjY2YTIyMjA1ZjBiN2IxNTUzZWMzMWZmYjE3MjkuLjMzMjlmZDE4YTM4YzZhOThkODU4OWEzNTE4
Nzg1ZjhjYjQ4ZjAxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFt
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNw
cApAQCAtNDExLDcgKzQxMSw3IEBAIGJvb2wgU3ViZnJhbWVMb2FkZXI6OmxvYWRQbHVnaW4oSFRN
TFBsdWdJbkltYWdlRWxlbWVudCYgcGx1Z2luRWxlbWVudCwgY29uc3QgVVJMCiAgICAgICAgIGxv
YWRNYW51YWxseSA9IGZhbHNlOwogI2VuZGlmCiAKLSAgICBhdXRvIHdlYWtSZW5kZXJlciA9IHJl
bmRlcmVyLT5jcmVhdGVXZWFrUHRyKCk7CisgICAgYXV0byB3ZWFrUmVuZGVyZXIgPSByZW5kZXJl
ci0+Y3JlYXRlV2Vha1B0cjxSZW5kZXJFbWJlZGRlZE9iamVjdD4oKTsKIAogICAgIGF1dG8gd2lk
Z2V0ID0gbV9mcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5jcmVhdGVQbHVnaW4oY29udGVudFNpemUs
IHBsdWdpbkVsZW1lbnQsIHVybCwgcGFyYW1OYW1lcywgcGFyYW1WYWx1ZXMsIG1pbWVUeXBlLCBs
b2FkTWFudWFsbHkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZmFhMTQ1M2Jh
ZDI0M2U4MTgwYmVmMTJlZmQ4MzdiMTIyNDU3NjU2Ny4uZTZlODYwYTYzMzk2NDI5YThkYWJhZGI3
YjM4MjE5MzBiYTRkMzljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzQ0MSw3
ICszNDQxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUVtYmVkZGVkT2JqZWN0KFJlbmRlckVt
YmVkZGVkT2JqZWN0JiBlbWJlZGRlZE9iamVjdCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGF1dG8gd2Vha1JlbmRlcmVyID0gZW1iZWRkZWRPYmplY3QuY3JlYXRlV2Vha1B0cigpOwor
ICAgIGF1dG8gd2Vha1JlbmRlcmVyID0gZW1iZWRkZWRPYmplY3QuY3JlYXRlV2Vha1B0cjxSZW5k
ZXJFbWJlZGRlZE9iamVjdD4oKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGNvdWxkIHR1cm4gaW50
byBhIHJlYWwgdmlydHVhbCBkaXNwYXRjaCBpZiB3ZSBkZWZpbmVkCiAgICAgLy8gdXBkYXRlV2lk
Z2V0KFBsdWdpbkNyZWF0aW9uT3B0aW9uKSBvbiBIVE1MRWxlbWVudC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKaW5kZXggNTI3M2My
MzU4ZjljOWQ2NGQyY2IyOWVkMDlhMWNjNDM3MTc0YzZhYy4uMmZiZjc5ZWY0NGU5YTc4MTI2ZDBh
M2U0YTk5NDA5MDQ5N2FhYTE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKQEAgLTQzOCw3ICs0MzgsNyBAQCB2b2lkIFJlbmRl
ck11bHRpQ29sdW1uRmxvdzo6ZnJhZ21lbnRlZEZsb3dEZXNjZW5kYW50SW5zZXJ0ZWQoUmVuZGVy
T2JqZWN0JiBuZXdEZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBB
U1NFUlQoIW1fc3Bhbm5lck1hcC5nZXQocGxhY2Vob2xkZXIuc3Bhbm5lcigpKSk7Ci0gICAgICAg
ICAgICBtX3NwYW5uZXJNYXAuYWRkKHBsYWNlaG9sZGVyLnNwYW5uZXIoKSwgcGxhY2Vob2xkZXIu
Y3JlYXRlV2Vha1B0cigpKTsKKyAgICAgICAgICAgIG1fc3Bhbm5lck1hcC5hZGQocGxhY2Vob2xk
ZXIuc3Bhbm5lcigpLCBwbGFjZWhvbGRlci5jcmVhdGVXZWFrUHRyPFJlbmRlck11bHRpQ29sdW1u
U3Bhbm5lclBsYWNlaG9sZGVyPigpKTsKICAgICAgICAgICAgIEFTU0VSVCghcGxhY2Vob2xkZXIu
Zmlyc3RDaGlsZCgpKTsgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIGNoaWxkcmVuIGhlcmUsIGJ1dCBp
ZiB0aGVyZSBhcmUsIHdlIG91Z2h0IHRvIHNraXAgdGhlbS4KICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oCmluZGV4IDI2ZTMyNjY1NGFl
OWMyNmEwNzAxMTQyMzg1NjgwNDIxMGUwYWFmZDUuLjhkYWNhMjZhNWFlZTZlMDJkNDBlNzYyMDRm
OTAxMTM3YmRiODZhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlci5oCkBAIC0zMSw4ICsz
MSw2IEBACiAKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKIAotI2luY2x1ZGUgPHd0Zi9XZWFrUHRy
Lmg+Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyTXVsdGlDb2x1bW5GbG93
OwpAQCAtNDMsNyArNDEsNiBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJCb3gqIHNwYW5uZXIoKSBj
b25zdCB7IHJldHVybiBtX3NwYW5uZXI7IH0KICAgICBSZW5kZXJNdWx0aUNvbHVtbkZsb3cqIGZy
YWdtZW50ZWRGbG93KCkgY29uc3QgeyByZXR1cm4gbV9mcmFnbWVudGVkRmxvdzsgfQotICAgIFdl
YWtQdHI8UmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI+IGNyZWF0ZVdlYWtQdHIo
KSB7IHJldHVybiBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKnRoaXMpOyB9CiAKIHBy
aXZhdGU6CiAgICAgUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIoUmVuZGVyTXVs
dGlDb2x1bW5GbG93KiwgUmVuZGVyQm94JiBzcGFubmVyLCBSZW5kZXJTdHlsZSYmKTsKQEAgLTU1
LDcgKzUyLDYgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlckJveCogbV9zcGFubmVyOwogICAgIFJl
bmRlck11bHRpQ29sdW1uRmxvdyogbV9mcmFnbWVudGVkRmxvdzsKLSAgICBXZWFrUHRyRmFjdG9y
eTxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlcj4gbV93ZWFrUHRyRmFjdG9yeTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKaW5kZXggODhhYmViYWE5YmFmOWFkMjRlZjYzOTI4ZTE0ZDQ3YzlmMmQw
NzE2MC4uY2I1MDAyOTBkNjA0NmU0NzYzMWVlNjU2ODhhMDQ4MjhjYjBlYWQxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTk3LDcgKzk3LDcgQEAgUmVu
ZGVyT2JqZWN0OjpTZXRMYXlvdXROZWVkZWRGb3JiaWRkZW5TY29wZTo6flNldExheW91dE5lZWRl
ZEZvcmJpZGRlblNjb3BlKCkKIAogc3RydWN0IFNhbWVTaXplQXNSZW5kZXJPYmplY3QgewogICAg
IHZpcnR1YWwgflNhbWVTaXplQXNSZW5kZXJPYmplY3QoKSB7IH0gLy8gQWxsb2NhdGUgdnRhYmxl
IHBvaW50ZXIuCi0gICAgdm9pZCogcG9pbnRlcnNbNF07CisgICAgdm9pZCogcG9pbnRlcnNbNV07
CiAjaWZuZGVmIE5ERUJVRwogICAgIHVuc2lnbmVkIG1fZGVidWdCaXRmaWVsZHMgOiAyOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggNWYxZmJiODI5
ZGJhNDhkYzcwNzU2MTY4NDE0MWYxNzMwOTlmZWM0MC4uYzM4NDE2ZDgzMWQ1ZjRlZGUxMWE2M2Vk
YTZlNWUzZDI4YmRiYzRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlNjcm9sbEFsaWdubWVudC5oIgogI2luY2x1
ZGUgIlN0eWxlSW1hZ2UuaCIKICNpbmNsdWRlICJUZXh0QWZmaW5pdHkuaCIKKyNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwOCw2ICsxMDksOSBA
QCBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyT2JqZWN0KE5vZGUmKTsKICAgICB2aXJ0dWFs
IH5SZW5kZXJPYmplY3QoKTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgV2Vha1B0
cjxUPiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1cm4gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRy
PFQ+KCp0aGlzKTsgfQorCiAgICAgUmVuZGVyVGhlbWUmIHRoZW1lKCkgY29uc3Q7CiAKICAgICB2
aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCA9IDA7CkBAIC04MzQsNiArODM4
LDggQEAgcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3QqIG1fcHJldmlvdXM7CiAgICAgUmVuZGVy
T2JqZWN0KiBtX25leHQ7CiAKKyAgICBXZWFrUHRyRmFjdG9yeTxSZW5kZXJPYmplY3Q+IG1fd2Vh
a0ZhY3Rvcnk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgYm9vbCBtX2hhc0FYT2JqZWN0ICAgICAg
ICAgICAgIDogMTsKICAgICBib29sIG1fc2V0TmVlZHNMYXlvdXRGb3JiaWRkZW4gOiAxOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IGNlYTU2YjVmNjBiYTQwZjhl
OGY3MWVhYzE4YmNmN2JhMjhkNDc3NjMuLmEwYzZiOTRhODMwOTUzOGRkMTNiOWQyMWI0YmJiZThj
MDY2MmMxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTEy
ODgsMTkgKzEyODgsMTkgQEAgUmVuZGVyVmlldzo6UmVwYWludFJlZ2lvbkFjY3VtdWxhdG9yOjpS
ZXBhaW50UmVnaW9uQWNjdW11bGF0b3IoUmVuZGVyVmlldyogdmlldykKICAgICBpZiAoIXJvb3RS
ZW5kZXJWaWV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Jvb3RWaWV3ID0gcm9vdFJlbmRl
clZpZXctPmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBtX3dhc0FjY3VtdWxhdGluZ1JlcGFpbnRSZWdp
b24gPSAhIW1fcm9vdFZpZXctPm1fYWNjdW11bGF0ZWRSZXBhaW50UmVnaW9uOworICAgIG1fd2Fz
QWNjdW11bGF0aW5nUmVwYWludFJlZ2lvbiA9ICEhcm9vdFJlbmRlclZpZXctPm1fYWNjdW11bGF0
ZWRSZXBhaW50UmVnaW9uOwogICAgIGlmICghbV93YXNBY2N1bXVsYXRpbmdSZXBhaW50UmVnaW9u
KQotICAgICAgICBtX3Jvb3RWaWV3LT5tX2FjY3VtdWxhdGVkUmVwYWludFJlZ2lvbiA9IHN0ZDo6
bWFrZV91bmlxdWU8UmVnaW9uPigpOworICAgICAgICByb290UmVuZGVyVmlldy0+bV9hY2N1bXVs
YXRlZFJlcGFpbnRSZWdpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPFJlZ2lvbj4oKTsKKyAgICBtX3Jv
b3RWaWV3ID0gcm9vdFJlbmRlclZpZXctPmNyZWF0ZVdlYWtQdHI8UmVuZGVyVmlldz4oKTsKIH0K
IAogUmVuZGVyVmlldzo6UmVwYWludFJlZ2lvbkFjY3VtdWxhdG9yOjp+UmVwYWludFJlZ2lvbkFj
Y3VtdWxhdG9yKCkKIHsKLSAgICBpZiAoIW1fcm9vdFZpZXcpCi0gICAgICAgIHJldHVybjsKICAg
ICBpZiAobV93YXNBY2N1bXVsYXRpbmdSZXBhaW50UmVnaW9uKQogICAgICAgICByZXR1cm47Ci0g
ICAgbV9yb290Vmlldy0+Zmx1c2hBY2N1bXVsYXRlZFJlcGFpbnRSZWdpb24oKTsKKyAgICBpZiAo
IW1fcm9vdFZpZXcpCisgICAgICAgIHJldHVybjsKKyAgICBtX3Jvb3RWaWV3LmdldCgpLT5mbHVz
aEFjY3VtdWxhdGVkUmVwYWludFJlZ2lvbigpOwogfQogCiB1bnNpZ25lZCBSZW5kZXJWaWV3Ojpw
YWdlTnVtYmVyRm9yQmxvY2tQcm9ncmVzc2lvbk9mZnNldChpbnQgb2Zmc2V0KSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggZDg0OWVmNDBkODZhM2YxZGQ0OTA5
Y2FjNDQyNmI0NjI1ZjIwOTA4ZC4uNGI2Yjg2ZGRiYTllMWZiZWE3ZjljYmM1ZTVjMTk5NjliZjNi
YmVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0yMzMsOCArMjMz
LDYgQEAgcHVibGljOgogICAgICAgICBib29sIG1fd2FzQWNjdW11bGF0aW5nUmVwYWludFJlZ2lv
bjsKICAgICB9OwogCi0gICAgV2Vha1B0cjxSZW5kZXJWaWV3PiBjcmVhdGVXZWFrUHRyKCkgeyBy
ZXR1cm4gbV93ZWFrRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKTsgfQotCiAgICAgdm9pZCBz
Y2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYpOwogICAgIHZvaWQgdW5zY2hlZHVsZUxhenlS
ZXBhaW50KFJlbmRlckJveCYpOwogCkBAIC0zMjIsNyArMzIwLDYgQEAgcHJpdmF0ZToKIHByaXZh
dGU6CiAgICAgRnJhbWVWaWV3JiBtX2ZyYW1lVmlldzsKIAotICAgIFdlYWtQdHJGYWN0b3J5PFJl
bmRlclZpZXc+IG1fd2Vha0ZhY3Rvcnk7CiAgICAgUmVuZGVyT2JqZWN0KiBtX3NlbGVjdGlvblVu
c3BsaXRTdGFydCB7IG51bGxwdHIgfTsKICAgICBSZW5kZXJPYmplY3QqIG1fc2VsZWN0aW9uVW5z
cGxpdEVuZCB7IG51bGxwdHIgfTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBtX3NlbGVj
dGlvblVuc3BsaXRTdGFydFBvczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dC5jcHAKaW5kZXggNGI0ZDQ0NDQzMmFhZjFmMDVhNDBhOWYwNjdkOWU0MjkwYWY4NjQxYy4uN2Rh
ZDZiMWZkYWYwZjgyZThlMTkxMWE1NTA5MDZkMjRhMmViYTczNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcldpZGdldC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCBib29sIFJlbmRl
cldpZGdldDo6c2V0V2lkZ2V0R2VvbWV0cnkoY29uc3QgTGF5b3V0UmVjdCYgZnJhbWUpCiAKICAg
ICBtX2NsaXBSZWN0ID0gY2xpcFJlY3Q7CiAKLSAgICBXZWFrUHRyPFJlbmRlcldpZGdldD4gd2Vh
a1RoaXMgPSBjcmVhdGVXZWFrUHRyKCk7CisgICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQ
dHI8UmVuZGVyV2lkZ2V0PigpOwogICAgIC8vIFRoZXNlIGNhbGxzICptYXkqIGNhdXNlIHRoaXMg
cmVuZGVyZXIgdG8gZGlzYXBwZWFyIGZyb20gdW5kZXJuZWF0aC4uLgogICAgIGlmIChib3VuZHND
aGFuZ2VkKQogICAgICAgICBtX3dpZGdldC0+c2V0RnJhbWVSZWN0KG5ld0ZyYW1lUmVjdCk7CkBA
IC0xNzgsNyArMTc4LDcgQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnNldFdpZGdldChSZWZQdHI8V2lk
Z2V0PiYmIHdpZGdldCkKICAgICAgICAgLy8gd2lkZ2V0IGltbWVkaWF0ZWx5LCBidXQgd2UgaGF2
ZSB0byBoYXZlIHJlYWxseSBiZWVuIGZ1bGx5IGNvbnN0cnVjdGVkLgogICAgICAgICBpZiAoaGFz
SW5pdGlhbGl6ZWRTdHlsZSgpKSB7CiAgICAgICAgICAgICBpZiAoIW5lZWRzTGF5b3V0KCkpIHsK
LSAgICAgICAgICAgICAgICBXZWFrUHRyPFJlbmRlcldpZGdldD4gd2Vha1RoaXMgPSBjcmVhdGVX
ZWFrUHRyKCk7CisgICAgICAgICAgICAgICAgYXV0byB3ZWFrVGhpcyA9IGNyZWF0ZVdlYWtQdHI8
UmVuZGVyV2lkZ2V0PigpOwogICAgICAgICAgICAgICAgIHVwZGF0ZVdpZGdldEdlb21ldHJ5KCk7
CiAgICAgICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMzIyLDcgKzMyMiw3IEBAIFJlbmRlcldpZGdldDo6Q2hpbGRXaWRnZXRTdGF0ZSBS
ZW5kZXJXaWRnZXQ6OnVwZGF0ZVdpZGdldFBvc2l0aW9uKCkKICAgICBpZiAoIW1fd2lkZ2V0KQog
ICAgICAgICByZXR1cm4gQ2hpbGRXaWRnZXRTdGF0ZTo6RGVzdHJveWVkOwogCi0gICAgV2Vha1B0
cjxSZW5kZXJXaWRnZXQ+IHdlYWtUaGlzID0gY3JlYXRlV2Vha1B0cigpOworICAgIGF1dG8gd2Vh
a1RoaXMgPSBjcmVhdGVXZWFrUHRyPFJlbmRlcldpZGdldD4oKTsKICAgICBib29sIHdpZGdldFNp
emVDaGFuZ2VkID0gdXBkYXRlV2lkZ2V0R2VvbWV0cnkoKTsKICAgICBpZiAoIXdlYWtUaGlzIHx8
ICFtX3dpZGdldCkKICAgICAgICAgcmV0dXJuIENoaWxkV2lkZ2V0U3RhdGU6OkRlc3Ryb3llZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuaAppbmRleCBjMTJmNTc5Njc0NzI0
OTk1NzIzMWRhYmYwNmRiYmY0ZTI3NDhiYzJkLi44NDE5ODExYzQ5MmVmZTVjMTlmZGJkYzBhMTJj
NmYyMGY5ZDYzMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
V2lkZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldC5oCkBA
IC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiT3ZlcmxhcFRlc3RSZXF1ZXN0Q2xpZW50LmgiCiAj
aW5jbHVkZSAiUmVuZGVyUmVwbGFjZWQuaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKLSNpbmNsdWRl
IDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTcxLDggKzcwLDYg
QEAgcHVibGljOgogCiAgICAgYm9vbCByZXF1aXJlc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSBj
b25zdDsKIAotICAgIFdlYWtQdHI8UmVuZGVyV2lkZ2V0PiBjcmVhdGVXZWFrUHRyKCkgeyByZXR1
cm4gbV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCp0aGlzKTsgfQotCiAgICAgdm9pZCBy
ZWYoKSB7ICsrbV9yZWZDb3VudDsgfQogICAgIHZvaWQgZGVyZWYoKTsKIApAQCAtMTAxLDcgKzk4
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIHNldFdpZGdldEdlb21ldHJ5KGNvbnN0IExheW91dFJl
Y3QmKTsKICAgICBib29sIHVwZGF0ZVdpZGdldEdlb21ldHJ5KCk7CiAKLSAgICBXZWFrUHRyRmFj
dG9yeTxSZW5kZXJXaWRnZXQ+IG1fd2Vha1B0ckZhY3Rvcnk7CiAgICAgUmVmUHRyPFdpZGdldD4g
bV93aWRnZXQ7CiAgICAgSW50UmVjdCBtX2NsaXBSZWN0OyAvLyBUaGUgcmVjdGFuZ2xlIG5lZWRz
IHRvIHJlbWFpbiBjb3JyZWN0IGFmdGVyIHNjcm9sbGluZywgc28gaXQgaXMgc3RvcmVkIGluIGNv
bnRlbnQgdmlldyBjb29yZGluYXRlcywgYW5kIG5vdCBjbGlwcGVkIHRvIHdpbmRvdy4KICAgICB1
bnNpZ25lZCBtX3JlZkNvdW50IHsgMSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>