<?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>69962</bug_id>
          
          <creation_ts>2011-10-12 14:11:43 -0700</creation_ts>
          <short_desc>[Chromium] Make it possible to create and dispatch a message event through chromium API</short_desc>
          <delta_ts>2011-10-27 15:40:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dave Michael">dmichael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dslomov</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>482690</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-12 14:11:43 -0700</bug_when>
    <thetext>Make it possible to create and dispatch a message event through chromium API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482693</commentid>
    <comment_count>1</comment_count>
      <attachid>110742</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-12 14:15:27 -0700</bug_when>
    <thetext>Created attachment 110742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482697</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 14:18:17 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482699</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-12 14:20:11 -0700</bug_when>
    <thetext>This is to support &apos;PostMessage&apos; for the Pepper plugin API. We currently use a simple scripting approach, but it&apos;s very limited. This is a first step to allow me to create an Event in the Chromium renderer and dispatch it to JavaScript.

Here&apos;s the corresponding Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=82604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482721</commentid>
    <comment_count>4</comment_count>
      <attachid>110742</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 14:32:53 -0700</bug_when>
    <thetext>Comment on attachment 110742
Patch

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

API changes LGTM modulo the nit.

&gt; Source/WebKit/chromium/public/WebDOMMessageEvent.h:48
&gt; +    WEBKIT_EXPORT void initMessageEvent(const WebString&amp; type, bool canBubble, bool cancelable, const WebSerializedScriptValue&amp; message_data, const WebString&amp; origin, const WebFrame&amp; sourceFrame, const WebString&amp; lastEventId, const WebMessagePortChannelArray&amp; webChannels);

nit: message_data -&gt; messageData

&gt; Source/WebKit/chromium/src/PlatformMessagePortChannel.cpp:239
&gt; +    return m_localPort &amp;&amp; m_localPort-&gt;hasPendingActivity();

I&apos;m not super familiar with this code.  It would be good to get someone
like levin@chromium.org to look over this patch too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482722</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-12 14:33:28 -0700</bug_when>
    <thetext>+levin@chromium.org:  Dave, it&apos;d be great to get your eyes on this one too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483235</commentid>
    <comment_count>6</comment_count>
      <attachid>110858</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-13 09:22:24 -0700</bug_when>
    <thetext>Created attachment 110858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489561</commentid>
    <comment_count>7</comment_count>
      <attachid>110858</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-10-24 13:22:41 -0700</bug_when>
    <thetext>Comment on attachment 110858
Patch

Please fix the include sorting and then we can get this landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489639</commentid>
    <comment_count>8</comment_count>
      <attachid>112246</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-24 14:23:22 -0700</bug_when>
    <thetext>Created attachment 112246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489640</commentid>
    <comment_count>9</comment_count>
      <attachid>112246</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-10-24 14:25:38 -0700</bug_when>
    <thetext>Comment on attachment 112246
Patch

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

&gt; Source/WebKit/chromium/ChangeLog:5
&gt; +        Removed messageChannels parameter, since it&apos;s hard to get right and I don&apos;t need it. Changed message_data-&gt;messageData. Reordered includes.

In general you don&apos;t need interpatch info here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489724</commentid>
    <comment_count>10</comment_count>
      <attachid>112246</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 15:52:25 -0700</bug_when>
    <thetext>Comment on attachment 112246
Patch

Rejecting attachment 112246 from commit-queue.

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

Last 500 characters of output:
omium/src/PlatformMessagePortChannel.cpp
patching file Source/WebKit/chromium/src/WebDOMEvent.cpp
Hunk #1 succeeded at 69 (offset 3 lines).
patching file Source/WebKit/chromium/src/WebDOMMessageEvent.cpp
patching file Source/WebKit/chromium/src/WebDocument.cpp
Hunk #2 succeeded at 199 with fuzz 1 (offset 9 lines).
patching file Source/WebKit/chromium/src/WebNode.cpp

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

Full output: http://queues.webkit.org/results/10210007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489749</commentid>
    <comment_count>11</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-10-24 16:08:41 -0700</bug_when>
    <thetext>Your patch didn&apos;t apply. Please update your tree, resolve any conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490058</commentid>
    <comment_count>12</comment_count>
      <attachid>112342</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2011-10-25 08:55:17 -0700</bug_when>
    <thetext>Created attachment 112342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490059</commentid>
    <comment_count>13</comment_count>
      <attachid>112342</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 08:59:06 -0700</bug_when>
    <thetext>Comment on attachment 112342
Patch

Rejecting attachment 112342 from commit-queue.

dmichael@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490267</commentid>
    <comment_count>14</comment_count>
      <attachid>112342</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 13:00:42 -0700</bug_when>
    <thetext>Comment on attachment 112342
Patch

Clearing flags on attachment: 112342

Committed r98381: &lt;http://trac.webkit.org/changeset/98381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490268</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 13:00:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110742</attachid>
            <date>2011-10-12 14:15:27 -0700</date>
            <delta_ts>2011-10-13 09:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69962-20111012151526.patch</filename>
            <type>text/plain</type>
            <size>13090</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5NzMwMSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTEtMTAtMTIgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbmQgZGlzcGF0Y2ggYSBtZXNzYWdl
IGV2ZW50IHRocm91Z2ggY2hyb21pdW0gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTk2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRE9N
RXZlbnQuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50Lmg6IEFkZGVkLgor
ICAgICAgICAqIHB1YmxpYy9XZWJEb2N1bWVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJOb2Rl
Lmg6CisgICAgICAgICogc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpoYXNQZW5kaW5nQWN0aXZp
dHkpOgorICAgICAgICAqIHNyYy9XZWJET01FdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkRPTUV2ZW50OjpvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KToKKyAg
ICAgICAgKiBzcmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYkRPTU1lc3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogc3Jj
L1dlYkRvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6OmNyZWF0ZUV2
ZW50KToKKyAgICAgICAgKiBzcmMvV2ViTm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5v
ZGU6OmRpc3BhdGNoRXZlbnQpOgorCiAyMDExLTEwLTEyICBOaWNvIFdlYmVyICA8dGhha2lzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFkZCBhIHNldFNlbGVjdGlvblRvUmFu
Z2UoKSBtZXRob2QgdG8gV2ViRnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAko
d29ya2luZyBjb3B5KQpAQCAtMTM4LDYgKzEzOCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJDdXJzb3JJbmZvLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9NRXZlbnQu
aCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJET01FdmVudExpc3RlbmVyLmgnLAorICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgnLAogICAgICAgICAgICAg
ICAgICdwdWJsaWMvV2ViRE9NTW91c2VFdmVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGlj
L1dlYkRPTU11dGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJET01T
dHJpbmdMaXN0LmgnLApAQCAtNDU2LDYgKzQ1Nyw3IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9X
ZWJET01FdmVudExpc3RlbmVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01FdmVu
dExpc3RlbmVyUHJpdmF0ZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViRE9NRXZlbnRM
aXN0ZW5lclByaXZhdGUuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01NZXNzYWdlRXZl
bnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkRPTU1vdXNlRXZlbnQuY3BwJywKICAg
ICAgICAgICAgICAgICAnc3JjL1dlYkRPTU11dGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAg
ICAgICAnc3JjL1dlYkRPTVN0cmluZ0xpc3QuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRPTUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnQuaAkocmV2aXNpb24gOTY4NTQpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05
NSw2ICs5NSw3IEBAIHB1YmxpYzoKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgogICAgIFdl
YkRPTUV2ZW50KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFdmVudD4mKTsKKyAgICBv
cGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KCkgY29uc3Q7CiAjZW5kaWYK
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgdG8oKQpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01NZXNzYWdlRXZlbnQuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaWZuZGVmIFdlYkRPTU1lc3NhZ2VFdmVudF9oCisj
ZGVmaW5lIFdlYkRPTU1lc3NhZ2VFdmVudF9oCisKKyNpbmNsdWRlICJXZWJET01FdmVudC5oIgor
I2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgorCisjaWYgV0VCS0lUX0lNUExFTUVO
VEFUSU9OCituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIEV2ZW50OyB9CisjZW5kaWYKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkZyYW1lOworY2xhc3MgV2ViU3RyaW5nOworY2xh
c3MgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlOworCitjbGFzcyBXZWJET01NZXNzYWdlRXZlbnQg
OiBwdWJsaWMgV2ViRE9NRXZlbnQgeworcHVibGljOgorICAgIFdFQktJVF9FWFBPUlQgdm9pZCBp
bml0TWVzc2FnZUV2ZW50KGNvbnN0IFdlYlN0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJv
b2wgY2FuY2VsYWJsZSwgY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBtZXNzYWdlX2Rh
dGEsIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luLCBjb25zdCBXZWJGcmFtZSYgc291cmNlRnJhbWUs
IGNvbnN0IFdlYlN0cmluZyYgbGFzdEV2ZW50SWQsIGNvbnN0IFdlYk1lc3NhZ2VQb3J0Q2hhbm5l
bEFycmF5JiB3ZWJDaGFubmVscyk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJET01NZXNzYWdlRXZlbnQuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsg
TEYKCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgJ
KHJldmlzaW9uIDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9j
dW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtOTksNiArOTksNyBAQCBwdWJsaWM6CiAgICAgV0VC
S0lUX0VYUE9SVCBXZWJOb2RlIGZvY3VzZWROb2RlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9S
VCBXZWJEb2N1bWVudFR5cGUgZG9jdHlwZSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgdm9p
ZCBjYW5jZWxGdWxsU2NyZWVuKCk7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJET01FdmVudCBjcmVh
dGVFdmVudChjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSk7CiAKICAgICAvLyBBY2Nlc3NpYmls
aXR5IHN1cHBvcnQuIFRoZXNlIG1ldGhvZHMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIHRoZQog
ICAgIC8vIHRvcC1sZXZlbCBkb2N1bWVudCwgYmVjYXVzZSBvbmUgYWNjZXNzaWJpbGl0eSBjYWNo
ZSBzcGFucyBhbGwgb2YKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5v
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2Rl
LmgJKHJldmlzaW9uIDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Tm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7IGNsYXNzIE5vZGU7IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJET01FdmVu
dDsKIGNsYXNzIFdlYkRPTUV2ZW50TGlzdGVuZXI7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVy
UHJpdmF0ZTsKIGNsYXNzIFdlYkRvY3VtZW50OwpAQCAtMTAzLDYgKzEwNCw3IEBAIHB1YmxpYzoK
ICAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaXNFbGVtZW50Tm9kZSgpIGNvbnN0OwogICAgIFdFQktJ
VF9FWFBPUlQgdm9pZCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBl
LCBXZWJET01FdmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKTsKICAgICBX
RUJLSVRfRVhQT1JUIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBXZWJTdHJpbmcmIGV2
ZW50VHlwZSwgV2ViRE9NRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSk7
CisgICAgV0VCS0lUX0VYUE9SVCBib29sIGRpc3BhdGNoRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQm
KTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2ltdWxhdGVDbGljaygpOwogICAgIFdFQktJVF9F
WFBPUlQgV2ViTm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05hbWUoY29uc3QgV2ViU3RyaW5nJikg
Y29uc3Q7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJKHJldmlzaW9uIDk2ODU0KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMzYsNyArMjM2LDcgQEAgYm9vbCBQbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbDo6aXNDb25uZQogYm9vbCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6aGFzUGVu
ZGluZ0FjdGl2aXR5KCkKIHsKICAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgIHJl
dHVybiBtX2xvY2FsUG9ydDsKKyAgICByZXR1cm4gbV9sb2NhbFBvcnQgJiYgbV9sb2NhbFBvcnQt
Pmhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFu
bmVsOjpzZXRFbnRhbmdsZWRDaGFubmVsKFBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWw+IHJlbW90ZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01F
dmVudC5jcHAJKHJldmlzaW9uIDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRE9NRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2NiwxMSBAQCBXZWJET01F
dmVudDo6V2ViRE9NRXZlbnQoY29uc3QgV1RGOjpQYXNzCiB7CiB9CiAKK1dlYkRPTUV2ZW50Ojpv
cGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RXZlbnQqPihtX3ByaXZhdGUpOworfQorCiBXZWJT
dHJpbmcgV2ViRE9NRXZlbnQ6OnR5cGUoKSBjb25zdAogewogICAgIEFTU0VSVChtX3ByaXZhdGUp
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01NZXNzYWdl
RXZlbnQuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RE9NTWVzc2FnZUV2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJET01NZXNzYWdlRXZlbnQuaCIKKworI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgorI2luY2x1ZGUgIk1lc3Nh
Z2VQb3J0LmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisjaWYgVVNFKFY4
KQorI2luY2x1ZGUgIlY4UHJveHkuaCIKKyNlbmRpZgorCisjaW5jbHVkZSAiUGxhdGZvcm1NZXNz
YWdlUG9ydENoYW5uZWwuaCIKKyNpbmNsdWRlICJXZWJGcmFtZS5oIgorI2luY2x1ZGUgIldlYkZy
YW1lSW1wbC5oIgorI2luY2x1ZGUgIldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1
ZGUgIldlYlN0cmluZy5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK3ZvaWQgV2ViRE9NTWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KGNv
bnN0IFdlYlN0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29u
c3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBkYXRhLCBjb25zdCBXZWJTdHJpbmcmIG9yaWdp
biwgY29uc3QgV2ViRnJhbWUmIHNvdXJjZUZyYW1lLCBjb25zdCBXZWJTdHJpbmcmIGxhc3RFdmVu
dElkLCBjb25zdCBXZWJNZXNzYWdlUG9ydENoYW5uZWxBcnJheSYgd2ViQ2hhbm5lbHMpCit7Cisg
ICAgQVNTRVJUKG1fcHJpdmF0ZSk7CisgICAgQVNTRVJUKGlzTWVzc2FnZUV2ZW50KCkpOworICAg
IERPTVdpbmRvdyogd2luZG93ID0gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViRnJhbWVJbXBsJj4oc291
cmNlRnJhbWUpLmZyYW1lKCktPmRvbVdpbmRvdygpOworICAgIE93blB0cjxNZXNzYWdlUG9ydENo
YW5uZWxBcnJheT4gY2hhbm5lbHM7CisgICAgaWYgKHdlYkNoYW5uZWxzLnNpemUoKSkgeworICAg
ICAgICBjaGFubmVscyA9IGFkb3B0UHRyKG5ldyBNZXNzYWdlUG9ydENoYW5uZWxBcnJheSh3ZWJD
aGFubmVscy5zaXplKCkpKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3ZWJDaGFu
bmVscy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgUmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBv
cnRDaGFubmVsPiBwbGF0Zm9ybUNoYW5uZWwgPQorICAgICAgICAgICAgICAgIFBsYXRmb3JtTWVz
c2FnZVBvcnRDaGFubmVsOjpjcmVhdGUod2ViQ2hhbm5lbHNbaV0pOworICAgICAgICAgICAgd2Vi
Q2hhbm5lbHNbaV0tPnNldENsaWVudChwbGF0Zm9ybUNoYW5uZWwuZ2V0KCkpOworICAgICAgICAg
ICAgKCpjaGFubmVscylbaV0gPSBNZXNzYWdlUG9ydENoYW5uZWw6OmNyZWF0ZShwbGF0Zm9ybUNo
YW5uZWwpOworICAgICAgICB9CisgICAgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQgPSB3aW5kb3ctPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICB1bndyYXA8TWVz
c2FnZUV2ZW50PigpLT5pbml0TWVzc2FnZUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJs
ZSwgZGF0YSwgb3JpZ2luLCBsYXN0RXZlbnRJZCwgd2luZG93LCBNZXNzYWdlUG9ydDo6ZW50YW5n
bGVQb3J0cygqY29udGV4dCwgY2hhbm5lbHMucmVsZWFzZSgpKSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiAgICsgTEYKCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRv
Y3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIk5v
ZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJX
ZWJEb2N1bWVudFR5cGUuaCIKICNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2Vi
Rm9ybUVsZW1lbnQuaCIKQEAgLTE4OSw2ICsxOTAsMTUgQEAgdm9pZCBXZWJEb2N1bWVudDo6Y2Fu
Y2VsRnVsbFNjcmVlbigpCiAjZW5kaWYKIH0KIAorV2ViRE9NRXZlbnQgV2ViRG9jdW1lbnQ6OmNy
ZWF0ZUV2ZW50KGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlKQoreworICAgIEV4Y2VwdGlvbkNv
ZGUgZWMgPSAwOworICAgIFdlYkRPTUV2ZW50IGV2ZW50KHVud3JhcDxEb2N1bWVudD4oKS0+Y3Jl
YXRlRXZlbnQoZXZlbnRUeXBlLCBlYykpOworICAgIGlmICghZWMpCisgICAgICAgIHJldHVybiBX
ZWJET01FdmVudCgpOworICAgIHJldHVybiBldmVudDsKK30KKwogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdCBXZWJEb2N1bWVudDo6YWNjZXNzaWJpbGl0eU9iamVjdCgpIGNvbnN0CiB7CiAgICAgY29u
c3QgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29uc3RVbndyYXA8RG9jdW1lbnQ+KCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAkocmV2aXNpb24gOTY4NTQpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTg0LDYgKzE4NCwxMyBAQCB2b2lkIFdlYk5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
CiAgICAgLy8gbGlzdGVuZXJXcmFwcGVyIGlzIG5vdyBkZWxldGVkLgogfQogCitib29sIFdlYk5v
ZGU6OmRpc3BhdGNoRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQmIGV2ZW50KQoreworICAgIGlmICgh
ZXZlbnQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBtX3ByaXZhdGUtPmRpc3BhdGNoRXZlbnQo
ZXZlbnQpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBXZWJOb2RlOjpzaW11bGF0ZUNs
aWNrKCkKIHsKICAgICBSZWZQdHI8RXZlbnQ+IG5vRXZlbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110858</attachid>
            <date>2011-10-13 09:22:24 -0700</date>
            <delta_ts>2011-10-24 14:23:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69962-20111013102223.patch</filename>
            <type>text/plain</type>
            <size>12558</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5NzMwMSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMTAtMTIgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbmQgZGlzcGF0Y2ggYSBtZXNzYWdl
IGV2ZW50IHRocm91Z2ggY2hyb21pdW0gQVBJCisKKyAgICAgICAgUmVtb3ZlZCBtZXNzYWdlQ2hh
bm5lbHMgcGFyYW1ldGVyLCBzaW5jZSBpdCdzIGhhcmQgdG8gZ2V0IHJpZ2h0IGFuZCBJIGRvbid0
IG5lZWQgaXQuIENoYW5nZWQgbWVzc2FnZV9kYXRhLT5tZXNzYWdlRGF0YS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NjIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAg
ICAgICogcHVibGljL1dlYkRPTUV2ZW50Lmg6CisgICAgICAgICogcHVibGljL1dlYkRPTU1lc3Nh
Z2VFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBwdWJsaWMvV2ViRG9jdW1lbnQuaDoKKyAgICAg
ICAgKiBwdWJsaWMvV2ViTm9kZS5oOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bDo6aGFzUGVuZGluZ0FjdGl2aXR5KToKKyAgICAgICAgKiBzcmMvV2ViRE9NRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudDo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdl
YkNvcmU6OkV2ZW50Pik6CisgICAgICAgICogc3JjL1dlYkRPTU1lc3NhZ2VFdmVudC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJET01NZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZl
bnQpOgorICAgICAgICAqIHNyYy9XZWJEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogc3JjL1dlYk5vZGUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOb2RlOjpkaXNwYXRjaEV2ZW50KToKKwogMjAxMS0xMC0xMiAgTmlj
byBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGQg
YSBzZXRTZWxlY3Rpb25Ub1JhbmdlKCkgbWV0aG9kIHRvIFdlYkZyYW1lLgpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gOTY4NTQpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsxMzgsNyBAQAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViQ3Vyc29ySW5mby5oJywKICAgICAgICAgICAgICAgICAn
cHVibGljL1dlYkRPTUV2ZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9NRXZl
bnRMaXN0ZW5lci5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkRPTU1lc3NhZ2VFdmVu
dC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkRPTU1vdXNlRXZlbnQuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJET01NdXRhdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAg
ICAgICdwdWJsaWMvV2ViRE9NU3RyaW5nTGlzdC5oJywKQEAgLTQ1Niw2ICs0NTcsNyBAQAogICAg
ICAgICAgICAgICAgICdzcmMvV2ViRE9NRXZlbnRMaXN0ZW5lci5jcHAnLAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuY3BwJywKICAgICAgICAgICAgICAg
ICAnc3JjL1dlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRlLmgnLAorICAgICAgICAgICAgICAgICdz
cmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01N
b3VzZUV2ZW50LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01NdXRhdGlvbkV2ZW50
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01TdHJpbmdMaXN0LmNwcCcsCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01FdmVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRPTUV2ZW50LmgJKHJldmlzaW9u
IDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtOTUsNiArOTUsNyBAQCBwdWJsaWM6CiAKICNpZiBXRUJLSVRfSU1Q
TEVNRU5UQVRJT04KICAgICBXZWJET01FdmVudChjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29y
ZTo6RXZlbnQ+Jik7CisgICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkV2ZW50
PigpIGNvbnN0OwogI2VuZGlmCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIHRvKCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRPTU1lc3NhZ2VFdmVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRPTU1lc3NhZ2VF
dmVudC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RE9NTWVzc2FnZUV2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2lmbmRlZiBXZWJE
T01NZXNzYWdlRXZlbnRfaAorI2RlZmluZSBXZWJET01NZXNzYWdlRXZlbnRfaAorCisjaW5jbHVk
ZSAiV2ViRE9NRXZlbnQuaCIKKyNpbmNsdWRlICJXZWJNZXNzYWdlUG9ydENoYW5uZWwuaCIKKwor
I2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgorbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBFdmVu
dDsgfQorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJGcmFtZTsKK2Ns
YXNzIFdlYlN0cmluZzsKK2NsYXNzIFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKKworY2xhc3Mg
V2ViRE9NTWVzc2FnZUV2ZW50IDogcHVibGljIFdlYkRPTUV2ZW50IHsKK3B1YmxpYzoKKyAgICBX
RUJLSVRfRVhQT1JUIHZvaWQgaW5pdE1lc3NhZ2VFdmVudChjb25zdCBXZWJTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSYgbWVzc2FnZURhdGEsIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luLCBjb25zdCBXZWJG
cmFtZSYgc291cmNlRnJhbWUsIGNvbnN0IFdlYlN0cmluZyYgbGFzdEV2ZW50SWQpOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTk5
LDYgKzk5LDcgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgV2ViTm9kZSBmb2N1c2VkTm9k
ZSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgV2ViRG9jdW1lbnRUeXBlIGRvY3R5cGUoKSBj
b25zdDsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgY2FuY2VsRnVsbFNjcmVlbigpOworICAgIFdF
QktJVF9FWFBPUlQgV2ViRE9NRXZlbnQgY3JlYXRlRXZlbnQoY29uc3QgV2ViU3RyaW5nJiBldmVu
dFR5cGUpOwogCiAgICAgLy8gQWNjZXNzaWJpbGl0eSBzdXBwb3J0LiBUaGVzZSBtZXRob2RzIHNo
b3VsZCBvbmx5IGJlIGNhbGxlZCBvbiB0aGUKICAgICAvLyB0b3AtbGV2ZWwgZG9jdW1lbnQsIGJl
Y2F1c2Ugb25lIGFjY2Vzc2liaWxpdHkgY2FjaGUgc3BhbnMgYWxsIG9mCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oCShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBOb2RlOyB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgeworY2xhc3MgV2ViRE9NRXZlbnQ7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVy
OwogY2xhc3MgV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGU7CiBjbGFzcyBXZWJEb2N1bWVudDsK
QEAgLTEwMyw2ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBib29sIGlzRWxl
bWVudE5vZGUoKSBjb25zdDsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYWRkRXZlbnRMaXN0ZW5l
cihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwgV2ViRE9NRXZlbnRMaXN0ZW5lciogbGlzdGVu
ZXIsIGJvb2wgdXNlQ2FwdHVyZSk7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50
TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIFdlYkRPTUV2ZW50TGlzdGVuZXIq
IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpOworICAgIFdFQktJVF9FWFBPUlQgYm9vbCBkaXNw
YXRjaEV2ZW50KGNvbnN0IFdlYkRPTUV2ZW50Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNp
bXVsYXRlQ2xpY2soKTsKICAgICBXRUJLSVRfRVhQT1JUIFdlYk5vZGVMaXN0IGdldEVsZW1lbnRz
QnlUYWdOYW1lKGNvbnN0IFdlYlN0cmluZyYpIGNvbnN0OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwu
Y3BwCShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM2LDcgKzIzNiw3
IEBAIGJvb2wgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OmlzQ29ubmUKIGJvb2wgUGxhdGZv
cm1NZXNzYWdlUG9ydENoYW5uZWw6Omhhc1BlbmRpbmdBY3Rpdml0eSgpCiB7CiAgICAgTXV0ZXhM
b2NrZXIgbG9jayhtX211dGV4KTsKLSAgICByZXR1cm4gbV9sb2NhbFBvcnQ7CisgICAgcmV0dXJu
IG1fbG9jYWxQb3J0ICYmIG1fbG9jYWxQb3J0LT5oYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAog
dm9pZCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6c2V0RW50YW5nbGVkQ2hhbm5lbChQYXNz
UmVmUHRyPFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsPiByZW1vdGUpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZlbnQuY3BwCShyZXZpc2lvbiA5Njg1NCkKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjYsNiArNjYsMTEgQEAgV2ViRE9NRXZlbnQ6OldlYkRPTUV2ZW50KGNvbnN0IFdURjo6
UGFzcwogewogfQogCitXZWJET01FdmVudDo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNv
cmU6OkV2ZW50PigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6OkV2
ZW50Kj4obV9wcml2YXRlKTsKK30KKwogV2ViU3RyaW5nIFdlYkRPTUV2ZW50Ojp0eXBlKCkgY29u
c3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkRPTU1lc3NhZ2VFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTU1lc3NhZ2VFdmVudC5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViRE9N
TWVzc2FnZUV2ZW50LmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJNZXNz
YWdlRXZlbnQuaCIKKyNpbmNsdWRlICJNZXNzYWdlUG9ydC5oIgorI2luY2x1ZGUgIlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5oIgorI2lmIFVTRShWOCkKKyNpbmNsdWRlICJWOFByb3h5LmgiCisjZW5k
aWYKKworI2luY2x1ZGUgIlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmgiCisjaW5jbHVkZSAi
V2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKKyNpbmNsdWRlICJXZWJTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKKwordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYkRPTU1lc3Nh
Z2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudChjb25zdCBXZWJTdHJpbmcmIHR5cGUsIGJvb2wgY2Fu
QnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYg
bWVzc2FnZURhdGEsIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luLCBjb25zdCBXZWJGcmFtZSYgc291
cmNlRnJhbWUsIGNvbnN0IFdlYlN0cmluZyYgbGFzdEV2ZW50SWQpCit7CisgICAgQVNTRVJUKG1f
cHJpdmF0ZSk7CisgICAgQVNTRVJUKGlzTWVzc2FnZUV2ZW50KCkpOworICAgIERPTVdpbmRvdyog
d2luZG93ID0gc3RhdGljX2Nhc3Q8Y29uc3QgV2ViRnJhbWVJbXBsJj4oc291cmNlRnJhbWUpLmZy
YW1lKCktPmRvbVdpbmRvdygpOworICAgIE93blB0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0czsK
KyAgICB1bndyYXA8TWVzc2FnZUV2ZW50PigpLT5pbml0TWVzc2FnZUV2ZW50KHR5cGUsIGNhbkJ1
YmJsZSwgY2FuY2VsYWJsZSwgbWVzc2FnZURhdGEsIG9yaWdpbiwgbGFzdEV2ZW50SWQsIHdpbmRv
dywgcG9ydHMucmVsZWFzZSgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01NZXNzYWdlRXZl
bnQuY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAJKHJldmlzaW9uIDk2ODU0
KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKICNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
KyNpbmNsdWRlICJXZWJET01FdmVudC5oIgogI2luY2x1ZGUgIldlYkRvY3VtZW50VHlwZS5oIgog
I2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGb3JtRWxlbWVudC5oIgpAQCAt
MTg5LDYgKzE5MCwxNSBAQCB2b2lkIFdlYkRvY3VtZW50OjpjYW5jZWxGdWxsU2NyZWVuKCkKICNl
bmRpZgogfQogCitXZWJET01FdmVudCBXZWJEb2N1bWVudDo6Y3JlYXRlRXZlbnQoY29uc3QgV2Vi
U3RyaW5nJiBldmVudFR5cGUpCit7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgV2Vi
RE9NRXZlbnQgZXZlbnQodW53cmFwPERvY3VtZW50PigpLT5jcmVhdGVFdmVudChldmVudFR5cGUs
IGVjKSk7CisgICAgaWYgKCFlYykKKyAgICAgICAgcmV0dXJuIFdlYkRPTUV2ZW50KCk7CisgICAg
cmV0dXJuIGV2ZW50OworfQorCiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0IFdlYkRvY3VtZW50Ojph
Y2Nlc3NpYmlsaXR5T2JqZWN0KCkgY29uc3QKIHsKICAgICBjb25zdCBEb2N1bWVudCogZG9jdW1l
bnQgPSBjb25zdFVud3JhcDxEb2N1bWVudD4oKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYk5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYk5vZGUuY3BwCShyZXZpc2lvbiA5Njg1NCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYk5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDEzIEBAIHZv
aWQgV2ViTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCAKICAgICAvLyBsaXN0ZW5lcldy
YXBwZXIgaXMgbm93IGRlbGV0ZWQuCiB9CiAKK2Jvb2wgV2ViTm9kZTo6ZGlzcGF0Y2hFdmVudChj
b25zdCBXZWJET01FdmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFldmVudC5pc051bGwoKSkKKyAg
ICAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB2b2lkIFdlYk5vZGU6OnNpbXVsYXRlQ2xpY2soKQogewogICAgIFJlZlB0
cjxFdmVudD4gbm9FdmVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112246</attachid>
            <date>2011-10-24 14:23:22 -0700</date>
            <delta_ts>2011-10-25 08:55:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69962-20111024152320.patch</filename>
            <type>text/plain</type>
            <size>12578</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5NzMwMSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMTAtMTIgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbmQgZGlzcGF0Y2ggYSBtZXNzYWdl
IGV2ZW50IHRocm91Z2ggY2hyb21pdW0gQVBJCisKKyAgICAgICAgUmVtb3ZlZCBtZXNzYWdlQ2hh
bm5lbHMgcGFyYW1ldGVyLCBzaW5jZSBpdCdzIGhhcmQgdG8gZ2V0IHJpZ2h0IGFuZCBJIGRvbid0
IG5lZWQgaXQuIENoYW5nZWQgbWVzc2FnZV9kYXRhLT5tZXNzYWdlRGF0YS4gUmVvcmRlcmVkIGlu
Y2x1ZGVzLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTk2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRE9NRXZlbnQuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9X
ZWJEb2N1bWVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAgICAgICogc3Jj
L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsOjpoYXNQZW5kaW5nQWN0aXZpdHkpOgorICAgICAgICAqIHNy
Yy9XZWJET01FdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50OjpvcGVyYXRv
ciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KToKKyAgICAgICAgKiBzcmMvV2ViRE9N
TWVzc2FnZUV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkRPTU1lc3NhZ2VF
dmVudDo6aW5pdE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAgICAgICAgKiBz
cmMvV2ViTm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vZGU6OmRpc3BhdGNoRXZlbnQp
OgorCiAyMDExLTEwLTEyICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIEFkZCBhIHNldFNlbGVjdGlvblRvUmFuZ2UoKSBtZXRob2QgdG8gV2Vi
RnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiA5Njg1NCkK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAt
MTM4LDYgKzEzOCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDdXJzb3JJbmZvLmgn
LAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9NRXZlbnQuaCcsCiAgICAgICAgICAgICAg
ICAgJ3B1YmxpYy9XZWJET01FdmVudExpc3RlbmVyLmgnLAorICAgICAgICAgICAgICAgICdwdWJs
aWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9N
TW91c2VFdmVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkRPTU11dGF0aW9uRXZl
bnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJET01TdHJpbmdMaXN0LmgnLApAQCAt
NDU2LDYgKzQ1Nyw3IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01FdmVudExpc3RlbmVy
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZS5j
cHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuaCcs
CisgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01NZXNzYWdlRXZlbnQuY3BwJywKICAgICAgICAg
ICAgICAgICAnc3JjL1dlYkRPTU1vdXNlRXZlbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYkRPTU11dGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkRPTVN0
cmluZ0xpc3QuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRP
TUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RE9NRXZlbnQuaAkocmV2aXNpb24gOTY4NTQpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJET01FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIHB1Ymxp
YzoKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgogICAgIFdlYkRPTUV2ZW50KGNvbnN0IFdU
Rjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFdmVudD4mKTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KCkgY29uc3Q7CiAjZW5kaWYKIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IFQgdG8oKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RE9NTWVzc2FnZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJET01NZXNzYWdlRXZlbnQuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisjaWZuZGVmIFdlYkRPTU1lc3NhZ2VFdmVudF9oCisjZGVmaW5lIFdlYkRPTU1lc3Nh
Z2VFdmVudF9oCisKKyNpbmNsdWRlICJXZWJET01FdmVudC5oIgorI2luY2x1ZGUgIldlYk1lc3Nh
Z2VQb3J0Q2hhbm5lbC5oIgorCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCituYW1lc3BhY2Ug
V2ViQ29yZSB7IGNsYXNzIEV2ZW50OyB9CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFdlYkZyYW1lOworY2xhc3MgV2ViU3RyaW5nOworY2xhc3MgV2ViU2VyaWFsaXplZFNj
cmlwdFZhbHVlOworCitjbGFzcyBXZWJET01NZXNzYWdlRXZlbnQgOiBwdWJsaWMgV2ViRE9NRXZl
bnQgeworcHVibGljOgorICAgIFdFQktJVF9FWFBPUlQgdm9pZCBpbml0TWVzc2FnZUV2ZW50KGNv
bnN0IFdlYlN0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29u
c3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiBtZXNzYWdlRGF0YSwgY29uc3QgV2ViU3RyaW5n
JiBvcmlnaW4sIGNvbnN0IFdlYkZyYW1lJiBzb3VyY2VGcmFtZSwgY29uc3QgV2ViU3RyaW5nJiBs
YXN0RXZlbnRJZCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01NZXNz
YWdlRXZlbnQuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgJKHJldmlzaW9u
IDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtOTksNiArOTksNyBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9S
VCBXZWJOb2RlIGZvY3VzZWROb2RlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJEb2N1
bWVudFR5cGUgZG9jdHlwZSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBjYW5jZWxG
dWxsU2NyZWVuKCk7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJET01FdmVudCBjcmVhdGVFdmVudChj
b25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSk7CiAKICAgICAvLyBBY2Nlc3NpYmlsaXR5IHN1cHBv
cnQuIFRoZXNlIG1ldGhvZHMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIHRoZQogICAgIC8vIHRv
cC1sZXZlbCBkb2N1bWVudCwgYmVjYXVzZSBvbmUgYWNjZXNzaWJpbGl0eSBjYWNoZSBzcGFucyBh
bGwgb2YKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgJKHJldmlz
aW9uIDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNz
IE5vZGU7IH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJET01FdmVudDsKIGNsYXNz
IFdlYkRPTUV2ZW50TGlzdGVuZXI7CiBjbGFzcyBXZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZTsK
IGNsYXNzIFdlYkRvY3VtZW50OwpAQCAtMTAzLDYgKzEwNCw3IEBAIHB1YmxpYzoKICAgICBXRUJL
SVRfRVhQT1JUIGJvb2wgaXNFbGVtZW50Tm9kZSgpIGNvbnN0OwogICAgIFdFQktJVF9FWFBPUlQg
dm9pZCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBXZWJET01F
dmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKTsKICAgICBXRUJLSVRfRVhQ
T1JUIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSwg
V2ViRE9NRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSk7CisgICAgV0VC
S0lUX0VYUE9SVCBib29sIGRpc3BhdGNoRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQmKTsKICAgICBX
RUJLSVRfRVhQT1JUIHZvaWQgc2ltdWxhdGVDbGljaygpOwogICAgIFdFQktJVF9FWFBPUlQgV2Vi
Tm9kZUxpc3QgZ2V0RWxlbWVudHNCeVRhZ05hbWUoY29uc3QgV2ViU3RyaW5nJikgY29uc3Q7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFu
bmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9y
bU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJKHJldmlzaW9uIDk2ODU0KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMzYsNyArMjM2LDcgQEAgYm9vbCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6
aXNDb25uZQogYm9vbCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbDo6aGFzUGVuZGluZ0FjdGl2
aXR5KCkKIHsKICAgICBNdXRleExvY2tlciBsb2NrKG1fbXV0ZXgpOwotICAgIHJldHVybiBtX2xv
Y2FsUG9ydDsKKyAgICByZXR1cm4gbV9sb2NhbFBvcnQgJiYgbV9sb2NhbFBvcnQtPmhhc1BlbmRp
bmdBY3Rpdml0eSgpOwogfQogCiB2b2lkIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpzZXRF
bnRhbmdsZWRDaGFubmVsKFBhc3NSZWZQdHI8UGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw+IHJl
bW90ZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudC5jcHAJ
KHJldmlzaW9uIDk2ODU0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2NiwxMSBAQCBXZWJET01FdmVudDo6V2Vi
RE9NRXZlbnQoY29uc3QgV1RGOjpQYXNzCiB7CiB9CiAKK1dlYkRPTUV2ZW50OjpvcGVyYXRvciBX
VEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2ViQ29yZTo6RXZlbnQqPihtX3ByaXZhdGUpOworfQorCiBXZWJTdHJpbmcgV2Vi
RE9NRXZlbnQ6OnR5cGUoKSBjb25zdAogewogICAgIEFTU0VSVChtX3ByaXZhdGUpOwpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01NZXNzYWdlRXZlbnQuY3Bw
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NTWVzc2Fn
ZUV2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJET01NZXNzYWdlRXZlbnQuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRv
dy5oIgorI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VQb3J0Lmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCIKKyNpbmNsdWRlICJTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJXZWJGcmFtZS5oIgorI2luY2x1ZGUgIldl
YkZyYW1lSW1wbC5oIgorI2luY2x1ZGUgIldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2lu
Y2x1ZGUgIldlYlN0cmluZy5oIgorCisjaWYgVVNFKFY4KQorI2luY2x1ZGUgIlY4UHJveHkuaCIK
KyNlbmRpZgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3ZvaWQgV2ViRE9NTWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KGNvbnN0IFdlYlN0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlJiBtZXNzYWdlRGF0YSwgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW4s
IGNvbnN0IFdlYkZyYW1lJiBzb3VyY2VGcmFtZSwgY29uc3QgV2ViU3RyaW5nJiBsYXN0RXZlbnRJ
ZCkKK3sKKyAgICBBU1NFUlQobV9wcml2YXRlKTsKKyAgICBBU1NFUlQoaXNNZXNzYWdlRXZlbnQo
KSk7CisgICAgRE9NV2luZG93KiB3aW5kb3cgPSBzdGF0aWNfY2FzdDxjb25zdCBXZWJGcmFtZUlt
cGwmPihzb3VyY2VGcmFtZSkuZnJhbWUoKS0+ZG9tV2luZG93KCk7CisgICAgT3duUHRyPE1lc3Nh
Z2VQb3J0QXJyYXk+IHBvcnRzOworICAgIHVud3JhcDxNZXNzYWdlRXZlbnQ+KCktPmluaXRNZXNz
YWdlRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCBtZXNzYWdlRGF0YSwgb3JpZ2lu
LCBsYXN0RXZlbnRJZCwgd2luZG93LCBwb3J0cy5yZWxlYXNlKCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRPTU1lc3NhZ2VFdmVudC5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQogICArIExGCgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50
LmNwcAkocmV2aXNpb24gOTY4NTQpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
b2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJO
b2RlTGlzdC5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1ZGUgIldlYkRPTUV2ZW50LmgiCiAjaW5jbHVkZSAi
V2ViRG9jdW1lbnRUeXBlLmgiCiAjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1ZGUgIldl
YkZvcm1FbGVtZW50LmgiCkBAIC0xODksNiArMTkwLDE1IEBAIHZvaWQgV2ViRG9jdW1lbnQ6OmNh
bmNlbEZ1bGxTY3JlZW4oKQogI2VuZGlmCiB9CiAKK1dlYkRPTUV2ZW50IFdlYkRvY3VtZW50Ojpj
cmVhdGVFdmVudChjb25zdCBXZWJTdHJpbmcmIGV2ZW50VHlwZSkKK3sKKyAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKKyAgICBXZWJET01FdmVudCBldmVudCh1bndyYXA8RG9jdW1lbnQ+KCktPmNy
ZWF0ZUV2ZW50KGV2ZW50VHlwZSwgZWMpKTsKKyAgICBpZiAoIWVjKQorICAgICAgICByZXR1cm4g
V2ViRE9NRXZlbnQoKTsKKyAgICByZXR1cm4gZXZlbnQ7Cit9CisKIFdlYkFjY2Vzc2liaWxpdHlP
YmplY3QgV2ViRG9jdW1lbnQ6OmFjY2Vzc2liaWxpdHlPYmplY3QoKSBjb25zdAogewogICAgIGNv
bnN0IERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnN0VW53cmFwPERvY3VtZW50PigpOwpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAJKHJldmlzaW9uIDk2ODU0KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4NCw2ICsxODQsMTMgQEAgdm9pZCBXZWJOb2RlOjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0
IAogICAgIC8vIGxpc3RlbmVyV3JhcHBlciBpcyBub3cgZGVsZXRlZC4KIH0KIAorYm9vbCBXZWJO
b2RlOjpkaXNwYXRjaEV2ZW50KGNvbnN0IFdlYkRPTUV2ZW50JiBldmVudCkKK3sKKyAgICBpZiAo
IWV2ZW50LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbV9wcml2YXRlLT5kaXNwYXRjaEV2ZW50
KGV2ZW50KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgV2ViTm9kZTo6c2ltdWxhdGVD
bGljaygpCiB7CiAgICAgUmVmUHRyPEV2ZW50PiBub0V2ZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112342</attachid>
            <date>2011-10-25 08:55:17 -0700</date>
            <delta_ts>2011-10-25 13:00:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69962-20111025095515.patch</filename>
            <type>text/plain</type>
            <size>12619</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODM0OCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMTAtMTIgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhbmQgZGlzcGF0Y2ggYSBtZXNzYWdl
IGV2ZW50IHRocm91Z2ggY2hyb21pdW0gQVBJCisKKyAgICAgICAgUmVtb3ZlZCBtZXNzYWdlQ2hh
bm5lbHMgcGFyYW1ldGVyLCBzaW5jZSBpdCdzIGhhcmQgdG8gZ2V0IHJpZ2h0IGFuZCBJIGRvbid0
IG5lZWQgaXQuIENoYW5nZWQgbWVzc2FnZV9kYXRhLT5tZXNzYWdlRGF0YS4gUmVvcmRlcmVkIGlu
Y2x1ZGVzLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTk2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRE9NRXZlbnQuaDoKKyAgICAgICAg
KiBwdWJsaWMvV2ViRE9NTWVzc2FnZUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9X
ZWJEb2N1bWVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6CisgICAgICAgICogc3Jj
L1BsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsOjpoYXNQZW5kaW5nQWN0aXZpdHkpOgorICAgICAgICAqIHNy
Yy9XZWJET01FdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50OjpvcGVyYXRv
ciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+KToKKyAgICAgICAgKiBzcmMvV2ViRE9N
TWVzc2FnZUV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkRPTU1lc3NhZ2VF
dmVudDo6aW5pdE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogc3JjL1dlYkRvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KToKKyAgICAgICAgKiBz
cmMvV2ViTm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vZGU6OmRpc3BhdGNoRXZlbnQp
OgorCiAyMDExLTEwLTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZGVzaWduIHdvcmtlcnMgc2lkZWJhciBwYW5lCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCShyZXZpc2lvbiA5ODM0OCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0
MCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDdXJzb3JJbmZvLmgnLAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViRE9NRXZlbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJET01FdmVudExpc3RlbmVyLmgnLAorICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9N
TWVzc2FnZUV2ZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViRE9NTW91c2VFdmVu
dC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkRPTU11dGF0aW9uRXZlbnQuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJET01TdHJpbmdMaXN0LmgnLApAQCAtNDYyLDYgKzQ2
Myw3IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJET01FdmVudExpc3RlbmVyLmNwcCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJET01FdmVudExpc3RlbmVyUHJpdmF0ZS5jcHAnLAogICAg
ICAgICAgICAgICAgICdzcmMvV2ViRE9NRXZlbnRMaXN0ZW5lclByaXZhdGUuaCcsCisgICAgICAg
ICAgICAgICAgJ3NyYy9XZWJET01NZXNzYWdlRXZlbnQuY3BwJywKICAgICAgICAgICAgICAgICAn
c3JjL1dlYkRPTU1vdXNlRXZlbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkRPTU11
dGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkRPTVN0cmluZ0xpc3Qu
Y3BwJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRPTUV2ZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NRXZlbnQu
aAkocmV2aXNpb24gOTgzNDgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJE
T01FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIHB1YmxpYzoKIAogI2lm
IFdFQktJVF9JTVBMRU1FTlRBVElPTgogICAgIFdlYkRPTUV2ZW50KGNvbnN0IFdURjo6UGFzc1Jl
ZlB0cjxXZWJDb3JlOjpFdmVudD4mKTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2Vi
Q29yZTo6RXZlbnQ+KCkgY29uc3Q7CiAjZW5kaWYKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IFQgdG8oKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRE9NTWVzc2Fn
ZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RE9NTWVzc2FnZUV2ZW50LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJET01NZXNzYWdlRXZlbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisj
aWZuZGVmIFdlYkRPTU1lc3NhZ2VFdmVudF9oCisjZGVmaW5lIFdlYkRPTU1lc3NhZ2VFdmVudF9o
CisKKyNpbmNsdWRlICJXZWJET01FdmVudC5oIgorI2luY2x1ZGUgIldlYk1lc3NhZ2VQb3J0Q2hh
bm5lbC5oIgorCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCituYW1lc3BhY2UgV2ViQ29yZSB7
IGNsYXNzIEV2ZW50OyB9CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdl
YkZyYW1lOworY2xhc3MgV2ViU3RyaW5nOworY2xhc3MgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVl
OworCitjbGFzcyBXZWJET01NZXNzYWdlRXZlbnQgOiBwdWJsaWMgV2ViRE9NRXZlbnQgeworcHVi
bGljOgorICAgIFdFQktJVF9FWFBPUlQgdm9pZCBpbml0TWVzc2FnZUV2ZW50KGNvbnN0IFdlYlN0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgV2ViU2Vy
aWFsaXplZFNjcmlwdFZhbHVlJiBtZXNzYWdlRGF0YSwgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW4s
IGNvbnN0IFdlYkZyYW1lJiBzb3VyY2VGcmFtZSwgY29uc3QgV2ViU3RyaW5nJiBsYXN0RXZlbnRJ
ZCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJET01NZXNzYWdlRXZlbnQu
aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRvY3VtZW50LmgJKHJldmlzaW9uIDk4MzQ4KQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRG9jdW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMTAzLDYgKzEwMyw3IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIFdlYkRv
Y3VtZW50VHlwZSBkb2N0eXBlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGNhbmNl
bEZ1bGxTY3JlZW4oKTsKICAgICBXRUJLSVRfRVhQT1JUIFdlYkVsZW1lbnQgZnVsbFNjcmVlbkVs
ZW1lbnQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYkRPTUV2ZW50IGNyZWF0ZUV2ZW50
KGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBlKTsKIAogICAgIC8vIEFjY2Vzc2liaWxpdHkgc3Vw
cG9ydC4gVGhlc2UgbWV0aG9kcyBzaG91bGQgb25seSBiZSBjYWxsZWQgb24gdGhlCiAgICAgLy8g
dG9wLWxldmVsIGRvY3VtZW50LCBiZWNhdXNlIG9uZSBhY2Nlc3NpYmlsaXR5IGNhY2hlIHNwYW5z
IGFsbCBvZgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vZGUuaAkocmV2
aXNpb24gOTgzNDgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJOb2RlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsgY2xh
c3MgTm9kZTsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIFdlYkRPTUV2ZW50OwogY2xh
c3MgV2ViRE9NRXZlbnRMaXN0ZW5lcjsKIGNsYXNzIFdlYkRPTUV2ZW50TGlzdGVuZXJQcml2YXRl
OwogY2xhc3MgV2ViRG9jdW1lbnQ7CkBAIC0xMDMsNiArMTA0LDcgQEAgcHVibGljOgogICAgIFdF
QktJVF9FWFBPUlQgYm9vbCBpc0VsZW1lbnROb2RlKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9S
VCB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgV2ViU3RyaW5nJiBldmVudFR5cGUsIFdlYkRP
TUV2ZW50TGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpOwogICAgIFdFQktJVF9F
WFBPUlQgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IFdlYlN0cmluZyYgZXZlbnRUeXBl
LCBXZWJET01FdmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKTsKKyAgICBX
RUJLSVRfRVhQT1JUIGJvb2wgZGlzcGF0Y2hFdmVudChjb25zdCBXZWJET01FdmVudCYpOwogICAg
IFdFQktJVF9FWFBPUlQgdm9pZCBzaW11bGF0ZUNsaWNrKCk7CiAgICAgV0VCS0lUX0VYUE9SVCBX
ZWJOb2RlTGlzdCBnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsK
IApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtTWVzc2FnZVBvcnRDaGFubmVsLmNwcAkocmV2aXNpb24gOTgzNDgpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIzNiw3ICsyMzYsNyBAQCBib29sIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVs
Ojppc0Nvbm5lCiBib29sIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsOjpoYXNQZW5kaW5nQWN0
aXZpdHkoKQogewogICAgIE11dGV4TG9ja2VyIGxvY2sobV9tdXRleCk7Ci0gICAgcmV0dXJuIG1f
bG9jYWxQb3J0OworICAgIHJldHVybiBtX2xvY2FsUG9ydCAmJiBtX2xvY2FsUG9ydC0+aGFzUGVu
ZGluZ0FjdGl2aXR5KCk7CiB9CiAKIHZvaWQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWw6OnNl
dEVudGFuZ2xlZENoYW5uZWwoUGFzc1JlZlB0cjxQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbD4g
cmVtb3RlKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50LmNw
cAkocmV2aXNpb24gOTgzNDgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01F
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDExIEBAIFdlYkRPTUV2ZW50OjpX
ZWJET01FdmVudChjb25zdCBXVEY6OlBhc3MKIHsKIH0KIAorV2ViRE9NRXZlbnQ6Om9wZXJhdG9y
IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpFdmVudD4oKSBjb25zdAoreworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxXZWJDb3JlOjpFdmVudCo+KG1fcHJpdmF0ZSk7Cit9CisKIFdlYlN0cmluZyBX
ZWJET01FdmVudDo6dHlwZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcHJpdmF0ZSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01NZXNzYWdlRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTU1lc3NhZ2VFdmVudC5j
cHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01NZXNz
YWdlRXZlbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYkRPTU1lc3NhZ2VFdmVudC5oIgorCisjaW5jbHVkZSAiRE9NV2lu
ZG93LmgiCisjaW5jbHVkZSAiTWVzc2FnZUV2ZW50LmgiCisjaW5jbHVkZSAiTWVzc2FnZVBvcnQu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgorI2luY2x1ZGUgIlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIldlYkZyYW1lLmgiCisjaW5jbHVkZSAi
V2ViRnJhbWVJbXBsLmgiCisjaW5jbHVkZSAiV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCisj
aW5jbHVkZSAiV2ViU3RyaW5nLmgiCisKKyNpZiBVU0UoVjgpCisjaW5jbHVkZSAiVjhQcm94eS5o
IgorI2VuZGlmCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordm9pZCBXZWJET01NZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnQoY29uc3QgV2Vi
U3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBjb25zdCBXZWJT
ZXJpYWxpemVkU2NyaXB0VmFsdWUmIG1lc3NhZ2VEYXRhLCBjb25zdCBXZWJTdHJpbmcmIG9yaWdp
biwgY29uc3QgV2ViRnJhbWUmIHNvdXJjZUZyYW1lLCBjb25zdCBXZWJTdHJpbmcmIGxhc3RFdmVu
dElkKQoreworICAgIEFTU0VSVChtX3ByaXZhdGUpOworICAgIEFTU0VSVChpc01lc3NhZ2VFdmVu
dCgpKTsKKyAgICBET01XaW5kb3cqIHdpbmRvdyA9IHN0YXRpY19jYXN0PGNvbnN0IFdlYkZyYW1l
SW1wbCY+KHNvdXJjZUZyYW1lKS5mcmFtZSgpLT5kb21XaW5kb3coKTsKKyAgICBPd25QdHI8TWVz
c2FnZVBvcnRBcnJheT4gcG9ydHM7CisgICAgdW53cmFwPE1lc3NhZ2VFdmVudD4oKS0+aW5pdE1l
c3NhZ2VFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIG1lc3NhZ2VEYXRhLCBvcmln
aW4sIGxhc3RFdmVudElkLCB3aW5kb3csIHBvcnRzLnJlbGVhc2UoKSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRE9NTWVzc2FnZUV2ZW50LmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1l
bnQuY3BwCShyZXZpc2lvbiA5ODM0OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUg
Ik5vZGVMaXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRl
ICJXZWJEb2N1bWVudFR5cGUuaCIKICNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
V2ViRm9ybUVsZW1lbnQuaCIKQEAgLTE5OCw2ICsxOTksMTUgQEAgV2ViRWxlbWVudCBXZWJEb2N1
bWVudDo6ZnVsbFNjcmVlbkVsZW1lbgogICAgIHJldHVybiBXZWJFbGVtZW50KGZ1bGxTY3JlZW5F
bGVtZW50KTsKIH0KIAorV2ViRE9NRXZlbnQgV2ViRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50KGNvbnN0
IFdlYlN0cmluZyYgZXZlbnRUeXBlKQoreworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAg
IFdlYkRPTUV2ZW50IGV2ZW50KHVud3JhcDxEb2N1bWVudD4oKS0+Y3JlYXRlRXZlbnQoZXZlbnRU
eXBlLCBlYykpOworICAgIGlmICghZWMpCisgICAgICAgIHJldHVybiBXZWJET01FdmVudCgpOwor
ICAgIHJldHVybiBldmVudDsKK30KKwogV2ViQWNjZXNzaWJpbGl0eU9iamVjdCBXZWJEb2N1bWVu
dDo6YWNjZXNzaWJpbGl0eU9iamVjdCgpIGNvbnN0CiB7CiAgICAgY29uc3QgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gY29uc3RVbndyYXA8RG9jdW1lbnQ+KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJOb2RlLmNwcAkocmV2aXNpb24gOTgzNDgpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDYgKzE4NCwxMyBA
QCB2b2lkIFdlYk5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgCiAgICAgLy8gbGlzdGVu
ZXJXcmFwcGVyIGlzIG5vdyBkZWxldGVkLgogfQogCitib29sIFdlYk5vZGU6OmRpc3BhdGNoRXZl
bnQoY29uc3QgV2ViRE9NRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghZXZlbnQuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiBtX3ByaXZhdGUtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogdm9pZCBXZWJOb2RlOjpzaW11bGF0ZUNsaWNrKCkKIHsKICAgICBS
ZWZQdHI8RXZlbnQ+IG5vRXZlbnQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>