<?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>94332</bug_id>
          
          <creation_ts>2012-08-17 04:20:37 -0700</creation_ts>
          <short_desc>V8 should throw a more descriptive exception when blocking &apos;eval&apos; via CSP.</short_desc>
          <delta_ts>2012-10-17 03:00:27 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>93198</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ulan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>698187</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-17 04:20:37 -0700</bug_when>
    <thetext>When &apos;eval&apos; and &apos;eval&apos;-like constructs are blocked by a &apos;script-src&apos; Content Security Policy directive, V8 currently throws an exception reading &quot;Code generation from strings disallowed for this context&quot;, which is fairly miserable. It would be nice if that message included more detail about what exactly had gone wrong. I&apos;d like to see a string more along the lines of &lt;Refused to evaluate a string as JavaScript because it violates the following Content Security Policy directive: &quot;script-src &apos;unsafe-inline&apos;&quot;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700510</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-20 23:50:54 -0700</bug_when>
    <thetext>Hey Ulan! We talked about this change a few weeks back; https://bugs.webkit.org/show_bug.cgi?id=94331 is a patch to change the message in JSC. I&apos;d like to get your help changing the message in V8.

Could you take a look at the JSC patch and help me evaluate how to make it work in V8?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700645</commentid>
    <comment_count>2</comment_count>
      <attachid>159662</attachid>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-08-21 05:21:46 -0700</bug_when>
    <thetext>Created attachment 159662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700650</commentid>
    <comment_count>3</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-08-21 05:26:31 -0700</bug_when>
    <thetext>Hi Mike,

I uploaded a draft patch that depends on your patch and on this V8 CL: https://chromiumcodereview.appspot.com/10837358/

At the moment it passes tests, but there is one call site in WebKit where we need to pass the error message:

WebKit/Source/WebCore/bindings/v8/ScriptState.cpp : setEvalEnabled(ScriptState* scriptState, bool enabled)

It is used from inspector. Do you know how we can pass error message there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700668</commentid>
    <comment_count>4</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-21 05:50:17 -0700</bug_when>
    <thetext>Thanks Ulan. Let&apos;s let the JSC change land first (https://bugs.webkit.org/show_bug.cgi?id=94331); the patch to wire things up to the new V8 patch you&apos;ve put together should then be quite small.

It looks like fixing the Web Inspector bit should be pretty straightforward as well. I&apos;ll just add some code to the bindings to expose the ErrorMessageForCodeGenerationFromStrings method that you&apos;ve added, and then we should be able to save/rewrite that rather than just toggling the boolean.

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721397</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-15 01:01:21 -0700</bug_when>
    <thetext>Hey Ulan! The JSC patch just landed last night. *phew* :)

I&apos;ll rebase this patch on top of the current trunk. Would you mind taking another look at landing https://codereview.chromium.org/10837358/ in the meantime? I think we&apos;ll need that in place before we can land the WebKit side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721414</commentid>
    <comment_count>6</comment_count>
      <attachid>164279</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-15 02:13:35 -0700</bug_when>
    <thetext>Created attachment 164279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721415</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-15 02:14:45 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=164279) [details]
&gt; Patch

I&apos;ll rebaseline the tests once the V8 portion of this change lands and is rolled into WebKit.

It doesn&apos;t yet take care of ScriptState.cpp, as I think we&apos;ll need to chat about what the V8 API needs to look like. I&apos;ll poke you on Monday, Uan. :) Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721438</commentid>
    <comment_count>8</comment_count>
      <attachid>164279</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-09-15 08:02:55 -0700</bug_when>
    <thetext>Comment on attachment 164279
Patch

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

Dr. Barth is your man.

&gt; Source/WebCore/bindings/v8/V8DOMWindowShell.cpp:373
&gt; +            context-&gt;AllowCodeGenerationFromStrings(m_frame-&gt;document()-&gt;contentSecurityPolicy()-&gt;allowEval(0, ContentSecurityPolicy::SuppressReport), v8String(m_frame-&gt;document()-&gt;contentSecurityPolicy()-&gt;evalDisabledErrorMessage()));

A ContentSecurityPolicy local would make this line much shorter. :)

&gt; Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp:89
&gt; +    , m_disableEvalPending(String())

I can never remember if we have a nullString() which wer&apos;e supposed to use instead these days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721484</commentid>
    <comment_count>9</comment_count>
      <attachid>164279</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-15 13:44:07 -0700</bug_when>
    <thetext>Comment on attachment 164279
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp:89
&gt;&gt; +    , m_disableEvalPending(String())
&gt; 
&gt; I can never remember if we have a nullString() which wer&apos;e supposed to use instead these days.

You can actually skip this line.  The compiler calls the default constructor for you.  nullAtom is only needed when you&apos;re returning something by reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721485</commentid>
    <comment_count>10</comment_count>
      <attachid>164279</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-15 13:44:22 -0700</bug_when>
    <thetext>Comment on attachment 164279
Patch

Patch looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721750</commentid>
    <comment_count>11</comment_count>
      <attachid>164357</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-17 01:40:36 -0700</bug_when>
    <thetext>Created attachment 164357
New method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721752</commentid>
    <comment_count>12</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-17 01:41:24 -0700</bug_when>
    <thetext>Hey Ulan, here&apos;s an updated version of the patch to match the API changes you&apos;ve made. It doesn&apos;t compile without those changes, so... Let&apos;s hope it compiles on your machine. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721774</commentid>
    <comment_count>13</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-09-17 02:43:11 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Hey Ulan, here&apos;s an updated version of the patch to match the API changes you&apos;ve made. It doesn&apos;t compile without those changes, so... Let&apos;s hope it compiles on your machine. :)

Yep, it compiles and produces the following outputs for 
eval-blocked-in-about-blank-iframe.html, eval-blocked.html, function-constructor-blocked.html:


CONSOLE MESSAGE: line 1: Uncaught EvalError: Refused to evaluate a string as JavaScript because &apos;unsafe-eval&apos; is not an allowed source of script in the following Content Security Policy directive: &quot;script-src &apos;unsafe-inline&apos;&quot;.

CONSOLE MESSAGE: line 12: Uncaught EvalError: Refused to evaluate a string as JavaScript because &apos;unsafe-eval&apos; is not an allowed source of script in the following Content Security Policy directive: &quot;script-src &apos;unsafe-inline&apos;&quot;.

CONSOLE MESSAGE: line 15: Uncaught EvalError: Refused to evaluate a string as JavaScript because &apos;unsafe-eval&apos; is not an allowed source of script in the following Content Security Policy directive: &quot;script-src &apos;unsafe-inline&apos;&quot;.

ONSOLE MESSAGE: line 12: Uncaught EvalError: Refused to evaluate a string as JavaScript because &apos;unsafe-eval&apos; is not an allowed source of script in the following Content Security Policy directive: &quot;script-src &apos;unsafe-inline&apos;&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721776</commentid>
    <comment_count>14</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-17 02:47:18 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Yep, it compiles and produces the following outputs for 
&gt; eval-blocked-in-about-blank-iframe.html, eval-blocked.html, function-constructor-blocked.html:

Looks good. Would you mind landing the V8 side of the patch? Once it gets rolled into the Chromium port, I&apos;ll see about landing this side.

Thanks, Ulan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721781</commentid>
    <comment_count>15</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-09-17 03:08:29 -0700</bug_when>
    <thetext>I landed the V8 CL as http://code.google.com/p/v8/source/detail?r=12525 to V8 bleeding_edge. It looks like we won&apos;t roll V8 until Chrome branches (V8 trunk is frozen).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721783</commentid>
    <comment_count>16</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-17 03:18:30 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I landed the V8 CL as http://code.google.com/p/v8/source/detail?r=12525 to V8 bleeding_edge. It looks like we won&apos;t roll V8 until Chrome branches (V8 trunk is frozen).

Makes sense. So, what timeframe are we looking at? Beginning of next weekish?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721793</commentid>
    <comment_count>17</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-09-17 03:52:02 -0700</bug_when>
    <thetext>&gt; So, what timeframe are we looking at? Beginning of next weekish?
Yes. Probably, next week Wed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724546</commentid>
    <comment_count>18</comment_count>
      <attachid>164926</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-20 08:31:03 -0700</bug_when>
    <thetext>Created attachment 164926
Rebaselining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724547</commentid>
    <comment_count>19</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-20 08:33:00 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Created an attachment (id=164926) [details]
&gt; Rebaselining.

I&apos;ve rolled DEPS locally and rebaselined the tests. I think we should be able to land this directly after the V8 change rolls into WebKit ToT next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726159</commentid>
    <comment_count>20</comment_count>
      <attachid>165266</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-22 10:42:48 -0700</bug_when>
    <thetext>Created attachment 165266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726160</commentid>
    <comment_count>21</comment_count>
      <attachid>165266</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-22 10:43:48 -0700</bug_when>
    <thetext>Comment on attachment 165266
Patch

Dropping the r?, throwing to the bots. If the bots are happy, I&apos;ll carry Adam&apos;s r+ over and ask for CQ?. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726432</commentid>
    <comment_count>22</comment_count>
    <who name="Ulan Degenbaev">ulan</who>
    <bug_when>2012-09-24 00:48:55 -0700</bug_when>
    <thetext>V8 roll that this patch depends on is going to be reverted because of high crash rate :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726433</commentid>
    <comment_count>23</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-24 00:51:41 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; V8 roll that this patch depends on is going to be reverted because of high crash rate :(

Ah, too bad!

Good that I waited until Monday. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734600</commentid>
    <comment_count>24</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-04 04:52:17 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; V8 roll that this patch depends on is going to be reverted because of high crash rate :(

Looks like the next try at a roll was reverted too. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736605</commentid>
    <comment_count>25</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-08 02:59:54 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (In reply to comment #22)
&gt; &gt; &gt; V8 roll that this patch depends on is going to be reverted because of high crash rate :(
&gt; 
&gt; Looks like the next try at a roll was reverted too. :(

And the next. I&apos;m putting this on ice until the V8 roll happens and sticks. Probably next week? Bleh. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739687</commentid>
    <comment_count>26</comment_count>
      <attachid>168159</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-11 01:11:44 -0700</bug_when>
    <thetext>Created attachment 168159
Rebasing onto ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744026</commentid>
    <comment_count>27</comment_count>
      <attachid>169126</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-17 02:00:30 -0700</bug_when>
    <thetext>Created attachment 169126
Rebased again, for the last time (maybe).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744034</commentid>
    <comment_count>28</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-17 02:05:54 -0700</bug_when>
    <thetext>V8 has rolled in the fix I was waiting for, and a fix to that fix. Things work locally; throwing this into the queue. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744080</commentid>
    <comment_count>29</comment_count>
      <attachid>169126</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 03:00:21 -0700</bug_when>
    <thetext>Comment on attachment 169126
Rebased again, for the last time (maybe).

Clearing flags on attachment: 169126

Committed r131573: &lt;http://trac.webkit.org/changeset/131573&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744081</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 03:00:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159662</attachid>
            <date>2012-08-21 05:21:46 -0700</date>
            <delta_ts>2012-09-15 02:13:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94332-20120821142105.patch</filename>
            <type>text/plain</type>
            <size>29196</size>
            <attacher name="Ulan Degenbaev">ulan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1OTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTU3NzhhZWVhNWM2YjJjMTgzNzdiZWVmMTc1NGVmNmRmZThhNzFiLi4zMzIzYzg2ZWI2ZjUyMGQz
YjgyMGRjNmFmMWUzMGU3YTA3NDkyMGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wOC0yMSAgVWxhbiBEZWdlbmJhZXYgIDx1bGFuQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBWOCBzaG91bGQgdGhyb3cgYSBtb3JlIGRlc2NyaXB0aXZlIGV4Y2VwdGlv
biB3aGVuIGJsb2NraW5nICdldmFsJyB2aWEgQ1NQLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5jcHA6CisgICAgICAg
IChKU0M6OkV2YWxFeGVjdXRhYmxlOjpjb21waWxlSW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OmNvbnN0cnVjdEZ1bmN0
aW9uKToKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmg6CisgICAgICAgIChKU0ds
b2JhbE9iamVjdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpldmFsRW5hYmxlZCk6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2Up
OgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6c2V0RXZhbEVuYWJsZWQpOgorCiAyMDEy
LTA4LTE3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHIENT
RSBzaG91bGQgYmUgbW9yZSBob25lc3QgYWJvdXQgd2hlbiBpdCBjaGFuZ2VkIHRoZSBJUgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDUyNWQyY2M1ZWUxM2U0YzUyNjZlMjMzZDM1YTk0OTgwODU3MjlkYTkuLjE5MGFk
ZTcwM2E2NDM5ZGU2ZDc2NzVjYzFlMGM3ZmVlOTMzZjlmN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw1MSBAQAorMjAxMi0wOC0yMSAgVWxhbiBEZWdlbmJhZXYgIDx1bGFuQGNocm9taXVtLm9yZz4K
KworICAgICAgICBWOCBzaG91bGQgdGhyb3cgYSBtb3JlIGRlc2NyaXB0aXZlIGV4Y2VwdGlvbiB3
aGVuIGJsb2NraW5nICdldmFsJyB2aWEgQ1NQLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQzMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6aW5pdFNjcmlwdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAgICAgICogYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAoU2NyaXB0Q29udHJvbGxlcik6
CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAg
ICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAoV29y
a2VyU2NyaXB0Q29udHJvbGxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZh
bCk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAgICAo
U2NyaXB0Q29udHJvbGxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdpbmRvd1NoZWxsOjppbml0Q29udGV4dElm
TmVlZGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFs
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmg6CisgICAg
ICAgIChXb3JrZXJTY3JpcHRDb250cm9sbGVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpc2FibGVFdmFsKToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6Cisg
ICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NQRGlyZWN0aXZlTGlzdDo6ZXZhbERpc2FibGVkRXJyb3JNZXNzYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OnNldEV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSk6
CisgICAgICAgIChDU1BEaXJlY3RpdmVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVj
dGl2ZUxpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmRpZFJlY2VpdmVIZWFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5OjpldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93UGx1Z2luVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmdhdGhlclJlcG9ydFVS
SXMpOgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRl
eHQ6OmRpc2FibGVFdmFsKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKyAg
ICAgICAgKFdvcmtlckNvbnRleHQpOgorCiAyMDEyLTA4LTE4ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1ha2UgcHJvZmls
ZXMgcGFuZWwgYSBsYXppbHkgbG9hZGVkIG1vZHVsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5kZXggNzNiNGI2YzRmMzE3NWZmOGU3OTVkY2MyYjcw
NjMwNzQxMTZiZDJlYS4uNzMyNDMyYWM0NWRhYjIxYzFjMjVkNGZhMzdiMTBjNjVjOGQ2ZTk1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTIx
MCw3ICsyMTAsNyBAQCBKU09iamVjdCogRXZhbEV4ZWN1dGFibGU6OmNvbXBpbGVJbnRlcm5hbChF
eGVjU3RhdGUqIGV4ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZQogICAgICAgICBtX2V2YWxDb2Rl
QmxvY2sgPSBuZXdDb2RlQmxvY2sucmVsZWFzZSgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlm
ICghbGV4aWNhbEdsb2JhbE9iamVjdC0+ZXZhbEVuYWJsZWQoKSkKLSAgICAgICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZUV2YWxFcnJvcihleGVjLCAiRXZhbCBpcyBkaXNhYmxl
ZCIpKTsKKyAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZUV2YWxFcnJv
cihleGVjLCBsZXhpY2FsR2xvYmFsT2JqZWN0LT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSkp
OwogICAgICAgICBSZWZQdHI8RXZhbE5vZGU+IGV2YWxOb2RlID0gcGFyc2U8RXZhbE5vZGU+KGds
b2JhbERhdGEsIGxleGljYWxHbG9iYWxPYmplY3QsIG1fc291cmNlLCAwLCBpc1N0cmljdE1vZGUo
KSA/IEpTUGFyc2VTdHJpY3QgOiBKU1BhcnNlTm9ybWFsLCBFdmFsTm9kZTo6aXNGdW5jdGlvbk5v
ZGUgPyBKU1BhcnNlRnVuY3Rpb25Db2RlIDogSlNQYXJzZVByb2dyYW1Db2RlLCBsZXhpY2FsR2xv
YmFsT2JqZWN0LT5kZWJ1Z2dlcigpLCBleGVjLCAmZXhjZXB0aW9uKTsKICAgICAgICAgaWYgKCFl
dmFsTm9kZSkgewogICAgICAgICAgICAgQVNTRVJUKGV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCmluZGV4
IDdmODJhNzRjZTAwZTBjMDI4OTVmM2JiODRjNGZmOTgyZmM0ODM5YWYuLjJhNDhiZGQ1NTU2NmY1
YzZkMjYzYzhjMGYzM2FhMDgzNjkxYjY4YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC04Myw3ICs4Myw3IEBA
IENhbGxUeXBlIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxE
YXRhJiBjYWxsRGF0YSkKIEpTT2JqZWN0KiBjb25zdHJ1Y3RGdW5jdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MsIGNv
bnN0IElkZW50aWZpZXImIGZ1bmN0aW9uTmFtZSwgY29uc3QgVVN0cmluZyYgc291cmNlVVJMLCBj
b25zdCBUZXh0UG9zaXRpb24mIHBvc2l0aW9uKQogewogICAgIGlmICghZ2xvYmFsT2JqZWN0LT5l
dmFsRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVFdmFs
RXJyb3IoZXhlYywgIkZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGRpc2FibGVkIikpOworICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcihleGVjLCBjcmVhdGVFdmFsRXJyb3IoZXhlYywgZ2xvYmFsT2Jq
ZWN0LT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSkpOwogICAgIHJldHVybiBjb25zdHJ1Y3RG
dW5jdGlvblNraXBwaW5nRXZhbEVuYWJsZWRDaGVjayhleGVjLCBnbG9iYWxPYmplY3QsIGFyZ3Ms
IGZ1bmN0aW9uTmFtZSwgc291cmNlVVJMLCBwb3NpdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGFmMDNmMzJlNjlmY2Fm
NTYzNjUxOTlkY2IyODI3YzZhNGRiMGNhMTAuLjY2NTk2ZWEyMmVhMzE0N2FkOGUxYmI5NTI2ODE4
YzZmNDcwNzdjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaApAQCAtMTQ5LDYgKzE0OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBT
eW1ib2xUYWJsZSBtX3N5bWJvbFRhYmxlOwogCiAgICAgICAgIGJvb2wgbV9ldmFsRW5hYmxlZDsK
KyAgICAgICAgVVN0cmluZyBtX2V2YWxEaXNhYmxlZEVycm9yTWVzc2FnZTsKICAgICAgICAgYm9v
bCBtX2V4cGVyaW1lbnRzRW5hYmxlZDsKIAogICAgICAgICBzdGF0aWMgSlNfRVhQT1JUREFUQSBj
b25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlOwpA
QCAtMjk2LDggKzI5NywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIGlzRHlu
YW1pY1Njb3BlKGJvb2wmIHJlcXVpcmVzRHluYW1pY0NoZWNrcykgY29uc3Q7CiAKLSAgICAgICAg
dm9pZCBzZXRFdmFsRW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV9ldmFsRW5hYmxlZCA9IGVuYWJs
ZWQ7IH0KLSAgICAgICAgYm9vbCBldmFsRW5hYmxlZCgpIHsgcmV0dXJuIG1fZXZhbEVuYWJsZWQ7
IH0KKyAgICAgICAgYm9vbCBldmFsRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZXZhbEVuYWJs
ZWQ7IH0KKyAgICAgICAgY29uc3QgVVN0cmluZyYgZXZhbERpc2FibGVkRXJyb3JNZXNzYWdlKCkg
Y29uc3QgeyByZXR1cm4gbV9ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2U7IH0KKyAgICAgICAgdm9p
ZCBzZXRFdmFsRW5hYmxlZChib29sIGVuYWJsZWQsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
ID0gU3RyaW5nKCkpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fZXZhbEVuYWJsZWQgPSBlbmFi
bGVkOworICAgICAgICAgICAgbV9ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UgPSBVU3RyaW5nKGVy
cm9yTWVzc2FnZS5pbXBsKCkpOworICAgICAgICB9CiAKICAgICAgICAgdm9pZCByZXNldFByb3Rv
dHlwZShKU0dsb2JhbERhdGEmLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggZGE5Mzk4NGVkNzZj
MDQ4MjAzNWQ3NDk4YWU3ZjAyNzFmOTY3OWY4My4uODM4NTlhYmMyMmVlNzM5OTkwODg5YWYwOTQw
YWUxMGY2MDlkNTk3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCBKU0RPTVdpbmRvd1NoZWxsKiBTY3Jp
cHRDb250cm9sbGVyOjppbml0U2NyaXB0KERPTVdyYXBwZXJXb3JsZCogd29ybGQpCiAgICAgd2lu
ZG93U2hlbGwtPndpbmRvdygpLT51cGRhdGVEb2N1bWVudCgpOwogCiAgICAgaWYgKG1fZnJhbWUt
PmRvY3VtZW50KCkpCi0gICAgICAgIHdpbmRvd1NoZWxsLT53aW5kb3coKS0+c2V0RXZhbEVuYWJs
ZWQobV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZh
bCgwLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7ICAgCisgICAgICAg
IHdpbmRvd1NoZWxsLT53aW5kb3coKS0+c2V0RXZhbEVuYWJsZWQobV9mcmFtZS0+ZG9jdW1lbnQo
KS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OlN1cHByZXNzUmVwb3J0KSwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSgpKTsgICAKIAogICAgIGlmIChQ
YWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKSB7CiAgICAgICAgIGF0dGFjaERlYnVnZ2VyKHdp
bmRvd1NoZWxsLCBwYWdlLT5kZWJ1Z2dlcigpKTsKQEAgLTI1MCwxMiArMjUwLDEyIEBAIHZvaWQg
U2NyaXB0Q29udHJvbGxlcjo6ZW5hYmxlRXZhbCgpCiAgICAgd2luZG93U2hlbGwtPndpbmRvdygp
LT5zZXRFdmFsRW5hYmxlZCh0cnVlKTsKIH0KIAotdm9pZCBTY3JpcHRDb250cm9sbGVyOjpkaXNh
YmxlRXZhbCgpCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlKQogewogICAgIEpTRE9NV2luZG93U2hlbGwqIHdpbmRvd1NoZWxsID0g
ZXhpc3RpbmdXaW5kb3dTaGVsbChtYWluVGhyZWFkTm9ybWFsV29ybGQoKSk7CiAgICAgaWYgKCF3
aW5kb3dTaGVsbCkKICAgICAgICAgcmV0dXJuOwotICAgIHdpbmRvd1NoZWxsLT53aW5kb3coKS0+
c2V0RXZhbEVuYWJsZWQoZmFsc2UpOworICAgIHdpbmRvd1NoZWxsLT53aW5kb3coKS0+c2V0RXZh
bEVuYWJsZWQoZmFsc2UsIGVycm9yTWVzc2FnZSk7CiB9CiAKIGJvb2wgU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBmNzZmZGU4ZmM3MmY2ODA1ZWY0OGMwM2FmYzFkMDZh
M2ExNTRjYTg3Li4xODdmYWI1MmJlZjBhZDIxY2Y1NGRlNTA2YTRlZjY1MWNmZmRiZWJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCkBAIC0xMDUs
NyArMTA1LDcgQEAgcHVibGljOgogICAgIFdURjo6VGV4dFBvc2l0aW9uIGV2ZW50SGFuZGxlclBv
c2l0aW9uKCkgY29uc3Q7CiAKICAgICB2b2lkIGVuYWJsZUV2YWwoKTsKLSAgICB2b2lkIGRpc2Fi
bGVFdmFsKCk7CisgICAgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSk7CiAKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cAppbmRleCA5YmZkZThmMmFiMmUxZGUzZDUzYjFjYmUyMmIzM2NkZjU1Yzc2NjQ1Li4zMDI5MTc0
MzRiOTM5M2M3MmEyMTMwYzQ0ZDM3Y2YyYzViZjgyMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMTg4LDEy
ICsxODgsMTIgQEAgYm9vbCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjppc0V4ZWN1dGlvbkZvcmJp
ZGRlbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uRm9yYmlkZGVuOwogfQogCi12b2lk
IFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKCkKK3ZvaWQgV29ya2VyU2NyaXB0
Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAg
ICAgaW5pdFNjcmlwdElmTmVlZGVkKCk7CiAgICAgSlNMb2NrSG9sZGVyIGxvY2soZ2xvYmFsRGF0
YSgpKTsKIAotICAgIG1fd29ya2VyQ29udGV4dFdyYXBwZXItPnNldEV2YWxFbmFibGVkKGZhbHNl
KTsKKyAgICBtX3dvcmtlckNvbnRleHRXcmFwcGVyLT5zZXRFdmFsRW5hYmxlZChmYWxzZSwgZXJy
b3JNZXNzYWdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IDNiMmFj
ZDRiNjRkNzAzOTlmYzM3ODhhZmQ4YjdjODYxZGZmMTYyZWMuLmEzMTNmYjBmZTFjNTA0NTM1MjUw
Y2I0M2VjNzIxMzZjNjZlMDAzNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKQEAgLTc1LDcgKzc1LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIGZvcmJpZEV4ZWN1dGlvbigpOwogICAgICAgICBib29s
IGlzRXhlY3V0aW9uRm9yYmlkZGVuKCkgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBkaXNhYmxlRXZh
bCgpOworICAgICAgICB2b2lkIGRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
KTsKIAogICAgICAgICBKU0M6OkpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpIHsgcmV0dXJuIG1f
Z2xvYmFsRGF0YS5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDA2OTJlM2QyYjliODJkMzg5NmM5NTkyNjI5ZjM1Mjc0
OWE3M2MwZWYuLmIyNjI2NGJiYzUyYjI5NmM2YTMxOWM4NGM0ZTUwOTBiMmE4YjhhNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0z
MzYsMTQgKzMzNiwxNCBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmVuYWJsZUV2YWwoKQogICAg
IHY4Q29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKHRydWUpOwogfQogCi12
b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKCkKK3ZvaWQgU2NyaXB0Q29udHJvbGxl
cjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgdjg6Okhh
bmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IHY4Q29u
dGV4dCA9IHByb3h5KCktPndpbmRvd1NoZWxsKCktPmNvbnRleHQoKTsKICAgICBpZiAodjhDb250
ZXh0LklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdjhDb250ZXh0LT5BbGxvd0Nv
ZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MoZmFsc2UpOworICAgIHY4Q29udGV4dC0+QWxsb3dDb2Rl
R2VuZXJhdGlvbkZyb21TdHJpbmdzKGZhbHNlLCB2OFN0cmluZyhlcnJvck1lc3NhZ2UpKTsKIH0K
IAogUGFzc1NjcmlwdEluc3RhbmNlIFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdEluc3Rh
bmNlRm9yV2lkZ2V0KFdpZGdldCogd2lkZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGQxODlkYzFjNDdmOTE4ZTM5NGY1OGQ2ZDg1MWYw
NjE4MmE2MjY0NzYuLmI1YTA2MjgzZWYwNGI5ZDAwNWZjYzcwYTI2ZDMwNzU4ODJhNWI1OGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmgKQEAgLTEy
NSw3ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXZlSW50ZXJwcmV0ZXIoKSBjb25zdDsK
IAogICAgIHZvaWQgZW5hYmxlRXZhbCgpOwotICAgIHZvaWQgZGlzYWJsZUV2YWwoKTsKKyAgICB2
b2lkIGRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKIAogICAgIHN0YXRp
YyBib29sIGNhbkFjY2Vzc0Zyb21DdXJyZW50T3JpZ2luKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggMjIyNGM3MDBk
ZjcxNTNjYjBjNjBjMWM1YzY4NzU2ZjFiNzdlNDg3Zi4uMzJmNDAxMTZiNjQ3ZTdhYjQwMzNmNmY1
MTM1OTFlN2JhNDY3ZDI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAKQEAgLTM0NCw3ICszNDQsNyBAQCBib29sIFY4RE9NV2luZG93U2hl
bGw6OmluaXRDb250ZXh0SWZOZWVkZWQoKQogICAgIHNldFNlY3VyaXR5VG9rZW4oKTsKIAogICAg
IGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICB2OENvbnRleHQtPkFsbG93Q29kZUdl
bmVyYXRpb25Gcm9tU3RyaW5ncyhtX2ZyYW1lLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQ
b2xpY3koKS0+YWxsb3dFdmFsKDAsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBv
cnQpKTsKKyAgICAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3Mo
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgw
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSwgdjhTdHJpbmcobV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmV2YWxEaXNhYmxlZEVycm9y
TWVzc2FnZSgpKSk7CiAKICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpZENyZWF0
ZVNjcmlwdENvbnRleHQobV9jb250ZXh0LCAwLCAwKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBkNjc4OTUx
Mjk2NzMwOTBmNWI4YjBiYTZhMzdhMmRkMzVmMjBjZDYxLi41ODllYWNhNGMzM2U5MmE4ZjkyMGUx
ZjgyYWY2OTY4NjE2M2UzYjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMTMzLDcgKzEzMyw3IEBAIGJvb2wg
V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6aXNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdAogICAg
IHJldHVybiBtX2V4ZWN1dGlvbkZvcmJpZGRlbjsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRDb250
cm9sbGVyOjpkaXNhYmxlRXZhbCgpCit2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2Fi
bGVFdmFsKGNvbnN0IFN0cmluZyYgLyogZXJyb3JNZXNzYWdlICovKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKaW5k
ZXggNjFlZDdhYmMxMWM5ZDMzYmE2YjY3YjkxNmM3YTIxNjc5OWRhNzIzMi4uNjhjZTg5YWFlMDdm
ZjM4NjU5MGJhZjhiOTk3ODQ2NjI4NjA4N2MwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtNzMsNyArNzMsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZm9yYmlkRXhlY3V0aW9uKCk7CiAgICAg
ICAgIGJvb2wgaXNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdDsKIAotICAgICAgICB2b2lkIGRp
c2FibGVFdmFsKCk7CisgICAgICAgIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJik7CiAK
ICAgICAgICAgLy8gUmV0dXJucyBXb3JrZXJTY3JpcHRDb250cm9sbGVyIGZvciB0aGUgY3VycmVu
dGx5IGV4ZWN1dGluZyBjb250ZXh0LiAwIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIGN1cnJlbnQg
ZXhlY3V0aW5nIGNvbnRleHQgaXMgbm90IHRoZSB3b3JrZXIgY29udGV4dC4KICAgICAgICAgc3Rh
dGljIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIGNvbnRyb2xsZXJGb3JDb250ZXh0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwNzQ3ZGEyMjU0NjBmYWY3YjhjMzI3ZGUyNDA1OTgwYTk5
MWJmOGQwLi4xY2VkNmEwZTg1ODgwZDg0MzYyYjM5YThlNGVlNGFiNzExZjBkNmJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKQEAgLTI4MDMsMTIgKzI4MDMsMTIgQEAgU3RyaW5nIERvY3VtZW50
Ojp1c2VyQWdlbnQoY29uc3QgS1VSTCYgdXJsKSBjb25zdAogICAgIHJldHVybiBmcmFtZSgpID8g
ZnJhbWUoKS0+bG9hZGVyKCktPnVzZXJBZ2VudCh1cmwpIDogU3RyaW5nKCk7CiB9CiAKLXZvaWQg
RG9jdW1lbnQ6OmRpc2FibGVFdmFsKCkKK3ZvaWQgRG9jdW1lbnQ6OmRpc2FibGVFdmFsKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIGlmICghZnJhbWUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZnJhbWUoKS0+c2NyaXB0KCktPmRpc2FibGVFdmFsKCk7CisgICAgZnJhbWUo
KS0+c2NyaXB0KCktPmRpc2FibGVFdmFsKGVycm9yTWVzc2FnZSk7CiB9CiAKIGJvb2wgRG9jdW1l
bnQ6OmNhbk5hdmlnYXRlKEZyYW1lKiB0YXJnZXRGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggY2I0NzBjZmY0MWNmMTQ3ZWExM2U5NDk4MTc1OGM2MWFjMDMyMjg2Yy4uNjM3YWUwYmNiOGY0
NDZiNWM4NzdiY2I1Yzc1MDIwZjY1ZWIzYTA2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTYz
MCw3ICs2MzAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQoY29u
c3QgS1VSTCYpIGNvbnN0OwogCi0gICAgdmlydHVhbCB2b2lkIGRpc2FibGVFdmFsKCk7CisgICAg
dmlydHVhbCB2b2lkIGRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKIAog
ICAgIGJvb2wgY2FuTmF2aWdhdGUoRnJhbWUqIHRhcmdldEZyYW1lKTsKICAgICBGcmFtZSogZmlu
ZFVuc2FmZVBhcmVudFNjcm9sbFByb3BhZ2F0aW9uQm91bmRhcnkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGU3NDY4MDM4YzZhMzg1Yjg4MTZm
OWZjMWI0NzM1MDZhYzI2Y2ExMTAuLjhhZDNlOWYyNDBhODNiMTZmNDI5YmFlMDE4ZDg3MjA4NGI0
Mzc0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApA
QCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQo
Y29uc3QgS1VSTCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbCgp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpID0gMDsKIAogICAgIGJvb2wgc2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAgICAgdm9pZCBy
ZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCA4
ODJmOGM2YWE5ZmE0MTA0OTZhYzA2YThmOTE4MWJlZjJjYjEyZTc3Li5lZjIyMmI1ZjYwMTM2MWE3
YjFkZDdmMWY0ZTYzOTZjZjJiZTdjYWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC03MjAsNiArNzIwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgYWxsb3dGb3JtQWN0aW9uKGNvbnN0IEtVUkwmLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJl
cG9ydGluZ1N0YXR1cykgY29uc3Q7CiAKICAgICB2b2lkIGdhdGhlclJlcG9ydFVSSXMoRE9NU3Ry
aW5nTGlzdCYpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgZXZhbERpc2FibGVkRXJyb3JNZXNz
YWdlKCkgeyByZXR1cm4gbV9ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2U7IH0KIAogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBDU1BEaXJlY3RpdmVMaXN0KENvbnRlbnRTZWN1cml0eVBvbGljeSopOwpA
QCAtNzQ1LDYgKzc0Niw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjaGVja1NvdXJjZShTb3VyY2VM
aXN0RGlyZWN0aXZlKiwgY29uc3QgS1VSTCYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tNZWRpYVR5
cGUoTWVkaWFMaXN0RGlyZWN0aXZlKiwgY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcm
IHR5cGVBdHRyaWJ1dGUpIGNvbnN0OwogCisgICAgdm9pZCBzZXRFdmFsRGlzYWJsZWRFcnJvck1l
c3NhZ2UoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpIHsgbV9ldmFsRGlzYWJsZWRFcnJvck1l
c3NhZ2UgPSBlcnJvck1lc3NhZ2U7IH0KKwogICAgIGJvb2wgY2hlY2tFdmFsQW5kUmVwb3J0Vmlv
bGF0aW9uKFNvdXJjZUxpc3REaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFs
TnVtYmVyJiBjb250ZXh0TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwg
UGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBjaGVja0lu
bGluZUFuZFJlcG9ydFZpb2xhdGlvbihTb3VyY2VMaXN0RGlyZWN0aXZlKiwgY29uc3QgU3RyaW5n
JiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9y
ZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdDsKICAgICBib29sIGNoZWNrTm9uY2VBbmRS
ZXBvcnRWaW9sYXRpb24oTm9uY2VEaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcmIG5vbmNlLCBjb25z
dCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OwpAQCAtNzU0LDYgKzc1Nyw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW55SWZFbmZvcmNpbmdQb2xpY3koKSBjb25zdCB7IHJl
dHVybiBtX3JlcG9ydE9ubHk7IH0KIAogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSogbV9wb2xp
Y3k7CisKICAgICBTdHJpbmcgbV9oZWFkZXI7CiAKICAgICBib29sIG1fcmVwb3J0T25seTsKQEAg
LTc3Myw2ICs3NzcsOCBAQCBwcml2YXRlOgogICAgIE93blB0cjxTb3VyY2VMaXN0RGlyZWN0aXZl
PiBtX3N0eWxlU3JjOwogCiAgICAgVmVjdG9yPEtVUkw+IG1fcmVwb3J0VVJJczsKKworICAgIFN0
cmluZyBtX2V2YWxEaXNhYmxlZEVycm9yTWVzc2FnZTsKIH07CiAKIENTUERpcmVjdGl2ZUxpc3Q6
OkNTUERpcmVjdGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3kpCkBAIC03OTcs
NiArODAzLDExIEBAIFBhc3NPd25QdHI8Q1NQRGlyZWN0aXZlTGlzdD4gQ1NQRGlyZWN0aXZlTGlz
dDo6Y3JlYXRlKENvbnRlbnRTZWN1cml0eVBvbGljeSogcG9sCiAgICAgICAgIGJyZWFrOwogICAg
IH0KIAorICAgIGlmICghZGlyZWN0aXZlcy0+Y2hlY2tFdmFsKGRpcmVjdGl2ZXMtPm9wZXJhdGl2
ZURpcmVjdGl2ZShkaXJlY3RpdmVzLT5tX3NjcmlwdFNyYy5nZXQoKSkpKSB7CisgICAgICAgIFN0
cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiUmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBh
cyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3Vy
Y2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGly
ZWN0aXZlOiBcIiIsIGRpcmVjdGl2ZXMtPm9wZXJhdGl2ZURpcmVjdGl2ZShkaXJlY3RpdmVzLT5t
X3NjcmlwdFNyYy5nZXQoKSktPnRleHQoKSwgIlwiLlxuIik7CisgICAgICAgIGRpcmVjdGl2ZXMt
PnNldEV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZShtZXNzYWdlKTsKKyAgICB9CisKICAgICByZXR1
cm4gZGlyZWN0aXZlcy5yZWxlYXNlKCk7CiB9CiAKQEAgLTEyNDksNyArMTI2MCw3IEBAIHZvaWQg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpkaWRSZWNlaXZlSGVhZGVyKGNvbnN0IFN0cmluZyYgaGVh
ZGVyLCBIZWFkZXJUeXBlIHR5CiAgICAgfQogCiAgICAgaWYgKCFhbGxvd0V2YWwoMCwgU3VwcHJl
c3NSZXBvcnQpKQotICAgICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRpc2FibGVFdmFs
KCk7CisgICAgICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZGlzYWJsZUV2YWwoZXZhbERp
c2FibGVkRXJyb3JNZXNzYWdlKCkpOwogfQogCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
c2V0T3ZlcnJpZGVBbGxvd0lubGluZVN0eWxlKGJvb2wgdmFsdWUpCkBAIC0xMzM3LDYgKzEzNDgs
MTUgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93RXZhbChQYXNzUmVmUHRyPFNj
cmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrLCBDb24KICAgICByZXR1cm4gaXNBbGxvd2VkQnlBbGxX
aXRoQ2FsbFN0YWNrPCZDU1BEaXJlY3RpdmVMaXN0OjphbGxvd0V2YWw+KG1fcG9saWNpZXMsIGNh
bGxTdGFjaywgcmVwb3J0aW5nU3RhdHVzKTsKIH0KIAorU3RyaW5nIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6ZXZhbERpc2FibGVkRXJyb3JNZXNzYWdlKCkgY29uc3QKK3sKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fcG9saWNpZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKCFtX3Bv
bGljaWVzW2ldLT5hbGxvd0V2YWwoMCwgU3VwcHJlc3NSZXBvcnQpKQorICAgICAgICAgICAgcmV0
dXJuIG1fcG9saWNpZXNbaV0tPmV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSgpOworICAgIH0KKyAg
ICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxv
d1NjcmlwdE5vbmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgY29uc3QgS1VSTCYgdXJs
KSBjb25zdAogewogICAgIHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhOb25jZTwmQ1NQRGlyZWN0
aXZlTGlzdDo6YWxsb3dTY3JpcHROb25jZT4obV9wb2xpY2llcywgbm9uY2UsIGNvbnRleHRVUkws
IGNvbnRleHRMaW5lLCB1cmwpOwpAQCAtMTM0NSw3ICsxMzY1LDcgQEAgYm9vbCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBub25jZSwgY29uc3Qg
U3RyaW5nJgogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93UGx1Z2luVHlwZShjb25z
dCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSwgY29uc3QgS1VSTCYg
dXJsLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydGluZ1N0YXR1cyByZXBvcnRpbmdTdGF0
dXMpIGNvbnN0CiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3BvbGljaWVzLnNpemUo
KTsgKytpKSB7Ci0gICAgICAgIGlmICghbV9wb2xpY2llc1tpXS5nZXQoKS0+YWxsb3dQbHVnaW5U
eXBlKHR5cGUsIHR5cGVBdHRyaWJ1dGUsIHVybCwgcmVwb3J0aW5nU3RhdHVzKSkKKyAgICAgICAg
aWYgKCFtX3BvbGljaWVzW2ldLT5hbGxvd1BsdWdpblR5cGUodHlwZSwgdHlwZUF0dHJpYnV0ZSwg
dXJsLCByZXBvcnRpbmdTdGF0dXMpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
ICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE0MDQsNyArMTQyNCw3IEBAIGJvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5Ojppc0FjdGl2ZSgpIGNvbnN0CiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
Z2F0aGVyUmVwb3J0VVJJcyhET01TdHJpbmdMaXN0JiBsaXN0KSBjb25zdAogewogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbV9wb2xpY2llcy5zaXplKCk7ICsraSkKLSAgICAgICAgbV9wb2xp
Y2llc1tpXS5nZXQoKS0+Z2F0aGVyUmVwb3J0VVJJcyhsaXN0KTsKKyAgICAgICAgbV9wb2xpY2ll
c1tpXS0+Z2F0aGVyUmVwb3J0VVJJcyhsaXN0KTsKIH0KIAogU2VjdXJpdHlPcmlnaW4qIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6c2VjdXJpdHlPcmlnaW4oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggM2MzOTA1MTZhYWNlNWJkZTMzNzhh
ODhlOGJmNmQzMDBiMzk5N2QyMy4uNTkxNDZiZTEyZWE4YWZlYTE3OTcwYmExZDEzMTgyMjFkMTIz
ZDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBA
IC0xMTAsNiArMTEwLDcgQEAgcHVibGljOgogICAgIEtVUkwgY29tcGxldGVVUkwoY29uc3QgU3Ry
aW5nJikgY29uc3Q7CiAgICAgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luKCkgY29uc3Q7
CiAgICAgdm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncykgY29uc3Q7CisgICAg
U3RyaW5nIGV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSgpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IGV4cGxpY2l0IENvbnRlbnRTZWN1cml0eVBvbGljeShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAppbmRleCBlNWJkMTVlYTZh
ZWNiNjVjMzZlZDQ2MmJmN2ZmM2M2ODdmZWFjNzJhLi43YzI5ZjMzNzRjM2U5MDNhYWVmYTdjNmVk
OTJlOTI1NDU4Y2I5MTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAKQEAgLTE0Nyw5ICsxNDcsOSBAQCBTdHJpbmcgV29ya2VyQ29udGV4dDo6dXNlckFnZW50KGNv
bnN0IEtVUkwmKSBjb25zdAogICAgIHJldHVybiBtX3VzZXJBZ2VudDsKIH0KIAotdm9pZCBXb3Jr
ZXJDb250ZXh0OjpkaXNhYmxlRXZhbCgpCit2b2lkIFdvcmtlckNvbnRleHQ6OmRpc2FibGVFdmFs
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIG1fc2NyaXB0LT5kaXNhYmxlRXZh
bCgpOworICAgIG1fc2NyaXB0LT5kaXNhYmxlRXZhbChlcnJvck1lc3NhZ2UpOwogfQogCiBXb3Jr
ZXJMb2NhdGlvbiogV29ya2VyQ29udGV4dDo6bG9jYXRpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCAzNDgxOWQwN2NkYmE2YjQ5NWY2ODUwYzAzYjk3
NjExNmRkNTI4NDQxLi5hZTMyNmYzYjg2MjllNGRmODczODcwOThmMWNjM2NkNGY1MGY4YTZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtNzIsNyArNzIsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGNvbnN0IEdyb3VwU2V0dGluZ3MqIGdyb3VwU2V0
dGluZ3MoKSB7IHJldHVybiBtX2dyb3VwU2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAgdmlydHVh
bCBTdHJpbmcgdXNlckFnZW50KGNvbnN0IEtVUkwmKSBjb25zdDsKIAotICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzYWJsZUV2YWwoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVFdmFsKGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKIAogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9s
bGVyKiBzY3JpcHQoKSB7IHJldHVybiBtX3NjcmlwdC5nZXQoKTsgfQogICAgICAgICB2b2lkIGNs
ZWFyU2NyaXB0KCkgeyBtX3NjcmlwdC5jbGVhcigpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjdlNzgyNzQ1ZjUzNzRk
ZjMxZWExMWFkMDk3Zjc0OGM1MTAzNThlZS4uYmI5NDk4ZmI5YWFiZDg4OWRhZjE3YTQ0NDYxM2U1
YmVhZTVkNWYyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA4LTIxICBVbGFuIERlZ2Vu
YmFldiAgPHVsYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFY4IHNob3VsZCB0aHJvdyBhIG1v
cmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdoZW4gYmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1AuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9l
dmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25z
dHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1p
ZnJhbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJs
b2NrZWQtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA4LTE4ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRt
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1ha2UgcHJvZmlsZXMg
cGFuZWwgYSBsYXppbHkgbG9hZGVkIG1vZHVsZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDY5ODU1OGE4OWI4NzYyMjll
ZGE5MmEzYzVhNzlhZTE2ZmU0MzY4OWUuLjM2ODE3OWQ4OWNkMTliNmMyODhmMjdjNTRjNGM2MTY5
NTk1MWIyN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9j
a2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MjogRXZhbEVycm9yOiBFdmFsIGlzIGRpc2FibGVkCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6
IEV2YWxFcnJvcjogRXZhbCBpcyBkaXNhYmxlZAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBF
dmFsRXJyb3I6IFJlZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNh
dXNlICd1bnNhZmUtZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0
aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1z
cmMgJ3Vuc2FmZS1pbmxpbmUnIi4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBFdmFsRXJy
b3I6IFJlZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1
bnNhZmUtZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9s
bG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vu
c2FmZS1pbmxpbmUnIi4KKwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmst
aWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhw
ZWN0ZWQudHh0CmluZGV4IGI4MDczYjc4NmQzZDdmOWEyYWM3NzZjODc4NTczMmMyZmRmZjg3MWUu
LjljYzU2N2Q3YjZjNGVmMWE3ODBhMTY2ZThmMTU3ZTM4OWQwOTk2ZDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwt
YmxvY2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tl
ZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAogQUxF
UlQ6IC9QQVNTLwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEV2YWxFcnJvcjogRXZhbCBpcyBk
aXNhYmxlZAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IEV2YWxFcnJvcjogUmVmdXNlZCB0byBl
dmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBu
b3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBT
ZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciLgor
CiAgRXZhbCBzaG91bGQgYmUgYmxvY2tlZCBpbiB0aGUgaWZyYW1lLCBidXQgaW5saW5lIHNjcmlw
dCBzaG91bGQgYmUgYWxsb3dlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2Nr
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQK
aW5kZXggOGNjODNjYTFmYjFlMmEwNDljZjE0NDc3ZTQ1ZjY0MTVmNGY3NjA1My4uNTUxZDk3YTAw
MzU0YjcwOGE5ODRiYWMwYzk1ZDQwNjY1NmFiNWJlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3Ry
dWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tl
ZC1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6
IEV2YWxFcnJvcjogRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgZGlzYWJsZWQKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxMjogRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFz
IEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJj
ZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggN2RkODJhNGFkNjkxYWE3NWVjMzFhNDI0Njkx
YjE2NmNmMzc0MDY2OS4uMGFlN2I1NGUyZTRiNDBiZTVhYjBlNDc1YjIwYTkwNGE1ZDcwZDM5NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBFcnJvcjogQ29kZSBnZW5lcmF0
aW9uIGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlzIGNvbnRleHQKLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNTogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2VuZXJhdGlvbiBmcm9tIHN0cmlu
Z3MgZGlzYWxsb3dlZCBmb3IgdGhpcyBjb250ZXh0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6
IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZh
U2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Yg
c2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZl
OiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTU6IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBK
YXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ug
b2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciLgorCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L2V2YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS1leHBl
Y3RlZC50eHQKaW5kZXggNGY3ZWRlOWQ4M2Y0MTcxOTlkMzI5ZDNjODZmNzVjYThhNGQyZmI0NS4u
ZjZiYWNkZGE1MjcwZmM2Nzk4MDVjYzA1NDQ5MDYzYjkwYWI5MzMyYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFt
ZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiBBTEVSVDogL1BBU1MvCi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2VuZXJhdGlvbiBmcm9tIHN0cmlu
Z3MgZGlzYWxsb3dlZCBmb3IgdGhpcyBjb250ZXh0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
VW5jYXVnaHQgRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFT
Y3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBz
Y3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKICBFdmFsIHNob3VsZCBiZSBibG9ja2Vk
IGluIHRoZSBpZnJhbWUsIGJ1dCBpbmxpbmUgc2NyaXB0IHNob3VsZCBiZSBhbGxvd2VkLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4
cGVjdGVkLnR4dAppbmRleCA3NDY1Nzc0NTdmMjgzNjUzZDFhY2E4MDg4MmI3MWJlOGJiZGE4YTYx
Li5jYzY3OTk2MWI3OTQ1MjYxOWE0M2M0NGRlMjY2YmFlODMxMmFlOTM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVk
LnR4dApAQCAtMSwyICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQg
RXJyb3I6IENvZGUgZ2VuZXJhdGlvbiBmcm9tIHN0cmluZ3MgZGlzYWxsb3dlZCBmb3IgdGhpcyBj
b250ZXh0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVm
dXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1l
dmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlu
bGluZSciLgorCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164279</attachid>
            <date>2012-09-15 02:13:35 -0700</date>
            <delta_ts>2012-09-17 01:40:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94332-20120915111305.patch</filename>
            <type>text/plain</type>
            <size>6827</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4Njg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FlMWI0ZjE2ODViM2Mx
M2Y4ZTI4ZGFlYzc2ZTcwYWQ3ZDcyODZjYS4uZTM4MzIzNDJmODkzZjA0MTI1OTg0YmQyNTk5YmFh
ZTE3MWQwYjczZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTE1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVjggc2hvdWxkIHRocm93IGEg
bW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24gd2hlbiBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sbG93aW5n
IHVwIG9uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMSwgdGhp
cworICAgICAgICBwYXRjaCB3aXJlcyB1cCB0aGUgbmV3IGVycm9yIG1lc3NhZ2UgbWVjaGFuaXNt
IHRvIFY4LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OERPTVdpbmRvd1NoZWxsOjppbml0aWFsaXplSWZOZWVkZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSk6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZh
bEFsbG93ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Q
cm94eS5oOgorICAgICAgICAoV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKToKKwogMjAxMi0wOS0xNCAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyODY3My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggOWFhMzYwN2QyNzFiYTNmY2YzY2IyMDQz
ZTNjOTFjZDQ5MWM1ZTNkYi4uODMzMTY3YjAyZTkyYzdhMWFiYTc3ZmU3ZDc2YTc4N2UwY2ZjM2Qw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5j
cHAKQEAgLTQ4NywxNCArNDg3LDE0IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZW5hYmxlRXZh
bCgpCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3ModHJ1ZSk7
CiB9CiAKLXZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiAv
KiBlcnJvck1lc3NhZ2UgKi8pCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVT
Y29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB3aW5kb3dTaGVs
bCgpLT5jb250ZXh0KCk7CiAgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHY4Q29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKGZh
bHNlKTsKKyAgICB2OENvbnRleHQtPkFsbG93Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyhmYWxz
ZSwgdjhTdHJpbmcoZXJyb3JNZXNzYWdlKSk7CiB9CiAKIFBhc3NTY3JpcHRJbnN0YW5jZSBTY3Jp
cHRDb250cm9sbGVyOjpjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldpZGdldChXaWRnZXQqIHdpZGdl
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hl
bGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAK
aW5kZXggMTVlYjUyZmE3Mzk2MjE5N2YwNTA5MDg5ZGIyNDQ1M2E1NDBmNzA0NS4uNDdmNTcyZWQ0
OGQ1ZjQ1NDBjMTFiNDJiNDExODM5NGM3ZDJiMDI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTM3MCw3ICszNzAsNyBAQCBib29s
IFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCgpCiAgICAgICAgIHVwZGF0ZURv
Y3VtZW50KCk7CiAgICAgICAgIHNldFNlY3VyaXR5VG9rZW4oKTsKICAgICAgICAgaWYgKG1fZnJh
bWUtPmRvY3VtZW50KCkpCi0gICAgICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9u
RnJvbVN0cmluZ3MobV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkt
PmFsbG93RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7Cisg
ICAgICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MobV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSwgdjhTdHJpbmcobV9mcmFtZS0+ZG9j
dW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmV2YWxEaXNhYmxlZEVycm9yTWVzc2Fn
ZSgpKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVXNpbmcgdGhlIGRlZmF1bHQgc2VjdXJp
dHkgdG9rZW4gbWVhbnMgdGhhdCB0aGUgY2FuQWNjZXNzIGlzIGFsd2F5cwogICAgICAgICAvLyBj
YWxsZWQsIHdoaWNoIGlzIHNsb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCA2NzZmYWVkMDY4
MjYzOTJiNDM0YWVmNjA5YTZkNTgzMzg2ZDk3NjI4Li5mYmE4NTczMmU4ZjYyMjdkMmM2YWY5YTM4
NjViN2I2MzNkOGJhMDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAg
c3RhdGljIHZvaWQgdjhNZXNzYWdlSGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNz
YWdlLCB2ODo6SGFuZGxlPHY4OjpWYWwKIAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpX
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCkK
ICAgICA6IG1fd29ya2VyQ29udGV4dCh3b3JrZXJDb250ZXh0KQotICAgICwgbV9kaXNhYmxlRXZh
bFBlbmRpbmcoZmFsc2UpCisgICAgLCBtX2Rpc2FibGVFdmFsUGVuZGluZyhTdHJpbmcoKSkKIHsK
ICAgICBpbml0SXNvbGF0ZSgpOwogfQpAQCAtMjEyLDkgKzIxMiw5IEBAIFNjcmlwdFZhbHVlIFdv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUoY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGNvbnN0IFN0CiAgICAgaWYgKCFpbml0aWFsaXplSWZOZWVkZWQoKSkKICAgICAgICAgcmV0dXJu
IFNjcmlwdFZhbHVlKCk7CiAKLSAgICBpZiAobV9kaXNhYmxlRXZhbFBlbmRpbmcpIHsKLSAgICAg
ICAgbV9jb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MoZmFsc2UpOwotICAg
ICAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IGZhbHNlOworICAgIGlmICghbV9kaXNhYmxlRXZh
bFBlbmRpbmcuaXNFbXB0eSgpKSB7CisgICAgICAgIG1fY29udGV4dC0+QWxsb3dDb2RlR2VuZXJh
dGlvbkZyb21TdHJpbmdzKGZhbHNlLCB2OFN0cmluZyhtX2Rpc2FibGVFdmFsUGVuZGluZykpOwor
ICAgICAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IFN0cmluZygpOwogICAgIH0KIAogICAgIHY4
OjpDb250ZXh0OjpTY29wZSBzY29wZShtX2NvbnRleHQpOwpAQCAtMjUxLDkgKzI1MSw5IEBAIFNj
cmlwdFZhbHVlIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUoY29uc3QgU3Ry
aW5nJiBzY3JpcHQsIGNvbnN0IFN0CiAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHJlc3VsdCk7CiB9
CiAKLXZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpzZXRFdmFsQWxsb3dlZChib29s
IGVuYWJsZSkKK3ZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpzZXRFdmFsQWxsb3dl
ZChib29sIGVuYWJsZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7Ci0gICAgbV9kaXNh
YmxlRXZhbFBlbmRpbmcgPSAhZW5hYmxlOworICAgIG1fZGlzYWJsZUV2YWxQZW5kaW5nID0gZW5h
YmxlID8gU3RyaW5nKCkgOiBlcnJvck1lc3NhZ2U7CiB9CiAKIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNj
cmlwdD4gc2NyaXB0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAppbmRleCA4MTI4YWI4N2FlNjY1YTRlZDZiMGY1
ZWQxZTdlOGYzNTgyMzNiMDVjLi41MmJmNDdjN2VlMWViN2UyNjE3MWIzZmUwMWViNzc3ZDE3NzEy
Mzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0
RXhlY3V0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHkuaApAQCAtNjksNyArNjksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZvaWQgdHJhY2tFdmVudChFdmVudCopOwogCiAgICAgICAgIC8vIEFsb3cg
dXNlIG9mIGV2YWwoKSBhbmQgaXMgZXF1aXZhbGVudHMgaW4gc2NyaXB0cy4KLSAgICAgICAgdm9p
ZCBzZXRFdmFsQWxsb3dlZChib29sIGVuYWJsZSk7CisgICAgICAgIHZvaWQgc2V0RXZhbEFsbG93
ZWQoYm9vbCBlbmFibGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKIAogICAgICAgICAv
LyBFdmFsdWF0ZSBhIHNjcmlwdCBmaWxlIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9u
bWVudC4KICAgICAgICAgU2NyaXB0VmFsdWUgZXZhbHVhdGUoY29uc3QgU3RyaW5nJiBzY3JpcHQs
IGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQ
b3NpdGlvbiwgV29ya2VyQ29udGV4dEV4ZWN1dGlvblN0YXRlKik7CkBAIC05Niw3ICs5Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBPd25QdHI8VjhQZXJDb250ZXh0RGF0YT4g
bV9wZXJDb250ZXh0RGF0YTsKIAotICAgICAgICBib29sIG1fZGlzYWJsZUV2YWxQZW5kaW5nOwor
ICAgICAgICBTdHJpbmcgbV9kaXNhYmxlRXZhbFBlbmRpbmc7CiAgICAgfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3Jr
ZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA3MDIwOGUxZmVlNDBmNjA3ZDMzZGIzZTNkYjdj
ZWVhMDgyZjU4ZjEwLi43ZDZiNThhN2JmMmE1NTU5NjM3OGZkYTYzM2YxYThlMTU0OGMzZTIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250
cm9sbGVyLmNwcApAQCAtMTMyLDkgKzEzMiw5IEBAIGJvb2wgV29ya2VyU2NyaXB0Q29udHJvbGxl
cjo6aXNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdAogICAgIHJldHVybiBtX2V4ZWN1dGlvbkZv
cmJpZGRlbjsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbChj
b25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykKK3ZvaWQgV29ya2VyU2NyaXB0Q29udHJv
bGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7Ci0gICAgbV9w
cm94eS0+c2V0RXZhbEFsbG93ZWQoZmFsc2UpOworICAgIG1fcHJveHktPnNldEV2YWxBbGxvd2Vk
KGZhbHNlLCBlcnJvck1lc3NhZ2UpOwogfQogCiB2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6
OnNldEV4Y2VwdGlvbihjb25zdCBTY3JpcHRWYWx1ZSYgZXhjZXB0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164357</attachid>
            <date>2012-09-17 01:40:36 -0700</date>
            <delta_ts>2012-09-20 08:30:59 -0700</delta_ts>
            <desc>New method.</desc>
            <filename>bug-94332-20120917104003.patch</filename>
            <type>text/plain</type>
            <size>7104</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU0NTQ5MTczZGE1ZTIx
ZDZjYzI4YmNiYzlmOTQ3NWNkOWIwYjZjNS4uYjQ0OWYyOGQyN2RjYTc5YWQzNDU0NmIwZDNhYjM5
NGVmNzMyYjA4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTE3ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVjggc2hvdWxkIHRocm93IGEg
bW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24gd2hlbiBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBGb2xsb3dpbmcgdXAg
b24gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMxLCB0aGlzCisg
ICAgICAgIHBhdGNoIHdpcmVzIHVwIHRoZSBuZXcgZXJyb3IgbWVzc2FnZSBtZWNoYW5pc20gdG8g
VjguCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9N
V2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
ckNvbnRleHRFeGVjdXRpb25Qcm94eTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpzZXRFdmFsQWxs
b3dlZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
Lmg6CisgICAgICAgIChXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwpOgorCiAyMDEyLTA5LTE2ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ2hyb21pdW0gd2lu
IGJ1aWxkIGZpeCAtIGxpc3RpbmcgYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdCBpcyBhIGZhdGFs
IGVycm9ycyBpbiB0aGUgbXN2cyBneXAgZ2VuZXJhdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBmYjlkNTU3ZTkyYjQ2NTA5Nzgz
OTBjMTMxZTA4MzkyOTlhMzFkZjYzLi4xNzcyMTM2NGQwNjhhOTMzZTEwYmIyY2ZiZDJmZGEwNzY0
ODI2ZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9s
bGVyLmNwcApAQCAtNDg1LDcgKzQ4NSw3IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZW5hYmxl
RXZhbCgpCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3ModHJ1
ZSk7CiB9CiAKLXZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5n
JiAvKiBlcnJvck1lc3NhZ2UgKi8pCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFs
KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIHY4OjpIYW5kbGVTY29wZSBoYW5k
bGVTY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB3aW5kb3dT
aGVsbCgpLT5jb250ZXh0KCk7CkBAIC00OTMsNiArNDkzLDcgQEAgdm9pZCBTY3JpcHRDb250cm9s
bGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmlu
Z3MoZmFsc2UpOworICAgIHY4Q29udGV4dC0+U2V0RXJyb3JNZXNzYWdlRm9yQ29kZUdlbmVyYXRp
b25Gcm9tU3RyaW5ncyh2OFN0cmluZyhlcnJvck1lc3NhZ2UpKTsKIH0KIAogUGFzc1NjcmlwdElu
c3RhbmNlIFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lkZ2V0KFdp
ZGdldCogd2lkZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRv
d1NoZWxsLmNwcAppbmRleCA5ZmU2ZDdjZWFiOWVlYThlZDg2ZTRlYWM3YjFiOWE2MDBkNmI3NDUx
Li5iZWFkZGFjYjYzNDdjY2JjNDAyZTJiZDIxNmY4YjY2MWU4YWY2ZmQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtMzY5LDggKzM2
OSwxMSBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCgpCiAgICAg
aWYgKGlzTWFpbldvcmxkKSB7CiAgICAgICAgIHVwZGF0ZURvY3VtZW50KCk7CiAgICAgICAgIHNl
dFNlY3VyaXR5VG9rZW4oKTsKLSAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkpCi0gICAg
ICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MobV9mcmFtZS0+
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7CisgICAgICAgIGlmIChtX2ZyYW1lLT5k
b2N1bWVudCgpKSB7CisgICAgICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kqIGNzcCA9IG1f
ZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpOworICAgICAgICAgICAg
Y29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKGNzcC0+YWxsb3dFdmFsKDAs
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpKTsKKyAgICAgICAgICAgIGNv
bnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3ModjhTdHJp
bmcoY3NwLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSkpOworICAgICAgICB9CiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVXNpbmcgdGhlIGRlZmF1bHQgc2VjdXJpdHkgdG9rZW4gbWVhbnMg
dGhhdCB0aGUgY2FuQWNjZXNzIGlzIGFsd2F5cwogICAgICAgICAvLyBjYWxsZWQsIHdoaWNoIGlz
IHNsb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCA2NzZmYWVkMDY4MjYzOTJiNDM0YWVmNjA5
YTZkNTgzMzg2ZDk3NjI4Li5lMjhmYzA4ZGIxZTBhNDJjY2IwZjRkMGQ1NGM4OWVhYjY0ODEyYmI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgc3RhdGljIHZvaWQgdjhN
ZXNzYWdlSGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxl
PHY4OjpWYWwKIAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHkoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCkKICAgICA6IG1fd29ya2Vy
Q29udGV4dCh3b3JrZXJDb250ZXh0KQotICAgICwgbV9kaXNhYmxlRXZhbFBlbmRpbmcoZmFsc2Up
CisgICAgLCBtX2Rpc2FibGVFdmFsUGVuZGluZyhTdHJpbmcoKSkKIHsKICAgICBpbml0SXNvbGF0
ZSgpOwogfQpAQCAtMjEyLDkgKzIxMiwxMCBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBTdAogICAg
IGlmICghaW5pdGlhbGl6ZUlmTmVlZGVkKCkpCiAgICAgICAgIHJldHVybiBTY3JpcHRWYWx1ZSgp
OwogCi0gICAgaWYgKG1fZGlzYWJsZUV2YWxQZW5kaW5nKSB7CisgICAgaWYgKCFtX2Rpc2FibGVF
dmFsUGVuZGluZy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb250ZXh0LT5BbGxvd0NvZGVHZW5l
cmF0aW9uRnJvbVN0cmluZ3MoZmFsc2UpOwotICAgICAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9
IGZhbHNlOworICAgICAgICBtX2NvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVHZW5lcmF0
aW9uRnJvbVN0cmluZ3ModjhTdHJpbmcobV9kaXNhYmxlRXZhbFBlbmRpbmcpKTsKKyAgICAgICAg
bV9kaXNhYmxlRXZhbFBlbmRpbmcgPSBTdHJpbmcoKTsKICAgICB9CiAKICAgICB2ODo6Q29udGV4
dDo6U2NvcGUgc2NvcGUobV9jb250ZXh0KTsKQEAgLTI1MSw5ICsyNTIsOSBAQCBTY3JpcHRWYWx1
ZSBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2Ny
aXB0LCBjb25zdCBTdAogICAgIHJldHVybiBTY3JpcHRWYWx1ZShyZXN1bHQpOwogfQogCi12b2lk
IFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQoYm9vbCBlbmFibGUp
Cit2b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQoYm9vbCBl
bmFibGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIG1fZGlzYWJsZUV2YWxQ
ZW5kaW5nID0gIWVuYWJsZTsKKyAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IGVuYWJsZSA/IFN0
cmluZygpIDogZXJyb3JNZXNzYWdlOwogfQogCiB2ODo6TG9jYWw8djg6OlZhbHVlPiBXb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNj
cmlwdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5LmgKaW5kZXggODEyOGFiODdhZTY2NWE0ZWQ2YjBmNWVkMWU3ZThm
MzU4MjMzYjA1Yy4uNTJiZjQ3YzdlZTFlYjdlMjYxNzFiM2ZlMDFlYjc3N2QxNzcxMjM5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlv
blByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5LmgKQEAgLTY5LDcgKzY5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2b2lkIHRyYWNrRXZlbnQoRXZlbnQqKTsKIAogICAgICAgICAvLyBBbG93IHVzZSBvZiBl
dmFsKCkgYW5kIGlzIGVxdWl2YWxlbnRzIGluIHNjcmlwdHMuCi0gICAgICAgIHZvaWQgc2V0RXZh
bEFsbG93ZWQoYm9vbCBlbmFibGUpOworICAgICAgICB2b2lkIHNldEV2YWxBbGxvd2VkKGJvb2wg
ZW5hYmxlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAKICAgICAgICAgLy8gRXZhbHVh
dGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gZW52aXJvbm1lbnQuCiAg
ICAgICAgIFNjcmlwdFZhbHVlIGV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBT
dHJpbmcmIGZpbGVOYW1lLCBjb25zdCBUZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24s
IFdvcmtlckNvbnRleHRFeGVjdXRpb25TdGF0ZSopOwpAQCAtOTYsNyArOTYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgT3duUHRyPFY4UGVyQ29udGV4dERhdGE+IG1fcGVyQ29u
dGV4dERhdGE7CiAKLSAgICAgICAgYm9vbCBtX2Rpc2FibGVFdmFsUGVuZGluZzsKKyAgICAgICAg
U3RyaW5nIG1fZGlzYWJsZUV2YWxQZW5kaW5nOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5jcHAKaW5kZXggNzAyMDhlMWZlZTQwZjYwN2QzM2RiM2UzZGI3Y2VlYTA4MmY1
OGYxMC4uN2Q2YjU4YTdiZjJhNTU1OTYzNzhmZGE2MzNmMWE4ZTE1NDhjM2UyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5j
cHAKQEAgLTEzMiw5ICsxMzIsOSBAQCBib29sIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmlzRXhl
Y3V0aW9uRm9yYmlkZGVuKCkgY29uc3QKICAgICByZXR1cm4gbV9leGVjdXRpb25Gb3JiaWRkZW47
CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3Ry
aW5nJiAvKiBlcnJvck1lc3NhZ2UgKi8pCit2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRp
c2FibGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIG1fcHJveHktPnNl
dEV2YWxBbGxvd2VkKGZhbHNlKTsKKyAgICBtX3Byb3h5LT5zZXRFdmFsQWxsb3dlZChmYWxzZSwg
ZXJyb3JNZXNzYWdlKTsKIH0KIAogdm9pZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpzZXRFeGNl
cHRpb24oY29uc3QgU2NyaXB0VmFsdWUmIGV4Y2VwdGlvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164926</attachid>
            <date>2012-09-20 08:31:03 -0700</date>
            <delta_ts>2012-09-22 10:42:42 -0700</delta_ts>
            <desc>Rebaselining.</desc>
            <filename>bug-94332-20120920173028.patch</filename>
            <type>text/plain</type>
            <size>12605</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlNGI2Y2QxYzllZWEw
OWY4MzE3ODJiZGIxNjhhNjFhODRkMmNkMC4uMDdhYTE3M2RjYTlhNzY3ODU2MmZlNWE2NjYwM2Jk
MzgxOTU4YTA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTIwICBNaWtl
IFdlc3QgIDxta3dzdEBnb29nbGUuY29tPgorCisgICAgICAgIFY4IHNob3VsZCB0aHJvdyBhIG1v
cmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdoZW4gYmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1AuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRm9sbG93aW5nIHVwIG9u
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMSwgdGhpcworICAg
ICAgICBwYXRjaCB3aXJlcyB1cCB0aGUgbmV3IGVycm9yIG1lc3NhZ2UgbWVjaGFuaXNtIHRvIFY4
LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdp
bmRvd1NoZWxsOjppbml0aWFsaXplSWZOZWVkZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHk6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSk6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5o
OgorICAgICAgICAoV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKToKKwogMjAxMi0wOS0yMCAgSnVsaWVu
IENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgaXNT
dGFydENvbHVtbiBpbiB0aGUgYm9yZGVyIGNvbGxhcHNpbmcgY29kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA0ODAwYWRlOTE0ZTIw
MjE4Y2U5YmYzODdhYjFlZDdhZjUyOTk1ZmU5Li4yNmViMWU5YWJhZmE3MjdjYWVjN2ZmYjg4Mjli
ODFkNmZkZTZjYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRD
b250cm9sbGVyLmNwcApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6
ZW5hYmxlRXZhbCgpCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmlu
Z3ModHJ1ZSk7CiB9CiAKLXZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3Qg
U3RyaW5nJiAvKiBlcnJvck1lc3NhZ2UgKi8pCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2Fi
bGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIHY4OjpIYW5kbGVTY29w
ZSBoYW5kbGVTY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQgPSB3
aW5kb3dTaGVsbCgpLT5jb250ZXh0KCk7CkBAIC00OTQsNiArNDk0LDcgQEAgdm9pZCBTY3JpcHRD
b250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJv
bVN0cmluZ3MoZmFsc2UpOworICAgIHY4Q29udGV4dC0+U2V0RXJyb3JNZXNzYWdlRm9yQ29kZUdl
bmVyYXRpb25Gcm9tU3RyaW5ncyh2OFN0cmluZyhlcnJvck1lc3NhZ2UpKTsKIH0KIAogUGFzc1Nj
cmlwdEluc3RhbmNlIFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lk
Z2V0KFdpZGdldCogd2lkZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdpbmRvd1NoZWxsLmNwcAppbmRleCA4MWVhMjFhM2I4ZWQ1NGYzYTdhZTYyNzUwNjdjZjIyYWQy
YzY4YjQ4Li4xM2MxZTU3Y2FkOGUyZDUyZDMyZmI5YzMwNWYwNTZhZWQxOThmNDg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtMzY4
LDggKzM2OCwxMSBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCgp
CiAgICAgaWYgKGlzTWFpbldvcmxkKSB7CiAgICAgICAgIHVwZGF0ZURvY3VtZW50KCk7CiAgICAg
ICAgIHNldFNlY3VyaXR5VG9rZW4oKTsKLSAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50KCkp
Ci0gICAgICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MobV9m
cmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgwLCBD
b250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7CisgICAgICAgIGlmIChtX2Zy
YW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kqIGNz
cCA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpOworICAgICAg
ICAgICAgY29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKGNzcC0+YWxsb3dF
dmFsKDAsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpKTsKKyAgICAgICAg
ICAgIGNvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3Mo
djhTdHJpbmcoY3NwLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSkpOworICAgICAgICB9CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgLy8gVXNpbmcgdGhlIGRlZmF1bHQgc2VjdXJpdHkgdG9rZW4g
bWVhbnMgdGhhdCB0aGUgY2FuQWNjZXNzIGlzIGFsd2F5cwogICAgICAgICAvLyBjYWxsZWQsIHdo
aWNoIGlzIHNsb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3Jr
ZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCA5NjExZDQ3ZjM3YTM5NDNkN2Yw
Y2NjMjkwNzMyZGI5MDRjY2E1NjZjLi5lZTI3ZWJmMjdhMDYwZGQxZjMzMzA1YzM2MWU3NWUxY2I3
ODg4ZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGljIHZv
aWQgdjhNZXNzYWdlSGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6
SGFuZGxlPHY4OjpWYWwKIAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHkoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCkKICAgICA6IG1f
d29ya2VyQ29udGV4dCh3b3JrZXJDb250ZXh0KQotICAgICwgbV9kaXNhYmxlRXZhbFBlbmRpbmco
ZmFsc2UpCisgICAgLCBtX2Rpc2FibGVFdmFsUGVuZGluZyhTdHJpbmcoKSkKIHsKICAgICBpbml0
SXNvbGF0ZSgpOwogfQpAQCAtMjEzLDkgKzIxMywxMCBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBT
dAogICAgIGlmICghaW5pdGlhbGl6ZUlmTmVlZGVkKCkpCiAgICAgICAgIHJldHVybiBTY3JpcHRW
YWx1ZSgpOwogCi0gICAgaWYgKG1fZGlzYWJsZUV2YWxQZW5kaW5nKSB7CisgICAgaWYgKCFtX2Rp
c2FibGVFdmFsUGVuZGluZy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb250ZXh0LT5BbGxvd0Nv
ZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MoZmFsc2UpOwotICAgICAgICBtX2Rpc2FibGVFdmFsUGVu
ZGluZyA9IGZhbHNlOworICAgICAgICBtX2NvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVH
ZW5lcmF0aW9uRnJvbVN0cmluZ3ModjhTdHJpbmcobV9kaXNhYmxlRXZhbFBlbmRpbmcpKTsKKyAg
ICAgICAgbV9kaXNhYmxlRXZhbFBlbmRpbmcgPSBTdHJpbmcoKTsKICAgICB9CiAKICAgICB2ODo6
Q29udGV4dDo6U2NvcGUgc2NvcGUobV9jb250ZXh0KTsKQEAgLTI1Miw5ICsyNTMsOSBAQCBTY3Jp
cHRWYWx1ZSBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmlu
ZyYgc2NyaXB0LCBjb25zdCBTdAogICAgIHJldHVybiBTY3JpcHRWYWx1ZShyZXN1bHQpOwogfQog
Ci12b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQoYm9vbCBl
bmFibGUpCit2b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQo
Ym9vbCBlbmFibGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIG1fZGlzYWJs
ZUV2YWxQZW5kaW5nID0gIWVuYWJsZTsKKyAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IGVuYWJs
ZSA/IFN0cmluZygpIDogZXJyb3JNZXNzYWdlOwogfQogCiB2b2lkIFdvcmtlckNvbnRleHRFeGVj
dXRpb25Qcm94eTo6dHJhY2tFdmVudChFdmVudCogZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCmluZGV4
IDVjZTNmMmNhNGY4OWU1MDFhOTlhNjI3NjNlZTZjMzhmNWVhYTkxNWYuLjRjMDI0ZDAyZGE1MDAw
M2ZjMzgyNzcyNzU3OGI5ZTgwMGEzMjhjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCkBAIC02OSw3ICs2
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB0cmFja0V2ZW50KEV2ZW50
Kik7CiAKICAgICAgICAgLy8gQWxvdyB1c2Ugb2YgZXZhbCgpIGFuZCBpcyBlcXVpdmFsZW50cyBp
biBzY3JpcHRzLgotICAgICAgICB2b2lkIHNldEV2YWxBbGxvd2VkKGJvb2wgZW5hYmxlKTsKKyAg
ICAgICAgdm9pZCBzZXRFdmFsQWxsb3dlZChib29sIGVuYWJsZSwgY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UpOwogCiAgICAgICAgIC8vIEV2YWx1YXRlIGEgc2NyaXB0IGZpbGUgaW4gdGhlIGN1
cnJlbnQgZXhlY3V0aW9uIGVudmlyb25tZW50LgogICAgICAgICBTY3JpcHRWYWx1ZSBldmFsdWF0
ZShjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgVGV4
dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uLCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uU3Rh
dGUqKTsKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIE93
blB0cjxWOFBlckNvbnRleHREYXRhPiBtX3BlckNvbnRleHREYXRhOwogCi0gICAgICAgIGJvb2wg
bV9kaXNhYmxlRXZhbFBlbmRpbmc7CisgICAgICAgIFN0cmluZyBtX2Rpc2FibGVFdmFsUGVuZGlu
ZzsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDcwMjA4
ZTFmZWU0MGY2MDdkMzNkYjNlM2RiN2NlZWEwODJmNThmMTAuLjdkNmI1OGE3YmYyYTU1NTk2Mzc4
ZmRhNjMzZjFhOGUxNTQ4YzNlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0xMzIsOSArMTMyLDkgQEAgYm9v
bCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjppc0V4ZWN1dGlvbkZvcmJpZGRlbigpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fZXhlY3V0aW9uRm9yYmlkZGVuOwogfQogCi12b2lkIFdvcmtlclNjcmlwdENv
bnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgLyogZXJyb3JNZXNzYWdlICovKQor
dm9pZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSkKIHsKLSAgICBtX3Byb3h5LT5zZXRFdmFsQWxsb3dlZChmYWxzZSk7CisgICAg
bV9wcm94eS0+c2V0RXZhbEFsbG93ZWQoZmFsc2UsIGVycm9yTWVzc2FnZSk7CiB9CiAKIHZvaWQg
V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6c2V0RXhjZXB0aW9uKGNvbnN0IFNjcmlwdFZhbHVlJiBl
eGNlcHRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZDFiODczMzRkZjgxMTQ1M2ZlZDQ0YmM4MTQ5MGJjNjcwNWQ0ZjIz
Yi4uOGIxN2Q4MmEzMjVkMzUwMWEyNzdmNGMyMmUwOTMxOWJiNDc4YzIzOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDEyLTA5LTIwICBNaWtlIFdlc3QgIDxta3dzdEBnb29nbGUuY29tPgorCisg
ICAgICAgIFY4IHNob3VsZCB0aHJvdyBhIG1vcmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdoZW4g
YmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1AuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NDMzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNo
IGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0
aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgICAgIFVuc2tpcHBpbmcgdGhlc2UgdGVzdHMsIGFzIHRoaXMg
cGF0Y2ggdW5icmVha3MgdGhlbS4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAgICAgVXBkYXRpbmcgZXhwZWN0YXRpb25zIHdpdGggdGhlIG5l
dyBlcnJvciBtZXNzYWdlLgorCiAyMDEyLTA5LTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVW5za2lw
IGZhc3QvZXhjbHVzaW9ucyB0ZXN0cywgYmVjYXVzZSB0aGV5IHBhc3Mgbm93LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzQ4MWQwM2Rj
Zjg5YWRmOGQyNjM0ZjQ1ZjUzMGI4YWVjMWZhYmQzNi4uZTA1NDFkMTVhZGNiYTdmM2UxYzk2YjU0
ZWRiNWJlNzZlYjk1YWE0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC05OSwxMiArOTksNiBAQCB3ZWJraXQub3JnL2IvOTA0ODggWyBM
aW51eCBXaW4gRGVidWcgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkIFsgUGFzcyBTbG93
CiAjIFRFTVBPUkFSSUxZIFNLSVBQRUQgVEVTVFMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIyBSb2xsaW5nIGlu
IGEgVjggY2hhbmdlIHRoYXQgd2lsbCBicmVhayB0aGVzZSB0ZXN0cy4gV2UnbGwgdXBkYXRlIHdp
dGggdGhlIG5ldwotIyB0ZXN0IGV4cGVjdGF0aW9ucyBhbG9uZyB3aXRoIHRoZSBjaGFuZ2UgdGhh
dCB0aGlzIHJvbGwgd2lsbCBlbmFibGUuCi13ZWJraXQub3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5r
LWlmcmFtZS5odG1sIFsgRmFpbHVyZSBTa2lwIF0KLXdlYmtpdC5vcmcvYi85NDMzMiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRtbCBbIEZh
aWx1cmUgU2tpcCBdCi13ZWJraXQub3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tlZC5odG1sIFsgRmFp
bHVyZSBTa2lwIF0KLQogIyBGYWlscyBkdWUgdG8gZGlmZmVyZW50IHdpbmRvdy5jbG9zZSgpIHJ1
bGVzLiAgV2UgbmVlZCB0byBkZWNpZGUgd2hldGhlciB3ZQogIyBldmVyIGV4cGVjdCB0byBwYXNz
IHRoaXMuCiBjcmJ1Zy5jb20vMjQxODkgZmFzdC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9NLmh0
bWwgWyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1i
bG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCA3ZGQ4MmE0YWQ2OTFhYTc1ZWMzMWE0MjQ2OTFiMTY2
Y2YzNzQwNjY5Li4wYWU3YjU0ZTJlNGI0MGJlNWFiMGU0NzViMjBhOTA0YTVkNzBkMzk0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1Z2h0IEVycm9yOiBDb2RlIGdlbmVyYXRpb24g
ZnJvbSBzdHJpbmdzIGRpc2FsbG93ZWQgZm9yIHRoaXMgY29udGV4dAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE1OiBVbmNhdWdodCBFcnJvcjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBk
aXNhbGxvd2VkIGZvciB0aGlzIGNvbnRleHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5j
YXVnaHQgRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3Jp
cHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3Jp
cHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJz
Y3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTog
VW5jYXVnaHQgRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFT
Y3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBz
Y3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVk
LnR4dAppbmRleCA0ZjdlZGU5ZDgzZjQxNzE5OWQzMjlkM2M4NmY3NWNhOGE0ZDJmYjQ1Li5mNmJh
Y2RkYTUyNzBmYzY3OTgwNWNjMDU0NDkwNjNiOTBhYjkzMzJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIEFMRVJUOiAvUEFTUy8KLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxOiBVbmNhdWdodCBFcnJvcjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBk
aXNhbGxvd2VkIGZvciB0aGlzIGNvbnRleHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBVbmNh
dWdodCBFdmFsRXJyb3I6IFJlZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlw
dCBiZWNhdXNlICd1bnNhZmUtZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlw
dCBpbiB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNj
cmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIi4KKwogIEV2YWwgc2hvdWxkIGJlIGJsb2NrZWQgaW4g
dGhlIGlmcmFtZSwgYnV0IGlubGluZSBzY3JpcHQgc2hvdWxkIGJlIGFsbG93ZWQuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0
ZWQudHh0CmluZGV4IDc0NjU3NzQ1N2YyODM2NTNkMWFjYTgwODgyYjcxYmU4YmJkYThhNjEuLmNj
Njc5OTYxYjc5NDUyNjE5YTQzYzQ0ZGUyNjZiYWU4MzEyYWU5MzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0
CkBAIC0xLDIgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBFcnJv
cjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlzIGNvbnRl
eHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgRXZhbEVycm9yOiBSZWZ1c2Vk
IHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwn
IGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5l
JyIuCisKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165266</attachid>
            <date>2012-09-22 10:42:48 -0700</date>
            <delta_ts>2012-10-11 01:11:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94332-20120922194210.patch</filename>
            <type>text/plain</type>
            <size>13385</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRjNTQ4YjUwMGFiYjYx
NjQzOWEyNzdkNjAwNmYwYmM1NTcxMTA0MS4uMzk2OWI5ZTg4MzdmNWJmMWIwMWJhOTViMzY3OWI5
N2MzYmU4MjIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTIyICBNaWtl
IFdlc3QgIDxta3dzdEBnb29nbGUuY29tPgorCisgICAgICAgIFY4IHNob3VsZCB0aHJvdyBhIG1v
cmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdoZW4gYmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1AuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRm9sbG93aW5nIHVwIG9u
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMSwgdGhpcworICAg
ICAgICBwYXRjaCB3aXJlcyB1cCB0aGUgbmV3IGVycm9yIG1lc3NhZ2UgbWVjaGFuaXNtIHRvIFY4
LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAgICAgICAgICBQ
YXNzICdlcnJvck1lc3NhZ2UnIHRocm91Z2ggdG8gVjguCisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdpbmRvd1NoZWxs
Ojppbml0aWFsaXplSWZOZWVkZWQpOgorICAgICAgICAgICAgR3JhYiB0aGUgZXJyb3IgbWVzc2Fn
ZSBmcm9tIENvbnRlbnRTZWN1cml0eVBvbGljeSBhbmQgcGFzcyBpdCB0aHJvdWdoCisgICAgICAg
ICAgICB0byBWOC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9u
UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
OjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5OjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnNldEV2YWxBbGxvd2VkKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaDoKKyAgICAgICAgKFdvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eSk6CisgICAgICAgICAgICBDb252ZXJ0ICdtX2Rpc2FibGVFdmFs
UGVuZGluZycgdG8gYSBzdHJpbmcgdG8gc3RvcmUgdGhlIGN1cnJlbnQKKyAgICAgICAgICAgIGVy
cm9yIG1lc3NhZ2UsIGFuZCB1c2UgaXQgdG8gc2V0IHRoZSBldmFsIHN0YXRlLgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwpOgorICAgICAgICAgICAgUGFz
cyAnZXJyb3JNZXNzYWdlJyB0aHJvdWdoIHRvIFY4LgorCiAyMDEyLTA5LTIyICBUaGllcnJ5IFJl
ZGluZyAgPHRoaWVycnkucmVkaW5nQGF2aW9uaWMtZGVzaWduLmRlPgogCiAgICAgICAgIFtHVEtd
IEJ1aWxkIGlzIGJyb2tlbiB3aXRoIEdMaWIgVW5pY29kZSBiYWNrZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDQ4MDBhZGU5MTRl
MjAyMThjZTliZjM4N2FiMWVkN2FmNTI5OTVmZTkuLjI2ZWIxZTlhYmFmYTcyN2NhZWM3ZmZiODgy
OWI4MWQ2ZmRlNmNjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENvbnRyb2xsZXIuY3BwCkBAIC00ODYsNyArNDg2LDcgQEAgdm9pZCBTY3JpcHRDb250cm9sbGVy
OjplbmFibGVFdmFsKCkKICAgICB2OENvbnRleHQtPkFsbG93Q29kZUdlbmVyYXRpb25Gcm9tU3Ry
aW5ncyh0cnVlKTsKIH0KIAotdm9pZCBTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25z
dCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykKK3ZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZGlz
YWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOwogICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IHY4Q29udGV4dCA9
IHdpbmRvd1NoZWxsKCktPmNvbnRleHQoKTsKQEAgLTQ5NCw2ICs0OTQsNyBAQCB2b2lkIFNjcmlw
dENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgLyogZXJyb3JNZXNzYWdlICov
KQogICAgICAgICByZXR1cm47CiAKICAgICB2OENvbnRleHQtPkFsbG93Q29kZUdlbmVyYXRpb25G
cm9tU3RyaW5ncyhmYWxzZSk7CisgICAgdjhDb250ZXh0LT5TZXRFcnJvck1lc3NhZ2VGb3JDb2Rl
R2VuZXJhdGlvbkZyb21TdHJpbmdzKHY4U3RyaW5nKGVycm9yTWVzc2FnZSkpOwogfQogCiBQYXNz
U2NyaXB0SW5zdGFuY2UgU2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlU2NyaXB0SW5zdGFuY2VGb3JX
aWRnZXQoV2lkZ2V0KiB3aWRnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDgxZWEyMWEzYjhlZDU0ZjNhN2FlNjI3NTA2N2NmMjJh
ZDJjNjhiNDguLjEzYzFlNTdjYWQ4ZTJkNTJkMzJmYjljMzA1ZjA1NmFlZDE5OGY0ODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCkBAIC0z
NjgsOCArMzY4LDExIEBAIGJvb2wgVjhET01XaW5kb3dTaGVsbDo6aW5pdGlhbGl6ZUlmTmVlZGVk
KCkKICAgICBpZiAoaXNNYWluV29ybGQpIHsKICAgICAgICAgdXBkYXRlRG9jdW1lbnQoKTsKICAg
ICAgICAgc2V0U2VjdXJpdHlUb2tlbigpOwotICAgICAgICBpZiAobV9mcmFtZS0+ZG9jdW1lbnQo
KSkKLSAgICAgICAgICAgIGNvbnRleHQtPkFsbG93Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyht
X2ZyYW1lLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dFdmFsKDAs
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpKTsKKyAgICAgICAgaWYgKG1f
ZnJhbWUtPmRvY3VtZW50KCkpIHsKKyAgICAgICAgICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSog
Y3NwID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCk7CisgICAg
ICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MoY3NwLT5hbGxv
d0V2YWwoMCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9ydCkpOworICAgICAg
ICAgICAgY29udGV4dC0+U2V0RXJyb3JNZXNzYWdlRm9yQ29kZUdlbmVyYXRpb25Gcm9tU3RyaW5n
cyh2OFN0cmluZyhjc3AtPmV2YWxEaXNhYmxlZEVycm9yTWVzc2FnZSgpKSk7CisgICAgICAgIH0K
ICAgICB9IGVsc2UgewogICAgICAgICAvLyBVc2luZyB0aGUgZGVmYXVsdCBzZWN1cml0eSB0b2tl
biBtZWFucyB0aGF0IHRoZSBjYW5BY2Nlc3MgaXMgYWx3YXlzCiAgICAgICAgIC8vIGNhbGxlZCwg
d2hpY2ggaXMgc2xvdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dv
cmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCmluZGV4IDk2MTFkNDdmMzdhMzk0M2Q3
ZjBjY2MyOTA3MzJkYjkwNGNjYTU2NmMuLmVlMjdlYmYyN2EwNjBkZDFmMzMzMDVjMzYxZTc1ZTFj
Yjc4ODhlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcApAQCAtODcsNyArODcsNyBAQCBzdGF0aWMg
dm9pZCB2OE1lc3NhZ2VIYW5kbGVyKHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4
OjpIYW5kbGU8djg6OlZhbAogCiBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OldvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0KQogICAgIDog
bV93b3JrZXJDb250ZXh0KHdvcmtlckNvbnRleHQpCi0gICAgLCBtX2Rpc2FibGVFdmFsUGVuZGlu
ZyhmYWxzZSkKKyAgICAsIG1fZGlzYWJsZUV2YWxQZW5kaW5nKFN0cmluZygpKQogewogICAgIGlu
aXRJc29sYXRlKCk7CiB9CkBAIC0yMTMsOSArMjEzLDEwIEBAIFNjcmlwdFZhbHVlIFdvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0
IFN0CiAgICAgaWYgKCFpbml0aWFsaXplSWZOZWVkZWQoKSkKICAgICAgICAgcmV0dXJuIFNjcmlw
dFZhbHVlKCk7CiAKLSAgICBpZiAobV9kaXNhYmxlRXZhbFBlbmRpbmcpIHsKKyAgICBpZiAoIW1f
ZGlzYWJsZUV2YWxQZW5kaW5nLmlzRW1wdHkoKSkgewogICAgICAgICBtX2NvbnRleHQtPkFsbG93
Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyhmYWxzZSk7Ci0gICAgICAgIG1fZGlzYWJsZUV2YWxQ
ZW5kaW5nID0gZmFsc2U7CisgICAgICAgIG1fY29udGV4dC0+U2V0RXJyb3JNZXNzYWdlRm9yQ29k
ZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyh2OFN0cmluZyhtX2Rpc2FibGVFdmFsUGVuZGluZykpOwor
ICAgICAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IFN0cmluZygpOwogICAgIH0KIAogICAgIHY4
OjpDb250ZXh0OjpTY29wZSBzY29wZShtX2NvbnRleHQpOwpAQCAtMjUyLDkgKzI1Myw5IEBAIFNj
cmlwdFZhbHVlIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6ZXZhbHVhdGUoY29uc3QgU3Ry
aW5nJiBzY3JpcHQsIGNvbnN0IFN0CiAgICAgcmV0dXJuIFNjcmlwdFZhbHVlKHJlc3VsdCk7CiB9
CiAKLXZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpzZXRFdmFsQWxsb3dlZChib29s
IGVuYWJsZSkKK3ZvaWQgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpzZXRFdmFsQWxsb3dl
ZChib29sIGVuYWJsZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7Ci0gICAgbV9kaXNh
YmxlRXZhbFBlbmRpbmcgPSAhZW5hYmxlOworICAgIG1fZGlzYWJsZUV2YWxQZW5kaW5nID0gZW5h
YmxlID8gU3RyaW5nKCkgOiBlcnJvck1lc3NhZ2U7CiB9CiAKIHZvaWQgV29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5Ojp0cmFja0V2ZW50KEV2ZW50KiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgKaW5k
ZXggNWNlM2YyY2E0Zjg5ZTUwMWE5OWE2Mjc2M2VlNmMzOGY1ZWFhOTE1Zi4uNGMwMjRkMDJkYTUw
MDAzZmMzODI3NzI3NTc4YjllODAwYTMyOGM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgKQEAgLTY5LDcg
KzY5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHRyYWNrRXZlbnQoRXZl
bnQqKTsKIAogICAgICAgICAvLyBBbG93IHVzZSBvZiBldmFsKCkgYW5kIGlzIGVxdWl2YWxlbnRz
IGluIHNjcmlwdHMuCi0gICAgICAgIHZvaWQgc2V0RXZhbEFsbG93ZWQoYm9vbCBlbmFibGUpOwor
ICAgICAgICB2b2lkIHNldEV2YWxBbGxvd2VkKGJvb2wgZW5hYmxlLCBjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSk7CiAKICAgICAgICAgLy8gRXZhbHVhdGUgYSBzY3JpcHQgZmlsZSBpbiB0aGUg
Y3VycmVudCBleGVjdXRpb24gZW52aXJvbm1lbnQuCiAgICAgICAgIFNjcmlwdFZhbHVlIGV2YWx1
YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBU
ZXh0UG9zaXRpb24mIHNjcmlwdFN0YXJ0UG9zaXRpb24sIFdvcmtlckNvbnRleHRFeGVjdXRpb25T
dGF0ZSopOwpAQCAtOTMsNyArOTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
T3duUHRyPFY4UGVyQ29udGV4dERhdGE+IG1fcGVyQ29udGV4dERhdGE7CiAKLSAgICAgICAgYm9v
bCBtX2Rpc2FibGVFdmFsUGVuZGluZzsKKyAgICAgICAgU3RyaW5nIG1fZGlzYWJsZUV2YWxQZW5k
aW5nOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNzAy
MDhlMWZlZTQwZjYwN2QzM2RiM2UzZGI3Y2VlYTA4MmY1OGYxMC4uN2Q2YjU4YTdiZjJhNTU1OTYz
NzhmZGE2MzNmMWE4ZTE1NDhjM2UyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTEzMiw5ICsxMzIsOSBAQCBi
b29sIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmlzRXhlY3V0aW9uRm9yYmlkZGVuKCkgY29uc3QK
ICAgICByZXR1cm4gbV9leGVjdXRpb25Gb3JiaWRkZW47CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0
Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiAvKiBlcnJvck1lc3NhZ2UgKi8p
Cit2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlKQogewotICAgIG1fcHJveHktPnNldEV2YWxBbGxvd2VkKGZhbHNlKTsKKyAg
ICBtX3Byb3h5LT5zZXRFdmFsQWxsb3dlZChmYWxzZSwgZXJyb3JNZXNzYWdlKTsKIH0KIAogdm9p
ZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpzZXRFeGNlcHRpb24oY29uc3QgU2NyaXB0VmFsdWUm
IGV4Y2VwdGlvbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBiNWRkYWVhNjM4ODFhMjE4NzkyY2M5MmViOTkwMmQyNzljMjYx
ODljLi4zMTJjMzdmZDMwYjQ5MmU0NWVmY2YwMGI4MTk1NTY4NjA1ODZhN2E1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTItMDktMjIgIE1pa2UgV2VzdCAgPG1rd3N0QGdvb2dsZS5jb20+CisK
KyAgICAgICAgVjggc2hvdWxkIHRocm93IGEgbW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24gd2hl
biBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0
aC4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBh
cyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlv
bnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICAgICBVbnNraXBwaW5nIHRoZXNlIHRlc3RzLCBhcyB0aGlzIHBh
dGNoIHVuYnJlYWtzIHRoZW0uCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgICAgIFVwZGF0aW5nIGV4cGVjdGF0aW9ucyB3aXRoIHRoZSBuZXcg
ZXJyb3IgbWVzc2FnZS4KKwogMjAxMi0wOS0yMiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCB3ZWVrZW5kIGdhcmRlbmluZywg
dW5za2lwIG5vdyBwYXNzaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmI1ZjczZTQ4ZjNlZjgxYjEwMTEzYTJlNzU4YjRi
NjE4ZjNmMWZiYy4uODU0NDkyNjZlNGJmZDRiMWRmNWQ4MTRhYWI5MTc2MzEzZjY5NDI4MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC05
OSwxMiArOTksNiBAQCB3ZWJraXQub3JnL2IvOTA0ODggWyBMaW51eCBXaW4gRGVidWcgXSBodHRw
L3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkIFsgUGFzcyBTbG93CiAjIFRFTVBPUkFSSUxZIFNLSVBQ
RUQgVEVTVFMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIyBSb2xsaW5nIGluIGEgVjggY2hhbmdlIHRoYXQgd2ls
bCBicmVhayB0aGVzZSB0ZXN0cy4gV2UnbGwgdXBkYXRlIHdpdGggdGhlIG5ldwotIyB0ZXN0IGV4
cGVjdGF0aW9ucyBhbG9uZyB3aXRoIHRoZSBjaGFuZ2UgdGhhdCB0aGlzIHJvbGwgd2lsbCBlbmFi
bGUuCi13ZWJraXQub3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS5odG1sIFsgU2tpcCBd
Ci13ZWJraXQub3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvZXZhbC1ibG9ja2VkLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85NDMzMiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rv
ci1ibG9ja2VkLmh0bWwgWyBTa2lwIF0KLQogIyBGYWlscyBkdWUgdG8gZGlmZmVyZW50IHdpbmRv
dy5jbG9zZSgpIHJ1bGVzLiAgV2UgbmVlZCB0byBkZWNpZGUgd2hldGhlciB3ZQogIyBldmVyIGV4
cGVjdCB0byBwYXNzIHRoaXMuCiBjcmJ1Zy5jb20vMjQxODkgZmFzdC9kb20vb3Blbi1hbmQtY2xv
c2UtYnktRE9NLmh0bWwgWyBTa2lwIF0KQEAgLTM1NzAsNCArMzU2NCw0IEBAIHdlYmtpdC5vcmcv
Yi85NzI5NiBbIExpbnV4IFdpbiBdIGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2hlYnJldy1zZWxl
Y3Rpb24uaHRtbCBbCiAKICMgRXhwZWN0ZWQgdG8gZmFpbCB1bnRpbCBXZWJHTCBleHRlbnNpb24g
aW1wbGVtZW50YXRpb24gbGFuZHMKIHdlYmtpdC5vcmcvYi85Njk2MSBmYXN0L2NhbnZhcy93ZWJn
bC9vZXMtdmVydGV4LWFycmF5LW9iamVjdC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5v
cmcvYi85Njk2MSBwbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9vZXMtdmVydGV4LWFycmF5LW9iamVjdC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvOTY5NjEgcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXZlcnRleC1hcnJheS1vYmplY3QuaHRt
bCBbIEZhaWx1cmUgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2Nr
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4
dAppbmRleCA3ZGQ4MmE0YWQ2OTFhYTc1ZWMzMWE0MjQ2OTFiMTY2Y2YzNzQwNjY5Li4wYWU3YjU0
ZTJlNGI0MGJlNWFiMGU0NzViMjBhOTA0YTVkNzBkMzk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwt
YmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTI6IFVuY2F1Z2h0IEVycm9yOiBDb2RlIGdlbmVyYXRpb24gZnJvbSBzdHJpbmdzIGRpc2Fs
bG93ZWQgZm9yIHRoaXMgY29udGV4dAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBVbmNhdWdo
dCBFcnJvcjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlz
IGNvbnRleHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogVW5jYXVnaHQgRXZhbEVycm9yOiBS
ZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZl
LWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2lu
ZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICd1bnNhZmUt
aW5saW5lJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVW5jYXVnaHQgRXZhbEVycm9y
OiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5z
YWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxv
d2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICd1bnNh
ZmUtaW5saW5lJyIuCisKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2Vk
LWluLWFib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFs
LWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dAppbmRleCA0ZjdlZGU5
ZDgzZjQxNzE5OWQzMjlkM2M4NmY3NWNhOGE0ZDJmYjQ1Li5mNmJhY2RkYTUyNzBmYzY3OTgwNWNj
MDU0NDkwNjNiOTBhYjkzMzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2Nr
ZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDQgQEAKIEFMRVJUOiAvUEFTUy8KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBVbmNhdWdo
dCBFcnJvcjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlz
IGNvbnRleHQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBVbmNhdWdodCBFdmFsRXJyb3I6IFJl
ZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUt
ZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5n
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vuc2FmZS1p
bmxpbmUnIi4KKwogIEV2YWwgc2hvdWxkIGJlIGJsb2NrZWQgaW4gdGhlIGlmcmFtZSwgYnV0IGlu
bGluZSBzY3JpcHQgc2hvdWxkIGJlIGFsbG93ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IDc0NjU3
NzQ1N2YyODM2NTNkMWFjYTgwODgyYjcxYmU4YmJkYThhNjEuLmNjNjc5OTYxYjc5NDUyNjE5YTQz
YzQ0ZGUyNjZiYWU4MzEyYWU5MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9u
LWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsMyBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBFcnJvcjogQ29kZSBnZW5lcmF0aW9u
IGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlzIGNvbnRleHQKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAxMjogVW5jYXVnaHQgRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3Ry
aW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2Vk
IHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168159</attachid>
            <date>2012-10-11 01:11:44 -0700</date>
            <delta_ts>2012-10-17 02:00:24 -0700</delta_ts>
            <desc>Rebasing onto ToT</desc>
            <filename>bug-94332-20121011101042.patch</filename>
            <type>text/plain</type>
            <size>12798</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc0MGI5NTNjOTVmMWVk
MmIwNzU0N2U3NTkzMjljMDc2YWU4NjcxNi4uMjk4M2M5ZmY2MjE5MTNhNzRiMGJkMDIzNTZiNmI3
MjA4ZmRjZWZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTExICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVjggc2hvdWxkIHRocm93IGEg
bW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24gd2hlbiBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBGb2xsb3dpbmcgdXAg
b24gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMxLCB0aGlzCisg
ICAgICAgIHBhdGNoIHdpcmVzIHVwIHRoZSBuZXcgZXJyb3IgbWVzc2FnZSBtZWNoYW5pc20gdG8g
VjgsIGFuZCB1cGRhdGVzIHRoZQorICAgICAgICBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyBh
Y2NvcmRpbmdseS4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwpOgorICAg
ICAgICAgICAgUGFzcyAnZXJyb3JNZXNzYWdlJyB0aHJvdWdoIHRvIFY4LgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01X
aW5kb3dTaGVsbDo6aW5pdGlhbGl6ZUlmTmVlZGVkKToKKyAgICAgICAgICAgIEdyYWIgdGhlIGVy
cm9yIG1lc3NhZ2UgZnJvbSBDb250ZW50U2VjdXJpdHlQb2xpY3ksIGFuZCBwYXNzIGl0CisgICAg
ICAgICAgICB0aHJvdWdoIHRvIFY4LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHk6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oOgorICAgICAg
ICAoV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KToKKyAgICAgICAgICAgIENvbnZlcnQgJ21f
ZGlzYWJsZUV2YWxQZW5kaW5nJyB0byBhIHN0cmluZyB0byBzdG9yZSB0aGUgY3VycmVudAorICAg
ICAgICAgICAgZXJyb3IgbWVzc2FnZSwgYW5kIHVzZSBpdCB0byBzZXQgdGhlIGV2YWwgc3RhdGUu
CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAg
ICAgICAgICBQYXNzICdlcnJvck1lc3NhZ2UnIHRocm91Z2ggdG8gVjguCisKIDIwMTItMTAtMTAg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgRGlzYWxsb3cgZnVs
bCBzY3JlZW4gbW9kZSBrZXlib2FyZCBhY2Nlc3MgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggOWI5NjdkOTZmYzQx
MTA4MDY5YjUxMmY2NmQ1MzM1NzhmYmY3OWI3Mi4uZGQ1N2JjNDM5MGY2YzBiZDg2Y2FlYWMzZWYz
NGY5NjA5NjI5Yzg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
Q29udHJvbGxlci5jcHAKQEAgLTQ4Niw3ICs0ODYsNyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6
OmVuYWJsZUV2YWwoKQogICAgIHY4Q29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJp
bmdzKHRydWUpOwogfQogCi12b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0
IFN0cmluZyYgLyogZXJyb3JNZXNzYWdlICovKQordm9pZCBTY3JpcHRDb250cm9sbGVyOjpkaXNh
YmxlRXZhbChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKIHsKICAgICB2ODo6SGFuZGxlU2Nv
cGUgaGFuZGxlU2NvcGU7CiAgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0g
d2luZG93U2hlbGwoKS0+Y29udGV4dCgpOwpAQCAtNDk0LDYgKzQ5NCw3IEBAIHZvaWQgU2NyaXB0
Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiAvKiBlcnJvck1lc3NhZ2UgKi8p
CiAgICAgICAgIHJldHVybjsKIAogICAgIHY4Q29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZy
b21TdHJpbmdzKGZhbHNlKTsKKyAgICB2OENvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVH
ZW5lcmF0aW9uRnJvbVN0cmluZ3ModjhTdHJpbmcoZXJyb3JNZXNzYWdlKSk7CiB9CiAKIFBhc3NT
Y3JpcHRJbnN0YW5jZSBTY3JpcHRDb250cm9sbGVyOjpjcmVhdGVTY3JpcHRJbnN0YW5jZUZvcldp
ZGdldChXaWRnZXQqIHdpZGdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAKaW5kZXggMTkzNmFlOGQwYTRiODNkYTEwNGJjZDFlNWM5NDUyY2Ez
YzczOTQ4OC4uOTc4YzU4OGE4NmNiOTUxMDE2MzIxODY0MDk4ODNjYmM5MWIyNjllZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTM2
OCw4ICszNjgsMTEgQEAgYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbml0aWFsaXplSWZOZWVkZWQo
KQogICAgIGlmIChpc01haW5Xb3JsZCkgewogICAgICAgICB1cGRhdGVEb2N1bWVudCgpOwogICAg
ICAgICBzZXRTZWN1cml0eVRva2VuKCk7Ci0gICAgICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgp
KQotICAgICAgICAgICAgY29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKG1f
ZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0V2YWwoMCwg
Q29udGVudFNlY3VyaXR5UG9saWN5OjpTdXBwcmVzc1JlcG9ydCkpOworICAgICAgICBpZiAobV9m
cmFtZS0+ZG9jdW1lbnQoKSkgeworICAgICAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBj
c3AgPSBtX2ZyYW1lLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKTsKKyAgICAg
ICAgICAgIGNvbnRleHQtPkFsbG93Q29kZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyhjc3AtPmFsbG93
RXZhbCgwLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7CisgICAgICAg
ICAgICBjb250ZXh0LT5TZXRFcnJvck1lc3NhZ2VGb3JDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdz
KHY4U3RyaW5nKGNzcC0+ZXZhbERpc2FibGVkRXJyb3JNZXNzYWdlKCkpKTsKKyAgICAgICAgfQog
ICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFVzaW5nIHRoZSBkZWZhdWx0IHNlY3VyaXR5IHRva2Vu
IG1lYW5zIHRoYXQgdGhlIGNhbkFjY2VzcyBpcyBhbHdheXMKICAgICAgICAgLy8gY2FsbGVkLCB3
aGljaCBpcyBzbG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKaW5kZXggOTYxMWQ0N2YzN2EzOTQzZDdm
MGNjYzI5MDczMmRiOTA0Y2NhNTY2Yy4uZWUyN2ViZjI3YTA2MGRkMWYzMzMwNWMzNjFlNzVlMWNi
Nzg4OGVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyB2
b2lkIHY4TWVzc2FnZUhhbmRsZXIodjg6OkhhbmRsZTx2ODo6TWVzc2FnZT4gbWVzc2FnZSwgdjg6
OkhhbmRsZTx2ODo6VmFsCiAKIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6V29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5KFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQpCiAgICAgOiBt
X3dvcmtlckNvbnRleHQod29ya2VyQ29udGV4dCkKLSAgICAsIG1fZGlzYWJsZUV2YWxQZW5kaW5n
KGZhbHNlKQorICAgICwgbV9kaXNhYmxlRXZhbFBlbmRpbmcoU3RyaW5nKCkpCiB7CiAgICAgaW5p
dElzb2xhdGUoKTsKIH0KQEAgLTIxMyw5ICsyMTMsMTAgQEAgU2NyaXB0VmFsdWUgV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5OjpldmFsdWF0ZShjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3Qg
U3QKICAgICBpZiAoIWluaXRpYWxpemVJZk5lZWRlZCgpKQogICAgICAgICByZXR1cm4gU2NyaXB0
VmFsdWUoKTsKIAotICAgIGlmIChtX2Rpc2FibGVFdmFsUGVuZGluZykgeworICAgIGlmICghbV9k
aXNhYmxlRXZhbFBlbmRpbmcuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fY29udGV4dC0+QWxsb3dD
b2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKGZhbHNlKTsKLSAgICAgICAgbV9kaXNhYmxlRXZhbFBl
bmRpbmcgPSBmYWxzZTsKKyAgICAgICAgbV9jb250ZXh0LT5TZXRFcnJvck1lc3NhZ2VGb3JDb2Rl
R2VuZXJhdGlvbkZyb21TdHJpbmdzKHY4U3RyaW5nKG1fZGlzYWJsZUV2YWxQZW5kaW5nKSk7Cisg
ICAgICAgIG1fZGlzYWJsZUV2YWxQZW5kaW5nID0gU3RyaW5nKCk7CiAgICAgfQogCiAgICAgdjg6
OkNvbnRleHQ6OlNjb3BlIHNjb3BlKG1fY29udGV4dCk7CkBAIC0yNTIsOSArMjUzLDkgQEAgU2Ny
aXB0VmFsdWUgV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpldmFsdWF0ZShjb25zdCBTdHJp
bmcmIHNjcmlwdCwgY29uc3QgU3QKICAgICByZXR1cm4gU2NyaXB0VmFsdWUocmVzdWx0KTsKIH0K
IAotdm9pZCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnNldEV2YWxBbGxvd2VkKGJvb2wg
ZW5hYmxlKQordm9pZCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnNldEV2YWxBbGxvd2Vk
KGJvb2wgZW5hYmxlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKIHsKLSAgICBtX2Rpc2Fi
bGVFdmFsUGVuZGluZyA9ICFlbmFibGU7CisgICAgbV9kaXNhYmxlRXZhbFBlbmRpbmcgPSBlbmFi
bGUgPyBTdHJpbmcoKSA6IGVycm9yTWVzc2FnZTsKIH0KIAogdm9pZCBXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHk6OnRyYWNrRXZlbnQoRXZlbnQqIGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAppbmRl
eCA1Y2UzZjJjYTRmODllNTAxYTk5YTYyNzYzZWU2YzM4ZjVlYWE5MTVmLi40YzAyNGQwMmRhNTAw
MDNmYzM4Mjc3Mjc1NzhiOWU4MDBhMzI4YzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaApAQCAtNjksNyAr
NjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgdHJhY2tFdmVudChFdmVu
dCopOwogCiAgICAgICAgIC8vIEFsb3cgdXNlIG9mIGV2YWwoKSBhbmQgaXMgZXF1aXZhbGVudHMg
aW4gc2NyaXB0cy4KLSAgICAgICAgdm9pZCBzZXRFdmFsQWxsb3dlZChib29sIGVuYWJsZSk7Cisg
ICAgICAgIHZvaWQgc2V0RXZhbEFsbG93ZWQoYm9vbCBlbmFibGUsIGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlKTsKIAogICAgICAgICAvLyBFdmFsdWF0ZSBhIHNjcmlwdCBmaWxlIGluIHRoZSBj
dXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC4KICAgICAgICAgU2NyaXB0VmFsdWUgZXZhbHVh
dGUoY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFRl
eHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlvbiwgV29ya2VyQ29udGV4dEV4ZWN1dGlvblN0
YXRlKik7CkBAIC05Myw3ICs5Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBP
d25QdHI8VjhQZXJDb250ZXh0RGF0YT4gbV9wZXJDb250ZXh0RGF0YTsKIAotICAgICAgICBib29s
IG1fZGlzYWJsZUV2YWxQZW5kaW5nOworICAgICAgICBTdHJpbmcgbV9kaXNhYmxlRXZhbFBlbmRp
bmc7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA3MDIw
OGUxZmVlNDBmNjA3ZDMzZGIzZTNkYjdjZWVhMDgyZjU4ZjEwLi43ZDZiNThhN2JmMmE1NTU5NjM3
OGZkYTYzM2YxYThlMTU0OGMzZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMTMyLDkgKzEzMiw5IEBAIGJv
b2wgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6aXNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdAog
ICAgIHJldHVybiBtX2V4ZWN1dGlvbkZvcmJpZGRlbjsKIH0KIAotdm9pZCBXb3JrZXJTY3JpcHRD
b250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykK
K3ZvaWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UpCiB7Ci0gICAgbV9wcm94eS0+c2V0RXZhbEFsbG93ZWQoZmFsc2UpOworICAg
IG1fcHJveHktPnNldEV2YWxBbGxvd2VkKGZhbHNlLCBlcnJvck1lc3NhZ2UpOwogfQogCiB2b2lk
IFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OnNldEV4Y2VwdGlvbihjb25zdCBTY3JpcHRWYWx1ZSYg
ZXhjZXB0aW9uKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGFiYzFiMTEwZjNmZTI0NWJiNmE4YzA4MzYwNTFmMzVjOTVmY2E0
OGIuLjU3Y2JjMmNmNTdlOTdlNTRmYTgyZjI2OWU0ZDdkYzJjNjQ3MWYyNGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0xMC0xMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFY4IHNob3VsZCB0aHJvdyBhIG1vcmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdo
ZW4gYmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1AuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NDMzMgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAgICAgVW5za2lwcGluZyB0aGVzZSB0ZXN0cywgYXMgdGhpcyBwYXRjaCB1bmJyZWFrcyB0
aGVtLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICAgICBVcGRhdGluZyBleHBlY3RhdGlvbnMgd2l0aCB0aGUgbmV3IGVycm9yIG1lc3NhZ2Uu
CisKIDIwMTItMTAtMTAgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSSBpbnN0cnVtZW50IEhUTUxDYW52YXMgZWxlbWVu
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGQzZDc1ZWE3ZGRkZTMxMzJmNmYyYzU2NTA0ODVlOThkODZlZmYwYWMuLjFjN2RhZmE0MDM4
YmI3NjI4ODkyMWYxNGEyMWJmYjFjNDU4MGMzYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTcsMTIgKzk3LDYgQEAgd2Via2l0Lm9y
Zy9iLzk4NjU5IFsgRGVidWcgXSBmYXN0L2RvbS9nYy1kb20tdHJlZS1saWZldGltZS5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KICMgVEVNUE9SQVJJTFkgU0tJUFBFRCBURVNUUwogIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
Ci0jIFJvbGxpbmcgaW4gYSBWOCBjaGFuZ2UgdGhhdCB3aWxsIGJyZWFrIHRoZXNlIHRlc3RzLiBX
ZSdsbCB1cGRhdGUgd2l0aCB0aGUgbmV3Ci0jIHRlc3QgZXhwZWN0YXRpb25zIGFsb25nIHdpdGgg
dGhlIGNoYW5nZSB0aGF0IHRoaXMgcm9sbCB3aWxsIGVuYWJsZS4KLXdlYmtpdC5vcmcvYi85NDMz
MiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQt
aW4tYWJvdXQtYmxhbmstaWZyYW1lLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85NDMzMiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQuaHRt
bCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzk0MzMyIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2Z1bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQuaHRtbCBbIFNraXAg
XQotCiAjIEZhaWxzIGR1ZSB0byBkaWZmZXJlbnQgd2luZG93LmNsb3NlKCkgcnVsZXMuICBXZSBu
ZWVkIHRvIGRlY2lkZSB3aGV0aGVyIHdlCiAjIGV2ZXIgZXhwZWN0IHRvIHBhc3MgdGhpcy4KIGNy
YnVnLmNvbS8yNDE4OSBmYXN0L2RvbS9vcGVuLWFuZC1jbG9zZS1ieS1ET00uaHRtbCBbIFNraXAg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggN2RkODJhNGFk
NjkxYWE3NWVjMzFhNDI0NjkxYjE2NmNmMzc0MDY2OS4uMGFlN2I1NGUyZTRiNDBiZTVhYjBlNDc1
YjIwYTkwNGE1ZDcwZDM5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBF
cnJvcjogQ29kZSBnZW5lcmF0aW9uIGZyb20gc3RyaW5ncyBkaXNhbGxvd2VkIGZvciB0aGlzIGNv
bnRleHQKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2Vu
ZXJhdGlvbiBmcm9tIHN0cmluZ3MgZGlzYWxsb3dlZCBmb3IgdGhpcyBjb250ZXh0CitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVmdXNlZCB0byBldmFsdWF0
ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4g
YWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciLgorCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTU6IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVmdXNlZCB0byBldmFs
dWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3Qg
YW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGluZSciLgorCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1p
ZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0
LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQKaW5kZXggNGY3ZWRlOWQ4M2Y0MTcxOTlkMzI5ZDNj
ODZmNzVjYThhNGQyZmI0NS4uZjZiYWNkZGE1MjcwZmM2Nzk4MDVjYzA1NDQ5MDYzYjkwYWI5MzMy
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5r
LWlmcmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWlu
LWFib3V0LWJsYW5rLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiBBTEVSVDog
L1BBU1MvCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2Vu
ZXJhdGlvbiBmcm9tIHN0cmluZ3MgZGlzYWxsb3dlZCBmb3IgdGhpcyBjb250ZXh0CitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTogVW5jYXVnaHQgRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRl
IGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBh
bGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICd1bnNhZmUtaW5saW5lJyIuCisKICBFdmFs
IHNob3VsZCBiZSBibG9ja2VkIGluIHRoZSBpZnJhbWUsIGJ1dCBpbmxpbmUgc2NyaXB0IHNob3Vs
ZCBiZSBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29uc3Ry
dWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25z
dHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCA3NDY1Nzc0NTdmMjgzNjUzZDFhY2E4
MDg4MmI3MWJlOGJiZGE4YTYxLi5jYzY3OTk2MWI3OTQ1MjYxOWE0M2M0NGRlMjY2YmFlODMxMmFl
OTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9j
a2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rv
ci1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSAxMjogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2VuZXJhdGlvbiBmcm9tIHN0cmluZ3MgZGlz
YWxsb3dlZCBmb3IgdGhpcyBjb250ZXh0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1
Z2h0IEV2YWxFcnJvcjogUmVmdXNlZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0
IGJlY2F1c2UgJ3Vuc2FmZS1ldmFsJyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0
IGluIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2Ny
aXB0LXNyYyAndW5zYWZlLWlubGluZSciLgorCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169126</attachid>
            <date>2012-10-17 02:00:30 -0700</date>
            <delta_ts>2012-10-17 03:00:21 -0700</delta_ts>
            <desc>Rebased again, for the last time (maybe).</desc>
            <filename>bug-94332-20121017105917.patch</filename>
            <type>text/plain</type>
            <size>12811</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhMGFhNTBiNjE1YzA2
NzRmMGI2MzhhOTE5ZjYyNDE4ZmQzMDdiYi4uNWYzMzFjNTBmZDMwMWI0ODcwZDM2MTVjMmY4N2M4
ODFkNzcwZWU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTE3ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVjggc2hvdWxkIHRocm93IGEg
bW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24gd2hlbiBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBGb2xsb3dpbmcgdXAg
b24gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMxLCB0aGlzCisg
ICAgICAgIHBhdGNoIHdpcmVzIHVwIHRoZSBuZXcgZXJyb3IgbWVzc2FnZSBtZWNoYW5pc20gdG8g
VjgsIGFuZCB1cGRhdGVzIHRoZQorICAgICAgICBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0aW9ucyBh
Y2NvcmRpbmdseS4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwpOgorICAg
ICAgICAgICAgUGFzcyAnZXJyb3JNZXNzYWdlJyB0aHJvdWdoIHRvIFY4LgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01X
aW5kb3dTaGVsbDo6aW5pdGlhbGl6ZUlmTmVlZGVkKToKKyAgICAgICAgICAgIEdyYWIgdGhlIGVy
cm9yIG1lc3NhZ2UgZnJvbSBDb250ZW50U2VjdXJpdHlQb2xpY3ksIGFuZCBwYXNzIGl0CisgICAg
ICAgICAgICB0aHJvdWdoIHRvIFY4LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRl
eHRFeGVjdXRpb25Qcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhl
Y3V0aW9uUHJveHk6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oOgorICAgICAg
ICAoV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5KToKKyAgICAgICAgICAgIENvbnZlcnQgJ21f
ZGlzYWJsZUV2YWxQZW5kaW5nJyB0byBhIHN0cmluZyB0byBzdG9yZSB0aGUgY3VycmVudAorICAg
ICAgICAgICAgZXJyb3IgbWVzc2FnZSwgYW5kIHVzZSBpdCB0byBzZXQgdGhlIGV2YWwgc3RhdGUu
CisgICAgICAgICogYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbCk6CisgICAg
ICAgICAgICBQYXNzICdlcnJvck1lc3NhZ2UnIHRocm91Z2ggdG8gVjguCisKIDIwMTItMTAtMTcg
IEdhYm9yIFJhcGNzYW55aSAgPHJnYWJvckB3ZWJraXQub3JnPgogCiAgICAgICAgIE5FT04gaW50
cmluc2ljcyBHYXVzcyBmaWx0ZXIgZG9lcyBub3Qgd29yayBwcm9wZXJseQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA5Yjk2N2Q5NmZj
NDExMDgwNjliNTEyZjY2ZDUzMzU3OGZiZjc5YjcyLi5kZDU3YmM0MzkwZjZjMGJkODZjYWVhYzNl
ZjM0Zjk2MDk2MjljODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDb250cm9sbGVyLmNwcApAQCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxl
cjo6ZW5hYmxlRXZhbCgpCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0
cmluZ3ModHJ1ZSk7CiB9CiAKLXZvaWQgU2NyaXB0Q29udHJvbGxlcjo6ZGlzYWJsZUV2YWwoY29u
c3QgU3RyaW5nJiAvKiBlcnJvck1lc3NhZ2UgKi8pCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmRp
c2FibGVFdmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIHY4OjpIYW5kbGVT
Y29wZSBoYW5kbGVTY29wZTsKICAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiB2OENvbnRleHQg
PSB3aW5kb3dTaGVsbCgpLT5jb250ZXh0KCk7CkBAIC00OTQsNiArNDk0LDcgQEAgdm9pZCBTY3Jp
cHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAq
LykKICAgICAgICAgcmV0dXJuOwogCiAgICAgdjhDb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9u
RnJvbVN0cmluZ3MoZmFsc2UpOworICAgIHY4Q29udGV4dC0+U2V0RXJyb3JNZXNzYWdlRm9yQ29k
ZUdlbmVyYXRpb25Gcm9tU3RyaW5ncyh2OFN0cmluZyhlcnJvck1lc3NhZ2UpKTsKIH0KIAogUGFz
c1NjcmlwdEluc3RhbmNlIFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVNjcmlwdEluc3RhbmNlRm9y
V2lkZ2V0KFdpZGdldCogd2lkZ2V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCBlM2VjYjQ2MzUxMjVlM2MyN2FhNjg3ZjExYTZjNDkx
YmNhMzU1YmFlLi44ZDFiYzI2NDk0NDEyZTk2OWM4ZmFhMmMzZmQzYzhkYTJhOTlhZTlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAt
MzY4LDggKzM2OCwxMSBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRl
ZCgpCiAgICAgaWYgKGlzTWFpbldvcmxkKSB7CiAgICAgICAgIHVwZGF0ZURvY3VtZW50KCk7CiAg
ICAgICAgIHNldFNlY3VyaXR5VG9rZW4oKTsKLSAgICAgICAgaWYgKG1fZnJhbWUtPmRvY3VtZW50
KCkpCi0gICAgICAgICAgICBjb250ZXh0LT5BbGxvd0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3Mo
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93RXZhbCgw
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlN1cHByZXNzUmVwb3J0KSk7CisgICAgICAgIGlmICht
X2ZyYW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kq
IGNzcCA9IG1fZnJhbWUtPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpOworICAg
ICAgICAgICAgY29udGV4dC0+QWxsb3dDb2RlR2VuZXJhdGlvbkZyb21TdHJpbmdzKGNzcC0+YWxs
b3dFdmFsKDAsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6U3VwcHJlc3NSZXBvcnQpKTsKKyAgICAg
ICAgICAgIGNvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNvZGVHZW5lcmF0aW9uRnJvbVN0cmlu
Z3ModjhTdHJpbmcoY3NwLT5ldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSkpOworICAgICAgICB9
CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVXNpbmcgdGhlIGRlZmF1bHQgc2VjdXJpdHkgdG9r
ZW4gbWVhbnMgdGhhdCB0aGUgY2FuQWNjZXNzIGlzIGFsd2F5cwogICAgICAgICAvLyBjYWxsZWQs
IHdoaWNoIGlzIHNsb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9X
b3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCBiY2IzNDhlNGM0NjNlZjVi
N2Q5NDcwZDg2NTc3ZWZkMWYzYzQ0Mzg2Li5iMmUwNjU2MDU0NTViMjBjNDk3OGQyYjFiZTY1OGVm
NDY2NWJmYWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGlj
IHZvaWQgdjhNZXNzYWdlSGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2
ODo6SGFuZGxlPHY4OjpWYWwKIAogV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpXb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHkoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCkKICAgICA6
IG1fd29ya2VyQ29udGV4dCh3b3JrZXJDb250ZXh0KQotICAgICwgbV9kaXNhYmxlRXZhbFBlbmRp
bmcoZmFsc2UpCisgICAgLCBtX2Rpc2FibGVFdmFsUGVuZGluZyhTdHJpbmcoKSkKIHsKICAgICBp
bml0SXNvbGF0ZSgpOwogfQpAQCAtMjEzLDkgKzIxMywxMCBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJD
b250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0cmluZyYgc2NyaXB0LCBjb25z
dCBTdAogICAgIGlmICghaW5pdGlhbGl6ZUlmTmVlZGVkKCkpCiAgICAgICAgIHJldHVybiBTY3Jp
cHRWYWx1ZSgpOwogCi0gICAgaWYgKG1fZGlzYWJsZUV2YWxQZW5kaW5nKSB7CisgICAgaWYgKCFt
X2Rpc2FibGVFdmFsUGVuZGluZy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jb250ZXh0LT5BbGxv
d0NvZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3MoZmFsc2UpOwotICAgICAgICBtX2Rpc2FibGVFdmFs
UGVuZGluZyA9IGZhbHNlOworICAgICAgICBtX2NvbnRleHQtPlNldEVycm9yTWVzc2FnZUZvckNv
ZGVHZW5lcmF0aW9uRnJvbVN0cmluZ3ModjhTdHJpbmcobV9kaXNhYmxlRXZhbFBlbmRpbmcpKTsK
KyAgICAgICAgbV9kaXNhYmxlRXZhbFBlbmRpbmcgPSBTdHJpbmcoKTsKICAgICB9CiAKICAgICB2
ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUobV9jb250ZXh0KTsKQEAgLTI1Miw5ICsyNTMsOSBAQCBT
Y3JpcHRWYWx1ZSBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmV2YWx1YXRlKGNvbnN0IFN0
cmluZyYgc2NyaXB0LCBjb25zdCBTdAogICAgIHJldHVybiBTY3JpcHRWYWx1ZShyZXN1bHQpOwog
fQogCi12b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93ZWQoYm9v
bCBlbmFibGUpCit2b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6c2V0RXZhbEFsbG93
ZWQoYm9vbCBlbmFibGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIG1fZGlz
YWJsZUV2YWxQZW5kaW5nID0gIWVuYWJsZTsKKyAgICBtX2Rpc2FibGVFdmFsUGVuZGluZyA9IGVu
YWJsZSA/IFN0cmluZygpIDogZXJyb3JNZXNzYWdlOwogfQogCiB2b2lkIFdvcmtlckNvbnRleHRF
eGVjdXRpb25Qcm94eTo6dHJhY2tFdmVudChFdmVudCogZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCmlu
ZGV4IDVjZTNmMmNhNGY4OWU1MDFhOTlhNjI3NjNlZTZjMzhmNWVhYTkxNWYuLjRjMDI0ZDAyZGE1
MDAwM2ZjMzgyNzcyNzU3OGI5ZTgwMGEzMjhjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oCkBAIC02OSw3
ICs2OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB0cmFja0V2ZW50KEV2
ZW50Kik7CiAKICAgICAgICAgLy8gQWxvdyB1c2Ugb2YgZXZhbCgpIGFuZCBpcyBlcXVpdmFsZW50
cyBpbiBzY3JpcHRzLgotICAgICAgICB2b2lkIHNldEV2YWxBbGxvd2VkKGJvb2wgZW5hYmxlKTsK
KyAgICAgICAgdm9pZCBzZXRFdmFsQWxsb3dlZChib29sIGVuYWJsZSwgY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UpOwogCiAgICAgICAgIC8vIEV2YWx1YXRlIGEgc2NyaXB0IGZpbGUgaW4gdGhl
IGN1cnJlbnQgZXhlY3V0aW9uIGVudmlyb25tZW50LgogICAgICAgICBTY3JpcHRWYWx1ZSBldmFs
dWF0ZShjb25zdCBTdHJpbmcmIHNjcmlwdCwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3Qg
VGV4dFBvc2l0aW9uJiBzY3JpcHRTdGFydFBvc2l0aW9uLCBXb3JrZXJDb250ZXh0RXhlY3V0aW9u
U3RhdGUqKTsKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IE93blB0cjxWOFBlckNvbnRleHREYXRhPiBtX3BlckNvbnRleHREYXRhOwogCi0gICAgICAgIGJv
b2wgbV9kaXNhYmxlRXZhbFBlbmRpbmc7CisgICAgICAgIFN0cmluZyBtX2Rpc2FibGVFdmFsUGVu
ZGluZzsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDcw
MjA4ZTFmZWU0MGY2MDdkMzNkYjNlM2RiN2NlZWEwODJmNThmMTAuLjdkNmI1OGE3YmYyYTU1NTk2
Mzc4ZmRhNjMzZjFhOGUxNTQ4YzNlMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0xMzIsOSArMTMyLDkgQEAg
Ym9vbCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjppc0V4ZWN1dGlvbkZvcmJpZGRlbigpIGNvbnN0
CiAgICAgcmV0dXJuIG1fZXhlY3V0aW9uRm9yYmlkZGVuOwogfQogCi12b2lkIFdvcmtlclNjcmlw
dENvbnRyb2xsZXI6OmRpc2FibGVFdmFsKGNvbnN0IFN0cmluZyYgLyogZXJyb3JNZXNzYWdlICov
KQordm9pZCBXb3JrZXJTY3JpcHRDb250cm9sbGVyOjpkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSkKIHsKLSAgICBtX3Byb3h5LT5zZXRFdmFsQWxsb3dlZChmYWxzZSk7Cisg
ICAgbV9wcm94eS0+c2V0RXZhbEFsbG93ZWQoZmFsc2UsIGVycm9yTWVzc2FnZSk7CiB9CiAKIHZv
aWQgV29ya2VyU2NyaXB0Q29udHJvbGxlcjo6c2V0RXhjZXB0aW9uKGNvbnN0IFNjcmlwdFZhbHVl
JiBleGNlcHRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDc0MDhjYWJiYTEwZGIwMDkxOGQwMTgxZDFiZjdjYTljYmQy
MWRmZi4uN2EwNzcwOTU3MDZiN2RiM2I1MzAwNjFmM2U4NDI5ZDg0OThkZjJmNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTEwLTE3ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgVjggc2hvdWxkIHRocm93IGEgbW9yZSBkZXNjcmlwdGl2ZSBleGNlcHRpb24g
d2hlbiBibG9ja2luZyAnZXZhbCcgdmlhIENTUC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICAgICBVbnNraXBwaW5nIHRoZXNlIHRlc3RzLCBhcyB0aGlzIHBhdGNoIHVuYnJlYWtz
IHRoZW0uCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9ja2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9ldmFsLWJsb2NrZWQtaW4tYWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2VkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgICAgIFVwZGF0aW5nIGV4cGVjdGF0aW9ucyB3aXRoIHRoZSBuZXcgZXJyb3IgbWVzc2Fn
ZS4KKwogMjAxMi0xMC0xNyAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4K
IAogICAgICAgICBbUXRdIFVucmV2aXdlZCBnYXJkZW5pbmcuIFNraXAgZmFpbGluZyByZWZ0ZXN0
IGFmdGVyIHIxMzE0OTcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBhMjk3MDBiZWE5YzY2OWNhOGVlMGQxYzFiYzYwOGQyM2U1NmVlMTVk
Li44ZTdkNjBlZTY1MTM2MTllNjYxMWYzOTRhODc3ZDhmZTY3NWU5MThkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTk3LDEyICs5Nyw2
IEBAIHdlYmtpdC5vcmcvYi85ODY1OSBbIERlYnVnIF0gZmFzdC9kb20vZ2MtZG9tLXRyZWUtbGlm
ZXRpbWUuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAjIFRFTVBPUkFSSUxZIFNLSVBQRUQgVEVTVFMK
ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIAotIyBSb2xsaW5nIGluIGEgVjggY2hhbmdlIHRoYXQgd2lsbCBicmVhayB0
aGVzZSB0ZXN0cy4gV2UnbGwgdXBkYXRlIHdpdGggdGhlIG5ldwotIyB0ZXN0IGV4cGVjdGF0aW9u
cyBhbG9uZyB3aXRoIHRoZSBjaGFuZ2UgdGhhdCB0aGlzIHJvbGwgd2lsbCBlbmFibGUuCi13ZWJr
aXQub3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
ZXZhbC1ibG9ja2VkLWluLWFib3V0LWJsYW5rLWlmcmFtZS5odG1sIFsgU2tpcCBdCi13ZWJraXQu
b3JnL2IvOTQzMzIgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZh
bC1ibG9ja2VkLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi85NDMzMiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9mdW5jdGlvbi1jb25zdHJ1Y3Rvci1ibG9ja2Vk
Lmh0bWwgWyBTa2lwIF0KLQogIyBGYWlscyBkdWUgdG8gZGlmZmVyZW50IHdpbmRvdy5jbG9zZSgp
IHJ1bGVzLiAgV2UgbmVlZCB0byBkZWNpZGUgd2hldGhlciB3ZQogIyBldmVyIGV4cGVjdCB0byBw
YXNzIHRoaXMuCiBjcmJ1Zy5jb20vMjQxODkgZmFzdC9kb20vb3Blbi1hbmQtY2xvc2UtYnktRE9N
Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdkZDgyYTRhZDY5MWFhNzVlYzMxYTQyNDY5MWIxNjZjZjM3NDA2NjkuLjBhZTdiNTRlMmU0
YjQwYmU1YWIwZTQ3NWIyMGE5MDRhNWQ3MGQzOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2V2YWwtYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZXZhbC1ibG9j
a2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAx
MjogVW5jYXVnaHQgRXJyb3I6IENvZGUgZ2VuZXJhdGlvbiBmcm9tIHN0cmluZ3MgZGlzYWxsb3dl
ZCBmb3IgdGhpcyBjb250ZXh0Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IFVuY2F1Z2h0IEVy
cm9yOiBDb2RlIGdlbmVyYXRpb24gZnJvbSBzdHJpbmdzIGRpc2FsbG93ZWQgZm9yIHRoaXMgY29u
dGV4dAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEyOiBVbmNhdWdodCBFdmFsRXJyb3I6IFJlZnVz
ZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUtZXZh
bCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5nIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxp
bmUnIi4KKworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1OiBVbmNhdWdodCBFdmFsRXJyb3I6IFJl
ZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcgYXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUt
ZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5n
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vuc2FmZS1p
bmxpbmUnIi4KKwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ldmFsLWJsb2NrZWQtaW4t
YWJvdXQtYmxhbmstaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxv
Y2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CmluZGV4IDRmN2VkZTlkODNm
NDE3MTk5ZDMyOWQzYzg2Zjc1Y2E4YTRkMmZiNDUuLmY2YmFjZGRhNTI3MGZjNjc5ODA1Y2MwNTQ0
OTA2M2I5MGFiOTMzMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2YWwtYmxvY2tlZC1p
bi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2V2
YWwtYmxvY2tlZC1pbi1hYm91dC1ibGFuay1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
NCBAQAogQUxFUlQ6IC9QQVNTLwotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuY2F1Z2h0IEVy
cm9yOiBDb2RlIGdlbmVyYXRpb24gZnJvbSBzdHJpbmdzIGRpc2FsbG93ZWQgZm9yIHRoaXMgY29u
dGV4dAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFVuY2F1Z2h0IEV2YWxFcnJvcjogUmVmdXNl
ZCB0byBldmFsdWF0ZSBhIHN0cmluZyBhcyBKYXZhU2NyaXB0IGJlY2F1c2UgJ3Vuc2FmZS1ldmFs
JyBpcyBub3QgYW4gYWxsb3dlZCBzb3VyY2Ugb2Ygc2NyaXB0IGluIHRoZSBmb2xsb3dpbmcgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAndW5zYWZlLWlubGlu
ZSciLgorCiAgRXZhbCBzaG91bGQgYmUgYmxvY2tlZCBpbiB0aGUgaWZyYW1lLCBidXQgaW5saW5l
IHNjcmlwdCBzaG91bGQgYmUgYWxsb3dlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
ZnVuY3Rpb24tY29uc3RydWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQKaW5kZXggNzQ2NTc3NDU3
ZjI4MzY1M2QxYWNhODA4ODJiNzFiZThiYmRhOGE2MS4uY2M2Nzk5NjFiNzk0NTI2MTlhNDNjNDRk
ZTI2NmJhZTgzMTJhZTkzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rpb24tY29u
c3RydWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvZnVuY3Rp
b24tY29uc3RydWN0b3ItYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTI6IFVuY2F1Z2h0IEVycm9yOiBDb2RlIGdlbmVyYXRpb24gZnJv
bSBzdHJpbmdzIGRpc2FsbG93ZWQgZm9yIHRoaXMgY29udGV4dAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDEyOiBVbmNhdWdodCBFdmFsRXJyb3I6IFJlZnVzZWQgdG8gZXZhbHVhdGUgYSBzdHJpbmcg
YXMgSmF2YVNjcmlwdCBiZWNhdXNlICd1bnNhZmUtZXZhbCcgaXMgbm90IGFuIGFsbG93ZWQgc291
cmNlIG9mIHNjcmlwdCBpbiB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRp
cmVjdGl2ZTogInNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnIi4KKwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>