<?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>104875</bug_id>
          
          <creation_ts>2012-12-12 21:00:41 -0800</creation_ts>
          <short_desc>[chromium] Add WebPluginContainer::setWebLayer to superseed setBackingTextureId/setBackingIOSurfaceId</short_desc>
          <delta_ts>2012-12-13 14:20:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Antoine Labour">piman</reporter>
          <assigned_to name="Antoine Labour">piman</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jochen</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>790251</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-12 21:00:41 -0800</bug_when>
    <thetext>[chromium] Add WebPluginContainer::setWebLayer to superseed setBackingTextureId/setBackingIOSurfaceId</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790254</commentid>
    <comment_count>1</comment_count>
      <attachid>179191</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-12 21:02:55 -0800</bug_when>
    <thetext>Created attachment 179191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790257</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 21:06:10 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790259</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-12 21:07:15 -0800</bug_when>
    <thetext>The intent is to remove setBackingTextureId, setBackingIOSurfaceId, commitBackingTexture and setOpaque once the embedder creates and updates the layer.
We should be able to remove WebIOSurfaceLayer after that, and it will be easier to remove the setTextureId paths in TextureLayer (favoring the TextureLayerClient path), as well as adding support for DelegatedRendererLayer eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790759</commentid>
    <comment_count>4</comment_count>
      <attachid>179191</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-12-13 10:56:06 -0800</bug_when>
    <thetext>Comment on attachment 179191
Patch

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

Awesome! I wanna do this for video too, if I ever get &apos;round to it.

Could you update Tools/DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp ? it&apos;s supposed to provide layout test coverage for WebPluginContainer.. compositing (it&apos;s currently marked IMAGE PASS on linux since it went flaky :( )

&gt; Source/WebKit/chromium/ChangeLog:3
&gt; +        [chromium] Add WebPluginContainer::setWebLayer to superseed setBackingTextureId/setBackingIOSurfaceId

typo superseed -&gt; supersede</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790803</commentid>
    <comment_count>5</comment_count>
      <attachid>179311</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 11:59:42 -0800</bug_when>
    <thetext>Created attachment 179311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790805</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 12:00:40 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 179191 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179191&amp;action=review
&gt; 
&gt; Awesome! I wanna do this for video too, if I ever get &apos;round to it.
&gt; 
&gt; Could you update Tools/DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp ? it&apos;s supposed to provide layout test coverage for WebPluginContainer.. compositing (it&apos;s currently marked IMAGE PASS on linux since it went flaky :( )

Good idea, done.

&gt; 
&gt; &gt; Source/WebKit/chromium/ChangeLog:3
&gt; &gt; +        [chromium] Add WebPluginContainer::setWebLayer to superseed setBackingTextureId/setBackingIOSurfaceId
&gt; 
&gt; typo superseed -&gt; supersede

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790824</commentid>
    <comment_count>7</comment_count>
      <attachid>179311</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-12-13 12:43:57 -0800</bug_when>
    <thetext>Comment on attachment 179311
Patch

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

R=me.  If you don&apos;t mind, run platform/chromium/compositing/plugins/ with --verbose to make sure they still path (since they&apos;re marked IMAGE PASS the cr-linux EWS won&apos;t tell us).

&gt; Tools/DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:304
&gt; +    m_layer = WTF::adoptPtr(webKitPlatformSupport()-&gt;compositorSupport()-&gt;createExternalTextureLayer(this));

nit: don&apos;t need the WTF::, just adoptPtr() should work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790873</commentid>
    <comment_count>8</comment_count>
      <attachid>179322</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 13:44:04 -0800</bug_when>
    <thetext>Created attachment 179322
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790877</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 13:46:25 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 179311 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179311&amp;action=review
&gt; 
&gt; R=me.  If you don&apos;t mind, run platform/chromium/compositing/plugins/ with --verbose to make sure they still path (since they&apos;re marked IMAGE PASS the cr-linux EWS won&apos;t tell us).

Yep, they pass (I verified that if I don&apos;t setWebLayer they fail).

&gt; 
&gt; &gt; Tools/DumpRenderTree/chromium/TestRunner/src/WebTestPlugin.cpp:304
&gt; &gt; +    m_layer = WTF::adoptPtr(webKitPlatformSupport()-&gt;compositorSupport()-&gt;createExternalTextureLayer(this));
&gt; 
&gt; nit: don&apos;t need the WTF::, just adoptPtr() should work

Yeah, my bad. If you just include OwnPtr.h it&apos;s in WTF:: but if you include PassOwnPtr.h it gets promoted. I hadn&apos;t done the latter originally hence needed to add this. Fixed in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790919</commentid>
    <comment_count>10</comment_count>
      <attachid>179322</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 14:17:29 -0800</bug_when>
    <thetext>Comment on attachment 179322
Patch for landing

Clearing flags on attachment: 179322

Committed r137653: &lt;http://trac.webkit.org/changeset/137653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790920</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 14:17:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790923</commentid>
    <comment_count>12</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 14:19:31 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790924</commentid>
    <comment_count>13</comment_count>
      <attachid>179332</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-12-13 14:19:33 -0800</bug_when>
    <thetext>Created attachment 179332
Patch for landing</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179191</attachid>
            <date>2012-12-12 21:02:55 -0800</date>
            <delta_ts>2012-12-13 11:59:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104875-20121212210015.patch</filename>
            <type>text/plain</type>
            <size>8085</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY2YmMxZTA1ZjFjY2UxY2EyMDliMzFkZGZjMzc4OTI4YmY2YjgyNTYuLmIyNWU4ZGRiMjcxODJi
OTVjMGMxMTIxZWM0N2JkMzYwNzgzNmIyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMTIgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIFdlYlBsdWdpbkNvbnRhaW5lcjo6c2V0
V2ViTGF5ZXIgdG8gc3VwZXJzZWVkIHNldEJhY2tpbmdUZXh0dXJlSWQvc2V0QmFja2luZ0lPU3Vy
ZmFjZUlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ4NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHB1YmxpYy9XZWJQbHVnaW5Db250YWluZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJQbHVnaW5Db250YWluZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0V2Vi
TGF5ZXIpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29u
dGFpbmVySW1wbDo6c2V0QmFja2luZ1RleHR1cmVJZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
dWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdJT1N1cmZhY2VJZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmNvbW1pdEJhY2tpbmdUZXh0dXJlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0T3BhcXVlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBsdWdpbkNvbnRhaW5lckltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjp+V2ViUGx1Z2luQ29u
dGFpbmVySW1wbCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEyLTEyICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTM3NDkwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUGx1Z2luQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJQbHVnaW5Db250YWluZXIuaAppbmRleCBjZTcyY2M1OTE1MGU1YTFmZjVmOTk0NWU5N2Q2
OTMxN2E4MzJkZDdmLi42MGFlZjM1OGQ0ZDYyMzRhOTlmMTVjOTc4NWVhZjA0OGI1MzgyOGRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBXZWJQbHVnaW47CiBjbGFzcyBXZWJTdHJpbmc7
CiBjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV2ViTGF5ZXI7CiBz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIApAQCAtMTM2LDYgKzEzNywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKSA9IDA7CiAgICAgdmly
dHVhbCBmbG9hdCBwYWdlWm9vbUZhY3RvcigpID0gMDsKIAorICAgIC8vIFNldHMgdGhlIGxheWVy
IHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIGZvciBjb21wb3NpdGluZy4gVGhlCisgICAgLy8gV2Vi
UGx1Z2luQ29udGFpbmVyIGRvZXMgKm5vdCogdGFrZSBvd25lcnNoaXAuCisgICAgdmlydHVhbCB2
b2lkIHNldFdlYkxheWVyKFdlYkxheWVyKikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlBs
dWdpbkNvbnRhaW5lcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggNDBjMDNjZDFjODdjNzQ0YmYw
Mzc1ZjhhODM5MTM1NDRkODllMjliZi4uYmYyNDc4NjM4MTdkNmY4ODU1OGE4Y2Q2ZGY1MzU5NjEx
MDZlMWM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2lu
Q29udGFpbmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5jcHAKQEAgLTI4NCw2ICsyODQsMjMgQEAgZmxvYXQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6cGFnZVpvb21GYWN0b3IoKQogICAgIHJldHVybiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKTsKIH0KIAordm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpzZXRXZWJMYXll
cihXZWJMYXllciogbGF5ZXIpCit7CisgICAgaWYgKG1fd2ViTGF5ZXIgPT0gbGF5ZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIC8vIElmIGFueW9uZSBvZiB0aGUgbGF5ZXJzIGlzIG51bGwgd2Ug
bmVlZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQorICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21w
b3NpdGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKKyAgICAv
LyBvbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuCisgICAgaWYgKCFtX3dlYkxheWVyIHx8ICFsYXll
cikKKyAgICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKFdlYkNvcmU6OlN5bnRo
ZXRpY1N0eWxlQ2hhbmdlKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NM
YXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKKyAgICBp
ZiAobGF5ZXIpCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6cmVnaXN0ZXJDb250ZW50
c0xheWVyKGxheWVyKTsKKyAgICBtX3dlYkxheWVyID0gbGF5ZXI7Cit9CisKIGJvb2wgV2ViUGx1
Z2luQ29udGFpbmVySW1wbDo6c3VwcG9ydHNQYWdpbmF0ZWRQcmludCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fd2ViUGx1Z2luLT5zdXBwb3J0c1BhZ2luYXRlZFByaW50KCk7CkBAIC0zODEsMTkg
KzM5OCwxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdUZXh0dXJl
SWQodW5zaWduZWQgdGV4dHVyZUlkKQogCiAgICAgQVNTRVJUKCFtX2lvU3VyZmFjZUxheWVyKTsK
IAotICAgIGlmICghbV90ZXh0dXJlTGF5ZXIpIHsKKyAgICBpZiAoIW1fdGV4dHVyZUxheWVyKQog
ICAgICAgICBtX3RleHR1cmVMYXllciA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNv
bXBvc2l0b3JTdXBwb3J0KCktPmNyZWF0ZUV4dGVybmFsVGV4dHVyZUxheWVyKCkpOwotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3RleHR1cmVM
YXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1fdGV4dHVyZUxheWVyLT5zZXRUZXh0dXJlSWQo
dGV4dHVyZUlkKTsKLQotICAgIC8vIElmIGFueW9uZSBvZiB0aGUgSURzIGlzIHplcm8gd2UgbmVl
ZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQotICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21wb3Np
dGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKLSAgICAvLyBv
biB0aGUgY29udGFpbmVyIGVsZW1lbnQuCi0gICAgaWYgKCFtX3RleHR1cmVJZCB8fCAhdGV4dHVy
ZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6U3lu
dGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV90ZXh0dXJlSWQgPSB0ZXh0dXJlSWQ7CisKKyAg
ICBzZXRXZWJMYXllcihtX3RleHR1cmVJZCA/IG1fdGV4dHVyZUxheWVyLT5sYXllcigpIDogMCk7
CiAjZW5kaWYKIH0KIApAQCAtNDA3LDMwICs0MTcsMjAgQEAgdm9pZCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpzZXRCYWNraW5nSU9TdXJmYWNlSWQoaW50IHdpZHRoLAogCiAgICAgQVNTRVJUKCFt
X3RleHR1cmVMYXllcik7CiAKLSAgICBpZiAoIW1faW9TdXJmYWNlTGF5ZXIpIHsKKyAgICBpZiAo
IW1faW9TdXJmYWNlTGF5ZXIpCiAgICAgICAgIG1faW9TdXJmYWNlTGF5ZXIgPSBhZG9wdFB0cihQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5jb21wb3NpdG9yU3VwcG9ydCgpLT5jcmVhdGVJT1N1cmZhY2VM
YXllcigpKTsKLSAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRz
TGF5ZXIobV9pb1N1cmZhY2VMYXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1faW9TdXJmYWNl
TGF5ZXItPnNldElPU3VyZmFjZVByb3BlcnRpZXMoaW9TdXJmYWNlSWQsIFdlYlNpemUod2lkdGgs
IGhlaWdodCkpOwogCi0gICAgLy8gSWYgYW55b25lIG9mIHRoZSBJRHMgaXMgemVybyB3ZSBuZWVk
IHRvIHN3aXRjaCBiZXR3ZWVuIGhhcmR3YXJlCi0gICAgLy8gYW5kIHNvZnR3YXJlIGNvbXBvc2l0
aW5nLiBUaGlzIGlzIGRvbmUgYnkgdHJpZ2dlcmluZyBhIHN0eWxlIHJlY2FsYwotICAgIC8vIG9u
IHRoZSBjb250YWluZXIgZWxlbWVudC4KLSAgICBpZiAoIWlvU3VyZmFjZUlkIHx8ICFtX2lvU3Vy
ZmFjZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6
U3ludGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV9pb1N1cmZhY2VJZCA9IGlvU3VyZmFjZUlk
OworICAgIHNldFdlYkxheWVyKG1faW9TdXJmYWNlSWQgPyBtX2lvU3VyZmFjZUxheWVyLT5sYXll
cigpIDogMCk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpjb21t
aXRCYWNraW5nVGV4dHVyZSgpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQot
ICAgIGlmIChtX3RleHR1cmVMYXllcikKLSAgICAgICAgbV90ZXh0dXJlTGF5ZXItPmxheWVyKCkt
PmludmFsaWRhdGUoKTsKLQotICAgIGlmIChtX2lvU3VyZmFjZUxheWVyKQotICAgICAgICBtX2lv
U3VyZmFjZUxheWVyLT5sYXllcigpLT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKG1fd2ViTGF5ZXIp
CisgICAgICAgIG1fd2ViTGF5ZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogfQogCkBAIC00OTMs
MTUgKzQ5MywxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Onpvb21MZXZlbENoYW5n
ZWQoZG91YmxlIHpvb21MZXZlbCkKICAgICBXZWJWaWV3SW1wbCogdmlldyA9IFdlYlZpZXdJbXBs
Ojpmcm9tUGFnZShtX2VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSk7CiAgICAg
dmlldy0+ZnVsbEZyYW1lUGx1Z2luWm9vbUxldmVsQ2hhbmdlZCh6b29tTGV2ZWwpOwogfQotIAor
CiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldE9wYXF1ZShib29sIG9wYXF1ZSkKIHsK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVy
KQotICAgICAgICBtX3RleHR1cmVMYXllci0+bGF5ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7Ci0K
LSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgbV9pb1N1cmZhY2VMYXllci0+bGF5
ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7CisgICAgaWYgKG1fd2ViTGF5ZXIpCisgICAgICAgIG1f
d2ViTGF5ZXItPnNldE9wYXF1ZShvcGFxdWUpOwogI2VuZGlmCiB9CiAKQEAgLTYyMywxMSArNjIw
LDcgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjp3aWxsRGVzdHJveVBsdWdpbkxvYWRP
YnNlcnZlcihXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXIKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiBXZWJMYXllciogV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcigp
IGNvbnN0CiB7Ci0gICAgaWYgKG1fdGV4dHVyZUlkKQotICAgICAgICByZXR1cm4gbV90ZXh0dXJl
TGF5ZXItPmxheWVyKCk7Ci0gICAgaWYgKG1faW9TdXJmYWNlSWQpCi0gICAgICAgIHJldHVybiBt
X2lvU3VyZmFjZUxheWVyLT5sYXllcigpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3dl
YkxheWVyOwogfQogI2VuZGlmCiAKQEAgLTY3MCw2ICs2NjMsNyBAQCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpXZWJQbHVnaW5Db250YWluZXJJbXBsKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
KiBlbGVtZQogICAgICwgbV90ZXh0dXJlSWQoMCkKICAgICAsIG1faW9TdXJmYWNlSWQoMCkKICNl
bmRpZgorICAgICwgbV93ZWJMYXllcigwKQogICAgICwgbV90b3VjaEV2ZW50UmVxdWVzdFR5cGUo
VG91Y2hFdmVudFJlcXVlc3RUeXBlTm9uZSkKICAgICAsIG1fd2FudHNXaGVlbEV2ZW50cyhmYWxz
ZSkKIHsKQEAgLTY3OCwxMCArNjcyLDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6V2ViUGx1
Z2luQ29udGFpbmVySW1wbChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCogZWxlbWUKIFdlYlBs
dWdpbkNvbnRhaW5lckltcGw6On5XZWJQbHVnaW5Db250YWluZXJJbXBsKCkKIHsKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVyKQotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fdGV4dHVy
ZUxheWVyLT5sYXllcigpKTsKLSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgR3Jh
cGhpY3NMYXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX2lvU3VyZmFjZUxh
eWVyLT5sYXllcigpKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NMYXll
ckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKICNlbmRpZgog
CiAgICAgaWYgKG1fdG91Y2hFdmVudFJlcXVlc3RUeXBlICE9IFRvdWNoRXZlbnRSZXF1ZXN0VHlw
ZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmgKaW5kZXggNTRjNzk2MjM4NWZiNzZjOTkwMWJlNmIwOWMyMDE0ZTc3ZjUxNGRj
MC4uNDQ4YWQ1YmYxNzc2M2NlZDRiOTdiYzY5ZWE0OTgzNDQ0YmQxZmIyMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaApAQCAt
MTI1LDYgKzEyNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGZsb2F0IHBhZ2VTY2FsZUZhY3Rv
cigpOwogICAgIHZpcnR1YWwgZmxvYXQgcGFnZVpvb21GYWN0b3IoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBzZXRXZWJMYXllcihXZWJMYXllciopOworCiAgICAgLy8gUHJpbnRpbmcgaW50ZXJmYWNl
LiBUaGUgcGx1Z2luIGNhbiBzdXBwb3J0IGN1c3RvbSBwcmludGluZwogICAgIC8vICh3aGljaCBt
ZWFucyBpdCBjb250cm9scyB0aGUgbGF5b3V0LCBudW1iZXIgb2YgcGFnZXMgZXRjKS4KICAgICAv
LyBXaGV0aGVyIHRoZSBwbHVnaW4gc3VwcG9ydHMgaXRzIG93biBwYWdpbmF0ZWQgcHJpbnQuIFRo
ZSBvdGhlciBwcmludApAQCAtMTk5LDYgKzIwMSw4IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdl
YklPU3VyZmFjZUxheWVyPiBtX2lvU3VyZmFjZUxheWVyOwogI2VuZGlmCiAKKyAgICBXZWJMYXll
ciogbV93ZWJMYXllcjsKKwogICAgIC8vIFRoZSBhc3NvY2lhdGVkIHNjcm9sbGJhciBncm91cCBv
YmplY3QsIGNyZWF0ZWQgbGF6aWx5LiBVc2VkIGZvciBQZXBwZXIKICAgICAvLyBzY3JvbGxiYXJz
LgogICAgIE93blB0cjxTY3JvbGxiYXJHcm91cD4gbV9zY3JvbGxiYXJHcm91cDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179311</attachid>
            <date>2012-12-13 11:59:42 -0800</date>
            <delta_ts>2012-12-13 13:44:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104875-20121213115702.patch</filename>
            <type>text/plain</type>
            <size>10698</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY2YmMxZTA1ZjFjY2UxY2EyMDliMzFkZGZjMzc4OTI4YmY2YjgyNTYuLmU2ODUxMzk0ZTQ1ODVl
NDY4ZjY1NDdkYmEzNjgyNzc1NmU1YTZjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMTIgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIFdlYlBsdWdpbkNvbnRhaW5lcjo6c2V0
V2ViTGF5ZXIgdG8gc3VwZXJzZWRlIHNldEJhY2tpbmdUZXh0dXJlSWQvc2V0QmFja2luZ0lPU3Vy
ZmFjZUlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ4NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHB1YmxpYy9XZWJQbHVnaW5Db250YWluZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJQbHVnaW5Db250YWluZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0V2Vi
TGF5ZXIpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29u
dGFpbmVySW1wbDo6c2V0QmFja2luZ1RleHR1cmVJZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
dWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdJT1N1cmZhY2VJZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmNvbW1pdEJhY2tpbmdUZXh0dXJlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0T3BhcXVlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBsdWdpbkNvbnRhaW5lckltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjp+V2ViUGx1Z2luQ29u
dGFpbmVySW1wbCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEyLTEyICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTM3NDkwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUGx1Z2luQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJQbHVnaW5Db250YWluZXIuaAppbmRleCBjZTcyY2M1OTE1MGU1YTFmZjVmOTk0NWU5N2Q2
OTMxN2E4MzJkZDdmLi42MGFlZjM1OGQ0ZDYyMzRhOTlmMTVjOTc4NWVhZjA0OGI1MzgyOGRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBXZWJQbHVnaW47CiBjbGFzcyBXZWJTdHJpbmc7
CiBjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV2ViTGF5ZXI7CiBz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIApAQCAtMTM2LDYgKzEzNywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKSA9IDA7CiAgICAgdmly
dHVhbCBmbG9hdCBwYWdlWm9vbUZhY3RvcigpID0gMDsKIAorICAgIC8vIFNldHMgdGhlIGxheWVy
IHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIGZvciBjb21wb3NpdGluZy4gVGhlCisgICAgLy8gV2Vi
UGx1Z2luQ29udGFpbmVyIGRvZXMgKm5vdCogdGFrZSBvd25lcnNoaXAuCisgICAgdmlydHVhbCB2
b2lkIHNldFdlYkxheWVyKFdlYkxheWVyKikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlBs
dWdpbkNvbnRhaW5lcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggNDBjMDNjZDFjODdjNzQ0YmYw
Mzc1ZjhhODM5MTM1NDRkODllMjliZi4uYmYyNDc4NjM4MTdkNmY4ODU1OGE4Y2Q2ZGY1MzU5NjEx
MDZlMWM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2lu
Q29udGFpbmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5jcHAKQEAgLTI4NCw2ICsyODQsMjMgQEAgZmxvYXQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6cGFnZVpvb21GYWN0b3IoKQogICAgIHJldHVybiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKTsKIH0KIAordm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpzZXRXZWJMYXll
cihXZWJMYXllciogbGF5ZXIpCit7CisgICAgaWYgKG1fd2ViTGF5ZXIgPT0gbGF5ZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIC8vIElmIGFueW9uZSBvZiB0aGUgbGF5ZXJzIGlzIG51bGwgd2Ug
bmVlZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQorICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21w
b3NpdGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKKyAgICAv
LyBvbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuCisgICAgaWYgKCFtX3dlYkxheWVyIHx8ICFsYXll
cikKKyAgICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKFdlYkNvcmU6OlN5bnRo
ZXRpY1N0eWxlQ2hhbmdlKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NM
YXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKKyAgICBp
ZiAobGF5ZXIpCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6cmVnaXN0ZXJDb250ZW50
c0xheWVyKGxheWVyKTsKKyAgICBtX3dlYkxheWVyID0gbGF5ZXI7Cit9CisKIGJvb2wgV2ViUGx1
Z2luQ29udGFpbmVySW1wbDo6c3VwcG9ydHNQYWdpbmF0ZWRQcmludCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fd2ViUGx1Z2luLT5zdXBwb3J0c1BhZ2luYXRlZFByaW50KCk7CkBAIC0zODEsMTkg
KzM5OCwxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdUZXh0dXJl
SWQodW5zaWduZWQgdGV4dHVyZUlkKQogCiAgICAgQVNTRVJUKCFtX2lvU3VyZmFjZUxheWVyKTsK
IAotICAgIGlmICghbV90ZXh0dXJlTGF5ZXIpIHsKKyAgICBpZiAoIW1fdGV4dHVyZUxheWVyKQog
ICAgICAgICBtX3RleHR1cmVMYXllciA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNv
bXBvc2l0b3JTdXBwb3J0KCktPmNyZWF0ZUV4dGVybmFsVGV4dHVyZUxheWVyKCkpOwotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3RleHR1cmVM
YXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1fdGV4dHVyZUxheWVyLT5zZXRUZXh0dXJlSWQo
dGV4dHVyZUlkKTsKLQotICAgIC8vIElmIGFueW9uZSBvZiB0aGUgSURzIGlzIHplcm8gd2UgbmVl
ZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQotICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21wb3Np
dGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKLSAgICAvLyBv
biB0aGUgY29udGFpbmVyIGVsZW1lbnQuCi0gICAgaWYgKCFtX3RleHR1cmVJZCB8fCAhdGV4dHVy
ZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6U3lu
dGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV90ZXh0dXJlSWQgPSB0ZXh0dXJlSWQ7CisKKyAg
ICBzZXRXZWJMYXllcihtX3RleHR1cmVJZCA/IG1fdGV4dHVyZUxheWVyLT5sYXllcigpIDogMCk7
CiAjZW5kaWYKIH0KIApAQCAtNDA3LDMwICs0MTcsMjAgQEAgdm9pZCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpzZXRCYWNraW5nSU9TdXJmYWNlSWQoaW50IHdpZHRoLAogCiAgICAgQVNTRVJUKCFt
X3RleHR1cmVMYXllcik7CiAKLSAgICBpZiAoIW1faW9TdXJmYWNlTGF5ZXIpIHsKKyAgICBpZiAo
IW1faW9TdXJmYWNlTGF5ZXIpCiAgICAgICAgIG1faW9TdXJmYWNlTGF5ZXIgPSBhZG9wdFB0cihQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5jb21wb3NpdG9yU3VwcG9ydCgpLT5jcmVhdGVJT1N1cmZhY2VM
YXllcigpKTsKLSAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRz
TGF5ZXIobV9pb1N1cmZhY2VMYXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1faW9TdXJmYWNl
TGF5ZXItPnNldElPU3VyZmFjZVByb3BlcnRpZXMoaW9TdXJmYWNlSWQsIFdlYlNpemUod2lkdGgs
IGhlaWdodCkpOwogCi0gICAgLy8gSWYgYW55b25lIG9mIHRoZSBJRHMgaXMgemVybyB3ZSBuZWVk
IHRvIHN3aXRjaCBiZXR3ZWVuIGhhcmR3YXJlCi0gICAgLy8gYW5kIHNvZnR3YXJlIGNvbXBvc2l0
aW5nLiBUaGlzIGlzIGRvbmUgYnkgdHJpZ2dlcmluZyBhIHN0eWxlIHJlY2FsYwotICAgIC8vIG9u
IHRoZSBjb250YWluZXIgZWxlbWVudC4KLSAgICBpZiAoIWlvU3VyZmFjZUlkIHx8ICFtX2lvU3Vy
ZmFjZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6
U3ludGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV9pb1N1cmZhY2VJZCA9IGlvU3VyZmFjZUlk
OworICAgIHNldFdlYkxheWVyKG1faW9TdXJmYWNlSWQgPyBtX2lvU3VyZmFjZUxheWVyLT5sYXll
cigpIDogMCk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpjb21t
aXRCYWNraW5nVGV4dHVyZSgpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQot
ICAgIGlmIChtX3RleHR1cmVMYXllcikKLSAgICAgICAgbV90ZXh0dXJlTGF5ZXItPmxheWVyKCkt
PmludmFsaWRhdGUoKTsKLQotICAgIGlmIChtX2lvU3VyZmFjZUxheWVyKQotICAgICAgICBtX2lv
U3VyZmFjZUxheWVyLT5sYXllcigpLT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKG1fd2ViTGF5ZXIp
CisgICAgICAgIG1fd2ViTGF5ZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogfQogCkBAIC00OTMs
MTUgKzQ5MywxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Onpvb21MZXZlbENoYW5n
ZWQoZG91YmxlIHpvb21MZXZlbCkKICAgICBXZWJWaWV3SW1wbCogdmlldyA9IFdlYlZpZXdJbXBs
Ojpmcm9tUGFnZShtX2VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSk7CiAgICAg
dmlldy0+ZnVsbEZyYW1lUGx1Z2luWm9vbUxldmVsQ2hhbmdlZCh6b29tTGV2ZWwpOwogfQotIAor
CiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldE9wYXF1ZShib29sIG9wYXF1ZSkKIHsK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVy
KQotICAgICAgICBtX3RleHR1cmVMYXllci0+bGF5ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7Ci0K
LSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgbV9pb1N1cmZhY2VMYXllci0+bGF5
ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7CisgICAgaWYgKG1fd2ViTGF5ZXIpCisgICAgICAgIG1f
d2ViTGF5ZXItPnNldE9wYXF1ZShvcGFxdWUpOwogI2VuZGlmCiB9CiAKQEAgLTYyMywxMSArNjIw
LDcgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjp3aWxsRGVzdHJveVBsdWdpbkxvYWRP
YnNlcnZlcihXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXIKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiBXZWJMYXllciogV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcigp
IGNvbnN0CiB7Ci0gICAgaWYgKG1fdGV4dHVyZUlkKQotICAgICAgICByZXR1cm4gbV90ZXh0dXJl
TGF5ZXItPmxheWVyKCk7Ci0gICAgaWYgKG1faW9TdXJmYWNlSWQpCi0gICAgICAgIHJldHVybiBt
X2lvU3VyZmFjZUxheWVyLT5sYXllcigpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3dl
YkxheWVyOwogfQogI2VuZGlmCiAKQEAgLTY3MCw2ICs2NjMsNyBAQCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpXZWJQbHVnaW5Db250YWluZXJJbXBsKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
KiBlbGVtZQogICAgICwgbV90ZXh0dXJlSWQoMCkKICAgICAsIG1faW9TdXJmYWNlSWQoMCkKICNl
bmRpZgorICAgICwgbV93ZWJMYXllcigwKQogICAgICwgbV90b3VjaEV2ZW50UmVxdWVzdFR5cGUo
VG91Y2hFdmVudFJlcXVlc3RUeXBlTm9uZSkKICAgICAsIG1fd2FudHNXaGVlbEV2ZW50cyhmYWxz
ZSkKIHsKQEAgLTY3OCwxMCArNjcyLDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6V2ViUGx1
Z2luQ29udGFpbmVySW1wbChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCogZWxlbWUKIFdlYlBs
dWdpbkNvbnRhaW5lckltcGw6On5XZWJQbHVnaW5Db250YWluZXJJbXBsKCkKIHsKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVyKQotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fdGV4dHVy
ZUxheWVyLT5sYXllcigpKTsKLSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgR3Jh
cGhpY3NMYXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX2lvU3VyZmFjZUxh
eWVyLT5sYXllcigpKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NMYXll
ckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKICNlbmRpZgog
CiAgICAgaWYgKG1fdG91Y2hFdmVudFJlcXVlc3RUeXBlICE9IFRvdWNoRXZlbnRSZXF1ZXN0VHlw
ZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmgKaW5kZXggNTRjNzk2MjM4NWZiNzZjOTkwMWJlNmIwOWMyMDE0ZTc3ZjUxNGRj
MC4uNDQ4YWQ1YmYxNzc2M2NlZDRiOTdiYzY5ZWE0OTgzNDQ0YmQxZmIyMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaApAQCAt
MTI1LDYgKzEyNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGZsb2F0IHBhZ2VTY2FsZUZhY3Rv
cigpOwogICAgIHZpcnR1YWwgZmxvYXQgcGFnZVpvb21GYWN0b3IoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBzZXRXZWJMYXllcihXZWJMYXllciopOworCiAgICAgLy8gUHJpbnRpbmcgaW50ZXJmYWNl
LiBUaGUgcGx1Z2luIGNhbiBzdXBwb3J0IGN1c3RvbSBwcmludGluZwogICAgIC8vICh3aGljaCBt
ZWFucyBpdCBjb250cm9scyB0aGUgbGF5b3V0LCBudW1iZXIgb2YgcGFnZXMgZXRjKS4KICAgICAv
LyBXaGV0aGVyIHRoZSBwbHVnaW4gc3VwcG9ydHMgaXRzIG93biBwYWdpbmF0ZWQgcHJpbnQuIFRo
ZSBvdGhlciBwcmludApAQCAtMTk5LDYgKzIwMSw4IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdl
YklPU3VyZmFjZUxheWVyPiBtX2lvU3VyZmFjZUxheWVyOwogI2VuZGlmCiAKKyAgICBXZWJMYXll
ciogbV93ZWJMYXllcjsKKwogICAgIC8vIFRoZSBhc3NvY2lhdGVkIHNjcm9sbGJhciBncm91cCBv
YmplY3QsIGNyZWF0ZWQgbGF6aWx5LiBVc2VkIGZvciBQZXBwZXIKICAgICAvLyBzY3JvbGxiYXJz
LgogICAgIE93blB0cjxTY3JvbGxiYXJHcm91cD4gbV9zY3JvbGxiYXJHcm91cDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RQ
bHVnaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMv
V2ViVGVzdFBsdWdpbi5jcHAKaW5kZXggMGE1MDg3YmE5ZGU2OGQ0ZWJmNTczYjM0OTYwOGRlZTY5
OTNkZDIyNC4uODgxMjUxNzk5NTBiNTM4MDU1YTI3ZjM1OGMwNGI3MGE4MDQzZTNjMSAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVz
dFBsdWdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5l
ci9zcmMvV2ViVGVzdFBsdWdpbi5jcHAKQEAgLTM1LDcgKzM1LDEyIEBACiAjaW5jbHVkZSAiV2Vi
VG91Y2hQb2ludC5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkdyYXBoaWNzQ29udGV4dDNELmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCisjaW5jbHVkZSAi
cHVibGljL1dlYkNvbXBvc2l0b3JTdXBwb3J0LmgiCisjaW5jbHVkZSAicHVibGljL1dlYkV4dGVy
bmFsVGV4dHVyZUxheWVyLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkV4dGVybmFsVGV4dHVyZUxh
eWVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC0xNDMsNyAr
MTQ4LDcgQEAgV2ViUGx1Z2luQ29udGFpbmVyOjpUb3VjaEV2ZW50UmVxdWVzdFR5cGUgcGFyc2VU
b3VjaEV2ZW50UmVxdWVzdFR5cGUoY29uc3QgV2ViU3QKICAgICByZXR1cm4gV2ViUGx1Z2luQ29u
dGFpbmVyOjpUb3VjaEV2ZW50UmVxdWVzdFR5cGVOb25lOwogfQogCi1jbGFzcyBXZWJUZXN0UGx1
Z2luSW1wbCA6IHB1YmxpYyBXZWJUZXN0UGx1Z2luIHsKK2NsYXNzIFdlYlRlc3RQbHVnaW5JbXBs
IDogcHVibGljIFdlYlRlc3RQbHVnaW4sIHB1YmxpYyBXZWJFeHRlcm5hbFRleHR1cmVMYXllckNs
aWVudCB7CiBwdWJsaWM6CiAgICAgV2ViVGVzdFBsdWdpbkltcGwoV2ViRnJhbWUqLCBjb25zdCBX
ZWJQbHVnaW5QYXJhbXMmLCBXZWJUZXN0RGVsZWdhdGUqKTsKICAgICB2aXJ0dWFsIH5XZWJUZXN0
UGx1Z2luSW1wbCgpOwpAQCAtMTY4LDYgKzE3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpZEZhaWxMb2FkaW5nRnJhbWVSZXF1ZXN0KGNvbnN0IFdlYlVSTCYsIHZvaWQqIG5vdGlm
eURhdGEsIGNvbnN0IFdlYlVSTEVycm9yJikgeyB9CiAgICAgdmlydHVhbCBib29sIGlzUGxhY2Vo
b2xkZXIoKSB7IHJldHVybiBmYWxzZTsgfQogCisgICAgLy8gV2ViRXh0ZXJuYWxUZXh0dXJlTGF5
ZXJDbGllbnQgbWV0aG9kczoKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHByZXBhcmVUZXh0dXJlKFdl
YlRleHR1cmVVcGRhdGVyJikgeyByZXR1cm4gbV9jb2xvclRleHR1cmU7IH0KKyAgICB2aXJ0dWFs
IFdlYkdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CisK
IHByaXZhdGU6CiAgICAgZW51bSBQcmltaXRpdmUgewogICAgICAgICBQcmltaXRpdmVOb25lLApA
QCAtMjIzLDYgKzIzMiw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb2xvclRleHR1cmU7
CiAgICAgdW5zaWduZWQgbV9mcmFtZWJ1ZmZlcjsKICAgICBTY2VuZSBtX3NjZW5lOworICAgIE93
blB0cjxXZWJFeHRlcm5hbFRleHR1cmVMYXllcj4gbV9sYXllcjsKIAogICAgIFdlYlBsdWdpbkNv
bnRhaW5lcjo6VG91Y2hFdmVudFJlcXVlc3RUeXBlIG1fdG91Y2hFdmVudFJlcXVlc3Q7CiAgICAg
Ym9vbCBtX3ByaW50RXZlbnREZXRhaWxzOwpAQCAtMjkxLDggKzMwMSw5IEBAIGJvb2wgV2ViVGVz
dFBsdWdpbkltcGw6OmluaXRpYWxpemUoV2ViUGx1Z2luQ29udGFpbmVyKiBjb250YWluZXIpCiAg
ICAgaWYgKCFpbml0U2NlbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgbV9sYXll
ciA9IFdURjo6YWRvcHRQdHIod2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmNvbXBvc2l0b3JTdXBw
b3J0KCktPmNyZWF0ZUV4dGVybmFsVGV4dHVyZUxheWVyKHRoaXMpKTsKICAgICBtX2NvbnRhaW5l
ciA9IGNvbnRhaW5lcjsKLSAgICBtX2NvbnRhaW5lci0+c2V0QmFja2luZ1RleHR1cmVJZChtX2Nv
bG9yVGV4dHVyZSk7CisgICAgbV9jb250YWluZXItPnNldFdlYkxheWVyKG1fbGF5ZXItPmxheWVy
KCkpOwogICAgIG1fY29udGFpbmVyLT5yZXF1ZXN0VG91Y2hFdmVudFR5cGUobV90b3VjaEV2ZW50
UmVxdWVzdCk7CiAgICAgbV9jb250YWluZXItPnNldFdhbnRzV2hlZWxFdmVudHModHJ1ZSk7CiAg
ICAgcmV0dXJuIHRydWU7CkBAIC0zMDAsNiArMzExLDcgQEAgYm9vbCBXZWJUZXN0UGx1Z2luSW1w
bDo6aW5pdGlhbGl6ZShXZWJQbHVnaW5Db250YWluZXIqIGNvbnRhaW5lcikKIAogdm9pZCBXZWJU
ZXN0UGx1Z2luSW1wbDo6ZGVzdHJveSgpCiB7CisgICAgbV9sYXllci5jbGVhcigpOwogICAgIGRl
c3Ryb3lTY2VuZSgpOwogCiAgICAgZGVsZXRlIG1fY29udGV4dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179322</attachid>
            <date>2012-12-13 13:44:04 -0800</date>
            <delta_ts>2012-12-13 14:19:27 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104875-20121213134124.patch</filename>
            <type>text/plain</type>
            <size>10693</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY2YmMxZTA1ZjFjY2UxY2EyMDliMzFkZGZjMzc4OTI4YmY2YjgyNTYuLmUwMWJlY2EyYTgwMTJk
ZDI1YTVkZDVjN2Q4MTllYjVhZDkxN2I2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMTIgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIFdlYlBsdWdpbkNvbnRhaW5lcjo6c2V0
V2ViTGF5ZXIgdG8gc3VwZXJzZWRlIHNldEJhY2tpbmdUZXh0dXJlSWQvc2V0QmFja2luZ0lPU3Vy
ZmFjZUlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ4NzUKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAq
IHB1YmxpYy9XZWJQbHVnaW5Db250YWluZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJQbHVnaW5Db250YWluZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0V2Vi
TGF5ZXIpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29u
dGFpbmVySW1wbDo6c2V0QmFja2luZ1RleHR1cmVJZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
dWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdJT1N1cmZhY2VJZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmNvbW1pdEJhY2tpbmdUZXh0dXJlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0T3BhcXVlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBsdWdpbkNvbnRhaW5lckltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjp+V2ViUGx1Z2luQ29u
dGFpbmVySW1wbCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEyLTEyICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTM3NDkwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUGx1Z2luQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJQbHVnaW5Db250YWluZXIuaAppbmRleCBjZTcyY2M1OTE1MGU1YTFmZjVmOTk0NWU5N2Q2
OTMxN2E4MzJkZDdmLi42MGFlZjM1OGQ0ZDYyMzRhOTlmMTVjOTc4NWVhZjA0OGI1MzgyOGRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBXZWJQbHVnaW47CiBjbGFzcyBXZWJTdHJpbmc7
CiBjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV2ViTGF5ZXI7CiBz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIApAQCAtMTM2LDYgKzEzNywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKSA9IDA7CiAgICAgdmly
dHVhbCBmbG9hdCBwYWdlWm9vbUZhY3RvcigpID0gMDsKIAorICAgIC8vIFNldHMgdGhlIGxheWVy
IHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIGZvciBjb21wb3NpdGluZy4gVGhlCisgICAgLy8gV2Vi
UGx1Z2luQ29udGFpbmVyIGRvZXMgKm5vdCogdGFrZSBvd25lcnNoaXAuCisgICAgdmlydHVhbCB2
b2lkIHNldFdlYkxheWVyKFdlYkxheWVyKikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlBs
dWdpbkNvbnRhaW5lcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggNDBjMDNjZDFjODdjNzQ0YmYw
Mzc1ZjhhODM5MTM1NDRkODllMjliZi4uYmYyNDc4NjM4MTdkNmY4ODU1OGE4Y2Q2ZGY1MzU5NjEx
MDZlMWM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2lu
Q29udGFpbmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5jcHAKQEAgLTI4NCw2ICsyODQsMjMgQEAgZmxvYXQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6cGFnZVpvb21GYWN0b3IoKQogICAgIHJldHVybiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKTsKIH0KIAordm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpzZXRXZWJMYXll
cihXZWJMYXllciogbGF5ZXIpCit7CisgICAgaWYgKG1fd2ViTGF5ZXIgPT0gbGF5ZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIC8vIElmIGFueW9uZSBvZiB0aGUgbGF5ZXJzIGlzIG51bGwgd2Ug
bmVlZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQorICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21w
b3NpdGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKKyAgICAv
LyBvbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuCisgICAgaWYgKCFtX3dlYkxheWVyIHx8ICFsYXll
cikKKyAgICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKFdlYkNvcmU6OlN5bnRo
ZXRpY1N0eWxlQ2hhbmdlKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NM
YXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKKyAgICBp
ZiAobGF5ZXIpCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6cmVnaXN0ZXJDb250ZW50
c0xheWVyKGxheWVyKTsKKyAgICBtX3dlYkxheWVyID0gbGF5ZXI7Cit9CisKIGJvb2wgV2ViUGx1
Z2luQ29udGFpbmVySW1wbDo6c3VwcG9ydHNQYWdpbmF0ZWRQcmludCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fd2ViUGx1Z2luLT5zdXBwb3J0c1BhZ2luYXRlZFByaW50KCk7CkBAIC0zODEsMTkg
KzM5OCwxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdUZXh0dXJl
SWQodW5zaWduZWQgdGV4dHVyZUlkKQogCiAgICAgQVNTRVJUKCFtX2lvU3VyZmFjZUxheWVyKTsK
IAotICAgIGlmICghbV90ZXh0dXJlTGF5ZXIpIHsKKyAgICBpZiAoIW1fdGV4dHVyZUxheWVyKQog
ICAgICAgICBtX3RleHR1cmVMYXllciA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNv
bXBvc2l0b3JTdXBwb3J0KCktPmNyZWF0ZUV4dGVybmFsVGV4dHVyZUxheWVyKCkpOwotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3RleHR1cmVM
YXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1fdGV4dHVyZUxheWVyLT5zZXRUZXh0dXJlSWQo
dGV4dHVyZUlkKTsKLQotICAgIC8vIElmIGFueW9uZSBvZiB0aGUgSURzIGlzIHplcm8gd2UgbmVl
ZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQotICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21wb3Np
dGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKLSAgICAvLyBv
biB0aGUgY29udGFpbmVyIGVsZW1lbnQuCi0gICAgaWYgKCFtX3RleHR1cmVJZCB8fCAhdGV4dHVy
ZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6U3lu
dGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV90ZXh0dXJlSWQgPSB0ZXh0dXJlSWQ7CisKKyAg
ICBzZXRXZWJMYXllcihtX3RleHR1cmVJZCA/IG1fdGV4dHVyZUxheWVyLT5sYXllcigpIDogMCk7
CiAjZW5kaWYKIH0KIApAQCAtNDA3LDMwICs0MTcsMjAgQEAgdm9pZCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpzZXRCYWNraW5nSU9TdXJmYWNlSWQoaW50IHdpZHRoLAogCiAgICAgQVNTRVJUKCFt
X3RleHR1cmVMYXllcik7CiAKLSAgICBpZiAoIW1faW9TdXJmYWNlTGF5ZXIpIHsKKyAgICBpZiAo
IW1faW9TdXJmYWNlTGF5ZXIpCiAgICAgICAgIG1faW9TdXJmYWNlTGF5ZXIgPSBhZG9wdFB0cihQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5jb21wb3NpdG9yU3VwcG9ydCgpLT5jcmVhdGVJT1N1cmZhY2VM
YXllcigpKTsKLSAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRz
TGF5ZXIobV9pb1N1cmZhY2VMYXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1faW9TdXJmYWNl
TGF5ZXItPnNldElPU3VyZmFjZVByb3BlcnRpZXMoaW9TdXJmYWNlSWQsIFdlYlNpemUod2lkdGgs
IGhlaWdodCkpOwogCi0gICAgLy8gSWYgYW55b25lIG9mIHRoZSBJRHMgaXMgemVybyB3ZSBuZWVk
IHRvIHN3aXRjaCBiZXR3ZWVuIGhhcmR3YXJlCi0gICAgLy8gYW5kIHNvZnR3YXJlIGNvbXBvc2l0
aW5nLiBUaGlzIGlzIGRvbmUgYnkgdHJpZ2dlcmluZyBhIHN0eWxlIHJlY2FsYwotICAgIC8vIG9u
IHRoZSBjb250YWluZXIgZWxlbWVudC4KLSAgICBpZiAoIWlvU3VyZmFjZUlkIHx8ICFtX2lvU3Vy
ZmFjZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6
U3ludGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV9pb1N1cmZhY2VJZCA9IGlvU3VyZmFjZUlk
OworICAgIHNldFdlYkxheWVyKG1faW9TdXJmYWNlSWQgPyBtX2lvU3VyZmFjZUxheWVyLT5sYXll
cigpIDogMCk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpjb21t
aXRCYWNraW5nVGV4dHVyZSgpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQot
ICAgIGlmIChtX3RleHR1cmVMYXllcikKLSAgICAgICAgbV90ZXh0dXJlTGF5ZXItPmxheWVyKCkt
PmludmFsaWRhdGUoKTsKLQotICAgIGlmIChtX2lvU3VyZmFjZUxheWVyKQotICAgICAgICBtX2lv
U3VyZmFjZUxheWVyLT5sYXllcigpLT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKG1fd2ViTGF5ZXIp
CisgICAgICAgIG1fd2ViTGF5ZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogfQogCkBAIC00OTMs
MTUgKzQ5MywxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Onpvb21MZXZlbENoYW5n
ZWQoZG91YmxlIHpvb21MZXZlbCkKICAgICBXZWJWaWV3SW1wbCogdmlldyA9IFdlYlZpZXdJbXBs
Ojpmcm9tUGFnZShtX2VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSk7CiAgICAg
dmlldy0+ZnVsbEZyYW1lUGx1Z2luWm9vbUxldmVsQ2hhbmdlZCh6b29tTGV2ZWwpOwogfQotIAor
CiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldE9wYXF1ZShib29sIG9wYXF1ZSkKIHsK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVy
KQotICAgICAgICBtX3RleHR1cmVMYXllci0+bGF5ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7Ci0K
LSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgbV9pb1N1cmZhY2VMYXllci0+bGF5
ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7CisgICAgaWYgKG1fd2ViTGF5ZXIpCisgICAgICAgIG1f
d2ViTGF5ZXItPnNldE9wYXF1ZShvcGFxdWUpOwogI2VuZGlmCiB9CiAKQEAgLTYyMywxMSArNjIw
LDcgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjp3aWxsRGVzdHJveVBsdWdpbkxvYWRP
YnNlcnZlcihXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXIKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiBXZWJMYXllciogV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcigp
IGNvbnN0CiB7Ci0gICAgaWYgKG1fdGV4dHVyZUlkKQotICAgICAgICByZXR1cm4gbV90ZXh0dXJl
TGF5ZXItPmxheWVyKCk7Ci0gICAgaWYgKG1faW9TdXJmYWNlSWQpCi0gICAgICAgIHJldHVybiBt
X2lvU3VyZmFjZUxheWVyLT5sYXllcigpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3dl
YkxheWVyOwogfQogI2VuZGlmCiAKQEAgLTY3MCw2ICs2NjMsNyBAQCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpXZWJQbHVnaW5Db250YWluZXJJbXBsKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
KiBlbGVtZQogICAgICwgbV90ZXh0dXJlSWQoMCkKICAgICAsIG1faW9TdXJmYWNlSWQoMCkKICNl
bmRpZgorICAgICwgbV93ZWJMYXllcigwKQogICAgICwgbV90b3VjaEV2ZW50UmVxdWVzdFR5cGUo
VG91Y2hFdmVudFJlcXVlc3RUeXBlTm9uZSkKICAgICAsIG1fd2FudHNXaGVlbEV2ZW50cyhmYWxz
ZSkKIHsKQEAgLTY3OCwxMCArNjcyLDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6V2ViUGx1
Z2luQ29udGFpbmVySW1wbChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCogZWxlbWUKIFdlYlBs
dWdpbkNvbnRhaW5lckltcGw6On5XZWJQbHVnaW5Db250YWluZXJJbXBsKCkKIHsKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVyKQotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fdGV4dHVy
ZUxheWVyLT5sYXllcigpKTsKLSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgR3Jh
cGhpY3NMYXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX2lvU3VyZmFjZUxh
eWVyLT5sYXllcigpKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NMYXll
ckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKICNlbmRpZgog
CiAgICAgaWYgKG1fdG91Y2hFdmVudFJlcXVlc3RUeXBlICE9IFRvdWNoRXZlbnRSZXF1ZXN0VHlw
ZU5vbmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5D
b250YWluZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmgKaW5kZXggNTRjNzk2MjM4NWZiNzZjOTkwMWJlNmIwOWMyMDE0ZTc3ZjUxNGRj
MC4uNDQ4YWQ1YmYxNzc2M2NlZDRiOTdiYzY5ZWE0OTgzNDQ0YmQxZmIyMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaApAQCAt
MTI1LDYgKzEyNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGZsb2F0IHBhZ2VTY2FsZUZhY3Rv
cigpOwogICAgIHZpcnR1YWwgZmxvYXQgcGFnZVpvb21GYWN0b3IoKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBzZXRXZWJMYXllcihXZWJMYXllciopOworCiAgICAgLy8gUHJpbnRpbmcgaW50ZXJmYWNl
LiBUaGUgcGx1Z2luIGNhbiBzdXBwb3J0IGN1c3RvbSBwcmludGluZwogICAgIC8vICh3aGljaCBt
ZWFucyBpdCBjb250cm9scyB0aGUgbGF5b3V0LCBudW1iZXIgb2YgcGFnZXMgZXRjKS4KICAgICAv
LyBXaGV0aGVyIHRoZSBwbHVnaW4gc3VwcG9ydHMgaXRzIG93biBwYWdpbmF0ZWQgcHJpbnQuIFRo
ZSBvdGhlciBwcmludApAQCAtMTk5LDYgKzIwMSw4IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPFdl
YklPU3VyZmFjZUxheWVyPiBtX2lvU3VyZmFjZUxheWVyOwogI2VuZGlmCiAKKyAgICBXZWJMYXll
ciogbV93ZWJMYXllcjsKKwogICAgIC8vIFRoZSBhc3NvY2lhdGVkIHNjcm9sbGJhciBncm91cCBv
YmplY3QsIGNyZWF0ZWQgbGF6aWx5LiBVc2VkIGZvciBQZXBwZXIKICAgICAvLyBzY3JvbGxiYXJz
LgogICAgIE93blB0cjxTY3JvbGxiYXJHcm91cD4gbV9zY3JvbGxiYXJHcm91cDsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RQ
bHVnaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMv
V2ViVGVzdFBsdWdpbi5jcHAKaW5kZXggMGE1MDg3YmE5ZGU2OGQ0ZWJmNTczYjM0OTYwOGRlZTY5
OTNkZDIyNC4uZGEzNzQyZThmNzg4NTkxNzI2YWI4MTJjYmYwNjRlNDVkMjhkNzhhMiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9zcmMvV2ViVGVz
dFBsdWdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5l
ci9zcmMvV2ViVGVzdFBsdWdpbi5jcHAKQEAgLTM1LDcgKzM1LDEyIEBACiAjaW5jbHVkZSAiV2Vi
VG91Y2hQb2ludC5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkdyYXBoaWNzQ29udGV4dDNELmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCisjaW5jbHVkZSAi
cHVibGljL1dlYkNvbXBvc2l0b3JTdXBwb3J0LmgiCisjaW5jbHVkZSAicHVibGljL1dlYkV4dGVy
bmFsVGV4dHVyZUxheWVyLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkV4dGVybmFsVGV4dHVyZUxh
eWVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC0xNDMsNyAr
MTQ4LDcgQEAgV2ViUGx1Z2luQ29udGFpbmVyOjpUb3VjaEV2ZW50UmVxdWVzdFR5cGUgcGFyc2VU
b3VjaEV2ZW50UmVxdWVzdFR5cGUoY29uc3QgV2ViU3QKICAgICByZXR1cm4gV2ViUGx1Z2luQ29u
dGFpbmVyOjpUb3VjaEV2ZW50UmVxdWVzdFR5cGVOb25lOwogfQogCi1jbGFzcyBXZWJUZXN0UGx1
Z2luSW1wbCA6IHB1YmxpYyBXZWJUZXN0UGx1Z2luIHsKK2NsYXNzIFdlYlRlc3RQbHVnaW5JbXBs
IDogcHVibGljIFdlYlRlc3RQbHVnaW4sIHB1YmxpYyBXZWJFeHRlcm5hbFRleHR1cmVMYXllckNs
aWVudCB7CiBwdWJsaWM6CiAgICAgV2ViVGVzdFBsdWdpbkltcGwoV2ViRnJhbWUqLCBjb25zdCBX
ZWJQbHVnaW5QYXJhbXMmLCBXZWJUZXN0RGVsZWdhdGUqKTsKICAgICB2aXJ0dWFsIH5XZWJUZXN0
UGx1Z2luSW1wbCgpOwpAQCAtMTY4LDYgKzE3MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGRpZEZhaWxMb2FkaW5nRnJhbWVSZXF1ZXN0KGNvbnN0IFdlYlVSTCYsIHZvaWQqIG5vdGlm
eURhdGEsIGNvbnN0IFdlYlVSTEVycm9yJikgeyB9CiAgICAgdmlydHVhbCBib29sIGlzUGxhY2Vo
b2xkZXIoKSB7IHJldHVybiBmYWxzZTsgfQogCisgICAgLy8gV2ViRXh0ZXJuYWxUZXh0dXJlTGF5
ZXJDbGllbnQgbWV0aG9kczoKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHByZXBhcmVUZXh0dXJlKFdl
YlRleHR1cmVVcGRhdGVyJikgeyByZXR1cm4gbV9jb2xvclRleHR1cmU7IH0KKyAgICB2aXJ0dWFs
IFdlYkdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CisK
IHByaXZhdGU6CiAgICAgZW51bSBQcmltaXRpdmUgewogICAgICAgICBQcmltaXRpdmVOb25lLApA
QCAtMjIzLDYgKzIzMiw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jb2xvclRleHR1cmU7
CiAgICAgdW5zaWduZWQgbV9mcmFtZWJ1ZmZlcjsKICAgICBTY2VuZSBtX3NjZW5lOworICAgIE93
blB0cjxXZWJFeHRlcm5hbFRleHR1cmVMYXllcj4gbV9sYXllcjsKIAogICAgIFdlYlBsdWdpbkNv
bnRhaW5lcjo6VG91Y2hFdmVudFJlcXVlc3RUeXBlIG1fdG91Y2hFdmVudFJlcXVlc3Q7CiAgICAg
Ym9vbCBtX3ByaW50RXZlbnREZXRhaWxzOwpAQCAtMjkxLDggKzMwMSw5IEBAIGJvb2wgV2ViVGVz
dFBsdWdpbkltcGw6OmluaXRpYWxpemUoV2ViUGx1Z2luQ29udGFpbmVyKiBjb250YWluZXIpCiAg
ICAgaWYgKCFpbml0U2NlbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgbV9sYXll
ciA9IGFkb3B0UHRyKHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5jb21wb3NpdG9yU3VwcG9ydCgp
LT5jcmVhdGVFeHRlcm5hbFRleHR1cmVMYXllcih0aGlzKSk7CiAgICAgbV9jb250YWluZXIgPSBj
b250YWluZXI7Ci0gICAgbV9jb250YWluZXItPnNldEJhY2tpbmdUZXh0dXJlSWQobV9jb2xvclRl
eHR1cmUpOworICAgIG1fY29udGFpbmVyLT5zZXRXZWJMYXllcihtX2xheWVyLT5sYXllcigpKTsK
ICAgICBtX2NvbnRhaW5lci0+cmVxdWVzdFRvdWNoRXZlbnRUeXBlKG1fdG91Y2hFdmVudFJlcXVl
c3QpOwogICAgIG1fY29udGFpbmVyLT5zZXRXYW50c1doZWVsRXZlbnRzKHRydWUpOwogICAgIHJl
dHVybiB0cnVlOwpAQCAtMzAwLDYgKzMxMSw3IEBAIGJvb2wgV2ViVGVzdFBsdWdpbkltcGw6Omlu
aXRpYWxpemUoV2ViUGx1Z2luQ29udGFpbmVyKiBjb250YWluZXIpCiAKIHZvaWQgV2ViVGVzdFBs
dWdpbkltcGw6OmRlc3Ryb3koKQogeworICAgIG1fbGF5ZXIuY2xlYXIoKTsKICAgICBkZXN0cm95
U2NlbmUoKTsKIAogICAgIGRlbGV0ZSBtX2NvbnRleHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179332</attachid>
            <date>2012-12-13 14:19:33 -0800</date>
            <delta_ts>2012-12-13 14:20:15 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104875-20121213141653.patch</filename>
            <type>text/plain</type>
            <size>11402</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY2YmMxZTA1ZjFjY2UxY2EyMDliMzFkZGZjMzc4OTI4YmY2YjgyNTYuLmUwMWJlY2EyYTgwMTJk
ZDI1YTVkZDVjN2Q4MTllYjVhZDkxN2I2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMTIgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIFdlYlBsdWdpbkNvbnRhaW5lcjo6c2V0
V2ViTGF5ZXIgdG8gc3VwZXJzZWRlIHNldEJhY2tpbmdUZXh0dXJlSWQvc2V0QmFja2luZ0lPU3Vy
ZmFjZUlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDQ4NzUKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICAq
IHB1YmxpYy9XZWJQbHVnaW5Db250YWluZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJQbHVnaW5Db250YWluZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0V2Vi
TGF5ZXIpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29u
dGFpbmVySW1wbDo6c2V0QmFja2luZ1RleHR1cmVJZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
dWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdJT1N1cmZhY2VJZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmNvbW1pdEJhY2tpbmdUZXh0dXJlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6c2V0T3BhcXVlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBsdWdpbkNvbnRhaW5lckltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjp+V2ViUGx1Z2luQ29u
dGFpbmVySW1wbCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEyLTEyICBTaGVyaWZmIEJv
dCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMTM3NDkwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUGx1Z2luQ29udGFpbmVyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJQbHVnaW5Db250YWluZXIuaAppbmRleCBjZTcyY2M1OTE1MGU1YTFmZjVmOTk0NWU5N2Q2
OTMxN2E4MzJkZDdmLi42MGFlZjM1OGQ0ZDYyMzRhOTlmMTVjOTc4NWVhZjA0OGI1MzgyOGRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW5Db250YWlu
ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBXZWJQbHVnaW47CiBjbGFzcyBXZWJTdHJpbmc7
CiBjbGFzcyBXZWJVUkw7CiBjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV2ViTGF5ZXI7CiBz
dHJ1Y3QgV2ViUG9pbnQ7CiBzdHJ1Y3QgV2ViUmVjdDsKIApAQCAtMTM2LDYgKzEzNywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKSA9IDA7CiAgICAgdmly
dHVhbCBmbG9hdCBwYWdlWm9vbUZhY3RvcigpID0gMDsKIAorICAgIC8vIFNldHMgdGhlIGxheWVy
IHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIGZvciBjb21wb3NpdGluZy4gVGhlCisgICAgLy8gV2Vi
UGx1Z2luQ29udGFpbmVyIGRvZXMgKm5vdCogdGFrZSBvd25lcnNoaXAuCisgICAgdmlydHVhbCB2
b2lkIHNldFdlYkxheWVyKFdlYkxheWVyKikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYlBs
dWdpbkNvbnRhaW5lcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggNDBjMDNjZDFjODdjNzQ0YmYw
Mzc1ZjhhODM5MTM1NDRkODllMjliZi4uYWMzMTZiMjk5NGM4YTU3NjQyYzYzMzIyZWVhNTljM2E2
NGQ5NjAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2lu
Q29udGFpbmVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5jcHAKQEAgLTI4NCw2ICsyODQsMjMgQEAgZmxvYXQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6cGFnZVpvb21GYWN0b3IoKQogICAgIHJldHVybiBmcmFtZS0+cGFnZVpv
b21GYWN0b3IoKTsKIH0KIAordm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpzZXRXZWJMYXll
cihXZWJMYXllciogbGF5ZXIpCit7CisgICAgaWYgKG1fd2ViTGF5ZXIgPT0gbGF5ZXIpCisgICAg
ICAgIHJldHVybjsKKworICAgIC8vIElmIGFueW9uZSBvZiB0aGUgbGF5ZXJzIGlzIG51bGwgd2Ug
bmVlZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQorICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21w
b3NpdGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKKyAgICAv
LyBvbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuCisgICAgaWYgKCFtX3dlYkxheWVyIHx8ICFsYXll
cikKKyAgICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKFdlYkNvcmU6OlN5bnRo
ZXRpY1N0eWxlQ2hhbmdlKTsKKyAgICBpZiAobV93ZWJMYXllcikKKyAgICAgICAgR3JhcGhpY3NM
YXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3dlYkxheWVyKTsKKyAgICBp
ZiAobGF5ZXIpCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6cmVnaXN0ZXJDb250ZW50
c0xheWVyKGxheWVyKTsKKyAgICBtX3dlYkxheWVyID0gbGF5ZXI7Cit9CisKIGJvb2wgV2ViUGx1
Z2luQ29udGFpbmVySW1wbDo6c3VwcG9ydHNQYWdpbmF0ZWRQcmludCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fd2ViUGx1Z2luLT5zdXBwb3J0c1BhZ2luYXRlZFByaW50KCk7CkBAIC0zODEsMTkg
KzM5OCwxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldEJhY2tpbmdUZXh0dXJl
SWQodW5zaWduZWQgdGV4dHVyZUlkKQogCiAgICAgQVNTRVJUKCFtX2lvU3VyZmFjZUxheWVyKTsK
IAotICAgIGlmICghbV90ZXh0dXJlTGF5ZXIpIHsKKyAgICBpZiAoIW1fdGV4dHVyZUxheWVyKQog
ICAgICAgICBtX3RleHR1cmVMYXllciA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNv
bXBvc2l0b3JTdXBwb3J0KCktPmNyZWF0ZUV4dGVybmFsVGV4dHVyZUxheWVyKCkpOwotICAgICAg
ICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnJlZ2lzdGVyQ29udGVudHNMYXllcihtX3RleHR1cmVM
YXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1fdGV4dHVyZUxheWVyLT5zZXRUZXh0dXJlSWQo
dGV4dHVyZUlkKTsKLQotICAgIC8vIElmIGFueW9uZSBvZiB0aGUgSURzIGlzIHplcm8gd2UgbmVl
ZCB0byBzd2l0Y2ggYmV0d2VlbiBoYXJkd2FyZQotICAgIC8vIGFuZCBzb2Z0d2FyZSBjb21wb3Np
dGluZy4gVGhpcyBpcyBkb25lIGJ5IHRyaWdnZXJpbmcgYSBzdHlsZSByZWNhbGMKLSAgICAvLyBv
biB0aGUgY29udGFpbmVyIGVsZW1lbnQuCi0gICAgaWYgKCFtX3RleHR1cmVJZCB8fCAhdGV4dHVy
ZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6U3lu
dGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV90ZXh0dXJlSWQgPSB0ZXh0dXJlSWQ7CisKKyAg
ICBzZXRXZWJMYXllcihtX3RleHR1cmVJZCA/IG1fdGV4dHVyZUxheWVyLT5sYXllcigpIDogMCk7
CiAjZW5kaWYKIH0KIApAQCAtNDA3LDMwICs0MTcsMjAgQEAgdm9pZCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpzZXRCYWNraW5nSU9TdXJmYWNlSWQoaW50IHdpZHRoLAogCiAgICAgQVNTRVJUKCFt
X3RleHR1cmVMYXllcik7CiAKLSAgICBpZiAoIW1faW9TdXJmYWNlTGF5ZXIpIHsKKyAgICBpZiAo
IW1faW9TdXJmYWNlTGF5ZXIpCiAgICAgICAgIG1faW9TdXJmYWNlTGF5ZXIgPSBhZG9wdFB0cihQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5jb21wb3NpdG9yU3VwcG9ydCgpLT5jcmVhdGVJT1N1cmZhY2VM
YXllcigpKTsKLSAgICAgICAgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZWdpc3RlckNvbnRlbnRz
TGF5ZXIobV9pb1N1cmZhY2VMYXllci0+bGF5ZXIoKSk7Ci0gICAgfQogICAgIG1faW9TdXJmYWNl
TGF5ZXItPnNldElPU3VyZmFjZVByb3BlcnRpZXMoaW9TdXJmYWNlSWQsIFdlYlNpemUod2lkdGgs
IGhlaWdodCkpOwogCi0gICAgLy8gSWYgYW55b25lIG9mIHRoZSBJRHMgaXMgemVybyB3ZSBuZWVk
IHRvIHN3aXRjaCBiZXR3ZWVuIGhhcmR3YXJlCi0gICAgLy8gYW5kIHNvZnR3YXJlIGNvbXBvc2l0
aW5nLiBUaGlzIGlzIGRvbmUgYnkgdHJpZ2dlcmluZyBhIHN0eWxlIHJlY2FsYwotICAgIC8vIG9u
IHRoZSBjb250YWluZXIgZWxlbWVudC4KLSAgICBpZiAoIWlvU3VyZmFjZUlkIHx8ICFtX2lvU3Vy
ZmFjZUlkKQotICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoV2ViQ29yZTo6
U3ludGhldGljU3R5bGVDaGFuZ2UpOwotCiAgICAgbV9pb1N1cmZhY2VJZCA9IGlvU3VyZmFjZUlk
OworICAgIHNldFdlYkxheWVyKG1faW9TdXJmYWNlSWQgPyBtX2lvU3VyZmFjZUxheWVyLT5sYXll
cigpIDogMCk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpjb21t
aXRCYWNraW5nVGV4dHVyZSgpCiB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQot
ICAgIGlmIChtX3RleHR1cmVMYXllcikKLSAgICAgICAgbV90ZXh0dXJlTGF5ZXItPmxheWVyKCkt
PmludmFsaWRhdGUoKTsKLQotICAgIGlmIChtX2lvU3VyZmFjZUxheWVyKQotICAgICAgICBtX2lv
U3VyZmFjZUxheWVyLT5sYXllcigpLT5pbnZhbGlkYXRlKCk7CisgICAgaWYgKG1fd2ViTGF5ZXIp
CisgICAgICAgIG1fd2ViTGF5ZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogfQogCkBAIC00OTMs
MTUgKzQ5MywxMiBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6Onpvb21MZXZlbENoYW5n
ZWQoZG91YmxlIHpvb21MZXZlbCkKICAgICBXZWJWaWV3SW1wbCogdmlldyA9IFdlYlZpZXdJbXBs
Ojpmcm9tUGFnZShtX2VsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSk7CiAgICAg
dmlldy0+ZnVsbEZyYW1lUGx1Z2luWm9vbUxldmVsQ2hhbmdlZCh6b29tTGV2ZWwpOwogfQotIAor
CiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldE9wYXF1ZShib29sIG9wYXF1ZSkKIHsK
ICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVy
KQotICAgICAgICBtX3RleHR1cmVMYXllci0+bGF5ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7Ci0K
LSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAgbV9pb1N1cmZhY2VMYXllci0+bGF5
ZXIoKS0+c2V0T3BhcXVlKG9wYXF1ZSk7CisgICAgaWYgKG1fd2ViTGF5ZXIpCisgICAgICAgIG1f
d2ViTGF5ZXItPnNldE9wYXF1ZShvcGFxdWUpOwogI2VuZGlmCiB9CiAKQEAgLTYyMywxMSArNjIw
LDcgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjp3aWxsRGVzdHJveVBsdWdpbkxvYWRP
YnNlcnZlcihXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXIKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiBXZWJMYXllciogV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6cGxhdGZvcm1MYXllcigp
IGNvbnN0CiB7Ci0gICAgaWYgKG1fdGV4dHVyZUlkKQotICAgICAgICByZXR1cm4gbV90ZXh0dXJl
TGF5ZXItPmxheWVyKCk7Ci0gICAgaWYgKG1faW9TdXJmYWNlSWQpCi0gICAgICAgIHJldHVybiBt
X2lvU3VyZmFjZUxheWVyLT5sYXllcigpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3dl
YkxheWVyOwogfQogI2VuZGlmCiAKQEAgLTY3MCw2ICs2NjMsNyBAQCBXZWJQbHVnaW5Db250YWlu
ZXJJbXBsOjpXZWJQbHVnaW5Db250YWluZXJJbXBsKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
KiBlbGVtZQogICAgICwgbV90ZXh0dXJlSWQoMCkKICAgICAsIG1faW9TdXJmYWNlSWQoMCkKICNl
bmRpZgorICAgICwgbV93ZWJMYXllcigwKQogICAgICwgbV90b3VjaEV2ZW50UmVxdWVzdFR5cGUo
VG91Y2hFdmVudFJlcXVlc3RUeXBlTm9uZSkKICAgICAsIG1fd2FudHNXaGVlbEV2ZW50cyhmYWxz
ZSkKIHsKQEAgLTY3NywxOSArNjcxLDE2IEBAIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OldlYlBs
dWdpbkNvbnRhaW5lckltcGwoV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lCiAKIFdl
YlBsdWdpbkNvbnRhaW5lckltcGw6On5XZWJQbHVnaW5Db250YWluZXJJbXBsKCkKIHsKLSNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgaWYgKG1fdGV4dHVyZUxheWVyKQotICAg
ICAgICBHcmFwaGljc0xheWVyQ2hyb21pdW06OnVucmVnaXN0ZXJDb250ZW50c0xheWVyKG1fdGV4
dHVyZUxheWVyLT5sYXllcigpKTsKLSAgICBpZiAobV9pb1N1cmZhY2VMYXllcikKLSAgICAgICAg
R3JhcGhpY3NMYXllckNocm9taXVtOjp1bnJlZ2lzdGVyQ29udGVudHNMYXllcihtX2lvU3VyZmFj
ZUxheWVyLT5sYXllcigpKTsKLSNlbmRpZgotCiAgICAgaWYgKG1fdG91Y2hFdmVudFJlcXVlc3RU
eXBlICE9IFRvdWNoRXZlbnRSZXF1ZXN0VHlwZU5vbmUpCiAgICAgICAgIG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS0+ZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRsZXIoKTsKIAogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbV9wbHVnaW5Mb2FkT2JzZXJ2ZXJzLnNpemUoKTsgKytpKQogICAgICAgICBt
X3BsdWdpbkxvYWRPYnNlcnZlcnNbaV0tPmNsZWFyUGx1Z2luQ29udGFpbmVyKCk7CiAgICAgbV93
ZWJQbHVnaW4tPmRlc3Ryb3koKTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisg
ICAgaWYgKG1fd2ViTGF5ZXIpCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6dW5yZWdp
c3RlckNvbnRlbnRzTGF5ZXIobV93ZWJMYXllcik7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQbHVn
aW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5o
CmluZGV4IDU0Yzc5NjIzODVmYjc2Yzk5MDFiZTZiMDljMjAxNGU3N2Y1MTRkYzAuLjQ0OGFkNWJm
MTc3NjNjZWQ0Yjk3YmM2OWVhNDk4MzQ0NGJkMWZiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmgKQEAgLTEyNSw2ICsxMjUs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IoKTsKICAgICB2
aXJ0dWFsIGZsb2F0IHBhZ2Vab29tRmFjdG9yKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0V2Vi
TGF5ZXIoV2ViTGF5ZXIqKTsKKwogICAgIC8vIFByaW50aW5nIGludGVyZmFjZS4gVGhlIHBsdWdp
biBjYW4gc3VwcG9ydCBjdXN0b20gcHJpbnRpbmcKICAgICAvLyAod2hpY2ggbWVhbnMgaXQgY29u
dHJvbHMgdGhlIGxheW91dCwgbnVtYmVyIG9mIHBhZ2VzIGV0YykuCiAgICAgLy8gV2hldGhlciB0
aGUgcGx1Z2luIHN1cHBvcnRzIGl0cyBvd24gcGFnaW5hdGVkIHByaW50LiBUaGUgb3RoZXIgcHJp
bnQKQEAgLTE5OSw2ICsyMDEsOCBAQCBwcml2YXRlOgogICAgIE93blB0cjxXZWJJT1N1cmZhY2VM
YXllcj4gbV9pb1N1cmZhY2VMYXllcjsKICNlbmRpZgogCisgICAgV2ViTGF5ZXIqIG1fd2ViTGF5
ZXI7CisKICAgICAvLyBUaGUgYXNzb2NpYXRlZCBzY3JvbGxiYXIgZ3JvdXAgb2JqZWN0LCBjcmVh
dGVkIGxhemlseS4gVXNlZCBmb3IgUGVwcGVyCiAgICAgLy8gc2Nyb2xsYmFycy4KICAgICBPd25Q
dHI8U2Nyb2xsYmFyR3JvdXA+IG1fc2Nyb2xsYmFyR3JvdXA7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL3NyYy9XZWJUZXN0UGx1Z2luLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RQbHVn
aW4uY3BwCmluZGV4IDBhNTA4N2JhOWRlNjhkNGViZjU3M2IzNDk2MDhkZWU2OTkzZGQyMjQuLjJi
Yjg4NjEzZDdmMzAzM2FjOWM0ODkwNTAzOTkzNDY3NTk4MWMwODcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRlc3RQbHVnaW4uY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvc3JjL1dlYlRl
c3RQbHVnaW4uY3BwCkBAIC0zNSw3ICszNSwxMiBAQAogI2luY2x1ZGUgIldlYlRvdWNoUG9pbnQu
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUg
InBsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJD
b21wb3NpdG9yU3VwcG9ydC5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVM
YXllci5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckNsaWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIApAQCAtMTQzLDcgKzE0OCw3IEBAIFdl
YlBsdWdpbkNvbnRhaW5lcjo6VG91Y2hFdmVudFJlcXVlc3RUeXBlIHBhcnNlVG91Y2hFdmVudFJl
cXVlc3RUeXBlKGNvbnN0IFdlYlN0CiAgICAgcmV0dXJuIFdlYlBsdWdpbkNvbnRhaW5lcjo6VG91
Y2hFdmVudFJlcXVlc3RUeXBlTm9uZTsKIH0KIAotY2xhc3MgV2ViVGVzdFBsdWdpbkltcGwgOiBw
dWJsaWMgV2ViVGVzdFBsdWdpbiB7CitjbGFzcyBXZWJUZXN0UGx1Z2luSW1wbCA6IHB1YmxpYyBX
ZWJUZXN0UGx1Z2luLCBwdWJsaWMgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJDbGllbnQgewogcHVi
bGljOgogICAgIFdlYlRlc3RQbHVnaW5JbXBsKFdlYkZyYW1lKiwgY29uc3QgV2ViUGx1Z2luUGFy
YW1zJiwgV2ViVGVzdERlbGVnYXRlKik7CiAgICAgdmlydHVhbCB+V2ViVGVzdFBsdWdpbkltcGwo
KTsKQEAgLTE2OCw2ICsxNzMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGYWls
TG9hZGluZ0ZyYW1lUmVxdWVzdChjb25zdCBXZWJVUkwmLCB2b2lkKiBub3RpZnlEYXRhLCBjb25z
dCBXZWJVUkxFcnJvciYpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1BsYWNlaG9sZGVyKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KIAorICAgIC8vIFdlYkV4dGVybmFsVGV4dHVyZUxheWVyQ2xpZW50IG1l
dGhvZHM6CisgICAgdmlydHVhbCB1bnNpZ25lZCBwcmVwYXJlVGV4dHVyZShXZWJUZXh0dXJlVXBk
YXRlciYpIHsgcmV0dXJuIG1fY29sb3JUZXh0dXJlOyB9CisgICAgdmlydHVhbCBXZWJHcmFwaGlj
c0NvbnRleHQzRCogY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQorCiBwcml2YXRlOgog
ICAgIGVudW0gUHJpbWl0aXZlIHsKICAgICAgICAgUHJpbWl0aXZlTm9uZSwKQEAgLTIyMyw2ICsy
MzIsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY29sb3JUZXh0dXJlOwogICAgIHVuc2ln
bmVkIG1fZnJhbWVidWZmZXI7CiAgICAgU2NlbmUgbV9zY2VuZTsKKyAgICBPd25QdHI8V2ViRXh0
ZXJuYWxUZXh0dXJlTGF5ZXI+IG1fbGF5ZXI7CiAKICAgICBXZWJQbHVnaW5Db250YWluZXI6OlRv
dWNoRXZlbnRSZXF1ZXN0VHlwZSBtX3RvdWNoRXZlbnRSZXF1ZXN0OwogICAgIGJvb2wgbV9wcmlu
dEV2ZW50RGV0YWlsczsKQEAgLTI5MSw4ICszMDEsOSBAQCBib29sIFdlYlRlc3RQbHVnaW5JbXBs
Ojppbml0aWFsaXplKFdlYlBsdWdpbkNvbnRhaW5lciogY29udGFpbmVyKQogICAgIGlmICghaW5p
dFNjZW5lKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIG1fbGF5ZXIgPSBhZG9wdFB0
cih3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+Y29tcG9zaXRvclN1cHBvcnQoKS0+Y3JlYXRlRXh0
ZXJuYWxUZXh0dXJlTGF5ZXIodGhpcykpOwogICAgIG1fY29udGFpbmVyID0gY29udGFpbmVyOwot
ICAgIG1fY29udGFpbmVyLT5zZXRCYWNraW5nVGV4dHVyZUlkKG1fY29sb3JUZXh0dXJlKTsKKyAg
ICBtX2NvbnRhaW5lci0+c2V0V2ViTGF5ZXIobV9sYXllci0+bGF5ZXIoKSk7CiAgICAgbV9jb250
YWluZXItPnJlcXVlc3RUb3VjaEV2ZW50VHlwZShtX3RvdWNoRXZlbnRSZXF1ZXN0KTsKICAgICBt
X2NvbnRhaW5lci0+c2V0V2FudHNXaGVlbEV2ZW50cyh0cnVlKTsKICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTMwMCw2ICszMTEsOSBAQCBib29sIFdlYlRlc3RQbHVnaW5JbXBsOjppbml0aWFsaXplKFdl
YlBsdWdpbkNvbnRhaW5lciogY29udGFpbmVyKQogCiB2b2lkIFdlYlRlc3RQbHVnaW5JbXBsOjpk
ZXN0cm95KCkKIHsKKyAgICBpZiAobV9jb250YWluZXIpCisgICAgICAgIG1fY29udGFpbmVyLT5z
ZXRXZWJMYXllcigwKTsKKyAgICBtX2xheWVyLmNsZWFyKCk7CiAgICAgZGVzdHJveVNjZW5lKCk7
CiAKICAgICBkZWxldGUgbV9jb250ZXh0OwpAQCAtMzMyLDcgKzM0Niw3IEBAIHZvaWQgV2ViVGVz
dFBsdWdpbkltcGw6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFdlYlJlY3QmIGZyYW1lUmVjdCwgY29u
c3QgV2ViUmVjdCYKICAgICBkcmF3U2NlbmUoKTsKIAogICAgIG1fY29udGV4dC0+Zmx1c2goKTsK
LSAgICBtX2NvbnRhaW5lci0+Y29tbWl0QmFja2luZ1RleHR1cmUoKTsKKyAgICBtX2xheWVyLT5s
YXllcigpLT5pbnZhbGlkYXRlKCk7CiB9CiAKIFdlYlRlc3RQbHVnaW5JbXBsOjpQcmltaXRpdmUg
V2ViVGVzdFBsdWdpbkltcGw6OnBhcnNlUHJpbWl0aXZlKGNvbnN0IFdlYlN0cmluZyYgc3RyaW5n
KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>