<?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>158849</bug_id>
          
          <creation_ts>2016-06-16 14:36:51 -0700</creation_ts>
          <short_desc>Fix macOS Sierra build</short_desc>
          <delta_ts>2016-06-20 10:20:34 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203003</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-16 14:36:51 -0700</bug_when>
    <thetext>Fix macOS Sierra build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203004</commentid>
    <comment_count>1</comment_count>
      <attachid>281474</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-16 14:38:50 -0700</bug_when>
    <thetext>Created attachment 281474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203044</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-16 15:44:33 -0700</bug_when>
    <thetext>Committed r202142: &lt;http://trac.webkit.org/changeset/202142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203584</commentid>
    <comment_count>3</comment_count>
      <attachid>281474</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2016-06-18 12:03:00 -0700</bug_when>
    <thetext>Comment on attachment 281474
Patch

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

&gt; Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm:403
&gt; +//        layer.contents = (id)m_frontBuffer.surface-&gt;surface();

Is this correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203764</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-20 09:48:14 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 281474 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=281474&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm:403
&gt; &gt; +//        layer.contents = (id)m_frontBuffer.surface-&gt;surface();
&gt; 
&gt; Is this correct?

This commented line caused a 11% progression on JSBench / iOS. JSBench regressed by ~11% when Simon uncommented this line in r202224.

No action is necessary, I just want to document this here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203778</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-20 10:20:34 -0700</bug_when>
    <thetext>That is interesting data!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281474</attachid>
            <date>2016-06-16 14:38:50 -0700</date>
            <delta_ts>2016-06-16 15:37:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158849-20160616143848.patch</filename>
            <type>text/plain</type>
            <size>18862</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgwZTZiMzVmY2RkNmVl
M2E0ZTMzZGExZDQxNDdhZTFhYjdjNjVjZC4uNzdlYTJiMGRiZGVlMDA2MGNjMjRiMmQyMDA5ODcx
ZTY0ODlmZjBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IG1hY09TIFNp
ZXJyYSBidWlsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU4ODQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIFdlYkNvcmU6OiBxdWFsaWZpZXJzIGZvciBJT1N1cmZhY2UsIHRvIGF2b2lkIGNvbmZs
aWN0cyB3aXRoIHRoZSBJT1N1cmZhY2UgT2JqZWN0aXZlLUMgY2xhc3MuCisgICAgICAgIAorICAg
ICAgICBBbHNvLCBhZGQgYW4gYXNMYXllckNvbnRlbnRzKCkgZ2V0dGVyIHRoYXQgd2lsbCByZXR1
cm4gYW4gaWQgdGhhdCdzIHN1aXRhYmxlIGZvciBzZXR0aW5nIAorICAgICAgICBhcyB0aGUgY29u
dGVudHMgb2YgYSBDQUxheWVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
SU9TdXJmYWNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNl
Lm1tOgorCiAyMDE2LTA2LTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgRGVjb3VwbGUgdGhlIHBlcmNlbnQgaGVpZ2h0IGFuZCBwb3NpdGlvbmVkIGRlc2NlbmRh
bnRzIG1hcHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTdmZjM0MmI0YzFkNzY1OTU2MThmOTExOTJjNWM1Zjdm
MjBkZjFjMi4uYzc2OGIyYWY5YWRkYTVmYzEwNTA0MWI4YmFkYmFkNjMzYmI1MjViMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA2LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IG1hY09TIFNpZXJyYSBidWlsZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4ODQ5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYkNvcmU6OiBx
dWFsaWZpZXJzIGZvciBJT1N1cmZhY2UsIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIHRoZSBJT1N1
cmZhY2UgT2JqZWN0aXZlLUMgY2xhc3MKKyAgICAgICAgYW5kIGFkb3B0IElPU3VyZmFjZTo6YXNM
YXllckNvbnRlbnRzKCkuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGVj
b2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmJ5dGVzUGVy
UGl4ZWwpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c3dhcFRv
VmFsaWRGcm9udEJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjphcHBseUJhY2tpbmdTdG9yZVRvTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVM
YXllckJhY2tpbmdTdG9yZTo6c2V0QnVmZmVyVm9sYXRpbGl0eSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpCdWZmZXI6OmRpc2NhcmQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdT
bmFwc2hvdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6Vmlld1NuYXBzaG90OjpWaWV3U25h
cHNob3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3Q6OmFzTGF5ZXJDb250ZW50cyk6
CisKIDIwMTYtMDYtMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRXhwb3NlIF9zaG91bGRFeHBhbmRDb250ZW50VG9WaWV3SGVpZ2h0Rm9yQXV0b0xh
eW91dCBTUEkgb24gV0tXZWJWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0lPU3VyZmFjZS5oCmluZGV4IGVkYmFjMWM1ODI2YjhjZWY3YjFmYmMyZGVk
ZWEzYTFjNjUwZjc1ZGYuLjVhOWU0MWQ5NmI4ZjdmNGJkMmE4YzRiNWNhNjE1NWM5OWVhZmM1NTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3Vy
ZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3Vy
ZmFjZS5oCkBAIC02NSw2ICs2NSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2UoKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENH
SW1hZ2VSZWY+IHNpbmtJbnRvSW1hZ2Uoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4pOwogCisg
ICAgaWQgYXNMYXllckNvbnRlbnRzKCkgY29uc3QgeyByZXR1cm4gKGlkKShDRlR5cGVSZWYpbV9z
dXJmYWNlLmdldCgpOyB9CiAgICAgSU9TdXJmYWNlUmVmIHN1cmZhY2UoKSBjb25zdCB7IHJldHVy
biBtX3N1cmZhY2UuZ2V0KCk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBHcmFwaGljc0NvbnRleHQm
IGVuc3VyZUdyYXBoaWNzQ29udGV4dCgpOwogICAgIFdFQkNPUkVfRVhQT1JUIENHQ29udGV4dFJl
ZiBlbnN1cmVQbGF0Zm9ybUNvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQppbmRleCAzMzRkOWNlODJmNzE5ZjU2YzFk
ZTNiODFkMGY0NmU2ZTNmMjU5ODk0Li41YWY4YWE0NmEyOTVkODU4N2MxMWMwYzBlYjljNWFlNTk0
MTQ0ZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9JT1N1cmZhY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvSU9TdXJmYWNlLm1tCkBAIC00NSw3ICs0NSw3IEBAIE5TU3RyaW5nICogY29uc3QgV2ViSU9T
dXJmYWNlQWNjZWxlcmF0b3JVbndpcmVTdXJmYWNlS2V5ID0gQCJVbndpcmVTdXJmYWNlIjsKIAog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJm
YWNlPiBJT1N1cmZhY2U6OnN1cmZhY2VGcm9tUG9vbChJbnRTaXplIHNpemUsIEludFNpemUgY29u
dGV4dFNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgRm9ybWF0IHBpeGVsRm9ybWF0KQoraW5s
aW5lIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IFdlYkNvcmU6OklPU3VyZmFj
ZTo6c3VyZmFjZUZyb21Qb29sKEludFNpemUgc2l6ZSwgSW50U2l6ZSBjb250ZXh0U2l6ZSwgQ29s
b3JTcGFjZSBjb2xvclNwYWNlLCBGb3JtYXQgcGl4ZWxGb3JtYXQpCiB7CiAgICAgYXV0byBjYWNo
ZWRTdXJmYWNlID0gSU9TdXJmYWNlUG9vbDo6c2hhcmVkUG9vbCgpLnRha2VTdXJmYWNlKHNpemUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0KTsKICAgICBpZiAoIWNhY2hlZFN1cmZhY2UpCkBAIC01
NSw3ICs1NSw3IEBAIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBJT1N1cmZhY2U6
OnN1cmZhY2VGcm9tUG9vbChJbnRTaXplIHNpemUsIEludFNpCiAgICAgcmV0dXJuIGNhY2hlZFN1
cmZhY2U7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IElPU3VyZmFjZTo6Y3JlYXRl
KEludFNpemUgc2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBGb3JtYXQgcGl4ZWxGb3JtYXQp
CitzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBXZWJDb3JlOjpJT1N1cmZhY2U6
OmNyZWF0ZShJbnRTaXplIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgRm9ybWF0IHBpeGVs
Rm9ybWF0KQogewogICAgIGlmIChhdXRvIGNhY2hlZFN1cmZhY2UgPSBzdXJmYWNlRnJvbVBvb2wo
c2l6ZSwgc2l6ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQpKQogICAgICAgICByZXR1cm4gY2Fj
aGVkU3VyZmFjZTsKQEAgLTYzLDI1ICs2MywyNSBAQCBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNl
PiBJT1N1cmZhY2U6OmNyZWF0ZShJbnRTaXplIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZQog
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPihuZXcgSU9TdXJmYWNlKHNpemUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0KSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IElPU3VyZmFjZTo6Y3JlYXRlKEludFNpemUgc2l6ZSwgSW50U2l6ZSBjb250ZXh0U2l6ZSwg
Q29sb3JTcGFjZSBjb2xvclNwYWNlLCBGb3JtYXQgcGl4ZWxGb3JtYXQpCitzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShJbnRTaXpl
IHNpemUsIEludFNpemUgY29udGV4dFNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgRm9ybWF0
IHBpeGVsRm9ybWF0KQogewogICAgIGlmIChhdXRvIGNhY2hlZFN1cmZhY2UgPSBzdXJmYWNlRnJv
bVBvb2woc2l6ZSwgY29udGV4dFNpemUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0KSkKICAgICAg
ICAgcmV0dXJuIGNhY2hlZFN1cmZhY2U7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxJT1N1
cmZhY2U+KG5ldyBJT1N1cmZhY2Uoc2l6ZSwgY29udGV4dFNpemUsIGNvbG9yU3BhY2UsIHBpeGVs
Rm9ybWF0KSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IElPU3VyZmFjZTo6Y3Jl
YXRlRnJvbVNlbmRSaWdodChjb25zdCBNYWNoU2VuZFJpZ2h0JiBzZW5kUmlnaHQsIENvbG9yU3Bh
Y2UgY29sb3JTcGFjZSkKK3N0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlRnJvbVNlbmRSaWdodChjb25zdCBNYWNoU2VuZFJpZ2h0JiBz
ZW5kUmlnaHQsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKIHsKICAgICBhdXRvIHN1cmZhY2UgPSBh
ZG9wdENGKElPU3VyZmFjZUxvb2t1cEZyb21NYWNoUG9ydChzZW5kUmlnaHQuc2VuZFJpZ2h0KCkp
KTsKICAgICByZXR1cm4gSU9TdXJmYWNlOjpjcmVhdGVGcm9tU3VyZmFjZShzdXJmYWNlLmdldCgp
LCBjb2xvclNwYWNlKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gSU9TdXJmYWNl
OjpjcmVhdGVGcm9tU3VyZmFjZShJT1N1cmZhY2VSZWYgc3VyZmFjZSwgQ29sb3JTcGFjZSBjb2xv
clNwYWNlKQorc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gV2ViQ29yZTo6SU9T
dXJmYWNlOjpjcmVhdGVGcm9tU3VyZmFjZShJT1N1cmZhY2VSZWYgc3VyZmFjZSwgQ29sb3JTcGFj
ZSBjb2xvclNwYWNlKQogewogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPihu
ZXcgSU9TdXJmYWNlKHN1cmZhY2UsIGNvbG9yU3BhY2UpKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRy
PElPU3VyZmFjZT4gSU9TdXJmYWNlOjpjcmVhdGVGcm9tSW1hZ2UoQ0dJbWFnZVJlZiBpbWFnZSkK
K3N0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IFdlYkNvcmU6OklPU3VyZmFjZTo6
Y3JlYXRlRnJvbUltYWdlKENHSW1hZ2VSZWYgaW1hZ2UpCiB7CiAgICAgaWYgKCFpbWFnZSkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05NywxMiArOTcsMTIgQEAgc3RkOjp1bmlxdWVfcHRy
PElPU3VyZmFjZT4gSU9TdXJmYWNlOjpjcmVhdGVGcm9tSW1hZ2UoQ0dJbWFnZVJlZiBpbWFnZSkK
ICAgICByZXR1cm4gc3VyZmFjZTsKIH0KIAotdm9pZCBJT1N1cmZhY2U6Om1vdmVUb1Bvb2woc3Rk
Ojp1bmlxdWVfcHRyPElPU3VyZmFjZT4mJiBzdXJmYWNlKQordm9pZCBXZWJDb3JlOjpJT1N1cmZh
Y2U6Om1vdmVUb1Bvb2woc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4mJiBzdXJmYWNlKQogewog
ICAgIElPU3VyZmFjZVBvb2w6OnNoYXJlZFBvb2woKS5hZGRTdXJmYWNlKFdURk1vdmUoc3VyZmFj
ZSkpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBJT1N1cmZhY2U6OmNyZWF0ZUZy
b21JbWFnZUJ1ZmZlcihzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGltYWdlQnVmZmVyKQor
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gV2ViQ29yZTo6SU9TdXJmYWNlOjpj
cmVhdGVGcm9tSW1hZ2VCdWZmZXIoc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBpbWFnZUJ1
ZmZlcikKIHsKICAgICByZXR1cm4gV1RGTW92ZShpbWFnZUJ1ZmZlci0+bV9kYXRhLnN1cmZhY2Up
OwogfQpAQCAtMTc5LDcgKzE3OSw3IEBAIHN0YXRpYyBOU0RpY3Rpb25hcnkgKm9wdGlvbnNGb3Iz
MkJpdFN1cmZhY2UoSW50U2l6ZSBzaXplLCB1bnNpZ25lZCBwaXhlbEZvcm1hdCkKIAogfQogCi1J
T1N1cmZhY2U6OklPU3VyZmFjZShJbnRTaXplIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwg
Rm9ybWF0IGZvcm1hdCkKK1dlYkNvcmU6OklPU3VyZmFjZTo6SU9TdXJmYWNlKEludFNpemUgc2l6
ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlLCBGb3JtYXQgZm9ybWF0KQogICAgIDogbV9jb2xvclNw
YWNlKGNvbG9yU3BhY2UpCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fY29udGV4dFNpemUo
c2l6ZSkKQEAgLTIwNyw3ICsyMDcsNyBAQCBJT1N1cmZhY2U6OklPU3VyZmFjZShJbnRTaXplIHNp
emUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSwgRm9ybWF0IGZvcm1hdCkKICAgICAgICAgTlNMb2co
QCJTdXJmYWNlIGNyZWF0aW9uIGZhaWxlZCBmb3Igb3B0aW9ucyAlQCIsIG9wdGlvbnMpOwogfQog
Ci1JT1N1cmZhY2U6OklPU3VyZmFjZShJbnRTaXplIHNpemUsIEludFNpemUgY29udGV4dFNpemUs
IENvbG9yU3BhY2UgY29sb3JTcGFjZSwgRm9ybWF0IHBpeGVsRm9ybWF0KQorV2ViQ29yZTo6SU9T
dXJmYWNlOjpJT1N1cmZhY2UoSW50U2l6ZSBzaXplLCBJbnRTaXplIGNvbnRleHRTaXplLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UsIEZvcm1hdCBwaXhlbEZvcm1hdCkKICAgICA6IElPU3VyZmFjZShz
aXplLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCkKIHsKICAgICBBU1NFUlQoY29udGV4dFNpemUu
d2lkdGgoKSA8PSBzaXplLndpZHRoKCkpOwpAQCAtMjE1LDcgKzIxNSw3IEBAIElPU3VyZmFjZTo6
SU9TdXJmYWNlKEludFNpemUgc2l6ZSwgSW50U2l6ZSBjb250ZXh0U2l6ZSwgQ29sb3JTcGFjZSBj
b2xvclNwYWNlLCBGCiAgICAgbV9jb250ZXh0U2l6ZSA9IGNvbnRleHRTaXplOwogfQogCi1JT1N1
cmZhY2U6OklPU3VyZmFjZShJT1N1cmZhY2VSZWYgc3VyZmFjZSwgQ29sb3JTcGFjZSBjb2xvclNw
YWNlKQorV2ViQ29yZTo6SU9TdXJmYWNlOjpJT1N1cmZhY2UoSU9TdXJmYWNlUmVmIHN1cmZhY2Us
IENvbG9yU3BhY2UgY29sb3JTcGFjZSkKICAgICA6IG1fY29sb3JTcGFjZShjb2xvclNwYWNlKQog
ICAgICwgbV9zdXJmYWNlKHN1cmZhY2UpCiB7CkBAIC0yMjMsNyArMjIzLDcgQEAgSU9TdXJmYWNl
OjpJT1N1cmZhY2UoSU9TdXJmYWNlUmVmIHN1cmZhY2UsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkK
ICAgICBtX3RvdGFsQnl0ZXMgPSBJT1N1cmZhY2VHZXRBbGxvY1NpemUoc3VyZmFjZSk7CiB9CiAK
LUludFNpemUgSU9TdXJmYWNlOjptYXhpbXVtU2l6ZSgpCitJbnRTaXplIFdlYkNvcmU6OklPU3Vy
ZmFjZTo6bWF4aW11bVNpemUoKQogewogICAgIEludFNpemUgbWF4U2l6ZShjbGFtcFRvSW50ZWdl
cihJT1N1cmZhY2VHZXRQcm9wZXJ0eU1heGltdW0oa0lPU3VyZmFjZVdpZHRoKSksIGNsYW1wVG9J
bnRlZ2VyKElPU3VyZmFjZUdldFByb3BlcnR5TWF4aW11bShrSU9TdXJmYWNlSGVpZ2h0KSkpOwog
CkBAIC0yNDEsMTcgKzI0MSwxNyBAQCBJbnRTaXplIElPU3VyZmFjZTo6bWF4aW11bVNpemUoKQog
ICAgIHJldHVybiBtYXhTaXplLmNvbnN0cmFpbmVkQmV0d2Vlbih7IGlPU01heFN1cmZhY2VEaW1l
bnNpb25Mb3dlckJvdW5kLCBpT1NNYXhTdXJmYWNlRGltZW5zaW9uTG93ZXJCb3VuZCB9LCB7IGlP
U01heFN1cmZhY2VEaW1lbnNpb24sIGlPU01heFN1cmZhY2VEaW1lbnNpb24gfSk7CiB9CiAKLU1h
Y2hTZW5kUmlnaHQgSU9TdXJmYWNlOjpjcmVhdGVTZW5kUmlnaHQoKSBjb25zdAorTWFjaFNlbmRS
aWdodCBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZVNlbmRSaWdodCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIE1hY2hTZW5kUmlnaHQ6OmFkb3B0KElPU3VyZmFjZUNyZWF0ZU1hY2hQb3J0KG1fc3Vy
ZmFjZS5nZXQoKSkpOwogfQogCi1SZXRhaW5QdHI8Q0dJbWFnZVJlZj4gSU9TdXJmYWNlOjpjcmVh
dGVJbWFnZSgpCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVh
dGVJbWFnZSgpCiB7CiAgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJT1N1cmZhY2VDb250ZXh0Q3JlYXRl
SW1hZ2UoZW5zdXJlUGxhdGZvcm1Db250ZXh0KCkpKTsKIH0KIAotUmV0YWluUHRyPENHSW1hZ2VS
ZWY+IElPU3VyZmFjZTo6c2lua0ludG9JbWFnZShzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBz
dXJmYWNlKQorUmV0YWluUHRyPENHSW1hZ2VSZWY+IFdlYkNvcmU6OklPU3VyZmFjZTo6c2lua0lu
dG9JbWFnZShzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBzdXJmYWNlKQogewogI2lmIChQTEFU
Rk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMCkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDExMDApCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJT1N1cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2VS
ZWZlcmVuY2Uoc3VyZmFjZS0+ZW5zdXJlUGxhdGZvcm1Db250ZXh0KCkpKTsKQEAgLTI2MCw3ICsy
NjAsNyBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gSU9TdXJmYWNlOjpzaW5rSW50b0ltYWdlKHN0
ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IHN1cmZhYwogI2VuZGlmCiB9CiAKLXZvaWQgSU9TdXJm
YWNlOjpzZXRDb250ZXh0U2l6ZShJbnRTaXplIGNvbnRleHRTaXplKQordm9pZCBXZWJDb3JlOjpJ
T1N1cmZhY2U6OnNldENvbnRleHRTaXplKEludFNpemUgY29udGV4dFNpemUpCiB7CiAgICAgaWYg
KGNvbnRleHRTaXplID09IG1fY29udGV4dFNpemUpCiAgICAgICAgIHJldHVybjsKQEAgLTI3MSw3
ICsyNzEsNyBAQCB2b2lkIElPU3VyZmFjZTo6c2V0Q29udGV4dFNpemUoSW50U2l6ZSBjb250ZXh0
U2l6ZSkKICAgICBtX2NvbnRleHRTaXplID0gY29udGV4dFNpemU7CiB9CiAKLUNHQ29udGV4dFJl
ZiBJT1N1cmZhY2U6OmVuc3VyZVBsYXRmb3JtQ29udGV4dCgpCitDR0NvbnRleHRSZWYgV2ViQ29y
ZTo6SU9TdXJmYWNlOjplbnN1cmVQbGF0Zm9ybUNvbnRleHQoKQogewogICAgIGlmIChtX2NnQ29u
dGV4dCkKICAgICAgICAgcmV0dXJuIG1fY2dDb250ZXh0LmdldCgpOwpAQCAtMzAyLDcgKzMwMiw3
IEBAIENHQ29udGV4dFJlZiBJT1N1cmZhY2U6OmVuc3VyZVBsYXRmb3JtQ29udGV4dCgpCiAgICAg
cmV0dXJuIG1fY2dDb250ZXh0LmdldCgpOwogfQogCi1HcmFwaGljc0NvbnRleHQmIElPU3VyZmFj
ZTo6ZW5zdXJlR3JhcGhpY3NDb250ZXh0KCkKK0dyYXBoaWNzQ29udGV4dCYgV2ViQ29yZTo6SU9T
dXJmYWNlOjplbnN1cmVHcmFwaGljc0NvbnRleHQoKQogewogICAgIGlmIChtX2dyYXBoaWNzQ29u
dGV4dCkKICAgICAgICAgcmV0dXJuICptX2dyYXBoaWNzQ29udGV4dDsKQEAgLTMxMyw3ICszMTMs
NyBAQCBHcmFwaGljc0NvbnRleHQmIElPU3VyZmFjZTo6ZW5zdXJlR3JhcGhpY3NDb250ZXh0KCkK
ICAgICByZXR1cm4gKm1fZ3JhcGhpY3NDb250ZXh0OwogfQogCi1JT1N1cmZhY2U6OlN1cmZhY2VT
dGF0ZSBJT1N1cmZhY2U6OnN0YXRlKCkgY29uc3QKK1dlYkNvcmU6OklPU3VyZmFjZTo6U3VyZmFj
ZVN0YXRlIFdlYkNvcmU6OklPU3VyZmFjZTo6c3RhdGUoKSBjb25zdAogewogICAgIHVpbnQzMl90
IHByZXZpb3VzU3RhdGUgPSAwOwogICAgIElPUmV0dXJuIHJldCA9IElPU3VyZmFjZVNldFB1cmdl
YWJsZShtX3N1cmZhY2UuZ2V0KCksIGtJT1N1cmZhY2VQdXJnZWFibGVLZWVwQ3VycmVudCwgJnBy
ZXZpb3VzU3RhdGUpOwpAQCAtMzIxLDcgKzMyMSw3IEBAIElPU3VyZmFjZTo6U3VyZmFjZVN0YXRl
IElPU3VyZmFjZTo6c3RhdGUoKSBjb25zdAogICAgIHJldHVybiBwcmV2aW91c1N0YXRlID09IGtJ
T1N1cmZhY2VQdXJnZWFibGVFbXB0eSA/IElPU3VyZmFjZTo6U3VyZmFjZVN0YXRlOjpFbXB0eSA6
IElPU3VyZmFjZTo6U3VyZmFjZVN0YXRlOjpWYWxpZDsKIH0KIAotYm9vbCBJT1N1cmZhY2U6Omlz
Vm9sYXRpbGUoKSBjb25zdAorYm9vbCBXZWJDb3JlOjpJT1N1cmZhY2U6OmlzVm9sYXRpbGUoKSBj
b25zdAogewogICAgIHVpbnQzMl90IHByZXZpb3VzU3RhdGUgPSAwOwogICAgIElPUmV0dXJuIHJl
dCA9IElPU3VyZmFjZVNldFB1cmdlYWJsZShtX3N1cmZhY2UuZ2V0KCksIGtJT1N1cmZhY2VQdXJn
ZWFibGVLZWVwQ3VycmVudCwgJnByZXZpb3VzU3RhdGUpOwpAQCAtMzI5LDcgKzMyOSw3IEBAIGJv
b2wgSU9TdXJmYWNlOjppc1ZvbGF0aWxlKCkgY29uc3QKICAgICByZXR1cm4gcHJldmlvdXNTdGF0
ZSAhPSBrSU9TdXJmYWNlUHVyZ2VhYmxlTm9uVm9sYXRpbGU7CiB9CiAKLUlPU3VyZmFjZTo6U3Vy
ZmFjZVN0YXRlIElPU3VyZmFjZTo6c2V0SXNWb2xhdGlsZShib29sIGlzVm9sYXRpbGUpCitXZWJD
b3JlOjpJT1N1cmZhY2U6OlN1cmZhY2VTdGF0ZSBXZWJDb3JlOjpJT1N1cmZhY2U6OnNldElzVm9s
YXRpbGUoYm9vbCBpc1ZvbGF0aWxlKQogewogICAgIHVpbnQzMl90IHByZXZpb3VzU3RhdGUgPSAw
OwogICAgIElPUmV0dXJuIHJldCA9IElPU3VyZmFjZVNldFB1cmdlYWJsZShtX3N1cmZhY2UuZ2V0
KCksIGlzVm9sYXRpbGUgPyBrSU9TdXJmYWNlUHVyZ2VhYmxlVm9sYXRpbGUgOiBrSU9TdXJmYWNl
UHVyZ2VhYmxlTm9uVm9sYXRpbGUsICZwcmV2aW91c1N0YXRlKTsKQEAgLTM0MSw3ICszNDEsNyBA
QCBJT1N1cmZhY2U6OlN1cmZhY2VTdGF0ZSBJT1N1cmZhY2U6OnNldElzVm9sYXRpbGUoYm9vbCBp
c1ZvbGF0aWxlKQogICAgIHJldHVybiBJT1N1cmZhY2U6OlN1cmZhY2VTdGF0ZTo6VmFsaWQ7CiB9
CiAKLUlPU3VyZmFjZTo6Rm9ybWF0IElPU3VyZmFjZTo6Zm9ybWF0KCkgY29uc3QKK1dlYkNvcmU6
OklPU3VyZmFjZTo6Rm9ybWF0IFdlYkNvcmU6OklPU3VyZmFjZTo6Zm9ybWF0KCkgY29uc3QKIHsK
ICAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCA9IElPU3VyZmFjZUdldFBpeGVsRm9ybWF0KG1fc3Vy
ZmFjZS5nZXQoKSk7CiAgICAgaWYgKHBpeGVsRm9ybWF0ID09ICdCR1JBJykKQEAgLTM2MCwxOSAr
MzYwLDE5IEBAIElPU3VyZmFjZTo6Rm9ybWF0IElPU3VyZmFjZTo6Zm9ybWF0KCkgY29uc3QKICAg
ICByZXR1cm4gRm9ybWF0OjpSR0JBOwogfQogCi1ib29sIElPU3VyZmFjZTo6aXNJblVzZSgpIGNv
bnN0Citib29sIFdlYkNvcmU6OklPU3VyZmFjZTo6aXNJblVzZSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIElPU3VyZmFjZUlzSW5Vc2UobV9zdXJmYWNlLmdldCgpKTsKIH0KIAotdm9pZCBJT1N1cmZh
Y2U6OnJlbGVhc2VHcmFwaGljc0NvbnRleHQoKQordm9pZCBXZWJDb3JlOjpJT1N1cmZhY2U6OnJl
bGVhc2VHcmFwaGljc0NvbnRleHQoKQogewogICAgIG1fZ3JhcGhpY3NDb250ZXh0ID0gbnVsbHB0
cjsKICAgICBtX2NnQ29udGV4dCA9IG51bGxwdHI7CiB9CiAKICNpZiBQTEFURk9STShJT1MpCi1i
b29sIElPU3VyZmFjZTo6YWxsb3dDb252ZXJzaW9uRnJvbUZvcm1hdFRvRm9ybWF0KEZvcm1hdCBz
b3VyY2VGb3JtYXQsIEZvcm1hdCBkZXN0Rm9ybWF0KQorYm9vbCBXZWJDb3JlOjpJT1N1cmZhY2U6
OmFsbG93Q29udmVyc2lvbkZyb21Gb3JtYXRUb0Zvcm1hdChGb3JtYXQgc291cmNlRm9ybWF0LCBG
b3JtYXQgZGVzdEZvcm1hdCkKIHsKICAgICBpZiAoKHNvdXJjZUZvcm1hdCA9PSBGb3JtYXQ6OlJH
QjEwIHx8IHNvdXJjZUZvcm1hdCA9PSBGb3JtYXQ6OlJHQjEwQTgpICYmIGRlc3RGb3JtYXQgPT0g
Rm9ybWF0OjpZVVY0MjIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM4MCw3ICszODAsNyBA
QCBib29sIElPU3VyZmFjZTo6YWxsb3dDb252ZXJzaW9uRnJvbUZvcm1hdFRvRm9ybWF0KEZvcm1h
dCBzb3VyY2VGb3JtYXQsIEZvcm1hdCBkZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIElP
U3VyZmFjZTo6Y29udmVydFRvRm9ybWF0KHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZh
Y2U+JiYgaW5TdXJmYWNlLCBGb3JtYXQgZm9ybWF0LCBzdGQ6OmZ1bmN0aW9uPHZvaWQoc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4pPiBjYWxsYmFjaykKK3ZvaWQgV2ViQ29yZTo6
SU9TdXJmYWNlOjpjb252ZXJ0VG9Gb3JtYXQoc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3Vy
ZmFjZT4mJiBpblN1cmZhY2UsIEZvcm1hdCBmb3JtYXQsIHN0ZDo6ZnVuY3Rpb248dm9pZChzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik+IGNhbGxiYWNrKQogewogICAgIHN0YXRp
YyBJT1N1cmZhY2VBY2NlbGVyYXRvclJlZiBhY2NlbGVyYXRvcjsKICAgICBpZiAoIWFjY2VsZXJh
dG9yKSB7CkBAIC0zOTksMTEgKzM5OSwxMSBAQCB2b2lkIElPU3VyZmFjZTo6Y29udmVydFRvRm9y
bWF0KHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+JiYgaW5TdXJmYWNlLAogICAg
IElPU3VyZmFjZVJlZiBkZXN0aW5hdGlvbklPU3VyZmFjZVJlZiA9IGRlc3RpbmF0aW9uU3VyZmFj
ZS0+c3VyZmFjZSgpOwogCiAgICAgSU9TdXJmYWNlQWNjZWxlcmF0b3JDb21wbGV0aW9uIGNvbXBs
ZXRpb247Ci0gICAgY29tcGxldGlvbi5jb21wbGV0aW9uUmVmQ29uID0gbmV3IHN0ZDo6ZnVuY3Rp
b248dm9pZChzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPik+IChXVEZNb3ZlKGNhbGxiYWNrKSk7
CisgICAgY29tcGxldGlvbi5jb21wbGV0aW9uUmVmQ29uID0gbmV3IHN0ZDo6ZnVuY3Rpb248dm9p
ZChzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik+IChXVEZNb3ZlKGNhbGxiYWNr
KSk7CiAgICAgY29tcGxldGlvbi5jb21wbGV0aW9uUmVmQ29uMiA9IGRlc3RpbmF0aW9uU3VyZmFj
ZS5yZWxlYXNlKCk7CiAgICAgY29tcGxldGlvbi5jb21wbGV0aW9uQ2FsbGJhY2sgPSBbXSh2b2lk
ICpjb21wbGV0aW9uUmVmQ29uLCBJT1JldHVybiwgdm9pZCAqIGNvbXBsZXRpb25SZWZDb24yKSB7
CiAgICAgICAgIGF1dG8qIGNhbGxiYWNrID0gc3RhdGljX2Nhc3Q8c3RkOjpmdW5jdGlvbjx2b2lk
KHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+KT4qPihjb21wbGV0aW9uUmVmQ29u
KTsKLSAgICAgICAgYXV0byBkZXN0aW5hdGlvblN1cmZhY2UgPSBzdGQ6OnVuaXF1ZV9wdHI8SU9T
dXJmYWNlPihzdGF0aWNfY2FzdDxJT1N1cmZhY2UqPihjb21wbGV0aW9uUmVmQ29uMikpOworICAg
ICAgICBhdXRvIGRlc3RpbmF0aW9uU3VyZmFjZSA9IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJ
T1N1cmZhY2U+KHN0YXRpY19jYXN0PFdlYkNvcmU6OklPU3VyZmFjZSo+KGNvbXBsZXRpb25SZWZD
b24yKSk7CiAgICAgICAgIAogICAgICAgICAoKmNhbGxiYWNrKShXVEZNb3ZlKGRlc3RpbmF0aW9u
U3VyZmFjZSkpOwogICAgICAgICBkZWxldGUgY2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBjZTJhNDY3
YTU4MzQ3OWFhMDg4YWI2MDYxY2YyMWExZDk3Zjg0ZjhhLi41NDI0MWYyNWZlMGQ4MDM5ZjcxNGIy
N2E0MDEzYjQ0OGJjNGVmYzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTE1MCw3ICsxNTAsNyBAQCBib29sIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIFJlbW90ZUxheWVyQgogICAgICAgICBNYWNoU2VuZFJpZ2h0IHNlbmRSaWdodDsKICAgICAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShzZW5kUmlnaHQpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICByZXN1bHQubV9mcm9udEJ1ZmZlci5zdXJmYWNlID0gSU9TdXJmYWNlOjpj
cmVhdGVGcm9tU2VuZFJpZ2h0KHNlbmRSaWdodCwgQ29sb3JTcGFjZVNSR0IpOworICAgICAgICBy
ZXN1bHQubV9mcm9udEJ1ZmZlci5zdXJmYWNlID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpjcmVhdGVG
cm9tU2VuZFJpZ2h0KHNlbmRSaWdodCwgQ29sb3JTcGFjZVNSR0IpOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAjZW5kaWYKQEAgLTE4NSwxMiArMTg1LDExIEBAIEludFNpemUgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OmJhY2tpbmdTdG9yZVNpemUoKSBjb25zdAogdW5zaWduZWQgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmU6OmJ5dGVzUGVyUGl4ZWwoKSBjb25zdAogewogI2lmIFVTRShJ
T1NVUkZBQ0UpCi0gICAgV2ViQ29yZTo6SU9TdXJmYWNlOjpGb3JtYXQgZm9ybWF0ID0gYnVmZmVy
Rm9ybWF0KG1faXNPcGFxdWUpOwotICAgIHN3aXRjaCAoZm9ybWF0KSB7Ci0gICAgY2FzZSBJT1N1
cmZhY2U6OkZvcm1hdDo6UkdCQTogcmV0dXJuIDQ7Ci0gICAgY2FzZSBJT1N1cmZhY2U6OkZvcm1h
dDo6WVVWNDIyOiByZXR1cm4gMjsKLSAgICBjYXNlIElPU3VyZmFjZTo6Rm9ybWF0OjpSR0IxMDog
cmV0dXJuIDQ7Ci0gICAgY2FzZSBJT1N1cmZhY2U6OkZvcm1hdDo6UkdCMTBBODogcmV0dXJuIDU7
CisgICAgc3dpdGNoIChidWZmZXJGb3JtYXQobV9pc09wYXF1ZSkpIHsKKyAgICBjYXNlIFdlYkNv
cmU6OklPU3VyZmFjZTo6Rm9ybWF0OjpSR0JBOiByZXR1cm4gNDsKKyAgICBjYXNlIFdlYkNvcmU6
OklPU3VyZmFjZTo6Rm9ybWF0OjpZVVY0MjI6IHJldHVybiAyOworICAgIGNhc2UgV2ViQ29yZTo6
SU9TdXJmYWNlOjpGb3JtYXQ6OlJHQjEwOiByZXR1cm4gNDsKKyAgICBjYXNlIFdlYkNvcmU6OklP
U3VyZmFjZTo6Rm9ybWF0OjpSR0IxMEE4OiByZXR1cm4gNTsKICAgICB9CiAjZW5kaWYKICAgICBy
ZXR1cm4gNDsKQEAgLTIxMSw3ICsyMTAsNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Ojpzd2FwVG9WYWxpZEZyb250QnVmZmVyKCkKICAgICAgICAgc3RkOjpzd2FwKG1fZnJvbnRCdWZm
ZXIsIG1fYmFja0J1ZmZlcik7CiAKICAgICAgICAgaWYgKCFtX2Zyb250QnVmZmVyLnN1cmZhY2Up
Ci0gICAgICAgICAgICBtX2Zyb250QnVmZmVyLnN1cmZhY2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShl
eHBhbmRlZFNjYWxlZFNpemUsIENvbG9yU3BhY2VTUkdCLCBidWZmZXJGb3JtYXQobV9pc09wYXF1
ZSkpOworICAgICAgICAgICAgbV9mcm9udEJ1ZmZlci5zdXJmYWNlID0gV2ViQ29yZTo6SU9TdXJm
YWNlOjpjcmVhdGUoZXhwYW5kZWRTY2FsZWRTaXplLCBDb2xvclNwYWNlU1JHQiwgYnVmZmVyRm9y
bWF0KG1faXNPcGFxdWUpKTsKIAogICAgICAgICBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZlclR5
cGU6OkZyb250LCBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTQwMSw3ICs0MDAsNyBAQCB2
b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjphcHBseUJhY2tpbmdTdG9yZVRvTGF5ZXIoQ0FM
YXllciAqbGF5ZXIpCiAKICNpZiBVU0UoSU9TVVJGQUNFKQogICAgIGlmIChhY2NlbGVyYXRlc0Ry
YXdpbmcoKSkgewotICAgICAgICBsYXllci5jb250ZW50cyA9IChpZCltX2Zyb250QnVmZmVyLnN1
cmZhY2UtPnN1cmZhY2UoKTsKKy8vICAgICAgICBsYXllci5jb250ZW50cyA9IChpZCltX2Zyb250
QnVmZmVyLnN1cmZhY2UtPnN1cmZhY2UoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRp
ZgpAQCAtNDI0LDExICs0MjMsMTEgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c2V0
QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJvb2wgaXNWb2xhdGkKICAgICAgICAg
ICAgIGlmIChpc1ZvbGF0aWxlKQogICAgICAgICAgICAgICAgIG1fZnJvbnRCdWZmZXIuc3VyZmFj
ZS0+cmVsZWFzZUdyYXBoaWNzQ29udGV4dCgpOwogICAgICAgICAgICAgaWYgKCFpc1ZvbGF0aWxl
IHx8ICFtX2Zyb250QnVmZmVyLnN1cmZhY2UtPmlzSW5Vc2UoKSkgewotICAgICAgICAgICAgICAg
IElPU3VyZmFjZTo6U3VyZmFjZVN0YXRlIHByZXZpb3VzU3RhdGUgPSBtX2Zyb250QnVmZmVyLnN1
cmZhY2UtPnNldElzVm9sYXRpbGUoaXNWb2xhdGlsZSk7CisgICAgICAgICAgICAgICAgYXV0byBw
cmV2aW91c1N0YXRlID0gbV9mcm9udEJ1ZmZlci5zdXJmYWNlLT5zZXRJc1ZvbGF0aWxlKGlzVm9s
YXRpbGUpOwogICAgICAgICAgICAgICAgIG1fZnJvbnRCdWZmZXIuaXNWb2xhdGlsZSA9IGlzVm9s
YXRpbGU7CiAKICAgICAgICAgICAgICAgICAvLyBCZWNvbWluZyBub24tdm9sYXRpbGUgYW5kIHRo
ZSBmcm9udCBidWZmZXIgd2FzIHB1cmdlZCwgc28gd2UgbmVlZCB0byByZXBhaW50LgotICAgICAg
ICAgICAgICAgIGlmICghaXNWb2xhdGlsZSAmJiAocHJldmlvdXNTdGF0ZSA9PSBJT1N1cmZhY2U6
OlN1cmZhY2VTdGF0ZTo6RW1wdHkpKQorICAgICAgICAgICAgICAgIGlmICghaXNWb2xhdGlsZSAm
JiAocHJldmlvdXNTdGF0ZSA9PSBXZWJDb3JlOjpJT1N1cmZhY2U6OlN1cmZhY2VTdGF0ZTo6RW1w
dHkpKQogICAgICAgICAgICAgICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKICAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQ3MCw3ICs0NjksNyBA
QCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpCdWZmZXI6OmRpc2NhcmQoKQogewogI2lm
IFVTRShJT1NVUkZBQ0UpCiAgICAgaWYgKHN1cmZhY2UpCi0gICAgICAgIElPU3VyZmFjZTo6bW92
ZVRvUG9vbChXVEZNb3ZlKHN1cmZhY2UpKTsKKyAgICAgICAgV2ViQ29yZTo6SU9TdXJmYWNlOjpt
b3ZlVG9Qb29sKFdURk1vdmUoc3VyZmFjZSkpOwogICAgIGlzVm9sYXRpbGUgPSBmYWxzZTsKICNl
bmRpZgogICAgIGJpdG1hcCA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5tbQppbmRleCAzZjhmY2ZmMWE0MWUxY2Q0ZTg0ZTA4
ZDJmZmNkYzE1NTBkMWZkODJiLi4zNGZmYmM1YWVhNTk3YjJjYjkzZjRkOWM0YTMzMTY2MTM3NTc3
NjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hv
dFN0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90
U3RvcmUubW0KQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFZpZXdTbmFwc2hvdFN0b3JlOjpkaXNj
YXJkU25hcHNob3RJbWFnZXMoKQogfQogCiAjaWYgVVNFKElPU1VSRkFDRSkKLVJlZjxWaWV3U25h
cHNob3Q+IFZpZXdTbmFwc2hvdDo6Y3JlYXRlKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IHN1
cmZhY2UpCitSZWY8Vmlld1NuYXBzaG90PiBWaWV3U25hcHNob3Q6OmNyZWF0ZShzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlKQogewogICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFZpZXdTbmFwc2hvdChXVEZNb3ZlKHN1cmZhY2UpKSk7CiB9CkBAIC0xNDQsNyArMTQ0
LDcgQEAgUmVmPFZpZXdTbmFwc2hvdD4gVmlld1NuYXBzaG90OjpjcmVhdGUodWludDMyX3Qgc2xv
dElELCBJbnRTaXplIHNpemUsIHNpemVfdCBpbWEKICNlbmRpZgogCiAjaWYgVVNFKElPU1VSRkFD
RSkKLVZpZXdTbmFwc2hvdDo6Vmlld1NuYXBzaG90KHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+
IHN1cmZhY2UpCitWaWV3U25hcHNob3Q6OlZpZXdTbmFwc2hvdChzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlKQogICAgIDogbV9zdXJmYWNlKFdURk1vdmUoc3VyZmFj
ZSkpCiAjZWxzZQogVmlld1NuYXBzaG90OjpWaWV3U25hcHNob3QodWludDMyX3Qgc2xvdElELCBJ
bnRTaXplIHNpemUsIHNpemVfdCBpbWFnZVNpemVJbkJ5dGVzKQpAQCAtMjA3LDEyICsyMDcsMTIg
QEAgaWQgVmlld1NuYXBzaG90Ojphc0xheWVyQ29udGVudHMoKQogICAgIGlmICghbV9zdXJmYWNl
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGlmIChtX3N1cmZhY2UtPnNldElzVm9s
YXRpbGUoZmFsc2UpICE9IElPU3VyZmFjZTo6U3VyZmFjZVN0YXRlOjpWYWxpZCkgeworICAgIGlm
IChtX3N1cmZhY2UtPnNldElzVm9sYXRpbGUoZmFsc2UpICE9IFdlYkNvcmU6OklPU3VyZmFjZTo6
U3VyZmFjZVN0YXRlOjpWYWxpZCkgewogICAgICAgICBjbGVhckltYWdlKCk7CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiAoaWQpbV9zdXJmYWNlLT5zdXJmYWNl
KCk7CisgICAgcmV0dXJuIG1fc3VyZmFjZS0+YXNMYXllckNvbnRlbnRzKCk7CiAjZWxzZQogICAg
IHJldHVybiBbQ0FDb250ZXh0IG9iamVjdEZvclNsb3Q6bV9zbG90SURdOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="305320"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>