<?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>88371</bug_id>
          
          <creation_ts>2012-06-05 15:45:08 -0700</creation_ts>
          <short_desc>[chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed</short_desc>
          <delta_ts>2012-08-22 08:04:46 -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>
          <dependson>88584</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>aelias</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>piman</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>641956</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 15:45:08 -0700</bug_when>
    <thetext>[chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641959</commentid>
    <comment_count>1</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 15:48:11 -0700</bug_when>
    <thetext>The one thing I wasn&apos;t sure about was returning a PassRefPtr&lt;CCGraphicsContext&gt; vs a CCGraphicsContext*. The latter requires storing a CCGraphicsContext permanently in LRC which maybe we want to do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641960</commentid>
    <comment_count>2</comment_count>
      <attachid>145884</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 15:49:13 -0700</bug_when>
    <thetext>Created attachment 145884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641964</commentid>
    <comment_count>3</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-06-05 15:51:59 -0700</bug_when>
    <thetext>The CCLayerTreeHostImpl already holds a CCGraphicsContext, so how about using that one instead of adding the method to CCRenderer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641965</commentid>
    <comment_count>4</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 15:52:47 -0700</bug_when>
    <thetext>Ohh, I didn&apos;t see that one, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641972</commentid>
    <comment_count>5</comment_count>
      <attachid>145887</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 15:57:06 -0700</bug_when>
    <thetext>Created attachment 145887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641977</commentid>
    <comment_count>6</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 16:02:01 -0700</bug_when>
    <thetext>Well, I guess it depends if m_frame-&gt;planes() &gt; 0. Maybe it&apos;s always 0 when a format with external texture is used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641978</commentid>
    <comment_count>7</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-05 16:02:16 -0700</bug_when>
    <thetext>er.. wrong bug :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643642</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-07 09:54:54 -0700</bug_when>
    <thetext>ping for review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643745</commentid>
    <comment_count>9</comment_count>
      <attachid>145887</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-07 11:43:37 -0700</bug_when>
    <thetext>Comment on attachment 145887
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643777</commentid>
    <comment_count>10</comment_count>
      <attachid>145887</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 12:07:55 -0700</bug_when>
    <thetext>Comment on attachment 145887
Patch

Clearing flags on attachment: 145887

Committed r119744: &lt;http://trac.webkit.org/changeset/119744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643779</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 12:08:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643989</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 15:30:45 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 88584</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645179</commentid>
    <comment_count>13</comment_count>
      <attachid>146676</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-06-08 18:26:04 -0700</bug_when>
    <thetext>Created attachment 146676
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645242</commentid>
    <comment_count>14</comment_count>
      <attachid>146676</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-08 22:56:40 -0700</bug_when>
    <thetext>Comment on attachment 146676
Patch for landing

Rejecting attachment 146676 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
rce/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp
patching file Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
Hunk #2 succeeded at 1725 (offset 100 lines).
Hunk #3 succeeded at 1791 (offset 100 lines).
Hunk #4 FAILED at 1711.
1 out of 4 hunks FAILED -- saving rejects to file Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12919707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701911</commentid>
    <comment_count>15</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-22 08:04:46 -0700</bug_when>
    <thetext>This was landed again but not closed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145884</attachid>
            <date>2012-06-05 15:49:13 -0700</date>
            <delta_ts>2012-06-05 15:57:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88371-20120605184912.patch</filename>
            <type>text/plain</type>
            <size>14485</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkZjE1M2Q4M2Q3ZWRj
NjM5NmEzZmNjM2JiMTA5ZWJlZGZkMmU2Mi4uMTBlZmIxZWUyZTU0MjNiMDFlODMyNDYwNTMxYWQ3
NWMzMWU1NjAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA2LTA1ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRnJl
ZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBpcyBkZXN0cm95ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhl
IGxheWVyIGNyZWF0ZXMgaXRzIHRleHR1cmVzIGZyb20gdGhlIEdyYXBoaWNzQ29udGV4dDNECisg
ICAgICAgIGRpcmVjdGx5LCBpdCBzaG91bGQgZnJlZSB0aGVtIHRoaXMgd2F5IGFzIHdlbGwuIElu
IG9yZGVyIHRvCisgICAgICAgIGFjY2VzcyB0aGUgY29udGV4dCBmcm9tIGl0cyBkZXN0cnVjdG9y
LCB3ZSBhZGQgYSBtZXRob2QgdG8gdGhlCisgICAgICAgIENDUmVuZGVyZXIgaW50ZXJmYWNlIHRv
IHJldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudAorICAgICAgICBDQ0dyYXBoaWNzQ29u
dGV4dC4KKworICAgICAgICBVbml0IHRlc3Q6IENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmxheWVy
c0ZyZWVUZXh0dXJlcworCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJD
aHJvbWl1bTo6Y2NDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpjb3B5UGxhbmVUb1RleHR1cmUpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3SGVhZHNVcERpc3BsYXkpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpnZXRGcmFtZWJ1ZmZlclRleHR1
cmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpiaW5kRnJhbWVi
dWZmZXJUb1RleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDSU9TdXJmYWNlTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDSU9T
dXJmYWNlTGF5ZXJJbXBsOjp+Q0NJT1N1cmZhY2VMYXllckltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NJT1N1cmZhY2VMYXllckltcGw6OndpbGxEcmF3KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlcmVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKENDUmVuZGVyZXIpOgorCiAyMDEyLTA2LTAxICBPamFuIFZhZmFpICA8b2phbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgQ2hhbmdlIG92ZXJyaWRlU2l6ZXMgdG8gYmUgY29udGVudC1i
b3ggaW5zdGVhZCBvZiBib3JkZXItYm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAy
YjNhOTU2N2E5ZTRhODYzYzRlZDYzNDdjNjljYzQxMTc2NjljY2EuLmYxOWMyOTIwYWI4NGI3OWZk
OTA0ZTRmMTMwMmVjOWMzZGE1MzEzYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTItMDYtMDUgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBGcmVlIHRleHR1cmUgZnJvbSBDQ0lPU3VyZmFjZUxh
eWVySW1wbCB3aGVuIGl0IGlzIGRlc3Ryb3llZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgzNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcDoK
KwogMjAxMi0wNi0wNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSb2xsIENocm9taXVtIERFUFMgZnJvbSByMTQwNDkyIHRvIHIxNDA1MjguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA4ZGU0NDljMDM0ZDA4ZWQ1Mjc5N2ZjY2Rj
MmE1YjVmNTE0ZGIzNjc2Li45ZjliYjY4YjEzMWQwNWIxOTY1MTVkMTljODYwZTRkMGI4MjgzODJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTM1MCw2ICszNTAs
MTIgQEAgR3JhcGhpY3NDb250ZXh0M0QqIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y29udGV4dCgp
CiAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsKIH0KIAorUGFzc1JlZlB0cjxDQ0dyYXBoaWNz
Q29udGV4dD4gTGF5ZXJSZW5kZXJlckNocm9taXVtOjpjY0NvbnRleHQoKSBjb25zdAoreworICAg
IFJlZlB0cjxDQ0dyYXBoaWNzQ29udGV4dD4gY2NDb250ZXh0ID0gQ0NHcmFwaGljc0NvbnRleHQ6
OmNyZWF0ZTNEKG1fY29udGV4dCk7CisgICAgcmV0dXJuIGNjQ29udGV4dC5yZWxlYXNlKCk7Cit9
CisKIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkZWJ1Z0dMQ2FsbChHcmFwaGljc0NvbnRl
eHQzRCogY29udGV4dCwgY29uc3QgY2hhciogY29tbWFuZCwgY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBlcnJvciA9IGNvbnRleHQtPmdldEVycm9yKCk7
CkBAIC0xMDY0LDggKzEwNzAsNyBAQCBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6Y29weUZy
YW1lVG9UZXh0dXJlcyhjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6Y29weVBsYW5lVG9UZXh0dXJlKGNvbnN0IENDVmlkZW9EcmF3UXVhZCog
cXVhZCwgY29uc3Qgdm9pZCogcGxhbmUsIGludCBpbmRleCkKIHsKICAgICBDQ1ZpZGVvTGF5ZXJJ
bXBsOjpUZXh0dXJlJiB0ZXh0dXJlID0gcXVhZC0+dGV4dHVyZXMoKVtpbmRleF07Ci0gICAgUmVm
UHRyPENDR3JhcGhpY3NDb250ZXh0PiBjY0NvbnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3Jl
YXRlM0QobV9jb250ZXh0KTsKLSAgICB0ZXh0dXJlLm1fdGV4dHVyZS0+YmluZFRleHR1cmUoY2ND
b250ZXh0LmdldCgpLCBtX2ltcGxUZXh0dXJlQWxsb2NhdG9yLmdldCgpKTsKKyAgICB0ZXh0dXJl
Lm1fdGV4dHVyZS0+YmluZFRleHR1cmUoY2NDb250ZXh0KCkuZ2V0KCksIG1faW1wbFRleHR1cmVB
bGxvY2F0b3IuZ2V0KCkpOwogICAgIEdDM0RlbnVtIGZvcm1hdCA9IHRleHR1cmUubV90ZXh0dXJl
LT5mb3JtYXQoKTsKICAgICBJbnRTaXplIGRpbWVuc2lvbnMgPSB0ZXh0dXJlLm1fdGV4dHVyZS0+
c2l6ZSgpOwogCkBAIC0xMjA1LDggKzEyMTAsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd0hlYWRzVXBEaXNwbGF5KE1hbmFnZWRUZXh0dXJlKiBodWRUZXh0dXJlLCBjb25zdAog
ICAgIGNvbnN0IEhlYWRzVXBEaXNwbGF5UHJvZ3JhbSogcHJvZ3JhbSA9IGhlYWRzVXBEaXNwbGF5
UHJvZ3JhbSgpOwogICAgIEFTU0VSVChwcm9ncmFtICYmIHByb2dyYW0tPmluaXRpYWxpemVkKCkp
OwogICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+YWN0aXZlVGV4dHVyZShHcmFwaGljc0Nv
bnRleHQzRDo6VEVYVFVSRTApKTsKLSAgICBSZWZQdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNjQ29u
dGV4dCA9IENDR3JhcGhpY3NDb250ZXh0OjpjcmVhdGUzRChtX2NvbnRleHQpOwotICAgIGh1ZFRl
eHR1cmUtPmJpbmRUZXh0dXJlKGNjQ29udGV4dC5nZXQoKSwgbV9pbXBsVGV4dHVyZUFsbG9jYXRv
ci5nZXQoKSk7CisgICAgaHVkVGV4dHVyZS0+YmluZFRleHR1cmUoY2NDb250ZXh0KCkuZ2V0KCks
IG1faW1wbFRleHR1cmVBbGxvY2F0b3IuZ2V0KCkpOwogICAgIEdMQyhtX2NvbnRleHQsIG1fY29u
dGV4dC0+dXNlUHJvZ3JhbShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKICAgICBHTEMobV9jb250ZXh0
LCBtX2NvbnRleHQtPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnNhbXBsZXJM
b2NhdGlvbigpLCAwKSk7CiAKQEAgLTE0MzEsOCArMTQzNSw3IEBAIGJvb2wgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpnZXRGcmFtZWJ1ZmZlclRleHR1cmUoTWFuYWdlZFRleHR1cmUqIHRleHR1cmUs
IGNvbnN0CiAgICAgaWYgKCF0ZXh0dXJlLT5yZXNlcnZlKGRldmljZVJlY3Quc2l6ZSgpLCBHcmFw
aGljc0NvbnRleHQzRDo6UkdCKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgUmVmUHRy
PENDR3JhcGhpY3NDb250ZXh0PiBjY0NvbnRleHQgPSBDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRl
M0QobV9jb250ZXh0KTsKLSAgICB0ZXh0dXJlLT5iaW5kVGV4dHVyZShjY0NvbnRleHQuZ2V0KCks
IG1faW1wbFRleHR1cmVBbGxvY2F0b3IuZ2V0KCkpOworICAgIHRleHR1cmUtPmJpbmRUZXh0dXJl
KGNjQ29udGV4dCgpLmdldCgpLCBtX2ltcGxUZXh0dXJlQWxsb2NhdG9yLmdldCgpKTsKICAgICBH
TEMobV9jb250ZXh0LCBtX2NvbnRleHQtPmNvcHlUZXhJbWFnZTJEKEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFXzJELCAwLCB0ZXh0dXJlLT5mb3JtYXQoKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZVJlY3QueCgpLCBkZXZpY2VSZWN0LnkoKSwg
ZGV2aWNlUmVjdC53aWR0aCgpLCBkZXZpY2VSZWN0LmhlaWdodCgpLCAwKSk7CiAgICAgcmV0dXJu
IHRydWU7CkBAIC0xNDcyLDggKzE0NzUsNyBAQCBib29sIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6
YmluZEZyYW1lYnVmZmVyVG9UZXh0dXJlKE1hbmFnZWRUZXh0dXJlKiB0ZXh0dXJlLCBjbwogewog
ICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29u
dGV4dDNEOjpGUkFNRUJVRkZFUiwgbV9vZmZzY3JlZW5GcmFtZWJ1ZmZlcklkKSk7CiAKLSAgICBS
ZWZQdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNjQ29udGV4dCA9IENDR3JhcGhpY3NDb250ZXh0Ojpj
cmVhdGUzRChtX2NvbnRleHQpOwotICAgIHRleHR1cmUtPmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNj
Q29udGV4dC5nZXQoKSwgbV9pbXBsVGV4dHVyZUFsbG9jYXRvci5nZXQoKSk7CisgICAgdGV4dHVy
ZS0+ZnJhbWVidWZmZXJUZXh0dXJlMkQoY2NDb250ZXh0KCkuZ2V0KCksIG1faW1wbFRleHR1cmVB
bGxvY2F0b3IuZ2V0KCkpOwogCiAjaWYgIWRlZmluZWQgKCBOREVCVUcgKQogICAgIGlmIChtX2Nv
bnRleHQtPmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggZmE1MmI3MzU3ZmNkY2RlMTllYzY0MDNm
OGRiODlmZmRkM2E5YTAyZi4uNGVjZmNhZjQ1MmM5MTc1YWFkNWU4YmQ4ODQ3M2NlMDkyMDg4NTA0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTcwLDYgKzcwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcyYgY2Fw
YWJpbGl0aWVzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9jYXBhYmlsaXRpZXM7IH0KIAog
ICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KCk7CisgICAgUGFzc1JlZlB0cjxDQ0dyYXBo
aWNzQ29udGV4dD4gY2NDb250ZXh0KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlld3Bv
cnRDaGFuZ2VkKCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNlTGF5ZXJJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNlTGF5ZXJJ
bXBsLmNwcAppbmRleCA5ZmU5MTVkNGVhNjBkNjlhMTg5MGE1YTA3NjQ0ODgyOWFlYmQ5MTBkLi4x
NDkwMjk3OGFiODUyMzYxNzI5YjJmODY0NDY3NTUwZWIwYjlhMmVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lPU3VyZmFjZUxheWVy
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NJT1N1cmZhY2VMYXllckltcGwuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJMYXllclJlbmRlcmVyQ2hyb21pdW0uaCIK
ICNpbmNsdWRlICJjYy9DQ0lPU3VyZmFjZURyYXdRdWFkLmgiCisjaW5jbHVkZSAiY2MvQ0NMYXll
clRyZWVIb3N0SW1wbC5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKICNpbmNsdWRlICJjYy9D
Q1F1YWRDdWxsZXIuaCIKIApAQCAtNDgsOSArNDksMTQgQEAgQ0NJT1N1cmZhY2VMYXllckltcGw6
OkNDSU9TdXJmYWNlTGF5ZXJJbXBsKGludCBpZCkKIAogQ0NJT1N1cmZhY2VMYXllckltcGw6On5D
Q0lPU3VyZmFjZUxheWVySW1wbCgpCiB7Ci0gICAgLy8gRklYTUU6IGl0IHNlZW1zIHRoZXJlIGlz
IG5vIGxheWVyIHJlbmRlcmVyIC8gR3JhcGhpY3NDb250ZXh0M0QgYXZhaWxhYmxlIGhlcmUuIElk
ZWFsbHkgd2UKLSAgICAvLyB3b3VsZCBsaWtlIHRvIGRlbGV0ZSBtX2lvU3VyZmFjZVRleHR1cmVJ
ZC4KLSAgICBtX2lvU3VyZmFjZVRleHR1cmVJZCA9IDA7CisgICAgaWYgKCFtX2lvU3VyZmFjZVRl
eHR1cmVJZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPENDR3JhcGhpY3NDb250ZXh0
PiBjb250ZXh0ID0gbGF5ZXJUcmVlSG9zdEltcGwoKS0+bGF5ZXJSZW5kZXJlcigpLT5jY0NvbnRl
eHQoKTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgcGF0aCBmb3Igc29mdHdhcmUgY29t
cG9zaXRpbmcuCisgICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQzZCA9IGNvbnRleHQtPmNv
bnRleHQzRCgpOworICAgIGlmIChjb250ZXh0M2QpCisgICAgICAgIGNvbnRleHQzZC0+ZGVsZXRl
VGV4dHVyZShtX2lvU3VyZmFjZVRleHR1cmVJZCk7CiB9CiAKIHZvaWQgQ0NJT1N1cmZhY2VMYXll
ckltcGw6OndpbGxEcmF3KENDUmVuZGVyZXIqIGxheWVyUmVuZGVyZXIsIENDR3JhcGhpY3NDb250
ZXh0KiBjb250ZXh0KQpAQCAtNjcsNiArNzMsNyBAQCB2b2lkIENDSU9TdXJmYWNlTGF5ZXJJbXBs
Ojp3aWxsRHJhdyhDQ1JlbmRlcmVyKiBsYXllclJlbmRlcmVyLCBDQ0dyYXBoaWNzQ29udGV4dAog
ICAgICAgICBBU1NFUlQoZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2lvc3VyZmFj
ZSIpKTsKICAgICAgICAgQVNTRVJUKGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BUkJfdGV4dHVy
ZV9yZWN0YW5nbGUiKSk7CiAKKyAgICAgICAgLy8gRklYTUU6IERvIHRoaXMgaW4gYSB3YXkgdGhh
dCB3ZSBjYW4gdHJhY2sgbWVtb3J5IHVzYWdlLgogICAgICAgICBpZiAoIW1faW9TdXJmYWNlVGV4
dHVyZUlkKQogICAgICAgICAgICAgbV9pb1N1cmZhY2VUZXh0dXJlSWQgPSBjb250ZXh0M2QtPmNy
ZWF0ZVRleHR1cmUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJlci5oCmluZGV4IDljOTM4YTk5MGFiYzRkOWI1
NTU0NjhlNzA4NmQ3YjUzNjFiNjA1MTkuLjQ2MmRhY2VjNzIzZjcwYzVjNDYzYzlhYjUxNDZkNDJl
MTBlZTk2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlcmVyLmgKQEAgLTM0LDYgKzM0LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBDQ0dyYXBoaWNzQ29udGV4dDsKIGNsYXNzIENDUmVuZGVy
UGFzczsKIGNsYXNzIFRleHR1cmVBbGxvY2F0b3I7CiBjbGFzcyBUZXh0dXJlQ29waWVyOwpAQCAt
OTUsNiArOTYsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZShib29s
KSA9IDA7CiAKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q0NHcmFwaGljc0NvbnRleHQ+IGNjQ29u
dGV4dCgpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENDUmVuZGVyZXIo
Q0NSZW5kZXJlckNsaWVudCogY2xpZW50KQogICAgICAgICA6IG1fY2xpZW50KGNsaWVudCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0SW1w
bFRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJ
bXBsVGVzdC5jcHAKaW5kZXggZTYyMzFkMzRmMTE3YTg2MTk4YTFlZjVmMjY2Y2U4NzZhODg3OWVi
ZS4uNzRkYmI2OTVkOGMwYjdmMGFjYTczODRmZDhiNGE5ODgwZDM4MGQ0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVz
dC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJGYWtlV2ViR3JhcGhpY3NDb250ZXh0
M0QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaCIKICNpbmNsdWRlICJM
YXllclJlbmRlcmVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJjYy9DQ0lPU3VyZmFjZUxheWVySW1w
bC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllclRp
bGluZ0RhdGEuaCIKICNpbmNsdWRlICJjYy9DQ1F1YWRDdWxsZXIuaCIKQEAgLTE2NTgsNiArMTY1
OSwxNSBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIGRvbnRVc2VPbGRSZXNvdXJj
ZXNBZnRlckxvc3RDb250ZXh0KQogICAgIHZpZGVvTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVl
KTsKICAgICByb290TGF5ZXItPmFkZENoaWxkKHZpZGVvTGF5ZXIucmVsZWFzZSgpKTsKIAorICAg
IE93blB0cjxDQ0lPU3VyZmFjZUxheWVySW1wbD4gaW9TdXJmYWNlTGF5ZXIgPSBDQ0lPU3VyZmFj
ZUxheWVySW1wbDo6Y3JlYXRlKDQpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXRCb3VuZHMoSW50
U2l6ZSgxMCwgMTApKTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQ
b2ludCgwLCAwKSk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6
ZSgxMCwgMTApKTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwor
ICAgIGlvU3VyZmFjZUxheWVyLT5zZXRJT1N1cmZhY2VQcm9wZXJ0aWVzKDEsIEludFNpemUoMTAs
IDEwKSk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldExheWVyVHJlZUhvc3RJbXBsKG1faG9zdElt
cGwuZ2V0KCkpOworICAgIHJvb3RMYXllci0+YWRkQ2hpbGQoaW9TdXJmYWNlTGF5ZXIucmVsZWFz
ZSgpKTsKKwogICAgIG1faG9zdEltcGwtPnNldFJvb3RMYXllcihyb290TGF5ZXIucmVsZWFzZSgp
KTsKIAogICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsKQEAgLTE2NzUs
NCArMTY4NSwxMDYgQEAgVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBkb250VXNlT2xk
UmVzb3VyY2VzQWZ0ZXJMb3N0Q29udGV4dCkKICAgICBtX2hvc3RJbXBsLT5zd2FwQnVmZmVycygp
OwogfQogCisvLyBGYWtlIFdlYkdyYXBoaWNzQ29udGV4dDNEIHRoYXQgdHJhY2tzIHRoZSBudW1i
ZXIgb2YgdGV4dHVyZXMgaW4gdXNlLgorY2xhc3MgVHJhY2tpbmdXZWJHcmFwaGljc0NvbnRleHQz
RCA6IHB1YmxpYyBGYWtlV2ViR3JhcGhpY3NDb250ZXh0M0QgeworcHVibGljOgorICAgIFRyYWNr
aW5nV2ViR3JhcGhpY3NDb250ZXh0M0QoKQorICAgICAgICA6IG1fbmV4dFRleHR1cmVJZCgxKQor
ICAgICAgICAsIG1fbnVtVGV4dHVyZXMoMCkKKyAgICB7IH0KKworICAgIHZpcnR1YWwgV2ViR0xJ
ZCBjcmVhdGVUZXh0dXJlKCkKKyAgICB7CisgICAgICAgIFdlYkdMSWQgaWQgPSBtX25leHRUZXh0
dXJlSWQ7CisgICAgICAgICsrbV9uZXh0VGV4dHVyZUlkOworCisgICAgICAgIG1fdGV4dHVyZXMu
c2V0KGlkLCB0cnVlKTsKKyAgICAgICAgKyttX251bVRleHR1cmVzOworICAgICAgICByZXR1cm4g
aWQ7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVRleHR1cmUoV2ViR0xJZCBpZCkK
KyAgICB7CisgICAgICAgIGlmICghbV90ZXh0dXJlcy5nZXQoaWQpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBtX3RleHR1cmVzLnNldChpZCwgZmFsc2UpOworICAgICAgICAtLW1fbnVt
VGV4dHVyZXM7CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3Jl
YXRlR3JhcGhpY3NDb250ZXh0KCkKKyAgICB7CisgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRl
eHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJDb250ZXh0KGFkb3B0UHRy
KHRoaXMpLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyRGlyZWN0bHlUb0hvc3RXaW5kb3cpOwor
ICAgIH0KKworICAgIHVuc2lnbmVkIG51bVRleHR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9udW1U
ZXh0dXJlczsgfQorCitwcml2YXRlOgorICAgIFdlYkdMSWQgbV9uZXh0VGV4dHVyZUlkOworICAg
IEhhc2hNYXA8V2ViR0xJZCwgYm9vbD4gbV90ZXh0dXJlczsKKyAgICB1bnNpZ25lZCBtX251bVRl
eHR1cmVzOworfTsKKworVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBsYXllcnNGcmVl
VGV4dHVyZXMpCit7CisgICAgT3duUHRyPENDTGF5ZXJJbXBsPiByb290TGF5ZXIoQ0NMYXllcklt
cGw6OmNyZWF0ZSgwKSk7CisgICAgcm9vdExheWVyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwgMTAp
KTsKKyAgICByb290TGF5ZXItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworCisg
ICAgT3duUHRyPENDVGlsZWRMYXllckltcGw+IHRpbGVMYXllciA9IENDVGlsZWRMYXllckltcGw6
OmNyZWF0ZSgxKTsKKyAgICB0aWxlTGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOwor
ICAgIHRpbGVMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisgICAgdGls
ZUxheWVyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgdGlsZUxheWVy
LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgdGlsZUxheWVyLT5zZXRTa2lwc0RyYXcoZmFs
c2UpOworICAgIE93blB0cjxDQ0xheWVyVGlsaW5nRGF0YT4gdGlsaW5nRGF0YShDQ0xheWVyVGls
aW5nRGF0YTo6Y3JlYXRlKEludFNpemUoMTAsIDEwKSwgQ0NMYXllclRpbGluZ0RhdGE6Ok5vQm9y
ZGVyVGV4ZWxzKSk7CisgICAgdGlsaW5nRGF0YS0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7
CisgICAgdGlsZUxheWVyLT5zZXRUaWxpbmdEYXRhKCp0aWxpbmdEYXRhKTsKKyAgICB0aWxlTGF5
ZXItPnB1c2hUaWxlUHJvcGVydGllcygwLCAwLCAxLCBJbnRSZWN0KDAsIDAsIDEwLCAxMCkpOwor
ICAgIHJvb3RMYXllci0+YWRkQ2hpbGQodGlsZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICBPd25Q
dHI8Q0NUZXh0dXJlTGF5ZXJJbXBsPiB0ZXh0dXJlTGF5ZXIgPSBDQ1RleHR1cmVMYXllckltcGw6
OmNyZWF0ZSgyKTsKKyAgICB0ZXh0dXJlTGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDEwLCAxMCkp
OworICAgIHRleHR1cmVMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7Cisg
ICAgdGV4dHVyZUxheWVyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAg
dGV4dHVyZUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgdGV4dHVyZUxheWVyLT5z
ZXRUZXh0dXJlSWQoMSk7CisgICAgcm9vdExheWVyLT5hZGRDaGlsZCh0ZXh0dXJlTGF5ZXIucmVs
ZWFzZSgpKTsKKworICAgIEZha2VWaWRlb0ZyYW1lUHJvdmlkZXIgcHJvdmlkZXI7CisgICAgT3du
UHRyPENDVmlkZW9MYXllckltcGw+IHZpZGVvTGF5ZXIgPSBDQ1ZpZGVvTGF5ZXJJbXBsOjpjcmVh
dGUoMywgJnByb3ZpZGVyKTsKKyAgICB2aWRlb0xheWVyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwg
MTApKTsKKyAgICB2aWRlb0xheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsK
KyAgICB2aWRlb0xheWVyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAg
dmlkZW9MYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOworICAgIHZpZGVvTGF5ZXItPnNldExh
eWVyVHJlZUhvc3RJbXBsKG1faG9zdEltcGwuZ2V0KCkpOworICAgIHJvb3RMYXllci0+YWRkQ2hp
bGQodmlkZW9MYXllci5yZWxlYXNlKCkpOworCisgICAgT3duUHRyPENDSU9TdXJmYWNlTGF5ZXJJ
bXBsPiBpb1N1cmZhY2VMYXllciA9IENDSU9TdXJmYWNlTGF5ZXJJbXBsOjpjcmVhdGUoNCk7Cisg
ICAgaW9TdXJmYWNlTGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGlvU3Vy
ZmFjZUxheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAgICBpb1N1cmZh
Y2VMYXllci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIGlvU3VyZmFj
ZUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldElP
U3VyZmFjZVByb3BlcnRpZXMoMSwgSW50U2l6ZSgxMCwgMTApKTsKKyAgICBpb1N1cmZhY2VMYXll
ci0+c2V0TGF5ZXJUcmVlSG9zdEltcGwobV9ob3N0SW1wbC5nZXQoKSk7CisgICAgcm9vdExheWVy
LT5hZGRDaGlsZChpb1N1cmZhY2VMYXllci5yZWxlYXNlKCkpOworCisgICAgLy8gTG9zZSB0aGUg
Y29udGV4dCwgcmVwbGFjaW5nIGl0IHdpdGggYSBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNE
LCB0aGF0CisgICAgLy8gdHJhY2tzIHRoZSBudW1iZXIgb2YgdGV4dHVyZXMgYWxsb2NhdGVkLiBU
aGlzIHBvaW50ZXIgaXMgb3duZWQgYnkgaXRzCisgICAgLy8gR3JhcGhpY3NDb250ZXh0M0QuCisg
ICAgVHJhY2tpbmdXZWJHcmFwaGljc0NvbnRleHQzRCogdHJhY2tpbmdXZWJHcmFwaGljc0NvbnRl
eHQgPSBuZXcgVHJhY2tpbmdXZWJHcmFwaGljc0NvbnRleHQzRCgpOworICAgIG1faG9zdEltcGwt
PmluaXRpYWxpemVMYXllclJlbmRlcmVyKENDR3JhcGhpY3NDb250ZXh0OjpjcmVhdGUzRCh0cmFj
a2luZ1dlYkdyYXBoaWNzQ29udGV4dC0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCkpLCBVbnRocm90
dGxlZFVwbG9hZGVyKTsKKworICAgIG1faG9zdEltcGwtPnNldFJvb3RMYXllcihyb290TGF5ZXIu
cmVsZWFzZSgpKTsKKworICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OkZyYW1lRGF0YSBmcmFtZTsK
KyAgICBFWFBFQ1RfVFJVRShtX2hvc3RJbXBsLT5wcmVwYXJlVG9EcmF3KGZyYW1lKSk7CisgICAg
bV9ob3N0SW1wbC0+ZHJhd0xheWVycyhmcmFtZSk7CisgICAgbV9ob3N0SW1wbC0+ZGlkRHJhd0Fs
bExheWVycyhmcmFtZSk7CisgICAgbV9ob3N0SW1wbC0+c3dhcEJ1ZmZlcnMoKTsKKworICAgIC8v
IEtpbGwgdGhlIGxheWVyIHRyZWUuIFRoZXJlIHNob3VsZCBiZSBubyB0ZXh0dXJlcyBsZWZ0IGlu
IHVzZSBhZnRlci4KKyAgICBtX2hvc3RJbXBsLmNsZWFyKCk7CisgICAgRVhQRUNUX0VRKDB1LCB0
cmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dC0+bnVtVGV4dHVyZXMoKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145887</attachid>
            <date>2012-06-05 15:57:06 -0700</date>
            <delta_ts>2012-06-08 18:26:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88371-20120605185705.patch</filename>
            <type>text/plain</type>
            <size>8727</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkZjE1M2Q4M2Q3ZWRj
NjM5NmEzZmNjM2JiMTA5ZWJlZGZkMmU2Mi4uMWNjNzdlZjJjMjgyZTVkNzVkNzEzMGM3NjMzMTRi
MmQ5OWJjMmFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTA1ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRnJl
ZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBpcyBkZXN0cm95ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5pdCB0ZXN0
OiBDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5sYXllcnNGcmVlVGV4dHVyZXMKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNlTGF5ZXJJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDSU9TdXJmYWNlTGF5ZXJJbXBsOjp+Q0NJT1N1cmZhY2VMYXll
ckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NJT1N1cmZhY2VMYXllckltcGw6OndpbGxEcmF3
KToKKwogMjAxMi0wNi0wMSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENoYW5nZSBvdmVycmlkZVNpemVzIHRvIGJlIGNvbnRlbnQtYm94IGluc3RlYWQgb2YgYm9y
ZGVyLWJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMmIzYTk1NjdhOWU0YTg2M2M0
ZWQ2MzQ3YzY5Y2M0MTE3NjY5Y2NhLi5mMTljMjkyMGFiODRiNzlmZDkwNGU0ZjEzMDJlYzljM2Rh
NTMxM2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEy
LTA2LTA1ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtj
aHJvbWl1bV0gRnJlZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBp
cyBkZXN0cm95ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg4MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisKIDIwMTItMDYtMDUgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUm9sbCBDaHJvbWl1bSBE
RVBTIGZyb20gcjE0MDQ5MiB0byByMTQwNTI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJT1N1cmZhY2VMYXllckltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJT1N1cmZhY2VM
YXllckltcGwuY3BwCmluZGV4IDlmZTkxNWQ0ZWE2MGQ2OWExODkwYTVhMDc2NDQ4ODI5YWViZDkx
MGQuLjBjZTkxMjY0N2QwMjg1YmI3MTdlMGE1NjBmNzdiOGRlNDVjMDA4YTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNl
TGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0lPU3VyZmFjZUxheWVySW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUgIkxheWVyUmVuZGVyZXJDaHJvbWl1
bS5oIgogI2luY2x1ZGUgImNjL0NDSU9TdXJmYWNlRHJhd1F1YWQuaCIKKyNpbmNsdWRlICJjYy9D
Q0xheWVyVHJlZUhvc3RJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5oIgogI2luY2x1ZGUg
ImNjL0NDUXVhZEN1bGxlci5oIgogCkBAIC00OCw5ICs0OSwxNCBAQCBDQ0lPU3VyZmFjZUxheWVy
SW1wbDo6Q0NJT1N1cmZhY2VMYXllckltcGwoaW50IGlkKQogCiBDQ0lPU3VyZmFjZUxheWVySW1w
bDo6fkNDSU9TdXJmYWNlTGF5ZXJJbXBsKCkKIHsKLSAgICAvLyBGSVhNRTogaXQgc2VlbXMgdGhl
cmUgaXMgbm8gbGF5ZXIgcmVuZGVyZXIgLyBHcmFwaGljc0NvbnRleHQzRCBhdmFpbGFibGUgaGVy
ZS4gSWRlYWxseSB3ZQotICAgIC8vIHdvdWxkIGxpa2UgdG8gZGVsZXRlIG1faW9TdXJmYWNlVGV4
dHVyZUlkLgotICAgIG1faW9TdXJmYWNlVGV4dHVyZUlkID0gMDsKKyAgICBpZiAoIW1faW9TdXJm
YWNlVGV4dHVyZUlkKQorICAgICAgICByZXR1cm47CisKKyAgICBDQ0dyYXBoaWNzQ29udGV4dCog
Y29udGV4dCA9IGxheWVyVHJlZUhvc3RJbXBsKCktPmNvbnRleHQoKTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHRoaXMgcGF0aCBmb3Igc29mdHdhcmUgY29tcG9zaXRpbmcuCisgICAgR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQzZCA9IGNvbnRleHQtPmNvbnRleHQzRCgpOworICAgIGlmIChj
b250ZXh0M2QpCisgICAgICAgIGNvbnRleHQzZC0+ZGVsZXRlVGV4dHVyZShtX2lvU3VyZmFjZVRl
eHR1cmVJZCk7CiB9CiAKIHZvaWQgQ0NJT1N1cmZhY2VMYXllckltcGw6OndpbGxEcmF3KENDUmVu
ZGVyZXIqIGxheWVyUmVuZGVyZXIsIENDR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQpAQCAtNjcs
NiArNzMsNyBAQCB2b2lkIENDSU9TdXJmYWNlTGF5ZXJJbXBsOjp3aWxsRHJhdyhDQ1JlbmRlcmVy
KiBsYXllclJlbmRlcmVyLCBDQ0dyYXBoaWNzQ29udGV4dAogICAgICAgICBBU1NFUlQoZXh0ZW5z
aW9ucy0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2lvc3VyZmFjZSIpKTsKICAgICAgICAgQVNTRVJU
KGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BUkJfdGV4dHVyZV9yZWN0YW5nbGUiKSk7CiAKKyAg
ICAgICAgLy8gRklYTUU6IERvIHRoaXMgaW4gYSB3YXkgdGhhdCB3ZSBjYW4gdHJhY2sgbWVtb3J5
IHVzYWdlLgogICAgICAgICBpZiAoIW1faW9TdXJmYWNlVGV4dHVyZUlkKQogICAgICAgICAgICAg
bV9pb1N1cmZhY2VUZXh0dXJlSWQgPSBjb250ZXh0M2QtPmNyZWF0ZVRleHR1cmUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBs
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdElt
cGxUZXN0LmNwcAppbmRleCBlNjIzMWQzNGYxMTdhODYxOThhMWVmNWYyNjZjZTg3NmE4ODc5ZWJl
Li43NGRiYjY5NWQ4YzBiN2YwYWNhNzM4NGZkOGI0YTk4ODBkMzgwZDQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZha2VXZWJHcmFwaGljc0NvbnRleHQz
RC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgImNjL0NDSU9TdXJmYWNlTGF5ZXJJbXBs
LmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVGls
aW5nRGF0YS5oIgogI2luY2x1ZGUgImNjL0NDUXVhZEN1bGxlci5oIgpAQCAtMTY1OCw2ICsxNjU5
LDE1IEBAIFRFU1RfRihDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdCwgZG9udFVzZU9sZFJlc291cmNl
c0FmdGVyTG9zdENvbnRleHQpCiAgICAgdmlkZW9MYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUp
OwogICAgIHJvb3RMYXllci0+YWRkQ2hpbGQodmlkZW9MYXllci5yZWxlYXNlKCkpOwogCisgICAg
T3duUHRyPENDSU9TdXJmYWNlTGF5ZXJJbXBsPiBpb1N1cmZhY2VMYXllciA9IENDSU9TdXJmYWNl
TGF5ZXJJbXBsOjpjcmVhdGUoNCk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldEJvdW5kcyhJbnRT
aXplKDEwLCAxMCkpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBv
aW50KDAsIDApKTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0Q29udGVudEJvdW5kcyhJbnRTaXpl
KDEwLCAxMCkpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7Cisg
ICAgaW9TdXJmYWNlTGF5ZXItPnNldElPU3VyZmFjZVByb3BlcnRpZXMoMSwgSW50U2l6ZSgxMCwg
MTApKTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0TGF5ZXJUcmVlSG9zdEltcGwobV9ob3N0SW1w
bC5nZXQoKSk7CisgICAgcm9vdExheWVyLT5hZGRDaGlsZChpb1N1cmZhY2VMYXllci5yZWxlYXNl
KCkpOworCiAgICAgbV9ob3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3RMYXllci5yZWxlYXNlKCkp
OwogCiAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwpAQCAtMTY3NSw0
ICsxNjg1LDEwNiBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIGRvbnRVc2VPbGRS
ZXNvdXJjZXNBZnRlckxvc3RDb250ZXh0KQogICAgIG1faG9zdEltcGwtPnN3YXBCdWZmZXJzKCk7
CiB9CiAKKy8vIEZha2UgV2ViR3JhcGhpY3NDb250ZXh0M0QgdGhhdCB0cmFja3MgdGhlIG51bWJl
ciBvZiB0ZXh0dXJlcyBpbiB1c2UuCitjbGFzcyBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNE
IDogcHVibGljIEZha2VXZWJHcmFwaGljc0NvbnRleHQzRCB7CitwdWJsaWM6CisgICAgVHJhY2tp
bmdXZWJHcmFwaGljc0NvbnRleHQzRCgpCisgICAgICAgIDogbV9uZXh0VGV4dHVyZUlkKDEpCisg
ICAgICAgICwgbV9udW1UZXh0dXJlcygwKQorICAgIHsgfQorCisgICAgdmlydHVhbCBXZWJHTElk
IGNyZWF0ZVRleHR1cmUoKQorICAgIHsKKyAgICAgICAgV2ViR0xJZCBpZCA9IG1fbmV4dFRleHR1
cmVJZDsKKyAgICAgICAgKyttX25leHRUZXh0dXJlSWQ7CisKKyAgICAgICAgbV90ZXh0dXJlcy5z
ZXQoaWQsIHRydWUpOworICAgICAgICArK21fbnVtVGV4dHVyZXM7CisgICAgICAgIHJldHVybiBp
ZDsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlVGV4dHVyZShXZWJHTElkIGlkKQor
ICAgIHsKKyAgICAgICAgaWYgKCFtX3RleHR1cmVzLmdldChpZCkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIG1fdGV4dHVyZXMuc2V0KGlkLCBmYWxzZSk7CisgICAgICAgIC0tbV9udW1U
ZXh0dXJlczsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjcmVh
dGVHcmFwaGljc0NvbnRleHQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIo
dGhpcyksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdyk7Cisg
ICAgfQorCisgICAgdW5zaWduZWQgbnVtVGV4dHVyZXMoKSBjb25zdCB7IHJldHVybiBtX251bVRl
eHR1cmVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViR0xJZCBtX25leHRUZXh0dXJlSWQ7CisgICAg
SGFzaE1hcDxXZWJHTElkLCBib29sPiBtX3RleHR1cmVzOworICAgIHVuc2lnbmVkIG1fbnVtVGV4
dHVyZXM7Cit9OworCitURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1wbFRlc3QsIGxheWVyc0ZyZWVU
ZXh0dXJlcykKK3sKKyAgICBPd25QdHI8Q0NMYXllckltcGw+IHJvb3RMYXllcihDQ0xheWVySW1w
bDo6Y3JlYXRlKDApKTsKKyAgICByb290TGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDEwLCAxMCkp
OworICAgIHJvb3RMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisKKyAg
ICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gdGlsZUxheWVyID0gQ0NUaWxlZExheWVySW1wbDo6
Y3JlYXRlKDEpOworICAgIHRpbGVMYXllci0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7Cisg
ICAgdGlsZUxheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAgICB0aWxl
TGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICB0aWxlTGF5ZXIt
PnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICB0aWxlTGF5ZXItPnNldFNraXBzRHJhdyhmYWxz
ZSk7CisgICAgT3duUHRyPENDTGF5ZXJUaWxpbmdEYXRhPiB0aWxpbmdEYXRhKENDTGF5ZXJUaWxp
bmdEYXRhOjpjcmVhdGUoSW50U2l6ZSgxMCwgMTApLCBDQ0xheWVyVGlsaW5nRGF0YTo6Tm9Cb3Jk
ZXJUZXhlbHMpKTsKKyAgICB0aWxpbmdEYXRhLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsK
KyAgICB0aWxlTGF5ZXItPnNldFRpbGluZ0RhdGEoKnRpbGluZ0RhdGEpOworICAgIHRpbGVMYXll
ci0+cHVzaFRpbGVQcm9wZXJ0aWVzKDAsIDAsIDEsIEludFJlY3QoMCwgMCwgMTAsIDEwKSk7Cisg
ICAgcm9vdExheWVyLT5hZGRDaGlsZCh0aWxlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIE93blB0
cjxDQ1RleHR1cmVMYXllckltcGw+IHRleHR1cmVMYXllciA9IENDVGV4dHVyZUxheWVySW1wbDo6
Y3JlYXRlKDIpOworICAgIHRleHR1cmVMYXllci0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7
CisgICAgdGV4dHVyZUxheWVyLT5zZXRBbmNob3JQb2ludChGbG9hdFBvaW50KDAsIDApKTsKKyAg
ICB0ZXh0dXJlTGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICB0
ZXh0dXJlTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICB0ZXh0dXJlTGF5ZXItPnNl
dFRleHR1cmVJZCgxKTsKKyAgICByb290TGF5ZXItPmFkZENoaWxkKHRleHR1cmVMYXllci5yZWxl
YXNlKCkpOworCisgICAgRmFrZVZpZGVvRnJhbWVQcm92aWRlciBwcm92aWRlcjsKKyAgICBPd25Q
dHI8Q0NWaWRlb0xheWVySW1wbD4gdmlkZW9MYXllciA9IENDVmlkZW9MYXllckltcGw6OmNyZWF0
ZSgzLCAmcHJvdmlkZXIpOworICAgIHZpZGVvTGF5ZXItPnNldEJvdW5kcyhJbnRTaXplKDEwLCAx
MCkpOworICAgIHZpZGVvTGF5ZXItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOwor
ICAgIHZpZGVvTGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICB2
aWRlb0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgdmlkZW9MYXllci0+c2V0TGF5
ZXJUcmVlSG9zdEltcGwobV9ob3N0SW1wbC5nZXQoKSk7CisgICAgcm9vdExheWVyLT5hZGRDaGls
ZCh2aWRlb0xheWVyLnJlbGVhc2UoKSk7CisKKyAgICBPd25QdHI8Q0NJT1N1cmZhY2VMYXllcklt
cGw+IGlvU3VyZmFjZUxheWVyID0gQ0NJT1N1cmZhY2VMYXllckltcGw6OmNyZWF0ZSg0KTsKKyAg
ICBpb1N1cmZhY2VMYXllci0+c2V0Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgaW9TdXJm
YWNlTGF5ZXItPnNldEFuY2hvclBvaW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIGlvU3VyZmFj
ZUxheWVyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgaW9TdXJmYWNl
TGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0SU9T
dXJmYWNlUHJvcGVydGllcygxLCBJbnRTaXplKDEwLCAxMCkpOworICAgIGlvU3VyZmFjZUxheWVy
LT5zZXRMYXllclRyZWVIb3N0SW1wbChtX2hvc3RJbXBsLmdldCgpKTsKKyAgICByb290TGF5ZXIt
PmFkZENoaWxkKGlvU3VyZmFjZUxheWVyLnJlbGVhc2UoKSk7CisKKyAgICAvLyBMb3NlIHRoZSBj
b250ZXh0LCByZXBsYWNpbmcgaXQgd2l0aCBhIFRyYWNraW5nV2ViR3JhcGhpY3NDb250ZXh0M0Qs
IHRoYXQKKyAgICAvLyB0cmFja3MgdGhlIG51bWJlciBvZiB0ZXh0dXJlcyBhbGxvY2F0ZWQuIFRo
aXMgcG9pbnRlciBpcyBvd25lZCBieSBpdHMKKyAgICAvLyBHcmFwaGljc0NvbnRleHQzRC4KKyAg
ICBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNEKiB0cmFja2luZ1dlYkdyYXBoaWNzQ29udGV4
dCA9IG5ldyBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNEKCk7CisgICAgbV9ob3N0SW1wbC0+
aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoQ0NHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZTNEKHRyYWNr
aW5nV2ViR3JhcGhpY3NDb250ZXh0LT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKSksIFVudGhyb3R0
bGVkVXBsb2FkZXIpOworCisgICAgbV9ob3N0SW1wbC0+c2V0Um9vdExheWVyKHJvb3RMYXllci5y
ZWxlYXNlKCkpOworCisgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6RnJhbWVEYXRhIGZyYW1lOwor
ICAgIEVYUEVDVF9UUlVFKG1faG9zdEltcGwtPnByZXBhcmVUb0RyYXcoZnJhbWUpKTsKKyAgICBt
X2hvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAgICBtX2hvc3RJbXBsLT5kaWREcmF3QWxs
TGF5ZXJzKGZyYW1lKTsKKyAgICBtX2hvc3RJbXBsLT5zd2FwQnVmZmVycygpOworCisgICAgLy8g
S2lsbCB0aGUgbGF5ZXIgdHJlZS4gVGhlcmUgc2hvdWxkIGJlIG5vIHRleHR1cmVzIGxlZnQgaW4g
dXNlIGFmdGVyLgorICAgIG1faG9zdEltcGwuY2xlYXIoKTsKKyAgICBFWFBFQ1RfRVEoMHUsIHRy
YWNraW5nV2ViR3JhcGhpY3NDb250ZXh0LT5udW1UZXh0dXJlcygpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146676</attachid>
            <date>2012-06-08 18:26:04 -0700</date>
            <delta_ts>2012-06-08 22:56:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-88371-20120608212604.patch</filename>
            <type>text/plain</type>
            <size>11744</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkZjE1M2Q4M2Q3ZWRj
NjM5NmEzZmNjM2JiMTA5ZWJlZGZkMmU2Mi4uMTc5ZmY0NmVmMDBjNDhjOGVjMzZhZjBkY2MxYzUx
YTU1YzA4NDA1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA2LTA1ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRnJl
ZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBpcyBkZXN0cm95ZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4MzcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgVW5pdCB0ZXN0
OiBDQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5sYXllcnNGcmVlVGV4dHVyZXMKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNlTGF5ZXJJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDSU9TdXJmYWNlTGF5ZXJJbXBsOjp+Q0NJT1N1cmZhY2VMYXll
ckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NJT1N1cmZhY2VMYXllckltcGw6OndpbGxEcmF3
KToKKwogMjAxMi0wNi0wMSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIENoYW5nZSBvdmVycmlkZVNpemVzIHRvIGJlIGNvbnRlbnQtYm94IGluc3RlYWQgb2YgYm9y
ZGVyLWJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMmIzYTk1NjdhOWU0YTg2M2M0
ZWQ2MzQ3YzY5Y2M0MTE3NjY5Y2NhLi40N2I1YTkwYmUyNjk4Zjc5YTgxZWMxNjhlZTcxOTBkM2Nm
Nzk5MDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEy
LTA2LTA1ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtj
aHJvbWl1bV0gRnJlZSB0ZXh0dXJlIGZyb20gQ0NJT1N1cmZhY2VMYXllckltcGwgd2hlbiBpdCBp
cyBkZXN0cm95ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg4MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAg
ICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBsVGVzdC5jcHA6CisKIDIwMTItMDYtMDUgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUm9sbCBDaHJvbWl1bSBE
RVBTIGZyb20gcjE0MDQ5MiB0byByMTQwNTI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJT1N1cmZhY2VMYXllckltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJT1N1cmZhY2VM
YXllckltcGwuY3BwCmluZGV4IDlmZTkxNWQ0ZWE2MGQ2OWExODkwYTVhMDc2NDQ4ODI5YWViZDkx
MGQuLjBjZTkxMjY0N2QwMjg1YmI3MTdlMGE1NjBmNzdiOGRlNDVjMDA4YTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSU9TdXJmYWNl
TGF5ZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0lPU3VyZmFjZUxheWVySW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUgIkxheWVyUmVuZGVyZXJDaHJvbWl1
bS5oIgogI2luY2x1ZGUgImNjL0NDSU9TdXJmYWNlRHJhd1F1YWQuaCIKKyNpbmNsdWRlICJjYy9D
Q0xheWVyVHJlZUhvc3RJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5oIgogI2luY2x1ZGUg
ImNjL0NDUXVhZEN1bGxlci5oIgogCkBAIC00OCw5ICs0OSwxNCBAQCBDQ0lPU3VyZmFjZUxheWVy
SW1wbDo6Q0NJT1N1cmZhY2VMYXllckltcGwoaW50IGlkKQogCiBDQ0lPU3VyZmFjZUxheWVySW1w
bDo6fkNDSU9TdXJmYWNlTGF5ZXJJbXBsKCkKIHsKLSAgICAvLyBGSVhNRTogaXQgc2VlbXMgdGhl
cmUgaXMgbm8gbGF5ZXIgcmVuZGVyZXIgLyBHcmFwaGljc0NvbnRleHQzRCBhdmFpbGFibGUgaGVy
ZS4gSWRlYWxseSB3ZQotICAgIC8vIHdvdWxkIGxpa2UgdG8gZGVsZXRlIG1faW9TdXJmYWNlVGV4
dHVyZUlkLgotICAgIG1faW9TdXJmYWNlVGV4dHVyZUlkID0gMDsKKyAgICBpZiAoIW1faW9TdXJm
YWNlVGV4dHVyZUlkKQorICAgICAgICByZXR1cm47CisKKyAgICBDQ0dyYXBoaWNzQ29udGV4dCog
Y29udGV4dCA9IGxheWVyVHJlZUhvc3RJbXBsKCktPmNvbnRleHQoKTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHRoaXMgcGF0aCBmb3Igc29mdHdhcmUgY29tcG9zaXRpbmcuCisgICAgR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQzZCA9IGNvbnRleHQtPmNvbnRleHQzRCgpOworICAgIGlmIChj
b250ZXh0M2QpCisgICAgICAgIGNvbnRleHQzZC0+ZGVsZXRlVGV4dHVyZShtX2lvU3VyZmFjZVRl
eHR1cmVJZCk7CiB9CiAKIHZvaWQgQ0NJT1N1cmZhY2VMYXllckltcGw6OndpbGxEcmF3KENDUmVu
ZGVyZXIqIGxheWVyUmVuZGVyZXIsIENDR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQpAQCAtNjcs
NiArNzMsNyBAQCB2b2lkIENDSU9TdXJmYWNlTGF5ZXJJbXBsOjp3aWxsRHJhdyhDQ1JlbmRlcmVy
KiBsYXllclJlbmRlcmVyLCBDQ0dyYXBoaWNzQ29udGV4dAogICAgICAgICBBU1NFUlQoZXh0ZW5z
aW9ucy0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2lvc3VyZmFjZSIpKTsKICAgICAgICAgQVNTRVJU
KGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9BUkJfdGV4dHVyZV9yZWN0YW5nbGUiKSk7CiAKKyAg
ICAgICAgLy8gRklYTUU6IERvIHRoaXMgaW4gYSB3YXkgdGhhdCB3ZSBjYW4gdHJhY2sgbWVtb3J5
IHVzYWdlLgogICAgICAgICBpZiAoIW1faW9TdXJmYWNlVGV4dHVyZUlkKQogICAgICAgICAgICAg
bV9pb1N1cmZhY2VUZXh0dXJlSWQgPSBjb250ZXh0M2QtPmNyZWF0ZVRleHR1cmUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RJbXBs
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdElt
cGxUZXN0LmNwcAppbmRleCBlNjIzMWQzNGYxMTdhODYxOThhMWVmNWYyNjZjZTg3NmE4ODc5ZWJl
Li43ZjFlNzI0MTFjNzg3NzQwYzMwMDQwOTQ0NWYxYmUzOTUwZDQwNTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdEltcGxUZXN0
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkZha2VXZWJHcmFwaGljc0NvbnRleHQz
RC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkxh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgImNjL0NDSU9TdXJmYWNlTGF5ZXJJbXBs
LmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVGls
aW5nRGF0YS5oIgogI2luY2x1ZGUgImNjL0NDUXVhZEN1bGxlci5oIgpAQCAtMTYyNCw2ICsxNjI1
LDM4IEBAIHByaXZhdGU6CiAgICAgQ2xpZW50KiBtX2NsaWVudDsKIH07CiAKK2NsYXNzIFN0cmlj
dFdlYkdyYXBoaWNzQ29udGV4dDNEV2l0aElPU3VyZmFjZSA6IHB1YmxpYyBTdHJpY3RXZWJHcmFw
aGljc0NvbnRleHQzRCB7CitwdWJsaWM6CisgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0U3RyaW5n
KFdHQzNEZW51bSBuYW1lKSBPVkVSUklERQorICAgIHsKKyAgICAgICAgaWYgKG5hbWUgPT0gV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OkVYVEVOU0lPTlMpCisgICAgICAgICAgICByZXR1cm4g
V2ViU3RyaW5nKCJHTF9DSFJPTUlVTV9pb3N1cmZhY2UgR0xfQVJCX3RleHR1cmVfcmVjdGFuZ2xl
Iik7CisKKyAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOworICAgIH0KKworICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGVHcmFwaGljc0NvbnRleHQoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhp
Y3NDb250ZXh0RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIobmV3IFN0cmljdFdlYkdyYXBoaWNzQ29u
dGV4dDNEV2l0aElPU3VyZmFjZSgpKSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJlbmRlckRpcmVjdGx5
VG9Ib3N0V2luZG93KTsKKyAgICB9Cit9OworCitjbGFzcyBGYWtlV2ViR3JhcGhpY3NDb250ZXh0
M0RXaXRoSU9TdXJmYWNlIDogcHVibGljIEZha2VXZWJHcmFwaGljc0NvbnRleHQzRCB7CitwdWJs
aWM6CisgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0U3RyaW5nKFdHQzNEZW51bSBuYW1lKSBPVkVS
UklERQorICAgIHsKKyAgICAgICAgaWYgKG5hbWUgPT0gV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q6OkVYVEVOU0lPTlMpCisgICAgICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCJHTF9DSFJPTUlV
TV9pb3N1cmZhY2UgR0xfQVJCX3RleHR1cmVfcmVjdGFuZ2xlIik7CisKKyAgICAgICAgcmV0dXJu
IFdlYlN0cmluZygpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdyYXBoaWNzQ29u
dGV4dDNEPiBjcmVhdGVHcmFwaGljc0NvbnRleHQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0RnJvbVdlYkNvbnRl
eHQoYWRvcHRQdHIobmV3IEZha2VXZWJHcmFwaGljc0NvbnRleHQzRFdpdGhJT1N1cmZhY2UoKSks
IEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9zdFdpbmRvdyk7CisgICAgfQor
fTsKKwogVEVTVF9GKENDTGF5ZXJUcmVlSG9zdEltcGxUZXN0LCBkb250VXNlT2xkUmVzb3VyY2Vz
QWZ0ZXJMb3N0Q29udGV4dCkKIHsKICAgICBPd25QdHI8Q0NMYXllckltcGw+IHJvb3RMYXllcihD
Q0xheWVySW1wbDo6Y3JlYXRlKDApKTsKQEAgLTE2NTgsNiArMTY5MSwxOCBAQCBURVNUX0YoQ0NM
YXllclRyZWVIb3N0SW1wbFRlc3QsIGRvbnRVc2VPbGRSZXNvdXJjZXNBZnRlckxvc3RDb250ZXh0
KQogICAgIHZpZGVvTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKICAgICByb290TGF5ZXIt
PmFkZENoaWxkKHZpZGVvTGF5ZXIucmVsZWFzZSgpKTsKIAorICAgIE93blB0cjxDQ0lPU3VyZmFj
ZUxheWVySW1wbD4gaW9TdXJmYWNlTGF5ZXIgPSBDQ0lPU3VyZmFjZUxheWVySW1wbDo6Y3JlYXRl
KDQpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAg
ICBpb1N1cmZhY2VMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxvYXRQb2ludCgwLCAwKSk7CisgICAg
aW9TdXJmYWNlTGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICBp
b1N1cmZhY2VMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOworICAgIGlvU3VyZmFjZUxheWVy
LT5zZXRJT1N1cmZhY2VQcm9wZXJ0aWVzKDEsIEludFNpemUoMTAsIDEwKSk7CisgICAgaW9TdXJm
YWNlTGF5ZXItPnNldExheWVyVHJlZUhvc3RJbXBsKG1faG9zdEltcGwuZ2V0KCkpOworICAgIHJv
b3RMYXllci0+YWRkQ2hpbGQoaW9TdXJmYWNlTGF5ZXIucmVsZWFzZSgpKTsKKworICAgIC8vIFVz
ZSBhIGNvbnRleHQgdGhhdCBzdXBwb3J0cyBJT1N1cmZhY2VzCisgICAgbV9ob3N0SW1wbC0+aW5p
dGlhbGl6ZUxheWVyUmVuZGVyZXIoQ0NHcmFwaGljc0NvbnRleHQ6OmNyZWF0ZTNEKEZha2VXZWJH
cmFwaGljc0NvbnRleHQzRFdpdGhJT1N1cmZhY2U6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpKSwg
VW50aHJvdHRsZWRVcGxvYWRlcik7CisKICAgICBtX2hvc3RJbXBsLT5zZXRSb290TGF5ZXIocm9v
dExheWVyLnJlbGVhc2UoKSk7CiAKICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpGcmFtZURhdGEg
ZnJhbWU7CkBAIC0xNjY2LDEzICsxNzExLDEyOSBAQCBURVNUX0YoQ0NMYXllclRyZWVIb3N0SW1w
bFRlc3QsIGRvbnRVc2VPbGRSZXNvdXJjZXNBZnRlckxvc3RDb250ZXh0KQogICAgIG1faG9zdElt
cGwtPmRpZERyYXdBbGxMYXllcnMoZnJhbWUpOwogICAgIG1faG9zdEltcGwtPnN3YXBCdWZmZXJz
KCk7CiAKLSAgICAvLyBMb3NlIHRoZSBjb250ZXh0LCByZXBsYWNpbmcgaXQgd2l0aCBhIFN0cmlj
dFdlYkdyYXBoaWNzQ29udGV4dDNELCB0aGF0Ci0gICAgLy8gd2lsbCB3YXJuIGlmIGFueSByZXNv
dXJjZSBmcm9tIHRoZSBwcmV2aW91cyBjb250ZXh0IGdldHMgdXNlZC4KLSAgICBtX2hvc3RJbXBs
LT5pbml0aWFsaXplTGF5ZXJSZW5kZXJlcihDQ0dyYXBoaWNzQ29udGV4dDo6Y3JlYXRlM0QoU3Ry
aWN0V2ViR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpKSwgVW50aHJv
dHRsZWRVcGxvYWRlcik7CisgICAgLy8gTG9zZSB0aGUgY29udGV4dCwgcmVwbGFjaW5nIGl0IHdp
dGggYSBTdHJpY3RXZWJHcmFwaGljc0NvbnRleHQzRFdpdGhJT1N1cmZhY2UsCisgICAgLy8gdGhh
dCB3aWxsIHdhcm4gaWYgYW55IHJlc291cmNlIGZyb20gdGhlIHByZXZpb3VzIGNvbnRleHQgZ2V0
cyB1c2VkLgorICAgIG1faG9zdEltcGwtPmluaXRpYWxpemVMYXllclJlbmRlcmVyKENDR3JhcGhp
Y3NDb250ZXh0OjpjcmVhdGUzRChTdHJpY3RXZWJHcmFwaGljc0NvbnRleHQzRFdpdGhJT1N1cmZh
Y2U6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpKSwgVW50aHJvdHRsZWRVcGxvYWRlcik7CiAgICAg
RVhQRUNUX1RSVUUobV9ob3N0SW1wbC0+cHJlcGFyZVRvRHJhdyhmcmFtZSkpOwogICAgIG1faG9z
dEltcGwtPmRyYXdMYXllcnMoZnJhbWUpOwogICAgIG1faG9zdEltcGwtPmRpZERyYXdBbGxMYXll
cnMoZnJhbWUpOwogICAgIG1faG9zdEltcGwtPnN3YXBCdWZmZXJzKCk7CiB9CiAKKy8vIEZha2Ug
V2ViR3JhcGhpY3NDb250ZXh0M0QgdGhhdCB0cmFja3MgdGhlIG51bWJlciBvZiB0ZXh0dXJlcyBp
biB1c2UuCitjbGFzcyBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNEIDogcHVibGljIEZha2VX
ZWJHcmFwaGljc0NvbnRleHQzRCB7CitwdWJsaWM6CisgICAgVHJhY2tpbmdXZWJHcmFwaGljc0Nv
bnRleHQzRCgpCisgICAgICAgIDogbV9uZXh0VGV4dHVyZUlkKDEpCisgICAgICAgICwgbV9udW1U
ZXh0dXJlcygwKQorICAgIHsgfQorCisgICAgdmlydHVhbCBXZWJHTElkIGNyZWF0ZVRleHR1cmUo
KSBPVkVSUklERQorICAgIHsKKyAgICAgICAgV2ViR0xJZCBpZCA9IG1fbmV4dFRleHR1cmVJZDsK
KyAgICAgICAgKyttX25leHRUZXh0dXJlSWQ7CisKKyAgICAgICAgbV90ZXh0dXJlcy5zZXQoaWQs
IHRydWUpOworICAgICAgICArK21fbnVtVGV4dHVyZXM7CisgICAgICAgIHJldHVybiBpZDsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlVGV4dHVyZShXZWJHTElkIGlkKSBPVkVSUklE
RQorICAgIHsKKyAgICAgICAgaWYgKCFtX3RleHR1cmVzLmdldChpZCkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgbV90ZXh0dXJlcy5zZXQoaWQsIGZhbHNlKTsKKyAgICAgICAgLS1t
X251bVRleHR1cmVzOworICAgIH0KKworICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFN0cmluZyhX
R0MzRGVudW0gbmFtZSkgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIGlmIChuYW1lID09IFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjpFWFRFTlNJT05TKQorICAgICAgICAgICAgcmV0dXJuIFdl
YlN0cmluZygiR0xfQ0hST01JVU1faW9zdXJmYWNlIEdMX0FSQl90ZXh0dXJlX3JlY3RhbmdsZSIp
OworCisgICAgICAgIHJldHVybiBXZWJTdHJpbmcoKTsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRy
PEdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGVHcmFwaGljc0NvbnRleHQoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0
RnJvbVdlYkNvbnRleHQoYWRvcHRQdHIodGhpcyksIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJE
aXJlY3RseVRvSG9zdFdpbmRvdyk7CisgICAgfQorCisgICAgdW5zaWduZWQgbnVtVGV4dHVyZXMo
KSBjb25zdCB7IHJldHVybiBtX251bVRleHR1cmVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViR0xJ
ZCBtX25leHRUZXh0dXJlSWQ7CisgICAgSGFzaE1hcDxXZWJHTElkLCBib29sPiBtX3RleHR1cmVz
OworICAgIHVuc2lnbmVkIG1fbnVtVGV4dHVyZXM7Cit9OworCitURVNUX0YoQ0NMYXllclRyZWVI
b3N0SW1wbFRlc3QsIGxheWVyc0ZyZWVUZXh0dXJlcykKK3sKKyAgICBPd25QdHI8Q0NMYXllcklt
cGw+IHJvb3RMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDEpKTsKKyAgICByb290TGF5ZXItPnNl
dEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIHJvb3RMYXllci0+c2V0QW5jaG9yUG9pbnQo
RmxvYXRQb2ludCgwLCAwKSk7CisKKyAgICBPd25QdHI8Q0NUaWxlZExheWVySW1wbD4gdGlsZUxh
eWVyID0gQ0NUaWxlZExheWVySW1wbDo6Y3JlYXRlKDIpOworICAgIHRpbGVMYXllci0+c2V0Qm91
bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgdGlsZUxheWVyLT5zZXRBbmNob3JQb2ludChGbG9h
dFBvaW50KDAsIDApKTsKKyAgICB0aWxlTGF5ZXItPnNldENvbnRlbnRCb3VuZHMoSW50U2l6ZSgx
MCwgMTApKTsKKyAgICB0aWxlTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAgICB0aWxl
TGF5ZXItPnNldFNraXBzRHJhdyhmYWxzZSk7CisgICAgT3duUHRyPENDTGF5ZXJUaWxpbmdEYXRh
PiB0aWxpbmdEYXRhKENDTGF5ZXJUaWxpbmdEYXRhOjpjcmVhdGUoSW50U2l6ZSgxMCwgMTApLCBD
Q0xheWVyVGlsaW5nRGF0YTo6Tm9Cb3JkZXJUZXhlbHMpKTsKKyAgICB0aWxpbmdEYXRhLT5zZXRC
b3VuZHMoSW50U2l6ZSgxMCwgMTApKTsKKyAgICB0aWxlTGF5ZXItPnNldFRpbGluZ0RhdGEoKnRp
bGluZ0RhdGEpOworICAgIHRpbGVMYXllci0+cHVzaFRpbGVQcm9wZXJ0aWVzKDAsIDAsIDEsIElu
dFJlY3QoMCwgMCwgMTAsIDEwKSk7CisgICAgcm9vdExheWVyLT5hZGRDaGlsZCh0aWxlTGF5ZXIu
cmVsZWFzZSgpKTsKKworICAgIE93blB0cjxDQ1RleHR1cmVMYXllckltcGw+IHRleHR1cmVMYXll
ciA9IENDVGV4dHVyZUxheWVySW1wbDo6Y3JlYXRlKDMpOworICAgIHRleHR1cmVMYXllci0+c2V0
Qm91bmRzKEludFNpemUoMTAsIDEwKSk7CisgICAgdGV4dHVyZUxheWVyLT5zZXRBbmNob3JQb2lu
dChGbG9hdFBvaW50KDAsIDApKTsKKyAgICB0ZXh0dXJlTGF5ZXItPnNldENvbnRlbnRCb3VuZHMo
SW50U2l6ZSgxMCwgMTApKTsKKyAgICB0ZXh0dXJlTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVl
KTsKKyAgICB0ZXh0dXJlTGF5ZXItPnNldFRleHR1cmVJZCgxKTsKKyAgICByb290TGF5ZXItPmFk
ZENoaWxkKHRleHR1cmVMYXllci5yZWxlYXNlKCkpOworCisgICAgRmFrZVZpZGVvRnJhbWVQcm92
aWRlciBwcm92aWRlcjsKKyAgICBPd25QdHI8Q0NWaWRlb0xheWVySW1wbD4gdmlkZW9MYXllciA9
IENDVmlkZW9MYXllckltcGw6OmNyZWF0ZSg0LCAmcHJvdmlkZXIpOworICAgIHZpZGVvTGF5ZXIt
PnNldEJvdW5kcyhJbnRTaXplKDEwLCAxMCkpOworICAgIHZpZGVvTGF5ZXItPnNldEFuY2hvclBv
aW50KEZsb2F0UG9pbnQoMCwgMCkpOworICAgIHZpZGVvTGF5ZXItPnNldENvbnRlbnRCb3VuZHMo
SW50U2l6ZSgxMCwgMTApKTsKKyAgICB2aWRlb0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7
CisgICAgdmlkZW9MYXllci0+c2V0TGF5ZXJUcmVlSG9zdEltcGwobV9ob3N0SW1wbC5nZXQoKSk7
CisgICAgcm9vdExheWVyLT5hZGRDaGlsZCh2aWRlb0xheWVyLnJlbGVhc2UoKSk7CisKKyAgICBP
d25QdHI8Q0NJT1N1cmZhY2VMYXllckltcGw+IGlvU3VyZmFjZUxheWVyID0gQ0NJT1N1cmZhY2VM
YXllckltcGw6OmNyZWF0ZSg1KTsKKyAgICBpb1N1cmZhY2VMYXllci0+c2V0Qm91bmRzKEludFNp
emUoMTAsIDEwKSk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldEFuY2hvclBvaW50KEZsb2F0UG9p
bnQoMCwgMCkpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXRDb250ZW50Qm91bmRzKEludFNpemUo
MTAsIDEwKSk7CisgICAgaW9TdXJmYWNlTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKKyAg
ICBpb1N1cmZhY2VMYXllci0+c2V0SU9TdXJmYWNlUHJvcGVydGllcygxLCBJbnRTaXplKDEwLCAx
MCkpOworICAgIGlvU3VyZmFjZUxheWVyLT5zZXRMYXllclRyZWVIb3N0SW1wbChtX2hvc3RJbXBs
LmdldCgpKTsKKyAgICByb290TGF5ZXItPmFkZENoaWxkKGlvU3VyZmFjZUxheWVyLnJlbGVhc2Uo
KSk7CisKKyAgICAvLyBMb3NlIHRoZSBjb250ZXh0LCByZXBsYWNpbmcgaXQgd2l0aCBhIFRyYWNr
aW5nV2ViR3JhcGhpY3NDb250ZXh0M0QsIHRoYXQKKyAgICAvLyB0cmFja3MgdGhlIG51bWJlciBv
ZiB0ZXh0dXJlcyBhbGxvY2F0ZWQuIFRoaXMgcG9pbnRlciBpcyBvd25lZCBieSBpdHMKKyAgICAv
LyBHcmFwaGljc0NvbnRleHQzRC4KKyAgICBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dDNEKiB0
cmFja2luZ1dlYkdyYXBoaWNzQ29udGV4dCA9IG5ldyBUcmFja2luZ1dlYkdyYXBoaWNzQ29udGV4
dDNEKCk7CisgICAgbV9ob3N0SW1wbC0+aW5pdGlhbGl6ZUxheWVyUmVuZGVyZXIoQ0NHcmFwaGlj
c0NvbnRleHQ6OmNyZWF0ZTNEKHRyYWNraW5nV2ViR3JhcGhpY3NDb250ZXh0LT5jcmVhdGVHcmFw
aGljc0NvbnRleHQoKSksIFVudGhyb3R0bGVkVXBsb2FkZXIpOworCisgICAgbV9ob3N0SW1wbC0+
c2V0Um9vdExheWVyKHJvb3RMYXllci5yZWxlYXNlKCkpOworCisgICAgQ0NMYXllclRyZWVIb3N0
SW1wbDo6RnJhbWVEYXRhIGZyYW1lOworICAgIEVYUEVDVF9UUlVFKG1faG9zdEltcGwtPnByZXBh
cmVUb0RyYXcoZnJhbWUpKTsKKyAgICBtX2hvc3RJbXBsLT5kcmF3TGF5ZXJzKGZyYW1lKTsKKyAg
ICBtX2hvc3RJbXBsLT5kaWREcmF3QWxsTGF5ZXJzKGZyYW1lKTsKKyAgICBtX2hvc3RJbXBsLT5z
d2FwQnVmZmVycygpOworCisgICAgRVhQRUNUX0dUKHRyYWNraW5nV2ViR3JhcGhpY3NDb250ZXh0
LT5udW1UZXh0dXJlcygpLCAwdSk7CisKKyAgICAvLyBLaWxsIHRoZSBsYXllciB0cmVlLgorICAg
IG1faG9zdEltcGwtPnNldFJvb3RMYXllcihDQ0xheWVySW1wbDo6Y3JlYXRlKDEwMCkpOworICAg
IC8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIGRvbid0IHVzZSBNYW5hZ2VkVGV4dHVyZXMg
aW4gaW1wbCBsYXllcnMuCisgICAgbV9ob3N0SW1wbC0+bGF5ZXJSZW5kZXJlcigpLT5pbXBsVGV4
dHVyZU1hbmFnZXIoKS0+ZGVsZXRlRXZpY3RlZFRleHR1cmVzKG1faG9zdEltcGwtPmxheWVyUmVu
ZGVyZXIoKS0+aW1wbFRleHR1cmVBbGxvY2F0b3IoKSk7CisgICAgLy8gVGhlcmUgc2hvdWxkIGJl
IG5vIHRleHR1cmVzIGxlZnQgaW4gdXNlIGFmdGVyLgorICAgIEVYUEVDVF9FUSgwdSwgdHJhY2tp
bmdXZWJHcmFwaGljc0NvbnRleHQtPm51bVRleHR1cmVzKCkpOworfQorCiB9IC8vIG5hbWVzcGFj
ZQo=
</data>
<flag name="commit-queue"
          id="154008"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>