<?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>112650</bug_id>
          
          <creation_ts>2013-03-18 20:15:42 -0700</creation_ts>
          <short_desc>Remove AudioGain.idl from compilation.</short_desc>
          <delta_ts>2013-03-21 11:10:36 -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>Web Audio</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>P5</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Praveen Jadhav">praveen.j</reporter>
          <assigned_to name="Praveen Jadhav">praveen.j</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>crogers</cc>
    
    <cc>dev_sachin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>s.choi</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>857877</commentid>
    <comment_count>0</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-18 20:15:42 -0700</bug_when>
    <thetext>AudioGain is not part of WebAudio Specifications, but it is still included in build. AudioGain.idl should not be included Source/WebCore/CMakeLists.txt for compilation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858055</commentid>
    <comment_count>1</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 01:53:17 -0700</bug_when>
    <thetext>@Chris, Any specific reason why you have retained IDL file for AudioGain? This is as good as AudioParam and doesn&apos;t require seperate IDL file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858132</commentid>
    <comment_count>2</comment_count>
      <attachid>193781</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 03:56:31 -0700</bug_when>
    <thetext>Created attachment 193781
Patch

Patch is update to use AudioParam instead of AudioGain. This patch may require a modification in https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode where gain attribute is not mentioned in AudioBufferSourceNode but is used in the corresponding IDL file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858138</commentid>
    <comment_count>3</comment_count>
      <attachid>193781</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-19 04:07:59 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17192578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858139</commentid>
    <comment_count>4</comment_count>
      <attachid>193781</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 04:08:27 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17213596</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858140</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-19 04:08:43 -0700</bug_when>
    <thetext>crogers should take a look:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858142</commentid>
    <comment_count>6</comment_count>
      <attachid>193781</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-19 04:10:32 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17155672</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858146</commentid>
    <comment_count>7</comment_count>
      <attachid>193781</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-19 04:13:00 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17132299</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858148</commentid>
    <comment_count>8</comment_count>
      <attachid>193781</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-03-19 04:14:04 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass cr-android-ews (chromium-android):
Output: http://webkit-commit-queue.appspot.com/results/17222539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858150</commentid>
    <comment_count>9</comment_count>
      <attachid>193781</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 04:15:07 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17176637</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858153</commentid>
    <comment_count>10</comment_count>
      <attachid>193781</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 04:17:51 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17236191</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858157</commentid>
    <comment_count>11</comment_count>
      <attachid>193781</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 04:22:38 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17074983</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858164</commentid>
    <comment_count>12</comment_count>
      <attachid>193781</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 04:41:56 -0700</bug_when>
    <thetext>Comment on attachment 193781
Patch

Attachment 193781 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17136620</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858181</commentid>
    <comment_count>13</comment_count>
      <attachid>193797</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 05:02:39 -0700</bug_when>
    <thetext>Created attachment 193797
Patch

Sorry about the previous patch. I din&apos;t consider updating make files environment other than efl.

Here, all the makefiles are updated with reference to changeset 137516(adding OfflineAudioContext.idl). Also, one merge error in AudioBufferSourceNode.h is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858196</commentid>
    <comment_count>14</comment_count>
      <attachid>193797</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 05:47:05 -0700</bug_when>
    <thetext>Comment on attachment 193797
Patch

Attachment 193797 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17193342

New failing tests:
webaudio/gain-basic.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858306</commentid>
    <comment_count>15</comment_count>
    <who name="Soo-Hyun Choi">s.choi</who>
    <bug_when>2013-03-19 08:22:23 -0700</bug_when>
    <thetext>just a nit: fixing style errors should preferably go in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858309</commentid>
    <comment_count>16</comment_count>
      <attachid>193797</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-03-19 08:29:21 -0700</bug_when>
    <thetext>Comment on attachment 193797
Patch

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

&gt; LayoutTests/webaudio/gain-basic.html:26
&gt; +        testRunner.waitUntilDone();

Your test is synchronous so I don&apos;t believe you need this one.

&gt; LayoutTests/webaudio/gain-basic.html:40
&gt; +    finishJSTest();

This one is not needed either. Also note that finishJSTest() does not call testRunner.notifyDone() unless window.jsTestIsAsync is set to True. As a consequence, the test is likely to time out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858946</commentid>
    <comment_count>17</comment_count>
      <attachid>193797</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2013-03-19 18:19:49 -0700</bug_when>
    <thetext>Comment on attachment 193797
Patch

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

Overall seems fine as long as the layout tests pass and you&apos;ve also tried some manual tests of the simple web audio demos

&gt; LayoutTests/webaudio/gain-basic.html:6
&gt; +The 11th note will be of gain 0.0, so it should be silent (at the end in the rendered output).

This comment needs to be updated

&gt; LayoutTests/webaudio/gain-basic.html:30
&gt; +    var context = new webkitOfflineAudioContext(2, renderLengthInFrames, sampleRate);

you can create a normal webkitAudioContext like so:
var context = new webkitAudioContext();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858988</commentid>
    <comment_count>18</comment_count>
      <attachid>193968</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 19:19:01 -0700</bug_when>
    <thetext>Created attachment 193968
Patch

Layout test case updated as per the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858991</commentid>
    <comment_count>19</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 19:28:12 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 193797 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193797&amp;action=review
&gt; 
&gt; &gt; LayoutTests/webaudio/gain-basic.html:26
&gt; &gt; +        testRunner.waitUntilDone();
&gt; 
&gt; Your test is synchronous so I don&apos;t believe you need this one.
&gt; 
&gt; &gt; LayoutTests/webaudio/gain-basic.html:40
&gt; &gt; +    finishJSTest();
&gt; 
&gt; This one is not needed either. Also note that finishJSTest() does not call testRunner.notifyDone() unless window.jsTestIsAsync is set to True. As a consequence, the test is likely to time out.

Thanks for the confirmation. Layout test is updated now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858994</commentid>
    <comment_count>20</comment_count>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-19 19:31:35 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 193797 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193797&amp;action=review
&gt; 
&gt; Overall seems fine as long as the layout tests pass and you&apos;ve also tried some manual tests of the simple web audio demos
&gt; 
&gt; &gt; LayoutTests/webaudio/gain-basic.html:6
&gt; &gt; +The 11th note will be of gain 0.0, so it should be silent (at the end in the rendered output).
&gt; 
&gt; This comment needs to be updated
&gt; 
&gt; &gt; LayoutTests/webaudio/gain-basic.html:30
&gt; &gt; +    var context = new webkitOfflineAudioContext(2, renderLengthInFrames, sampleRate);
&gt; 
&gt; you can create a normal webkitAudioContext like so:
&gt; var context = new webkitAudioContext();

LayoutTest is updated based on the comments. Verified ManualTest(only one) and it looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859004</commentid>
    <comment_count>21</comment_count>
      <attachid>193968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 20:02:30 -0700</bug_when>
    <thetext>Comment on attachment 193968
Patch

Attachment 193968 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17160739

New failing tests:
webaudio/gain-basic.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860151</commentid>
    <comment_count>22</comment_count>
      <attachid>194205</attachid>
    <who name="Praveen Jadhav">praveen.j</who>
    <bug_when>2013-03-21 02:14:18 -0700</bug_when>
    <thetext>Created attachment 194205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860465</commentid>
    <comment_count>23</comment_count>
      <attachid>194205</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2013-03-21 10:54:57 -0700</bug_when>
    <thetext>Comment on attachment 194205
Patch

Thanks Praveen!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860475</commentid>
    <comment_count>24</comment_count>
      <attachid>194205</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 11:10:29 -0700</bug_when>
    <thetext>Comment on attachment 194205
Patch

Clearing flags on attachment: 194205

Committed r146486: &lt;http://trac.webkit.org/changeset/146486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860476</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 11:10:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193781</attachid>
            <date>2013-03-19 03:56:31 -0700</date>
            <delta_ts>2013-03-19 05:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-112650.txt</filename>
            <type>text/plain</type>
            <size>19027</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjE5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAzLTE5ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRp
b0dhaW4uaWRsIGZyb20gY29tcGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jh
dy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0aW9uLmh0bWwjR2Fpbk5vZGUKKyAgICAgICAg
ICAgICAgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8v
c3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvQnVmZmVyU291cmNlTm9kZQorCisgICAgICAgIEF1ZGlv
UGFyYW0gc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UgYXMgQXVkaW9HYWluLiBJbmZhY3QsIEF1ZGlv
R2FpbiBpbmhlcml0cworICAgICAgICBBdWRpb1BhcmFtIGNsYXNzIGFuZCBkb2Vzbid0IGhhdmUg
aXRzIG93biBtZW1iZXIgZnVuY3Rpb25zL3BhcmFtZXRlcnMuIEFsc28sCisgICAgICAgIEF1ZGlv
R2FpbiBpcyBub3QgcGFydCBvZiBXZWJBdWRpbyBXM0Mgc3BlY2lmaWNhdGlvbnMuCisKKyAgICAg
ICAgVGVzdDogd2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OkF1ZGlvQnVmZmVy
U291cmNlTm9kZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJj
ZU5vZGUuaDoKKyAgICAgICAgKEF1ZGlvQnVmZmVyU291cmNlTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpBdWRpb0J1ZmZlclNvdXJjZU5vZGU6OmdhaW4pOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvR2Fpbi5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9HYWluLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpHYWluTm9kZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpHYWluTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKEdhaW5Ob2RlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdhaW5Ob2RlOjpnYWluKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L0dhaW5Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6UGFubmVyTm9kZSk6CisgICAgICAgICog
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJO
b2RlOjpkaXN0YW5jZUdhaW4pOgorICAgICAgICAoV2ViQ29yZTo6UGFubmVyTm9kZTo6Y29uZUdh
aW4pOgorCiAyMDEzLTAzLTE5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ft
c3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gV3JvbmcgZ3VhcmQgVVNFKEdMWCkgaW4gUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAx
NDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUxLDcgKzI1MSw2IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2Vi
YXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwK
LSAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlv
L0dhaW5Ob2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwKICAg
ICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAJ
KHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksOSArNjksOSBAQCBB
dWRpb0J1ZmZlclNvdXJjZU5vZGU6OkF1ZGlvQnVmZmVyU291cmNlCiB7CiAgICAgc2V0Tm9kZVR5
cGUoTm9kZVR5cGVBdWRpb0J1ZmZlclNvdXJjZSk7CiAKLSAgICBtX2dhaW4gPSBBdWRpb0dhaW46
OmNyZWF0ZShjb250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAgIG1fZ2FpbiA9IEF1
ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOwogICAgIG1f
cGxheWJhY2tSYXRlID0gQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJwbGF5YmFja1JhdGUi
LCAxLjAsIDAuMCwgTWF4UmF0ZSk7Ci0gICAgCisKICAgICAvLyBEZWZhdWx0IHRvIG1vbm8uICBB
IGNhbGwgdG8gc2V0QnVmZmVyKCkgd2lsbCBzZXQgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hhbm5l
bHMgdG8gdGhhdCBvZiB0aGUgYnVmZmVyLgogICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVk
aW9Ob2RlT3V0cHV0KHRoaXMsIDEpKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaAkocmV2aXNpb24g
MTQ2MTc5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAi
QXVkaW9CdWZmZXIuaCIKICNpbmNsdWRlICJBdWRpb0J1cy5oIgotI2luY2x1ZGUgIkF1ZGlvR2Fp
bi5oIgorI2luY2x1ZGUgIkF1ZGlvUGFyYW0uaCIKICNpbmNsdWRlICJBdWRpb1NjaGVkdWxlZFNv
dXJjZU5vZGUuaCIKICNpbmNsdWRlICJQYW5uZXJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093bkFy
cmF5UHRyLmg+CkBAIC00MywyNCArNDMsMjQgQEAgY2xhc3MgQXVkaW9Db250ZXh0OwogLy8gSXQg
Z2VuZXJhbGx5IHdpbGwgYmUgdXNlZCBmb3Igc2hvcnQgc291bmRzIHdoaWNoIHJlcXVpcmUgYSBo
aWdoIGRlZ3JlZSBvZiBzY2hlZHVsaW5nIGZsZXhpYmlsaXR5IChjYW4gcGxheWJhY2sgaW4gcmh5
dGhtaWNhbGx5IHBlcmZlY3Qgd2F5cykuCiAKIGNsYXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA6
IHB1YmxpYyBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUgewotcHVibGljOiAgICAKK3B1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0J1ZmZlclNvdXJjZU5vZGU+IGNyZWF0ZShBdWRp
b0NvbnRleHQqLCBmbG9hdCBzYW1wbGVSYXRlKTsKIAogICAgIHZpcnR1YWwgfkF1ZGlvQnVmZmVy
U291cmNlTm9kZSgpOwotICAgIAorCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lk
IHByb2Nlc3Moc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0
KCk7Ci0gICAgCisKICAgICAvLyBzZXRCdWZmZXIoKSBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhy
ZWFkLiAgVGhpcyBpcyB0aGUgYnVmZmVyIHdlIHVzZSBmb3IgcGxheWJhY2suCiAgICAgLy8gcmV0
dXJucyB0cnVlIG9uIHN1Y2Nlc3MuCiAgICAgYm9vbCBzZXRCdWZmZXIoQXVkaW9CdWZmZXIqKTsK
ICAgICBBdWRpb0J1ZmZlciogYnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXIuZ2V0KCk7IH0KLSAg
ICAgICAgICAgICAgICAgICAgCisKICAgICAvLyBudW1iZXJPZkNoYW5uZWxzKCkgcmV0dXJucyB0
aGUgbnVtYmVyIG9mIG91dHB1dCBjaGFubmVscy4gIFRoaXMgdmFsdWUgZXF1YWxzIHRoZSBudW1i
ZXIgb2YgY2hhbm5lbHMgZnJvbSB0aGUgYnVmZmVyLgogICAgIC8vIElmIGEgbmV3IGJ1ZmZlciBp
cyBzZXQgd2l0aCBhIGRpZmZlcmVudCBudW1iZXIgb2YgY2hhbm5lbHMsIHRoZW4gdGhpcyB2YWx1
ZSB3aWxsIGR5bmFtaWNhbGx5IGNoYW5nZS4KICAgICB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxz
KCk7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgLy8gUGxheS1zdGF0ZQogICAgIHZvaWQg
c3RhcnRHcmFpbihkb3VibGUgd2hlbiwgZG91YmxlIGdyYWluT2Zmc2V0KTsKICAgICB2b2lkIHN0
YXJ0R3JhaW4oZG91YmxlIHdoZW4sIGRvdWJsZSBncmFpbk9mZnNldCwgZG91YmxlIGdyYWluRHVy
YXRpb24pOwpAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb29waW5nKCk7CiAg
ICAgdm9pZCBzZXRMb29waW5nKGJvb2wpOwogCi0gICAgQXVkaW9HYWluKiBnYWluKCkgeyByZXR1
cm4gbV9nYWluLmdldCgpOyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAorICAgIEF1ZGlvUGFyYW0qIGdhaW4oKSB7IHJldHVybiBtX2dhaW4uZ2V0KCk7IH0KICAgICBB
dWRpb1BhcmFtKiBwbGF5YmFja1JhdGUoKSB7IHJldHVybiBtX3BsYXliYWNrUmF0ZS5nZXQoKTsg
fQogCiAgICAgLy8gSWYgYSBwYW5uZXIgbm9kZSBpcyBzZXQsIHRoZW4gd2UgY2FuIGluY29ycG9y
YXRlIGRvcHBsZXIgc2hpZnQgaW50byB0aGUgcGxheWJhY2sgcGl0Y2ggcmF0ZS4KQEAgLTE0MCw3
ICsxNDAsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gbV9sYXN0R2FpbiBwcm92aWRlcyBjb250aW51
aXR5IHdoZW4gd2UgZHluYW1pY2FsbHkgYWRqdXN0IHRoZSBnYWluLgogICAgIGZsb2F0IG1fbGFz
dEdhaW47Ci0gICAgCisKICAgICAvLyBXZSBvcHRpb25hbGx5IGtlZXAgdHJhY2sgb2YgYSBwYW5u
ZXIgbm9kZSB3aGljaCBoYXMgYSBkb3BwbGVyIHNoaWZ0IHRoYXQgaXMgaW5jb3Jwb3JhdGVkIGlu
dG8KICAgICAvLyB0aGUgcGl0Y2ggcmF0ZS4gV2UgbWFudWFsbHkgbWFuYWdlIHJlZi1jb3VudGlu
ZyBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIFJlZlR5cGVDb25uZWN0aW9uLgogICAgIFBhbm5lck5v
ZGUqIG1fcGFubmVyTm9kZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJKHJldmlzaW9uIDE0NjE3
OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQAogCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHBsYXliYWNrU3RhdGU7CiAKLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgQXVkaW9HYWluIGdhaW47CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFy
YW0gZ2FpbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBwbGF5YmFja1JhdGU7
CiAKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBsb29wOyAvLyBUaGlzIGlzIHRoZSBwcm9wZXIgYXR0
cmlidXRlIG5hbWUgZnJvbSB0aGUgc3BlY2lmaWNhdGlvbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaAkocmV2aXNpb24gMTQ2MTc5KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUg
bmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgot
ICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
LSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBBdWRpb0dhaW5faAotI2RlZmluZSBBdWRpb0dhaW5f
aAotCi0jaW5jbHVkZSAiQXVkaW9QYXJhbS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQXVkaW9HYWluIDogcHVibGljIEF1ZGlv
UGFyYW0gewotcHVibGljOiAgIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvR2Fpbj4gY3Jl
YXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgY29uc3QgY2hhciogbmFtZSwgZG91YmxlIGRlZmF1
bHRWYWx1ZSwgZG91YmxlIG1pblZhbHVlLCBkb3VibGUgbWF4VmFsdWUpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvR2Fpbihjb250ZXh0LCBuYW1lLCBkZWZhdWx0VmFs
dWUsIG1pblZhbHVlLCBtYXhWYWx1ZSkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBBdWRpb0dh
aW4oQXVkaW9Db250ZXh0KiBjb250ZXh0LCBjb25zdCBjaGFyKiBuYW1lLCBkb3VibGUgZGVmYXVs
dFZhbHVlLCBkb3VibGUgbWluVmFsdWUsIGRvdWJsZSBtYXhWYWx1ZSkKLSAgICAgICAgOiBBdWRp
b1BhcmFtKGNvbnRleHQsIG5hbWUsIGRlZmF1bHRWYWx1ZSwgbWluVmFsdWUsIG1heFZhbHVlKQot
ICAgIHsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBB
dWRpb1BhcmFtX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9H
YWluLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvR2Fpbi5pZGwJKHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9HYWluLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMSwzMyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21w
dXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQK
LSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
LSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
WwotICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKLSAgICBKU0dlbmVyYXRlVG9KU09iamVjdAot
XSBpbnRlcmZhY2UgQXVkaW9HYWluIDogQXVkaW9QYXJhbSB7Ci19OwpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5jcHAJKHJldmlzaW9uIDE0NjE3OSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zOSwxMyArMzksMTMgQEAgR2Fpbk5vZGU6OkdhaW5Ob2RlKEF1ZGlvQ29udGV4
dCogY29udGV4dAogICAgICwgbV9sYXN0R2FpbigxLjApCiAgICAgLCBtX3NhbXBsZUFjY3VyYXRl
R2FpblZhbHVlcyhBdWRpb05vZGU6OlByb2Nlc3NpbmdTaXplSW5GcmFtZXMpIC8vIEZJWE1FOiBj
YW4gcHJvYmFibHkgc2hhcmUgdGVtcCBidWZmZXIgaW4gY29udGV4dAogewotICAgIG1fZ2FpbiA9
IEF1ZGlvR2Fpbjo6Y3JlYXRlKGNvbnRleHQsICJnYWluIiwgMS4wLCAwLjAsIDEuMCk7CisgICAg
bV9nYWluID0gQXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJnYWluIiwgMS4wLCAwLjAsIDEu
MCk7CiAKICAgICBhZGRJbnB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlSW5wdXQodGhpcykpKTsK
ICAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAxKSkpOwot
ICAgIAorCiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVHYWluKTsKLSAgICAKKwogICAgIGluaXRp
YWxpemUoKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWlu
Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fp
bk5vZGUuaAkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9HYWluTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxNSArMjUsMTUgQEAKICNpZm5k
ZWYgR2Fpbk5vZGVfaAogI2RlZmluZSBHYWluTm9kZV9oCiAKLSNpbmNsdWRlICJBdWRpb0dhaW4u
aCIKICNpbmNsdWRlICJBdWRpb05vZGUuaCIKKyNpbmNsdWRlICJBdWRpb1BhcmFtLmgiCiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXVkaW9Db250ZXh0OwotICAgIAorCiAvLyBHYWlu
Tm9kZSBpcyBhbiBBdWRpb05vZGUgd2l0aCBvbmUgaW5wdXQgYW5kIG9uZSBvdXRwdXQgd2hpY2gg
YXBwbGllcyBhIGdhaW4gKHZvbHVtZSkgY2hhbmdlIHRvIHRoZSBhdWRpbyBzaWduYWwuCiAvLyBE
ZS16aXBwZXJpbmcgKHNtb290aGluZykgaXMgYXBwbGllZCB3aGVuIHRoZSBnYWluIHZhbHVlIGlz
IGNoYW5nZWQgZHluYW1pY2FsbHkuCiAKQEAgLTQxLDkgKzQxLDkgQEAgY2xhc3MgR2Fpbk5vZGUg
OiBwdWJsaWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxHYWlu
Tm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgR2Fpbk5vZGUoY29udGV4dCwgc2FtcGxl
UmF0ZSkpOyAgICAgIAorICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdhaW5Ob2RlKGNvbnRl
eHQsIHNhbXBsZVJhdGUpKTsKICAgICB9Ci0gICAgCisKICAgICAvLyBBdWRpb05vZGUKICAgICB2
aXJ0dWFsIHZvaWQgcHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKTsKICAgICB2aXJ0dWFs
IHZvaWQgcmVzZXQoKTsKQEAgLTUyLDggKzUyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBjaGVja051bWJlck9mQ2hhbm5lbHNGb3JJbnB1dChBdWRpb05vZGVJbnB1dCopOwogCiAgICAg
Ly8gSmF2YVNjcmlwdCBpbnRlcmZhY2UKLSAgICBBdWRpb0dhaW4qIGdhaW4oKSB7IHJldHVybiBt
X2dhaW4uZ2V0KCk7IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgIAor
ICAgIEF1ZGlvUGFyYW0qIGdhaW4oKSB7IHJldHVybiBtX2dhaW4uZ2V0KCk7IH0KKwogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IDA7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIDA7IH0KQEAgLTYxLDcgKzYxLDcgQEAgcHJpdmF0ZToKICAgICBHYWluTm9kZShBdWRp
b0NvbnRleHQqLCBmbG9hdCBzYW1wbGVSYXRlKTsKIAogICAgIGZsb2F0IG1fbGFzdEdhaW47IC8v
IGZvciBkZS16aXBwZXJpbmcKLSAgICBSZWZQdHI8QXVkaW9HYWluPiBtX2dhaW47CisgICAgUmVm
UHRyPEF1ZGlvUGFyYW0+IG1fZ2FpbjsKIAogICAgIEF1ZGlvRmxvYXRBcnJheSBtX3NhbXBsZUFj
Y3VyYXRlR2FpblZhbHVlczsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0dhaW5Ob2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0dhaW5Ob2RlLmlkbAkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3
LDUgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgR2Fpbk5vZGUgOiBB
dWRpb05vZGUgewogICAgIC8vIEZJWE1FOiBldmVudHVhbGx5IGl0IHdpbGwgYmUgaW50ZXJlc3Rp
bmcgdG8gcmVtb3ZlIHRoZSByZWFkb25seSByZXN0cmljdGlvbiwgYnV0IG5lZWQgdG8gcHJvcGVy
bHkgZGVhbCB3aXRoIHRocmVhZCBzYWZldHkgaGVyZS4KLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9HYWluIGdhaW47CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2FpbjsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9k
ZS5jcHAJKHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vUGFubmVyTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDEzICs2MiwxMyBAQCBQYW5u
ZXJOb2RlOjpQYW5uZXJOb2RlKEF1ZGlvQ29udGV4dCogY29uCiAgICAgbV9jaGFubmVsQ291bnRN
b2RlID0gQ2xhbXBlZE1heDsKICAgICBtX2NoYW5uZWxJbnRlcnByZXRhdGlvbiA9IEF1ZGlvQnVz
OjpTcGVha2VyczsKIAotICAgIG1fZGlzdGFuY2VHYWluID0gQXVkaW9HYWluOjpjcmVhdGUoY29u
dGV4dCwgImRpc3RhbmNlR2FpbiIsIDEuMCwgMC4wLCAxLjApOwotICAgIG1fY29uZUdhaW4gPSBB
dWRpb0dhaW46OmNyZWF0ZShjb250ZXh0LCAiY29uZUdhaW4iLCAxLjAsIDAuMCwgMS4wKTsKKyAg
ICBtX2Rpc3RhbmNlR2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0ZShjb250ZXh0LCAiZGlzdGFuY2VH
YWluIiwgMS4wLCAwLjAsIDEuMCk7CisgICAgbV9jb25lR2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0
ZShjb250ZXh0LCAiY29uZUdhaW4iLCAxLjAsIDAuMCwgMS4wKTsKIAogICAgIG1fcG9zaXRpb24g
PSBGbG9hdFBvaW50M0QoMCwgMCwgMCk7CiAgICAgbV9vcmllbnRhdGlvbiA9IEZsb2F0UG9pbnQz
RCgxLCAwLCAwKTsKICAgICBtX3ZlbG9jaXR5ID0gRmxvYXRQb2ludDNEKDAsIDAsIDApOwotICAg
IAorCiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVQYW5uZXIpOwogCiAgICAgaW5pdGlhbGl6ZSgp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgJ
KHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFu
bmVyTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsyNiw5IEBACiAjZGVmaW5lIFBhbm5l
ck5vZGVfaAogCiAjaW5jbHVkZSAiQXVkaW9CdXMuaCIKLSNpbmNsdWRlICJBdWRpb0dhaW4uaCIK
ICNpbmNsdWRlICJBdWRpb0xpc3RlbmVyLmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlLmgiCisjaW5j
bHVkZSAiQXVkaW9QYXJhbS5oIgogI2luY2x1ZGUgIkNvbmUuaCIKICNpbmNsdWRlICJEaXN0YW5j
ZS5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgpAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6
CiAgICAgICAgIElOVkVSU0VfRElTVEFOQ0UgPSAxLAogICAgICAgICBFWFBPTkVOVElBTF9ESVNU
QU5DRSA9IDIsCiAgICAgfTsKLSAgICAKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBhbm5lck5v
ZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAg
ewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhbm5lck5vZGUoY29udGV4dCwgc2FtcGxl
UmF0ZSkpOwpAQCAtMTIzLDggKzEyMyw4IEBAIHB1YmxpYzoKICAgICBmbG9hdCBkb3BwbGVyUmF0
ZSgpOwogCiAgICAgLy8gQWNjZXNzb3JzIGZvciBkeW5hbWljYWxseSBjYWxjdWxhdGVkIGdhaW4g
dmFsdWVzLgotICAgIEF1ZGlvR2FpbiogZGlzdGFuY2VHYWluKCkgeyByZXR1cm4gbV9kaXN0YW5j
ZUdhaW4uZ2V0KCk7IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0g
ICAgQXVkaW9HYWluKiBjb25lR2FpbigpIHsgcmV0dXJuIG1fY29uZUdhaW4uZ2V0KCk7IH0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgQXVkaW9QYXJhbSogZGlz
dGFuY2VHYWluKCkgeyByZXR1cm4gbV9kaXN0YW5jZUdhaW4uZ2V0KCk7IH0KKyAgICBBdWRpb1Bh
cmFtKiBjb25lR2FpbigpIHsgcmV0dXJuIG1fY29uZUdhaW4uZ2V0KCk7IH0KIAogICAgIHZpcnR1
YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9wYW5uZXIgPyBt
X3Bhbm5lci0+dGFpbFRpbWUoKSA6IDA7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXRlbmN5VGlt
ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fcGFubmVyID8gbV9wYW5uZXItPmxhdGVuY3lU
aW1lKCkgOiAwOyB9CkBAIC0xNDcsOCArMTQ3LDggQEAgcHJpdmF0ZToKICAgICBGbG9hdFBvaW50
M0QgbV92ZWxvY2l0eTsKIAogICAgIC8vIEdhaW4KLSAgICBSZWZQdHI8QXVkaW9HYWluPiBtX2Rp
c3RhbmNlR2FpbjsKLSAgICBSZWZQdHI8QXVkaW9HYWluPiBtX2NvbmVHYWluOworICAgIFJlZlB0
cjxBdWRpb1BhcmFtPiBtX2Rpc3RhbmNlR2FpbjsKKyAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9j
b25lR2FpbjsKICAgICBEaXN0YW5jZUVmZmVjdCBtX2Rpc3RhbmNlRWZmZWN0OwogICAgIENvbmVF
ZmZlY3QgbV9jb25lRWZmZWN0OwogICAgIGZsb2F0IG1fbGFzdEdhaW47CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxNDYxOTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNSBAQAorMjAxMy0wMy0xOSAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBz
YW1zdW5nLmNvbT4KKworICAgICAgICBSZW1vdmUgQXVkaW9HYWluLmlkbCBmcm9tIGNvbXBpbGF0
aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEy
NjUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dCB0byB2ZXJpZnkgR2Fpbk5vZGUgYXR0cmlidXRlcy4KKworICAgICAgICAqIHdlYmF1ZGlvL2dh
aW4tYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9nYWluLWJh
c2ljLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTE5ICDDgWTDoW0gS2FsbGFpICA8a2FkYW1AaW5m
LnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuIFNraXAg
c29tZSBmYWlsaW5nIHRlc3RzLgpJbmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vZ2Fpbi1iYXNp
Yy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvd2ViYXVkaW8vZ2Fpbi1i
YXNpYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRpby9n
YWluLWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACitUZXN0
cyBHYWluTm9kZSBhdHRyaWJ1dGVzIGluIElETC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIGdhaW4gaXMgb2YgQXVkaW9QYXJhbSB0eXBlLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3dlYmF1
ZGlvL2dhaW4tYmFzaWMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9n
YWluLWJhc2ljLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy93ZWJhdWRpby9nYWlu
LWJhc2ljLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8IS0tCitUZXN0cyB0aGF0IEdhaW5Ob2RlIGlzIHByb3Blcmx5IHNjYWxpbmcgdGhlIGdh
aW4uCitXZSdsbCByZW5kZXIgMTEgbm90ZXMsIHN0YXJ0aW5nIGF0IGEgZ2FpbiBvZiAxLjAsIGRl
Y3JlYXNpbmcgaW4gZ2FpbiBieSAwLjEuCitUaGUgMTF0aCBub3RlIHdpbGwgYmUgb2YgZ2FpbiAw
LjAsIHNvIGl0IHNob3VsZCBiZSBzaWxlbnQgKGF0IHRoZSBlbmQgaW4gdGhlIHJlbmRlcmVkIG91
dHB1dCkuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+CisKKzwv
aGVhZD4KKzxib2R5PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIEdhaW5Ob2RlIGF0
dHJpYnV0ZXMgaW4gSURMLiIpOworCit2YXIgc2FtcGxlUmF0ZSA9IDQ0MTAwLjA7Cit2YXIgcmVu
ZGVyTGVuZ3RoSW5GcmFtZXMgPSA1MTI7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICAvLyBDcmVh
dGUgb2ZmbGluZSBhdWRpbyBjb250ZXh0LgorICAgIHZhciBjb250ZXh0ID0gbmV3IHdlYmtpdE9m
ZmxpbmVBdWRpb0NvbnRleHQoMiwgcmVuZGVyTGVuZ3RoSW5GcmFtZXMsIHNhbXBsZVJhdGUpOwor
CisgICAgLy8gQ3JlYXRlIEdhaW4gbm9kZS4KKyAgICB2YXIgZ2Fpbk5vZGUgPSBjb250ZXh0LmNy
ZWF0ZUdhaW5Ob2RlKCk7CisKKyAgICBpZiAoZ2Fpbk5vZGUuZ2Fpbi50b1N0cmluZygpLmluZGV4
T2YoIkF1ZGlvUGFyYW0iKSA+IC0xKQorICAgICAgICB0ZXN0UGFzc2VkKCJnYWluIGlzIG9mIEF1
ZGlvUGFyYW0gdHlwZS4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoImdhaW4gaXMg
bm90IG9mIEF1ZGlvUGFyYW0gdHlwZS4iKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCity
dW5UZXN0KCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="215395"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193797</attachid>
            <date>2013-03-19 05:02:39 -0700</date>
            <delta_ts>2013-03-19 19:19:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-112650.txt</filename>
            <type>text/plain</type>
            <size>32313</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjE5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTAzLTE5ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRp
b0dhaW4uaWRsIGZyb20gY29tcGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jh
dy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0aW9uLmh0bWwjR2Fpbk5vZGUKKyAgICAgICAg
ICAgICAgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8v
c3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvQnVmZmVyU291cmNlTm9kZQorCisgICAgICAgIEF1ZGlv
UGFyYW0gc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UgYXMgQXVkaW9HYWluLiBJbmZhY3QsIEF1ZGlv
R2FpbiBpbmhlcml0cworICAgICAgICBBdWRpb1BhcmFtIGNsYXNzIGFuZCBkb2Vzbid0IGhhdmUg
aXRzIG93biBtZW1iZXIgZnVuY3Rpb25zL3BhcmFtZXRlcnMuIEFsc28sCisgICAgICAgIEF1ZGlv
R2FpbiBpcyBub3QgcGFydCBvZiBXZWJBdWRpbyBXM0Mgc3BlY2lmaWNhdGlvbnMuCisKKyAgICAg
ICAgVGVzdDogd2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oOgorICAgICAgICAo
QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291
cmNlTm9kZTo6Z2Fpbik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmg6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2Fpbk5vZGU6OkdhaW5Ob2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2Rl
OjpjcmVhdGUpOgorICAgICAgICAoR2Fpbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6R2Fpbk5v
ZGU6OmdhaW4pOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYW5uZXJOb2RlOjpQYW5uZXJOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bh
bm5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmRpc3RhbmNlR2Fpbik6
CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpjb25lR2Fpbik6CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEzLTAzLTE5ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gV3JvbmcgZ3VhcmQg
VVNFKEdMWCkgaW4gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjUxLDcgKzI1MSw2IEBAIHNldChXZWJDb3JlX0lETF9GSUxF
UwogICAgIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaWRsCiAgICAgTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5pZGwKLSAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwKICAg
ICBNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9MaXN0ZW5lci5pZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEz
Niw2IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9EZXN0aW5hdGlvbk5vZGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9HYWluLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2Rl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbCBcCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYs
NiBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5l
bFNwbGl0dGVyTm9kZS5pZGwgXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmlkbCBcCiAgICAgJCRQV0QvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5pZGwgXAotICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbCBcCiAgICAg
JCRQV0QvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwgXAogICAgICQkUFdEL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwgXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlz
aW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtp
bmcgY29weSkKQEAgLTUxLDggKzUxLDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9Db250ZXh0LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9HYWluLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fpbi5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
ZGlvTGlzdGVuZXIuY3BwIFwKQEAgLTEyOTQsNyArMTI5Miw2IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwgXAotCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsIFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9MaXN0ZW5lci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuaWRsIFwKQEAgLTIwNTAsNyArMjA0Nyw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNp
b24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpA
QCAtMzQzNiw3ICszNDM2LDYgQEAgZW5hYmxlPyhXRUJfQVVESU8pIHsKICAgICAgICAgTW9kdWxl
cy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmggXAogICAgICAgICBNb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oIFwKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5oIFwKLSAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaCBcCiAg
ICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaCBcCiAgICAgICAgIE1vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9MaXN0ZW5lci5oIFwKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb05v
ZGUuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNiBAQAog
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwnLAotICAgICAg
ICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9MaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmlkbCcsCkBAIC0xMDEwLDcgKzEwMDksNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvRGVzdGluYXRpb25Ob2RlLmgnLAotICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9HYWluLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5jcHAnLApAQCAtNjMzNiw4ICs2MzM0
LDYgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9Db250ZXh0LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oJywKLSAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQXVkaW9HYWluLmNwcCcsCi0gICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fpbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlv
TGlzdGVuZXIuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAJKHJldmlzaW9uIDE0NjE3OSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksOSArNjksOSBAQCBBdWRpb0J1ZmZlclNvdXJjZU5v
ZGU6OkF1ZGlvQnVmZmVyU291cmNlCiB7CiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVBdWRpb0J1
ZmZlclNvdXJjZSk7CiAKLSAgICBtX2dhaW4gPSBBdWRpb0dhaW46OmNyZWF0ZShjb250ZXh0LCAi
Z2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAgIG1fZ2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0ZShj
b250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOwogICAgIG1fcGxheWJhY2tSYXRlID0gQXVk
aW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJwbGF5YmFja1JhdGUiLCAxLjAsIDAuMCwgTWF4UmF0
ZSk7Ci0gICAgCisKICAgICAvLyBEZWZhdWx0IHRvIG1vbm8uICBBIGNhbGwgdG8gc2V0QnVmZmVy
KCkgd2lsbCBzZXQgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hhbm5lbHMgdG8gdGhhdCBvZiB0aGUg
YnVmZmVyLgogICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0cHV0KHRoaXMs
IDEpKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaAkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiQXVkaW9CdWZmZXIuaCIKICNp
bmNsdWRlICJBdWRpb0J1cy5oIgotI2luY2x1ZGUgIkF1ZGlvR2Fpbi5oIgorI2luY2x1ZGUgIkF1
ZGlvUGFyYW0uaCIKICNpbmNsdWRlICJBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaCIKICNpbmNs
dWRlICJQYW5uZXJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CkBAIC00Mywy
NCArNDMsMjQgQEAgY2xhc3MgQXVkaW9Db250ZXh0OwogLy8gSXQgZ2VuZXJhbGx5IHdpbGwgYmUg
dXNlZCBmb3Igc2hvcnQgc291bmRzIHdoaWNoIHJlcXVpcmUgYSBoaWdoIGRlZ3JlZSBvZiBzY2hl
ZHVsaW5nIGZsZXhpYmlsaXR5IChjYW4gcGxheWJhY2sgaW4gcmh5dGhtaWNhbGx5IHBlcmZlY3Qg
d2F5cykuCiAKIGNsYXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA6IHB1YmxpYyBBdWRpb1NjaGVk
dWxlZFNvdXJjZU5vZGUgewotcHVibGljOiAgICAKK3B1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlclNvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBmbG9hdCBz
YW1wbGVSYXRlKTsKIAogICAgIHZpcnR1YWwgfkF1ZGlvQnVmZmVyU291cmNlTm9kZSgpOwotICAg
IAorCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90IGZy
YW1lc1RvUHJvY2Vzcyk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7Ci0gICAgCisKICAgICAv
LyBzZXRCdWZmZXIoKSBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLiAgVGhpcyBpcyB0aGUg
YnVmZmVyIHdlIHVzZSBmb3IgcGxheWJhY2suCiAgICAgLy8gcmV0dXJucyB0cnVlIG9uIHN1Y2Nl
c3MuCiAgICAgYm9vbCBzZXRCdWZmZXIoQXVkaW9CdWZmZXIqKTsKICAgICBBdWRpb0J1ZmZlciog
YnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXIuZ2V0KCk7IH0KLSAgICAgICAgICAgICAgICAgICAg
CisKICAgICAvLyBudW1iZXJPZkNoYW5uZWxzKCkgcmV0dXJucyB0aGUgbnVtYmVyIG9mIG91dHB1
dCBjaGFubmVscy4gIFRoaXMgdmFsdWUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgZnJv
bSB0aGUgYnVmZmVyLgogICAgIC8vIElmIGEgbmV3IGJ1ZmZlciBpcyBzZXQgd2l0aCBhIGRpZmZl
cmVudCBudW1iZXIgb2YgY2hhbm5lbHMsIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGR5bmFtaWNhbGx5
IGNoYW5nZS4KICAgICB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIAorCiAgICAgLy8gUGxheS1zdGF0ZQogICAgIHZvaWQgc3RhcnRHcmFpbihkb3VibGUg
d2hlbiwgZG91YmxlIGdyYWluT2Zmc2V0KTsKICAgICB2b2lkIHN0YXJ0R3JhaW4oZG91YmxlIHdo
ZW4sIGRvdWJsZSBncmFpbk9mZnNldCwgZG91YmxlIGdyYWluRHVyYXRpb24pOwpAQCAtODUsNyAr
ODUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb29waW5nKCk7CiAgICAgdm9pZCBzZXRMb29waW5n
KGJvb2wpOwogCi0gICAgQXVkaW9HYWluKiBnYWluKCkgeyByZXR1cm4gbV9nYWluLmdldCgpOyB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIEF1ZGlvUGFyYW0q
IGdhaW4oKSB7IHJldHVybiBtX2dhaW4uZ2V0KCk7IH0KICAgICBBdWRpb1BhcmFtKiBwbGF5YmFj
a1JhdGUoKSB7IHJldHVybiBtX3BsYXliYWNrUmF0ZS5nZXQoKTsgfQogCiAgICAgLy8gSWYgYSBw
YW5uZXIgbm9kZSBpcyBzZXQsIHRoZW4gd2UgY2FuIGluY29ycG9yYXRlIGRvcHBsZXIgc2hpZnQg
aW50byB0aGUgcGxheWJhY2sgcGl0Y2ggcmF0ZS4KQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2YXRl
OgogICAgIE93bkFycmF5UHRyPGZsb2F0Kj4gbV9kZXN0aW5hdGlvbkNoYW5uZWxzOwogCiAgICAg
Ly8gVXNlZCBmb3IgdGhlICJnYWluIiBhbmQgInBsYXliYWNrUmF0ZSIgYXR0cmlidXRlcy4KLSAg
ICBSZWZQdHI8QXVkaW9HYWluPiBtX2dhaW47CisgICAgUmVmUHRyPEF1ZGlvUGFyYW0+IG1fZ2Fp
bjsKICAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9wbGF5YmFja1JhdGU7CiAKICAgICAvLyBJZiBt
X2lzTG9vcGluZyBpcyBmYWxzZSwgdGhlbiB0aGlzIG5vZGUgd2lsbCBiZSBkb25lIHBsYXlpbmcg
YW5kIGJlY29tZSBpbmFjdGl2ZSBhZnRlciBpdCByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIHNhbXBs
ZSBkYXRhIGluIHRoZSBidWZmZXIuCkBAIC0xNDAsNyArMTQwLDcgQEAgcHJpdmF0ZToKIAogICAg
IC8vIG1fbGFzdEdhaW4gcHJvdmlkZXMgY29udGludWl0eSB3aGVuIHdlIGR5bmFtaWNhbGx5IGFk
anVzdCB0aGUgZ2Fpbi4KICAgICBmbG9hdCBtX2xhc3RHYWluOwotICAgIAorCiAgICAgLy8gV2Ug
b3B0aW9uYWxseSBrZWVwIHRyYWNrIG9mIGEgcGFubmVyIG5vZGUgd2hpY2ggaGFzIGEgZG9wcGxl
ciBzaGlmdCB0aGF0IGlzIGluY29ycG9yYXRlZCBpbnRvCiAgICAgLy8gdGhlIHBpdGNoIHJhdGUu
IFdlIG1hbnVhbGx5IG1hbmFnZSByZWYtY291bnRpbmcgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBS
ZWZUeXBlQ29ubmVjdGlvbi4KICAgICBQYW5uZXJOb2RlKiBtX3Bhbm5lck5vZGU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDcgKzM3LDcgQEAKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBw
bGF5YmFja1N0YXRlOwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvR2FpbiBnYWluOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGdhaW47CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEF1ZGlvUGFyYW0gcGxheWJhY2tSYXRlOwogCiAgICAgYXR0cmlidXRlIGJvb2xlYW4g
bG9vcDsgLy8gVGhpcyBpcyB0aGUgcHJvcGVyIGF0dHJpYnV0ZSBuYW1lIGZyb20gdGhlIHNwZWNp
ZmljYXRpb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fp
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9H
YWluLmgJKHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9HYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
QXVkaW9HYWluX2gKLSNkZWZpbmUgQXVkaW9HYWluX2gKLQotI2luY2x1ZGUgIkF1ZGlvUGFyYW0u
aCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIEF1ZGlvR2FpbiA6IHB1YmxpYyBBdWRpb1BhcmFtIHsKLXB1YmxpYzogICAKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdWRpb0dhaW4+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IGNoYXIqIG5hbWUsIGRvdWJsZSBkZWZhdWx0VmFsdWUsIGRvdWJsZSBtaW5WYWx1ZSwg
ZG91YmxlIG1heFZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRp
b0dhaW4oY29udGV4dCwgbmFtZSwgZGVmYXVsdFZhbHVlLCBtaW5WYWx1ZSwgbWF4VmFsdWUpKTsK
LSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgQXVkaW9HYWluKEF1ZGlvQ29udGV4dCogY29udGV4dCwg
Y29uc3QgY2hhciogbmFtZSwgZG91YmxlIGRlZmF1bHRWYWx1ZSwgZG91YmxlIG1pblZhbHVlLCBk
b3VibGUgbWF4VmFsdWUpCi0gICAgICAgIDogQXVkaW9QYXJhbShjb250ZXh0LCBuYW1lLCBkZWZh
dWx0VmFsdWUsIG1pblZhbHVlLCBtYXhWYWx1ZSkKLSAgICB7Ci0gICAgfQotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQXVkaW9QYXJhbV9oCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsCShyZXZpc2lvbiAxNDYx
NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJfQVVE
SU8sCi0gICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKLV0gaW50ZXJmYWNlIEF1ZGlvR2FpbiA6IEF1
ZGlvUGFyYW0gewotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fp
bk5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
R2Fpbk5vZGUuY3BwCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEzIEBA
IEdhaW5Ob2RlOjpHYWluTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQKICAgICAsIG1fbGFzdEdh
aW4oMS4wKQogICAgICwgbV9zYW1wbGVBY2N1cmF0ZUdhaW5WYWx1ZXMoQXVkaW9Ob2RlOjpQcm9j
ZXNzaW5nU2l6ZUluRnJhbWVzKSAvLyBGSVhNRTogY2FuIHByb2JhYmx5IHNoYXJlIHRlbXAgYnVm
ZmVyIGluIGNvbnRleHQKIHsKLSAgICBtX2dhaW4gPSBBdWRpb0dhaW46OmNyZWF0ZShjb250ZXh0
LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAgIG1fZ2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0
ZShjb250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOwogCiAgICAgYWRkSW5wdXQoYWRvcHRQ
dHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAgICAgYWRkT3V0cHV0KGFkb3B0UHRyKG5l
dyBBdWRpb05vZGVPdXRwdXQodGhpcywgMSkpKTsKLSAgICAKKwogICAgIHNldE5vZGVUeXBlKE5v
ZGVUeXBlR2Fpbik7Ci0gICAgCisKICAgICBpbml0aWFsaXplKCk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgJKHJldmlzaW9uIDE0NjE3OSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMjUsMTUgKzI1LDE1IEBACiAjaWZuZGVmIEdhaW5Ob2RlX2gKICNkZWZpbmUgR2Fp
bk5vZGVfaAogCi0jaW5jbHVkZSAiQXVkaW9HYWluLmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlLmgi
CisjaW5jbHVkZSAiQXVkaW9QYXJhbS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEF1ZGlvQ29udGV4dDsKLSAgICAKKwogLy8gR2Fpbk5vZGUgaXMgYW4gQXVkaW9Ob2RlIHdpdGgg
b25lIGlucHV0IGFuZCBvbmUgb3V0cHV0IHdoaWNoIGFwcGxpZXMgYSBnYWluICh2b2x1bWUpIGNo
YW5nZSB0byB0aGUgYXVkaW8gc2lnbmFsLgogLy8gRGUtemlwcGVyaW5nIChzbW9vdGhpbmcpIGlz
IGFwcGxpZWQgd2hlbiB0aGUgZ2FpbiB2YWx1ZSBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LgogCkBA
IC00MSw5ICs0MSw5IEBAIGNsYXNzIEdhaW5Ob2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8R2Fpbk5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQq
IGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsgICAgICAKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBHYWluTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CiAgICAgfQot
ICAgIAorCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90
IGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CkBAIC01Miw4ICs1
Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tOdW1iZXJPZkNoYW5uZWxzRm9y
SW5wdXQoQXVkaW9Ob2RlSW5wdXQqKTsKIAogICAgIC8vIEphdmFTY3JpcHQgaW50ZXJmYWNlCi0g
ICAgQXVkaW9HYWluKiBnYWluKCkgeyByZXR1cm4gbV9nYWluLmdldCgpOyB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAKKyAgICBBdWRpb1BhcmFtKiBnYWluKCkgeyBy
ZXR1cm4gbV9nYWluLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgdGFp
bFRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBkb3VibGUg
bGF0ZW5jeVRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAwOyB9CkBAIC02MSw3ICs2MSw3
IEBAIHByaXZhdGU6CiAgICAgR2Fpbk5vZGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0
ZSk7CiAKICAgICBmbG9hdCBtX2xhc3RHYWluOyAvLyBmb3IgZGUtemlwcGVyaW5nCi0gICAgUmVm
UHRyPEF1ZGlvR2Fpbj4gbV9nYWluOworICAgIFJlZlB0cjxBdWRpb1BhcmFtPiBtX2dhaW47CiAK
ICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9zYW1wbGVBY2N1cmF0ZUdhaW5WYWx1ZXM7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwJKHJldmlz
aW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw1ICsyNyw1IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKIF0gaW50ZXJmYWNlIEdhaW5Ob2RlIDogQXVkaW9Ob2RlIHsKICAgICAvLyBGSVhNRTog
ZXZlbnR1YWxseSBpdCB3aWxsIGJlIGludGVyZXN0aW5nIHRvIHJlbW92ZSB0aGUgcmVhZG9ubHkg
cmVzdHJpY3Rpb24sIGJ1dCBuZWVkIHRvIHByb3Blcmx5IGRlYWwgd2l0aCB0aHJlYWQgc2FmZXR5
IGhlcmUuCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvR2FpbiBnYWluOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGdhaW47CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCShyZXZpc2lvbiAxNDYxNzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MiwxMyArNjIsMTMgQEAgUGFubmVyTm9kZTo6UGFubmVyTm9kZShBdWRpb0Nv
bnRleHQqIGNvbgogICAgIG1fY2hhbm5lbENvdW50TW9kZSA9IENsYW1wZWRNYXg7CiAgICAgbV9j
aGFubmVsSW50ZXJwcmV0YXRpb24gPSBBdWRpb0J1czo6U3BlYWtlcnM7CiAKLSAgICBtX2Rpc3Rh
bmNlR2FpbiA9IEF1ZGlvR2Fpbjo6Y3JlYXRlKGNvbnRleHQsICJkaXN0YW5jZUdhaW4iLCAxLjAs
IDAuMCwgMS4wKTsKLSAgICBtX2NvbmVHYWluID0gQXVkaW9HYWluOjpjcmVhdGUoY29udGV4dCwg
ImNvbmVHYWluIiwgMS4wLCAwLjAsIDEuMCk7CisgICAgbV9kaXN0YW5jZUdhaW4gPSBBdWRpb1Bh
cmFtOjpjcmVhdGUoY29udGV4dCwgImRpc3RhbmNlR2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAg
IG1fY29uZUdhaW4gPSBBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImNvbmVHYWluIiwgMS4w
LCAwLjAsIDEuMCk7CiAKICAgICBtX3Bvc2l0aW9uID0gRmxvYXRQb2ludDNEKDAsIDAsIDApOwog
ICAgIG1fb3JpZW50YXRpb24gPSBGbG9hdFBvaW50M0QoMSwgMCwgMCk7CiAgICAgbV92ZWxvY2l0
eSA9IEZsb2F0UG9pbnQzRCgwLCAwLCAwKTsKLSAgICAKKwogICAgIHNldE5vZGVUeXBlKE5vZGVU
eXBlUGFubmVyKTsKIAogICAgIGluaXRpYWxpemUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjYsOSArMjYsOSBAQAogI2RlZmluZSBQYW5uZXJOb2RlX2gKIAogI2luY2x1ZGUgIkF1ZGlv
QnVzLmgiCi0jaW5jbHVkZSAiQXVkaW9HYWluLmgiCiAjaW5jbHVkZSAiQXVkaW9MaXN0ZW5lci5o
IgogI2luY2x1ZGUgIkF1ZGlvTm9kZS5oIgorI2luY2x1ZGUgIkF1ZGlvUGFyYW0uaCIKICNpbmNs
dWRlICJDb25lLmgiCiAjaW5jbHVkZSAiRGlzdGFuY2UuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBJTlZFUlNFX0RJU1RBTkNF
ID0gMSwKICAgICAgICAgRVhQT05FTlRJQUxfRElTVEFOQ0UgPSAyLAogICAgIH07Ci0gICAgCisK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYW5uZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKQEAgLTEyMyw4ICsxMjMsOCBA
QCBwdWJsaWM6CiAgICAgZmxvYXQgZG9wcGxlclJhdGUoKTsKIAogICAgIC8vIEFjY2Vzc29ycyBm
b3IgZHluYW1pY2FsbHkgY2FsY3VsYXRlZCBnYWluIHZhbHVlcy4KLSAgICBBdWRpb0dhaW4qIGRp
c3RhbmNlR2FpbigpIHsgcmV0dXJuIG1fZGlzdGFuY2VHYWluLmdldCgpOyB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgIEF1ZGlvR2FpbiogY29uZUdhaW4oKSB7
IHJldHVybiBtX2NvbmVHYWluLmdldCgpOyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAorICAgIEF1ZGlvUGFyYW0qIGRpc3RhbmNlR2FpbigpIHsgcmV0dXJuIG1fZGlz
dGFuY2VHYWluLmdldCgpOyB9CisgICAgQXVkaW9QYXJhbSogY29uZUdhaW4oKSB7IHJldHVybiBt
X2NvbmVHYWluLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIG1fcGFubmVyID8gbV9wYW5uZXItPnRhaWxUaW1lKCkgOiAwOyB9
CiAgICAgdmlydHVhbCBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX3Bhbm5lciA/IG1fcGFubmVyLT5sYXRlbmN5VGltZSgpIDogMDsgfQpAQCAtMTQ3LDggKzE0
Nyw4IEBAIHByaXZhdGU6CiAgICAgRmxvYXRQb2ludDNEIG1fdmVsb2NpdHk7CiAKICAgICAvLyBH
YWluCi0gICAgUmVmUHRyPEF1ZGlvR2Fpbj4gbV9kaXN0YW5jZUdhaW47Ci0gICAgUmVmUHRyPEF1
ZGlvR2Fpbj4gbV9jb25lR2FpbjsKKyAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9kaXN0YW5jZUdh
aW47CisgICAgUmVmUHRyPEF1ZGlvUGFyYW0+IG1fY29uZUdhaW47CiAgICAgRGlzdGFuY2VFZmZl
Y3QgbV9kaXN0YW5jZUVmZmVjdDsKICAgICBDb25lRWZmZWN0IG1fY29uZUVmZmVjdDsKICAgICBm
bG9hdCBtX2xhc3RHYWluOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
NTk3LDcgKzY1OTcsNiBAQAogCQlGRDMxNjAwNTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9Db250
ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMx
NUZCQjEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9Db250ZXh0LmggKi87IH07CiAJCUZEMzE2MDA3
MTJCMDI2NzYwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZCRDEyQjAyNjc1MDBDMUEz
NTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovOyB9OwogCQlGRDMxNjAwODEyQjAyNjc2
MDBDMUEzNTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMzE1RkJFMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5oICovOyB9OwotCQlGRDMxNjAwQTEyQjAyNjc2MDBDMUEzNTkgLyog
QXVkaW9HYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9HYWluLmggKi87IH07CiAJCUZEMzE2
MDBDMTJCMDI2NzYwMEMxQTM1OSAvKiBHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZDMjEyQjAyNjc1MDBDMUEzNTkgLyogR2Fp
bk5vZGUuY3BwICovOyB9OwogCQlGRDMxNjAwRDEyQjAyNjc2MDBDMUEzNTkgLyogR2Fpbk5vZGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMzE1RkMz
MTJCMDI2NzUwMEMxQTM1OSAvKiBHYWluTm9kZS5oICovOyB9OwogCQlGRDMxNjAwRjEyQjAyNjc2
MDBDMUEzNTkgLyogQXVkaW9MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZDNTEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9MaXN0
ZW5lci5jcHAgKi87IH07CkBAIC02NzQ1LDggKzY3NDQsNiBAQAogCQlGREExNUVBNjEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29u
dGV4dC5oICovOyB9OwogCQlGREExNUVBNzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREExNUU4QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHAgKi87IH07CiAJCUZEQTE1RUE4MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvRGVzdGluYXRp
b25Ob2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
REExNUU4QzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oICovOyB9
OwotCQlGREExNUVBOTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEQxMkIwM0VFMTAw
M0E1ODNBIC8qIEpTQXVkaW9HYWluLmNwcCAqLzsgfTsKLQkJRkRBMTVFQUExMkIwM0VFMTAwM0E1
ODNBIC8qIEpTQXVkaW9HYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGREExNUU4RTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uaCAqLzsg
fTsKIAkJRkRBMTVFQUIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEYxMkIwM0VFMTAw
M0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwICovOyB9OwogCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4
M0EgLyogSlNHYWluTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkRBMTVFOTAxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuaCAqLzsgfTsK
IAkJRkRBMTVFQUQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREExNUU5MTEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0xpc3RlbmVyLmNwcCAqLzsgfTsKQEAgLTE0Mzg3LDggKzE0Mzg0
LDYgQEAKIAkJRkQzMTVGQkQxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQkUxMkIwMjY3
NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEF1ZGlvRGVzdGluYXRpb25Ob2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZEMzE1RkJGMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyog
QXVkaW9HYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvR2Fpbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRDMxNUZDMTEyQjAyNjc1MDBDMUEzNTkg
LyogQXVkaW9HYWluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBdWRpb0dhaW4uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDMxNUZDMjEyQjAyNjc1MDBDMUEzNTkgLyog
R2Fpbk5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2Fpbk5v
ZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDMxNUZDMzEyQjAyNjc1MDBD
MUEzNTkgLyogR2Fpbk5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2Fp
bk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQzQxMkIwMjY3NTAw
QzFBMzU5IC8qIEdhaW5Ob2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHYWluTm9kZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDU1NCw4ICsxNDU0OSw2IEBACiAJ
CUZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0F1ZGlvQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGREExNUU4QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRBMTVF
OEMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGREExNUU4RDEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRp
b0dhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdWRpb0dh
aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGREExNUU4RTEyQjAzRUUxMDAz
QTU4M0EgLyogSlNBdWRpb0dhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNBdWRpb0dhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRBMTVFOEYxMkIw
M0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNHYWluTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZEQTE1RTkwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2Fpbk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkRBMTVFOTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlvTGlzdGVuZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMwNTgsOCArMjMwNTEsNiBAQAogCQkJCUZE
MzE1RkJEMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8sCiAJ
CQkJRkQzMTVGQkUxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8s
CiAJCQkJRkQzMTVGQkYxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmlk
bCAqLywKLQkJCQlGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9HYWluLmggKi8sCi0J
CQkJRkQzMTVGQzExMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5pZGwgKi8sCiAJCQkJRkQz
MTVGQzUxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuY3BwICovLAogCQkJCUZEMzE1
RkM2MTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0xpc3RlbmVyLmggKi8sCiAJCQkJRkQzMTVGQzcx
MkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuaWRsICovLApAQCAtMjMyNjAsOCArMjMy
NTEsNiBAQAogCQkJCUZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5o
ICovLAogCQkJCUZEQTE1RThCMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcCAqLywKIAkJCQlGREExNUU4QzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5oICovLAotCQkJCUZEQTE1RThEMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlv
R2Fpbi5jcHAgKi8sCi0JCQkJRkRBMTVFOEUxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWlu
LmggKi8sCiAJCQkJRkRBMTVFOTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5j
cHAgKi8sCiAJCQkJRkRBMTVFOTIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5o
ICovLAogCQkJCUZEQTE1RTkzMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTm9kZS5jcHAgKi8s
CkBAIC0yMzQxNSw3ICsyMzQwNCw2IEBACiAJCQkJRkQzMTYwODIxMkIwMjZGNzAwQzFBMzU5IC8q
IEF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA4MzEy
QjAyNkY3MDBDMUEzNTkgLyogQXVkaW9GaWxlUmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RDMxNjBCRjEyQjAyNzJBMDBDMUEzNTkgLyogQXVkaW9GaWxlUmVhZGVyTWFjLmggaW4gSGVhZGVy
cyAqLywKLQkJCQlGRDMxNjAwQTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9HYWluLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGREUyRDU1QjE1OUU2NkVCMDBEQ0NDRjggLyogQXVkaW9JT0NhbGxiYWNr
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAxMDEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9M
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMTMxMkIwMjY3NjAwQzFBMzU5IC8q
IEF1ZGlvTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDk1Nyw3ICsyNDk0NSw2IEBACiAJCQkJ
RkRBMTVFQTAxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGREExNUVBNjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0NvbnRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUE4MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1
ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlGREExNUVBQTEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUFFMTJC
MDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
QTE1RUIwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkRBMTVFQjQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9QYXJhbS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODI2OSw3ICsyODI1Niw2IEBACiAJCQkJRkRBMTVFQTUxMkIwM0VFMTAwM0E1ODNB
IC8qIEpTQXVkaW9Db250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZERUFBQUY0MTJCMDJF
RTQwMERDRjMzQiAvKiBKU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGREExNUVBNzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlGREExNUVBOTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dh
aW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQUQxMkIwM0VFMTAwM0E1ODNBIC8qIEpT
QXVkaW9MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBRjEyQjAzRUUxMDAz
QTU4M0EgLyogSlNBdWRpb05vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQjMxMkIw
M0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9QYXJhbS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE0NjE5NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTE5ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVl
bi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRpb0dhaW4uaWRsIGZyb20gY29t
cGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IHRvIHZlcmlmeSBHYWluTm9kZSBhdHRyaWJ1dGVzLgorCisgICAgICAgICogd2ViYXVk
aW8vZ2Fpbi1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2dh
aW4tYmFzaWMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMTkgIMOBZMOhbSBLYWxsYWkgIDxrYWRh
bUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4g
U2tpcCBzb21lIGZhaWxpbmcgdGVzdHMuCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9nYWlu
LWJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9n
YWluLWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1
ZGlvL2dhaW4tYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAK
K1Rlc3RzIEdhaW5Ob2RlIGF0dHJpYnV0ZXMgaW4gSURMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgZ2FpbiBpcyBvZiBBdWRpb1BhcmFtIHR5cGUuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1
ZGlvL2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1ZGlv
L2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBF
IGh0bWw+CisKKzwhLS0KK1Rlc3RzIHRoYXQgR2Fpbk5vZGUgaXMgcHJvcGVybHkgc2NhbGluZyB0
aGUgZ2Fpbi4KK1dlJ2xsIHJlbmRlciAxMSBub3Rlcywgc3RhcnRpbmcgYXQgYSBnYWluIG9mIDEu
MCwgZGVjcmVhc2luZyBpbiBnYWluIGJ5IDAuMS4KK1RoZSAxMXRoIG5vdGUgd2lsbCBiZSBvZiBn
YWluIDAuMCwgc28gaXQgc2hvdWxkIGJlIHNpbGVudCAoYXQgdGhlIGVuZCBpbiB0aGUgcmVuZGVy
ZWQgb3V0cHV0KS4KKy0tPgorCis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5nLmpzIj48L3NjcmlwdD4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgR2Fpbk5v
ZGUgYXR0cmlidXRlcyBpbiBJREwuIik7CisKK3ZhciBzYW1wbGVSYXRlID0gNDQxMDAuMDsKK3Zh
ciByZW5kZXJMZW5ndGhJbkZyYW1lcyA9IDUxMjsKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIC8v
IENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCisgICAgdmFyIGNvbnRleHQgPSBuZXcgd2Vi
a2l0T2ZmbGluZUF1ZGlvQ29udGV4dCgyLCByZW5kZXJMZW5ndGhJbkZyYW1lcywgc2FtcGxlUmF0
ZSk7CisKKyAgICAvLyBDcmVhdGUgR2FpbiBub2RlLgorICAgIHZhciBnYWluTm9kZSA9IGNvbnRl
eHQuY3JlYXRlR2Fpbk5vZGUoKTsKKworICAgIGlmIChnYWluTm9kZS5nYWluLnRvU3RyaW5nKCku
aW5kZXhPZigiQXVkaW9QYXJhbSIpID4gLTEpCisgICAgICAgIHRlc3RQYXNzZWQoImdhaW4gaXMg
b2YgQXVkaW9QYXJhbSB0eXBlLiIpOworICAgIGVsc2UKKyAgICAgICAgdGVzdEZhaWxlZCgiZ2Fp
biBpcyBub3Qgb2YgQXVkaW9QYXJhbSB0eXBlLiIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9
CisKK3J1blRlc3QoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="215409"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193968</attachid>
            <date>2013-03-19 19:19:01 -0700</date>
            <delta_ts>2013-03-21 02:14:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-112650.txt</filename>
            <type>text/plain</type>
            <size>31962</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjE5NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTAzLTE5ICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRp
b0dhaW4uaWRsIGZyb20gY29tcGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jh
dy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0aW9uLmh0bWwjR2Fpbk5vZGUKKyAgICAgICAg
ICAgICAgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8v
c3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvQnVmZmVyU291cmNlTm9kZQorCisgICAgICAgIEF1ZGlv
UGFyYW0gc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UgYXMgQXVkaW9HYWluLiBJbmZhY3QsIEF1ZGlv
R2FpbiBpbmhlcml0cworICAgICAgICBBdWRpb1BhcmFtIGNsYXNzIGFuZCBkb2Vzbid0IGhhdmUg
aXRzIG93biBtZW1iZXIgZnVuY3Rpb25zL3BhcmFtZXRlcnMuIEFsc28sCisgICAgICAgIEF1ZGlv
R2FpbiBpcyBub3QgcGFydCBvZiBXZWJBdWRpbyBXM0Mgc3BlY2lmaWNhdGlvbnMuCisKKyAgICAg
ICAgVGVzdDogd2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oOgorICAgICAgICAo
QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291
cmNlTm9kZTo6Z2Fpbik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmg6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2Fpbk5vZGU6OkdhaW5Ob2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2Rl
OjpjcmVhdGUpOgorICAgICAgICAoR2Fpbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6R2Fpbk5v
ZGU6OmdhaW4pOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYW5uZXJOb2RlOjpQYW5uZXJOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bh
bm5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmRpc3RhbmNlR2Fpbik6
CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpjb25lR2Fpbik6CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEzLTAzLTE5ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS10gV3JvbmcgZ3VhcmQg
VVNFKEdMWCkgaW4gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjUxLDcgKzI1MSw2IEBAIHNldChXZWJDb3JlX0lETF9GSUxF
UwogICAgIE1vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaWRsCiAgICAgTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5pZGwKLSAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwKICAg
ICBNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9MaXN0ZW5lci5pZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDcgKzEz
Niw2IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9EZXN0aW5hdGlvbk5vZGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9HYWluLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2Rl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbCBcCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYs
NiBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5l
bFNwbGl0dGVyTm9kZS5pZGwgXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmlkbCBcCiAgICAgJCRQV0QvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5pZGwgXAotICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbCBcCiAgICAg
JCRQV0QvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwgXAogICAgICQkUFdEL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGwgXAogICAgICQkUFdEL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Ob2RlLmlkbCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlz
aW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtp
bmcgY29weSkKQEAgLTUxLDggKzUxLDYgQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9Db250ZXh0LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9HYWluLmNwcCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fpbi5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuY3BwIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
ZGlvTGlzdGVuZXIuY3BwIFwKQEAgLTEyOTQsNyArMTI5Miw2IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwgXAotCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsIFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9MaXN0ZW5lci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuaWRsIFwKQEAgLTIwNTAsNyArMjA0Nyw2IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNp
b24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpA
QCAtMzQzNiw3ICszNDM2LDYgQEAgZW5hYmxlPyhXRUJfQVVESU8pIHsKICAgICAgICAgTW9kdWxl
cy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmggXAogICAgICAgICBNb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oIFwKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5oIFwKLSAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaCBcCiAg
ICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaCBcCiAgICAgICAgIE1vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9MaXN0ZW5lci5oIFwKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb05v
ZGUuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTIwMSw3ICsyMDEsNiBAQAog
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwnLAotICAgICAg
ICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9MaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmlkbCcsCkBAIC0xMDEwLDcgKzEwMDksNiBAQAogICAgICAgICAgICAgJ01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvRGVzdGluYXRpb25Ob2RlLmgnLAotICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9HYWluLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3Bw
JywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5jcHAnLApAQCAtNjMzNiw4ICs2MzM0
LDYgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9Db250ZXh0LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oJywKLSAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQXVkaW9HYWluLmNwcCcsCi0gICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fpbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Fpbk5vZGUuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlv
TGlzdGVuZXIuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJTb3VyY2VOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAJKHJldmlzaW9uIDE0NjE3OSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksOSArNjksOSBAQCBBdWRpb0J1ZmZlclNvdXJjZU5v
ZGU6OkF1ZGlvQnVmZmVyU291cmNlCiB7CiAgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVBdWRpb0J1
ZmZlclNvdXJjZSk7CiAKLSAgICBtX2dhaW4gPSBBdWRpb0dhaW46OmNyZWF0ZShjb250ZXh0LCAi
Z2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAgIG1fZ2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0ZShj
b250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOwogICAgIG1fcGxheWJhY2tSYXRlID0gQXVk
aW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJwbGF5YmFja1JhdGUiLCAxLjAsIDAuMCwgTWF4UmF0
ZSk7Ci0gICAgCisKICAgICAvLyBEZWZhdWx0IHRvIG1vbm8uICBBIGNhbGwgdG8gc2V0QnVmZmVy
KCkgd2lsbCBzZXQgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hhbm5lbHMgdG8gdGhhdCBvZiB0aGUg
YnVmZmVyLgogICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0cHV0KHRoaXMs
IDEpKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaAkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiQXVkaW9CdWZmZXIuaCIKICNp
bmNsdWRlICJBdWRpb0J1cy5oIgotI2luY2x1ZGUgIkF1ZGlvR2Fpbi5oIgorI2luY2x1ZGUgIkF1
ZGlvUGFyYW0uaCIKICNpbmNsdWRlICJBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaCIKICNpbmNs
dWRlICJQYW5uZXJOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRyLmg+CkBAIC00Mywy
NCArNDMsMjQgQEAgY2xhc3MgQXVkaW9Db250ZXh0OwogLy8gSXQgZ2VuZXJhbGx5IHdpbGwgYmUg
dXNlZCBmb3Igc2hvcnQgc291bmRzIHdoaWNoIHJlcXVpcmUgYSBoaWdoIGRlZ3JlZSBvZiBzY2hl
ZHVsaW5nIGZsZXhpYmlsaXR5IChjYW4gcGxheWJhY2sgaW4gcmh5dGhtaWNhbGx5IHBlcmZlY3Qg
d2F5cykuCiAKIGNsYXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA6IHB1YmxpYyBBdWRpb1NjaGVk
dWxlZFNvdXJjZU5vZGUgewotcHVibGljOiAgICAKK3B1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxBdWRpb0J1ZmZlclNvdXJjZU5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQqLCBmbG9hdCBz
YW1wbGVSYXRlKTsKIAogICAgIHZpcnR1YWwgfkF1ZGlvQnVmZmVyU291cmNlTm9kZSgpOwotICAg
IAorCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90IGZy
YW1lc1RvUHJvY2Vzcyk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7Ci0gICAgCisKICAgICAv
LyBzZXRCdWZmZXIoKSBpcyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkLiAgVGhpcyBpcyB0aGUg
YnVmZmVyIHdlIHVzZSBmb3IgcGxheWJhY2suCiAgICAgLy8gcmV0dXJucyB0cnVlIG9uIHN1Y2Nl
c3MuCiAgICAgYm9vbCBzZXRCdWZmZXIoQXVkaW9CdWZmZXIqKTsKICAgICBBdWRpb0J1ZmZlciog
YnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXIuZ2V0KCk7IH0KLSAgICAgICAgICAgICAgICAgICAg
CisKICAgICAvLyBudW1iZXJPZkNoYW5uZWxzKCkgcmV0dXJucyB0aGUgbnVtYmVyIG9mIG91dHB1
dCBjaGFubmVscy4gIFRoaXMgdmFsdWUgZXF1YWxzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgZnJv
bSB0aGUgYnVmZmVyLgogICAgIC8vIElmIGEgbmV3IGJ1ZmZlciBpcyBzZXQgd2l0aCBhIGRpZmZl
cmVudCBudW1iZXIgb2YgY2hhbm5lbHMsIHRoZW4gdGhpcyB2YWx1ZSB3aWxsIGR5bmFtaWNhbGx5
IGNoYW5nZS4KICAgICB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIAorCiAgICAgLy8gUGxheS1zdGF0ZQogICAgIHZvaWQgc3RhcnRHcmFpbihkb3VibGUg
d2hlbiwgZG91YmxlIGdyYWluT2Zmc2V0KTsKICAgICB2b2lkIHN0YXJ0R3JhaW4oZG91YmxlIHdo
ZW4sIGRvdWJsZSBncmFpbk9mZnNldCwgZG91YmxlIGdyYWluRHVyYXRpb24pOwpAQCAtODUsNyAr
ODUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsb29waW5nKCk7CiAgICAgdm9pZCBzZXRMb29waW5n
KGJvb2wpOwogCi0gICAgQXVkaW9HYWluKiBnYWluKCkgeyByZXR1cm4gbV9nYWluLmdldCgpOyB9
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgIEF1ZGlvUGFyYW0q
IGdhaW4oKSB7IHJldHVybiBtX2dhaW4uZ2V0KCk7IH0KICAgICBBdWRpb1BhcmFtKiBwbGF5YmFj
a1JhdGUoKSB7IHJldHVybiBtX3BsYXliYWNrUmF0ZS5nZXQoKTsgfQogCiAgICAgLy8gSWYgYSBw
YW5uZXIgbm9kZSBpcyBzZXQsIHRoZW4gd2UgY2FuIGluY29ycG9yYXRlIGRvcHBsZXIgc2hpZnQg
aW50byB0aGUgcGxheWJhY2sgcGl0Y2ggcmF0ZS4KQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2YXRl
OgogICAgIE93bkFycmF5UHRyPGZsb2F0Kj4gbV9kZXN0aW5hdGlvbkNoYW5uZWxzOwogCiAgICAg
Ly8gVXNlZCBmb3IgdGhlICJnYWluIiBhbmQgInBsYXliYWNrUmF0ZSIgYXR0cmlidXRlcy4KLSAg
ICBSZWZQdHI8QXVkaW9HYWluPiBtX2dhaW47CisgICAgUmVmUHRyPEF1ZGlvUGFyYW0+IG1fZ2Fp
bjsKICAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9wbGF5YmFja1JhdGU7CiAKICAgICAvLyBJZiBt
X2lzTG9vcGluZyBpcyBmYWxzZSwgdGhlbiB0aGlzIG5vZGUgd2lsbCBiZSBkb25lIHBsYXlpbmcg
YW5kIGJlY29tZSBpbmFjdGl2ZSBhZnRlciBpdCByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIHNhbXBs
ZSBkYXRhIGluIHRoZSBidWZmZXIuCkBAIC0xNDAsNyArMTQwLDcgQEAgcHJpdmF0ZToKIAogICAg
IC8vIG1fbGFzdEdhaW4gcHJvdmlkZXMgY29udGludWl0eSB3aGVuIHdlIGR5bmFtaWNhbGx5IGFk
anVzdCB0aGUgZ2Fpbi4KICAgICBmbG9hdCBtX2xhc3RHYWluOwotICAgIAorCiAgICAgLy8gV2Ug
b3B0aW9uYWxseSBrZWVwIHRyYWNrIG9mIGEgcGFubmVyIG5vZGUgd2hpY2ggaGFzIGEgZG9wcGxl
ciBzaGlmdCB0aGF0IGlzIGluY29ycG9yYXRlZCBpbnRvCiAgICAgLy8gdGhlIHBpdGNoIHJhdGUu
IFdlIG1hbnVhbGx5IG1hbmFnZSByZWYtY291bnRpbmcgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBS
ZWZUeXBlQ29ubmVjdGlvbi4KICAgICBQYW5uZXJOb2RlKiBtX3Bhbm5lck5vZGU7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDcgKzM3LDcgQEAKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBw
bGF5YmFja1N0YXRlOwogCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvR2FpbiBnYWluOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGdhaW47CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEF1ZGlvUGFyYW0gcGxheWJhY2tSYXRlOwogCiAgICAgYXR0cmlidXRlIGJvb2xlYW4g
bG9vcDsgLy8gVGhpcyBpcyB0aGUgcHJvcGVyIGF0dHJpYnV0ZSBuYW1lIGZyb20gdGhlIHNwZWNp
ZmljYXRpb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fp
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9H
YWluLmgJKHJldmlzaW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9HYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYg
QXVkaW9HYWluX2gKLSNkZWZpbmUgQXVkaW9HYWluX2gKLQotI2luY2x1ZGUgIkF1ZGlvUGFyYW0u
aCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIEF1ZGlvR2FpbiA6IHB1YmxpYyBBdWRpb1BhcmFtIHsKLXB1YmxpYzogICAKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxBdWRpb0dhaW4+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IGNoYXIqIG5hbWUsIGRvdWJsZSBkZWZhdWx0VmFsdWUsIGRvdWJsZSBtaW5WYWx1ZSwg
ZG91YmxlIG1heFZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdWRp
b0dhaW4oY29udGV4dCwgbmFtZSwgZGVmYXVsdFZhbHVlLCBtaW5WYWx1ZSwgbWF4VmFsdWUpKTsK
LSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgQXVkaW9HYWluKEF1ZGlvQ29udGV4dCogY29udGV4dCwg
Y29uc3QgY2hhciogbmFtZSwgZG91YmxlIGRlZmF1bHRWYWx1ZSwgZG91YmxlIG1pblZhbHVlLCBk
b3VibGUgbWF4VmFsdWUpCi0gICAgICAgIDogQXVkaW9QYXJhbShjb250ZXh0LCBuYW1lLCBkZWZh
dWx0VmFsdWUsIG1pblZhbHVlLCBtYXhWYWx1ZSkKLSAgICB7Ci0gICAgfQotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQXVkaW9QYXJhbV9oCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsCShyZXZpc2lvbiAxNDYx
NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4g
IE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0
aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJfQVVE
SU8sCi0gICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKLV0gaW50ZXJmYWNlIEF1ZGlvR2FpbiA6IEF1
ZGlvUGFyYW0gewotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fp
bk5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
R2Fpbk5vZGUuY3BwCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTMgKzM5LDEzIEBA
IEdhaW5Ob2RlOjpHYWluTm9kZShBdWRpb0NvbnRleHQqIGNvbnRleHQKICAgICAsIG1fbGFzdEdh
aW4oMS4wKQogICAgICwgbV9zYW1wbGVBY2N1cmF0ZUdhaW5WYWx1ZXMoQXVkaW9Ob2RlOjpQcm9j
ZXNzaW5nU2l6ZUluRnJhbWVzKSAvLyBGSVhNRTogY2FuIHByb2JhYmx5IHNoYXJlIHRlbXAgYnVm
ZmVyIGluIGNvbnRleHQKIHsKLSAgICBtX2dhaW4gPSBBdWRpb0dhaW46OmNyZWF0ZShjb250ZXh0
LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAgIG1fZ2FpbiA9IEF1ZGlvUGFyYW06OmNyZWF0
ZShjb250ZXh0LCAiZ2FpbiIsIDEuMCwgMC4wLCAxLjApOwogCiAgICAgYWRkSW5wdXQoYWRvcHRQ
dHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAgICAgYWRkT3V0cHV0KGFkb3B0UHRyKG5l
dyBBdWRpb05vZGVPdXRwdXQodGhpcywgMSkpKTsKLSAgICAKKwogICAgIHNldE5vZGVUeXBlKE5v
ZGVUeXBlR2Fpbik7Ci0gICAgCisKICAgICBpbml0aWFsaXplKCk7CiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgJKHJldmlzaW9uIDE0NjE3OSkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMjUsMTUgKzI1LDE1IEBACiAjaWZuZGVmIEdhaW5Ob2RlX2gKICNkZWZpbmUgR2Fp
bk5vZGVfaAogCi0jaW5jbHVkZSAiQXVkaW9HYWluLmgiCiAjaW5jbHVkZSAiQXVkaW9Ob2RlLmgi
CisjaW5jbHVkZSAiQXVkaW9QYXJhbS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEF1ZGlvQ29udGV4dDsKLSAgICAKKwogLy8gR2Fpbk5vZGUgaXMgYW4gQXVkaW9Ob2RlIHdpdGgg
b25lIGlucHV0IGFuZCBvbmUgb3V0cHV0IHdoaWNoIGFwcGxpZXMgYSBnYWluICh2b2x1bWUpIGNo
YW5nZSB0byB0aGUgYXVkaW8gc2lnbmFsLgogLy8gRGUtemlwcGVyaW5nIChzbW9vdGhpbmcpIGlz
IGFwcGxpZWQgd2hlbiB0aGUgZ2FpbiB2YWx1ZSBpcyBjaGFuZ2VkIGR5bmFtaWNhbGx5LgogCkBA
IC00MSw5ICs0MSw5IEBAIGNsYXNzIEdhaW5Ob2RlIDogcHVibGljIEF1ZGlvTm9kZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8R2Fpbk5vZGU+IGNyZWF0ZShBdWRpb0NvbnRleHQq
IGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEdhaW5Ob2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsgICAgICAKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBHYWluTm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CiAgICAgfQot
ICAgIAorCiAgICAgLy8gQXVkaW9Ob2RlCiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90
IGZyYW1lc1RvUHJvY2Vzcyk7CiAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CkBAIC01Miw4ICs1
Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tOdW1iZXJPZkNoYW5uZWxzRm9y
SW5wdXQoQXVkaW9Ob2RlSW5wdXQqKTsKIAogICAgIC8vIEphdmFTY3JpcHQgaW50ZXJmYWNlCi0g
ICAgQXVkaW9HYWluKiBnYWluKCkgeyByZXR1cm4gbV9nYWluLmdldCgpOyB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAKKyAgICBBdWRpb1BhcmFtKiBnYWluKCkgeyBy
ZXR1cm4gbV9nYWluLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgdGFp
bFRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBkb3VibGUg
bGF0ZW5jeVRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAwOyB9CkBAIC02MSw3ICs2MSw3
IEBAIHByaXZhdGU6CiAgICAgR2Fpbk5vZGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0
ZSk7CiAKICAgICBmbG9hdCBtX2xhc3RHYWluOyAvLyBmb3IgZGUtemlwcGVyaW5nCi0gICAgUmVm
UHRyPEF1ZGlvR2Fpbj4gbV9nYWluOworICAgIFJlZlB0cjxBdWRpb1BhcmFtPiBtX2dhaW47CiAK
ICAgICBBdWRpb0Zsb2F0QXJyYXkgbV9zYW1wbGVBY2N1cmF0ZUdhaW5WYWx1ZXM7CiB9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwJKHJldmlz
aW9uIDE0NjE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw1ICsyNyw1IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKIF0gaW50ZXJmYWNlIEdhaW5Ob2RlIDogQXVkaW9Ob2RlIHsKICAgICAvLyBGSVhNRTog
ZXZlbnR1YWxseSBpdCB3aWxsIGJlIGludGVyZXN0aW5nIHRvIHJlbW92ZSB0aGUgcmVhZG9ubHkg
cmVzdHJpY3Rpb24sIGJ1dCBuZWVkIHRvIHByb3Blcmx5IGRlYWwgd2l0aCB0aHJlYWQgc2FmZXR5
IGhlcmUuCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvR2FpbiBnYWluOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGdhaW47CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCShyZXZpc2lvbiAxNDYxNzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MiwxMyArNjIsMTMgQEAgUGFubmVyTm9kZTo6UGFubmVyTm9kZShBdWRpb0Nv
bnRleHQqIGNvbgogICAgIG1fY2hhbm5lbENvdW50TW9kZSA9IENsYW1wZWRNYXg7CiAgICAgbV9j
aGFubmVsSW50ZXJwcmV0YXRpb24gPSBBdWRpb0J1czo6U3BlYWtlcnM7CiAKLSAgICBtX2Rpc3Rh
bmNlR2FpbiA9IEF1ZGlvR2Fpbjo6Y3JlYXRlKGNvbnRleHQsICJkaXN0YW5jZUdhaW4iLCAxLjAs
IDAuMCwgMS4wKTsKLSAgICBtX2NvbmVHYWluID0gQXVkaW9HYWluOjpjcmVhdGUoY29udGV4dCwg
ImNvbmVHYWluIiwgMS4wLCAwLjAsIDEuMCk7CisgICAgbV9kaXN0YW5jZUdhaW4gPSBBdWRpb1Bh
cmFtOjpjcmVhdGUoY29udGV4dCwgImRpc3RhbmNlR2FpbiIsIDEuMCwgMC4wLCAxLjApOworICAg
IG1fY29uZUdhaW4gPSBBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImNvbmVHYWluIiwgMS4w
LCAwLjAsIDEuMCk7CiAKICAgICBtX3Bvc2l0aW9uID0gRmxvYXRQb2ludDNEKDAsIDAsIDApOwog
ICAgIG1fb3JpZW50YXRpb24gPSBGbG9hdFBvaW50M0QoMSwgMCwgMCk7CiAgICAgbV92ZWxvY2l0
eSA9IEZsb2F0UG9pbnQzRCgwLCAwLCAwKTsKLSAgICAKKwogICAgIHNldE5vZGVUeXBlKE5vZGVU
eXBlUGFubmVyKTsKIAogICAgIGluaXRpYWxpemUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5oCShyZXZpc2lvbiAxNDYxNzkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMjYsOSArMjYsOSBAQAogI2RlZmluZSBQYW5uZXJOb2RlX2gKIAogI2luY2x1ZGUgIkF1ZGlv
QnVzLmgiCi0jaW5jbHVkZSAiQXVkaW9HYWluLmgiCiAjaW5jbHVkZSAiQXVkaW9MaXN0ZW5lci5o
IgogI2luY2x1ZGUgIkF1ZGlvTm9kZS5oIgorI2luY2x1ZGUgIkF1ZGlvUGFyYW0uaCIKICNpbmNs
dWRlICJDb25lLmgiCiAjaW5jbHVkZSAiRGlzdGFuY2UuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgICAgICBJTlZFUlNFX0RJU1RBTkNF
ID0gMSwKICAgICAgICAgRVhQT05FTlRJQUxfRElTVEFOQ0UgPSAyLAogICAgIH07Ci0gICAgCisK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQYW5uZXJOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBj
b250ZXh0LCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBQYW5uZXJOb2RlKGNvbnRleHQsIHNhbXBsZVJhdGUpKTsKQEAgLTEyMyw4ICsxMjMsOCBA
QCBwdWJsaWM6CiAgICAgZmxvYXQgZG9wcGxlclJhdGUoKTsKIAogICAgIC8vIEFjY2Vzc29ycyBm
b3IgZHluYW1pY2FsbHkgY2FsY3VsYXRlZCBnYWluIHZhbHVlcy4KLSAgICBBdWRpb0dhaW4qIGRp
c3RhbmNlR2FpbigpIHsgcmV0dXJuIG1fZGlzdGFuY2VHYWluLmdldCgpOyB9ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotICAgIEF1ZGlvR2FpbiogY29uZUdhaW4oKSB7
IHJldHVybiBtX2NvbmVHYWluLmdldCgpOyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAorICAgIEF1ZGlvUGFyYW0qIGRpc3RhbmNlR2FpbigpIHsgcmV0dXJuIG1fZGlz
dGFuY2VHYWluLmdldCgpOyB9CisgICAgQXVkaW9QYXJhbSogY29uZUdhaW4oKSB7IHJldHVybiBt
X2NvbmVHYWluLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIG1fcGFubmVyID8gbV9wYW5uZXItPnRhaWxUaW1lKCkgOiAwOyB9
CiAgICAgdmlydHVhbCBkb3VibGUgbGF0ZW5jeVRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX3Bhbm5lciA/IG1fcGFubmVyLT5sYXRlbmN5VGltZSgpIDogMDsgfQpAQCAtMTQ3LDggKzE0
Nyw4IEBAIHByaXZhdGU6CiAgICAgRmxvYXRQb2ludDNEIG1fdmVsb2NpdHk7CiAKICAgICAvLyBH
YWluCi0gICAgUmVmUHRyPEF1ZGlvR2Fpbj4gbV9kaXN0YW5jZUdhaW47Ci0gICAgUmVmUHRyPEF1
ZGlvR2Fpbj4gbV9jb25lR2FpbjsKKyAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9kaXN0YW5jZUdh
aW47CisgICAgUmVmUHRyPEF1ZGlvUGFyYW0+IG1fY29uZUdhaW47CiAgICAgRGlzdGFuY2VFZmZl
Y3QgbV9kaXN0YW5jZUVmZmVjdDsKICAgICBDb25lRWZmZWN0IG1fY29uZUVmZmVjdDsKICAgICBm
bG9hdCBtX2xhc3RHYWluOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTQ2MTc5KQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
NTk3LDcgKzY1OTcsNiBAQAogCQlGRDMxNjAwNTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9Db250
ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMx
NUZCQjEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9Db250ZXh0LmggKi87IH07CiAJCUZEMzE2MDA3
MTJCMDI2NzYwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZCRDEyQjAyNjc1MDBDMUEz
NTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovOyB9OwogCQlGRDMxNjAwODEyQjAyNjc2
MDBDMUEzNTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMzE1RkJFMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5oICovOyB9OwotCQlGRDMxNjAwQTEyQjAyNjc2MDBDMUEzNTkgLyog
QXVkaW9HYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9HYWluLmggKi87IH07CiAJCUZEMzE2
MDBDMTJCMDI2NzYwMEMxQTM1OSAvKiBHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZDMjEyQjAyNjc1MDBDMUEzNTkgLyogR2Fp
bk5vZGUuY3BwICovOyB9OwogCQlGRDMxNjAwRDEyQjAyNjc2MDBDMUEzNTkgLyogR2Fpbk5vZGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMzE1RkMz
MTJCMDI2NzUwMEMxQTM1OSAvKiBHYWluTm9kZS5oICovOyB9OwogCQlGRDMxNjAwRjEyQjAyNjc2
MDBDMUEzNTkgLyogQXVkaW9MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZDNTEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9MaXN0
ZW5lci5jcHAgKi87IH07CkBAIC02NzQ1LDggKzY3NDQsNiBAQAogCQlGREExNUVBNjEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29u
dGV4dC5oICovOyB9OwogCQlGREExNUVBNzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREExNUU4QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHAgKi87IH07CiAJCUZEQTE1RUE4MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvRGVzdGluYXRp
b25Ob2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
REExNUU4QzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oICovOyB9
OwotCQlGREExNUVBOTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEQxMkIwM0VFMTAw
M0E1ODNBIC8qIEpTQXVkaW9HYWluLmNwcCAqLzsgfTsKLQkJRkRBMTVFQUExMkIwM0VFMTAwM0E1
ODNBIC8qIEpTQXVkaW9HYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGREExNUU4RTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uaCAqLzsg
fTsKIAkJRkRBMTVFQUIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEYxMkIwM0VFMTAw
M0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwICovOyB9OwogCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4
M0EgLyogSlNHYWluTm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkRBMTVFOTAxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuaCAqLzsgfTsK
IAkJRkRBMTVFQUQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREExNUU5MTEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0xpc3RlbmVyLmNwcCAqLzsgfTsKQEAgLTE0Mzg3LDggKzE0Mzg0
LDYgQEAKIAkJRkQzMTVGQkQxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQkUxMkIwMjY3
NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEF1ZGlvRGVzdGluYXRpb25Ob2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZEMzE1RkJGMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyog
QXVkaW9HYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvR2Fpbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRDMxNUZDMTEyQjAyNjc1MDBDMUEzNTkg
LyogQXVkaW9HYWluLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBdWRpb0dhaW4uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDMxNUZDMjEyQjAyNjc1MDBDMUEzNTkgLyog
R2Fpbk5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2Fpbk5v
ZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDMxNUZDMzEyQjAyNjc1MDBD
MUEzNTkgLyogR2Fpbk5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2Fp
bk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQzQxMkIwMjY3NTAw
QzFBMzU5IC8qIEdhaW5Ob2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHYWluTm9kZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDU1NCw4ICsxNDU0OSw2IEBACiAJ
CUZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0F1ZGlvQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGREExNUU4QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlv
RGVzdGluYXRpb25Ob2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRBMTVF
OEMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlGREExNUU4RDEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRp
b0dhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdWRpb0dh
aW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGREExNUU4RTEyQjAzRUUxMDAz
QTU4M0EgLyogSlNBdWRpb0dhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNBdWRpb0dhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRBMTVFOEYxMkIw
M0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNHYWluTm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZEQTE1RTkwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2Fpbk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkRBMTVFOTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlvTGlzdGVuZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMwNTgsOCArMjMwNTEsNiBAQAogCQkJCUZE
MzE1RkJEMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8sCiAJ
CQkJRkQzMTVGQkUxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8s
CiAJCQkJRkQzMTVGQkYxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVzdGluYXRpb25Ob2RlLmlk
bCAqLywKLQkJCQlGRDMxNUZDMDEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9HYWluLmggKi8sCi0J
CQkJRkQzMTVGQzExMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5pZGwgKi8sCiAJCQkJRkQz
MTVGQzUxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuY3BwICovLAogCQkJCUZEMzE1
RkM2MTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0xpc3RlbmVyLmggKi8sCiAJCQkJRkQzMTVGQzcx
MkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuaWRsICovLApAQCAtMjMyNjAsOCArMjMy
NTEsNiBAQAogCQkJCUZEQTE1RThBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5o
ICovLAogCQkJCUZEQTE1RThCMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcCAqLywKIAkJCQlGREExNUU4QzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5oICovLAotCQkJCUZEQTE1RThEMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlv
R2Fpbi5jcHAgKi8sCi0JCQkJRkRBMTVFOEUxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWlu
LmggKi8sCiAJCQkJRkRBMTVFOTExMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5j
cHAgKi8sCiAJCQkJRkRBMTVFOTIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9MaXN0ZW5lci5o
ICovLAogCQkJCUZEQTE1RTkzMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTm9kZS5jcHAgKi8s
CkBAIC0yMzQxNSw3ICsyMzQwNCw2IEBACiAJCQkJRkQzMTYwODIxMkIwMjZGNzAwQzFBMzU5IC8q
IEF1ZGlvRFNQS2VybmVsUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA4MzEy
QjAyNkY3MDBDMUEzNTkgLyogQXVkaW9GaWxlUmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RDMxNjBCRjEyQjAyNzJBMDBDMUEzNTkgLyogQXVkaW9GaWxlUmVhZGVyTWFjLmggaW4gSGVhZGVy
cyAqLywKLQkJCQlGRDMxNjAwQTEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9HYWluLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGREUyRDU1QjE1OUU2NkVCMDBEQ0NDRjggLyogQXVkaW9JT0NhbGxiYWNr
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAxMDEyQjAyNjc2MDBDMUEzNTkgLyogQXVkaW9M
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMTMxMkIwMjY3NjAwQzFBMzU5IC8q
IEF1ZGlvTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDk1Nyw3ICsyNDk0NSw2IEBACiAJCQkJ
RkRBMTVFQTAxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGREExNUVBNjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0NvbnRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUE4MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1
ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQlGREExNUVBQTEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUFFMTJC
MDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
QTE1RUIwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkRBMTVFQjQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9QYXJhbS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODI2OSw3ICsyODI1Niw2IEBACiAJCQkJRkRBMTVFQTUxMkIwM0VFMTAwM0E1ODNB
IC8qIEpTQXVkaW9Db250ZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZERUFBQUY0MTJCMDJF
RTQwMERDRjMzQiAvKiBKU0F1ZGlvQ29udGV4dEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGREExNUVBNzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQlGREExNUVBOTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dh
aW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQUQxMkIwM0VFMTAwM0E1ODNBIC8qIEpT
QXVkaW9MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBRjEyQjAzRUUxMDAz
QTU4M0EgLyogSlNBdWRpb05vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQjMxMkIw
M0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9QYXJhbS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE0NjE5NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAzLTE5ICBQcmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVl
bi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRpb0dhaW4uaWRsIGZyb20gY29t
cGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0IHRvIHZlcmlmeSBHYWluTm9kZSBhdHRyaWJ1dGVzLgorCisgICAgICAgICogd2ViYXVk
aW8vZ2Fpbi1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmF1ZGlvL2dh
aW4tYmFzaWMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMTkgIMOBZMOhbSBLYWxsYWkgIDxrYWRh
bUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4g
U2tpcCBzb21lIGZhaWxpbmcgdGVzdHMuCkluZGV4OiBMYXlvdXRUZXN0cy93ZWJhdWRpby9nYWlu
LWJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy93ZWJhdWRpby9n
YWluLWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1
ZGlvL2dhaW4tYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAK
K1Rlc3RzIEdhaW5Ob2RlIGF0dHJpYnV0ZXMgaW4gSURMLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1BBU1MgZ2FpbiBpcyBvZiBBdWRpb1BhcmFtIHR5cGUuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMv
d2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3dlYmF1
ZGlvL2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3dlYmF1ZGlv
L2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBF
IGh0bWw+CisKKzwhLS0KK1ZlcmlmaWVzIEdhaW5Ob2RlIGF0dHJpYnV0ZXMgYW5kIHRoZWlyIHR5
cGUuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+PC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKzxib2R5PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIEdhaW5Ob2RlIGF0dHJp
YnV0ZXMgaW4gSURMLiIpOworCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisK
KyAgICAvLyBDcmVhdGUgYXVkaW8gY29udGV4dC4KKyAgICB2YXIgY29udGV4dCA9IG5ldyB3ZWJr
aXRBdWRpb0NvbnRleHQoKTsKKworICAgIC8vIENyZWF0ZSBnYWluIG5vZGUuCisgICAgdmFyIGdh
aW5Ob2RlID0gY29udGV4dC5jcmVhdGVHYWluTm9kZSgpOworCisgICAgaWYgKGdhaW5Ob2RlLmdh
aW4udG9TdHJpbmcoKS5pbmRleE9mKCJBdWRpb1BhcmFtIikgPiAtMSkKKyAgICAgICAgdGVzdFBh
c3NlZCgiZ2FpbiBpcyBvZiBBdWRpb1BhcmFtIHR5cGUuIik7CisgICAgZWxzZQorICAgICAgICB0
ZXN0RmFpbGVkKCJnYWluIGlzIG5vdCBvZiBBdWRpb1BhcmFtIHR5cGUuIik7Cit9CisKK3J1blRl
c3QoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="215636"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194205</attachid>
            <date>2013-03-21 02:14:18 -0700</date>
            <delta_ts>2013-03-21 11:10:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>WebAudio-112650.txt</filename>
            <type>text/plain</type>
            <size>31980</size>
            <attacher name="Praveen Jadhav">praveen.j</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NjQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTAzLTIxICBQcmF2ZWVu
IFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBBdWRp
b0dhaW4uaWRsIGZyb20gY29tcGlsYXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jh
dy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0aW9uLmh0bWwjR2Fpbk5vZGUKKyAgICAgICAg
ICAgICAgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmlsZS90aXAvd2ViYXVkaW8v
c3BlY2lmaWNhdGlvbi5odG1sI0F1ZGlvQnVmZmVyU291cmNlTm9kZQorCisgICAgICAgIEF1ZGlv
UGFyYW0gc2VydmVzIHRoZSBzYW1lIHB1cnBvc2UgYXMgQXVkaW9HYWluLiBJbmZhY3QsIEF1ZGlv
R2FpbiBpbmhlcml0cworICAgICAgICBBdWRpb1BhcmFtIGNsYXNzIGFuZCBkb2Vzbid0IGhhdmUg
aXRzIG93biBtZW1iZXIgZnVuY3Rpb25zL3BhcmFtZXRlcnMuIEFsc28sCisgICAgICAgIEF1ZGlv
R2FpbiBpcyBub3QgcGFydCBvZiBXZWJBdWRpbyBXM0Mgc3BlY2lmaWNhdGlvbnMuCisKKyAgICAg
ICAgVGVzdDogd2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvQnVmZmVyU291cmNlTm9kZTo6QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oOgorICAgICAgICAo
QXVkaW9CdWZmZXJTb3VyY2VOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQnVmZmVyU291
cmNlTm9kZTo6Z2Fpbik6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNv
dXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmg6IFJl
bW92ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsOiBSZW1vdmVk
LgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2Fpbk5vZGU6OkdhaW5Ob2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0dh
aW5Ob2RlLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdhaW5Ob2Rl
OjpjcmVhdGUpOgorICAgICAgICAoR2Fpbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6R2Fpbk5v
ZGU6OmdhaW4pOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYW5uZXJOb2RlOjpQYW5uZXJOb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1Bh
bm5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhbm5lck5vZGU6OmRpc3RhbmNlR2Fpbik6
CisgICAgICAgIChXZWJDb3JlOjpQYW5uZXJOb2RlOjpjb25lR2Fpbik6CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEzLTAzLTIwICBJbHlhIFRpa2hvbm92c2t5ICA8
bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGbGFtZSBDaGFy
dC4gZHJhdyBiYWNrZ3JvdW5kIGZvciB0aGUgRmxhbWVDaGFydCBvdmVydmlldyBwYW5lIHdpdGgg
dGhlIENQVSBhZ2dyZWdhdGVkIGRhdGEuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNp
b24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTI1MSw3ICsyNTEsNiBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVz
L3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUu
aWRsCi0gICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsCiAgICAgTW9kdWxlcy93ZWJh
dWRpby9HYWluTm9kZS5pZGwKICAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRs
CiAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDE0NjQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw3ICsxMzYsNiBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRl
ck5vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25O
b2RlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0xpc3RlbmVyLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwgXApJbmRleDogU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDYgQEAgSURMX0JJTkRJ
TkdTICs9IFwKICAgICAkJFBXRC9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUu
aWRsIFwKICAgICAkJFBXRC9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwgXAogICAg
ICQkUFdEL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsIFwKLSAgICAk
JFBXRC9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwgXAogICAgICQkUFdEL01vZHVsZXMv
d2ViYXVkaW8vR2Fpbk5vZGUuaWRsIFwKICAgICAkJFBXRC9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
TGlzdGVuZXIuaWRsIFwKICAgICAkJFBXRC9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwg
XApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxNDY0NDgpCisr
KyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw4ICs1MSw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0F1ZGlvQ29udGV4dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fpbi5j
cHAgXAotCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0dhaW4uaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dhaW5Ob2RlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0dhaW5Ob2RlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0xpc3RlbmVyLmNw
cCBcCkBAIC0xMjk2LDcgKzEyOTQsNiBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwgXAogCSQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlv
L0dhaW5Ob2RlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVu
ZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbCBcCkBA
IC0yMDUzLDcgKzIwNTAsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBcCi0JU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vR2Fpbk5vZGUuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0xpc3RlbmVyLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDE0NjQ0OCkKKysr
IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTM0MzgsNyArMzQz
OCw2IEBAIGVuYWJsZT8oV0VCX0FVRElPKSB7CiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQ2hh
bm5lbFNwbGl0dGVyTm9kZS5oIFwKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaCBcCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCBc
Ci0gICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmggXAogICAgICAgICBNb2R1bGVz
L3dlYmF1ZGlvL0dhaW5Ob2RlLmggXAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlz
dGVuZXIuaCBcCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmggXApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0yMDEsNyArMjAxLDYgQEAKICAgICAgICAgICAgICdN
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsJywKLSAgICAgICAgICAgICdNb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvR2Fpbi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
R2Fpbk5vZGUuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVu
ZXIuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5pZGwnLApA
QCAtMTAxMSw3ICsxMDEwLDYgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRp
b25Ob2RlLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oJywKLSAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5oJywK
ICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy93ZWJhdWRpby9HYWluTm9kZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvTGlzdGVuZXIuY3BwJywKQEAgLTYzNDIsOCArNjM0MCw2IEBACiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvQ29udGV4
dC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCcsCi0gICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvR2Fp
bi5jcHAnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBdWRpb0dhaW4uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dhaW5Ob2RlLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhaW5Ob2RlLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0xpc3RlbmVyLmNwcCcs
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNl
Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuY3BwCShyZXZpc2lvbiAxNDY0NDgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY5LDkgKzY5LDkgQEAgQXVkaW9CdWZmZXJTb3VyY2VOb2RlOjpBdWRpb0J1ZmZl
clNvdXJjZQogewogICAgIHNldE5vZGVUeXBlKE5vZGVUeXBlQXVkaW9CdWZmZXJTb3VyY2UpOwog
Ci0gICAgbV9nYWluID0gQXVkaW9HYWluOjpjcmVhdGUoY29udGV4dCwgImdhaW4iLCAxLjAsIDAu
MCwgMS4wKTsKKyAgICBtX2dhaW4gPSBBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImdhaW4i
LCAxLjAsIDAuMCwgMS4wKTsKICAgICBtX3BsYXliYWNrUmF0ZSA9IEF1ZGlvUGFyYW06OmNyZWF0
ZShjb250ZXh0LCAicGxheWJhY2tSYXRlIiwgMS4wLCAwLjAsIE1heFJhdGUpOwotICAgIAorCiAg
ICAgLy8gRGVmYXVsdCB0byBtb25vLiAgQSBjYWxsIHRvIHNldEJ1ZmZlcigpIHdpbGwgc2V0IHRo
ZSBudW1iZXIgb2Ygb3V0cHV0IGNoYW5uZWxzIHRvIHRoYXQgb2YgdGhlIGJ1ZmZlci4KICAgICBh
ZGRPdXRwdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAxKSkpOwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZm
ZXJTb3VyY2VOb2RlLmgJKHJldmlzaW9uIDE0NjQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQnVmZmVyLmgiCiAjaW5jbHVkZSAiQXVkaW9C
dXMuaCIKLSNpbmNsdWRlICJBdWRpb0dhaW4uaCIKKyNpbmNsdWRlICJBdWRpb1BhcmFtLmgiCiAj
aW5jbHVkZSAiQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmgiCiAjaW5jbHVkZSAiUGFubmVyTm9k
ZS5oIgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAtNDMsMjQgKzQzLDI0IEBAIGNs
YXNzIEF1ZGlvQ29udGV4dDsKIC8vIEl0IGdlbmVyYWxseSB3aWxsIGJlIHVzZWQgZm9yIHNob3J0
IHNvdW5kcyB3aGljaCByZXF1aXJlIGEgaGlnaCBkZWdyZWUgb2Ygc2NoZWR1bGluZyBmbGV4aWJp
bGl0eSAoY2FuIHBsYXliYWNrIGluIHJoeXRobWljYWxseSBwZXJmZWN0IHdheXMpLgogCiBjbGFz
cyBBdWRpb0J1ZmZlclNvdXJjZU5vZGUgOiBwdWJsaWMgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2Rl
IHsKLXB1YmxpYzogICAgCitwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8QXVkaW9CdWZm
ZXJTb3VyY2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAK
ICAgICB2aXJ0dWFsIH5BdWRpb0J1ZmZlclNvdXJjZU5vZGUoKTsKLSAgICAKKwogICAgIC8vIEF1
ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3Mp
OwogICAgIHZpcnR1YWwgdm9pZCByZXNldCgpOwotICAgIAorCiAgICAgLy8gc2V0QnVmZmVyKCkg
aXMgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZC4gIFRoaXMgaXMgdGhlIGJ1ZmZlciB3ZSB1c2Ug
Zm9yIHBsYXliYWNrLgogICAgIC8vIHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLgogICAgIGJvb2wg
c2V0QnVmZmVyKEF1ZGlvQnVmZmVyKik7CiAgICAgQXVkaW9CdWZmZXIqIGJ1ZmZlcigpIHsgcmV0
dXJuIG1fYnVmZmVyLmdldCgpOyB9Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgLy8gbnVt
YmVyT2ZDaGFubmVscygpIHJldHVybnMgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hhbm5lbHMuICBU
aGlzIHZhbHVlIGVxdWFscyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20gdGhlIGJ1ZmZlci4K
ICAgICAvLyBJZiBhIG5ldyBidWZmZXIgaXMgc2V0IHdpdGggYSBkaWZmZXJlbnQgbnVtYmVyIG9m
IGNoYW5uZWxzLCB0aGVuIHRoaXMgdmFsdWUgd2lsbCBkeW5hbWljYWxseSBjaGFuZ2UuCiAgICAg
dW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscygpOwotICAgICAgICAgICAgICAgICAgICAKKwogICAg
IC8vIFBsYXktc3RhdGUKICAgICB2b2lkIHN0YXJ0R3JhaW4oZG91YmxlIHdoZW4sIGRvdWJsZSBn
cmFpbk9mZnNldCk7CiAgICAgdm9pZCBzdGFydEdyYWluKGRvdWJsZSB3aGVuLCBkb3VibGUgZ3Jh
aW5PZmZzZXQsIGRvdWJsZSBncmFpbkR1cmF0aW9uKTsKQEAgLTg1LDcgKzg1LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgbG9vcGluZygpOwogICAgIHZvaWQgc2V0TG9vcGluZyhib29sKTsKIAotICAg
IEF1ZGlvR2FpbiogZ2FpbigpIHsgcmV0dXJuIG1fZ2Fpbi5nZXQoKTsgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBBdWRpb1BhcmFtKiBnYWluKCkgeyByZXR1
cm4gbV9nYWluLmdldCgpOyB9CiAgICAgQXVkaW9QYXJhbSogcGxheWJhY2tSYXRlKCkgeyByZXR1
cm4gbV9wbGF5YmFja1JhdGUuZ2V0KCk7IH0KIAogICAgIC8vIElmIGEgcGFubmVyIG5vZGUgaXMg
c2V0LCB0aGVuIHdlIGNhbiBpbmNvcnBvcmF0ZSBkb3BwbGVyIHNoaWZ0IGludG8gdGhlIHBsYXli
YWNrIHBpdGNoIHJhdGUuCkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAgICBPd25BcnJh
eVB0cjxmbG9hdCo+IG1fZGVzdGluYXRpb25DaGFubmVsczsKIAogICAgIC8vIFVzZWQgZm9yIHRo
ZSAiZ2FpbiIgYW5kICJwbGF5YmFja1JhdGUiIGF0dHJpYnV0ZXMuCi0gICAgUmVmUHRyPEF1ZGlv
R2Fpbj4gbV9nYWluOworICAgIFJlZlB0cjxBdWRpb1BhcmFtPiBtX2dhaW47CiAgICAgUmVmUHRy
PEF1ZGlvUGFyYW0+IG1fcGxheWJhY2tSYXRlOwogCiAgICAgLy8gSWYgbV9pc0xvb3BpbmcgaXMg
ZmFsc2UsIHRoZW4gdGhpcyBub2RlIHdpbGwgYmUgZG9uZSBwbGF5aW5nIGFuZCBiZWNvbWUgaW5h
Y3RpdmUgYWZ0ZXIgaXQgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBzYW1wbGUgZGF0YSBpbiB0aGUg
YnVmZmVyLgpAQCAtMTQwLDcgKzE0MCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBtX2xhc3RHYWlu
IHByb3ZpZGVzIGNvbnRpbnVpdHkgd2hlbiB3ZSBkeW5hbWljYWxseSBhZGp1c3QgdGhlIGdhaW4u
CiAgICAgZmxvYXQgbV9sYXN0R2FpbjsKLSAgICAKKwogICAgIC8vIFdlIG9wdGlvbmFsbHkga2Vl
cCB0cmFjayBvZiBhIHBhbm5lciBub2RlIHdoaWNoIGhhcyBhIGRvcHBsZXIgc2hpZnQgdGhhdCBp
cyBpbmNvcnBvcmF0ZWQgaW50bwogICAgIC8vIHRoZSBwaXRjaCByYXRlLiBXZSBtYW51YWxseSBt
YW5hZ2UgcmVmLWNvdW50aW5nIGJlY2F1c2Ugd2Ugd2FudCB0byB1c2UgUmVmVHlwZUNvbm5lY3Rp
b24uCiAgICAgUGFubmVyTm9kZSogbV9wYW5uZXJOb2RlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlk
bAkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBA
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgcGxheWJhY2tTdGF0ZTsK
IAotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0dhaW4gZ2FpbjsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgQXVkaW9QYXJhbSBnYWluOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1Bh
cmFtIHBsYXliYWNrUmF0ZTsKIAogICAgIGF0dHJpYnV0ZSBib29sZWFuIGxvb3A7IC8vIFRoaXMg
aXMgdGhlIHByb3BlciBhdHRyaWJ1dGUgbmFtZSBmcm9tIHRoZSBzcGVjaWZpY2F0aW9uLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5oCShyZXZpc2lv
biAxNDY0NDgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvR2Fpbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBu
b3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEF1ZGlvR2Fpbl9oCi0j
ZGVmaW5lIEF1ZGlvR2Fpbl9oCi0KLSNpbmNsdWRlICJBdWRpb1BhcmFtLmgiCi0jaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBBdWRpb0dh
aW4gOiBwdWJsaWMgQXVkaW9QYXJhbSB7Ci1wdWJsaWM6ICAgCi0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8QXVkaW9HYWluPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBjb25zdCBjaGFyKiBu
YW1lLCBkb3VibGUgZGVmYXVsdFZhbHVlLCBkb3VibGUgbWluVmFsdWUsIGRvdWJsZSBtYXhWYWx1
ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXVkaW9HYWluKGNvbnRleHQs
IG5hbWUsIGRlZmF1bHRWYWx1ZSwgbWluVmFsdWUsIG1heFZhbHVlKSk7Ci0gICAgfQotCi1wcml2
YXRlOgotICAgIEF1ZGlvR2FpbihBdWRpb0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IGNoYXIqIG5h
bWUsIGRvdWJsZSBkZWZhdWx0VmFsdWUsIGRvdWJsZSBtaW5WYWx1ZSwgZG91YmxlIG1heFZhbHVl
KQotICAgICAgICA6IEF1ZGlvUGFyYW0oY29udGV4dCwgbmFtZSwgZGVmYXVsdFZhbHVlLCBtaW5W
YWx1ZSwgbWF4VmFsdWUpCi0gICAgewotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEF1ZGlvUGFyYW1faApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9HYWluLmlkbAkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0dhaW4uaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0g
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQot
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAotICAgIEpTR2Vu
ZXJhdGVUb0pTT2JqZWN0Ci1dIGludGVyZmFjZSBBdWRpb0dhaW4gOiBBdWRpb1BhcmFtIHsKLX07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmNwcAko
cmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWlu
Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEzICszOSwxMyBAQCBHYWluTm9kZTo6R2Fp
bk5vZGUoQXVkaW9Db250ZXh0KiBjb250ZXh0CiAgICAgLCBtX2xhc3RHYWluKDEuMCkKICAgICAs
IG1fc2FtcGxlQWNjdXJhdGVHYWluVmFsdWVzKEF1ZGlvTm9kZTo6UHJvY2Vzc2luZ1NpemVJbkZy
YW1lcykgLy8gRklYTUU6IGNhbiBwcm9iYWJseSBzaGFyZSB0ZW1wIGJ1ZmZlciBpbiBjb250ZXh0
CiB7Ci0gICAgbV9nYWluID0gQXVkaW9HYWluOjpjcmVhdGUoY29udGV4dCwgImdhaW4iLCAxLjAs
IDAuMCwgMS4wKTsKKyAgICBtX2dhaW4gPSBBdWRpb1BhcmFtOjpjcmVhdGUoY29udGV4dCwgImdh
aW4iLCAxLjAsIDAuMCwgMS4wKTsKIAogICAgIGFkZElucHV0KGFkb3B0UHRyKG5ldyBBdWRpb05v
ZGVJbnB1dCh0aGlzKSkpOwogICAgIGFkZE91dHB1dChhZG9wdFB0cihuZXcgQXVkaW9Ob2RlT3V0
cHV0KHRoaXMsIDEpKSk7Ci0gICAgCisKICAgICBzZXROb2RlVHlwZShOb2RlVHlwZUdhaW4pOwot
ICAgIAorCiAgICAgaW5pdGlhbGl6ZSgpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9HYWluTm9kZS5oCShyZXZpc2lvbiAxNDY0NDgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDE1
ICsyNSwxNSBAQAogI2lmbmRlZiBHYWluTm9kZV9oCiAjZGVmaW5lIEdhaW5Ob2RlX2gKIAotI2lu
Y2x1ZGUgIkF1ZGlvR2Fpbi5oIgogI2luY2x1ZGUgIkF1ZGlvTm9kZS5oIgorI2luY2x1ZGUgIkF1
ZGlvUGFyYW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdWRpb0NvbnRleHQ7
Ci0gICAgCisKIC8vIEdhaW5Ob2RlIGlzIGFuIEF1ZGlvTm9kZSB3aXRoIG9uZSBpbnB1dCBhbmQg
b25lIG91dHB1dCB3aGljaCBhcHBsaWVzIGEgZ2FpbiAodm9sdW1lKSBjaGFuZ2UgdG8gdGhlIGF1
ZGlvIHNpZ25hbC4KIC8vIERlLXppcHBlcmluZyAoc21vb3RoaW5nKSBpcyBhcHBsaWVkIHdoZW4g
dGhlIGdhaW4gdmFsdWUgaXMgY2hhbmdlZCBkeW5hbWljYWxseS4KIApAQCAtNDEsOSArNDEsOSBA
QCBjbGFzcyBHYWluTm9kZSA6IHB1YmxpYyBBdWRpb05vZGUgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEdhaW5Ob2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiBjb250ZXh0LCBmbG9h
dCBzYW1wbGVSYXRlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHYWluTm9k
ZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7ICAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgR2Fpbk5vZGUoY29udGV4dCwgc2FtcGxlUmF0ZSkpOwogICAgIH0KLSAgICAKKwogICAgIC8v
IEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nl
c3MpOwogICAgIHZpcnR1YWwgdm9pZCByZXNldCgpOwpAQCAtNTIsOCArNTIsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGNoZWNrTnVtYmVyT2ZDaGFubmVsc0ZvcklucHV0KEF1ZGlvTm9k
ZUlucHV0Kik7CiAKICAgICAvLyBKYXZhU2NyaXB0IGludGVyZmFjZQotICAgIEF1ZGlvR2Fpbiog
Z2FpbigpIHsgcmV0dXJuIG1fZ2Fpbi5nZXQoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCi0gICAgCisgICAgQXVkaW9QYXJhbSogZ2FpbigpIHsgcmV0dXJuIG1fZ2Fpbi5n
ZXQoKTsgfQorCiBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhdGVuY3lUaW1lKCkg
Y29uc3QgT1ZFUlJJREUgeyByZXR1cm4gMDsgfQpAQCAtNjEsNyArNjEsNyBAQCBwcml2YXRlOgog
ICAgIEdhaW5Ob2RlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUpOwogCiAgICAgZmxv
YXQgbV9sYXN0R2FpbjsgLy8gZm9yIGRlLXppcHBlcmluZwotICAgIFJlZlB0cjxBdWRpb0dhaW4+
IG1fZ2FpbjsKKyAgICBSZWZQdHI8QXVkaW9QYXJhbT4gbV9nYWluOwogCiAgICAgQXVkaW9GbG9h
dEFycmF5IG1fc2FtcGxlQWNjdXJhdGVHYWluVmFsdWVzOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsCShyZXZpc2lvbiAxNDY0NDgpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjcsNSArMjcsNSBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVy
ZmFjZSBHYWluTm9kZSA6IEF1ZGlvTm9kZSB7CiAgICAgLy8gRklYTUU6IGV2ZW50dWFsbHkgaXQg
d2lsbCBiZSBpbnRlcmVzdGluZyB0byByZW1vdmUgdGhlIHJlYWRvbmx5IHJlc3RyaWN0aW9uLCBi
dXQgbmVlZCB0byBwcm9wZXJseSBkZWFsIHdpdGggdGhyZWFkIHNhZmV0eSBoZXJlLgotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBdWRpb0dhaW4gZ2FpbjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9QYXJhbSBnYWluOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vUGFubmVyTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIs
MTMgKzYyLDEzIEBAIFBhbm5lck5vZGU6OlBhbm5lck5vZGUoQXVkaW9Db250ZXh0KiBjb24KICAg
ICBtX2NoYW5uZWxDb3VudE1vZGUgPSBDbGFtcGVkTWF4OwogICAgIG1fY2hhbm5lbEludGVycHJl
dGF0aW9uID0gQXVkaW9CdXM6OlNwZWFrZXJzOwogCi0gICAgbV9kaXN0YW5jZUdhaW4gPSBBdWRp
b0dhaW46OmNyZWF0ZShjb250ZXh0LCAiZGlzdGFuY2VHYWluIiwgMS4wLCAwLjAsIDEuMCk7Ci0g
ICAgbV9jb25lR2FpbiA9IEF1ZGlvR2Fpbjo6Y3JlYXRlKGNvbnRleHQsICJjb25lR2FpbiIsIDEu
MCwgMC4wLCAxLjApOworICAgIG1fZGlzdGFuY2VHYWluID0gQXVkaW9QYXJhbTo6Y3JlYXRlKGNv
bnRleHQsICJkaXN0YW5jZUdhaW4iLCAxLjAsIDAuMCwgMS4wKTsKKyAgICBtX2NvbmVHYWluID0g
QXVkaW9QYXJhbTo6Y3JlYXRlKGNvbnRleHQsICJjb25lR2FpbiIsIDEuMCwgMC4wLCAxLjApOwog
CiAgICAgbV9wb3NpdGlvbiA9IEZsb2F0UG9pbnQzRCgwLCAwLCAwKTsKICAgICBtX29yaWVudGF0
aW9uID0gRmxvYXRQb2ludDNEKDEsIDAsIDApOwogICAgIG1fdmVsb2NpdHkgPSBGbG9hdFBvaW50
M0QoMCwgMCwgMCk7Ci0gICAgCisKICAgICBzZXROb2RlVHlwZShOb2RlVHlwZVBhbm5lcik7CiAK
ICAgICBpbml0aWFsaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1Bhbm5lck5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL1Bhbm5lck5vZGUuaAkocmV2aXNpb24gMTQ2NDQ4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkg
QEAKICNkZWZpbmUgUGFubmVyTm9kZV9oCiAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgotI2luY2x1
ZGUgIkF1ZGlvR2Fpbi5oIgogI2luY2x1ZGUgIkF1ZGlvTGlzdGVuZXIuaCIKICNpbmNsdWRlICJB
dWRpb05vZGUuaCIKKyNpbmNsdWRlICJBdWRpb1BhcmFtLmgiCiAjaW5jbHVkZSAiQ29uZS5oIgog
I2luY2x1ZGUgIkRpc3RhbmNlLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCkBAIC02MCw3
ICs2MCw3IEBAIHB1YmxpYzoKICAgICAgICAgSU5WRVJTRV9ESVNUQU5DRSA9IDEsCiAgICAgICAg
IEVYUE9ORU5USUFMX0RJU1RBTkNFID0gMiwKICAgICB9OwotICAgIAorCiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8UGFubmVyTm9kZT4gY3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQg
c2FtcGxlUmF0ZSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGFubmVyTm9k
ZShjb250ZXh0LCBzYW1wbGVSYXRlKSk7CkBAIC0xMjMsOCArMTIzLDggQEAgcHVibGljOgogICAg
IGZsb2F0IGRvcHBsZXJSYXRlKCk7CiAKICAgICAvLyBBY2Nlc3NvcnMgZm9yIGR5bmFtaWNhbGx5
IGNhbGN1bGF0ZWQgZ2FpbiB2YWx1ZXMuCi0gICAgQXVkaW9HYWluKiBkaXN0YW5jZUdhaW4oKSB7
IHJldHVybiBtX2Rpc3RhbmNlR2Fpbi5nZXQoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKLSAgICBBdWRpb0dhaW4qIGNvbmVHYWluKCkgeyByZXR1cm4gbV9jb25l
R2Fpbi5nZXQoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAg
ICBBdWRpb1BhcmFtKiBkaXN0YW5jZUdhaW4oKSB7IHJldHVybiBtX2Rpc3RhbmNlR2Fpbi5nZXQo
KTsgfQorICAgIEF1ZGlvUGFyYW0qIGNvbmVHYWluKCkgeyByZXR1cm4gbV9jb25lR2Fpbi5nZXQo
KTsgfQogCiAgICAgdmlydHVhbCBkb3VibGUgdGFpbFRpbWUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBtX3Bhbm5lciA/IG1fcGFubmVyLT50YWlsVGltZSgpIDogMDsgfQogICAgIHZpcnR1YWwg
ZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9wYW5uZXIgPyBt
X3Bhbm5lci0+bGF0ZW5jeVRpbWUoKSA6IDA7IH0KQEAgLTE0Nyw4ICsxNDcsOCBAQCBwcml2YXRl
OgogICAgIEZsb2F0UG9pbnQzRCBtX3ZlbG9jaXR5OwogCiAgICAgLy8gR2FpbgotICAgIFJlZlB0
cjxBdWRpb0dhaW4+IG1fZGlzdGFuY2VHYWluOwotICAgIFJlZlB0cjxBdWRpb0dhaW4+IG1fY29u
ZUdhaW47CisgICAgUmVmUHRyPEF1ZGlvUGFyYW0+IG1fZGlzdGFuY2VHYWluOworICAgIFJlZlB0
cjxBdWRpb1BhcmFtPiBtX2NvbmVHYWluOwogICAgIERpc3RhbmNlRWZmZWN0IG1fZGlzdGFuY2VF
ZmZlY3Q7CiAgICAgQ29uZUVmZmVjdCBtX2NvbmVFZmZlY3Q7CiAgICAgZmxvYXQgbV9sYXN0R2Fp
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDE0NjQ0OCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjYwMCw3ICs2NjAwLDYg
QEAKIAkJRkQzMTYwMDUxMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQzMTVGQkIxMkIwMjY3NTAw
QzFBMzU5IC8qIEF1ZGlvQ29udGV4dC5oICovOyB9OwogCQlGRDMxNjAwNzEyQjAyNjc2MDBDMUEz
NTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkQzMTVGQkQxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvRGVz
dGluYXRpb25Ob2RlLmNwcCAqLzsgfTsKIAkJRkQzMTYwMDgxMkIwMjY3NjAwQzFBMzU5IC8qIEF1
ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRDMxNUZCRTEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaCAqLzsgfTsKLQkJRkQzMTYwMEExMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQzMTVGQzAxMkIw
MjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5oICovOyB9OwogCQlGRDMxNjAwQzEyQjAyNjc2MDBD
MUEzNTkgLyogR2Fpbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkQzMTVGQzIxMkIwMjY3NTAwQzFBMzU5IC8qIEdhaW5Ob2RlLmNwcCAqLzsg
fTsKIAkJRkQzMTYwMEQxMkIwMjY3NjAwQzFBMzU5IC8qIEdhaW5Ob2RlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDMxNUZDMzEyQjAyNjc1MDBDMUEz
NTkgLyogR2Fpbk5vZGUuaCAqLzsgfTsKIAkJRkQzMTYwMEYxMkIwMjY3NjAwQzFBMzU5IC8qIEF1
ZGlvTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkQzMTVGQzUxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuY3BwICovOyB9
OwpAQCAtNjc0OCw4ICs2NzQ3LDYgQEAKIAkJRkRBMTVFQTYxMkIwM0VFMTAwM0E1ODNBIC8qIEpT
QXVkaW9Db250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREExNUU4QTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0NvbnRleHQuaCAqLzsgfTsK
IAkJRkRBMTVFQTcxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEIx
MkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovOyB9OwogCQlG
REExNUVBODEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOEMxMkIwM0VF
MTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCAqLzsgfTsKLQkJRkRBMTVFQTkx
MkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWluLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQTE1RThEMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1
ZGlvR2Fpbi5jcHAgKi87IH07Ci0JCUZEQTE1RUFBMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlv
R2Fpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRB
MTVFOEUxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWluLmggKi87IH07CiAJCUZEQTE1RUFC
MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQTE1RThGMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dh
aW5Ob2RlLmNwcCAqLzsgfTsKIAkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEQTE1
RTkwMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmggKi87IH07CiAJCUZEQTE1RUFEMTJC
MDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRBMTVFOTExMkIwM0VFMTAwM0E1ODNBIC8qIEpT
QXVkaW9MaXN0ZW5lci5jcHAgKi87IH07CkBAIC0xNDM5NCw4ICsxNDM5MSw2IEBACiAJCUZEMzE1
RkJEMTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEMzE1RkJFMTJCMDI2NzUwMEMxQTM1OSAvKiBB
dWRpb0Rlc3RpbmF0aW9uTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
dWRpb0Rlc3RpbmF0aW9uTm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDMx
NUZCRjEyQjAyNjc1MDBDMUEzNTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEF1ZGlvRGVzdGluYXRpb25Ob2RlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJRkQzMTVGQzAxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb0dhaW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJRkQzMTVGQzExMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXVkaW9HYWluLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQzIxMkIwMjY3NTAwQzFBMzU5IC8qIEdhaW5Ob2RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdhaW5Ob2RlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQzMTVGQzMxMkIwMjY3NTAwQzFBMzU5IC8qIEdhaW5O
b2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdhaW5Ob2RlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEMzE1RkM0MTJCMDI2NzUwMEMxQTM1OSAvKiBHYWlu
Tm9kZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gR2Fpbk5vZGUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTQ1NjEsOCArMTQ1NTYsNiBAQAogCQlGREExNUU4QTEyQjAz
RUUxMDAzQTU4M0EgLyogSlNBdWRpb0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNBdWRpb0NvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkRBMTVFOEIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQTE1RThDMTJCMDNFRTEwMDNB
NTgzQSAvKiBKU0F1ZGlvRGVzdGluYXRpb25Ob2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRkRBMTVFOEQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWluLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXVkaW9HYWluLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkRBMTVFOEUxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVk
aW9HYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXVkaW9HYWluLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQTE1RThGMTJCMDNFRTEwMDNBNTgzQSAv
KiBKU0dhaW5Ob2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
R2Fpbk5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGREExNUU5MDEyQjAz
RUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0dhaW5Ob2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQTE1RTkx
MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdWRpb0xpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIzMDY5LDggKzIzMDYyLDYgQEAKIAkJCQlGRDMxNUZCRDEyQjAyNjc1
MDBDMUEzNTkgLyogQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwICovLAogCQkJCUZEMzE1RkJFMTJC
MDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oICovLAogCQkJCUZEMzE1RkJG
MTJCMDI2NzUwMEMxQTM1OSAvKiBBdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwgKi8sCi0JCQkJRkQz
MTVGQzAxMkIwMjY3NTAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5oICovLAotCQkJCUZEMzE1RkMxMTJC
MDI2NzUwMEMxQTM1OSAvKiBBdWRpb0dhaW4uaWRsICovLAogCQkJCUZEMzE1RkM1MTJCMDI2NzUw
MEMxQTM1OSAvKiBBdWRpb0xpc3RlbmVyLmNwcCAqLywKIAkJCQlGRDMxNUZDNjEyQjAyNjc1MDBD
MUEzNTkgLyogQXVkaW9MaXN0ZW5lci5oICovLAogCQkJCUZEMzE1RkM3MTJCMDI2NzUwMEMxQTM1
OSAvKiBBdWRpb0xpc3RlbmVyLmlkbCAqLywKQEAgLTIzMjcxLDggKzIzMjYyLDYgQEAKIAkJCQlG
REExNUU4QTEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0NvbnRleHQuaCAqLywKIAkJCQlGREEx
NUU4QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8sCiAJ
CQkJRkRBMTVFOEMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuaCAq
LywKLQkJCQlGREExNUU4RDEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0dhaW4uY3BwICovLAot
CQkJCUZEQTE1RThFMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvR2Fpbi5oICovLAogCQkJCUZE
QTE1RTkxMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuY3BwICovLAogCQkJCUZE
QTE1RTkyMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIuaCAqLywKIAkJCQlGREEx
NUU5MzEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb05vZGUuY3BwICovLApAQCAtMjM0MjYsNyAr
MjM0MTUsNiBAQAogCQkJCUZEMzE2MDgyMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb0RTUEtlcm5l
bFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwODMxMkIwMjZGNzAwQzFBMzU5
IC8qIEF1ZGlvRmlsZVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwQkYxMkIwMjcy
QTAwQzFBMzU5IC8qIEF1ZGlvRmlsZVJlYWRlck1hYy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkQz
MTYwMEExMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvR2Fpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkRFMkQ1NUIxNTlFNjZFQjAwRENDQ0Y4IC8qIEF1ZGlvSU9DYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQzMTYwMTAxMkIwMjY3NjAwQzFBMzU5IC8qIEF1ZGlvTGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZEMzE2MDEzMTJCMDI2NzYwMEMxQTM1OSAvKiBBdWRpb05vZGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjQ5NjgsNyArMjQ5NTYsNiBAQAogCQkJCUZEQTE1RUEwMTJCMDNF
RTEwMDNBNTgzQSAvKiBKU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkRBMTVFQTYxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9Db250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGREExNUVBODEyQjAzRUUxMDAzQTU4M0EgLyogSlNBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRkRBMTVFQUExMkIwM0VFMTAwM0E1ODNBIC8qIEpT
QXVkaW9HYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVBRTEyQjAzRUUxMDAzQTU4M0Eg
LyogSlNBdWRpb0xpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVCMDEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb05vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUI0MTJC
MDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvUGFyYW0uaCBpbiBIZWFkZXJzICovLApAQCAtMjgyODIs
NyArMjgyNjksNiBAQAogCQkJCUZEQTE1RUE1MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29u
dGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREVBQUFGNDEyQjAyRUU0MDBEQ0YzM0IgLyog
SlNBdWRpb0NvbnRleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQTcxMkIw
M0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJRkRBMTVFQTkxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9HYWluLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZEQTE1RUFEMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvTGlzdGVuZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVFQUYxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVk
aW9Ob2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1RUIzMTJCMDNFRTEwMDNBNTgzQSAv
KiBKU0F1ZGlvUGFyYW0uY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDY0
NDgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NSBAQAorMjAxMy0wMy0yMSAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1zdW5nLmNv
bT4KKworICAgICAgICBSZW1vdmUgQXVkaW9HYWluLmlkbCBmcm9tIGNvbXBpbGF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0byB2ZXJp
ZnkgR2Fpbk5vZGUgYXR0cmlidXRlcy4KKworICAgICAgICAqIHdlYmF1ZGlvL2dhaW4tYmFzaWMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9nYWluLWJhc2ljLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAzLTIxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcuCkluZGV4OiBMYXlvdXRUZXN0
cy93ZWJhdWRpby9nYWluLWJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy93ZWJhdWRpby9nYWluLWJhc2ljLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3dlYmF1ZGlvL2dhaW4tYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEwIEBACitUZXN0cyBHYWluTm9kZSBhdHRyaWJ1dGVzIGluIElETC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZ2FpbiBpcyBvZiBBdWRpb1BhcmFtIHR5
cGUuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvd2ViYXVkaW8vZ2Fpbi1iYXNpYy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3dlYmF1ZGlvL2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3dlYmF1ZGlvL2dhaW4tYmFzaWMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzwhLS0KK1ZlcmlmaWVzIEdhaW5Ob2RlIGF0dHJp
YnV0ZXMgYW5kIHRoZWlyIHR5cGUuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvYXVkaW8tdGVzdGluZy5qcyI+
PC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3RzIEdhaW5Ob2RlIGF0dHJpYnV0ZXMgaW4gSURMLiIpOworCitmdW5jdGlvbiBydW5UZXN0KCkg
eworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICB9CisKKyAgICAvLyBDcmVhdGUgYXVkaW8gY29udGV4dC4KKyAgICB2YXIg
Y29udGV4dCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKKworICAgIC8vIENyZWF0ZSBnYWlu
IG5vZGUuCisgICAgdmFyIGdhaW5Ob2RlID0gY29udGV4dC5jcmVhdGVHYWluTm9kZSgpOworCisg
ICAgaWYgKGdhaW5Ob2RlLmdhaW4udG9TdHJpbmcoKS5pbmRleE9mKCJBdWRpb1BhcmFtIikgPiAt
MSkKKyAgICAgICAgdGVzdFBhc3NlZCgiZ2FpbiBpcyBvZiBBdWRpb1BhcmFtIHR5cGUuIik7Cisg
ICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJnYWluIGlzIG5vdCBvZiBBdWRpb1BhcmFtIHR5
cGUuIik7Cit9CisKK3J1blRlc3QoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>