<?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>86054</bug_id>
          
          <creation_ts>2012-05-09 20:24:35 -0700</creation_ts>
          <short_desc>Sync with impl thread when removing references to external textures</short_desc>
          <delta_ts>2012-05-10 20:06:31 -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="Antoine Labour">piman</reporter>
          <assigned_to name="Antoine Labour">piman</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>620194</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-09 20:24:35 -0700</bug_when>
    <thetext>Sync with impl thread when removing references to external textures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620195</commentid>
    <comment_count>1</comment_count>
      <attachid>141075</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-09 20:26:34 -0700</bug_when>
    <thetext>Created attachment 141075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620196</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-09 20:28:40 -0700</bug_when>
    <thetext>Do you have any good idea for testing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620199</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 20:30:39 -0700</bug_when>
    <thetext>Attachment 141075 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:14:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 6 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620651</commentid>
    <comment_count>4</comment_count>
      <attachid>141075</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-10 09:49:44 -0700</bug_when>
    <thetext>Comment on attachment 141075
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +				- the layer it removed from the tree (and we had a texture)
&gt; 
&gt; Line contains tab character.  [whitespace/tab] [5]

s/it/is/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620652</commentid>
    <comment_count>5</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-10 09:52:58 -0700</bug_when>
    <thetext>Does acquireTextures block all drawing until a commit completes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620657</commentid>
    <comment_count>6</comment_count>
      <attachid>141075</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-10 09:55:22 -0700</bug_when>
    <thetext>Comment on attachment 141075
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp:98
&gt; +    if (m_textureId &amp;&amp; m_textureId != id &amp;&amp; layerTreeHost())

Should this just early out if m_textureId == id?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620870</commentid>
    <comment_count>7</comment_count>
      <attachid>141228</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 12:41:20 -0700</bug_when>
    <thetext>Created attachment 141228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620873</commentid>
    <comment_count>8</comment_count>
      <attachid>141075</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 12:42:25 -0700</bug_when>
    <thetext>Comment on attachment 141075
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt;&gt; +				- the layer it removed from the tree (and we had a texture)
&gt;&gt; 
&gt;&gt; Line contains tab character.  [whitespace/tab] [5]
&gt; 
&gt; s/it/is/

Done.

&gt;&gt; Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp:98
&gt;&gt; +    if (m_textureId &amp;&amp; m_textureId != id &amp;&amp; layerTreeHost())
&gt; 
&gt; Should this just early out if m_textureId == id?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620874</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 12:43:05 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Does acquireTextures block all drawing until a commit completes?

Yes, that is my understanding (the approach was suggested by James).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620875</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-10 12:45:39 -0700</bug_when>
    <thetext>Attachment 141228 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:14:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620876</commentid>
    <comment_count>11</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-05-10 12:46:40 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #5)
&gt; &gt; Does acquireTextures block all drawing until a commit completes?
&gt; 
&gt; Yes, that is my understanding (the approach was suggested by James).

Ok, I never noticed this function before, and was curious :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620959</commentid>
    <comment_count>12</comment_count>
      <attachid>141228</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-10 14:15:18 -0700</bug_when>
    <thetext>Comment on attachment 141228
Patch

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

For tests, you could make CCLayerTreeHost::acquireLayerTextures() virtual and then make a test that construct a TextureLayerChromium with a MockCCLayerTreeHost and mock out that call.

Change looks good other than that - although I think I might prefer that the acquireLayerTexture on shutdown comes from an explicit setTextureId(0) call rather than the d&apos;tor since TextureLayerChromium is RefCounted so we might not always know exactly when it&apos;s going down.

&gt; Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h:82
&gt; +    virtual void setLayerTreeHost(CCLayerTreeHost*);

OVERRIDE please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620962</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-10 14:16:13 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; Does acquireTextures block all drawing until a commit completes?
&gt; &gt; 
&gt; &gt; Yes, that is my understanding (the approach was suggested by James).
&gt; 
&gt; Ok, I never noticed this function before, and was curious :)

FYI it&apos;s relatively new - from http://trac.webkit.org/changeset/115355.  The idea is it&apos;s what you use before manipulating any resource being used as a front texture by the compositor (single-buffered canvas, for example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621086</commentid>
    <comment_count>14</comment_count>
      <attachid>141285</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 15:56:51 -0700</bug_when>
    <thetext>Created attachment 141285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621087</commentid>
    <comment_count>15</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 15:57:55 -0700</bug_when>
    <thetext>Added test. I don&apos;t like it that much because it tests the current implementation instead of the desired behavior, but it&apos;s better than nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621094</commentid>
    <comment_count>16</comment_count>
      <attachid>141285</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-10 16:03:54 -0700</bug_when>
    <thetext>Comment on attachment 141285
Patch

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

I feel somewhat the same way about the test. Maybe the behavior we&apos;re going for here is really calls on the context - making sure we have sufficient synchronization between the compositor&apos;s bind calls and destruction on the main thread.  Not sure how to do that reliably, though, and this seems like a reasonable proxy

&gt; Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h:82
&gt; +    virtual void setLayerTreeHost(CCLayerTreeHost*);

OVERRIDE please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621096</commentid>
    <comment_count>17</comment_count>
      <attachid>141286</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-05-10 16:08:19 -0700</bug_when>
    <thetext>Created attachment 141286
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621221</commentid>
    <comment_count>18</comment_count>
      <attachid>141286</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-10 20:06:25 -0700</bug_when>
    <thetext>Comment on attachment 141286
Patch for landing

Clearing flags on attachment: 141286

Committed r116722: &lt;http://trac.webkit.org/changeset/116722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621223</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-10 20:06:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141075</attachid>
            <date>2012-05-09 20:26:34 -0700</date>
            <delta_ts>2012-05-10 12:42:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86054-20120509202633.patch</filename>
            <type>text/plain</type>
            <size>3848</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3NzM2YTI0NjRiZTI2
M2Q2ZjAwYzEwOWM5ZDAyMzBiZmZlZmEyZC4uYmViZjEwY2MzNDUyZjhhZDZiZmMzMTFjMWU3MzNi
YTRmNGM4MjFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTA5ICBBbnRv
aW5lIExhYm91ciAgPHBpbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTeW5jIHdpdGggaW1w
bCB0aHJlYWQgd2hlbiByZW1vdmluZyByZWZlcmVuY2VzIHRvIGV4dGVybmFsIHRleHR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjA1NAorCisJ
CQkJV2Ugd2FudCB0byBlbnN1cmUgdGhlIGNsaWVudCBzaWRlIGlzIHNhZmUgdG8gcmVsZWFzZSB0
ZXh0dXJlcywgc28gd2UKKwkJCQlzeW5jIHdpdGggdGhlIGltcGwgdGhyZWFkIHdoZW46CisJCQkJ
LSB3ZSBjaGFuZ2UgdGhlIHRleHR1cmUgKGFuZCB3ZSBoYWQgb25lKQorCQkJCS0gdGhlIGxheWVy
IGl0IHJlbW92ZWQgZnJvbSB0aGUgdHJlZSAoYW5kIHdlIGhhZCBhIHRleHR1cmUpCisJCQkJLSB0
aGUgbGF5ZXIgaXMgZGVzdHJveWVkIChhbmQgd2UgaGFkIGEgdGV4dHVyZSkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BT
ISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVMYXllckNocm9taXVtOjp+VGV4
dHVyZUxheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZUxheWVyQ2hyb21p
dW06OnNldFRleHR1cmVJZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTGF5ZXJDaHJvbWl1
bTo6c2V0TGF5ZXJUcmVlSG9zdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAo
VGV4dHVyZUxheWVyQ2hyb21pdW0pOgorCiAyMDEyLTA1LTA0ICBOaWtvbGFzIFppbW1lcm1hbm4g
IDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFRpZSBsaWZldGltZSBvZiBTVkdBbmlt
YXRlRWxlbWVudDo6bV9hbmltYXRlZFR5cGUgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RleHR1cmVMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcAppbmRleCBiMGExZWM0YzY1M2Jm
NjU3M2UxNTVjNGMyMjRjYTNjNWUyNjVhOGI2Li5kYzk3NjQyYjAyMWJmYzZlMTkyZjE5NTkxZmU1
ZmY3ZTk0MmE3MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21pdW0uY3BwCkBAIC01
NCw4ICs1NCwxMiBAQCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6VGV4dHVyZUxheWVyQ2hyb21pdW0o
VGV4dHVyZUxheWVyQ2hyb21pdW1DbGllbnQqIGNsaWVudCkKIAogVGV4dHVyZUxheWVyQ2hyb21p
dW06On5UZXh0dXJlTGF5ZXJDaHJvbWl1bSgpCiB7Ci0gICAgaWYgKG1fcmF0ZUxpbWl0Q29udGV4
dCAmJiBtX2NsaWVudCAmJiBsYXllclRyZWVIb3N0KCkpCi0gICAgICAgIGxheWVyVHJlZUhvc3Qo
KS0+c3RvcFJhdGVMaW1pdGVyKG1fY2xpZW50LT5jb250ZXh0KCkpOworICAgIGlmIChsYXllclRy
ZWVIb3N0KCkpIHsKKyAgICAgICAgaWYgKG1fdGV4dHVyZUlkKQorICAgICAgICAgICAgbGF5ZXJU
cmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJUZXh0dXJlcygpOworICAgICAgICBpZiAobV9yYXRlTGlt
aXRDb250ZXh0ICYmIG1fY2xpZW50KQorICAgICAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5zdG9w
UmF0ZUxpbWl0ZXIobV9jbGllbnQtPmNvbnRleHQoKSk7CisgICAgfQogfQogCiBQYXNzT3duUHRy
PENDTGF5ZXJJbXBsPiBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlQ0NMYXllckltcGwoKQpA
QCAtOTEsNiArOTUsOCBAQCB2b2lkIFRleHR1cmVMYXllckNocm9taXVtOjpzZXRSYXRlTGltaXRD
b250ZXh0KGJvb2wgcmF0ZUxpbWl0KQogCiB2b2lkIFRleHR1cmVMYXllckNocm9taXVtOjpzZXRU
ZXh0dXJlSWQodW5zaWduZWQgaWQpCiB7CisgICAgaWYgKG1fdGV4dHVyZUlkICYmIG1fdGV4dHVy
ZUlkICE9IGlkICYmIGxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5h
Y3F1aXJlTGF5ZXJUZXh0dXJlcygpOwogICAgIG1fdGV4dHVyZUlkID0gaWQ7CiAgICAgc2V0TmVl
ZHNDb21taXQoKTsKIH0KQEAgLTEwMyw2ICsxMDksMTMgQEAgdm9pZCBUZXh0dXJlTGF5ZXJDaHJv
bWl1bTo6c2V0TmVlZHNEaXNwbGF5UmVjdChjb25zdCBGbG9hdFJlY3QmIGRpcnR5UmVjdCkKICAg
ICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5zdGFydFJhdGVMaW1pdGVyKG1fY2xpZW50LT5jb250ZXh0
KCkpOwogfQogCit2b2lkIFRleHR1cmVMYXllckNocm9taXVtOjpzZXRMYXllclRyZWVIb3N0KEND
TGF5ZXJUcmVlSG9zdCogaG9zdCkKK3sKKyAgICBpZiAobV90ZXh0dXJlSWQgJiYgbGF5ZXJUcmVl
SG9zdCgpICYmIGhvc3QgIT0gbGF5ZXJUcmVlSG9zdCgpKQorICAgICAgICBsYXllclRyZWVIb3N0
KCktPmFjcXVpcmVMYXllclRleHR1cmVzKCk7CisgICAgTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJU
cmVlSG9zdChob3N0KTsKK30KKwogYm9vbCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6ZHJhd3NDb250
ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gKG1fY2xpZW50IHx8IG1fdGV4dHVyZUlkKSAmJiAh
bV9jb250ZXh0TG9zdCAmJiBMYXllckNocm9taXVtOjpkcmF3c0NvbnRlbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXll
ckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
ZXh0dXJlTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGEzMDYwMTJmMGFlYjc3MDJjYTM4MjIzOWRhMWM1
YTk1NDNjMDg3MmEuLjU3YzM3ZjUwNjAzNjBiMzcxODIwMGZhMmQzNTcwOTA0YjI4OGE4NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1
cmVMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21pdW0uaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5UmVjdChjb25zdCBGbG9hdFJlY3Qm
KSBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllclRyZWVIb3N0KENDTGF5ZXJU
cmVlSG9zdCopOwogICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnQoKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKENDVGV4dHVyZVVwZGF0ZXImLCBjb25zdCBDQ09j
Y2x1c2lvblRyYWNrZXIqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcHVzaFByb3BlcnRp
ZXNUbyhDQ0xheWVySW1wbCopIE9WRVJSSURFOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141228</attachid>
            <date>2012-05-10 12:41:20 -0700</date>
            <delta_ts>2012-05-10 15:56:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86054-20120510124119.patch</filename>
            <type>text/plain</type>
            <size>3893</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU3NzM2YTI0NjRiZTI2
M2Q2ZjAwYzEwOWM5ZDAyMzBiZmZlZmEyZC4uODFjM2FlYTlhMTQ3MzI1YTYyMWRlYmViMGJiYzQ5
MGRmNzc4NjZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTA5ICBBbnRv
aW5lIExhYm91ciAgPHBpbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTeW5jIHdpdGggaW1w
bCB0aHJlYWQgd2hlbiByZW1vdmluZyByZWZlcmVuY2VzIHRvIGV4dGVybmFsIHRleHR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjA1NAorCisg
ICAgICAgIFdlIHdhbnQgdG8gZW5zdXJlIHRoZSBjbGllbnQgc2lkZSBpcyBzYWZlIHRvIHJlbGVh
c2UgdGV4dHVyZXMsIHNvIHdlCisgICAgICAgIHN5bmMgd2l0aCB0aGUgaW1wbCB0aHJlYWQgd2hl
bjoKKyAgICAgICAgLSB3ZSBjaGFuZ2UgdGhlIHRleHR1cmUgKGFuZCB3ZSBoYWQgb25lKQorICAg
ICAgICAtIHRoZSBsYXllciBpcyByZW1vdmVkIGZyb20gdGhlIHRyZWUgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorICAgICAgICAtIHRoZSBsYXllciBpcyBkZXN0cm95ZWQgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVGV4dHVyZUxheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVy
ZUxheWVyQ2hyb21pdW06On5UZXh0dXJlTGF5ZXJDaHJvbWl1bSk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZUlkKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVMYXllckNocm9taXVtOjpzZXRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNo
cm9taXVtLmg6CisgICAgICAgIChUZXh0dXJlTGF5ZXJDaHJvbWl1bSk6CisKIDIwMTItMDUtMDQg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgVGll
IGxpZmV0aW1lIG9mIFNWR0FuaW1hdGVFbGVtZW50OjptX2FuaW1hdGVkVHlwZSB0byB0aGUgZHVy
YXRpb24gb2YgdGhlIGFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21pdW0uY3Bw
CmluZGV4IGIwYTFlYzRjNjUzYmY2NTczZTE1NWM0YzIyNGNhM2M1ZTI2NWE4YjYuLjczODQ0OTI2
NDE3Y2NjZjE2YzYxYzU1MGU0Mjk5MWJlMWJmZWE0ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5
ZXJDaHJvbWl1bS5jcHAKQEAgLTU0LDggKzU0LDEyIEBAIFRleHR1cmVMYXllckNocm9taXVtOjpU
ZXh0dXJlTGF5ZXJDaHJvbWl1bShUZXh0dXJlTGF5ZXJDaHJvbWl1bUNsaWVudCogY2xpZW50KQog
CiBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6flRleHR1cmVMYXllckNocm9taXVtKCkKIHsKLSAgICBp
ZiAobV9yYXRlTGltaXRDb250ZXh0ICYmIG1fY2xpZW50ICYmIGxheWVyVHJlZUhvc3QoKSkKLSAg
ICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5zdG9wUmF0ZUxpbWl0ZXIobV9jbGllbnQtPmNvbnRleHQo
KSk7CisgICAgaWYgKGxheWVyVHJlZUhvc3QoKSkgeworICAgICAgICBpZiAobV90ZXh0dXJlSWQp
CisgICAgICAgICAgICBsYXllclRyZWVIb3N0KCktPmFjcXVpcmVMYXllclRleHR1cmVzKCk7Cisg
ICAgICAgIGlmIChtX3JhdGVMaW1pdENvbnRleHQgJiYgbV9jbGllbnQpCisgICAgICAgICAgICBs
YXllclRyZWVIb3N0KCktPnN0b3BSYXRlTGltaXRlcihtX2NsaWVudC0+Y29udGV4dCgpKTsKKyAg
ICB9CiB9CiAKIFBhc3NPd25QdHI8Q0NMYXllckltcGw+IFRleHR1cmVMYXllckNocm9taXVtOjpj
cmVhdGVDQ0xheWVySW1wbCgpCkBAIC05MSw2ICs5NSwxMCBAQCB2b2lkIFRleHR1cmVMYXllckNo
cm9taXVtOjpzZXRSYXRlTGltaXRDb250ZXh0KGJvb2wgcmF0ZUxpbWl0KQogCiB2b2lkIFRleHR1
cmVMYXllckNocm9taXVtOjpzZXRUZXh0dXJlSWQodW5zaWduZWQgaWQpCiB7CisgICAgaWYgKG1f
dGV4dHVyZUlkID09IGlkKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG1fdGV4dHVyZUlkICYm
IGxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJU
ZXh0dXJlcygpOwogICAgIG1fdGV4dHVyZUlkID0gaWQ7CiAgICAgc2V0TmVlZHNDb21taXQoKTsK
IH0KQEAgLTEwMyw2ICsxMTEsMTMgQEAgdm9pZCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0TmVl
ZHNEaXNwbGF5UmVjdChjb25zdCBGbG9hdFJlY3QmIGRpcnR5UmVjdCkKICAgICAgICAgbGF5ZXJU
cmVlSG9zdCgpLT5zdGFydFJhdGVMaW1pdGVyKG1fY2xpZW50LT5jb250ZXh0KCkpOwogfQogCit2
b2lkIFRleHR1cmVMYXllckNocm9taXVtOjpzZXRMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVlSG9z
dCogaG9zdCkKK3sKKyAgICBpZiAobV90ZXh0dXJlSWQgJiYgbGF5ZXJUcmVlSG9zdCgpICYmIGhv
c3QgIT0gbGF5ZXJUcmVlSG9zdCgpKQorICAgICAgICBsYXllclRyZWVIb3N0KCktPmFjcXVpcmVM
YXllclRleHR1cmVzKCk7CisgICAgTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJUcmVlSG9zdChob3N0
KTsKK30KKwogYm9vbCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6ZHJhd3NDb250ZW50KCkgY29uc3QK
IHsKICAgICByZXR1cm4gKG1fY2xpZW50IHx8IG1fdGV4dHVyZUlkKSAmJiAhbV9jb250ZXh0TG9z
dCAmJiBMYXllckNocm9taXVtOjpkcmF3c0NvbnRlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJD
aHJvbWl1bS5oCmluZGV4IGEzMDYwMTJmMGFlYjc3MDJjYTM4MjIzOWRhMWM1YTk1NDNjMDg3MmEu
LjU3YzM3ZjUwNjAzNjBiMzcxODIwMGZhMmQzNTcwOTA0YjI4OGE4NGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9t
aXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4
dHVyZUxheWVyQ2hyb21pdW0uaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5UmVjdChjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsK
IAorICAgIHZpcnR1YWwgdm9pZCBzZXRMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVlSG9zdCopOwog
ICAgIHZpcnR1YWwgYm9vbCBkcmF3c0NvbnRlbnQoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlKENDVGV4dHVyZVVwZGF0ZXImLCBjb25zdCBDQ09jY2x1c2lvblRyYWNr
ZXIqKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcHVzaFByb3BlcnRpZXNUbyhDQ0xheWVy
SW1wbCopIE9WRVJSSURFOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141285</attachid>
            <date>2012-05-10 15:56:51 -0700</date>
            <delta_ts>2012-05-10 16:08:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86054-20120510155650.patch</filename>
            <type>text/plain</type>
            <size>10685</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA2ZjFmNmZlNmE0NjYw
N2M5OWJkMTgwY2NmOGUxNDBkNTE5YjkzOC4uZDFiNDMzMTI5OGNkMTQ4Yjk4YWFlN2QzMTdmNjg5
NmFhNzMyMzYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTA5ICBBbnRv
aW5lIExhYm91ciAgPHBpbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTeW5jIHdpdGggaW1w
bCB0aHJlYWQgd2hlbiByZW1vdmluZyByZWZlcmVuY2VzIHRvIGV4dGVybmFsIHRleHR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjA1NAorCisg
ICAgICAgIFdlIHdhbnQgdG8gZW5zdXJlIHRoZSBjbGllbnQgc2lkZSBpcyBzYWZlIHRvIHJlbGVh
c2UgdGV4dHVyZXMsIHNvIHdlCisgICAgICAgIHN5bmMgd2l0aCB0aGUgaW1wbCB0aHJlYWQgd2hl
bjoKKyAgICAgICAgLSB3ZSBjaGFuZ2UgdGhlIHRleHR1cmUgKGFuZCB3ZSBoYWQgb25lKQorICAg
ICAgICAtIHRoZSBsYXllciBpcyByZW1vdmVkIGZyb20gdGhlIHRyZWUgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorICAgICAgICAtIHRoZSBsYXllciBpcyBkZXN0cm95ZWQgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3Q6IFRleHR1cmVMYXllckNocm9taXVtVGVzdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHR1cmVMYXllckNocm9taXVtOjp+VGV4dHVyZUxheWVyQ2hyb21pdW0pOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dHVyZUxheWVyQ2hyb21pdW06OnNldFRleHR1cmVJZCk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJUcmVlSG9zdCk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0
dXJlTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoVGV4dHVyZUxheWVyQ2hyb21pdW0pOgorCiAy
MDEyLTA1LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTA5NzI1Nzc+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAxNzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcAppbmRl
eCBiMGExZWM0YzY1M2JmNjU3M2UxNTVjNGMyMjRjYTNjNWUyNjVhOGI2Li43Mzg0NDkyNjQxN2Nj
Y2YxNmM2MWM1NTBlNDI5OTFiZTFiZmVhNGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hy
b21pdW0uY3BwCkBAIC01NCw4ICs1NCwxMiBAQCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6VGV4dHVy
ZUxheWVyQ2hyb21pdW0oVGV4dHVyZUxheWVyQ2hyb21pdW1DbGllbnQqIGNsaWVudCkKIAogVGV4
dHVyZUxheWVyQ2hyb21pdW06On5UZXh0dXJlTGF5ZXJDaHJvbWl1bSgpCiB7Ci0gICAgaWYgKG1f
cmF0ZUxpbWl0Q29udGV4dCAmJiBtX2NsaWVudCAmJiBsYXllclRyZWVIb3N0KCkpCi0gICAgICAg
IGxheWVyVHJlZUhvc3QoKS0+c3RvcFJhdGVMaW1pdGVyKG1fY2xpZW50LT5jb250ZXh0KCkpOwor
ICAgIGlmIChsYXllclRyZWVIb3N0KCkpIHsKKyAgICAgICAgaWYgKG1fdGV4dHVyZUlkKQorICAg
ICAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJUZXh0dXJlcygpOworICAgICAg
ICBpZiAobV9yYXRlTGltaXRDb250ZXh0ICYmIG1fY2xpZW50KQorICAgICAgICAgICAgbGF5ZXJU
cmVlSG9zdCgpLT5zdG9wUmF0ZUxpbWl0ZXIobV9jbGllbnQtPmNvbnRleHQoKSk7CisgICAgfQog
fQogCiBQYXNzT3duUHRyPENDTGF5ZXJJbXBsPiBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
Q0NMYXllckltcGwoKQpAQCAtOTEsNiArOTUsMTAgQEAgdm9pZCBUZXh0dXJlTGF5ZXJDaHJvbWl1
bTo6c2V0UmF0ZUxpbWl0Q29udGV4dChib29sIHJhdGVMaW1pdCkKIAogdm9pZCBUZXh0dXJlTGF5
ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZUlkKHVuc2lnbmVkIGlkKQogeworICAgIGlmIChtX3RleHR1
cmVJZCA9PSBpZCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChtX3RleHR1cmVJZCAmJiBsYXll
clRyZWVIb3N0KCkpCisgICAgICAgIGxheWVyVHJlZUhvc3QoKS0+YWNxdWlyZUxheWVyVGV4dHVy
ZXMoKTsKICAgICBtX3RleHR1cmVJZCA9IGlkOwogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9CkBA
IC0xMDMsNiArMTExLDEzIEBAIHZvaWQgVGV4dHVyZUxheWVyQ2hyb21pdW06OnNldE5lZWRzRGlz
cGxheVJlY3QoY29uc3QgRmxvYXRSZWN0JiBkaXJ0eVJlY3QpCiAgICAgICAgIGxheWVyVHJlZUhv
c3QoKS0+c3RhcnRSYXRlTGltaXRlcihtX2NsaWVudC0+Y29udGV4dCgpKTsKIH0KIAordm9pZCBU
ZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJUcmVlSG9zdChDQ0xheWVyVHJlZUhvc3QqIGhv
c3QpCit7CisgICAgaWYgKG1fdGV4dHVyZUlkICYmIGxheWVyVHJlZUhvc3QoKSAmJiBob3N0ICE9
IGxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJU
ZXh0dXJlcygpOworICAgIExheWVyQ2hyb21pdW06OnNldExheWVyVHJlZUhvc3QoaG9zdCk7Cit9
CisKIGJvb2wgVGV4dHVyZUxheWVyQ2hyb21pdW06OmRyYXdzQ29udGVudCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIChtX2NsaWVudCB8fCBtX3RleHR1cmVJZCkgJiYgIW1fY29udGV4dExvc3QgJiYg
TGF5ZXJDaHJvbWl1bTo6ZHJhd3NDb250ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21p
dW0uaAppbmRleCBhMzA2MDEyZjBhZWI3NzAyY2EzODIyMzlkYTFjNWE5NTQzYzA4NzJhLi41N2Mz
N2Y1MDYwMzYwYjM3MTgyMDBmYTJkMzU3MDkwNGIyODhhODRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVM
YXllckNocm9taXVtLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHNldE5lZWRzRGlzcGxheVJlY3QoY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJUcmVlSG9zdChDQ0xheWVyVHJlZUhvc3QqKTsKICAgICB2
aXJ0dWFsIGJvb2wgZHJhd3NDb250ZW50KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZShDQ1RleHR1cmVVcGRhdGVyJiwgY29uc3QgQ0NPY2NsdXNpb25UcmFja2VyKikg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHB1c2hQcm9wZXJ0aWVzVG8oQ0NMYXllckltcGwq
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXggNTI4ZWVjMjQ0ZTkw
OGQ0NTA3NDJhZTdmNTBiMzQ1MTU0YzdkZGE4Ni4uMTVlYThiOGE2ODQ1ZjUxMjYwNThjZmY5ZjRk
YTNiYzEyOWIxMTQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKQEAgLTE2Miw3ICsx
NjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKSB7IG1fY2xp
ZW50LT5kaWRDb21taXRBbmREcmF3RnJhbWUoKTsgfQogICAgIHZvaWQgZGlkQ29tcGxldGVTd2Fw
QnVmZmVycygpIHsgbV9jbGllbnQtPmRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMoKTsgfQogICAgIHZv
aWQgZGVsZXRlQ29udGVudHNUZXh0dXJlc09uSW1wbFRocmVhZChUZXh0dXJlQWxsb2NhdG9yKik7
Ci0gICAgdm9pZCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpOworICAgIHZpcnR1YWwgdm9pZCBhY3F1
aXJlTGF5ZXJUZXh0dXJlcygpOwogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgd2Ugc2hvdWxkIGFi
b3J0IHRoaXMgZnJhbWUgZHVlIHRvIGluaXRpYWxpemF0aW9uIGZhaWx1cmUuCiAgICAgYm9vbCB1
cGRhdGVMYXllcnMoQ0NUZXh0dXJlVXBkYXRlciYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwaQppbmRleCBmYzI2NzQ3YzZlOTFiYmVmZWVlOTY2NWExZGU1ZDAwZjc0NTVkMmJmLi5mNDA5
NTFhZmUwZmYzM2MxZDBkNjE4ZTZlNDdlYTRkYTNmNzM5OTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cGkKQEAgLTEzMCw2ICsxMzAsNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL1JlbmRl
clRhYmxlUm93VGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hy
b21pdW1UZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvVGV4dHVyZUNvcGllclRlc3QuY3Bw
JywKKyAgICAgICAgICAgICd0ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QuY3BwJywKICAg
ICAgICAgICAgICd0ZXN0cy9UZXh0dXJlTWFuYWdlclRlc3QuY3BwJywKICAgICAgICAgICAgICd0
ZXN0cy9UaHJvdHRsZWRUZXh0dXJlVXBsb2FkZXJUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVz
dHMvVGlsZWRMYXllckNocm9taXVtVGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI2MDAxN2ZkOWFhMDgwYjRmZDdmNjlmOWEwZmVlMGMyNjhiNDQ5ZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1RleHR1cmVMYXllckNocm9taXVt
VGVzdC5jcHAKQEAgLTAsMCArMSwxMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2luY2x1ZGUgIlRleHR1cmVMYXllckNocm9taXVtLmgiCisKKyNpbmNsdWRlICJG
YWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50LmgiCisjaW5jbHVkZSAiV2ViQ29tcG9zaXRvci5oIgor
I2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgorI2luY2x1ZGUgPGdtb2NrL2dtb2NrLmg+
CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1
c2luZyA6OnRlc3Rpbmc6Ok1vY2s7Cit1c2luZyA6OnRlc3Rpbmc6Ol87Cit1c2luZyA6OnRlc3Rp
bmc6OkF0TGVhc3Q7Cit1c2luZyA6OnRlc3Rpbmc6OkFueU51bWJlcjsKKworbmFtZXNwYWNlIHsK
KworY2xhc3MgTW9ja0NDTGF5ZXJUcmVlSG9zdCA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3Qgewor
cHVibGljOgorICAgIE1vY2tDQ0xheWVyVHJlZUhvc3QoKQorICAgICAgICA6IENDTGF5ZXJUcmVl
SG9zdCgmbV9mYWtlQ2xpZW50LCBDQ1NldHRpbmdzKCkpCisgICAgeworICAgICAgICBpbml0aWFs
aXplKCk7CisgICAgfQorCisgICAgTU9DS19NRVRIT0QwKGFjcXVpcmVMYXllclRleHR1cmVzLCB2
b2lkKCkpOworCitwcml2YXRlOgorICAgIEZha2VDQ0xheWVyVHJlZUhvc3RDbGllbnQgbV9mYWtl
Q2xpZW50OworfTsKKworCitjbGFzcyBUZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QgOiBwdWJsaWMg
dGVzdGluZzo6VGVzdCB7Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKKyAg
ICB7CisgICAgICAgIC8vIEluaXRpYWxpemUgd2l0aG91dCB0aHJlYWRpbmcgc3VwcG9ydC4KKyAg
ICAgICAgV2ViS2l0OjpXZWJDb21wb3NpdG9yOjppbml0aWFsaXplKDApOworICAgICAgICBtX2xh
eWVyVHJlZUhvc3QgPSBhZG9wdFB0cihuZXcgTW9ja0NDTGF5ZXJUcmVlSG9zdCk7CisgICAgfQor
CisgICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkKKyAgICB7CisgICAgICAgIE1vY2s6OlZlcmlm
eUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7CisgICAgICAgIEVY
UEVDVF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVzKCkpLlRpbWVz
KEFueU51bWJlcigpKTsKKworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJvb3RMYXllcigw
KTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LmNsZWFyKCk7CisgICAgICAgIFdlYktpdDo6V2Vi
Q29tcG9zaXRvcjo6c2h1dGRvd24oKTsKKyAgICB9CisKKyAgICBPd25QdHI8TW9ja0NDTGF5ZXJU
cmVlSG9zdD4gbV9sYXllclRyZWVIb3N0OworfTsKKworVEVTVF9GKFRleHR1cmVMYXllckNocm9t
aXVtVGVzdCwgc3luY0ltcGxXaGVuQ2hhbmdpbmdUZXh0dXJlSWQpCit7CisgICAgUmVmUHRyPFRl
eHR1cmVMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3Jl
YXRlKDApOworICAgIEFTU0VSVF9UUlVFKHRlc3RMYXllcik7CisKKyAgICBFWFBFQ1RfQ0FMTCgq
bV9sYXllclRyZWVIb3N0LCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpKS5UaW1lcyhBbnlOdW1iZXIo
KSk7CisgICAgbV9sYXllclRyZWVIb3N0LT5zZXRSb290TGF5ZXIodGVzdExheWVyKTsKKyAgICBN
b2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3QuZ2V0KCkpOwor
ICAgIEVYUEVDVF9FUSh0ZXN0TGF5ZXItPmxheWVyVHJlZUhvc3QoKSwgbV9sYXllclRyZWVIb3N0
LmdldCgpKTsKKworICAgIEVYUEVDVF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXll
clRleHR1cmVzKCkpLlRpbWVzKDApOworICAgIHRlc3RMYXllci0+c2V0VGV4dHVyZUlkKDEpOwor
ICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQo
KSk7CisKKyAgICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBhY3F1aXJlTGF5ZXJUZXh0
dXJlcygpKS5UaW1lcyhBdExlYXN0KDEpKTsKKyAgICB0ZXN0TGF5ZXItPnNldFRleHR1cmVJZCgy
KTsKKyAgICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3Qu
Z2V0KCkpOworCisgICAgRVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNxdWlyZUxheWVy
VGV4dHVyZXMoKSkuVGltZXMoQXRMZWFzdCgxKSk7CisgICAgdGVzdExheWVyLT5zZXRUZXh0dXJl
SWQoMCk7CisgICAgTW9jazo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlvbnMobV9sYXllclRyZWVI
b3N0LmdldCgpKTsKK30KKworVEVTVF9GKFRleHR1cmVMYXllckNocm9taXVtVGVzdCwgc3luY0lt
cGxXaGVuUmVtb3ZpbmdGcm9tVHJlZSkKK3sKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcm9v
dExheWVyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgQVNTRVJUX1RSVUUocm9vdExh
eWVyKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRMYXllciA9IExheWVyQ2hyb21p
dW06OmNyZWF0ZSgpOworICAgIEFTU0VSVF9UUlVFKGNoaWxkTGF5ZXIpOworICAgIHJvb3RMYXll
ci0+YWRkQ2hpbGQoY2hpbGRMYXllcik7CisgICAgUmVmUHRyPFRleHR1cmVMYXllckNocm9taXVt
PiB0ZXN0TGF5ZXIgPSBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIEFTU0VS
VF9UUlVFKHRlc3RMYXllcik7CisgICAgdGVzdExheWVyLT5zZXRUZXh0dXJlSWQoMCk7CisgICAg
Y2hpbGRMYXllci0+YWRkQ2hpbGQodGVzdExheWVyKTsKKworICAgIEVYUEVDVF9DQUxMKCptX2xh
eWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVzKCkpLlRpbWVzKEFueU51bWJlcigpKTsK
KyAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJvb3RMYXllcihyb290TGF5ZXIpOworICAgIE1vY2s6
OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7CisKKyAg
ICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpKS5U
aW1lcygwKTsKKyAgICB0ZXN0TGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKKyAgICBNb2NrOjpW
ZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3QuZ2V0KCkpOworCisgICAg
RVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNxdWlyZUxheWVyVGV4dHVyZXMoKSkuVGlt
ZXMoMCk7CisgICAgY2hpbGRMYXllci0+YWRkQ2hpbGQodGVzdExheWVyKTsKKyAgICBNb2NrOjpW
ZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3QuZ2V0KCkpOworCisgICAg
RVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNxdWlyZUxheWVyVGV4dHVyZXMoKSkuVGlt
ZXMoMCk7CisgICAgdGVzdExheWVyLT5zZXRUZXh0dXJlSWQoMSk7CisgICAgTW9jazo6VmVyaWZ5
QW5kQ2xlYXJFeHBlY3RhdGlvbnMobV9sYXllclRyZWVIb3N0LmdldCgpKTsKKworICAgIEVYUEVD
VF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVzKCkpLlRpbWVzKEF0
TGVhc3QoMSkpOworICAgIHRlc3RMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgIE1vY2s6
OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7Cit9CisK
K30gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141286</attachid>
            <date>2012-05-10 16:08:19 -0700</date>
            <delta_ts>2012-05-10 20:06:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86054-20120510160818.patch</filename>
            <type>text/plain</type>
            <size>10694</size>
            <attacher name="Antoine Labour">piman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA2ZjFmNmZlNmE0NjYw
N2M5OWJkMTgwY2NmOGUxNDBkNTE5YjkzOC4uNTMyMzczZTA4YzJjMjllNmNlZDQ3Y2E3ZWFkNDIz
OGUxZTViM2JjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTA5ICBBbnRv
aW5lIExhYm91ciAgPHBpbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTeW5jIHdpdGggaW1w
bCB0aHJlYWQgd2hlbiByZW1vdmluZyByZWZlcmVuY2VzIHRvIGV4dGVybmFsIHRleHR1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjA1NAorCisg
ICAgICAgIFdlIHdhbnQgdG8gZW5zdXJlIHRoZSBjbGllbnQgc2lkZSBpcyBzYWZlIHRvIHJlbGVh
c2UgdGV4dHVyZXMsIHNvIHdlCisgICAgICAgIHN5bmMgd2l0aCB0aGUgaW1wbCB0aHJlYWQgd2hl
bjoKKyAgICAgICAgLSB3ZSBjaGFuZ2UgdGhlIHRleHR1cmUgKGFuZCB3ZSBoYWQgb25lKQorICAg
ICAgICAtIHRoZSBsYXllciBpcyByZW1vdmVkIGZyb20gdGhlIHRyZWUgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorICAgICAgICAtIHRoZSBsYXllciBpcyBkZXN0cm95ZWQgKGFuZCB3ZSBoYWQgYSB0
ZXh0dXJlKQorCisgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgorCisgICAgICAg
IFRlc3Q6IFRleHR1cmVMYXllckNocm9taXVtVGVzdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHR1cmVMYXllckNocm9taXVtOjp+VGV4dHVyZUxheWVyQ2hyb21pdW0pOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dHVyZUxheWVyQ2hyb21pdW06OnNldFRleHR1cmVJZCk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJUcmVlSG9zdCk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0
dXJlTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoVGV4dHVyZUxheWVyQ2hyb21pdW0pOgorCiAy
MDEyLTA1LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTA5NzI1Nzc+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAxNzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVMYXllckNocm9taXVtLmNwcAppbmRl
eCBiMGExZWM0YzY1M2JmNjU3M2UxNTVjNGMyMjRjYTNjNWUyNjVhOGI2Li43Mzg0NDkyNjQxN2Nj
Y2YxNmM2MWM1NTBlNDI5OTFiZTFiZmVhNGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hy
b21pdW0uY3BwCkBAIC01NCw4ICs1NCwxMiBAQCBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6VGV4dHVy
ZUxheWVyQ2hyb21pdW0oVGV4dHVyZUxheWVyQ2hyb21pdW1DbGllbnQqIGNsaWVudCkKIAogVGV4
dHVyZUxheWVyQ2hyb21pdW06On5UZXh0dXJlTGF5ZXJDaHJvbWl1bSgpCiB7Ci0gICAgaWYgKG1f
cmF0ZUxpbWl0Q29udGV4dCAmJiBtX2NsaWVudCAmJiBsYXllclRyZWVIb3N0KCkpCi0gICAgICAg
IGxheWVyVHJlZUhvc3QoKS0+c3RvcFJhdGVMaW1pdGVyKG1fY2xpZW50LT5jb250ZXh0KCkpOwor
ICAgIGlmIChsYXllclRyZWVIb3N0KCkpIHsKKyAgICAgICAgaWYgKG1fdGV4dHVyZUlkKQorICAg
ICAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJUZXh0dXJlcygpOworICAgICAg
ICBpZiAobV9yYXRlTGltaXRDb250ZXh0ICYmIG1fY2xpZW50KQorICAgICAgICAgICAgbGF5ZXJU
cmVlSG9zdCgpLT5zdG9wUmF0ZUxpbWl0ZXIobV9jbGllbnQtPmNvbnRleHQoKSk7CisgICAgfQog
fQogCiBQYXNzT3duUHRyPENDTGF5ZXJJbXBsPiBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRl
Q0NMYXllckltcGwoKQpAQCAtOTEsNiArOTUsMTAgQEAgdm9pZCBUZXh0dXJlTGF5ZXJDaHJvbWl1
bTo6c2V0UmF0ZUxpbWl0Q29udGV4dChib29sIHJhdGVMaW1pdCkKIAogdm9pZCBUZXh0dXJlTGF5
ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZUlkKHVuc2lnbmVkIGlkKQogeworICAgIGlmIChtX3RleHR1
cmVJZCA9PSBpZCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChtX3RleHR1cmVJZCAmJiBsYXll
clRyZWVIb3N0KCkpCisgICAgICAgIGxheWVyVHJlZUhvc3QoKS0+YWNxdWlyZUxheWVyVGV4dHVy
ZXMoKTsKICAgICBtX3RleHR1cmVJZCA9IGlkOwogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9CkBA
IC0xMDMsNiArMTExLDEzIEBAIHZvaWQgVGV4dHVyZUxheWVyQ2hyb21pdW06OnNldE5lZWRzRGlz
cGxheVJlY3QoY29uc3QgRmxvYXRSZWN0JiBkaXJ0eVJlY3QpCiAgICAgICAgIGxheWVyVHJlZUhv
c3QoKS0+c3RhcnRSYXRlTGltaXRlcihtX2NsaWVudC0+Y29udGV4dCgpKTsKIH0KIAordm9pZCBU
ZXh0dXJlTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJUcmVlSG9zdChDQ0xheWVyVHJlZUhvc3QqIGhv
c3QpCit7CisgICAgaWYgKG1fdGV4dHVyZUlkICYmIGxheWVyVHJlZUhvc3QoKSAmJiBob3N0ICE9
IGxheWVyVHJlZUhvc3QoKSkKKyAgICAgICAgbGF5ZXJUcmVlSG9zdCgpLT5hY3F1aXJlTGF5ZXJU
ZXh0dXJlcygpOworICAgIExheWVyQ2hyb21pdW06OnNldExheWVyVHJlZUhvc3QoaG9zdCk7Cit9
CisKIGJvb2wgVGV4dHVyZUxheWVyQ2hyb21pdW06OmRyYXdzQ29udGVudCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIChtX2NsaWVudCB8fCBtX3RleHR1cmVJZCkgJiYgIW1fY29udGV4dExvc3QgJiYg
TGF5ZXJDaHJvbWl1bTo6ZHJhd3NDb250ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZUxheWVyQ2hyb21p
dW0uaAppbmRleCBhMzA2MDEyZjBhZWI3NzAyY2EzODIyMzlkYTFjNWE5NTQzYzA4NzJhLi40M2Y0
OTI3MDNlZDkzY2Q1YzMxYzAxZTc0NWU2NTNkNDEzYzA0ZjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTGF5ZXJDaHJvbWl1bS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVM
YXllckNocm9taXVtLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHNldE5lZWRzRGlzcGxheVJlY3QoY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7CiAKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJUcmVlSG9zdChDQ0xheWVyVHJlZUhvc3QqKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgZHJhd3NDb250ZW50KCkgY29uc3QgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZShDQ1RleHR1cmVVcGRhdGVyJiwgY29uc3QgQ0NPY2NsdXNpb25U
cmFja2VyKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHB1c2hQcm9wZXJ0aWVzVG8oQ0NM
YXllckltcGwqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXggNTI4
ZWVjMjQ0ZTkwOGQ0NTA3NDJhZTdmNTBiMzQ1MTU0YzdkZGE4Ni4uMTVlYThiOGE2ODQ1ZjUxMjYw
NThjZmY5ZjRkYTNiYzEyOWIxMTQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKQEAg
LTE2Miw3ICsxNjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUo
KSB7IG1fY2xpZW50LT5kaWRDb21taXRBbmREcmF3RnJhbWUoKTsgfQogICAgIHZvaWQgZGlkQ29t
cGxldGVTd2FwQnVmZmVycygpIHsgbV9jbGllbnQtPmRpZENvbXBsZXRlU3dhcEJ1ZmZlcnMoKTsg
fQogICAgIHZvaWQgZGVsZXRlQ29udGVudHNUZXh0dXJlc09uSW1wbFRocmVhZChUZXh0dXJlQWxs
b2NhdG9yKik7Ci0gICAgdm9pZCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpOworICAgIHZpcnR1YWwg
dm9pZCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpOwogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgd2Ug
c2hvdWxkIGFib3J0IHRoaXMgZnJhbWUgZHVlIHRvIGluaXRpYWxpemF0aW9uIGZhaWx1cmUuCiAg
ICAgYm9vbCB1cGRhdGVMYXllcnMoQ0NUZXh0dXJlVXBkYXRlciYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9XZWJLaXQuZ3lwaQppbmRleCBmYzI2NzQ3YzZlOTFiYmVmZWVlOTY2NWExZGU1ZDAwZjc0NTVk
MmJmLi5mNDA5NTFhZmUwZmYzM2MxZDBkNjE4ZTZlNDdlYTRkYTNmNzM5OTkxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTEzMCw2ICsxMzAsNyBAQAogICAgICAgICAgICAgJ3Rl
c3RzL1JlbmRlclRhYmxlUm93VGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL1Njcm9sbGJh
ckxheWVyQ2hyb21pdW1UZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvVGV4dHVyZUNvcGll
clRlc3QuY3BwJywKKyAgICAgICAgICAgICd0ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3Qu
Y3BwJywKICAgICAgICAgICAgICd0ZXN0cy9UZXh0dXJlTWFuYWdlclRlc3QuY3BwJywKICAgICAg
ICAgICAgICd0ZXN0cy9UaHJvdHRsZWRUZXh0dXJlVXBsb2FkZXJUZXN0LmNwcCcsCiAgICAgICAg
ICAgICAndGVzdHMvVGlsZWRMYXllckNocm9taXVtVGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9UZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3QuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI2MDAxN2ZkOWFhMDgwYjRmZDdmNjlmOWEwZmVlMGMyNjhiNDQ5ZWEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1RleHR1cmVMYXll
ckNocm9taXVtVGVzdC5jcHAKQEAgLTAsMCArMSwxMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlRleHR1cmVMYXllckNocm9taXVtLmgiCisKKyNp
bmNsdWRlICJGYWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50LmgiCisjaW5jbHVkZSAiV2ViQ29tcG9z
aXRvci5oIgorI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgorI2luY2x1ZGUgPGdtb2Nr
L2dtb2NrLmg+CisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Cit1c2luZyA6OnRlc3Rpbmc6Ok1vY2s7Cit1c2luZyA6OnRlc3Rpbmc6Ol87Cit1c2lu
ZyA6OnRlc3Rpbmc6OkF0TGVhc3Q7Cit1c2luZyA6OnRlc3Rpbmc6OkFueU51bWJlcjsKKworbmFt
ZXNwYWNlIHsKKworY2xhc3MgTW9ja0NDTGF5ZXJUcmVlSG9zdCA6IHB1YmxpYyBDQ0xheWVyVHJl
ZUhvc3QgeworcHVibGljOgorICAgIE1vY2tDQ0xheWVyVHJlZUhvc3QoKQorICAgICAgICA6IEND
TGF5ZXJUcmVlSG9zdCgmbV9mYWtlQ2xpZW50LCBDQ1NldHRpbmdzKCkpCisgICAgeworICAgICAg
ICBpbml0aWFsaXplKCk7CisgICAgfQorCisgICAgTU9DS19NRVRIT0QwKGFjcXVpcmVMYXllclRl
eHR1cmVzLCB2b2lkKCkpOworCitwcml2YXRlOgorICAgIEZha2VDQ0xheWVyVHJlZUhvc3RDbGll
bnQgbV9mYWtlQ2xpZW50OworfTsKKworCitjbGFzcyBUZXh0dXJlTGF5ZXJDaHJvbWl1bVRlc3Qg
OiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB2b2lkIFNl
dFVwKCkKKyAgICB7CisgICAgICAgIC8vIEluaXRpYWxpemUgd2l0aG91dCB0aHJlYWRpbmcgc3Vw
cG9ydC4KKyAgICAgICAgV2ViS2l0OjpXZWJDb21wb3NpdG9yOjppbml0aWFsaXplKDApOworICAg
ICAgICBtX2xheWVyVHJlZUhvc3QgPSBhZG9wdFB0cihuZXcgTW9ja0NDTGF5ZXJUcmVlSG9zdCk7
CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIFRlYXJEb3duKCkKKyAgICB7CisgICAgICAgIE1v
Y2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7Cisg
ICAgICAgIEVYUEVDVF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVz
KCkpLlRpbWVzKEFueU51bWJlcigpKTsKKworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJv
b3RMYXllcigwKTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LmNsZWFyKCk7CisgICAgICAgIFdl
YktpdDo6V2ViQ29tcG9zaXRvcjo6c2h1dGRvd24oKTsKKyAgICB9CisKKyAgICBPd25QdHI8TW9j
a0NDTGF5ZXJUcmVlSG9zdD4gbV9sYXllclRyZWVIb3N0OworfTsKKworVEVTVF9GKFRleHR1cmVM
YXllckNocm9taXVtVGVzdCwgc3luY0ltcGxXaGVuQ2hhbmdpbmdUZXh0dXJlSWQpCit7CisgICAg
UmVmUHRyPFRleHR1cmVMYXllckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBUZXh0dXJlTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKDApOworICAgIEFTU0VSVF9UUlVFKHRlc3RMYXllcik7CisKKyAgICBFWFBF
Q1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBhY3F1aXJlTGF5ZXJUZXh0dXJlcygpKS5UaW1lcyhB
bnlOdW1iZXIoKSk7CisgICAgbV9sYXllclRyZWVIb3N0LT5zZXRSb290TGF5ZXIodGVzdExheWVy
KTsKKyAgICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3Qu
Z2V0KCkpOworICAgIEVYUEVDVF9FUSh0ZXN0TGF5ZXItPmxheWVyVHJlZUhvc3QoKSwgbV9sYXll
clRyZWVIb3N0LmdldCgpKTsKKworICAgIEVYUEVDVF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFj
cXVpcmVMYXllclRleHR1cmVzKCkpLlRpbWVzKDApOworICAgIHRlc3RMYXllci0+c2V0VGV4dHVy
ZUlkKDEpOworICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVl
SG9zdC5nZXQoKSk7CisKKyAgICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBhY3F1aXJl
TGF5ZXJUZXh0dXJlcygpKS5UaW1lcyhBdExlYXN0KDEpKTsKKyAgICB0ZXN0TGF5ZXItPnNldFRl
eHR1cmVJZCgyKTsKKyAgICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVy
VHJlZUhvc3QuZ2V0KCkpOworCisgICAgRVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNx
dWlyZUxheWVyVGV4dHVyZXMoKSkuVGltZXMoQXRMZWFzdCgxKSk7CisgICAgdGVzdExheWVyLT5z
ZXRUZXh0dXJlSWQoMCk7CisgICAgTW9jazo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlvbnMobV9s
YXllclRyZWVIb3N0LmdldCgpKTsKK30KKworVEVTVF9GKFRleHR1cmVMYXllckNocm9taXVtVGVz
dCwgc3luY0ltcGxXaGVuUmVtb3ZpbmdGcm9tVHJlZSkKK3sKKyAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4gcm9vdExheWVyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CisgICAgQVNTRVJUX1RS
VUUocm9vdExheWVyKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGRMYXllciA9IExh
eWVyQ2hyb21pdW06OmNyZWF0ZSgpOworICAgIEFTU0VSVF9UUlVFKGNoaWxkTGF5ZXIpOworICAg
IHJvb3RMYXllci0+YWRkQ2hpbGQoY2hpbGRMYXllcik7CisgICAgUmVmUHRyPFRleHR1cmVMYXll
ckNocm9taXVtPiB0ZXN0TGF5ZXIgPSBUZXh0dXJlTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOwor
ICAgIEFTU0VSVF9UUlVFKHRlc3RMYXllcik7CisgICAgdGVzdExheWVyLT5zZXRUZXh0dXJlSWQo
MCk7CisgICAgY2hpbGRMYXllci0+YWRkQ2hpbGQodGVzdExheWVyKTsKKworICAgIEVYUEVDVF9D
QUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVzKCkpLlRpbWVzKEFueU51
bWJlcigpKTsKKyAgICBtX2xheWVyVHJlZUhvc3QtPnNldFJvb3RMYXllcihyb290TGF5ZXIpOwor
ICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQo
KSk7CisKKyAgICBFWFBFQ1RfQ0FMTCgqbV9sYXllclRyZWVIb3N0LCBhY3F1aXJlTGF5ZXJUZXh0
dXJlcygpKS5UaW1lcygwKTsKKyAgICB0ZXN0TGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKKyAg
ICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3QuZ2V0KCkp
OworCisgICAgRVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNxdWlyZUxheWVyVGV4dHVy
ZXMoKSkuVGltZXMoMCk7CisgICAgY2hpbGRMYXllci0+YWRkQ2hpbGQodGVzdExheWVyKTsKKyAg
ICBNb2NrOjpWZXJpZnlBbmRDbGVhckV4cGVjdGF0aW9ucyhtX2xheWVyVHJlZUhvc3QuZ2V0KCkp
OworCisgICAgRVhQRUNUX0NBTEwoKm1fbGF5ZXJUcmVlSG9zdCwgYWNxdWlyZUxheWVyVGV4dHVy
ZXMoKSkuVGltZXMoMCk7CisgICAgdGVzdExheWVyLT5zZXRUZXh0dXJlSWQoMSk7CisgICAgTW9j
azo6VmVyaWZ5QW5kQ2xlYXJFeHBlY3RhdGlvbnMobV9sYXllclRyZWVIb3N0LmdldCgpKTsKKwor
ICAgIEVYUEVDVF9DQUxMKCptX2xheWVyVHJlZUhvc3QsIGFjcXVpcmVMYXllclRleHR1cmVzKCkp
LlRpbWVzKEF0TGVhc3QoMSkpOworICAgIHRlc3RMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwor
ICAgIE1vY2s6OlZlcmlmeUFuZENsZWFyRXhwZWN0YXRpb25zKG1fbGF5ZXJUcmVlSG9zdC5nZXQo
KSk7Cit9CisKK30gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>