<?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>80741</bug_id>
          
          <creation_ts>2012-03-09 17:32:15 -0800</creation_ts>
          <short_desc>[chromium] Use projectQuad to apply inverse mapRect</short_desc>
          <delta_ts>2012-03-13 08:44:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80613</dependson>
    
    <dependson>80969</dependson>
          <blocked>80743</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>backer</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>morrita</cc>
    
    <cc>piman</cc>
    
    <cc>reveman</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>575372</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-09 17:32:15 -0800</bug_when>
    <thetext>[chromium] Can&apos;t inverse mapRect a transform that gives 3d components</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575375</commentid>
    <comment_count>1</comment_count>
      <attachid>131143</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-09 17:34:10 -0800</bug_when>
    <thetext>Created attachment 131143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575379</commentid>
    <comment_count>2</comment_count>
      <attachid>131143</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-09 17:42:02 -0800</bug_when>
    <thetext>Comment on attachment 131143
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp:280
&gt; +    // FIXME: Can&apos;t invert a mapRect on transforms that produce 3d components

Actually now I&apos;m confused... would it not work to use projectQuad instead of mapRect for the inverse (just a few lines below in this function)?   3d should then work as expected, i think, except for pending clipping bugs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575381</commentid>
    <comment_count>3</comment_count>
      <attachid>131143</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-09 17:45:56 -0800</bug_when>
    <thetext>Comment on attachment 131143
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp:280
&gt;&gt; +    // FIXME: Can&apos;t invert a mapRect on transforms that produce 3d components
&gt; 
&gt; Actually now I&apos;m confused... would it not work to use projectQuad instead of mapRect for the inverse (just a few lines below in this function)?   3d should then work as expected, i think, except for pending clipping bugs?

Transform rotateY 30 degrees
Original contentRect 0,0,200,200
Becomes transformedRect something like 0,0,170,170
If you transform with the inverse() you get 0,0,170,170 rotated around Y by -30 degrees, giving you something like 0,0,150,150

Numbers are somewhat imaginary but I was seeing similar numbers from mapRect. I fail to see how projectRect would be any different in this case given the 2d inputs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575388</commentid>
    <comment_count>4</comment_count>
      <attachid>131145</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-09 18:10:13 -0800</bug_when>
    <thetext>Created attachment 131145
Patch

Shawn rocks! Using projectQuad works, switched to using that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576628</commentid>
    <comment_count>5</comment_count>
      <attachid>131426</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 15:41:33 -0700</bug_when>
    <thetext>Created attachment 131426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576632</commentid>
    <comment_count>6</comment_count>
      <attachid>131426</attachid>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-12 15:42:38 -0700</bug_when>
    <thetext>Comment on attachment 131426
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/cc/CCOcclusionTracker.cpp:277
&gt; +    projectedQuad.setP2(transform.projectPoint(q.p2(), clamped));

you&apos;ll have to use different clamped bools and OR them together...!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576640</commentid>
    <comment_count>7</comment_count>
      <attachid>131429</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 15:50:15 -0700</bug_when>
    <thetext>Created attachment 131429
Patch

Right! Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576652</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 15:58:14 -0700</bug_when>
    <thetext>Verified that draw culling with CCOcclusionTracker works correctly with the platform/chromium/3d-corners layout test after this projectQuads change is applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576665</commentid>
    <comment_count>9</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-03-12 16:05:30 -0700</bug_when>
    <thetext>The fix LGTM...  I didn&apos;t look closely at the tests, though.

Dana suggested that I chime in about projectQuad.  here&apos;s the situation - 

Whenever we intend to inverse-map from parent to child, we should actually use projectQuad.   projectQuad is a little misleading though its technically not incorrect.  A clearer way to think of it is that inverse + projectQuad == unprojectQuad.   And that is the operation we need:   we have a rect described in surface space, and we want to understand where that rect is located with respect to the layer - not only the layer&apos;s space, but the layer&apos;s plane itself.

Conveniently, when there is no perspective projection, I think inverse.projectQuad() operation does the same thing as inverse.mapRect().

Dana needs to duplicate projectQuad() from the TransformationMatrix code, just for temporary, because there is a deep rooted bug that breaks unproject() for layers that are behind the camera.  (I&apos;m working on it, ETA early next week?)

In my personal opinion, using projectQuad for temporary like this is reasonable, and we will make sure to clean up as we fix it properly.

Hopefully that clears things up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576776</commentid>
    <comment_count>10</comment_count>
      <attachid>131465</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 17:26:37 -0700</bug_when>
    <thetext>Created attachment 131465
Patch

Added a unit test for the clamped case of projectQuad().

Test3dTransform and TestPerspectiveTransform both fail without the use of TransformationMatrix::projectQuad.

TestPerspectiveTransformBehindCamera fails without our custom projectQuad() implementation that passes on the clamped value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576784</commentid>
    <comment_count>11</comment_count>
      <attachid>131468</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 17:30:28 -0700</bug_when>
    <thetext>Created attachment 131468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576801</commentid>
    <comment_count>12</comment_count>
      <attachid>131471</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 17:44:04 -0700</bug_when>
    <thetext>Created attachment 131471
Patch

Include comment for explaining result in last test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576809</commentid>
    <comment_count>13</comment_count>
      <attachid>131473</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-12 17:46:36 -0700</bug_when>
    <thetext>Created attachment 131473
Patch

And referenced the wrong path to the layout test in the new comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576818</commentid>
    <comment_count>14</comment_count>
      <attachid>131473</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-12 17:54:24 -0700</bug_when>
    <thetext>Comment on attachment 131473
Patch

R=me.  It&apos;s nice to have unit tests for these cases.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576919</commentid>
    <comment_count>15</comment_count>
      <attachid>131473</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 19:27:37 -0700</bug_when>
    <thetext>Comment on attachment 131473
Patch

Clearing flags on attachment: 131473

Committed r110529: &lt;http://trac.webkit.org/changeset/110529&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576920</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-12 19:27:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577056</commentid>
    <comment_count>17</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-12 22:41:13 -0700</bug_when>
    <thetext>Rolled out at http://trac.webkit.org/changeset/110538
due to a Mac build breakage.

It looks that the unit test derives a subclass from template class 
and use a method in superclass. 
I guess this happens because GCC cannot resolve the name of such method call
and requires class name like A&lt;B, C&gt;::method() instead of method().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577059</commentid>
    <comment_count>18</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-12 22:43:24 -0700</bug_when>
    <thetext>http://chromegw.corp.google.com/i/chromium.webkit/builders/Webkit%20Mac%20Builder/builds/20170/steps/compile/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577307</commentid>
    <comment_count>19</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-13 07:57:19 -0700</bug_when>
    <thetext>Ah, sorry Hajime. I went through this with the rest of the file, and didn&apos;t update the new tests to reflect what I had learned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577314</commentid>
    <comment_count>20</comment_count>
      <attachid>131612</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-13 08:00:56 -0700</bug_when>
    <thetext>Created attachment 131612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577357</commentid>
    <comment_count>21</comment_count>
      <attachid>131612</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 08:44:02 -0700</bug_when>
    <thetext>Comment on attachment 131612
Patch

Clearing flags on attachment: 131612

Committed r110569: &lt;http://trac.webkit.org/changeset/110569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577358</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 08:44:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131143</attachid>
            <date>2012-03-09 17:34:10 -0800</date>
            <delta_ts>2012-03-09 18:10:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120309203409.patch</filename>
            <type>text/plain</type>
            <size>5770</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc2YTg1NzE0Yzg0OTAw
MWE4NzFiNDMxNjY4ZGZkMDQ5OTM3ZjFjYi4uMjc2YjRiNGJlMjg0MWE4NDM5YTAxZGQxYzhlY2Zk
ODY2ODlkZGZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQ2Fu
J3QgaW52ZXJzZSBtYXBSZWN0IGEgdHJhbnNmb3JtIHRoYXQgZ2l2ZXMgM2QgY29tcG9uZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6
IENDT2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIEND
T2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzMmRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KToKKwogMjAxMi0wMy0wOSAg
UHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9u
IGZhaWx1cmUgaW4gUmVzb3VyY2VIYW5kbGU6OnNldERlZmVyc0xvYWRpbmcoKTogZC0+bV9kZWZl
cnNMb2FkaW5nICE9IGRlZmVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwNWY1MmI2
MGIyMmFiMWJhZTk5MjhiMTQ5YTYyMDQ2NjYyMGM5MTkwLi43ZDIxZGE4MWFiYzllMzUwZDY2Y2E0
ZWE0ODk1YjcyYTQ1MDA0ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDE5IEBACiAyMDEyLTAzLTA5ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgog
CisgICAgICAgIFtjaHJvbWl1bV0gQ2FuJ3QgaW52ZXJzZSBtYXBSZWN0IGEgdHJhbnNmb3JtIHRo
YXQgZ2l2ZXMgM2QgY29tcG9uZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHRlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChDQ09jY2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0p
OgorICAgICAgICAoV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtOjpy
dW5NeVRlc3QpOgorICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJh
bnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVj
dGl2ZVRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKworMjAxMi0wMy0wOSAgRGFuYSBKYW5zZW5zICA8
ZGFuYWtqQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21pdW1dIENsZWFuIHVwIGN1bGxp
bmcgdGVzdHMgYW5kIHRlbXBsYXRpemUgdG8gdGVzdCBpbXBsIGNvbnN0cnVjdHMKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjEzCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVz
aW9uVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCmluZGV4IGYxYzkzMzg4MjUwZjViNDI1ZTVlZWIx
NmNlNjU4MDc4MWIzMjljMjkuLjY3NTJkNDY1YjMwZDE3MDUyMjE3ZjE5N2UzN2NmMjAwMDIxZGFi
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcApAQCAtMjY4LDggKzI2
OCwxOSBAQCBzdGF0aWMgaW5saW5lIEludFJlY3QgcmVjdFN1YnRyYWN0UmVnaW9uKGNvbnN0IElu
dFJlY3QmIHJlY3QsIGNvbnN0IFJlZ2lvbiYgcmVnaQogICAgIHJldHVybiBib3VuZHNSZWN0Owog
fQogCitzdGF0aWMgYm9vbCBpczJkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiB0cmFuc2Zvcm0pCit7CisgICAgcmV0dXJuIHRyYW5zZm9ybS50bzJkVHJhbnNmb3JtKCkgPT0g
dHJhbnNmb3JtOworfQorCiBzdGF0aWMgaW5saW5lIEludFJlY3QgY29tcHV0ZVVub2NjbHVkZWRD
b250ZW50UmVjdChjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIGNvbnRlbnRTcGFjZVRyYW5zZm9ybSwgY29uc3QgSW50UmVjdCYgc2Npc3NvclJl
Y3QsIGNvbnN0IFJlZ2lvbiYgb2NjbHVzaW9uKQogeworICAgIGlmICghY29udGVudFNwYWNlVHJh
bnNmb3JtLmlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm4gY29udGVudFJlY3Q7CisgICAg
Ly8gRklYTUU6IENhbid0IGludmVydCBhIG1hcFJlY3Qgb24gdHJhbnNmb3JtcyB0aGF0IHByb2R1
Y2UgM2QgY29tcG9uZW50cworICAgIGlmICghaXMyZFRyYW5zZm9ybShjb250ZW50U3BhY2VUcmFu
c2Zvcm0pKQorICAgICAgICByZXR1cm4gY29udGVudFJlY3Q7CisKICAgICBGbG9hdFJlY3QgdHJh
bnNmb3JtZWRSZWN0ID0gY29udGVudFNwYWNlVHJhbnNmb3JtLm1hcFJlY3QoRmxvYXRSZWN0KGNv
bnRlbnRSZWN0KSk7CiAgICAgLy8gVGFrZSB0aGUgZW5jbG9zaW5nSW50UmVjdCBhdCBlYWNoIHN0
ZXAsIGFzIHdlIHdhbnQgdG8gY29udGFpbiBhbnkgdW5vY2NsdWRlZCBwYXJ0aWFsIHBpeGVscyBp
biB0aGUgcmVzdWx0aW5nIEludFJlY3QuCiAgICAgSW50UmVjdCBzaHJ1bmtSZWN0ID0gcmVjdFN1
YnRyYWN0UmVnaW9uKGludGVyc2VjdGlvbihlbmNsb3NpbmdJbnRSZWN0KHRyYW5zZm9ybWVkUmVj
dCksIHNjaXNzb3JSZWN0KSwgb2NjbHVzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IDBlNTA3OTI1
M2NiYjg5YTcwYWQxNTUzNWJiZmU4MjNjNmE4MDY2YWEuLjVjODc1YWUyNjYyNDNmZWM3NGFlZTRl
Y2JmZWM4NjRjMmFhODgxMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJUZXN0LmNwcApAQCAtMTcwMCw0ICsxNzAwLDQ3IEBA
IHByb3RlY3RlZDoKIAogTUFJTl9BTkRfSU1QTF9USFJFQURfVEVTVChDQ09jY2x1c2lvblRyYWNr
ZXJUZXN0T3BhcXVlQ29udGVudHNSZWdpb25Ob25FbXB0eSk7CiAKK3RlbXBsYXRlPGNsYXNzIFR5
cGVzLCBib29sIG9wYXF1ZUxheWVycz4KK2NsYXNzIENDT2NjbHVzaW9uVHJhY2tlclRlc3QzZFRy
YW5zZm9ybSA6IHB1YmxpYyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0PFR5cGVzLCBvcGFxdWVMYXll
cnM+IHsKK3Byb3RlY3RlZDoKKyAgICB2b2lkIHJ1bk15VGVzdCgpCisgICAgeworICAgICAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAgIHRyYW5zZm9ybS5yb3RhdGUz
ZCgwLCAzMCwgMCk7CisKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUq
IHBhcmVudCA9IHRoaXMtPmNyZWF0ZVJvb3QodGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9p
bnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNv
bnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UocGFyZW50
LCB0cmFuc2Zvcm0sIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsK
KyAgICAgICAgY2FsY0RyYXdFdGMocGFyZW50KTsKKworICAgICAgICBUZXN0Q0NPY2NsdXNpb25U
cmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVu
ZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAg
ICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3Vy
ZmFjZSgpKTsKKworICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDIwMCwgMjAw
KSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAy
MDAsIDIwMCkpKTsKKyAgICB9Cit9OworCitBTExfQ0NPQ0NMVVNJT05UUkFDS0VSX1RFU1QoQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtKTsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZXMs
IGJvb2wgb3BhcXVlTGF5ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0
aXZlVHJhbnNmb3JtIDogcHVibGljIENDT2NjbHVzaW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1
ZUxheWVycz4geworcHJvdGVjdGVkOgorICAgIHZvaWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAg
ICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLmFw
cGx5UGVyc3BlY3RpdmUoMC4yKTsKKworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExh
eWVyVHlwZSogcGFyZW50ID0gdGhpcy0+Y3JlYXRlUm9vdCh0aGlzLT5pZGVudGl0eU1hdHJpeCwg
RmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgzMDAsIDMwMCkpOworICAgICAgICB0eXBlbmFtZSBU
eXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFj
ZShwYXJlbnQsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgyMDAsIDIwMCks
IHRydWUpOworICAgICAgICBjYWxjRHJhd0V0YyhwYXJlbnQpOworCisgICAgICAgIFRlc3RDQ09j
Y2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5
cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAw
MCkpOworICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5y
ZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwg
MjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0
KDAsIDAsIDIwMCwgMjAwKSkpOworICAgIH0KK307CisKK0FMTF9DQ09DQ0xVU0lPTlRSQUNLRVJf
VEVTVChDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOworCisKIH0g
Ly8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131145</attachid>
            <date>2012-03-09 18:10:13 -0800</date>
            <delta_ts>2012-03-12 15:41:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120309211011.patch</filename>
            <type>text/plain</type>
            <size>5849</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc2YTg1NzE0Yzg0OTAw
MWE4NzFiNDMxNjY4ZGZkMDQ5OTM3ZjFjYi4uZWFkZWU0MGI2NjRkZjM1YmZkNGQ1ODkxYTAwZjdm
MjQyNzZiMGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Y29tcHV0ZVVub2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMt
MDkgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIEFzc2Vy
dGlvbiBmYWlsdXJlIGluIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2FkaW5nKCk6IGQtPm1f
ZGVmZXJzTG9hZGluZyAhPSBkZWZlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDVm
NTJiNjBiMjJhYjFiYWU5OTI4YjE0OWE2MjA0NjY2MjBjOTE5MC4uNzZkODdlM2I3ZTI1MTZmZGE0
MTRhOGQ2MDVhZTgxYzQwMjBjZTU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxOSBAQAogMjAxMi0wMy0wOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9y
Zz4KIAorICAgICAgICBbY2hyb21pdW1dIFVzZSBwcm9qZWN0UXVhZCB0byBhcHBseSBpbnZlcnNl
IG1hcFJlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwNzQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB0ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKyAg
ICAgICAgKENDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybSk6CisgICAg
ICAgIChXZWJDb3JlOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm06
OnJ1bk15VGVzdCk6CisKKzIwMTItMDMtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgW2Nocm9taXVtXSBDbGVhbiB1cCBjdWxsaW5nIHRlc3RzIGFuZCB0
ZW1wbGF0aXplIHRvIHRlc3QgaW1wbCBjb25zdHJ1Y3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDYxMwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNp
b25UcmFja2VyLmNwcAppbmRleCBmMWM5MzM4ODI1MGY1YjQyNWU1ZWViMTZjZTY1ODA3ODFiMzI5
YzI5Li5kYjkxYmQ1ODUxMzc4ZWUzNWM0MThhOTQ5OTkyZWY3ZWIzNjQ0MGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lv
blRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTI3MCwxMCArMjcwLDEzIEBAIHN0YXRp
YyBpbmxpbmUgSW50UmVjdCByZWN0U3VidHJhY3RSZWdpb24oY29uc3QgSW50UmVjdCYgcmVjdCwg
Y29uc3QgUmVnaW9uJiByZWdpCiAKIHN0YXRpYyBpbmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2Ns
dWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNlVHJhbnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lz
c29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2NsdXNpb24pCiB7CisgICAgaWYgKCFjb250ZW50U3Bh
Y2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybiBjb250ZW50UmVjdDsK
KwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1lZFJlY3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0u
bWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJlY3QpKTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3Np
bmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMgd2Ugd2FudCB0byBjb250YWluIGFueSB1bm9jY2x1
ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSByZXN1bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0
IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RSZWdpb24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0lu
dFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Npc3NvclJlY3QpLCBvY2NsdXNpb24pOwotICAgIElu
dFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5z
Zm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9hdFJlY3Qoc2hydW5rUmVjdCkpKTsKKyAgICBJbnRS
ZWN0IHVub2NjbHVkZWRSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChjb250ZW50U3BhY2VUcmFuc2Zv
cm0uaW52ZXJzZSgpLnByb2plY3RRdWFkKEZsb2F0UXVhZChGbG9hdFJlY3Qoc2hydW5rUmVjdCkp
KS5ib3VuZGluZ0JveCgpKTsKICAgICAvLyBUaGUgcmVjdCBiYWNrIGluIGNvbnRlbnQgc3BhY2Ug
aXMgYSBib3VuZGluZyBib3ggYW5kIG1heSBleHRlbmQgb3V0c2lkZSBvZiB0aGUgb3JpZ2luYWwg
Y29udGVudFJlY3QsIHNvIGNsYW1wIGl0IHRvIHRoZSBjb250ZW50UmVjdEJvdW5kcy4KICAgICBy
ZXR1cm4gaW50ZXJzZWN0aW9uKHVub2NjbHVkZWRSZWN0LCBjb250ZW50UmVjdCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJU
ZXN0LmNwcAppbmRleCAwZTUwNzkyNTNjYmI4OWE3MGFkMTU1MzViYmZlODIzYzZhODA2NmFhLi41
Yzg3NWFlMjY2MjQzZmVjNzRhZWU0ZWNiZmVjODY0YzJhYTg4MTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAK
QEAgLTE3MDAsNCArMTcwMCw0NyBAQCBwcm90ZWN0ZWQ6CiAKIE1BSU5fQU5EX0lNUExfVEhSRUFE
X1RFU1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHkp
OwogCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRl
c3QoKQorICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAg
ICAgICB0cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisgICAgICAgIHR5cGVuYW1lIFR5
cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlk
ZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAg
ICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0
ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdHJhbnNmb3JtLCBGbG9hdFBvaW50KDAsIDApLCBJbnRT
aXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAg
ICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlw
ZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgw
LCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1
cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qo
bGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7CisgICAgfQorfTsKKworQUxMX0NDT0ND
TFVTSU9OVFJBQ0tFUl9URVNUKENDT2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSk7CisK
K3RlbXBsYXRlPGNsYXNzIFR5cGVzLCBib29sIG9wYXF1ZUxheWVycz4KK2NsYXNzIENDT2NjbHVz
aW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybSA6IHB1YmxpYyBDQ09jY2x1c2lvblRy
YWNrZXJUZXN0PFR5cGVzLCBvcGFxdWVMYXllcnM+IHsKK3Byb3RlY3RlZDoKKyAgICB2b2lkIHJ1
bk15VGVzdCgpCisgICAgeworICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07
CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDAuMik7CisKKyAgICAgICAgdHlw
ZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIHBhcmVudCA9IHRoaXMtPmNyZWF0ZVJvb3Qo
dGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDAp
KTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhp
cy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UocGFyZW50LCB0cmFuc2Zvcm0sIEZsb2F0UG9pbnQoMCwg
MCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKKyAgICAgICAgY2FsY0RyYXdFdGMocGFyZW50
KTsKKworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6
TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJ
bnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0
UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKKworICAgICAgICBFWFBFQ1Rf
RVFfUkVDVChJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSwgb2NjbHVzaW9uLnVub2NjbHVkZWRDb250
ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAyMDAsIDIwMCkpKTsKKyAgICB9Cit9OworCitB
TExfQ0NPQ0NMVVNJT05UUkFDS0VSX1RFU1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0
aXZlVHJhbnNmb3JtKTsKKworCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131426</attachid>
            <date>2012-03-12 15:41:33 -0700</date>
            <delta_ts>2012-03-12 15:50:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312184132.patch</filename>
            <type>text/plain</type>
            <size>6437</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uNzY1M2FiNjVmZTVkNjNhZjFmNGIwMmRkZThhYzlk
NDM2MzBmMzlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByb2pl
Y3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVVu
b2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5
ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jzb2xldGUgZmlsZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZiOWRkZmJmMTI4YTYwZDY0MTQ2
ZGFmNTc5YTUuLjc5ZWU5Mzc4YmVjOGQzMWZkOWNhOWZjNjMxNzQxYjUwNzA1YWY4NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMDkgIERhbmEg
SmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBVc2Ug
cHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENDT2NjbHVzaW9uVHJhY2tlclRl
c3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0
M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09jY2x1c2lvblRyYWNrZXJUZXN0
UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFj
a2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3QpOgorCiAyMDEyLTAzLTEyICBO
YXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEZvcmNl
IGNvbXBvc2l0ZUFuZFJlYWRiYWNrIHRocm91Z2ggcmVndWxhciBzY2hlZHVsaW5nIGZsb3cKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
T2NjbHVzaW9uVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCmluZGV4IDllNDk3NzIxZGY4NDUyYjZi
OGQ5NWI2NWQ5YWU1NDYzMjBkMGY0MjMuLjc0MTYyZTdkZGI3NTZjMDUzOWQ4YzAwZGM3Y2RkMTgx
MjEyYmZjYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcApAQCAtMjcw
LDEyICsyNzAsMjkgQEAgc3RhdGljIGlubGluZSBJbnRSZWN0IHJlY3RTdWJ0cmFjdFJlZ2lvbihj
b25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBSZWdpb24mIHJlZ2kKICAgICByZXR1cm4gYm91bmRz
UmVjdDsKIH0KIAorc3RhdGljIEZsb2F0UXVhZCBwcm9qZWN0UXVhZChjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBGbG9hdFF1YWQmIHEsIGJvb2wqIGNsYW1wZWQp
Cit7CisgICAgRmxvYXRRdWFkIHByb2plY3RlZFF1YWQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQ
MSh0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEucDEoKSwgY2xhbXBlZCkpOworICAgIHByb2plY3Rl
ZFF1YWQuc2V0UDIodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAyKCksIGNsYW1wZWQpKTsKKyAg
ICBwcm9qZWN0ZWRRdWFkLnNldFAzKHRyYW5zZm9ybS5wcm9qZWN0UG9pbnQocS5wMygpLCBjbGFt
cGVkKSk7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQNCh0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEu
cDQoKSwgY2xhbXBlZCkpOworCisgICAgcmV0dXJuIHByb2plY3RlZFF1YWQ7Cit9CisKIHN0YXRp
YyBpbmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJl
Y3QmIGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNl
VHJhbnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2Ns
dXNpb24pCiB7CisgICAgaWYgKCFjb250ZW50U3BhY2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkp
CisgICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKKwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1l
ZFJlY3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0ubWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJl
Y3QpKTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3NpbmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMg
d2Ugd2FudCB0byBjb250YWluIGFueSB1bm9jY2x1ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSBy
ZXN1bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RS
ZWdpb24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0ludFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Np
c3NvclJlY3QpLCBvY2NsdXNpb24pOwotICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNs
b3NpbmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9h
dFJlY3Qoc2hydW5rUmVjdCkpKTsKKyAgICBib29sIGNsYW1wZWQ7IC8vIEZJWE1FOiBwcm9qZWN0
UXVhZCByZXR1cm5zIGludmFsaWQgcmVzdWx0cyB3aGVuIGEgcG9pbnQgZ2V0cyBjbGFtcGVkLiBU
byBiZSBmaXhlZCBpbiBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwODA2LgorICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBy
b2plY3RRdWFkKGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCksIEZsb2F0UXVhZChGbG9h
dFJlY3Qoc2hydW5rUmVjdCkpLCAmY2xhbXBlZCkuYm91bmRpbmdCb3goKSk7CisgICAgaWYgKGNs
YW1wZWQpCisgICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKICAgICAvLyBUaGUgcmVjdCBiYWNr
IGluIGNvbnRlbnQgc3BhY2UgaXMgYSBib3VuZGluZyBib3ggYW5kIG1heSBleHRlbmQgb3V0c2lk
ZSBvZiB0aGUgb3JpZ2luYWwgY29udGVudFJlY3QsIHNvIGNsYW1wIGl0IHRvIHRoZSBjb250ZW50
UmVjdEJvdW5kcy4KICAgICByZXR1cm4gaW50ZXJzZWN0aW9uKHVub2NjbHVkZWRSZWN0LCBjb250
ZW50UmVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0ND
T2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9D
Q09jY2x1c2lvblRyYWNrZXJUZXN0LmNwcAppbmRleCBlYmFmMDg5ZTlkZWQzYjQzYTAzZWE2YzAy
MjYxZjI3NDQ0N2RjNGQ2Li5jOTU2OTM0MGUwZjNiNTQ2YTMzODZjMjk4MWU0Zjg4MTExNjlmMTk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJh
Y2tlclRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNp
b25UcmFja2VyVGVzdC5jcHAKQEAgLTE3MTIsNCArMTcxMiw0NyBAQCBwcm90ZWN0ZWQ6CiAKIE1B
SU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRl
bnRzUmVnaW9uTm9uRW1wdHkpOwogCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVM
YXllcnM+CitjbGFzcyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMg
Q0NPY2NsdXNpb25UcmFja2VyVGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6
CisgICAgdm9pZCBydW5NeVRlc3QoKQorICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggdHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisg
ICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5j
cmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXpl
KDMwMCwgMzAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBs
YXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdHJhbnNmb3JtLCBGbG9h
dFBvaW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3
RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5h
bWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBv
Y2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5l
bnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CisKKyAgICAg
ICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9j
Y2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7CisgICAg
fQorfTsKKworQUxMX0NDT0NDTFVTSU9OVFJBQ0tFUl9URVNUKENDT2NjbHVzaW9uVHJhY2tlclRl
c3QzZFRyYW5zZm9ybSk7CisKK3RlbXBsYXRlPGNsYXNzIFR5cGVzLCBib29sIG9wYXF1ZUxheWVy
cz4KK2NsYXNzIENDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybSA6IHB1
YmxpYyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0PFR5cGVzLCBvcGFxdWVMYXllcnM+IHsKK3Byb3Rl
Y3RlZDoKKyAgICB2b2lkIHJ1bk15VGVzdCgpCisgICAgeworICAgICAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDAu
Mik7CisKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIHBhcmVudCA9
IHRoaXMtPmNyZWF0ZVJvb3QodGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCks
IEludFNpemUoMzAwLCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXll
clR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UocGFyZW50LCB0cmFuc2Zv
cm0sIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKKyAgICAgICAg
Y2FsY0RyYXdFdGMocGFyZW50KTsKKworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFz
ZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFj
ZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgb2Nj
bHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsK
KworICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSwgb2NjbHVz
aW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAyMDAsIDIwMCkp
KTsKKyAgICB9Cit9OworCitBTExfQ0NPQ0NMVVNJT05UUkFDS0VSX1RFU1QoQ0NPY2NsdXNpb25U
cmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtKTsKKworCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131429</attachid>
            <date>2012-03-12 15:50:15 -0700</date>
            <delta_ts>2012-03-12 17:26:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312185014.patch</filename>
            <type>text/plain</type>
            <size>6603</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uNzY1M2FiNjVmZTVkNjNhZjFmNGIwMmRkZThhYzlk
NDM2MzBmMzlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByb2pl
Y3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVVu
b2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5
ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jzb2xldGUgZmlsZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZiOWRkZmJmMTI4YTYwZDY0MTQ2
ZGFmNTc5YTUuLjc5ZWU5Mzc4YmVjOGQzMWZkOWNhOWZjNjMxNzQxYjUwNzA1YWY4NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMDkgIERhbmEg
SmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBVc2Ug
cHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENDT2NjbHVzaW9uVHJhY2tlclRl
c3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0
M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09jY2x1c2lvblRyYWNrZXJUZXN0
UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFj
a2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3QpOgorCiAyMDEyLTAzLTEyICBO
YXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEZvcmNl
IGNvbXBvc2l0ZUFuZFJlYWRiYWNrIHRocm91Z2ggcmVndWxhciBzY2hlZHVsaW5nIGZsb3cKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
T2NjbHVzaW9uVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCmluZGV4IDllNDk3NzIxZGY4NDUyYjZi
OGQ5NWI2NWQ5YWU1NDYzMjBkMGY0MjMuLmIyZGZjYjViNjgwY2M1NzA0OGQ1N2E5ZjEyMzAxMGIx
MGM0NDZjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcApAQCAtMjcw
LDEyICsyNzAsMzQgQEAgc3RhdGljIGlubGluZSBJbnRSZWN0IHJlY3RTdWJ0cmFjdFJlZ2lvbihj
b25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBSZWdpb24mIHJlZ2kKICAgICByZXR1cm4gYm91bmRz
UmVjdDsKIH0KIAorc3RhdGljIEZsb2F0UXVhZCBwcm9qZWN0UXVhZChjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBGbG9hdFF1YWQmIHEsIGJvb2wmIGNsYW1wZWQp
Cit7CisgICAgRmxvYXRRdWFkIHByb2plY3RlZFF1YWQ7CisgICAgYm9vbCBjbGFtcGVkUG9pbnQ7
CisgICAgcHJvamVjdGVkUXVhZC5zZXRQMSh0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEucDEoKSwg
JmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgPSBjbGFtcGVkUG9pbnQ7CisgICAgcHJvamVj
dGVkUXVhZC5zZXRQMih0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEucDIoKSwgJmNsYW1wZWRQb2lu
dCkpOworICAgIGNsYW1wZWQgfD0gY2xhbXBlZFBvaW50OworICAgIHByb2plY3RlZFF1YWQuc2V0
UDModHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAzKCksICZjbGFtcGVkUG9pbnQpKTsKKyAgICBj
bGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNldFA0KHRyYW5zZm9y
bS5wcm9qZWN0UG9pbnQocS5wNCgpLCAmY2xhbXBlZFBvaW50KSk7CisgICAgY2xhbXBlZCB8PSBj
bGFtcGVkUG9pbnQ7CisKKyAgICByZXR1cm4gcHJvamVjdGVkUXVhZDsKK30KKwogc3RhdGljIGlu
bGluZSBJbnRSZWN0IGNvbXB1dGVVbm9jY2x1ZGVkQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYg
Y29udGVudFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBjb250ZW50U3BhY2VUcmFu
c2Zvcm0sIGNvbnN0IEludFJlY3QmIHNjaXNzb3JSZWN0LCBjb25zdCBSZWdpb24mIG9jY2x1c2lv
bikKIHsKKyAgICBpZiAoIWNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkKKyAg
ICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OworCiAgICAgRmxvYXRSZWN0IHRyYW5zZm9ybWVkUmVj
dCA9IGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5tYXBSZWN0KEZsb2F0UmVjdChjb250ZW50UmVjdCkp
OwogICAgIC8vIFRha2UgdGhlIGVuY2xvc2luZ0ludFJlY3QgYXQgZWFjaCBzdGVwLCBhcyB3ZSB3
YW50IHRvIGNvbnRhaW4gYW55IHVub2NjbHVkZWQgcGFydGlhbCBwaXhlbHMgaW4gdGhlIHJlc3Vs
dGluZyBJbnRSZWN0LgogICAgIEludFJlY3Qgc2hydW5rUmVjdCA9IHJlY3RTdWJ0cmFjdFJlZ2lv
bihpbnRlcnNlY3Rpb24oZW5jbG9zaW5nSW50UmVjdCh0cmFuc2Zvcm1lZFJlY3QpLCBzY2lzc29y
UmVjdCksIG9jY2x1c2lvbik7Ci0gICAgSW50UmVjdCB1bm9jY2x1ZGVkUmVjdCA9IGVuY2xvc2lu
Z0ludFJlY3QoY29udGVudFNwYWNlVHJhbnNmb3JtLmludmVyc2UoKS5tYXBSZWN0KEZsb2F0UmVj
dChzaHJ1bmtSZWN0KSkpOworICAgIGJvb2wgY2xhbXBlZDsgLy8gRklYTUU6IHByb2plY3RRdWFk
IHJldHVybnMgaW52YWxpZCByZXN1bHRzIHdoZW4gYSBwb2ludCBnZXRzIGNsYW1wZWQuIFRvIGJl
IGZpeGVkIGluIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA4
MDYuCisgICAgSW50UmVjdCB1bm9jY2x1ZGVkUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJvamVj
dFF1YWQoY29udGVudFNwYWNlVHJhbnNmb3JtLmludmVyc2UoKSwgRmxvYXRRdWFkKEZsb2F0UmVj
dChzaHJ1bmtSZWN0KSksIGNsYW1wZWQpLmJvdW5kaW5nQm94KCkpOworICAgIGlmIChjbGFtcGVk
KQorICAgICAgICByZXR1cm4gY29udGVudFJlY3Q7CiAgICAgLy8gVGhlIHJlY3QgYmFjayBpbiBj
b250ZW50IHNwYWNlIGlzIGEgYm91bmRpbmcgYm94IGFuZCBtYXkgZXh0ZW5kIG91dHNpZGUgb2Yg
dGhlIG9yaWdpbmFsIGNvbnRlbnRSZWN0LCBzbyBjbGFtcCBpdCB0byB0aGUgY29udGVudFJlY3RC
b3VuZHMuCiAgICAgcmV0dXJuIGludGVyc2VjdGlvbih1bm9jY2x1ZGVkUmVjdCwgY29udGVudFJl
Y3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1
c2lvblRyYWNrZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2Ns
dXNpb25UcmFja2VyVGVzdC5jcHAKaW5kZXggZWJhZjA4OWU5ZGVkM2I0M2EwM2VhNmMwMjI2MWYy
NzQ0NDdkYzRkNi4uYzk1NjkzNDBlMGYzYjU0NmEzMzg2YzI5ODFlNGY4ODExMTY5ZjE5OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJU
ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJh
Y2tlclRlc3QuY3BwCkBAIC0xNzEyLDQgKzE3MTIsNDcgQEAgcHJvdGVjdGVkOgogCiBNQUlOX0FO
RF9JTVBMX1RIUkVBRF9URVNUKENDT2NjbHVzaW9uVHJhY2tlclRlc3RPcGFxdWVDb250ZW50c1Jl
Z2lvbk5vbkVtcHR5KTsKIAordGVtcGxhdGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5ZXJz
PgorY2xhc3MgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtIDogcHVibGljIENDT2Nj
bHVzaW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJvdGVjdGVkOgorICAg
IHZvaWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRy
YW5zZm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLnJvdGF0ZTNkKDAsIDMwLCAwKTsKKworICAgICAg
ICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogcGFyZW50ID0gdGhpcy0+Y3JlYXRl
Um9vdCh0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgzMDAs
IDMwMCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIg
PSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShwYXJlbnQsIHRyYW5zZm9ybSwgRmxvYXRQb2lu
dCgwLCAwKSwgSW50U2l6ZSgyMDAsIDIwMCksIHRydWUpOworICAgICAgICBjYWxjRHJhd0V0Yyhw
YXJlbnQpOworCisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5
cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVz
aW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBvY2NsdXNpb24uZW50ZXJU
YXJnZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOworICAgIH0KK307
CisKK0FMTF9DQ09DQ0xVU0lPTlRSQUNLRVJfVEVTVChDQ09jY2x1c2lvblRyYWNrZXJUZXN0M2RU
cmFuc2Zvcm0pOworCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+Citj
bGFzcyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0gOiBwdWJsaWMg
Q0NPY2NsdXNpb25UcmFja2VyVGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6
CisgICAgdm9pZCBydW5NeVRlc3QoKQorICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggdHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0uYXBwbHlQZXJzcGVjdGl2ZSgwLjIpOwor
CisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlz
LT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRT
aXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBl
KiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdHJhbnNmb3JtLCBG
bG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNE
cmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CisKKyAg
ICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51
bm9jY2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7Cisg
ICAgfQorfTsKKworQUxMX0NDT0NDTFVTSU9OVFJBQ0tFUl9URVNUKENDT2NjbHVzaW9uVHJhY2tl
clRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybSk7CisKKwogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131465</attachid>
            <date>2012-03-12 17:26:37 -0700</date>
            <delta_ts>2012-03-12 17:30:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312202636.patch</filename>
            <type>text/plain</type>
            <size>9240</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uZDViNWYzYTgzMmM1Mzc0NzYwYWQwNDkyYmYwNDU3
ZmEyZDU0ZjkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJh
Y2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnByb2plY3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29tcHV0ZVVub2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNj
b3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jz
b2xldGUgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZi
OWRkZmJmMTI4YTYwZDY0MTQ2ZGFmNTc5YTUuLmIwNjU1NjBmZmUwODAwMTQ0MmU1YjgyNzBkMGI5
MmY1NmM5OTliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMDMtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBVc2UgcHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEND
T2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3Qp
OgorICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVo
aW5kQ2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJz
cGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYTo6cnVuTXlUZXN0KToKKwogMjAxMi0wMy0xMiAg
TmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBGb3Jj
ZSBjb21wb3NpdGVBbmRSZWFkYmFjayB0aHJvdWdoIHJlZ3VsYXIgc2NoZWR1bGluZyBmbG93CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q09jY2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCA5ZTQ5NzcyMWRmODQ1MmI2
YjhkOTViNjVkOWFlNTQ2MzIwZDBmNDIzLi5iMmRmY2I1YjY4MGNjNTcwNDhkNTdhOWYxMjMwMTBi
MTBjNDQ2YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTI3
MCwxMiArMjcwLDM0IEBAIHN0YXRpYyBpbmxpbmUgSW50UmVjdCByZWN0U3VidHJhY3RSZWdpb24o
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVnaW9uJiByZWdpCiAgICAgcmV0dXJuIGJvdW5k
c1JlY3Q7CiB9CiAKK3N0YXRpYyBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSwgY29uc3QgRmxvYXRRdWFkJiBxLCBib29sJiBjbGFtcGVk
KQoreworICAgIEZsb2F0UXVhZCBwcm9qZWN0ZWRRdWFkOworICAgIGJvb2wgY2xhbXBlZFBvaW50
OworICAgIHByb2plY3RlZFF1YWQuc2V0UDEodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAxKCks
ICZjbGFtcGVkUG9pbnQpKTsKKyAgICBjbGFtcGVkID0gY2xhbXBlZFBvaW50OworICAgIHByb2pl
Y3RlZFF1YWQuc2V0UDIodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAyKCksICZjbGFtcGVkUG9p
bnQpKTsKKyAgICBjbGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNl
dFAzKHRyYW5zZm9ybS5wcm9qZWN0UG9pbnQocS5wMygpLCAmY2xhbXBlZFBvaW50KSk7CisgICAg
Y2xhbXBlZCB8PSBjbGFtcGVkUG9pbnQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQNCh0cmFuc2Zv
cm0ucHJvamVjdFBvaW50KHEucDQoKSwgJmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgfD0g
Y2xhbXBlZFBvaW50OworCisgICAgcmV0dXJuIHByb2plY3RlZFF1YWQ7Cit9CisKIHN0YXRpYyBp
bmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3Qm
IGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNlVHJh
bnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2NsdXNp
b24pCiB7CisgICAgaWYgKCFjb250ZW50U3BhY2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisg
ICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKKwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1lZFJl
Y3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0ubWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJlY3Qp
KTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3NpbmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMgd2Ug
d2FudCB0byBjb250YWluIGFueSB1bm9jY2x1ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSByZXN1
bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RSZWdp
b24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0ludFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Npc3Nv
clJlY3QpLCBvY2NsdXNpb24pOwotICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3Np
bmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpKTsKKyAgICBib29sIGNsYW1wZWQ7IC8vIEZJWE1FOiBwcm9qZWN0UXVh
ZCByZXR1cm5zIGludmFsaWQgcmVzdWx0cyB3aGVuIGEgcG9pbnQgZ2V0cyBjbGFtcGVkLiBUbyBi
ZSBmaXhlZCBpbiBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
ODA2LgorICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHByb2pl
Y3RRdWFkKGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCksIEZsb2F0UXVhZChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpLCBjbGFtcGVkKS5ib3VuZGluZ0JveCgpKTsKKyAgICBpZiAoY2xhbXBl
ZCkKKyAgICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OwogICAgIC8vIFRoZSByZWN0IGJhY2sgaW4g
Y29udGVudCBzcGFjZSBpcyBhIGJvdW5kaW5nIGJveCBhbmQgbWF5IGV4dGVuZCBvdXRzaWRlIG9m
IHRoZSBvcmlnaW5hbCBjb250ZW50UmVjdCwgc28gY2xhbXAgaXQgdG8gdGhlIGNvbnRlbnRSZWN0
Qm91bmRzLgogICAgIHJldHVybiBpbnRlcnNlY3Rpb24odW5vY2NsdWRlZFJlY3QsIGNvbnRlbnRS
ZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2Ns
dXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2Nj
bHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGViYWYwODllOWRlZDNiNDNhMDNlYTZjMDIyNjFm
Mjc0NDQ3ZGM0ZDYuLmJkNDY5MzlkY2E3ODE1ODhhMDhiM2ZmNTJkMjI5MzNjNzI0NWFiOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRy
YWNrZXJUZXN0LmNwcApAQCAtMzA4LDYgKzMwOCwxMCBAQCBwcml2YXRlOgogICAgIH07IFwKICAg
ICBURVNUX0YoQ2xhc3NOYW1lIyNJbXBsVGhyZWFkT3BhcXVlUGFpbnRzLCBydW5UZXN0KSB7IHJ1
bk15VGVzdCgpOyB9CiAKKyNkZWZpbmUgQUxMX0NDT0NDTFVTSU9OVFJBQ0tFUl9NQUlOX1RIUkVB
RF9URVNUKENsYXNzTmFtZSkgXAorICAgIFJVTl9URVNUX01BSU5fVEhSRUFEX09QQVFVRV9MQVlF
UlMoQ2xhc3NOYW1lKSBcCisgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX1BBSU5UUyhD
bGFzc05hbWUpCisKICNkZWZpbmUgQUxMX0NDT0NDTFVTSU9OVFJBQ0tFUl9URVNUKENsYXNzTmFt
ZSkgXAogICAgIFJVTl9URVNUX01BSU5fVEhSRUFEX09QQVFVRV9MQVlFUlMoQ2xhc3NOYW1lKSBc
CiAgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX1BBSU5UUyhDbGFzc05hbWUpIFwKQEAg
LTE3MTIsNCArMTcxNiw4MSBAQCBwcm90ZWN0ZWQ6CiAKIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RF
U1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHkpOwog
Cit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBDQ09jY2x1
c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVz
dDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3Qo
KQorICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAg
ICB0cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpDb250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50
aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAg
IHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVy
KHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUo
MzAwLCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxh
eWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZs
b2F0UG9pbnQoMTAwLCAxMDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNh
bGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8
dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VU
eXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1
c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwor
CisgICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNp
b24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkp
OworICAgIH0KK307CisKK0FMTF9DQ09DQ0xVU0lPTlRSQUNLRVJfVEVTVChDQ09jY2x1c2lvblRy
YWNrZXJUZXN0M2RUcmFuc2Zvcm0pOworCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFx
dWVMYXllcnM+CitjbGFzcyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zv
cm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7
Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQorICAgIHsKKyAgICAgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKDE1
MCwgMTUwKTsKKyAgICAgICAgdHJhbnNmb3JtLmFwcGx5UGVyc3BlY3RpdmUoNDAwKTsKKyAgICAg
ICAgdHJhbnNmb3JtLnJvdGF0ZTNkKDEsIDAsIDAsIC0zMCk7CisgICAgICAgIHRyYW5zZm9ybS50
cmFuc2xhdGUoLTE1MCwgLTE1MCk7CisKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRM
YXllclR5cGUqIHBhcmVudCA9IHRoaXMtPmNyZWF0ZVJvb3QodGhpcy0+aWRlbnRpdHlNYXRyaXgs
IEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUg
VHlwZXM6OkxheWVyVHlwZSogY29udGFpbmVyID0gdGhpcy0+Y3JlYXRlTGF5ZXIocGFyZW50LCB0
aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgzMDAsIDMwMCkp
OworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlz
LT5jcmVhdGVEcmF3aW5nU3VyZmFjZShjb250YWluZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgx
MDAsIDEwMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKKyAgICAgICAgY29udGFpbmVyLT5z
ZXRQcmVzZXJ2ZXMzRCh0cnVlKTsKKyAgICAgICAgY2FsY0RyYXdFdGMocGFyZW50KTsKKworICAg
ICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBl
LCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAs
IDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3Vy
ZmFjZShwYXJlbnQtPnJlbmRlclN1cmZhY2UoKSk7CisKKyAgICAgICAgRVhQRUNUX0VRX1JFQ1Qo
SW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3Qo
bGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7CisgICAgfQorfTsKKworQUxMX0NDT0ND
TFVTSU9OVFJBQ0tFUl9NQUlOX1RIUkVBRF9URVNUKENDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJz
cGVjdGl2ZVRyYW5zZm9ybSk7CisKK3RlbXBsYXRlPGNsYXNzIFR5cGVzLCBib29sIG9wYXF1ZUxh
eWVycz4KK2NsYXNzIENDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJl
aGluZENhbWVyYSA6IHB1YmxpYyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0PFR5cGVzLCBvcGFxdWVM
YXllcnM+IHsKK3Byb3RlY3RlZDoKKyAgICB2b2lkIHJ1bk15VGVzdCgpCisgICAgeworICAgICAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAgIHRyYW5zZm9ybS50cmFu
c2xhdGUoMjUwLCA1MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDEwKTsK
KyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtMjUwLCAtNTApOworICAgICAgICB0cmFuc2Zv
cm0udHJhbnNsYXRlKDI1MCwgNTApOworICAgICAgICB0cmFuc2Zvcm0ucm90YXRlM2QoMSwgMCwg
MCwgLTE2Nyk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLTI1MCwgLTUwKTsKKworICAg
ICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogcGFyZW50ID0gdGhpcy0+Y3Jl
YXRlUm9vdCh0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSg1
MDAsIDEwMCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlKiBjb250YWluZXIg
PSB0aGlzLT5jcmVhdGVMYXllcihwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBv
aW50KDAsIDApLCBJbnRTaXplKDUwMCwgNTAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihjb250YWlu
ZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSg1MDAsIDUwMCksIHRydWUp
OworICAgICAgICBjb250YWluZXItPnNldFByZXNlcnZlczNEKHRydWUpOworICAgICAgICBjYWxj
RHJhd0V0YyhwYXJlbnQpOworCisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlw
ZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBvY2NsdXNp
b24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKKwor
ICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChsYXll
ciwgSW50UmVjdCgwLCAwLCA1MDAsIDUwMCkpLmlzRW1wdHkoKSk7CisgICAgICAgIEVYUEVDVF9U
UlVFKG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwg
NTAwLCA1MDApKS5jb250YWlucyhJbnRSZWN0KDAsIDQ4OSwgNTAwLCAxMSkpKTsKKyAgICB9Cit9
OworCitBTExfQ0NPQ0NMVVNJT05UUkFDS0VSX01BSU5fVEhSRUFEX1RFU1QoQ0NPY2NsdXNpb25U
cmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhKTsKKwogfSAvLyBuYW1l
c3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131468</attachid>
            <date>2012-03-12 17:30:28 -0700</date>
            <delta_ts>2012-03-12 17:43:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312203027.patch</filename>
            <type>text/plain</type>
            <size>9034</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uZDViNWYzYTgzMmM1Mzc0NzYwYWQwNDkyYmYwNDU3
ZmEyZDU0ZjkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJh
Y2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnByb2plY3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29tcHV0ZVVub2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNj
b3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jz
b2xldGUgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZi
OWRkZmJmMTI4YTYwZDY0MTQ2ZGFmNTc5YTUuLmIwNjU1NjBmZmUwODAwMTQ0MmU1YjgyNzBkMGI5
MmY1NmM5OTliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMDMtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBVc2UgcHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEND
T2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3Qp
OgorICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVo
aW5kQ2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJz
cGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYTo6cnVuTXlUZXN0KToKKwogMjAxMi0wMy0xMiAg
TmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBGb3Jj
ZSBjb21wb3NpdGVBbmRSZWFkYmFjayB0aHJvdWdoIHJlZ3VsYXIgc2NoZWR1bGluZyBmbG93CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q09jY2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCA5ZTQ5NzcyMWRmODQ1MmI2
YjhkOTViNjVkOWFlNTQ2MzIwZDBmNDIzLi5iMmRmY2I1YjY4MGNjNTcwNDhkNTdhOWYxMjMwMTBi
MTBjNDQ2YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTI3
MCwxMiArMjcwLDM0IEBAIHN0YXRpYyBpbmxpbmUgSW50UmVjdCByZWN0U3VidHJhY3RSZWdpb24o
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVnaW9uJiByZWdpCiAgICAgcmV0dXJuIGJvdW5k
c1JlY3Q7CiB9CiAKK3N0YXRpYyBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSwgY29uc3QgRmxvYXRRdWFkJiBxLCBib29sJiBjbGFtcGVk
KQoreworICAgIEZsb2F0UXVhZCBwcm9qZWN0ZWRRdWFkOworICAgIGJvb2wgY2xhbXBlZFBvaW50
OworICAgIHByb2plY3RlZFF1YWQuc2V0UDEodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAxKCks
ICZjbGFtcGVkUG9pbnQpKTsKKyAgICBjbGFtcGVkID0gY2xhbXBlZFBvaW50OworICAgIHByb2pl
Y3RlZFF1YWQuc2V0UDIodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAyKCksICZjbGFtcGVkUG9p
bnQpKTsKKyAgICBjbGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNl
dFAzKHRyYW5zZm9ybS5wcm9qZWN0UG9pbnQocS5wMygpLCAmY2xhbXBlZFBvaW50KSk7CisgICAg
Y2xhbXBlZCB8PSBjbGFtcGVkUG9pbnQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQNCh0cmFuc2Zv
cm0ucHJvamVjdFBvaW50KHEucDQoKSwgJmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgfD0g
Y2xhbXBlZFBvaW50OworCisgICAgcmV0dXJuIHByb2plY3RlZFF1YWQ7Cit9CisKIHN0YXRpYyBp
bmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3Qm
IGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNlVHJh
bnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2NsdXNp
b24pCiB7CisgICAgaWYgKCFjb250ZW50U3BhY2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisg
ICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKKwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1lZFJl
Y3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0ubWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJlY3Qp
KTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3NpbmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMgd2Ug
d2FudCB0byBjb250YWluIGFueSB1bm9jY2x1ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSByZXN1
bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RSZWdp
b24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0ludFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Npc3Nv
clJlY3QpLCBvY2NsdXNpb24pOwotICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3Np
bmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpKTsKKyAgICBib29sIGNsYW1wZWQ7IC8vIEZJWE1FOiBwcm9qZWN0UXVh
ZCByZXR1cm5zIGludmFsaWQgcmVzdWx0cyB3aGVuIGEgcG9pbnQgZ2V0cyBjbGFtcGVkLiBUbyBi
ZSBmaXhlZCBpbiBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
ODA2LgorICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHByb2pl
Y3RRdWFkKGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCksIEZsb2F0UXVhZChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpLCBjbGFtcGVkKS5ib3VuZGluZ0JveCgpKTsKKyAgICBpZiAoY2xhbXBl
ZCkKKyAgICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OwogICAgIC8vIFRoZSByZWN0IGJhY2sgaW4g
Y29udGVudCBzcGFjZSBpcyBhIGJvdW5kaW5nIGJveCBhbmQgbWF5IGV4dGVuZCBvdXRzaWRlIG9m
IHRoZSBvcmlnaW5hbCBjb250ZW50UmVjdCwgc28gY2xhbXAgaXQgdG8gdGhlIGNvbnRlbnRSZWN0
Qm91bmRzLgogICAgIHJldHVybiBpbnRlcnNlY3Rpb24odW5vY2NsdWRlZFJlY3QsIGNvbnRlbnRS
ZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2Ns
dXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2Nj
bHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGViYWYwODllOWRlZDNiNDNhMDNlYTZjMDIyNjFm
Mjc0NDQ3ZGM0ZDYuLmE2MzdiMmViMDE5MWJhODEwMjkyYmNlNmNlYjRjMWVjMDZjODYwYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRy
YWNrZXJUZXN0LmNwcApAQCAtMzE0LDYgKzMxNCw5IEBAIHByaXZhdGU6CiAgICAgUlVOX1RFU1Rf
SU1QTF9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwKICAgICBSVU5fVEVTVF9JTVBM
X1RIUkVBRF9PUEFRVUVfUEFJTlRTKENsYXNzTmFtZSkKIAorI2RlZmluZSBNQUlOX1RIUkVBRF9U
RVNUKENsYXNzTmFtZSkgXAorICAgIFJVTl9URVNUX01BSU5fVEhSRUFEX09QQVFVRV9MQVlFUlMo
Q2xhc3NOYW1lKQorCiAjZGVmaW5lIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ2xhc3NOYW1l
KSBcCiAgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwK
ICAgICBSVU5fVEVTVF9JTVBMX1RIUkVBRF9PUEFRVUVfTEFZRVJTKENsYXNzTmFtZSkKQEAgLTE3
MTIsNCArMTcxNSw4MCBAQCBwcm90ZWN0ZWQ6CiAKIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1Qo
Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHkpOwogCit0
ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBDQ09jY2x1c2lv
blRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxU
eXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQor
ICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAgICB0
cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5
TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBh
cmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAw
LCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVy
ID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0
UG9pbnQoMTAwLCAxMDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNE
cmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOwor
ICAgIH0KK307CisKK01BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdDNkVHJhbnNmb3JtKTsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5
ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtIDog
cHVibGljIENDT2NjbHVzaW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJv
dGVjdGVkOgorICAgIHZvaWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHRyYW5zZm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgxNTAsIDE1
MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDQwMCk7CisgICAgICAgIHRy
YW5zZm9ybS5yb3RhdGUzZCgxLCAwLCAwLCAtMzApOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNs
YXRlKC0xNTAsIC0xNTApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJU
eXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9h
dFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBhcmVudCwgdGhpcy0+
aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAg
ICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3Jl
YXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0UG9pbnQoMTAwLCAx
MDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNvbnRhaW5lci0+c2V0UHJl
c2VydmVzM0QodHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAg
VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
cGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVy
LCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOworICAgIH0KK307CisKK01BSU5fVEhSRUFEX1RF
U1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtKTsKKwordGVtcGxh
dGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhIDogcHVibGljIENDT2NjbHVz
aW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJvdGVjdGVkOgorICAgIHZv
aWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5z
Zm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgyNTAsIDUwKTsKKyAgICAgICAgdHJh
bnNmb3JtLmFwcGx5UGVyc3BlY3RpdmUoMTApOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRl
KC0yNTAsIC01MCk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoMjUwLCA1MCk7CisgICAg
ICAgIHRyYW5zZm9ybS5yb3RhdGUzZCgxLCAwLCAwLCAtMTY3KTsKKyAgICAgICAgdHJhbnNmb3Jt
LnRyYW5zbGF0ZSgtMjUwLCAtNTApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50
TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4
LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDUwMCwgMTAwKSk7CisgICAgICAgIHR5cGVuYW1l
IFR5cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBhcmVudCwg
dGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoNTAwLCA1MDAp
KTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhp
cy0+Y3JlYXRlRHJhd2luZ0xheWVyKGNvbnRhaW5lciwgdHJhbnNmb3JtLCBGbG9hdFBvaW50KDAs
IDApLCBJbnRTaXplKDUwMCwgNTAwKSwgdHJ1ZSk7CisgICAgICAgIGNvbnRhaW5lci0+c2V0UHJl
c2VydmVzM0QodHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAg
VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
cGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVYUEVDVF9UUlVFKG9jY2x1c2lv
bi51bm9jY2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgNTAwLCA1MDApKS5j
b250YWlucyhJbnRSZWN0KDAsIDQ4OSwgNTAwLCAxMSkpKTsKKyAgICB9Cit9OworCitNQUlOX1RI
UkVBRF9URVNUKENDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJlaGlu
ZENhbWVyYSk7CisKIH0gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131471</attachid>
            <date>2012-03-12 17:44:04 -0700</date>
            <delta_ts>2012-03-12 17:46:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312204403.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uZDViNWYzYTgzMmM1Mzc0NzYwYWQwNDkyYmYwNDU3
ZmEyZDU0ZjkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJh
Y2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnByb2plY3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29tcHV0ZVVub2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNj
b3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jz
b2xldGUgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZi
OWRkZmJmMTI4YTYwZDY0MTQ2ZGFmNTc5YTUuLmIwNjU1NjBmZmUwODAwMTQ0MmU1YjgyNzBkMGI5
MmY1NmM5OTliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMDMtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBVc2UgcHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEND
T2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3Qp
OgorICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVo
aW5kQ2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJz
cGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYTo6cnVuTXlUZXN0KToKKwogMjAxMi0wMy0xMiAg
TmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBGb3Jj
ZSBjb21wb3NpdGVBbmRSZWFkYmFjayB0aHJvdWdoIHJlZ3VsYXIgc2NoZWR1bGluZyBmbG93CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q09jY2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCA5ZTQ5NzcyMWRmODQ1MmI2
YjhkOTViNjVkOWFlNTQ2MzIwZDBmNDIzLi5iMmRmY2I1YjY4MGNjNTcwNDhkNTdhOWYxMjMwMTBi
MTBjNDQ2YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTI3
MCwxMiArMjcwLDM0IEBAIHN0YXRpYyBpbmxpbmUgSW50UmVjdCByZWN0U3VidHJhY3RSZWdpb24o
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVnaW9uJiByZWdpCiAgICAgcmV0dXJuIGJvdW5k
c1JlY3Q7CiB9CiAKK3N0YXRpYyBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSwgY29uc3QgRmxvYXRRdWFkJiBxLCBib29sJiBjbGFtcGVk
KQoreworICAgIEZsb2F0UXVhZCBwcm9qZWN0ZWRRdWFkOworICAgIGJvb2wgY2xhbXBlZFBvaW50
OworICAgIHByb2plY3RlZFF1YWQuc2V0UDEodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAxKCks
ICZjbGFtcGVkUG9pbnQpKTsKKyAgICBjbGFtcGVkID0gY2xhbXBlZFBvaW50OworICAgIHByb2pl
Y3RlZFF1YWQuc2V0UDIodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAyKCksICZjbGFtcGVkUG9p
bnQpKTsKKyAgICBjbGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNl
dFAzKHRyYW5zZm9ybS5wcm9qZWN0UG9pbnQocS5wMygpLCAmY2xhbXBlZFBvaW50KSk7CisgICAg
Y2xhbXBlZCB8PSBjbGFtcGVkUG9pbnQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQNCh0cmFuc2Zv
cm0ucHJvamVjdFBvaW50KHEucDQoKSwgJmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgfD0g
Y2xhbXBlZFBvaW50OworCisgICAgcmV0dXJuIHByb2plY3RlZFF1YWQ7Cit9CisKIHN0YXRpYyBp
bmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3Qm
IGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNlVHJh
bnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2NsdXNp
b24pCiB7CisgICAgaWYgKCFjb250ZW50U3BhY2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisg
ICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKKwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1lZFJl
Y3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0ubWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJlY3Qp
KTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3NpbmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMgd2Ug
d2FudCB0byBjb250YWluIGFueSB1bm9jY2x1ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSByZXN1
bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RSZWdp
b24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0ludFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Npc3Nv
clJlY3QpLCBvY2NsdXNpb24pOwotICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3Np
bmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpKTsKKyAgICBib29sIGNsYW1wZWQ7IC8vIEZJWE1FOiBwcm9qZWN0UXVh
ZCByZXR1cm5zIGludmFsaWQgcmVzdWx0cyB3aGVuIGEgcG9pbnQgZ2V0cyBjbGFtcGVkLiBUbyBi
ZSBmaXhlZCBpbiBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
ODA2LgorICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHByb2pl
Y3RRdWFkKGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCksIEZsb2F0UXVhZChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpLCBjbGFtcGVkKS5ib3VuZGluZ0JveCgpKTsKKyAgICBpZiAoY2xhbXBl
ZCkKKyAgICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OwogICAgIC8vIFRoZSByZWN0IGJhY2sgaW4g
Y29udGVudCBzcGFjZSBpcyBhIGJvdW5kaW5nIGJveCBhbmQgbWF5IGV4dGVuZCBvdXRzaWRlIG9m
IHRoZSBvcmlnaW5hbCBjb250ZW50UmVjdCwgc28gY2xhbXAgaXQgdG8gdGhlIGNvbnRlbnRSZWN0
Qm91bmRzLgogICAgIHJldHVybiBpbnRlcnNlY3Rpb24odW5vY2NsdWRlZFJlY3QsIGNvbnRlbnRS
ZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2Ns
dXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2Nj
bHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGViYWYwODllOWRlZDNiNDNhMDNlYTZjMDIyNjFm
Mjc0NDQ3ZGM0ZDYuLmFiNjg5YTM5MmE5MTEwNmJkMjQzMmQ0YWIwZjZhNWUyYjg1MzY1ZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRy
YWNrZXJUZXN0LmNwcApAQCAtMzE0LDYgKzMxNCw5IEBAIHByaXZhdGU6CiAgICAgUlVOX1RFU1Rf
SU1QTF9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwKICAgICBSVU5fVEVTVF9JTVBM
X1RIUkVBRF9PUEFRVUVfUEFJTlRTKENsYXNzTmFtZSkKIAorI2RlZmluZSBNQUlOX1RIUkVBRF9U
RVNUKENsYXNzTmFtZSkgXAorICAgIFJVTl9URVNUX01BSU5fVEhSRUFEX09QQVFVRV9MQVlFUlMo
Q2xhc3NOYW1lKQorCiAjZGVmaW5lIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ2xhc3NOYW1l
KSBcCiAgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwK
ICAgICBSVU5fVEVTVF9JTVBMX1RIUkVBRF9PUEFRVUVfTEFZRVJTKENsYXNzTmFtZSkKQEAgLTE3
MTIsNCArMTcxNSw4MyBAQCBwcm90ZWN0ZWQ6CiAKIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1Qo
Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHkpOwogCit0
ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBDQ09jY2x1c2lv
blRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxU
eXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQor
ICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAgICB0
cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5
TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBh
cmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAw
LCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVy
ID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0
UG9pbnQoMTAwLCAxMDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNE
cmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOwor
ICAgIH0KK307CisKK01BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdDNkVHJhbnNmb3JtKTsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5
ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtIDog
cHVibGljIENDT2NjbHVzaW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJv
dGVjdGVkOgorICAgIHZvaWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHRyYW5zZm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgxNTAsIDE1
MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDQwMCk7CisgICAgICAgIHRy
YW5zZm9ybS5yb3RhdGUzZCgxLCAwLCAwLCAtMzApOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNs
YXRlKC0xNTAsIC0xNTApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJU
eXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9h
dFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBhcmVudCwgdGhpcy0+
aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAg
ICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3Jl
YXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0UG9pbnQoMTAwLCAx
MDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNvbnRhaW5lci0+c2V0UHJl
c2VydmVzM0QodHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAg
VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
cGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVy
LCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOworICAgIH0KK307CisKK01BSU5fVEhSRUFEX1RF
U1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtKTsKKwordGVtcGxh
dGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhIDogcHVibGljIENDT2NjbHVz
aW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJvdGVjdGVkOgorICAgIHZv
aWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgdGVzdCBpcyBiYXNlZCBvbiB0
aGUgcGxhdGZvcm0vY2hyb21pdW0vM2QtY29ybmVycy5odG1sIGxheW91dCB0ZXN0LgorICAgICAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAgIHRyYW5zZm9ybS50cmFu
c2xhdGUoMjUwLCA1MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDEwKTsK
KyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtMjUwLCAtNTApOworICAgICAgICB0cmFuc2Zv
cm0udHJhbnNsYXRlKDI1MCwgNTApOworICAgICAgICB0cmFuc2Zvcm0ucm90YXRlM2QoMSwgMCwg
MCwgLTE2Nyk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLTI1MCwgLTUwKTsKKworICAg
ICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogcGFyZW50ID0gdGhpcy0+Y3Jl
YXRlUm9vdCh0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSg1
MDAsIDEwMCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlKiBjb250YWluZXIg
PSB0aGlzLT5jcmVhdGVMYXllcihwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBv
aW50KDAsIDApLCBJbnRTaXplKDUwMCwgNTAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihjb250YWlu
ZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSg1MDAsIDUwMCksIHRydWUp
OworICAgICAgICBjb250YWluZXItPnNldFByZXNlcnZlczNEKHRydWUpOworICAgICAgICBjYWxj
RHJhd0V0YyhwYXJlbnQpOworCisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlw
ZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBvY2NsdXNp
b24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKKwor
ICAgICAgICAvLyBUaGUgYm90dG9tIDExIHBpeGVsIHJvd3Mgb2YgdGhpcyBsYXllciByZW1haW4g
dmlzaWJsZSBpbnNpZGUgdGhlIGNvbnRhaW5lciwgYWZ0ZXIgdHJhbnNsYXRpb24gdG8gdGhlIHRh
cmdldCBzdXJmYWNlLiBXaGVuIHRyYW5zbGF0ZWQgYmFjaywKKyAgICAgICAgLy8gdGhpcyB3aWxs
IGluY2x1ZGUgbWFueSBtb3JlIHBpeGVscyBidXQgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IHRoZSBi
b3R0b20gMTEgcm93cy4KKyAgICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9uLnVub2NjbHVkZWRD
b250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCA1MDAsIDUwMCkpLmNvbnRhaW5zKEludFJl
Y3QoMCwgNDg5LCA1MDAsIDExKSkpOworICAgIH0KK307CisKK01BSU5fVEhSRUFEX1RFU1QoQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhKTsKKwog
fSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131473</attachid>
            <date>2012-03-12 17:46:36 -0700</date>
            <delta_ts>2012-03-13 08:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120312204635.patch</filename>
            <type>text/plain</type>
            <size>9375</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uZDViNWYzYTgzMmM1Mzc0NzYwYWQwNDkyYmYwNDU3
ZmEyZDU0ZjkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3Q6IENDT2NjbHVzaW9uVHJhY2tl
clRlc3QzZFRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJhY2tlclRl
c3RQZXJzcGVjdGl2ZVRyYW5zZm9ybQorICAgICAgICAgICAgICAgICAgIENDT2NjbHVzaW9uVHJh
Y2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnByb2plY3RRdWFkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Y29tcHV0ZVVub2NjbHVkZWRDb250ZW50UmVjdCk6CisKIDIwMTItMDMtMTIgIFNj
b3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFudXAgb2Jz
b2xldGUgZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIwNGZjMTE5ZmM5ZGZi
OWRkZmJmMTI4YTYwZDY0MTQ2ZGFmNTc5YTUuLmIwNjU1NjBmZmUwODAwMTQ0MmU1YjgyNzBkMGI5
MmY1NmM5OTliMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMDMtMDkgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBVc2UgcHJvamVjdFF1YWQgdG8gYXBwbHkgaW52ZXJzZSBtYXBSZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDc0MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMvQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEND
T2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0M2RUcmFuc2Zvcm06OnJ1bk15VGVzdCk6CisgICAgICAgIChDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtOjpydW5NeVRlc3Qp
OgorICAgICAgICAoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVo
aW5kQ2FtZXJhKToKKyAgICAgICAgKFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQZXJz
cGVjdGl2ZVRyYW5zZm9ybUJlaGluZENhbWVyYTo6cnVuTXlUZXN0KToKKwogMjAxMi0wMy0xMiAg
TmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBGb3Jj
ZSBjb21wb3NpdGVBbmRSZWFkYmFjayB0aHJvdWdoIHJlZ3VsYXIgc2NoZWR1bGluZyBmbG93CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q09jY2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCA5ZTQ5NzcyMWRmODQ1MmI2
YjhkOTViNjVkOWFlNTQ2MzIwZDBmNDIzLi5iMmRmY2I1YjY4MGNjNTcwNDhkNTdhOWYxMjMwMTBi
MTBjNDQ2YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTI3
MCwxMiArMjcwLDM0IEBAIHN0YXRpYyBpbmxpbmUgSW50UmVjdCByZWN0U3VidHJhY3RSZWdpb24o
Y29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVnaW9uJiByZWdpCiAgICAgcmV0dXJuIGJvdW5k
c1JlY3Q7CiB9CiAKK3N0YXRpYyBGbG9hdFF1YWQgcHJvamVjdFF1YWQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIHRyYW5zZm9ybSwgY29uc3QgRmxvYXRRdWFkJiBxLCBib29sJiBjbGFtcGVk
KQoreworICAgIEZsb2F0UXVhZCBwcm9qZWN0ZWRRdWFkOworICAgIGJvb2wgY2xhbXBlZFBvaW50
OworICAgIHByb2plY3RlZFF1YWQuc2V0UDEodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAxKCks
ICZjbGFtcGVkUG9pbnQpKTsKKyAgICBjbGFtcGVkID0gY2xhbXBlZFBvaW50OworICAgIHByb2pl
Y3RlZFF1YWQuc2V0UDIodHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAyKCksICZjbGFtcGVkUG9p
bnQpKTsKKyAgICBjbGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNl
dFAzKHRyYW5zZm9ybS5wcm9qZWN0UG9pbnQocS5wMygpLCAmY2xhbXBlZFBvaW50KSk7CisgICAg
Y2xhbXBlZCB8PSBjbGFtcGVkUG9pbnQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQNCh0cmFuc2Zv
cm0ucHJvamVjdFBvaW50KHEucDQoKSwgJmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgfD0g
Y2xhbXBlZFBvaW50OworCisgICAgcmV0dXJuIHByb2plY3RlZFF1YWQ7Cit9CisKIHN0YXRpYyBp
bmxpbmUgSW50UmVjdCBjb21wdXRlVW5vY2NsdWRlZENvbnRlbnRSZWN0KGNvbnN0IEludFJlY3Qm
IGNvbnRlbnRSZWN0LCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgY29udGVudFNwYWNlVHJh
bnNmb3JtLCBjb25zdCBJbnRSZWN0JiBzY2lzc29yUmVjdCwgY29uc3QgUmVnaW9uJiBvY2NsdXNp
b24pCiB7CisgICAgaWYgKCFjb250ZW50U3BhY2VUcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisg
ICAgICAgIHJldHVybiBjb250ZW50UmVjdDsKKwogICAgIEZsb2F0UmVjdCB0cmFuc2Zvcm1lZFJl
Y3QgPSBjb250ZW50U3BhY2VUcmFuc2Zvcm0ubWFwUmVjdChGbG9hdFJlY3QoY29udGVudFJlY3Qp
KTsKICAgICAvLyBUYWtlIHRoZSBlbmNsb3NpbmdJbnRSZWN0IGF0IGVhY2ggc3RlcCwgYXMgd2Ug
d2FudCB0byBjb250YWluIGFueSB1bm9jY2x1ZGVkIHBhcnRpYWwgcGl4ZWxzIGluIHRoZSByZXN1
bHRpbmcgSW50UmVjdC4KICAgICBJbnRSZWN0IHNocnVua1JlY3QgPSByZWN0U3VidHJhY3RSZWdp
b24oaW50ZXJzZWN0aW9uKGVuY2xvc2luZ0ludFJlY3QodHJhbnNmb3JtZWRSZWN0KSwgc2Npc3Nv
clJlY3QpLCBvY2NsdXNpb24pOwotICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3Np
bmdJbnRSZWN0KGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCkubWFwUmVjdChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpKTsKKyAgICBib29sIGNsYW1wZWQ7IC8vIEZJWE1FOiBwcm9qZWN0UXVh
ZCByZXR1cm5zIGludmFsaWQgcmVzdWx0cyB3aGVuIGEgcG9pbnQgZ2V0cyBjbGFtcGVkLiBUbyBi
ZSBmaXhlZCBpbiBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
ODA2LgorICAgIEludFJlY3QgdW5vY2NsdWRlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHByb2pl
Y3RRdWFkKGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pbnZlcnNlKCksIEZsb2F0UXVhZChGbG9hdFJl
Y3Qoc2hydW5rUmVjdCkpLCBjbGFtcGVkKS5ib3VuZGluZ0JveCgpKTsKKyAgICBpZiAoY2xhbXBl
ZCkKKyAgICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OwogICAgIC8vIFRoZSByZWN0IGJhY2sgaW4g
Y29udGVudCBzcGFjZSBpcyBhIGJvdW5kaW5nIGJveCBhbmQgbWF5IGV4dGVuZCBvdXRzaWRlIG9m
IHRoZSBvcmlnaW5hbCBjb250ZW50UmVjdCwgc28gY2xhbXAgaXQgdG8gdGhlIGNvbnRlbnRSZWN0
Qm91bmRzLgogICAgIHJldHVybiBpbnRlcnNlY3Rpb24odW5vY2NsdWRlZFJlY3QsIGNvbnRlbnRS
ZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2Ns
dXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2Nj
bHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGViYWYwODllOWRlZDNiNDNhMDNlYTZjMDIyNjFm
Mjc0NDQ3ZGM0ZDYuLmU1MWI1NzdiMzAzNWRhNWRkMzNjYmJmMTU0YTEwNTVjMTQ3MTgyYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRy
YWNrZXJUZXN0LmNwcApAQCAtMzE0LDYgKzMxNCw5IEBAIHByaXZhdGU6CiAgICAgUlVOX1RFU1Rf
SU1QTF9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwKICAgICBSVU5fVEVTVF9JTVBM
X1RIUkVBRF9PUEFRVUVfUEFJTlRTKENsYXNzTmFtZSkKIAorI2RlZmluZSBNQUlOX1RIUkVBRF9U
RVNUKENsYXNzTmFtZSkgXAorICAgIFJVTl9URVNUX01BSU5fVEhSRUFEX09QQVFVRV9MQVlFUlMo
Q2xhc3NOYW1lKQorCiAjZGVmaW5lIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ2xhc3NOYW1l
KSBcCiAgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX0xBWUVSUyhDbGFzc05hbWUpIFwK
ICAgICBSVU5fVEVTVF9JTVBMX1RIUkVBRF9PUEFRVUVfTEFZRVJTKENsYXNzTmFtZSkKQEAgLTE3
MTIsNCArMTcxNSw4MyBAQCBwcm90ZWN0ZWQ6CiAKIE1BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1Qo
Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHkpOwogCit0
ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBDQ09jY2x1c2lv
blRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxU
eXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQor
ICAgIHsKKyAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAgICB0
cmFuc2Zvcm0ucm90YXRlM2QoMCwgMzAsIDApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5
TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBh
cmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAw
LCAzMDApKTsKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVy
ID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0
UG9pbnQoMTAwLCAxMDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNhbGNE
cmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisg
ICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24u
dW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOwor
ICAgIH0KK307CisKK01BSU5fQU5EX0lNUExfVEhSRUFEX1RFU1QoQ0NPY2NsdXNpb25UcmFja2Vy
VGVzdDNkVHJhbnNmb3JtKTsKKwordGVtcGxhdGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5
ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtIDog
cHVibGljIENDT2NjbHVzaW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJv
dGVjdGVkOgorICAgIHZvaWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHRyYW5zZm9ybTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgxNTAsIDE1
MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNwZWN0aXZlKDQwMCk7CisgICAgICAgIHRy
YW5zZm9ybS5yb3RhdGUzZCgxLCAwLCAwLCAtMzApOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNs
YXRlKC0xNTAsIC0xNTApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJU
eXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9h
dFBvaW50KDAsIDApLCBJbnRTaXplKDMwMCwgMzAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBhcmVudCwgdGhpcy0+
aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAg
ICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3Jl
YXRlRHJhd2luZ1N1cmZhY2UoY29udGFpbmVyLCB0cmFuc2Zvcm0sIEZsb2F0UG9pbnQoMTAwLCAx
MDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CisgICAgICAgIGNvbnRhaW5lci0+c2V0UHJl
c2VydmVzM0QodHJ1ZSk7CisgICAgICAgIGNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAgICAg
VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
cGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIEVYUEVDVF9FUV9SRUNUKEludFJl
Y3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVy
LCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOworICAgIH0KK307CisKK01BSU5fVEhSRUFEX1RF
U1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtKTsKKwordGVtcGxh
dGU8Y2xhc3MgVHlwZXMsIGJvb2wgb3BhcXVlTGF5ZXJzPgorY2xhc3MgQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhIDogcHVibGljIENDT2NjbHVz
aW9uVHJhY2tlclRlc3Q8VHlwZXMsIG9wYXF1ZUxheWVycz4geworcHJvdGVjdGVkOgorICAgIHZv
aWQgcnVuTXlUZXN0KCkKKyAgICB7CisgICAgICAgIC8vIFRoaXMgdGVzdCBpcyBiYXNlZCBvbiB0
aGUgcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvM2QtY29ybmVycy5odG1sIGxheW91dCB0
ZXN0LgorICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAgIHRy
YW5zZm9ybS50cmFuc2xhdGUoMjUwLCA1MCk7CisgICAgICAgIHRyYW5zZm9ybS5hcHBseVBlcnNw
ZWN0aXZlKDEwKTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgtMjUwLCAtNTApOworICAg
ICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKDI1MCwgNTApOworICAgICAgICB0cmFuc2Zvcm0ucm90
YXRlM2QoMSwgMCwgMCwgLTE2Nyk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoLTI1MCwg
LTUwKTsKKworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogcGFyZW50
ID0gdGhpcy0+Y3JlYXRlUm9vdCh0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAw
KSwgSW50U2l6ZSg1MDAsIDEwMCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBl
KiBjb250YWluZXIgPSB0aGlzLT5jcmVhdGVMYXllcihwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0
cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDUwMCwgNTAwKSk7CisgICAgICAgIHR5cGVu
YW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdM
YXllcihjb250YWluZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSg1MDAs
IDUwMCksIHRydWUpOworICAgICAgICBjb250YWluZXItPnNldFByZXNlcnZlczNEKHRydWUpOwor
ICAgICAgICBjYWxjRHJhd0V0YyhwYXJlbnQpOworCisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRy
YWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5k
ZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAg
ICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3Vy
ZmFjZSgpKTsKKworICAgICAgICAvLyBUaGUgYm90dG9tIDExIHBpeGVsIHJvd3Mgb2YgdGhpcyBs
YXllciByZW1haW4gdmlzaWJsZSBpbnNpZGUgdGhlIGNvbnRhaW5lciwgYWZ0ZXIgdHJhbnNsYXRp
b24gdG8gdGhlIHRhcmdldCBzdXJmYWNlLiBXaGVuIHRyYW5zbGF0ZWQgYmFjaywKKyAgICAgICAg
Ly8gdGhpcyB3aWxsIGluY2x1ZGUgbWFueSBtb3JlIHBpeGVscyBidXQgbXVzdCBpbmNsdWRlIGF0
IGxlYXN0IHRoZSBib3R0b20gMTEgcm93cy4KKyAgICAgICAgRVhQRUNUX1RSVUUob2NjbHVzaW9u
LnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCA1MDAsIDUwMCkpLmNv
bnRhaW5zKEludFJlY3QoMCwgNDg5LCA1MDAsIDExKSkpOworICAgIH0KK307CisKK01BSU5fVEhS
RUFEX1RFU1QoQ0NPY2NsdXNpb25UcmFja2VyVGVzdFBlcnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5k
Q2FtZXJhKTsKKwogfSAvLyBuYW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131612</attachid>
            <date>2012-03-13 08:00:56 -0700</date>
            <delta_ts>2012-03-13 08:44:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80741-20120313110055.patch</filename>
            <type>text/plain</type>
            <size>9395</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc3ZDhlMTkxZGY0ODEx
NGZjZDdiY2I1NTZjZTA1ZTY2YjQ2YzNkMC4uNjQ2OWIzNGMxODg1NDlmNWFmNzc0ZGZmNjhhYTRl
NjYzNGEwODI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTA5ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gVXNl
IHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBBZHJpZW5uZSBXYWxrZXIuCisKKyAgICAgICAgVW5pdCB0ZXN0OiBDQ09jY2x1c2lvblRyYWNr
ZXJUZXN0M2RUcmFuc2Zvcm0KKyAgICAgICAgICAgICAgICAgICBDQ09jY2x1c2lvblRyYWNrZXJU
ZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm0KKyAgICAgICAgICAgICAgICAgICBDQ09jY2x1c2lvblRy
YWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm1CZWhpbmRDYW1lcmEKKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwcm9qZWN0UXVhZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmNvbXB1dGVVbm9jY2x1ZGVkQ29udGVudFJlY3QpOgorCiAyMDEyLTAzLTEyICBT
Y290dCBCeWVyICA8c2NvdHRieWVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDbGVhbnVwIG9i
c29sZXRlIGZpbGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyMDRmYzExOWZjOWRm
YjlkZGZiZjEyOGE2MGQ2NDE0NmRhZjU3OWE1Li4zMjViMjZkMGQ2NGQ2YTJhMDYwYjFiMjBjMmQw
NGVlNDExNzNlNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDEyLTAzLTA5ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtjaHJvbWl1bV0gVXNlIHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA3NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBZHJpZW5uZSBXYWxrZXIuCisKKyAgICAgICAgKiB0ZXN0cy9D
Q09jY2x1c2lvblRyYWNrZXJUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
Q0NPY2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkND
T2NjbHVzaW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKyAgICAgICAgKEND
T2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybSk6CisgICAgICAgIChXZWJD
b3JlOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm06OnJ1bk15VGVz
dCk6CisgICAgICAgIChDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm1C
ZWhpbmRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFBl
cnNwZWN0aXZlVHJhbnNmb3JtQmVoaW5kQ2FtZXJhOjpydW5NeVRlc3QpOgorCiAyMDEyLTAzLTEy
ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEZv
cmNlIGNvbXBvc2l0ZUFuZFJlYWRiYWNrIHRocm91Z2ggcmVndWxhciBzY2hlZHVsaW5nIGZsb3cK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDT2NjbHVzaW9uVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCmluZGV4IDllNDk3NzIxZGY4NDUy
YjZiOGQ5NWI2NWQ5YWU1NDYzMjBkMGY0MjMuLmIyZGZjYjViNjgwY2M1NzA0OGQ1N2E5ZjEyMzAx
MGIxMGM0NDZjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcApAQCAt
MjcwLDEyICsyNzAsMzQgQEAgc3RhdGljIGlubGluZSBJbnRSZWN0IHJlY3RTdWJ0cmFjdFJlZ2lv
bihjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBSZWdpb24mIHJlZ2kKICAgICByZXR1cm4gYm91
bmRzUmVjdDsKIH0KIAorc3RhdGljIEZsb2F0UXVhZCBwcm9qZWN0UXVhZChjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtLCBjb25zdCBGbG9hdFF1YWQmIHEsIGJvb2wmIGNsYW1w
ZWQpCit7CisgICAgRmxvYXRRdWFkIHByb2plY3RlZFF1YWQ7CisgICAgYm9vbCBjbGFtcGVkUG9p
bnQ7CisgICAgcHJvamVjdGVkUXVhZC5zZXRQMSh0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEucDEo
KSwgJmNsYW1wZWRQb2ludCkpOworICAgIGNsYW1wZWQgPSBjbGFtcGVkUG9pbnQ7CisgICAgcHJv
amVjdGVkUXVhZC5zZXRQMih0cmFuc2Zvcm0ucHJvamVjdFBvaW50KHEucDIoKSwgJmNsYW1wZWRQ
b2ludCkpOworICAgIGNsYW1wZWQgfD0gY2xhbXBlZFBvaW50OworICAgIHByb2plY3RlZFF1YWQu
c2V0UDModHJhbnNmb3JtLnByb2plY3RQb2ludChxLnAzKCksICZjbGFtcGVkUG9pbnQpKTsKKyAg
ICBjbGFtcGVkIHw9IGNsYW1wZWRQb2ludDsKKyAgICBwcm9qZWN0ZWRRdWFkLnNldFA0KHRyYW5z
Zm9ybS5wcm9qZWN0UG9pbnQocS5wNCgpLCAmY2xhbXBlZFBvaW50KSk7CisgICAgY2xhbXBlZCB8
PSBjbGFtcGVkUG9pbnQ7CisKKyAgICByZXR1cm4gcHJvamVjdGVkUXVhZDsKK30KKwogc3RhdGlj
IGlubGluZSBJbnRSZWN0IGNvbXB1dGVVbm9jY2x1ZGVkQ29udGVudFJlY3QoY29uc3QgSW50UmVj
dCYgY29udGVudFJlY3QsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBjb250ZW50U3BhY2VU
cmFuc2Zvcm0sIGNvbnN0IEludFJlY3QmIHNjaXNzb3JSZWN0LCBjb25zdCBSZWdpb24mIG9jY2x1
c2lvbikKIHsKKyAgICBpZiAoIWNvbnRlbnRTcGFjZVRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkK
KyAgICAgICAgcmV0dXJuIGNvbnRlbnRSZWN0OworCiAgICAgRmxvYXRSZWN0IHRyYW5zZm9ybWVk
UmVjdCA9IGNvbnRlbnRTcGFjZVRyYW5zZm9ybS5tYXBSZWN0KEZsb2F0UmVjdChjb250ZW50UmVj
dCkpOwogICAgIC8vIFRha2UgdGhlIGVuY2xvc2luZ0ludFJlY3QgYXQgZWFjaCBzdGVwLCBhcyB3
ZSB3YW50IHRvIGNvbnRhaW4gYW55IHVub2NjbHVkZWQgcGFydGlhbCBwaXhlbHMgaW4gdGhlIHJl
c3VsdGluZyBJbnRSZWN0LgogICAgIEludFJlY3Qgc2hydW5rUmVjdCA9IHJlY3RTdWJ0cmFjdFJl
Z2lvbihpbnRlcnNlY3Rpb24oZW5jbG9zaW5nSW50UmVjdCh0cmFuc2Zvcm1lZFJlY3QpLCBzY2lz
c29yUmVjdCksIG9jY2x1c2lvbik7Ci0gICAgSW50UmVjdCB1bm9jY2x1ZGVkUmVjdCA9IGVuY2xv
c2luZ0ludFJlY3QoY29udGVudFNwYWNlVHJhbnNmb3JtLmludmVyc2UoKS5tYXBSZWN0KEZsb2F0
UmVjdChzaHJ1bmtSZWN0KSkpOworICAgIGJvb2wgY2xhbXBlZDsgLy8gRklYTUU6IHByb2plY3RR
dWFkIHJldHVybnMgaW52YWxpZCByZXN1bHRzIHdoZW4gYSBwb2ludCBnZXRzIGNsYW1wZWQuIFRv
IGJlIGZpeGVkIGluIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODA4MDYuCisgICAgSW50UmVjdCB1bm9jY2x1ZGVkUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJv
amVjdFF1YWQoY29udGVudFNwYWNlVHJhbnNmb3JtLmludmVyc2UoKSwgRmxvYXRRdWFkKEZsb2F0
UmVjdChzaHJ1bmtSZWN0KSksIGNsYW1wZWQpLmJvdW5kaW5nQm94KCkpOworICAgIGlmIChjbGFt
cGVkKQorICAgICAgICByZXR1cm4gY29udGVudFJlY3Q7CiAgICAgLy8gVGhlIHJlY3QgYmFjayBp
biBjb250ZW50IHNwYWNlIGlzIGEgYm91bmRpbmcgYm94IGFuZCBtYXkgZXh0ZW5kIG91dHNpZGUg
b2YgdGhlIG9yaWdpbmFsIGNvbnRlbnRSZWN0LCBzbyBjbGFtcCBpdCB0byB0aGUgY29udGVudFJl
Y3RCb3VuZHMuCiAgICAgcmV0dXJuIGludGVyc2VjdGlvbih1bm9jY2x1ZGVkUmVjdCwgY29udGVu
dFJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09j
Y2x1c2lvblRyYWNrZXJUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NP
Y2NsdXNpb25UcmFja2VyVGVzdC5jcHAKaW5kZXggZWJhZjA4OWU5ZGVkM2I0M2EwM2VhNmMwMjI2
MWYyNzQ0NDdkYzRkNi4uZmEyOWVjOGRiZTFkZWY5YTU1NTZhMDA4NmE4MTFiY2U0MTRjMzJlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNr
ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9u
VHJhY2tlclRlc3QuY3BwCkBAIC0zMTQsNiArMzE0LDkgQEAgcHJpdmF0ZToKICAgICBSVU5fVEVT
VF9JTVBMX1RIUkVBRF9PUEFRVUVfTEFZRVJTKENsYXNzTmFtZSkgXAogICAgIFJVTl9URVNUX0lN
UExfVEhSRUFEX09QQVFVRV9QQUlOVFMoQ2xhc3NOYW1lKQogCisjZGVmaW5lIE1BSU5fVEhSRUFE
X1RFU1QoQ2xhc3NOYW1lKSBcCisgICAgUlVOX1RFU1RfTUFJTl9USFJFQURfT1BBUVVFX0xBWUVS
UyhDbGFzc05hbWUpCisKICNkZWZpbmUgTUFJTl9BTkRfSU1QTF9USFJFQURfVEVTVChDbGFzc05h
bWUpIFwKICAgICBSVU5fVEVTVF9NQUlOX1RIUkVBRF9PUEFRVUVfTEFZRVJTKENsYXNzTmFtZSkg
XAogICAgIFJVTl9URVNUX0lNUExfVEhSRUFEX09QQVFVRV9MQVlFUlMoQ2xhc3NOYW1lKQpAQCAt
MTcxMiw0ICsxNzE1LDgzIEBAIHByb3RlY3RlZDoKIAogTUFJTl9BTkRfSU1QTF9USFJFQURfVEVT
VChDQ09jY2x1c2lvblRyYWNrZXJUZXN0T3BhcXVlQ29udGVudHNSZWdpb25Ob25FbXB0eSk7CiAK
K3RlbXBsYXRlPGNsYXNzIFR5cGVzLCBib29sIG9wYXF1ZUxheWVycz4KK2NsYXNzIENDT2NjbHVz
aW9uVHJhY2tlclRlc3QzZFRyYW5zZm9ybSA6IHB1YmxpYyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0
PFR5cGVzLCBvcGFxdWVMYXllcnM+IHsKK3Byb3RlY3RlZDoKKyAgICB2b2lkIHJ1bk15VGVzdCgp
CisgICAgeworICAgICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0cmFuc2Zvcm07CisgICAgICAg
IHRyYW5zZm9ybS5yb3RhdGUzZCgwLCAzMCwgMCk7CisKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6
OkNvbnRlbnRMYXllclR5cGUqIHBhcmVudCA9IHRoaXMtPmNyZWF0ZVJvb3QodGhpcy0+aWRlbnRp
dHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAgICAgICAg
dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSogY29udGFpbmVyID0gdGhpcy0+Y3JlYXRlTGF5ZXIo
cGFyZW50LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgz
MDAsIDMwMCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5
ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShjb250YWluZXIsIHRyYW5zZm9ybSwgRmxv
YXRQb2ludCgxMDAsIDEwMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKKyAgICAgICAgdGhp
cy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKKworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2Vy
QmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3Vy
ZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAg
b2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShwYXJlbnQtPnJlbmRlclN1cmZhY2Uo
KSk7CisKKyAgICAgICAgRVhQRUNUX0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9j
Y2x1c2lvbi51bm9jY2x1ZGVkQ29udGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAy
MDApKSk7CisgICAgfQorfTsKKworTUFJTl9BTkRfSU1QTF9USFJFQURfVEVTVChDQ09jY2x1c2lv
blRyYWNrZXJUZXN0M2RUcmFuc2Zvcm0pOworCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBv
cGFxdWVMYXllcnM+CitjbGFzcyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFu
c2Zvcm0gOiBwdWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJz
PiB7Citwcm90ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQorICAgIHsKKyAgICAgICAgVHJh
bnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRl
KDE1MCwgMTUwKTsKKyAgICAgICAgdHJhbnNmb3JtLmFwcGx5UGVyc3BlY3RpdmUoNDAwKTsKKyAg
ICAgICAgdHJhbnNmb3JtLnJvdGF0ZTNkKDEsIDAsIDAsIC0zMCk7CisgICAgICAgIHRyYW5zZm9y
bS50cmFuc2xhdGUoLTE1MCwgLTE1MCk7CisKKyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRl
bnRMYXllclR5cGUqIHBhcmVudCA9IHRoaXMtPmNyZWF0ZVJvb3QodGhpcy0+aWRlbnRpdHlNYXRy
aXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMzAwLCAzMDApKTsKKyAgICAgICAgdHlwZW5h
bWUgVHlwZXM6OkxheWVyVHlwZSogY29udGFpbmVyID0gdGhpcy0+Y3JlYXRlTGF5ZXIocGFyZW50
LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgzMDAsIDMw
MCkpOworICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0
aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShjb250YWluZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2lu
dCgxMDAsIDEwMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKKyAgICAgICAgY29udGFpbmVy
LT5zZXRQcmVzZXJ2ZXMzRCh0cnVlKTsKKyAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50
KTsKKworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6
TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJ
bnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0
UmVuZGVyU3VyZmFjZShwYXJlbnQtPnJlbmRlclN1cmZhY2UoKSk7CisKKyAgICAgICAgRVhQRUNU
X0VRX1JFQ1QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCksIG9jY2x1c2lvbi51bm9jY2x1ZGVkQ29u
dGVudFJlY3QobGF5ZXIsIEludFJlY3QoMCwgMCwgMjAwLCAyMDApKSk7CisgICAgfQorfTsKKwor
TUFJTl9USFJFQURfVEVTVChDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zv
cm0pOworCit0ZW1wbGF0ZTxjbGFzcyBUeXBlcywgYm9vbCBvcGFxdWVMYXllcnM+CitjbGFzcyBD
Q09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm1CZWhpbmRDYW1lcmEgOiBw
dWJsaWMgQ0NPY2NsdXNpb25UcmFja2VyVGVzdDxUeXBlcywgb3BhcXVlTGF5ZXJzPiB7Citwcm90
ZWN0ZWQ6CisgICAgdm9pZCBydW5NeVRlc3QoKQorICAgIHsKKyAgICAgICAgLy8gVGhpcyB0ZXN0
IGlzIGJhc2VkIG9uIHRoZSBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy8zZC1jb3JuZXJz
Lmh0bWwgbGF5b3V0IHRlc3QuCisgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9y
bTsKKyAgICAgICAgdHJhbnNmb3JtLnRyYW5zbGF0ZSgyNTAsIDUwKTsKKyAgICAgICAgdHJhbnNm
b3JtLmFwcGx5UGVyc3BlY3RpdmUoMTApOworICAgICAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKC0y
NTAsIC01MCk7CisgICAgICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoMjUwLCA1MCk7CisgICAgICAg
IHRyYW5zZm9ybS5yb3RhdGUzZCgxLCAwLCAwLCAtMTY3KTsKKyAgICAgICAgdHJhbnNmb3JtLnRy
YW5zbGF0ZSgtMjUwLCAtNTApOworCisgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5
ZXJUeXBlKiBwYXJlbnQgPSB0aGlzLT5jcmVhdGVSb290KHRoaXMtPmlkZW50aXR5TWF0cml4LCBG
bG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDUwMCwgMTAwKSk7CisgICAgICAgIHR5cGVuYW1lIFR5
cGVzOjpMYXllclR5cGUqIGNvbnRhaW5lciA9IHRoaXMtPmNyZWF0ZUxheWVyKHBhcmVudCwgdGhp
cy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoNTAwLCA1MDApKTsK
KyAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+
Y3JlYXRlRHJhd2luZ0xheWVyKGNvbnRhaW5lciwgdHJhbnNmb3JtLCBGbG9hdFBvaW50KDAsIDAp
LCBJbnRTaXplKDUwMCwgNTAwKSwgdHJ1ZSk7CisgICAgICAgIGNvbnRhaW5lci0+c2V0UHJlc2Vy
dmVzM0QodHJ1ZSk7CisgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CisKKyAgICAg
ICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwg
dHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAw
LCAxMDAwLCAxMDAwKSk7CisgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZh
Y2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOworCisgICAgICAgIC8vIFRoZSBib3R0b20gMTEg
cGl4ZWwgcm93cyBvZiB0aGlzIGxheWVyIHJlbWFpbiB2aXNpYmxlIGluc2lkZSB0aGUgY29udGFp
bmVyLCBhZnRlciB0cmFuc2xhdGlvbiB0byB0aGUgdGFyZ2V0IHN1cmZhY2UuIFdoZW4gdHJhbnNs
YXRlZCBiYWNrLAorICAgICAgICAvLyB0aGlzIHdpbGwgaW5jbHVkZSBtYW55IG1vcmUgcGl4ZWxz
IGJ1dCBtdXN0IGluY2x1ZGUgYXQgbGVhc3QgdGhlIGJvdHRvbSAxMSByb3dzLgorICAgICAgICBF
WFBFQ1RfVFJVRShvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0
KDAsIDAsIDUwMCwgNTAwKSkuY29udGFpbnMoSW50UmVjdCgwLCA0ODksIDUwMCwgMTEpKSk7Cisg
ICAgfQorfTsKKworTUFJTl9USFJFQURfVEVTVChDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3Bl
Y3RpdmVUcmFuc2Zvcm1CZWhpbmRDYW1lcmEpOworCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>