<?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>109402</bug_id>
          
          <creation_ts>2013-02-10 23:03:33 -0800</creation_ts>
          <short_desc>Web Inspector: JavaScript execution disabled by browser/UA should be notified to the front-end</short_desc>
          <delta_ts>2013-02-13 03:03:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vivek Galatage">vivekg</reporter>
          <assigned_to name="Vivek Galatage">vivekg</assigned_to>
          <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>829445</commentid>
    <comment_count>0</comment_count>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-10 23:03:33 -0800</bug_when>
    <thetext>Steps:

1. Open the page with Inspector/DevTools open.
2. Open &quot;Settings Panel&quot; with &quot;General&quot; tab visible. See the &quot;Disable JavaScript&quot; setting.
3. From the Browser/UA (QtTestBrowser etc.), disable the JavaScript.

Expected outcome:
&quot;Disable JavaScript&quot; setting reflecting the action performed by the UA/Browser.

Actual outcome:
&quot;Disable JavaScript&quot; remains unchanged

Patch follows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829446</commentid>
    <comment_count>1</comment_count>
      <attachid>187516</attachid>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-10 23:08:53 -0800</bug_when>
    <thetext>Created attachment 187516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829455</commentid>
    <comment_count>2</comment_count>
      <attachid>187516</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-10 23:47:58 -0800</bug_when>
    <thetext>Comment on attachment 187516
Patch

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

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:817
&gt; +        m_state-&gt;setBoolean(PageAgentState::scriptExecutionStateChangeNotifierDisabled, true);

You should use a field in the agent instead as you never need to pass the state of the option to another instance of the agent.

&gt; Source/WebCore/page/Settings.cpp:419
&gt; +    InspectorInstrumentation::didScriptExecutionStateChange(m_page, m_isScriptEnabled);

We use did prefix only in cases when there is matching will* method, for events like this I think scriptExecutionStateChange or shorter scriptsEnabled would be a better name.

&gt; LayoutTests/inspector/script-execution-state-change-notification.html:26
&gt; +    InspectorTest.runTestSuite([

Looks like the suite only complicates the code in this case. Rewriting it without the suite and passing callbacks directly to the InspectorTest.evaluateInPage calls would make the code clearer and less verbose, e.g.:

function disableJavaScript(next)
{
     function done(result)
     {
          next();
     }
     InspectorTest.evaluateInPage(&quot;disableJavaScript();&quot;, done );
},

would become 

function disableJavaScript()
{
     InspectorTest.evaluateInPage(&quot;disableJavaScript();&quot;, enableJavaScript);
},

&gt; LayoutTests/inspector/script-execution-state-change-notification.html:30
&gt; +            pageDispatcher.scriptExecutionStateChanged = function(isEnabled)

Please use InspectorTest.addSniffer instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829490</commentid>
    <comment_count>3</comment_count>
      <attachid>187524</attachid>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-11 01:13:10 -0800</bug_when>
    <thetext>Created attachment 187524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829493</commentid>
    <comment_count>4</comment_count>
      <attachid>187516</attachid>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-11 01:23:54 -0800</bug_when>
    <thetext>Comment on attachment 187516
Patch

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

Thank you for the review.

&gt;&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:817
&gt;&gt; +        m_state-&gt;setBoolean(PageAgentState::scriptExecutionStateChangeNotifierDisabled, true);
&gt; 
&gt; You should use a field in the agent instead as you never need to pass the state of the option to another instance of the agent.

Sure. I will make the corrections.

&gt;&gt; Source/WebCore/page/Settings.cpp:419
&gt;&gt; +    InspectorInstrumentation::didScriptExecutionStateChange(m_page, m_isScriptEnabled);
&gt; 
&gt; We use did prefix only in cases when there is matching will* method, for events like this I think scriptExecutionStateChange or shorter scriptsEnabled would be a better name.

Changed.

&gt;&gt; LayoutTests/inspector/script-execution-state-change-notification.html:26
&gt;&gt; +    InspectorTest.runTestSuite([
&gt; 
&gt; Looks like the suite only complicates the code in this case. Rewriting it without the suite and passing callbacks directly to the InspectorTest.evaluateInPage calls would make the code clearer and less verbose, e.g.:
&gt; 
&gt; function disableJavaScript(next)
&gt; {
&gt;      function done(result)
&gt;      {
&gt;           next();
&gt;      }
&gt;      InspectorTest.evaluateInPage(&quot;disableJavaScript();&quot;, done );
&gt; },
&gt; 
&gt; would become 
&gt; 
&gt; function disableJavaScript()
&gt; {
&gt;      InspectorTest.evaluateInPage(&quot;disableJavaScript();&quot;, enableJavaScript);
&gt; },

Modified it according to the comments. Thank you.

&gt;&gt; LayoutTests/inspector/script-execution-state-change-notification.html:30
&gt;&gt; +            pageDispatcher.scriptExecutionStateChanged = function(isEnabled)
&gt; 
&gt; Please use InspectorTest.addSniffer instead.

Done


Uploaded a new patch with all the comments incorporated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829579</commentid>
    <comment_count>5</comment_count>
      <attachid>187524</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-11 04:38:07 -0800</bug_when>
    <thetext>Comment on attachment 187524
Patch

Attachment 187524 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16487264

New failing tests:
inspector/audits/audits-panel-functional.html
inspector/script-execution-state-change-notification.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830526</commentid>
    <comment_count>6</comment_count>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-11 21:12:02 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; New failing tests:
&gt; inspector/script-execution-state-change-notification.html

There seems to be a bug in the TestRunner on mac platform as the call to testRunner.overridePreference(&quot;WebKitJavaScriptEnabled&quot;, true) has no effect. The scripts are disabled always ignoring the second parameter &quot;true&quot;.

I verified this change with safari and its working as expected.

So shall we put this test case as skipped for mac and raise a bug for testRunner.overridePreference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830564</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-11 22:16:14 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; New failing tests:
&gt; &gt; inspector/script-execution-state-change-notification.html
&gt; 
&gt; There seems to be a bug in the TestRunner on mac platform as the call to testRunner.overridePreference(&quot;WebKitJavaScriptEnabled&quot;, true) has no effect. The scripts are disabled always ignoring the second parameter &quot;true&quot;.
&gt; 
This one should be easy to fix unless there were some reasons for not supporting it on Mac.

&gt; I verified this change with safari and its working as expected.
&gt; 
&gt; So shall we put this test case as skipped for mac and raise a bug for testRunner.overridePreference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830566</commentid>
    <comment_count>8</comment_count>
      <attachid>187524</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-11 22:22:38 -0800</bug_when>
    <thetext>Comment on attachment 187524
Patch

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

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:340
&gt; +    , m_enabledScriptsEnabledNotification(true)

The name sounds a bit awkward, maybe rename it to something like m_ignoreScriptsEnabledNotification?

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1038
&gt; +    if (!m_frontend || !m_enabledScriptsEnabledNotification)

You don&apos;t need to check for m_frontend since control flow reaches this method iff there is a front-end and the agent is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830588</commentid>
    <comment_count>9</comment_count>
      <attachid>187777</attachid>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-11 23:13:32 -0800</bug_when>
    <thetext>Created attachment 187777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831163</commentid>
    <comment_count>10</comment_count>
      <attachid>187777</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 12:47:23 -0800</bug_when>
    <thetext>Comment on attachment 187777
Patch

Clearing flags on attachment: 187777

Committed r142654: &lt;http://trac.webkit.org/changeset/142654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831164</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 12:47:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831237</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-12 14:05:55 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 187777 [details])
&gt; Clearing flags on attachment: 187777
&gt; 
&gt; Committed r142654: &lt;http://trac.webkit.org/changeset/142654&gt;

and buildfix landed in https://trac.webkit.org/changeset/142669 for !ENABLE(INSPECTOR) platforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831387</commentid>
    <comment_count>13</comment_count>
    <who name="Vivek Galatage">vivekg</who>
    <bug_when>2013-02-12 16:17:38 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; and buildfix landed in https://trac.webkit.org/changeset/142669 for !ENABLE(INSPECTOR) platforms

Thank you Ossy, I will take care of this case hence forth. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831768</commentid>
    <comment_count>14</comment_count>
      <attachid>187777</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-13 03:03:22 -0800</bug_when>
    <thetext>Comment on attachment 187777
Patch

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

&gt; LayoutTests/inspector/script-execution-state-change-notification.html:46
&gt; +        InspectorTest.addResult(&quot;Finished verification.&quot;)

This line should have been before completeTest() call, I fixed it. (I admit it did work, but such a code does not make much sense)

&gt; LayoutTests/inspector/script-execution-state-change-notification.html:47
&gt; +        InspectorTest.evaluateInPage(&quot;completeTest();&quot;);

This was causing the next test to timeout. You didn&apos;t need to call testRunner.notifyDone(), this is done implicitly in InspectorTest.completeTest. 
Fixed in http://trac.webkit.org/changeset/142733</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187516</attachid>
            <date>2013-02-10 23:08:53 -0800</date>
            <delta_ts>2013-02-11 01:23:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109402-20130211123626.patch</filename>
            <type>text/plain</type>
            <size>14820</size>
            <attacher name="Vivek Galatage">vivekg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBhMDM0Njk5YjZhNDhi
YWQzODE3ZGE4YzI5ZTkyOWE5Njk4MDlmOC4uMGZkN2E1MmU2NWEwNDNiMDY5MzVkZWQ1NjQ1YTRj
Y2JmZTZlMmYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTEwICBWaXZl
ayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEphdmFTY3JpcHQgZXhlY3V0aW9uIGRpc2FibGVkIGJ5IGJyb3dzZXIvVUEgc2hvdWxkIGJl
IG5vdGlmaWVkIHRvIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIHRoZSBVQS9Ccm93c2VyIGNoYW5nZXMgdGhlIFNj
cmlwdCBFeGVjdXRpb24gc3RhdGUgb2YgYSBwYWdlLCBpdCBzaG91bGQgbm90aWZ5IHRoZQorICAg
ICAgICBpbnNwZWN0b3IgZnJvbnQtZW5kLiBBZGRlZCB0aGUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uIG1ldGhvZCBkaWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZQorICAgICAgICB0byBhY2hp
ZXZlIHRoaXMuIEFsc28gdGhlIHN0YXRlIGNoYW5nZSB0cmlnZ2VyZWQgYnkgdGhlIGluc3BlY3Rv
ciBzaG91bGQgYmUgaWdub3JlZCB0byBhdm9pZAorICAgICAgICBpbmZpbml0ZSBsb29wLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3Rp
ZmljYXRpb24uaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2Ny
aXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChQYWdlQWdlbnRTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNjcmlwdEV4ZWN1
dGlvbkRpc2FibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlk
U2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFn
ZURpc3BhdGNoZXIucHJvdG90eXBlLmphdmFzY3JpcHREaWFsb2dDbG9zZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZS5zY3JpcHRFeGVjdXRpb25TdGF0
ZUNoYW5nZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFNjcmlwdEVuYWJsZWQpOgorCiAyMDEzLTAyLTEwICBBbGV4YW5kcmUg
RWxpYXMgIDxhZWxpYXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRml4IEFu
ZHJvaWQgc2Nyb2xsYmFyIHNpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgppbmRleCAxNDE0ZjY0YzgyMjZjOTYwNzllMjBlOTdmNzU0Nzg0M2UyNjQzNTNhLi5jNTY5ZDg0
NTkxMmYwNmNmMzZhZmQxYzczMzg2YzZjNDRkYTYxNmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCkBAIC01NTksNiArNTU5LDE0IEBACiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiamF2YXNjcmlwdERpYWxvZ0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIkZpcmVkIHdoZW4gYSBKYXZhU2NyaXB0IGluaXRpYXRlZCBkaWFsb2cgKGFsZXJ0
LCBjb25maXJtLCBwcm9tcHQsIG9yIG9uYmVmb3JldW5sb2FkKSBoYXMgYmVlbiBjbG9zZWQuIiwK
ICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5n
ZWQiLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSBKYXZh
U2NyaXB0IGlzIGVuYWJsZWQvZGlzYWJsZWQgb24gdGhlIHBhZ2UiLAorICAgICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlzRW5hYmxl
ZCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciBzY3JpcHQgZXhl
Y3V0aW9uIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQgb24gdGhlIHBhZ2UuIiB9CisgICAgICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfQog
ICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYTFmNTAxZDI0MDU1OGI4Y2ViOGNiMGRl
ZjEwMDZkYWI1Y2MwODlkNS4uNWNjMDcxZjgyNGYzNGQ5MDNjODAwYWIwMTkzZTQ5MjRmNzBjNDM1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKQEAgLTQ0Nyw2ICs0NDcsMTIgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZEV2YWx1YXRlU2NyaXB0SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXQKICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRXZhbHVhdGVTY3JpcHQoKTsKIH0KIAordm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdl
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBib29sIGlzRW5h
YmxlZCkKK3sKKyAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKKyAgICAgICAgcGFnZUFnZW50LT5k
aWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZShpc0VuYWJsZWQpOworfQorCiB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlSXNvbGF0ZWRDb250ZXh0SW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIFNjcmlwdFN0
YXRlKiBzY3JpcHRTdGF0ZSwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIHsKICAgICBpZiAoUGFn
ZVJ1bnRpbWVBZ2VudCogcnVudGltZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+cGFnZVJ1
bnRpbWVBZ2VudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDFmYThkZmIzYTA2ZDBjMTZjNmE1MzhmOWUyNTIwMDY1
NDNjZDNkMmEuLmNkNDQ1YWRiYjgwNTAwNGJiNzkyODhlYjdjNGU4OWFmZTBiNjY2M2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0
Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwog
ICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEV2YWx1YXRlU2Ny
aXB0KEZyYW1lKiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmVyKTsKICAgICBzdGF0
aWMgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZShQ
YWdlKiwgYm9vbCBpc0VuYWJsZWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZUlzb2xhdGVk
Q29udGV4dChGcmFtZSosIFNjcmlwdFN0YXRlKiwgU2VjdXJpdHlPcmlnaW4qKTsKICAgICBzdGF0
aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXIoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGludCB0aW1lcklkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRGaXJlVGlt
ZXIoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CkBAIC0zNTUsNiArMzU2
LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJ
bXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEV2YWx1YXRlU2NyaXB0SW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzKiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmVyLCBGcmFt
ZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0SW1wbChjb25zdCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRTY3JpcHRFeGVj
dXRpb25TdGF0ZUNoYW5nZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGJvb2wgaXNFbmFibGVk
KTsKICAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVJc29sYXRlZENvbnRleHRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBGcmFtZSosIFNjcmlwdFN0YXRlKiwgU2VjdXJpdHlPcmlnaW4qKTsKICAg
ICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXJJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgdGltZXJJZCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopOwogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVUaW1lckltcGwoY29uc3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llJik7CkBAIC05NjUsNiArOTY3LDEzIEBAIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRXZhbHVhdGVTY3JpcHQoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVuCiAjZW5kaWYKIH0KIAoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZShQYWdlKiBwYWdlLCBib29sIGlzRW5h
YmxlZCkKK3sKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKKyAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQorICAgICAgICByZXR1cm4gZGlkU2NyaXB0RXhlY3V0aW9u
U3RhdGVDaGFuZ2VJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGlzRW5hYmxlZCk7Cit9CisKIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlSXNvbGF0ZWRDb250
ZXh0KEZyYW1lKiBmcmFtZSwgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDE1ODNiZWI2MTNiYjdmZmY2
ZGQ5NDAyNzNmMWNhYjg2MzIyZmUwODEuLmRjYjJmMDNiYTdjYjYzOWI5NDdkMmQyYTVjZmI5NzZl
ZjMyZGEyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuY3BwCkBAIC0xMDAsNiArMTAwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgcGFnZUFnZW50
U2hvd0RlYnVnQm9yZGVyc1tdID0gInBhZ2VBZ2VudFNob3dEZWJ1Z0JvcmRlcnMiOwogc3RhdGlj
IGNvbnN0IGNoYXIgdG91Y2hFdmVudEVtdWxhdGlvbkVuYWJsZWRbXSA9ICJ0b3VjaEV2ZW50RW11
bGF0aW9uRW5hYmxlZCI7CiAjZW5kaWYKIHN0YXRpYyBjb25zdCBjaGFyIHBhZ2VBZ2VudEVtdWxh
dGVkTWVkaWFbXSA9ICJwYWdlQWdlbnRFbXVsYXRlZE1lZGlhIjsKK3N0YXRpYyBjb25zdCBjaGFy
IHNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlTm90aWZpZXJEaXNhYmxlZFtdID0gInNjcmlwdEV4
ZWN1dGlvblN0YXRlQ2hhbmdlTm90aWZpZXJEaXNhYmxlZCI7CiB9CiAKIHN0YXRpYyBib29sIGRl
Y29kZUJ1ZmZlcihjb25zdCBjaGFyKiBidWZmZXIsIHVuc2lnbmVkIHNpemUsIGNvbnN0IFN0cmlu
ZyYgdGV4dEVuY29kaW5nTmFtZSwgU3RyaW5nKiByZXN1bHQpCkBAIC04MTIsOCArODEzLDExIEBA
IHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZXRTY3JpcHRFeGVjdXRpb25EaXNhYmxlZChFcnJv
clN0cmluZyosIGJvb2wgdmFsdWUpCiAgICAgICAgIHJldHVybjsKIAogICAgIFNldHRpbmdzKiBz
ZXR0aW5ncyA9IG1haW5GcmFtZSgpLT5zZXR0aW5ncygpOwotICAgIGlmIChzZXR0aW5ncykKKyAg
ICBpZiAoc2V0dGluZ3MpIHsKKyAgICAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdlbnRT
dGF0ZTo6c2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2VOb3RpZmllckRpc2FibGVkLCB0cnVlKTsK
ICAgICAgICAgc2V0dGluZ3MtPnNldFNjcmlwdEVuYWJsZWQoIXZhbHVlKTsKKyAgICAgICAgbV9z
dGF0ZS0+c2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFu
Z2VOb3RpZmllckRpc2FibGVkLCBmYWxzZSk7CisgICAgfQogfQogCiB2b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiBmcmFtZSwgRE9NV3Jh
cHBlcldvcmxkKiB3b3JsZCkKQEAgLTEwMjksNiArMTAzMywxNCBAQCB2b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAgICAgICAgIG1fb3ZlcmxheS0+dXBkYXRl
KCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpkaWRTY3JpcHRFeGVjdXRpb25TdGF0
ZUNoYW5nZShib29sIGlzRW5hYmxlZCkKK3sKKyAgICBpZiAoIW1fZnJvbnRlbmQgfHwgbV9zdGF0
ZS0+Z2V0Qm9vbGVhbihQYWdlQWdlbnRTdGF0ZTo6c2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2VO
b3RpZmllckRpc2FibGVkKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9mcm9udGVuZC0+c2Ny
aXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2VkKGlzRW5hYmxlZCk7Cit9CisKIFBhc3NSZWZQdHI8VHlw
ZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lPiBJbnNwZWN0b3JQYWdlQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9y
RnJhbWUoRnJhbWUqIGZyYW1lKQogewogICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6UGFnZTo6RnJh
bWU+IGZyYW1lT2JqZWN0ID0gVHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lOjpjcmVhdGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDA3N2Yw
YzdmYjQ5MDgwNzMzN2U4NzJmZWY5NzQyODNkZDU4NDRiN2YuLjhmMjc0NTA4NDk0ZjQxMjFmMzc2
ZjUwYWFhOTg5ZDlkMzI2MTI4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmgKQEAgLTE1Niw2ICsxNTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRMYXlvdXQoKTsKICAgICB2b2lkIGRpZFNjcm9sbCgpOwogICAgIHZvaWQgZGlkUmVjYWxjdWxh
dGVTdHlsZSgpOworICAgIHZvaWQgZGlkU2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2UoYm9vbCBp
c0VuYWJsZWQpOwogCiAgICAgLy8gSW5zcGVjdG9yIENvbnRyb2xsZXIgQVBJCiAgICAgdmlydHVh
bCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwppbmRl
eCBkM2U2MWViZWYzOGQyNzA2ZGQxZGVmZDRhM2JhYzc1NGZiYjc1MzU4Li45ZmVkYmUwNDgxNGM3
YTdmZmNmY2NkODEwMmJiZjY1ZTliNWZiOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKQEAgLTYyNSw2ICs2
MjUsMTEgQEAgV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKIAogICAg
IGphdmFzY3JpcHREaWFsb2dDbG9zZWQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgfSwKKworICAg
IHNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlZDogZnVuY3Rpb24oaXNFbmFibGVkKQorICAgIHsK
KyAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmphdmFTY3JpcHREaXNhYmxlZC5zZXQoIWlz
RW5hYmxlZCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDMwMWIz
NmI3ZjhiYzI0ODNiZjIyYWFjZGZlODc4MzdkNGM0OTY3ZTcuLjA2MWRkN2NiNGZlZGY5ZWU3MDNl
MTM5M2M5NTM5ZTEyMWIxYWIzZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0zNyw2
ICszNyw3IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VDYWNoZS5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCkBAIC00MTUsNiArNDE2LDcgQEAgdm9pZCBT
ZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiop
CiB2b2lkIFNldHRpbmdzOjpzZXRTY3JpcHRFbmFibGVkKGJvb2wgaXNTY3JpcHRFbmFibGVkKQog
ewogICAgIG1faXNTY3JpcHRFbmFibGVkID0gaXNTY3JpcHRFbmFibGVkOworICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkU2NyaXB0RXhlY3V0aW9uU3RhdGVDaGFuZ2UobV9wYWdlLCBt
X2lzU2NyaXB0RW5hYmxlZCk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldEphdmFFbmFibGVkKGJv
b2wgaXNKYXZhRW5hYmxlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZjgwMWUzMjk4MTBhOWY2OGU1MWIzNWIxMzlhOWE2
NWM3NmI5YTE5Li5iMTIxM2Y3NjczNjk4MjZkN2VlNDRlY2FjYzFlMTRkMTgwOTA5ZWU0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDItMTAgIFZpdmVrIEdhbGF0YWdlICA8dml2ZWsudmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSmF2YVNjcmlwdCBleGVjdXRp
b24gZGlzYWJsZWQgYnkgYnJvd3Nlci9VQSBzaG91bGQgYmUgbm90aWZpZWQgdG8gdGhlIGZyb250
LWVuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5
NDAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dHMgdGhhdCB3aGVuZXZlciBTY3JpcHQgRXhlY3V0aW9uIHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lk
ZSBpbnNwZWN0b3IsIGl0cyBub3RpZmllZCB0byB0aGUgSW5zcGVjdG9yIGZyb250LWVuZC4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmlj
YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0LWV4
ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAy
LTEwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkIGdhcmRlbmluZy4gTWFya2VkIGZhc3QvZnJhbWVzL3NlYW1sZXNzL3NlYW1sZXNzLWlu
aGVyaXRlZC1vcmlnaW4uaHRtbCBhcyBGQUlMLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFu
Z2Utbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjBlNmM1YmE3NmViYTBm
NTNiZDY0MDExMjJmYmY5OGI5ZTI3YjFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorVGVzdHMgdGhhdCB3aGVuZXZlciBTY3JpcHQgRXhl
Y3V0aW9uIHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lkZSBpbnNwZWN0b3IsIGl0cyBub3RpZmllZCB0
byB0aGUgSW5zcGVjdG9yIGZyb250LWVuZC4KKworCitSdW5uaW5nOiBpbml0aWFsaXplCitSZWdp
c3RlcmVkIFBhZ2VEaXNwYXRjaGVyLnNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlZCgpCisKK1J1
bm5pbmc6IGRpc2FibGVKYXZhU2NyaXB0CitQYWdlRGlzcGF0Y2hlci5zY3JpcHRFeGVjdXRpb25T
dGF0ZUNoYW5nZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9ZmFsc2UKKworUnVu
bmluZzogZW5hYmxlSmF2YVNjcmlwdAorUGFnZURpc3BhdGNoZXIuc2NyaXB0RXhlY3V0aW9uU3Rh
dGVDaGFuZ2VkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPXRydWUKKworUnVubmlu
ZzogZGlzYWJsZUphdmFTY3JpcHRBZ2FpbgorUGFnZURpc3BhdGNoZXIuc2NyaXB0RXhlY3V0aW9u
U3RhdGVDaGFuZ2VkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPWZhbHNlCisKK1J1
bm5pbmc6IGVuYWJsZUphdmFTY3JpcHRGaW5hbGx5CitQYWdlRGlzcGF0Y2hlci5zY3JpcHRFeGVj
dXRpb25TdGF0ZUNoYW5nZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9dHJ1ZQor
CitSdW5uaW5nOiBmaW5pc2gKK0ZpbmlzaGVkIHZlcmlmaWNhdGlvbi4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlm
aWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3Rh
dGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNWMyOTBlNGM4MGVhOGQ1
MjU4MTE4N2Q5Njc5ZTBiOTM5YmM0ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWwK
QEAgLTAsMCArMSw4OSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rl
c3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBlbmFibGVKYXZhU2NyaXB0KCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRKYXZhU2NyaXB0
RW5hYmxlZCIsIHRydWUpOworfQorCitmdW5jdGlvbiBkaXNhYmxlSmF2YVNjcmlwdCgpCit7Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQiLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9u
IGNvbXBsZXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgSW5z
cGVjdG9yVGVzdC5ydW5UZXN0U3VpdGUoWworICAgICAgICBmdW5jdGlvbiBpbml0aWFsaXplKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBwYWdlRGlzcGF0Y2hlciA9IEluc3BlY3Rv
ckJhY2tlbmQuX2RvbWFpbkRpc3BhdGNoZXJzWyJQYWdlIl07CisgICAgICAgICAgICBwYWdlRGlz
cGF0Y2hlci5zY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZWQgPSBmdW5jdGlvbihpc0VuYWJsZWQp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlBhZ2VEaXNwYXRjaGVyLnNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlZCBzaG91bGQgYmUgaW52
b2tlZCB3aXRoIGlzRW5hYmxlZD0iICsgaXNFbmFibGVkKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWdpc3RlcmVkIFBhZ2VEaXNwYXRjaGVy
LnNjcmlwdEV4ZWN1dGlvblN0YXRlQ2hhbmdlZCgpIik7CisgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gZGlzYWJsZUphdmFTY3JpcHQobmV4dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZnVuY3Rpb24gZG9uZShyZXN1bHQpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZGlzYWJsZUphdmFTY3JpcHQoKTsiLCBkb25lICk7
CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gZW5hYmxlSmF2YVNjcmlwdChuZXh0KQor
ICAgICAgICB7CisgICAgICAgICAgICBmdW5jdGlvbiBkb25lKHJlc3VsdCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJlbmFibGVKYXZhU2NyaXB0KCk7IiwgZG9uZSAp
OworICAgICAgICB9LAorCisgICAgICAgIGZ1bmN0aW9uIGRpc2FibGVKYXZhU2NyaXB0QWdhaW4o
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZnVuY3Rpb24gZG9uZShyZXN1bHQpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZGlzYWJsZUphdmFTY3JpcHQoKTsi
LCBkb25lICk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gZW5hYmxlSmF2YVNjcmlw
dEZpbmFsbHkobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgZnVuY3Rpb24gZG9uZShyZXN1
bHQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZW5hYmxlSmF2YVNj
cmlwdCgpOyIsIGRvbmUgKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiBmaW5pc2go
bmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGaW5pc2hlZCB2ZXJpZmlj
YXRpb24uIikKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbXBs
ZXRlVGVzdCgpOyIpOworICAgICAgICB9CisgICAgXSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgdGhhdCB3aGVuZXZlciBTY3Jp
cHQgRXhlY3V0aW9uIHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lkZSBpbnNwZWN0b3IsIGl0cyBub3Rp
ZmllZCB0byB0aGUgSW5zcGVjdG9yIGZyb250LWVuZC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187524</attachid>
            <date>2013-02-11 01:13:10 -0800</date>
            <delta_ts>2013-02-11 23:13:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109402-20130211144043.patch</filename>
            <type>text/plain</type>
            <size>13651</size>
            <attacher name="Vivek Galatage">vivekg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBhMDM0Njk5YjZhNDhi
YWQzODE3ZGE4YzI5ZTkyOWE5Njk4MDlmOC4uOGNmNDZkNjU4NjBlYmVkNTM2NmEzZjM4NTI3NGEw
OWJiYzIwMmU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAyLTExICBWaXZl
ayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEphdmFTY3JpcHQgZXhlY3V0aW9uIGRpc2FibGVkIGJ5IGJyb3dzZXIvVUEgc2hvdWxkIGJl
IG5vdGlmaWVkIHRvIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIHRoZSBVQS9Ccm93c2VyIGNoYW5nZXMgdGhlIFNj
cmlwdCBFeGVjdXRpb24gc3RhdGUgb2YgYSBwYWdlLCBpdCBzaG91bGQgbm90aWZ5IHRoZQorICAg
ICAgICBpbnNwZWN0b3IgZnJvbnQtZW5kLiBBZGRlZCB0aGUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uIG1ldGhvZCBkaWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZQorICAgICAgICB0byBhY2hp
ZXZlIHRoaXMuIEFsc28gdGhlIHN0YXRlIGNoYW5nZSB0cmlnZ2VyZWQgYnkgdGhlIGluc3BlY3Rv
ciBzaG91bGQgYmUgaWdub3JlZCB0byBhdm9pZAorICAgICAgICBpbmZpbml0ZSBsb29wLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3Rp
ZmljYXRpb24uaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNj
cmlwdHNFbmFibGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNjcmlwdEV4
ZWN1dGlvbkRpc2FibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6
c2NyaXB0c0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUGFnZUFnZW50KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZS5qYXZhc2NyaXB0RGlhbG9n
Q2xvc2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUu
c2NyaXB0c0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldFNjcmlwdEVuYWJsZWQpOgorCiAyMDEzLTAyLTEwICBBbGV4
YW5kcmUgRWxpYXMgIDxhZWxpYXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
Rml4IEFuZHJvaWQgc2Nyb2xsYmFyIHNpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAxNDE0ZjY0YzgyMjZjOTYwNzllMjBlOTdmNzU0Nzg0M2UyNjQzNTNhLi41
OTkwYWY0YjM2NjViNzk1OGQ4YjI3MzZhMzNlMDAzYWRkYzczODkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC01NTksNiArNTU5LDE0IEBACiAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiamF2YXNjcmlwdERpYWxvZ0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYSBKYXZhU2NyaXB0IGluaXRpYXRlZCBkaWFsb2cg
KGFsZXJ0LCBjb25maXJtLCBwcm9tcHQsIG9yIG9uYmVmb3JldW5sb2FkKSBoYXMgYmVlbiBjbG9z
ZWQuIiwKICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzY3JpcHRzRW5hYmxlZCIsCisg
ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gdGhlIEphdmFTY3JpcHQg
aXMgZW5hYmxlZC9kaXNhYmxlZCBvbiB0aGUgcGFnZSIsCisgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNFbmFibGVkIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHNjcmlwdCBleGVjdXRpb24g
aXMgZW5hYmxlZCBvciBkaXNhYmxlZCBvbiB0aGUgcGFnZS4iIH0KKyAgICAgICAgICAgICAgICBd
LAorICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAg
IF0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBhMWY1MDFkMjQwNTU4YjhjZWI4Y2IwZGVmMTAwNmRh
YjVjYzA4OWQ1Li4yOTc2NGE5M2U4ZTYyOTY2YjdmZGVkNTIxZmMyZTMyNWZkYzdiNDhhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtNDQ3LDYgKzQ0NywxMiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdAogICAg
ICAgICB0aW1lbGluZUFnZW50LT5kaWRFdmFsdWF0ZVNjcmlwdCgpOwogfQogCit2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0VuYWJsZWRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIGJvb2wgaXNFbmFibGVkKQoreworICAgIGlmIChJbnNw
ZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
clBhZ2VBZ2VudCgpKQorICAgICAgICBwYWdlQWdlbnQtPnNjcmlwdHNFbmFibGVkKGlzRW5hYmxl
ZCk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVJc29sYXRl
ZENvbnRleHRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZy
YW1lKiBmcmFtZSwgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogewogICAgIGlmIChQYWdlUnVudGltZUFnZW50KiBydW50aW1lQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5wYWdlUnVudGltZUFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMWZhOGRmYjNhMDZk
MGMxNmM2YTUzOGY5ZTI1MjAwNjU0M2NkM2QyYS4uYmJkYTUxYWI1M2VmYTRjMDIzYmVjMTE4ZGRh
YWMxY2I1MDlhOGRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTUxLDYgKzE1MSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxp
bmVOdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0KGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIHNjcmlwdHNFbmFi
bGVkKFBhZ2UqLCBib29sIGlzRW5hYmxlZCk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlSXNv
bGF0ZWRDb250ZXh0KEZyYW1lKiwgU2NyaXB0U3RhdGUqLCBTZWN1cml0eU9yaWdpbiopOwogICAg
IHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgaW50IHRpbWVySWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZEZp
cmVUaW1lcihjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKQEAgLTM1NSw2
ICszNTYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldp
bmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3Rh
dGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHRJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIs
IEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIHNjcmlwdHNF
bmFibGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgYm9vbCBpc0VuYWJsZWQpOwogICAgIHN0
YXRpYyB2b2lkIGRpZENyZWF0ZUlzb2xhdGVkQ29udGV4dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEZyYW1lKiwgU2NyaXB0U3RhdGUqLCBTZWN1cml0eU9yaWdpbiopOwogICAgIHN0YXRpYyBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lckltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyosIGludCB0aW1lcklkLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAg
c3RhdGljIHZvaWQgZGlkRmlyZVRpbWVySW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmKTsKQEAgLTk2NSw2ICs5NjcsMTMgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW4K
ICNlbmRpZgogfQogCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlw
dHNFbmFibGVkKFBhZ2UqIHBhZ2UsIGJvb2wgaXNFbmFibGVkKQoreworICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCisg
ICAgICAgIHJldHVybiBzY3JpcHRzRW5hYmxlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaXNF
bmFibGVkKTsKK30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRD
cmVhdGVJc29sYXRlZENvbnRleHQoRnJhbWUqIGZyYW1lLCBTY3JpcHRTdGF0ZSogc2NyaXB0U3Rh
dGUsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXgg
MTU4M2JlYjYxM2JiN2ZmZjZkZDk0MDI3M2YxY2FiODYzMjJmZTA4MS4uYWIxMTU2Mjk0Y2YxYTNl
YWZjNjlmNDU5MWIyMTQxMzBiOWVlZGQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTMzNyw2ICszMzcsNyBAQCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLAogICAgICwgbV9lbmFibGVkKGZhbHNlKQogICAgICwgbV9pc0ZpcnN0TGF5
b3V0QWZ0ZXJPbkxvYWQoZmFsc2UpCiAgICAgLCBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbihmYWxz
ZSkKKyAgICAsIG1fZW5hYmxlZFNjcmlwdHNFbmFibGVkTm90aWZpY2F0aW9uKHRydWUpCiB7CiB9
CiAKQEAgLTgxMiw4ICs4MTMsMTEgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNjcmlw
dEV4ZWN1dGlvbkRpc2FibGVkKEVycm9yU3RyaW5nKiwgYm9vbCB2YWx1ZSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbWFpbkZyYW1lKCktPnNldHRpbmdzKCk7
Ci0gICAgaWYgKHNldHRpbmdzKQorICAgIGlmIChzZXR0aW5ncykgeworICAgICAgICBtX2VuYWJs
ZWRTY3JpcHRzRW5hYmxlZE5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgICAgICBzZXR0aW5ncy0+
c2V0U2NyaXB0RW5hYmxlZCghdmFsdWUpOworICAgICAgICBtX2VuYWJsZWRTY3JpcHRzRW5hYmxl
ZE5vdGlmaWNhdGlvbiA9IHRydWU7CisgICAgfQogfQogCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiBmcmFtZSwgRE9NV3JhcHBlcldv
cmxkKiB3b3JsZCkKQEAgLTEwMjksNiArMTAzMywxNCBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiAgICAgICAgIG1fb3ZlcmxheS0+dXBkYXRlKCk7CiB9
CiAKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzY3JpcHRzRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkKK3sKKyAgICBpZiAoIW1fZnJvbnRlbmQgfHwgIW1fZW5hYmxlZFNjcmlwdHNFbmFibGVkTm90
aWZpY2F0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Zyb250ZW5kLT5zY3JpcHRzRW5h
YmxlZChpc0VuYWJsZWQpOworfQorCiBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpQYWdlOjpGcmFt
ZT4gSW5zcGVjdG9yUGFnZUFnZW50OjpidWlsZE9iamVjdEZvckZyYW1lKEZyYW1lKiBmcmFtZSkK
IHsKICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lPiBmcmFtZU9iamVjdCA9IFR5
cGVCdWlsZGVyOjpQYWdlOjpGcmFtZTo6Y3JlYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCAwNzdmMGM3ZmI0OTA4MDczMzdlODcyZmVm
OTc0MjgzZGQ1ODQ0YjdmLi5iNDVmYmQxMzVkM2QyNmE1ZTgxOGU5OThiMzVmZjg0M2U3Yjk3Mjhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBA
IC0xNTYsNiArMTU2LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkTGF5b3V0KCk7CiAgICAgdm9p
ZCBkaWRTY3JvbGwoKTsKICAgICB2b2lkIGRpZFJlY2FsY3VsYXRlU3R5bGUoKTsKKyAgICB2b2lk
IHNjcmlwdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKTsKIAogICAgIC8vIEluc3BlY3RvciBDb250
cm9sbGVyIEFQSQogICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVu
ZCopOwpAQCAtMjA1LDYgKzIwNiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2VuYWJsZWQ7CiAg
ICAgYm9vbCBtX2lzRmlyc3RMYXlvdXRBZnRlck9uTG9hZDsKICAgICBib29sIG1fZ2VvbG9jYXRp
b25PdmVycmlkZGVuOworICAgIGJvb2wgbV9lbmFibGVkU2NyaXB0c0VuYWJsZWROb3RpZmljYXRp
b247CiAgICAgUmVmUHRyPEdlb2xvY2F0aW9uUG9zaXRpb24+IG1fZ2VvbG9jYXRpb25Qb3NpdGlv
bjsKICAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9wbGF0Zm9ybUdlb2xvY2F0aW9u
UG9zaXRpb247CiAgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0YT4gbV9kZXZpY2VPcmll
bnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4IGQzZTYxZWJlZjM4ZDI3MDZkZDFkZWZkNGEzYmFj
NzU0ZmJiNzUzNTguLmNjNGU2MDI0MjU2NjBiZWQ2YzNjMDZjMTllY2YyZjVlN2YxM2FkYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVl
TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZVRyZWVNb2RlbC5qcwpAQCAtNjI1LDYgKzYyNSwxMSBAQCBXZWJJbnNwZWN0b3IuUGFnZURpc3Bh
dGNoZXIucHJvdG90eXBlID0gewogCiAgICAgamF2YXNjcmlwdERpYWxvZ0Nsb3NlZDogZnVuY3Rp
b24oKQogICAgIHsKKyAgICB9LAorCisgICAgc2NyaXB0c0VuYWJsZWQ6IGZ1bmN0aW9uKGlzRW5h
YmxlZCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5qYXZhU2NyaXB0RGlz
YWJsZWQuc2V0KCFpc0VuYWJsZWQpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCAzMDFiMzZiN2Y4YmMyNDgzYmYyMmFhY2RmZTg3ODM3ZDRjNDk2N2U3Li5mZmNkYTM0
NWU2ZTQ1ZDhlMDkxNjkzNGE0MjRlZDY0OGE4MGNkZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUg
IkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgorI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJQYWdlQ2FjaGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgpAQCAtNDE1LDYgKzQx
Niw3IEBAIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZChUaW1l
cjxTZXR0aW5ncz4qKQogdm9pZCBTZXR0aW5nczo6c2V0U2NyaXB0RW5hYmxlZChib29sIGlzU2Ny
aXB0RW5hYmxlZCkKIHsKICAgICBtX2lzU2NyaXB0RW5hYmxlZCA9IGlzU2NyaXB0RW5hYmxlZDsK
KyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdHNFbmFibGVkKG1fcGFnZSwgbV9p
c1NjcmlwdEVuYWJsZWQpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRKYXZhRW5hYmxlZChib29s
IGlzSmF2YUVuYWJsZWQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGY4MDFlMzI5ODEwYTlmNjhlNTFiMzViMTM5YTlhNjVj
NzZiOWExOS4uZDI4YmJhNDZmOTAxZTY2MTFhMWNhMDJiMjBkOWQ0MTAyZWY1YmI4OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEzLTAyLTExICBWaXZlayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEphdmFTY3JpcHQgZXhlY3V0aW9u
IGRpc2FibGVkIGJ5IGJyb3dzZXIvVUEgc2hvdWxkIGJlIG5vdGlmaWVkIHRvIHRoZSBmcm9udC1l
bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTQw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Rz
IHRoYXQgd2hlbmV2ZXIgU2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2VkIG91dHNpZGUg
aW5zcGVjdG9yLCBpdHMgbm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1lbmQuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdC1leGVj
dXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0x
MCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBnYXJkZW5pbmcuIE1hcmtlZCBmYXN0L2ZyYW1lcy9zZWFtbGVzcy9zZWFtbGVzcy1pbmhl
cml0ZWQtb3JpZ2luLmh0bWwgYXMgRkFJTC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdl
LW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE1NThiMTJlZTkyZTY0ZmVj
ZmUyZjdmMjI5Y2I2MTEzYzY3YzFjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGVzdHMgdGhhdCB3aGVuZXZlciBTY3JpcHQgRXhlY3V0
aW9uIHN0YXRlIGlzIGNoYW5nZWQgb3V0c2lkZSBpbnNwZWN0b3IsIGl0cyBub3RpZmllZCB0byB0
aGUgSW5zcGVjdG9yIGZyb250LWVuZC4KKworUmVnaXN0ZXJlZCBQYWdlRGlzcGF0Y2hlci5zY3Jp
cHRzRW5hYmxlZCgpCitydW5uaW5nIGRpc2FibGVKYXZhU2NyaXB0VGVzdC4uLgorUGFnZURpc3Bh
dGNoZXIuc2NyaXB0c0VuYWJsZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBpc0VuYWJsZWQ9ZmFs
c2UKK3J1bm5pbmcgZW5hYmxlSmF2YVNjcmlwdFRlc3QuLi4KK1BhZ2VEaXNwYXRjaGVyLnNjcmlw
dHNFbmFibGVkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPXRydWUKK0ZpbmlzaGVk
IHZlcmlmaWNhdGlvbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Njcmlw
dC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFkMDVhYWJiZDcxOGFkODU3MzU1NTFmZmEyNjRhZjNhNTA0YzkwNzAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlvbi1z
dGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBlbmFibGVKYXZhU2NyaXB0Rm9y
UGFnZSgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQiLCB0cnVlKTsKK30K
KworZnVuY3Rpb24gZGlzYWJsZUphdmFTY3JpcHRGb3JQYWdlKCkKK3sKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRKYXZhU2NyaXB0RW5hYmxlZCIsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gY29tcGxldGVUZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlvbiBzY3JpcHRz
RW5hYmxlZChpc0VuYWJsZWQpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiUGFnZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJsZWQgc2hvdWxkIGJlIGludm9rZWQgd2l0aCBp
c0VuYWJsZWQ9IiArIGlzRW5hYmxlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZGlzYWJsZUph
dmFTY3JpcHRUZXN0KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJy
dW5uaW5nIGRpc2FibGVKYXZhU2NyaXB0VGVzdC4uLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKCJkaXNhYmxlSmF2YVNjcmlwdEZvclBhZ2UoKTsiLCBlbmFibGVKYXZh
U2NyaXB0VGVzdCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gZW5hYmxlSmF2YVNjcmlwdFRlc3Qo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJ1bm5pbmcgZW5hYmxl
SmF2YVNjcmlwdFRlc3QuLi4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZSgiZW5hYmxlSmF2YVNjcmlwdEZvclBhZ2UoKTsiLCBmaW5pc2gpOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGZpbmlzaCgpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRmluaXNoZWQgdmVyaWZpY2F0
aW9uLiIpCisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNvbXBsZXRlVGVz
dCgpOyIpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IuUGFnZURpc3BhdGNoZXIucHJvdG90eXBlLCAic2NyaXB0c0VuYWJsZWQiLCBzY3JpcHRzRW5h
YmxlZCwgdHJ1ZSk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlZ2lzdGVyZWQgUGFn
ZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJsZWQoKSIpOworICAgIGRpc2FibGVKYXZhU2NyaXB0VGVz
dCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPlRlc3RzIHRoYXQgd2hlbmV2ZXIgU2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2Vk
IG91dHNpZGUgaW5zcGVjdG9yLCBpdHMgbm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1l
bmQuPC9wPgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187777</attachid>
            <date>2013-02-11 23:13:32 -0800</date>
            <delta_ts>2013-02-13 03:03:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109402-20130212124105.patch</filename>
            <type>text/plain</type>
            <size>14357</size>
            <attacher name="Vivek Galatage">vivekg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBhMDM0Njk5YjZhNDhi
YWQzODE3ZGE4YzI5ZTkyOWE5Njk4MDlmOC4uOGNmNDZkNjU4NjBlYmVkNTM2NmEzZjM4NTI3NGEw
OWJiYzIwMmU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAyLTExICBWaXZl
ayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEphdmFTY3JpcHQgZXhlY3V0aW9uIGRpc2FibGVkIGJ5IGJyb3dzZXIvVUEgc2hvdWxkIGJl
IG5vdGlmaWVkIHRvIHRoZSBmcm9udC1lbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdoZW5ldmVyIHRoZSBVQS9Ccm93c2VyIGNoYW5nZXMgdGhlIFNj
cmlwdCBFeGVjdXRpb24gc3RhdGUgb2YgYSBwYWdlLCBpdCBzaG91bGQgbm90aWZ5IHRoZQorICAg
ICAgICBpbnNwZWN0b3IgZnJvbnQtZW5kLiBBZGRlZCB0aGUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uIG1ldGhvZCBkaWRTY3JpcHRFeGVjdXRpb25TdGF0ZUNoYW5nZQorICAgICAgICB0byBhY2hp
ZXZlIHRoaXMuIEFsc28gdGhlIHN0YXRlIGNoYW5nZSB0cmlnZ2VyZWQgYnkgdGhlIGluc3BlY3Rv
ciBzaG91bGQgYmUgaWdub3JlZCB0byBhdm9pZAorICAgICAgICBpbmZpbml0ZSBsb29wLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3Rp
ZmljYXRpb24uaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNj
cmlwdHNFbmFibGVkSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0VuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VB
Z2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNjcmlwdEV4
ZWN1dGlvbkRpc2FibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6
c2NyaXB0c0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yUGFnZUFnZW50KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZS5qYXZhc2NyaXB0RGlhbG9n
Q2xvc2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlRGlzcGF0Y2hlci5wcm90b3R5cGUu
c2NyaXB0c0VuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldFNjcmlwdEVuYWJsZWQpOgorCiAyMDEzLTAyLTEwICBBbGV4
YW5kcmUgRWxpYXMgIDxhZWxpYXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
Rml4IEFuZHJvaWQgc2Nyb2xsYmFyIHNpemUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgppbmRleCAxNDE0ZjY0YzgyMjZjOTYwNzllMjBlOTdmNzU0Nzg0M2UyNjQzNTNhLi41
OTkwYWY0YjM2NjViNzk1OGQ4YjI3MzZhMzNlMDAzYWRkYzczODkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC01NTksNiArNTU5LDE0IEBACiAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiamF2YXNjcmlwdERpYWxvZ0Nsb3NlZCIsCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYSBKYXZhU2NyaXB0IGluaXRpYXRlZCBkaWFsb2cg
KGFsZXJ0LCBjb25maXJtLCBwcm9tcHQsIG9yIG9uYmVmb3JldW5sb2FkKSBoYXMgYmVlbiBjbG9z
ZWQuIiwKICAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJzY3JpcHRzRW5hYmxlZCIsCisg
ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gdGhlIEphdmFTY3JpcHQg
aXMgZW5hYmxlZC9kaXNhYmxlZCBvbiB0aGUgcGFnZSIsCisgICAgICAgICAgICAgICAgInBhcmFt
ZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNFbmFibGVkIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHNjcmlwdCBleGVjdXRpb24g
aXMgZW5hYmxlZCBvciBkaXNhYmxlZCBvbiB0aGUgcGFnZS4iIH0KKyAgICAgICAgICAgICAgICBd
LAorICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAg
IF0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBhMWY1MDFkMjQwNTU4YjhjZWI4Y2IwZGVmMTAwNmRh
YjVjYzA4OWQ1Li4yOTc2NGE5M2U4ZTYyOTY2YjdmZGVkNTIxZmMyZTMyNWZkYzdiNDhhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtNDQ3LDYgKzQ0NywxMiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdAogICAg
ICAgICB0aW1lbGluZUFnZW50LT5kaWRFdmFsdWF0ZVNjcmlwdCgpOwogfQogCit2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0VuYWJsZWRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIGJvb2wgaXNFbmFibGVkKQoreworICAgIGlmIChJbnNw
ZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3Rv
clBhZ2VBZ2VudCgpKQorICAgICAgICBwYWdlQWdlbnQtPnNjcmlwdHNFbmFibGVkKGlzRW5hYmxl
ZCk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVJc29sYXRl
ZENvbnRleHRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEZy
YW1lKiBmcmFtZSwgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogewogICAgIGlmIChQYWdlUnVudGltZUFnZW50KiBydW50aW1lQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5wYWdlUnVudGltZUFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMWZhOGRmYjNhMDZk
MGMxNmM2YTUzOGY5ZTI1MjAwNjU0M2NkM2QyYS4uYmJkYTUxYWI1M2VmYTRjMDIzYmVjMTE4ZGRh
YWMxY2I1MDlhOGRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTUxLDYgKzE1MSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxp
bmVOdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0KGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIHNjcmlwdHNFbmFi
bGVkKFBhZ2UqLCBib29sIGlzRW5hYmxlZCk7CiAgICAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlSXNv
bGF0ZWRDb250ZXh0KEZyYW1lKiwgU2NyaXB0U3RhdGUqLCBTZWN1cml0eU9yaWdpbiopOwogICAg
IHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgaW50IHRpbWVySWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZEZp
cmVUaW1lcihjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKQEAgLTM1NSw2
ICszNTYsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldp
bmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3Rh
dGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHRJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIs
IEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIHNjcmlwdHNF
bmFibGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgYm9vbCBpc0VuYWJsZWQpOwogICAgIHN0
YXRpYyB2b2lkIGRpZENyZWF0ZUlzb2xhdGVkQ29udGV4dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEZyYW1lKiwgU2NyaXB0U3RhdGUqLCBTZWN1cml0eU9yaWdpbiopOwogICAgIHN0YXRpYyBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lckltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyosIGludCB0aW1lcklkLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAg
c3RhdGljIHZvaWQgZGlkRmlyZVRpbWVySW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmKTsKQEAgLTk2NSw2ICs5NjcsMTMgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW4K
ICNlbmRpZgogfQogCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlw
dHNFbmFibGVkKFBhZ2UqIHBhZ2UsIGJvb2wgaXNFbmFibGVkKQoreworICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCisg
ICAgICAgIHJldHVybiBzY3JpcHRzRW5hYmxlZEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgaXNF
bmFibGVkKTsKK30KKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRD
cmVhdGVJc29sYXRlZENvbnRleHQoRnJhbWUqIGZyYW1lLCBTY3JpcHRTdGF0ZSogc2NyaXB0U3Rh
dGUsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXgg
MTU4M2JlYjYxM2JiN2ZmZjZkZDk0MDI3M2YxY2FiODYzMjJmZTA4MS4uMWViODBjYmRhMDFiNGQ1
MmUzMjcxM2M5YjJkMmFkYzBjNWRkMTAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTMzNyw2ICszMzcsNyBAQCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLAogICAgICwgbV9lbmFibGVkKGZhbHNlKQogICAgICwgbV9pc0ZpcnN0TGF5
b3V0QWZ0ZXJPbkxvYWQoZmFsc2UpCiAgICAgLCBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbihmYWxz
ZSkKKyAgICAsIG1faWdub3JlU2NyaXB0c0VuYWJsZWROb3RpZmljYXRpb24oZmFsc2UpCiB7CiB9
CiAKQEAgLTgxMiw4ICs4MTMsMTEgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNldFNjcmlw
dEV4ZWN1dGlvbkRpc2FibGVkKEVycm9yU3RyaW5nKiwgYm9vbCB2YWx1ZSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgU2V0dGluZ3MqIHNldHRpbmdzID0gbWFpbkZyYW1lKCktPnNldHRpbmdzKCk7
Ci0gICAgaWYgKHNldHRpbmdzKQorICAgIGlmIChzZXR0aW5ncykgeworICAgICAgICBtX2lnbm9y
ZVNjcmlwdHNFbmFibGVkTm90aWZpY2F0aW9uID0gdHJ1ZTsKICAgICAgICAgc2V0dGluZ3MtPnNl
dFNjcmlwdEVuYWJsZWQoIXZhbHVlKTsKKyAgICAgICAgbV9pZ25vcmVTY3JpcHRzRW5hYmxlZE5v
dGlmaWNhdGlvbiA9IGZhbHNlOworICAgIH0KIH0KIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSogZnJhbWUsIERPTVdyYXBwZXJXb3Js
ZCogd29ybGQpCkBAIC0xMDI5LDYgKzEwMzMsMTQgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OmRpZFJlY2FsY3VsYXRlU3R5bGUoKQogICAgICAgICBtX292ZXJsYXktPnVwZGF0ZSgpOwogfQog
Cit2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2NyaXB0c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
Cit7CisgICAgaWYgKG1faWdub3JlU2NyaXB0c0VuYWJsZWROb3RpZmljYXRpb24pCisgICAgICAg
IHJldHVybjsKKworICAgIG1fZnJvbnRlbmQtPnNjcmlwdHNFbmFibGVkKGlzRW5hYmxlZCk7Cit9
CisKIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lPiBJbnNwZWN0b3JQYWdlQWdl
bnQ6OmJ1aWxkT2JqZWN0Rm9yRnJhbWUoRnJhbWUqIGZyYW1lKQogewogICAgIFJlZlB0cjxUeXBl
QnVpbGRlcjo6UGFnZTo6RnJhbWU+IGZyYW1lT2JqZWN0ID0gVHlwZUJ1aWxkZXI6OlBhZ2U6OkZy
YW1lOjpjcmVhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5oCmluZGV4IDA3N2YwYzdmYjQ5MDgwNzMzN2U4NzJmZWY5NzQyODNkZDU4NDRiN2YuLmQ1
YzViOTAyNTJmZTMxNWRhNWZhNGY1MWQ1ODNmZjhlMWUyNzQ1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTE1Niw2ICsxNTYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaWRMYXlvdXQoKTsKICAgICB2b2lkIGRpZFNjcm9sbCgpOwogICAg
IHZvaWQgZGlkUmVjYWxjdWxhdGVTdHlsZSgpOworICAgIHZvaWQgc2NyaXB0c0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpOwogCiAgICAgLy8gSW5zcGVjdG9yIENvbnRyb2xsZXIgQVBJCiAgICAgdmly
dHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CkBAIC0yMDUsNiArMjA2
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZW5hYmxlZDsKICAgICBib29sIG1faXNGaXJzdExh
eW91dEFmdGVyT25Mb2FkOwogICAgIGJvb2wgbV9nZW9sb2NhdGlvbk92ZXJyaWRkZW47CisgICAg
Ym9vbCBtX2lnbm9yZVNjcmlwdHNFbmFibGVkTm90aWZpY2F0aW9uOwogICAgIFJlZlB0cjxHZW9s
b2NhdGlvblBvc2l0aW9uPiBtX2dlb2xvY2F0aW9uUG9zaXRpb247CiAgICAgUmVmUHRyPEdlb2xv
Y2F0aW9uUG9zaXRpb24+IG1fcGxhdGZvcm1HZW9sb2NhdGlvblBvc2l0aW9uOwogICAgIFJlZlB0
cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fZGV2aWNlT3JpZW50YXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5q
cwppbmRleCBkM2U2MWViZWYzOGQyNzA2ZGQxZGVmZDRhM2JhYzc1NGZiYjc1MzU4Li5jYzRlNjAy
NDI1NjYwYmVkNmMzYzA2YzE5ZWNmMmY1ZTdmMTNhZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKQEAgLTYy
NSw2ICs2MjUsMTEgQEAgV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsK
IAogICAgIGphdmFzY3JpcHREaWFsb2dDbG9zZWQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgfSwK
KworICAgIHNjcmlwdHNFbmFibGVkOiBmdW5jdGlvbihpc0VuYWJsZWQpCisgICAgeworICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MuamF2YVNjcmlwdERpc2FibGVkLnNldCghaXNFbmFibGVk
KTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggMzAxYjM2YjdmOGJj
MjQ4M2JmMjJhYWNkZmU4NzgzN2Q0YzQ5NjdlNy4uZmZjZGEzNDVlNmU0NWQ4ZTA5MTY5MzRhNDI0
ZWQ2NDhhODBjZGRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTM3LDYgKzM3LDcg
QEAKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUNhY2hlLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKQEAgLTQxNSw2ICs0MTYsNyBAQCB2b2lkIFNldHRpbmdz
OjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoVGltZXI8U2V0dGluZ3M+KikKIHZvaWQg
U2V0dGluZ3M6OnNldFNjcmlwdEVuYWJsZWQoYm9vbCBpc1NjcmlwdEVuYWJsZWQpCiB7CiAgICAg
bV9pc1NjcmlwdEVuYWJsZWQgPSBpc1NjcmlwdEVuYWJsZWQ7CisgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzY3JpcHRzRW5hYmxlZChtX3BhZ2UsIG1faXNTY3JpcHRFbmFibGVkKTsKIH0K
IAogdm9pZCBTZXR0aW5nczo6c2V0SmF2YUVuYWJsZWQoYm9vbCBpc0phdmFFbmFibGVkKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGRmODAxZTMyOTgxMGE5ZjY4ZTUxYjM1YjEzOWE5YTY1Yzc2YjlhMTkuLmQyOGJiYTQ2Zjkw
MWU2NjExYTFjYTAyYjIwZDlkNDEwMmVmNWJiODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0wMi0xMSAgVml2ZWsgR2FsYXRhZ2UgIDx2aXZlay52Z0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBKYXZhU2NyaXB0IGV4ZWN1dGlvbiBkaXNhYmxlZCBieSBicm93c2Vy
L1VBIHNob3VsZCBiZSBub3RpZmllZCB0byB0aGUgZnJvbnQtZW5kCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk0MDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyB0aGF0IHdoZW5ldmVyIFNjcmlw
dCBFeGVjdXRpb24gc3RhdGUgaXMgY2hhbmdlZCBvdXRzaWRlIGluc3BlY3RvciwgaXRzIG5vdGlm
aWVkIHRvIHRoZSBJbnNwZWN0b3IgZnJvbnQtZW5kLgorCisgICAgICAgICogaW5zcGVjdG9yL3Nj
cmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1u
b3RpZmljYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMTAgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBNYXJr
ZWQgZmFzdC9mcmFtZXMvc2VhbWxlc3Mvc2VhbWxlc3MtaW5oZXJpdGVkLW9yaWdpbi5odG1sIGFz
IEZBSUwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1dGlv
bi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkxNTU4YjEyZWU5MmU2NGZlY2ZlMmY3ZjIyOWNiNjExM2M2N2Mx
Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc2NyaXB0LWV4ZWN1
dGlvbi1zdGF0ZS1jaGFuZ2Utbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK1Rlc3RzIHRoYXQgd2hlbmV2ZXIgU2NyaXB0IEV4ZWN1dGlvbiBzdGF0ZSBpcyBjaGFuZ2Vk
IG91dHNpZGUgaW5zcGVjdG9yLCBpdHMgbm90aWZpZWQgdG8gdGhlIEluc3BlY3RvciBmcm9udC1l
bmQuCisKK1JlZ2lzdGVyZWQgUGFnZURpc3BhdGNoZXIuc2NyaXB0c0VuYWJsZWQoKQorcnVubmlu
ZyBkaXNhYmxlSmF2YVNjcmlwdFRlc3QuLi4KK1BhZ2VEaXNwYXRjaGVyLnNjcmlwdHNFbmFibGVk
IHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPWZhbHNlCitydW5uaW5nIGVuYWJsZUph
dmFTY3JpcHRUZXN0Li4uCitQYWdlRGlzcGF0Y2hlci5zY3JpcHRzRW5hYmxlZCBzaG91bGQgYmUg
aW52b2tlZCB3aXRoIGlzRW5hYmxlZD10cnVlCitGaW5pc2hlZCB2ZXJpZmljYXRpb24uCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zY3JpcHQtZXhlY3V0aW9uLXN0YXRlLWNo
YW5nZS1ub3RpZmljYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zY3JpcHQtZXhl
Y3V0aW9uLXN0YXRlLWNoYW5nZS1ub3RpZmljYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDA1YWFi
YmQ3MThhZDg1NzM1NTUxZmZhMjY0YWYzYTUwNGM5MDcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3NjcmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNh
dGlvbi5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gZW5hYmxlSmF2YVNjcmlwdEZvclBhZ2UoKQoreworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEphdmFTY3JpcHRFbmFibGVkIiwgdHJ1ZSk7Cit9CisKK2Z1bmN0aW9uIGRpc2FibGVK
YXZhU2NyaXB0Rm9yUGFnZSgpCit7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQi
LCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9uIGNvbXBsZXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gc2NyaXB0c0VuYWJsZWQoaXNFbmFibGVkKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBhZ2VEaXNwYXRjaGVyLnNj
cmlwdHNFbmFibGVkIHNob3VsZCBiZSBpbnZva2VkIHdpdGggaXNFbmFibGVkPSIgKyBpc0VuYWJs
ZWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRpc2FibGVKYXZhU2NyaXB0VGVzdCgpCisgICAg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicnVubmluZyBkaXNhYmxlSmF2YVNj
cmlwdFRlc3QuLi4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZGlz
YWJsZUphdmFTY3JpcHRGb3JQYWdlKCk7IiwgZW5hYmxlSmF2YVNjcmlwdFRlc3QpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGVuYWJsZUphdmFTY3JpcHRUZXN0KCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJydW5uaW5nIGVuYWJsZUphdmFTY3JpcHRUZXN0Li4uIik7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImVuYWJsZUphdmFTY3JpcHRG
b3JQYWdlKCk7IiwgZmluaXNoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5pc2goKQorICAg
IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkZpbmlzaGVkIHZlcmlmaWNhdGlvbi4iKQorICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJjb21wbGV0ZVRlc3QoKTsiKTsKKyAgICB9CisKKyAg
ICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnBy
b3RvdHlwZSwgInNjcmlwdHNFbmFibGVkIiwgc2NyaXB0c0VuYWJsZWQsIHRydWUpOworICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZWdpc3RlcmVkIFBhZ2VEaXNwYXRjaGVyLnNjcmlwdHNF
bmFibGVkKCkiKTsKKyAgICBkaXNhYmxlSmF2YVNjcmlwdFRlc3QoKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyB0aGF0IHdoZW5l
dmVyIFNjcmlwdCBFeGVjdXRpb24gc3RhdGUgaXMgY2hhbmdlZCBvdXRzaWRlIGluc3BlY3Rvciwg
aXRzIG5vdGlmaWVkIHRvIHRoZSBJbnNwZWN0b3IgZnJvbnQtZW5kLjwvcD4KKzwvYm9keT4KKzwv
aHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0
NGY3NTQ3MmNhM2VjZjU4MDI0ZDFiNjAwZjA4Zjc4ZTNkMGRhMDg1Li5iODlkMzkzYzcyYWFhNzI4
MDE3NTdkNDlkNWZlNjI5NzY3NjY3ZjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMzA0LDYgKzMwNCw4IEBAIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2Nv
bXBpbGVyLXNvdXJjZS1tYXBwaW5nLWRlYnVnLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk2OTQyCiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25l
dHdvcmsteGhyLXJlcGxheS5odG1sCiAKK3dlYmtpdC5vcmcvYi8xMDk1NDYgaW5zcGVjdG9yL3Nj
cmlwdC1leGVjdXRpb24tc3RhdGUtY2hhbmdlLW5vdGlmaWNhdGlvbi5odG1sIFsgU2tpcCBdCisK
ICMgU2FmYXJpIGRvZXNuJ3QgYWxsb3cgdG8gY3VzdG9taXplIG91dGVybW9zdCBzY3JvbGxiYXJz
LgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5NjAKIHNjcm9s
bGJhcnMvY3VzdG9tLXNjcm9sbGJhci13aXRoLWluY29tcGxldGUtc3R5bGUuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>