<?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>59394</bug_id>
          
          <creation_ts>2011-04-25 16:33:48 -0700</creation_ts>
          <short_desc>XMLDocumentParserLibxml2 should play nice with strict OwnPtrs</short_desc>
          <delta_ts>2011-05-12 14:57:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>mjs</cc>
    
    <cc>paroga</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>392069</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-25 16:33:48 -0700</bug_when>
    <thetext>ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392071</commentid>
    <comment_count>1</comment_count>
      <attachid>91006</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-25 16:34:42 -0700</bug_when>
    <thetext>Created attachment 91006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392076</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-25 16:35:53 -0700</bug_when>
    <thetext>Committed r84835: &lt;http://trac.webkit.org/changeset/84835&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392092</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-25 16:41:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84835 might have broken Chromium Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392105</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-04-25 16:46:14 -0700</bug_when>
    <thetext>Reverted r84835 for reason:

Breaks compile because Deque&lt;OwnPtr&gt; doesn&apos;t work

Committed r84843: &lt;http://trac.webkit.org/changeset/84843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393477</commentid>
    <comment_count>5</comment_count>
      <attachid>91264</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-27 04:07:58 -0700</bug_when>
    <thetext>Created attachment 91264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393480</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-27 04:11:57 -0700</bug_when>
    <thetext>Attachment 91264 did not build on chromium:
Build output: http://queues.webkit.org/results/8509937</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393484</commentid>
    <comment_count>7</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-27 04:29:53 -0700</bug_when>
    <thetext>I guess some of the EWS bots don&apos;t like it. I can&apos;t guess what would cause that linker error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393486</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-27 04:32:19 -0700</bug_when>
    <thetext>Attachment 91264 did not build on mac:
Build output: http://queues.webkit.org/results/8509940</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393489</commentid>
    <comment_count>9</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-27 04:36:15 -0700</bug_when>
    <thetext>Attachment 91264 did not build on win:
Build output: http://queues.webkit.org/results/8513291</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393491</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-27 04:38:16 -0700</bug_when>
    <thetext>OK, now I think I see why it might be a deque problem and why it only shows up in the linker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393496</commentid>
    <comment_count>11</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-27 04:42:24 -0700</bug_when>
    <thetext>It&apos;s Deque::takeFirst that has the problem and it can easily by avoided by just using first() and removeFirst() separately. It would be hard to avoid otherwise short of specializing for OwnPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393504</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-27 05:03:27 -0700</bug_when>
    <thetext>Attachment 91264 did not build on chromium:
Build output: http://queues.webkit.org/results/8514190</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393811</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-27 14:17:25 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; It&apos;s Deque::takeFirst that has the problem and it can easily by avoided by just using first() and removeFirst() separately. It would be hard to avoid otherwise short of specializing for OwnPtr.

Ah, ok.  I can pick this up again then.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395379</commentid>
    <comment_count>14</comment_count>
      <attachid>91707</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-04-29 11:17:07 -0700</bug_when>
    <thetext>Created attachment 91707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395381</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-29 11:20:31 -0700</bug_when>
    <thetext>Attachment 91707 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/wtf/PassTraits.h:41:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/JavaScriptCore/wtf/Deque.h:37:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395401</commentid>
    <comment_count>16</comment_count>
      <attachid>91707</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-29 11:54:15 -0700</bug_when>
    <thetext>Comment on attachment 91707
Patch

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

&gt;&gt; Source/JavaScriptCore/wtf/Deque.h:37
&gt;&gt; +#include &quot;PassTraits.h&quot;
&gt; 
&gt; Alphabetical sorting problem.  [build/include_order] [4]

What the stylebot said ;-)

&gt; Source/JavaScriptCore/wtf/Deque.h:55
&gt; +        typedef PassTraits&lt;T&gt; Pass;

Not 100% sure the name “Pass” is clear enough name for this. If it wasn’t for the name conflict, I’d suggest calling it PassTraits.

&gt;&gt; Source/JavaScriptCore/wtf/PassTraits.h:41
&gt;&gt; +    template&lt;typename T&gt; struct PassTraits {
&gt; 
&gt; Code inside a namespace should not be indented.  [whitespace/indent] [4]

Would be better to follow the style guide here.

&gt; Source/JavaScriptCore/wtf/PassTraits.h:44
&gt; +        static PassType transfer(Type&amp; t) { return t; }

Is “t” the best name for this argument? Maybe “argument”? Or “object”?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403169</commentid>
    <comment_count>17</comment_count>
      <attachid>93346</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 14:39:22 -0700</bug_when>
    <thetext>Created attachment 93346
Patch

@mjs: I fixed the style issues of you patch. Can you verify the patch and set cq+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403171</commentid>
    <comment_count>18</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 14:40:13 -0700</bug_when>
    <thetext>*** Bug 60676 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403175</commentid>
    <comment_count>19</comment_count>
      <attachid>93346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-12 14:45:48 -0700</bug_when>
    <thetext>Comment on attachment 93346
Patch

Rejecting attachment 93346 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
----------
|Index: Source/JavaScriptCore/wtf/PassTraits.h
|index 76c4769..3462734 100644
|--- Source/JavaScriptCore/wtf/PassTraits.h
|+++ Source/JavaScriptCore/wtf/PassTraits.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/dom/XMLDocumentParserLibxml2.cpp

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

Full output: http://queues.webkit.org/results/8689820</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403179</commentid>
    <comment_count>20</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 14:57:23 -0700</bug_when>
    <thetext>Committed r86383: &lt;http://trac.webkit.org/changeset/86383&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91006</attachid>
            <date>2011-04-25 16:34:42 -0700</date>
            <delta_ts>2011-04-27 04:07:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59394-20110425163440.patch</filename>
            <type>text/plain</type>
            <size>8409</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0ODMzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDQtMjUgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBWYWxpZGF0aW9uTWVzc2FnZSBhbmQgWE1MRG9jdW1lbnRQYXJzZXJM
aWJ4bWwyIHNob3VsZCBwbGF5IG5pY2Ugd2l0aCBzdHJpY3QgT3duUHRycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkzOTQKKworICAgICAgICAqIGRv
bS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGlu
Z0NhbGxiYWNrczo6UGVuZGluZ0NhbGxiYWNrcyk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5n
Q2FsbGJhY2tzOjphcHBlbmRTdGFydEVsZW1lbnROU0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZEVuZEVsZW1lbnROU0NhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZENoYXJhY3RlcnNDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjph
cHBlbmRDREFUQUJsb2NrQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxi
YWNrczo6YXBwZW5kQ29tbWVudENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdD
YWxsYmFja3M6OmFwcGVuZEludGVybmFsU3Vic2V0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBwZW5kRXJyb3JDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIpOgorICAgICAgICAqIGh0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1l
c3NhZ2U6OnNldE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRp
b25NZXNzYWdlOjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSk6CisKIDIwMTEtMDQtMjUgIEphbWVzIFJv
Ymluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IEJhcnRoLgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1s
Mi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
TGlieG1sMi5jcHAJKHJldmlzaW9uIDg0ODA1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgwLDE1ICs4MCwxMSBA
QCBjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5k
aW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKICAgICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9Ci0gICAg
flBlbmRpbmdDYWxsYmFja3MoKQotICAgIHsKLSAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2Fs
bGJhY2tzKTsKLSAgICB9CiAKICAgICB2b2lkIGFwcGVuZFN0YXJ0RWxlbWVudE5TQ2FsbGJhY2so
Y29uc3QgeG1sQ2hhciogeG1sTG9jYWxOYW1lLCBjb25zdCB4bWxDaGFyKiB4bWxQcmVmaXgsIGNv
bnN0IHhtbENoYXIqIHhtbFVSSSwgaW50IG5iX25hbWVzcGFjZXMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIqKiBuYW1lc3BhY2VzLCBpbnQgbmJf
YXR0cmlidXRlcywgaW50IG5iX2RlZmF1bHRlZCwgY29uc3QgeG1sQ2hhcioqIGF0dHJpYnV0ZXMp
CiAgICAgewotICAgICAgICBQZW5kaW5nU3RhcnRFbGVtZW50TlNDYWxsYmFjayogY2FsbGJhY2sg
PSBuZXcgUGVuZGluZ1N0YXJ0RWxlbWVudE5TQ2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5k
aW5nU3RhcnRFbGVtZW50TlNDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGlu
Z1N0YXJ0RWxlbWVudE5TQ2FsbGJhY2spOwogCiAgICAgICAgIGNhbGxiYWNrLT54bWxMb2NhbE5h
bWUgPSB4bWxTdHJkdXAoeG1sTG9jYWxOYW1lKTsKICAgICAgICAgY2FsbGJhY2stPnhtbFByZWZp
eCA9IHhtbFN0cmR1cCh4bWxQcmVmaXgpOwpAQCAtMTEzLDc2ICsxMDksNzQgQEAgcHVibGljOgog
ICAgICAgICAgICAgY2FsbGJhY2stPmF0dHJpYnV0ZXNbaSAqIDUgKyA0XSA9IGNhbGxiYWNrLT5h
dHRyaWJ1dGVzW2kgKiA1ICsgM10gKyBsZW47CiAgICAgICAgIH0KIAotICAgICAgICBtX2NhbGxi
YWNrcy5hcHBlbmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2sucmVsZWFzZSgpKTsKICAgICB9CiAKICAgICB2b2lkIGFwcGVuZEVuZEVsZW1lbnROU0NhbGxi
YWNrKCkKICAgICB7Ci0gICAgICAgIFBlbmRpbmdFbmRFbGVtZW50TlNDYWxsYmFjayogY2FsbGJh
Y2sgPSBuZXcgUGVuZGluZ0VuZEVsZW1lbnROU0NhbGxiYWNrOwotCi0gICAgICAgIG1fY2FsbGJh
Y2tzLmFwcGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChhZG9wdFB0
cihuZXcgUGVuZGluZ0VuZEVsZW1lbnROU0NhbGxiYWNrKSk7CiAgICAgfQogCiAgICAgdm9pZCBh
cHBlbmRDaGFyYWN0ZXJzQ2FsbGJhY2soY29uc3QgeG1sQ2hhciogcywgaW50IGxlbikKICAgICB7
Ci0gICAgICAgIFBlbmRpbmdDaGFyYWN0ZXJzQ2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRp
bmdDaGFyYWN0ZXJzQ2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5kaW5nQ2hhcmFjdGVyc0Nh
bGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nQ2hhcmFjdGVyc0NhbGxiYWNr
KTsKIAogICAgICAgICBjYWxsYmFjay0+cyA9IHhtbFN0cm5kdXAocywgbGVuKTsKICAgICAgICAg
Y2FsbGJhY2stPmxlbiA9IGxlbjsKIAotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVsZWFzZSgpKTsKICAg
ICB9CiAKICAgICB2b2lkIGFwcGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrKGNvbnN0
IHhtbENoYXIqIHRhcmdldCwgY29uc3QgeG1sQ2hhciogZGF0YSkKICAgICB7Ci0gICAgICAgIFBl
bmRpbmdQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjayogY2FsbGJhY2sgPSBuZXcgUGVuZGlu
Z1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ1By
b2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5k
aW5nUHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2spOwogCiAgICAgICAgIGNhbGxiYWNrLT50
YXJnZXQgPSB4bWxTdHJkdXAodGFyZ2V0KTsKICAgICAgICAgY2FsbGJhY2stPmRhdGEgPSB4bWxT
dHJkdXAoZGF0YSk7CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAg
ICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAgfQogCiAg
ICAgdm9pZCBhcHBlbmRDREFUQUJsb2NrQ2FsbGJhY2soY29uc3QgeG1sQ2hhciogcywgaW50IGxl
bikKICAgICB7Ci0gICAgICAgIFBlbmRpbmdDREFUQUJsb2NrQ2FsbGJhY2sqIGNhbGxiYWNrID0g
bmV3IFBlbmRpbmdDREFUQUJsb2NrQ2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5kaW5nQ0RB
VEFCbG9ja0NhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nQ0RBVEFCbG9j
a0NhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+cyA9IHhtbFN0cm5kdXAocywgbGVuKTsK
ICAgICAgICAgY2FsbGJhY2stPmxlbiA9IGxlbjsKIAotICAgICAgICBtX2NhbGxiYWNrcy5hcHBl
bmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVsZWFz
ZSgpKTsKICAgICB9CiAKICAgICB2b2lkIGFwcGVuZENvbW1lbnRDYWxsYmFjayhjb25zdCB4bWxD
aGFyKiBzKQogICAgIHsKLSAgICAgICAgUGVuZGluZ0NvbW1lbnRDYWxsYmFjayogY2FsbGJhY2sg
PSBuZXcgUGVuZGluZ0NvbW1lbnRDYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdDb21t
ZW50Q2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdDb21tZW50Q2FsbGJh
Y2spOwogCiAgICAgICAgIGNhbGxiYWNrLT5zID0geG1sU3RyZHVwKHMpOwogCi0gICAgICAgIG1f
Y2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChj
YWxsYmFjay5yZWxlYXNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kSW50ZXJuYWxTdWJz
ZXRDYWxsYmFjayhjb25zdCB4bWxDaGFyKiBuYW1lLCBjb25zdCB4bWxDaGFyKiBleHRlcm5hbElE
LCBjb25zdCB4bWxDaGFyKiBzeXN0ZW1JRCkKICAgICB7Ci0gICAgICAgIFBlbmRpbmdJbnRlcm5h
bFN1YnNldENhbGxiYWNrKiBjYWxsYmFjayA9IG5ldyBQZW5kaW5nSW50ZXJuYWxTdWJzZXRDYWxs
YmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdJbnRlcm5hbFN1YnNldENhbGxiYWNrPiBjYWxs
YmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nSW50ZXJuYWxTdWJzZXRDYWxsYmFjayk7CiAKICAg
ICAgICAgY2FsbGJhY2stPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CiAgICAgICAgIGNhbGxiYWNr
LT5leHRlcm5hbElEID0geG1sU3RyZHVwKGV4dGVybmFsSUQpOwogICAgICAgICBjYWxsYmFjay0+
c3lzdGVtSUQgPSB4bWxTdHJkdXAoc3lzdGVtSUQpOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFw
cGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxl
YXNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kRXJyb3JDYWxsYmFjayhYTUxEb2N1bWVu
dFBhcnNlcjo6RXJyb3JUeXBlIHR5cGUsIGNvbnN0IHhtbENoYXIqIG1lc3NhZ2UsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyKQogICAgIHsKLSAgICAgICAgUGVuZGluZ0Vycm9yQ2Fs
bGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRpbmdFcnJvckNhbGxiYWNrOworICAgICAgICBPd25Q
dHI8UGVuZGluZ0Vycm9yQ2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdF
cnJvckNhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+bWVzc2FnZSA9IHhtbFN0cmR1cCht
ZXNzYWdlKTsKICAgICAgICAgY2FsbGJhY2stPnR5cGUgPSB0eXBlOwogICAgICAgICBjYWxsYmFj
ay0+bGluZU51bWJlciA9IGxpbmVOdW1iZXI7CiAgICAgICAgIGNhbGxiYWNrLT5jb2x1bW5OdW1i
ZXIgPSBjb2x1bW5OdW1iZXI7CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNr
KTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAg
fQogCiAgICAgdm9pZCBjYWxsQW5kUmVtb3ZlRmlyc3RDYWxsYmFjayhYTUxEb2N1bWVudFBhcnNl
ciogcGFyc2VyKQpAQCAtMzMzLDcgKzMyNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGludCBjb2x1
bW5OdW1iZXI7CiAgICAgfTsKIAotICAgIERlcXVlPFBlbmRpbmdDYWxsYmFjayo+IG1fY2FsbGJh
Y2tzOworICAgIERlcXVlPE93blB0cjxQZW5kaW5nQ2FsbGJhY2s+ID4gbV9jYWxsYmFja3M7CiB9
OwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNTQ2LDcgKzU0MCw3
IEBAIFhNTERvY3VtZW50UGFyc2VyOjpYTUxEb2N1bWVudFBhcnNlcihEb2MKICAgICA6IFNjcmlw
dGFibGVEb2N1bWVudFBhcnNlcihkb2N1bWVudCkKICAgICAsIG1fdmlldyhmcmFtZVZpZXcpCiAg
ICAgLCBtX2NvbnRleHQoMCkKLSAgICAsIG1fcGVuZGluZ0NhbGxiYWNrcyhuZXcgUGVuZGluZ0Nh
bGxiYWNrcykKKyAgICAsIG1fcGVuZGluZ0NhbGxiYWNrcyhhZG9wdFB0cihuZXcgUGVuZGluZ0Nh
bGxiYWNrcykpCiAgICAgLCBtX2N1cnJlbnROb2RlKGRvY3VtZW50KQogICAgICwgbV9zYXdFcnJv
cihmYWxzZSkKICAgICAsIG1fc2F3Q1NTKGZhbHNlKQpAQCAtNTczLDcgKzU2Nyw3IEBAIFhNTERv
Y3VtZW50UGFyc2VyOjpYTUxEb2N1bWVudFBhcnNlcihEb2MKICAgICA6IFNjcmlwdGFibGVEb2N1
bWVudFBhcnNlcihmcmFnbWVudC0+ZG9jdW1lbnQoKSkKICAgICAsIG1fdmlldygwKQogICAgICwg
bV9jb250ZXh0KDApCi0gICAgLCBtX3BlbmRpbmdDYWxsYmFja3MobmV3IFBlbmRpbmdDYWxsYmFj
a3MpCisgICAgLCBtX3BlbmRpbmdDYWxsYmFja3MoYWRvcHRQdHIobmV3IFBlbmRpbmdDYWxsYmFj
a3MpKQogICAgICwgbV9jdXJyZW50Tm9kZShmcmFnbWVudCkKICAgICAsIG1fc2F3RXJyb3IoZmFs
c2UpCiAgICAgLCBtX3Nhd0NTUyhmYWxzZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuY3BwCShyZXZpc2lvbiA4NDgwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw5ICs3MCw5IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QKICAgICBBU1NFUlQoIW1l
c3NhZ2UuaXNFbXB0eSgpKTsKICAgICBtX21lc3NhZ2UgPSBtZXNzYWdlOwogICAgIGlmICghbV9i
dWJibGUpCi0gICAgICAgIG1fdGltZXIuc2V0KG5ldyBUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4o
dGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpKTsKKyAgICAgICAgbV90
aW1lciA9IGFkb3B0UHRyKG5ldyBUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4odGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpKTsKICAgICBlbHNlCi0gICAgICAgIG1fdGlt
ZXIuc2V0KG5ldyBUaW1lcjxWYWxpZGF0aW9uTWVzc2FnZT4odGhpcywgJlZhbGlkYXRpb25NZXNz
YWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcikpOworICAgICAgICBtX3RpbWVyID0gYWRv
cHRQdHIobmV3IFRpbWVyPFZhbGlkYXRpb25NZXNzYWdlPih0aGlzLCAmVmFsaWRhdGlvbk1lc3Nh
Z2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKSk7CiAgICAgbV90aW1lci0+c3RhcnRPbmVT
aG90KDApOwogfQogCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNl
dE1lc3NhZ2VET01BbmQKICAgICBpZiAobWFnbmlmaWNhdGlvbiA8PSAwKQogICAgICAgICBtX3Rp
bWVyLmNsZWFyKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIG1fdGltZXIuc2V0KG5ldyBUaW1lcjxW
YWxpZGF0aW9uTWVzc2FnZT4odGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVU
cmVlKSk7CisgICAgICAgIG1fdGltZXIgPSBhZG9wdFB0cihuZXcgVGltZXI8VmFsaWRhdGlvbk1l
c3NhZ2U+KHRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSkpOwogICAg
ICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QobWF4KDUuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPiht
X21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAvIDEwMDApKTsKICAgICB9CiB9CkBA
IC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVl
KAogdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogewogICAg
IC8vIFdlIG11c3Qgbm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4gdGhpcyBjb250ZXh0IGJ5IHRo
ZSBzYW1lIHJlYXNvbiBhcyBzZXRNZXNzYWdlKCkuCi0gICAgbV90aW1lci5zZXQobmV3IFRpbWVy
PFZhbGlkYXRpb25NZXNzYWdlPih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJs
ZVRyZWUpKTsKKyAgICBtX3RpbWVyID0gYWRvcHRQdHIobmV3IFRpbWVyPFZhbGlkYXRpb25NZXNz
YWdlPih0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpKTsKICAgICBt
X3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91264</attachid>
            <date>2011-04-27 04:07:58 -0700</date>
            <delta_ts>2011-04-27 04:38:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59394-20110427040756.patch</filename>
            <type>text/plain</type>
            <size>7182</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1MDQ0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDQtMjcgIE1hY2llaiBT
dGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBWYWxpZGF0aW9uTWVzc2FnZSBhbmQgWE1MRG9jdW1lbnRQYXJz
ZXJMaWJ4bWwyIHNob3VsZCBwbGF5IG5pY2Ugd2l0aCBzdHJpY3QgT3duUHRycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkzOTQKKworICAgICAgICBQ
cm9wZXJseSBmaXggdGhpcyAoZm9ybWVybHkgcm9sbGVkIG91dCBmb3IgYnJlYWtpbmcgdGhlIGJ1
aWxkKS4gSSB0aGluayB0aGUgb3JpZ2luYWwKKyAgICAgICAgZmFpbHVyZSBoYWQgbm90aGluZyB0
byBkbyB3aXRoIERlcXVlPE93blB0cj4sIHdoaWNoIGluIGZhY3QgYXBwZWFycyB0byB3b3JrIGZp
bmUuCisKKyAgICAgICAgKiBkb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6On5QZW5kaW5nQ2FsbGJhY2tzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRTdGFydEVsZW1lbnROU0NhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZEVuZEVsZW1lbnROU0NhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZENoYXJhY3RlcnND
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nQ2Fs
bGJhY2tzOjphcHBlbmRDREFUQUJsb2NrQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGVu
ZGluZ0NhbGxiYWNrczo6YXBwZW5kQ29tbWVudENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZEludGVybmFsU3Vic2V0Q2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBwZW5kRXJyb3JDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjpQZW5kaW5nQ2FsbGJhY2tzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpYTUxEb2N1bWVudFBhcnNlcik6CisKIDIw
MTEtMDQtMjcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCShyZXZpc2lvbiA4NDg3OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03OSwxNiArNzksMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGVuZGlu
Z0NhbGxiYWNrcyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7
CiBwdWJsaWM6Ci0gICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQotICAgIH5QZW5kaW5nQ2FsbGJh
Y2tzKCkKKyAgICB+UGVuZGluZ0NhbGxiYWNrcygpIHsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRy
PFBlbmRpbmdDYWxsYmFja3M+IGNyZWF0ZSgpIAogICAgIHsKLSAgICAgICAgZGVsZXRlQWxsVmFs
dWVzKG1fY2FsbGJhY2tzKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQZW5kaW5nQ2Fs
bGJhY2tzKTsgCiAgICAgfQotCisgICAgCiAgICAgdm9pZCBhcHBlbmRTdGFydEVsZW1lbnROU0Nh
bGxiYWNrKGNvbnN0IHhtbENoYXIqIHhtbExvY2FsTmFtZSwgY29uc3QgeG1sQ2hhciogeG1sUHJl
Zml4LCBjb25zdCB4bWxDaGFyKiB4bWxVUkksIGludCBuYl9uYW1lc3BhY2VzLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyKiogbmFtZXNwYWNlcywg
aW50IG5iX2F0dHJpYnV0ZXMsIGludCBuYl9kZWZhdWx0ZWQsIGNvbnN0IHhtbENoYXIqKiBhdHRy
aWJ1dGVzKQogICAgIHsKLSAgICAgICAgUGVuZGluZ1N0YXJ0RWxlbWVudE5TQ2FsbGJhY2sqIGNh
bGxiYWNrID0gbmV3IFBlbmRpbmdTdGFydEVsZW1lbnROU0NhbGxiYWNrOworICAgICAgICBPd25Q
dHI8UGVuZGluZ1N0YXJ0RWxlbWVudE5TQ2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3
IFBlbmRpbmdTdGFydEVsZW1lbnROU0NhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+eG1s
TG9jYWxOYW1lID0geG1sU3RyZHVwKHhtbExvY2FsTmFtZSk7CiAgICAgICAgIGNhbGxiYWNrLT54
bWxQcmVmaXggPSB4bWxTdHJkdXAoeG1sUHJlZml4KTsKQEAgLTExMyw3NiArMTEzLDc0IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGNhbGxiYWNrLT5hdHRyaWJ1dGVzW2kgKiA1ICsgNF0gPSBjYWxs
YmFjay0+YXR0cmlidXRlc1tpICogNSArIDNdICsgbGVuOwogICAgICAgICB9CiAKLSAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5k
KGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRFbmRFbGVtZW50
TlNDYWxsYmFjaygpCiAgICAgewotICAgICAgICBQZW5kaW5nRW5kRWxlbWVudE5TQ2FsbGJhY2sq
IGNhbGxiYWNrID0gbmV3IFBlbmRpbmdFbmRFbGVtZW50TlNDYWxsYmFjazsKLQotICAgICAgICBt
X2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQo
YWRvcHRQdHIobmV3IFBlbmRpbmdFbmRFbGVtZW50TlNDYWxsYmFjaykpOwogICAgIH0KIAogICAg
IHZvaWQgYXBwZW5kQ2hhcmFjdGVyc0NhbGxiYWNrKGNvbnN0IHhtbENoYXIqIHMsIGludCBsZW4p
CiAgICAgewotICAgICAgICBQZW5kaW5nQ2hhcmFjdGVyc0NhbGxiYWNrKiBjYWxsYmFjayA9IG5l
dyBQZW5kaW5nQ2hhcmFjdGVyc0NhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ0NoYXJh
Y3RlcnNDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0NoYXJhY3RlcnND
YWxsYmFjayk7CiAKICAgICAgICAgY2FsbGJhY2stPnMgPSB4bWxTdHJuZHVwKHMsIGxlbik7CiAg
ICAgICAgIGNhbGxiYWNrLT5sZW4gPSBsZW47CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5k
KGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2Uo
KSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFj
ayhjb25zdCB4bWxDaGFyKiB0YXJnZXQsIGNvbnN0IHhtbENoYXIqIGRhdGEpCiAgICAgewotICAg
ICAgICBQZW5kaW5nUHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3
IFBlbmRpbmdQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBl
bmRpbmdQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihu
ZXcgUGVuZGluZ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrKTsKIAogICAgICAgICBjYWxs
YmFjay0+dGFyZ2V0ID0geG1sU3RyZHVwKHRhcmdldCk7CiAgICAgICAgIGNhbGxiYWNrLT5kYXRh
ID0geG1sU3RyZHVwKGRhdGEpOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFj
ayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxlYXNlKCkpOwogICAg
IH0KIAogICAgIHZvaWQgYXBwZW5kQ0RBVEFCbG9ja0NhbGxiYWNrKGNvbnN0IHhtbENoYXIqIHMs
IGludCBsZW4pCiAgICAgewotICAgICAgICBQZW5kaW5nQ0RBVEFCbG9ja0NhbGxiYWNrKiBjYWxs
YmFjayA9IG5ldyBQZW5kaW5nQ0RBVEFCbG9ja0NhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVu
ZGluZ0NEQVRBQmxvY2tDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0NE
QVRBQmxvY2tDYWxsYmFjayk7CiAKICAgICAgICAgY2FsbGJhY2stPnMgPSB4bWxTdHJuZHVwKHMs
IGxlbik7CiAgICAgICAgIGNhbGxiYWNrLT5sZW4gPSBsZW47CiAKLSAgICAgICAgbV9jYWxsYmFj
a3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNr
LnJlbGVhc2UoKSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRDb21tZW50Q2FsbGJhY2soY29u
c3QgeG1sQ2hhciogcykKICAgICB7Ci0gICAgICAgIFBlbmRpbmdDb21tZW50Q2FsbGJhY2sqIGNh
bGxiYWNrID0gbmV3IFBlbmRpbmdDb21tZW50Q2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5k
aW5nQ29tbWVudENhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nQ29tbWVu
dENhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+cyA9IHhtbFN0cmR1cChzKTsKIAotICAg
ICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5h
cHBlbmQoY2FsbGJhY2sucmVsZWFzZSgpKTsKICAgICB9CiAKICAgICB2b2lkIGFwcGVuZEludGVy
bmFsU3Vic2V0Q2FsbGJhY2soY29uc3QgeG1sQ2hhciogbmFtZSwgY29uc3QgeG1sQ2hhciogZXh0
ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciogc3lzdGVtSUQpCiAgICAgewotICAgICAgICBQZW5kaW5n
SW50ZXJuYWxTdWJzZXRDYWxsYmFjayogY2FsbGJhY2sgPSBuZXcgUGVuZGluZ0ludGVybmFsU3Vi
c2V0Q2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5kaW5nSW50ZXJuYWxTdWJzZXRDYWxsYmFj
az4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0ludGVybmFsU3Vic2V0Q2FsbGJhY2sp
OwogCiAgICAgICAgIGNhbGxiYWNrLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOwogICAgICAgICBj
YWxsYmFjay0+ZXh0ZXJuYWxJRCA9IHhtbFN0cmR1cChleHRlcm5hbElEKTsKICAgICAgICAgY2Fs
bGJhY2stPnN5c3RlbUlEID0geG1sU3RyZHVwKHN5c3RlbUlEKTsKIAotICAgICAgICBtX2NhbGxi
YWNrcy5hcHBlbmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2sucmVsZWFzZSgpKTsKICAgICB9CiAKICAgICB2b2lkIGFwcGVuZEVycm9yQ2FsbGJhY2soWE1M
RG9jdW1lbnRQYXJzZXI6OkVycm9yVHlwZSB0eXBlLCBjb25zdCB4bWxDaGFyKiBtZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlcikKICAgICB7Ci0gICAgICAgIFBlbmRpbmdF
cnJvckNhbGxiYWNrKiBjYWxsYmFjayA9IG5ldyBQZW5kaW5nRXJyb3JDYWxsYmFjazsKKyAgICAg
ICAgT3duUHRyPFBlbmRpbmdFcnJvckNhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQ
ZW5kaW5nRXJyb3JDYWxsYmFjayk7CiAKICAgICAgICAgY2FsbGJhY2stPm1lc3NhZ2UgPSB4bWxT
dHJkdXAobWVzc2FnZSk7CiAgICAgICAgIGNhbGxiYWNrLT50eXBlID0gdHlwZTsKICAgICAgICAg
Y2FsbGJhY2stPmxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyOwogICAgICAgICBjYWxsYmFjay0+Y29s
dW1uTnVtYmVyID0gY29sdW1uTnVtYmVyOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChj
YWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxlYXNlKCkp
OwogICAgIH0KIAogICAgIHZvaWQgY2FsbEFuZFJlbW92ZUZpcnN0Q2FsbGJhY2soWE1MRG9jdW1l
bnRQYXJzZXIqIHBhcnNlcikKQEAgLTE5NCw2ICsxOTIsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBp
c0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja3MuaXNFbXB0eSgpOyB9CiAKIHByaXZh
dGU6CisgICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQorCiAgICAgc3RydWN0IFBlbmRpbmdDYWxs
YmFjayB7CiAgICAgICAgIHZpcnR1YWwgflBlbmRpbmdDYWxsYmFjaygpIHsgfQogICAgICAgICB2
aXJ0dWFsIHZvaWQgY2FsbChYTUxEb2N1bWVudFBhcnNlciogcGFyc2VyKSA9IDA7CkBAIC0zMzMs
NyArMzMzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgaW50IGNvbHVtbk51bWJlcjsKICAgICB9Owog
Ci0gICAgRGVxdWU8UGVuZGluZ0NhbGxiYWNrKj4gbV9jYWxsYmFja3M7CisgICAgRGVxdWU8T3du
UHRyPFBlbmRpbmdDYWxsYmFjaz4gPiBtX2NhbGxiYWNrczsKIH07CiAvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC01NDYsNyArNTQ2LDcgQEAgWE1MRG9jdW1lbnRQYXJz
ZXI6OlhNTERvY3VtZW50UGFyc2VyKERvYwogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KGRvY3VtZW50KQogICAgICwgbV92aWV3KGZyYW1lVmlldykKICAgICAsIG1fY29udGV4dCgwKQot
ICAgICwgbV9wZW5kaW5nQ2FsbGJhY2tzKG5ldyBQZW5kaW5nQ2FsbGJhY2tzKQorICAgICwgbV9w
ZW5kaW5nQ2FsbGJhY2tzKFBlbmRpbmdDYWxsYmFja3M6OmNyZWF0ZSgpKQogICAgICwgbV9jdXJy
ZW50Tm9kZShkb2N1bWVudCkKICAgICAsIG1fc2F3RXJyb3IoZmFsc2UpCiAgICAgLCBtX3Nhd0NT
UyhmYWxzZSkKQEAgLTU3Myw3ICs1NzMsNyBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1l
bnRQYXJzZXIoRG9jCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQtPmRv
Y3VtZW50KCkpCiAgICAgLCBtX3ZpZXcoMCkKICAgICAsIG1fY29udGV4dCgwKQotICAgICwgbV9w
ZW5kaW5nQ2FsbGJhY2tzKG5ldyBQZW5kaW5nQ2FsbGJhY2tzKQorICAgICwgbV9wZW5kaW5nQ2Fs
bGJhY2tzKFBlbmRpbmdDYWxsYmFja3M6OmNyZWF0ZSgpKQogICAgICwgbV9jdXJyZW50Tm9kZShm
cmFnbWVudCkKICAgICAsIG1fc2F3RXJyb3IoZmFsc2UpCiAgICAgLCBtX3Nhd0NTUyhmYWxzZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91707</attachid>
            <date>2011-04-29 11:17:07 -0700</date>
            <delta_ts>2011-05-12 14:39:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59394-20110429111704.patch</filename>
            <type>text/plain</type>
            <size>18665</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODUzMzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTEtMDQtMjkgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBYTUxEb2N1bWVudFBhcnNl
ckxpYnhtbDIgc2hvdWxkIHBsYXkgbmljZSB3aXRoIHN0cmljdCBPd25QdHJzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTM5NAorCisgICAgICAgIFRo
aXMgcG9ydGlvbiBvZiB0aGUgY2hhbmdlIGludHJvZHVjZXMgYSBQYXNzVHJhaXRzIHRlbXBsYXRl
LCB3aGljaAorICAgICAgICBpcyB1c2VkIHRvIGVuYWJsZSB0YWtlRmlyc3QoKSB0byB3b3JrIGZv
ciBhIERlcXVlIGhvbGRpbmcgT3duUHRycywKKyAgICAgICAgYW5kIG9wdGltaXplIGl0IGZvciBh
IERlcXVlIGhvbGRpbmcgUmVmUHRycy4gSW4gdGhlIGZ1dHVyZSBpdCBjYW4KKyAgICAgICAgYmUg
ZGVwbG95ZWQgZWxzZXdoZXJlIHRvIG1ha2Ugb3VyIGRhdGEgc3RydWN0dXJlcyB3b3JrIGJldHRl
ciB3aXRoCisgICAgICAgIG91ciBzbWFydCBwb2ludGVycy4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogd3RmL0RlcXVlLmg6CisgICAgICAgIChXVEY6Ojo6dGFrZUZpcnN0
KToKKyAgICAgICAgKiB3dGYvUGFzc1RyYWl0cy5oOiBBZGRlZC4KKyAgICAgICAgKFdURjo6UGFz
c1RyYWl0czo6dHJhbnNmZXIpOgorCiAyMDExLTA0LTI4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDg1MzE0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAg
LTQ3OCw2ICs0NzgsNyBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1Bhc3NPd25BcnJheVB0ci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1Bhc3NPd25QdHIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzUmVm
UHRyLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc1RyYWl0cy5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhcmFsbGVsSm9icy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BhcmFsbGVsSm9ic0dlbmVyaWMuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BhcmFsbGVsSm9ic0dlbmVyaWMuaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gODUzMTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMTg2LDYgKzE4
Niw3IEBACiAgICAgICAgICAgICAnd3RmL1Bhc3NPd25BcnJheVB0ci5oJywKICAgICAgICAgICAg
ICd3dGYvUGFzc093blB0ci5oJywKICAgICAgICAgICAgICd3dGYvUGFzc1JlZlB0ci5oJywKKyAg
ICAgICAgICAgICd3dGYvUGFzc1RyYWl0cy5oJywKICAgICAgICAgICAgICd3dGYvUGxhdGZvcm0u
aCcsCiAgICAgICAgICAgICAnd3RmL1Bvc3NpYmx5TnVsbC5oJywKICAgICAgICAgICAgICd3dGYv
UmFuZG9tTnVtYmVyLmgnLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZpc2lvbiA4NTMx
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dU
Ri52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTg0NSw2ICs4NDUsMTAgQEAKIAkJCT4KIAkJPC9G
aWxlPgogCQk8RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcUGFzc1RyYWl0cy5oIgor
CQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxQYXJh
bGxlbEpvYnMuaCIKIAkJCT4KIAkJPC9GaWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDg1MzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2
ICsyMTcsNyBAQAogCQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRvbS5qcyBpbiBD
b3B5IFN1cHBvcnQgU2NyaXB0ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovOyB9OwogCQk1REU2RTVCMzBF
MTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1NDAyNTU1OTdEMDFGRjYwRjcgLyogY3Jl
YXRlX2hhc2hfdGFibGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJ
NjUwN0QyOUUwRTg3MUU1RTAwRDdEODk2IC8qIEpTVHlwZUluZm8uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MDdEMjk3MEU4NzFFNEEwMEQ3RDg5NiAv
KiBKU1R5cGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNjUxRENBMDQxMzZBNkZFRjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MURDQTAyMTM2QTZGQUIw
MEY3NDE5NCAvKiBQYXNzVHJhaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNjU1RUIyOUIxMENFMjU4MTAwMUE5OTBFIC8qIE5vZGVzQ29kZWdl
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTVF
QjI5QTEwQ0UyNTgxMDAxQTk5MEUgLyogTm9kZXNDb2RlZ2VuLmNwcCAqLzsgfTsKIAkJNjVERkM5
MzMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NURGQzkyRDA4RUExNzNBMDBGNzMwMEIgLyogSGFz
aFRhYmxlLmNwcCAqLzsgfTsKIAkJNjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5vbkNvcHlp
bmdTb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NUUxQTJGNDEyMkI4ODBEMDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODY1LDYgKzg2Niw3IEBACiAJ
CTVEQkQxOEFGMEM1NDAxQTcwMEMxNUVBRSAvKiBNYWxsb2Nab25lU3VwcG9ydC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWxsb2Nab25lU3VwcG9ydC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1REUzRDBGNDBERDhEREZCMDA0Njg3MTQgLyogV2ViS2l0QXZh
aWxhYmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWls
YWJpbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTA3RDI5NzBFODcxRTRB
MDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1R5cGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MURDQTAyMTM2
QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhc3NUcmFpdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjUxRjY0
MTIwMzlENUI1RjAwNzgzOTVDIC8qIGR0b2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gZHRvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjUxRjY0MTMwMzlENUI1RjAwNzgzOTVDIC8qIGR0
b2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
ZHRvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCTY1MjI0
NkE0MEM4RDdBMEUwMDdCREFGNyAvKiBIYXNoSXRlcmF0b3JzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhhc2hJdGVyYXRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE3MTksNiArMTcyMSw3IEBACiAJCQkJQkNGQkU2OTUxMjI1NjBFODAwMzA5RTlEIC8q
IFBhc3NPd25BcnJheVB0ci5oICovLAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRFQiAvKiBQ
YXNzT3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBhc3NSZWZQ
dHIuaCAqLywKKwkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0cy5oICov
LAogCQkJCTc5MzRCQjc2MTM2MTk3OTMwMENCOTlBMSAvKiBQYXJhbGxlbEpvYnMuaCAqLywKIAkJ
CQk3OTM0QkI3NzEzNjE5NzkzMDBDQjk5QTEgLyogUGFyYWxsZWxKb2JzR2VuZXJpYy5jcHAgKi8s
CiAJCQkJNzkzNEJCNzgxMzYxOTc5MzAwQ0I5OUExIC8qIFBhcmFsbGVsSm9ic0dlbmVyaWMuaCAq
LywKQEAgLTI1OTUsNiArMjU5OCw3IEBACiAJCQkJNzkzNEJCN0QxMzYxOTc5NDAwQ0I5OUExIC8q
IFBhcmFsbGVsSm9ic0dlbmVyaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5MzRCQjdFMTM2MTk3
OTQwMENCOTlBMSAvKiBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNzkzNEJCN0YxMzYxOTc5NDAwQ0I5OUExIC8qIFBhcmFsbGVsSm9ic09wZW5NUC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNjUxRENBMDQxMzZBNkZFRjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMu
dHh0CShyZXZpc2lvbiA4NTMxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgU0VUKFdURl9IRUFERVJT
CiAgICAgUGFzc093bkFycmF5UHRyLmgKICAgICBQYXNzT3duUHRyLmgKICAgICBQYXNzUmVmUHRy
LmgKKyAgICBQYXNzVHJhaXRzLmgKICAgICBQYXJhbGxlbEpvYnMuaAogICAgIFBhcmFsbGVsSm9i
c0dlbmVyaWMuaAogICAgIFBhcmFsbGVsSm9ic0xpYmRpc3BhdGNoLmgKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0RlcXVlLmgJKHJldmlzaW9uIDg1MzE0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAvLyBEZXF1
ZSBkb2Vzbid0IGFjdHVhbGx5IHVzZSBWZWN0b3IuCiAKICNpbmNsdWRlICJWZWN0b3IuaCIKKyNp
bmNsdWRlICJQYXNzVHJhaXRzLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC01MSw2ICs1Miw4
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxU
LCBpbmxpbmVDYXBhY2l0eT4gY29uc3RfaXRlcmF0b3I7CiAgICAgICAgIHR5cGVkZWYgRGVxdWVS
ZXZlcnNlSXRlcmF0b3I8VCwgaW5saW5lQ2FwYWNpdHk+IHJldmVyc2VfaXRlcmF0b3I7CiAgICAg
ICAgIHR5cGVkZWYgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjxULCBpbmxpbmVDYXBhY2l0eT4g
Y29uc3RfcmV2ZXJzZV9pdGVyYXRvcjsKKyAgICAgICAgdHlwZWRlZiBQYXNzVHJhaXRzPFQ+IFBh
c3M7CisgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUGFzc1RyYWl0czxUPjo6UGFzc1R5cGUgUGFz
c1R5cGU7CiAKICAgICAgICAgRGVxdWUoKTsKICAgICAgICAgRGVxdWUoY29uc3QgRGVxdWU8VCwg
aW5saW5lQ2FwYWNpdHk+Jik7CkBAIC03Myw3ICs3Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgICAgIFQmIGZpcnN0KCkgeyBBU1NFUlQobV9zdGFydCAhPSBtX2VuZCk7IHJldHVybiBtX2J1
ZmZlci5idWZmZXIoKVttX3N0YXJ0XTsgfQogICAgICAgICBjb25zdCBUJiBmaXJzdCgpIGNvbnN0
IHsgQVNTRVJUKG1fc3RhcnQgIT0gbV9lbmQpOyByZXR1cm4gbV9idWZmZXIuYnVmZmVyKClbbV9z
dGFydF07IH0KLSAgICAgICAgVCB0YWtlRmlyc3QoKTsKKyAgICAgICAgUGFzc1R5cGUgdGFrZUZp
cnN0KCk7CiAKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gdm9pZCBhcHBlbmQoY29uc3Qg
VSYpOwogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiB2b2lkIHByZXBlbmQoY29uc3QgVSYp
OwpAQCAtNDM2LDExICs0MzksMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfQogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgotICAgIGlubGluZSBUIERl
cXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6dGFrZUZpcnN0KCkKKyAgICBpbmxpbmUgdHlwZW5hbWUg
RGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+OjpQYXNzVHlwZSBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0
eT46OnRha2VGaXJzdCgpCiAgICAgewotICAgICAgICBUIG9sZEZpcnN0ID0gZmlyc3QoKTsKKyAg
ICAgICAgVCBvbGRGaXJzdCA9IFBhc3M6OnRyYW5zZmVyKGZpcnN0KCkpOwogICAgICAgICByZW1v
dmVGaXJzdCgpOwotICAgICAgICByZXR1cm4gb2xkRmlyc3Q7CisgICAgICAgIHJldHVybiBQYXNz
Ojp0cmFuc2ZlcihvbGRGaXJzdCk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c2l6ZV90IGlubGluZUNhcGFjaXR5PiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzVHJhaXRzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QYXNzVHJhaXRzLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1Bhc3NUcmFpdHMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBXVEZfUGFzc1RyYWl0c19oCisjZGVmaW5lIFdURl9QYXNzVHJhaXRzX2gKKwor
I2luY2x1ZGUgIk93blB0ci5oIgorI2luY2x1ZGUgIlJlZlB0ci5oIgorCisvLyBUaGUgUGFzc1Ry
YWl0cyB0ZW1wbGF0ZSBleGlzdHMgdG8gaGVscCBvcHRpbWl6ZSAob3IgbWFrZSBwb3NzaWJsZSkg
dXNlCisvLyBvZiBXVEYgZGF0YSBzdHJ1Y3R1cmVzIHdpdGggV1RGIHNtYXJ0IHBvaW50ZXJzIHRo
YXQgaGF2ZSBhIFBhc3MKKy8vIHZhcmlhbnQgZm9yIHRyYW5zZmVyIG9mIG93bmVyc2hpcAorCitu
YW1lc3BhY2UgV1RGIHsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXNzVHJh
aXRzIHsKKyAgICAgICAgdHlwZWRlZiBUIFR5cGU7CisgICAgICAgIHR5cGVkZWYgVCBQYXNzVHlw
ZTsKKyAgICAgICAgc3RhdGljIFBhc3NUeXBlIHRyYW5zZmVyKFR5cGUmIHQpIHsgcmV0dXJuIHQ7
IH0KKyAgICB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBhc3NUcmFpdHM8
T3duUHRyPFQ+ID4geworICAgICAgICB0eXBlZGVmIE93blB0cjxUPiBUeXBlOworICAgICAgICB0
eXBlZGVmIFBhc3NPd25QdHI8VD4gUGFzc1R5cGU7CisgICAgICAgIHN0YXRpYyBQYXNzVHlwZSB0
cmFuc2ZlcihUeXBlJiB0KSB7IHJldHVybiB0LnJlbGVhc2UoKTsgfQorICAgIH07CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFzc1RyYWl0czxSZWZQdHI8VD4gPiB7CisgICAg
ICAgIHR5cGVkZWYgUmVmUHRyPFQ+IFR5cGU7CisgICAgICAgIHR5cGVkZWYgUGFzc1JlZlB0cjxU
PiBQYXNzVHlwZTsKKyAgICAgICAgc3RhdGljIFBhc3NUeXBlIHRyYW5zZmVyKFR5cGUmIHQpIHsg
cmV0dXJuIHQucmVsZWFzZSgpOyB9CisgICAgfTsKKworfQorCit1c2luZyBXVEY6OlBhc3NUcmFp
dHM7CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODUzMTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0w
NC0yNyAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhNTERvY3VtZW50UGFyc2VyTGlieG1s
MiBzaG91bGQgcGxheSBuaWNlIHdpdGggc3RyaWN0IE93blB0cnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5Mzk0CisKKyAgICAgICAgUHJvcGVybHkg
Zml4IHRoaXMgKGZvcm1lcmx5IHJvbGxlZCBvdXQgZm9yIGJyZWFraW5nIHRoZSBidWlsZCkuIEkg
dGhpbmsgdGhlIG9yaWdpbmFsCisgICAgICAgIGZhaWx1cmUgaGFkIG5vdGhpbmcgdG8gZG8gd2l0
aCBEZXF1ZTxPd25QdHI+LCB3aGljaCBpbiBmYWN0IGFwcGVhcnMgdG8gd29yayBmaW5lLgorCisg
ICAgICAgICogZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjp+UGVuZGluZ0NhbGxiYWNrcyk6CisgICAgICAgIChXZWJD
b3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGlu
Z0NhbGxiYWNrczo6YXBwZW5kU3RhcnRFbGVtZW50TlNDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRFbmRFbGVtZW50TlNDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRDaGFyYWN0ZXJzQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBwZW5kUHJvY2Vzc2luZ0lu
c3RydWN0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6
YXBwZW5kQ0RBVEFCbG9ja0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxs
YmFja3M6OmFwcGVuZENvbW1lbnRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5n
Q2FsbGJhY2tzOjphcHBlbmRJbnRlcm5hbFN1YnNldENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZEVycm9yQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6UGVuZGluZ0NhbGxiYWNrczo6UGVuZGluZ0NhbGxiYWNrcyk6CisgICAgICAgIChXZWJD
b3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIpOgorCiAyMDExLTA0LTI5
ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3Vt
ZW50UGFyc2VyTGlieG1sMi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAJKHJldmlzaW9uIDg1MzE0KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDkgKzI2LDYgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0vLyBGSVhNRTogUmVtb3Zl
IHRoaXMgZGVmaW5lIQotI2RlZmluZSBMT09TRV9PV05fUFRSCi0KICNpbmNsdWRlICJYTUxEb2N1
bWVudFBhcnNlci5oIgogCiAjaW5jbHVkZSAiQ0RBVEFTZWN0aW9uLmgiCkBAIC04MywxNiArODAs
MTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6Ci0gICAgUGVu
ZGluZ0NhbGxiYWNrcygpIHsgfQotICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKKyAgICB+UGVuZGlu
Z0NhbGxiYWNrcygpIHsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRyPFBlbmRpbmdDYWxsYmFja3M+
IGNyZWF0ZSgpIAogICAgIHsKLSAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQZW5kaW5nQ2FsbGJhY2tzKTsgCiAgICAgfQot
CisgICAgCiAgICAgdm9pZCBhcHBlbmRTdGFydEVsZW1lbnROU0NhbGxiYWNrKGNvbnN0IHhtbENo
YXIqIHhtbExvY2FsTmFtZSwgY29uc3QgeG1sQ2hhciogeG1sUHJlZml4LCBjb25zdCB4bWxDaGFy
KiB4bWxVUkksIGludCBuYl9uYW1lc3BhY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB4bWxDaGFyKiogbmFtZXNwYWNlcywgaW50IG5iX2F0dHJpYnV0ZXMs
IGludCBuYl9kZWZhdWx0ZWQsIGNvbnN0IHhtbENoYXIqKiBhdHRyaWJ1dGVzKQogICAgIHsKLSAg
ICAgICAgUGVuZGluZ1N0YXJ0RWxlbWVudE5TQ2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRp
bmdTdGFydEVsZW1lbnROU0NhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ1N0YXJ0RWxl
bWVudE5TQ2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdTdGFydEVsZW1l
bnROU0NhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+eG1sTG9jYWxOYW1lID0geG1sU3Ry
ZHVwKHhtbExvY2FsTmFtZSk7CiAgICAgICAgIGNhbGxiYWNrLT54bWxQcmVmaXggPSB4bWxTdHJk
dXAoeG1sUHJlZml4KTsKQEAgLTExNyw4NyArMTE0LDg3IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IGNhbGxiYWNrLT5hdHRyaWJ1dGVzW2kgKiA1ICsgNF0gPSBjYWxsYmFjay0+YXR0cmlidXRlc1tp
ICogNSArIDNdICsgbGVuOwogICAgICAgICB9CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5k
KGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2Uo
KSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRFbmRFbGVtZW50TlNDYWxsYmFjaygpCiAgICAg
ewotICAgICAgICBQZW5kaW5nRW5kRWxlbWVudE5TQ2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBl
bmRpbmdFbmRFbGVtZW50TlNDYWxsYmFjazsKLQotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQo
Y2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoYWRvcHRQdHIobmV3IFBlbmRp
bmdFbmRFbGVtZW50TlNDYWxsYmFjaykpOwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kQ2hhcmFj
dGVyc0NhbGxiYWNrKGNvbnN0IHhtbENoYXIqIHMsIGludCBsZW4pCiAgICAgewotICAgICAgICBQ
ZW5kaW5nQ2hhcmFjdGVyc0NhbGxiYWNrKiBjYWxsYmFjayA9IG5ldyBQZW5kaW5nQ2hhcmFjdGVy
c0NhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ0NoYXJhY3RlcnNDYWxsYmFjaz4gY2Fs
bGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0NoYXJhY3RlcnNDYWxsYmFjayk7CiAKICAgICAg
ICAgY2FsbGJhY2stPnMgPSB4bWxTdHJuZHVwKHMsIGxlbik7CiAgICAgICAgIGNhbGxiYWNrLT5s
ZW4gPSBsZW47CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAgICAg
ICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAgfQogCiAgICAg
dm9pZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjayhjb25zdCB4bWxDaGFyKiB0
YXJnZXQsIGNvbnN0IHhtbENoYXIqIGRhdGEpCiAgICAgewotICAgICAgICBQZW5kaW5nUHJvY2Vz
c2luZ0luc3RydWN0aW9uQ2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRpbmdQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25DYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb25DYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ1Byb2Nlc3Np
bmdJbnN0cnVjdGlvbkNhbGxiYWNrKTsKIAogICAgICAgICBjYWxsYmFjay0+dGFyZ2V0ID0geG1s
U3RyZHVwKHRhcmdldCk7CiAgICAgICAgIGNhbGxiYWNrLT5kYXRhID0geG1sU3RyZHVwKGRhdGEp
OwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2Fs
bGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxlYXNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgYXBw
ZW5kQ0RBVEFCbG9ja0NhbGxiYWNrKGNvbnN0IHhtbENoYXIqIHMsIGludCBsZW4pCiAgICAgewot
ICAgICAgICBQZW5kaW5nQ0RBVEFCbG9ja0NhbGxiYWNrKiBjYWxsYmFjayA9IG5ldyBQZW5kaW5n
Q0RBVEFCbG9ja0NhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ0NEQVRBQmxvY2tDYWxs
YmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0NEQVRBQmxvY2tDYWxsYmFjayk7
CiAKICAgICAgICAgY2FsbGJhY2stPnMgPSB4bWxTdHJuZHVwKHMsIGxlbik7CiAgICAgICAgIGNh
bGxiYWNrLT5sZW4gPSBsZW47CiAKLSAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNr
KTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAg
fQogCiAgICAgdm9pZCBhcHBlbmRDb21tZW50Q2FsbGJhY2soY29uc3QgeG1sQ2hhciogcykKICAg
ICB7Ci0gICAgICAgIFBlbmRpbmdDb21tZW50Q2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRp
bmdDb21tZW50Q2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5kaW5nQ29tbWVudENhbGxiYWNr
PiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nQ29tbWVudENhbGxiYWNrKTsKIAogICAg
ICAgICBjYWxsYmFjay0+cyA9IHhtbFN0cmR1cChzKTsKIAotICAgICAgICBtX2NhbGxiYWNrcy5h
cHBlbmQoY2FsbGJhY2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVs
ZWFzZSgpKTsKICAgICB9CiAKICAgICB2b2lkIGFwcGVuZEludGVybmFsU3Vic2V0Q2FsbGJhY2so
Y29uc3QgeG1sQ2hhciogbmFtZSwgY29uc3QgeG1sQ2hhciogZXh0ZXJuYWxJRCwgY29uc3QgeG1s
Q2hhciogc3lzdGVtSUQpCiAgICAgewotICAgICAgICBQZW5kaW5nSW50ZXJuYWxTdWJzZXRDYWxs
YmFjayogY2FsbGJhY2sgPSBuZXcgUGVuZGluZ0ludGVybmFsU3Vic2V0Q2FsbGJhY2s7CisgICAg
ICAgIE93blB0cjxQZW5kaW5nSW50ZXJuYWxTdWJzZXRDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9w
dFB0cihuZXcgUGVuZGluZ0ludGVybmFsU3Vic2V0Q2FsbGJhY2spOwogCiAgICAgICAgIGNhbGxi
YWNrLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOwogICAgICAgICBjYWxsYmFjay0+ZXh0ZXJuYWxJ
RCA9IHhtbFN0cmR1cChleHRlcm5hbElEKTsKICAgICAgICAgY2FsbGJhY2stPnN5c3RlbUlEID0g
eG1sU3RyZHVwKHN5c3RlbUlEKTsKIAotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVsZWFzZSgpKTsKICAg
ICB9CiAKICAgICB2b2lkIGFwcGVuZEVycm9yQ2FsbGJhY2soWE1MRG9jdW1lbnRQYXJzZXI6OkVy
cm9yVHlwZSB0eXBlLCBjb25zdCB4bWxDaGFyKiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50
IGNvbHVtbk51bWJlcikKICAgICB7Ci0gICAgICAgIFBlbmRpbmdFcnJvckNhbGxiYWNrKiBjYWxs
YmFjayA9IG5ldyBQZW5kaW5nRXJyb3JDYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdF
cnJvckNhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5kaW5nRXJyb3JDYWxsYmFj
ayk7CiAKICAgICAgICAgY2FsbGJhY2stPm1lc3NhZ2UgPSB4bWxTdHJkdXAobWVzc2FnZSk7CiAg
ICAgICAgIGNhbGxiYWNrLT50eXBlID0gdHlwZTsKICAgICAgICAgY2FsbGJhY2stPmxpbmVOdW1i
ZXIgPSBsaW5lTnVtYmVyOwogICAgICAgICBjYWxsYmFjay0+Y29sdW1uTnVtYmVyID0gY29sdW1u
TnVtYmVyOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjayk7CisgICAgICAg
IG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxlYXNlKCkpOwogICAgIH0KIAogICAgIHZv
aWQgY2FsbEFuZFJlbW92ZUZpcnN0Q2FsbGJhY2soWE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlcikK
ICAgICB7Ci0gICAgICAgIE93blB0cjxQZW5kaW5nQ2FsbGJhY2s+IGNhbGxiYWNrKG1fY2FsbGJh
Y2tzLnRha2VGaXJzdCgpKTsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdDYWxsYmFjaz4gY2FsbGJh
Y2sgPSBtX2NhbGxiYWNrcy50YWtlRmlyc3QoKTsKICAgICAgICAgY2FsbGJhY2stPmNhbGwocGFy
c2VyKTsKICAgICB9CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2NhbGxi
YWNrcy5pc0VtcHR5KCk7IH0KIAogcHJpdmF0ZToKKyAgICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9
CisKICAgICBzdHJ1Y3QgUGVuZGluZ0NhbGxiYWNrIHsKICAgICAgICAgdmlydHVhbCB+UGVuZGlu
Z0NhbGxiYWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYWxsKFhNTERvY3VtZW50UGFy
c2VyKiBwYXJzZXIpID0gMDsKQEAgLTMzNyw3ICszMzQsNyBAQCBwcml2YXRlOgogICAgICAgICBp
bnQgY29sdW1uTnVtYmVyOwogICAgIH07CiAKLSAgICBEZXF1ZTxQZW5kaW5nQ2FsbGJhY2sqPiBt
X2NhbGxiYWNrczsKKyAgICBEZXF1ZTxPd25QdHI8UGVuZGluZ0NhbGxiYWNrPiA+IG1fY2FsbGJh
Y2tzOwogfTsKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTU1MCw3
ICs1NDcsNyBAQCBYTUxEb2N1bWVudFBhcnNlcjo6WE1MRG9jdW1lbnRQYXJzZXIoRG9jCiAgICAg
OiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQpCiAgICAgLCBtX3ZpZXcoZnJhbWVW
aWV3KQogICAgICwgbV9jb250ZXh0KDApCi0gICAgLCBtX3BlbmRpbmdDYWxsYmFja3MobmV3IFBl
bmRpbmdDYWxsYmFja3MpCisgICAgLCBtX3BlbmRpbmdDYWxsYmFja3MoUGVuZGluZ0NhbGxiYWNr
czo6Y3JlYXRlKCkpCiAgICAgLCBtX2N1cnJlbnROb2RlKGRvY3VtZW50KQogICAgICwgbV9zYXdF
cnJvcihmYWxzZSkKICAgICAsIG1fc2F3Q1NTKGZhbHNlKQpAQCAtNTc3LDcgKzU3NCw3IEBAIFhN
TERvY3VtZW50UGFyc2VyOjpYTUxEb2N1bWVudFBhcnNlcihEb2MKICAgICA6IFNjcmlwdGFibGVE
b2N1bWVudFBhcnNlcihmcmFnbWVudC0+ZG9jdW1lbnQoKSkKICAgICAsIG1fdmlldygwKQogICAg
ICwgbV9jb250ZXh0KDApCi0gICAgLCBtX3BlbmRpbmdDYWxsYmFja3MobmV3IFBlbmRpbmdDYWxs
YmFja3MpCisgICAgLCBtX3BlbmRpbmdDYWxsYmFja3MoUGVuZGluZ0NhbGxiYWNrczo6Y3JlYXRl
KCkpCiAgICAgLCBtX2N1cnJlbnROb2RlKGZyYWdtZW50KQogICAgICwgbV9zYXdFcnJvcihmYWxz
ZSkKICAgICAsIG1fc2F3Q1NTKGZhbHNlKQo=
</data>
<flag name="review"
          id="84576"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93346</attachid>
            <date>2011-05-12 14:39:22 -0700</date>
            <delta_ts>2011-05-12 14:45:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59394.patch</filename>
            <type>text/plain</type>
            <size>17388</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDAxZDViNzIuLmYyNTdkNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTA1LTEyICBNYWNpZWogU3RhY2hv
d2lhayAgPG1qc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyIHNob3VsZCBwbGF5IG5pY2Ugd2l0
aCBzdHJpY3QgT3duUHRycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTkzOTQKKworICAgICAgICBUaGlzIHBvcnRpb24gb2YgdGhlIGNoYW5nZSBpbnRy
b2R1Y2VzIGEgUGFzc1RyYWl0cyB0ZW1wbGF0ZSwgd2hpY2gKKyAgICAgICAgaXMgdXNlZCB0byBl
bmFibGUgdGFrZUZpcnN0KCkgdG8gd29yayBmb3IgYSBEZXF1ZSBob2xkaW5nIE93blB0cnMsCisg
ICAgICAgIGFuZCBvcHRpbWl6ZSBpdCBmb3IgYSBEZXF1ZSBob2xkaW5nIFJlZlB0cnMuIEluIHRo
ZSBmdXR1cmUgaXQgY2FuCisgICAgICAgIGJlIGRlcGxveWVkIGVsc2V3aGVyZSB0byBtYWtlIG91
ciBkYXRhIHN0cnVjdHVyZXMgd29yayBiZXR0ZXIgd2l0aAorICAgICAgICBvdXIgc21hcnQgcG9p
bnRlcnMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmd5cGk6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9EZXF1ZS5o
OgorICAgICAgICAoV1RGOjo6OnRha2VGaXJzdCk6CisgICAgICAgICogd3RmL1Bhc3NUcmFpdHMu
aDogQWRkZWQuCisgICAgICAgIChXVEY6OlBhc3NUcmFpdHM6OnRyYW5zZmVyKToKKwogMjAxMS0w
NS0xMiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAg
ICBOb3QgcmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IDQxNDNjZjQuLmEyMGE1MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC00NzksNiArNDc5LDcgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzT3duQXJyYXlQdHIuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzT3duUHRyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGFzc1JlZlB0ci5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NU
cmFpdHMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxlbEpvYnMuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxlbEpvYnNHZW5lcmljLmNwcCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXJhbGxlbEpvYnNHZW5lcmljLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBiYWUwMTI5Li4xZjBhMTg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMTg3LDYgKzE4
Nyw3IEBACiAgICAgICAgICAgICAnd3RmL1Bhc3NPd25BcnJheVB0ci5oJywKICAgICAgICAgICAg
ICd3dGYvUGFzc093blB0ci5oJywKICAgICAgICAgICAgICd3dGYvUGFzc1JlZlB0ci5oJywKKyAg
ICAgICAgICAgICd3dGYvUGFzc1RyYWl0cy5oJywKICAgICAgICAgICAgICd3dGYvUGxhdGZvcm0u
aCcsCiAgICAgICAgICAgICAnd3RmL1Bvc3NpYmx5TnVsbC5oJywKICAgICAgICAgICAgICd3dGYv
UmFuZG9tTnVtYmVyLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggNWE2MmRjZS4uZTU3MmIx
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC04NDksNiArODQ5LDEwIEBACiAJCQk+CiAJCTwv
RmlsZT4KIAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXFBhc3NUcmFpdHMuaCIK
KwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcUGFy
YWxsZWxKb2JzLmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMDZkMWU4ZS4uZmZjN2NiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTIxOCw2ICsyMTgsNyBAQAogCQk1REJCMTUyNTEzMUQwQkQ3MDA1NkFEMzYgLyogbWluaWRvbS5q
cyBpbiBDb3B5IFN1cHBvcnQgU2NyaXB0ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0MTIxMTBEMEE0ODc4ODcwMDQ4MDI1NSAvKiBtaW5pZG9tLmpzICovOyB9OwogCQk1REU2
RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFibGUgaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg1NDAyNTU1OTdEMDFGRjYwRjcg
LyogY3JlYXRlX2hhc2hfdGFibGUgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsg
fTsKIAkJNjUwN0QyOUUwRTg3MUU1RTAwRDdEODk2IC8qIEpTVHlwZUluZm8uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MDdEMjk3MEU4NzFFNEEwMEQ3
RDg5NiAvKiBKU1R5cGVJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNjUxRENBMDQxMzZBNkZFRjAwRjc0MTk0IC8qIFBhc3NUcmFpdHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MURDQTAyMTM2
QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJhaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNjU1RUIyOUIxMENFMjU4MTAwMUE5OTBFIC8qIE5vZGVz
Q29kZWdlbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NTVFQjI5QTEwQ0UyNTgxMDAxQTk5MEUgLyogTm9kZXNDb2RlZ2VuLmNwcCAqLzsgfTsKIAkJ
NjVERkM5MzMwOEVBMTczQTAwRjczMDBCIC8qIEhhc2hUYWJsZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NURGQzkyRDA4RUExNzNBMDBGNzMwMEIg
LyogSGFzaFRhYmxlLmNwcCAqLzsgfTsKIAkJNjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5v
bkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2NUUxQTJGNDEyMkI4ODBEMDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODY4LDYgKzg2OSw3
IEBACiAJCTVEQkQxOEFGMEM1NDAxQTcwMEMxNUVBRSAvKiBNYWxsb2Nab25lU3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYWxsb2Nab25lU3VwcG9ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REUzRDBGNDBERDhEREZCMDA0Njg3MTQgLyogV2Vi
S2l0QXZhaWxhYmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktp
dEF2YWlsYWJpbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTA3RDI5NzBF
ODcxRTRBMDBEN0Q4OTYgLyogSlNUeXBlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1R5cGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1MURD
QTAyMTM2QTZGQUIwMEY3NDE5NCAvKiBQYXNzVHJhaXRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBhc3NUcmFpdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjUxRjY0MTIwMzlENUI1RjAwNzgzOTVDIC8qIGR0b2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gZHRvYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjUxRjY0MTMwMzlENUI1RjAwNzgzOTVD
IC8qIGR0b2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gZHRvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJ
CTY1MjI0NkE0MEM4RDdBMEUwMDdCREFGNyAvKiBIYXNoSXRlcmF0b3JzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhhc2hJdGVyYXRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE3MjQsNiArMTcyNiw3IEBACiAJCQkJQkNGQkU2OTUxMjI1NjBFODAwMzA5
RTlEIC8qIFBhc3NPd25BcnJheVB0ci5oICovLAogCQkJCTQ0REQ0ODUyMEZBRUE4NTAwMEQ2QjRF
QiAvKiBQYXNzT3duUHRyLmggKi8sCiAJCQkJNjU4MEY3OTUwOTQwNzA1NjAwODJDMjE5IC8qIFBh
c3NSZWZQdHIuaCAqLywKKwkJCQk2NTFEQ0EwMjEzNkE2RkFCMDBGNzQxOTQgLyogUGFzc1RyYWl0
cy5oICovLAogCQkJCTc5MzRCQjc2MTM2MTk3OTMwMENCOTlBMSAvKiBQYXJhbGxlbEpvYnMuaCAq
LywKIAkJCQk3OTM0QkI3NzEzNjE5NzkzMDBDQjk5QTEgLyogUGFyYWxsZWxKb2JzR2VuZXJpYy5j
cHAgKi8sCiAJCQkJNzkzNEJCNzgxMzYxOTc5MzAwQ0I5OUExIC8qIFBhcmFsbGVsSm9ic0dlbmVy
aWMuaCAqLywKQEAgLTI2MDMsNiArMjYwNiw3IEBACiAJCQkJNzkzNEJCN0QxMzYxOTc5NDAwQ0I5
OUExIC8qIFBhcmFsbGVsSm9ic0dlbmVyaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5MzRCQjdF
MTM2MTk3OTQwMENCOTlBMSAvKiBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzkzNEJCN0YxMzYxOTc5NDAwQ0I5OUExIC8qIFBhcmFsbGVsSm9ic09wZW5NUC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNjUxRENBMDQxMzZBNkZFRjAwRjc0MTk0IC8qIFBhc3NUcmFp
dHMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggZDBkNTM2My4uODc2NzRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CkBAIC01OCw2ICs1OCw3IEBAIFNFVChXVEZfSEVBREVSUwogICAgIFBhc3NP
d25BcnJheVB0ci5oCiAgICAgUGFzc093blB0ci5oCiAgICAgUGFzc1JlZlB0ci5oCisgICAgUGFz
c1RyYWl0cy5oCiAgICAgUGFyYWxsZWxKb2JzLmgKICAgICBQYXJhbGxlbEpvYnNHZW5lcmljLmgK
ICAgICBQYXJhbGxlbEpvYnNMaWJkaXNwYXRjaC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0RlcXVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgK
aW5kZXggOGFlNDZlOS4uOGU0MjMzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9EZXF1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaApAQCAt
MzMsNiArMzMsNyBAQAogLy8gRklYTUU6IENvdWxkIG1vdmUgd2hhdCBWZWN0b3IgYW5kIERlcXVl
IHNoYXJlIGludG8gYSBzZXBhcmF0ZSBmaWxlLgogLy8gRGVxdWUgZG9lc24ndCBhY3R1YWxseSB1
c2UgVmVjdG9yLgogCisjaW5jbHVkZSAiUGFzc1RyYWl0cy5oIgogI2luY2x1ZGUgIlZlY3Rvci5o
IgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTUxLDYgKzUyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9yPFQsIGlubGluZUNhcGFjaXR5PiBjb25z
dF9pdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZVJldmVyc2VJdGVyYXRvcjxULCBpbmxp
bmVDYXBhY2l0eT4gcmV2ZXJzZV9pdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0
UmV2ZXJzZUl0ZXJhdG9yPFQsIGlubGluZUNhcGFjaXR5PiBjb25zdF9yZXZlcnNlX2l0ZXJhdG9y
OworICAgICAgICB0eXBlZGVmIFBhc3NUcmFpdHM8VD4gUGFzczsKKyAgICAgICAgdHlwZWRlZiB0
eXBlbmFtZSBQYXNzVHJhaXRzPFQ+OjpQYXNzVHlwZSBQYXNzVHlwZTsKIAogICAgICAgICBEZXF1
ZSgpOwogICAgICAgICBEZXF1ZShjb25zdCBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT4mKTsKQEAg
LTczLDcgKzc2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgVCYgZmlyc3QoKSB7IEFT
U0VSVChtX3N0YXJ0ICE9IG1fZW5kKTsgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpW21fc3RhcnRd
OyB9CiAgICAgICAgIGNvbnN0IFQmIGZpcnN0KCkgY29uc3QgeyBBU1NFUlQobV9zdGFydCAhPSBt
X2VuZCk7IHJldHVybiBtX2J1ZmZlci5idWZmZXIoKVttX3N0YXJ0XTsgfQotICAgICAgICBUIHRh
a2VGaXJzdCgpOworICAgICAgICBQYXNzVHlwZSB0YWtlRmlyc3QoKTsKIAogICAgICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBVPiB2b2lkIGFwcGVuZChjb25zdCBVJik7CiAgICAgICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFU+IHZvaWQgcHJlcGVuZChjb25zdCBVJik7CkBAIC00MzYsMTEgKzQzOSwxMSBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXpl
X3QgaW5saW5lQ2FwYWNpdHk+Ci0gICAgaW5saW5lIFQgRGVxdWU8VCwgaW5saW5lQ2FwYWNpdHk+
Ojp0YWtlRmlyc3QoKQorICAgIGlubGluZSB0eXBlbmFtZSBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0
eT46OlBhc3NUeXBlIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6dGFrZUZpcnN0KCkKICAgICB7
Ci0gICAgICAgIFQgb2xkRmlyc3QgPSBmaXJzdCgpOworICAgICAgICBUIG9sZEZpcnN0ID0gUGFz
czo6dHJhbnNmZXIoZmlyc3QoKSk7CiAgICAgICAgIHJlbW92ZUZpcnN0KCk7Ci0gICAgICAgIHJl
dHVybiBvbGRGaXJzdDsKKyAgICAgICAgcmV0dXJuIFBhc3M6OnRyYW5zZmVyKG9sZEZpcnN0KTsK
ICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+
IHRlbXBsYXRlPHR5cGVuYW1lIFU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1Bhc3NUcmFpdHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc1RyYWl0cy5o
CmluZGV4IDc2YzQ3NjkuLjM0NjI3MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGFzc1RyYWl0cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc1Ry
YWl0cy5oCkBAIC0zOCwyNiArMzgsMjYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFzc1RyYWl0cyB7Ci0gICAgICAgIHR5cGVkZWYgVCBU
eXBlOwotICAgICAgICB0eXBlZGVmIFQgUGFzc1R5cGU7Ci0gICAgICAgIHN0YXRpYyBQYXNzVHlw
ZSB0cmFuc2ZlcihUeXBlJiB0KSB7IHJldHVybiB0OyB9Ci0gICAgfTsKLQotICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXNzVHJhaXRzPE93blB0cjxUPiA+IHsKLSAgICAgICAgdHlw
ZWRlZiBPd25QdHI8VD4gVHlwZTsKLSAgICAgICAgdHlwZWRlZiBQYXNzT3duUHRyPFQ+IFBhc3NU
eXBlOwotICAgICAgICBzdGF0aWMgUGFzc1R5cGUgdHJhbnNmZXIoVHlwZSYgdCkgeyByZXR1cm4g
dC5yZWxlYXNlKCk7IH0KLSAgICB9OwotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IFBhc3NUcmFpdHM8UmVmUHRyPFQ+ID4gewotICAgICAgICB0eXBlZGVmIFJlZlB0cjxUPiBUeXBl
OwotICAgICAgICB0eXBlZGVmIFBhc3NSZWZQdHI8VD4gUGFzc1R5cGU7Ci0gICAgICAgIHN0YXRp
YyBQYXNzVHlwZSB0cmFuc2ZlcihUeXBlJiB0KSB7IHJldHVybiB0LnJlbGVhc2UoKTsgfQotICAg
IH07Ci0KLX0KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXNzVHJhaXRzIHsKKyAgICB0
eXBlZGVmIFQgVHlwZTsKKyAgICB0eXBlZGVmIFQgUGFzc1R5cGU7CisgICAgc3RhdGljIFBhc3NU
eXBlIHRyYW5zZmVyKFR5cGUmIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQorfTsKKwordGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IFBhc3NUcmFpdHM8T3duUHRyPFQ+ID4geworICAgIHR5cGVk
ZWYgT3duUHRyPFQ+IFR5cGU7CisgICAgdHlwZWRlZiBQYXNzT3duUHRyPFQ+IFBhc3NUeXBlOwor
ICAgIHN0YXRpYyBQYXNzVHlwZSB0cmFuc2ZlcihUeXBlJiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUu
cmVsZWFzZSgpOyB9Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFzc1RyYWl0
czxSZWZQdHI8VD4gPiB7CisgICAgdHlwZWRlZiBSZWZQdHI8VD4gVHlwZTsKKyAgICB0eXBlZGVm
IFBhc3NSZWZQdHI8VD4gUGFzc1R5cGU7CisgICAgc3RhdGljIFBhc3NUeXBlIHRyYW5zZmVyKFR5
cGUmIHZhbHVlKSB7IHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7IH0KK307CisKK30gLy8gbmFtZXNw
YWNlIFdURgogCiB1c2luZyBXVEY6OlBhc3NUcmFpdHM7CiAKLSNlbmRpZgorI2VuZGlmIC8vIFdU
Rl9QYXNzVHJhaXRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyM2M0MzIzLi43NzcyMDAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDUtMTIgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBY
TUxEb2N1bWVudFBhcnNlckxpYnhtbDIgc2hvdWxkIHBsYXkgbmljZSB3aXRoIHN0cmljdCBPd25Q
dHJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTM5
NAorCisgICAgICAgIFByb3Blcmx5IGZpeCB0aGlzIChmb3JtZXJseSByb2xsZWQgb3V0IGZvciBi
cmVha2luZyB0aGUgYnVpbGQpLiBJIHRoaW5rIHRoZSBvcmlnaW5hbAorICAgICAgICBmYWlsdXJl
IGhhZCBub3RoaW5nIHRvIGRvIHdpdGggRGVxdWU8T3duUHRyPiwgd2hpY2ggaW4gZmFjdCBhcHBl
YXJzIHRvIHdvcmsgZmluZS4KKworICAgICAgICAqIGRvbS9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6flBlbmRpbmdDYWxs
YmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZFN0YXJ0RWxlbWVudE5TQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBwZW5kRW5kRWxl
bWVudE5TQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBw
ZW5kQ2hhcmFjdGVyc0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFj
a3M6OmFwcGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlbmRpbmdDYWxsYmFja3M6OmFwcGVuZENEQVRBQmxvY2tDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRDb21tZW50Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6UGVuZGluZ0NhbGxiYWNrczo6YXBwZW5kSW50ZXJuYWxTdWJzZXRDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpQZW5kaW5nQ2FsbGJhY2tzOjphcHBlbmRFcnJvckNh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlBlbmRpbmdDYWxsYmFja3M6OlBlbmRpbmdDYWxs
YmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6OlhNTERvY3VtZW50
UGFyc2VyKToKKwogMjAxMS0wNS0xMiAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IGYyZTZhMDQuLjdjZWRj
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwCkBAIC0yNSwxMCArMjUsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotLy8g
RklYTUU6IFJlbW92ZSB0aGlzIGRlZmluZSEKLSNkZWZpbmUgTE9PU0VfT1dOX1BUUgotCiAjaW5j
bHVkZSAiWE1MRG9jdW1lbnRQYXJzZXIuaCIKIAogI2luY2x1ZGUgIkNEQVRBU2VjdGlvbi5oIgpA
QCAtODQsMTYgKzgwLDE2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBlbmRpbmdDYWxs
YmFja3MgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVi
bGljOgotICAgIFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KLSAgICB+UGVuZGluZ0NhbGxiYWNrcygp
CisgICAgflBlbmRpbmdDYWxsYmFja3MoKSB7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxQZW5k
aW5nQ2FsbGJhY2tzPiBjcmVhdGUoKSAKICAgICB7Ci0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyht
X2NhbGxiYWNrcyk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgUGVuZGluZ0NhbGxiYWNr
cyk7IAogICAgIH0KLQorICAgIAogICAgIHZvaWQgYXBwZW5kU3RhcnRFbGVtZW50TlNDYWxsYmFj
ayhjb25zdCB4bWxDaGFyKiB4bWxMb2NhbE5hbWUsIGNvbnN0IHhtbENoYXIqIHhtbFByZWZpeCwg
Y29uc3QgeG1sQ2hhciogeG1sVVJJLCBpbnQgbmJfbmFtZXNwYWNlcywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhcioqIG5hbWVzcGFjZXMsIGludCBu
Yl9hdHRyaWJ1dGVzLCBpbnQgbmJfZGVmYXVsdGVkLCBjb25zdCB4bWxDaGFyKiogYXR0cmlidXRl
cykKICAgICB7Ci0gICAgICAgIFBlbmRpbmdTdGFydEVsZW1lbnROU0NhbGxiYWNrKiBjYWxsYmFj
ayA9IG5ldyBQZW5kaW5nU3RhcnRFbGVtZW50TlNDYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBl
bmRpbmdTdGFydEVsZW1lbnROU0NhbGxiYWNrPiBjYWxsYmFjayA9IGFkb3B0UHRyKG5ldyBQZW5k
aW5nU3RhcnRFbGVtZW50TlNDYWxsYmFjayk7CiAKICAgICAgICAgY2FsbGJhY2stPnhtbExvY2Fs
TmFtZSA9IHhtbFN0cmR1cCh4bWxMb2NhbE5hbWUpOwogICAgICAgICBjYWxsYmFjay0+eG1sUHJl
Zml4ID0geG1sU3RyZHVwKHhtbFByZWZpeCk7CkBAIC0xMTgsODcgKzExNCw4NyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBjYWxsYmFjay0+YXR0cmlidXRlc1tpICogNSArIDRdID0gY2FsbGJhY2st
PmF0dHJpYnV0ZXNbaSAqIDUgKyAzXSArIGxlbjsKICAgICAgICAgfQogCi0gICAgICAgIG1fY2Fs
bGJhY2tzLmFwcGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxs
YmFjay5yZWxlYXNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kRW5kRWxlbWVudE5TQ2Fs
bGJhY2soKQogICAgIHsKLSAgICAgICAgUGVuZGluZ0VuZEVsZW1lbnROU0NhbGxiYWNrKiBjYWxs
YmFjayA9IG5ldyBQZW5kaW5nRW5kRWxlbWVudE5TQ2FsbGJhY2s7Ci0KLSAgICAgICAgbV9jYWxs
YmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGFkb3B0
UHRyKG5ldyBQZW5kaW5nRW5kRWxlbWVudE5TQ2FsbGJhY2spKTsKICAgICB9CiAKICAgICB2b2lk
IGFwcGVuZENoYXJhY3RlcnNDYWxsYmFjayhjb25zdCB4bWxDaGFyKiBzLCBpbnQgbGVuKQogICAg
IHsKLSAgICAgICAgUGVuZGluZ0NoYXJhY3RlcnNDYWxsYmFjayogY2FsbGJhY2sgPSBuZXcgUGVu
ZGluZ0NoYXJhY3RlcnNDYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdDaGFyYWN0ZXJz
Q2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdDaGFyYWN0ZXJzQ2FsbGJh
Y2spOwogCiAgICAgICAgIGNhbGxiYWNrLT5zID0geG1sU3RybmR1cChzLCBsZW4pOwogICAgICAg
ICBjYWxsYmFjay0+bGVuID0gbGVuOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxs
YmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxlYXNlKCkpOwog
ICAgIH0KIAogICAgIHZvaWQgYXBwZW5kUHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2soY29u
c3QgeG1sQ2hhciogdGFyZ2V0LCBjb25zdCB4bWxDaGFyKiBkYXRhKQogICAgIHsKLSAgICAgICAg
UGVuZGluZ1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrKiBjYWxsYmFjayA9IG5ldyBQZW5k
aW5nUHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2s7CisgICAgICAgIE93blB0cjxQZW5kaW5n
UHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBl
bmRpbmdQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjayk7CiAKICAgICAgICAgY2FsbGJhY2st
PnRhcmdldCA9IHhtbFN0cmR1cCh0YXJnZXQpOwogICAgICAgICBjYWxsYmFjay0+ZGF0YSA9IHht
bFN0cmR1cChkYXRhKTsKIAotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOwor
ICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVsZWFzZSgpKTsKICAgICB9CiAK
ICAgICB2b2lkIGFwcGVuZENEQVRBQmxvY2tDYWxsYmFjayhjb25zdCB4bWxDaGFyKiBzLCBpbnQg
bGVuKQogICAgIHsKLSAgICAgICAgUGVuZGluZ0NEQVRBQmxvY2tDYWxsYmFjayogY2FsbGJhY2sg
PSBuZXcgUGVuZGluZ0NEQVRBQmxvY2tDYWxsYmFjazsKKyAgICAgICAgT3duUHRyPFBlbmRpbmdD
REFUQUJsb2NrQ2FsbGJhY2s+IGNhbGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdDREFUQUJs
b2NrQ2FsbGJhY2spOwogCiAgICAgICAgIGNhbGxiYWNrLT5zID0geG1sU3RybmR1cChzLCBsZW4p
OwogICAgICAgICBjYWxsYmFjay0+bGVuID0gbGVuOwogCi0gICAgICAgIG1fY2FsbGJhY2tzLmFw
cGVuZChjYWxsYmFjayk7CisgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChjYWxsYmFjay5yZWxl
YXNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kQ29tbWVudENhbGxiYWNrKGNvbnN0IHht
bENoYXIqIHMpCiAgICAgewotICAgICAgICBQZW5kaW5nQ29tbWVudENhbGxiYWNrKiBjYWxsYmFj
ayA9IG5ldyBQZW5kaW5nQ29tbWVudENhbGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ0Nv
bW1lbnRDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGluZ0NvbW1lbnRDYWxs
YmFjayk7CiAKICAgICAgICAgY2FsbGJhY2stPnMgPSB4bWxTdHJkdXAocyk7CiAKLSAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5k
KGNhbGxiYWNrLnJlbGVhc2UoKSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRJbnRlcm5hbFN1
YnNldENhbGxiYWNrKGNvbnN0IHhtbENoYXIqIG5hbWUsIGNvbnN0IHhtbENoYXIqIGV4dGVybmFs
SUQsIGNvbnN0IHhtbENoYXIqIHN5c3RlbUlEKQogICAgIHsKLSAgICAgICAgUGVuZGluZ0ludGVy
bmFsU3Vic2V0Q2FsbGJhY2sqIGNhbGxiYWNrID0gbmV3IFBlbmRpbmdJbnRlcm5hbFN1YnNldENh
bGxiYWNrOworICAgICAgICBPd25QdHI8UGVuZGluZ0ludGVybmFsU3Vic2V0Q2FsbGJhY2s+IGNh
bGxiYWNrID0gYWRvcHRQdHIobmV3IFBlbmRpbmdJbnRlcm5hbFN1YnNldENhbGxiYWNrKTsKIAog
ICAgICAgICBjYWxsYmFjay0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKICAgICAgICAgY2FsbGJh
Y2stPmV4dGVybmFsSUQgPSB4bWxTdHJkdXAoZXh0ZXJuYWxJRCk7CiAgICAgICAgIGNhbGxiYWNr
LT5zeXN0ZW1JRCA9IHhtbFN0cmR1cChzeXN0ZW1JRCk7CiAKLSAgICAgICAgbV9jYWxsYmFja3Mu
YXBwZW5kKGNhbGxiYWNrKTsKKyAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKGNhbGxiYWNrLnJl
bGVhc2UoKSk7CiAgICAgfQogCiAgICAgdm9pZCBhcHBlbmRFcnJvckNhbGxiYWNrKFhNTERvY3Vt
ZW50UGFyc2VyOjpFcnJvclR5cGUgdHlwZSwgY29uc3QgeG1sQ2hhciogbWVzc2FnZSwgaW50IGxp
bmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIpCiAgICAgewotICAgICAgICBQZW5kaW5nRXJyb3JD
YWxsYmFjayogY2FsbGJhY2sgPSBuZXcgUGVuZGluZ0Vycm9yQ2FsbGJhY2s7CisgICAgICAgIE93
blB0cjxQZW5kaW5nRXJyb3JDYWxsYmFjaz4gY2FsbGJhY2sgPSBhZG9wdFB0cihuZXcgUGVuZGlu
Z0Vycm9yQ2FsbGJhY2spOwogCiAgICAgICAgIGNhbGxiYWNrLT5tZXNzYWdlID0geG1sU3RyZHVw
KG1lc3NhZ2UpOwogICAgICAgICBjYWxsYmFjay0+dHlwZSA9IHR5cGU7CiAgICAgICAgIGNhbGxi
YWNrLT5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKICAgICAgICAgY2FsbGJhY2stPmNvbHVtbk51
bWJlciA9IGNvbHVtbk51bWJlcjsKIAotICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJh
Y2spOworICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2sucmVsZWFzZSgpKTsKICAg
ICB9CiAKICAgICB2b2lkIGNhbGxBbmRSZW1vdmVGaXJzdENhbGxiYWNrKFhNTERvY3VtZW50UGFy
c2VyKiBwYXJzZXIpCiAgICAgewotICAgICAgICBPd25QdHI8UGVuZGluZ0NhbGxiYWNrPiBjYWxs
YmFjayhtX2NhbGxiYWNrcy50YWtlRmlyc3QoKSk7CisgICAgICAgIE93blB0cjxQZW5kaW5nQ2Fs
bGJhY2s+IGNhbGxiYWNrID0gbV9jYWxsYmFja3MudGFrZUZpcnN0KCk7CiAgICAgICAgIGNhbGxi
YWNrLT5jYWxsKHBhcnNlcik7CiAgICAgfQogCiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWxsYmFja3MuaXNFbXB0eSgpOyB9CiAKIHByaXZhdGU6CisgICAgUGVuZGluZ0Nh
bGxiYWNrcygpIHsgfQorCiAgICAgc3RydWN0IFBlbmRpbmdDYWxsYmFjayB7CiAgICAgICAgIHZp
cnR1YWwgflBlbmRpbmdDYWxsYmFjaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FsbChY
TUxEb2N1bWVudFBhcnNlciogcGFyc2VyKSA9IDA7CkBAIC0zMzgsNyArMzM0LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaW50IGNvbHVtbk51bWJlcjsKICAgICB9OwogCi0gICAgRGVxdWU8UGVuZGlu
Z0NhbGxiYWNrKj4gbV9jYWxsYmFja3M7CisgICAgRGVxdWU8T3duUHRyPFBlbmRpbmdDYWxsYmFj
az4gPiBtX2NhbGxiYWNrczsKIH07CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCkBAIC01NTEsNyArNTQ3LDcgQEAgWE1MRG9jdW1lbnRQYXJzZXI6OlhNTERvY3VtZW50UGFy
c2VyKERvY3VtZW50KiBkb2N1bWVudCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpCiAgICAgOiBTY3Jp
cHRhYmxlRG9jdW1lbnRQYXJzZXIoZG9jdW1lbnQpCiAgICAgLCBtX3ZpZXcoZnJhbWVWaWV3KQog
ICAgICwgbV9jb250ZXh0KDApCi0gICAgLCBtX3BlbmRpbmdDYWxsYmFja3MobmV3IFBlbmRpbmdD
YWxsYmFja3MpCisgICAgLCBtX3BlbmRpbmdDYWxsYmFja3MoUGVuZGluZ0NhbGxiYWNrczo6Y3Jl
YXRlKCkpCiAgICAgLCBtX2N1cnJlbnROb2RlKGRvY3VtZW50KQogICAgICwgbV9zYXdFcnJvcihm
YWxzZSkKICAgICAsIG1fc2F3Q1NTKGZhbHNlKQpAQCAtNTc4LDcgKzU3NCw3IEBAIFhNTERvY3Vt
ZW50UGFyc2VyOjpYTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBmcmFnbWVudCwg
RWxlbWVudCogcGFyZW50CiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQt
PmRvY3VtZW50KCkpCiAgICAgLCBtX3ZpZXcoMCkKICAgICAsIG1fY29udGV4dCgwKQotICAgICwg
bV9wZW5kaW5nQ2FsbGJhY2tzKG5ldyBQZW5kaW5nQ2FsbGJhY2tzKQorICAgICwgbV9wZW5kaW5n
Q2FsbGJhY2tzKFBlbmRpbmdDYWxsYmFja3M6OmNyZWF0ZSgpKQogICAgICwgbV9jdXJyZW50Tm9k
ZShmcmFnbWVudCkKICAgICAsIG1fc2F3RXJyb3IoZmFsc2UpCiAgICAgLCBtX3Nhd0NTUyhmYWxz
ZSkK
</data>
<flag name="commit-queue"
          id="86497"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>