<?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>74547</bug_id>
          
          <creation_ts>2011-12-14 15:17:12 -0800</creation_ts>
          <short_desc>[Chromium] Add trace events for decoding and drawing images.</short_desc>
          <delta_ts>2011-12-16 00:35:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Sievers">sievers</reporter>
          <assigned_to name="Daniel Sievers">sievers</assigned_to>
          <cc>aelias</cc>
    
    <cc>jamesr</cc>
    
    <cc>jbates</cc>
    
    <cc>nduca</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>521343</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-14 15:17:12 -0800</bug_when>
    <thetext>[Chromium] Add trace events for decoding and drawing images.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521357</commentid>
    <comment_count>1</comment_count>
      <attachid>119308</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-14 15:24:14 -0800</bug_when>
    <thetext>Created attachment 119308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521377</commentid>
    <comment_count>2</comment_count>
      <attachid>119308</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-14 15:44:14 -0800</bug_when>
    <thetext>Comment on attachment 119308
Patch

Neato.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521543</commentid>
    <comment_count>3</comment_count>
      <attachid>119308</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-12-14 18:04:30 -0800</bug_when>
    <thetext>Comment on attachment 119308
Patch

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

&gt; Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:81
&gt; +            TRACE_EVENT(&quot;NativeImageSkia::resizedBitmap&quot;, const_cast&lt;NativeImageSkia*&gt;(this), &quot;noncached&quot;);

May want to avoid using the extra string parameter -- it causes a strdup even when tracing is disabled. Hmm or you could remove the strdup from TraceEvent.h and always pass 0 to traceEventEnd. Isn&apos;t that redundant info anyway?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521976</commentid>
    <comment_count>4</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-15 09:50:10 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; May want to avoid using the extra string parameter -- it causes a strdup even when tracing is disabled.

Oh good god, how the @%&amp;()* did that get in there?

Daniel, while you&apos;re in this code, can you please make the strdup in TraceEvent.h conditional on PlatformSupport::isTraceEventEnabled, at least?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522114</commentid>
    <comment_count>5</comment_count>
      <attachid>119476</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-15 11:47:48 -0800</bug_when>
    <thetext>Created attachment 119476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522116</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-15 11:49:28 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=74637 for strdup().

I realized it might add value to have different trace events for the three paths we can hit in resizedBitmap(). That way you can simply select a region and see how often we hit the cache and such.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522179</commentid>
    <comment_count>7</comment_count>
      <attachid>119476</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-12-15 13:11:07 -0800</bug_when>
    <thetext>Comment on attachment 119476
Patch

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

&gt; Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:86
&gt; +            TRACE_EVENT(&quot;NativeImageSkia::resizedBitmap_cachedResize&quot;, const_cast&lt;NativeImageSkia*&gt;(this), 0);

Better to use {} around this macro -- if I get around to improving it, this code would break.

&gt; Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:90
&gt; +        TRACE_EVENT(&quot;NativeImageSkia::resizedBitmap_cacheHit&quot;, const_cast&lt;NativeImageSkia*&gt;(this), 0);

Same here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522180</commentid>
    <comment_count>8</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-15 13:12:52 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 119476 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119476&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:86
&gt; &gt; +            TRACE_EVENT(&quot;NativeImageSkia::resizedBitmap_cachedResize&quot;, const_cast&lt;NativeImageSkia*&gt;(this), 0);
&gt; 
&gt; Better to use {} around this macro -- if I get around to improving it, this code would break.

Woah, no! That&apos;s terrible! That&apos;d break the timing measurement its&apos; trying to do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522201</commentid>
    <comment_count>9</comment_count>
      <attachid>119476</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-12-15 13:31:03 -0800</bug_when>
    <thetext>Comment on attachment 119476
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:86
&gt;&gt;&gt; +            TRACE_EVENT(&quot;NativeImageSkia::resizedBitmap_cachedResize&quot;, const_cast&lt;NativeImageSkia*&gt;(this), 0);
&gt;&gt; 
&gt;&gt; Better to use {} around this macro -- if I get around to improving it, this code would break.
&gt; 
&gt; Woah, no! That&apos;s terrible! That&apos;d break the timing measurement its&apos; trying to do?

(discussed offline -- it was a misunderstanding)

You may want to change this back to your old impl with the string arg now that you&apos;re fixing the strdup. Otherwise these trace events don&apos;t catch this whole scope (if that matters).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522233</commentid>
    <comment_count>10</comment_count>
      <attachid>119502</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-15 14:17:03 -0800</bug_when>
    <thetext>Created attachment 119502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522235</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-15 14:19:04 -0800</bug_when>
    <thetext>
I think I&apos;d like to keep the separate trace events, just because it&apos;s cool to be able to drag a rectangle in the trace viewer and see the occurrence count for both (cached, noncached) separately.

How about this new variant?

&gt; 
&gt; You may want to change this back to your old impl with the string arg now that you&apos;re fixing the strdup. Otherwise these trace events don&apos;t catch this whole scope (if that matters).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522242</commentid>
    <comment_count>12</comment_count>
      <attachid>119502</attachid>
    <who name="John Bates">jbates</who>
    <bug_when>2011-12-15 14:34:33 -0800</bug_when>
    <thetext>Comment on attachment 119502
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522334</commentid>
    <comment_count>13</comment_count>
      <attachid>119502</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 16:46:14 -0800</bug_when>
    <thetext>Comment on attachment 119502
Patch

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

&gt; Source/WebCore/platform/graphics/skia/ImageSkia.cpp:49
&gt; +#include &quot;TraceEvent.h&quot;

skia does not necessarily imply chromium, so you need the same #if PLATFORM() guards here as elsewhere. sorry i didn&apos;t catch this the first time</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522378</commentid>
    <comment_count>14</comment_count>
      <attachid>119528</attachid>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2011-12-15 17:20:50 -0800</bug_when>
    <thetext>Created attachment 119528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522572</commentid>
    <comment_count>15</comment_count>
      <attachid>119528</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 23:28:47 -0800</bug_when>
    <thetext>Comment on attachment 119528
Patch

Awesome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522607</commentid>
    <comment_count>16</comment_count>
      <attachid>119528</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 00:35:22 -0800</bug_when>
    <thetext>Comment on attachment 119528
Patch

Clearing flags on attachment: 119528

Committed r103041: &lt;http://trac.webkit.org/changeset/103041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522608</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 00:35:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119308</attachid>
            <date>2011-12-14 15:24:14 -0800</date>
            <delta_ts>2011-12-15 11:47:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74547-20111214152413.patch</filename>
            <type>text/plain</type>
            <size>9971</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk4ODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OGJiYjAxODgzMDdmMzUx
NjQ2MWI1MjQ4N2IzZDZiZGMyYjEwYzgxLi5lNjhmYzRlMDJiNmI3Zjg2MzVmNDNiNmFmMTgwYTI1
MTkxOTEwZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMTItMTQgIERhbmll
bCBTaWV2ZXJzICA8c2lldmVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBB
ZGQgdHJhY2UgZXZlbnRzIGZvciBkZWNvZGluZyBhbmQgZHJhd2luZyBpbWFnZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9JbWFnZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZHJhd1Jlc2FtcGxlZEJp
dG1hcCk6CisgICAgICAgIChXZWJDb3JlOjpwYWludFNrQml0bWFwKToKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlOjpkcmF3UGF0dGVybik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9OYXRpdmVJbWFnZVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF0aXZlSW1hZ2VTa2lh
OjpyZXNpemVkQml0bWFwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAv
Qk1QSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJNUEltYWdlRGVjb2Rlcjo6
ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VE
ZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6ZGVjb2RlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlBFR0ltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBOR0ltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKwogMjAxMS0xMS0xMCAgRGVhbiBKYWNrc29uICA8
ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUGFyc2UgZHJvcC1zaGFkb3coKSBmaWx0ZXIgc3lu
dGF4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0lt
YWdlU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdl
U2tpYS5jcHAKaW5kZXggOTU0NzhiYmQwMGEwZjZhOTk5YzYwNTExNDM4MjU4NjkzZGVlMzIxNC4u
OGIwNTA1MTY5YTJlZmQ0YzY4YjA0ZDVjMjI5NzY4MmQ0ZWQ5Y2Q0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNraWEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcApAQCAtNDYs
NiArNDYsNyBAQAogI2luY2x1ZGUgIlNrU2hhZGVyLmgiCiAjaW5jbHVkZSAiU2tpYVV0aWxzLmgi
CiAjaW5jbHVkZSAiVGV4dHVyZS5oIgorI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKIAogI2luY2x1
ZGUgInNraWEvZXh0L2ltYWdlX29wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0
Zm9ybV9jYW52YXMuaCIKQEAgLTE2Niw2ICsxNjcsNyBAQCBzdGF0aWMgUmVzYW1wbGluZ01vZGUg
Y29tcHV0ZVJlc2FtcGxpbmdNb2RlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4
dAogLy8gc2NhbGluZyBvciB0cmFuc2xhdGlvbi4KIHN0YXRpYyB2b2lkIGRyYXdSZXNhbXBsZWRC
aXRtYXAoU2tDYW52YXMmIGNhbnZhcywgU2tQYWludCYgcGFpbnQsIGNvbnN0IE5hdGl2ZUltYWdl
U2tpYSYgYml0bWFwLCBjb25zdCBTa0lSZWN0JiBzcmNJUmVjdCwgY29uc3QgU2tSZWN0JiBkZXN0
UmVjdCkKIHsKKyAgICBUUkFDRV9FVkVOVCgiZHJhd1Jlc2FtcGxlZEJpdG1hcCIsICZjYW52YXMs
IDApOwogICAgIC8vIEFwcGx5IGZvcndhcmQgdHJhbnNmb3JtIHRvIGRlc3RSZWN0IHRvIGVzdGlt
YXRlIHJlcXVpcmVkIHNpemUgb2YKICAgICAvLyByZS1zYW1wbGVkIGJpdG1hcCwgYW5kIHVzZSBv
bmx5IGluIGNhbGxzIHJlcXVpcmVkIHRvIHJlc2l6ZSwgb3IgdGhhdAogICAgIC8vIGNoZWNrIGZv
ciB0aGUgcmVxdWlyZWQgc2l6ZS4KQEAgLTIxMiw2ICsyMTQsNyBAQCBzdGF0aWMgYm9vbCBoYXNO
b245MHJvdGF0aW9uKFBsYXRmb3JtQ29udGV4dFNraWEqIGNvbnRleHQpCiAKIHN0YXRpYyB2b2lk
IHBhaW50U2tCaXRtYXAoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0LCBjb25z
dCBOYXRpdmVJbWFnZVNraWEmIGJpdG1hcCwgY29uc3QgU2tJUmVjdCYgc3JjUmVjdCwgY29uc3Qg
U2tSZWN0JiBkZXN0UmVjdCwgY29uc3QgU2tYZmVybW9kZTo6TW9kZSYgY29tcE9wKQogeworICAg
IFRSQUNFX0VWRU5UKCJwYWludFNrQml0bWFwIiwgcGxhdGZvcm1Db250ZXh0LCAwKTsKICAgICBT
a1BhaW50IHBhaW50OwogICAgIHBhaW50LnNldFhmZXJtb2RlTW9kZShjb21wT3ApOwogICAgIHBh
aW50LnNldEZpbHRlckJpdG1hcCh0cnVlKTsKQEAgLTI5Niw2ICsyOTksNyBAQCB2b2lkIEltYWdl
OjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCwKICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCiB7CisgICAgVFJBQ0VfRVZFTlQoIklt
YWdlOjpkcmF3UGF0dGVybiIsIHRoaXMsIDApOwogICAgIEZsb2F0UmVjdCBub3JtU3JjUmVjdCA9
IG5vcm1hbGl6ZVJlY3QoZmxvYXRTcmNSZWN0KTsKICAgICBpZiAoZGVzdFJlY3QuaXNFbXB0eSgp
IHx8IG5vcm1TcmNSZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOyAvLyBub3RoaW5nIHRv
IGRyYXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
TmF0aXZlSW1hZ2VTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvTmF0aXZlSW1hZ2VTa2lhLmNwcAppbmRleCBmMzA4NTc5YjgxZGZiZWUyOTFmZTkwMDhhYWNk
NTE3NmRiNDc4OGVlLi5iOTkxM2FiMTQ1NjVjZDNjMjExMWNjZTY4ZWU4ZDA4NGUzNzUwNGE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL05hdGl2ZUlt
YWdlU2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9O
YXRpdmVJbWFnZVNraWEuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlSW1h
Z2VTa2lhLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJTa2lh
VXRpbHMuaCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNzcsMTEgKzc4LDEzIEBAIFNrQml0bWFwIE5hdGl2ZUltYWdlU2tpYTo6cmVzaXplZEJp
dG1hcChjb25zdCBTa0lSZWN0JiBzcmNTdWJzZXQsCiAgICAgICAgIFNrQml0bWFwIHN1YnNldDsK
ICAgICAgICAgbV9pbWFnZS5leHRyYWN0U3Vic2V0KCZzdWJzZXQsIHNyY1N1YnNldCk7CiAgICAg
ICAgIGlmICghc2hvdWxkQ2FjaGUpIHsKKyAgICAgICAgICAgIFRSQUNFX0VWRU5UKCJOYXRpdmVJ
bWFnZVNraWE6OnJlc2l6ZWRCaXRtYXAiLCBjb25zdF9jYXN0PE5hdGl2ZUltYWdlU2tpYSo+KHRo
aXMpLCAibm9uY2FjaGVkIik7CiAgICAgICAgICAgICAvLyBKdXN0IHJlc2l6ZSB0aGUgdmlzaWJs
ZSBzdWJzZXQgYW5kIHJldHVybiBpdC4KICAgICAgICAgICAgIFNrQml0bWFwIHJlc2l6ZWRJbWFn
ZSA9IHNraWE6OkltYWdlT3BlcmF0aW9uczo6UmVzaXplKHN1YnNldCwgc2tpYTo6SW1hZ2VPcGVy
YXRpb25zOjpSRVNJWkVfTEFOQ1pPUzMsIGRlc3RXaWR0aCwgZGVzdEhlaWdodCwgZGVzdFZpc2li
bGVTdWJzZXQpOwogICAgICAgICAgICAgcmV0dXJuIHJlc2l6ZWRJbWFnZTsKICAgICAgICAgfQog
CisgICAgICAgIFRSQUNFX0VWRU5UKCJOYXRpdmVJbWFnZVNraWE6OnJlc2l6ZWRCaXRtYXAiLCBj
b25zdF9jYXN0PE5hdGl2ZUltYWdlU2tpYSo+KHRoaXMpLCAiY2FjaGVkIik7CiAgICAgICAgIG1f
cmVzaXplZEltYWdlID0gc2tpYTo6SW1hZ2VPcGVyYXRpb25zOjpSZXNpemUoc3Vic2V0LCBza2lh
OjpJbWFnZU9wZXJhdGlvbnM6OlJFU0laRV9MQU5DWk9TMywgZGVzdFdpZHRoLCBkZXN0SGVpZ2h0
KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2JtcC9CTVBJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAKaW5kZXggNjAxMWI2NWJjZDQ4
ZWMyZDBjMTYyMjcxZTczZjgwZGVkYjI2MmEzMy4uMjBhMjQ4YzdkM2JjYjExY2FkN2M2NzY5NWVi
ODI3NTc1Mjc4MjQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAKQEAgLTM0LDYgKzM0
LDEwIEBACiAjaW5jbHVkZSAiQk1QSW1hZ2VSZWFkZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gTnVtYmVyIG9mIGJpdHMgaW4g
LkJNUCB1c2VkIHRvIHN0b3JlIHRoZSBmaWxlIGhlYWRlciAoZG9lc24ndCBtYXRjaApAQCAtOTAs
NiArOTQsOSBAQCBib29sIEJNUEltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCkKIAogdm9pZCBCTVBJ
bWFnZURlY29kZXI6OmRlY29kZShib29sIG9ubHlTaXplKQogeworI2lmIFBMQVRGT1JNKENIUk9N
SVVNKQorICAgIFRSQUNFX0VWRU5UKCJCTVBJbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDAp
OworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURl
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJ
RkltYWdlRGVjb2Rlci5jcHAKaW5kZXggOTBiMDNhYWE2NTBlN2FmNGMwYzc2NTdkZDg1NjJhMzlh
MTBjYjA3Yy4uNWY2MTkzYjhmOWUxYmE5MzdiNmUzZmM3MzE3NDkyNDM0ZGFhZTJkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdl
RGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
Z2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKQEAgLTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiR0lG
SW1hZ2VSZWFkZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCisjaWYgUExBVEZP
Uk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogR0lGSW1hZ2VEZWNvZGVyOjpHSUZJbWFnZURlY29kZXIoSW1hZ2VTb3Vy
Y2U6OkFscGhhT3B0aW9uIGFscGhhT3B0aW9uLApAQCAtMzEwLDYgKzMxNCw5IEBAIHZvaWQgR0lG
SW1hZ2VEZWNvZGVyOjpnaWZDb21wbGV0ZSgpCiAKIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpkZWNv
ZGUodW5zaWduZWQgaGFsdEF0RnJhbWUsIEdJRlF1ZXJ5IHF1ZXJ5KQogeworI2lmIFBMQVRGT1JN
KENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJHSUZJbWFnZURlY29kZXI6OmRlY29kZSIsIHRo
aXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09J
bWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
aWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggZjhhMTg3M2MyNzdkMDVjNzYzYTFlMTViNjMw
YTMyODJjOWJlNjUyNS4uM2EwM2U1NGM5OTY3N2RjZTQ3MzBhNmEyZTc0ZmI1YjRiNDM2MDFmOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKQEAgLTM3LDYgKzM3LDEwIEBACiAjaW5jbHVk
ZSAiUE5HSW1hZ2VEZWNvZGVyLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lm
IFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE51bWJlciBvZiBiaXRzIGluIC5JQ08vLkNVUiB1c2Vk
IHRvIHN0b3JlIHRoZSBkaXJlY3RvcnkgYW5kIGl0cyBlbnRyaWVzLApAQCAtMTUzLDYgKzE1Nyw5
IEBAIHZvaWQgSUNPSW1hZ2VEZWNvZGVyOjpzZXREYXRhRm9yUE5HRGVjb2RlckF0SW5kZXgoc2l6
ZV90IGluZGV4KQogCiB2b2lkIElDT0ltYWdlRGVjb2Rlcjo6ZGVjb2RlKHNpemVfdCBpbmRleCwg
Ym9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICBUUkFDRV9FVkVO
VCgiSUNPSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChm
YWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNw
cAppbmRleCA3YmNhYjZlOTBiNWEwNjJiZDZhOGE2YTg2ZWRjZGZkMmNhZTkxZDBkLi40ZWQ4MmY2
MzQ1NjkxNmE3MTYwZjNlYzU1YTM4ZGY3MDgyOTUxZjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdl
RGVjb2Rlci5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSA8c3RkaW8uaD4gIC8vIE5l
ZWRlZCBieSBqcGVnbGliLmggZm9yIEZJTEUuCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRp
ZgorCiAjaWYgT1MoV0lOQ0UpCiAvLyBSZW1vdmUgd2FybmluZzogJ0ZBUicgbWFjcm8gcmVkZWZp
bml0aW9uCiAjdW5kZWYgRkFSCkBAIC01MzMsNiArNTM3LDkgQEAgdm9pZCBKUEVHSW1hZ2VEZWNv
ZGVyOjpqcGVnQ29tcGxldGUoKQogCiB2b2lkIEpQRUdJbWFnZURlY29kZXI6OmRlY29kZShib29s
IG9ubHlTaXplKQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJK
UEVHSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChmYWls
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCmluZGV4
IGVhOTM3M2IzMjVmMDIzZGYxYWIyNTFiNWY0ZTk4Y2NiMmRkYWQzMjEuLmZjZWYxMzM1ZmY5OThl
MDAzZDA2Yjg1YWRlYjA5MWZlMDcxZWNjNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3Bw
CkBAIC00Myw2ICs0MywxMCBAQAogI2luY2x1ZGUgInBuZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpbmNsdWRlICJUcmFjZUV2ZW50
LmgiCisjZW5kaWYKKwogI2lmIGRlZmluZWQoUE5HX0xJQlBOR19WRVJfTUFKT1IpICYmIGRlZmlu
ZWQoUE5HX0xJQlBOR19WRVJfTUlOT1IpICYmIChQTkdfTElCUE5HX1ZFUl9NQUpPUiA+IDEgfHwg
KFBOR19MSUJQTkdfVkVSX01BSk9SID09IDEgJiYgUE5HX0xJQlBOR19WRVJfTUlOT1IgPj0gNCkp
CiAjZGVmaW5lIEpNUEJVRihwbmdfcHRyKSBwbmdfam1wYnVmKHBuZ19wdHIpCiAjZWxzZQpAQCAt
NDI2LDYgKzQzMCw5IEBAIHZvaWQgUE5HSW1hZ2VEZWNvZGVyOjpwbmdDb21wbGV0ZSgpCiAKIHZv
aWQgUE5HSW1hZ2VEZWNvZGVyOjpkZWNvZGUoYm9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQTEFURk9S
TShDSFJPTUlVTSkKKyAgICBUUkFDRV9FVkVOVCgiUE5HSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0
aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dF
QlBJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBlYWNmZDI5MjM3Y2NiNDM1MmMyMmQ4
NjdhNTQ1ZGYxYTQzNjVlMGJiLi5iYWJlM2IyNWM4NTdkMDBmZmQ2ZTg4NTAwZjIyNTc5MGZmYmM4
ZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93
ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKQEAgLTMzLDYgKzMzLDEwIEBA
CiAKICNpbmNsdWRlICJ3ZWJwL2RlY29kZS5oIgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisj
aW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
V0VCUEltYWdlRGVjb2Rlcjo6V0VCUEltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRp
b24gYWxwaGFPcHRpb24sCkBAIC03NCw2ICs3OCw5IEBAIEltYWdlRnJhbWUqIFdFQlBJbWFnZURl
Y29kZXI6OmZyYW1lQnVmZmVyQXRJbmRleChzaXplX3QgaW5kZXgpCiAKIGJvb2wgV0VCUEltYWdl
RGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUpCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0p
CisgICAgVFJBQ0VfRVZFTlQoIldFQlBJbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOwor
I2VuZGlmCiAgICAgLy8gTWluaW11bSBudW1iZXIgb2YgYnl0ZXMgbmVlZGVkIHRvIGVuc3VyZSBv
bmUgY2FuIHBhcnNlIHNpemUgaW5mb3JtYXRpb24uCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBz
aXplT2ZIZWFkZXIgPSAzMDsKICAgICAvLyBOdW1iZXIgb2YgYnl0ZXMgcGVyIHBpeGVsLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119476</attachid>
            <date>2011-12-15 11:47:48 -0800</date>
            <delta_ts>2011-12-15 14:17:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74547-20111215114747.patch</filename>
            <type>text/plain</type>
            <size>10205</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ5ZDllNWM2NzIwNWVi
YjVkMjUyYWIxNWVlMWZhYTU0YmRhNGU1OC4uMTVjYTgwOGZkMWQwNmNhMmYwYTJjNjA2YzVjMmZm
NTYwZWEyY2U0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTE0ICBEYW5p
ZWwgU2lldmVycyAgPHNpZXZlcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
QWRkIHRyYWNlIGV2ZW50cyBmb3IgZGVjb2RpbmcgYW5kIGRyYXdpbmcgaW1hZ2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3NraWEvSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdSZXNhbXBsZWRC
aXRtYXApOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa0JpdG1hcCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvTmF0aXZlSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdGl2ZUltYWdlU2tp
YTo6cmVzaXplZEJpdG1hcCk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1w
L0JNUEltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCTVBJbWFnZURlY29kZXI6
OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdl
RGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmRlY29kZSk6
CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpQRUdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQTkdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldFQlBJbWFnZURlY29kZXI6OmRlY29kZSk6CisKIDIwMTEtMTItMTUgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtOYXZpZ2F0aW9uIFRpbWluZ10g
VXNlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGluc3RlYWQgb2YgY3VycmVudFRpbWUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFn
ZVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNr
aWEuY3BwCmluZGV4IDk1NDc4YmJkMDBhMGY2YTk5OWM2MDUxMTQzODI1ODY5M2RlZTMyMTQuLjhi
MDUwNTE2OWEyZWZkNGM2OGIwNGQ1YzIyOTc2ODJkNGVkOWNkNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKQEAgLTQ2LDYg
KzQ2LDcgQEAKICNpbmNsdWRlICJTa1NoYWRlci5oIgogI2luY2x1ZGUgIlNraWFVdGlscy5oIgog
I2luY2x1ZGUgIlRleHR1cmUuaCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCiAKICNpbmNsdWRl
ICJza2lhL2V4dC9pbWFnZV9vcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZv
cm1fY2FudmFzLmgiCkBAIC0xNjYsNiArMTY3LDcgQEAgc3RhdGljIFJlc2FtcGxpbmdNb2RlIGNv
bXB1dGVSZXNhbXBsaW5nTW9kZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQK
IC8vIHNjYWxpbmcgb3IgdHJhbnNsYXRpb24uCiBzdGF0aWMgdm9pZCBkcmF3UmVzYW1wbGVkQml0
bWFwKFNrQ2FudmFzJiBjYW52YXMsIFNrUGFpbnQmIHBhaW50LCBjb25zdCBOYXRpdmVJbWFnZVNr
aWEmIGJpdG1hcCwgY29uc3QgU2tJUmVjdCYgc3JjSVJlY3QsIGNvbnN0IFNrUmVjdCYgZGVzdFJl
Y3QpCiB7CisgICAgVFJBQ0VfRVZFTlQoImRyYXdSZXNhbXBsZWRCaXRtYXAiLCAmY2FudmFzLCAw
KTsKICAgICAvLyBBcHBseSBmb3J3YXJkIHRyYW5zZm9ybSB0byBkZXN0UmVjdCB0byBlc3RpbWF0
ZSByZXF1aXJlZCBzaXplIG9mCiAgICAgLy8gcmUtc2FtcGxlZCBiaXRtYXAsIGFuZCB1c2Ugb25s
eSBpbiBjYWxscyByZXF1aXJlZCB0byByZXNpemUsIG9yIHRoYXQKICAgICAvLyBjaGVjayBmb3Ig
dGhlIHJlcXVpcmVkIHNpemUuCkBAIC0yMTIsNiArMjE0LDcgQEAgc3RhdGljIGJvb2wgaGFzTm9u
OTByb3RhdGlvbihQbGF0Zm9ybUNvbnRleHRTa2lhKiBjb250ZXh0KQogCiBzdGF0aWMgdm9pZCBw
YWludFNrQml0bWFwKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCwgY29uc3Qg
TmF0aXZlSW1hZ2VTa2lhJiBiaXRtYXAsIGNvbnN0IFNrSVJlY3QmIHNyY1JlY3QsIGNvbnN0IFNr
UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFNrWGZlcm1vZGU6Ok1vZGUmIGNvbXBPcCkKIHsKKyAgICBU
UkFDRV9FVkVOVCgicGFpbnRTa0JpdG1hcCIsIHBsYXRmb3JtQ29udGV4dCwgMCk7CiAgICAgU2tQ
YWludCBwYWludDsKICAgICBwYWludC5zZXRYZmVybW9kZU1vZGUoY29tcE9wKTsKICAgICBwYWlu
dC5zZXRGaWx0ZXJCaXRtYXAodHJ1ZSk7CkBAIC0yOTYsNiArMjk5LDcgQEAgdm9pZCBJbWFnZTo6
ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQogeworICAgIFRSQUNFX0VWRU5UKCJJbWFn
ZTo6ZHJhd1BhdHRlcm4iLCB0aGlzLCAwKTsKICAgICBGbG9hdFJlY3Qgbm9ybVNyY1JlY3QgPSBu
b3JtYWxpemVSZWN0KGZsb2F0U3JjUmVjdCk7CiAgICAgaWYgKGRlc3RSZWN0LmlzRW1wdHkoKSB8
fCBub3JtU3JjUmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsgLy8gbm90aGluZyB0byBk
cmF3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL05h
dGl2ZUltYWdlU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L05hdGl2ZUltYWdlU2tpYS5jcHAKaW5kZXggZjMwODU3OWI4MWRmYmVlMjkxZmU5MDA4YWFjZDUx
NzZkYjQ3ODhlZS4uMWRhNzhiMjgwMDY1YzY2ZWE0NTE2MjYwNmVjYzA3NDhlMGU0NDIwZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9OYXRpdmVJbWFn
ZVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvTmF0
aXZlSW1hZ2VTa2lhLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk5hdGl2ZUltYWdl
U2tpYS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiU2tpYVV0
aWxzLmgiCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTc3LDEzICs3OCwxNiBAQCBTa0JpdG1hcCBOYXRpdmVJbWFnZVNraWE6OnJlc2l6ZWRCaXRt
YXAoY29uc3QgU2tJUmVjdCYgc3JjU3Vic2V0LAogICAgICAgICBTa0JpdG1hcCBzdWJzZXQ7CiAg
ICAgICAgIG1faW1hZ2UuZXh0cmFjdFN1YnNldCgmc3Vic2V0LCBzcmNTdWJzZXQpOwogICAgICAg
ICBpZiAoIXNob3VsZENhY2hlKSB7CisgICAgICAgICAgICBUUkFDRV9FVkVOVCgiTmF0aXZlSW1h
Z2VTa2lhOjpyZXNpemVkQml0bWFwX25vbkNhY2hlZFJlc2l6ZSIsIGNvbnN0X2Nhc3Q8TmF0aXZl
SW1hZ2VTa2lhKj4odGhpcyksIDApOwogICAgICAgICAgICAgLy8gSnVzdCByZXNpemUgdGhlIHZp
c2libGUgc3Vic2V0IGFuZCByZXR1cm4gaXQuCiAgICAgICAgICAgICBTa0JpdG1hcCByZXNpemVk
SW1hZ2UgPSBza2lhOjpJbWFnZU9wZXJhdGlvbnM6OlJlc2l6ZShzdWJzZXQsIHNraWE6OkltYWdl
T3BlcmF0aW9uczo6UkVTSVpFX0xBTkNaT1MzLCBkZXN0V2lkdGgsIGRlc3RIZWlnaHQsIGRlc3RW
aXNpYmxlU3Vic2V0KTsKICAgICAgICAgICAgIHJldHVybiByZXNpemVkSW1hZ2U7Ci0gICAgICAg
IH0KKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBUUkFDRV9FVkVOVCgiTmF0aXZlSW1hZ2VT
a2lhOjpyZXNpemVkQml0bWFwX2NhY2hlZFJlc2l6ZSIsIGNvbnN0X2Nhc3Q8TmF0aXZlSW1hZ2VT
a2lhKj4odGhpcyksIDApOwogCiAgICAgICAgIG1fcmVzaXplZEltYWdlID0gc2tpYTo6SW1hZ2VP
cGVyYXRpb25zOjpSZXNpemUoc3Vic2V0LCBza2lhOjpJbWFnZU9wZXJhdGlvbnM6OlJFU0laRV9M
QU5DWk9TMywgZGVzdFdpZHRoLCBkZXN0SGVpZ2h0KTsKLSAgICB9CisgICAgfSBlbHNlCisgICAg
ICAgIFRSQUNFX0VWRU5UKCJOYXRpdmVJbWFnZVNraWE6OnJlc2l6ZWRCaXRtYXBfY2FjaGVIaXQi
LCBjb25zdF9jYXN0PE5hdGl2ZUltYWdlU2tpYSo+KHRoaXMpLCAwKTsKIAogICAgIFNrQml0bWFw
IHZpc2libGVCaXRtYXA7CiAgICAgbV9yZXNpemVkSW1hZ2UuZXh0cmFjdFN1YnNldCgmdmlzaWJs
ZUJpdG1hcCwgZGVzdFZpc2libGVTdWJzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmNwcApp
bmRleCA2MDExYjY1YmNkNDhlYzJkMGMxNjIyNzFlNzNmODBkZWRiMjYyYTMzLi4yMGEyNDhjN2Qz
YmNiMTFjYWQ3YzY3Njk1ZWI4Mjc1NzUyNzgyNDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VEZWNvZGVy
LmNwcApAQCAtMzQsNiArMzQsMTAgQEAKICNpbmNsdWRlICJCTVBJbWFnZVJlYWRlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpbmNs
dWRlICJUcmFjZUV2ZW50LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBO
dW1iZXIgb2YgYml0cyBpbiAuQk1QIHVzZWQgdG8gc3RvcmUgdGhlIGZpbGUgaGVhZGVyIChkb2Vz
bid0IG1hdGNoCkBAIC05MCw2ICs5NCw5IEBAIGJvb2wgQk1QSW1hZ2VEZWNvZGVyOjpzZXRGYWls
ZWQoKQogCiB2b2lkIEJNUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUpCiB7Cisj
aWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlQoIkJNUEltYWdlRGVjb2Rlcjo6
ZGVjb2RlIiwgdGhpcywgMCk7CisjZW5kaWYKICAgICBpZiAoZmFpbGVkKCkpCiAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNwcAppbmRleCA5MGIwM2FhYTY1MGU3YWY0
YzBjNzY1N2RkODU2MmEzOWExMGNiMDdjLi41ZjYxOTNiOGY5ZTFiYTkzN2I2ZTNmYzczMTc0OTI0
MzRkYWFlMmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNwcApAQCAtMjksNiArMjksMTAg
QEAKICNpbmNsdWRlICJHSUZJbWFnZVJlYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHSUZJbWFnZURlY29kZXI6OkdJRkltYWdl
RGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRpb24gYWxwaGFPcHRpb24sCkBAIC0zMTAsNiAr
MzE0LDkgQEAgdm9pZCBHSUZJbWFnZURlY29kZXI6OmdpZkNvbXBsZXRlKCkKIAogdm9pZCBHSUZJ
bWFnZURlY29kZXI6OmRlY29kZSh1bnNpZ25lZCBoYWx0QXRGcmFtZSwgR0lGUXVlcnkgcXVlcnkp
CiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlQoIkdJRkltYWdlRGVj
b2Rlcjo6ZGVjb2RlIiwgdGhpcywgMCk7CisjZW5kaWYKICAgICBpZiAoZmFpbGVkKCkpCiAgICAg
ICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBmOGExODczYzI3
N2QwNWM3NjNhMWUxNWI2MzBhMzI4MmM5YmU2NTI1Li4zYTAzZTU0Yzk5Njc3ZGNlNDczMGE2YTJl
NzRmYjViNGI0MzYwMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcApAQCAtMzcsNiAr
MzcsMTAgQEAKICNpbmNsdWRlICJQTkdJbWFnZURlY29kZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVu
dC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gTnVtYmVyIG9mIGJpdHMg
aW4gLklDTy8uQ1VSIHVzZWQgdG8gc3RvcmUgdGhlIGRpcmVjdG9yeSBhbmQgaXRzIGVudHJpZXMs
CkBAIC0xNTMsNiArMTU3LDkgQEAgdm9pZCBJQ09JbWFnZURlY29kZXI6OnNldERhdGFGb3JQTkdE
ZWNvZGVyQXRJbmRleChzaXplX3QgaW5kZXgpCiAKIHZvaWQgSUNPSW1hZ2VEZWNvZGVyOjpkZWNv
ZGUoc2l6ZV90IGluZGV4LCBib29sIG9ubHlTaXplKQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorICAgIFRSQUNFX0VWRU5UKCJJQ09JbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOwor
I2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVj
b2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQ
RUdJbWFnZURlY29kZXIuY3BwCmluZGV4IDlmY2Y1YjI0ZTkyODkzMjM5ZDE5YWNkMGIxY2Y0ZjZi
YjA1M2M4ZWMuLmI3OWY2ODRmYmNkZDBhNTJhYTc1M2M2ODU5Njc2OTdlMzc3MjA4N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRl
IDxzdGRpby5oPiAgLy8gTmVlZGVkIGJ5IGpwZWdsaWIuaCBmb3IgRklMRS4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJh
Y2VFdmVudC5oIgorI2VuZGlmCisKICNpZiBPUyhXSU5DRSkKIC8vIFJlbW92ZSB3YXJuaW5nOiAn
RkFSJyBtYWNybyByZWRlZmluaXRpb24KICN1bmRlZiBGQVIKQEAgLTU2MSw2ICs1NjUsOSBAQCB2
b2lkIEpQRUdJbWFnZURlY29kZXI6OmpwZWdDb21wbGV0ZSgpCiAKIHZvaWQgSlBFR0ltYWdlRGVj
b2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUpCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisg
ICAgVFJBQ0VfRVZFTlQoIkpQRUdJbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2Vu
ZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdl
RGVjb2Rlci5jcHAKaW5kZXggZWE5MzczYjMyNWYwMjNkZjFhYjI1MWI1ZjRlOThjY2IyZGRhZDMy
MS4uZmNlZjEzMzVmZjk5OGUwMDNkMDZiODVhZGViMDkxZmUwNzFlY2M0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BO
R0ltYWdlRGVjb2Rlci5jcHAKQEAgLTQzLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAicG5nLmgiCiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lu
Y2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChQTkdfTElCUE5HX1ZF
Ul9NQUpPUikgJiYgZGVmaW5lZChQTkdfTElCUE5HX1ZFUl9NSU5PUikgJiYgKFBOR19MSUJQTkdf
VkVSX01BSk9SID4gMSB8fCAoUE5HX0xJQlBOR19WRVJfTUFKT1IgPT0gMSAmJiBQTkdfTElCUE5H
X1ZFUl9NSU5PUiA+PSA0KSkKICNkZWZpbmUgSk1QQlVGKHBuZ19wdHIpIHBuZ19qbXBidWYocG5n
X3B0cikKICNlbHNlCkBAIC00MjYsNiArNDMwLDkgQEAgdm9pZCBQTkdJbWFnZURlY29kZXI6OnBu
Z0NvbXBsZXRlKCkKIAogdm9pZCBQTkdJbWFnZURlY29kZXI6OmRlY29kZShib29sIG9ubHlTaXpl
KQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJQTkdJbWFnZURl
Y29kZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAg
ICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCmluZGV4IDA5MWM3
MzNkOTJmNTQ0MjRiZmNjZjZmYWVkYmE5Yzg4MzZkN2ZmNzguLmI4ZDNiNDE2M2I2MWI1NzgzZDBi
YTcwMGEwNDEyOWI3MWJlODI1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcApA
QCAtMzMsNiArMzMsMTAgQEAKIAogI2luY2x1ZGUgIndlYnAvZGVjb2RlLmgiCiAKKyNpZiBQTEFU
Rk9STShDSFJPTUlVTSkKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCisjZW5kaWYKKwogI2lmIENQ
VShCSUdfRU5ESUFOKSB8fCBDUFUoTUlERExFX0VORElBTikKIGlubGluZSBXRUJQX0NTUF9NT0RF
IG91dHB1dE1vZGUoKSB7IHJldHVybiBNT0RFX1JHQkE7IH0KICNlbHNlIC8vIExJVFRMRV9FTkRJ
QU4sIG91dHB1dCBCR1JBIHBpeGVscy4KQEAgLTgxLDYgKzg1LDkgQEAgSW1hZ2VGcmFtZSogV0VC
UEltYWdlRGVjb2Rlcjo6ZnJhbWVCdWZmZXJBdEluZGV4KHNpemVfdCBpbmRleCkKIAogYm9vbCBX
RUJQSW1hZ2VEZWNvZGVyOjpkZWNvZGUoYm9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQTEFURk9STShD
SFJPTUlVTSkKKyAgICBUUkFDRV9FVkVOVCgiV0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlIiwgdGhp
cywgMCk7CisjZW5kaWYKICAgICBpZiAoZmFpbGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119502</attachid>
            <date>2011-12-15 14:17:03 -0800</date>
            <delta_ts>2011-12-15 17:20:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74547-20111215141702.patch</filename>
            <type>text/plain</type>
            <size>10608</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ5ZDllNWM2NzIwNWVi
YjVkMjUyYWIxNWVlMWZhYTU0YmRhNGU1OC4uMTVjYTgwOGZkMWQwNmNhMmYwYTJjNjA2YzVjMmZm
NTYwZWEyY2U0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTE0ICBEYW5p
ZWwgU2lldmVycyAgPHNpZXZlcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
QWRkIHRyYWNlIGV2ZW50cyBmb3IgZGVjb2RpbmcgYW5kIGRyYXdpbmcgaW1hZ2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3NraWEvSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdSZXNhbXBsZWRC
aXRtYXApOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa0JpdG1hcCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvTmF0aXZlSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdGl2ZUltYWdlU2tp
YTo6cmVzaXplZEJpdG1hcCk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1w
L0JNUEltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCTVBJbWFnZURlY29kZXI6
OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdl
RGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmRlY29kZSk6
CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpQRUdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQTkdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldFQlBJbWFnZURlY29kZXI6OmRlY29kZSk6CisKIDIwMTEtMTItMTUgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtOYXZpZ2F0aW9uIFRpbWluZ10g
VXNlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGluc3RlYWQgb2YgY3VycmVudFRpbWUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFn
ZVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNr
aWEuY3BwCmluZGV4IDk1NDc4YmJkMDBhMGY2YTk5OWM2MDUxMTQzODI1ODY5M2RlZTMyMTQuLjhi
MDUwNTE2OWEyZWZkNGM2OGIwNGQ1YzIyOTc2ODJkNGVkOWNkNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKQEAgLTQ2LDYg
KzQ2LDcgQEAKICNpbmNsdWRlICJTa1NoYWRlci5oIgogI2luY2x1ZGUgIlNraWFVdGlscy5oIgog
I2luY2x1ZGUgIlRleHR1cmUuaCIKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCiAKICNpbmNsdWRl
ICJza2lhL2V4dC9pbWFnZV9vcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZv
cm1fY2FudmFzLmgiCkBAIC0xNjYsNiArMTY3LDcgQEAgc3RhdGljIFJlc2FtcGxpbmdNb2RlIGNv
bXB1dGVSZXNhbXBsaW5nTW9kZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQK
IC8vIHNjYWxpbmcgb3IgdHJhbnNsYXRpb24uCiBzdGF0aWMgdm9pZCBkcmF3UmVzYW1wbGVkQml0
bWFwKFNrQ2FudmFzJiBjYW52YXMsIFNrUGFpbnQmIHBhaW50LCBjb25zdCBOYXRpdmVJbWFnZVNr
aWEmIGJpdG1hcCwgY29uc3QgU2tJUmVjdCYgc3JjSVJlY3QsIGNvbnN0IFNrUmVjdCYgZGVzdFJl
Y3QpCiB7CisgICAgVFJBQ0VfRVZFTlQoImRyYXdSZXNhbXBsZWRCaXRtYXAiLCAmY2FudmFzLCAw
KTsKICAgICAvLyBBcHBseSBmb3J3YXJkIHRyYW5zZm9ybSB0byBkZXN0UmVjdCB0byBlc3RpbWF0
ZSByZXF1aXJlZCBzaXplIG9mCiAgICAgLy8gcmUtc2FtcGxlZCBiaXRtYXAsIGFuZCB1c2Ugb25s
eSBpbiBjYWxscyByZXF1aXJlZCB0byByZXNpemUsIG9yIHRoYXQKICAgICAvLyBjaGVjayBmb3Ig
dGhlIHJlcXVpcmVkIHNpemUuCkBAIC0yMTIsNiArMjE0LDcgQEAgc3RhdGljIGJvb2wgaGFzTm9u
OTByb3RhdGlvbihQbGF0Zm9ybUNvbnRleHRTa2lhKiBjb250ZXh0KQogCiBzdGF0aWMgdm9pZCBw
YWludFNrQml0bWFwKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCwgY29uc3Qg
TmF0aXZlSW1hZ2VTa2lhJiBiaXRtYXAsIGNvbnN0IFNrSVJlY3QmIHNyY1JlY3QsIGNvbnN0IFNr
UmVjdCYgZGVzdFJlY3QsIGNvbnN0IFNrWGZlcm1vZGU6Ok1vZGUmIGNvbXBPcCkKIHsKKyAgICBU
UkFDRV9FVkVOVCgicGFpbnRTa0JpdG1hcCIsIHBsYXRmb3JtQ29udGV4dCwgMCk7CiAgICAgU2tQ
YWludCBwYWludDsKICAgICBwYWludC5zZXRYZmVybW9kZU1vZGUoY29tcE9wKTsKICAgICBwYWlu
dC5zZXRGaWx0ZXJCaXRtYXAodHJ1ZSk7CkBAIC0yOTYsNiArMjk5LDcgQEAgdm9pZCBJbWFnZTo6
ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3AsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KQogeworICAgIFRSQUNFX0VWRU5UKCJJbWFn
ZTo6ZHJhd1BhdHRlcm4iLCB0aGlzLCAwKTsKICAgICBGbG9hdFJlY3Qgbm9ybVNyY1JlY3QgPSBu
b3JtYWxpemVSZWN0KGZsb2F0U3JjUmVjdCk7CiAgICAgaWYgKGRlc3RSZWN0LmlzRW1wdHkoKSB8
fCBub3JtU3JjUmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsgLy8gbm90aGluZyB0byBk
cmF3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL05h
dGl2ZUltYWdlU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L05hdGl2ZUltYWdlU2tpYS5jcHAKaW5kZXggZjMwODU3OWI4MWRmYmVlMjkxZmU5MDA4YWFjZDUx
NzZkYjQ3ODhlZS4uNTQxMDRlZDA5OWU1ZjljZWVjMTZhY2NlMDUxYTdmYzY0NThhNWQzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9OYXRpdmVJbWFn
ZVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvTmF0
aXZlSW1hZ2VTa2lhLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk5hdGl2ZUltYWdl
U2tpYS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiU2tpYVV0
aWxzLmgiCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTcwLDYgKzcxLDcgQEAgU2tCaXRtYXAgTmF0aXZlSW1hZ2VTa2lhOjpyZXNpemVkQml0bWFw
KGNvbnN0IFNrSVJlY3QmIHNyY1N1YnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgZGVzdEhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBTa0lSZWN0JiBkZXN0VmlzaWJsZVN1YnNldCkgY29uc3QKIHsKKyAg
ICBUUkFDRV9FVkVOVCgiTmF0aXZlSW1hZ2VTa2lhOjpyZXNpemVkQml0bWFwIiwgY29uc3RfY2Fz
dDxOYXRpdmVJbWFnZVNraWEqPih0aGlzKSwgMCk7CiAgICAgaWYgKCFoYXNSZXNpemVkQml0bWFw
KHNyY1N1YnNldCwgZGVzdFdpZHRoLCBkZXN0SGVpZ2h0KSkgewogICAgICAgICBib29sIHNob3Vs
ZENhY2hlID0gbV9pc0RhdGFDb21wbGV0ZQogICAgICAgICAgICAgJiYgc2hvdWxkQ2FjaGVSZXNh
bXBsaW5nKHNyY1N1YnNldCwgZGVzdFdpZHRoLCBkZXN0SGVpZ2h0LCBkZXN0VmlzaWJsZVN1YnNl
dCk7CkBAIC03NywxMiArNzksMTQgQEAgU2tCaXRtYXAgTmF0aXZlSW1hZ2VTa2lhOjpyZXNpemVk
Qml0bWFwKGNvbnN0IFNrSVJlY3QmIHNyY1N1YnNldCwKICAgICAgICAgU2tCaXRtYXAgc3Vic2V0
OwogICAgICAgICBtX2ltYWdlLmV4dHJhY3RTdWJzZXQoJnN1YnNldCwgc3JjU3Vic2V0KTsKICAg
ICAgICAgaWYgKCFzaG91bGRDYWNoZSkgeworICAgICAgICAgICAgVFJBQ0VfRVZFTlQoIm5vbkNh
Y2hlZFJlc2l6ZSIsIGNvbnN0X2Nhc3Q8TmF0aXZlSW1hZ2VTa2lhKj4odGhpcyksIDApOwogICAg
ICAgICAgICAgLy8gSnVzdCByZXNpemUgdGhlIHZpc2libGUgc3Vic2V0IGFuZCByZXR1cm4gaXQu
CiAgICAgICAgICAgICBTa0JpdG1hcCByZXNpemVkSW1hZ2UgPSBza2lhOjpJbWFnZU9wZXJhdGlv
bnM6OlJlc2l6ZShzdWJzZXQsIHNraWE6OkltYWdlT3BlcmF0aW9uczo6UkVTSVpFX0xBTkNaT1Mz
LCBkZXN0V2lkdGgsIGRlc3RIZWlnaHQsIGRlc3RWaXNpYmxlU3Vic2V0KTsKICAgICAgICAgICAg
IHJldHVybiByZXNpemVkSW1hZ2U7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBUUkFD
RV9FVkVOVCgiY2FjaGVkUmVzaXplIiwgY29uc3RfY2FzdDxOYXRpdmVJbWFnZVNraWEqPih0aGlz
KSwgMCk7CisgICAgICAgICAgICBtX3Jlc2l6ZWRJbWFnZSA9IHNraWE6OkltYWdlT3BlcmF0aW9u
czo6UmVzaXplKHN1YnNldCwgc2tpYTo6SW1hZ2VPcGVyYXRpb25zOjpSRVNJWkVfTEFOQ1pPUzMs
IGRlc3RXaWR0aCwgZGVzdEhlaWdodCk7CiAgICAgICAgIH0KLQotICAgICAgICBtX3Jlc2l6ZWRJ
bWFnZSA9IHNraWE6OkltYWdlT3BlcmF0aW9uczo6UmVzaXplKHN1YnNldCwgc2tpYTo6SW1hZ2VP
cGVyYXRpb25zOjpSRVNJWkVfTEFOQ1pPUzMsIGRlc3RXaWR0aCwgZGVzdEhlaWdodCk7CiAgICAg
fQogCiAgICAgU2tCaXRtYXAgdmlzaWJsZUJpdG1hcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5j
cHAKaW5kZXggNjAxMWI2NWJjZDQ4ZWMyZDBjMTYyMjcxZTczZjgwZGVkYjI2MmEzMy4uMjBhMjQ4
YzdkM2JjYjExY2FkN2M2NzY5NWViODI3NTc1Mjc4MjQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVj
b2Rlci5jcHAKQEAgLTM0LDYgKzM0LDEwIEBACiAjaW5jbHVkZSAiQk1QSW1hZ2VSZWFkZXIuaCIK
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisj
aW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gTnVtYmVyIG9mIGJpdHMgaW4gLkJNUCB1c2VkIHRvIHN0b3JlIHRoZSBmaWxlIGhlYWRlciAo
ZG9lc24ndCBtYXRjaApAQCAtOTAsNiArOTQsOSBAQCBib29sIEJNUEltYWdlRGVjb2Rlcjo6c2V0
RmFpbGVkKCkKIAogdm9pZCBCTVBJbWFnZURlY29kZXI6OmRlY29kZShib29sIG9ubHlTaXplKQog
eworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJCTVBJbWFnZURlY29k
ZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAg
ICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKaW5kZXggOTBiMDNhYWE2NTBl
N2FmNGMwYzc2NTdkZDg1NjJhMzlhMTBjYjA3Yy4uNWY2MTkzYjhmOWUxYmE5MzdiNmUzZmM3MzE3
NDkyNDM0ZGFhZTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKQEAgLTI5LDYgKzI5
LDEwIEBACiAjaW5jbHVkZSAiR0lGSW1hZ2VSZWFkZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR0lGSW1hZ2VEZWNvZGVyOjpHSUZJ
bWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhT3B0aW9uIGFscGhhT3B0aW9uLApAQCAtMzEw
LDYgKzMxNCw5IEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpnaWZDb21wbGV0ZSgpCiAKIHZvaWQg
R0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGUodW5zaWduZWQgaGFsdEF0RnJhbWUsIEdJRlF1ZXJ5IHF1
ZXJ5KQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJHSUZJbWFn
ZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggZjhhMTg3
M2MyNzdkMDVjNzYzYTFlMTViNjMwYTMyODJjOWJlNjUyNS4uM2EwM2U1NGM5OTY3N2RjZTQ3MzBh
NmEyZTc0ZmI1YjRiNDM2MDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKQEAgLTM3
LDYgKzM3LDEwIEBACiAjaW5jbHVkZSAiUE5HSW1hZ2VEZWNvZGVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUgIlRyYWNl
RXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE51bWJlciBvZiBi
aXRzIGluIC5JQ08vLkNVUiB1c2VkIHRvIHN0b3JlIHRoZSBkaXJlY3RvcnkgYW5kIGl0cyBlbnRy
aWVzLApAQCAtMTUzLDYgKzE1Nyw5IEBAIHZvaWQgSUNPSW1hZ2VEZWNvZGVyOjpzZXREYXRhRm9y
UE5HRGVjb2RlckF0SW5kZXgoc2l6ZV90IGluZGV4KQogCiB2b2lkIElDT0ltYWdlRGVjb2Rlcjo6
ZGVjb2RlKHNpemVfdCBpbmRleCwgYm9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQTEFURk9STShDSFJP
TUlVTSkKKyAgICBUUkFDRV9FVkVOVCgiSUNPSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAw
KTsKKyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFn
ZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBl
Zy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCA5ZmNmNWIyNGU5Mjg5MzIzOWQxOWFjZDBiMWNm
NGY2YmIwNTNjOGVjLi5iNzlmNjg0ZmJjZGQwYTUyYWE3NTNjNjg1OTY3Njk3ZTM3NzIwODdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQ
RUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5j
bHVkZSA8c3RkaW8uaD4gIC8vIE5lZWRlZCBieSBqcGVnbGliLmggZm9yIEZJTEUuCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUg
IlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiAjaWYgT1MoV0lOQ0UpCiAvLyBSZW1vdmUgd2Fybmlu
ZzogJ0ZBUicgbWFjcm8gcmVkZWZpbml0aW9uCiAjdW5kZWYgRkFSCkBAIC01NjEsNiArNTY1LDkg
QEAgdm9pZCBKUEVHSW1hZ2VEZWNvZGVyOjpqcGVnQ29tcGxldGUoKQogCiB2b2lkIEpQRUdJbWFn
ZURlY29kZXI6OmRlY29kZShib29sIG9ubHlTaXplKQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorICAgIFRSQUNFX0VWRU5UKCJKUEVHSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAwKTsK
KyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNv
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJ
bWFnZURlY29kZXIuY3BwCmluZGV4IGVhOTM3M2IzMjVmMDIzZGYxYWIyNTFiNWY0ZTk4Y2NiMmRk
YWQzMjEuLmZjZWYxMzM1ZmY5OThlMDAzZDA2Yjg1YWRlYjA5MWZlMDcxZWNjNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURl
Y29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3Bu
Zy9QTkdJbWFnZURlY29kZXIuY3BwCkBAIC00Myw2ICs0MywxMCBAQAogI2luY2x1ZGUgInBuZy5o
IgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKKyNpZiBQTEFURk9STShDSFJPTUlVTSkK
KyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCisjZW5kaWYKKwogI2lmIGRlZmluZWQoUE5HX0xJQlBO
R19WRVJfTUFKT1IpICYmIGRlZmluZWQoUE5HX0xJQlBOR19WRVJfTUlOT1IpICYmIChQTkdfTElC
UE5HX1ZFUl9NQUpPUiA+IDEgfHwgKFBOR19MSUJQTkdfVkVSX01BSk9SID09IDEgJiYgUE5HX0xJ
QlBOR19WRVJfTUlOT1IgPj0gNCkpCiAjZGVmaW5lIEpNUEJVRihwbmdfcHRyKSBwbmdfam1wYnVm
KHBuZ19wdHIpCiAjZWxzZQpAQCAtNDI2LDYgKzQzMCw5IEBAIHZvaWQgUE5HSW1hZ2VEZWNvZGVy
OjpwbmdDb21wbGV0ZSgpCiAKIHZvaWQgUE5HSW1hZ2VEZWNvZGVyOjpkZWNvZGUoYm9vbCBvbmx5
U2l6ZSkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICBUUkFDRV9FVkVOVCgiUE5HSW1h
Z2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkK
ICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAw
OTFjNzMzZDkyZjU0NDI0YmZjY2Y2ZmFlZGJhOWM4ODM2ZDdmZjc4Li5iOGQzYjQxNjNiNjFiNTc4
M2QwYmE3MDBhMDQxMjliNzFiZTgyNWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5j
cHAKQEAgLTMzLDYgKzMzLDEwIEBACiAKICNpbmNsdWRlICJ3ZWJwL2RlY29kZS5oIgogCisjaWYg
UExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKICNp
ZiBDUFUoQklHX0VORElBTikgfHwgQ1BVKE1JRERMRV9FTkRJQU4pCiBpbmxpbmUgV0VCUF9DU1Bf
TU9ERSBvdXRwdXRNb2RlKCkgeyByZXR1cm4gTU9ERV9SR0JBOyB9CiAjZWxzZSAvLyBMSVRUTEVf
RU5ESUFOLCBvdXRwdXQgQkdSQSBwaXhlbHMuCkBAIC04MSw2ICs4NSw5IEBAIEltYWdlRnJhbWUq
IFdFQlBJbWFnZURlY29kZXI6OmZyYW1lQnVmZmVyQXRJbmRleChzaXplX3QgaW5kZXgpCiAKIGJv
b2wgV0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUpCiB7CisjaWYgUExBVEZP
Uk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlQoIldFQlBJbWFnZURlY29kZXI6OmRlY29kZSIs
IHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119528</attachid>
            <date>2011-12-15 17:20:50 -0800</date>
            <delta_ts>2011-12-16 00:35:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74547-20111215172049.patch</filename>
            <type>text/plain</type>
            <size>10905</size>
            <attacher name="Daniel Sievers">sievers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ5ZDllNWM2NzIwNWVi
YjVkMjUyYWIxNWVlMWZhYTU0YmRhNGU1OC4uMTVjYTgwOGZkMWQwNmNhMmYwYTJjNjA2YzVjMmZm
NTYwZWEyY2U0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTE0ICBEYW5p
ZWwgU2lldmVycyAgPHNpZXZlcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
QWRkIHRyYWNlIGV2ZW50cyBmb3IgZGVjb2RpbmcgYW5kIGRyYXdpbmcgaW1hZ2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3NraWEvSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRyYXdSZXNhbXBsZWRC
aXRtYXApOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRTa0JpdG1hcCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZTo6ZHJhd1BhdHRlcm4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvTmF0aXZlSW1hZ2VTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdGl2ZUltYWdlU2tp
YTo6cmVzaXplZEJpdG1hcCk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1w
L0JNUEltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCTVBJbWFnZURlY29kZXI6
OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdl
RGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmRlY29kZSk6
CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpQRUdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQTkdJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldFQlBJbWFnZURlY29kZXI6OmRlY29kZSk6CisKIDIwMTEtMTItMTUgIEphbWVzIFNpbW9uc2Vu
ICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtOYXZpZ2F0aW9uIFRpbWluZ10g
VXNlIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIGluc3RlYWQgb2YgY3VycmVudFRpbWUo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFn
ZVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9JbWFnZVNr
aWEuY3BwCmluZGV4IDk1NDc4YmJkMDBhMGY2YTk5OWM2MDUxMTQzODI1ODY5M2RlZTMyMTQuLmU2
NmRiYWI0MzUwZDQ1ZDM0M2VmMWQzZmY1NjIxYTg4YTM5NzllYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvSW1hZ2VTa2lhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ltYWdlU2tpYS5jcHAKQEAgLTUwLDYg
KzUwLDEwIEBACiAjaW5jbHVkZSAic2tpYS9leHQvaW1hZ2Vfb3BlcmF0aW9ucy5oIgogI2luY2x1
ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5oIgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0p
CisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gVXNlZCBieSBjb21wdXRlUmVzYW1wbGluZ01vZGUgdG8gdGVsbCBob3cgYml0bWFwcyBz
aG91bGQgYmUgcmVzYW1wbGVkLgpAQCAtMTY2LDYgKzE3MCw5IEBAIHN0YXRpYyBSZXNhbXBsaW5n
TW9kZSBjb21wdXRlUmVzYW1wbGluZ01vZGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1D
b250ZXh0CiAvLyBzY2FsaW5nIG9yIHRyYW5zbGF0aW9uLgogc3RhdGljIHZvaWQgZHJhd1Jlc2Ft
cGxlZEJpdG1hcChTa0NhbnZhcyYgY2FudmFzLCBTa1BhaW50JiBwYWludCwgY29uc3QgTmF0aXZl
SW1hZ2VTa2lhJiBiaXRtYXAsIGNvbnN0IFNrSVJlY3QmIHNyY0lSZWN0LCBjb25zdCBTa1JlY3Qm
IGRlc3RSZWN0KQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJk
cmF3UmVzYW1wbGVkQml0bWFwIiwgJmNhbnZhcywgMCk7CisjZW5kaWYKICAgICAvLyBBcHBseSBm
b3J3YXJkIHRyYW5zZm9ybSB0byBkZXN0UmVjdCB0byBlc3RpbWF0ZSByZXF1aXJlZCBzaXplIG9m
CiAgICAgLy8gcmUtc2FtcGxlZCBiaXRtYXAsIGFuZCB1c2Ugb25seSBpbiBjYWxscyByZXF1aXJl
ZCB0byByZXNpemUsIG9yIHRoYXQKICAgICAvLyBjaGVjayBmb3IgdGhlIHJlcXVpcmVkIHNpemUu
CkBAIC0yMTIsNiArMjE5LDkgQEAgc3RhdGljIGJvb2wgaGFzTm9uOTByb3RhdGlvbihQbGF0Zm9y
bUNvbnRleHRTa2lhKiBjb250ZXh0KQogCiBzdGF0aWMgdm9pZCBwYWludFNrQml0bWFwKFBsYXRm
b3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCwgY29uc3QgTmF0aXZlSW1hZ2VTa2lhJiBi
aXRtYXAsIGNvbnN0IFNrSVJlY3QmIHNyY1JlY3QsIGNvbnN0IFNrUmVjdCYgZGVzdFJlY3QsIGNv
bnN0IFNrWGZlcm1vZGU6Ok1vZGUmIGNvbXBPcCkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkK
KyAgICBUUkFDRV9FVkVOVCgicGFpbnRTa0JpdG1hcCIsIHBsYXRmb3JtQ29udGV4dCwgMCk7Cisj
ZW5kaWYKICAgICBTa1BhaW50IHBhaW50OwogICAgIHBhaW50LnNldFhmZXJtb2RlTW9kZShjb21w
T3ApOwogICAgIHBhaW50LnNldEZpbHRlckJpdG1hcCh0cnVlKTsKQEAgLTI5Niw2ICszMDYsOSBA
QCB2b2lkIEltYWdlOjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCwKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpCiB7CisjaWYgUExB
VEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlQoIkltYWdlOjpkcmF3UGF0dGVybiIsIHRo
aXMsIDApOworI2VuZGlmCiAgICAgRmxvYXRSZWN0IG5vcm1TcmNSZWN0ID0gbm9ybWFsaXplUmVj
dChmbG9hdFNyY1JlY3QpOwogICAgIGlmIChkZXN0UmVjdC5pc0VtcHR5KCkgfHwgbm9ybVNyY1Jl
Y3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47IC8vIG5vdGhpbmcgdG8gZHJhdwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9OYXRpdmVJbWFnZVNr
aWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9OYXRpdmVJbWFn
ZVNraWEuY3BwCmluZGV4IGYzMDg1NzliODFkZmJlZTI5MWZlOTAwOGFhY2Q1MTc2ZGI0Nzg4ZWUu
LmJmZDE4NGFlOTZiMDQ4MDdkODliZjhlMjM4NTY1NTNmY2VmNjI0ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvTmF0aXZlSW1hZ2VTa2lhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL05hdGl2ZUltYWdlU2tp
YS5jcHAKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIK
ICNpbmNsdWRlICJTa2lhVXRpbHMuaCIKIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1
ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIE5hdGl2
ZUltYWdlU2tpYTo6TmF0aXZlSW1hZ2VTa2lhKCkKQEAgLTcwLDYgKzc0LDkgQEAgU2tCaXRtYXAg
TmF0aXZlSW1hZ2VTa2lhOjpyZXNpemVkQml0bWFwKGNvbnN0IFNrSVJlY3QmIHNyY1N1YnNldCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGVzdEhlaWdodCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTa0lSZWN0JiBk
ZXN0VmlzaWJsZVN1YnNldCkgY29uc3QKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICBU
UkFDRV9FVkVOVCgiTmF0aXZlSW1hZ2VTa2lhOjpyZXNpemVkQml0bWFwIiwgY29uc3RfY2FzdDxO
YXRpdmVJbWFnZVNraWEqPih0aGlzKSwgMCk7CisjZW5kaWYKICAgICBpZiAoIWhhc1Jlc2l6ZWRC
aXRtYXAoc3JjU3Vic2V0LCBkZXN0V2lkdGgsIGRlc3RIZWlnaHQpKSB7CiAgICAgICAgIGJvb2wg
c2hvdWxkQ2FjaGUgPSBtX2lzRGF0YUNvbXBsZXRlCiAgICAgICAgICAgICAmJiBzaG91bGRDYWNo
ZVJlc2FtcGxpbmcoc3JjU3Vic2V0LCBkZXN0V2lkdGgsIGRlc3RIZWlnaHQsIGRlc3RWaXNpYmxl
U3Vic2V0KTsKQEAgLTc3LDEyICs4NCwxOCBAQCBTa0JpdG1hcCBOYXRpdmVJbWFnZVNraWE6OnJl
c2l6ZWRCaXRtYXAoY29uc3QgU2tJUmVjdCYgc3JjU3Vic2V0LAogICAgICAgICBTa0JpdG1hcCBz
dWJzZXQ7CiAgICAgICAgIG1faW1hZ2UuZXh0cmFjdFN1YnNldCgmc3Vic2V0LCBzcmNTdWJzZXQp
OwogICAgICAgICBpZiAoIXNob3VsZENhY2hlKSB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisg
ICAgICAgICAgICBUUkFDRV9FVkVOVCgibm9uQ2FjaGVkUmVzaXplIiwgY29uc3RfY2FzdDxOYXRp
dmVJbWFnZVNraWEqPih0aGlzKSwgMCk7CisjZW5kaWYKICAgICAgICAgICAgIC8vIEp1c3QgcmVz
aXplIHRoZSB2aXNpYmxlIHN1YnNldCBhbmQgcmV0dXJuIGl0LgogICAgICAgICAgICAgU2tCaXRt
YXAgcmVzaXplZEltYWdlID0gc2tpYTo6SW1hZ2VPcGVyYXRpb25zOjpSZXNpemUoc3Vic2V0LCBz
a2lhOjpJbWFnZU9wZXJhdGlvbnM6OlJFU0laRV9MQU5DWk9TMywgZGVzdFdpZHRoLCBkZXN0SGVp
Z2h0LCBkZXN0VmlzaWJsZVN1YnNldCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzaXplZEltYWdl
OworICAgICAgICB9IGVsc2UgeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgICAgICAgICAg
VFJBQ0VfRVZFTlQoImNhY2hlZFJlc2l6ZSIsIGNvbnN0X2Nhc3Q8TmF0aXZlSW1hZ2VTa2lhKj4o
dGhpcyksIDApOworI2VuZGlmCisgICAgICAgICAgICBtX3Jlc2l6ZWRJbWFnZSA9IHNraWE6Oklt
YWdlT3BlcmF0aW9uczo6UmVzaXplKHN1YnNldCwgc2tpYTo6SW1hZ2VPcGVyYXRpb25zOjpSRVNJ
WkVfTEFOQ1pPUzMsIGRlc3RXaWR0aCwgZGVzdEhlaWdodCk7CiAgICAgICAgIH0KLQotICAgICAg
ICBtX3Jlc2l6ZWRJbWFnZSA9IHNraWE6OkltYWdlT3BlcmF0aW9uczo6UmVzaXplKHN1YnNldCwg
c2tpYTo6SW1hZ2VPcGVyYXRpb25zOjpSRVNJWkVfTEFOQ1pPUzMsIGRlc3RXaWR0aCwgZGVzdEhl
aWdodCk7CiAgICAgfQogCiAgICAgU2tCaXRtYXAgdmlzaWJsZUJpdG1hcDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZURlY29k
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUElt
YWdlRGVjb2Rlci5jcHAKaW5kZXggNjAxMWI2NWJjZDQ4ZWMyZDBjMTYyMjcxZTczZjgwZGVkYjI2
MmEzMy4uMjBhMjQ4YzdkM2JjYjExY2FkN2M2NzY5NWViODI3NTc1Mjc4MjQ5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1wL0JNUEltYWdlRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYm1w
L0JNUEltYWdlRGVjb2Rlci5jcHAKQEAgLTM0LDYgKzM0LDEwIEBACiAjaW5jbHVkZSAiQk1QSW1h
Z2VSZWFkZXIuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCisjaWYgUExBVEZPUk0o
Q0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gTnVtYmVyIG9mIGJpdHMgaW4gLkJNUCB1c2VkIHRvIHN0b3JlIHRoZSBm
aWxlIGhlYWRlciAoZG9lc24ndCBtYXRjaApAQCAtOTAsNiArOTQsOSBAQCBib29sIEJNUEltYWdl
RGVjb2Rlcjo6c2V0RmFpbGVkKCkKIAogdm9pZCBCTVBJbWFnZURlY29kZXI6OmRlY29kZShib29s
IG9ubHlTaXplKQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJC
TVBJbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxl
ZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKaW5kZXgg
OTBiMDNhYWE2NTBlN2FmNGMwYzc2NTdkZDg1NjJhMzlhMTBjYjA3Yy4uNWY2MTkzYjhmOWUxYmE5
MzdiNmUzZmM3MzE3NDkyNDM0ZGFhZTJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlRGVjb2Rlci5jcHAK
QEAgLTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiR0lGSW1hZ2VSZWFkZXIuaCIKICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAi
VHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR0lGSW1hZ2VE
ZWNvZGVyOjpHSUZJbWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhT3B0aW9uIGFscGhhT3B0
aW9uLApAQCAtMzEwLDYgKzMxNCw5IEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpnaWZDb21wbGV0
ZSgpCiAKIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGUodW5zaWduZWQgaGFsdEF0RnJhbWUs
IEdJRlF1ZXJ5IHF1ZXJ5KQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VW
RU5UKCJHSUZJbWFnZURlY29kZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYg
KGZhaWxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAK
aW5kZXggZjhhMTg3M2MyNzdkMDVjNzYzYTFlMTViNjMwYTMyODJjOWJlNjUyNS4uM2EwM2U1NGM5
OTY3N2RjZTQ3MzBhNmEyZTc0ZmI1YjRiNDM2MDFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rl
ci5jcHAKQEAgLTM3LDYgKzM3LDEwIEBACiAjaW5jbHVkZSAiUE5HSW1hZ2VEZWNvZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2lu
Y2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IE51bWJlciBvZiBiaXRzIGluIC5JQ08vLkNVUiB1c2VkIHRvIHN0b3JlIHRoZSBkaXJlY3Rvcnkg
YW5kIGl0cyBlbnRyaWVzLApAQCAtMTUzLDYgKzE1Nyw5IEBAIHZvaWQgSUNPSW1hZ2VEZWNvZGVy
OjpzZXREYXRhRm9yUE5HRGVjb2RlckF0SW5kZXgoc2l6ZV90IGluZGV4KQogCiB2b2lkIElDT0lt
YWdlRGVjb2Rlcjo6ZGVjb2RlKHNpemVfdCBpbmRleCwgYm9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQ
TEFURk9STShDSFJPTUlVTSkKKyAgICBUUkFDRV9FVkVOVCgiSUNPSW1hZ2VEZWNvZGVyOjpkZWNv
ZGUiLCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9q
cGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCA5ZmNmNWIyNGU5Mjg5MzIz
OWQxOWFjZDBiMWNmNGY2YmIwNTNjOGVjLi5iNzlmNjg0ZmJjZGQwYTUyYWE3NTNjNjg1OTY3Njk3
ZTM3NzIwODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTQyLDYgKzQy
LDEwIEBACiAjaW5jbHVkZSA8c3RkaW8uaD4gIC8vIE5lZWRlZCBieSBqcGVnbGliLmggZm9yIEZJ
TEUuCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQorI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiAjaWYgT1MoV0lOQ0UpCiAvLyBS
ZW1vdmUgd2FybmluZzogJ0ZBUicgbWFjcm8gcmVkZWZpbml0aW9uCiAjdW5kZWYgRkFSCkBAIC01
NjEsNiArNTY1LDkgQEAgdm9pZCBKUEVHSW1hZ2VEZWNvZGVyOjpqcGVnQ29tcGxldGUoKQogCiB2
b2lkIEpQRUdJbWFnZURlY29kZXI6OmRlY29kZShib29sIG9ubHlTaXplKQogeworI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UKCJKUEVHSW1hZ2VEZWNvZGVyOjpkZWNvZGUi
LCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlmIChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcv
UE5HSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCmluZGV4IGVhOTM3M2IzMjVmMDIzZGYxYWIyNTFi
NWY0ZTk4Y2NiMmRkYWQzMjEuLmZjZWYxMzM1ZmY5OThlMDAzZDA2Yjg1YWRlYjA5MWZlMDcxZWNj
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3Bu
Zy9QTkdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwCkBAIC00Myw2ICs0MywxMCBAQAogI2lu
Y2x1ZGUgInBuZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKKyNpZiBQTEFURk9S
TShDSFJPTUlVTSkKKyNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCisjZW5kaWYKKwogI2lmIGRlZmlu
ZWQoUE5HX0xJQlBOR19WRVJfTUFKT1IpICYmIGRlZmluZWQoUE5HX0xJQlBOR19WRVJfTUlOT1Ip
ICYmIChQTkdfTElCUE5HX1ZFUl9NQUpPUiA+IDEgfHwgKFBOR19MSUJQTkdfVkVSX01BSk9SID09
IDEgJiYgUE5HX0xJQlBOR19WRVJfTUlOT1IgPj0gNCkpCiAjZGVmaW5lIEpNUEJVRihwbmdfcHRy
KSBwbmdfam1wYnVmKHBuZ19wdHIpCiAjZWxzZQpAQCAtNDI2LDYgKzQzMCw5IEBAIHZvaWQgUE5H
SW1hZ2VEZWNvZGVyOjpwbmdDb21wbGV0ZSgpCiAKIHZvaWQgUE5HSW1hZ2VEZWNvZGVyOjpkZWNv
ZGUoYm9vbCBvbmx5U2l6ZSkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAgICBUUkFDRV9F
VkVOVCgiUE5HSW1hZ2VEZWNvZGVyOjpkZWNvZGUiLCB0aGlzLCAwKTsKKyNlbmRpZgogICAgIGlm
IChmYWlsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVy
LmNwcAppbmRleCAwOTFjNzMzZDkyZjU0NDI0YmZjY2Y2ZmFlZGJhOWM4ODM2ZDdmZjc4Li5iOGQz
YjQxNjNiNjFiNTc4M2QwYmE3MDBhMDQxMjliNzFiZTgyNWMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUElt
YWdlRGVjb2Rlci5jcHAKQEAgLTMzLDYgKzMzLDEwIEBACiAKICNpbmNsdWRlICJ3ZWJwL2RlY29k
ZS5oIgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgor
I2VuZGlmCisKICNpZiBDUFUoQklHX0VORElBTikgfHwgQ1BVKE1JRERMRV9FTkRJQU4pCiBpbmxp
bmUgV0VCUF9DU1BfTU9ERSBvdXRwdXRNb2RlKCkgeyByZXR1cm4gTU9ERV9SR0JBOyB9CiAjZWxz
ZSAvLyBMSVRUTEVfRU5ESUFOLCBvdXRwdXQgQkdSQSBwaXhlbHMuCkBAIC04MSw2ICs4NSw5IEBA
IEltYWdlRnJhbWUqIFdFQlBJbWFnZURlY29kZXI6OmZyYW1lQnVmZmVyQXRJbmRleChzaXplX3Qg
aW5kZXgpCiAKIGJvb2wgV0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUpCiB7
CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlQoIldFQlBJbWFnZURlY29k
ZXI6OmRlY29kZSIsIHRoaXMsIDApOworI2VuZGlmCiAgICAgaWYgKGZhaWxlZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>