<?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>100414</bug_id>
          
          <creation_ts>2012-10-25 14:12:50 -0700</creation_ts>
          <short_desc>Flip ImageOrientation coordinate system from lefthanded to righthanded</short_desc>
          <delta_ts>2012-11-27 13:43:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Nico Weber">thakis</assigned_to>
          <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751195</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:12:50 -0700</bug_when>
    <thetext>Flip ImageOrientation coordinate system from lefthanded to righthanded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751196</commentid>
    <comment_count>1</comment_count>
      <attachid>170727</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:14:21 -0700</bug_when>
    <thetext>Created attachment 170727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751199</commentid>
    <comment_count>2</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:15:48 -0700</bug_when>
    <thetext>This is the promised follow-up patch. As expected, the skia code becomes a bit shorter, the cg code a bit longer. I don&apos;t care too much if we check this in or not. WebKit&apos;s coordinate system is generally top-left / right-handed, so this would make the world a tiny bit more consistent I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751200</commentid>
    <comment_count>3</comment_count>
      <attachid>170728</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:16:34 -0700</bug_when>
    <thetext>Created attachment 170728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751201</commentid>
    <comment_count>4</comment_count>
      <attachid>170729</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:16:51 -0700</bug_when>
    <thetext>Created attachment 170729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751206</commentid>
    <comment_count>5</comment_count>
      <attachid>170729</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-25 14:24:24 -0700</bug_when>
    <thetext>Comment on attachment 170729
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        This is a pure refactoring and has no observable effects.

Ideally you woudl explain teh justification in the ChangeLOg.

Something along the lines of &quot;platform/graphics, noteably GraphicsContext is defined to use a right handed coord system, yet ImageOrientation was an outlier from platform/graphicsin that it used a left-handed coord system (like how CoreGraphics does).  This patch fixes ImageOrientation to match the rest of platform/graphics.&quot;

or some such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751209</commentid>
    <comment_count>6</comment_count>
      <attachid>170731</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:29:23 -0700</bug_when>
    <thetext>Created attachment 170731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751210</commentid>
    <comment_count>7</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2012-10-25 14:29:40 -0700</bug_when>
    <thetext>Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751213</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-25 14:31:13 -0700</bug_when>
    <thetext>Consistency is good.  We really should document some of platform/graphics better some day.  http://trac.webkit.org/wiki/LayoutUnit has been helpful to me so many times. I wish we had more documentation like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751218</commentid>
    <comment_count>9</comment_count>
      <attachid>170731</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-25 14:36:38 -0700</bug_when>
    <thetext>Comment on attachment 170731
Patch

I&apos;m a fan of consistency.  Thank you for following up on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751219</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-25 14:37:07 -0700</bug_when>
    <thetext>Noel:  Hopefully we&apos;re all on the same page now?  I look forward to your comments and reviews when you return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751449</commentid>
    <comment_count>11</comment_count>
      <attachid>170731</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 19:18:31 -0700</bug_when>
    <thetext>Comment on attachment 170731
Patch

Clearing flags on attachment: 170731

Committed r132555: &lt;http://trac.webkit.org/changeset/132555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751450</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 19:18:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776245</commentid>
    <comment_count>13</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-11-26 20:10:59 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Noel:  Hopefully we&apos;re all on the same page now?  I look forward to your comments and reviews when you return.

Sorry for the delayed reply, this went under my radar since it was not present in the meta bug.  Let&apos;s add it there for posterity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777180</commentid>
    <comment_count>14</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-11-27 13:43:10 -0800</bug_when>
    <thetext>(In reply to comment #10)

I also considered that we should order the orientation values numerically in ImageOrientation.cpp.  I filed bug 101596 about it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170727</attachid>
            <date>2012-10-25 14:14:21 -0700</date>
            <delta_ts>2012-10-25 14:16:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100414-20121025141302.patch</filename>
            <type>text/plain</type>
            <size>10196</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjZDAyYmMwMmExNjFj
NWUzZjQ5NzM1MDFkYWY1MDY0MjY0NTY3Mi4uODk1YmRiMTBiNjIxMDUzNTliMTFmYmUyNWJmZjI4
ZWQwYTMzNDIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTEwLTI1ICBOaWNv
IFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBGbGlwIEltYWdlT3JpZW50
YXRpb24gY29vcmRpbmF0ZSBzeXN0ZW0gZnJvbSBsZWZ0aGFuZGVkIHRvIHJpZ2h0aGFuZGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEg
cHVyZSByZWZhY3RvcmluZyBhbmQgaGFzIG5vIG9ic2VydmFibGUgZWZmZWN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VP
cmllbnRhdGlvbjo6dHJhbnNmb3JtRnJvbURlZmF1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0ltYWdlU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZHJh
dyk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZURyYWdJbWFnZUZyb21JbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNob3VsZFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uKToKKworMjAxMi0xMC0yNSAgTmljbyBXZWJlciAgPHRoYWtp
c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTW92ZSBJbWFnZU9yaWVudGF0aW9uIHRyYW5zZm9y
bSBiYWNrIGluIENHIHNwYWNlIChsb3dlci1sZWZ0IG9yaWdpbiksIGFkYXB0IHRoZSBza2lhIGNv
ZGUgdG8gd29yayB3aXRoIHRoYXQsIHR1cm4gb24gZmVhdHVyZSBmb3IgY2hyb21pdW0KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQwMQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1
bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdlQ2hy
b21pdW1Ta2lhLmNwcAppbmRleCAzMmM5OWY2YTE4ZTAwZDNjYTMwNTRhNjFmN2Y3ODAzZjE0OTY4
YjczLi4xYjBkOTJhZTFhODM1ZGFkYmViYzU0OGQzZTdiNTdmZWY4ZTE4MWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1bVNraWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYS5jcHAKQEAgLTEzMCwxOCArMTMwLDExIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFn
SW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltYWdlLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0K
ICAgICAgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIHNpemVSZXNwZWN0
aW5nT3JpZW50YXRpb24pOwogICAgICAgICAgICAgU2tDYW52YXMgY2FudmFzKCpkcmFnSW1hZ2VD
aHJvbWl1bS0+Yml0bWFwKTsKIAotICAgICAgICAgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiBleHBl
Y3RzIHRoZSBvcmlnaW4gaW4gdGhlIGxvd2VyIGxlZnQgY29ybmVyLCBzbyBmbGlwLCB0cmFuc2Zv
cm0sIGFuZCB0aGVuLi4uCi0gICAgICAgICAgICBjYW52YXMudHJhbnNsYXRlKDAsIGRlc3RSZWN0
LmhlaWdodCgpKTsKLSAgICAgICAgICAgIGNhbnZhcy5zY2FsZSgxLCAtMSk7CiAgICAgICAgICAg
ICBjYW52YXMuY29uY2F0KG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZhdWx0KHNpemVSZXNw
ZWN0aW5nT3JpZW50YXRpb24pKTsKIAogICAgICAgICAgICAgaWYgKG9yaWVudGF0aW9uLnVzZXNX
aWR0aEFzSGVpZ2h0KCkpCiAgICAgICAgICAgICAgICAgZGVzdFJlY3QgPSBGbG9hdFJlY3QoZGVz
dFJlY3QueCgpLCBkZXN0UmVjdC55KCksIGRlc3RSZWN0LmhlaWdodCgpLCBkZXN0UmVjdC53aWR0
aCgpKTsKIAotICAgICAgICAgICAgLy8gLi4uZmxpcCBiYWNrLgotICAgICAgICAgICAgY2FudmFz
LnRyYW5zbGF0ZSgwLCBkZXN0UmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBjYW52YXMuc2Nh
bGUoMSwgLTEpOwotCiAgICAgICAgICAgICBjYW52YXMuZHJhd0JpdG1hcFJlY3QoYml0bWFwLT5i
aXRtYXAoKSwgMCwgZGVzdFJlY3QpOwogICAgICAgICAgICAgcmV0dXJuIGRyYWdJbWFnZUNocm9t
aXVtOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlT3JpZW50YXRpb24uY3BwCmluZGV4IDhhNTg1NGU2MzdiMDQwNGM1NDNmNjIwMzNm
MjA5YWViOWNjY2ExMWQuLmRjMmI5NzgyYjFlOGQ4ZWUyODA5OGMxYjViMmY4MzY5ZDViZmQ0OWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3Jp
ZW50YXRpb24uY3BwCkBAIC00MSwxNyArNDEsMTcgQEAgQWZmaW5lVHJhbnNmb3JtIEltYWdlT3Jp
ZW50YXRpb246OnRyYW5zZm9ybUZyb21EZWZhdWx0KGNvbnN0IEZsb2F0U2l6ZSYgZHJhd25TaXoK
ICAgICBjYXNlIE9yaWdpbkJvdHRvbVJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNm
b3JtKC0xLCAgMCwgIDAsIC0xLCAgdywgaCk7CiAgICAgY2FzZSBPcmlnaW5MZWZ0Qm90dG9tOgot
ICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAgMSwgLTEsICAwLCAgdywgMCk7Ci0g
ICAgY2FzZSBPcmlnaW5SaWdodFRvcDoKICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgg
MCwgLTEsICAxLCAgMCwgIDAsIGgpOworICAgIGNhc2UgT3JpZ2luUmlnaHRUb3A6CisgICAgICAg
IHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsICAxLCAtMSwgIDAsICB3LCAwKTsKICAgICBjYXNl
IE9yaWdpblRvcFJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKC0xLCAgMCwg
IDAsICAxLCAgdywgMCk7CiAgICAgY2FzZSBPcmlnaW5Cb3R0b21MZWZ0OgogICAgICAgICByZXR1
cm4gQWZmaW5lVHJhbnNmb3JtKCAxLCAgMCwgIDAsIC0xLCAgMCwgaCk7CiAgICAgY2FzZSBPcmln
aW5MZWZ0VG9wOgotICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAtMSwgLTEsICAw
LCAgdywgaCk7Ci0gICAgY2FzZSBPcmlnaW5SaWdodEJvdHRvbToKICAgICAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSggMCwgIDEsICAxLCAgMCwgIDAsIDApOworICAgIGNhc2UgT3JpZ2luUmln
aHRCb3R0b206CisgICAgICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsIC0xLCAtMSwgIDAs
ICB3LCBoKTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDZjZWFjZTM1ZDMyMmIwOTBk
NzM5YzhjN2U2NjM4ZTYyZjRhZGM4ZjUuLjNlNjZjYzI3OWYzZjg0ZTdhNjgyYjMxN2M0NzBkYjMw
NTIzNzZjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTMyNiw5ICszMjYsOCBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKE5hdGl2ZUltYWdlUHRyIGltYWdlUHRyLCBj
b25zdCBGbG9hdFNpemUmCiAKICAgICBzZXRQbGF0Zm9ybUNvbXBvc2l0ZU9wZXJhdGlvbihvcCk7
CiAKLSAgICAvLyBGbGlwIHRoZSBjb29yZHMuCi0gICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNv
bnRleHQsIGFkanVzdGVkRGVzdFJlY3QueCgpLCBhZGp1c3RlZERlc3RSZWN0Lm1heFkoKSk7Ci0g
ICAgQ0dDb250ZXh0U2NhbGVDVE0oY29udGV4dCwgMSwgLTEpOworICAgIC8vIEltYWdlT3JpZW50
YXRpb24gZXhwZWN0cyB0aGUgb3JpZ2luIHRvIGJlIGF0ICgwLCAwKQorICAgIENHQ29udGV4dFRy
YW5zbGF0ZUNUTShjb250ZXh0LCBhZGp1c3RlZERlc3RSZWN0LngoKSwgYWRqdXN0ZWREZXN0UmVj
dC55KCkpOwogICAgIGFkanVzdGVkRGVzdFJlY3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludCgpKTsK
IAogICAgIGlmIChvcmllbnRhdGlvbiAhPSBEZWZhdWx0SW1hZ2VPcmllbnRhdGlvbikgewpAQCAt
MzQwLDYgKzMzOSwxMCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKE5h
dGl2ZUltYWdlUHRyIGltYWdlUHRyLCBjb25zdCBGbG9hdFNpemUmCiAgICAgICAgIH0KICAgICB9
CiAgICAgCisgICAgLy8gRmxpcCB0aGUgY29vcmRzLgorICAgIENHQ29udGV4dFRyYW5zbGF0ZUNU
TShjb250ZXh0LCAwLCBhZGp1c3RlZERlc3RSZWN0LmhlaWdodCgpKTsKKyAgICBDR0NvbnRleHRT
Y2FsZUNUTShjb250ZXh0LCAxLCAtMSk7CisKICAgICAvLyBBZGp1c3QgdGhlIGNvbG9yIHNwYWNl
LgogICAgIGltYWdlID0gSW1hZ2U6OmltYWdlV2l0aENvbG9yU3BhY2UoaW1hZ2UuZ2V0KCksIHN0
eWxlQ29sb3JTcGFjZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvSW1hZ2VTa2lhLmNwcAppbmRleCAzYmQ1MTUyZmExMTY0NGQ2NDAxMzdiODVlOGI5
MzMwYzhhOGNmMTVhLi4xNDBiZDE3ODhhZjE4MmY4M2Y2NDJlYTEyOTY1ODQ2YmFjNDI2ODg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tp
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNr
aWEuY3BwCkBAIC02MTksOSArNjE5LDYgQEAgdm9pZCBCaXRtYXBJbWFnZTo6ZHJhdyhHcmFwaGlj
c0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAgICAg
ICAgY3R4dC0+dHJhbnNsYXRlKG5vcm1Ec3RSZWN0LngoKSwgbm9ybURzdFJlY3QueSgpKTsKICAg
ICAgICAgbm9ybURzdFJlY3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludCgpKTsKIAotICAgICAgICAv
LyBJbWFnZU9yaWVudGF0aW9uIGFsc28gZXhwZWN0cyB0aGUgb3JpZ2luIGluIHRoZSBsb3dlciBs
ZWZ0IGNvcm5lciwgc28gZmxpcCwgdHJhbnNmb3JtLCBhbmQgdGhlbi4uLgotICAgICAgICBjdHh0
LT50cmFuc2xhdGUoMCwgbm9ybURzdFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICBjdHh0LT5zY2Fs
ZShGbG9hdFNpemUoMSwgLTEpKTsKICAgICAgICAgY3R4dC0+Y29uY2F0Q1RNKG9yaWVudGF0aW9u
LnRyYW5zZm9ybUZyb21EZWZhdWx0KG5vcm1Ec3RSZWN0LnNpemUoKSkpOwogCiAgICAgICAgIGlm
IChvcmllbnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpKSB7CkBAIC02MjksMTAgKzYyNiw2IEBA
IHZvaWQgQml0bWFwSW1hZ2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjdHh0LCBjb25zdCBGbG9h
dFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZsCiAgICAgICAgICAgICAvLyB0aGUgaW1hZ2UsIGFzIGl0
IHdhcyBuZWVkZWQgZm9yIHBhZ2UgbGF5b3V0LCBzbyB3ZSBuZWVkIHRvIHJldmVyc2UgaXQgYmFj
ayBoZXJlLgogICAgICAgICAgICAgbm9ybURzdFJlY3QgPSBGbG9hdFJlY3Qobm9ybURzdFJlY3Qu
eCgpLCBub3JtRHN0UmVjdC55KCksIG5vcm1Ec3RSZWN0LmhlaWdodCgpLCBub3JtRHN0UmVjdC53
aWR0aCgpKTsKICAgICAgICAgfQotCi0gICAgICAgIC8vIC4uLmZsaXAgYmFjay4KLSAgICAgICAg
Y3R4dC0+dHJhbnNsYXRlKDAsIG5vcm1Ec3RSZWN0LmhlaWdodCgpKTsKLSAgICAgICAgY3R4dC0+
c2NhbGUoRmxvYXRTaXplKDEsIC0xKSk7CiAgICAgfQogCiAgICAgcGFpbnRTa0JpdG1hcChjdHh0
LT5wbGF0Zm9ybUNvbnRleHQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9EcmFnSW1hZ2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0lt
YWdlTWFjLm1tCmluZGV4IGEzNDgwOTIxYTJhMDRlOTFlZGY1ZmVlYmFmMjEyZDFiZTFkZjk4ZDMu
LmI5MmNlNjBlZThiZWIyOTU0MzJhMjEzZWYwNTYzM2Y1NDM4YTFlMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQpAQCAtOTksMTcgKzk5LDI3IEBAIFJl
dGFpblB0cjxOU0ltYWdlPiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltYWdlLCBS
ZXNwZWN0SW1hZ2VPcmllbnRhdGlvCiAKICAgICAgICAgaWYgKG9yaWVudGF0aW9uICE9IERlZmF1
bHRJbWFnZU9yaWVudGF0aW9uKSB7CiAgICAgICAgICAgICAvLyBDb25zdHJ1Y3QgYSBjb3JyZWN0
bHktcm90YXRlZCBjb3B5IG9mIHRoZSBpbWFnZSB0byB1c2UgYXMgdGhlIGRyYWcgaW1hZ2UuCi0g
ICAgICAgICAgICBSZXRhaW5QdHI8TlNBZmZpbmVUcmFuc2Zvcm0+IGNvY29hVHJhbnNmb3JtKEFk
b3B0TlMsIFtbTlNBZmZpbmVUcmFuc2Zvcm0gYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgIENH
QWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybSA9IG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZh
dWx0KHNpemVSZXNwZWN0aW5nT3JpZW50YXRpb24pOwotICAgICAgICAgICAgW2NvY29hVHJhbnNm
b3JtLmdldCgpIHNldFRyYW5zZm9ybVN0cnVjdDoqKE5TQWZmaW5lVHJhbnNmb3JtU3RydWN0Kikm
dHJhbnNmb3JtXTsKLQogICAgICAgICAgICAgRmxvYXRSZWN0IGRlc3RSZWN0KEZsb2F0UG9pbnQo
KSwgc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlvbik7CiAKICAgICAgICAgICAgIFJldGFpblB0cjxO
U0ltYWdlPiByb3RhdGVkRHJhZ0ltYWdlKEFkb3B0TlMsIFtbTlNJbWFnZSBhbGxvY10gaW5pdFdp
dGhTaXplOihOU1NpemUpKHNpemVSZXNwZWN0aW5nT3JpZW50YXRpb24pXSk7CiAgICAgICAgICAg
ICBbcm90YXRlZERyYWdJbWFnZS5nZXQoKSBsb2NrRm9jdXNdOwotICAgICAgICAgICAgW2NvY29h
VHJhbnNmb3JtLmdldCgpIGNvbmNhdF07CisKKyAgICAgICAgICAgIC8vIEltYWdlT3JpZW50YXRp
b24gdXNlcyB0b3AtbGVmdCBjb29yZGluYXRlcywgbmVlZCB0byBmbGlwIHRvIGJvdHRvbS1sZWZ0
LCBhcHBseS4uLgorICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gQ0dB
ZmZpbmVUcmFuc2Zvcm1NYWtlVHJhbnNsYXRpb24oMCwgZGVzdFJlY3QuaGVpZ2h0KCkpOworICAg
ICAgICAgICAgdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1TY2FsZSh0cmFuc2Zvcm0sIDEs
IC0xKTsKKyAgICAgICAgICAgIHRyYW5zZm9ybSA9IENHQWZmaW5lVHJhbnNmb3JtQ29uY2F0KG9y
aWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZhdWx0KHNpemVSZXNwZWN0aW5nT3JpZW50YXRpb24p
LCB0cmFuc2Zvcm0pOworCiAgICAgICAgICAgICBpZiAob3JpZW50YXRpb24udXNlc1dpZHRoQXNI
ZWlnaHQoKSkKICAgICAgICAgICAgICAgICBkZXN0UmVjdCA9IEZsb2F0UmVjdChkZXN0UmVjdC54
KCksIGRlc3RSZWN0LnkoKSwgZGVzdFJlY3QuaGVpZ2h0KCksIGRlc3RSZWN0LndpZHRoKCkpOwor
CisgICAgICAgICAgICAvLyAuLi5hbmQgZmxpcCBiYWNrLgorICAgICAgICAgICAgdHJhbnNmb3Jt
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1UcmFuc2xhdGUodHJhbnNmb3JtLCAwLCBkZXN0UmVjdC5oZWln
aHQoKSk7CisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybVNjYWxlKHRy
YW5zZm9ybSwgMSwgLTEpOworCisgICAgICAgICAgICBSZXRhaW5QdHI8TlNBZmZpbmVUcmFuc2Zv
cm0+IGNvY29hVHJhbnNmb3JtKEFkb3B0TlMsIFtbTlNBZmZpbmVUcmFuc2Zvcm0gYWxsb2NdIGlu
aXRdKTsKKyAgICAgICAgICAgIFtjb2NvYVRyYW5zZm9ybS5nZXQoKSBzZXRUcmFuc2Zvcm1TdHJ1
Y3Q6KihOU0FmZmluZVRyYW5zZm9ybVN0cnVjdCopJnRyYW5zZm9ybV07CisgICAgICAgICAgICBb
Y29jb2FUcmFuc2Zvcm0uZ2V0KCkgY29uY2F0XTsKKwogICAgICAgICAgICAgW2ltYWdlLT5nZXRO
U0ltYWdlKCkgZHJhd0luUmVjdDpkZXN0UmVjdCBmcm9tUmVjdDpOU01ha2VSZWN0KDAsIDAsIHNp
emUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkgb3BlcmF0aW9uOk5TQ29tcG9zaXRlU291cmNlT3Zl
ciBmcmFjdGlvbjoxLjBdOwogICAgICAgICAgICAgW3JvdGF0ZWREcmFnSW1hZ2UuZ2V0KCkgdW5s
b2NrRm9jdXNdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IGJmYTYwNzk2MTgwNGMwNTg3NzMwZTg3OTcyZTI5NGMyOTE0NDQyNjguLmI5Zjk2ZmFjYjJi
YTk2OGFmM2Q3YWQyNzM1MjU3MTE1ODQzNmY0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yMjI0LDcgKzIyMjQsOCBAQCBSZXNwZWN0SW1hZ2VPcmll
bnRhdGlvbkVudW0gUmVuZGVyT2JqZWN0OjpzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbigp
IGNvbnN0CiAgICAgICAgIC8vIFRoaXMgY2FuIG9ubHkgYmUgZW5hYmxlZCBmb3IgcG9ydHMgd2hp
Y2ggaG9ub3IgdGhlIG9yaWVudGF0aW9uIGZsYWcgaW4gdGhlaXIgZHJhd2luZyBjb2RlLgogICAg
ICAgICBkb2N1bWVudCgpLT5pc0ltYWdlRG9jdW1lbnQoKSB8fAogI2VuZGlmCi0gICAgICAgIChk
b2N1bWVudCgpLT5zZXR0aW5ncygpICYmIGRvY3VtZW50KCktPnNldHRpbmdzKCktPnNob3VsZFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uKCkgJiYgbm9kZSgpICYmIChub2RlKCktPmhhc1RhZ05hbWUo
SFRNTE5hbWVzOjppbWdUYWcpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OndlYmtp
dElubmVySW1hZ2VUYWcpKSkgPyBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA6IERvTm90UmVzcGVj
dEltYWdlT3JpZW50YXRpb247CisgICAgICAgIC8vKGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYg
ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS0+c2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSAm
JiBub2RlKCkgJiYgKG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykgfHwgbm9k
ZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6d2Via2l0SW5uZXJJbWFnZVRhZykpKSA/IFJlc3Bl
Y3RJbWFnZU9yaWVudGF0aW9uIDogRG9Ob3RSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbjsKKyAgICAg
ICAgKG5vZGUoKSAmJiAobm9kZSgpLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW1nVGFnKSB8fCBu
b2RlKCktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp3ZWJraXRJbm5lckltYWdlVGFnKSkpID8gUmVz
cGVjdEltYWdlT3JpZW50YXRpb24gOiBEb05vdFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uOwogfQog
CiBib29sIFJlbmRlck9iamVjdDo6aGFzT3V0bGluZUFubm90YXRpb24oKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170728</attachid>
            <date>2012-10-25 14:16:34 -0700</date>
            <delta_ts>2012-10-25 14:16:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100414-20121025141515.patch</filename>
            <type>text/plain</type>
            <size>10966</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjZDAyYmMwMmExNjFj
NWUzZjQ5NzM1MDFkYWY1MDY0MjY0NTY3Mi4uODk1YmRiMTBiNjIxMDUzNTliMTFmYmUyNWJmZjI4
ZWQwYTMzNDIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTEwLTI1ICBOaWNv
IFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBGbGlwIEltYWdlT3JpZW50
YXRpb24gY29vcmRpbmF0ZSBzeXN0ZW0gZnJvbSBsZWZ0aGFuZGVkIHRvIHJpZ2h0aGFuZGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEg
cHVyZSByZWZhY3RvcmluZyBhbmQgaGFzIG5vIG9ic2VydmFibGUgZWZmZWN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VP
cmllbnRhdGlvbjo6dHJhbnNmb3JtRnJvbURlZmF1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0ltYWdlU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZHJh
dyk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZURyYWdJbWFnZUZyb21JbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNob3VsZFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uKToKKworMjAxMi0xMC0yNSAgTmljbyBXZWJlciAgPHRoYWtp
c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTW92ZSBJbWFnZU9yaWVudGF0aW9uIHRyYW5zZm9y
bSBiYWNrIGluIENHIHNwYWNlIChsb3dlci1sZWZ0IG9yaWdpbiksIGFkYXB0IHRoZSBza2lhIGNv
ZGUgdG8gd29yayB3aXRoIHRoYXQsIHR1cm4gb24gZmVhdHVyZSBmb3IgY2hyb21pdW0KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQwMQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1
bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdlQ2hy
b21pdW1Ta2lhLmNwcAppbmRleCAzMmM5OWY2YTE4ZTAwZDNjYTMwNTRhNjFmN2Y3ODAzZjE0OTY4
YjczLi4xYjBkOTJhZTFhODM1ZGFkYmViYzU0OGQzZTdiNTdmZWY4ZTE4MWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1bVNraWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYS5jcHAKQEAgLTEzMCwxOCArMTMwLDExIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFn
SW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltYWdlLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0K
ICAgICAgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIHNpemVSZXNwZWN0
aW5nT3JpZW50YXRpb24pOwogICAgICAgICAgICAgU2tDYW52YXMgY2FudmFzKCpkcmFnSW1hZ2VD
aHJvbWl1bS0+Yml0bWFwKTsKIAotICAgICAgICAgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiBleHBl
Y3RzIHRoZSBvcmlnaW4gaW4gdGhlIGxvd2VyIGxlZnQgY29ybmVyLCBzbyBmbGlwLCB0cmFuc2Zv
cm0sIGFuZCB0aGVuLi4uCi0gICAgICAgICAgICBjYW52YXMudHJhbnNsYXRlKDAsIGRlc3RSZWN0
LmhlaWdodCgpKTsKLSAgICAgICAgICAgIGNhbnZhcy5zY2FsZSgxLCAtMSk7CiAgICAgICAgICAg
ICBjYW52YXMuY29uY2F0KG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZhdWx0KHNpemVSZXNw
ZWN0aW5nT3JpZW50YXRpb24pKTsKIAogICAgICAgICAgICAgaWYgKG9yaWVudGF0aW9uLnVzZXNX
aWR0aEFzSGVpZ2h0KCkpCiAgICAgICAgICAgICAgICAgZGVzdFJlY3QgPSBGbG9hdFJlY3QoZGVz
dFJlY3QueCgpLCBkZXN0UmVjdC55KCksIGRlc3RSZWN0LmhlaWdodCgpLCBkZXN0UmVjdC53aWR0
aCgpKTsKIAotICAgICAgICAgICAgLy8gLi4uZmxpcCBiYWNrLgotICAgICAgICAgICAgY2FudmFz
LnRyYW5zbGF0ZSgwLCBkZXN0UmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBjYW52YXMuc2Nh
bGUoMSwgLTEpOwotCiAgICAgICAgICAgICBjYW52YXMuZHJhd0JpdG1hcFJlY3QoYml0bWFwLT5i
aXRtYXAoKSwgMCwgZGVzdFJlY3QpOwogICAgICAgICAgICAgcmV0dXJuIGRyYWdJbWFnZUNocm9t
aXVtOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlT3JpZW50YXRpb24uY3BwCmluZGV4IDhhNTg1NGU2MzdiMDQwNGM1NDNmNjIwMzNm
MjA5YWViOWNjY2ExMWQuLmRjMmI5NzgyYjFlOGQ4ZWUyODA5OGMxYjViMmY4MzY5ZDViZmQ0OWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3Jp
ZW50YXRpb24uY3BwCkBAIC00MSwxNyArNDEsMTcgQEAgQWZmaW5lVHJhbnNmb3JtIEltYWdlT3Jp
ZW50YXRpb246OnRyYW5zZm9ybUZyb21EZWZhdWx0KGNvbnN0IEZsb2F0U2l6ZSYgZHJhd25TaXoK
ICAgICBjYXNlIE9yaWdpbkJvdHRvbVJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNm
b3JtKC0xLCAgMCwgIDAsIC0xLCAgdywgaCk7CiAgICAgY2FzZSBPcmlnaW5MZWZ0Qm90dG9tOgot
ICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAgMSwgLTEsICAwLCAgdywgMCk7Ci0g
ICAgY2FzZSBPcmlnaW5SaWdodFRvcDoKICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgg
MCwgLTEsICAxLCAgMCwgIDAsIGgpOworICAgIGNhc2UgT3JpZ2luUmlnaHRUb3A6CisgICAgICAg
IHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsICAxLCAtMSwgIDAsICB3LCAwKTsKICAgICBjYXNl
IE9yaWdpblRvcFJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKC0xLCAgMCwg
IDAsICAxLCAgdywgMCk7CiAgICAgY2FzZSBPcmlnaW5Cb3R0b21MZWZ0OgogICAgICAgICByZXR1
cm4gQWZmaW5lVHJhbnNmb3JtKCAxLCAgMCwgIDAsIC0xLCAgMCwgaCk7CiAgICAgY2FzZSBPcmln
aW5MZWZ0VG9wOgotICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAtMSwgLTEsICAw
LCAgdywgaCk7Ci0gICAgY2FzZSBPcmlnaW5SaWdodEJvdHRvbToKICAgICAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSggMCwgIDEsICAxLCAgMCwgIDAsIDApOworICAgIGNhc2UgT3JpZ2luUmln
aHRCb3R0b206CisgICAgICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsIC0xLCAtMSwgIDAs
ICB3LCBoKTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VPcmllbnRhdGlvbi5oCmluZGV4IGJkYzc1ZGVhN2NkZWY0ZTA1OTViZTVlMzIwN2Rl
ZjhjOTFjMjQxMjEuLmIxODRkYzJmNzBhN2I2MmZjZDE0MTdkOGNlNmI5NTRlNWI2MTc3MTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0
aW9uLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRoaXMgdHJh
bnNmb3JtIGNhbiBiZSB1c2VkIGZvciBkcmF3aW5nIGFuIGltYWdlIGFjY29yZGluZyB0byB0aGUg
b3JpZW50YXRpb24uCi0gICAgLy8gSXQgc2hvdWxkIGJlIHVzZWQgaW4gYSBsZWZ0LWhhbmRlZCBj
b29yZGluYXRlIHN5c3RlbS4KKyAgICAvLyBJdCBzaG91bGQgYmUgdXNlZCBpbiBhIHJpZ2h0LWhh
bmRlZCBjb29yZGluYXRlIHN5c3RlbS4KICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtRnJv
bURlZmF1bHQoY29uc3QgRmxvYXRTaXplJiBkcmF3blNpemUpIGNvbnN0OwogCiAgICAgaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBJbWFnZU9yaWVudGF0aW9uJiBvdGhlcikgY29uc3QgeyBy
ZXR1cm4gb3RoZXIubV9vcmllbnRhdGlvbiA9PSBtX29yaWVudGF0aW9uOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRD
Ry5jcHAKaW5kZXggNmNlYWNlMzVkMzIyYjA5MGQ3MzljOGM3ZTY2MzhlNjJmNGFkYzhmNS4uM2U2
NmNjMjc5ZjNmODRlN2E2ODJiMzE3YzQ3MGRiMzA1MjM3NmMxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNw
cApAQCAtMzI2LDkgKzMyNiw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TmF0aXZlSW1h
Z2UoTmF0aXZlSW1hZ2VQdHIgaW1hZ2VQdHIsIGNvbnN0IEZsb2F0U2l6ZSYKIAogICAgIHNldFBs
YXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKG9wKTsKIAotICAgIC8vIEZsaXAgdGhlIGNvb3Jkcy4K
LSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgYWRqdXN0ZWREZXN0UmVjdC54KCks
IGFkanVzdGVkRGVzdFJlY3QubWF4WSgpKTsKLSAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0
LCAxLCAtMSk7CisgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiBleHBlY3RzIHRoZSBvcmlnaW4gdG8g
YmUgYXQgKDAsIDApCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIGFkanVzdGVk
RGVzdFJlY3QueCgpLCBhZGp1c3RlZERlc3RSZWN0LnkoKSk7CiAgICAgYWRqdXN0ZWREZXN0UmVj
dC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KCkpOwogCiAgICAgaWYgKG9yaWVudGF0aW9uICE9IERl
ZmF1bHRJbWFnZU9yaWVudGF0aW9uKSB7CkBAIC0zNDAsNiArMzM5LDEwIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3TmF0aXZlSW1hZ2UoTmF0aXZlSW1hZ2VQdHIgaW1hZ2VQdHIsIGNvbnN0
IEZsb2F0U2l6ZSYKICAgICAgICAgfQogICAgIH0KICAgICAKKyAgICAvLyBGbGlwIHRoZSBjb29y
ZHMuCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIDAsIGFkanVzdGVkRGVzdFJl
Y3QuaGVpZ2h0KCkpOworICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRleHQsIDEsIC0xKTsKKwog
ICAgIC8vIEFkanVzdCB0aGUgY29sb3Igc3BhY2UuCiAgICAgaW1hZ2UgPSBJbWFnZTo6aW1hZ2VX
aXRoQ29sb3JTcGFjZShpbWFnZS5nZXQoKSwgc3R5bGVDb2xvclNwYWNlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwCmluZGV4
IDNiZDUxNTJmYTExNjQ0ZDY0MDEzN2I4NWU4YjkzMzBjOGE4Y2YxNWEuLjE0MGJkMTc4OGFmMTgy
ZjgzZjY0MmVhMTI5NjU4NDZiYWM0MjY4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKQEAgLTYxOSw5ICs2MTksNiBAQCB2
b2lkIEJpdG1hcEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxvYXRS
ZWN0JiBkc3RSZWN0LCBjb25zdCBGbAogICAgICAgICBjdHh0LT50cmFuc2xhdGUobm9ybURzdFJl
Y3QueCgpLCBub3JtRHN0UmVjdC55KCkpOwogICAgICAgICBub3JtRHN0UmVjdC5zZXRMb2NhdGlv
bihGbG9hdFBvaW50KCkpOwogCi0gICAgICAgIC8vIEltYWdlT3JpZW50YXRpb24gYWxzbyBleHBl
Y3RzIHRoZSBvcmlnaW4gaW4gdGhlIGxvd2VyIGxlZnQgY29ybmVyLCBzbyBmbGlwLCB0cmFuc2Zv
cm0sIGFuZCB0aGVuLi4uCi0gICAgICAgIGN0eHQtPnRyYW5zbGF0ZSgwLCBub3JtRHN0UmVjdC5o
ZWlnaHQoKSk7Ci0gICAgICAgIGN0eHQtPnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOwogICAgICAg
ICBjdHh0LT5jb25jYXRDVE0ob3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1bHQobm9ybURz
dFJlY3Quc2l6ZSgpKSk7CiAKICAgICAgICAgaWYgKG9yaWVudGF0aW9uLnVzZXNXaWR0aEFzSGVp
Z2h0KCkpIHsKQEAgLTYyOSwxMCArNjI2LDYgQEAgdm9pZCBCaXRtYXBJbWFnZTo6ZHJhdyhHcmFw
aGljc0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAg
ICAgICAgICAgIC8vIHRoZSBpbWFnZSwgYXMgaXQgd2FzIG5lZWRlZCBmb3IgcGFnZSBsYXlvdXQs
IHNvIHdlIG5lZWQgdG8gcmV2ZXJzZSBpdCBiYWNrIGhlcmUuCiAgICAgICAgICAgICBub3JtRHN0
UmVjdCA9IEZsb2F0UmVjdChub3JtRHN0UmVjdC54KCksIG5vcm1Ec3RSZWN0LnkoKSwgbm9ybURz
dFJlY3QuaGVpZ2h0KCksIG5vcm1Ec3RSZWN0LndpZHRoKCkpOwogICAgICAgICB9Ci0KLSAgICAg
ICAgLy8gLi4uZmxpcCBiYWNrLgotICAgICAgICBjdHh0LT50cmFuc2xhdGUoMCwgbm9ybURzdFJl
Y3QuaGVpZ2h0KCkpOwotICAgICAgICBjdHh0LT5zY2FsZShGbG9hdFNpemUoMSwgLTEpKTsKICAg
ICB9CiAKICAgICBwYWludFNrQml0bWFwKGN0eHQtPnBsYXRmb3JtQ29udGV4dCgpLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KaW5kZXggYTM0ODA5MjFhMmEw
NGU5MWVkZjVmZWViYWYyMTJkMWJlMWRmOThkMy4uYjkyY2U2MGVlOGJlYjI5NTQzMmEyMTNlZjA1
NjMzZjU0MzhhMWUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdl
TWFjLm1tCkBAIC05OSwxNyArOTksMjcgQEAgUmV0YWluUHRyPE5TSW1hZ2U+IGNyZWF0ZURyYWdJ
bWFnZUZyb21JbWFnZShJbWFnZSogaW1hZ2UsIFJlc3BlY3RJbWFnZU9yaWVudGF0aW8KIAogICAg
ICAgICBpZiAob3JpZW50YXRpb24gIT0gRGVmYXVsdEltYWdlT3JpZW50YXRpb24pIHsKICAgICAg
ICAgICAgIC8vIENvbnN0cnVjdCBhIGNvcnJlY3RseS1yb3RhdGVkIGNvcHkgb2YgdGhlIGltYWdl
IHRvIHVzZSBhcyB0aGUgZHJhZyBpbWFnZS4KLSAgICAgICAgICAgIFJldGFpblB0cjxOU0FmZmlu
ZVRyYW5zZm9ybT4gY29jb2FUcmFuc2Zvcm0oQWRvcHROUywgW1tOU0FmZmluZVRyYW5zZm9ybSBh
bGxvY10gaW5pdF0pOwotICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0g
b3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1bHQoc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlv
bik7Ci0gICAgICAgICAgICBbY29jb2FUcmFuc2Zvcm0uZ2V0KCkgc2V0VHJhbnNmb3JtU3RydWN0
OiooTlNBZmZpbmVUcmFuc2Zvcm1TdHJ1Y3QqKSZ0cmFuc2Zvcm1dOwotCiAgICAgICAgICAgICBG
bG9hdFJlY3QgZGVzdFJlY3QoRmxvYXRQb2ludCgpLCBzaXplUmVzcGVjdGluZ09yaWVudGF0aW9u
KTsKIAogICAgICAgICAgICAgUmV0YWluUHRyPE5TSW1hZ2U+IHJvdGF0ZWREcmFnSW1hZ2UoQWRv
cHROUywgW1tOU0ltYWdlIGFsbG9jXSBpbml0V2l0aFNpemU6KE5TU2l6ZSkoc2l6ZVJlc3BlY3Rp
bmdPcmllbnRhdGlvbildKTsKICAgICAgICAgICAgIFtyb3RhdGVkRHJhZ0ltYWdlLmdldCgpIGxv
Y2tGb2N1c107Ci0gICAgICAgICAgICBbY29jb2FUcmFuc2Zvcm0uZ2V0KCkgY29uY2F0XTsKKwor
ICAgICAgICAgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiB1c2VzIHRvcC1sZWZ0IGNvb3JkaW5hdGVz
LCBuZWVkIHRvIGZsaXAgdG8gYm90dG9tLWxlZnQsIGFwcGx5Li4uCisgICAgICAgICAgICBDR0Fm
ZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VUcmFuc2xhdGlv
bigwLCBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmlu
ZVRyYW5zZm9ybVNjYWxlKHRyYW5zZm9ybSwgMSwgLTEpOworICAgICAgICAgICAgdHJhbnNmb3Jt
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQob3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1
bHQoc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlvbiksIHRyYW5zZm9ybSk7CisKICAgICAgICAgICAg
IGlmIChvcmllbnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpKQogICAgICAgICAgICAgICAgIGRl
c3RSZWN0ID0gRmxvYXRSZWN0KGRlc3RSZWN0LngoKSwgZGVzdFJlY3QueSgpLCBkZXN0UmVjdC5o
ZWlnaHQoKSwgZGVzdFJlY3Qud2lkdGgoKSk7CisKKyAgICAgICAgICAgIC8vIC4uLmFuZCBmbGlw
IGJhY2suCisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybVRyYW5zbGF0
ZSh0cmFuc2Zvcm0sIDAsIGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgICAgIHRyYW5zZm9y
bSA9IENHQWZmaW5lVHJhbnNmb3JtU2NhbGUodHJhbnNmb3JtLCAxLCAtMSk7CisKKyAgICAgICAg
ICAgIFJldGFpblB0cjxOU0FmZmluZVRyYW5zZm9ybT4gY29jb2FUcmFuc2Zvcm0oQWRvcHROUywg
W1tOU0FmZmluZVRyYW5zZm9ybSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgW2NvY29hVHJh
bnNmb3JtLmdldCgpIHNldFRyYW5zZm9ybVN0cnVjdDoqKE5TQWZmaW5lVHJhbnNmb3JtU3RydWN0
KikmdHJhbnNmb3JtXTsKKyAgICAgICAgICAgIFtjb2NvYVRyYW5zZm9ybS5nZXQoKSBjb25jYXRd
OworCiAgICAgICAgICAgICBbaW1hZ2UtPmdldE5TSW1hZ2UoKSBkcmF3SW5SZWN0OmRlc3RSZWN0
IGZyb21SZWN0Ok5TTWFrZVJlY3QoMCwgMCwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSBv
cGVyYXRpb246TlNDb21wb3NpdGVTb3VyY2VPdmVyIGZyYWN0aW9uOjEuMF07CiAgICAgICAgICAg
ICBbcm90YXRlZERyYWdJbWFnZS5nZXQoKSB1bmxvY2tGb2N1c107CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggYmZhNjA3OTYxODA0YzA1ODc3MzBlODc5
NzJlMjk0YzI5MTQ0NDI2OC4uYjlmOTZmYWNiMmJhOTY4YWYzZDdhZDI3MzUyNTcxMTU4NDM2ZjQx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTIyMjQs
NyArMjIyNCw4IEBAIFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uRW51bSBSZW5kZXJPYmplY3Q6OnNo
b3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCkgY29uc3QKICAgICAgICAgLy8gVGhpcyBjYW4g
b25seSBiZSBlbmFibGVkIGZvciBwb3J0cyB3aGljaCBob25vciB0aGUgb3JpZW50YXRpb24gZmxh
ZyBpbiB0aGVpciBkcmF3aW5nIGNvZGUuCiAgICAgICAgIGRvY3VtZW50KCktPmlzSW1hZ2VEb2N1
bWVudCgpIHx8CiAjZW5kaWYKLSAgICAgICAgKGRvY3VtZW50KCktPnNldHRpbmdzKCkgJiYgZG9j
dW1lbnQoKS0+c2V0dGluZ3MoKS0+c2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSAmJiBu
b2RlKCkgJiYgKG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykgfHwgbm9kZSgp
LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6d2Via2l0SW5uZXJJbWFnZVRhZykpKSA/IFJlc3BlY3RJ
bWFnZU9yaWVudGF0aW9uIDogRG9Ob3RSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbjsKKyAgICAgICAg
Ly8oZG9jdW1lbnQoKS0+c2V0dGluZ3MoKSAmJiBkb2N1bWVudCgpLT5zZXR0aW5ncygpLT5zaG91
bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbigpICYmIG5vZGUoKSAmJiAobm9kZSgpLT5oYXNUYWdO
YW1lKEhUTUxOYW1lczo6aW1nVGFnKSB8fCBub2RlKCktPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp3
ZWJraXRJbm5lckltYWdlVGFnKSkpID8gUmVzcGVjdEltYWdlT3JpZW50YXRpb24gOiBEb05vdFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uOworICAgICAgICAobm9kZSgpICYmIChub2RlKCktPmhhc1Rh
Z05hbWUoSFRNTE5hbWVzOjppbWdUYWcpIHx8IG5vZGUoKS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OndlYmtpdElubmVySW1hZ2VUYWcpKSkgPyBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA6IERvTm90
UmVzcGVjdEltYWdlT3JpZW50YXRpb247CiB9CiAKIGJvb2wgUmVuZGVyT2JqZWN0OjpoYXNPdXRs
aW5lQW5ub3RhdGlvbigpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170729</attachid>
            <date>2012-10-25 14:16:51 -0700</date>
            <delta_ts>2012-10-25 14:29:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100414-20121025141532.patch</filename>
            <type>text/plain</type>
            <size>9675</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjZDAyYmMwMmExNjFj
NWUzZjQ5NzM1MDFkYWY1MDY0MjY0NTY3Mi4uODk1YmRiMTBiNjIxMDUzNTliMTFmYmUyNWJmZjI4
ZWQwYTMzNDIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEyLTEwLTI1ICBOaWNv
IFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBGbGlwIEltYWdlT3JpZW50
YXRpb24gY29vcmRpbmF0ZSBzeXN0ZW0gZnJvbSBsZWZ0aGFuZGVkIHRvIHJpZ2h0aGFuZGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEg
cHVyZSByZWZhY3RvcmluZyBhbmQgaGFzIG5vIG9ic2VydmFibGUgZWZmZWN0cy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VP
cmllbnRhdGlvbjo6dHJhbnNmb3JtRnJvbURlZmF1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0ltYWdlU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZHJh
dyk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZURyYWdJbWFnZUZyb21JbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNob3VsZFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uKToKKworMjAxMi0xMC0yNSAgTmljbyBXZWJlciAgPHRoYWtp
c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTW92ZSBJbWFnZU9yaWVudGF0aW9uIHRyYW5zZm9y
bSBiYWNrIGluIENHIHNwYWNlIChsb3dlci1sZWZ0IG9yaWdpbiksIGFkYXB0IHRoZSBza2lhIGNv
ZGUgdG8gd29yayB3aXRoIHRoYXQsIHR1cm4gb24gZmVhdHVyZSBmb3IgY2hyb21pdW0KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQwMQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1
bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdlQ2hy
b21pdW1Ta2lhLmNwcAppbmRleCAzMmM5OWY2YTE4ZTAwZDNjYTMwNTRhNjFmN2Y3ODAzZjE0OTY4
YjczLi4xYjBkOTJhZTFhODM1ZGFkYmViYzU0OGQzZTdiNTdmZWY4ZTE4MWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1bVNraWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdJbWFnZUNocm9t
aXVtU2tpYS5jcHAKQEAgLTEzMCwxOCArMTMwLDExIEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFn
SW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltYWdlLCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0K
ICAgICAgICAgICAgIEZsb2F0UmVjdCBkZXN0UmVjdChGbG9hdFBvaW50KCksIHNpemVSZXNwZWN0
aW5nT3JpZW50YXRpb24pOwogICAgICAgICAgICAgU2tDYW52YXMgY2FudmFzKCpkcmFnSW1hZ2VD
aHJvbWl1bS0+Yml0bWFwKTsKIAotICAgICAgICAgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiBleHBl
Y3RzIHRoZSBvcmlnaW4gaW4gdGhlIGxvd2VyIGxlZnQgY29ybmVyLCBzbyBmbGlwLCB0cmFuc2Zv
cm0sIGFuZCB0aGVuLi4uCi0gICAgICAgICAgICBjYW52YXMudHJhbnNsYXRlKDAsIGRlc3RSZWN0
LmhlaWdodCgpKTsKLSAgICAgICAgICAgIGNhbnZhcy5zY2FsZSgxLCAtMSk7CiAgICAgICAgICAg
ICBjYW52YXMuY29uY2F0KG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZhdWx0KHNpemVSZXNw
ZWN0aW5nT3JpZW50YXRpb24pKTsKIAogICAgICAgICAgICAgaWYgKG9yaWVudGF0aW9uLnVzZXNX
aWR0aEFzSGVpZ2h0KCkpCiAgICAgICAgICAgICAgICAgZGVzdFJlY3QgPSBGbG9hdFJlY3QoZGVz
dFJlY3QueCgpLCBkZXN0UmVjdC55KCksIGRlc3RSZWN0LmhlaWdodCgpLCBkZXN0UmVjdC53aWR0
aCgpKTsKIAotICAgICAgICAgICAgLy8gLi4uZmxpcCBiYWNrLgotICAgICAgICAgICAgY2FudmFz
LnRyYW5zbGF0ZSgwLCBkZXN0UmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBjYW52YXMuc2Nh
bGUoMSwgLTEpOwotCiAgICAgICAgICAgICBjYW52YXMuZHJhd0JpdG1hcFJlY3QoYml0bWFwLT5i
aXRtYXAoKSwgMCwgZGVzdFJlY3QpOwogICAgICAgICAgICAgcmV0dXJuIGRyYWdJbWFnZUNocm9t
aXVtOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlT3JpZW50YXRpb24uY3BwCmluZGV4IDhhNTg1NGU2MzdiMDQwNGM1NDNmNjIwMzNm
MjA5YWViOWNjY2ExMWQuLmRjMmI5NzgyYjFlOGQ4ZWUyODA5OGMxYjViMmY4MzY5ZDViZmQ0OWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3Jp
ZW50YXRpb24uY3BwCkBAIC00MSwxNyArNDEsMTcgQEAgQWZmaW5lVHJhbnNmb3JtIEltYWdlT3Jp
ZW50YXRpb246OnRyYW5zZm9ybUZyb21EZWZhdWx0KGNvbnN0IEZsb2F0U2l6ZSYgZHJhd25TaXoK
ICAgICBjYXNlIE9yaWdpbkJvdHRvbVJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNm
b3JtKC0xLCAgMCwgIDAsIC0xLCAgdywgaCk7CiAgICAgY2FzZSBPcmlnaW5MZWZ0Qm90dG9tOgot
ICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAgMSwgLTEsICAwLCAgdywgMCk7Ci0g
ICAgY2FzZSBPcmlnaW5SaWdodFRvcDoKICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgg
MCwgLTEsICAxLCAgMCwgIDAsIGgpOworICAgIGNhc2UgT3JpZ2luUmlnaHRUb3A6CisgICAgICAg
IHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsICAxLCAtMSwgIDAsICB3LCAwKTsKICAgICBjYXNl
IE9yaWdpblRvcFJpZ2h0OgogICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKC0xLCAgMCwg
IDAsICAxLCAgdywgMCk7CiAgICAgY2FzZSBPcmlnaW5Cb3R0b21MZWZ0OgogICAgICAgICByZXR1
cm4gQWZmaW5lVHJhbnNmb3JtKCAxLCAgMCwgIDAsIC0xLCAgMCwgaCk7CiAgICAgY2FzZSBPcmln
aW5MZWZ0VG9wOgotICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAtMSwgLTEsICAw
LCAgdywgaCk7Ci0gICAgY2FzZSBPcmlnaW5SaWdodEJvdHRvbToKICAgICAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSggMCwgIDEsICAxLCAgMCwgIDAsIDApOworICAgIGNhc2UgT3JpZ2luUmln
aHRCb3R0b206CisgICAgICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsIC0xLCAtMSwgIDAs
ICB3LCBoKTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIEFm
ZmluZVRyYW5zZm9ybSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VPcmllbnRhdGlvbi5oCmluZGV4IGJkYzc1ZGVhN2NkZWY0ZTA1OTViZTVlMzIwN2Rl
ZjhjOTFjMjQxMjEuLmIxODRkYzJmNzBhN2I2MmZjZDE0MTdkOGNlNmI5NTRlNWI2MTc3MTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0
aW9uLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRoaXMgdHJh
bnNmb3JtIGNhbiBiZSB1c2VkIGZvciBkcmF3aW5nIGFuIGltYWdlIGFjY29yZGluZyB0byB0aGUg
b3JpZW50YXRpb24uCi0gICAgLy8gSXQgc2hvdWxkIGJlIHVzZWQgaW4gYSBsZWZ0LWhhbmRlZCBj
b29yZGluYXRlIHN5c3RlbS4KKyAgICAvLyBJdCBzaG91bGQgYmUgdXNlZCBpbiBhIHJpZ2h0LWhh
bmRlZCBjb29yZGluYXRlIHN5c3RlbS4KICAgICBBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtRnJv
bURlZmF1bHQoY29uc3QgRmxvYXRTaXplJiBkcmF3blNpemUpIGNvbnN0OwogCiAgICAgaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBJbWFnZU9yaWVudGF0aW9uJiBvdGhlcikgY29uc3QgeyBy
ZXR1cm4gb3RoZXIubV9vcmllbnRhdGlvbiA9PSBtX29yaWVudGF0aW9uOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRD
Ry5jcHAKaW5kZXggNmNlYWNlMzVkMzIyYjA5MGQ3MzljOGM3ZTY2MzhlNjJmNGFkYzhmNS4uM2U2
NmNjMjc5ZjNmODRlN2E2ODJiMzE3YzQ3MGRiMzA1MjM3NmMxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNw
cApAQCAtMzI2LDkgKzMyNiw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TmF0aXZlSW1h
Z2UoTmF0aXZlSW1hZ2VQdHIgaW1hZ2VQdHIsIGNvbnN0IEZsb2F0U2l6ZSYKIAogICAgIHNldFBs
YXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKG9wKTsKIAotICAgIC8vIEZsaXAgdGhlIGNvb3Jkcy4K
LSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dCwgYWRqdXN0ZWREZXN0UmVjdC54KCks
IGFkanVzdGVkRGVzdFJlY3QubWF4WSgpKTsKLSAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0
LCAxLCAtMSk7CisgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiBleHBlY3RzIHRoZSBvcmlnaW4gdG8g
YmUgYXQgKDAsIDApCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIGFkanVzdGVk
RGVzdFJlY3QueCgpLCBhZGp1c3RlZERlc3RSZWN0LnkoKSk7CiAgICAgYWRqdXN0ZWREZXN0UmVj
dC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KCkpOwogCiAgICAgaWYgKG9yaWVudGF0aW9uICE9IERl
ZmF1bHRJbWFnZU9yaWVudGF0aW9uKSB7CkBAIC0zNDAsNiArMzM5LDEwIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpkcmF3TmF0aXZlSW1hZ2UoTmF0aXZlSW1hZ2VQdHIgaW1hZ2VQdHIsIGNvbnN0
IEZsb2F0U2l6ZSYKICAgICAgICAgfQogICAgIH0KICAgICAKKyAgICAvLyBGbGlwIHRoZSBjb29y
ZHMuCisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIDAsIGFkanVzdGVkRGVzdFJl
Y3QuaGVpZ2h0KCkpOworICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRleHQsIDEsIC0xKTsKKwog
ICAgIC8vIEFkanVzdCB0aGUgY29sb3Igc3BhY2UuCiAgICAgaW1hZ2UgPSBJbWFnZTo6aW1hZ2VX
aXRoQ29sb3JTcGFjZShpbWFnZS5nZXQoKSwgc3R5bGVDb2xvclNwYWNlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwCmluZGV4
IDNiZDUxNTJmYTExNjQ0ZDY0MDEzN2I4NWU4YjkzMzBjOGE4Y2YxNWEuLjE0MGJkMTc4OGFmMTgy
ZjgzZjY0MmVhMTI5NjU4NDZiYWM0MjY4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKQEAgLTYxOSw5ICs2MTksNiBAQCB2
b2lkIEJpdG1hcEltYWdlOjpkcmF3KEdyYXBoaWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxvYXRS
ZWN0JiBkc3RSZWN0LCBjb25zdCBGbAogICAgICAgICBjdHh0LT50cmFuc2xhdGUobm9ybURzdFJl
Y3QueCgpLCBub3JtRHN0UmVjdC55KCkpOwogICAgICAgICBub3JtRHN0UmVjdC5zZXRMb2NhdGlv
bihGbG9hdFBvaW50KCkpOwogCi0gICAgICAgIC8vIEltYWdlT3JpZW50YXRpb24gYWxzbyBleHBl
Y3RzIHRoZSBvcmlnaW4gaW4gdGhlIGxvd2VyIGxlZnQgY29ybmVyLCBzbyBmbGlwLCB0cmFuc2Zv
cm0sIGFuZCB0aGVuLi4uCi0gICAgICAgIGN0eHQtPnRyYW5zbGF0ZSgwLCBub3JtRHN0UmVjdC5o
ZWlnaHQoKSk7Ci0gICAgICAgIGN0eHQtPnNjYWxlKEZsb2F0U2l6ZSgxLCAtMSkpOwogICAgICAg
ICBjdHh0LT5jb25jYXRDVE0ob3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1bHQobm9ybURz
dFJlY3Quc2l6ZSgpKSk7CiAKICAgICAgICAgaWYgKG9yaWVudGF0aW9uLnVzZXNXaWR0aEFzSGVp
Z2h0KCkpIHsKQEAgLTYyOSwxMCArNjI2LDYgQEAgdm9pZCBCaXRtYXBJbWFnZTo6ZHJhdyhHcmFw
aGljc0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAg
ICAgICAgICAgIC8vIHRoZSBpbWFnZSwgYXMgaXQgd2FzIG5lZWRlZCBmb3IgcGFnZSBsYXlvdXQs
IHNvIHdlIG5lZWQgdG8gcmV2ZXJzZSBpdCBiYWNrIGhlcmUuCiAgICAgICAgICAgICBub3JtRHN0
UmVjdCA9IEZsb2F0UmVjdChub3JtRHN0UmVjdC54KCksIG5vcm1Ec3RSZWN0LnkoKSwgbm9ybURz
dFJlY3QuaGVpZ2h0KCksIG5vcm1Ec3RSZWN0LndpZHRoKCkpOwogICAgICAgICB9Ci0KLSAgICAg
ICAgLy8gLi4uZmxpcCBiYWNrLgotICAgICAgICBjdHh0LT50cmFuc2xhdGUoMCwgbm9ybURzdFJl
Y3QuaGVpZ2h0KCkpOwotICAgICAgICBjdHh0LT5zY2FsZShGbG9hdFNpemUoMSwgLTEpKTsKICAg
ICB9CiAKICAgICBwYWludFNrQml0bWFwKGN0eHQtPnBsYXRmb3JtQ29udGV4dCgpLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KaW5kZXggYTM0ODA5MjFhMmEw
NGU5MWVkZjVmZWViYWYyMTJkMWJlMWRmOThkMy4uYjkyY2U2MGVlOGJlYjI5NTQzMmEyMTNlZjA1
NjMzZjU0MzhhMWUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdl
TWFjLm1tCkBAIC05OSwxNyArOTksMjcgQEAgUmV0YWluUHRyPE5TSW1hZ2U+IGNyZWF0ZURyYWdJ
bWFnZUZyb21JbWFnZShJbWFnZSogaW1hZ2UsIFJlc3BlY3RJbWFnZU9yaWVudGF0aW8KIAogICAg
ICAgICBpZiAob3JpZW50YXRpb24gIT0gRGVmYXVsdEltYWdlT3JpZW50YXRpb24pIHsKICAgICAg
ICAgICAgIC8vIENvbnN0cnVjdCBhIGNvcnJlY3RseS1yb3RhdGVkIGNvcHkgb2YgdGhlIGltYWdl
IHRvIHVzZSBhcyB0aGUgZHJhZyBpbWFnZS4KLSAgICAgICAgICAgIFJldGFpblB0cjxOU0FmZmlu
ZVRyYW5zZm9ybT4gY29jb2FUcmFuc2Zvcm0oQWRvcHROUywgW1tOU0FmZmluZVRyYW5zZm9ybSBh
bGxvY10gaW5pdF0pOwotICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0g
b3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1bHQoc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlv
bik7Ci0gICAgICAgICAgICBbY29jb2FUcmFuc2Zvcm0uZ2V0KCkgc2V0VHJhbnNmb3JtU3RydWN0
OiooTlNBZmZpbmVUcmFuc2Zvcm1TdHJ1Y3QqKSZ0cmFuc2Zvcm1dOwotCiAgICAgICAgICAgICBG
bG9hdFJlY3QgZGVzdFJlY3QoRmxvYXRQb2ludCgpLCBzaXplUmVzcGVjdGluZ09yaWVudGF0aW9u
KTsKIAogICAgICAgICAgICAgUmV0YWluUHRyPE5TSW1hZ2U+IHJvdGF0ZWREcmFnSW1hZ2UoQWRv
cHROUywgW1tOU0ltYWdlIGFsbG9jXSBpbml0V2l0aFNpemU6KE5TU2l6ZSkoc2l6ZVJlc3BlY3Rp
bmdPcmllbnRhdGlvbildKTsKICAgICAgICAgICAgIFtyb3RhdGVkRHJhZ0ltYWdlLmdldCgpIGxv
Y2tGb2N1c107Ci0gICAgICAgICAgICBbY29jb2FUcmFuc2Zvcm0uZ2V0KCkgY29uY2F0XTsKKwor
ICAgICAgICAgICAgLy8gSW1hZ2VPcmllbnRhdGlvbiB1c2VzIHRvcC1sZWZ0IGNvb3JkaW5hdGVz
LCBuZWVkIHRvIGZsaXAgdG8gYm90dG9tLWxlZnQsIGFwcGx5Li4uCisgICAgICAgICAgICBDR0Fm
ZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VUcmFuc2xhdGlv
bigwLCBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmlu
ZVRyYW5zZm9ybVNjYWxlKHRyYW5zZm9ybSwgMSwgLTEpOworICAgICAgICAgICAgdHJhbnNmb3Jt
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQob3JpZW50YXRpb24udHJhbnNmb3JtRnJvbURlZmF1
bHQoc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlvbiksIHRyYW5zZm9ybSk7CisKICAgICAgICAgICAg
IGlmIChvcmllbnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpKQogICAgICAgICAgICAgICAgIGRl
c3RSZWN0ID0gRmxvYXRSZWN0KGRlc3RSZWN0LngoKSwgZGVzdFJlY3QueSgpLCBkZXN0UmVjdC5o
ZWlnaHQoKSwgZGVzdFJlY3Qud2lkdGgoKSk7CisKKyAgICAgICAgICAgIC8vIC4uLmFuZCBmbGlw
IGJhY2suCisgICAgICAgICAgICB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybVRyYW5zbGF0
ZSh0cmFuc2Zvcm0sIDAsIGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgICAgIHRyYW5zZm9y
bSA9IENHQWZmaW5lVHJhbnNmb3JtU2NhbGUodHJhbnNmb3JtLCAxLCAtMSk7CisKKyAgICAgICAg
ICAgIFJldGFpblB0cjxOU0FmZmluZVRyYW5zZm9ybT4gY29jb2FUcmFuc2Zvcm0oQWRvcHROUywg
W1tOU0FmZmluZVRyYW5zZm9ybSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgW2NvY29hVHJh
bnNmb3JtLmdldCgpIHNldFRyYW5zZm9ybVN0cnVjdDoqKE5TQWZmaW5lVHJhbnNmb3JtU3RydWN0
KikmdHJhbnNmb3JtXTsKKyAgICAgICAgICAgIFtjb2NvYVRyYW5zZm9ybS5nZXQoKSBjb25jYXRd
OworCiAgICAgICAgICAgICBbaW1hZ2UtPmdldE5TSW1hZ2UoKSBkcmF3SW5SZWN0OmRlc3RSZWN0
IGZyb21SZWN0Ok5TTWFrZVJlY3QoMCwgMCwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSBv
cGVyYXRpb246TlNDb21wb3NpdGVTb3VyY2VPdmVyIGZyYWN0aW9uOjEuMF07CiAgICAgICAgICAg
ICBbcm90YXRlZERyYWdJbWFnZS5nZXQoKSB1bmxvY2tGb2N1c107CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170731</attachid>
            <date>2012-10-25 14:29:23 -0700</date>
            <delta_ts>2012-10-25 19:18:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100414-20121025142805.patch</filename>
            <type>text/plain</type>
            <size>10030</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFjZDAyYmMwMmExNjFj
NWUzZjQ5NzM1MDFkYWY1MDY0MjY0NTY3Mi4uZGIyOWNkY2M5NWRiYmNiYzMyNmZhZjcwMjMxY2E3
MjY3MzI2MTM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEyLTEwLTI1ICBOaWNv
IFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBGbGlwIEltYWdlT3JpZW50
YXRpb24gY29vcmRpbmF0ZSBzeXN0ZW0gZnJvbSBsZWZ0aGFuZGVkIHRvIHJpZ2h0aGFuZGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcywgbm90ZWFibHkgR3JhcGhpY3NDb250ZXh0IHVzZXMgYSByaWdodC1oYW5kZWQKKyAg
ICAgICAgY29vcmRpbmF0ZSBzeXN0ZW0gKG9yaWdpbiBpbiB0aGUgdG9wIGxlZnQgY29ybmVyLCB4
IGdyb3dpbmcgdG8gdGhlCisgICAgICAgIHJpZ2h0LCB5IHRvIHRoZSBib3R0b20pLiAgSW1hZ2VP
cmllbnRhdGlvbiB3YXMgYW4gb3V0bGllciBmcm9tCisgICAgICAgIGFuZCB1c2VkIGEgbGVmdC1o
YW5kZWQgY29vcmRpbmF0ZSBzeXN0ZW0uICBUaGlzIHBhdGNoIG1ha2VzCisgICAgICAgIEltYWdl
T3JpZW50YXRpb24gbWF0Y2ggdGhlIHJlc3Qgb2YgcGxhdGZvcm0vZ3JhcGhpY3MuCisKKyAgICAg
ICAgVGhpcyBpcyBhIHB1cmUgcmVmYWN0b3JpbmcgYW5kIGhhcyBubyBvYnNlcnZhYmxlIGVmZmVj
dHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9EcmFnSW1hZ2VDaHJvbWl1bVNraWEu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRnJvbUltYWdlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlT3JpZW50YXRpb246OnRyYW5zZm9ybUZyb21EZWZhdWx0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdOYXRpdmVJbWFnZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0
bWFwSW1hZ2U6OmRyYXcpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0OjpzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbik6CisKKzIwMTItMTAtMjUgIE5pY28g
V2ViZXIgIDx0aGFraXNAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIE1vdmUgSW1hZ2VPcmllbnRh
dGlvbiB0cmFuc2Zvcm0gYmFjayBpbiBDRyBzcGFjZSAobG93ZXItbGVmdCBvcmlnaW4pLCBhZGFw
dCB0aGUgc2tpYSBjb2RlIHRvIHdvcmsgd2l0aCB0aGF0LCB0dXJuIG9uIGZlYXR1cmUgZm9yIGNo
cm9taXVtCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDA0MDEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJh
Z0ltYWdlQ2hyb21pdW1Ta2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0RyYWdJbWFnZUNocm9taXVtU2tpYS5jcHAKaW5kZXggMzJjOTlmNmExOGUwMGQzY2EzMDU0YTYx
ZjdmNzgwM2YxNDk2OGI3My4uMWIwZDkyYWUxYTgzNWRhZGJlYmM1NDhkM2U3YjU3ZmVmOGUxODFi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0ltYWdl
Q2hyb21pdW1Ta2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9E
cmFnSW1hZ2VDaHJvbWl1bVNraWEuY3BwCkBAIC0xMzAsMTggKzEzMCwxMSBAQCBEcmFnSW1hZ2VS
ZWYgY3JlYXRlRHJhZ0ltYWdlRnJvbUltYWdlKEltYWdlKiBpbWFnZSwgUmVzcGVjdEltYWdlT3Jp
ZW50YXRpb25FbnVtCiAgICAgICAgICAgICBGbG9hdFJlY3QgZGVzdFJlY3QoRmxvYXRQb2ludCgp
LCBzaXplUmVzcGVjdGluZ09yaWVudGF0aW9uKTsKICAgICAgICAgICAgIFNrQ2FudmFzIGNhbnZh
cygqZHJhZ0ltYWdlQ2hyb21pdW0tPmJpdG1hcCk7CiAKLSAgICAgICAgICAgIC8vIEltYWdlT3Jp
ZW50YXRpb24gZXhwZWN0cyB0aGUgb3JpZ2luIGluIHRoZSBsb3dlciBsZWZ0IGNvcm5lciwgc28g
ZmxpcCwgdHJhbnNmb3JtLCBhbmQgdGhlbi4uLgotICAgICAgICAgICAgY2FudmFzLnRyYW5zbGF0
ZSgwLCBkZXN0UmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICBjYW52YXMuc2NhbGUoMSwgLTEp
OwogICAgICAgICAgICAgY2FudmFzLmNvbmNhdChvcmllbnRhdGlvbi50cmFuc2Zvcm1Gcm9tRGVm
YXVsdChzaXplUmVzcGVjdGluZ09yaWVudGF0aW9uKSk7CiAKICAgICAgICAgICAgIGlmIChvcmll
bnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpKQogICAgICAgICAgICAgICAgIGRlc3RSZWN0ID0g
RmxvYXRSZWN0KGRlc3RSZWN0LngoKSwgZGVzdFJlY3QueSgpLCBkZXN0UmVjdC5oZWlnaHQoKSwg
ZGVzdFJlY3Qud2lkdGgoKSk7CiAKLSAgICAgICAgICAgIC8vIC4uLmZsaXAgYmFjay4KLSAgICAg
ICAgICAgIGNhbnZhcy50cmFuc2xhdGUoMCwgZGVzdFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICAg
ICAgY2FudmFzLnNjYWxlKDEsIC0xKTsKLQogICAgICAgICAgICAgY2FudmFzLmRyYXdCaXRtYXBS
ZWN0KGJpdG1hcC0+Yml0bWFwKCksIDAsIGRlc3RSZWN0KTsKICAgICAgICAgICAgIHJldHVybiBk
cmFnSW1hZ2VDaHJvbWl1bTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcAppbmRleCA4YTU4NTRlNjM3YjA0
MDRjNTQzZjYyMDMzZjIwOWFlYjljY2NhMTFkLi5kYzJiOTc4MmIxZThkOGVlMjgwOThjMWI1YjJm
ODM2OWQ1YmZkNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZU9yaWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcApAQCAtNDEsMTcgKzQxLDE3IEBAIEFmZmluZVRyYW5z
Zm9ybSBJbWFnZU9yaWVudGF0aW9uOjp0cmFuc2Zvcm1Gcm9tRGVmYXVsdChjb25zdCBGbG9hdFNp
emUmIGRyYXduU2l6CiAgICAgY2FzZSBPcmlnaW5Cb3R0b21SaWdodDoKICAgICAgICAgcmV0dXJu
IEFmZmluZVRyYW5zZm9ybSgtMSwgIDAsICAwLCAtMSwgIHcsIGgpOwogICAgIGNhc2UgT3JpZ2lu
TGVmdEJvdHRvbToKLSAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSggMCwgIDEsIC0xLCAg
MCwgIHcsIDApOwotICAgIGNhc2UgT3JpZ2luUmlnaHRUb3A6CiAgICAgICAgIHJldHVybiBBZmZp
bmVUcmFuc2Zvcm0oIDAsIC0xLCAgMSwgIDAsICAwLCBoKTsKKyAgICBjYXNlIE9yaWdpblJpZ2h0
VG9wOgorICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAwLCAgMSwgLTEsICAwLCAgdywg
MCk7CiAgICAgY2FzZSBPcmlnaW5Ub3BSaWdodDoKICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5z
Zm9ybSgtMSwgIDAsICAwLCAgMSwgIHcsIDApOwogICAgIGNhc2UgT3JpZ2luQm90dG9tTGVmdDoK
ICAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSggMSwgIDAsICAwLCAtMSwgIDAsIGgpOwog
ICAgIGNhc2UgT3JpZ2luTGVmdFRvcDoKLSAgICAgICAgcmV0dXJuIEFmZmluZVRyYW5zZm9ybSgg
MCwgLTEsIC0xLCAgMCwgIHcsIGgpOwotICAgIGNhc2UgT3JpZ2luUmlnaHRCb3R0b206CiAgICAg
ICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oIDAsICAxLCAgMSwgIDAsICAwLCAwKTsKKyAgICBj
YXNlIE9yaWdpblJpZ2h0Qm90dG9tOgorICAgICAgICByZXR1cm4gQWZmaW5lVHJhbnNmb3JtKCAw
LCAtMSwgLTEsICAwLCAgdywgaCk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiBBZmZpbmVUcmFuc2Zvcm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaAppbmRleCBiZGM3NWRlYTdjZGVmNGUw
NTk1YmU1ZTMyMDdkZWY4YzkxYzI0MTIxLi5iMTg0ZGMyZjcwYTdiNjJmY2QxNDE3ZDhjZTZiOTU0
ZTViNjE3NzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZU9yaWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VPcmllbnRhdGlvbi5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAg
ICAvLyBUaGlzIHRyYW5zZm9ybSBjYW4gYmUgdXNlZCBmb3IgZHJhd2luZyBhbiBpbWFnZSBhY2Nv
cmRpbmcgdG8gdGhlIG9yaWVudGF0aW9uLgotICAgIC8vIEl0IHNob3VsZCBiZSB1c2VkIGluIGEg
bGVmdC1oYW5kZWQgY29vcmRpbmF0ZSBzeXN0ZW0uCisgICAgLy8gSXQgc2hvdWxkIGJlIHVzZWQg
aW4gYSByaWdodC1oYW5kZWQgY29vcmRpbmF0ZSBzeXN0ZW0uCiAgICAgQWZmaW5lVHJhbnNmb3Jt
IHRyYW5zZm9ybUZyb21EZWZhdWx0KGNvbnN0IEZsb2F0U2l6ZSYgZHJhd25TaXplKSBjb25zdDsK
IAogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgSW1hZ2VPcmllbnRhdGlvbiYgb3Ro
ZXIpIGNvbnN0IHsgcmV0dXJuIG90aGVyLm1fb3JpZW50YXRpb24gPT0gbV9vcmllbnRhdGlvbjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3Jh
cGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDZjZWFjZTM1ZDMyMmIwOTBkNzM5YzhjN2U2NjM4ZTYy
ZjRhZGM4ZjUuLjNlNjZjYzI3OWYzZjg0ZTdhNjgyYjMxN2M0NzBkYjMwNTIzNzZjMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4
dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRDRy5jcHAKQEAgLTMyNiw5ICszMjYsOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
ZHJhd05hdGl2ZUltYWdlKE5hdGl2ZUltYWdlUHRyIGltYWdlUHRyLCBjb25zdCBGbG9hdFNpemUm
CiAKICAgICBzZXRQbGF0Zm9ybUNvbXBvc2l0ZU9wZXJhdGlvbihvcCk7CiAKLSAgICAvLyBGbGlw
IHRoZSBjb29yZHMuCi0gICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQsIGFkanVzdGVk
RGVzdFJlY3QueCgpLCBhZGp1c3RlZERlc3RSZWN0Lm1heFkoKSk7Ci0gICAgQ0dDb250ZXh0U2Nh
bGVDVE0oY29udGV4dCwgMSwgLTEpOworICAgIC8vIEltYWdlT3JpZW50YXRpb24gZXhwZWN0cyB0
aGUgb3JpZ2luIHRvIGJlIGF0ICgwLCAwKQorICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250
ZXh0LCBhZGp1c3RlZERlc3RSZWN0LngoKSwgYWRqdXN0ZWREZXN0UmVjdC55KCkpOwogICAgIGFk
anVzdGVkRGVzdFJlY3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludCgpKTsKIAogICAgIGlmIChvcmll
bnRhdGlvbiAhPSBEZWZhdWx0SW1hZ2VPcmllbnRhdGlvbikgewpAQCAtMzQwLDYgKzMzOSwxMCBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKE5hdGl2ZUltYWdlUHRyIGlt
YWdlUHRyLCBjb25zdCBGbG9hdFNpemUmCiAgICAgICAgIH0KICAgICB9CiAgICAgCisgICAgLy8g
RmxpcCB0aGUgY29vcmRzLgorICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShjb250ZXh0LCAwLCBh
ZGp1c3RlZERlc3RSZWN0LmhlaWdodCgpKTsKKyAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0
LCAxLCAtMSk7CisKICAgICAvLyBBZGp1c3QgdGhlIGNvbG9yIHNwYWNlLgogICAgIGltYWdlID0g
SW1hZ2U6OmltYWdlV2l0aENvbG9yU3BhY2UoaW1hZ2UuZ2V0KCksIHN0eWxlQ29sb3JTcGFjZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1h
Z2VTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VT
a2lhLmNwcAppbmRleCAzYmQ1MTUyZmExMTY0NGQ2NDAxMzdiODVlOGI5MzMwYzhhOGNmMTVhLi4x
NDBiZDE3ODhhZjE4MmY4M2Y2NDJlYTEyOTY1ODQ2YmFjNDI2ODg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwCkBAIC02MTks
OSArNjE5LDYgQEAgdm9pZCBCaXRtYXBJbWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGN0eHQs
IGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmwKICAgICAgICAgY3R4dC0+dHJhbnNs
YXRlKG5vcm1Ec3RSZWN0LngoKSwgbm9ybURzdFJlY3QueSgpKTsKICAgICAgICAgbm9ybURzdFJl
Y3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludCgpKTsKIAotICAgICAgICAvLyBJbWFnZU9yaWVudGF0
aW9uIGFsc28gZXhwZWN0cyB0aGUgb3JpZ2luIGluIHRoZSBsb3dlciBsZWZ0IGNvcm5lciwgc28g
ZmxpcCwgdHJhbnNmb3JtLCBhbmQgdGhlbi4uLgotICAgICAgICBjdHh0LT50cmFuc2xhdGUoMCwg
bm9ybURzdFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICBjdHh0LT5zY2FsZShGbG9hdFNpemUoMSwg
LTEpKTsKICAgICAgICAgY3R4dC0+Y29uY2F0Q1RNKG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21E
ZWZhdWx0KG5vcm1Ec3RSZWN0LnNpemUoKSkpOwogCiAgICAgICAgIGlmIChvcmllbnRhdGlvbi51
c2VzV2lkdGhBc0hlaWdodCgpKSB7CkBAIC02MjksMTAgKzYyNiw2IEBAIHZvaWQgQml0bWFwSW1h
Z2U6OmRyYXcoR3JhcGhpY3NDb250ZXh0KiBjdHh0LCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3Qs
IGNvbnN0IEZsCiAgICAgICAgICAgICAvLyB0aGUgaW1hZ2UsIGFzIGl0IHdhcyBuZWVkZWQgZm9y
IHBhZ2UgbGF5b3V0LCBzbyB3ZSBuZWVkIHRvIHJldmVyc2UgaXQgYmFjayBoZXJlLgogICAgICAg
ICAgICAgbm9ybURzdFJlY3QgPSBGbG9hdFJlY3Qobm9ybURzdFJlY3QueCgpLCBub3JtRHN0UmVj
dC55KCksIG5vcm1Ec3RSZWN0LmhlaWdodCgpLCBub3JtRHN0UmVjdC53aWR0aCgpKTsKICAgICAg
ICAgfQotCi0gICAgICAgIC8vIC4uLmZsaXAgYmFjay4KLSAgICAgICAgY3R4dC0+dHJhbnNsYXRl
KDAsIG5vcm1Ec3RSZWN0LmhlaWdodCgpKTsKLSAgICAgICAgY3R4dC0+c2NhbGUoRmxvYXRTaXpl
KDEsIC0xKSk7CiAgICAgfQogCiAgICAgcGFpbnRTa0JpdG1hcChjdHh0LT5wbGF0Zm9ybUNvbnRl
eHQoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCmluZGV4
IGEzNDgwOTIxYTJhMDRlOTFlZGY1ZmVlYmFmMjEyZDFiZTFkZjk4ZDMuLmI5MmNlNjBlZThiZWIy
OTU0MzJhMjEzZWYwNTYzM2Y1NDM4YTFlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0RyYWdJbWFnZU1hYy5tbQpAQCAtOTksMTcgKzk5LDI3IEBAIFJldGFpblB0cjxOU0ltYWdl
PiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltYWdlLCBSZXNwZWN0SW1hZ2VPcmll
bnRhdGlvCiAKICAgICAgICAgaWYgKG9yaWVudGF0aW9uICE9IERlZmF1bHRJbWFnZU9yaWVudGF0
aW9uKSB7CiAgICAgICAgICAgICAvLyBDb25zdHJ1Y3QgYSBjb3JyZWN0bHktcm90YXRlZCBjb3B5
IG9mIHRoZSBpbWFnZSB0byB1c2UgYXMgdGhlIGRyYWcgaW1hZ2UuCi0gICAgICAgICAgICBSZXRh
aW5QdHI8TlNBZmZpbmVUcmFuc2Zvcm0+IGNvY29hVHJhbnNmb3JtKEFkb3B0TlMsIFtbTlNBZmZp
bmVUcmFuc2Zvcm0gYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgIENHQWZmaW5lVHJhbnNmb3Jt
IHRyYW5zZm9ybSA9IG9yaWVudGF0aW9uLnRyYW5zZm9ybUZyb21EZWZhdWx0KHNpemVSZXNwZWN0
aW5nT3JpZW50YXRpb24pOwotICAgICAgICAgICAgW2NvY29hVHJhbnNmb3JtLmdldCgpIHNldFRy
YW5zZm9ybVN0cnVjdDoqKE5TQWZmaW5lVHJhbnNmb3JtU3RydWN0KikmdHJhbnNmb3JtXTsKLQog
ICAgICAgICAgICAgRmxvYXRSZWN0IGRlc3RSZWN0KEZsb2F0UG9pbnQoKSwgc2l6ZVJlc3BlY3Rp
bmdPcmllbnRhdGlvbik7CiAKICAgICAgICAgICAgIFJldGFpblB0cjxOU0ltYWdlPiByb3RhdGVk
RHJhZ0ltYWdlKEFkb3B0TlMsIFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhTaXplOihOU1NpemUp
KHNpemVSZXNwZWN0aW5nT3JpZW50YXRpb24pXSk7CiAgICAgICAgICAgICBbcm90YXRlZERyYWdJ
bWFnZS5nZXQoKSBsb2NrRm9jdXNdOwotICAgICAgICAgICAgW2NvY29hVHJhbnNmb3JtLmdldCgp
IGNvbmNhdF07CisKKyAgICAgICAgICAgIC8vIEltYWdlT3JpZW50YXRpb24gdXNlcyB0b3AtbGVm
dCBjb29yZGluYXRlcywgbmVlZCB0byBmbGlwIHRvIGJvdHRvbS1sZWZ0LCBhcHBseS4uLgorICAg
ICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1N
YWtlVHJhbnNsYXRpb24oMCwgZGVzdFJlY3QuaGVpZ2h0KCkpOworICAgICAgICAgICAgdHJhbnNm
b3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1TY2FsZSh0cmFuc2Zvcm0sIDEsIC0xKTsKKyAgICAgICAg
ICAgIHRyYW5zZm9ybSA9IENHQWZmaW5lVHJhbnNmb3JtQ29uY2F0KG9yaWVudGF0aW9uLnRyYW5z
Zm9ybUZyb21EZWZhdWx0KHNpemVSZXNwZWN0aW5nT3JpZW50YXRpb24pLCB0cmFuc2Zvcm0pOwor
CiAgICAgICAgICAgICBpZiAob3JpZW50YXRpb24udXNlc1dpZHRoQXNIZWlnaHQoKSkKICAgICAg
ICAgICAgICAgICBkZXN0UmVjdCA9IEZsb2F0UmVjdChkZXN0UmVjdC54KCksIGRlc3RSZWN0Lnko
KSwgZGVzdFJlY3QuaGVpZ2h0KCksIGRlc3RSZWN0LndpZHRoKCkpOworCisgICAgICAgICAgICAv
LyAuLi5hbmQgZmxpcCBiYWNrLgorICAgICAgICAgICAgdHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFu
c2Zvcm1UcmFuc2xhdGUodHJhbnNmb3JtLCAwLCBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgICAg
ICAgICB0cmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybVNjYWxlKHRyYW5zZm9ybSwgMSwgLTEp
OworCisgICAgICAgICAgICBSZXRhaW5QdHI8TlNBZmZpbmVUcmFuc2Zvcm0+IGNvY29hVHJhbnNm
b3JtKEFkb3B0TlMsIFtbTlNBZmZpbmVUcmFuc2Zvcm0gYWxsb2NdIGluaXRdKTsKKyAgICAgICAg
ICAgIFtjb2NvYVRyYW5zZm9ybS5nZXQoKSBzZXRUcmFuc2Zvcm1TdHJ1Y3Q6KihOU0FmZmluZVRy
YW5zZm9ybVN0cnVjdCopJnRyYW5zZm9ybV07CisgICAgICAgICAgICBbY29jb2FUcmFuc2Zvcm0u
Z2V0KCkgY29uY2F0XTsKKwogICAgICAgICAgICAgW2ltYWdlLT5nZXROU0ltYWdlKCkgZHJhd0lu
UmVjdDpkZXN0UmVjdCBmcm9tUmVjdDpOU01ha2VSZWN0KDAsIDAsIHNpemUud2lkdGgoKSwgc2l6
ZS5oZWlnaHQoKSkgb3BlcmF0aW9uOk5TQ29tcG9zaXRlU291cmNlT3ZlciBmcmFjdGlvbjoxLjBd
OwogICAgICAgICAgICAgW3JvdGF0ZWREcmFnSW1hZ2UuZ2V0KCkgdW5sb2NrRm9jdXNdOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>