<?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>99320</bug_id>
          
          <creation_ts>2012-10-15 06:31:58 -0700</creation_ts>
          <short_desc>GraphicsSurface should not modify the current GL context.</short_desc>
          <delta_ts>2012-10-18 02:48:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>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="Zeno Albisser">zeno</reporter>
          <assigned_to name="Zeno Albisser">zeno</assigned_to>
          <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>742004</commentid>
    <comment_count>0</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-15 06:31:58 -0700</bug_when>
    <thetext>GraphicsSurface should not modify the current GL context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742015</commentid>
    <comment_count>1</comment_count>
      <attachid>168704</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-15 06:47:42 -0700</bug_when>
    <thetext>Created attachment 168704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742017</commentid>
    <comment_count>2</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-15 06:49:33 -0700</bug_when>
    <thetext>This patch depends on a commit to Qt5/qtbase which is currently staging, but not landed yet.
Therefore compilation might fail on Mac.

https://codereview.qt-project.org/#change,37168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742047</commentid>
    <comment_count>3</comment_count>
      <attachid>168704</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-10-15 08:04:22 -0700</bug_when>
    <thetext>Comment on attachment 168704
Patch

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

&gt; Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h:88
&gt; +    static PassRefPtr&lt;GraphicsSurface&gt; platformCreate(const PlatformGraphicsContext3D, const IntSize&amp;, Flags);

Nit: since the context is more of an optional parameter, it should be at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743055</commentid>
    <comment_count>4</comment_count>
      <attachid>168917</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-16 04:29:36 -0700</bug_when>
    <thetext>Created attachment 168917
Patch for review. - disable QCocoaNativeInterface code path until next Qt5 update.

This patch might not apply, as it depends on Patch: 168794.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743056</commentid>
    <comment_count>5</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-16 04:30:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 168704 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168704&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h:88
&gt; &gt; +    static PassRefPtr&lt;GraphicsSurface&gt; platformCreate(const PlatformGraphicsContext3D, const IntSize&amp;, Flags);
&gt; 
&gt; Nit: since the context is more of an optional parameter, it should be at the end.

Sure, i&apos;ll adjust that before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745105</commentid>
    <comment_count>6</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 02:44:25 -0700</bug_when>
    <thetext>Committed r131719: &lt;http://trac.webkit.org/changeset/131719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745108</commentid>
    <comment_count>7</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-10-18 02:48:20 -0700</bug_when>
    <thetext>Committed r131720: &lt;http://trac.webkit.org/changeset/131720&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168704</attachid>
            <date>2012-10-15 06:47:42 -0700</date>
            <delta_ts>2012-10-15 08:04:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99320-20121015154632.patch</filename>
            <type>text/plain</type>
            <size>24315</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM1OGI5OWY1NjljNmJj
N2Q1OGE1YjdhZDRlOTY1OTgyODFlN2MwOS4uOTJhYTVhZGIzNGZjMzQzOGFkODkzNDUyNTM4NzAw
Yjc2OGFiMjJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTEwLTE1ICBaZW5v
IEFsYmlzc2VyICA8emVub0B3ZWJraXQub3JnPgorCisgICAgICAgIEdyYXBoaWNzU3VyZmFjZSBz
aG91bGQgbm90IG1vZGlmeSB0aGUgY3VycmVudCBHTCBjb250ZXh0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkzMjAKKworICAgICAgICBJbnN0ZWFk
IG9mIHJldXNpbmcgdGhlIGN1cnJlbnRseSBib3VuZCBHTCBjb250ZXh0IGZvciBkcmF3aW5nCisg
ICAgICAgIHRoZSB0ZXh0dXJlIG9udG8gdGhlIEdyYXBoaWNzU3VyZmFjZSwgR3JhcGhpY3NTdXJm
YWNlIHNob3VsZAorICAgICAgICBjcmVhdGUgYSBuZXcgY29udGV4dCB0aGF0IHNoYXJlcyB0aGUg
dGV4dHVyZSBuYW1lcyB3aXRoIGEgY29udGV4dAorICAgICAgICBwcm92aWRlZCBieSB0aGUgY2Fs
bGVyLgorICAgICAgICBUaGlzIHdheSB0aGUgT3BlbkdMIHN0YXRlcyBhcmUgY2xlYXJseSBzZXBh
cmF0ZWQgYW5kIHdlIGRvIG5vdAorICAgICAgICByaXNrIGludGVyZmVlcmluZyB3aXRoIHRoZSBj
dXJyZW50bHkgYm91bmQgR0wgY29udGV4dC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpH
cmFwaGljc0NvbnRleHQzRFByaXZhdGUpOgorICAgICAgICAgICAgV2hlbiBjcmVhdGluZyBhIEdy
YXBoaWNzU3VyZmFjZSBwYXNzIHRoZSBwbGF0Zm9ybSBHTCBjb250ZXh0CisgICAgICAgICAgICBh
cyBhIHBhcmFtZXRlciwgc28gaXQgY2FuIGJlIHVzZWQgZm9yIHNoYXJpbmcgdGV4dHVyZXMgd2l0
aC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y29weVRvR3Jh
cGhpY3NTdXJmYWNlKToKKyAgICAgICAgICAgIFBhc3MgdGhlIHRleHR1cmUgaW5zdGVhZCBvZiB0
aGUgRkJPLiBBIFRleHR1cmUgY2FuIGJlIGRyYXduCisgICAgICAgICAgICBkaXJlY3RseSBvciBi
b3VuZCB0byBhbm90aGVyIEZCTywgd2hlcmUgYSBmcmFtZWJ1ZmZlcgorICAgICAgICAgICAgYWx3
YXlzIG5lZWRzIHRvIGJlIGJsaXQgb250byB0aGUgc3VyZmFjZS4KKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NTdXJmYWNlcyk6CisgICAg
ICAgICAgICBQYXNzIHRoZSBwbGF0Zm9ybSBHTCBjb250ZXh0IGFzIGEgcGFyYW1ldGVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBoaWNzU3VyZmFjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc1N1cmZhY2U6OmNvcHlGcm9tVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NTdXJmYWNlLmg6CisgICAgICAgIChHcmFwaGlj
c1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL21hYy9HcmFw
aGljc1N1cmZhY2VNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlUHJp
dmF0ZTo6R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSk6CisgICAgICAgICAgICBDcmVhdGUgYSBuZXcg
R0wgY29udGV4dCB0aGF0IHNoYXJlcyB0aGUgdGV4dHVyZXMgd2l0aCB0aGUKKyAgICAgICAgICAg
IGNvbnRleHQgcHJvdmlkZWQgYnkgdGhlIGNhbGxlci4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzU3VyZmFjZVByaXZhdGU6On5HcmFwaGljc1N1cmZhY2VQcml2YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6Om1ha2VDdXJyZW50KToKKyAgICAgICAgICAg
IEFkZCBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIG1ha2UgdGhlIGNvbnRleHQgdGhhdAorICAg
ICAgICAgICAgYmVsb25ncyB0byB0aGUgc3VyZmFjZSBjdXJyZW50LgorICAgICAgICAoR3JhcGhp
Y3NTdXJmYWNlUHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VQcml2
YXRlOjpkb25lQ3VycmVudCk6CisgICAgICAgICAgICBBZGQgYSBjb252ZW5pZW5jZSBmdW5jdGlv
biB0byBtYWtlIHRoZSBwcmV2aW91c2x5CisgICAgICAgICAgICBib3VuZCBjb250ZXh0IGN1cnJl
bnQgYWdhaW4uCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1cmZhY2VQcml2YXRlOjpjb3B5
RnJvbVRleHR1cmUpOgorICAgICAgICAgICAgTW92ZSBibGl0dGluZyBvZiB0aGUgdGV4dHVyZSBv
bnRvIHRoZSBzdXJmYWNlCisgICAgICAgICAgICBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24gd2l0
aGluIEdyYXBoaWNzU3VyZmFjZVByaXZhdGUuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc1N1
cmZhY2U6OnBsYXRmb3JtQ29weUZyb21UZXh0dXJlKToKKyAgICAgICAgICAgIFJlbmFtZSBmdW5j
dGlvbiBwbGF0Zm9ybUNvcHlGcm9tRnJhbWVidWZmZXIgdG8KKyAgICAgICAgICAgIHBsYXRmb3Jt
Q29weUZyb21UZXh0dXJlLCBhcyB3ZSBhcmUgbm93IHBhc3NpbmcgdGhlIHRleHR1cmUgb25seS4K
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1DcmVhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL3F0L0dyYXBoaWNzU3VyZmFjZUdMWC5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFj
ZVByaXZhdGU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NTdXJmYWNlUHJpdmF0ZTo6bWFrZUN1cnJlbnQpOgorICAgICAgICAgICAgQWRkIGEgY29u
dmVuaWVuY2UgZnVuY3Rpb24gdG8gbWFrZSB0aGUgY29udGV4dCB0aGF0CisgICAgICAgICAgICBi
ZWxvbmdzIHRvIHRoZSBzdXJmYWNlIGN1cnJlbnQuCisgICAgICAgIChHcmFwaGljc1N1cmZhY2VQ
cml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6OmRvbmVD
dXJyZW50KToKKyAgICAgICAgICAgIEFkZCBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIG1ha2Ug
dGhlIHByZXZpb3VzbHkKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6
OmNvcHlGcm9tVGV4dHVyZSk6CisgICAgICAgICAgICBNb3ZlIGJsaXR0aW5nIG9mIHRoZSB0ZXh0
dXJlIG9udG8gdGhlIHN1cmZhY2UKKyAgICAgICAgICAgIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlv
biB3aXRoaW4gR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OnJlc29s
dmVHTE1ldGhvZHMpOgorICAgICAgICAgICAgUmVzb2x2ZSBhZGRpdGlvbmFsIEdMIG1ldGhvZHMg
bmVjZXNzYXJ5IGZvciB0aGlzIGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3Vy
ZmFjZTo6cGxhdGZvcm1Db3B5RnJvbVRleHR1cmUpOgorICAgICAgICAgICAgUmVuYW1lIGZ1bmN0
aW9uIHBsYXRmb3JtQ29weUZyb21GcmFtZWJ1ZmZlciB0bworICAgICAgICAgICAgcGxhdGZvcm1D
b3B5RnJvbVRleHR1cmUsIGFzIHdlIGFyZSBub3cgcGFzc2luZyB0aGUgdGV4dHVyZSBvbmx5Lgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUNyZWF0ZSk6CisKIDIw
MTItMTAtMTIgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0
XVtXSzJdIEdyYXBoaWNzU3VyZmFjZUdMWCBzaG91bGQga2VlcCB0cmFjayBvZiBwcmV2aW91cyBH
TCBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA2OWFhODY1OTEyNmUxMDUyMTQ2
OTMzMDhlN2I1ZWQ1YWI2MjU5Yzk5Li45YjAwMDM3OTc3MzUyY2QxZWMxODM4MjczZjAyMTQ5Yjc5
NGI4NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlKEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0LCBICiAgICAgICAgICAgICAgICAgICAgIHwgR3JhcGhpY3NTdXJmYWNl
OjpTdXBwb3J0c1NoYXJpbmc7CiAKICAgICBpZiAoIXN1cmZhY2VTaXplLmlzRW1wdHkoKSkgewot
ICAgICAgICBtX2dyYXBoaWNzU3VyZmFjZSA9IEdyYXBoaWNzU3VyZmFjZTo6Y3JlYXRlKHN1cmZh
Y2VTaXplLCBtX3N1cmZhY2VGbGFncyk7CisgICAgICAgIG1fZ3JhcGhpY3NTdXJmYWNlID0gR3Jh
cGhpY3NTdXJmYWNlOjpjcmVhdGUoc3VyZmFjZVNpemUsIG1fc3VyZmFjZUZsYWdzLCBtX3BsYXRm
b3JtQ29udGV4dCk7CiAgICAgfQogI2VuZGlmCiB9CkBAIC0yODQsNyArMjg0LDcgQEAgdWludDMy
X3QgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjb3B5VG9HcmFwaGljc1N1cmZhY2UoKQogCiAg
ICAgYmxpdE11bHRpc2FtcGxlRnJhbWVidWZmZXJBbmRSZXN0b3JlQ29udGV4dCgpOwogICAgIG1h
a2VDdXJyZW50SWZOZWVkZWQoKTsKLSAgICBtX2dyYXBoaWNzU3VyZmFjZS0+Y29weUZyb21GcmFt
ZWJ1ZmZlcihtX2NvbnRleHQtPm1fZmJvLCBJbnRSZWN0KDAsIDAsIG1fY29udGV4dC0+bV9jdXJy
ZW50V2lkdGgsIG1fY29udGV4dC0+bV9jdXJyZW50SGVpZ2h0KSk7CisgICAgbV9ncmFwaGljc1N1
cmZhY2UtPmNvcHlGcm9tVGV4dHVyZShtX2NvbnRleHQtPm1fdGV4dHVyZSwgSW50UmVjdCgwLCAw
LCBtX2NvbnRleHQtPm1fY3VycmVudFdpZHRoLCBtX2NvbnRleHQtPm1fY3VycmVudEhlaWdodCkp
OwogICAgIHVpbnQzMl90IGZyb250QnVmZmVyID0gbV9ncmFwaGljc1N1cmZhY2UtPnN3YXBCdWZm
ZXJzKCk7CiAgICAgcmV0dXJuIGZyb250QnVmZmVyOwogfQpAQCAtMzQyLDcgKzM0Miw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc1N1cmZhY2VzKGNvbnN0
IEludFNpemUmIHNpemUpCiAgICAgaWYgKHNpemUuaXNFbXB0eSgpKQogICAgICAgICBtX2dyYXBo
aWNzU3VyZmFjZS5jbGVhcigpOwogICAgIGVsc2UKLSAgICAgICAgbV9ncmFwaGljc1N1cmZhY2Ug
PSBHcmFwaGljc1N1cmZhY2U6OmNyZWF0ZShzaXplLCBtX3N1cmZhY2VGbGFncyk7CisgICAgICAg
IG1fZ3JhcGhpY3NTdXJmYWNlID0gR3JhcGhpY3NTdXJmYWNlOjpjcmVhdGUoc2l6ZSwgbV9zdXJm
YWNlRmxhZ3MsIG1fcGxhdGZvcm1Db250ZXh0KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvR3JhcGhpY3NT
dXJmYWNlLmNwcAppbmRleCBjMTZhMzc3OTkxN2ZiYjYwOTA2Y2ZmODc0ZjhjZTE1OTM3M2IzOWMx
Li4zNDU1NTBhYWU3MDdkMTE4NTc3MTQ0OTE4ZmU3OGY1NjQxN2I0YjkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL0dyYXBo
aWNzU3VyZmFjZS5jcHAKQEAgLTMwLDkgKzMwLDkgQEAgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZh
Y2U+IEdyYXBoaWNzU3VyZmFjZTo6Y3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdzIGYK
ICAgICByZXR1cm4gcGxhdGZvcm1JbXBvcnQoc2l6ZSwgZmxhZ3MsIHRva2VuKTsKIH0KIAotUGFz
c1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IEdyYXBoaWNzU3VyZmFjZTo6Y3JlYXRlKGNvbnN0IElu
dFNpemUmIHNpemUsIEdyYXBoaWNzU3VyZmFjZTo6RmxhZ3MgZmxhZ3MpCitQYXNzUmVmUHRyPEdy
YXBoaWNzU3VyZmFjZT4gR3JhcGhpY3NTdXJmYWNlOjpjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgR3JhcGhpY3NTdXJmYWNlOjpGbGFncyBmbGFncywgY29uc3QgUGxhdGZvcm1HcmFwaGljc0Nv
bnRleHQzRCBzaGFyZUNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIHBsYXRmb3JtQ3JlYXRlKHNpemUs
IGZsYWdzKTsKKyAgICByZXR1cm4gcGxhdGZvcm1DcmVhdGUoc2hhcmVDb250ZXh0LCBzaXplLCBm
bGFncyk7CiB9CiAKIEdyYXBoaWNzU3VyZmFjZVRva2VuIEdyYXBoaWNzU3VyZmFjZTo6ZXhwb3J0
VG9rZW4oKQpAQCAtNTgsOSArNTgsOSBAQCB2b2lkIEdyYXBoaWNzU3VyZmFjZTo6Y29weVRvR0xU
ZXh0dXJlKHVpbnQzMl90IHRhcmdldCwgdWludDMyX3QgdGV4dHVyZSwgY29uc3QgSQogICAgIHBs
YXRmb3JtQ29weVRvR0xUZXh0dXJlKHRhcmdldCwgdGV4dHVyZSwgdGFyZ2V0UmVjdCwgb2Zmc2V0
KTsKIH0KIAotdm9pZCBHcmFwaGljc1N1cmZhY2U6OmNvcHlGcm9tRnJhbWVidWZmZXIodWludDMy
X3QgZmJvLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0KQordm9pZCBHcmFwaGljc1N1cmZhY2U6
OmNvcHlGcm9tVGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJlLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VS
ZWN0KQogewotICAgIHBsYXRmb3JtQ29weUZyb21GcmFtZWJ1ZmZlcihmYm8sIHNvdXJjZVJlY3Qp
OworICAgIHBsYXRmb3JtQ29weUZyb21UZXh0dXJlKHRleHR1cmUsIHNvdXJjZVJlY3QpOwogfQog
CiB2b2lkIEdyYXBoaWNzU3VyZmFjZTo6cGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBl
ciogdGV4dHVyZU1hcHBlciwgY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJl
KiBtYXNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3Vy
ZmFjZXMvR3JhcGhpY3NTdXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaAppbmRleCBlNzhlYmJjMGUxN2JmYTQ2ODMwM2Vl
MDU1MjVmNWU0Nzk5NDAxMTZlLi41ZWI3YTU5Njc0MmRlZmExNmQ5YzIyNmEzOTkwNDFlODZiMGZl
NDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy9HcmFwaGljc1N1cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9zdXJmYWNlcy9HcmFwaGljc1N1cmZhY2UuaApAQCAtMjEsNiArMjEsNyBAQAogI2RlZmluZSBH
cmFwaGljc1N1cmZhY2VfaAogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJHcmFwaGljc1N1cmZhY2VUb2tlbi5o
IgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC03MCwx
MCArNzEsMTAgQEAgcHVibGljOgogICAgIFBsYXRmb3JtR3JhcGhpY3NTdXJmYWNlIHBsYXRmb3Jt
U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1TdXJmYWNlOyB9CiAgICAgSW50U2l6
ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxHcmFwaGljc1N1cmZhY2U+IGNyZWF0ZShjb25zdCBJbnRTaXplJiwgRmxhZ3MpOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gY3JlYXRlKGNvbnN0IEludFNpemUmLCBG
bGFncywgY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBzaGFyZUNvbnRleHQgPSAwKTsK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IGNyZWF0ZShjb25zdCBJbnRT
aXplJiwgRmxhZ3MsIGNvbnN0IEdyYXBoaWNzU3VyZmFjZVRva2VuJik7CiAgICAgdm9pZCBjb3B5
VG9HTFRleHR1cmUodWludDMyX3QgdGFyZ2V0LCB1aW50MzJfdCB0ZXh0dXJlLCBjb25zdCBJbnRS
ZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBJbnRQb2ludCYgc291cmNlT2Zmc2V0KTsKLSAgICB2b2lk
IGNvcHlGcm9tRnJhbWVidWZmZXIodWludDMyX3QgZmJvLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VS
ZWN0KTsKKyAgICB2b2lkIGNvcHlGcm9tVGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJlLCBjb25zdCBJ
bnRSZWN0JiBzb3VyY2VSZWN0KTsKICAgICB2b2lkIHBhaW50VG9UZXh0dXJlTWFwcGVyKFRleHR1
cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgQml0bWFwVGV4dHVyZSogbWFzayk7CiAgICAgdWlu
dDMyX3QgZnJvbnRCdWZmZXIoKTsKICAgICB1aW50MzJfdCBzd2FwQnVmZmVycygpOwpAQCAtODQs
NyArODUsNyBAQCBwdWJsaWM6CiAgICAgfkdyYXBoaWNzU3VyZmFjZSgpOwogCiBwcm90ZWN0ZWQ6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBwbGF0Zm9ybUNyZWF0ZShj
b25zdCBJbnRTaXplJiwgRmxhZ3MpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdyYXBoaWNzU3Vy
ZmFjZT4gcGxhdGZvcm1DcmVhdGUoY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCwgY29u
c3QgSW50U2l6ZSYsIEZsYWdzKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZh
Y2U+IHBsYXRmb3JtSW1wb3J0KGNvbnN0IEludFNpemUmLCBGbGFncywgY29uc3QgR3JhcGhpY3NT
dXJmYWNlVG9rZW4mKTsKICAgICBHcmFwaGljc1N1cmZhY2VUb2tlbiBwbGF0Zm9ybUV4cG9ydCgp
OwogICAgIHZvaWQgcGxhdGZvcm1EZXN0cm95KCk7CkBAIC05Myw3ICs5NCw3IEBAIHByb3RlY3Rl
ZDoKICAgICBjaGFyKiBwbGF0Zm9ybUxvY2soY29uc3QgSW50UmVjdCYsIGludCogc3RyaWRlLCBM
b2NrT3B0aW9ucyk7CiAgICAgdm9pZCBwbGF0Zm9ybVVubG9jaygpOwogICAgIHZvaWQgcGxhdGZv
cm1Db3B5VG9HTFRleHR1cmUodWludDMyX3QgdGFyZ2V0LCB1aW50MzJfdCB0ZXh0dXJlLCBjb25z
dCBJbnRSZWN0JiwgY29uc3QgSW50UG9pbnQmKTsKLSAgICB2b2lkIHBsYXRmb3JtQ29weUZyb21G
cmFtZWJ1ZmZlcih1aW50MzJfdCBmYm8sIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QpOworICAg
IHZvaWQgcGxhdGZvcm1Db3B5RnJvbVRleHR1cmUodWludDMyX3QgdGV4dHVyZSwgY29uc3QgSW50
UmVjdCYgc291cmNlUmVjdCk7CiAgICAgdm9pZCBwbGF0Zm9ybVBhaW50VG9UZXh0dXJlTWFwcGVy
KFRleHR1cmVNYXBwZXIqLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiwgZmxvYXQgb3BhY2l0eSwgQml0bWFwVGV4dHVyZSogbWFzayk7CiAg
ICAgdWludDMyX3QgcGxhdGZvcm1Gcm9udEJ1ZmZlcigpIGNvbnN0OwogICAgIHVpbnQzMl90IHBs
YXRmb3JtU3dhcEJ1ZmZlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3N1cmZhY2VzL21hYy9HcmFwaGljc1N1cmZhY2VNYWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5j
cHAKaW5kZXggOTRjMzM5MTc2ZTBiYWNiNTczMmFmNDg4ODk2MTk3OGRiZTQxOWU5ZS4uY2NlZTBk
MWFiNjc3NTAyYWU4NTI3YzQwM2Q3YmFjZGZmOGVlZjlmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvbWFjL0dy
YXBoaWNzU3VyZmFjZU1hYy5jcHAKQEAgLTI3LDggKzI3LDE1IEBACiAjaW5jbHVkZSA8Q0dMQ3Vy
cmVudC5oPgogI2luY2x1ZGUgPENHTElPU3VyZmFjZS5oPgogI2luY2x1ZGUgPElPU3VyZmFjZS9J
T1N1cmZhY2UuaD4KKyNpbmNsdWRlIDxPcGVuR0wvT3BlbkdMLmg+CiAjaW5jbHVkZSA8T3BlbkdM
L2dsLmg+CiAKKyNpZiBQTEFURk9STShRVCkKKyNpbmNsdWRlIDxRR3VpQXBwbGljYXRpb24+Cisj
aW5jbHVkZSA8UU9wZW5HTENvbnRleHQ+CisjaW5jbHVkZSA8cXBhL3FwbGF0Zm9ybW5hdGl2ZWlu
dGVyZmFjZS5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIHVpbnQz
Ml90IGNyZWF0ZVRleHR1cmUoSU9TdXJmYWNlUmVmIGhhbmRsZSkKQEAgLTY1LDE4ICs3MiwzNyBA
QCBzdGF0aWMgdWludDMyX3QgY3JlYXRlVGV4dHVyZShJT1N1cmZhY2VSZWYgaGFuZGxlKQogc3Ry
dWN0IEdyYXBoaWNzU3VyZmFjZVByaXZhdGUgewogcHVibGljOgogICAgIEdyYXBoaWNzU3VyZmFj
ZVByaXZhdGUoY29uc3QgR3JhcGhpY3NTdXJmYWNlVG9rZW4mIHRva2VuKQotICAgICAgICA6IG1f
dG9rZW4odG9rZW4pCisgICAgICAgIDogbV9jb250ZXh0KDApCisgICAgICAgICwgbV90b2tlbih0
b2tlbikKICAgICAgICAgLCBtX2Zyb250QnVmZmVyVGV4dHVyZSgwKQogICAgICAgICAsIG1fYmFj
a0J1ZmZlclRleHR1cmUoMCkKKyAgICAgICAgLCBtX3JlYWRGYm8oMCkKKyAgICAgICAgLCBtX2Ry
YXdGYm8oMCkKICAgICB7CiAgICAgICAgIG1fZnJvbnRCdWZmZXIgPSBJT1N1cmZhY2VMb29rdXAo
bV90b2tlbi5mcm9udEJ1ZmZlckhhbmRsZSk7CiAgICAgICAgIG1fYmFja0J1ZmZlciA9IElPU3Vy
ZmFjZUxvb2t1cChtX3Rva2VuLmJhY2tCdWZmZXJIYW5kbGUpOwogICAgIH0KIAotICAgIEdyYXBo
aWNzU3VyZmFjZVByaXZhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgR3JhcGhpY3NTdXJmYWNlOjpG
bGFncyBmbGFncykKLSAgICAgICAgOiBtX2Zyb250QnVmZmVyVGV4dHVyZSgwKQorICAgIEdyYXBo
aWNzU3VyZmFjZVByaXZhdGUoY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBzaGFyZUNv
bnRleHQsIGNvbnN0IEludFNpemUmIHNpemUsIEdyYXBoaWNzU3VyZmFjZTo6RmxhZ3MgZmxhZ3Mp
CisgICAgICAgIDogbV9jb250ZXh0KDApCisgICAgICAgICwgbV9mcm9udEJ1ZmZlclRleHR1cmUo
MCkKICAgICAgICAgLCBtX2JhY2tCdWZmZXJUZXh0dXJlKDApCisgICAgICAgICwgbV9yZWFkRmJv
KDApCisgICAgICAgICwgbV9kcmF3RmJvKDApCiAgICAgeworI2lmIFBMQVRGT1JNKFFUKQorICAg
ICAgICBRUGxhdGZvcm1OYXRpdmVJbnRlcmZhY2UqIG5hdGl2ZUludGVyZmFjZSA9IFFHdWlBcHBs
aWNhdGlvbjo6cGxhdGZvcm1OYXRpdmVJbnRlcmZhY2UoKTsKKyAgICAgICAgQ0dMQ29udGV4dE9i
aiBzaGFyZUNvbnRleHRPYmplY3QgPSBzdGF0aWNfY2FzdDxDR0xDb250ZXh0T2JqPihuYXRpdmVJ
bnRlcmZhY2UtPm5hdGl2ZVJlc291cmNlRm9yQ29udGV4dChRQnl0ZUFycmF5TGl0ZXJhbCgiY2ds
Q29udGV4dE9iaiIpLCBzaGFyZUNvbnRleHQpKTsKKyAgICAgICAgaWYgKCFzaGFyZUNvbnRleHRP
YmplY3QpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgQ0dMUGl4ZWxGb3JtYXRPYmog
cGl4ZWxGb3JtYXRPYmplY3QgPSBDR0xHZXRQaXhlbEZvcm1hdChzaGFyZUNvbnRleHRPYmplY3Qp
OworICAgICAgICBpZiAoa0NHTE5vRXJyb3IgIT0gQ0dMQ3JlYXRlQ29udGV4dChwaXhlbEZvcm1h
dE9iamVjdCwgc2hhcmVDb250ZXh0T2JqZWN0LCAmbV9jb250ZXh0KSkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBDR0xSZXRhaW5Db250ZXh0KG1fY29udGV4dCk7CisjZW5kaWYKKwog
ICAgICAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCA9ICdCR1JBJzsKICAgICAgICAgdW5zaWduZWQg
Ynl0ZXNQZXJFbGVtZW50ID0gNDsKICAgICAgICAgaW50IHdpZHRoID0gc2l6ZS53aWR0aCgpOwpA
QCAtMTMwLDYgKzE1NiwxNiBAQCBwdWJsaWM6CiAKICAgICAgICAgaWYgKG1fYmFja0J1ZmZlcikK
ICAgICAgICAgICAgIENGUmVsZWFzZShJT1N1cmZhY2VSZWYobV9iYWNrQnVmZmVyKSk7CisKKyAg
ICAgICAgaWYgKG1fcmVhZEZibykKKyAgICAgICAgICAgIGdsRGVsZXRlRnJhbWVidWZmZXJzKDEs
ICZtX3JlYWRGYm8pOworCisgICAgICAgIGlmIChtX2RyYXdGYm8pCisgICAgICAgICAgICBnbERl
bGV0ZUZyYW1lYnVmZmVycygxLCAmbV9kcmF3RmJvKTsKKworICAgICAgICBpZiAobV9jb250ZXh0
KQorICAgICAgICAgICAgQ0dMUmVsZWFzZUNvbnRleHQobV9jb250ZXh0KTsKKwogICAgIH0KIAog
ICAgIHVpbnQzMl90IHN3YXBCdWZmZXJzKCkKQEAgLTE0MCw2ICsxNzYsNjEgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gSU9TdXJmYWNlR2V0SUQobV9mcm9udEJ1ZmZlcik7CiAgICAgfQogCisg
ICAgdm9pZCBtYWtlQ3VycmVudCgpCisgICAgeworICAgICAgICBtX2RldGFjaGVkQ29udGV4dCA9
IENHTEdldEN1cnJlbnRDb250ZXh0KCk7CisKKyAgICAgICAgaWYgKG1fY29udGV4dCkKKyAgICAg
ICAgICAgIENHTFNldEN1cnJlbnRDb250ZXh0KG1fY29udGV4dCk7CisgICAgfQorCisgICAgdm9p
ZCBkb25lQ3VycmVudCgpCisgICAgeworICAgICAgICBDR0xTZXRDdXJyZW50Q29udGV4dChtX2Rl
dGFjaGVkQ29udGV4dCk7CisgICAgICAgIG1fZGV0YWNoZWRDb250ZXh0ID0gMDsKKyAgICB9CisK
KyAgICB2b2lkIGNvcHlGcm9tVGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJlLCBjb25zdCBJbnRSZWN0
JiBzb3VyY2VSZWN0KQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFRoZSBmb2xsb3dpbmcgZ2xG
bHVzaCBjYW4gcG9zc2libHkgYmUgcmVwbGFjZWQgYnkgdXNpbmcgdGhlIEdMX0FSQl9zeW5jIGV4
dGVuc2lvbi4KKyAgICAgICAgZ2xGbHVzaCgpOyAvLyBNYWtlIHN1cmUgdGhlIHRleHR1cmUgaGFz
IGFjdHVhbGx5IGJlZW4gY29tcGxldGVseSB3cml0dGVuIGluIHRoZSBvcmlnaW5hbCBjb250ZXh0
LgorCisgICAgICAgIG1ha2VDdXJyZW50KCk7CisgICAgICAgIGdsRW5hYmxlKEdMX1RFWFRVUkVf
UkVDVEFOR0xFX0FSQik7CisKKyAgICAgICAgaW50IHggPSBzb3VyY2VSZWN0LngoKTsKKyAgICAg
ICAgaW50IHkgPSBzb3VyY2VSZWN0LnkoKTsKKyAgICAgICAgaW50IHdpZHRoID0gc291cmNlUmVj
dC53aWR0aCgpOworICAgICAgICBpbnQgaGVpZ2h0ID0gc291cmNlUmVjdC5oZWlnaHQoKTsKKwor
ICAgICAgICBnbFB1c2hBdHRyaWIoR0xfQUxMX0FUVFJJQl9CSVRTKTsKKyAgICAgICAgR0xpbnQg
cHJldmlvdXNGQk87CisgICAgICAgIGdsR2V0SW50ZWdlcnYoR0xfRlJBTUVCVUZGRVJfQklORElO
RywgJnByZXZpb3VzRkJPKTsKKworICAgICAgICBpZiAoIW1fZHJhd0ZibykKKyAgICAgICAgICAg
IGdsR2VuRnJhbWVidWZmZXJzKDEsICZtX2RyYXdGYm8pOworCisgICAgICAgIGlmICghbV9yZWFk
RmJvKQorICAgICAgICAgICAgZ2xHZW5GcmFtZWJ1ZmZlcnMoMSwgJm1fcmVhZEZibyk7CisKKyAg
ICAgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfUkVBRF9GUkFNRUJVRkZFUiwgbV9yZWFkRmJvKTsK
KyAgICAgICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9SRUFEX0ZSQU1FQlVGRkVSLCBHTF9D
T0xPUl9BVFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV8yRCwgdGV4dHVyZSwgMCk7CisKKyAgICAgICAg
Z2xCaW5kRnJhbWVidWZmZXIoR0xfRFJBV19GUkFNRUJVRkZFUiwgbV9kcmF3RmJvKTsKKyAgICAg
ICAgZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9EUkFXX0ZSQU1FQlVGRkVSLCBHTF9DT0xPUl9B
VFRBQ0hNRU5UMCwgR0xfVEVYVFVSRV9SRUNUQU5HTEVfQVJCLCBiYWNrQnVmZmVyVGV4dHVyZUlE
KCksIDApOworICAgICAgICBnbEJsaXRGcmFtZWJ1ZmZlcih4LCB5LCB3aWR0aCwgaGVpZ2h0LCB4
LCB4K2hlaWdodCwgeSt3aWR0aCwgeSwgR0xfQ09MT1JfQlVGRkVSX0JJVCwgR0xfTElORUFSKTsg
Ly8gRmxpcCB0aGUgdGV4dHVyZSB1cHNpZGUgZG93bi4KKworICAgICAgICBnbEZyYW1lYnVmZmVy
VGV4dHVyZTJEKEdMX0RSQVdfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9U
RVhUVVJFX1JFQ1RBTkdMRV9BUkIsIDAsIDApOworICAgICAgICBnbEZyYW1lYnVmZmVyVGV4dHVy
ZTJEKEdMX1JFQURfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBHTF9URVhUVVJF
XzJELCAwLCAwKTsKKyAgICAgICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIHBy
ZXZpb3VzRkJPKTsKKyAgICAgICAgZ2xQb3BBdHRyaWIoKTsKKworICAgICAgICAvLyBGbHVzaGlu
ZyB0aGUgZ2wgY29tbWFuZCBidWZmZXIgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGUgdGV4dHVy
ZSBoYXMgY29ycmVjdGx5IGJlZW4gYm91bmQgdG8gdGhlIElPU3VyZmFjZS4KKyAgICAgICAgZ2xG
bHVzaCgpOworCisgICAgICAgIGRvbmVDdXJyZW50KCk7CisgICAgfQorCiAgICAgR3JhcGhpY3NT
dXJmYWNlVG9rZW4gdG9rZW4oKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW47
CkBAIC0xNzIsMTAgKzI2MywxNCBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgorICAgIENH
TENvbnRleHRPYmogbV9jb250ZXh0OworICAgIENHTENvbnRleHRPYmogbV9kZXRhY2hlZENvbnRl
eHQ7CiAgICAgUGxhdGZvcm1HcmFwaGljc1N1cmZhY2UgbV9mcm9udEJ1ZmZlcjsKICAgICBQbGF0
Zm9ybUdyYXBoaWNzU3VyZmFjZSBtX2JhY2tCdWZmZXI7CiAgICAgdWludDMyX3QgbV9mcm9udEJ1
ZmZlclRleHR1cmU7CiAgICAgdWludDMyX3QgbV9iYWNrQnVmZmVyVGV4dHVyZTsKKyAgICB1aW50
MzJfdCBtX3JlYWRGYm87CisgICAgdWludDMyX3QgbV9kcmF3RmJvOwogICAgIEdyYXBoaWNzU3Vy
ZmFjZVRva2VuIG1fdG9rZW47CiB9OwogCkBAIC0yMTIsMjUgKzMwNyw5IEBAIHZvaWQgR3JhcGhp
Y3NTdXJmYWNlOjpwbGF0Zm9ybUNvcHlUb0dMVGV4dHVyZSh1aW50MzJfdCB0YXJnZXQsIHVpbnQz
Ml90IGlkLCBjb25zCiAgICAgZ2xGbHVzaCgpOwogfQogCi12b2lkIEdyYXBoaWNzU3VyZmFjZTo6
cGxhdGZvcm1Db3B5RnJvbUZyYW1lYnVmZmVyKHVpbnQzMl90IG9yaWdpbkZibywgY29uc3QgSW50
UmVjdCYgc291cmNlUmVjdCkKK3ZvaWQgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUNvcHlGcm9t
VGV4dHVyZSh1aW50MzJfdCB0ZXh0dXJlLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0KQogewot
ICAgIGdsUHVzaEF0dHJpYihHTF9BTExfQVRUUklCX0JJVFMpOwotICAgIGlmICghbV9mYm8pCi0g
ICAgICAgIGdsR2VuRnJhbWVidWZmZXJzKDEsICZtX2Zibyk7Ci0KLSAgICBHTGludCBvbGRGQk87
Ci0gICAgZ2xHZXRJbnRlZ2VydihHTF9GUkFNRUJVRkZFUl9CSU5ESU5HLCAmb2xkRkJPKTsKLSAg
ICBnbEVuYWJsZShHTF9URVhUVVJFX1JFQ1RBTkdMRV9BUkIpOwotICAgIGdsQmluZEZyYW1lYnVm
ZmVyKEdMX1JFQURfRlJBTUVCVUZGRVIsIG9yaWdpbkZibyk7Ci0gICAgZ2xCaW5kRnJhbWVidWZm
ZXIoR0xfRFJBV19GUkFNRUJVRkZFUiwgbV9mYm8pOwotICAgIGdsRnJhbWVidWZmZXJUZXh0dXJl
MkQoR0xfRFJBV19GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVf
UkVDVEFOR0xFX0FSQiwgbV9wcml2YXRlLT5iYWNrQnVmZmVyVGV4dHVyZUlEKCksIDApOwotICAg
IGdsQmxpdEZyYW1lYnVmZmVyKDAsIDAsIHNvdXJjZVJlY3Qud2lkdGgoKSwgc291cmNlUmVjdC5o
ZWlnaHQoKSwgMCwgc291cmNlUmVjdC5oZWlnaHQoKSwgc291cmNlUmVjdC53aWR0aCgpLCAwLCBH
TF9DT0xPUl9CVUZGRVJfQklULCBHTF9MSU5FQVIpOyAvLyBGbGlwIHRoZSB0ZXh0dXJlIHVwc2lk
ZSBkb3duLgotICAgIGdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfRFJBV19GUkFNRUJVRkZFUiwg
R0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfUkVDVEFOR0xFX0FSQiwgMCwgMCk7Ci0g
ICAgZ2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG9sZEZCTyk7Ci0gICAgZ2xQb3BB
dHRyaWIoKTsKLQotICAgIC8vIEZsdXNoaW5nIHRoZSBnbCBjb21tYW5kIGJ1ZmZlciBpcyBuZWNl
c3NhcnkgdG8gZW5zdXJlIHRoZSB0ZXh0dXJlIGhhcyBjb3JyZWN0bHkgYmVlbiBib3VuZCB0byB0
aGUgSU9TdXJmYWNlLgotICAgIGdsRmx1c2goKTsKKyAgICBtX3ByaXZhdGUtPmNvcHlGcm9tVGV4
dHVyZSh0ZXh0dXJlLCBzb3VyY2VSZWN0KTsKIH0KIAogdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBs
YXRmb3JtUGFpbnRUb1RleHR1cmVNYXBwZXIoVGV4dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwg
Y29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYg
dHJhbnNmb3JtLCBmbG9hdCBvcGFjaXR5LCBCaXRtYXBUZXh0dXJlKiBtYXNrKQpAQCAtMjUwLDcg
KzMyOSw3IEBAIHVpbnQzMl90IEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1Td2FwQnVmZmVycygp
CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3dhcEJ1ZmZlcnMoKTsKIH0KIAotUGFzc1JlZlB0cjxH
cmFwaGljc1N1cmZhY2U+IEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1DcmVhdGUoY29uc3QgSW50
U2l6ZSYgc2l6ZSwgRmxhZ3MgZmxhZ3MpCitQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gR3Jh
cGhpY3NTdXJmYWNlOjpwbGF0Zm9ybUNyZWF0ZShjb25zdCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEIHNoYXJlQ29udGV4dCwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxhZ3MgZmxhZ3MpCiB7CiAg
ICAgLy8gV2UgY3VycmVudGx5IGRpc2FibGUgc3VwcG9ydCBmb3IgQ29weVRvVGV4dHVyZSBvbiBN
YWMsIGJlY2F1c2UgdGhpcyBpcyB1c2VkIGZvciBzaW5nbGUgYnVmZmVyZWQgVGlsZXMuCiAgICAg
Ly8gVGhlIHNpbmdsZSBidWZmZXJlZCBuYXR1cmUgb2YgdGhpcyByZXF1aXJlcyBhIGNhbGwgdG8g
Z2xGbHVzaCwgYXMgZGVzY3JpYmVkIGluIHBsYXRmb3JtQ29weVRvVGV4dHVyZS4KQEAgLTI1OSw3
ICszMzgsNyBAQCBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4gR3JhcGhpY3NTdXJmYWNlOjpw
bGF0Zm9ybUNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLAogICAgICAgICByZXR1cm4gUGFzc1Jl
ZlB0cjxHcmFwaGljc1N1cmZhY2U+KCk7CiAKICAgICBSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBz
dXJmYWNlID0gYWRvcHRSZWYobmV3IEdyYXBoaWNzU3VyZmFjZShzaXplLCBmbGFncykpOwotICAg
IHN1cmZhY2UtPm1fcHJpdmF0ZSA9IG5ldyBHcmFwaGljc1N1cmZhY2VQcml2YXRlKHNpemUsIGZs
YWdzKTsKKyAgICBzdXJmYWNlLT5tX3ByaXZhdGUgPSBuZXcgR3JhcGhpY3NTdXJmYWNlUHJpdmF0
ZShzaGFyZUNvbnRleHQsIHNpemUsIGZsYWdzKTsKIAogICAgIGlmICghc3VyZmFjZS0+bV9wcml2
YXRlLT5mcm9udEJ1ZmZlcigpIHx8ICFzdXJmYWNlLT5tX3ByaXZhdGUtPmJhY2tCdWZmZXIoKSkK
ICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvcXQvR3JhcGhpY3NT
dXJmYWNlR0xYLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2Vz
L3F0L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHAKaW5kZXggMmZkNmNiYTQ2NDJjY2JmYWJjZDY4ZWUy
YmJlMzkyMGZlZDkzNzVlMy4uYzIzMzc0NDI3MzliZjk1NTdmOWY2ODYxZGIzMGJmZWY3NWYwNDRk
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMv
cXQvR3JhcGhpY3NTdXJmYWNlR0xYLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9zdXJmYWNlcy9xdC9HcmFwaGljc1N1cmZhY2VHTFguY3BwCkBAIC00Miw2ICs0Miw5
IEBAIHN0YXRpYyBQRk5HTFhCSU5EVEVYSU1BR0VFWFRQUk9DIHBHbFhCaW5kVGV4SW1hZ2VFWFQg
PSAwOwogc3RhdGljIFBGTkdMWFJFTEVBU0VURVhJTUFHRUVYVFBST0MgcEdsWFJlbGVhc2VUZXhJ
bWFnZUVYVCA9IDA7CiBzdGF0aWMgUEZOR0xCSU5ERlJBTUVCVUZGRVJQUk9DIHBHbEJpbmRGcmFt
ZWJ1ZmZlciA9IDA7CiBzdGF0aWMgUEZOR0xCTElURlJBTUVCVUZGRVJQUk9DIHBHbEJsaXRGcmFt
ZWJ1ZmZlciA9IDA7CitzdGF0aWMgUEZOR0xHRU5GUkFNRUJVRkZFUlNQUk9DIHBHbEdlbkZyYW1l
YnVmZmVycyA9IDA7CitzdGF0aWMgUEZOR0xERUxFVEVGUkFNRUJVRkZFUlNQUk9DIHBHbERlbGV0
ZUZyYW1lYnVmZmVycyA9IDA7CitzdGF0aWMgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRFBST0Mg
cEdsRnJhbWVidWZmZXJUZXh0dXJlMkQgPSAwOwogCiBjbGFzcyBPZmZTY3JlZW5Sb290V2luZG93
IHsKIHB1YmxpYzoKQEAgLTk5LDExICsxMDIsMTMgQEAgc3RhdGljIGNvbnN0IGludCBnbHhBdHRy
aWJ1dGVzW10gPSB7CiB9OwogCiBzdHJ1Y3QgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSB7Ci0gICAg
R3JhcGhpY3NTdXJmYWNlUHJpdmF0ZSgpCisgICAgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZShjb25z
dCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEIHNoYXJlQ29udGV4dCA9IDApCiAgICAgICAgIDog
bV9kaXNwbGF5KDApCiAgICAgICAgICwgbV94UGl4bWFwKDApCiAgICAgICAgICwgbV9nbHhQaXht
YXAoMCkKICAgICAgICAgLCBtX2dsQ29udGV4dChhZG9wdFB0cihuZXcgUU9wZW5HTENvbnRleHQp
KQorICAgICAgICAsIG1fZGV0YWNoZWRDb250ZXh0KDApCisgICAgICAgICwgbV9kZXRhY2hlZFN1
cmZhY2UoMCkKICAgICAgICAgLCBtX3RleHR1cmVJc1lJbnZlcnRlZChmYWxzZSkKICAgICAgICAg
LCBtX2hhc0FscGhhKGZhbHNlKQogICAgIHsKQEAgLTExMyw2ICsxMTgsNyBAQCBzdHJ1Y3QgR3Jh
cGhpY3NTdXJmYWNlUHJpdmF0ZSB7CiAgICAgICAgICAgICBjdXJyZW50U3VyZmFjZSA9IGN1cnJl
bnRDb250ZXh0LT5zdXJmYWNlKCk7CiAKICAgICAgICAgbV9kaXNwbGF5ID0gWE9wZW5EaXNwbGF5
KDApOworICAgICAgICBtX2dsQ29udGV4dC0+c2V0U2hhcmVDb250ZXh0KHNoYXJlQ29udGV4dCk7
CiAgICAgICAgIG1fZ2xDb250ZXh0LT5jcmVhdGUoKTsKIAogICAgICAgICAvLyBUaGUgR0xYIGlt
cGxlbWVudGF0aW9uIG9mIFFPcGVuR0xDb250ZXh0IHdpbGwgcmVzZXQgdGhlIGN1cnJlbnQgY29u
dGV4dCB3aGVuIGNyZWF0ZSBpcyBiZWluZyBjYWxsZWQuCkBAIC0xNzgsOSArMTg0LDE4IEBAIHN0
cnVjdCBHcmFwaGljc1N1cmZhY2VQcml2YXRlIHsKIAogICAgIHZvaWQgbWFrZUN1cnJlbnQoKQog
ICAgIHsKLSAgICAgICAgUU9wZW5HTENvbnRleHQqIGdsQ29udGV4dCA9IFFPcGVuR0xDb250ZXh0
OjpjdXJyZW50Q29udGV4dCgpOwotICAgICAgICBpZiAobV9zdXJmYWNlICYmIGdsQ29udGV4dCkK
LSAgICAgICAgICAgIGdsQ29udGV4dC0+bWFrZUN1cnJlbnQobV9zdXJmYWNlLmdldCgpKTsKKyAg
ICAgICAgbV9kZXRhY2hlZENvbnRleHQgPSBRT3BlbkdMQ29udGV4dDo6Y3VycmVudENvbnRleHQo
KTsKKyAgICAgICAgaWYgKG1fZGV0YWNoZWRDb250ZXh0KQorICAgICAgICAgICAgbV9kZXRhY2hl
ZFN1cmZhY2UgPSBtX2RldGFjaGVkQ29udGV4dC0+c3VyZmFjZSgpOworCisgICAgICAgIGlmICht
X3N1cmZhY2UgJiYgbV9nbENvbnRleHQpCisgICAgICAgICAgICBtX2dsQ29udGV4dC0+bWFrZUN1
cnJlbnQobV9zdXJmYWNlLmdldCgpKTsKKyAgICB9CisKKyAgICB2b2lkIGRvbmVDdXJyZW50KCkK
KyAgICB7CisgICAgICAgIGlmIChtX2RldGFjaGVkQ29udGV4dCkKKyAgICAgICAgICAgIG1fZGV0
YWNoZWRDb250ZXh0LT5tYWtlQ3VycmVudChtX2RldGFjaGVkU3VyZmFjZSk7CiAgICAgfQogCiAg
ICAgdm9pZCBzd2FwQnVmZmVycygpCkBAIC0yMDksNiArMjI0LDM2IEBAIHN0cnVjdCBHcmFwaGlj
c1N1cmZhY2VQcml2YXRlIHsKICAgICAgICAgfQogICAgIH0KIAorICAgIHZvaWQgY29weUZyb21U
ZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QpCisgICAg
eworICAgICAgICBtYWtlQ3VycmVudCgpOworICAgICAgICBpbnQgeCA9IHNvdXJjZVJlY3QueCgp
OworICAgICAgICBpbnQgeSA9IHNvdXJjZVJlY3QueSgpOworICAgICAgICBpbnQgd2lkdGggPSBz
b3VyY2VSZWN0LndpZHRoKCk7CisgICAgICAgIGludCBoZWlnaHQgPSBzb3VyY2VSZWN0LmhlaWdo
dCgpOworCisgICAgICAgIGdsUHVzaEF0dHJpYihHTF9BTExfQVRUUklCX0JJVFMpOworICAgICAg
ICBHTGludCBwcmV2aW91c0ZCTzsKKyAgICAgICAgZ2xHZXRJbnRlZ2VydihHTF9GUkFNRUJVRkZF
Ul9CSU5ESU5HLCAmcHJldmlvdXNGQk8pOworCisgICAgICAgIEdMdWludCBvcmlnaW5GQk87Cisg
ICAgICAgIHBHbEdlbkZyYW1lYnVmZmVycygxLCAmb3JpZ2luRkJPKTsKKyAgICAgICAgcEdsQmlu
ZEZyYW1lYnVmZmVyKEdMX1JFQURfRlJBTUVCVUZGRVIsIG9yaWdpbkZCTyk7CisgICAgICAgIGds
QmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgICAgIHBHbEZyYW1lYnVm
ZmVyVGV4dHVyZTJEKEdMX1JFQURfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFDSE1FTlQwLCBH
TF9URVhUVVJFXzJELCB0ZXh0dXJlLCAwKTsKKworICAgICAgICBwR2xCaW5kRnJhbWVidWZmZXIo
R0xfRFJBV19GUkFNRUJVRkZFUiwgZ2xDb250ZXh0KCktPmRlZmF1bHRGcmFtZWJ1ZmZlck9iamVj
dCgpKTsKKyAgICAgICAgcEdsQmxpdEZyYW1lYnVmZmVyKHgsIHksIHdpZHRoLCBoZWlnaHQsIHgs
IHksIHdpZHRoLCBoZWlnaHQsIEdMX0NPTE9SX0JVRkZFUl9CSVQsIEdMX0xJTkVBUik7CisKKyAg
ICAgICAgcEdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfUkVBRF9GUkFNRUJVRkZFUiwgR0xfQ09M
T1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIDAsIDApOworICAgICAgICBnbEJpbmRUZXh0
dXJlKEdMX1RFWFRVUkVfMkQsIDApOworICAgICAgICBwR2xCaW5kRnJhbWVidWZmZXIoR0xfRlJB
TUVCVUZGRVIsIHByZXZpb3VzRkJPKTsKKyAgICAgICAgcEdsRGVsZXRlRnJhbWVidWZmZXJzKDEs
ICZvcmlnaW5GQk8pOworCisgICAgICAgIGdsUG9wQXR0cmliKCk7CisgICAgICAgIGRvbmVDdXJy
ZW50KCk7CisgICAgfQorCiAKICAgICBEaXNwbGF5KiBkaXNwbGF5KCkgY29uc3QgeyByZXR1cm4g
bV9kaXNwbGF5OyB9CiAKQEAgLTIyNiw2ICsyNzEsOCBAQCBwcml2YXRlOgogICAgIEdMWFBpeG1h
cCBtX2dseFBpeG1hcDsKICAgICBPd25QdHI8UVdpbmRvdz4gbV9zdXJmYWNlOwogICAgIE93blB0
cjxRT3BlbkdMQ29udGV4dD4gbV9nbENvbnRleHQ7CisgICAgUU9wZW5HTENvbnRleHQqIG1fZGV0
YWNoZWRDb250ZXh0OworICAgIFFTdXJmYWNlKiBtX2RldGFjaGVkU3VyZmFjZTsKICAgICBib29s
IG1fdGV4dHVyZUlzWUludmVydGVkOwogICAgIGJvb2wgbV9oYXNBbHBoYTsKIH07CkBAIC0yNDIs
NiArMjg5LDEwIEBAIHN0YXRpYyBib29sIHJlc29sdmVHTE1ldGhvZHMoR3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSogcCkKICAgICBwR2xCaW5kRnJhbWVidWZmZXIgPSByZWludGVycHJldF9jYXN0PFBG
TkdMQklOREZSQU1FQlVGRkVSUFJPQz4oZ2xDb250ZXh0LT5nZXRQcm9jQWRkcmVzcygiZ2xCaW5k
RnJhbWVidWZmZXIiKSk7CiAgICAgcEdsQmxpdEZyYW1lYnVmZmVyID0gcmVpbnRlcnByZXRfY2Fz
dDxQRk5HTEJMSVRGUkFNRUJVRkZFUlBST0M+KGdsQ29udGV4dC0+Z2V0UHJvY0FkZHJlc3MoImds
QmxpdEZyYW1lYnVmZmVyIikpOwogCisgICAgcEdsR2VuRnJhbWVidWZmZXJzID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5HTEdFTkZSQU1FQlVGRkVSU1BST0M+KGdsQ29udGV4dC0+Z2V0UHJvY0FkZHJl
c3MoImdsR2VuRnJhbWVidWZmZXJzIikpOworICAgIHBHbERlbGV0ZUZyYW1lYnVmZmVycyA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xERUxFVEVGUkFNRUJVRkZFUlNQUk9DPihnbENvbnRleHQtPmdl
dFByb2NBZGRyZXNzKCJnbERlbGV0ZUZyYW1lYnVmZmVycyIpKTsKKyAgICBwR2xGcmFtZWJ1ZmZl
clRleHR1cmUyRCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRFBS
T0M+KGdsQ29udGV4dC0+Z2V0UHJvY0FkZHJlc3MoImdsRnJhbWVidWZmZXJUZXh0dXJlMkQiKSk7
CisKICAgICByZXNvbHZlZCA9IHBHbEJsaXRGcmFtZWJ1ZmZlciAmJiBwR2xCaW5kRnJhbWVidWZm
ZXIgJiYgcEdsWEJpbmRUZXhJbWFnZUVYVCAmJiBwR2xYUmVsZWFzZVRleEltYWdlRVhUOwogCiAg
ICAgcmV0dXJuIHJlc29sdmVkOwpAQCAtMjcyLDIwICszMjMsOSBAQCB2b2lkIEdyYXBoaWNzU3Vy
ZmFjZTo6cGxhdGZvcm1Db3B5VG9HTFRleHR1cmUodWludDMyX3QgdGFyZ2V0LCB1aW50MzJfdCBp
ZCwgY29ucwogICAgIC8vIFRoaXMgaXMgbm90IHN1cHBvcnRlZCBieSBHTFgvWGNvbXBvc2l0ZS4K
IH0KIAotdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtQ29weUZyb21GcmFtZWJ1ZmZlcih1
aW50MzJfdCBvcmlnaW5GYm8sIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QpCit2b2lkIEdyYXBo
aWNzU3VyZmFjZTo6cGxhdGZvcm1Db3B5RnJvbVRleHR1cmUodWludDMyX3QgdGV4dHVyZSwgY29u
c3QgSW50UmVjdCYgc291cmNlUmVjdCkKIHsKLSAgICBtX3ByaXZhdGUtPm1ha2VDdXJyZW50KCk7
Ci0gICAgaW50IHdpZHRoID0gbV9zaXplLndpZHRoKCk7Ci0gICAgaW50IGhlaWdodCA9IG1fc2l6
ZS5oZWlnaHQoKTsKLQotICAgIGdsUHVzaEF0dHJpYihHTF9BTExfQVRUUklCX0JJVFMpOwotICAg
IEdMaW50IG9sZEZCTzsKLSAgICBnbEdldEludGVnZXJ2KEdMX0ZSQU1FQlVGRkVSX0JJTkRJTkcs
ICZvbGRGQk8pOwotICAgIHBHbEJpbmRGcmFtZWJ1ZmZlcihHTF9SRUFEX0ZSQU1FQlVGRkVSLCBv
cmlnaW5GYm8pOwotICAgIHBHbEJpbmRGcmFtZWJ1ZmZlcihHTF9EUkFXX0ZSQU1FQlVGRkVSLCBt
X3ByaXZhdGUtPmdsQ29udGV4dCgpLT5kZWZhdWx0RnJhbWVidWZmZXJPYmplY3QoKSk7Ci0gICAg
cEdsQmxpdEZyYW1lYnVmZmVyKDAsIDAsIHdpZHRoLCBoZWlnaHQsIDAsIDAsIHdpZHRoLCBoZWln
aHQsIEdMX0NPTE9SX0JVRkZFUl9CSVQsIEdMX0xJTkVBUik7Ci0gICAgcEdsQmluZEZyYW1lYnVm
ZmVyKEdMX0ZSQU1FQlVGRkVSLCBvbGRGQk8pOwotICAgIGdsUG9wQXR0cmliKCk7CisgICAgbV9w
cml2YXRlLT5jb3B5RnJvbVRleHR1cmUodGV4dHVyZSwgc291cmNlUmVjdCk7CiB9CiAKIApAQCAt
MzA3LDcgKzM0Nyw3IEBAIHVpbnQzMl90IEdyYXBoaWNzU3VyZmFjZTo6cGxhdGZvcm1Td2FwQnVm
ZmVycygpCiAgICAgcmV0dXJuIDA7CiB9CiAKLVBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBH
cmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtQ3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdz
IGZsYWdzKQorUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IEdyYXBoaWNzU3VyZmFjZTo6cGxh
dGZvcm1DcmVhdGUoY29uc3QgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBzaGFyZUNvbnRleHQs
IGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdzIGZsYWdzKQogewogICAgIC8vIFgxMSBkb2VzIG5v
dCBzdXBwb3J0IENvcHlUb1RleHR1cmUsIHNvIHdlIGRvIG5vdCBjcmVhdGUgYSBHcmFwaGljc1N1
cmZhY2UgaWYgdGhpcyBpcyByZXF1ZXN0ZWQuCiAgICAgLy8gR3JhcGhpY3NTdXJmYWNlR0xYIHVz
ZXMgYW4gWFdpbmRvdyBhcyBuYXRpdmUgc3VyZmFjZS4gVGhpcyBvbmUgYWx3YXlzIGhhcyBhIGZy
b250IGFuZCBhIGJhY2sgYnVmZmVyLgpAQCAtMzE3LDcgKzM1Nyw3IEBAIFBhc3NSZWZQdHI8R3Jh
cGhpY3NTdXJmYWNlPiBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtQ3JlYXRlKGNvbnN0IEludFNp
emUmIHNpemUsCiAKICAgICBSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJmYWNlID0gYWRvcHRS
ZWYobmV3IEdyYXBoaWNzU3VyZmFjZShzaXplLCBmbGFncykpOwogCi0gICAgc3VyZmFjZS0+bV9w
cml2YXRlID0gbmV3IEdyYXBoaWNzU3VyZmFjZVByaXZhdGUoKTsKKyAgICBzdXJmYWNlLT5tX3By
aXZhdGUgPSBuZXcgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZShzaGFyZUNvbnRleHQpOwogICAgIGlm
ICghcmVzb2x2ZUdMTWV0aG9kcyhzdXJmYWNlLT5tX3ByaXZhdGUpKQogICAgICAgICByZXR1cm4g
UGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+KCk7CiAK
</data>
<flag name="review"
          id="181768"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="181769"
          type_id="3"
          status="-"
          setter="zeno"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168917</attachid>
            <date>2012-10-16 04:29:36 -0700</date>
            <delta_ts>2012-10-17 08:52:34 -0700</delta_ts>
            <desc>Patch for review. - disable QCocoaNativeInterface code path until next Qt5 update.</desc>
            <filename>99320_20121016-132602.patch</filename>
            <type>text/plain</type>
            <size>2585</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MmFhNWFkLi44ZmYwNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMTAtMTYgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVGVtcG9yYXJpbHkgZGlzYWJsZSB1c2Ugb2YgUUNvY29hTmF0aXZlSW50ZXJmYWNlIGluIEdy
YXBoaWNzU3VyZmFjZU1hYy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk5MzIwCisKKyAgICAgICAgVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBRdDUgZGVw
bG95ZWQgb24gdGhlIGJ1aWxkYm90cyBkb2VzIG5vdCB5ZXQgaGF2ZQorICAgICAgICBhbiBpbXBs
ZW1lbnRhdGlvbiBmb3IgUUNvY29hTmF0aXZlSW50ZXJmYWNlOjpuYXRpdmVSZXNvdXJjZUZvckNv
bnRleHQoKS4KKyAgICAgICAgVGhlcmVmb3JlIHdlIGRpc2FibGUgdGhpcyBjb2RlIHBhdGggdW50
aWwgUXQ1L3F0YmFzZSBoYXMgYmVlbiB1cGRhdGVkIHRvCisgICAgICAgIGEgcmV2aXNpb24gYWJv
dmUgQ2hhbmdlLUlkOiBJZDAwZWZjODhhNzNkN2RmMDRhNjhjMDIyZjE5ZDlkMWM0ZjZkMzg2Yi4K
KworICAgICAgICBPbmNlIFF0NSBoYXMgYmVlbiB1cGRhdGVkLCB0aGlzIHBhdGNoIG11c3QgYmUg
cmV2ZXJ0ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNlTWFjLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVByaXZhdGU6OkdyYXBoaWNzU3Vy
ZmFjZVByaXZhdGUpOgorCiAyMDEyLTEwLTE1ICBaZW5vIEFsYmlzc2VyICA8emVub0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIEdyYXBoaWNzU3VyZmFjZSBzaG91bGQgbm90IG1vZGlmeSB0aGUgY3Vy
cmVudCBHTCBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc3VyZmFjZXMvbWFjL0dyYXBoaWNzU3VyZmFjZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNlTWFjLmNwcApp
bmRleCBjY2VlMGQxLi5hYWIzODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNlTWFjLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9tYWMvR3JhcGhpY3NTdXJmYWNl
TWFjLmNwcApAQCAtOTEsMTEgKzkxLDIyIEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2RyYXdGYm8o
MCkKICAgICB7CiAjaWYgUExBVEZPUk0oUVQpCisjaWYgMAorICAgICAgICAvLyBUaGlzIGNvZGUg
cGF0aCByZXF1aXJlcyBRQ29jb2FOYXRpdmVJbnRlcmZhY2U6Om5hdGl2ZVJlc291cmNlRm9yQ29u
dGV4dCgpIHdoaWNoIGlzIG5vdCBhdmFpbGJsZSBpbiBRdDUgb24gdGhlIGJ1aWxkIGJvdHMgeWV0
LgogICAgICAgICBRUGxhdGZvcm1OYXRpdmVJbnRlcmZhY2UqIG5hdGl2ZUludGVyZmFjZSA9IFFH
dWlBcHBsaWNhdGlvbjo6cGxhdGZvcm1OYXRpdmVJbnRlcmZhY2UoKTsKICAgICAgICAgQ0dMQ29u
dGV4dE9iaiBzaGFyZUNvbnRleHRPYmplY3QgPSBzdGF0aWNfY2FzdDxDR0xDb250ZXh0T2JqPihu
YXRpdmVJbnRlcmZhY2UtPm5hdGl2ZVJlc291cmNlRm9yQ29udGV4dChRQnl0ZUFycmF5TGl0ZXJh
bCgiY2dsQ29udGV4dE9iaiIpLCBzaGFyZUNvbnRleHQpKTsKICAgICAgICAgaWYgKCFzaGFyZUNv
bnRleHRPYmplY3QpCiAgICAgICAgICAgICByZXR1cm47CisjZWxzZQorICAgICAgICAvLyBUaGlz
IGNvZGUgcGF0aCBzaG91bGQgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIFFDb2NvYU5hdGl2ZUludGVy
ZmFjZTo6bmF0aXZlUmVzb3VyY2VGb3JDb250ZXh0KCkgaGFzIGJlY29tZSBhdmFpbGFibGUgaW4g
UXQ1IG9uIHRoZSBidWlsZCBib3RzLgorICAgICAgICBDR0xDb250ZXh0T2JqIHByZXZpb3VzQ29u
dGV4dCA9IENHTEdldEN1cnJlbnRDb250ZXh0KCk7CisgICAgICAgIFFTdXJmYWNlKiBjdXJyZW50
U3VyZmFjZSA9IHNoYXJlQ29udGV4dC0+c3VyZmFjZSgpOworICAgICAgICBzaGFyZUNvbnRleHQt
Pm1ha2VDdXJyZW50KGN1cnJlbnRTdXJmYWNlKTsKIAorICAgICAgICBDR0xDb250ZXh0T2JqIHNo
YXJlQ29udGV4dE9iamVjdCA9IENHTEdldEN1cnJlbnRDb250ZXh0KCk7CisKKyAgICAgICAgQ0dM
U2V0Q3VycmVudENvbnRleHQocHJldmlvdXNDb250ZXh0KTsKKyNlbmRpZgogICAgICAgICBDR0xQ
aXhlbEZvcm1hdE9iaiBwaXhlbEZvcm1hdE9iamVjdCA9IENHTEdldFBpeGVsRm9ybWF0KHNoYXJl
Q29udGV4dE9iamVjdCk7CiAgICAgICAgIGlmIChrQ0dMTm9FcnJvciAhPSBDR0xDcmVhdGVDb250
ZXh0KHBpeGVsRm9ybWF0T2JqZWN0LCBzaGFyZUNvbnRleHRPYmplY3QsICZtX2NvbnRleHQpKQog
ICAgICAgICAgICAgcmV0dXJuOwo=
</data>
<flag name="review"
          id="182035"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="182036"
          type_id="3"
          status="-"
          setter="zeno"
    />
          </attachment>
      

    </bug>

</bugzilla>