<?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>59850</bug_id>
          
          <creation_ts>2011-04-29 17:37:10 -0700</creation_ts>
          <short_desc>CSP script-src should block eval</short_desc>
          <delta_ts>2011-04-29 23:15:53 -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>
          
          <blocked>53572</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>395649</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 17:37:10 -0700</bug_when>
    <thetext>CSP script-src should block eval</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395650</commentid>
    <comment_count>1</comment_count>
      <attachid>91773</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 17:41:18 -0700</bug_when>
    <thetext>Created attachment 91773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395653</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 17:43:00 -0700</bug_when>
    <thetext>Here&apos;s the related V8 bug:
http://code.google.com/p/v8/issues/detail?id=1258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395654</commentid>
    <comment_count>3</comment_count>
      <attachid>91773</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-29 17:44:13 -0700</bug_when>
    <thetext>Comment on attachment 91773
Patch

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

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked.html:11
&gt; +This test passes if it doesn&apos;t alert fail.

This is confusing.

&gt; Source/JavaScriptCore/runtime/Executable.cpp:106
&gt; +        return throwError(exec, createEvalError(exec, &quot;Eval is disabled&quot;));

Is this the right text?

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.h:115
&gt; +        bool m_isEvalEnabled : 1;

Do we worry about the size of this object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395655</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-29 17:45:31 -0700</bug_when>
    <thetext>Attachment 91773 did not build on chromium:
Build output: http://queues.webkit.org/results/8517974</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395656</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 17:45:47 -0700</bug_when>
    <thetext>&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/eval-blocked.html:11
&gt; &gt; +This test passes if it doesn&apos;t alert fail.
&gt; 
&gt; This is confusing.

Maybe:

This test passes if it doesn&apos;t alert &quot;fail.&quot;

?

&gt; &gt; Source/JavaScriptCore/runtime/Executable.cpp:106
&gt; &gt; +        return throwError(exec, createEvalError(exec, &quot;Eval is disabled&quot;));
&gt; 
&gt; Is this the right text?

There&apos;s no spec for JavaScript errors.

&gt; &gt; Source/JavaScriptCore/runtime/JSGlobalObject.h:115
&gt; &gt; +        bool m_isEvalEnabled : 1;
&gt; 
&gt; Do we worry about the size of this object?

Dunno.  The object is very large.  I could remove the &quot;: 1&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395658</commentid>
    <comment_count>6</comment_count>
      <attachid>91775</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 17:48:26 -0700</bug_when>
    <thetext>Created attachment 91775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395688</commentid>
    <comment_count>7</comment_count>
      <attachid>91783</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-29 18:13:56 -0700</bug_when>
    <thetext>Created attachment 91783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395754</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-29 21:16:11 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 91783:

http/tests/xmlhttprequest/failed-auth.html bug 51835 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395757</commentid>
    <comment_count>9</comment_count>
      <attachid>91783</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-29 21:30:16 -0700</bug_when>
    <thetext>Comment on attachment 91783
Patch

Clearing flags on attachment: 91783

Committed r85388: &lt;http://trac.webkit.org/changeset/85388&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395758</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-29 21:30:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395774</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-29 23:15:53 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 91783:

http/tests/xmlhttprequest/cross-origin-authorization.html bug 52398 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91773</attachid>
            <date>2011-04-29 17:41:18 -0700</date>
            <delta_ts>2011-04-29 17:48:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59850-20110429174117.patch</filename>
            <type>text/plain</type>
            <size>13872</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzNjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YTQ2MTkzMTQxYTRmMjkxN2RiNWNl
YWI3YjQyYjc4ZjY2MGZjMzhiLi4zY2E2ZDdkOWQyZjExNzIwYzAxZWEyZDliYzE4MWM2Y2EyYjU2
NDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjkgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDU1Agc2NyaXB0LXNyYyBzaG91bGQgYmxvY2sgZXZhbAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4NTAKKworICAgICAgICBUZXN0IHRo
YXQgYm90aCBmdW5jdGlvbi1ldmFsIGFuZCBvcGVyYXRvci1ldmFsIGFyZSBjb3JyZWN0bHkgYmxv
Y2tlZAorICAgICAgICBhbmQgYWxsb3dlZCBhY2NvcmRpbmcgdG8gdGhlIHBvbGljeS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxs
b3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxsb3dlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDQtMjkg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE9saXZlciBIdW50ICYgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvZXZhbC1hbGxvd2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTA3
ODJhZTI3ZWYyODdlNTU1ZGQyMGVmODU3NDE0NGUzOGEwMWZhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZh
bC1hbGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0FMRVJUOiBQQVNTICgxIG9m
IDIpCitBTEVSVDogUEFTUyAoMiBvZiAyKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwM2M0MWM5NWVkYjJhNjFiZjdjNmQ0YTIwMjc5
NGMzZDRhNzMzNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2
PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnICd1bnNh
ZmUtZXZhbCciPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitldmFsKCJhbGVydCgnUEFTUyAoMSBvZiAyKScpIik7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuZXZhbCgiYWxlcnQoJ1BBU1MgKDIgb2YgMiknKSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzJlNTYxZWVjNzcy
ZWU3YjJlOTkyNTk3NzU1NzNhNTFhZmI2Y2I5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzog
RXZhbEVycm9yOiBFdmFsIGlzIGRpc2FibGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IEV2
YWxFcnJvcjogRXZhbCBpcyBkaXNhYmxlZAorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0
IGFsZXJ0IGZhaWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhMTAwMDkxNWRiNjYzYWZjYzZmYzhlZGY1MTAyMTg1OTQ1Y2Q4NmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdlYktpdC1DU1Ai
IGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgcGFzc2VzIGlm
IGl0IGRvZXNuJ3QgYWxlcnQgZmFpbC4KKzxzY3JpcHQ+CitldmFsKCJhbGVydCgnRkFJTCAoMSBv
ZiAyKScpIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuZXZhbCgiYWxlcnQoJ0ZBSUwg
KDIgb2YgMiknKSIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGFiMzhmNzYwM2JhMjgyZTk1M2MyMmU0ZGUxYTBjYzU3ZTAwOTAwLi5m
ZGQyZTZiOTBmMzgyMDdmNjg3ZjllNzlhYTUzYjQ5NWUzZGYxYTQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wNC0yOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENTUCBzY3JpcHQtc3JjIHNob3VsZCBibG9jayBldmFsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTg1MAorCisgICAgICAgIGdnYXJlbiBy
ZWNvbW1lbmQgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdG8gdGhpcyBwYXRjaCwgZXNzZW50aWFsbHkK
KyAgICAgICAgaW5zdGFsbGluZyBhIG5ldyBmdW5jdGlvbiBmb3IgZnVuY3Rpb24tZXZhbCBhbmQg
Y2hhbmdpbmcgdGhlIEFTVAorICAgICAgICByZXByZXNlbnRhdGlvbiBvZiBvcGVyYXRvci1ldmFs
IHRvIGNhbGwgZnVuY3Rpb24tZXZhbC4gIEhvd2V2ZXIsIEknbQorICAgICAgICBub3Qgc3VyZSB0
aGF0IGFwcHJvYWNoIGlzIHdvcmthYmxlIGJlY2F1c2UgdGhlIEFTVEJ1aWxkZXIgZG9lc24ndCBr
bm93CisgICAgICAgIGFib3V0IGdsb2JhbCBvYmplY3RzLCBhbmQgdGhlcmUgaXMgYWRkZWQgY29t
cGxpY2F0aW9uIGR1ZSB0byB0aGUgY2FjaGUuCisKKyAgICAgICAgVGhpcyBhcHByb2FjaCBpcyBt
b3JlIGR5bmFtaWMsIGFkZGluZyBhIGJyYW5jaCBpbiBFdmFsRXhlY3V0YWJsZSB0bworICAgICAg
ICBkZXRlY3Qgd2hldGhlciBldmFsIGlzIGN1cnJlbnQgZGlzYWJsZWQgaW4gdGhlIGxleGljYWwg
c2NvcGUuICBUaGUgc3BlYworICAgICAgICBpcyBzbGlnaHRseSB1bmNsZWFyIGFib3V0IHdoZXRo
ZXIgd2Ugc2hvdWxkIHJldHVybiB1bmRlZmluZWQgb3IgdGhyb3cKKyAgICAgICAgYW4gZXhjZXB0
aW9uLiAgSSd2ZSBhc2tlZCBCcmFuZG9uIHRvIGNsYXJpZnkgdGhlIHNwZWMsIGJ1dCB0aHJvd2lu
ZyBhbgorICAgICAgICBleGNlcHRpb24gc2VlbXMgbmF0dXJhbC4KKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmV4cDoKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAgICAg
ICAoSlNDOjpFdmFsRXhlY3V0YWJsZTo6Y29tcGlsZUludGVybmFsKToKKyAgICAgICAgKiBydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmRp
c2FibGVFdmFsKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdCk6CisgICAgICAgIChKU0M6OkpT
R2xvYmFsT2JqZWN0Ojppc0V2YWxFbmFibGVkKToKKwogMjAxMS0wNC0yOSAgR2F2aW4gQmFycmFj
bG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyIEh1bnQgJiBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZXhwCmluZGV4IGU5ZDdmNTQ0YTJjMjc5NzUyYWI2MTE0MGI2Mjc3NTI0Y2E5ZjBmYzkuLmEy
N2I4MDdkNTJlOGY3M2QxNTRjYWVlODBlNWM1YjVmMGJmNTg0YmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cApAQCAtMTU1LDYgKzE1NSw3IEBAIF9fWk4zSlNDMTNT
YW1wbGluZ0ZsYWdzNXN0YXJ0RXYKIF9fWk4zSlNDMTNTYW1wbGluZ0ZsYWdzN3NfZmxhZ3NFCiBf
X1pOM0pTQzEzU3RhdGVtZW50Tm9kZTZzZXRMb2NFaWkKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVj
dDEwZ2xvYmFsRXhlY0V2CitfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3QxMWRpc2FibGVFdmFsRXYK
IF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDEyZGVmaW5lR2V0dGVyRVBOU185RXhlY1N0YXRlRVJL
TlNfMTBJZGVudGlmaWVyRVBOU184SlNPYmplY3RFagogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0
MTJkZWZpbmVTZXR0ZXJFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUE5TXzhKU09i
amVjdEVqCiBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3QxM3Zpc2l0Q2hpbGRyZW5FUk5TXzlNYXJr
U3RhY2tFCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRh
YmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCmlu
ZGV4IGEwZTIyOTVjNDUwNTM0MmZmYzUzOTgxMjcxOWYyNjE0ZDVjZDZhMDAuLjFjY2U5MGE3ODg3
ZDIyNDkxNmYwZjgwNTkxYjFjZGRhNDAzODYyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwCkBAIC0xMDIsNiArMTAyLDggQEAgSlNPYmplY3QqIEV2
YWxFeGVjdXRhYmxlOjpjb21waWxlSW50ZXJuYWwoRXhlY1N0YXRlKiBleGVjLCBTY29wZUNoYWlu
Tm9kZSogc2NvcGUKICAgICBKU09iamVjdCogZXhjZXB0aW9uID0gMDsKICAgICBKU0dsb2JhbERh
dGEqIGdsb2JhbERhdGEgPSAmZXhlYy0+Z2xvYmFsRGF0YSgpOwogICAgIEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOworICAg
IGlmICghbGV4aWNhbEdsb2JhbE9iamVjdC0+aXNFdmFsRW5hYmxlZCgpKQorICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVFdmFsRXJyb3IoZXhlYywgIkV2YWwgaXMgZGlzYWJs
ZWQiKSk7CiAgICAgUmVmUHRyPEV2YWxOb2RlPiBldmFsTm9kZSA9IGdsb2JhbERhdGEtPnBhcnNl
ci0+cGFyc2U8RXZhbE5vZGU+KGxleGljYWxHbG9iYWxPYmplY3QsIGxleGljYWxHbG9iYWxPYmpl
Y3QtPmRlYnVnZ2VyKCksIGV4ZWMsIG1fc291cmNlLCAwLCBpc1N0cmljdE1vZGUoKSA/IEpTUGFy
c2VTdHJpY3QgOiBKU1BhcnNlTm9ybWFsLCAmZXhjZXB0aW9uKTsKICAgICBpZiAoIWV2YWxOb2Rl
KSB7CiAgICAgICAgIEFTU0VSVChleGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDEzOWUxZmY4ZDE3NTk2YWYwZjRh
NjVlMTQ1NjgwYzFmM2I1ODdkOGEuLjljNzcxNDYxNjA4Nzg1ZDI3ZWJjNDU1ODZlZjY0YTUxNWFl
OGVmMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKQEAgLTM3Niw2ICszNzYsMTIgQEAgYm9vbCBKU0dsb2JhbE9iamVjdDo6aXNEeW5h
bWljU2NvcGUoYm9vbCYpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgSlNHbG9i
YWxPYmplY3Q6OmRpc2FibGVFdmFsKCkKK3sKKyAgICBBU1NFUlQobV9pc0V2YWxFbmFibGVkKTsK
KyAgICBtX2lzRXZhbEVuYWJsZWQgPSBmYWxzZTsKK30KKwogdm9pZCBKU0dsb2JhbE9iamVjdDo6
Y29weUdsb2JhbHNGcm9tKFJlZ2lzdGVyRmlsZSYgcmVnaXN0ZXJGaWxlKQogewogICAgIEFTU0VS
VCghbV9yZWdpc3RlckFycmF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IDNjOGY4YjZmZWU4MzllYzA1Y2RhMzViZjRiYWU0YmUzODc5
MmNmYjEuLmE1ZTM5YTE1MWFkYzhlYmQxMjhmOGRlOWUwMzA4ZjNiZGRjZDQ1YjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMTEyLDYg
KzExMiw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlIG1fc3ltYm9s
VGFibGU7CiAKKyAgICAgICAgYm9vbCBtX2lzRXZhbEVuYWJsZWQgOiAxOworCiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCBKU0dsb2JhbERhdGEqKTsKICAg
ICAgICAgCkBAIC0xMjAsNiArMTIyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAs
IG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKICAgICAgICAgICAgICwgbV9nbG9iYWxTY29wZUNoYWlu
KCkKICAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5k
b21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjAp
KSkKKyAgICAgICAgICAgICwgbV9pc0V2YWxFbmFibGVkKHRydWUpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIENPTVBJTEVfQVNTRVJUKEpTR2xvYmFsT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQg
PT0gMSwgSlNHbG9iYWxPYmplY3RfaGFzX29ubHlfYV9zaW5nbGVfc2xvdCk7CiAgICAgICAgICAg
ICBwdXRUaGlzVG9Bbm9ueW1vdXNWYWx1ZSgwKTsKQEAgLTEzMSw2ICsxMzQsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgICAgICwgbV9yZWdpc3RlckFycmF5U2l6ZSgwKQogICAgICAgICAg
ICAgLCBtX2dsb2JhbFNjb3BlQ2hhaW4oKQogICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8
dW5zaWduZWQ+OjptYXgoKSArIDEuMCkpKQorICAgICAgICAgICAgLCBtX2lzRXZhbEVuYWJsZWQo
dHJ1ZSkKICAgICAgICAgewogICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQoSlNHbG9iYWxPYmpl
Y3Q6OkFub255bW91c1Nsb3RDb3VudCA9PSAxLCBKU0dsb2JhbE9iamVjdF9oYXNfb25seV9hX3Np
bmdsZV9zbG90KTsKICAgICAgICAgICAgIHB1dFRoaXNUb0Fub255bW91c1ZhbHVlKDApOwpAQCAt
MTQzLDYgKzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgLCBtX3JlZ2lzdGVy
QXJyYXlTaXplKDApCiAgICAgICAgICAgICAsIG1fZ2xvYmFsU2NvcGVDaGFpbigpCiAgICAgICAg
ICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkg
KiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSkpCisgICAgICAg
ICAgICAsIG1faXNFdmFsRW5hYmxlZCh0cnVlKQogICAgICAgICB7CiAgICAgICAgICAgICBDT01Q
SUxFX0FTU0VSVChKU0dsb2JhbE9iamVjdDo6QW5vbnltb3VzU2xvdENvdW50ID09IDEsIEpTR2xv
YmFsT2JqZWN0X2hhc19vbmx5X2Ffc2luZ2xlX3Nsb3QpOwogICAgICAgICAgICAgcHV0VGhpc1Rv
QW5vbnltb3VzVmFsdWUoMCk7CkBAIC0yMzMsNiArMjM4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgdmlydHVhbCBib29sIGlzRHluYW1pY1Njb3BlKGJvb2wmIHJlcXVpcmVzRHluYW1p
Y0NoZWNrcykgY29uc3Q7CiAKKyAgICAgICAgdm9pZCBkaXNhYmxlRXZhbCgpOworICAgICAgICBi
b29sIGlzRXZhbEVuYWJsZWQoKSB7IHJldHVybiBtX2lzRXZhbEVuYWJsZWQ7IH0KKwogICAgICAg
ICB2b2lkIGNvcHlHbG9iYWxzRnJvbShSZWdpc3RlckZpbGUmKTsKICAgICAgICAgdm9pZCBjb3B5
R2xvYmFsc1RvKFJlZ2lzdGVyRmlsZSYpOwogICAgICAgICB2b2lkIHJlc2l6ZVJlZ2lzdGVycyhp
bnQgb2xkU2l6ZSwgaW50IG5ld1NpemUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVkODk4MmNiNGM2MWMyZDVk
NWQ2MDc5Y2YzNGZlNDhiNGFiNDU4NTYuLjIyZmQ2M2JiNTRlMTMwMDQ0OTFlNDgzNWU0MTk0ZGZk
ODE4MTY5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0wNC0yOSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENTUCBzY3JpcHQtc3JjIHNob3VsZCBibG9jayBldmFsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTg1MAorCisgICAg
ICAgIFJhdGhlciB0aGFuIGhhdmUgSmF2YVNjcmlwdENvcmUgY2FsbCBiYWNrIGludG8gV2ViQ29y
ZSB0byBsZWFybiB3aGV0aGVyCisgICAgICAgIGV2YWwgaXMgZW5hYmxlZCwgd2UgcHVzaCB0aGF0
IGJpdCBvZiB0aGUgcG9saWN5IGludG8gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxsb3dlZC5o
dG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9ldmFsLWJsb2NrZWQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxl
RXZhbCk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAg
ICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRlbnRTZWN1cml0eVBvbGljeTo6ZGlkUmVjZWl2ZUhlYWRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmludGVybmFsQWxsb3dFdmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dFdmFsKToKKyAgICAgICAgKiBwYWdl
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgorCiAyMDExLTA0LTI5ICBDc2FiYSBPc3p0cm9nb27D
oWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGJ1aWxkZml4
IGFmdGVyIHI4NTM0My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHAKaW5kZXggNDVjNGZhYTA1YjhiYmJhMGZmNTY3YWJjMjIyNGZjMDA0OWVkZWQz
Yi4uN2RmYjJkYzlmNTg3YWViYzZlNzQ3NzgxODNkODRmY2M5YjlmMmZmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTIzNyw2ICsy
MzcsMTEgQEAgaW50IFNjcmlwdENvbnRyb2xsZXI6OmV2ZW50SGFuZGxlckxpbmVOdW1iZXIoKSBj
b25zdAogICAgIHJldHVybiAwOwogfQogCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVF
dmFsKCkKK3sKKyAgICB3aW5kb3dTaGVsbChtYWluVGhyZWFkTm9ybWFsV29ybGQoKSktPndpbmRv
dygpLT5kaXNhYmxlRXZhbCgpOworfQorCiBib29sIFNjcmlwdENvbnRyb2xsZXI6OnByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpCiB7CiAgICAgRXhlY1N0YXRlKiBleGVjID0gSlNNYWluVGhyZWFkRXhl
Y1N0YXRlOjpjdXJyZW50U3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuaAppbmRleCA3YTEzMmIzY2E5MGEyYmJhYTZlYTNjOGY1YmFmOGEwN2Fm
NmEyYTQxLi5iZTBiMjE5YzhkYmRlY2Q1MDhlODg3Mzg1N2QwNWU0NTM1YjE5YzRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCkBAIC0xMDcsNyAr
MTA3LDkgQEAgcHVibGljOgogICAgIFNjcmlwdFZhbHVlIGV2YWx1YXRlSW5Xb3JsZChjb25zdCBT
Y3JpcHRTb3VyY2VDb2RlJiwgRE9NV3JhcHBlcldvcmxkKik7CiAKICAgICBpbnQgZXZlbnRIYW5k
bGVyTGluZU51bWJlcigpIGNvbnN0OwotICAgIAorCisgICAgdm9pZCBkaXNhYmxlRXZhbCgpOwor
CiAgICAgdm9pZCBzZXRQcm9jZXNzaW5nVGltZXJDYWxsYmFjayhib29sIGIpIHsgbV9wcm9jZXNz
aW5nVGltZXJDYWxsYmFjayA9IGI7IH0KICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdl
c3R1cmUoKTsKICAgICBib29sIGFueVBhZ2VJc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3ku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4
IGU5ZTgwZDZjZjEyYTAxZmE2NTFlNWM3MzVkNzZhZjI3OGY2ZDFlYTIuLjc4ZGIwMWU5OWI3NWFk
NDA5MzhjYmUwZTIxZTE5MmNkMWUzYjFiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTQ2OSw2ICs0NjksMTEgQEAgdm9pZCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiBoZWFkZXIpCiAK
ICAgICBwYXJzZShoZWFkZXIpOwogICAgIG1faGF2ZVBvbGljeSA9IHRydWU7CisKKyAgICBpZiAo
IWludGVybmFsQWxsb3dFdmFsKCkpIHsKKyAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IG1fZG9j
dW1lbnQtPmZyYW1lKCkpCisgICAgICAgICAgICBmcmFtZS0+c2NyaXB0KCktPmRpc2FibGVFdmFs
KCk7CisgICAgfQogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0
aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVz
c2FnZSkgY29uc3QKQEAgLTUzMyw5ICs1MzgsMTQgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93SW5saW5lU2NyaXB0KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjppbnRlcm5hbEFsbG93RXZhbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICFtX3NjcmlwdFNyYyB8fCBtX3NjcmlwdFNyYy0+YWxsb3dFdmFsKCk7Cit9CisK
IGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2YWwoKSBjb25zdAogewotICAgIGlm
ICghbV9zY3JpcHRTcmMgfHwgbV9zY3JpcHRTcmMtPmFsbG93RXZhbCgpKQorICAgIGlmIChpbnRl
cm5hbEFsbG93RXZhbCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRvIGV2YWx1YXRlIHNj
cmlwdCBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJpdHktUG9saWN5LlxuIikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggZjk0Nzg5MzNlMWVjMGEz
ZDNhMGE3NmE1N2ZlZmJjZGQ5NDQxYjFiOS4uOTcyZWY0OWFkYzMzOWY2ZDEwNzM5NWMxYzIwMjAy
NTM5YTM0NzI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5oCkBAIC02OSw2ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgUGFzc093blB0cjxDU1BEaXJlY3Rp
dmU+IGNyZWF0ZUNTUERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dmFsdWUpOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3Rp
dmVUZXh0LCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlKSBjb25zdDsKKyAgICBib29sIGlu
dGVybmFsQWxsb3dFdmFsKCkgY29uc3Q7CiAKICAgICBib29sIG1faGF2ZVBvbGljeTsKICAgICBE
b2N1bWVudCogbV9kb2N1bWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91775</attachid>
            <date>2011-04-29 17:48:26 -0700</date>
            <delta_ts>2011-04-29 18:13:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59850-20110429174825.patch</filename>
            <type>text/plain</type>
            <size>16053</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzNjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YTQ2MTkzMTQxYTRmMjkxN2RiNWNl
YWI3YjQyYjc4ZjY2MGZjMzhiLi4zY2E2ZDdkOWQyZjExNzIwYzAxZWEyZDliYzE4MWM2Y2EyYjU2
NDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjkgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDU1Agc2NyaXB0LXNyYyBzaG91bGQgYmxvY2sgZXZhbAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4NTAKKworICAgICAgICBUZXN0IHRo
YXQgYm90aCBmdW5jdGlvbi1ldmFsIGFuZCBvcGVyYXRvci1ldmFsIGFyZSBjb3JyZWN0bHkgYmxv
Y2tlZAorICAgICAgICBhbmQgYWxsb3dlZCBhY2NvcmRpbmcgdG8gdGhlIHBvbGljeS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxs
b3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxsb3dlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDQtMjkg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE9saXZlciBIdW50ICYgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvZXZhbC1hbGxvd2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTA3
ODJhZTI3ZWYyODdlNTU1ZGQyMGVmODU3NDE0NGUzOGEwMWZhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZh
bC1hbGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0FMRVJUOiBQQVNTICgxIG9m
IDIpCitBTEVSVDogUEFTUyAoMiBvZiAyKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwM2M0MWM5NWVkYjJhNjFiZjdjNmQ0YTIwMjc5
NGMzZDRhNzMzNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2
PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnICd1bnNh
ZmUtZXZhbCciPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitldmFsKCJhbGVydCgnUEFTUyAoMSBvZiAyKScpIik7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuZXZhbCgiYWxlcnQoJ1BBU1MgKDIgb2YgMiknKSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzViMjI0ODZhMmY5
ODhlOGQzMjZjNjA5Nzg1N2RiZjljNDdhNWRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMzog
RXZhbEVycm9yOiBFdmFsIGlzIGRpc2FibGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IEV2
YWxFcnJvcjogRXZhbCBpcyBkaXNhYmxlZAorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2Vzbid0
IGFsZXJ0ICJmYWlsLiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDJlODdhZDA4ODI3YTRkODQ5NDkxYmZmNWIzNTUyMTdjODAwMzA5MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNT
UCIgY29udGVudD0ic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBhbGVydCAiZmFpbCIuCis8c2NyaXB0PgorZXZhbCgiYWxlcnQoJ0ZBSUwg
KDEgb2YgMiknKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0Pgord2luZG93LmV2YWwoImFsZXJ0KCdG
QUlMICgyIG9mIDIpJykiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4
IGZiY2FlNjA2Zjk1ZDRmZmMyNjU3ZjU1ZGFmZjRhMDBkMzU3MzU1Y2UuLjk5MDAzYzU1MTJkN2I5
N2Q0ZmI0ZWJiZmRhMjdhYjQ2OTgyOWNiNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMyMTQsNiArMzIxNCwxMCBA
QCBCVUdXSzU3MjU5IDogaHR0cC90ZXN0cy9taXNjL2xpbmstcmVsLWljb24tYmVmb3JlbG9hZC5o
dG1sID0gRkFJTCBQQVNTCiAvLyBUaGlzIHRlc3QgaXMgdmVyeSBmbGFreSBvbiBNYWMgYW5kIGEg
bGl0dGxlIGZsYWt5IG9uIFdpbiBhbmQgTGludXguCiBCVUdYWFggOiBtZWRpYS92aWRlby1kZWxh
eS1sb2FkLWV2ZW50Lmh0bWwgPSBQQVNTIFRFWFQKIAorLy8gV2UgbmVlZCBoZWxwIGZyb20gVjgg
dG8gaW1wbGVtZW50IHRoaXMgZmVhdHVyZS4KKy8vIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC92
OC9pc3N1ZXMvZGV0YWlsP2lkPTEyNTgKK0JVR1Y4OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbCA9IFRFWFQKKwogLy8gVGhlc2UgdGVz
dHMgYXBwZWFycyB0byB0aW1lb3V0IGV2ZXJ5IDEwIG9yIDIwIHJ1bnMuCiBCVUdXSzUxNzIxIDog
ZmFzdC9lbmNvZGluZy9wYXJzZXItdGVzdHMuaHRtbCA9IFRJTUVPVVQgUEFTUwogQlVHRFBSQU5L
RSA6IGZhc3QvZW5jb2RpbmcvcGFyc2VyLXRlc3RzLTEwLmh0bWwgPSBUSU1FT1VUIFBBU1MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDRkYWIzOGY3NjAzYmEyODJlOTUzYzIyZTRkZTFhMGNj
NTdlMDA5MDAuLmZkZDJlNmI5MGYzODIwN2Y2ODdmOWU3OWFhNTNiNDk1ZTNkZjFhNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDExLTA0LTI5ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ1NQIHNjcmlwdC1zcmMgc2hvdWxkIGJsb2NrIGV2YWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODUwCisKKyAgICAg
ICAgZ2dhcmVuIHJlY29tbWVuZCBhIGRpZmZlcmVudCBhcHByb2FjaCB0byB0aGlzIHBhdGNoLCBl
c3NlbnRpYWxseQorICAgICAgICBpbnN0YWxsaW5nIGEgbmV3IGZ1bmN0aW9uIGZvciBmdW5jdGlv
bi1ldmFsIGFuZCBjaGFuZ2luZyB0aGUgQVNUCisgICAgICAgIHJlcHJlc2VudGF0aW9uIG9mIG9w
ZXJhdG9yLWV2YWwgdG8gY2FsbCBmdW5jdGlvbi1ldmFsLiAgSG93ZXZlciwgSSdtCisgICAgICAg
IG5vdCBzdXJlIHRoYXQgYXBwcm9hY2ggaXMgd29ya2FibGUgYmVjYXVzZSB0aGUgQVNUQnVpbGRl
ciBkb2Vzbid0IGtub3cKKyAgICAgICAgYWJvdXQgZ2xvYmFsIG9iamVjdHMsIGFuZCB0aGVyZSBp
cyBhZGRlZCBjb21wbGljYXRpb24gZHVlIHRvIHRoZSBjYWNoZS4KKworICAgICAgICBUaGlzIGFw
cHJvYWNoIGlzIG1vcmUgZHluYW1pYywgYWRkaW5nIGEgYnJhbmNoIGluIEV2YWxFeGVjdXRhYmxl
IHRvCisgICAgICAgIGRldGVjdCB3aGV0aGVyIGV2YWwgaXMgY3VycmVudCBkaXNhYmxlZCBpbiB0
aGUgbGV4aWNhbCBzY29wZS4gIFRoZSBzcGVjCisgICAgICAgIGlzIHNsaWdodGx5IHVuY2xlYXIg
YWJvdXQgd2hldGhlciB3ZSBzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBvciB0aHJvdworICAgICAg
ICBhbiBleGNlcHRpb24uICBJJ3ZlIGFza2VkIEJyYW5kb24gdG8gY2xhcmlmeSB0aGUgc3BlYywg
YnV0IHRocm93aW5nIGFuCisgICAgICAgIGV4Y2VwdGlvbiBzZWVtcyBuYXR1cmFsLgorCisgICAg
ICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5j
cHA6CisgICAgICAgIChKU0M6OkV2YWxFeGVjdXRhYmxlOjpjb21waWxlSW50ZXJuYWwpOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6ZGlzYWJsZUV2YWwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAg
ICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmlzRXZhbEVuYWJsZWQpOgorCiAyMDExLTA0LTI5ICBH
YXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBPbGl2ZXIgSHVudCAmIEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZTlkN2Y1NDRhMmMyNzk3NTJhYjYxMTQwYjYyNzc1MjRj
YTlmMGZjOS4uYTI3YjgwN2Q1MmU4ZjczZDE1NGNhZWU4MGU1YzViNWYwYmY1ODRiZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0xNTUsNiArMTU1LDcgQEAg
X19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M1c3RhcnRFdgogX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3
c19mbGFnc0UKIF9fWk4zSlNDMTNTdGF0ZW1lbnROb2RlNnNldExvY0VpaQogX19aTjNKU0MxNEpT
R2xvYmFsT2JqZWN0MTBnbG9iYWxFeGVjRXYKK19fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDExZGlz
YWJsZUV2YWxFdgogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTJkZWZpbmVHZXR0ZXJFUE5TXzlF
eGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUE5TXzhKU09iamVjdEVqCiBfX1pOM0pTQzE0SlNH
bG9iYWxPYmplY3QxMmRlZmluZVNldHRlckVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmll
ckVQTlNfOEpTT2JqZWN0RWoKIF9fWk4zSlNDMTRKU0dsb2JhbE9iamVjdDEzdmlzaXRDaGlsZHJl
bkVSTlNfOU1hcmtTdGFja0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0V4ZWN1dGFibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0
YWJsZS5jcHAKaW5kZXggYTBlMjI5NWM0NTA1MzQyZmZjNTM5ODEyNzE5ZjI2MTRkNWNkNmEwMC4u
MWNjZTkwYTc4ODdkMjI0OTE2ZjBmODA1OTFiMWNkZGE0MDM4NjJhNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTEwMiw2ICsxMDIsOCBAQCBK
U09iamVjdCogRXZhbEV4ZWN1dGFibGU6OmNvbXBpbGVJbnRlcm5hbChFeGVjU3RhdGUqIGV4ZWMs
IFNjb3BlQ2hhaW5Ob2RlKiBzY29wZQogICAgIEpTT2JqZWN0KiBleGNlcHRpb24gPSAwOwogICAg
IEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5nbG9iYWxEYXRhKCk7CiAgICAgSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCk7CisgICAgaWYgKCFsZXhpY2FsR2xvYmFsT2JqZWN0LT5pc0V2YWxFbmFibGVkKCkpCisg
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZUV2YWxFcnJvcihleGVjLCAiRXZh
bCBpcyBkaXNhYmxlZCIpKTsKICAgICBSZWZQdHI8RXZhbE5vZGU+IGV2YWxOb2RlID0gZ2xvYmFs
RGF0YS0+cGFyc2VyLT5wYXJzZTxFdmFsTm9kZT4obGV4aWNhbEdsb2JhbE9iamVjdCwgbGV4aWNh
bEdsb2JhbE9iamVjdC0+ZGVidWdnZXIoKSwgZXhlYywgbV9zb3VyY2UsIDAsIGlzU3RyaWN0TW9k
ZSgpID8gSlNQYXJzZVN0cmljdCA6IEpTUGFyc2VOb3JtYWwsICZleGNlcHRpb24pOwogICAgIGlm
ICghZXZhbE5vZGUpIHsKICAgICAgICAgQVNTRVJUKGV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTM5ZTFmZjhk
MTc1OTZhZjBmNGE2NWUxNDU2ODBjMWYzYjU4N2Q4YS4uOWM3NzE0NjE2MDg3ODVkMjdlYmM0NTU4
NmVmNjRhNTE1YWU4ZWYwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzc2LDYgKzM3NiwxMiBAQCBib29sIEpTR2xvYmFsT2Jq
ZWN0Ojppc0R5bmFtaWNTY29wZShib29sJikgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
dm9pZCBKU0dsb2JhbE9iamVjdDo6ZGlzYWJsZUV2YWwoKQoreworICAgIEFTU0VSVChtX2lzRXZh
bEVuYWJsZWQpOworICAgIG1faXNFdmFsRW5hYmxlZCA9IGZhbHNlOworfQorCiB2b2lkIEpTR2xv
YmFsT2JqZWN0Ojpjb3B5R2xvYmFsc0Zyb20oUmVnaXN0ZXJGaWxlJiByZWdpc3RlckZpbGUpCiB7
CiAgICAgQVNTRVJUKCFtX3JlZ2lzdGVyQXJyYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggM2M4ZjhiNmZlZTgzOWVjMDVjZGEzNWJm
NGJhZTRiZTM4NzkyY2ZiMS4uZTMwNmM4N2QxZmJjMGI0ODVmNWYzZWNiM2U0ZTcxY2E3Y2MyYzE5
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CkBAIC0xMTIsNiArMTEyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgU3ltYm9sVGFi
bGUgbV9zeW1ib2xUYWJsZTsKIAorICAgICAgICBib29sIG1faXNFdmFsRW5hYmxlZDsKKwogICAg
IHB1YmxpYzoKICAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgSlNHbG9iYWxEYXRh
Kik7CiAgICAgICAgIApAQCAtMTIwLDYgKzEyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgLCBtX3JlZ2lzdGVyQXJyYXlTaXplKDApCiAgICAgICAgICAgICAsIG1fZ2xvYmFsU2Nv
cGVDaGFpbigpCiAgICAgICAgICAgICAsIG1fd2Vha1JhbmRvbShzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgp
ICsgMS4wKSkpCisgICAgICAgICAgICAsIG1faXNFdmFsRW5hYmxlZCh0cnVlKQogICAgICAgICB7
CiAgICAgICAgICAgICBDT01QSUxFX0FTU0VSVChKU0dsb2JhbE9iamVjdDo6QW5vbnltb3VzU2xv
dENvdW50ID09IDEsIEpTR2xvYmFsT2JqZWN0X2hhc19vbmx5X2Ffc2luZ2xlX3Nsb3QpOwogICAg
ICAgICAgICAgcHV0VGhpc1RvQW5vbnltb3VzVmFsdWUoMCk7CkBAIC0xMzEsNiArMTM0LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAsIG1fcmVnaXN0ZXJBcnJheVNpemUoMCkKICAg
ICAgICAgICAgICwgbV9nbG9iYWxTY29wZUNoYWluKCkKICAgICAgICAgICAgICwgbV93ZWFrUmFu
ZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51bWVyaWNf
bGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkKKyAgICAgICAgICAgICwgbV9pc0V2YWxF
bmFibGVkKHRydWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIENPTVBJTEVfQVNTRVJUKEpTR2xv
YmFsT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgPT0gMSwgSlNHbG9iYWxPYmplY3RfaGFzX29u
bHlfYV9zaW5nbGVfc2xvdCk7CiAgICAgICAgICAgICBwdXRUaGlzVG9Bbm9ueW1vdXNWYWx1ZSgw
KTsKQEAgLTE0Myw2ICsxNDcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICwgbV9y
ZWdpc3RlckFycmF5U2l6ZSgwKQogICAgICAgICAgICAgLCBtX2dsb2JhbFNjb3BlQ2hhaW4oKQog
ICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51
bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSArIDEuMCkpKQor
ICAgICAgICAgICAgLCBtX2lzRXZhbEVuYWJsZWQodHJ1ZSkKICAgICAgICAgewogICAgICAgICAg
ICAgQ09NUElMRV9BU1NFUlQoSlNHbG9iYWxPYmplY3Q6OkFub255bW91c1Nsb3RDb3VudCA9PSAx
LCBKU0dsb2JhbE9iamVjdF9oYXNfb25seV9hX3NpbmdsZV9zbG90KTsKICAgICAgICAgICAgIHB1
dFRoaXNUb0Fub255bW91c1ZhbHVlKDApOwpAQCAtMjMzLDYgKzIzOCw5IEBAIG5hbWVzcGFjZSBK
U0MgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0R5bmFtaWNTY29wZShib29sJiByZXF1aXJl
c0R5bmFtaWNDaGVja3MpIGNvbnN0OwogCisgICAgICAgIHZvaWQgZGlzYWJsZUV2YWwoKTsKKyAg
ICAgICAgYm9vbCBpc0V2YWxFbmFibGVkKCkgeyByZXR1cm4gbV9pc0V2YWxFbmFibGVkOyB9CisK
ICAgICAgICAgdm9pZCBjb3B5R2xvYmFsc0Zyb20oUmVnaXN0ZXJGaWxlJik7CiAgICAgICAgIHZv
aWQgY29weUdsb2JhbHNUbyhSZWdpc3RlckZpbGUmKTsKICAgICAgICAgdm9pZCByZXNpemVSZWdp
c3RlcnMoaW50IG9sZFNpemUsIGludCBuZXdTaXplKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZDg5ODJjYjRj
NjFjMmQ1ZDVkNjA3OWNmMzRmZTQ4YjRhYjQ1ODU2Li4yMmZkNjNiYjU0ZTEzMDA0NDkxZTQ4MzVl
NDE5NGRmZDgxODE2OTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDQtMjkg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1Agc2NyaXB0LXNyYyBzaG91bGQgYmxvY2sgZXZh
bAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4NTAK
KworICAgICAgICBSYXRoZXIgdGhhbiBoYXZlIEphdmFTY3JpcHRDb3JlIGNhbGwgYmFjayBpbnRv
IFdlYkNvcmUgdG8gbGVhcm4gd2hldGhlcgorICAgICAgICBldmFsIGlzIGVuYWJsZWQsIHdlIHB1
c2ggdGhhdCBiaXQgb2YgdGhlIHBvbGljeSBpbnRvIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAg
IFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFs
bG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6
ZGlzYWJsZUV2YWwpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjppbnRlcm5hbEFsbG93RXZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93RXZhbCk6CisgICAgICAg
ICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDoKKwogMjAxMS0wNC0yOSAgQ3NhYmEgT3N6
dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBi
dWlsZGZpeCBhZnRlciByODUzNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDQ1YzRmYWEwNWI4YmJiYTBmZjU2N2FiYzIyMjRmYzAw
NDllZGVkM2IuLjdkZmIyZGM5ZjU4N2FlYmM2ZTc0Nzc4MTgzZDg0ZmNjOWI5ZjJmZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0y
MzcsNiArMjM3LDExIEBAIGludCBTY3JpcHRDb250cm9sbGVyOjpldmVudEhhbmRsZXJMaW5lTnVt
YmVyKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAordm9pZCBTY3JpcHRDb250cm9sbGVyOjpk
aXNhYmxlRXZhbCgpCit7CisgICAgd2luZG93U2hlbGwobWFpblRocmVhZE5vcm1hbFdvcmxkKCkp
LT53aW5kb3coKS0+ZGlzYWJsZUV2YWwoKTsKK30KKwogYm9vbCBTY3JpcHRDb250cm9sbGVyOjpw
cm9jZXNzaW5nVXNlckdlc3R1cmUoKQogewogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IEpTTWFpblRo
cmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggN2ExMzJiM2NhOTBhMmJiYWE2ZWEzYzhmNWJh
ZjhhMDdhZjZhMmE0MS4uYmUwYjIxOWM4ZGJkZWNkNTA4ZTg4NzM4NTdkMDVlNDUzNWIxOWM0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAt
MTA3LDcgKzEwNyw5IEBAIHB1YmxpYzoKICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0ZUluV29ybGQo
Y29uc3QgU2NyaXB0U291cmNlQ29kZSYsIERPTVdyYXBwZXJXb3JsZCopOwogCiAgICAgaW50IGV2
ZW50SGFuZGxlckxpbmVOdW1iZXIoKSBjb25zdDsKLSAgICAKKworICAgIHZvaWQgZGlzYWJsZUV2
YWwoKTsKKwogICAgIHZvaWQgc2V0UHJvY2Vzc2luZ1RpbWVyQ2FsbGJhY2soYm9vbCBiKSB7IG1f
cHJvY2Vzc2luZ1RpbWVyQ2FsbGJhY2sgPSBiOyB9CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCk7CiAgICAgYm9vbCBhbnlQYWdlSXNQcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxl
ci5jcHAKaW5kZXggMDRlYjc5ZWM5MmRiMmZjYWNmNWY0ZGVmMjdmNGQzYmFjMDMyZDQwMC4uMmJl
ZGM0NmY1ZjI2MWNmZDQ2OGRiOTY4NTUwNzk3NzVjNmMwMDYwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTMwNSw2ICszMDUsMTIg
QEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpoYXZlSW50ZXJwcmV0ZXIoKSBjb25zdAogICAgIHJl
dHVybiBtX3Byb3h5LT53aW5kb3dTaGVsbCgpLT5pc0NvbnRleHRJbml0aWFsaXplZCgpOwogfQog
Cit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKCkKK3sKKyAgICAvLyBGSVhNRTog
V2UgbmVlZCBoZWxwIGZyb20gVjggdG8gaW1wbGVtZW50IHRoaXMgZnVuY3Rpb246CisgICAgLy8g
aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MTI1OAorfQorCiBQ
YXNzU2NyaXB0SW5zdGFuY2UgU2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0SW5zdGFuY2VG
b3JXaWRnZXQoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgQVNTRVJUKHdpZGdldCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYjIwZTdmZDll
ODBhZDZiM2RmNGYxMTUwYWVlYmNhYWIxOTcwZTQ3YS4uNmI5NzY1YzlmNDg3NzNkNTBiZTY4ZmQ4
MjlhMDkwNDNjZjJlMWJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuaApAQCAtMTE4LDYgKzExOCw4IEBAIHB1YmxpYzoKICAgICAvLyBDaGVjayBp
ZiB0aGUgamF2YXNjcmlwdCBlbmdpbmUgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCiAgICAgYm9vbCBo
YXZlSW50ZXJwcmV0ZXIoKSBjb25zdDsKIAorICAgIHZvaWQgZGlzYWJsZUV2YWwoKTsKKwogICAg
IHN0YXRpYyBib29sIGNhbkFjY2Vzc0Zyb21DdXJyZW50T3JpZ2luKEZyYW1lKik7CiAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50
U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQ
b2xpY3kuY3BwCmluZGV4IGU5ZTgwZDZjZjEyYTAxZmE2NTFlNWM3MzVkNzZhZjI3OGY2ZDFlYTIu
Ljc4ZGIwMWU5OWI3NWFkNDA5MzhjYmUwZTIxZTE5MmNkMWUzYjFiOGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTQ2OSw2ICs0NjksMTEg
QEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJlY2VpdmVIZWFkZXIoY29uc3QgU3Ry
aW5nJiBoZWFkZXIpCiAKICAgICBwYXJzZShoZWFkZXIpOwogICAgIG1faGF2ZVBvbGljeSA9IHRy
dWU7CisKKyAgICBpZiAoIWludGVybmFsQWxsb3dFdmFsKCkpIHsKKyAgICAgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IG1fZG9jdW1lbnQtPmZyYW1lKCkpCisgICAgICAgICAgICBmcmFtZS0+c2NyaXB0
KCktPmRpc2FibGVFdmFsKCk7CisgICAgfQogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3Ry
aW5nJiBjb25zb2xlTWVzc2FnZSkgY29uc3QKQEAgLTUzMyw5ICs1MzgsMTQgQEAgYm9vbCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lU2NyaXB0KCkgY29uc3QKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjppbnRlcm5hbEFsbG93RXZh
bCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX3NjcmlwdFNyYyB8fCBtX3NjcmlwdFNyYy0+YWxs
b3dFdmFsKCk7Cit9CisKIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0V2YWwoKSBj
b25zdAogewotICAgIGlmICghbV9zY3JpcHRTcmMgfHwgbV9zY3JpcHRTcmMtPmFsbG93RXZhbCgp
KQorICAgIGlmIChpbnRlcm5hbEFsbG93RXZhbCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2Vk
IHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIG9mIENvbnRlbnQtU2VjdXJpdHktUG9saWN5Llxu
IikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXgg
Zjk0Nzg5MzNlMWVjMGEzZDNhMGE3NmE1N2ZlZmJjZGQ5NDQxYjFiOS4uOTcyZWY0OWFkYzMzOWY2
ZDEwNzM5NWMxYzIwMjAyNTM5YTM0NzI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5oCkBAIC02OSw2ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgUGFzc093
blB0cjxDU1BEaXJlY3RpdmU+IGNyZWF0ZUNTUERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgdmFsdWUpOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3Qg
U3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlKSBjb25z
dDsKKyAgICBib29sIGludGVybmFsQWxsb3dFdmFsKCkgY29uc3Q7CiAKICAgICBib29sIG1faGF2
ZVBvbGljeTsKICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91783</attachid>
            <date>2011-04-29 18:13:56 -0700</date>
            <delta_ts>2011-04-29 21:30:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59850-20110429181354.patch</filename>
            <type>text/plain</type>
            <size>15963</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUzNjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YTQ2MTkzMTQxYTRmMjkxN2RiNWNl
YWI3YjQyYjc4ZjY2MGZjMzhiLi4zY2E2ZDdkOWQyZjExNzIwYzAxZWEyZDliYzE4MWM2Y2EyYjU2
NDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjkgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDU1Agc2NyaXB0LXNyYyBzaG91bGQgYmxvY2sgZXZhbAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4NTAKKworICAgICAgICBUZXN0IHRo
YXQgYm90aCBmdW5jdGlvbi1ldmFsIGFuZCBvcGVyYXRvci1ldmFsIGFyZSBjb3JyZWN0bHkgYmxv
Y2tlZAorICAgICAgICBhbmQgYWxsb3dlZCBhY2NvcmRpbmcgdG8gdGhlIHBvbGljeS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxs
b3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYWxsb3dlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDQtMjkg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE9saXZlciBIdW50ICYgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvZXZhbC1hbGxvd2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTA3
ODJhZTI3ZWYyODdlNTU1ZGQyMGVmODU3NDE0NGUzOGEwMWZhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZh
bC1hbGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0FMRVJUOiBQQVNTICgxIG9m
IDIpCitBTEVSVDogUEFTUyAoMiBvZiAyKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwM2M0MWM5NWVkYjJhNjFiZjdjNmQ0YTIwMjc5
NGMzZDRhNzMzNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2
PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnICd1bnNh
ZmUtZXZhbCciPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitldmFsKCJhbGVydCgnUEFTUyAoMSBvZiAyKScpIik7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuZXZhbCgiYWxlcnQoJ1BBU1MgKDIgb2YgMiknKSIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTg1NThhODliODc2
MjI5ZWRhOTJhM2M1YTc5YWUxNmZlNDM2ODllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjog
RXZhbEVycm9yOiBFdmFsIGlzIGRpc2FibGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IEV2
YWxFcnJvcjogRXZhbCBpcyBkaXNhYmxlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYmxvY2tlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYjdjOWQ5NmQ3NmNjNmU3NjMwYWEwZmNhNDcx
MjkxOGQxYTg4MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbApAQCAtMCwwICsx
LDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2
PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZXZhbCgiYWxlcnQoJ0ZBSUwgKDEgb2YgMiknKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0
Pgord2luZG93LmV2YWwoImFsZXJ0KCdGQUlMICgyIG9mIDIpJykiKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGZiY2FlNjA2Zjk1ZDRmZmMyNjU3ZjU1ZGFmZjRhMDBk
MzU3MzU1Y2UuLjk5MDAzYzU1MTJkN2I5N2Q0ZmI0ZWJiZmRhMjdhYjQ2OTgyOWNiNDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQKQEAgLTMyMTQsNiArMzIxNCwxMCBAQCBCVUdXSzU3MjU5IDogaHR0cC90ZXN0cy9taXNjL2xp
bmstcmVsLWljb24tYmVmb3JlbG9hZC5odG1sID0gRkFJTCBQQVNTCiAvLyBUaGlzIHRlc3QgaXMg
dmVyeSBmbGFreSBvbiBNYWMgYW5kIGEgbGl0dGxlIGZsYWt5IG9uIFdpbiBhbmQgTGludXguCiBC
VUdYWFggOiBtZWRpYS92aWRlby1kZWxheS1sb2FkLWV2ZW50Lmh0bWwgPSBQQVNTIFRFWFQKIAor
Ly8gV2UgbmVlZCBoZWxwIGZyb20gVjggdG8gaW1wbGVtZW50IHRoaXMgZmVhdHVyZS4KKy8vIGh0
dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTEyNTgKK0JVR1Y4OiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRt
bCA9IFRFWFQKKwogLy8gVGhlc2UgdGVzdHMgYXBwZWFycyB0byB0aW1lb3V0IGV2ZXJ5IDEwIG9y
IDIwIHJ1bnMuCiBCVUdXSzUxNzIxIDogZmFzdC9lbmNvZGluZy9wYXJzZXItdGVzdHMuaHRtbCA9
IFRJTUVPVVQgUEFTUwogQlVHRFBSQU5LRSA6IGZhc3QvZW5jb2RpbmcvcGFyc2VyLXRlc3RzLTEw
Lmh0bWwgPSBUSU1FT1VUIFBBU1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDRkYWIzOGY3
NjAzYmEyODJlOTUzYzIyZTRkZTFhMGNjNTdlMDA5MDAuLmZkZDJlNmI5MGYzODIwN2Y2ODdmOWU3
OWFhNTNiNDk1ZTNkZjFhNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDExLTA0LTI5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NQIHNjcmlwdC1zcmMg
c2hvdWxkIGJsb2NrIGV2YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5ODUwCisKKyAgICAgICAgZ2dhcmVuIHJlY29tbWVuZCBhIGRpZmZlcmVudCBh
cHByb2FjaCB0byB0aGlzIHBhdGNoLCBlc3NlbnRpYWxseQorICAgICAgICBpbnN0YWxsaW5nIGEg
bmV3IGZ1bmN0aW9uIGZvciBmdW5jdGlvbi1ldmFsIGFuZCBjaGFuZ2luZyB0aGUgQVNUCisgICAg
ICAgIHJlcHJlc2VudGF0aW9uIG9mIG9wZXJhdG9yLWV2YWwgdG8gY2FsbCBmdW5jdGlvbi1ldmFs
LiAgSG93ZXZlciwgSSdtCisgICAgICAgIG5vdCBzdXJlIHRoYXQgYXBwcm9hY2ggaXMgd29ya2Fi
bGUgYmVjYXVzZSB0aGUgQVNUQnVpbGRlciBkb2Vzbid0IGtub3cKKyAgICAgICAgYWJvdXQgZ2xv
YmFsIG9iamVjdHMsIGFuZCB0aGVyZSBpcyBhZGRlZCBjb21wbGljYXRpb24gZHVlIHRvIHRoZSBj
YWNoZS4KKworICAgICAgICBUaGlzIGFwcHJvYWNoIGlzIG1vcmUgZHluYW1pYywgYWRkaW5nIGEg
YnJhbmNoIGluIEV2YWxFeGVjdXRhYmxlIHRvCisgICAgICAgIGRldGVjdCB3aGV0aGVyIGV2YWwg
aXMgY3VycmVudCBkaXNhYmxlZCBpbiB0aGUgbGV4aWNhbCBzY29wZS4gIFRoZSBzcGVjCisgICAg
ICAgIGlzIHNsaWdodGx5IHVuY2xlYXIgYWJvdXQgd2hldGhlciB3ZSBzaG91bGQgcmV0dXJuIHVu
ZGVmaW5lZCBvciB0aHJvdworICAgICAgICBhbiBleGNlcHRpb24uICBJJ3ZlIGFza2VkIEJyYW5k
b24gdG8gY2xhcmlmeSB0aGUgc3BlYywgYnV0IHRocm93aW5nIGFuCisgICAgICAgIGV4Y2VwdGlv
biBzZWVtcyBuYXR1cmFsLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZXhwOgorICAgICAg
ICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OkV2YWxFeGVjdXRhYmxl
Ojpjb21waWxlSW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6ZGlzYWJsZUV2YWwpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmlzRXZhbEVu
YWJsZWQpOgorCiAyMDExLTA0LTI5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudCAmIEdlb2ZmIEdhcmVu
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggZTlkN2Y1NDRh
MmMyNzk3NTJhYjYxMTQwYjYyNzc1MjRjYTlmMGZjOS4uYTI3YjgwN2Q1MmU4ZjczZDE1NGNhZWU4
MGU1YzViNWYwYmY1ODRiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwCkBAIC0xNTUsNiArMTU1LDcgQEAgX19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M1c3RhcnRFdgog
X19aTjNKU0MxM1NhbXBsaW5nRmxhZ3M3c19mbGFnc0UKIF9fWk4zSlNDMTNTdGF0ZW1lbnROb2Rl
NnNldExvY0VpaQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTBnbG9iYWxFeGVjRXYKK19fWk4z
SlNDMTRKU0dsb2JhbE9iamVjdDExZGlzYWJsZUV2YWxFdgogX19aTjNKU0MxNEpTR2xvYmFsT2Jq
ZWN0MTJkZWZpbmVHZXR0ZXJFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZpZXJFUE5TXzhK
U09iamVjdEVqCiBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3QxMmRlZmluZVNldHRlckVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVQTlNfOEpTT2JqZWN0RWoKIF9fWk4zSlNDMTRKU0ds
b2JhbE9iamVjdDEzdmlzaXRDaGlsZHJlbkVSTlNfOU1hcmtTdGFja0UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5kZXggYTBlMjI5NWM0NTA1MzQyZmZj
NTM5ODEyNzE5ZjI2MTRkNWNkNmEwMC4uMWNjZTkwYTc4ODdkMjI0OTE2ZjBmODA1OTFiMWNkZGE0
MDM4NjJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0
YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5j
cHAKQEAgLTEwMiw2ICsxMDIsOCBAQCBKU09iamVjdCogRXZhbEV4ZWN1dGFibGU6OmNvbXBpbGVJ
bnRlcm5hbChFeGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZQogICAgIEpTT2Jq
ZWN0KiBleGNlcHRpb24gPSAwOwogICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVj
LT5nbG9iYWxEYXRhKCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qg
PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisgICAgaWYgKCFsZXhpY2FsR2xvYmFsT2Jq
ZWN0LT5pc0V2YWxFbmFibGVkKCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNy
ZWF0ZUV2YWxFcnJvcihleGVjLCAiRXZhbCBpcyBkaXNhYmxlZCIpKTsKICAgICBSZWZQdHI8RXZh
bE5vZGU+IGV2YWxOb2RlID0gZ2xvYmFsRGF0YS0+cGFyc2VyLT5wYXJzZTxFdmFsTm9kZT4obGV4
aWNhbEdsb2JhbE9iamVjdCwgbGV4aWNhbEdsb2JhbE9iamVjdC0+ZGVidWdnZXIoKSwgZXhlYywg
bV9zb3VyY2UsIDAsIGlzU3RyaWN0TW9kZSgpID8gSlNQYXJzZVN0cmljdCA6IEpTUGFyc2VOb3Jt
YWwsICZleGNlcHRpb24pOwogICAgIGlmICghZXZhbE5vZGUpIHsKICAgICAgICAgQVNTRVJUKGV4
Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKaW5kZXggMTM5ZTFmZjhkMTc1OTZhZjBmNGE2NWUxNDU2ODBjMWYzYjU4N2Q4YS4u
OWM3NzE0NjE2MDg3ODVkMjdlYmM0NTU4NmVmNjRhNTE1YWU4ZWYwZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzc2LDYgKzM3
NiwxMiBAQCBib29sIEpTR2xvYmFsT2JqZWN0Ojppc0R5bmFtaWNTY29wZShib29sJikgY29uc3QK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBKU0dsb2JhbE9iamVjdDo6ZGlzYWJsZUV2YWwo
KQoreworICAgIEFTU0VSVChtX2lzRXZhbEVuYWJsZWQpOworICAgIG1faXNFdmFsRW5hYmxlZCA9
IGZhbHNlOworfQorCiB2b2lkIEpTR2xvYmFsT2JqZWN0Ojpjb3B5R2xvYmFsc0Zyb20oUmVnaXN0
ZXJGaWxlJiByZWdpc3RlckZpbGUpCiB7CiAgICAgQVNTRVJUKCFtX3JlZ2lzdGVyQXJyYXkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXgg
M2M4ZjhiNmZlZTgzOWVjMDVjZGEzNWJmNGJhZTRiZTM4NzkyY2ZiMS4uZTMwNmM4N2QxZmJjMGI0
ODVmNWYzZWNiM2U0ZTcxY2E3Y2MyYzE5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0xMTIsNiArMTEyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICAgICAgU3ltYm9sVGFibGUgbV9zeW1ib2xUYWJsZTsKIAorICAgICAgICBib29s
IG1faXNFdmFsRW5hYmxlZDsKKwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCogb3BlcmF0b3Ig
bmV3KHNpemVfdCwgSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIApAQCAtMTIwLDYgKzEyMiw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgLCBtX3JlZ2lzdGVyQXJyYXlTaXplKDApCiAg
ICAgICAgICAgICAsIG1fZ2xvYmFsU2NvcGVDaGFpbigpCiAgICAgICAgICAgICAsIG1fd2Vha1Jh
bmRvbShzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmlj
X2xpbWl0czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSkpCisgICAgICAgICAgICAsIG1faXNFdmFs
RW5hYmxlZCh0cnVlKQogICAgICAgICB7CiAgICAgICAgICAgICBDT01QSUxFX0FTU0VSVChKU0ds
b2JhbE9iamVjdDo6QW5vbnltb3VzU2xvdENvdW50ID09IDEsIEpTR2xvYmFsT2JqZWN0X2hhc19v
bmx5X2Ffc2luZ2xlX3Nsb3QpOwogICAgICAgICAgICAgcHV0VGhpc1RvQW5vbnltb3VzVmFsdWUo
MCk7CkBAIC0xMzEsNiArMTM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAsIG1f
cmVnaXN0ZXJBcnJheVNpemUoMCkKICAgICAgICAgICAgICwgbV9nbG9iYWxTY29wZUNoYWluKCkK
ICAgICAgICAgICAgICwgbV93ZWFrUmFuZG9tKHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21O
dW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkK
KyAgICAgICAgICAgICwgbV9pc0V2YWxFbmFibGVkKHRydWUpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIENPTVBJTEVfQVNTRVJUKEpTR2xvYmFsT2JqZWN0OjpBbm9ueW1vdXNTbG90Q291bnQgPT0g
MSwgSlNHbG9iYWxPYmplY3RfaGFzX29ubHlfYV9zaW5nbGVfc2xvdCk7CiAgICAgICAgICAgICBw
dXRUaGlzVG9Bbm9ueW1vdXNWYWx1ZSgwKTsKQEAgLTE0Myw2ICsxNDcsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgICAgICwgbV9yZWdpc3RlckFycmF5U2l6ZSgwKQogICAgICAgICAgICAg
LCBtX2dsb2JhbFNjb3BlQ2hhaW4oKQogICAgICAgICAgICAgLCBtX3dlYWtSYW5kb20oc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5z
aWduZWQ+OjptYXgoKSArIDEuMCkpKQorICAgICAgICAgICAgLCBtX2lzRXZhbEVuYWJsZWQodHJ1
ZSkKICAgICAgICAgewogICAgICAgICAgICAgQ09NUElMRV9BU1NFUlQoSlNHbG9iYWxPYmplY3Q6
OkFub255bW91c1Nsb3RDb3VudCA9PSAxLCBKU0dsb2JhbE9iamVjdF9oYXNfb25seV9hX3Npbmds
ZV9zbG90KTsKICAgICAgICAgICAgIHB1dFRoaXNUb0Fub255bW91c1ZhbHVlKDApOwpAQCAtMjMz
LDYgKzIzOCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0R5
bmFtaWNTY29wZShib29sJiByZXF1aXJlc0R5bmFtaWNDaGVja3MpIGNvbnN0OwogCisgICAgICAg
IHZvaWQgZGlzYWJsZUV2YWwoKTsKKyAgICAgICAgYm9vbCBpc0V2YWxFbmFibGVkKCkgeyByZXR1
cm4gbV9pc0V2YWxFbmFibGVkOyB9CisKICAgICAgICAgdm9pZCBjb3B5R2xvYmFsc0Zyb20oUmVn
aXN0ZXJGaWxlJik7CiAgICAgICAgIHZvaWQgY29weUdsb2JhbHNUbyhSZWdpc3RlckZpbGUmKTsK
ICAgICAgICAgdm9pZCByZXNpemVSZWdpc3RlcnMoaW50IG9sZFNpemUsIGludCBuZXdTaXplKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZDg5ODJjYjRjNjFjMmQ1ZDVkNjA3OWNmMzRmZTQ4YjRhYjQ1ODU2Li4y
MmZkNjNiYjU0ZTEzMDA0NDkxZTQ4MzVlNDE5NGRmZDgxODE2OTA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTEtMDQtMjkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1Agc2Ny
aXB0LXNyYyBzaG91bGQgYmxvY2sgZXZhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTk4NTAKKworICAgICAgICBSYXRoZXIgdGhhbiBoYXZlIEphdmFT
Y3JpcHRDb3JlIGNhbGwgYmFjayBpbnRvIFdlYkNvcmUgdG8gbGVhcm4gd2hldGhlcgorICAgICAg
ICBldmFsIGlzIGVuYWJsZWQsIHdlIHB1c2ggdGhhdCBiaXQgb2YgdGhlIHBvbGljeSBpbnRvIEph
dmFTY3JpcHRDb3JlLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWFsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLmh0bWwKKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBv
bGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRpZFJl
Y2VpdmVIZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojpp
bnRlcm5hbEFsbG93RXZhbCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93RXZhbCk6CisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaDoK
KwogMjAxMS0wNC0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtRdF0gVW5yZXZpZXdlZCBidWlsZGZpeCBhZnRlciByODUzNDMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDQ1YzRmYWEw
NWI4YmJiYTBmZjU2N2FiYzIyMjRmYzAwNDllZGVkM2IuLjdkZmIyZGM5ZjU4N2FlYmM2ZTc0Nzc4
MTgzZDg0ZmNjOWI5ZjJmZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCkBAIC0yMzcsNiArMjM3LDExIEBAIGludCBTY3JpcHRDb250cm9s
bGVyOjpldmVudEhhbmRsZXJMaW5lTnVtYmVyKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAor
dm9pZCBTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCgpCit7CisgICAgd2luZG93U2hlbGwo
bWFpblRocmVhZE5vcm1hbFdvcmxkKCkpLT53aW5kb3coKS0+ZGlzYWJsZUV2YWwoKTsKK30KKwog
Ym9vbCBTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKQogewogICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggN2Ex
MzJiM2NhOTBhMmJiYWE2ZWEzYzhmNWJhZjhhMDdhZjZhMmE0MS4uYmUwYjIxOWM4ZGJkZWNkNTA4
ZTg4NzM4NTdkMDVlNDUzNWIxOWM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaApAQCAtMTA3LDcgKzEwNyw5IEBAIHB1YmxpYzoKICAgICBTY3Jp
cHRWYWx1ZSBldmFsdWF0ZUluV29ybGQoY29uc3QgU2NyaXB0U291cmNlQ29kZSYsIERPTVdyYXBw
ZXJXb3JsZCopOwogCiAgICAgaW50IGV2ZW50SGFuZGxlckxpbmVOdW1iZXIoKSBjb25zdDsKLSAg
ICAKKworICAgIHZvaWQgZGlzYWJsZUV2YWwoKTsKKwogICAgIHZvaWQgc2V0UHJvY2Vzc2luZ1Rp
bWVyQ2FsbGJhY2soYm9vbCBiKSB7IG1fcHJvY2Vzc2luZ1RpbWVyQ2FsbGJhY2sgPSBiOyB9CiAg
ICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCk7CiAgICAgYm9vbCBhbnlQYWdl
SXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggMDRlYjc5ZWM5MmRiMmZjYWNmNWY0
ZGVmMjdmNGQzYmFjMDMyZDQwMC4uMmJlZGM0NmY1ZjI2MWNmZDQ2OGRiOTY4NTUwNzk3NzVjNmMw
MDYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxl
ci5jcHAKQEAgLTMwNSw2ICszMDUsMTIgQEAgYm9vbCBTY3JpcHRDb250cm9sbGVyOjpoYXZlSW50
ZXJwcmV0ZXIoKSBjb25zdAogICAgIHJldHVybiBtX3Byb3h5LT53aW5kb3dTaGVsbCgpLT5pc0Nv
bnRleHRJbml0aWFsaXplZCgpOwogfQogCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVF
dmFsKCkKK3sKKyAgICAvLyBGSVhNRTogV2UgbmVlZCBoZWxwIGZyb20gVjggdG8gaW1wbGVtZW50
IHRoaXMgZnVuY3Rpb246CisgICAgLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vl
cy9kZXRhaWw/aWQ9MTI1OAorfQorCiBQYXNzU2NyaXB0SW5zdGFuY2UgU2NyaXB0Q29udHJvbGxl
cjo6Y3JlYXRlU2NyaXB0SW5zdGFuY2VGb3JXaWRnZXQoV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAg
QVNTRVJUKHdpZGdldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250
cm9sbGVyLmgKaW5kZXggYjIwZTdmZDllODBhZDZiM2RmNGYxMTUwYWVlYmNhYWIxOTcwZTQ3YS4u
NmI5NzY1YzlmNDg3NzNkNTBiZTY4ZmQ4MjlhMDkwNDNjZjJlMWJiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaApAQCAtMTE4LDYgKzExOCw4IEBA
IHB1YmxpYzoKICAgICAvLyBDaGVjayBpZiB0aGUgamF2YXNjcmlwdCBlbmdpbmUgaGFzIGJlZW4g
aW5pdGlhbGl6ZWQuCiAgICAgYm9vbCBoYXZlSW50ZXJwcmV0ZXIoKSBjb25zdDsKIAorICAgIHZv
aWQgZGlzYWJsZUV2YWwoKTsKKwogICAgIHN0YXRpYyBib29sIGNhbkFjY2Vzc0Zyb21DdXJyZW50
T3JpZ2luKEZyYW1lKik7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IGU5ZTgwZDZjZjEyYTAxZmE2
NTFlNWM3MzVkNzZhZjI3OGY2ZDFlYTIuLjc4ZGIwMWU5OWI3NWFkNDA5MzhjYmUwZTIxZTE5MmNk
MWUzYjFiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5jcHAKQEAgLTQ2OSw2ICs0NjksMTEgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRp
ZFJlY2VpdmVIZWFkZXIoY29uc3QgU3RyaW5nJiBoZWFkZXIpCiAKICAgICBwYXJzZShoZWFkZXIp
OwogICAgIG1faGF2ZVBvbGljeSA9IHRydWU7CisKKyAgICBpZiAoIWludGVybmFsQWxsb3dFdmFs
KCkpIHsKKyAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IG1fZG9jdW1lbnQtPmZyYW1lKCkpCisg
ICAgICAgICAgICBmcmFtZS0+c2NyaXB0KCktPmRpc2FibGVFdmFsKCk7CisgICAgfQogfQogCiB2
b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYg
ZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSkgY29uc3QKQEAgLTUz
Myw5ICs1MzgsMTQgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW5saW5lU2Ny
aXB0KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5
UG9saWN5OjppbnRlcm5hbEFsbG93RXZhbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX3Njcmlw
dFNyYyB8fCBtX3NjcmlwdFNyYy0+YWxsb3dFdmFsKCk7Cit9CisKIGJvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjphbGxvd0V2YWwoKSBjb25zdAogewotICAgIGlmICghbV9zY3JpcHRTcmMgfHwg
bV9zY3JpcHRTcmMtPmFsbG93RXZhbCgpKQorICAgIGlmIChpbnRlcm5hbEFsbG93RXZhbCgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBj
b25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRvIGV2YWx1YXRlIHNjcmlwdCBiZWNhdXNlIG9mIENv
bnRlbnQtU2VjdXJpdHktUG9saWN5LlxuIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgKaW5kZXggZjk0Nzg5MzNlMWVjMGEzZDNhMGE3NmE1N2ZlZmJjZGQ5
NDQxYjFiOS4uOTcyZWY0OWFkYzMzOWY2ZDEwNzM5NWMxYzIwMjAyNTM5YTM0NzI2YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC02OSw2ICs2OSw3
IEBAIHByaXZhdGU6CiAgICAgUGFzc093blB0cjxDU1BEaXJlY3RpdmU+IGNyZWF0ZUNTUERpcmVj
dGl2ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpOwogCiAgICAgdm9p
ZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJp
bmcmIGNvbnNvbGVNZXNzYWdlKSBjb25zdDsKKyAgICBib29sIGludGVybmFsQWxsb3dFdmFsKCkg
Y29uc3Q7CiAKICAgICBib29sIG1faGF2ZVBvbGljeTsKICAgICBEb2N1bWVudCogbV9kb2N1bWVu
dDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>