<?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>97333</bug_id>
          
          <creation_ts>2012-09-21 06:33:28 -0700</creation_ts>
          <short_desc>Implement Canvas Path object</short_desc>
          <delta_ts>2023-04-28 21:06:05 -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>Canvas</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>http://dev.w3.org/html5/2dcontext/#path-objects</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>107473</dependson>
    
    <dependson>108246</dependson>
    
    <dependson>108508</dependson>
    
    <dependson>108587</dependson>
    
    <dependson>109097</dependson>
    
    <dependson>109997</dependson>
    
    <dependson>131114</dependson>
          <blocked>107744</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>bfulgham</cc>
    
    <cc>buildbot</cc>
    
    <cc>cabanier</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>dongseong.hwang</cc>
    
    <cc>efidler</cc>
    
    <cc>eoconnor</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ian</cc>
    
    <cc>junov</cc>
    
    <cc>kangax</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>reed</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>syoichi</cc>
    
    <cc>tomhudson</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>725476</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-21 06:33:28 -0700</bug_when>
    <thetext>The HTML Canvas specification and the WHAT WG HTML specification define the Path object[1][2]. The Path and the CanvasRenderingContext2D objects share some graphics operations like: closePath, lineTo, moveTo, arc, arcTo, ellipse (not implemented yet), quadraticCurveTo, cubicCurveTo, rect [3]. But instead of an Canvas, the operations get applied to a Path object. Furthermore the object allows adding other Paths with transform. A Path object can then be drawn on a Canvas.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
[2] http://dev.w3.org/html5/2dcontext/#path-objects
[3] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#2dcontext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725501</commentid>
    <comment_count>1</comment_count>
      <attachid>165130</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-21 07:24:36 -0700</bug_when>
    <thetext>Created attachment 165130
Patch

Test if it builds on all systems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725518</commentid>
    <comment_count>2</comment_count>
      <attachid>165130</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-21 08:02:22 -0700</bug_when>
    <thetext>Comment on attachment 165130
Patch

Attachment 165130 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13916636</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725519</commentid>
    <comment_count>3</comment_count>
      <attachid>165130</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-21 08:03:58 -0700</bug_when>
    <thetext>Comment on attachment 165130
Patch

Attachment 165130 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13951714</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725526</commentid>
    <comment_count>4</comment_count>
      <attachid>165134</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-21 08:18:47 -0700</bug_when>
    <thetext>Created attachment 165134
Patch

Test if it builds on all systems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725541</commentid>
    <comment_count>5</comment_count>
      <attachid>165134</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-21 08:47:45 -0700</bug_when>
    <thetext>Comment on attachment 165134
Patch

Attachment 165134 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13954638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725557</commentid>
    <comment_count>6</comment_count>
      <attachid>165134</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-21 09:08:25 -0700</bug_when>
    <thetext>Comment on attachment 165134
Patch

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

New failing tests:
fast/dom/constructed-objects-prototypes.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725583</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-09-21 09:45:42 -0700</bug_when>
    <thetext>I think we might want to wait for this API to settle down before implementing it. I don&apos;t really like the new API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725674</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-21 11:53:43 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I think we might want to wait for this API to settle down before implementing it. I don&apos;t really like the new API.

As a compromise, can we put the new API changes behind a flag? SVG WG decided to reuse the concept of Path for their own use. It would be extremely helpful to experiment with it. The flag could be called CANVAS_NEW or CANVAS_NEXT :) (Hope that someone has better suggestions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725706</commentid>
    <comment_count>9</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2012-09-21 12:29:26 -0700</bug_when>
    <thetext>smfr: The API is entirely &quot;settled&quot; (there&apos;s no outstanding feedback on it, last I checked). If you would like to unsettle it, please send e-mail to the WHATWG list with your concerns! (In particular, knowing that you don&apos;t want to implement it is very valuable feedback, but knowing why not would make it much easier for us to fix it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726076</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-09-22 00:24:44 -0700</bug_when>
    <thetext>To the build problems: I tried a build from scratch on Mac and it works for me. Maybe the bots need to do the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726606</commentid>
    <comment_count>11</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2012-09-24 06:34:13 -0700</bug_when>
    <thetext>Can you add a comment above transformIsInvertible()? What is it here? Who would override it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802653</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-08 14:28:29 -0800</bug_when>
    <thetext>*** Bug 82790 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802698</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-08 15:01:37 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Can you add a comment above transformIsInvertible()? What is it here? Who would override it?

Not sure what you mean with &quot;Who would override it?&quot;. The problem that some libraries are focused with is the following:

ctx.scale(0)
ctx.lineTo(100,100);

freezes the library. This was in particular the case for Cairo Graphics. For this reason it is necessary to check before applying the function and stop there. This problem might be fixed in Cairo Graphics already and can finally be removed. This is in the scope of a different patch and a different investigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807343</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-15 08:45:47 -0800</bug_when>
    <thetext>*** Bug 96826 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807424</commentid>
    <comment_count>15</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2013-01-15 10:23:45 -0800</bug_when>
    <thetext>What is the status of this. Are you waiting on more reviews?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807488</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-15 11:14:13 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; What is the status of this. Are you waiting on more reviews?

We don&apos;t have a consensus on how we proceed with the proposal, see comment 7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807502</commentid>
    <comment_count>17</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2013-01-15 11:31:12 -0800</bug_when>
    <thetext>#7 smfr

Do you think there will be changes to the API, given the statement in #9? Should we continue to wait?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807573</commentid>
    <comment_count>18</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-15 12:36:07 -0800</bug_when>
    <thetext>(In reply to comment #17)

&gt; Do you think there will be changes to the API, given the statement in #9? Should we continue to wait?

Might as well go ahead, but please put this behind an ENABLE flag. It&apos;s a Web-facing feature so implementations might want to hold off on releasing it if they plan to request significant changes to the specification. I&apos;m not aware of any, but there are other reasons such as content compatibility (e.g. the new API has a name clash with an important site) that means people might want to live on this before shipping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807598</commentid>
    <comment_count>19</comment_count>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-01-15 12:50:48 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; 
&gt; &gt; Do you think there will be changes to the API, given the statement in #9? Should we continue to wait?
&gt; 
&gt; Might as well go ahead, but please put this behind an ENABLE flag. It&apos;s a Web-facing feature so implementations might want to hold off on releasing it if they plan to request significant changes to the specification. I&apos;m not aware of any, but there are other reasons such as content compatibility (e.g. the new API has a name clash with an important site) that means people might want to live on this before shipping.

I think that the API should change. The current API is not all that useful and will not accomplish what people want (for instance, you can&apos;t use it to aggregate paths)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807606</commentid>
    <comment_count>20</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-01-15 12:56:38 -0800</bug_when>
    <thetext>(In reply to comment #7 and comment #19)

As always, if you want the API to change, send use cases and design constraints to the WHATWG list. I&apos;m happy to update the API to address new use cases. (Please focus on problems that authors try to address that the current spec doesn&apos;t handle, not alternative proposed solutions, in initial e-mails on any topic.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808582</commentid>
    <comment_count>21</comment_count>
    <who name="Justin Novosad">junov</who>
    <bug_when>2013-01-16 11:52:49 -0800</bug_when>
    <thetext>How about landing an implementation that reflects the current state of the draft specification as &quot;webkitPath&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809064</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-16 21:36:38 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; How about landing an implementation that reflects the current state of the draft specification as &quot;webkitPath&quot;?

I&apos;ll upload a new patch with the flag for canvas path first. Actually, Rik&apos;s request is not that far from the WHAT WG version, it just goes beyond it (with very good use cases). It should not be seen as counter proposal.

I am not so sure about prefixing this new object. I would rather not compile it by default on the bots until we are more certain about the API. That gives us a lot more freedom to change our mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810956</commentid>
    <comment_count>23</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-01-18 12:53:31 -0800</bug_when>
    <thetext>No need to prefix. I will make sure the spec doesn&apos;t conflict with shipped implementations. If changes are desired to the spec, make sure the use cases are mailed to the WHATWG list or a bug is filed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>812350</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-21 13:04:57 -0800</bug_when>
    <thetext>Making this to a master bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813172</commentid>
    <comment_count>25</comment_count>
      <attachid>184013</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-22 10:44:36 -0800</bug_when>
    <thetext>Created attachment 184013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813206</commentid>
    <comment_count>26</comment_count>
      <attachid>184013</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 10:56:03 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16031730</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813208</commentid>
    <comment_count>27</comment_count>
      <attachid>184013</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-22 10:58:34 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16040699</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813221</commentid>
    <comment_count>28</comment_count>
      <attachid>184013</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-22 11:05:00 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16041740</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813253</commentid>
    <comment_count>29</comment_count>
      <attachid>184013</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-22 11:24:00 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16033762</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813254</commentid>
    <comment_count>30</comment_count>
      <attachid>184013</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-01-22 11:24:42 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16065018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813264</commentid>
    <comment_count>31</comment_count>
      <attachid>184013</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-22 11:32:28 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16037735</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813285</commentid>
    <comment_count>32</comment_count>
      <attachid>184013</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-01-22 11:53:01 -0800</bug_when>
    <thetext>Comment on attachment 184013
Patch

Attachment 184013 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16045725</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813304</commentid>
    <comment_count>33</comment_count>
      <attachid>184032</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-22 12:16:33 -0800</bug_when>
    <thetext>Created attachment 184032
Patch

Patch. Should build on Mac now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813311</commentid>
    <comment_count>34</comment_count>
      <attachid>184032</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-22 12:28:52 -0800</bug_when>
    <thetext>Comment on attachment 184032
Patch

Attachment 184032 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16033805</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813315</commentid>
    <comment_count>35</comment_count>
      <attachid>184032</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-22 12:31:36 -0800</bug_when>
    <thetext>Comment on attachment 184032
Patch

Attachment 184032 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16063158</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813323</commentid>
    <comment_count>36</comment_count>
      <attachid>184036</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-22 12:50:40 -0800</bug_when>
    <thetext>Created attachment 184036
Patch

Patch. Should fix more builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813388</commentid>
    <comment_count>37</comment_count>
      <attachid>184036</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 14:01:07 -0800</bug_when>
    <thetext>Comment on attachment 184036
Patch

Attachment 184036 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16031825

New failing tests:
platform/chromium/virtual/gpu/fast/canvas/canvas-path-object.html
fast/canvas/canvas-path-object.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813428</commentid>
    <comment_count>38</comment_count>
      <attachid>184036</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 14:43:00 -0800</bug_when>
    <thetext>Comment on attachment 184036
Patch

Attachment 184036 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16041824

New failing tests:
platform/chromium/virtual/gpu/fast/canvas/canvas-path-object.html
fast/canvas/canvas-path-object.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813540</commentid>
    <comment_count>39</comment_count>
      <attachid>184070</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-22 16:31:26 -0800</bug_when>
    <thetext>Created attachment 184070
Patch

Patch. Update build files after changes from other patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813598</commentid>
    <comment_count>40</comment_count>
      <attachid>184070</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-22 17:22:09 -0800</bug_when>
    <thetext>Comment on attachment 184070
Patch

Attachment 184070 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16065192

New failing tests:
platform/chromium/virtual/gpu/fast/canvas/canvas-path-object.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813671</commentid>
    <comment_count>41</comment_count>
      <attachid>184104</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-22 18:54:38 -0800</bug_when>
    <thetext>Created attachment 184104
Patch

Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814372</commentid>
    <comment_count>42</comment_count>
      <attachid>184104</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-01-23 10:58:31 -0800</bug_when>
    <thetext>Comment on attachment 184104
Patch

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

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:17
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
&gt; + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
&gt; + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY

APPLE -&gt; ADOBE ?

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:39
&gt; +void CanvasPathMethods::closePath()
&gt; +{
&gt; +    if (m_path.isEmpty())
&gt; +        return;
&gt; +

Should you check the transform here as well?

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:47
&gt; +    if (!isfinite(x) | !isfinite(y))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:56
&gt; +    if (!isfinite(x) | !isfinite(y))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:65
&gt; +    FloatPoint p1 = FloatPoint(x, y);
&gt; +    if (!m_path.hasCurrentPoint())
&gt; +        m_path.moveTo(p1);
&gt; +    else if (p1 != m_path.currentPoint())
&gt; +        m_path.addLineTo(FloatPoint(x, y));

Use p1 in addLineTo since you have it?

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:70
&gt; +    if (!isfinite(cpx) | !isfinite(cpy) | !isfinite(x) | !isfinite(y))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:79
&gt; +    if (!m_path.hasCurrentPoint())
&gt; +        m_path.moveTo(FloatPoint(cpx, cpy));
&gt; +
&gt; +    FloatPoint p1 = FloatPoint(x, y);
&gt; +    if (p1 != m_path.currentPoint())
&gt; +        m_path.addQuadCurveTo(FloatPoint(cpx, cpy), p1);

Is it defined behaviour that if (cpx, cpy) == (x, y) and you didn&apos;t have a control point then you still do the moveTo? In fact, it seems a little weird to move to the control point at all.

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:84
&gt; +    if (!isfinite(cp1x) | !isfinite(cp1y) | !isfinite(cp2x) | !isfinite(cp2y) | !isfinite(x) | !isfinite(y))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:93
&gt; +    if (!m_path.hasCurrentPoint())
&gt; +        m_path.moveTo(FloatPoint(cp1x, cp1y));
&gt; +
&gt; +    FloatPoint p1 = FloatPoint(x, y);
&gt; +    if (p1 != m_path.currentPoint())
&gt; +        m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), p1);

Same question as for quad above.

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:99
&gt; +    if (!isfinite(x1) | !isfinite(y1) | !isfinite(x2) | !isfinite(y2) | !isfinite(r))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:114
&gt; +    if (!m_path.hasCurrentPoint())
&gt; +        m_path.moveTo(p1);

Again, is this defined? In this case you&apos;re moving to the start of the arc, then not adding the arc, so subsequent calls would not draw from the end. I have no idea what is correct, but that seems weird.

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:124
&gt; +    if (!isfinite(x) | !isfinite(y) | !isfinite(r) | !isfinite(sa) | !isfinite(ea))

||

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:133
&gt; +        // The arc is empty but we still need to draw the connecting line

Nit: trailing .

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:141
&gt; +    // If &apos;sa&apos; and &apos;ea&apos; differ by more than 2Pi, just add a circle starting/ending at &apos;sa&apos;

Nit: trailing .

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:151
&gt; +    if (anticlockwise &amp;&amp; sa - ea &gt;= 2 * piFloat) {
&gt; +        m_path.addArc(FloatPoint(x, y), r, sa, sa - 2 * piFloat, anticlockwise);
&gt; +        return;
&gt; +    }
&gt; +    if (!anticlockwise &amp;&amp; ea - sa &gt;= 2 * piFloat) {
&gt; +        m_path.addArc(FloatPoint(x, y), r, sa, sa + 2 * piFloat, anticlockwise);
&gt; +        return;
&gt; +    }
&gt; +
&gt; +    m_path.addArc(FloatPoint(x, y), r, sa, ea, anticlockwise);

Might as well create a variable FloatPoint(x, y)

&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:159
&gt; +    if (!isfinite(x) || !isfinite(y) || !isfinite(width) || !isfinite(height))

This one is ok!! :)

&gt; Source/WebCore/html/canvas/CanvasPathMethods.h:17
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
&gt; + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
&gt; + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY

APPLE!

&gt; Source/WebCore/html/canvas/CanvasPathMethods.h:49
&gt; +    void arc(float x, float y, float r, float sa, float ea, bool clockwise, ExceptionCode&amp;);

Watch out - you name this clockwise here and anticlockwise in the implementation!

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.idl:133
&gt;               in [Optional=DefaultIsUndefined] boolean anticlockwise)
&gt;          raises (DOMException);
&gt; +
&gt;      void fill(in [Optional] DOMString winding);

Intentional?

&gt; Source/WebCore/html/canvas/DOMPath.h:17
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
&gt; + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
&gt; + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY

APPLE!

&gt; Source/WebCore/html/canvas/DOMPath.idl:17
&gt; + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
&gt; + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
&gt; + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
&gt; + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY

APPLE!

&gt; Source/WebCore/html/canvas/DOMPath.idl:63
&gt; +             in [Optional=DefaultIsUndefined] boolean anticlockwise)

And anticlockwise here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814470</commentid>
    <comment_count>43</comment_count>
      <attachid>184104</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-23 12:07:55 -0800</bug_when>
    <thetext>Comment on attachment 184104
Patch

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

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:39
&gt;&gt; +
&gt; 
&gt; Should you check the transform here as well?

Very good question. I checked the spec, but couldn&apos;t find any wording what happens on a non-invertible CTM. Implementations are fairly different.

Here are two examples:
http://jsfiddle.net/Dghuh/1/
http://jsfiddle.net/Dghuh/2/

The first one does scale(0), which should make the CTM non-invertibe, we still apply lineTo and closePath for some reason. IE and FF refuse to draw anything.

The second does setTransform(0,0,0,0,0), which should reset the CTM to a zero matrix (again, not invertible). IE, Opera and FF draw a line to 0,0 and close the path afterwards (which kind of makes sense, since the universe is convoluted to one point). We refuse the lineTo command and close the path as expected.

There is clearly a need to specify this case properly. For now, I preserve our behavior.

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:79
&gt;&gt; +        m_path.addQuadCurveTo(FloatPoint(cpx, cpy), p1);
&gt; 
&gt; Is it defined behaviour that if (cpx, cpy) == (x, y) and you didn&apos;t have a control point then you still do the moveTo? In fact, it seems a little weird to move to the control point at all.

&quot;The quadraticCurveTo(cpx, cpy, x, y) method must ensure there is a subpath for (cpx, cpy)&quot;

and later:

&quot;When the user agent is to ensure there is a subpath for a coordinate (x, y) on a path, the user agent must check to see if the path has any subpaths, and if it does not, then the user agent must create a new subpath with the point (x, y) as its first (and only) point, as if the moveTo() method had been called.&quot;

We are following the spec, or better, the spec is following us ;)

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:93
&gt;&gt; +        m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), p1);
&gt; 
&gt; Same question as for quad above.

Ditto: &quot;method must ensure there is a subpath for (cp1x, cp1y)&quot;.

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:114
&gt;&gt; +        m_path.moveTo(p1);
&gt; 
&gt; Again, is this defined? In this case you&apos;re moving to the start of the arc, then not adding the arc, so subsequent calls would not draw from the end. I have no idea what is correct, but that seems weird.

Yes: &quot; method must first ensure there is a subpath for (x1, y1)&quot;

Definition of &quot;ensure there is a subpath for&quot; is above.

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:151
&gt;&gt; +    m_path.addArc(FloatPoint(x, y), r, sa, ea, anticlockwise);
&gt; 
&gt; Might as well create a variable FloatPoint(x, y)

The point is never used twice. I wouldn&apos;t do it right now.

&gt;&gt; Source/WebCore/html/canvas/CanvasPathMethods.cpp:159
&gt;&gt; +    if (!isfinite(x) || !isfinite(y) || !isfinite(width) || !isfinite(height))
&gt; 
&gt; This one is ok!! :)

Hehe, true.

&gt;&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.idl:133
&gt;&gt;      void fill(in [Optional] DOMString winding);
&gt; 
&gt; Intentional?

Yes, to separate the functions that can be moved from the functions that can&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814481</commentid>
    <comment_count>44</comment_count>
      <attachid>184279</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-23 12:15:10 -0800</bug_when>
    <thetext>Created attachment 184279
Patch

Fixed requested changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814716</commentid>
    <comment_count>45</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-23 15:05:08 -0800</bug_when>
    <thetext>Committed r140604: &lt;http://trac.webkit.org/changeset/140604&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819446</commentid>
    <comment_count>46</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-01-29 16:15:58 -0800</bug_when>
    <thetext>Reopen this bug report as meta bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997302</commentid>
    <comment_count>47</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-04-03 14:05:14 -0700</bug_when>
    <thetext>All pending patches landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1951974</commentid>
    <comment_count>48</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2023-04-28 21:06:05 -0700</bug_when>
    <thetext>rdar://11159162</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165130</attachid>
            <date>2012-09-21 07:24:36 -0700</date>
            <delta_ts>2012-09-21 08:18:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20120921172358.patch</filename>
            <type>text/plain</type>
            <size>44264</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uMTBiN2I5ODRiZGM1N2ZhOTBjNWZhNTQ0MDFkMWYy
Mjk5NDM4ZjU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA5LTIxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZhcyBQ
YXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
V2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk6
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisgICAg
ICAgIChDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjp0cmFuc2Zvcm1Jc0ludmVydGlibGUpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL0RPTVBhdGguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0RPTVBhdGguaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKERPTVBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUGF0aDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6On5ET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVBhdGg6OkRPTVBhdGgpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMDktMTggIEFuZHJleSBL
b3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBb
RXh0ZW5zaW9ucyBBUEldIHBvc3Rwb25lIHJlcXVlc3RzIHRvIGFkZCBleHRlbnNpb25zIHVudGls
IGV4dGVuc2lvbiBzZXJ2ZXIgaXMgaW5pdGlhbGl6ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
Zjc0YmEyZDI4ZjdiNDg1MjY3NjA4NjBhOGM5N2UwMTJhMDU0YTQyNy4uNWJlODA0MWU4OTYzZjU1
MmRmY2RjNDdlMmUxMTA4OGI3OWZmZjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUwNiw2
ICs1MDYsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaWRsCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5pZGwKICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwKKyAgICBodG1sL2NhbnZhcy9E
T01QYXRoLmlkbAogICAgIGh0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5p
ZGwKICAgICBodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCiAgICAgaHRtbC9jYW52YXMvRmxv
YXQ2NEFycmF5LmlkbApAQCAtMTQ1MiwxMSArMTQ1MywxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAKICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAgICBodG1s
L2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0
aG9kcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAogICAg
IGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguY3BwCiAg
ICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGYwMGQ1NTY4Yjkw
MTU3Nzk1NzVhNzNjYjA2YmY3N2RmZDM3MTUzYzcuLmY3YWYyOWFmNTJjNzdiZTg4NmU4NjMzODg3
MzA5ODFmYjI0MzE3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTkzLDYgKzkz
LDcgQEAKICNpbmNsdWRlICJKU0RPTU1pbWVUeXBlQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRE9N
TmFtZWRGbG93Q29sbGVjdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01QYXJzZXIuY3BwIgorI2lu
Y2x1ZGUgIkpTRE9NUGF0aC5jcHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW4uY3BwIgogI2luY2x1
ZGUgIkpTRE9NUGx1Z2luQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRE9NU2VjdXJpdHlQb2xpY3ku
Y3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDFmMDk3MmNkMTc5ODkyZmM1
NGI4OWU1NmFlYzFlZWUzYmUzM2NkNS4uYTI5ZDAzZTViNWE2YjhjZDA4OWQ0NDI5N2M1MDNkMjE0
ODRlNmI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNzAsNiArMzcwLDcg
QEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmll
dy5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCmluZGV4IDcxNzkzMGMxNGFiOTIyZjlmODU5YjBlZmQ2MmFiZDQ1ZDBmZDk4MmEuLmRiZDc4
NzU3NTA2NzQ3ZWIxMTliZmQ3ZTllMTFjOTQwYTVlYjczOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkKQEAgLTI5OCw2ICsyOTgsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdE
L2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMvRE9NUGF0aC5p
ZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5p
ZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IGNhNmRhYmNmNTE0NDI2MWI0MDk3NmQ1YTA5YWNhNzJhZTNj
ODg0NTYuLmJhMjU0YmM5NzQyOTFmMzNlNWVlNmJmMzFiYzc2ZTAxZmViMGU2NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTkxLDYgKzE5MSw4IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVUeXBlLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE0OTQsNiArMTQ5Niw3IEBA
IGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwg
XAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zs
b2F0NjRBcnJheS5pZGwgXApAQCAtMzE0NCw2ICszMTQ3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcCBcCkBAIC0zMTU1LDYgKzMxNjAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NoZWNrZWRJbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9EYXRhVmlldy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggMmNjYTIxZTk0Mjc2Y2YxYWE3YjU4M2VhZjA1ZTY2OGZjMjlkOTdj
Zi4uY2Q4Yzg4NGNhZTAyZjJkZDhlYWI4ZmI3ZTQ2ZTIyYTg4ODk0ZWFiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC02ODcsMTEgKzY4NywxMyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL1ZhbGlkaXR5U3Rh
dGUuY3BwIFwKICAgICBodG1sL1dlZWtJbnB1dFR5cGUuY3BwIFwKICAgICBodG1sL2NhbnZhcy9D
YW52YXNHcmFkaWVudC5jcHAgXAorICAgIGh0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNw
cCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogICAgIGh0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAog
ICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcCBcCisgICAgaHRtbC9jYW52YXMvRE9NUGF0aC5j
cHAgXAogICAgIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcCBcCiAgICAgaHRtbC9w
YXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwIFwKICAgICBodG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuY3BwIFwKQEAgLTE2OTgsMTEgKzE3MDAsMTMgQEAgSEVBREVSUyArPSBcCiAg
ICAgaGlzdG9yeS9IaXN0b3J5SXRlbS5oIFwKICAgICBoaXN0b3J5L1BhZ2VDYWNoZS5oIFwKICAg
ICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5oIFwKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQ
YXRoTWV0aG9kcy5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmggXAogICAgIGh0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgg
XAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGgu
aCBcCiAgICAgaHRtbC9DbGFzc0xpc3QuaCBcCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5oIFwKICAg
ICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGQ2ZmY3
NzU3NTZkNTc3M2NmNTYzMmRkMjMwZTEzZjFhODEwMWEyMzYuLjM1MTI1ZDEyZWNjMzM4Y2I2YWUy
YjQ3YzEyZjAzZjQ2ZGE5Y2M5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNDUsNiArMTE0NSw3
IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCcsCisgICAgICAgICAgICAn
aHRtbC9jYW52YXMvRE9NUGF0aC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Zs
b2F0MzJBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5p
ZGwnLApAQCAtNDI3NSw2ICs0Mjc2LDggQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52
YXNDb250ZXh0QXR0cmlidXRlcy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNH
cmFkaWVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50Lmgn
LAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCcsCisgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFz
L0NhbnZhc1BhdHRlcm4uaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHAnLApAQCAtNDI4Niw2ICs0Mjg5LDggQEAKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DaGVja2VkSW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3
LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaCcsCisgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRE9NUGF0aC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RP
TVBhdGguaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZh
dGl2ZXMuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggMTg5NmExMTlkYzJmZjk4ODExYjIzNTg1MWRlMzJmMGQwNGMzNWE2Yy4uOTk2YzMy
YjE3ZTVjNzQ3ZTcwZGZkYWVjYjM5MWQ3NmNjMjgzZWZlMyAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM2NzQsNiArMzY3NCw2MiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NUGF0aC5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNET01QYXRoLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNET01QYXJzZXIuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTU5MTIzLDYgKzU5MTc5LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXENhbnZhc1BhdGhNZXRob2RzLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxj
YW52YXNcQ2FudmFzUGF0aE1ldGhvZHMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcQ2FudmFzUGF0dGVybi5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNTkyMjMsNiArNTkyODcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcRE9NUGF0aC5jcHAi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxc
Y2FudmFzXERPTVBhdGguaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxET01TZXR0YWJsZVRva2VuTGlzdC5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDIwZGI4ZjQ0NDE0Y2VhZWE0Y2Y1OGRlMzExNGNiN2MxZGI3Nzg1MmIuLjc5Mjhk
MmY0ODY2YzI3NWUzMWEzY2Q3MjNmMDZjMzU1MDhlMmEzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYzMTksNiArNjMxOSwx
MCBAQAogCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIx
MTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAw
RkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2Rl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkI5
MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0
MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlGQjk1M0RERjE2MEM0NUNCMDBGNkI2QkMgLyogRE9NUGF0aC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjk1M0RE
QzE2MEM0NUM5MDBGNkI2QkMgLyogRE9NUGF0aC5jcHAgKi87IH07CisJCUZCOTUzREUwMTYwQzQ1
Q0IwMEY2QjZCQyAvKiBET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQjk1M0RERDE2MEM0NUNBMDBGNkI2QkMgLyogRE9NUGF0aC5oICovOyB9
OworCQlGQjk1M0RFODE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTUzREU2MTYwQzdEQzUwMEY2
QjZCQyAvKiBKU0RPTVBhdGguY3BwICovOyB9OworCQlGQjk1M0RFOTE2MEM3REM1MDBGNkI2QkMg
LyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQjk1M0RFNzE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmggKi87IH07CiAJCUZC
QzIyMERGMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkMyMjBERTEyMzdG
QkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwICovOyB9OwogCQlGQkQ2
QUY4ODE1RUYyNUM5MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRDZBRjg3MTVFRjIxRDQwMDhCNzExMCAv
KiBDU1NCYXNpY1NoYXBlcy5oICovOyB9OwogCQlGQkQ2QUY4OTE1RUYyNURCMDA4QjcxMTAgLyog
QmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQkQ2QUY4NDE1RUYyMUQ0MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0
aW9ucy5jcHAgKi87IH07CkBAIC0xMzczOCw2ICsxMzc0MiwxMSBAQAogCQlGQUJFNzJGQzEwNTlD
MjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGQjc4QUQyQzE1MUJGNUQyMDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQYXJzZXJNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZCOTJERjQ5MTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwUGF0aE9wZXJhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjk1M0REQzE2MEM0NUM5MDBGNkI2QkMg
LyogRE9NUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01Q
YXRoLmNwcDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRkI5NTNEREQxNjBDNDVDQTAwRjZCNkJDIC8qIERPTVBhdGguaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NUGF0aC5oOyBwYXRoID0gY2FudmFzL0RPTVBhdGgu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5NTNEREUxNjBDNDVDQTAwRjZCNkJD
IC8qIERPTVBhdGguaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IERPTVBhdGguaWRsOyBwYXRo
ID0gY2FudmFzL0RPTVBhdGguaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjk1
M0RFNjE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGQjk1M0RFNzE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNE
T3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNz
Q29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFG
ODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEJhc2ljU2hhcGVzLmNwcDsgcGF0aCA9IHN0eWxlL0Jhc2ljU2hh
cGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFGODMxNUVGMjFBMzAw
OEI3MTEwIC8qIEJhc2ljU2hhcGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEJhc2ljU2hhcGVzLmg7IHBhdGggPSBzdHlsZS9CYXNpY1NoYXBlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTM3NDUsNiArMTM3NTQsOCBAQAogCQlGQkQ2QUY4NTE1RUYyMUQ0
MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCYXNpY1NoYXBlRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZCRDZBRjg2MTVFRjIxRDQwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NCYXNpY1NoYXBlcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCRDZBRjg3MTVFRjIxRDQwMDhCNzExMCAvKiBD
U1NCYXNpY1NoYXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NCYXNp
Y1NoYXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQkUxNjFDRTE2MENBQzND
MDA5NUVFM0QgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gQ2FudmFzUGF0aE1ldGhvZHMuY3BwOyBwYXRoID0gY2FudmFzL0NhbnZh
c1BhdGhNZXRob2RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkJFMTYxQ0Yx
NjBDQUMzQzAwOTVFRTNEIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IENhbnZhc1BhdGhNZXRob2RzLmg7IHBhdGggPSBjYW52YXMvQ2FudmFz
UGF0aE1ldGhvZHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTIxNEEz
RjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2luY1Jlc2FtcGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZEMDBEN0EzMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbmNSZXNhbXBsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkQwNkRGQTMxMzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTUxMTUsNiArMTUxMjYsOCBAQAogCQkJCTQ5NDg0RkIzMTAyQ0YyM0MwMDE4N0RE
MyAvKiBDYW52YXNHcmFkaWVudC5jcHAgKi8sCiAJCQkJNDk0ODRGQjQxMDJDRjIzQzAwMTg3REQz
IC8qIENhbnZhc0dyYWRpZW50LmggKi8sCiAJCQkJNDk0ODRGQjUxMDJDRjIzQzAwMTg3REQzIC8q
IENhbnZhc0dyYWRpZW50LmlkbCAqLywKKwkJCQlGQkUxNjFDRTE2MENBQzNDMDA5NUVFM0QgLyog
Q2FudmFzUGF0aE1ldGhvZHMuY3BwICovLAorCQkJCUZCRTE2MUNGMTYwQ0FDM0MwMDk1RUUzRCAv
KiBDYW52YXNQYXRoTWV0aG9kcy5oICovLAogCQkJCTQ5NDg0RkI2MTAyQ0YyM0MwMDE4N0REMyAv
KiBDYW52YXNQYXR0ZXJuLmNwcCAqLywKIAkJCQk0OTQ4NEZCNzEwMkNGMjNDMDAxODdERDMgLyog
Q2FudmFzUGF0dGVybi5oICovLAogCQkJCTQ5NDg0RkI4MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52
YXNQYXR0ZXJuLmlkbCAqLywKQEAgLTE1MTMwLDYgKzE1MTQzLDkgQEAKIAkJCQkyRTk3Q0NFNzEy
OTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3BwICovLAogCQkJCTJFOTdDQ0U4MTI5MzlDQjgw
MEM1QzhGRiAvKiBEYXRhVmlldy5oICovLAogCQkJCTJFOTdDQ0U5MTI5MzlDQjgwMEM1QzhGRiAv
KiBEYXRhVmlldy5pZGwgKi8sCisJCQkJRkI5NTNEREMxNjBDNDVDOTAwRjZCNkJDIC8qIERPTVBh
dGguY3BwICovLAorCQkJCUZCOTUzREREMTYwQzQ1Q0EwMEY2QjZCQyAvKiBET01QYXRoLmggKi8s
CisJCQkJRkI5NTNEREUxNjBDNDVDQTAwRjZCNkJDIC8qIERPTVBhdGguaWRsICovLAogCQkJCTc3
Mjg2OTRCMTRGODg4MjUwMEY0ODREQyAvKiBFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3Bw
ICovLAogCQkJCTc3Mjg2OTRDMTRGODg4MjUwMEY0ODREQyAvKiBFWFRUZXh0dXJlRmlsdGVyQW5p
c290cm9waWMuaCAqLywKIAkJCQk3NzI4Njk0RDE0Rjg4ODI1MDBGNDg0REMgLyogRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmlkbCAqLywKQEAgLTE4MjkwLDYgKzE4MzA2LDggQEAKIAkJCQky
RTk3Q0U2RTEyOTNBRDZCMDBDNUM4RkYgLyogSlNEYXRhVmlldy5oICovLAogCQkJCTJFMDg4OEQy
MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovLAorCQkJCUZCOTUzREU2MTYwQzdE
QzUwMEY2QjZCQyAvKiBKU0RPTVBhdGguY3BwICovLAorCQkJCUZCOTUzREU3MTYwQzdEQzUwMEY2
QjZCQyAvKiBKU0RPTVBhdGguaCAqLywKIAkJCQk0QUNCQzBDODEyNzEzRDBBMDA5NEY5QjIgLyog
SlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgKi8sCiAJCQkJNEFDQkMwQzkxMjcxM0QwQTAwOTRG
OUIyIC8qIEpTRE9NU2V0dGFibGVUb2tlbkxpc3QuaCAqLywKIAkJCQk3Njk0NTYzQTEyMTREOTdD
MDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwICovLApAQCAtMjU1NzAsNiArMjU1ODgsOCBA
QAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0RjdCNEE2NjE1RkY2RDZBMDA2QjVGMjIgLyogUGxhdGZvcm1N
ZW1vcnlJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUZCOTUzREUwMTYwQzQ1
Q0IwMEY2QjZCQyAvKiBET01QYXRoLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQjk1M0RFOTE2MEM3
REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4NjY5LDYgKzI4
Njg5LDggQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEYxRDExQkYxNUZGMzcyMDAwMjZFOTA4IC8qIFBsYXRm
b3JtTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCOTUzRERG
MTYwQzQ1Q0IwMEY2QjZCQyAvKiBET01QYXRoLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCOTUz
REU4MTYwQzdEQzUwMEY2QjZCQyAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDM5ODIxMzZmMjE3ODY5OGZhMDdiMWQ1Yjc3Y2E0NmJjNTVlNGVhMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNw
cApAQCAtMCwwICsxLDE2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKKworI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6
OmNsb3NlUGF0aCgpCit7CisgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBGbG9hdFJlY3QgYm91bmRSZWN0ID0gbV9wYXRoLmZhc3RCb3VuZGluZ1Jl
Y3QoKTsKKyAgICBpZiAoYm91bmRSZWN0LndpZHRoKCkgfHwgYm91bmRSZWN0LmhlaWdodCgpKQor
ICAgICAgICBtX3BhdGguY2xvc2VTdWJwYXRoKCk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhv
ZHM6Om1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoeCkgfCAh
aXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0
aWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgs
IHkpKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6bGluZVRvKGZsb2F0IHgsIGZsb2F0
IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAoIW1f
cGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7CisgICAg
ZWxzZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRk
TGluZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjpx
dWFkcmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KQor
eworICAgIGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zpbml0ZShjcHkpIHwgIWlzZmluaXRlKHgp
IHwgIWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0lu
dmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQ
b2ludCgpKQorICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpKTsKKyAg
ICAKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEgIT0g
bV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkUXVhZEN1cnZlVG8oRmxv
YXRQb2ludChjcHgsIGNweSksIHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YmV6
aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5
LCBmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5p
dGUoY3AxeSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUo
eCkgfCAhaXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlz
SW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVu
dFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSk7
CisgICAgCisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7CisgICAgaWYgKHAx
ICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLmFkZEJlemllckN1cnZl
VG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSwgRmxvYXRQb2ludChjcDJ4LCBjcDJ5KSwgcDEpOwor
fQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmNUbyhmbG9hdCB4MSwgZmxvYXQgeTEsIGZs
b2F0IHgyLCBmbG9hdCB5MiwgZmxvYXQgciwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgZWMg
PSAwOworICAgIGlmICghaXNmaW5pdGUoeDEpIHwgIWlzZmluaXRlKHkxKSB8ICFpc2Zpbml0ZSh4
MikgfCAhaXNmaW5pdGUoeTIpIHwgIWlzZmluaXRlKHIpKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgaWYgKHIgPCAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgx
LCB5MSk7CisgICAgRmxvYXRQb2ludCBwMiA9IEZsb2F0UG9pbnQoeDIsIHkyKTsKKyAgICAKKyAg
ICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhw
MSk7CisgICAgZWxzZSBpZiAocDEgPT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpIHx8IHAxID09IHAy
IHx8ICFyKQorICAgICAgICBsaW5lVG8oeDEsIHkxKTsKKyAgICBlbHNlCisgICAgICAgIG1fcGF0
aC5hZGRBcmNUbyhwMSwgcDIsIHIpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmMo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGlj
bG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gMDsKKyAgICBpZiAoIWlz
ZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8
ICFpc2Zpbml0ZShlYSkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAociA8IDApIHsK
KyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICAKKyAgICBpZiAoIXIgfHwgc2EgPT0gZWEpIHsKKyAgICAgICAgLy8gVGhlIGFyYyBpcyBlbXB0
eSBidXQgd2Ugc3RpbGwgbmVlZCB0byBkcmF3IHRoZSBjb25uZWN0aW5nIGxpbmUKKyAgICAgICAg
bGluZVRvKHggKyByICogY29zZihzYSksIHkgKyByICogc2luZihzYSkpOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIAorICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBtb3Jl
IHRoYW4gMlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJworICAg
IGlmIChhbnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAg
bV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwg
YW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFhbnRpY2xv
Y2t3aXNlICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFy
YyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgbV9wYXRoLmFkZEFyYyhGbG9h
dFBvaW50KHgsIHkpLCByLCBzYSwgZWEsIGFudGljbG9ja3dpc2UpOworfQorCit2b2lkIENhbnZh
c1BhdGhNZXRob2RzOjpyZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBo
ZWlnaHQpCit7CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIGlmICghaXNmaW5pdGUoeCkgfHwgIWlzZmluaXRlKHkpIHx8ICFpc2Zp
bml0ZSh3aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdodCkpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9h
dFBvaW50KHgsIHkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBtX3BhdGgu
YWRkUmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOworfQorfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFm
MzQzMjA3YzRhMjU5MzUyNWZlZDU3MWY3ZjlkOWMyNDAyYTllOAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgKQEAgLTAsMCAr
MSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9y
YXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbnZhc1BhdGhNZXRob2Rz
X2gKKyNkZWZpbmUgQ2FudmFzUGF0aE1ldGhvZHNfaAorCisjaW5jbHVkZSAiUGF0aC5oIgorCisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRmxvYXRSZWN0OworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBDYW52
YXNQYXRoTWV0aG9kcyB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2FudmFzUGF0aE1ldGhvZHMo
KSB7IH0KKworCisgICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhmbG9hdCB4
LCBmbG9hdCB5KTsKKyAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lk
IHF1YWRyYXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkp
OworICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBj
cDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGZsb2F0
IHgwLCBmbG9hdCB5MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCByYWRpdXMsIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByLCBmbG9hdCBz
YSwgZmxvYXQgZWEsIGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBy
ZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworICAgIAor
ICAgIHZpcnR1YWwgYm9vbCB0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSB7IHJldHVybiB0cnVlOyB9
CisKK3Byb3RlY3RlZDoKKyAgICBDYW52YXNQYXRoTWV0aG9kcygpIHsgfQorICAgIFBhdGggbV9w
YXRoOworfTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCBlZjc1NGY1OTcwNGFhOWNj
NzczZDFiZjU3ZWYwYWQzYTFhZWZjYTJiLi40Y2QyYjBhZGNiZTFjYjMwNDgwMjJlNmRhYTVhNmNm
NDQ1NDE2NDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTExOCw2ICsxMTgsNyBAQCBwcml2YXRlOgog
CiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChIVE1M
Q2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2Rl
LCBib29sIHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKICAgICA6IENhbnZhc1JlbmRl
cmluZ0NvbnRleHQoY2FudmFzKQorICAgICwgQ2FudmFzUGF0aE1ldGhvZHMoKQogICAgICwgbV9z
dGF0ZVN0YWNrKDEpCiAgICAgLCBtX3VucmVhbGl6ZWRTYXZlQ291bnQoMCkKICAgICAsIG1fdXNl
c0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUodXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUp
CkBAIC04NDcsMTI1ICs4NDgsNiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YmVn
aW5QYXRoKCkKICAgICBtX3BhdGguY2xlYXIoKTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmNsb3NlUGF0aCgpCi17Ci0gICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIEZsb2F0UmVjdCBib3VuZFJlY3QgPSBtX3BhdGguZmFzdEJvdW5k
aW5nUmVjdCgpOwotICAgIGlmIChib3VuZFJlY3Qud2lkdGgoKSB8fCBib3VuZFJlY3QuaGVpZ2h0
KCkpCi0gICAgICAgIG1fcGF0aC5jbG9zZVN1YnBhdGgoKTsKLX0KLQotdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6Om1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNm
aW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRl
KCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0gICAgbV9wYXRoLm1vdmVUbyhG
bG9hdFBvaW50KHgsIHkpKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6Omxp
bmVUbyhmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5p
dGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RN
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5
KTsKLSAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1v
dmVUbyhwMSk7Ci0gICAgZWxzZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAg
ICAgICBtX3BhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQoeCwgeSkpOwotfQotCi12b2lkIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6cXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNw
eSwgZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKGNweCkgfCAhaXNmaW5p
dGUoY3B5KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBp
ZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9h
dFBvaW50KGNweCwgY3B5KSk7Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5
KTsKLSAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgu
YWRkUXVhZEN1cnZlVG8oRmxvYXRQb2ludChjcHgsIGNweSksIHAxKTsKLX0KLQotdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmJlemllckN1cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3Ax
eSwgZmxvYXQgY3AyeCwgZmxvYXQgY3AyeSwgZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAo
IWlzZmluaXRlKGNwMXgpIHwgIWlzZmluaXRlKGNwMXkpIHwgIWlzZmluaXRlKGNwMngpIHwgIWlz
ZmluaXRlKGNwMnkpIHwgIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1
cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRv
KEZsb2F0UG9pbnQoY3AxeCwgY3AxeSkpOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9p
bnQoeCwgeSk7Ci0gICAgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAg
bV9wYXRoLmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSwgRmxvYXRQb2lu
dChjcDJ4LCBjcDJ5KSwgcDEpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
YXJjVG8oZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIsIGZsb2F0IHIsIEV4
Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGVjID0gMDsKLSAgICBpZiAoIWlzZmluaXRlKHgxKSB8
ICFpc2Zpbml0ZSh5MSkgfCAhaXNmaW5pdGUoeDIpIHwgIWlzZmluaXRlKHkyKSB8ICFpc2Zpbml0
ZShyKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgIGVjID0g
SU5ERVhfU0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXN0YXRl
KCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFBvaW50IHAx
ID0gRmxvYXRQb2ludCh4MSwgeTEpOwotICAgIEZsb2F0UG9pbnQgcDIgPSBGbG9hdFBvaW50KHgy
LCB5Mik7Ci0KLSAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9w
YXRoLm1vdmVUbyhwMSk7Ci0gICAgZWxzZSBpZiAocDEgPT0gbV9wYXRoLmN1cnJlbnRQb2ludCgp
IHx8IHAxID09IHAyIHx8ICFyKQotICAgICAgICBsaW5lVG8oeDEsIHkxKTsKLSAgICBlbHNlCi0g
ICAgICAgIG1fcGF0aC5hZGRBcmNUbyhwMSwgcDIsIHIpOwotfQotCi12b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6YXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBm
bG9hdCBlYSwgYm9vbCBhbnRpY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBl
YyA9IDA7Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZShy
KSB8ICFpc2Zpbml0ZShzYSkgfCAhaXNmaW5pdGUoZWEpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAociA8IDApIHsKLSAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIGlmICghciB8fCBzYSA9PSBlYSkgewotICAgICAgICAvLyBUaGUg
YXJjIGlzIGVtcHR5IGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGRyYXcgdGhlIGNvbm5lY3RpbmcgbGlu
ZQotICAgICAgICBsaW5lVG8oeCArIHIgKiBjb3NmKHNhKSwgeSArIHIgKiBzaW5mKHNhKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RN
KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBt
b3JlIHRoYW4gMlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJwot
ICAgIGlmIChhbnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKLSAgICAg
ICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9h
dCwgYW50aWNsb2Nrd2lzZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFhbnRp
Y2xvY2t3aXNlICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKLSAgICAgICAgbV9wYXRoLmFk
ZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nr
d2lzZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3BhdGguYWRkQXJjKEZsb2F0
UG9pbnQoeCwgeSksIHIsIHNhLCBlYSwgYW50aWNsb2Nrd2lzZSk7Ci19Ci0KIHN0YXRpYyBib29s
IHZhbGlkYXRlUmVjdEZvckNhbnZhcyhmbG9hdCYgeCwgZmxvYXQmIHksIGZsb2F0JiB3aWR0aCwg
ZmxvYXQmIGhlaWdodCkKIHsKICAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwg
IWlzZmluaXRlKHdpZHRoKSB8ICFpc2Zpbml0ZShoZWlnaHQpKQpAQCAtOTg3LDIyICs4NjksNiBA
QCBzdGF0aWMgYm9vbCB2YWxpZGF0ZVJlY3RGb3JDYW52YXMoZmxvYXQmIHgsIGZsb2F0JiB5LCBm
bG9hdCYgd2lkdGgsIGZsb2F0JiBoZWlnaAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6cmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0KQotewotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmICghaXNmaW5pdGUoeCkgfHwgIWlzZmluaXRlKHkpIHx8
ICFpc2Zpbml0ZSh3aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdodCkpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGlmICghd2lkdGggJiYgIWhlaWdodCkgewotICAgICAgICBtX3BhdGgubW92ZVRvKEZs
b2F0UG9pbnQoeCwgeSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9wYXRoLmFk
ZFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKLX0KLQogI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclBh
dGhGb3JEYXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKaW5k
ZXggOTVkNmQwZTQzMTAyOTA0MDFkYjYwZmE3NTkxZjEwOTRmNDAwNjViOS4uNWU1NWQzYTgwZTYx
OGE0Y2Q3NTY5NjBhODhmOGVkOTNlZmRjZTJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKQEAgLTI3LDYgKzI3LDcg
QEAKICNkZWZpbmUgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEX2gKIAogI2luY2x1ZGUgIkFmZmlu
ZVRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIkNhbnZhc1BhdGhNZXRob2RzLmgiCiAjaW5jbHVkZSAi
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAi
Q29sb3JTcGFjZS5oIgpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBUZXh0TWV0cmljczsKIAogdHlw
ZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
IDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworY2xhc3MgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEIDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQsIHB1YmxpYyBDYW52YXNQ
YXRoTWV0aG9kcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEPiBjcmVhdGUoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCB1c2Vz
Q1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZSwgYm9vbCB1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0
eU1vZGUpCiAgICAgewpAQCAtMTM1LDE1ICsxMzYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRG
aWxsQ29sb3IoZmxvYXQgYywgZmxvYXQgbSwgZmxvYXQgeSwgZmxvYXQgaywgZmxvYXQgYSk7CiAK
ICAgICB2b2lkIGJlZ2luUGF0aCgpOwotICAgIHZvaWQgY2xvc2VQYXRoKCk7Ci0KLSAgICB2b2lk
IG1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9h
dCB5KTsKLSAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZs
b2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9h
dCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2
b2lkIGFyY1RvKGZsb2F0IHgwLCBmbG9hdCB5MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCBy
YWRpdXMsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBm
bG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2Rl
Jik7Ci0gICAgdm9pZCByZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBo
ZWlnaHQpOwogCiAgICAgdm9pZCBmaWxsKCk7CiAgICAgdm9pZCBzdHJva2UoKTsKQEAgLTMyOSwx
MiArMzIxLDEzIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXMyZCgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgp
IGNvbnN0IE9WRVJSSURFOworICAgIAorICAgIHZpcnR1YWwgYm9vbCB0cmFuc2Zvcm1Jc0ludmVy
dGlibGUoKSB7IHJldHVybiBzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTTsgfQogCiAjaWYgRU5BQkxF
KEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJiYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IE9WRVJSSURF
OwogI2VuZGlmCiAKLSAgICBQYXRoIG1fcGF0aDsKICAgICBWZWN0b3I8U3RhdGUsIDE+IG1fc3Rh
dGVTdGFjazsKICAgICB1bnNpZ25lZCBtX3VucmVhbGl6ZWRTYXZlQ291bnQ7CiAgICAgYm9vbCBt
X3VzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRE9NUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9E
T01QYXRoLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTlkODlmNWFmN2M3MTkyYWM0YjE5NjE3MmQyN2QyMmE2
MTg2YTZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9N
UGF0aC5jcHAKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9i
ZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRE9NUGF0aC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmEzYTYx
ZTQ1OTAwNTVhNGI1M2UyMjU3NzY0NDZhMWM3NTg3Y2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01QYXRoX2gKKyNkZWZpbmUgRE9NUGF0aF9oCisK
KyNpbmNsdWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIERPTVBhdGggOiBwdWJsaWMgUmVmQ291bnRlZDxET01QYXRoPiwgcHVibGljIENh
bnZhc1BhdGhNZXRob2RzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01QYXRoKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9N
UGF0aD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTVBhdGgpOyB9CisgICAgdmly
dHVhbCB+RE9NUGF0aCgpIHsgfQorcHJpdmF0ZToKKyAgICBET01QYXRoKCkgOiBDYW52YXNQYXRo
TWV0aG9kcygpIHsgfQorfTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RP
TVBhdGguaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNzhkMDIyOWVhNWViYmJkN2Q3MjIxZmE4NzNlMDg0MTRj
NzA2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01Q
YXRoLmlkbApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2Jl
IFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBo
dG1sIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbnN0cnVjdG9yLAorICAgICAgICBJ
bnRlcmZhY2VOYW1lPVBhdGgKKyAgICBdIERPTVBhdGggeworIAorICAgICAgICB2b2lkIGNsb3Nl
UGF0aCgpOworICAgICAgICB2b2lkIG1vdmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICAgICAgdm9pZCBsaW5lVG8oaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgICAgIHZvaWQgcXVhZHJhdGlj
Q3VydmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcHgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCBjcHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgICAgIHZv
aWQgYmV6aWVyQ3VydmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBj
cDF4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gZmxvYXQgY3AxeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGNwMngsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ5LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
ZmxvYXQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHkpOworICAgICAgICB2b2lkIGFyY1RvKGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgxLAorICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkxLAorICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgyLAorICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkyLAorICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHJhZGl1cykK
KyAgICAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZWN0KGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5LAorICAgICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgd2lkdGgsCisgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBoZWln
aHQpOworICAgICAgICB2b2lkIGFyYyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBm
bG9hdCB4LAorICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCB5LAorICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCByYWRpdXMsCisgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHN0YXJ0QW5nbGUsCisgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGVuZEFuZ2xlLAorICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dpc2Up
CisgICAgICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgfTsKK30KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOTY0OWFh
OTMxOGMzNTBiYjQxMGIyOWUwY2Q4NTI0NzBmMzQxMzlmNy4uOTRkNDJlYzRiZTFkNWQ2MmRjYzgx
YzhjMTdiYTcxYjE3N2IyODI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzky
LDYgKzM5Miw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgTm90YXRpb25D
b25zdHJ1Y3RvciBOb3RhdGlvbjsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9y
IEVudGl0eTsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVu
dGl0eVJlZmVyZW5jZTsKKyAgICAgICAgYXR0cmlidXRlIERPTVBhdGhDb25zdHJ1Y3RvciBQYXRo
OwogICAgICAgICBhdHRyaWJ1dGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVNIQURP
V19ET00sIFY4RW5hYmxlZFBlckNvbnRleHQ9c2hhZG93RE9NXSBTaGFkb3dSb290Q29uc3RydWN0
b3IgV2ViS2l0U2hhZG93Um9vdDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1TSEFE
T1dfRE9NLCBWOEVuYWJsZWRQZXJDb250ZXh0PXNoYWRvd0RPTV0gSFRNTENvbnRlbnRFbGVtZW50
Q29uc3RydWN0b3IgSFRNTENvbnRlbnRFbGVtZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165134</attachid>
            <date>2012-09-21 08:18:47 -0700</date>
            <delta_ts>2013-01-22 10:44:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20120921181809.patch</filename>
            <type>text/plain</type>
            <size>45683</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uMTBiN2I5ODRiZGM1N2ZhOTBjNWZhNTQ0MDFkMWYy
Mjk5NDM4ZjU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA5LTIxICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZhcyBQ
YXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
V2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk6
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6CisgICAg
ICAgIChDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjp0cmFuc2Zvcm1Jc0ludmVydGlibGUpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL0RPTVBhdGguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0RPTVBhdGguaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKERPTVBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUGF0aDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6On5ET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVBhdGg6OkRPTVBhdGgpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMDktMTggIEFuZHJleSBL
b3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBb
RXh0ZW5zaW9ucyBBUEldIHBvc3Rwb25lIHJlcXVlc3RzIHRvIGFkZCBleHRlbnNpb25zIHVudGls
IGV4dGVuc2lvbiBzZXJ2ZXIgaXMgaW5pdGlhbGl6ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
Zjc0YmEyZDI4ZjdiNDg1MjY3NjA4NjBhOGM5N2UwMTJhMDU0YTQyNy4uNWJlODA0MWU4OTYzZjU1
MmRmY2RjNDdlMmUxMTA4OGI3OWZmZjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUwNiw2
ICs1MDYsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaWRsCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5pZGwKICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwKKyAgICBodG1sL2NhbnZhcy9E
T01QYXRoLmlkbAogICAgIGh0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5p
ZGwKICAgICBodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCiAgICAgaHRtbC9jYW52YXMvRmxv
YXQ2NEFycmF5LmlkbApAQCAtMTQ1MiwxMSArMTQ1MywxMyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAKICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAgICBodG1s
L2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0
aG9kcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAogICAg
IGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguY3BwCiAg
ICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGYwMGQ1NTY4Yjkw
MTU3Nzk1NzVhNzNjYjA2YmY3N2RmZDM3MTUzYzcuLmY3YWYyOWFmNTJjNzdiZTg4NmU4NjMzODg3
MzA5ODFmYjI0MzE3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTkzLDYgKzkz
LDcgQEAKICNpbmNsdWRlICJKU0RPTU1pbWVUeXBlQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRE9N
TmFtZWRGbG93Q29sbGVjdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNET01QYXJzZXIuY3BwIgorI2lu
Y2x1ZGUgIkpTRE9NUGF0aC5jcHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW4uY3BwIgogI2luY2x1
ZGUgIkpTRE9NUGx1Z2luQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRE9NU2VjdXJpdHlQb2xpY3ku
Y3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDFmMDk3MmNkMTc5ODkyZmM1
NGI4OWU1NmFlYzFlZWUzYmUzM2NkNS4uYTI5ZDAzZTViNWE2YjhjZDA4OWQ0NDI5N2M1MDNkMjE0
ODRlNmI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNzAsNiArMzcwLDcg
QEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmll
dy5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCmluZGV4IDcxNzkzMGMxNGFiOTIyZjlmODU5YjBlZmQ2MmFiZDQ1ZDBmZDk4MmEuLmRiZDc4
NzU3NTA2NzQ3ZWIxMTliZmQ3ZTllMTFjOTQwYTVlYjczOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkKQEAgLTI5OCw2ICsyOTgsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdE
L2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMvRE9NUGF0aC5p
ZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5p
ZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IGNhNmRhYmNmNTE0NDI2MWI0MDk3NmQ1YTA5YWNhNzJhZTNj
ODg0NTYuLmJhMjU0YmM5NzQyOTFmMzNlNWVlNmJmMzFiYzc2ZTAxZmViMGU2NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTkxLDYgKzE5MSw4IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVUeXBlLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE0OTQsNiArMTQ5Niw3IEBA
IGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwg
XAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zs
b2F0NjRBcnJheS5pZGwgXApAQCAtMzE0NCw2ICszMTQ3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcCBcCkBAIC0zMTU1LDYgKzMxNjAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NoZWNrZWRJbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9EYXRhVmlldy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggMmNjYTIxZTk0Mjc2Y2YxYWE3YjU4M2VhZjA1ZTY2OGZjMjlkOTdj
Zi4uY2Q4Yzg4NGNhZTAyZjJkZDhlYWI4ZmI3ZTQ2ZTIyYTg4ODk0ZWFiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC02ODcsMTEgKzY4NywxMyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL1ZhbGlkaXR5U3Rh
dGUuY3BwIFwKICAgICBodG1sL1dlZWtJbnB1dFR5cGUuY3BwIFwKICAgICBodG1sL2NhbnZhcy9D
YW52YXNHcmFkaWVudC5jcHAgXAorICAgIGh0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNw
cCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogICAgIGh0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAog
ICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcCBcCisgICAgaHRtbC9jYW52YXMvRE9NUGF0aC5j
cHAgXAogICAgIGh0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmNwcCBcCiAgICAgaHRtbC9w
YXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwIFwKICAgICBodG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuY3BwIFwKQEAgLTE2OTgsMTEgKzE3MDAsMTMgQEAgSEVBREVSUyArPSBcCiAg
ICAgaGlzdG9yeS9IaXN0b3J5SXRlbS5oIFwKICAgICBoaXN0b3J5L1BhZ2VDYWNoZS5oIFwKICAg
ICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5oIFwKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQ
YXRoTWV0aG9kcy5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmggXAogICAgIGh0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgg
XAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGgu
aCBcCiAgICAgaHRtbC9DbGFzc0xpc3QuaCBcCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5oIFwKICAg
ICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGQ2ZmY3
NzU3NTZkNTc3M2NmNTYzMmRkMjMwZTEzZjFhODEwMWEyMzYuLjM1MTI1ZDEyZWNjMzM4Y2I2YWUy
YjQ3YzEyZjAzZjQ2ZGE5Y2M5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNDUsNiArMTE0NSw3
IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCcsCisgICAgICAgICAgICAn
aHRtbC9jYW52YXMvRE9NUGF0aC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Zs
b2F0MzJBcnJheS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5p
ZGwnLApAQCAtNDI3NSw2ICs0Mjc2LDggQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52
YXNDb250ZXh0QXR0cmlidXRlcy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNH
cmFkaWVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50Lmgn
LAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCcsCisgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFz
L0NhbnZhc1BhdHRlcm4uaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5jcHAnLApAQCAtNDI4Niw2ICs0Mjg5LDggQEAKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DaGVja2VkSW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3
LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaCcsCisgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRE9NUGF0aC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RP
TVBhdGguaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZh
dGl2ZXMuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggMTg5NmExMTlkYzJmZjk4ODExYjIzNTg1MWRlMzJmMGQwNGMzNWE2Yy4uOTk2YzMy
YjE3ZTVjNzQ3ZTcwZGZkYWVjYjM5MWQ3NmNjMjgzZWZlMyAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM2NzQsNiArMzY3NCw2MiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NUGF0aC5j
cHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRl
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQ
cm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNET01QYXRoLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNET01QYXJzZXIuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTU5MTIzLDYgKzU5MTc5LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXENhbnZhc1BhdGhNZXRob2RzLmNwcCIK
KwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxj
YW52YXNcQ2FudmFzUGF0aE1ldGhvZHMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcQ2FudmFzUGF0dGVybi5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpAQCAtNTkyMjMsNiArNTkyODcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcRE9NUGF0aC5jcHAi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxc
Y2FudmFzXERPTVBhdGguaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxET01TZXR0YWJsZVRva2VuTGlzdC5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDIwZGI4ZjQ0NDE0Y2VhZWE0Y2Y1OGRlMzExNGNiN2MxZGI3Nzg1MmIuLjhlMDQ1
Zjk3NDJhOTBlYmUyMWFlMjRhNTJmMTIwMjVjMWFlYWVlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYzMTksNiArNjMxOSwx
MCBAQAogCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIx
MTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAw
RkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2Rl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkI5
MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0
MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlGQjk1M0RERjE2MEM0NUNCMDBGNkI2QkMgLyogRE9NUGF0aC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjk1M0RE
QzE2MEM0NUM5MDBGNkI2QkMgLyogRE9NUGF0aC5jcHAgKi87IH07CisJCUZCOTUzREUwMTYwQzQ1
Q0IwMEY2QjZCQyAvKiBET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQjk1M0RERDE2MEM0NUNBMDBGNkI2QkMgLyogRE9NUGF0aC5oICovOyB9
OworCQlGQjk1M0RFODE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTUzREU2MTYwQzdEQzUwMEY2
QjZCQyAvKiBKU0RPTVBhdGguY3BwICovOyB9OworCQlGQjk1M0RFOTE2MEM3REM1MDBGNkI2QkMg
LyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQjk1M0RFNzE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmggKi87IH07CiAJCUZC
QzIyMERGMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkMyMjBERTEyMzdG
QkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwICovOyB9OwogCQlGQkQ2
QUY4ODE1RUYyNUM5MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRDZBRjg3MTVFRjIxRDQwMDhCNzExMCAv
KiBDU1NCYXNpY1NoYXBlcy5oICovOyB9OwogCQlGQkQ2QUY4OTE1RUYyNURCMDA4QjcxMTAgLyog
QmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQkQ2QUY4NDE1RUYyMUQ0MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0
aW9ucy5jcHAgKi87IH07CkBAIC02MzI2LDYgKzYzMzAsOCBAQAogCQlGQkQ2QUY4QjE1RUYyNUU1
MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODYxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2lj
U2hhcGVzLmNwcCAqLzsgfTsKIAkJRkJENkFGOEMxNUVGMjYwNDAwOEI3MTEwIC8qIEJhc2ljU2hh
cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2
QUY4MzE1RUYyMUEzMDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkQ2QUY4RDE1RUYyNjBBMDA4QjcxMTAg
LyogQmFzaWNTaGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkJENkFGODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLzsg
fTsKKwkJRkJFMTYxRDYxNjBDQkE3MTAwOTVFRTNEIC8qIENhbnZhc1BhdGhNZXRob2RzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkUxNjFDRjE2MENB
QzNDMDA5NUVFM0QgLyogQ2FudmFzUGF0aE1ldGhvZHMuaCAqLzsgfTsKKwkJRkJFMTYxRDgxNjBD
QkE3NDAwOTVFRTNEIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRTE2MUNFMTYwQ0FDM0MwMDk1RUUzRCAvKiBD
YW52YXNQYXRoTWV0aG9kcy5jcHAgKi87IH07CiAJCUZEMDBEN0E0MTRBM0Y2MTkwMDczNDAxMSAv
KiBTaW5jUmVzYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmNwcCAq
LzsgfTsKIAkJRkQwMEQ3QTUxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMDBEN0EzMTRBM0Y2
MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmggKi87IH07CiAJCUZEMDZERkE1MTM0QTRERUYw
MDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwNkRGQTMxMzRBNERFRjAwNkY1RDdE
IC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBAIC0xMzczOCw2ICsx
Mzc0NCwxMSBAQAogCQlGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjc4QUQyQzE1MUJGNUQyMDBGRTU0RDMgLyog
Q1NTUGFyc2VyTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQYXJz
ZXJNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCOTJERjQ5MTVGRUQwODcw
MDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDbGlwUGF0aE9wZXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGQjk1M0REQzE2MEM0NUM5MDBGNkI2QkMgLyogRE9NUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01QYXRoLmNwcDsgcGF0aCA9IGNhbnZhcy9ET01QYXRo
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5NTNEREQxNjBDNDVDQTAwRjZC
NkJDIC8qIERPTVBhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NUGF0
aC5oOyBwYXRoID0gY2FudmFzL0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkI5NTNEREUxNjBDNDVDQTAwRjZCNkJDIC8qIERPTVBhdGguaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IERPTVBhdGguaWRsOyBwYXRoID0gY2FudmFzL0RPTVBhdGguaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQjk1M0RFNjE2MEM3REM1MDBGNkI2QkMgLyogSlNET01Q
YXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVBhdGgu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjk1M0RFNzE2MEM3REM1MDBGNkI2
QkMgLyogSlNET01QYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RP
TVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAw
QkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFGODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hh
cGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJhc2ljU2hhcGVz
LmNwcDsgcGF0aCA9IHN0eWxlL0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkJENkFGODMxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJhc2ljU2hhcGVzLmg7IHBhdGggPSBzdHlsZS9C
YXNpY1NoYXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM3NDUsNiArMTM3
NTYsOCBAQAogCQlGQkQ2QUY4NTE1RUYyMUQ0MDA4QjcxMTAgLyogQmFzaWNTaGFwZUZ1bmN0aW9u
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNpY1NoYXBlRnVuY3Rpb25z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCRDZBRjg2MTVFRjIxRDQwMDhCNzEx
MCAvKiBDU1NCYXNpY1NoYXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NCYXNpY1NoYXBlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZC
RDZBRjg3MTVFRjIxRDQwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NCYXNpY1NoYXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGQkUxNjFDRTE2MENBQzNDMDA5NUVFM0QgLyogQ2FudmFzUGF0aE1ldGhvZHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ2FudmFzUGF0aE1ldGhv
ZHMuY3BwOyBwYXRoID0gY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkJFMTYxQ0YxNjBDQUMzQzAwOTVFRTNEIC8qIENhbnZhc1BhdGhN
ZXRob2RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENhbnZhc1BhdGhNZXRo
b2RzLmg7IHBhdGggPSBjYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTIxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2luY1Jlc2FtcGxlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEMDBEN0EzMTRBM0Y2MTkwMDczNDAx
MSAvKiBTaW5jUmVzYW1wbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNp
bmNSZXNhbXBsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQwNkRGQTMxMzRB
NERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxMTUsNiArMTUxMjgsOCBAQAog
CQkJCTQ5NDg0RkIzMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgKi8sCiAJ
CQkJNDk0ODRGQjQxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmggKi8sCiAJCQkJ
NDk0ODRGQjUxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmlkbCAqLywKKwkJCQlG
QkUxNjFDRTE2MENBQzNDMDA5NUVFM0QgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICovLAorCQkJ
CUZCRTE2MUNGMTYwQ0FDM0MwMDk1RUUzRCAvKiBDYW52YXNQYXRoTWV0aG9kcy5oICovLAogCQkJ
CTQ5NDg0RkI2MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmNwcCAqLywKIAkJCQk0
OTQ4NEZCNzEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzUGF0dGVybi5oICovLAogCQkJCTQ5NDg0
RkI4MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmlkbCAqLywKQEAgLTE1MTMwLDYg
KzE1MTQ1LDkgQEAKIAkJCQkyRTk3Q0NFNzEyOTM5Q0I4MDBDNUM4RkYgLyogRGF0YVZpZXcuY3Bw
ICovLAogCQkJCTJFOTdDQ0U4MTI5MzlDQjgwMEM1QzhGRiAvKiBEYXRhVmlldy5oICovLAogCQkJ
CTJFOTdDQ0U5MTI5MzlDQjgwMEM1QzhGRiAvKiBEYXRhVmlldy5pZGwgKi8sCisJCQkJRkI5NTNE
REMxNjBDNDVDOTAwRjZCNkJDIC8qIERPTVBhdGguY3BwICovLAorCQkJCUZCOTUzREREMTYwQzQ1
Q0EwMEY2QjZCQyAvKiBET01QYXRoLmggKi8sCisJCQkJRkI5NTNEREUxNjBDNDVDQTAwRjZCNkJD
IC8qIERPTVBhdGguaWRsICovLAogCQkJCTc3Mjg2OTRCMTRGODg4MjUwMEY0ODREQyAvKiBFWFRU
ZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwICovLAogCQkJCTc3Mjg2OTRDMTRGODg4MjUwMEY0
ODREQyAvKiBFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCAqLywKIAkJCQk3NzI4Njk0RDE0
Rjg4ODI1MDBGNDg0REMgLyogRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCAqLywKQEAg
LTE4MjkwLDYgKzE4MzA4LDggQEAKIAkJCQkyRTk3Q0U2RTEyOTNBRDZCMDBDNUM4RkYgLyogSlNE
YXRhVmlldy5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0
YS5oICovLAorCQkJCUZCOTUzREU2MTYwQzdEQzUwMEY2QjZCQyAvKiBKU0RPTVBhdGguY3BwICov
LAorCQkJCUZCOTUzREU3MTYwQzdEQzUwMEY2QjZCQyAvKiBKU0RPTVBhdGguaCAqLywKIAkJCQk0
QUNCQzBDODEyNzEzRDBBMDA5NEY5QjIgLyogSlNET01TZXR0YWJsZVRva2VuTGlzdC5jcHAgKi8s
CiAJCQkJNEFDQkMwQzkxMjcxM0QwQTAwOTRGOUIyIC8qIEpTRE9NU2V0dGFibGVUb2tlbkxpc3Qu
aCAqLywKIAkJCQk3Njk0NTYzQTEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3Bw
ICovLApAQCAtMjU1NzAsNiArMjU1OTAsOSBAQAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0
NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjdCNEE2NjE1
RkY2RDZBMDA2QjVGMjIgLyogUGxhdGZvcm1NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCUZCOTUzREUwMTYwQzQ1Q0IwMEY2QjZCQyAvKiBET01QYXRoLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlGQjk1M0RFOTE2MEM3REM1MDBGNkI2QkMgLyogSlNET01QYXRoLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGQkUxNjFENjE2MENCQTcxMDA5NUVFM0QgLyogQ2FudmFzUGF0aE1l
dGhvZHMuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjg2NjksNiArMjg2OTIsOSBAQAogCQkJCTk3N0Uy
RTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0RjFEMTFCRjE1RkYzNzIwMDAyNkU5MDggLyogUGxhdGZvcm1NZW1vcnlJbnN0cnVtZW50
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5NTNEREYxNjBDNDVDQjAwRjZCNkJDIC8q
IERPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5NTNERTgxNjBDN0RDNTAwRjZCNkJD
IC8qIEpTRE9NUGF0aC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQkUxNjFEODE2MENCQTc0MDA5
NUVFM0QgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDM5ODIxMzZmMjE3ODY5OGZhMDdiMWQ1Yjc3Y2E0NmJjNTVlNGVhMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcApAQCAt
MCwwICsxLDE2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIElu
Y29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmNsb3Nl
UGF0aCgpCit7CisgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBGbG9hdFJlY3QgYm91bmRSZWN0ID0gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsK
KyAgICBpZiAoYm91bmRSZWN0LndpZHRoKCkgfHwgYm91bmRSZWN0LmhlaWdodCgpKQorICAgICAg
ICBtX3BhdGguY2xvc2VTdWJwYXRoKCk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6Om1v
dmVUbyhmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5p
dGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgp
KQorICAgICAgICByZXR1cm47CisgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsK
K30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6bGluZVRvKGZsb2F0IHgsIGZsb2F0IHkpCit7
CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAoIW1fcGF0aC5o
YXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7CisgICAgZWxzZSBp
ZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkTGluZVRv
KEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjpxdWFkcmF0
aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KQoreworICAg
IGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zpbml0ZShjcHkpIHwgIWlzZmluaXRlKHgpIHwgIWlz
ZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGli
bGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgp
KQorICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpKTsKKyAgICAKKyAg
ICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEgIT0gbV9wYXRo
LmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkUXVhZEN1cnZlVG8oRmxvYXRQb2lu
dChjcHgsIGNweSksIHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3Vy
dmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9h
dCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5pdGUoY3Ax
eSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUoeCkgfCAh
aXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0
aWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50
KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSk7CisgICAg
CisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7CisgICAgaWYgKHAxICE9IG1f
cGF0aC5jdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLmFkZEJlemllckN1cnZlVG8oRmxv
YXRQb2ludChjcDF4LCBjcDF5KSwgRmxvYXRQb2ludChjcDJ4LCBjcDJ5KSwgcDEpOworfQorCit2
b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmNUbyhmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgy
LCBmbG9hdCB5MiwgZmxvYXQgciwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgZWMgPSAwOwor
ICAgIGlmICghaXNmaW5pdGUoeDEpIHwgIWlzZmluaXRlKHkxKSB8ICFpc2Zpbml0ZSh4MikgfCAh
aXNmaW5pdGUoeTIpIHwgIWlzZmluaXRlKHIpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
aWYgKHIgPCAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgCisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIAorICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgxLCB5MSk7
CisgICAgRmxvYXRQb2ludCBwMiA9IEZsb2F0UG9pbnQoeDIsIHkyKTsKKyAgICAKKyAgICBpZiAo
IW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7Cisg
ICAgZWxzZSBpZiAocDEgPT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpIHx8IHAxID09IHAyIHx8ICFy
KQorICAgICAgICBsaW5lVG8oeDEsIHkxKTsKKyAgICBlbHNlCisgICAgICAgIG1fcGF0aC5hZGRB
cmNUbyhwMSwgcDIsIHIpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmMoZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGljbG9ja3dp
c2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gMDsKKyAgICBpZiAoIWlzZmluaXRl
KHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8ICFpc2Zp
bml0ZShlYSkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAociA8IDApIHsKKyAgICAg
ICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAg
ICBpZiAoIXIgfHwgc2EgPT0gZWEpIHsKKyAgICAgICAgLy8gVGhlIGFyYyBpcyBlbXB0eSBidXQg
d2Ugc3RpbGwgbmVlZCB0byBkcmF3IHRoZSBjb25uZWN0aW5nIGxpbmUKKyAgICAgICAgbGluZVRv
KHggKyByICogY29zZihzYSksIHkgKyByICogc2luZihzYSkpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIAorICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBtb3JlIHRoYW4g
MlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJworICAgIGlmIChh
bnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRo
LmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwgYW50aWNs
b2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFhbnRpY2xvY2t3aXNl
ICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9h
dFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50
KHgsIHkpLCByLCBzYSwgZWEsIGFudGljbG9ja3dpc2UpOworfQorCit2b2lkIENhbnZhc1BhdGhN
ZXRob2RzOjpyZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQp
Cit7CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIGlmICghaXNmaW5pdGUoeCkgfHwgIWlzZmluaXRlKHkpIHx8ICFpc2Zpbml0ZSh3
aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdodCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBp
ZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50
KHgsIHkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBtX3BhdGguYWRkUmVj
dChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOworfQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFmMzQzMjA3
YzRhMjU5MzUyNWZlZDU3MWY3ZjlkOWMyNDAyYTllOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbnZhc1BhdGhNZXRob2RzX2gKKyNk
ZWZpbmUgQ2FudmFzUGF0aE1ldGhvZHNfaAorCisjaW5jbHVkZSAiUGF0aC5oIgorCisjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmxv
YXRSZWN0OworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBDYW52YXNQYXRo
TWV0aG9kcyB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2FudmFzUGF0aE1ldGhvZHMoKSB7IH0K
KworCisgICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhmbG9hdCB4LCBmbG9h
dCB5KTsKKyAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRy
YXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkpOworICAg
IHZvaWQgYmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBm
bG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGZsb2F0IHgwLCBm
bG9hdCB5MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCByYWRpdXMsIEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxv
YXQgZWEsIGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZWN0KGZs
b2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworICAgIAorICAgIHZp
cnR1YWwgYm9vbCB0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSB7IHJldHVybiB0cnVlOyB9CisKK3By
b3RlY3RlZDoKKyAgICBDYW52YXNQYXRoTWV0aG9kcygpIHsgfQorICAgIFBhdGggbV9wYXRoOwor
fTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCBlZjc1NGY1OTcwNGFhOWNjNzczZDFi
ZjU3ZWYwYWQzYTFhZWZjYTJiLi40Y2QyYjBhZGNiZTFjYjMwNDgwMjJlNmRhYTVhNmNmNDQ1NDE2
NDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTExOCw2ICsxMTgsNyBAQCBwcml2YXRlOgogCiBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRChIVE1MQ2FudmFz
RWxlbWVudCogY2FudmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlLCBib29s
IHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKICAgICA6IENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQoY2FudmFzKQorICAgICwgQ2FudmFzUGF0aE1ldGhvZHMoKQogICAgICwgbV9zdGF0ZVN0
YWNrKDEpCiAgICAgLCBtX3VucmVhbGl6ZWRTYXZlQ291bnQoMCkKICAgICAsIG1fdXNlc0NTU0Nv
bXBhdGliaWxpdHlQYXJzZU1vZGUodXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUpCkBAIC04
NDcsMTI1ICs4NDgsNiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YmVnaW5QYXRo
KCkKICAgICBtX3BhdGguY2xlYXIoKTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmNsb3NlUGF0aCgpCi17Ci0gICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIEZsb2F0UmVjdCBib3VuZFJlY3QgPSBtX3BhdGguZmFzdEJvdW5kaW5nUmVj
dCgpOwotICAgIGlmIChib3VuZFJlY3Qud2lkdGgoKSB8fCBib3VuZFJlY3QuaGVpZ2h0KCkpCi0g
ICAgICAgIG1fcGF0aC5jbG9zZVN1YnBhdGgoKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6Om1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUo
eCkgfCAhaXNmaW5pdGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9p
bnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0gICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBv
aW50KHgsIHkpKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmxpbmVUbyhm
bG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKLSAg
ICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhw
MSk7Ci0gICAgZWxzZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAgICAgICBt
X3BhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQoeCwgeSkpOwotfQotCi12b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6cXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwgZmxv
YXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKGNweCkgfCAhaXNmaW5pdGUoY3B5
KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlm
ICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1f
cGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50
KGNweCwgY3B5KSk7Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKLSAg
ICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGguYWRkUXVh
ZEN1cnZlVG8oRmxvYXRQb2ludChjcHgsIGNweSksIHAxKTsKLX0KLQotdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmJlemllckN1cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3AxeSwgZmxv
YXQgY3AyeCwgZmxvYXQgY3AyeSwgZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmlu
aXRlKGNwMXgpIHwgIWlzZmluaXRlKGNwMXkpIHwgIWlzZmluaXRlKGNwMngpIHwgIWlzZmluaXRl
KGNwMnkpIHwgIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlm
ICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0
UG9pbnQoY3AxeCwgY3AxeSkpOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwg
eSk7Ci0gICAgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRo
LmFkZEJlemllckN1cnZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSwgRmxvYXRQb2ludChjcDJ4
LCBjcDJ5KSwgcDEpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YXJjVG8o
ZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIsIGZsb2F0IHIsIEV4Y2VwdGlv
bkNvZGUmIGVjKQotewotICAgIGVjID0gMDsKLSAgICBpZiAoIWlzZmluaXRlKHgxKSB8ICFpc2Zp
bml0ZSh5MSkgfCAhaXNmaW5pdGUoeDIpIHwgIWlzZmluaXRlKHkyKSB8ICFpc2Zpbml0ZShyKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgIGVjID0gSU5ERVhf
U0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXN0YXRlKCkubV9p
bnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxv
YXRQb2ludCh4MSwgeTEpOwotICAgIEZsb2F0UG9pbnQgcDIgPSBGbG9hdFBvaW50KHgyLCB5Mik7
Ci0KLSAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1v
dmVUbyhwMSk7Ci0gICAgZWxzZSBpZiAocDEgPT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpIHx8IHAx
ID09IHAyIHx8ICFyKQotICAgICAgICBsaW5lVG8oeDEsIHkxKTsKLSAgICBlbHNlCi0gICAgICAg
IG1fcGF0aC5hZGRBcmNUbyhwMSwgcDIsIHIpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6YXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBl
YSwgYm9vbCBhbnRpY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBlYyA9IDA7
Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZShyKSB8ICFp
c2Zpbml0ZShzYSkgfCAhaXNmaW5pdGUoZWEpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAo
ciA8IDApIHsKLSAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIGlmICghciB8fCBzYSA9PSBlYSkgewotICAgICAgICAvLyBUaGUgYXJjIGlz
IGVtcHR5IGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGRyYXcgdGhlIGNvbm5lY3RpbmcgbGluZQotICAg
ICAgICBsaW5lVG8oeCArIHIgKiBjb3NmKHNhKSwgeSArIHIgKiBzaW5mKHNhKSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBtb3JlIHRo
YW4gMlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJwotICAgIGlm
IChhbnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKLSAgICAgICAgbV9w
YXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwgYW50
aWNsb2Nrd2lzZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFhbnRpY2xvY2t3
aXNlICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKLSAgICAgICAgbV9wYXRoLmFkZEFyYyhG
bG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQo
eCwgeSksIHIsIHNhLCBlYSwgYW50aWNsb2Nrd2lzZSk7Ci19Ci0KIHN0YXRpYyBib29sIHZhbGlk
YXRlUmVjdEZvckNhbnZhcyhmbG9hdCYgeCwgZmxvYXQmIHksIGZsb2F0JiB3aWR0aCwgZmxvYXQm
IGhlaWdodCkKIHsKICAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmlu
aXRlKHdpZHRoKSB8ICFpc2Zpbml0ZShoZWlnaHQpKQpAQCAtOTg3LDIyICs4NjksNiBAQCBzdGF0
aWMgYm9vbCB2YWxpZGF0ZVJlY3RGb3JDYW52YXMoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYg
d2lkdGgsIGZsb2F0JiBoZWlnaAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6cmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxv
YXQgaGVpZ2h0KQotewotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmICghaXNmaW5pdGUoeCkgfHwgIWlzZmluaXRlKHkpIHx8ICFpc2Zp
bml0ZSh3aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdodCkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmICghd2lkdGggJiYgIWhlaWdodCkgewotICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9p
bnQoeCwgeSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9wYXRoLmFkZFJlY3Qo
RmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKLX0KLQogI2lmIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclBhdGhGb3JE
YXNoYm9hcmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKaW5kZXggOTVk
NmQwZTQzMTAyOTA0MDFkYjYwZmE3NTkxZjEwOTRmNDAwNjViOS4uNWU1NWQzYTgwZTYxOGE0Y2Q3
NTY5NjBhODhmOGVkOTNlZmRjZTJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKQEAgLTI3LDYgKzI3LDcgQEAKICNk
ZWZpbmUgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEX2gKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgorI2luY2x1ZGUgIkNhbnZhc1BhdGhNZXRob2RzLmgiCiAjaW5jbHVkZSAiQ2FudmFz
UmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiQ29sb3JT
cGFjZS5oIgpAQCAtNTgsNyArNTksNyBAQCBjbGFzcyBUZXh0TWV0cmljczsKIAogdHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogcHVi
bGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEIDogcHVibGljIENhbnZhc1JlbmRlcmluZ0NvbnRleHQsIHB1YmxpYyBDYW52YXNQYXRoTWV0
aG9kcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEPiBjcmVhdGUoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCB1c2VzQ1NTQ29t
cGF0aWJpbGl0eVBhcnNlTW9kZSwgYm9vbCB1c2VzRGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUp
CiAgICAgewpAQCAtMTM1LDE1ICsxMzYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGaWxsQ29s
b3IoZmxvYXQgYywgZmxvYXQgbSwgZmxvYXQgeSwgZmxvYXQgaywgZmxvYXQgYSk7CiAKICAgICB2
b2lkIGJlZ2luUGF0aCgpOwotICAgIHZvaWQgY2xvc2VQYXRoKCk7Ci0KLSAgICB2b2lkIG1vdmVU
byhmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsK
LSAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgs
IGZsb2F0IHkpOwotICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5
LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIGFy
Y1RvKGZsb2F0IHgwLCBmbG9hdCB5MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCByYWRpdXMs
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCBy
LCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJik7Ci0g
ICAgdm9pZCByZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQp
OwogCiAgICAgdm9pZCBmaWxsKCk7CiAgICAgdm9pZCBzdHJva2UoKTsKQEAgLTMyOSwxMiArMzIx
LDEzIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXMyZCgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0
IE9WRVJSSURFOworICAgIAorICAgIHZpcnR1YWwgYm9vbCB0cmFuc2Zvcm1Jc0ludmVydGlibGUo
KSB7IHJldHVybiBzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTTsgfQogCiAjaWYgRU5BQkxFKEFDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJiYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZp
cnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IE9WRVJSSURFOwogI2Vu
ZGlmCiAKLSAgICBQYXRoIG1fcGF0aDsKICAgICBWZWN0b3I8U3RhdGUsIDE+IG1fc3RhdGVTdGFj
azsKICAgICB1bnNpZ25lZCBtX3VucmVhbGl6ZWRTYXZlQ291bnQ7CiAgICAgYm9vbCBtX3VzZXND
U1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvRE9NUGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iOTlkODlmNWFmN2M3MTkyYWM0YjE5NjE3MmQyN2QyMmE2MTg2YTZk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5j
cHAKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRE9NUGF0aC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmEzYTYxZTQ1OTAw
NTVhNGI1M2UyMjU3NzY0NDZhMWM3NTg3Y2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBET01QYXRoX2gKKyNkZWZpbmUgRE9NUGF0aF9oCisKKyNpbmNs
dWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERPTVBhdGggOiBwdWJsaWMgUmVmQ291bnRlZDxET01QYXRoPiwgcHVibGljIENhbnZhc1Bh
dGhNZXRob2RzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01QYXRoKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NUGF0aD4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IERPTVBhdGgpOyB9CisgICAgdmlydHVhbCB+
RE9NUGF0aCgpIHsgfQorcHJpdmF0ZToKKyAgICBET01QYXRoKCkgOiBDYW52YXNQYXRoTWV0aG9k
cygpIHsgfQorfTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9ET01QYXRoLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGgu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjlhNzhkMDIyOWVhNWViYmJkN2Q3MjIxZmE4NzNlMDg0MTRjNzA2NmIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmlk
bApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBodG1sIHsK
KworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbnN0cnVjdG9yLAorICAgICAgICBJbnRlcmZh
Y2VOYW1lPVBhdGgKKyAgICBdIERPTVBhdGggeworIAorICAgICAgICB2b2lkIGNsb3NlUGF0aCgp
OworICAgICAgICB2b2lkIG1vdmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBm
bG9hdCB4LAorICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCB5KTsKKyAgICAgICAgdm9pZCBsaW5lVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgICAgIHZvaWQgcXVhZHJhdGljQ3VydmVU
byhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcHgsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9h
dCBjcHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgICAgIHZvaWQgYmV6
aWVyQ3VydmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDF4LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gZmxvYXQgY3AxeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGNwMngsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ5LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQg
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGZsb2F0IHkpOworICAgICAgICB2b2lkIGFyY1RvKGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHgxLAorICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkxLAorICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgyLAorICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkyLAorICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHJhZGl1cykKKyAgICAg
ICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZWN0KGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5LAorICAgICAgICAgICAgICAgICAg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgd2lkdGgsCisgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBoZWlnaHQpOwor
ICAgICAgICB2b2lkIGFyYyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4
LAorICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9h
dCB5LAorICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBm
bG9hdCByYWRpdXMsCisgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGZsb2F0IHN0YXJ0QW5nbGUsCisgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGVuZEFuZ2xlLAorICAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dpc2UpCisgICAg
ICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgfTsKK30KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOTY0OWFhOTMxOGMz
NTBiYjQxMGIyOWUwY2Q4NTI0NzBmMzQxMzlmNy4uOTRkNDJlYzRiZTFkNWQ2MmRjYzgxYzhjMTdi
YTcxYjE3N2IyODI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzkyLDYgKzM5
Miw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgTm90YXRpb25Db25zdHJ1
Y3RvciBOb3RhdGlvbjsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9yIEVudGl0
eTsKICAgICAgICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVudGl0eVJl
ZmVyZW5jZTsKKyAgICAgICAgYXR0cmlidXRlIERPTVBhdGhDb25zdHJ1Y3RvciBQYXRoOwogICAg
ICAgICBhdHRyaWJ1dGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJvY2Vzc2lu
Z0luc3RydWN0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVNIQURPV19ET00s
IFY4RW5hYmxlZFBlckNvbnRleHQ9c2hhZG93RE9NXSBTaGFkb3dSb290Q29uc3RydWN0b3IgV2Vi
S2l0U2hhZG93Um9vdDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1TSEFET1dfRE9N
LCBWOEVuYWJsZWRQZXJDb250ZXh0PXNoYWRvd0RPTV0gSFRNTENvbnRlbnRFbGVtZW50Q29uc3Ry
dWN0b3IgSFRNTENvbnRlbnRFbGVtZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184013</attachid>
            <date>2013-01-22 10:44:36 -0800</date>
            <delta_ts>2013-01-22 12:16:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130122104130.patch</filename>
            <type>text/plain</type>
            <size>44409</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxZjVhNDJiZWJhNmYw
NTYzNDUxYjZmZjE4NzNjNTQyMjMwYTk4OC4uNDVlMWM3NjNmNmE1NWMzM2VmZGJlODQ1NTM3ZTgz
Yzc5NDg3MzJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIyICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEzLTAxLTIyICBS
b2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBXaGVuIHdlIGRvIHNl
dEF0dHJpYnV0ZSgiYm9yZGVyIiwgbnVsbCkgb24gYSB0YWJsZSB3ZSBzaG91bGQgY3JlYXRlIGEg
Ym9yZGVyIGxpa2UgZXZlcnkgb3RoZXIgYnJvd3NlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBh
OWMwZGJjMmI0NzNmOGZjNTlhOWNjMGM4YWI0OGZmZjk1ZWU3NTVkLi42M2M5ZTY0ZGM0YTU5NmE3
NzY0MjkwMWNiZGY2NGE5YzVkYzQxZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTE3LDYg
KzUxNyw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAorICAgIGh0bWwvY2FudmFzL0RP
TVBhdGguaWRsCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlk
bAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9GbG9h
dDY0QXJyYXkuaWRsCkBAIC0xNDk2LDYgKzE0OTcsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAK
ICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAgICBodG1sL2Nh
bnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9k
cy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0bWwvY2FudmFz
L0NhbnZhc1Byb3h5LmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMzc5NzI3NGRmNDMxMmRkMjg5N2Iw
ZTIwZDIyYWY4MjJmZjFhNDAzOC4uYjg0NWZhNWNkN2UwZjQxYTUwMmNkZGI1NDBjY2JhNDUyODMz
MTdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtOTUsNiArOTUsNyBAQAogI2lu
Y2x1ZGUgIkpTRE9NTWltZVR5cGVBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01OYW1lZEZsb3dD
b2xsZWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTVBhcnNlci5jcHAiCisjaW5jbHVkZSAiSlNE
T01QYXRoLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbi5jcHAiCiAjaW5jbHVkZSAiSlNET01Q
bHVnaW5BcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01TZWN1cml0eVBvbGljeS5jcHAiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjYzZDkzYjk4ZDQ5ZDkwY2Y2ZThkNjlmZWYw
MWVjOWMyOGUyM2VlLi40NGQ3ODI0ZDUyMzlhZDQ4Njg0MjZkZjBjMTkzNWFkYzFlYTkzYzdmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Miw2ICszODIsNyBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCBcCisg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvRmxvYXQ2NEFycmF5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXgg
ZDNjMGE4MGZmYzhlNWM1OWZmNGY5MmU1MmYzZjhiYTg3Zjc0MTk2Ni4uOTIxZDM1NDhhZDQ0NDUx
OWJiMGIzYWFkZThlNWE5ODczOWE1OTE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpA
QCAtMzA1LDYgKzMwNSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52
YXMvQ2FudmFzUHJveHkuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogICAgICQk
UFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwgXAogICAgICQk
UFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKICAgICAkJFBXRC9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGE0Y2ExYjBiYzhhNjU5Yzc4ZTcxYzhkMDVmOWI4MzVlNDUwOTRhYjkuLjk2NDdh
NTlhZTc3ODgyNWEzMjY1MTYzNTNlNDNhZDVmNGIzNzM0ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtMTk3LDYgKzE5Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVUeXBlLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGF0
aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE1MjcsNiArMTUyOSw3IEBAIGRvbV9iaW5kaW5n
X2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAorCSQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRVhU
VGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9G
bG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5p
ZGwgXApAQCAtMzIxOCw2ICszMjIxLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4u
aCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKQEAgLTMy
MzEsNiArMzIzNiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2hlY2tlZEludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRh
Vmlldy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBcCiAJU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CmluZGV4IDNhOWQ4Zjk4ZjNjYjZhNGU0ZjQyMTg2YjA1MWE0NjZlNDFiNDMxOGYuLjg4NWIwMzE1
N2I2YWFiMDNlNDE3MzQ2MzRkM2ZjMTAwNzcwYTJlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTc2NCw2
ICsxNzY0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggXAogICAgIGh0bWwv
Y2FudmFzL0RhdGFWaWV3LmggXAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguaCBcCiAgICAgaHRt
bC9DbGFzc0xpc3QuaCBcCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5oIFwKICAgICBodG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDlhZTA1YWU0YjcyY2U4Y2U5
NjE3ZjM1Mjk0YTE3NzhiMDQyMTk3NzQuLjFiYTVlMTE3ZGQ4YWVmMGVhYTQ3MmFmMDgxYzViYjY4
NDQ4MTMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3MSw2ICszNzEsNyBAQAogICAgICAgICAg
ICAgJ2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaWRsJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RP
TVBhdGguaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5p
c290cm9waWMuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRsJywKQEAgLTMyNzAs
NiArMzI3MSw4IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzQ29udGV4dEF0dHJp
YnV0ZXMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuY3BwJywK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5oJywKKyAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAnLAorICAgICAgICAgICAgJ2h0bWwv
Y2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Nh
bnZhc1BhdHRlcm4uY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJu
LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1Byb3h5LmNwcCcsCkBAIC0zMjgz
LDYgKzMyODYsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NoZWNrZWRJbnQuaCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwJywKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9EYXRhVmlldy5oJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9ET01QYXRoLmgn
LAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5j
cHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3Bp
Yy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IGRkYTlkMGMzNDg4ZWE1Mzc4MzBhMTRlNThhYTQ4MWM4ZGJlNTMxOTMuLmYzNzk5Y2ZhOGRmZjdj
NDhmODY0ODQ5MTczN2U1MTUwMzQzZmE3NzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zODQyLDYgKzM4NDIsNjIgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVBhdGguY3BwIgorCQkJ
CT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlv
bnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
RE9NUGF0aC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRE9NUGFyc2VyLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC01
OTg1MCw2ICs1OTkwNiwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXRoTWV0aG9kcy5jcHAiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXENh
bnZhc1BhdGhNZXRob2RzLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXENhbnZhc1BhdHRlcm4uY3BwIgogCQkJCT4KIAkJCTwv
RmlsZT4KQEAgLTU5OTE4LDYgKzU5OTgyLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXERPTVBhdGguaCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxEYXRlSW5wdXRU
eXBlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzcxYzJmZTc4YWU3MjA5MDk5NmYxNzE5
NzU3YjYwMjk3OTYyZTVjNC4uOWQ0MGFkOThkNjk5M2ViNTEzZDU5NjQ1NTk3MGFhN2QyMTIyMzUy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNjQ2MCw2ICs2NDYwLDExIEBACiAJCUZCNDlDMzlBMTY3ODQ5MzIwMDdGRkI1RCAv
KiBDU1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwICovOyB9
OwogCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNDlDMzlDMTY3ODQ5NDcwMDdG
RkI1RCAvKiBDU1NIb3N0UnVsZS5oICovOyB9OwogCQlGQjc4QUQyRTE1MUJGNUU2MDBGRTU0RDMg
LyogQ1NTUGFyc2VyTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGQjkxMzkyNDE2
QUU0QzE3MDAxRkU2ODIgLyogRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MjAxNkFFNEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaCAq
LzsgfTsKKwkJRkI5MTM5MjYxNkFFNEMyRjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkxRjE2
QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuaCAqLzsgfTsKKwkJRkI5MTM5Mjcx
NkFFNEMzNDAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEzOTFFMTZBRTRCMEIwMDFGRTY4MiAv
KiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgKi87IH07CisJCUZCOTEzOTJBMTZBRTRGQzAwMDFGRTY4
MiAvKiBKU0RPTVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZCOTEzOTI4MTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguaCAqLzsgfTsKKwkJ
RkI5MTM5MkIxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkyOTE2QUU0RkMwMDAxRkU2ODIg
LyogSlNET01QYXRoLmNwcCAqLzsgfTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENs
aXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkMyMjBE
RjEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3RkJFQjAw
QkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKIAkJRkJENkFGODgx
NUVGMjVDOTAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4NzE1RUYyMUQ0MDA4QjcxMTAgLyogQ1NT
QmFzaWNTaGFwZXMuaCAqLzsgfTsKQEAgLTE0MDc4LDYgKzE0MDgzLDEyIEBACiAJCUZCNDlDMzlD
MTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NIb3N0UnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
QjQ5QzM5RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IENTU0hvc3RSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFyc2VyTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGQjkxMzkxRTE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ2FudmFzUGF0aE1ldGhv
ZHMuY3BwOyBwYXRoID0gY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhN
ZXRob2RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENhbnZhc1BhdGhNZXRo
b2RzLmg7IHBhdGggPSBjYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjAxNkFFNEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NUGF0aC5oOyBwYXRoID0gY2FudmFzL0RP
TVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjExNkFFNEIwQjAw
MUZFNjgyIC8qIERPTVBhdGguaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IERPTVBhdGguaWRs
OyBwYXRoID0gY2FudmFzL0RPTVBhdGguaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGQjkxMzkyODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGQjkxMzkyOTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZCOTJERjQ5MTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJh
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwUGF0aE9wZXJhdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQkMyMjBERTEyMzdGQkVCMDBCQ0Y3
ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGQkQ2QUY4MjE1RUYyMUEzMDA4QjcxMTAgLyogQmFzaWNTaGFwZXMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmFzaWNTaGFwZXMuY3Bw
OyBwYXRoID0gc3R5bGUvQmFzaWNTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTU0OTQsNiArMTU1MDUsMTAgQEAKIAkJNDk0ODRGQUUxMDJDRjAxRTAwMTg3REQzIC8q
IGNhbnZhcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
RkI5MTM5MUUxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCAqLywKKwkJ
CQlGQjkxMzkxRjE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuaCAqLywKKwkJ
CQlGQjkxMzkyMDE2QUU0QjBCMDAxRkU2ODIgLyogRE9NUGF0aC5oICovLAorCQkJCUZCOTEzOTIx
MTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmlkbCAqLywKIAkJCQk0OUVFQ0RDQzEwNTAzQzIz
MDAwOTlGQUIgLyogQXJyYXlCdWZmZXIuaWRsICovLAogCQkJCTQ5RUVDREM5MTA1MDNDMjMwMDA5
OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcuaWRsICovLAogCQkJCTZFNEU5MUE3MTBGN0ZCMzEwMEEy
Nzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgKi8sCkBAIC0xODcxNyw2ICsxODcz
Miw4IEBACiAJCQkJMkU5N0NFNkUxMjkzQUQ2QjAwQzVDOEZGIC8qIEpTRGF0YVZpZXcuaCAqLywK
IAkJCQkyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi8sCiAJ
CQkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLywKKwkJCQlG
QjkxMzkyOTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmNwcCAqLywKKwkJCQlGQjkxMzky
ODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggKi8sCiAJCQkJNEFDQkMwQzgxMjcxM0Qw
QTAwOTRGOUIyIC8qIEpTRE9NU2V0dGFibGVUb2tlbkxpc3QuY3BwICovLAogCQkJCTRBQ0JDMEM5
MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmggKi8sCiAJCQkJNzY5
NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLywKQEAgLTI2MjQ1
LDYgKzI2MjYyLDkgQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNv
ZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyog
WFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENF
IC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQjkxMzkyNDE2QUU0QzE3MDAxRkU2
ODIgLyogRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MjYxNkFFNEMyRjAwMUZF
NjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQjkxMzkyQTE2
QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI5MzkzLDYg
KzI5NDEzLDggQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVT
b3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBY
U1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQjkxMzkyNzE2QUU0QzM0MDAx
RkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5MTM5
MkIxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZDZlNmM1ZjM5NzkzOTVjNzU4ZTQyMTM4YzVmMDk3ODllMjBkYmMyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3Bw
CkBAIC0wLDAgKzEsMTY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFkb2Jl
IFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgorCisjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDYW52YXNQYXRoTWV0
aG9kczo6Y2xvc2VQYXRoKCkKK3sKKyAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgRmxvYXRSZWN0IGJvdW5kUmVjdCA9IG1fcGF0aC5mYXN0Qm91bmRpbmdS
ZWN0KCk7CisgICAgaWYgKGJvdW5kUmVjdC53aWR0aCgpIHx8IGJvdW5kUmVjdC5oZWlnaHQoKSkK
KyAgICAgICAgbV9wYXRoLmNsb3NlU3VicGF0aCgpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRo
b2RzOjptb3ZlVG8oZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKHgpIHwg
IWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVy
dGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludCh4
LCB5KSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyhmbG9hdCB4LCBmbG9h
dCB5KQoreworICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAoIW1fcGF0
aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7CisgICAgZWxz
ZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkTGlu
ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjpxdWFk
cmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KQorewor
ICAgIGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zpbml0ZShjcHkpIHwgIWlzZmluaXRlKHgpIHwg
IWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVy
dGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2lu
dCgpKQorICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpKTsKKworICAg
IEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOworICAgIGlmIChwMSAhPSBtX3BhdGgu
Y3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5hZGRRdWFkQ3VydmVUbyhGbG9hdFBvaW50
KGNweCwgY3B5KSwgcDEpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjpiZXppZXJDdXJ2
ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0
IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZShjcDF4KSB8ICFpc2Zpbml0ZShjcDF5
KSB8ICFpc2Zpbml0ZShjcDJ4KSB8ICFpc2Zpbml0ZShjcDJ5KSB8ICFpc2Zpbml0ZSh4KSB8ICFp
c2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRp
YmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQo
KSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpKTsKKworICAg
IEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOworICAgIGlmIChwMSAhPSBtX3BhdGgu
Y3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9p
bnQoY3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwgY3AyeSksIHAxKTsKK30KKwordm9pZCBD
YW52YXNQYXRoTWV0aG9kczo6YXJjVG8oZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCB4MiwgZmxv
YXQgeTIsIGZsb2F0IHIsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gMDsKKyAgICBp
ZiAoIWlzZmluaXRlKHgxKSB8ICFpc2Zpbml0ZSh5MSkgfCAhaXNmaW5pdGUoeDIpIHwgIWlzZmlu
aXRlKHkyKSB8ICFpc2Zpbml0ZShyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHIgPCAw
KSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4MSwgeTEpOworICAgIEZsb2F0UG9pbnQg
cDIgPSBGbG9hdFBvaW50KHgyLCB5Mik7CisKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9p
bnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7CisgICAgZWxzZSBpZiAocDEgPT0gbV9w
YXRoLmN1cnJlbnRQb2ludCgpIHx8IHAxID09IHAyIHx8ICFyKQorICAgICAgICBsaW5lVG8oeDEs
IHkxKTsKKyAgICBlbHNlCisgICAgICAgIG1fcGF0aC5hZGRBcmNUbyhwMSwgcDIsIHIpOworfQor
Cit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwg
ZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGljbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGVjID0gMDsKKyAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwg
IWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8ICFpc2Zpbml0ZShlYSkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChyIDwgMCkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFyIHx8IHNhID09IGVhKSB7CisgICAg
ICAgIC8vIFRoZSBhcmMgaXMgZW1wdHkgYnV0IHdlIHN0aWxsIG5lZWQgdG8gZHJhdyB0aGUgY29u
bmVjdGluZyBsaW5lCisgICAgICAgIGxpbmVUbyh4ICsgciAqIGNvc2Yoc2EpLCB5ICsgciAqIHNp
bmYoc2EpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghdHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIElmICdzYScgYW5kICdlYScg
ZGlmZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEgY2lyY2xlIHN0YXJ0aW5nL2VuZGlu
ZyBhdCAnc2EnCisgICAgaWYgKGFudGljbG9ja3dpc2UgJiYgc2EgLSBlYSA+PSAyICogcGlGbG9h
dCkgeworICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSAt
IDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAyICogcGlGbG9hdCkgeworICAgICAg
ICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSArIDIgKiBwaUZsb2F0
LCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fcGF0aC5h
ZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIGVhLCBhbnRpY2xvY2t3aXNlKTsKK30KKwor
dm9pZCBDYW52YXNQYXRoTWV0aG9kczo6cmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0
aCwgZmxvYXQgaGVpZ2h0KQoreworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghaXNmaW5pdGUoeCkgfHwgIWlzZmluaXRlKHkpIHx8
ICFpc2Zpbml0ZSh3aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdodCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghd2lkdGggJiYgIWhlaWdodCkgeworICAgICAgICBtX3BhdGgubW92ZVRvKEZs
b2F0UG9pbnQoeCwgeSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9wYXRoLmFk
ZFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpKTsKK30KK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZDYw
MTA0ZWYxOTc5ZjYzNTdmMmEzMDY4ZmZkOTE2MDQ5N2NlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5oCkBAIC0wLDAgKzEs
NjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNv
cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYW52YXNQYXRoTWV0
aG9kc19oCisjZGVmaW5lIENhbnZhc1BhdGhNZXRob2RzX2gKKworI2luY2x1ZGUgIlBhdGguaCIK
KworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEZsb2F0UmVjdDsKKwordHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKKworY2xhc3Mg
Q2FudmFzUGF0aE1ldGhvZHMgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNhbnZhc1BhdGhNZXRo
b2RzKCkgeyB9CisKKyAgICB2b2lkIGNsb3NlUGF0aCgpOworICAgIHZvaWQgbW92ZVRvKGZsb2F0
IHgsIGZsb2F0IHkpOworICAgIHZvaWQgbGluZVRvKGZsb2F0IHgsIGZsb2F0IHkpOworICAgIHZv
aWQgcXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwgZmxvYXQgeCwgZmxvYXQg
eSk7CisgICAgdm9pZCBiZXppZXJDdXJ2ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0
IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkpOworICAgIHZvaWQgYXJjVG8oZmxv
YXQgeDAsIGZsb2F0IHkwLCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHJhZGl1cywgRXhjZXB0
aW9uQ29kZSYpOworICAgIHZvaWQgYXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0
IHNhLCBmbG9hdCBlYSwgYm9vbCBjbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lk
IHJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7CisgICAg
CisgICAgdmlydHVhbCBib29sIHRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpIHsgcmV0dXJuIHRydWU7
IH0KKworcHJvdGVjdGVkOgorICAgIENhbnZhc1BhdGhNZXRob2RzKCkgeyB9CisgICAgUGF0aCBt
X3BhdGg7Cit9OworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDcwOThmMDEyZGI3MmM0
NTUwYjRmNjcwOTA4MzhjZWNjOWUxOGJjNDYuLjcyMGNhNzNiY2VjOWMzZWRiMTY5YzJmNDdiNmY4
YzI2ODc1OTk5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtODUyLDEyNSArODUyLDYgQEAgdm9pZCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmJlZ2luUGF0aCgpCiAgICAgbV9wYXRoLmNsZWFyKCk7
CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbG9zZVBhdGgoKQotewotICAg
IGlmIChtX3BhdGguaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFJlY3Qg
Ym91bmRSZWN0ID0gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsKLSAgICBpZiAoYm91bmRSZWN0
LndpZHRoKCkgfHwgYm91bmRSZWN0LmhlaWdodCgpKQotICAgICAgICBtX3BhdGguY2xvc2VTdWJw
YXRoKCk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjptb3ZlVG8oZmxvYXQg
eCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAg
cmV0dXJuOwotICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci19Ci0KLXZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAg
ICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47Ci0gICAg
aWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxv
YXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVu
dFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOwotICAgIGVsc2UgaWYgKHAxICE9
IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLmFkZExpbmVUbyhGbG9hdFBv
aW50KHgsIHkpKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnF1YWRyYXRp
Y0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAg
aWYgKCFpc2Zpbml0ZShjcHgpIHwgIWlzZmluaXRlKGNweSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNm
aW5pdGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxl
Q1RNKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkp
Ci0gICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcHgsIGNweSkpOwotCi0gICAgRmxv
YXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAgaWYgKHAxICE9IG1fcGF0aC5jdXJy
ZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLmFkZFF1YWRDdXJ2ZVRvKEZsb2F0UG9pbnQoY3B4
LCBjcHkpLCBwMSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpiZXppZXJD
dXJ2ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZs
b2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZShjcDF4KSB8ICFpc2Zpbml0ZShj
cDF5KSB8ICFpc2Zpbml0ZShjcDJ4KSB8ICFpc2Zpbml0ZShjcDJ5KSB8ICFpc2Zpbml0ZSh4KSB8
ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3RhdGUoKS5tX2ludmVy
dGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9p
bnQoKSkKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpKTsKLQot
ICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwotICAgIGlmIChwMSAhPSBtX3Bh
dGguY3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0
UG9pbnQoY3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwgY3AyeSksIHAxKTsKLX0KLQotdm9p
ZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFyY1RvKGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxv
YXQgeDIsIGZsb2F0IHkyLCBmbG9hdCByLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBlYyA9
IDA7Ci0gICAgaWYgKCFpc2Zpbml0ZSh4MSkgfCAhaXNmaW5pdGUoeTEpIHwgIWlzZmluaXRlKHgy
KSB8ICFpc2Zpbml0ZSh5MikgfCAhaXNmaW5pdGUocikpCi0gICAgICAgIHJldHVybjsKLQotICAg
IGlmIChyIDwgMCkgewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeDEsIHkxKTsKLSAgICBG
bG9hdFBvaW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOwotCi0gICAgaWYgKCFtX3BhdGguaGFz
Q3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOwotICAgIGVsc2UgaWYg
KHAxID09IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9PSBwMiB8fCAhcikKLSAgICAgICAg
bGluZVRvKHgxLCB5MSk7Ci0gICAgZWxzZQotICAgICAgICBtX3BhdGguYWRkQXJjVG8ocDEsIHAy
LCByKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFyYyhmbG9hdCB4LCBm
bG9hdCB5LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgYW50aWNsb2Nrd2lzZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgZWMgPSAwOwotICAgIGlmICghaXNmaW5pdGUoeCkg
fCAhaXNmaW5pdGUoeSkgfCAhaXNmaW5pdGUocikgfCAhaXNmaW5pdGUoc2EpIHwgIWlzZmluaXRl
KGVhKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgIGVjID0g
SU5ERVhfU0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXIgfHwg
c2EgPT0gZWEpIHsKLSAgICAgICAgLy8gVGhlIGFyYyBpcyBlbXB0eSBidXQgd2Ugc3RpbGwgbmVl
ZCB0byBkcmF3IHRoZSBjb25uZWN0aW5nIGxpbmUKLSAgICAgICAgbGluZVRvKHggKyByICogY29z
ZihzYSksIHkgKyByICogc2luZihzYSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8g
SWYgJ3NhJyBhbmQgJ2VhJyBkaWZmZXIgYnkgbW9yZSB0aGFuIDJQaSwganVzdCBhZGQgYSBjaXJj
bGUgc3RhcnRpbmcvZW5kaW5nIGF0ICdzYScKLSAgICBpZiAoYW50aWNsb2Nrd2lzZSAmJiBzYSAt
IGVhID49IDIgKiBwaUZsb2F0KSB7Ci0gICAgICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4
LCB5KSwgciwgc2EsIHNhIC0gMiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIGlmICghYW50aWNsb2Nrd2lzZSAmJiBlYSAtIHNhID49IDIgKiBw
aUZsb2F0KSB7Ci0gICAgICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2Es
IHNhICsgMiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgZWEsIGFudGlj
bG9ja3dpc2UpOwotfQotCiBzdGF0aWMgYm9vbCB2YWxpZGF0ZVJlY3RGb3JDYW52YXMoZmxvYXQm
IHgsIGZsb2F0JiB5LCBmbG9hdCYgd2lkdGgsIGZsb2F0JiBoZWlnaHQpCiB7CiAgICAgaWYgKCFp
c2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZSh3aWR0aCkgfCAhaXNmaW5pdGUo
aGVpZ2h0KSkKQEAgLTk5MiwyMiArODczLDYgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVSZWN0Rm9y
Q2FudmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2gKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnJlY3Qo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKLXsKLSAgICBpZiAo
IXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIWlz
ZmluaXRlKHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5pdGUod2lkdGgpIHx8ICFpc2Zpbml0
ZShoZWlnaHQpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQp
IHsKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwg
aGVpZ2h0KSk7Ci19Ci0KICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiB2b2lkIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJQYXRoRm9yRGFzaGJvYXJkQmFja3dhcmRDb21wYXRp
YmlsaXR5TW9kZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IGRlOTBkNjNmMGNhMGEwNmY0YmUxZWE2ZmI4
MTVlZWZhYjBlNWE1MTUuLjFmY2Y1MjFiMWFlNmJiNjI5OThkYmFjMzQ1OWU1YzE2MjI1YjgzMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRF9oCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJDYW52
YXNQYXRoTWV0aG9kcy5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKQEAgLTU4LDcgKzU5LDcg
QEAgY2xhc3MgVGV4dE1ldHJpY3M7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNs
YXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250
ZXh0IHsKK2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IHB1YmxpYyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0LCBwdWJsaWMgQ2FudmFzUGF0aE1ldGhvZHMgewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4gY3JlYXRlKEhUTUxDYW52
YXNFbGVtZW50KiBjYW52YXMsIGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUsIGJv
b2wgdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQogICAgIHsKQEAgLTEzNSwxNSArMTM2
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RmlsbENvbG9yKGZsb2F0IGMsIGZsb2F0IG0sIGZs
b2F0IHksIGZsb2F0IGssIGZsb2F0IGEpOwogCiAgICAgdm9pZCBiZWdpblBhdGgoKTsKLSAgICB2
b2lkIGNsb3NlUGF0aCgpOwotCi0gICAgdm9pZCBtb3ZlVG8oZmxvYXQgeCwgZmxvYXQgeSk7Ci0g
ICAgdm9pZCBsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBxdWFkcmF0aWNDdXJ2
ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIGJl
emllckN1cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3AxeSwgZmxvYXQgY3AyeCwgZmxvYXQgY3Ay
eSwgZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBhcmNUbyhmbG9hdCB4MCwgZmxvYXQgeTAs
IGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgcmFkaXVzLCBFeGNlcHRpb25Db2RlJik7Ci0gICAg
dm9pZCBhcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBi
b29sIGNsb2Nrd2lzZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgcmVjdChmbG9hdCB4LCBm
bG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKIAogICAgIHZvaWQgZmlsbChjb25z
dCBTdHJpbmcmIHdpbmRpbmcgPSAibm9uemVybyIpOwogICAgIHZvaWQgc3Ryb2tlKCk7CkBAIC0z
MzEsMTEgKzMyMywxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpczJkKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJhdGVk
KCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIGJvb2wgdHJhbnNmb3JtSXNJbnZlcnRp
YmxlKCkgeyByZXR1cm4gc3RhdGUoKS5tX2ludmVydGlibGVDVE07IH0KKwogI2lmIEVOQUJMRShB
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICYmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCBPVkVSUklERTsK
ICNlbmRpZgogCi0gICAgUGF0aCBtX3BhdGg7CiAgICAgVmVjdG9yPFN0YXRlLCAxPiBtX3N0YXRl
U3RhY2s7CiAgICAgdW5zaWduZWQgbV91bnJlYWxpemVkU2F2ZUNvdW50OwogICAgIGJvb2wgbV91
c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCmluZGV4IGRjMDc0N2Zi
ZDI0ZWIzZWI2ZWE5ZDc0ZGE1YjRkNWM5NjZkZDEwYTUuLjllMTgzZmYyZGJlNTk3YTBhYTk4MzMz
MTZlN2IxNWMwODNkMGZjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbApAQCAtOTUsNiArOTUsOCBAQCBpbnRl
cmZhY2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7
CiAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9h
dCBoZWlnaHQpOwogCiAgICAgdm9pZCBiZWdpblBhdGgoKTsKKworICAgIC8vIEZJWE1FOiBUaGVz
ZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQg
aW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4KICAgICB2b2lkIGNsb3NlUGF0aCgp
OwogICAgIHZvaWQgbW92ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0
IHgsCiAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxv
YXQgeSk7CkBAIC0xMjcsNiArMTI5LDcgQEAgaW50ZXJmYWNlIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCA6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGVuZEFuZ2xlLAogICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gYW50aWNsb2Nrd2lzZSkKICAgICAg
ICAgcmFpc2VzIChET01FeGNlcHRpb24pOworCiAgICAgdm9pZCBmaWxsKGluIFtPcHRpb25hbF0g
RE9NU3RyaW5nIHdpbmRpbmcpOwogICAgIHZvaWQgc3Ryb2tlKCk7CiAgICAgdm9pZCBjbGlwKGlu
IFtPcHRpb25hbF0gRE9NU3RyaW5nIHdpbmRpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9N
UGF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNhMWY1NjJiYTBjZjFkMDVmMzc1MmQ2Y2ExODg2Yzc1OGYwM2I0
NmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9i
ZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IERPTVBhdGhfaAorI2RlZmluZSBET01QYXRoX2gKKworI2lmIEVOQUJMRShDQU5WQVNfUEFUSCkK
KyNpbmNsdWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBET01QYXRoIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NUGF0aD4sIHB1YmxpYyBDYW52
YXNQYXRoTWV0aG9kcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NUGF0aCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVBh
dGg+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01QYXRoKTsgfQorICAgIHZpcnR1
YWwgfkRPTVBhdGgoKSB7IH0KK3ByaXZhdGU6CisgICAgRE9NUGF0aCgpIDogQ2FudmFzUGF0aE1l
dGhvZHMoKSB7IH0KK307Cit9CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9ET01QYXRoLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGY3MDAxOTFiODdiYzBjNDdhNzNlNDgzNmM3N2Fh
ZGYwNWZhODgzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
RE9NUGF0aC5pZGwKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwg
MjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitpbnRlcmZhY2UgWworICAgIENvbnN0cnVjdG9yLAorICAgIENvbmRpdGlvbmFsPUNBTlZBU19Q
QVRILAorICAgIEludGVyZmFjZU5hbWU9UGF0aAorXSBET01QYXRoIHsKKworICAgIC8vIEZJWE1F
OiBUaGVzZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQgaW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4KKyAgICB2b2lkIGNsb3Nl
UGF0aCgpOworICAgIHZvaWQgbW92ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHgsCisgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gZmxvYXQgeSk7CisgICAgdm9pZCBsaW5lVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3B4LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcHksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIGZsb2F0IHkpOworICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCBjcDF4LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDF5LAorICAgICAgICAgICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ4LAorICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBj
cDJ5LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIGZsb2F0IHgxLAorICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeTEsCisgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4MiwKKyAgICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkyLAorICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgcmFkaXVzKQorICAgICAgICByYWlzZXMgKERP
TUV4Y2VwdGlvbik7CisgICAgdm9pZCByZWN0KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIGZsb2F0IHksCisgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIGZsb2F0IHdpZHRoLAorICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBmbG9hdCBoZWlnaHQpOworICAgIHZvaWQgYXJjKGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gZmxvYXQgeSwKKyAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBmbG9hdCByYWRpdXMsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gZmxvYXQgc3RhcnRBbmdsZSwKKyAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBlbmRBbmdsZSwKKyAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dpc2UpCisgICAg
ICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggMDUwOGM4YzM4YmE2MGQ3ZjVmMWRiOTlkZWU0OTg4OTBhZTQ5YmIxMS4uODlkMDRkNzFl
MTc5NDYzOGE5YTM0MmY3MDQ1MTJmNTgwYTA4NDk1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMzk4LDYgKzM5OCw3IEBACiAgICAgYXR0cmlidXRlIE5vdGF0aW9uQ29uc3RydWN0
b3IgTm90YXRpb247CiAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9yIEVudGl0eTsKICAg
ICBhdHRyaWJ1dGUgRW50aXR5UmVmZXJlbmNlQ29uc3RydWN0b3IgRW50aXR5UmVmZXJlbmNlOwor
ICAgIGF0dHJpYnV0ZSBET01QYXRoQ29uc3RydWN0b3IgUGF0aDsKICAgICBhdHRyaWJ1dGUgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJvY2Vzc2luZ0luc3RydWN0aW9uOwogICAg
IFtDb25kaXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBh
dHRyaWJ1dGUgU2hhZG93Um9vdENvbnN0cnVjdG9yIFdlYktpdFNoYWRvd1Jvb3Q7CiAgICAgW0Nv
bmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJp
YnV0ZSBIVE1MQ29udGVudEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQ29udGVudEVsZW1lbnQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOWY0Zjc3NjUyZWIyNmNmMWVkZjk3ZmQ3NWM4ZmNiMzU2MjE3Nzc1YS4uMWE3YjY2YWI5
ZDQwYmQ2NzliNDUyZTE4MmZlZWJlMzg0NTJkYTFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEzLTAxLTIyICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IENhbnZhcyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciBjaGVja2luZyBleGlzdGVuY2Ugb2Yg
UGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMuCisgICAgICAgIFRoZSB0ZXN0IGlz
IHN1cHBvc2VkIHRvIGZhaWwgaWYgY2FudmFzLXBhdGggaXMgbm90IGFjdGl2YXRlZCBvbiBjb21w
aWxlIHRpbWUuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmpl
Y3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1wYXRoLW9iamVjdC5qczogQWRkZWQuCisKIDIwMTMtMDEtMjIgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFdoZW4gd2UgZG8gc2V0QXR0cmlidXRlKCJib3Jk
ZXIiLCBudWxsKSBvbiBhIHRhYmxlIHdlIHNob3VsZCBjcmVhdGUgYSBib3JkZXIgbGlrZSBldmVy
eSBvdGhlciBicm93c2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52
YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2Fu
dmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzBhYmEyYjM1OTA5NTBh
OGJmOGVkNjI0OTJhMjNjYThmOTVhZTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEw
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFBhdGgKK0Vuc3VyZSB0aGF0IHRoZSBjb25zdHJ1Y3RvciBmb3IgUGF0aCBvYmpl
Y3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMgZXhpc3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCBpcyAiZnVuY3Rp
b24iCitGQUlMIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAob2YgdHlwZSBib29s
ZWFuKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorCitURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3Qu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg3NjE2ZDkyZmZkN2FjNGIxN2E5OWMwNTcxNWYxMzlkMTBlZWUyOGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3Qu
aHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9
ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1wYXRoLW9iamVjdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10
ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE1MTdlZmZiMmQ1NjNjNmMx
ODg2MDhmODk4Njg4N2VjNDMxOWU2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMKQEAgLTAsMCArMSwx
NCBAQAorZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IHRoZSBjb25zdHJ1Y3RvciBmb3IgUGF0aCBv
YmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMgZXhpc3QuIik7CisKK3Nob3VsZEJlKCJ0eXBl
b2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQiLCAnImZ1bmN0aW9uIicpOworCit2YXIgcGF0aCA9
IG5ldyBQYXRoKCk7CitzaG91bGRCZVR5cGUoInBhdGgiLCAiUGF0aCIpOworc2hvdWxkQmUoInR5
cGVvZiBwYXRoLmNsb3NlUGF0aCIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBh
dGgubW92ZVRvIiwgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5saW5lVG8i
LCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLnF1YWRyYXRpY0N1cnZlVG8i
LCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmJlemllckN1cnZlVG8iLCAn
ImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmFyY1RvIiwgJyJmdW5jdGlvbiIn
KTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5hcmMiLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUo
InR5cGVvZiBwYXRoLnJlY3QiLCAnImZ1bmN0aW9uIicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184032</attachid>
            <date>2013-01-22 12:16:33 -0800</date>
            <delta_ts>2013-01-22 12:50:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130122121327.patch</filename>
            <type>text/plain</type>
            <size>44456</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxZjVhNDJiZWJhNmYw
NTYzNDUxYjZmZjE4NzNjNTQyMjMwYTk4OC4uZjRjN2Q0N2ExZTNmMTAwNzcwYzUwZjkyY2VjZDRh
OTQ0ZTM2MTEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIyICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCBDVE9SIGZvciBQ
YXRoLgorCiAyMDEzLTAxLTIyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBXaGVuIHdlIGRvIHNldEF0dHJpYnV0ZSgiYm9yZGVyIiwgbnVsbCkgb24gYSB0YWJs
ZSB3ZSBzaG91bGQgY3JlYXRlIGEgYm9yZGVyIGxpa2UgZXZlcnkgb3RoZXIgYnJvd3NlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBhOWMwZGJjMmI0NzNmOGZjNTlhOWNjMGM4YWI0OGZmZjk1ZWU3
NTVkLi42M2M5ZTY0ZGM0YTU5NmE3NzY0MjkwMWNiZGY2NGE5YzVkYzQxZWM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNTE3LDYgKzUxNyw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKICAgICBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3Lmlk
bAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmlkbAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwK
ICAgICBodG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRsCkBAIC0xNDk2LDYgKzE0OTcsNyBAQCBz
ZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmli
dXRlcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2Nh
bnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJu
LmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1Byb3h5LmNwcAogICAgIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXgg
Mzc5NzI3NGRmNDMxMmRkMjg5N2IwZTIwZDIyYWY4MjJmZjFhNDAzOC4uYjg0NWZhNWNkN2UwZjQx
YTUwMmNkZGI1NDBjY2JhNDUyODMzMTdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApA
QCAtOTUsNiArOTUsNyBAQAogI2luY2x1ZGUgIkpTRE9NTWltZVR5cGVBcnJheS5jcHAiCiAjaW5j
bHVkZSAiSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTVBhcnNl
ci5jcHAiCisjaW5jbHVkZSAiSlNET01QYXRoLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbi5j
cHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW5BcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01TZWN1
cml0eVBvbGljeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjYzZDkz
Yjk4ZDQ5ZDkwY2Y2ZThkNjlmZWYwMWVjOWMyOGUyM2VlLi40NGQ3ODI0ZDUyMzlhZDQ4Njg0MjZk
ZjBjMTkzNWFkYzFlYTkzYzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4
Miw2ICszODIsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL0RhdGFWaWV3LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9ET01QYXRoLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKaW5kZXggZDNjMGE4MGZmYzhlNWM1OWZmNGY5MmU1MmYzZjhiYTg3Zjc0
MTk2Ni4uOTIxZDM1NDhhZDQ0NDUxOWJiMGIzYWFkZThlNWE5ODczOWE1OTE3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzA1LDYgKzMwNSw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuaWRsIFwKICAgICAkJFBXRC9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMv
RE9NUGF0aC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlz
b3Ryb3BpYy5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2
ZXMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGE0Y2ExYjBiYzhhNjU5Yzc4ZTcxYzhkMDVm
OWI4MzVlNDUwOTRhYjkuLjk2NDdhNTlhZTc3ODgyNWEzMjY1MTYzNTNlNDNhZDVmNGIzNzM0ODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTk3LDYgKzE5Nyw4IEBAIHdlYmNv
cmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVU
eXBlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9u
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24u
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
UGFyc2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE1MjcsNiAr
MTUyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRh
Vmlldy5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApAQCAtMzIxOCw2ICszMjIxLDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0
cmlidXRlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUHJveHkuY3BwIFwKQEAgLTMyMzEsNiArMzIzNiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hlY2tlZEludC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0RhdGFWaWV3LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZh
dGl2ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDNhOWQ4Zjk4ZjNjYjZhNGU0ZjQyMTg2YjA1MWE0
NjZlNDFiNDMxOGYuLjg4NWIwMzE1N2I2YWFiMDNlNDE3MzQ2MzRkM2ZjMTAwNzcwYTJlNjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtMTc2NCw2ICsxNzY0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmggXAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorICAgIGh0bWwvY2FudmFz
L0RPTVBhdGguaCBcCiAgICAgaHRtbC9DbGFzc0xpc3QuaCBcCiAgICAgaHRtbC9ET01Gb3JtRGF0
YS5oIFwKICAgICBodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IDlhZTA1YWU0YjcyY2U4Y2U5NjE3ZjM1Mjk0YTE3NzhiMDQyMTk3NzQuLjFiYTVlMTE3ZGQ4
YWVmMGVhYTQ3MmFmMDgxYzViYjY4NDQ4MTMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM3MSw2
ICszNzEsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmlldy5pZGwnLAorICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL0RPTVBhdGguaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRsJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9GbG9hdDMyQXJyYXkuaWRsJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9GbG9hdDY0
QXJyYXkuaWRsJywKQEAgLTMyNzAsNiArMzI3MSw4IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52
YXMvQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
Q2FudmFzR3JhZGllbnQuY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNHcmFk
aWVudC5oJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAn
LAorICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmgnLAogICAgICAg
ICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uY3BwJywKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZh
c1Byb3h5LmNwcCcsCkBAIC0zMjgzLDYgKzMyODYsNyBAQAogICAgICAgICAgICAgJ2h0bWwvY2Fu
dmFzL0NoZWNrZWRJbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuY3Bw
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9EYXRhVmlldy5oJywKKyAgICAgICAgICAgICdo
dG1sL2NhbnZhcy9ET01QYXRoLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRleHR1
cmVGaWx0ZXJBbmlzb3Ryb3BpYy5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0VYVFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9PRVNT
dGFuZGFyZERlcml2YXRpdmVzLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCmluZGV4IGRkYTlkMGMzNDg4ZWE1Mzc4MzBhMTRlNThhYTQ4MWM4ZGJl
NTMxOTMuLmYzNzk5Y2ZhOGRmZjdjNDhmODY0ODQ5MTczN2U1MTUwMzQzZmE3NzkgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zODQyLDYgKzM4
NDIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0RPTVBhdGguY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJl
bGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NUGF0aC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NUGFyc2VyLmNwcCIKIAkJCQk+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCkBAIC01OTg1MCw2ICs1OTkwNiwxNCBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXRo
TWV0aG9kcy5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGh0bWxcY2FudmFzXENhbnZhc1BhdGhNZXRob2RzLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFzXENhbnZhc1BhdHRl
cm4uY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTU5OTE4LDYgKzU5OTgyLDEwIEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcY2FudmFz
XERPTVBhdGguaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxEYXRlSW5wdXRUeXBlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzcx
YzJmZTc4YWU3MjA5MDk5NmYxNzE5NzU3YjYwMjk3OTYyZTVjNC4uOWQ0MGFkOThkNjk5M2ViNTEz
ZDU5NjQ1NTk3MGFhN2QyMTIyMzUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ2MCw2ICs2NDYwLDExIEBACiAJCUZCNDlD
MzlBMTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyog
Q1NTSG9zdFJ1bGUuY3BwICovOyB9OwogCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NT
SG9zdFJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovOyB9OwogCQlGQjc4
QUQyRTE1MUJGNUU2MDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8q
IENTU1BhcnNlck1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlGQjkxMzkyNDE2QUU0QzE3MDAxRkU2ODIgLyogRE9NUGF0aC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MjAxNkFFNEIwQjAw
MUZFNjgyIC8qIERPTVBhdGguaCAqLzsgfTsKKwkJRkI5MTM5MjYxNkFFNEMyRjAwMUZFNjgyIC8q
IENhbnZhc1BhdGhNZXRob2RzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQjkxMzkxRjE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMu
aCAqLzsgfTsKKwkJRkI5MTM5MjcxNkFFNEMzNDAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2Rz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEz
OTFFMTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgKi87IH07CisJCUZC
OTEzOTJBMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEzOTI4MTZBRTRGQzAwMDFGRTY4MiAvKiBK
U0RPTVBhdGguaCAqLzsgfTsKKwkJRkI5MTM5MkIxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0
aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkx
MzkyOTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmNwcCAqLzsgfTsKIAkJRkI5MkRGNEIx
NUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyog
Q2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0
M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNw
cCAqLzsgfTsKIAkJRkJENkFGODgxNUVGMjVDOTAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4NzE1
RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCAqLzsgfTsKQEAgLTE0MDc4LDYgKzE0
MDgzLDEyIEBACiAJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NIb3N0UnVsZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1
bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0hvc3RSdWxlLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNl
ck1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFyc2VyTW9kZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjkxMzkxRTE2QUU0QjBCMDAxRkU2ODIg
LyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gQ2FudmFzUGF0aE1ldGhvZHMuY3BwOyBwYXRoID0gY2FudmFzL0NhbnZhc1BhdGhNZXRo
b2RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MUYxNkFFNEIwQjAw
MUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IENhbnZhc1BhdGhNZXRob2RzLmg7IHBhdGggPSBjYW52YXMvQ2FudmFzUGF0aE1ldGhv
ZHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjAxNkFFNEIwQjAwMUZF
NjgyIC8qIERPTVBhdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NUGF0
aC5oOyBwYXRoID0gY2FudmFzL0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkI5MTM5MjExNkFFNEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgbmFtZSA9IERPTVBhdGguaWRsOyBwYXRoID0gY2FudmFzL0RPTVBhdGguaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQjkxMzkyODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01Q
YXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUGF0aC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjkxMzkyOTE2QUU0RkMwMDAxRkU2ODIgLyogSlNE
T01QYXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUGF0
aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCOTJERjQ5MTVGRUQwODcwMDk5
NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDbGlwUGF0aE9wZXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
QkMyMjBERTEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0RPcGVu
R0wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQkQ2QUY4MjE1RUYyMUEzMDA4
QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gQmFzaWNTaGFwZXMuY3BwOyBwYXRoID0gc3R5bGUvQmFzaWNTaGFwZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU0OTQsNiArMTU1MDUsMTAgQEAKIAkJNDk0ODRG
QUUxMDJDRjAxRTAwMTg3REQzIC8qIGNhbnZhcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJRkI5MTM5MUUxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1Bh
dGhNZXRob2RzLmNwcCAqLywKKwkJCQlGQjkxMzkxRjE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFz
UGF0aE1ldGhvZHMuaCAqLywKKwkJCQlGQjkxMzkyMDE2QUU0QjBCMDAxRkU2ODIgLyogRE9NUGF0
aC5oICovLAorCQkJCUZCOTEzOTIxMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmlkbCAqLywK
IAkJCQk0OUVFQ0RDQzEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXIuaWRsICovLAogCQkJ
CTQ5RUVDREM5MTA1MDNDMjMwMDA5OUZBQiAvKiBBcnJheUJ1ZmZlclZpZXcuaWRsICovLAogCQkJ
CTZFNEU5MUE3MTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAg
Ki8sCkBAIC0xODcxNyw2ICsxODczMiw4IEBACiAJCQkJMkU5N0NFNkUxMjkzQUQ2QjAwQzVDOEZG
IC8qIEpTRGF0YVZpZXcuaCAqLywKIAkJCQkyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNE
T01Gb3JtRGF0YS5jcHAgKi8sCiAJCQkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9N
Rm9ybURhdGEuaCAqLywKKwkJCQlGQjkxMzkyOTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRo
LmNwcCAqLywKKwkJCQlGQjkxMzkyODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggKi8s
CiAJCQkJNEFDQkMwQzgxMjcxM0QwQTAwOTRGOUIyIC8qIEpTRE9NU2V0dGFibGVUb2tlbkxpc3Qu
Y3BwICovLAogCQkJCTRBQ0JDMEM5MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmggKi8sCiAJCQkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmNwcCAqLywKQEAgLTI2MjQ1LDYgKzI2MjYyLDkgQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEy
MDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUw
RjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1
MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQlG
QjkxMzkyNDE2QUU0QzE3MDAxRkU2ODIgLyogRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RkI5MTM5MjYxNkFFNEMyRjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGQjkxMzkyQTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKQEAgLTI5MzkzLDYgKzI5NDEzLDggQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAy
RUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBF
MTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZE
NTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGQjkxMzkyNzE2QUU0QzM0MDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJRkI5MTM5MkIxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1BhdGhNZXRob2RzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bh
dGhNZXRob2RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDZlNmM1ZjM5NzkzOTVjNzU4ZTQyMTM4YzVmMDk3
ODllMjBkYmMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGF0aE1ldGhvZHMuY3BwCkBAIC0wLDAgKzEsMTY5IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEyLCAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYW52YXNQYXRoTWV0
aG9kcy5oIgorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZsb2F0UmVj
dC5oIgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKCkKK3sKKyAgICBpZiAobV9wYXRo
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRSZWN0IGJvdW5kUmVjdCA9
IG1fcGF0aC5mYXN0Qm91bmRpbmdSZWN0KCk7CisgICAgaWYgKGJvdW5kUmVjdC53aWR0aCgpIHx8
IGJvdW5kUmVjdC5oZWlnaHQoKSkKKyAgICAgICAgbV9wYXRoLmNsb3NlU3VicGF0aCgpOworfQor
Cit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8oZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAg
ICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAg
aWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fcGF0
aC5tb3ZlVG8oRmxvYXRQb2ludCh4LCB5KSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6
OmxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNm
aW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJs
ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4
LCB5KTsKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRo
Lm1vdmVUbyhwMSk7CisgICAgZWxzZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQor
ICAgICAgICBtX3BhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENh
bnZhc1BhdGhNZXRob2RzOjpxdWFkcmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBm
bG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zpbml0ZShj
cHkpIHwgIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAg
aWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgh
bV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9p
bnQoY3B4LCBjcHkpKTsKKworICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwor
ICAgIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5hZGRR
dWFkQ3VydmVUbyhGbG9hdFBvaW50KGNweCwgY3B5KSwgcDEpOworfQorCit2b2lkIENhbnZhc1Bh
dGhNZXRob2RzOjpiZXppZXJDdXJ2ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNw
MngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZShj
cDF4KSB8ICFpc2Zpbml0ZShjcDF5KSB8ICFpc2Zpbml0ZShjcDJ4KSB8ICFpc2Zpbml0ZShjcDJ5
KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlm
ICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1f
cGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50
KGNwMXgsIGNwMXkpKTsKKworICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwor
ICAgIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5hZGRC
ZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoY3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwgY3Ay
eSksIHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YXJjVG8oZmxvYXQgeDEsIGZs
b2F0IHkxLCBmbG9hdCB4MiwgZmxvYXQgeTIsIGZsb2F0IHIsIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIGVjID0gMDsKKyAgICBpZiAoIWlzZmluaXRlKHgxKSB8ICFpc2Zpbml0ZSh5MSkgfCAh
aXNmaW5pdGUoeDIpIHwgIWlzZmluaXRlKHkyKSB8ICFpc2Zpbml0ZShyKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKHIgPCAwKSB7CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4MSwg
eTEpOworICAgIEZsb2F0UG9pbnQgcDIgPSBGbG9hdFBvaW50KHgyLCB5Mik7CisKKyAgICBpZiAo
IW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhwMSk7Cisg
ICAgZWxzZSBpZiAocDEgPT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpIHx8IHAxID09IHAyIHx8ICFy
KQorICAgICAgICBsaW5lVG8oeDEsIHkxKTsKKyAgICBlbHNlCisgICAgICAgIG1fcGF0aC5hZGRB
cmNUbyhwMSwgcDIsIHIpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjphcmMoZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGljbG9ja3dp
c2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVjID0gMDsKKyAgICBpZiAoIWlzZmluaXRl
KHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8ICFpc2Zp
bml0ZShlYSkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChyIDwgMCkgeworICAgICAgICBl
YyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFy
IHx8IHNhID09IGVhKSB7CisgICAgICAgIC8vIFRoZSBhcmMgaXMgZW1wdHkgYnV0IHdlIHN0aWxs
IG5lZWQgdG8gZHJhdyB0aGUgY29ubmVjdGluZyBsaW5lCisgICAgICAgIGxpbmVUbyh4ICsgciAq
IGNvc2Yoc2EpLCB5ICsgciAqIHNpbmYoc2EpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IC8vIElmICdzYScgYW5kICdlYScgZGlmZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEg
Y2lyY2xlIHN0YXJ0aW5nL2VuZGluZyBhdCAnc2EnCisgICAgaWYgKGFudGljbG9ja3dpc2UgJiYg
c2EgLSBlYSA+PSAyICogcGlGbG9hdCkgeworICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9p
bnQoeCwgeSksIHIsIHNhLCBzYSAtIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAy
ICogcGlGbG9hdCkgeworICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIs
IHNhLCBzYSArIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIGVhLCBh
bnRpY2xvY2t3aXNlKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6cmVjdChmbG9hdCB4
LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KQoreworICAgIGlmICghdHJhbnNm
b3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghaXNmaW5pdGUo
eCkgfHwgIWlzZmluaXRlKHkpIHx8ICFpc2Zpbml0ZSh3aWR0aCkgfHwgIWlzZmluaXRlKGhlaWdo
dCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghd2lkdGggJiYgIWhlaWdodCkgeworICAg
ICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgbV9wYXRoLmFkZFJlY3QoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQp
KTsKK30KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bh
dGhNZXRob2RzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9k
cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNkZDYwMTA0ZWYxOTc5ZjYzNTdmMmEzMDY4ZmZkOTE2MDQ5N2NlMjMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRo
TWV0aG9kcy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBDYW52YXNQYXRoTWV0aG9kc19oCisjZGVmaW5lIENhbnZhc1BhdGhNZXRob2RzX2gK
KworI2luY2x1ZGUgIlBhdGguaCIKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZsb2F0UmVjdDsKKwordHlwZWRlZiBpbnQgRXhj
ZXB0aW9uQ29kZTsKKworY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMgeworcHVibGljOgorICAgIHZp
cnR1YWwgfkNhbnZhc1BhdGhNZXRob2RzKCkgeyB9CisKKyAgICB2b2lkIGNsb3NlUGF0aCgpOwor
ICAgIHZvaWQgbW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpOworICAgIHZvaWQgbGluZVRvKGZsb2F0
IHgsIGZsb2F0IHkpOworICAgIHZvaWQgcXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0
IGNweSwgZmxvYXQgeCwgZmxvYXQgeSk7CisgICAgdm9pZCBiZXppZXJDdXJ2ZVRvKGZsb2F0IGNw
MXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkp
OworICAgIHZvaWQgYXJjVG8oZmxvYXQgeDAsIGZsb2F0IHkwLCBmbG9hdCB4MSwgZmxvYXQgeTEs
IGZsb2F0IHJhZGl1cywgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYXJjKGZsb2F0IHgsIGZs
b2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBjbG9ja3dpc2UsIEV4Y2Vw
dGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgs
IGZsb2F0IGhlaWdodCk7CisgICAgCisgICAgdmlydHVhbCBib29sIHRyYW5zZm9ybUlzSW52ZXJ0
aWJsZSgpIHsgcmV0dXJuIHRydWU7IH0KKworcHJvdGVjdGVkOgorICAgIENhbnZhc1BhdGhNZXRo
b2RzKCkgeyB9CisgICAgUGF0aCBtX3BhdGg7Cit9OworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
CmluZGV4IDcwOThmMDEyZGI3MmM0NTUwYjRmNjcwOTA4MzhjZWNjOWUxOGJjNDYuLjcyMGNhNzNi
Y2VjOWMzZWRiMTY5YzJmNDdiNmY4YzI2ODc1OTk5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtODUy
LDEyNSArODUyLDYgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmJlZ2luUGF0aCgp
CiAgICAgbV9wYXRoLmNsZWFyKCk7CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpjbG9zZVBhdGgoKQotewotICAgIGlmIChtX3BhdGguaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBGbG9hdFJlY3QgYm91bmRSZWN0ID0gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3Qo
KTsKLSAgICBpZiAoYm91bmRSZWN0LndpZHRoKCkgfHwgYm91bmRSZWN0LmhlaWdodCgpKQotICAg
ICAgICBtX3BhdGguY2xvc2VTdWJwYXRoKCk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjptb3ZlVG8oZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKHgp
IHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52
ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2lu
dCh4LCB5KSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpsaW5lVG8oZmxv
YXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQot
ICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAg
aWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEp
OwotICAgIGVsc2UgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9w
YXRoLmFkZExpbmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQ6OnF1YWRyYXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0
IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZShjcHgpIHwgIWlzZmluaXRlKGNweSkg
fCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAo
IXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3Bh
dGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChj
cHgsIGNweSkpOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAg
aWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLmFkZFF1YWRD
dXJ2ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpLCBwMSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpiZXppZXJDdXJ2ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0
IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0
ZShjcDF4KSB8ICFpc2Zpbml0ZShjcDF5KSB8ICFpc2Zpbml0ZShjcDJ4KSB8ICFpc2Zpbml0ZShj
cDJ5KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAg
IGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAo
IW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBv
aW50KGNwMXgsIGNwMXkpKTsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkp
OwotICAgIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5h
ZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQoY3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwg
Y3AyeSksIHAxKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFyY1RvKGZs
b2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyLCBmbG9hdCByLCBFeGNlcHRpb25D
b2RlJiBlYykKLXsKLSAgICBlYyA9IDA7Ci0gICAgaWYgKCFpc2Zpbml0ZSh4MSkgfCAhaXNmaW5p
dGUoeTEpIHwgIWlzZmluaXRlKHgyKSB8ICFpc2Zpbml0ZSh5MikgfCAhaXNmaW5pdGUocikpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIGlmIChyIDwgMCkgewotICAgICAgICBlYyA9IElOREVYX1NJ
WkVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFzdGF0ZSgpLm1faW52
ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0
UG9pbnQoeDEsIHkxKTsKLSAgICBGbG9hdFBvaW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOwot
Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3Zl
VG8ocDEpOwotICAgIGVsc2UgaWYgKHAxID09IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9
PSBwMiB8fCAhcikKLSAgICAgICAgbGluZVRvKHgxLCB5MSk7Ci0gICAgZWxzZQotICAgICAgICBt
X3BhdGguYWRkQXJjVG8ocDEsIHAyLCByKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEs
IGJvb2wgYW50aWNsb2Nrd2lzZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgZWMgPSAwOwot
ICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkgfCAhaXNmaW5pdGUocikgfCAhaXNm
aW5pdGUoc2EpIHwgIWlzZmluaXRlKGVhKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHIg
PCAwKSB7Ci0gICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBpZiAoIXIgfHwgc2EgPT0gZWEpIHsKLSAgICAgICAgLy8gVGhlIGFyYyBpcyBl
bXB0eSBidXQgd2Ugc3RpbGwgbmVlZCB0byBkcmF3IHRoZSBjb25uZWN0aW5nIGxpbmUKLSAgICAg
ICAgbGluZVRvKHggKyByICogY29zZihzYSksIHkgKyByICogc2luZihzYSkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgLy8gSWYgJ3NhJyBhbmQgJ2VhJyBkaWZmZXIgYnkgbW9yZSB0aGFu
IDJQaSwganVzdCBhZGQgYSBjaXJjbGUgc3RhcnRpbmcvZW5kaW5nIGF0ICdzYScKLSAgICBpZiAo
YW50aWNsb2Nrd2lzZSAmJiBzYSAtIGVhID49IDIgKiBwaUZsb2F0KSB7Ci0gICAgICAgIG1fcGF0
aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIHNhIC0gMiAqIHBpRmxvYXQsIGFudGlj
bG9ja3dpc2UpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghYW50aWNsb2Nrd2lz
ZSAmJiBlYSAtIHNhID49IDIgKiBwaUZsb2F0KSB7Ci0gICAgICAgIG1fcGF0aC5hZGRBcmMoRmxv
YXRQb2ludCh4LCB5KSwgciwgc2EsIHNhICsgMiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgs
IHkpLCByLCBzYSwgZWEsIGFudGljbG9ja3dpc2UpOwotfQotCiBzdGF0aWMgYm9vbCB2YWxpZGF0
ZVJlY3RGb3JDYW52YXMoZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYgd2lkdGgsIGZsb2F0JiBo
ZWlnaHQpCiB7CiAgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0
ZSh3aWR0aCkgfCAhaXNmaW5pdGUoaGVpZ2h0KSkKQEAgLTk5MiwyMiArODczLDYgQEAgc3RhdGlj
IGJvb2wgdmFsaWRhdGVSZWN0Rm9yQ2FudmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHdp
ZHRoLCBmbG9hdCYgaGVpZ2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OnJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0
IGhlaWdodCkKLXsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAoIWlzZmluaXRlKHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5p
dGUod2lkdGgpIHx8ICFpc2Zpbml0ZShoZWlnaHQpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBp
ZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKLSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50
KHgsIHkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fcGF0aC5hZGRSZWN0KEZs
b2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7Ci19Ci0KICNpZiBFTkFCTEUoREFTSEJPQVJE
X1NVUFBPUlQpCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJQYXRoRm9yRGFz
aGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IGRlOTBk
NjNmMGNhMGEwNmY0YmUxZWE2ZmI4MTVlZWZhYjBlNWE1MTUuLjFmY2Y1MjFiMWFlNmJiNjI5OThk
YmFjMzQ1OWU1YzE2MjI1YjgzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVm
aW5lIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRF9oCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zv
cm0uaCIKKyNpbmNsdWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgogI2luY2x1ZGUgIkNhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkNvbG9yU3Bh
Y2UuaCIKQEAgLTU4LDcgKzU5LDcgQEAgY2xhc3MgVGV4dE1ldHJpY3M7CiAKIHR5cGVkZWYgaW50
IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IHB1Ymxp
YyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKK2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250ZXh0LCBwdWJsaWMgQ2FudmFzUGF0aE1ldGhv
ZHMgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRD4gY3JlYXRlKEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMsIGJvb2wgdXNlc0NTU0NvbXBh
dGliaWxpdHlQYXJzZU1vZGUsIGJvb2wgdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQog
ICAgIHsKQEAgLTEzNSwxNSArMTM2LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RmlsbENvbG9y
KGZsb2F0IGMsIGZsb2F0IG0sIGZsb2F0IHksIGZsb2F0IGssIGZsb2F0IGEpOwogCiAgICAgdm9p
ZCBiZWdpblBhdGgoKTsKLSAgICB2b2lkIGNsb3NlUGF0aCgpOwotCi0gICAgdm9pZCBtb3ZlVG8o
ZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSk7Ci0g
ICAgdm9pZCBxdWFkcmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBm
bG9hdCB5KTsKLSAgICB2b2lkIGJlemllckN1cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3AxeSwg
ZmxvYXQgY3AyeCwgZmxvYXQgY3AyeSwgZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBhcmNU
byhmbG9hdCB4MCwgZmxvYXQgeTAsIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgcmFkaXVzLCBF
eGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBhcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwg
ZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGNsb2Nrd2lzZSwgRXhjZXB0aW9uQ29kZSYpOwotICAg
IHZvaWQgcmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsK
IAogICAgIHZvaWQgZmlsbChjb25zdCBTdHJpbmcmIHdpbmRpbmcgPSAibm9uemVybyIpOwogICAg
IHZvaWQgc3Ryb2tlKCk7CkBAIC0zMzEsMTEgKzMyMywxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgYm9vbCBpczJkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc0FjY2VsZXJhdGVkKCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIGJv
b2wgdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkgeyByZXR1cm4gc3RhdGUoKS5tX2ludmVydGlibGVD
VE07IH0KKwogI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICYmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5
ZXIoKSBjb25zdCBPVkVSUklERTsKICNlbmRpZgogCi0gICAgUGF0aCBtX3BhdGg7CiAgICAgVmVj
dG9yPFN0YXRlLCAxPiBtX3N0YXRlU3RhY2s7CiAgICAgdW5zaWduZWQgbV91bnJlYWxpemVkU2F2
ZUNvdW50OwogICAgIGJvb2wgbV91c2VzQ1NTQ29tcGF0aWJpbGl0eVBhcnNlTW9kZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuaWRsCmluZGV4IGRjMDc0N2ZiZDI0ZWIzZWI2ZWE5ZDc0ZGE1YjRkNWM5NjZkZDEwYTUuLjll
MTgzZmYyZGJlNTk3YTBhYTk4MzMzMTZlN2IxNWMwODNkMGZjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbApA
QCAtOTUsNiArOTUsOCBAQCBpbnRlcmZhY2UgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCB7CiAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBmbG9hdCBoZWlnaHQpOwogCiAgICAgdm9pZCBiZWdpblBhdGgoKTsK
KworICAgIC8vIEZJWE1FOiBUaGVzZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQgaW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4K
ICAgICB2b2lkIGNsb3NlUGF0aCgpOwogICAgIHZvaWQgbW92ZVRvKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCiAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CkBAIC0xMjcsNiArMTI5LDcgQEAgaW50ZXJmYWNl
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGVuZEFuZ2xl
LAogICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4g
YW50aWNsb2Nrd2lzZSkKICAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworCiAgICAgdm9p
ZCBmaWxsKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIHdpbmRpbmcpOwogICAgIHZvaWQgc3Ryb2tl
KCk7CiAgICAgdm9pZCBjbGlwKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIHdpbmRpbmcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMWY1NjJiYTBjZjFkMDVm
Mzc1MmQ2Y2ExODg2Yzc1OGYwM2I0NmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9ET01QYXRoLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIERPTVBhdGhfaAorI2RlZmluZSBET01QYXRoX2gKKworI2lm
IEVOQUJMRShDQU5WQVNfUEFUSCkKKyNpbmNsdWRlICJDYW52YXNQYXRoTWV0aG9kcy5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01QYXRoIDogcHVibGljIFJlZkNvdW50ZWQ8
RE9NUGF0aD4sIHB1YmxpYyBDYW52YXNQYXRoTWV0aG9kcyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRE9NUGF0aCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERPTVBhdGg+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBE
T01QYXRoKTsgfQorICAgIHZpcnR1YWwgfkRPTVBhdGgoKSB7IH0KK3ByaXZhdGU6CisgICAgRE9N
UGF0aCgpIDogQ2FudmFzUGF0aE1ldGhvZHMoKSB7IH0KK307Cit9CisjZW5kaWYKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGY3MDAxOTFi
ODdiYzBjNDdhNzNlNDgzNmM3N2FhZGYwNWZhODgzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitpbnRlcmZhY2UgWworICAgIENvbnN0cnVjdG9yLAorICAg
IENvbmRpdGlvbmFsPUNBTlZBU19QQVRILAorICAgIEludGVyZmFjZU5hbWU9UGF0aAorXSBET01Q
YXRoIHsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0
aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVy
ZmFjZS4KKyAgICB2b2lkIGNsb3NlUGF0aCgpOworICAgIHZvaWQgbW92ZVRvKGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgdm9pZCBsaW5lVG8oaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRyYXRp
Y0N1cnZlVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3B4LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBm
bG9hdCBjcHksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkpOworICAgIHZvaWQgYmV6aWVyQ3VydmVU
byhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDF4LAorICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDF5
LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCBjcDJ4LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ5LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIGFy
Y1RvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgxLAorICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeTEsCisgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4MiwKKyAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkyLAorICAg
ICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgcmFkaXVz
KQorICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgdm9pZCByZWN0KGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHksCisgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHdpZHRoLAorICAgICAgICAgICAgICBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBoZWlnaHQpOworICAgIHZvaWQgYXJj
KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSwKKyAgICAgICAgICAgICBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCByYWRpdXMsCisgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgc3RhcnRBbmdsZSwKKyAg
ICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBlbmRBbmds
ZSwKKyAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFu
IGFudGljbG9ja3dpc2UpCisgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMDUwOGM4YzM4YmE2MGQ3ZjVmMWRiOTlkZWU0OTg4
OTBhZTQ5YmIxMS4uMWNjNTcwYzQ5OTU2NTk4NmUyZWMzZTA1ZDAzOGM1YTczMjA0YTM5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzk4LDYgKzM5OCw3IEBACiAgICAgYXR0cmli
dXRlIE5vdGF0aW9uQ29uc3RydWN0b3IgTm90YXRpb247CiAgICAgYXR0cmlidXRlIEVudGl0eUNv
bnN0cnVjdG9yIEVudGl0eTsKICAgICBhdHRyaWJ1dGUgRW50aXR5UmVmZXJlbmNlQ29uc3RydWN0
b3IgRW50aXR5UmVmZXJlbmNlOworICAgIFtDb25kaXRpb25hbD1DQU5WQVNfUEFUSF0gYXR0cmli
dXRlIERPTVBhdGhDb25zdHJ1Y3RvciBQYXRoOwogICAgIGF0dHJpYnV0ZSBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb25Db25zdHJ1Y3RvciBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb247CiAgICAgW0NvbmRpdGlv
bmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBT
aGFkb3dSb290Q29uc3RydWN0b3IgV2ViS2l0U2hhZG93Um9vdDsKICAgICBbQ29uZGl0aW9uYWw9
U0hBRE9XX0RPTSwgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIEhUTUxD
b250ZW50RWxlbWVudENvbnN0cnVjdG9yIEhUTUxDb250ZW50RWxlbWVudDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZjRm
Nzc2NTJlYjI2Y2YxZWRmOTdmZDc1YzhmY2IzNTYyMTc3NzVhLi4xYTdiNjZhYjlkNDBiZDY3OWI0
NTJlMTgyZmVlYmUzODQ1MmRhMWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDEtMjIg
IERpcmsgU2NodWx6ZSAgPGRzY2h1bHplQGFkb2JlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
Q2FudmFzIFBhdGggb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NzMzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhIHRlc3QgZm9yIGNoZWNraW5nIGV4aXN0ZW5jZSBvZiBQYXRoIG9iamVj
dCBhbmQgZGVwZW5kZW50IGZ1bmN0aW9ucy4KKyAgICAgICAgVGhlIHRlc3QgaXMgc3VwcG9zZWQg
dG8gZmFpbCBpZiBjYW52YXMtcGF0aCBpcyBub3QgYWN0aXZhdGVkIG9uIGNvbXBpbGUgdGltZS4K
KworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtb2Jq
ZWN0LmpzOiBBZGRlZC4KKwogMjAxMy0wMS0yMiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgV2hlbiB3ZSBkbyBzZXRBdHRyaWJ1dGUoImJvcmRlciIsIG51bGwp
IG9uIGEgdGFibGUgd2Ugc2hvdWxkIGNyZWF0ZSBhIGJvcmRlciBsaWtlIGV2ZXJ5IG90aGVyIGJy
b3dzZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9i
amVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1v
YmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMGFiYTJiMzU5MDk1MGE4YmY4ZWQ2MjQ5
MmEyM2NhOGY5NWFlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA1OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
UGF0aAorRW5zdXJlIHRoYXQgdGhlIGNvbnN0cnVjdG9yIGZvciBQYXRoIG9iamVjdCBhbmQgZGVw
ZW5kZW50IGZ1bmN0aW9ucyBleGlzdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgdHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkIGlzICJmdW5jdGlvbiIKK0ZBSUwg
c3VjY2Vzc2Z1bGx5UGFyc2VkIHNob3VsZCBiZSB0cnVlIChvZiB0eXBlIGJvb2xlYW4pLiBXYXMg
dW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCisKK1RFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODc2MTZkOTJmZmQ3YWM0YjE3YTk5YzA1NzE1ZjEzOWQxMGVlZTI4YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sCkBAIC0w
LDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3
aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PC9jYW52YXM+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBh
dGgtb2JqZWN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1wYXRoLW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTUxN2VmZmIyZDU2M2M2YzE4ODYwOGY4OTg2
ODg3ZWM0MzE5ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcwpAQCAtMCwwICsxLDE0IEBACitkZXNj
cmlwdGlvbigiRW5zdXJlIHRoYXQgdGhlIGNvbnN0cnVjdG9yIGZvciBQYXRoIG9iamVjdCBhbmQg
ZGVwZW5kZW50IGZ1bmN0aW9ucyBleGlzdC4iKTsKKworc2hvdWxkQmUoInR5cGVvZiBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCIsICciZnVuY3Rpb24iJyk7CisKK3ZhciBwYXRoID0gbmV3IFBhdGgo
KTsKK3Nob3VsZEJlVHlwZSgicGF0aCIsICJQYXRoIik7CitzaG91bGRCZSgidHlwZW9mIHBhdGgu
Y2xvc2VQYXRoIiwgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5tb3ZlVG8i
LCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmxpbmVUbyIsICciZnVuY3Rp
b24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGgucXVhZHJhdGljQ3VydmVUbyIsICciZnVuY3Rp
b24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGguYmV6aWVyQ3VydmVUbyIsICciZnVuY3Rpb24i
Jyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGguYXJjVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxk
QmUoInR5cGVvZiBwYXRoLmFyYyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBh
dGgucmVjdCIsICciZnVuY3Rpb24iJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184036</attachid>
            <date>2013-01-22 12:50:40 -0800</date>
            <delta_ts>2013-01-22 16:31:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130122124734.patch</filename>
            <type>text/plain</type>
            <size>44991</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxZjVhNDJiZWJhNmYw
NTYzNDUxYjZmZjE4NzNjNTQyMjMwYTk4OC4uZjRjN2Q0N2ExZTNmMTAwNzcwYzUwZjkyY2VjZDRh
OTQ0ZTM2MTEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIyICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCBDVE9SIGZvciBQ
YXRoLgorCiAyMDEzLTAxLTIyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBXaGVuIHdlIGRvIHNldEF0dHJpYnV0ZSgiYm9yZGVyIiwgbnVsbCkgb24gYSB0YWJs
ZSB3ZSBzaG91bGQgY3JlYXRlIGEgYm9yZGVyIGxpa2UgZXZlcnkgb3RoZXIgYnJvd3NlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBhOWMwZGJjMmI0NzNmOGZjNTlhOWNjMGM4YWI0OGZmZjk1ZWU3
NTVkLi42M2M5ZTY0ZGM0YTU5NmE3NzY0MjkwMWNiZGY2NGE5YzVkYzQxZWM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNTE3LDYgKzUxNyw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKICAgICBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3Lmlk
bAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmlkbAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwK
ICAgICBodG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRsCkBAIC0xNDk2LDYgKzE0OTcsNyBAQCBz
ZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmli
dXRlcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2Nh
bnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJu
LmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1Byb3h5LmNwcAogICAgIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXgg
Mzc5NzI3NGRmNDMxMmRkMjg5N2IwZTIwZDIyYWY4MjJmZjFhNDAzOC4uYjg0NWZhNWNkN2UwZjQx
YTUwMmNkZGI1NDBjY2JhNDUyODMzMTdlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApA
QCAtOTUsNiArOTUsNyBAQAogI2luY2x1ZGUgIkpTRE9NTWltZVR5cGVBcnJheS5jcHAiCiAjaW5j
bHVkZSAiSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTVBhcnNl
ci5jcHAiCisjaW5jbHVkZSAiSlNET01QYXRoLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbi5j
cHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW5BcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01TZWN1
cml0eVBvbGljeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjYzZDkz
Yjk4ZDQ5ZDkwY2Y2ZThkNjlmZWYwMWVjOWMyOGUyM2VlLi40NGQ3ODI0ZDUyMzlhZDQ4Njg0MjZk
ZjBjMTkzNWFkYzFlYTkzYzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4
Miw2ICszODIsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL0RhdGFWaWV3LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9ET01QYXRoLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKaW5kZXggZDNjMGE4MGZmYzhlNWM1OWZmNGY5MmU1MmYzZjhiYTg3Zjc0
MTk2Ni4uOTIxZDM1NDhhZDQ0NDUxOWJiMGIzYWFkZThlNWE5ODczOWE1OTE3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzA1LDYgKzMwNSw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuaWRsIFwKICAgICAkJFBXRC9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMv
RE9NUGF0aC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlz
b3Ryb3BpYy5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2
ZXMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGE0Y2ExYjBiYzhhNjU5Yzc4ZTcxYzhkMDVm
OWI4MzVlNDUwOTRhYjkuLjk2NDdhNTlhZTc3ODgyNWEzMjY1MTYzNTNlNDNhZDVmNGIzNzM0ODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTk3LDYgKzE5Nyw4IEBAIHdlYmNv
cmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVU
eXBlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9u
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24u
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
UGFyc2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE1MjcsNiAr
MTUyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRh
Vmlldy5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2Vi
Q29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApAQCAtMzIxOCw2ICszMjIxLDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0
cmlidXRlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUHJveHkuY3BwIFwKQEAgLTMyMzEsNiArMzIzNiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hlY2tlZEludC5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0RhdGFWaWV3LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZh
dGl2ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDNhOWQ4Zjk4ZjNjYjZhNGU0ZjQyMTg2YjA1MWE0
NjZlNDFiNDMxOGYuLmMzOTFkMTcyYmU5YTRiYzcxMjNjMGI1ZjdjYzkyNjBlMmMyMTFmYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtNzAyLDYgKzcwMiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvVmFs
aWRpdHlTdGF0ZS5jcHAgXAogICAgIGh0bWwvV2Vla0lucHV0VHlwZS5jcHAgXAogICAgIGh0bWwv
Y2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCBcCisgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1l
dGhvZHMuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcCBcCiAgICAgaHRt
bC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmNwcCBcCkBAIC0xNzU4LDEyICsxNzU5LDE0IEBAIEhFQURFUlMgKz0gXAogICAg
IGhpc3RvcnkvSGlzdG9yeUl0ZW0uaCBcCiAgICAgaGlzdG9yeS9QYWdlQ2FjaGUuaCBcCiAgICAg
aHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCBcCisgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0
aE1ldGhvZHMuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5oIFwKICAgICBodG1s
L2NhbnZhcy9DYW52YXNQcm94eS5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0LmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIFwK
ICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIFwKICAgICBodG1sL2NhbnZhcy9EYXRhVmll
dy5oIFwKKyAgICBodG1sL2NhbnZhcy9ET01QYXRoLmggXAogICAgIGh0bWwvQ2xhc3NMaXN0Lmgg
XAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlz
dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5YWUwNWFlNGI3MmNlOGNlOTYxN2YzNTI5NGExNzc4
YjA0MjE5Nzc0Li4xYmE1ZTExN2RkOGFlZjBlYWE0NzJhZjA4MWM1YmI2ODQ0ODEzMTY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0zNzEsNiArMzcxLDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
RGF0YVZpZXcuaWRsJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9ET01QYXRoLmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCcs
CiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCcsCkBAIC0zMjcwLDYgKzMyNzEsOCBAQAog
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmgnLAogICAg
ICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMv
Q2FudmFzUGF0aE1ldGhvZHMuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQ
YXRoTWV0aG9kcy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5oJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9DYW52YXNQcm94eS5jcHAnLApAQCAtMzI4Myw2ICszMjg2LDcgQEAK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaGVja2VkSW50LmgnLAogICAgICAgICAgICAgJ2h0
bWwvY2FudmFzL0RhdGFWaWV3LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZp
ZXcuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvRE9NUGF0aC5oJywKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwJywKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCcsCiAgICAgICAg
ICAgICAnaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBkZGE5ZDBjMzQ4OGVh
NTM3ODMwYTE0ZTU4YWE0ODFjOGRiZTUzMTkzLi5mMzc5OWNmYThkZmY3YzQ4Zjg2NDg0OTE3Mzdl
NTE1MDM0M2ZhNzc5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMzg0Miw2ICszODQyLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01QYXRoLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVBhdGguaCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVBhcnNl
ci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTk4NTAsNiArNTk5MDYs
MTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxjYW52YXNcQ2FudmFzUGF0aE1ldGhvZHMuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJ
CTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXRoTWV0aG9k
cy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXGNhbnZhc1xDYW52YXNQYXR0ZXJuLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC01OTkx
OCw2ICs1OTk4MiwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXGNhbnZhc1xET01QYXRoLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRGF0ZUlucHV0VHlwZS5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDM3MWMyZmU3OGFlNzIwOTA5OTZmMTcxOTc1N2I2MDI5Nzk2MmU1
YzQuLjlkNDBhZDk4ZDY5OTNlYjUxM2Q1OTY0NTU5NzBhYTdkMjEyMjM1MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NjAs
NiArNjQ2MCwxMSBAQAogCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMz
OTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLzsgfTsKIAkJRkI0OUMzOUQx
Njc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhB
RDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgy
IC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmggKi87IH07CisJCUZCOTEz
OTI2MTZBRTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgy
IC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi87IH07CisJCUZCOTEzOTI3MTZBRTRDMzQwMDFGRTY4
MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkxRTE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1l
dGhvZHMuY3BwICovOyB9OworCQlGQjkxMzkyQTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzky
ODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggKi87IH07CisJCUZCOTEzOTJCMTZBRTRG
QzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5j
cHAgKi87IH07CiAJCUZCOTJERjRCMTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MkRG
NDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkJDMjIwREYxMjM3RkJFQjAwQkNG
Nzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFw
aGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi87IH07CiAJCUZCRDZBRjg4MTVFRjI1QzkwMDhCNzEx
MCAvKiBDU1NCYXNpY1NoYXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmgg
Ki87IH07CkBAIC0xNDA3OCw2ICsxNDA4MywxMiBAQAogCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZC
NUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NT
SG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI0OUMzOUUxNjc4NDk1
NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NI
b3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCNzhBRDJDMTUxQkY1
RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5
MTM5MUUxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENhbnZhc1BhdGhNZXRob2RzLmNwcDsgcGF0aCA9
IGNhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZCOTEzOTFGMTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDYW52YXNQYXRoTWV0aG9kcy5oOyBwYXRoID0g
Y2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IERPTVBhdGguaDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTIxMTZBRTRCMEIwMDFGRTY4MiAvKiBET01Q
YXRoLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBET01QYXRoLmlkbDsgcGF0aCA9IGNhbnZh
cy9ET01QYXRoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjgxNkFF
NEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5Mjkx
NkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0RPTVBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBhdGhPcGVyYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNz
Q29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkJENkFGODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJhc2ljU2hhcGVzLmNwcDsgcGF0aCA9IHN0eWxl
L0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NDk0LDYg
KzE1NTA1LDEwIEBACiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUZCOTEzOTFFMTZBRTRC
MEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgKi8sCisJCQkJRkI5MTM5MUYxNkFF
NEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi8sCisJCQkJRkI5MTM5MjAxNkFF
NEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaCAqLywKKwkJCQlGQjkxMzkyMTE2QUU0QjBCMDAxRkU2
ODIgLyogRE9NUGF0aC5pZGwgKi8sCiAJCQkJNDlFRUNEQ0MxMDUwM0MyMzAwMDk5RkFCIC8qIEFy
cmF5QnVmZmVyLmlkbCAqLywKIAkJCQk0OUVFQ0RDOTEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlC
dWZmZXJWaWV3LmlkbCAqLywKIAkJCQk2RTRFOTFBNzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFz
Q29udGV4dEF0dHJpYnV0ZXMuY3BwICovLApAQCAtMTg3MTcsNiArMTg3MzIsOCBAQAogCQkJCTJF
OTdDRTZFMTI5M0FENkIwMEM1QzhGRiAvKiBKU0RhdGFWaWV3LmggKi8sCiAJCQkJMkUwODg4RDIx
MTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8sCisJCQkJRkI5MTM5MjkxNkFFNEZD
MDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8sCisJCQkJRkI5MTM5MjgxNkFFNEZDMDAwMUZF
NjgyIC8qIEpTRE9NUGF0aC5oICovLAogCQkJCTRBQ0JDMEM4MTI3MTNEMEEwMDk0RjlCMiAvKiBK
U0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCAqLywKIAkJCQk0QUNCQzBDOTEyNzEzRDBBMDA5NEY5
QjIgLyogSlNET01TZXR0YWJsZVRva2VuTGlzdC5oICovLAogCQkJCTc2OTQ1NjNBMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8sCkBAIC0yNjI0NSw2ICsyNjI2Miw5IEBA
CiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBp
biBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgyIC8qIERPTVBhdGgu
aCBpbiBIZWFkZXJzICovLAorCQkJCUZCOTEzOTI2MTZBRTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQ
YXRoTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MkExNkFFNEZDMDAwMUZFNjgy
IC8qIEpTRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yOTM5Myw2ICsyOTQxMyw4IEBACiAJ
CQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5MTM5MjcxNkFFNEMzNDAwMUZFNjgyIC8qIENhbnZh
c1BhdGhNZXRob2RzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCOTEzOTJCMTZBRTRGQzAwMDFG
RTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ2ZTZjNWYz
OTc5Mzk1Yzc1OGU0MjEzOGM1ZjA5Nzg5ZTIwZGJjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcApAQCAtMCwwICsxLDE2
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29y
cG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmNsb3NlUGF0
aCgpCit7CisgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IEZsb2F0UmVjdCBib3VuZFJlY3QgPSBtX3BhdGguZmFzdEJvdW5kaW5nUmVjdCgpOworICAgIGlm
IChib3VuZFJlY3Qud2lkdGgoKSB8fCBib3VuZFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIG1fcGF0
aC5jbG9zZVN1YnBhdGgoKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6bW92ZVRvKGZs
b2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkK
KyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2
b2lkIENhbnZhc1BhdGhNZXRob2RzOjpsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBp
ZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQ
b2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBv
aW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOworICAgIGVsc2UgaWYgKHAxICE9IG1f
cGF0aC5jdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLmFkZExpbmVUbyhGbG9hdFBvaW50
KHgsIHkpKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyhm
bG9hdCBjcHgsIGZsb2F0IGNweSwgZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBpZiAoIWlzZmlu
aXRlKGNweCkgfCAhaXNmaW5pdGUoY3B5KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkK
KyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAg
bV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNweCwgY3B5KSk7CisKKyAgICBGbG9hdFBvaW50IHAx
ID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgp
KQorICAgICAgICBtX3BhdGguYWRkUXVhZEN1cnZlVG8oRmxvYXRQb2ludChjcHgsIGNweSksIHAx
KTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4
LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KQor
eworICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5pdGUoY3AxeSkgfCAhaXNmaW5pdGUo
Y3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCisg
ICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAg
ICByZXR1cm47CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAgIG1f
cGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSk7CisKKyAgICBGbG9hdFBvaW50IHAx
ID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgp
KQorICAgICAgICBtX3BhdGguYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkp
LCBGbG9hdFBvaW50KGNwMngsIGNwMnkpLCBwMSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhv
ZHM6OmFyY1RvKGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyLCBmbG9hdCBy
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4
MSkgfCAhaXNmaW5pdGUoeTEpIHwgIWlzZmluaXRlKHgyKSB8ICFpc2Zpbml0ZSh5MikgfCAhaXNm
aW5pdGUocikpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChyIDwgMCkgeworICAgICAgICBl
YyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCF0
cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQb2lu
dCBwMSA9IEZsb2F0UG9pbnQoeDEsIHkxKTsKKyAgICBGbG9hdFBvaW50IHAyID0gRmxvYXRQb2lu
dCh4MiwgeTIpOworCisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAg
IG1fcGF0aC5tb3ZlVG8ocDEpOworICAgIGVsc2UgaWYgKHAxID09IG1fcGF0aC5jdXJyZW50UG9p
bnQoKSB8fCBwMSA9PSBwMiB8fCAhcikKKyAgICAgICAgbGluZVRvKHgxLCB5MSk7CisgICAgZWxz
ZQorICAgICAgICBtX3BhdGguYWRkQXJjVG8ocDEsIHAyLCByKTsKK30KKwordm9pZCBDYW52YXNQ
YXRoTWV0aG9kczo6YXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9h
dCBlYSwgYm9vbCBhbnRpY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9
IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZShyKSB8
ICFpc2Zpbml0ZShzYSkgfCAhaXNmaW5pdGUoZWEpKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAociA8IDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmICghciB8fCBzYSA9PSBlYSkgeworICAgICAgICAvLyBUaGUgYXJj
IGlzIGVtcHR5IGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGRyYXcgdGhlIGNvbm5lY3RpbmcgbGluZQor
ICAgICAgICBsaW5lVG8oeCArIHIgKiBjb3NmKHNhKSwgeSArIHIgKiBzaW5mKHNhKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBtb3Jl
IHRoYW4gMlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJworICAg
IGlmIChhbnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAg
bV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwg
YW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFhbnRpY2xv
Y2t3aXNlICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFy
YyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9p
bnQoeCwgeSksIHIsIHNhLCBlYSwgYW50aWNsb2Nrd2lzZSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0
aE1ldGhvZHM6OnJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdo
dCkKK3sKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoIWlzZmluaXRlKHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5pdGUod2lk
dGgpIHx8ICFpc2Zpbml0ZShoZWlnaHQpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXdp
ZHRoICYmICFoZWlnaHQpIHsKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVj
dCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7Cit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGQ2MDEwNGVmMTk3OWY2MzU3
ZjJhMzA2OGZmZDkxNjA0OTdjZTIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaApAQCAtMCwwICsxLDYwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FudmFzUGF0aE1ldGhvZHNfaAorI2RlZmlu
ZSBDYW52YXNQYXRoTWV0aG9kc19oCisKKyNpbmNsdWRlICJQYXRoLmgiCisKKyNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGbG9hdFJl
Y3Q7CisKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIENhbnZhc1BhdGhNZXRo
b2RzIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DYW52YXNQYXRoTWV0aG9kcygpIHsgfQorCisg
ICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsK
KyAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRyYXRpY0N1
cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkpOworICAgIHZvaWQg
YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBj
cDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGZsb2F0IHgwLCBmbG9hdCB5
MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCByYWRpdXMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEs
IGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZWN0KGZsb2F0IHgs
IGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworICAgIAorICAgIHZpcnR1YWwg
Ym9vbCB0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSB7IHJldHVybiB0cnVlOyB9CisKK3Byb3RlY3Rl
ZDoKKyAgICBDYW52YXNQYXRoTWV0aG9kcygpIHsgfQorICAgIFBhdGggbV9wYXRoOworfTsKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA3MDk4ZjAxMmRiNzJjNDU1MGI0ZjY3MDkwODM4
Y2VjYzllMThiYzQ2Li43MjBjYTczYmNlYzljM2VkYjE2OWMyZjQ3YjZmOGMyNjg3NTk5OTIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHAKQEAgLTg1MiwxMjUgKzg1Miw2IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpiZWdpblBhdGgoKQogICAgIG1fcGF0aC5jbGVhcigpOwogfQogCi12b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xvc2VQYXRoKCkKLXsKLSAgICBpZiAobV9wYXRoLmlz
RW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxvYXRSZWN0IGJvdW5kUmVjdCA9IG1f
cGF0aC5mYXN0Qm91bmRpbmdSZWN0KCk7Ci0gICAgaWYgKGJvdW5kUmVjdC53aWR0aCgpIHx8IGJv
dW5kUmVjdC5oZWlnaHQoKSkKLSAgICAgICAgbV9wYXRoLmNsb3NlU3VicGF0aCgpOwotfQotCi12
b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6bW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCi17
Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBt
X3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6bGluZVRvKGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0
ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3RhdGUoKS5t
X2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBG
bG9hdFBvaW50KHgsIHkpOwotICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAg
ICAgICBtX3BhdGgubW92ZVRvKHAxKTsKLSAgICBlbHNlIGlmIChwMSAhPSBtX3BhdGguY3VycmVu
dFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci19
Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpxdWFkcmF0aWNDdXJ2ZVRvKGZsb2F0
IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUo
Y3B4KSB8ICFpc2Zpbml0ZShjcHkpIHwgIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAg
cmV0dXJuOwotICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3Bh
dGgubW92ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpKTsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBG
bG9hdFBvaW50KHgsIHkpOwotICAgIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCi0g
ICAgICAgIG1fcGF0aC5hZGRRdWFkQ3VydmVUbyhGbG9hdFBvaW50KGNweCwgY3B5KSwgcDEpOwot
fQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YmV6aWVyQ3VydmVUbyhmbG9hdCBj
cDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5
KQotewotICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5pdGUoY3AxeSkgfCAhaXNmaW5p
dGUoY3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkp
Ci0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAgICAg
IG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSk7Ci0KLSAgICBGbG9hdFBvaW50
IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKLSAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2lu
dCgpKQotICAgICAgICBtX3BhdGguYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KGNwMXgsIGNw
MXkpLCBGbG9hdFBvaW50KGNwMngsIGNwMnkpLCBwMSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjphcmNUbyhmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5
MiwgZmxvYXQgciwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgZWMgPSAwOwotICAgIGlmICgh
aXNmaW5pdGUoeDEpIHwgIWlzZmluaXRlKHkxKSB8ICFpc2Zpbml0ZSh4MikgfCAhaXNmaW5pdGUo
eTIpIHwgIWlzZmluaXRlKHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAociA8IDApIHsK
LSAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLQotICAg
IEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgxLCB5MSk7Ci0gICAgRmxvYXRQb2ludCBwMiA9
IEZsb2F0UG9pbnQoeDIsIHkyKTsKLQotICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgp
KQotICAgICAgICBtX3BhdGgubW92ZVRvKHAxKTsKLSAgICBlbHNlIGlmIChwMSA9PSBtX3BhdGgu
Y3VycmVudFBvaW50KCkgfHwgcDEgPT0gcDIgfHwgIXIpCi0gICAgICAgIGxpbmVUbyh4MSwgeTEp
OwotICAgIGVsc2UKLSAgICAgICAgbV9wYXRoLmFkZEFyY1RvKHAxLCBwMiwgcik7Ci19Ci0KLXZv
aWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
ciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGljbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGVjID0gMDsKLSAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkp
IHwgIWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8ICFpc2Zpbml0ZShlYSkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGlmIChyIDwgMCkgewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJS
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFyIHx8IHNhID09IGVhKSB7Ci0g
ICAgICAgIC8vIFRoZSBhcmMgaXMgZW1wdHkgYnV0IHdlIHN0aWxsIG5lZWQgdG8gZHJhdyB0aGUg
Y29ubmVjdGluZyBsaW5lCi0gICAgICAgIGxpbmVUbyh4ICsgciAqIGNvc2Yoc2EpLCB5ICsgciAq
IHNpbmYoc2EpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc3RhdGUoKS5t
X2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIElmICdzYScgYW5kICdl
YScgZGlmZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEgY2lyY2xlIHN0YXJ0aW5nL2Vu
ZGluZyBhdCAnc2EnCi0gICAgaWYgKGFudGljbG9ja3dpc2UgJiYgc2EgLSBlYSA+PSAyICogcGlG
bG9hdCkgewotICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBz
YSAtIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAyICogcGlGbG9hdCkgewotICAg
ICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSArIDIgKiBwaUZs
b2F0LCBhbnRpY2xvY2t3aXNlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fcGF0
aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIGVhLCBhbnRpY2xvY2t3aXNlKTsKLX0K
LQogc3RhdGljIGJvb2wgdmFsaWRhdGVSZWN0Rm9yQ2FudmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwg
ZmxvYXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2h0KQogewogICAgIGlmICghaXNmaW5pdGUoeCkgfCAh
aXNmaW5pdGUoeSkgfCAhaXNmaW5pdGUod2lkdGgpIHwgIWlzZmluaXRlKGhlaWdodCkpCkBAIC05
OTIsMjIgKzg3Myw2IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlUmVjdEZvckNhbnZhcyhmbG9hdCYg
eCwgZmxvYXQmIHksIGZsb2F0JiB3aWR0aCwgZmxvYXQmIGhlaWdoCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZWN0KGZsb2F0IHgsIGZsb2F0
IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpCi17Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52
ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8fCAh
aXNmaW5pdGUoeSkgfHwgIWlzZmluaXRlKHdpZHRoKSB8fCAhaXNmaW5pdGUoaGVpZ2h0KSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCF3aWR0aCAmJiAhaGVpZ2h0KSB7Ci0gICAgICAgIG1f
cGF0aC5tb3ZlVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBtX3BhdGguYWRkUmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwotfQot
CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmNsZWFyUGF0aEZvckRhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuaAppbmRleCBkZTkwZDYzZjBjYTBhMDZmNGJlMWVhNmZiODE1ZWVmYWIwZTVhNTE1
Li4xZmNmNTIxYjFhZTZiYjYyOTk4ZGJhYzM0NTllNWMxNjIyNWI4MzAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaApA
QCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRfaAogCiAj
aW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMu
aCIKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ29sb3Iu
aCIKICNpbmNsdWRlICJDb2xvclNwYWNlLmgiCkBAIC01OCw3ICs1OSw3IEBAIGNsYXNzIFRleHRN
ZXRyaWNzOwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQgOiBwdWJsaWMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CitjbGFzcyBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBwdWJsaWMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCwg
cHVibGljIENhbnZhc1BhdGhNZXRob2RzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+IGNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCogY2Fu
dmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlLCBib29sIHVzZXNEYXNoYm9h
cmRDb21wYXRpYmlsaXR5TW9kZSkKICAgICB7CkBAIC0xMzUsMTUgKzEzNiw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEZpbGxDb2xvcihmbG9hdCBjLCBmbG9hdCBtLCBmbG9hdCB5LCBmbG9hdCBr
LCBmbG9hdCBhKTsKIAogICAgIHZvaWQgYmVnaW5QYXRoKCk7Ci0gICAgdm9pZCBjbG9zZVBhdGgo
KTsKLQotICAgIHZvaWQgbW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgbGluZVRv
KGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgcXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgs
IGZsb2F0IGNweSwgZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBiZXppZXJDdXJ2ZVRvKGZs
b2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZs
b2F0IHkpOwotICAgIHZvaWQgYXJjVG8oZmxvYXQgeDAsIGZsb2F0IHkwLCBmbG9hdCB4MSwgZmxv
YXQgeTEsIGZsb2F0IHJhZGl1cywgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYXJjKGZsb2F0
IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBjbG9ja3dpc2Us
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQg
d2lkdGgsIGZsb2F0IGhlaWdodCk7CiAKICAgICB2b2lkIGZpbGwoY29uc3QgU3RyaW5nJiB3aW5k
aW5nID0gIm5vbnplcm8iKTsKICAgICB2b2lkIHN0cm9rZSgpOwpAQCAtMzMxLDExICszMjMsMTIg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXMyZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0IE9WRVJS
SURFOwogCisgICAgdmlydHVhbCBib29sIHRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpIHsgcmV0dXJu
IHN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNOyB9CisKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBQbGF0
Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgT1ZFUlJJREU7CiAjZW5kaWYKIAotICAg
IFBhdGggbV9wYXRoOwogICAgIFZlY3RvcjxTdGF0ZSwgMT4gbV9zdGF0ZVN0YWNrOwogICAgIHVu
c2lnbmVkIG1fdW5yZWFsaXplZFNhdmVDb3VudDsKICAgICBib29sIG1fdXNlc0NTU0NvbXBhdGli
aWxpdHlQYXJzZU1vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAppbmRleCBkYzA3NDdmYmQyNGViM2ViNmVhOWQ3
NGRhNWI0ZDVjOTY2ZGQxMGE1Li45ZTE4M2ZmMmRiZTU5N2EwYWE5ODMzMzE2ZTdiMTVjMDgzZDBm
Y2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5pZGwKQEAgLTk1LDYgKzk1LDggQEAgaW50ZXJmYWNlIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRCA6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogICAgICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgaGVpZ2h0KTsKIAog
ICAgIHZvaWQgYmVnaW5QYXRoKCk7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBzaG91
bGQgYmUgc2hhcmVkIHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluIHRoZSBDYW52YXNQ
YXRoTWV0aG9kcyBpbnRlcmZhY2UuCiAgICAgdm9pZCBjbG9zZVBhdGgoKTsKICAgICB2b2lkIG1v
dmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAogICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkpOwpAQCAtMTI3
LDYgKzEyOSw3IEBAIGludGVyZmFjZSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0IHsKICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBmbG9hdCBlbmRBbmdsZSwKICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dpc2UpCiAgICAgICAgIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKKwogICAgIHZvaWQgZmlsbChpbiBbT3B0aW9uYWxdIERPTVN0cmluZyB3aW5k
aW5nKTsKICAgICB2b2lkIHN0cm9rZSgpOwogICAgIHZvaWQgY2xpcChpbiBbT3B0aW9uYWxdIERP
TVN0cmluZyB3aW5kaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0RPTVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYTFmNTYyYmEwY2YxZDA1ZjM3NTJkNmNhMTg4NmM3NThmMDNiNDZkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oCkBAIC0wLDAgKzEs
NDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNv
cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01QYXRoX2gKKyNk
ZWZpbmUgRE9NUGF0aF9oCisKKyNpZiBFTkFCTEUoQ0FOVkFTX1BBVEgpCisjaW5jbHVkZSAiQ2Fu
dmFzUGF0aE1ldGhvZHMuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NUGF0
aCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVBhdGg+LCBwdWJsaWMgQ2FudmFzUGF0aE1ldGhvZHMg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVBhdGgpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01QYXRoPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgRE9NUGF0aCk7IH0KKyAgICB2aXJ0dWFsIH5ET01QYXRoKCkg
eyB9Citwcml2YXRlOgorICAgIERPTVBhdGgoKSA6IENhbnZhc1BhdGhNZXRob2RzKCkgeyB9Cit9
OworfQorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0RPTVBhdGguaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjBmNzAwMTkxYjg3YmMwYzQ3YTczZTQ4MzZjNzdhYWRmMDVmYTg4MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaWRsCkBA
IC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lz
dGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW50ZXJmYWNlIFsK
KyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25hbD1DQU5WQVNfUEFUSCwKKyAgICBJbnRl
cmZhY2VOYW1lPVBhdGgKK10gRE9NUGF0aCB7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgbWV0aG9k
cyBzaG91bGQgYmUgc2hhcmVkIHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluIHRoZSBD
YW52YXNQYXRoTWV0aG9kcyBpbnRlcmZhY2UuCisgICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2
b2lkIG1vdmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkpOwor
ICAgIHZvaWQgbGluZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgs
CisgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQg
eSk7CisgICAgdm9pZCBxdWFkcmF0aWNDdXJ2ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGZsb2F0IGNweCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3B5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5KTsK
KyAgICB2b2lkIGJlemllckN1cnZlVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
ZmxvYXQgY3AxeCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gZmxvYXQgY3AxeSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AyeCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AyeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwK
KyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
ZmxvYXQgeSk7CisgICAgdm9pZCBhcmNUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCB4MSwKKyAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIGZsb2F0IHkxLAorICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gZmxvYXQgeDIsCisgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBmbG9hdCB5MiwKKyAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIGZsb2F0IHJhZGl1cykKKyAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOwor
ICAgIHZvaWQgcmVjdChpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAor
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5LAor
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB3aWR0
aCwKKyAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQg
aGVpZ2h0KTsKKyAgICB2b2lkIGFyYyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBm
bG9hdCB4LAorICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZs
b2F0IHksCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxv
YXQgcmFkaXVzLAorICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHN0YXJ0QW5nbGUsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gZmxvYXQgZW5kQW5nbGUsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBhbnRpY2xvY2t3aXNlKQorICAgICAgICByYWlzZXMgKERP
TUV4Y2VwdGlvbik7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDA1MDhjOGMz
OGJhNjBkN2Y1ZjFkYjk5ZGVlNDk4ODkwYWU0OWJiMTEuLjFjYzU3MGM0OTk1NjU5ODZlMmVjM2Uw
NWQwMzhjNWE3MzIwNGEzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM5OCw2
ICszOTgsNyBAQAogICAgIGF0dHJpYnV0ZSBOb3RhdGlvbkNvbnN0cnVjdG9yIE5vdGF0aW9uOwog
ICAgIGF0dHJpYnV0ZSBFbnRpdHlDb25zdHJ1Y3RvciBFbnRpdHk7CiAgICAgYXR0cmlidXRlIEVu
dGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVudGl0eVJlZmVyZW5jZTsKKyAgICBbQ29uZGl0aW9u
YWw9Q0FOVkFTX1BBVEhdIGF0dHJpYnV0ZSBET01QYXRoQ29uc3RydWN0b3IgUGF0aDsKICAgICBh
dHRyaWJ1dGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uOwogICAgIFtDb25kaXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9
c2hhZG93RE9NXSBhdHRyaWJ1dGUgU2hhZG93Um9vdENvbnN0cnVjdG9yIFdlYktpdFNoYWRvd1Jv
b3Q7CiAgICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0UnVudGltZT1zaGFk
b3dET01dIGF0dHJpYnV0ZSBIVE1MQ29udGVudEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQ29udGVu
dEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggOWY0Zjc3NjUyZWIyNmNmMWVkZjk3ZmQ3NWM4ZmNiMzU2MjE3Nzc1
YS4uMWE3YjY2YWI5ZDQwYmQ2NzliNDUyZTE4MmZlZWJlMzg0NTJkYTFiMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDEzLTAxLTIyICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZhcyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciBjaGVja2luZyBl
eGlzdGVuY2Ugb2YgUGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMuCisgICAgICAg
IFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIGZhaWwgaWYgY2FudmFzLXBhdGggaXMgbm90IGFjdGl2
YXRlZCBvbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0
aC1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52
YXMtcGF0aC1vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0
LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qczogQWRkZWQuCisKIDIwMTMtMDEtMjIgIFJvYmVy
dCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIFdoZW4gd2UgZG8gc2V0QXR0
cmlidXRlKCJib3JkZXIiLCBudWxsKSBvbiBhIHRhYmxlIHdlIHNob3VsZCBjcmVhdGUgYSBib3Jk
ZXIgbGlrZSBldmVyeSBvdGhlciBicm93c2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzBh
YmEyYjM1OTA5NTBhOGJmOGVkNjI0OTJhMjNjYThmOTVhZTUyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFBhdGgKK0Vuc3VyZSB0aGF0IHRoZSBjb25zdHJ1Y3RvciBm
b3IgUGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMgZXhpc3QuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCBpcyAiZnVuY3Rpb24iCitGQUlMIHN1Y2Nlc3NmdWxseVBhcnNlZCBzaG91bGQgYmUgdHJ1ZSAo
b2YgdHlwZSBib29sZWFuKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1bmRlZmluZWQpLgorCitU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
cGF0aC1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9i
amVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NjE2ZDkyZmZkN2FjNGIxN2E5OWMwNTcxNWYxMzlkMTBl
ZWUyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
cGF0aC1vYmplY3QuaHRtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgor
PHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE1MTdl
ZmZiMmQ1NjNjNmMxODg2MDhmODk4Njg4N2VjNDMxOWU2YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmplY3QuanMK
QEAgLTAsMCArMSwxNCBAQAorZGVzY3JpcHRpb24oIkVuc3VyZSB0aGF0IHRoZSBjb25zdHJ1Y3Rv
ciBmb3IgUGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMgZXhpc3QuIik7CisKK3No
b3VsZEJlKCJ0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQiLCAnImZ1bmN0aW9uIicpOwor
Cit2YXIgcGF0aCA9IG5ldyBQYXRoKCk7CitzaG91bGRCZVR5cGUoInBhdGgiLCAiUGF0aCIpOwor
c2hvdWxkQmUoInR5cGVvZiBwYXRoLmNsb3NlUGF0aCIsICciZnVuY3Rpb24iJyk7CitzaG91bGRC
ZSgidHlwZW9mIHBhdGgubW92ZVRvIiwgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2Yg
cGF0aC5saW5lVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLnF1YWRy
YXRpY0N1cnZlVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmJlemll
ckN1cnZlVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmFyY1RvIiwg
JyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5hcmMiLCAnImZ1bmN0aW9uIicp
Oworc2hvdWxkQmUoInR5cGVvZiBwYXRoLnJlY3QiLCAnImZ1bmN0aW9uIicpOwpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184070</attachid>
            <date>2013-01-22 16:31:26 -0800</date>
            <delta_ts>2013-01-22 18:54:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130122162820.patch</filename>
            <type>text/plain</type>
            <size>45929</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE2NWQ3ZDY3YjFmMzIz
ODVmODVmNjZjNzYzYTNjYzdjZDE2M2FhNS4uZDNjZDZkOTdhZmRiM2E0YTY0ODAzZDUxOTZkZTAx
NDUxZGNkODNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIyICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCBDVE9SIGZvciBQ
YXRoLgorCiAyMDEzLTAxLTIyICBUb255IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgRml4IGFzc2VydGlvbnMgaW4gbWFrZThCaXRGcm9tMTZCaXRTb3VyY2UoKSB3
aXRoIHRocmVhZGVkIHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiNjE5N2E5ODEwNTNj
MWY4ZmU5NjAzZDczNzkzNjA3OTcwMzIzNmY4Li4yOGUxM2Q4YzM5ZTliNTcxMjRhNTllMmQ0OWEy
NjQ5YjM1MzIyMjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTE4LDYgKzUxOCw3IEBAIHNl
dChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbAogICAg
IGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsCiAg
ICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbAogICAgIGh0bWwv
Y2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRs
CkBAIC0xNDk4LDYgKzE0OTksNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBodG1sL2Nh
bnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNH
cmFkaWVudC5jcHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKICAgICBo
dG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1Byb3h5
LmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKaW5kZXggOWY1YmU1MDE0NGQwNTljZWQyYjJkMmY5MzE4YmNmNGNm
MjUyZmYxMS4uNmNjMzE4MDYzMzY5YzFiNjNkYTljNDhkYmIxMTgxNGZhNmE1YjFlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtOTUsNiArOTUsNyBAQAogI2luY2x1ZGUgIkpTRE9N
TWltZVR5cGVBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNw
cCIKICNpbmNsdWRlICJKU0RPTVBhcnNlci5jcHAiCisjaW5jbHVkZSAiSlNET01QYXRoLmNwcCIK
ICNpbmNsdWRlICJKU0RPTVBsdWdpbi5jcHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW5BcnJheS5j
cHAiCiAjaW5jbHVkZSAiSlNET01TZWN1cml0eVBvbGljeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCBmYzI0NDg5NTU0MGViZTY1NGJmZTczYjRlZmMyYTI5NDUyYjI1NGIw
Li5iMWMxOWQ0ODMyYWUxMTIzMTU4MWFlNDk0NTFiMWIzOGE4ODc0MWMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Myw2ICszODMsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9F
WFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL0Zsb2F0MzJBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRmxvYXQ2
NEFycmF5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMmVhZDcyMGUxZjVk
MDc2OTE0ODhiMGFlNDg4ZDExMGI2OWFmMjg3Ni4uZDhkZjJjYTVjYmZhMDhhY2U2OGE2NzFjYWE4
N2Y3NmQ2YTQ5MzBjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzA2LDYgKzMw
Niw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUHJv
eHkuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmlk
bCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBc
CisgICAgJCRQV0QvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2Fu
dmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwgXAogICAgICQkUFdEL2h0bWwvY2Fu
dmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9P
RVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGEz
ZjQ1YWE5MjkxNGNlZDRiZDBlMGMwYjRkYmI0ODM0NzNmMzRmNjMuLmQxODQ5MmVjOWRmZjdiNzJk
NWJkMWM4ZWU1MGFiNzg5MTVjNmEwOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTk3LDYgKzE5Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVUeXBlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVBhdGguY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVBhcnNlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2lu
QXJyYXkuY3BwIFwKQEAgLTE1MzAsNiArMTUzMiw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwgXAogCSQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCiAJJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvRE9NUGF0aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRl
ckFuaXNvdHJvcGljLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXku
aWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApAQCAtMzIy
NCw2ICszMjI3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc0dyYWRpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bh
dGhNZXRob2RzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1l
dGhvZHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKQEAgLTMyMzcsNiArMzI0Miw3
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hl
Y2tlZEludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0RPTVBhdGguaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhU
VGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGJjM2E3
ZjcyNWQ1OGFiNzIwOWIzYTEwYmM1YjljOTRlYTQwZjdkNGEuLmI4YjJiMTZlOGM4YTlkMGYzYTU4
NGVmZWM0NTY0ZDBhMjc2NTRjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNzAzLDYgKzcwMyw3IEBAIFNP
VVJDRVMgKz0gXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgXAogICAgIGh0bWwvV2Vla0lu
cHV0VHlwZS5jcHAgXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCBcCisgICAg
aHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52
YXNQYXR0ZXJuLmNwcCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKICAgICBo
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcCBcCkBAIC0xNzYwLDEyICsxNzYx
LDE0IEBAIEhFQURFUlMgKz0gXAogICAgIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaCBcCiAgICAgaGlz
dG9yeS9QYWdlQ2FjaGUuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCBcCisg
ICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2Fu
dmFzUGF0dGVybi5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQcm94eS5oIFwKICAgICBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIFwK
ICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5oIFwKKyAgICBodG1sL2NhbnZhcy9ET01QYXRoLmgg
XAogICAgIGh0bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCiAgICAg
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjN2ZjMDMy
ZWRhMmE3ZDBiZDNjZGViYjUzYjgzNDVmNGU4MjdmYjI2Li42MjU5ZWU2ZmRhZjUxNjVjNzc1MDgx
NzJjZWI0ZWU1NzM2NGFjODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNzIsNiArMzcyLDcgQEAK
ICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRsJywKKyAgICAgICAgICAgICdodG1s
L2NhbnZhcy9ET01QYXRoLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQz
MkFycmF5LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCcs
CkBAIC0zMjczLDYgKzMyNzQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0Nv
bnRleHRBdHRyaWJ1dGVzLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0dyYWRp
ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCcsCisg
ICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3BwJywKKyAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5oJywKICAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2Fu
dmFzUGF0dGVybi5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQcm94eS5jcHAn
LApAQCAtMzI4Niw2ICszMjg5LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaGVja2Vk
SW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMv
RE9NUGF0aC5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5p
c290cm9waWMuY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVy
QW5pc290cm9waWMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJp
dmF0aXZlcy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCBjNzk5OWFhMDU0N2UyZjAyYjUxNGJlNjcxNjcyM2Y2YzBkNWRmODZhLi5hNDdi
NWQ5NTdkZDRiYmY5MDNiNDllZTBiMzE1MjFjNzVkZTBiMjVlIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzg0Miw2ICszODQyLDYyIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01QYXRo
LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2Vf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0RPTVBhdGguaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0RPTVBhcnNlci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgpAQCAtNTk5NjIsNiArNjAwMTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcQ2FudmFzUGF0aE1ldGhvZHMuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XGNhbnZhc1xDYW52YXNQYXRoTWV0aG9kcy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXR0ZXJuLmNwcCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkBAIC02MDAzMCw2ICs2MDA5NCwxMCBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xET01QYXRoLmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxc
RGF0ZUlucHV0VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZhNzFlNDQ2NmM1ZDU4
YTZkMGEwZjE2ODZjMTQ4YmRhNDg1NDU3OTguLjMwMmMwM2E0MDBjZDA1MjU1OWY3MzZhMzNlN2Ni
YzM5ZGFkMDlkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTY0NjcsNiArNjQ2NywxMSBAQAogCQlGQjQ5QzM5QTE2Nzg0OTMy
MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxl
LmNwcCAqLzsgfTsKIAkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5QzE2
Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVF
NjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJN
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
RkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgyIC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBE
T01QYXRoLmggKi87IH07CisJCUZCOTEzOTI2MTZBRTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQYXRo
TWV0aG9kcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi87IH07CisJ
CUZCOTEzOTI3MTZBRTRDMzQwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkxRTE2QUU0QjBC
MDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICovOyB9OworCQlGQjkxMzkyQTE2QUU0
RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkyODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmgg
Ki87IH07CisJCUZCOTEzOTJCMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MjkxNkFFNEZD
MDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi87IH07CiAJCUZCOTJERjRCMTVGRUQwODcwMDk5
NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3Bl
cmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRkJDMjIwREYxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCQzIyMERF
MTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi87IH07CiAJ
CUZCRDZBRjg4MTVFRjI1QzkwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODcxNUVGMjFENDAwOEI3
MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggKi87IH07CkBAIC0xNDA5Myw2ICsxNDA5OCwxMiBAQAog
CQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTSG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBDU1NIb3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MUUxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1Bh
dGhNZXRob2RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENhbnZh
c1BhdGhNZXRob2RzLmNwcDsgcGF0aCA9IGNhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTFGMTZBRTRCMEIwMDFGRTY4MiAvKiBD
YW52YXNQYXRoTWV0aG9kcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDYW52
YXNQYXRoTWV0aG9kcy5oOyBwYXRoID0gY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBET01Q
YXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTVBhdGguaDsgcGF0aCA9
IGNhbnZhcy9ET01QYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTIx
MTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBE
T01QYXRoLmlkbDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRkI5MTM5MjgxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVBhdGguY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xp
cFBhdGhPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBh
dGhPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3
RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFGODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJh
c2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJhc2lj
U2hhcGVzLmNwcDsgcGF0aCA9IHN0eWxlL0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE1NTA5LDYgKzE1NTIwLDEwIEBACiAJCTQ5NDg0RkFFMTAyQ0YwMUUw
MDE4N0REMyAvKiBjYW52YXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCUZCOTEzOTFFMTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5j
cHAgKi8sCisJCQkJRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2Rz
LmggKi8sCisJCQkJRkI5MTM5MjAxNkFFNEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaCAqLywKKwkJ
CQlGQjkxMzkyMTE2QUU0QjBCMDAxRkU2ODIgLyogRE9NUGF0aC5pZGwgKi8sCiAJCQkJNDlFRUNE
Q0MxMDUwM0MyMzAwMDk5RkFCIC8qIEFycmF5QnVmZmVyLmlkbCAqLywKIAkJCQk0OUVFQ0RDOTEw
NTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXJWaWV3LmlkbCAqLywKIAkJCQk2RTRFOTFBNzEw
RjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwICovLApAQCAtMTg3
MzUsNiArMTg3NTAsOCBAQAogCQkJCTJFOTdDRTZFMTI5M0FENkIwMEM1QzhGRiAvKiBKU0RhdGFW
aWV3LmggKi8sCiAJCQkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
Y3BwICovLAogCQkJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmgg
Ki8sCisJCQkJRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8sCisJ
CQkJRkI5MTM5MjgxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oICovLAogCQkJCTRBQ0JD
MEM4MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCAqLywKIAkJ
CQk0QUNCQzBDOTEyNzEzRDBBMDA5NEY5QjIgLyogSlNET01TZXR0YWJsZVRva2VuTGlzdC5oICov
LAogCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8s
CkBAIC0yNjI3Miw2ICsyNjI4OSw5IEBACiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8q
IFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAw
QzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1
MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MjQxNkFF
NEMxNzAwMUZFNjgyIC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovLAorCQkJCUZCOTEzOTI2MTZB
RTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RkI5MTM5MkExNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0yOTQyMyw2ICsyOTQ0Myw4IEBACiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBD
MTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2
NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5MTM5Mjcx
NkFFNEMzNDAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUZCOTEzOTJCMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0
aG9kcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGQ2ZTZjNWYzOTc5Mzk1Yzc1OGU0MjEzOGM1ZjA5Nzg5ZTIwZGJjMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhN
ZXRob2RzLmNwcApAQCAtMCwwICsxLDE2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwg
MjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKKwor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIKKyNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgQ2Fu
dmFzUGF0aE1ldGhvZHM6OmNsb3NlUGF0aCgpCit7CisgICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBib3VuZFJlY3QgPSBtX3BhdGguZmFz
dEJvdW5kaW5nUmVjdCgpOworICAgIGlmIChib3VuZFJlY3Qud2lkdGgoKSB8fCBib3VuZFJlY3Qu
aGVpZ2h0KCkpCisgICAgICAgIG1fcGF0aC5jbG9zZVN1YnBhdGgoKTsKK30KKwordm9pZCBDYW52
YXNQYXRoTWV0aG9kczo6bW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFpc2Zp
bml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNm
b3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBtX3BhdGgubW92ZVRvKEZs
b2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENhbnZhc1BhdGhNZXRob2RzOjpsaW5lVG8oZmxv
YXQgeCwgZmxvYXQgeSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7CisgICAg
aWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEp
OworICAgIGVsc2UgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9w
YXRoLmFkZExpbmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0
aG9kczo6cXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwgZmxvYXQgeCwgZmxv
YXQgeSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKGNweCkgfCAhaXNmaW5pdGUoY3B5KSB8ICFpc2Zp
bml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNm
b3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGF0aC5oYXND
dXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNweCwgY3B5
KSk7CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEg
IT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkUXVhZEN1cnZlVG8o
RmxvYXRQb2ludChjcHgsIGNweSksIHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6
YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBj
cDJ5LCBmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAhaXNm
aW5pdGUoY3AxeSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5p
dGUoeCkgfCAhaXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9y
bUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFtX3BhdGguaGFzQ3Vy
cmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBjcDF5
KSk7CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEg
IT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkQmV6aWVyQ3VydmVU
byhGbG9hdFBvaW50KGNwMXgsIGNwMXkpLCBGbG9hdFBvaW50KGNwMngsIGNwMnkpLCBwMSk7Cit9
CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmFyY1RvKGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxv
YXQgeDIsIGZsb2F0IHkyLCBmbG9hdCByLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9
IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4MSkgfCAhaXNmaW5pdGUoeTEpIHwgIWlzZmluaXRlKHgy
KSB8ICFpc2Zpbml0ZSh5MikgfCAhaXNmaW5pdGUocikpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChyIDwgMCkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeDEsIHkxKTsKKyAgICBG
bG9hdFBvaW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOworCisgICAgaWYgKCFtX3BhdGguaGFz
Q3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOworICAgIGVsc2UgaWYg
KHAxID09IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9PSBwMiB8fCAhcikKKyAgICAgICAg
bGluZVRvKHgxLCB5MSk7CisgICAgZWxzZQorICAgICAgICBtX3BhdGguYWRkQXJjVG8ocDEsIHAy
LCByKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YXJjKGZsb2F0IHgsIGZsb2F0IHks
IGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBhbnRpY2xvY2t3aXNlLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zp
bml0ZSh5KSB8ICFpc2Zpbml0ZShyKSB8ICFpc2Zpbml0ZShzYSkgfCAhaXNmaW5pdGUoZWEpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAociA8IDApIHsKKyAgICAgICAgZWMgPSBJTkRFWF9T
SVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmICghciB8fCBzYSA9PSBl
YSkgeworICAgICAgICAvLyBUaGUgYXJjIGlzIGVtcHR5IGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIGRy
YXcgdGhlIGNvbm5lY3RpbmcgbGluZQorICAgICAgICBsaW5lVG8oeCArIHIgKiBjb3NmKHNhKSwg
eSArIHIgKiBzaW5mKHNhKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXRy
YW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiAnc2En
IGFuZCAnZWEnIGRpZmZlciBieSBtb3JlIHRoYW4gMlBpLCBqdXN0IGFkZCBhIGNpcmNsZSBzdGFy
dGluZy9lbmRpbmcgYXQgJ3NhJworICAgIGlmIChhbnRpY2xvY2t3aXNlICYmIHNhIC0gZWEgPj0g
MiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCBy
LCBzYSwgc2EgLSAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgaWYgKCFhbnRpY2xvY2t3aXNlICYmIGVhIC0gc2EgPj0gMiAqIHBpRmxvYXQp
IHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgKyAy
ICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBlYSwgYW50aWNsb2Nrd2lz
ZSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OnJlY3QoZmxvYXQgeCwgZmxvYXQgeSwg
ZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKK3sKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0
aWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWlzZmluaXRlKHgpIHx8ICFpc2Zp
bml0ZSh5KSB8fCAhaXNmaW5pdGUod2lkdGgpIHx8ICFpc2Zpbml0ZShoZWlnaHQpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKKyAgICAgICAgbV9wYXRo
Lm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7Cit9Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jZGQ2MDEwNGVmMTk3OWY2MzU3ZjJhMzA2OGZmZDkxNjA0OTdjZTIzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaApA
QCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFkb2JlIFN5
c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2Fu
dmFzUGF0aE1ldGhvZHNfaAorI2RlZmluZSBDYW52YXNQYXRoTWV0aG9kc19oCisKKyNpbmNsdWRl
ICJQYXRoLmgiCisKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBGbG9hdFJlY3Q7CisKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7
CisKK2NsYXNzIENhbnZhc1BhdGhNZXRob2RzIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DYW52
YXNQYXRoTWV0aG9kcygpIHsgfQorCisgICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1v
dmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIGxpbmVUbyhmbG9hdCB4LCBmbG9hdCB5
KTsKKyAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0
IHgsIGZsb2F0IHkpOworICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBj
cDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lk
IGFyY1RvKGZsb2F0IHgwLCBmbG9hdCB5MCwgZmxvYXQgeDEsIGZsb2F0IHkxLCBmbG9hdCByYWRp
dXMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFyYyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9h
dCByLCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJik7
CisgICAgdm9pZCByZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWln
aHQpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCB0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSB7IHJl
dHVybiB0cnVlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBDYW52YXNQYXRoTWV0aG9kcygpIHsgfQor
ICAgIFBhdGggbV9wYXRoOworfTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA3MDk4
ZjAxMmRiNzJjNDU1MGI0ZjY3MDkwODM4Y2VjYzllMThiYzQ2Li43MjBjYTczYmNlYzljM2VkYjE2
OWMyZjQ3YjZmOGMyNjg3NTk5OTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTg1MiwxMjUgKzg1Miw2
IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpiZWdpblBhdGgoKQogICAgIG1fcGF0
aC5jbGVhcigpOwogfQogCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xvc2VQYXRo
KCkKLXsKLSAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
RmxvYXRSZWN0IGJvdW5kUmVjdCA9IG1fcGF0aC5mYXN0Qm91bmRpbmdSZWN0KCk7Ci0gICAgaWYg
KGJvdW5kUmVjdC53aWR0aCgpIHx8IGJvdW5kUmVjdC5oZWlnaHQoKSkKLSAgICAgICAgbV9wYXRo
LmNsb3NlU3VicGF0aCgpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6bW92
ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0
ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0p
Ci0gICAgICAgIHJldHVybjsKLSAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOwot
fQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6bGluZVRvKGZsb2F0IHgsIGZsb2F0
IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0
dXJuOwotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsK
LQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwotICAgIGlmICghbV9wYXRo
Lmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRvKHAxKTsKLSAgICBlbHNl
IGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5hZGRMaW5l
VG8oRmxvYXRQb2ludCh4LCB5KSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpxdWFkcmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5
KQotewotICAgIGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zpbml0ZShjcHkpIHwgIWlzZmluaXRl
KHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1f
aW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghbV9wYXRoLmhhc0N1cnJl
bnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkpKTsK
LQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwotICAgIGlmIChwMSAhPSBt
X3BhdGguY3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5hZGRRdWFkQ3VydmVUbyhGbG9h
dFBvaW50KGNweCwgY3B5KSwgcDEpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9h
dCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfCAh
aXNmaW5pdGUoY3AxeSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAhaXNmaW5pdGUoY3AyeSkgfCAhaXNm
aW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRl
KCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3BhdGguaGFz
Q3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcDF4LCBj
cDF5KSk7Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKLSAgICBpZiAo
cDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGguYWRkQmV6aWVyQ3Vy
dmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpLCBGbG9hdFBvaW50KGNwMngsIGNwMnkpLCBwMSk7
Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmNUbyhmbG9hdCB4MSwgZmxv
YXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MiwgZmxvYXQgciwgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgZWMgPSAwOwotICAgIGlmICghaXNmaW5pdGUoeDEpIHwgIWlzZmluaXRlKHkxKSB8ICFp
c2Zpbml0ZSh4MikgfCAhaXNmaW5pdGUoeTIpIHwgIWlzZmluaXRlKHIpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAociA8IDApIHsKLSAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgxLCB5
MSk7Ci0gICAgRmxvYXRQb2ludCBwMiA9IEZsb2F0UG9pbnQoeDIsIHkyKTsKLQotICAgIGlmICgh
bV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRvKHAxKTsKLSAg
ICBlbHNlIGlmIChwMSA9PSBtX3BhdGguY3VycmVudFBvaW50KCkgfHwgcDEgPT0gcDIgfHwgIXIp
Ci0gICAgICAgIGxpbmVUbyh4MSwgeTEpOwotICAgIGVsc2UKLSAgICAgICAgbV9wYXRoLmFkZEFy
Y1RvKHAxLCBwMiwgcik7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphcmMo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGFudGlj
bG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGVjID0gMDsKLSAgICBpZiAoIWlz
ZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRlKHIpIHwgIWlzZmluaXRlKHNhKSB8
ICFpc2Zpbml0ZShlYSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChyIDwgMCkgewotICAg
ICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
aWYgKCFyIHx8IHNhID09IGVhKSB7Ci0gICAgICAgIC8vIFRoZSBhcmMgaXMgZW1wdHkgYnV0IHdl
IHN0aWxsIG5lZWQgdG8gZHJhdyB0aGUgY29ubmVjdGluZyBsaW5lCi0gICAgICAgIGxpbmVUbyh4
ICsgciAqIGNvc2Yoc2EpLCB5ICsgciAqIHNpbmYoc2EpKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8vIElmICdzYScgYW5kICdlYScgZGlmZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3Qg
YWRkIGEgY2lyY2xlIHN0YXJ0aW5nL2VuZGluZyBhdCAnc2EnCi0gICAgaWYgKGFudGljbG9ja3dp
c2UgJiYgc2EgLSBlYSA+PSAyICogcGlGbG9hdCkgewotICAgICAgICBtX3BhdGguYWRkQXJjKEZs
b2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSAtIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoIWFudGljbG9ja3dpc2UgJiYgZWEgLSBz
YSA+PSAyICogcGlGbG9hdCkgewotICAgICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwg
eSksIHIsIHNhLCBzYSArIDIgKiBwaUZsb2F0LCBhbnRpY2xvY2t3aXNlKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2Es
IGVhLCBhbnRpY2xvY2t3aXNlKTsKLX0KLQogc3RhdGljIGJvb2wgdmFsaWRhdGVSZWN0Rm9yQ2Fu
dmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2h0KQogewog
ICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkgfCAhaXNmaW5pdGUod2lkdGgpIHwg
IWlzZmluaXRlKGhlaWdodCkpCkBAIC05OTIsMjIgKzg3Myw2IEBAIHN0YXRpYyBib29sIHZhbGlk
YXRlUmVjdEZvckNhbnZhcyhmbG9hdCYgeCwgZmxvYXQmIHksIGZsb2F0JiB3aWR0aCwgZmxvYXQm
IGhlaWdoCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpyZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpCi17
Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgaWYgKCFpc2Zpbml0ZSh4KSB8fCAhaXNmaW5pdGUoeSkgfHwgIWlzZmluaXRlKHdpZHRoKSB8
fCAhaXNmaW5pdGUoaGVpZ2h0KSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCF3aWR0aCAm
JiAhaGVpZ2h0KSB7Ci0gICAgICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3BhdGguYWRkUmVjdChGbG9hdFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCkpOwotfQotCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQog
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFyUGF0aEZvckRhc2hib2FyZEJhY2t3
YXJkQ29tcGF0aWJpbGl0eU1vZGUoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBkZTkwZDYzZjBjYTBhMDZm
NGJlMWVhNmZiODE1ZWVmYWIwZTVhNTE1Li4xZmNmNTIxYjFhZTZiYjYyOTk4ZGJhYzM0NTllNWMx
NjIyNWI4MzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRfaAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCisjaW5j
bHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250
ZXh0LmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJDb2xvclNwYWNlLmgiCkBAIC01
OCw3ICs1OSw3IEBAIGNsYXNzIFRleHRNZXRyaWNzOwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25D
b2RlOwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBwdWJsaWMgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dCB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBwdWJsaWMg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCwgcHVibGljIENhbnZhc1BhdGhNZXRob2RzIHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+IGNyZWF0
ZShIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmlsaXR5UGFy
c2VNb2RlLCBib29sIHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKICAgICB7CkBAIC0x
MzUsMTUgKzEzNiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEZpbGxDb2xvcihmbG9hdCBjLCBm
bG9hdCBtLCBmbG9hdCB5LCBmbG9hdCBrLCBmbG9hdCBhKTsKIAogICAgIHZvaWQgYmVnaW5QYXRo
KCk7Ci0gICAgdm9pZCBjbG9zZVBhdGgoKTsKLQotICAgIHZvaWQgbW92ZVRvKGZsb2F0IHgsIGZs
b2F0IHkpOwotICAgIHZvaWQgbGluZVRvKGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgcXVh
ZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwgZmxvYXQgeCwgZmxvYXQgeSk7Ci0g
ICAgdm9pZCBiZXppZXJDdXJ2ZVRvKGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngs
IGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgYXJjVG8oZmxvYXQgeDAs
IGZsb2F0IHkwLCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHJhZGl1cywgRXhjZXB0aW9uQ29k
ZSYpOwotICAgIHZvaWQgYXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBm
bG9hdCBlYSwgYm9vbCBjbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHJlY3Qo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7CiAKICAgICB2b2lk
IGZpbGwoY29uc3QgU3RyaW5nJiB3aW5kaW5nID0gIm5vbnplcm8iKTsKICAgICB2b2lkIHN0cm9r
ZSgpOwpAQCAtMzMxLDExICszMjMsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXMy
ZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNB
Y2NlbGVyYXRlZCgpIGNvbnN0IE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29sIHRyYW5zZm9y
bUlzSW52ZXJ0aWJsZSgpIHsgcmV0dXJuIHN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNOyB9CisKICNp
ZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Qg
T1ZFUlJJREU7CiAjZW5kaWYKIAotICAgIFBhdGggbV9wYXRoOwogICAgIFZlY3RvcjxTdGF0ZSwg
MT4gbV9zdGF0ZVN0YWNrOwogICAgIHVuc2lnbmVkIG1fdW5yZWFsaXplZFNhdmVDb3VudDsKICAg
ICBib29sIG1fdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbAppbmRl
eCBkYzA3NDdmYmQyNGViM2ViNmVhOWQ3NGRhNWI0ZDVjOTY2ZGQxMGE1Li45ZTE4M2ZmMmRiZTU5
N2EwYWE5ODMzMzE2ZTdiMTVjMDgzZDBmY2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKQEAgLTk1LDYgKzk1
LDggQEAgaW50ZXJmYWNlIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQgewogICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gZmxvYXQgaGVpZ2h0KTsKIAogICAgIHZvaWQgYmVnaW5QYXRoKCk7CisKKyAgICAvLyBG
SVhNRTogVGhlc2UgbWV0aG9kcyBzaG91bGQgYmUgc2hhcmVkIHdpdGggQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEIGluIHRoZSBDYW52YXNQYXRoTWV0aG9kcyBpbnRlcmZhY2UuCiAgICAgdm9pZCBj
bG9zZVBhdGgoKTsKICAgICB2b2lkIG1vdmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCB4LAogICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIGZsb2F0IHkpOwpAQCAtMTI3LDYgKzEyOSw3IEBAIGludGVyZmFjZSBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQgOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKICAgICAgICAgICAgICBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBlbmRBbmdsZSwKICAgICAgICAg
ICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dp
c2UpCiAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKwogICAgIHZvaWQgZmlsbChpbiBb
T3B0aW9uYWxdIERPTVN0cmluZyB3aW5kaW5nKTsKICAgICB2b2lkIHN0cm9rZSgpOwogICAgIHZv
aWQgY2xpcChpbiBbT3B0aW9uYWxdIERPTVN0cmluZyB3aW5kaW5nKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0RPTVBhdGguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTFmNTYyYmEwY2YxZDA1ZjM3NTJkNmNhMTg4
NmM3NThmMDNiNDZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvRE9NUGF0aC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIs
IDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBET01QYXRoX2gKKyNkZWZpbmUgRE9NUGF0aF9oCisKKyNpZiBFTkFCTEUoQ0FO
VkFTX1BBVEgpCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKKyNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRE9NUGF0aCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVBhdGg+LCBw
dWJsaWMgQ2FudmFzUGF0aE1ldGhvZHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVBh
dGgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxET01QYXRoPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRE9NUGF0aCk7IH0K
KyAgICB2aXJ0dWFsIH5ET01QYXRoKCkgeyB9Citwcml2YXRlOgorICAgIERPTVBhdGgoKSA6IENh
bnZhc1BhdGhNZXRob2RzKCkgeyB9Cit9OworfQorI2VuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvRE9NUGF0aC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBmNzAwMTkxYjg3YmMwYzQ3YTcz
ZTQ4MzZjNzdhYWRmMDVmYTg4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0RPTVBhdGguaWRsCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworaW50ZXJmYWNlIFsKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25h
bD1DQU5WQVNfUEFUSCwKKyAgICBJbnRlcmZhY2VOYW1lPVBhdGgKK10gRE9NUGF0aCB7CisKKyAg
ICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBzaG91bGQgYmUgc2hhcmVkIHdpdGggQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEIGluIHRoZSBDYW52YXNQYXRoTWV0aG9kcyBpbnRlcmZhY2UuCisgICAg
dm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHkpOworICAgIHZvaWQgbGluZVRvKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgdm9pZCBxdWFkcmF0aWNDdXJ2ZVRvKGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IGNweCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3B5LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIGJlemllckN1cnZlVG8oaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AxeCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AxeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3Ay
eCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gZmxvYXQgY3AyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgdm9pZCBhcmNUbyhpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4MSwKKyAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkxLAorICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeDIsCisgICAgICAgICAgICAgICBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5MiwKKyAgICAgICAgICAgICAg
IGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHJhZGl1cykKKyAgICAgICAg
cmFpc2VzIChET01FeGNlcHRpb24pOworICAgIHZvaWQgcmVjdChpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB5LAorICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBmbG9hdCB3aWR0aCwKKyAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgaGVpZ2h0KTsKKyAgICB2b2lkIGFyYyhpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHksCisgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgcmFkaXVzLAorICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHN0YXJ0QW5nbGUsCisgICAgICAgICAgICAg
aW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgZW5kQW5nbGUsCisgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBhbnRpY2xvY2t3
aXNlKQorICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCmluZGV4IDgyNTc5ODdiNGI0NjUwNDk5ODJmZGMzM2QyOWVkYTUzZGE3ODQ0OGIu
LmMyNjQ1NmQxNzRmMjc1ZTE2YzI0ZTVkZDZmZmY4MTJmYWE4MGIzOTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKQEAgLTM5OCw2ICszOTgsNyBAQAogICAgIGF0dHJpYnV0ZSBOb3RhdGlv
bkNvbnN0cnVjdG9yIE5vdGF0aW9uOwogICAgIGF0dHJpYnV0ZSBFbnRpdHlDb25zdHJ1Y3RvciBF
bnRpdHk7CiAgICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5jZUNvbnN0cnVjdG9yIEVudGl0eVJl
ZmVyZW5jZTsKKyAgICBbQ29uZGl0aW9uYWw9Q0FOVkFTX1BBVEhdIGF0dHJpYnV0ZSBET01QYXRo
Q29uc3RydWN0b3IgUGF0aDsKICAgICBhdHRyaWJ1dGUgUHJvY2Vzc2luZ0luc3RydWN0aW9uQ29u
c3RydWN0b3IgUHJvY2Vzc2luZ0luc3RydWN0aW9uOwogICAgIFtDb25kaXRpb25hbD1TSEFET1df
RE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBhdHRyaWJ1dGUgU2hhZG93Um9vdENv
bnN0cnVjdG9yIFdlYktpdFNoYWRvd1Jvb3Q7CiAgICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00s
IFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBIVE1MQ29udGVudEVsZW1l
bnRDb25zdHJ1Y3RvciBIVE1MQ29udGVudEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDAzMTEyYzZlOWFjMDc5
MDJjZDc3M2Y1ZDVhMzE3NThiYjBmZTA1ZS4uNDViZDk0NDc3YzAzMWZjZWE5NmQ4OTZmYmQ4NGVh
NDJiYWQ1YTMxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAxLTIyICBEaXJrIFNjaHVs
emUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZhcyBQYXRo
IG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSB0ZXN0IGZvciBjaGVja2luZyBleGlzdGVuY2Ugb2YgUGF0aCBvYmplY3QgYW5kIGRlcGVu
ZGVudCBmdW5jdGlvbnMuCisgICAgICAgIFRoZSB0ZXN0IGlzIHN1cHBvc2VkIHRvIGZhaWwgaWYg
Y2FudmFzLXBhdGggaXMgbm90IGFjdGl2YXRlZCBvbiBjb21waWxlIHRpbWUuCisKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qczogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogRGlmZmVy
ZW50IGVycm9yIGhhbmRsaW5nIG9uIENocm9taXVtLiBOZWVkcyByZWJhc2VsaW5lLgorCiAyMDEz
LTAxLTIyICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE0MDE3MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMGFi
YTJiMzU5MDk1MGE4YmY4ZWQ2MjQ5MmEyM2NhOGY5NWFlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogUGF0aAorRW5zdXJlIHRoYXQgdGhlIGNvbnN0cnVjdG9yIGZv
ciBQYXRoIG9iamVjdCBhbmQgZGVwZW5kZW50IGZ1bmN0aW9ucyBleGlzdC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
IGlzICJmdW5jdGlvbiIKK0ZBSUwgc3VjY2Vzc2Z1bGx5UGFyc2VkIHNob3VsZCBiZSB0cnVlIChv
ZiB0eXBlIGJvb2xlYW4pLiBXYXMgdW5kZWZpbmVkIChvZiB0eXBlIHVuZGVmaW5lZCkuCisKK1RF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1w
YXRoLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2Jq
ZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODc2MTZkOTJmZmQ3YWM0YjE3YTk5YzA1NzE1ZjEzOWQxMGVl
ZTI4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1w
YXRoLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PC9jYW52YXM+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9z
Y3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtb2JqZWN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTUxN2Vm
ZmIyZDU2M2M2YzE4ODYwOGY4OTg2ODg3ZWM0MzE5ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcwpA
QCAtMCwwICsxLDE0IEBACitkZXNjcmlwdGlvbigiRW5zdXJlIHRoYXQgdGhlIGNvbnN0cnVjdG9y
IGZvciBQYXRoIG9iamVjdCBhbmQgZGVwZW5kZW50IGZ1bmN0aW9ucyBleGlzdC4iKTsKKworc2hv
dWxkQmUoInR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCIsICciZnVuY3Rpb24iJyk7CisK
K3ZhciBwYXRoID0gbmV3IFBhdGgoKTsKK3Nob3VsZEJlVHlwZSgicGF0aCIsICJQYXRoIik7Citz
aG91bGRCZSgidHlwZW9mIHBhdGguY2xvc2VQYXRoIiwgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJl
KCJ0eXBlb2YgcGF0aC5tb3ZlVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBw
YXRoLmxpbmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGgucXVhZHJh
dGljQ3VydmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGguYmV6aWVy
Q3VydmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGguYXJjVG8iLCAn
ImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmFyYyIsICciZnVuY3Rpb24iJyk7
CitzaG91bGRCZSgidHlwZW9mIHBhdGgucmVjdCIsICciZnVuY3Rpb24iJyk7ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggZmI2YzUxYTgwNzIyZTg2MjJmNDEyZDM1NTliOGZmZGFjMjZjNWEy
MC4uMWExNDQwYjNiOTliMzhiNzliOTI3YWRhN2Y2M2FiNDJhMjdiMTk1ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC00MzIyLDYgKzQz
MjIsOCBAQCB3ZWJraXQub3JnL2IvMTA1NTc0IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMv
c3VnZ2VzdGlvbi1waWNrZXIvZGF0ZS1zdWdnZXN0aQogd2Via2l0Lm9yZy9iLzEwNTU3NCBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3N1Z2dlc3Rpb24tcGlja2VyL21vbnRoLXN1Z2dlc3Rp
b24tcGlja2VyLWFwcGVhcmFuY2Utd2l0aC1zY3JvbGwtYmFyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xMDU1NzQgcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9z
dWdnZXN0aW9uLXBpY2tlci93ZWVrLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2Utd2l0aC1z
Y3JvbGwtYmFyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAord2Via2l0Lm9yZy9iLzk3MzMz
IGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sIFsgRmFpbHVyZSBdCisKICMgVGhp
cyBpcyB3b24ndCBmaXgsIGFzIHRoZSBkZWJ1ZyBhbmQgcmVsZWFzZSB2ZXJzaW9ucyBkaWZmZXIu
CiB3ZWJraXQub3JnL2IvOTkxMzggWyBEZWJ1ZyBTbm93TGVvcGFyZCBdIHN2Zy9jdXN0b20vZm9y
ZWlnbi1vYmplY3Qtc2tldy5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184104</attachid>
            <date>2013-01-22 18:54:38 -0800</date>
            <delta_ts>2013-01-23 12:15:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130122185132.patch</filename>
            <type>text/plain</type>
            <size>45995</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDAxMjEwYzU0MDkzZGZh
ZTE5ODJlZWU3NzhlYjg0MmYyMmRkYjVlNi4uNDI4MWJmOWJjYWE5ZjA4NmRlZjI3MDliZTJkOTVj
YzhlMWQ2ODIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIyICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCBDVE9SIGZvciBQ
YXRoLgorCiAyMDEzLTAxLTIxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBJbXBsZW1lbnQgVUlFdmVudCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCBjZGMyODA4N2IyNWY5YjUyYjhkODg1YWQ3OGY1YzRjYmNhMGYxZWI5Li5iNzg0ODI4
ZGMxN2NlOGM4NGZjY2QzMWZhYjY2ZTg5Y2M4NjVjZWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtNTE3LDYgKzUxNyw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmlkbAogICAgIGh0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAorICAgIGh0bWwv
Y2FudmFzL0RPTVBhdGguaWRsCiAgICAgaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNv
dHJvcGljLmlkbAogICAgIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwKICAgICBodG1sL2Nh
bnZhcy9GbG9hdDY0QXJyYXkuaWRsCkBAIC0xNDk3LDYgKzE0OTgsNyBAQCBzZXQoV2ViQ29yZV9T
T1VSQ0VTCiAKICAgICBodG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAg
ICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQ
YXRoTWV0aG9kcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0
bWwvY2FudmFzL0NhbnZhc1Byb3h5LmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggN2I2MTE2OGQ5MjQz
MWFkZTk1M2E0NWMzODE1MzFjOThhZDhjYzM3Ny4uMjMyZGU0YzYwYmRlNTkyNmFmZTEwODYxMDRk
NTE3NDEzMDQ0M2U1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtOTUsNiArOTUs
NyBAQAogI2luY2x1ZGUgIkpTRE9NTWltZVR5cGVBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01O
YW1lZEZsb3dDb2xsZWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTVBhcnNlci5jcHAiCisjaW5j
bHVkZSAiSlNET01QYXRoLmNwcCIKICNpbmNsdWRlICJKU0RPTVBsdWdpbi5jcHAiCiAjaW5jbHVk
ZSAiSlNET01QbHVnaW5BcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01TZWN1cml0eVBvbGljeS5j
cHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA5ZTQwNzg1MDZmZTZmODA0Njlh
NTVhZDkyZTdlMjlkZmVkMmMxYjc2Li43MDc4MmZhZjMzZjhhMGNhMjAzMTY1OGRmN2ZiZjE5YjZm
YmNiN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM4Miw2ICszODIsNyBA
QCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0RhdGFWaWV3
LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5w
cmkKaW5kZXggMGUwMGM4ZjY4YjYxNDYzMzIyYmM5MTIwNDQ0ZmU2NjBlNDZiZmI5ZC4uNWIyNTBh
MTg1ZjFhY2VkMDFlYzAxNWMyZTEyMDAxNzBjODU4OGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLnByaQpAQCAtMzA1LDYgKzMwNSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0Qv
aHRtbC9jYW52YXMvQ2FudmFzUHJveHkuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQV0QvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwg
XAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwg
XAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKICAg
ICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IGZmYTM5YWE0MzNkNDM2NzgwZTEzZTliYTRlOTg1ZDViYTEyMTJi
MTcuLjk0MWUzZTNmZTFiMjBiY2QyMTg1NzhiNDE0YjI4MGEzZGYxMTc2OWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTk3LDYgKzE5Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291
cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU1pbWVUeXBlLmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNlci5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3BwIFwKQEAgLTE1MjcsNiArMTUyOSw3IEBAIGRv
bV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAor
CSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCBcCiAJJChXZWJDb3JlKS9odG1s
L2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0
NjRBcnJheS5pZGwgXApAQCAtMzIyMCw2ICszMjIzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmggXAorCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3Bw
IFwKQEAgLTMyMzMsNiArMzIzOCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2hlY2tlZEludC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9EYXRhVmlldy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3
LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCmluZGV4IDlhNDg5ZTUxZTNmOTM5ODFlODIxMTQzOTZlNWJkNWVlMzk5ZGFkM2Yu
LjM1YzBmZGFjZWRhMDcwNGE0MTQ5Yjk0MGU1Mjk4NjM4N2E2OWI0MGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpA
QCAtNzAzLDYgKzcwMyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5j
cHAgXAogICAgIGh0bWwvV2Vla0lucHV0VHlwZS5jcHAgXAogICAgIGh0bWwvY2FudmFzL0NhbnZh
c0dyYWRpZW50LmNwcCBcCisgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3BwIFwK
ICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcCBcCiAgICAgaHRtbC9jYW52YXMvQ2Fu
dmFzUHJveHkuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNw
cCBcCkBAIC0xNzYwLDEyICsxNzYxLDE0IEBAIEhFQURFUlMgKz0gXAogICAgIGhpc3RvcnkvSGlz
dG9yeUl0ZW0uaCBcCiAgICAgaGlzdG9yeS9QYWdlQ2FjaGUuaCBcCiAgICAgaHRtbC9jYW52YXMv
Q2FudmFzR3JhZGllbnQuaCBcCisgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBc
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52
YXNQcm94eS5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAog
ICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIFwKICAgICBodG1sL2Nh
bnZhcy9DYW52YXNTdHlsZS5oIFwKICAgICBodG1sL2NhbnZhcy9EYXRhVmlldy5oIFwKKyAgICBo
dG1sL2NhbnZhcy9ET01QYXRoLmggXAogICAgIGh0bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0bWwv
RE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCBhYzIzNjRjMTg3MTNkNzk5YTEzZTNjNWVlOTU2NmRiZWI2ZmQ1Zjc0Li40
MzJiOTVkNGQ0ZTYzMDQ5NjAzNzFhZGM4NmUwMDhjYWQ5MmExZjllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC0zNzEsNiArMzcxLDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRs
JywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9ET01QYXRoLmlkbCcsCiAgICAgICAgICAgICAn
aHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52
YXMvRmxvYXQ2NEFycmF5LmlkbCcsCkBAIC0zMjcxLDYgKzMyNzIsOCBAQAogICAgICAgICAgICAg
J2h0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRyaWJ1dGVzLmgnLAogICAgICAgICAgICAgJ2h0
bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMv
Q2FudmFzR3JhZGllbnQuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1l
dGhvZHMuY3BwJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5o
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5oJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9DYW52YXNQcm94eS5jcHAnLApAQCAtMzI4NCw2ICszMjg3LDcgQEAKICAgICAgICAgICAg
ICdodG1sL2NhbnZhcy9DaGVja2VkSW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0Rh
dGFWaWV3LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaCcsCisgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvRE9NUGF0aC5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZh
cy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaCcsCiAgICAgICAgICAgICAnaHRtbC9j
YW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBiNzk3ODk3NjhiZTIxZTcyMTNhZTMzZTY1
ZmE3NTRiNmJiNDQwMTA3Li4zZjE4Y2E5YjRkNDZhNWQ5YTA2MDI3ZDNiN2JkZGRkZGQyMDgzOTVm
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAt
Mzg0Miw2ICszODQyLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNET01QYXRoLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVBhdGguaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVBhcnNlci5jcHAiCiAJCQkJ
PgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTk4NTQsNiArNTk5MTAsMTQgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNc
Q2FudmFzUGF0aE1ldGhvZHMuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXRoTWV0aG9kcy5oIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xD
YW52YXNQYXR0ZXJuLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC01OTkyMiw2ICs1OTk4Niwx
MCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXGNhbnZhc1xET01QYXRoLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRGF0ZUlucHV0VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxl
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDg4ODczOTU2YjViNjBhY2U1ZmIwNWIxNTFlM2IwNTE2Y2I3YmNjOGMuLjYzMzU0NjMz
Y2ExMDQ1ZWI3MGUzMDAyODcwNjhhNTY3MTNjOTZmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NjQsNiArNjQ2NCwxMSBA
QAogCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAw
N0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLzsgfTsKIAkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZG
QjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsg
fTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIw
MEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgyIC8qIERPTVBhdGgu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEzOTIw
MTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmggKi87IH07CisJCUZCOTEzOTI2MTZBRTRDMkYw
MDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1Bh
dGhNZXRob2RzLmggKi87IH07CisJCUZCOTEzOTI3MTZBRTRDMzQwMDFGRTY4MiAvKiBDYW52YXNQ
YXRoTWV0aG9kcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQjkxMzkxRTE2QUU0QjBCMDAxRkU2ODIgLyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICov
OyB9OworCQlGQjkxMzkyQTE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkyODE2QUU0RkMwMDAx
RkU2ODIgLyogSlNET01QYXRoLmggKi87IH07CisJCUZCOTEzOTJCMTZBRTRGQzAwMDFGRTY4MiAv
KiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi87IH07CiAJ
CUZCOTJERjRCMTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MkRGNDkxNUZFRDA4NzAw
OTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkJDMjIwREYxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBo
aWNzQ29udGV4dDNET3BlbkdMLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQz
RE9wZW5HTC5jcHAgKi87IH07CiAJCUZCRDZBRjg4MTVFRjI1QzkwMDhCNzExMCAvKiBDU1NCYXNp
Y1NoYXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggKi87IH07CkBAIC0x
NDA4Niw2ICsxNDA5MSwxMiBAQAogCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTSG9zdFJ1bGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8q
IENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NIb3N0UnVsZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAv
KiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Bh
cnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MUUxNkFFNEIw
QjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IENhbnZhc1BhdGhNZXRob2RzLmNwcDsgcGF0aCA9IGNhbnZhcy9DYW52
YXNQYXRoTWV0aG9kcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTFG
MTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDYW52YXNQYXRoTWV0aG9kcy5oOyBwYXRoID0gY2FudmFzL0NhbnZh
c1BhdGhNZXRob2RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTIwMTZB
RTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IERPTVBhdGguaDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZCOTEzOTIxMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IG5hbWUgPSBET01QYXRoLmlkbDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjgxNkFFNEZDMDAwMUZFNjgy
IC8qIEpTRE9NUGF0aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVBh
dGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI5MTM5MjkxNkFFNEZDMDAwMUZF
NjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0RPTVBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjkyREY0OTE1
RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ2xpcFBhdGhPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3Bl
bkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29u
dGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFGODIx
NUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEJhc2ljU2hhcGVzLmNwcDsgcGF0aCA9IHN0eWxlL0Jhc2ljU2hhcGVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NTAyLDYgKzE1NTEzLDEwIEBA
CiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUZCOTEzOTFFMTZBRTRCMEIwMDFGRTY4MiAv
KiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgKi8sCisJCQkJRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgy
IC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi8sCisJCQkJRkI5MTM5MjAxNkFFNEIwQjAwMUZFNjgy
IC8qIERPTVBhdGguaCAqLywKKwkJCQlGQjkxMzkyMTE2QUU0QjBCMDAxRkU2ODIgLyogRE9NUGF0
aC5pZGwgKi8sCiAJCQkJNDlFRUNEQ0MxMDUwM0MyMzAwMDk5RkFCIC8qIEFycmF5QnVmZmVyLmlk
bCAqLywKIAkJCQk0OUVFQ0RDOTEwNTAzQzIzMDAwOTlGQUIgLyogQXJyYXlCdWZmZXJWaWV3Lmlk
bCAqLywKIAkJCQk2RTRFOTFBNzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJp
YnV0ZXMuY3BwICovLApAQCAtMTg3MjcsNiArMTg3NDIsOCBAQAogCQkJCTJFOTdDRTZFMTI5M0FE
NkIwMEM1QzhGRiAvKiBKU0RhdGFWaWV3LmggKi8sCiAJCQkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0
MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2
NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8sCisJCQkJRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8q
IEpTRE9NUGF0aC5jcHAgKi8sCisJCQkJRkI5MTM5MjgxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9N
UGF0aC5oICovLAogCQkJCTRBQ0JDMEM4MTI3MTNEMEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxl
VG9rZW5MaXN0LmNwcCAqLywKIAkJCQk0QUNCQzBDOTEyNzEzRDBBMDA5NEY5QjIgLyogSlNET01T
ZXR0YWJsZVRva2VuTGlzdC5oICovLAogCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBK
U0RPTVRva2VuTGlzdC5jcHAgKi8sCkBAIC0yNjI2MCw2ICsyNjI3Nyw5IEBACiAJCQkJRTFCRTUx
MkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJRkI5MTM5MjQxNkFFNEMxNzAwMUZFNjgyIC8qIERPTVBhdGguaCBpbiBIZWFkZXJz
ICovLAorCQkJCUZCOTEzOTI2MTZBRTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MkExNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0
aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yOTQwOSw2ICsyOTQyOSw4IEBACiAJCQkJRTFCRTUxMkQw
Q0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkI5MTM5MjcxNkFFNEMzNDAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2Rz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCOTEzOTJCMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RP
TVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ2ZTZjNWYzOTc5Mzk1Yzc1OGU0
MjEzOGM1ZjA5Nzg5ZTIwZGJjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNwcApAQCAtMCwwICsxLDE2OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2Fu
dmFzUGF0aE1ldGhvZHMuaCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmNsb3NlUGF0aCgpCit7CisgICAg
aWYgKG1fcGF0aC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBi
b3VuZFJlY3QgPSBtX3BhdGguZmFzdEJvdW5kaW5nUmVjdCgpOworICAgIGlmIChib3VuZFJlY3Qu
d2lkdGgoKSB8fCBib3VuZFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIG1fcGF0aC5jbG9zZVN1YnBh
dGgoKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6bW92ZVRvKGZsb2F0IHgsIGZsb2F0
IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICBtX3BhdGgubW92ZVRvKEZsb2F0UG9pbnQoeCwgeSkpOworfQorCit2b2lkIENhbnZhc1Bh
dGhNZXRob2RzOjpsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBpZiAoIWlzZmluaXRl
KHgpIHwgIWlzZmluaXRlKHkpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCF0cmFuc2Zvcm1J
c0ludmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQb2ludCBwMSA9IEZs
b2F0UG9pbnQoeCwgeSk7CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAg
ICAgIG1fcGF0aC5tb3ZlVG8ocDEpOworICAgIGVsc2UgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50
UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLmFkZExpbmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKK30K
Kwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZs
b2F0IGNweSwgZmxvYXQgeCwgZmxvYXQgeSkKK3sKKyAgICBpZiAoIWlzZmluaXRlKGNweCkgfCAh
aXNmaW5pdGUoY3B5KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVU
byhGbG9hdFBvaW50KGNweCwgY3B5KSk7CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2lu
dCh4LCB5KTsKKyAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBt
X3BhdGguYWRkUXVhZEN1cnZlVG8oRmxvYXRQb2ludChjcHgsIGNweSksIHAxKTsKK30KKwordm9p
ZCBDYW52YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5
LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICgh
aXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5pdGUoY3AxeSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAhaXNm
aW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVy
bjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8o
RmxvYXRQb2ludChjcDF4LCBjcDF5KSk7CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2lu
dCh4LCB5KTsKKyAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBt
X3BhdGguYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpLCBGbG9hdFBvaW50
KGNwMngsIGNwMnkpLCBwMSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OmFyY1RvKGZs
b2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIsIGZsb2F0IHkyLCBmbG9hdCByLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4MSkgfCAhaXNmaW5p
dGUoeTEpIHwgIWlzZmluaXRlKHgyKSB8ICFpc2Zpbml0ZSh5MikgfCAhaXNmaW5pdGUocikpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChyIDwgMCkgeworICAgICAgICBlYyA9IElOREVYX1NJ
WkVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCF0cmFuc2Zvcm1Jc0lu
dmVydGlibGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0
UG9pbnQoeDEsIHkxKTsKKyAgICBGbG9hdFBvaW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOwor
CisgICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3Zl
VG8ocDEpOworICAgIGVsc2UgaWYgKHAxID09IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9
PSBwMiB8fCAhcikKKyAgICAgICAgbGluZVRvKHgxLCB5MSk7CisgICAgZWxzZQorICAgICAgICBt
X3BhdGguYWRkQXJjVG8ocDEsIHAyLCByKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6
YXJjKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBh
bnRpY2xvY2t3aXNlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgaWYg
KCFpc2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZShyKSB8ICFpc2Zpbml0ZShz
YSkgfCAhaXNmaW5pdGUoZWEpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAociA8IDApIHsK
KyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmICghciB8fCBzYSA9PSBlYSkgeworICAgICAgICAvLyBUaGUgYXJjIGlzIGVtcHR5IGJ1
dCB3ZSBzdGlsbCBuZWVkIHRvIGRyYXcgdGhlIGNvbm5lY3RpbmcgbGluZQorICAgICAgICBsaW5l
VG8oeCArIHIgKiBjb3NmKHNhKSwgeSArIHIgKiBzaW5mKHNhKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1
cm47CisKKyAgICAvLyBJZiAnc2EnIGFuZCAnZWEnIGRpZmZlciBieSBtb3JlIHRoYW4gMlBpLCBq
dXN0IGFkZCBhIGNpcmNsZSBzdGFydGluZy9lbmRpbmcgYXQgJ3NhJworICAgIGlmIChhbnRpY2xv
Y2t3aXNlICYmIHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFy
YyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lz
ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFhbnRpY2xvY2t3aXNlICYmIGVh
IC0gc2EgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50
KHgsIHkpLCByLCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIs
IHNhLCBlYSwgYW50aWNsb2Nrd2lzZSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OnJl
Y3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKK3sKKyAgICBp
ZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IWlzZmluaXRlKHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5pdGUod2lkdGgpIHx8ICFpc2Zp
bml0ZShoZWlnaHQpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXdpZHRoICYmICFoZWln
aHQpIHsKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0
aCwgaGVpZ2h0KSk7Cit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNQYXRoTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UGF0aE1ldGhvZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGQ2MDEwNGVmMTk3OWY2MzU3ZjJhMzA2OGZmZDkx
NjA0OTdjZTIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUGF0aE1ldGhvZHMuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyLCAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQ2FudmFzUGF0aE1ldGhvZHNfaAorI2RlZmluZSBDYW52YXNQYXRo
TWV0aG9kc19oCisKKyNpbmNsdWRlICJQYXRoLmgiCisKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGbG9hdFJlY3Q7CisKK3R5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIENhbnZhc1BhdGhNZXRob2RzIHsKK3B1Ymxp
YzoKKyAgICB2aXJ0dWFsIH5DYW52YXNQYXRoTWV0aG9kcygpIHsgfQorCisgICAgdm9pZCBjbG9z
ZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIGxp
bmVUbyhmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oZmxvYXQg
Y3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkpOworICAgIHZvaWQgYmV6aWVyQ3VydmVU
byhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4
LCBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGZsb2F0IHgwLCBmbG9hdCB5MCwgZmxvYXQgeDEs
IGZsb2F0IHkxLCBmbG9hdCByYWRpdXMsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGFyYyhm
bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgY2xvY2t3
aXNlLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZs
b2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOworICAgIAorICAgIHZpcnR1YWwgYm9vbCB0cmFuc2Zv
cm1Jc0ludmVydGlibGUoKSB7IHJldHVybiB0cnVlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBDYW52
YXNQYXRoTWV0aG9kcygpIHsgfQorICAgIFBhdGggbV9wYXRoOworfTsKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmNwcAppbmRleCA3MDk4ZjAxMmRiNzJjNDU1MGI0ZjY3MDkwODM4Y2VjYzllMThiYzQ2
Li43MjBjYTczYmNlYzljM2VkYjE2OWMyZjQ3YjZmOGMyNjg3NTk5OTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAKQEAgLTg1MiwxMjUgKzg1Miw2IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpi
ZWdpblBhdGgoKQogICAgIG1fcGF0aC5jbGVhcigpOwogfQogCi12b2lkIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6Y2xvc2VQYXRoKCkKLXsKLSAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgRmxvYXRSZWN0IGJvdW5kUmVjdCA9IG1fcGF0aC5mYXN0Qm91
bmRpbmdSZWN0KCk7Ci0gICAgaWYgKGJvdW5kUmVjdC53aWR0aCgpIHx8IGJvdW5kUmVjdC5oZWln
aHQoKSkKLSAgICAgICAgbV9wYXRoLmNsb3NlU3VicGF0aCgpOwotfQotCi12b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6bW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFp
c2Zpbml0ZSh4KSB8ICFpc2Zpbml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3Rh
dGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BhdGgubW92ZVRv
KEZsb2F0UG9pbnQoeCwgeSkpOwotfQotCi12b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
bGluZVRvKGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8ICFpc2Zp
bml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVD
VE0pCi0gICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgs
IHkpOwotICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgu
bW92ZVRvKHAxKTsKLSAgICBlbHNlIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCi0g
ICAgICAgIG1fcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci19Ci0KLXZvaWQgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpxdWFkcmF0aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQg
Y3B5LCBmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlmICghaXNmaW5pdGUoY3B4KSB8ICFpc2Zp
bml0ZShjcHkpIHwgIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47
Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotICAg
IGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBtX3BhdGgubW92ZVRvKEZs
b2F0UG9pbnQoY3B4LCBjcHkpKTsKLQotICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgs
IHkpOwotICAgIGlmIChwMSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0
aC5hZGRRdWFkQ3VydmVUbyhGbG9hdFBvaW50KGNweCwgY3B5KSwgcDEpOwotfQotCi12b2lkIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6YmV6aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBj
cDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5LCBmbG9hdCB4LCBmbG9hdCB5KQotewotICAgIGlm
ICghaXNmaW5pdGUoY3AxeCkgfCAhaXNmaW5pdGUoY3AxeSkgfCAhaXNmaW5pdGUoY3AyeCkgfCAh
aXNmaW5pdGUoY3AyeSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkpCi0gICAgICAgIHJl
dHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47
Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3Zl
VG8oRmxvYXRQb2ludChjcDF4LCBjcDF5KSk7Ci0KLSAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQ
b2ludCh4LCB5KTsKLSAgICBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQotICAgICAg
ICBtX3BhdGguYWRkQmV6aWVyQ3VydmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpLCBGbG9hdFBv
aW50KGNwMngsIGNwMnkpLCBwMSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjphcmNUbyhmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0IHgyLCBmbG9hdCB5MiwgZmxvYXQgciwg
RXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgZWMgPSAwOwotICAgIGlmICghaXNmaW5pdGUoeDEp
IHwgIWlzZmluaXRlKHkxKSB8ICFpc2Zpbml0ZSh4MikgfCAhaXNmaW5pdGUoeTIpIHwgIWlzZmlu
aXRlKHIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAociA8IDApIHsKLSAgICAgICAgZWMg
PSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc3Rh
dGUoKS5tX2ludmVydGlibGVDVE0pCi0gICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UG9pbnQg
cDEgPSBGbG9hdFBvaW50KHgxLCB5MSk7Ci0gICAgRmxvYXRQb2ludCBwMiA9IEZsb2F0UG9pbnQo
eDIsIHkyKTsKLQotICAgIGlmICghbV9wYXRoLmhhc0N1cnJlbnRQb2ludCgpKQotICAgICAgICBt
X3BhdGgubW92ZVRvKHAxKTsKLSAgICBlbHNlIGlmIChwMSA9PSBtX3BhdGguY3VycmVudFBvaW50
KCkgfHwgcDEgPT0gcDIgfHwgIXIpCi0gICAgICAgIGxpbmVUbyh4MSwgeTEpOwotICAgIGVsc2UK
LSAgICAgICAgbV9wYXRoLmFkZEFyY1RvKHAxLCBwMiwgcik7Ci19Ci0KLXZvaWQgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjphcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2Es
IGZsb2F0IGVhLCBib29sIGFudGljbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAg
IGVjID0gMDsKLSAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpIHwgIWlzZmluaXRl
KHIpIHwgIWlzZmluaXRlKHNhKSB8ICFpc2Zpbml0ZShlYSkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChyIDwgMCkgewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFyIHx8IHNhID09IGVhKSB7Ci0gICAgICAgIC8vIFRo
ZSBhcmMgaXMgZW1wdHkgYnV0IHdlIHN0aWxsIG5lZWQgdG8gZHJhdyB0aGUgY29ubmVjdGluZyBs
aW5lCi0gICAgICAgIGxpbmVUbyh4ICsgciAqIGNvc2Yoc2EpLCB5ICsgciAqIHNpbmYoc2EpKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVD
VE0pCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIElmICdzYScgYW5kICdlYScgZGlmZmVyIGJ5
IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEgY2lyY2xlIHN0YXJ0aW5nL2VuZGluZyBhdCAnc2En
Ci0gICAgaWYgKGFudGljbG9ja3dpc2UgJiYgc2EgLSBlYSA+PSAyICogcGlGbG9hdCkgewotICAg
ICAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSAtIDIgKiBwaUZs
b2F0LCBhbnRpY2xvY2t3aXNlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoIWFu
dGljbG9ja3dpc2UgJiYgZWEgLSBzYSA+PSAyICogcGlGbG9hdCkgewotICAgICAgICBtX3BhdGgu
YWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBzYSArIDIgKiBwaUZsb2F0LCBhbnRpY2xv
Y2t3aXNlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fcGF0aC5hZGRBcmMoRmxv
YXRQb2ludCh4LCB5KSwgciwgc2EsIGVhLCBhbnRpY2xvY2t3aXNlKTsKLX0KLQogc3RhdGljIGJv
b2wgdmFsaWRhdGVSZWN0Rm9yQ2FudmFzKGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHdpZHRo
LCBmbG9hdCYgaGVpZ2h0KQogewogICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUoeSkg
fCAhaXNmaW5pdGUod2lkdGgpIHwgIWlzZmluaXRlKGhlaWdodCkpCkBAIC05OTIsMjIgKzg3Myw2
IEBAIHN0YXRpYyBib29sIHZhbGlkYXRlUmVjdEZvckNhbnZhcyhmbG9hdCYgeCwgZmxvYXQmIHks
IGZsb2F0JiB3aWR0aCwgZmxvYXQmIGhlaWdoCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpyZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdp
ZHRoLCBmbG9hdCBoZWlnaHQpCi17Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFpc2Zpbml0ZSh4KSB8fCAhaXNmaW5pdGUoeSkg
fHwgIWlzZmluaXRlKHdpZHRoKSB8fCAhaXNmaW5pdGUoaGVpZ2h0KSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgaWYgKCF3aWR0aCAmJiAhaGVpZ2h0KSB7Ci0gICAgICAgIG1fcGF0aC5tb3ZlVG8o
RmxvYXRQb2ludCh4LCB5KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3BhdGgu
YWRkUmVjdChGbG9hdFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCkpOwotfQotCiAjaWYgRU5BQkxF
KERBU0hCT0FSRF9TVVBQT1JUKQogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFy
UGF0aEZvckRhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaApp
bmRleCBkZTkwZDYzZjBjYTBhMDZmNGJlMWVhNmZiODE1ZWVmYWIwZTVhNTE1Li4xZmNmNTIxYjFh
ZTZiYjYyOTk4ZGJhYzM0NTllNWMxNjIyNWI4MzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtMjcsNiArMjcs
NyBAQAogI2RlZmluZSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRfaAogCiAjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMuaCIKICNpbmNsdWRl
ICJDYW52YXNSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRl
ICJDb2xvclNwYWNlLmgiCkBAIC01OCw3ICs1OSw3IEBAIGNsYXNzIFRleHRNZXRyaWNzOwogCiB0
eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgOiBwdWJsaWMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CitjbGFzcyBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQgOiBwdWJsaWMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCwgcHVibGljIENhbnZh
c1BhdGhNZXRob2RzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ+IGNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIHVz
ZXNDU1NDb21wYXRpYmlsaXR5UGFyc2VNb2RlLCBib29sIHVzZXNEYXNoYm9hcmRDb21wYXRpYmls
aXR5TW9kZSkKICAgICB7CkBAIC0xMzUsMTUgKzEzNiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEZpbGxDb2xvcihmbG9hdCBjLCBmbG9hdCBtLCBmbG9hdCB5LCBmbG9hdCBrLCBmbG9hdCBhKTsK
IAogICAgIHZvaWQgYmVnaW5QYXRoKCk7Ci0gICAgdm9pZCBjbG9zZVBhdGgoKTsKLQotICAgIHZv
aWQgbW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgbGluZVRvKGZsb2F0IHgsIGZs
b2F0IHkpOwotICAgIHZvaWQgcXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwg
ZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBiZXppZXJDdXJ2ZVRvKGZsb2F0IGNwMXgsIGZs
b2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgsIGZsb2F0IHkpOwotICAg
IHZvaWQgYXJjVG8oZmxvYXQgeDAsIGZsb2F0IHkwLCBmbG9hdCB4MSwgZmxvYXQgeTEsIGZsb2F0
IHJhZGl1cywgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYXJjKGZsb2F0IHgsIGZsb2F0IHks
IGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBjbG9ja3dpc2UsIEV4Y2VwdGlvbkNv
ZGUmKTsKLSAgICB2b2lkIHJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0
IGhlaWdodCk7CiAKICAgICB2b2lkIGZpbGwoY29uc3QgU3RyaW5nJiB3aW5kaW5nID0gIm5vbnpl
cm8iKTsKICAgICB2b2lkIHN0cm9rZSgpOwpAQCAtMzMxLDExICszMjMsMTIgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGJvb2wgaXMyZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZCgpIGNvbnN0IE9WRVJSSURFOwogCisgICAg
dmlydHVhbCBib29sIHRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpIHsgcmV0dXJuIHN0YXRlKCkubV9p
bnZlcnRpYmxlQ1RNOyB9CisKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAmJiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBw
bGF0Zm9ybUxheWVyKCkgY29uc3QgT1ZFUlJJREU7CiAjZW5kaWYKIAotICAgIFBhdGggbV9wYXRo
OwogICAgIFZlY3RvcjxTdGF0ZSwgMT4gbV9zdGF0ZVN0YWNrOwogICAgIHVuc2lnbmVkIG1fdW5y
ZWFsaXplZFNhdmVDb3VudDsKICAgICBib29sIG1fdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1v
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmlkbAppbmRleCBkYzA3NDdmYmQyNGViM2ViNmVhOWQ3NGRhNWI0ZDVjOTY2
ZGQxMGE1Li45ZTE4M2ZmMmRiZTU5N2EwYWE5ODMzMzE2ZTdiMTVjMDgzZDBmY2VmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5pZGwKQEAgLTk1LDYgKzk1LDggQEAgaW50ZXJmYWNlIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRCA6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgaGVpZ2h0KTsKIAogICAgIHZvaWQgYmVn
aW5QYXRoKCk7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBzaG91bGQgYmUgc2hhcmVk
IHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluIHRoZSBDYW52YXNQYXRoTWV0aG9kcyBp
bnRlcmZhY2UuCiAgICAgdm9pZCBjbG9zZVBhdGgoKTsKICAgICB2b2lkIG1vdmVUbyhpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAogICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkpOwpAQCAtMTI3LDYgKzEyOSw3IEBA
IGludGVyZmFjZSBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBDYW52YXNSZW5kZXJpbmdDb250
ZXh0IHsKICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9h
dCBlbmRBbmdsZSwKICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBib29sZWFuIGFudGljbG9ja3dpc2UpCiAgICAgICAgIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
KwogICAgIHZvaWQgZmlsbChpbiBbT3B0aW9uYWxdIERPTVN0cmluZyB3aW5kaW5nKTsKICAgICB2
b2lkIHN0cm9rZSgpOwogICAgIHZvaWQgY2xpcChpbiBbT3B0aW9uYWxdIERPTVN0cmluZyB3aW5k
aW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTFmNTYy
YmEwY2YxZDA1ZjM3NTJkNmNhMTg4NmM3NThmMDNiNDZkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01QYXRoX2gKKyNkZWZpbmUgRE9NUGF0
aF9oCisKKyNpZiBFTkFCTEUoQ0FOVkFTX1BBVEgpCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhv
ZHMuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NUGF0aCA6IHB1YmxpYyBS
ZWZDb3VudGVkPERPTVBhdGg+LCBwdWJsaWMgQ2FudmFzUGF0aE1ldGhvZHMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERPTVBhdGgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01QYXRoPiBjcmVhdGUoKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgRE9NUGF0aCk7IH0KKyAgICB2aXJ0dWFsIH5ET01QYXRoKCkgeyB9Citwcml2YXRl
OgorICAgIERPTVBhdGgoKSA6IENhbnZhc1BhdGhNZXRob2RzKCkgeyB9Cit9OworfQorI2VuZGlm
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGgu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjBmNzAwMTkxYjg3YmMwYzQ3YTczZTQ4MzZjNzdhYWRmMDVmYTg4MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RPTVBhdGguaWRsCkBAIC0wLDAgKzEsNjUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBv
cmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW50ZXJmYWNlIFsKKyAgICBDb25zdHJ1
Y3RvciwKKyAgICBDb25kaXRpb25hbD1DQU5WQVNfUEFUSCwKKyAgICBJbnRlcmZhY2VOYW1lPVBh
dGgKK10gRE9NUGF0aCB7CisKKyAgICAvLyBGSVhNRTogVGhlc2UgbWV0aG9kcyBzaG91bGQgYmUg
c2hhcmVkIHdpdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGluIHRoZSBDYW52YXNQYXRoTWV0
aG9kcyBpbnRlcmZhY2UuCisgICAgdm9pZCBjbG9zZVBhdGgoKTsKKyAgICB2b2lkIG1vdmVUbyhp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAg
IGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkpOworICAgIHZvaWQgbGlu
ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7CisgICAgdm9p
ZCBxdWFkcmF0aWNDdXJ2ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0
IGNweCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gZmxvYXQgY3B5LAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIGJl
emllckN1cnZlVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AxeCwK
KyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
ZmxvYXQgY3AxeSwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gZmxvYXQgY3AyeCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlv
bmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3AyeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7Cisg
ICAgdm9pZCBhcmNUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4MSwK
KyAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkx
LAorICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQg
eDIsCisgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9h
dCB5MiwKKyAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZs
b2F0IHJhZGl1cykKKyAgICAgICAgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgIHZvaWQgcmVj
dChpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB5LAorICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB3aWR0aCwKKyAgICAgICAg
ICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgaGVpZ2h0KTsKKyAg
ICB2b2lkIGFyYyhpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4LAorICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHksCisgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgcmFkaXVzLAor
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHN0YXJ0
QW5nbGUsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxv
YXQgZW5kQW5nbGUsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gYm9vbGVhbiBhbnRpY2xvY2t3aXNlKQorICAgICAgICByYWlzZXMgKERPTUV4Y2VwdGlvbik7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDgyNTc5ODdiNGI0NjUwNDk5ODJm
ZGMzM2QyOWVkYTUzZGE3ODQ0OGIuLmMyNjQ1NmQxNzRmMjc1ZTE2YzI0ZTVkZDZmZmY4MTJmYWE4
MGIzOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM5OCw2ICszOTgsNyBAQAog
ICAgIGF0dHJpYnV0ZSBOb3RhdGlvbkNvbnN0cnVjdG9yIE5vdGF0aW9uOwogICAgIGF0dHJpYnV0
ZSBFbnRpdHlDb25zdHJ1Y3RvciBFbnRpdHk7CiAgICAgYXR0cmlidXRlIEVudGl0eVJlZmVyZW5j
ZUNvbnN0cnVjdG9yIEVudGl0eVJlZmVyZW5jZTsKKyAgICBbQ29uZGl0aW9uYWw9Q0FOVkFTX1BB
VEhdIGF0dHJpYnV0ZSBET01QYXRoQ29uc3RydWN0b3IgUGF0aDsKICAgICBhdHRyaWJ1dGUgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uQ29uc3RydWN0b3IgUHJvY2Vzc2luZ0luc3RydWN0aW9uOwogICAg
IFtDb25kaXRpb25hbD1TSEFET1dfRE9NLCBWOEVuYWJsZWRBdFJ1bnRpbWU9c2hhZG93RE9NXSBh
dHRyaWJ1dGUgU2hhZG93Um9vdENvbnN0cnVjdG9yIFdlYktpdFNoYWRvd1Jvb3Q7CiAgICAgW0Nv
bmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJp
YnV0ZSBIVE1MQ29udGVudEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQ29udGVudEVsZW1lbnQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOWFlY2M2NGQwNWRhMWQ1YTY4ZjY3OWQ3MDQ2NTg3MmI1OTQ4ZTFiOS4uYTA4OGQ3ZTMx
YTU3N2M3YzFlZDYwNzIxZDMzMjY1ODE2Nzk2NjA5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDEzLTAxLTIyICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IENhbnZhcyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGZvciBjaGVja2luZyBleGlzdGVuY2Ugb2Yg
UGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMuCisgICAgICAgIFRoZSB0ZXN0IGlz
IHN1cHBvc2VkIHRvIGZhaWwgaWYgY2FudmFzLXBhdGggaXMgbm90IGFjdGl2YXRlZCBvbiBjb21w
aWxlIHRpbWUuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmpl
Y3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1wYXRoLW9iamVjdC5qczogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9uczogRGlmZmVyZW50IGVycm9yIGhhbmRsaW5nIG9uIENocm9taXVtLiBOZWVk
cyByZWJhc2VsaW5lLgorCiAyMDEzLTAxLTIxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgVUlFdmVudCBjb25zdHJ1Y3RvcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDg2ODc2NDE2NWNhMDJhYWUzMmZmZWU3ZjBhYzg0ZDRjODhmYzM5
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRo
LW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBQYXRoCitFbnN1cmUg
dGhhdCB0aGUgY29uc3RydWN0b3IgZm9yIFBhdGggb2JqZWN0IGFuZCBkZXBlbmRlbnQgZnVuY3Rp
b25zIGV4aXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2Yg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgaXMgImZ1bmN0aW9uIgorRkFJTCBzdWNjZXNzZnVsbHlQ
YXJzZWQgc2hvdWxkIGJlIHRydWUgKG9mIHR5cGUgYm9vbGVhbikuIFdhcyB1bmRlZmluZWQgKG9m
IHR5cGUgdW5kZWZpbmVkKS4KKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NjE2ZDkyZmZk
N2FjNGIxN2E5OWMwNTcxNWYxMzlkMTBlZWUyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QuaHRtbApAQCAtMCwwICsxLDExIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIg
aGVpZ2h0PSIyMDAiPjwvY2FudmFzPgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMt
cGF0aC1vYmplY3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtcGF0aC1vYmpl
Y3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTE1MTdlZmZiMmQ1NjNjNmMxODg2MDhmODk4Njg4N2VjNDMxOWU2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0
cy9jYW52YXMtcGF0aC1vYmplY3QuanMKQEAgLTAsMCArMSwxNCBAQAorZGVzY3JpcHRpb24oIkVu
c3VyZSB0aGF0IHRoZSBjb25zdHJ1Y3RvciBmb3IgUGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBm
dW5jdGlvbnMgZXhpc3QuIik7CisKK3Nob3VsZEJlKCJ0eXBlb2YgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQiLCAnImZ1bmN0aW9uIicpOworCit2YXIgcGF0aCA9IG5ldyBQYXRoKCk7CitzaG91bGRC
ZVR5cGUoInBhdGgiLCAiUGF0aCIpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmNsb3NlUGF0aCIs
ICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGgubW92ZVRvIiwgJyJmdW5jdGlv
biInKTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5saW5lVG8iLCAnImZ1bmN0aW9uIicpOworc2hv
dWxkQmUoInR5cGVvZiBwYXRoLnF1YWRyYXRpY0N1cnZlVG8iLCAnImZ1bmN0aW9uIicpOworc2hv
dWxkQmUoInR5cGVvZiBwYXRoLmJlemllckN1cnZlVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxk
QmUoInR5cGVvZiBwYXRoLmFyY1RvIiwgJyJmdW5jdGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2Yg
cGF0aC5hcmMiLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLnJlY3QiLCAn
ImZ1bmN0aW9uIicpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDRkZGI1MzUxNDUxNTBj
ZTY2MjA4OGQxYjQ0NDRiOWVmZTc2ZGI2ODEuLmQ3ZDBiNjM4MTM5NzFmN2FjZTg1YjZhNDlmOWE0
MDNkMTJmOWEwZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtNDMyMiw2ICs0MzIyLDkgQEAgd2Via2l0Lm9yZy9iLzEwNTU3NCBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3N1Z2dlc3Rpb24tcGlja2VyL2RhdGUtc3VnZ2VzdGkK
IHdlYmtpdC5vcmcvYi8xMDU1NzQgcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9zdWdnZXN0
aW9uLXBpY2tlci9tb250aC1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLXdpdGgtc2Nyb2xs
LWJhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA1NTc0IHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvd2Vlay1zdWdnZXN0aW9u
LXBpY2tlci1hcHBlYXJhbmNlLXdpdGgtc2Nyb2xsLWJhci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiAKK3dlYmtpdC5vcmcvYi85NzMzMyBmYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3Qu
aHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzk3MzMzIHBsYXRmb3JtL2Nocm9taXVtL3Zp
cnR1YWwvZ3B1L2Zhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sIFsgRmFpbHVyZSBd
CisKICMgVGhpcyBpcyB3b24ndCBmaXgsIGFzIHRoZSBkZWJ1ZyBhbmQgcmVsZWFzZSB2ZXJzaW9u
cyBkaWZmZXIuCiB3ZWJraXQub3JnL2IvOTkxMzggWyBEZWJ1ZyBTbm93TGVvcGFyZCBdIHN2Zy9j
dXN0b20vZm9yZWlnbi1vYmplY3Qtc2tldy5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184279</attachid>
            <date>2013-01-23 12:15:10 -0800</date>
            <delta_ts>2013-01-23 14:47:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97333-20130123121203.patch</filename>
            <type>text/plain</type>
            <size>46672</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjgzZjExZTViMTVjZDlj
YzY4MzRmM2Y1YjgzY2ZmZDMwMDM1YmJhNi4uOWRmMDJmZTcyZmFmM2ZlNjQ0ZDkyMjU5ZTk2OWZk
M2FiYjA5MTM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAxLTIzICBEaXJr
IFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENhbnZh
cyBQYXRoIG9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTczMzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgQ2FudmFzIHBhcnQgb2YgdGhlIFdIQVRXRyBzcGVjaWZpY2F0aW9uIGRlZmluZXMg
YSBQYXRoIG9iamVjdC4gVGhpcyBQYXRoIG9iamVjdAorICAgICAgICBzaGFyZXMgc2V2ZXJhbCBw
YXRoIHNlZ21lbnQgZnVuY3Rpb25zIChwYXRoIG1ldGhvZHMpIHdpdGggdGhlIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRAorICAgICAgICBpbnRlcmZhY2UuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgUGF0aCBvYmplY3QgYW5kIHNoYXJlcyB0aGUgcGF0aCBzZWdtZW50IGZ1bmN0aW9ucworICAg
ICAgICBpbiB0aGUgY2xhc3MgQ2FudmFzUGF0aE1ldGhvZHMuCisgICAgICAgIFRoaXMgcGF0Y2gg
ZG9lcyBqdXN0IGltcGxlbWVudCB0aGUgYmFzaWMgcGF0aCBmdW5jdGlvbnMgdGhhdCBoYXZlIGEg
Z2VuZXJhbCBhZ3JlZW1lbnQgb24KKyAgICAgICAgdGhlIFdIQVQgV0cgYW5kIFczQyBtYWlsaW5n
IGxpc3RzLgorICAgICAgICBUaGlzIGZlYXR1cmUgaXMgYmVoaW5kIGEgZmxhZyBhbmQgd29uJ3Qg
YmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3Jn
L3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWNhbnZhcy1lbGVtZW50
Lmh0bWwjcGF0aC1vYmplY3RzCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52YXMvY2FudmFzLXBh
dGgtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgRE9NUGF0aCBh
bmQgQ2FudmFzUGF0aE1lZHRob2RzIHRvIGJ1aWxkIHN5c3RlbS4KKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5jcHA6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRv
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnByaTogRGl0dG8uCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6IFRoaXMgY2xhc3Mgc2hhcmVzIHRoZSBwYXRo
IHNlZ21lbnQgZnVuY3Rpb25zIChtb3ZlVG8sIGxpbmVUbywgLi4uKSBiZXR3ZWVuCisgICAgICAg
ICAgICBET01QYXRoICh0aGUgUGF0aCBvYmplY3QpIGFuZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Y2xvc2VQYXRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1BhdGhNZXRob2RzOjptb3ZlVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6OmxpbmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6cXVhZHJhdGljQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNQYXRoTWV0aG9kczo6YmV6aWVyQ3VydmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQ
YXRoTWV0aG9kczo6YXJjVG8pOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUGF0aE1ldGhvZHM6
OmFyYyk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6cmVjdCk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKENhbnZhc1BhdGhNZXRob2RzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1BhdGhNZXRob2RzOjp+Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUGF0aE1ldGhvZHM6OnRyYW5zZm9ybUlzSW52ZXJ0aWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNQYXRoTWV0aG9kczo6Q2FudmFzUGF0aE1ldGhvZHMpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHA6CisgICAgICAgICogaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmg6IFJlbW92ZSB0aGUgcGF0aCBzZWdt
ZW50IGZ1bmN0aW9ucyBoZXJlLgorICAgICAgICAoQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKToK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtSXNJ
bnZlcnRpYmxlKTogVGhpcyBjaGVja3MgaWYgdGhlIENUTQorICAgICAgICAgICAgb2YgdGhlIGNv
bnRleHQgaXMgc3RpbGwgaW52ZXJ0aWJsZS4gRHJhd2luZyBzaG91bGQgc3RvcCBpZiBpdCBpcyBu
b3QuCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChET01QYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBhdGg6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRoOjp+RE9NUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjpET01QYXRoOjpET01QYXRoKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9ET01QYXRoLmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCBDVE9SIGZvciBQ
YXRoLgorCiAyMDEzLTAxLTIzICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eSBhY2NlcHRzIGluY29ycmVjdCAiYWxsLCBub25l
IiBhcyB2YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwYmE1Zjg2NDgzZWE4YjM0ZjgwNGE3
YjFlMWE4MTVkMGQxNzMzYjc0Li5kY2Y3ZDFjYTMxOTc4MDk0YWY4YTQ3YjAxMDM3OGIyN2M0MDk1
MTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTE3LDYgKzUxNyw3IEBAIHNldChXZWJDb3Jl
X0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwK
ICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbAogICAgIGh0bWwvY2Fu
dmFzL0RhdGFWaWV3LmlkbAorICAgIGh0bWwvY2FudmFzL0RPTVBhdGguaWRsCiAgICAgaHRtbC9j
YW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbAogICAgIGh0bWwvY2FudmFzL0Zs
b2F0MzJBcnJheS5pZGwKICAgICBodG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRsCkBAIC0xNDk3
LDYgKzE0OTgsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBodG1sL2NhbnZhcy9DYW52
YXNDb250ZXh0QXR0cmlidXRlcy5jcHAKICAgICBodG1sL2NhbnZhcy9DYW52YXNHcmFkaWVudC5j
cHAKKyAgICBodG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKICAgICBodG1sL2NhbnZh
cy9DYW52YXNQYXR0ZXJuLmNwcAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1Byb3h5LmNwcAogICAg
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKaW5kZXggN2I2MTE2OGQ5MjQzMWFkZTk1M2E0NWMzODE1MzFjOThhZDhjYzM3Ny4u
MjMyZGU0YzYwYmRlNTkyNmFmZTEwODYxMDRkNTE3NDEzMDQ0M2U1YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcApAQCAtOTUsNiArOTUsNyBAQAogI2luY2x1ZGUgIkpTRE9NTWltZVR5cGVB
cnJheS5jcHAiCiAjaW5jbHVkZSAiSlNET01OYW1lZEZsb3dDb2xsZWN0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0RPTVBhcnNlci5jcHAiCisjaW5jbHVkZSAiSlNET01QYXRoLmNwcCIKICNpbmNsdWRl
ICJKU0RPTVBsdWdpbi5jcHAiCiAjaW5jbHVkZSAiSlNET01QbHVnaW5BcnJheS5jcHAiCiAjaW5j
bHVkZSAiSlNET01TZWN1cml0eVBvbGljeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCA5ZTQwNzg1MDZmZTZmODA0NjlhNTVhZDkyZTdlMjlkZmVkMmMxYjc2Li43MDc4MmZh
ZjMzZjhhMGNhMjAzMTY1OGRmN2ZiZjE5YjZmYmNiN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTM4Miw2ICszODIsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2Nh
bnZhcy9ET01QYXRoLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9FWFRUZXh0dXJl
RmlsdGVyQW5pc290cm9waWMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0
MzJBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5Lmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggMGUwMGM4ZjY4YjYxNDYzMzIyYmM5
MTIwNDQ0ZmU2NjBlNDZiZmI5ZC4uNWIyNTBhMTg1ZjFhY2VkMDFlYzAxNWMyZTEyMDAxNzBjODU4
OGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzA1LDYgKzMwNSw3IEBAIElE
TF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuaWRsIFwK
ICAgICAkJFBXRC9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCBcCiAgICAg
JCRQV0QvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCisgICAgJCRQ
V0QvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL0VYVFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGwgXAogICAgICQkUFdEL2h0bWwvY2FudmFzL09FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKICAgICAkJFBXRC9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
RmxvYXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGVjMDg1ZjE5MTFm
OTMwYzdiMzNmZmQ2Zjk1ZDFmNjhkOTIxNWJiOWEuLjdkNTU3M2JlMTdjMjRjMWUxMTdlYWQ5YzFh
MmY3NzYwMDZlOTRlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTk3LDYg
KzE5Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTU1pbWVUeXBlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01OYW1l
ZEZsb3dDb2xsZWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTU5hbWVk
Rmxvd0NvbGxlY3Rpb24uaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhdGguY3Bw
IFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGF0aC5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRE9NUGFyc2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVBhcnNlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NUGx1Z2luQXJyYXkuY3Bw
IFwKQEAgLTE1MjcsNiArMTUyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGwgXAogCSQoV2ViQ29yZSkv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCBcCiAJJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9EYXRhVmlldy5pZGwgXAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRE9NUGF0
aC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJv
cGljLmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsIFwKIAkk
KFdlYkNvcmUpL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5pZGwgXApAQCAtMzIyMCw2ICszMjIz
LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNDb250ZXh0QXR0cmlidXRlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNHcmFkaWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dy
YWRpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2Rz
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBc
CiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVybi5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKQEAgLTMyMzMsNiArMzIzOCw3IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2hlY2tlZEludC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmggXAorCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0RPTVBhdGguaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZp
bHRlckFuaXNvdHJvcGljLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4
dHVyZUZpbHRlckFuaXNvdHJvcGljLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDA3MWJhY2VhMjNmZTll
MWY1YTBjYTdjOTdhNmIwYThjNjMwMGExZGUuLjhiZjM5OTdiOWI5MjRmNzBkYmYzMzc3NTI5YjMy
NjgwZTY0NTUyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNzAzLDYgKzcwMyw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIGh0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgXAogICAgIGh0bWwvV2Vla0lucHV0VHlwZS5j
cHAgXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCBcCisgICAgaHRtbC9jYW52
YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJu
LmNwcCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUHJveHkuY3BwIFwKICAgICBodG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcCBcCkBAIC0xNzYxLDEyICsxNzYyLDE0IEBAIEhF
QURFUlMgKz0gXAogICAgIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaCBcCiAgICAgaGlzdG9yeS9QYWdl
Q2FjaGUuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCBcCisgICAgaHRtbC9j
YW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuaCBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVy
bi5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNQcm94eS5oIFwKICAgICBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIFwKICAgICBodG1s
L2NhbnZhcy9EYXRhVmlldy5oIFwKKyAgICBodG1sL2NhbnZhcy9ET01QYXRoLmggXAogICAgIGh0
bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9ET01T
ZXR0YWJsZVRva2VuTGlzdC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA4OTVmNDk0N2E5N2MyZjZk
MWI3NGMxN2Y3NzlhMTJlNGJkNmEzYjFiLi42YjgwYTUzMDA2MDlmYTdiMWUzMGQ3ODE2YTJiM2Ey
MWFmNTBkYzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0zNzEsNiArMzcxLDcgQEAKICAgICAgICAg
ICAgICdodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRsJywKKyAgICAgICAgICAgICdodG1sL2NhbnZhcy9E
T01QYXRoLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFu
aXNvdHJvcGljLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5Lmlk
bCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvRmxvYXQ2NEFycmF5LmlkbCcsCkBAIC0zMjcz
LDYgKzMyNzQsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRBdHRy
aWJ1dGVzLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmNwcCcs
CiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaCcsCisgICAgICAgICAg
ICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhvZHMuY3BwJywKKyAgICAgICAgICAgICdodG1s
L2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9D
YW52YXNQYXR0ZXJuLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvQ2FudmFzUGF0dGVy
bi5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DYW52YXNQcm94eS5jcHAnLApAQCAtMzI4
Niw2ICszMjg5LDcgQEAKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9DaGVja2VkSW50LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvY2FudmFzL0RhdGFWaWV3LmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9jYW52YXMvRGF0YVZpZXcuaCcsCisgICAgICAgICAgICAnaHRtbC9jYW52YXMvRE9NUGF0aC5o
JywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMu
Y3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9w
aWMuaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCAxMmMyNTY1NTUyZDkyNjI1ODgwYTJjMThkYTRmMjI0OTllNWIzNTE1Li5hYjBlZjJiZTM2YzQ1
MGVhOWQ1NDM3ZjE0ZGQzNjExMDJjMmI4MjY5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzg0Miw2ICszODQyLDYyIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01QYXRoLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0RPTVBhdGguaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0RPTVBhcnNlci5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAt
NTk4NTQsNiArNTk5MTAsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxjYW52YXNcQ2FudmFzUGF0aE1ldGhvZHMuY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xD
YW52YXNQYXRoTWV0aG9kcy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xDYW52YXNQYXR0ZXJuLmNwcCIKIAkJCQk+CiAJCQk8
L0ZpbGU+CkBAIC01OTkyMiw2ICs1OTk4NiwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXGNhbnZhc1xET01QYXRoLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRGF0ZUlucHV0
VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRhZTg0ZGFlZjY0N2JlOTVkYjdhY2Qw
Y2Y0ZmQ2NGFkNGZkNDQ4YTIuLjdkZDhiODc4YTE1NmEyNTdiOGE4NjRlYWQxODRhZDczY2UwYmI3
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTY0NjYsNiArNjQ2NiwxMSBAQAogCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQg
LyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLzsg
fTsKIAkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3
RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAwRkU1NEQz
IC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkI5MTM5MjQx
NkFFNEMxNzAwMUZFNjgyIC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmgg
Ki87IH07CisJCUZCOTEzOTI2MTZBRTRDMkYwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MUYx
NkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi87IH07CisJCUZCOTEzOTI3
MTZBRTRDMzQwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkxMzkxRTE2QUU0QjBCMDAxRkU2ODIg
LyogQ2FudmFzUGF0aE1ldGhvZHMuY3BwICovOyB9OworCQlGQjkxMzkyQTE2QUU0RkMwMDAxRkU2
ODIgLyogSlNET01QYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQjkxMzkyODE2QUU0RkMwMDAxRkU2ODIgLyogSlNET01QYXRoLmggKi87IH07CisJ
CUZCOTEzOTJCMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgy
IC8qIEpTRE9NUGF0aC5jcHAgKi87IH07CiAJCUZCOTJERjRCMTVGRUQwODcwMDk5NDQzMyAvKiBD
bGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkJDMjIw
REYxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCQzIyMERFMTIzN0ZCRUIw
MEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi87IH07CiAJCUZCRDZBRjg4
MTVFRjI1QzkwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENT
U0Jhc2ljU2hhcGVzLmggKi87IH07CkBAIC0xNDA5MCw2ICsxNDA5NSwxMiBAQAogCQlGQjQ5QzM5
QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ1NTSG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBDU1NIb3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRkI5MTM5MUUxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2Rz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENhbnZhc1BhdGhNZXRo
b2RzLmNwcDsgcGF0aCA9IGNhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTFGMTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRo
TWV0aG9kcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDYW52YXNQYXRoTWV0
aG9kcy5oOyBwYXRoID0gY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUZCOTEzOTIwMTZBRTRCMEIwMDFGRTY4MiAvKiBET01QYXRoLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTVBhdGguaDsgcGF0aCA9IGNhbnZhcy9E
T01QYXRoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCOTEzOTIxMTZBRTRCMEIw
MDFGRTY4MiAvKiBET01QYXRoLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBET01QYXRoLmlk
bDsgcGF0aCA9IGNhbnZhcy9ET01QYXRoLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkI5MTM5MjgxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVBhdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVBhdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVy
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBhdGhPcGVyYXRp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNG
Nzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFGODIxNUVGMjFBMzAwOEI3MTEwIC8qIEJhc2ljU2hhcGVz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJhc2ljU2hhcGVzLmNw
cDsgcGF0aCA9IHN0eWxlL0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE1NTA4LDYgKzE1NTE5LDEwIEBACiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAv
KiBjYW52YXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUZCOTEzOTFFMTZBRTRCMEIwMDFGRTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5jcHAgKi8sCisJ
CQkJRkI5MTM5MUYxNkFFNEIwQjAwMUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmggKi8sCisJ
CQkJRkI5MTM5MjAxNkFFNEIwQjAwMUZFNjgyIC8qIERPTVBhdGguaCAqLywKKwkJCQlGQjkxMzky
MTE2QUU0QjBCMDAxRkU2ODIgLyogRE9NUGF0aC5pZGwgKi8sCiAJCQkJNDlFRUNEQ0MxMDUwM0My
MzAwMDk5RkFCIC8qIEFycmF5QnVmZmVyLmlkbCAqLywKIAkJCQk0OUVFQ0RDOTEwNTAzQzIzMDAw
OTlGQUIgLyogQXJyYXlCdWZmZXJWaWV3LmlkbCAqLywKIAkJCQk2RTRFOTFBNzEwRjdGQjMxMDBB
Mjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwICovLApAQCAtMTg3MzMsNiArMTg3
NDgsOCBAQAogCQkJCTJFOTdDRTZFMTI5M0FENkIwMEM1QzhGRiAvKiBKU0RhdGFWaWV3LmggKi8s
CiAJCQkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovLAog
CQkJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8sCisJCQkJ
RkI5MTM5MjkxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5jcHAgKi8sCisJCQkJRkI5MTM5
MjgxNkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oICovLAogCQkJCTRBQ0JDMEM4MTI3MTNE
MEEwMDk0RjlCMiAvKiBKU0RPTVNldHRhYmxlVG9rZW5MaXN0LmNwcCAqLywKIAkJCQk0QUNCQzBD
OTEyNzEzRDBBMDA5NEY5QjIgLyogSlNET01TZXR0YWJsZVRva2VuTGlzdC5oICovLAogCQkJCTc2
OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8sCkBAIC0yNjI2
Nyw2ICsyNjI4NCw5IEBACiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmlj
b2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8q
IFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3MzUzMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MjQxNkFFNEMxNzAwMUZF
NjgyIC8qIERPTVBhdGguaCBpbiBIZWFkZXJzICovLAorCQkJCUZCOTEzOTI2MTZBRTRDMkYwMDFG
RTY4MiAvKiBDYW52YXNQYXRoTWV0aG9kcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI5MTM5MkEx
NkFFNEZDMDAwMUZFNjgyIC8qIEpTRE9NUGF0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yOTQxNyw2
ICsyOTQzNyw4IEBACiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2Rl
U29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyog
WFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhE
Q0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkI5MTM5MjcxNkFFNEMzNDAw
MUZFNjgyIC8qIENhbnZhc1BhdGhNZXRob2RzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCOTEz
OTJCMTZBRTRGQzAwMDFGRTY4MiAvKiBKU0RPTVBhdGguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXRoTWV0aG9kcy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzA1YjQyNTljMTM1YTk4Y2IwZTYxMTExODI2NTI3ZTVkMzc1NTVmMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1BhdGhNZXRob2RzLmNw
cApAQCAtMCwwICsxLDE3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxw
IFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBFcmljIFNlaWRl
bCA8ZXJpY0B3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IERpcmsgU2NodWx6ZSA8
a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEwIFRvcmNoIE1vYmlsZSAoQmVp
amluZykgQ28uIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MiBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FudmFzUGF0aE1ldGhvZHMu
aCIKKworI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
KyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Zv
aWQgQ2FudmFzUGF0aE1ldGhvZHM6OmNsb3NlUGF0aCgpCit7CisgICAgaWYgKG1fcGF0aC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBib3VuZFJlY3QgPSBtX3Bh
dGguZmFzdEJvdW5kaW5nUmVjdCgpOworICAgIGlmIChib3VuZFJlY3Qud2lkdGgoKSB8fCBib3Vu
ZFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIG1fcGF0aC5jbG9zZVN1YnBhdGgoKTsKK30KKwordm9p
ZCBDYW52YXNQYXRoTWV0aG9kczo6bW92ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYg
KCFpc2Zpbml0ZSh4KSB8fCAhaXNmaW5pdGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAo
IXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAgbV9wYXRoLm1v
dmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6bGlu
ZVRvKGZsb2F0IHgsIGZsb2F0IHkpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8fCAhaXNmaW5p
dGUoeSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5
KTsKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1v
dmVUbyhwMSk7CisgICAgZWxzZSBpZiAocDEgIT0gbV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAg
ICAgICBtX3BhdGguYWRkTGluZVRvKHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6
cXVhZHJhdGljQ3VydmVUbyhmbG9hdCBjcHgsIGZsb2F0IGNweSwgZmxvYXQgeCwgZmxvYXQgeSkK
K3sKKyAgICBpZiAoIWlzZmluaXRlKGNweCkgfHwgIWlzZmluaXRlKGNweSkgfHwgIWlzZmluaXRl
KHgpIHx8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNmb3Jt
SXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGF0aC5oYXNDdXJy
ZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNweCwgY3B5KSk7
CisKKyAgICBGbG9hdFBvaW50IHAxID0gRmxvYXRQb2ludCh4LCB5KTsKKyAgICBpZiAocDEgIT0g
bV9wYXRoLmN1cnJlbnRQb2ludCgpKQorICAgICAgICBtX3BhdGguYWRkUXVhZEN1cnZlVG8oRmxv
YXRQb2ludChjcHgsIGNweSksIHAxKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YmV6
aWVyQ3VydmVUbyhmbG9hdCBjcDF4LCBmbG9hdCBjcDF5LCBmbG9hdCBjcDJ4LCBmbG9hdCBjcDJ5
LCBmbG9hdCB4LCBmbG9hdCB5KQoreworICAgIGlmICghaXNmaW5pdGUoY3AxeCkgfHwgIWlzZmlu
aXRlKGNwMXkpIHx8ICFpc2Zpbml0ZShjcDJ4KSB8fCAhaXNmaW5pdGUoY3AyeSkgfHwgIWlzZmlu
aXRlKHgpIHx8ICFpc2Zpbml0ZSh5KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghdHJhbnNm
b3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fcGF0aC5oYXND
dXJyZW50UG9pbnQoKSkKKyAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNwMXgsIGNw
MXkpKTsKKworICAgIEZsb2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOworICAgIGlmIChw
MSAhPSBtX3BhdGguY3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5hZGRCZXppZXJDdXJ2
ZVRvKEZsb2F0UG9pbnQoY3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwgY3AyeSksIHAxKTsK
K30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YXJjVG8oZmxvYXQgeDEsIGZsb2F0IHkxLCBm
bG9hdCB4MiwgZmxvYXQgeTIsIGZsb2F0IHIsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGVj
ID0gMDsKKyAgICBpZiAoIWlzZmluaXRlKHgxKSB8fCAhaXNmaW5pdGUoeTEpIHx8ICFpc2Zpbml0
ZSh4MikgfHwgIWlzZmluaXRlKHkyKSB8fCAhaXNmaW5pdGUocikpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChyIDwgMCkgeworICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCF0cmFuc2Zvcm1Jc0ludmVydGlibGUoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeDEsIHkxKTsK
KyAgICBGbG9hdFBvaW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOworCisgICAgaWYgKCFtX3Bh
dGguaGFzQ3VycmVudFBvaW50KCkpCisgICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOworICAgIGVs
c2UgaWYgKHAxID09IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9PSBwMiB8fCAhcikKKyAg
ICAgICAgbGluZVRvKHgxLCB5MSk7CisgICAgZWxzZQorICAgICAgICBtX3BhdGguYWRkQXJjVG8o
cDEsIHAyLCByKTsKK30KKwordm9pZCBDYW52YXNQYXRoTWV0aG9kczo6YXJjKGZsb2F0IHgsIGZs
b2F0IHksIGZsb2F0IHIsIGZsb2F0IHNhLCBmbG9hdCBlYSwgYm9vbCBhbnRpY2xvY2t3aXNlLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBlYyA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZSh4KSB8
fCAhaXNmaW5pdGUoeSkgfHwgIWlzZmluaXRlKHIpIHx8ICFpc2Zpbml0ZShzYSkgfHwgIWlzZmlu
aXRlKGVhKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHIgPCAwKSB7CisgICAgICAgIGVj
ID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIXIg
fHwgc2EgPT0gZWEpIHsKKyAgICAgICAgLy8gVGhlIGFyYyBpcyBlbXB0eSBidXQgd2Ugc3RpbGwg
bmVlZCB0byBkcmF3IHRoZSBjb25uZWN0aW5nIGxpbmUuCisgICAgICAgIGxpbmVUbyh4ICsgciAq
IGNvc2Yoc2EpLCB5ICsgciAqIHNpbmYoc2EpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGlmICghdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IC8vIElmICdzYScgYW5kICdlYScgZGlmZmVyIGJ5IG1vcmUgdGhhbiAyUGksIGp1c3QgYWRkIGEg
Y2lyY2xlIHN0YXJ0aW5nL2VuZGluZyBhdCAnc2EnLgorICAgIGlmIChhbnRpY2xvY2t3aXNlICYm
IHNhIC0gZWEgPj0gMiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBv
aW50KHgsIHkpLCByLCBzYSwgc2EgLSAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFhbnRpY2xvY2t3aXNlICYmIGVhIC0gc2EgPj0g
MiAqIHBpRmxvYXQpIHsKKyAgICAgICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCBy
LCBzYSwgc2EgKyAyICogcGlGbG9hdCwgYW50aWNsb2Nrd2lzZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBtX3BhdGguYWRkQXJjKEZsb2F0UG9pbnQoeCwgeSksIHIsIHNhLCBlYSwg
YW50aWNsb2Nrd2lzZSk7Cit9CisKK3ZvaWQgQ2FudmFzUGF0aE1ldGhvZHM6OnJlY3QoZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKK3sKKyAgICBpZiAoIXRyYW5z
Zm9ybUlzSW52ZXJ0aWJsZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWlzZmluaXRl
KHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5pdGUod2lkdGgpIHx8ICFpc2Zpbml0ZShoZWln
aHQpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKKyAg
ICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSk7Cit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQ
YXRoTWV0aG9kcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0aE1ldGhv
ZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZWMzZTc1NjA4OTI4NTgzMDE4NTJiYTkwMjU5ZjdmNWMxZjQ2ZGYy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUGF0
aE1ldGhvZHMuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA5LCAyMDEwLCAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAq
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
CisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbnZhc1BhdGhNZXRob2RzX2gKKyNk
ZWZpbmUgQ2FudmFzUGF0aE1ldGhvZHNfaAorCisjaW5jbHVkZSAiUGF0aC5oIgorCisjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmxv
YXRSZWN0OworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBDYW52YXNQYXRo
TWV0aG9kcyB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2FudmFzUGF0aE1ldGhvZHMoKSB7IH0K
KworICAgIHZvaWQgY2xvc2VQYXRoKCk7CisgICAgdm9pZCBtb3ZlVG8oZmxvYXQgeCwgZmxvYXQg
eSk7CisgICAgdm9pZCBsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSk7CisgICAgdm9pZCBxdWFkcmF0
aWNDdXJ2ZVRvKGZsb2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KTsKKyAgICB2
b2lkIGJlemllckN1cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3AxeSwgZmxvYXQgY3AyeCwgZmxv
YXQgY3AyeSwgZmxvYXQgeCwgZmxvYXQgeSk7CisgICAgdm9pZCBhcmNUbyhmbG9hdCB4MCwgZmxv
YXQgeTAsIGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgcmFkaXVzLCBFeGNlcHRpb25Db2RlJik7
CisgICAgdm9pZCBhcmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0
IGVhLCBib29sIGFudGljbG9ja3dpc2UsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlY3Qo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7CisgICAgCisgICAg
dmlydHVhbCBib29sIHRyYW5zZm9ybUlzSW52ZXJ0aWJsZSgpIHsgcmV0dXJuIHRydWU7IH0KKwor
cHJvdGVjdGVkOgorICAgIENhbnZhc1BhdGhNZXRob2RzKCkgeyB9CisgICAgUGF0aCBtX3BhdGg7
Cit9OworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDcwOThmMDEyZGI3MmM0NTUwYjRm
NjcwOTA4MzhjZWNjOWUxOGJjNDYuLjcyMGNhNzNiY2VjOWMzZWRiMTY5YzJmNDdiNmY4YzI2ODc1
OTk5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtODUyLDEyNSArODUyLDYgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmJlZ2luUGF0aCgpCiAgICAgbV9wYXRoLmNsZWFyKCk7CiB9CiAK
LXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbG9zZVBhdGgoKQotewotICAgIGlmICht
X3BhdGguaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBGbG9hdFJlY3QgYm91bmRS
ZWN0ID0gbV9wYXRoLmZhc3RCb3VuZGluZ1JlY3QoKTsKLSAgICBpZiAoYm91bmRSZWN0LndpZHRo
KCkgfHwgYm91bmRSZWN0LmhlaWdodCgpKQotICAgICAgICBtX3BhdGguY2xvc2VTdWJwYXRoKCk7
Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjptb3ZlVG8oZmxvYXQgeCwgZmxv
YXQgeSkKLXsKLSAgICBpZiAoIWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICBy
ZXR1cm47Ci0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJu
OwotICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludCh4LCB5KSk7Ci19Ci0KLXZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSkKLXsKLSAgICBpZiAo
IWlzZmluaXRlKHgpIHwgIWlzZmluaXRlKHkpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFz
dGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRmxvYXRQb2lu
dCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50
KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOwotICAgIGVsc2UgaWYgKHAxICE9IG1fcGF0
aC5jdXJyZW50UG9pbnQoKSkKLSAgICAgICAgbV9wYXRoLmFkZExpbmVUbyhGbG9hdFBvaW50KHgs
IHkpKTsKLX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnF1YWRyYXRpY0N1cnZl
VG8oZmxvYXQgY3B4LCBmbG9hdCBjcHksIGZsb2F0IHgsIGZsb2F0IHkpCi17Ci0gICAgaWYgKCFp
c2Zpbml0ZShjcHgpIHwgIWlzZmluaXRlKGNweSkgfCAhaXNmaW5pdGUoeCkgfCAhaXNmaW5pdGUo
eSkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIXN0YXRlKCkubV9pbnZlcnRpYmxlQ1RNKQot
ICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVudFBvaW50KCkpCi0gICAg
ICAgIG1fcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChjcHgsIGNweSkpOwotCi0gICAgRmxvYXRQb2lu
dCBwMSA9IEZsb2F0UG9pbnQoeCwgeSk7Ci0gICAgaWYgKHAxICE9IG1fcGF0aC5jdXJyZW50UG9p
bnQoKSkKLSAgICAgICAgbV9wYXRoLmFkZFF1YWRDdXJ2ZVRvKEZsb2F0UG9pbnQoY3B4LCBjcHkp
LCBwMSk7Ci19Ci0KLXZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpiZXppZXJDdXJ2ZVRv
KGZsb2F0IGNwMXgsIGZsb2F0IGNwMXksIGZsb2F0IGNwMngsIGZsb2F0IGNwMnksIGZsb2F0IHgs
IGZsb2F0IHkpCi17Ci0gICAgaWYgKCFpc2Zpbml0ZShjcDF4KSB8ICFpc2Zpbml0ZShjcDF5KSB8
ICFpc2Zpbml0ZShjcDJ4KSB8ICFpc2Zpbml0ZShjcDJ5KSB8ICFpc2Zpbml0ZSh4KSB8ICFpc2Zp
bml0ZSh5KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghc3RhdGUoKS5tX2ludmVydGlibGVD
VE0pCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIW1fcGF0aC5oYXNDdXJyZW50UG9pbnQoKSkK
LSAgICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KGNwMXgsIGNwMXkpKTsKLQotICAgIEZs
b2F0UG9pbnQgcDEgPSBGbG9hdFBvaW50KHgsIHkpOwotICAgIGlmIChwMSAhPSBtX3BhdGguY3Vy
cmVudFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5hZGRCZXppZXJDdXJ2ZVRvKEZsb2F0UG9pbnQo
Y3AxeCwgY3AxeSksIEZsb2F0UG9pbnQoY3AyeCwgY3AyeSksIHAxKTsKLX0KLQotdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFyY1RvKGZsb2F0IHgxLCBmbG9hdCB5MSwgZmxvYXQgeDIs
IGZsb2F0IHkyLCBmbG9hdCByLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBlYyA9IDA7Ci0g
ICAgaWYgKCFpc2Zpbml0ZSh4MSkgfCAhaXNmaW5pdGUoeTEpIHwgIWlzZmluaXRlKHgyKSB8ICFp
c2Zpbml0ZSh5MikgfCAhaXNmaW5pdGUocikpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChy
IDwgMCkgewotICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgaWYgKCFzdGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgRmxvYXRQb2ludCBwMSA9IEZsb2F0UG9pbnQoeDEsIHkxKTsKLSAgICBGbG9hdFBv
aW50IHAyID0gRmxvYXRQb2ludCh4MiwgeTIpOwotCi0gICAgaWYgKCFtX3BhdGguaGFzQ3VycmVu
dFBvaW50KCkpCi0gICAgICAgIG1fcGF0aC5tb3ZlVG8ocDEpOwotICAgIGVsc2UgaWYgKHAxID09
IG1fcGF0aC5jdXJyZW50UG9pbnQoKSB8fCBwMSA9PSBwMiB8fCAhcikKLSAgICAgICAgbGluZVRv
KHgxLCB5MSk7Ci0gICAgZWxzZQotICAgICAgICBtX3BhdGguYWRkQXJjVG8ocDEsIHAyLCByKTsK
LX0KLQotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFyYyhmbG9hdCB4LCBmbG9hdCB5
LCBmbG9hdCByLCBmbG9hdCBzYSwgZmxvYXQgZWEsIGJvb2wgYW50aWNsb2Nrd2lzZSwgRXhjZXB0
aW9uQ29kZSYgZWMpCi17Ci0gICAgZWMgPSAwOwotICAgIGlmICghaXNmaW5pdGUoeCkgfCAhaXNm
aW5pdGUoeSkgfCAhaXNmaW5pdGUocikgfCAhaXNmaW5pdGUoc2EpIHwgIWlzZmluaXRlKGVhKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgIGVjID0gSU5ERVhf
U0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIXIgfHwgc2EgPT0g
ZWEpIHsKLSAgICAgICAgLy8gVGhlIGFyYyBpcyBlbXB0eSBidXQgd2Ugc3RpbGwgbmVlZCB0byBk
cmF3IHRoZSBjb25uZWN0aW5nIGxpbmUKLSAgICAgICAgbGluZVRvKHggKyByICogY29zZihzYSks
IHkgKyByICogc2luZihzYSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFz
dGF0ZSgpLm1faW52ZXJ0aWJsZUNUTSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gSWYgJ3Nh
JyBhbmQgJ2VhJyBkaWZmZXIgYnkgbW9yZSB0aGFuIDJQaSwganVzdCBhZGQgYSBjaXJjbGUgc3Rh
cnRpbmcvZW5kaW5nIGF0ICdzYScKLSAgICBpZiAoYW50aWNsb2Nrd2lzZSAmJiBzYSAtIGVhID49
IDIgKiBwaUZsb2F0KSB7Ci0gICAgICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwg
ciwgc2EsIHNhIC0gMiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIGlmICghYW50aWNsb2Nrd2lzZSAmJiBlYSAtIHNhID49IDIgKiBwaUZsb2F0
KSB7Ci0gICAgICAgIG1fcGF0aC5hZGRBcmMoRmxvYXRQb2ludCh4LCB5KSwgciwgc2EsIHNhICsg
MiAqIHBpRmxvYXQsIGFudGljbG9ja3dpc2UpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgbV9wYXRoLmFkZEFyYyhGbG9hdFBvaW50KHgsIHkpLCByLCBzYSwgZWEsIGFudGljbG9ja3dp
c2UpOwotfQotCiBzdGF0aWMgYm9vbCB2YWxpZGF0ZVJlY3RGb3JDYW52YXMoZmxvYXQmIHgsIGZs
b2F0JiB5LCBmbG9hdCYgd2lkdGgsIGZsb2F0JiBoZWlnaHQpCiB7CiAgICAgaWYgKCFpc2Zpbml0
ZSh4KSB8ICFpc2Zpbml0ZSh5KSB8ICFpc2Zpbml0ZSh3aWR0aCkgfCAhaXNmaW5pdGUoaGVpZ2h0
KSkKQEAgLTk5MiwyMiArODczLDYgQEAgc3RhdGljIGJvb2wgdmFsaWRhdGVSZWN0Rm9yQ2FudmFz
KGZsb2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHdpZHRoLCBmbG9hdCYgaGVpZ2gKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnJlY3QoZmxvYXQg
eCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCkKLXsKLSAgICBpZiAoIXN0YXRl
KCkubV9pbnZlcnRpYmxlQ1RNKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIWlzZmluaXRl
KHgpIHx8ICFpc2Zpbml0ZSh5KSB8fCAhaXNmaW5pdGUod2lkdGgpIHx8ICFpc2Zpbml0ZShoZWln
aHQpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpIHsKLSAg
ICAgICAgbV9wYXRoLm1vdmVUbyhGbG9hdFBvaW50KHgsIHkpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIG1fcGF0aC5hZGRSZWN0KEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSk7Ci19Ci0KICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCiB2b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6Y2xlYXJQYXRoRm9yRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5
TW9kZSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5oCmluZGV4IGRlOTBkNjNmMGNhMGEwNmY0YmUxZWE2ZmI4MTVlZWZh
YjBlNWE1MTUuLjFmY2Y1MjFiMWFlNmJiNjI5OThkYmFjMzQ1OWU1YzE2MjI1YjgzMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RF9oCiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlICJDYW52YXNQYXRo
TWV0aG9kcy5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRl
ICJDb2xvci5oIgogI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKQEAgLTU4LDcgKzU5LDcgQEAgY2xh
c3MgVGV4dE1ldHJpY3M7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsK
K2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdD
b250ZXh0LCBwdWJsaWMgQ2FudmFzUGF0aE1ldGhvZHMgewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4gY3JlYXRlKEhUTUxDYW52YXNFbGVt
ZW50KiBjYW52YXMsIGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUsIGJvb2wgdXNl
c0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQogICAgIHsKQEAgLTEzNSwxNSArMTM2LDYgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0RmlsbENvbG9yKGZsb2F0IGMsIGZsb2F0IG0sIGZsb2F0IHks
IGZsb2F0IGssIGZsb2F0IGEpOwogCiAgICAgdm9pZCBiZWdpblBhdGgoKTsKLSAgICB2b2lkIGNs
b3NlUGF0aCgpOwotCi0gICAgdm9pZCBtb3ZlVG8oZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9p
ZCBsaW5lVG8oZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBxdWFkcmF0aWNDdXJ2ZVRvKGZs
b2F0IGNweCwgZmxvYXQgY3B5LCBmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIGJlemllckN1
cnZlVG8oZmxvYXQgY3AxeCwgZmxvYXQgY3AxeSwgZmxvYXQgY3AyeCwgZmxvYXQgY3AyeSwgZmxv
YXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCBhcmNUbyhmbG9hdCB4MCwgZmxvYXQgeTAsIGZsb2F0
IHgxLCBmbG9hdCB5MSwgZmxvYXQgcmFkaXVzLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBh
cmMoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgciwgZmxvYXQgc2EsIGZsb2F0IGVhLCBib29sIGNs
b2Nrd2lzZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgcmVjdChmbG9hdCB4LCBmbG9hdCB5
LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKIAogICAgIHZvaWQgZmlsbChjb25zdCBTdHJp
bmcmIHdpbmRpbmcgPSAibm9uemVybyIpOwogICAgIHZvaWQgc3Ryb2tlKCk7CkBAIC0zMzEsMTEg
KzMyMywxMiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpczJkKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2VsZXJhdGVkKCkgY29u
c3QgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIGJvb2wgdHJhbnNmb3JtSXNJbnZlcnRpYmxlKCkg
eyByZXR1cm4gc3RhdGUoKS5tX2ludmVydGlibGVDVE07IH0KKwogI2lmIEVOQUJMRShBQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICYmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0
dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCBPVkVSUklERTsKICNlbmRp
ZgogCi0gICAgUGF0aCBtX3BhdGg7CiAgICAgVmVjdG9yPFN0YXRlLCAxPiBtX3N0YXRlU3RhY2s7
CiAgICAgdW5zaWduZWQgbV91bnJlYWxpemVkU2F2ZUNvdW50OwogICAgIGJvb2wgbV91c2VzQ1NT
Q29tcGF0aWJpbGl0eVBhcnNlTW9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsCmluZGV4IGRjMDc0N2ZiZDI0ZWIz
ZWI2ZWE5ZDc0ZGE1YjRkNWM5NjZkZDEwYTUuLjllMTgzZmYyZGJlNTk3YTBhYTk4MzMzMTZlN2Ix
NWMwODNkMGZjZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbApAQCAtOTUsNiArOTUsOCBAQCBpbnRlcmZhY2Ug
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CiAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBoZWln
aHQpOwogCiAgICAgdm9pZCBiZWdpblBhdGgoKTsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBtZXRo
b2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgaW4gdGhl
IENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4KICAgICB2b2lkIGNsb3NlUGF0aCgpOwogICAg
IHZvaWQgbW92ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCiAg
ICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgeSk7
CkBAIC0xMjcsNiArMTI5LDcgQEAgaW50ZXJmYWNlIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCA6
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIGZsb2F0IGVuZEFuZ2xlLAogICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gYW50aWNsb2Nrd2lzZSkKICAgICAgICAgcmFp
c2VzIChET01FeGNlcHRpb24pOworCiAgICAgdm9pZCBmaWxsKGluIFtPcHRpb25hbF0gRE9NU3Ry
aW5nIHdpbmRpbmcpOwogICAgIHZvaWQgc3Ryb2tlKCk7CiAgICAgdm9pZCBjbGlwKGluIFtPcHRp
b25hbF0gRE9NU3RyaW5nIHdpbmRpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvRE9NUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3NWJiNWFlZThhZTYwZGE0MDAyZDMwNTZkMDcxZDQ4NGVkYzA1NjgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmgKQEAg
LTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBZG9iZSBTeXN0
ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUK
KyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVBhdGhf
aAorI2RlZmluZSBET01QYXRoX2gKKworI2lmIEVOQUJMRShDQU5WQVNfUEFUSCkKKyNpbmNsdWRl
ICJDYW52YXNQYXRoTWV0aG9kcy5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBE
T01QYXRoIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NUGF0aD4sIHB1YmxpYyBDYW52YXNQYXRoTWV0
aG9kcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NUGF0aCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVBhdGg+IGNyZWF0
ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBET01QYXRoKTsgfQorICAgIHZpcnR1YWwgfkRPTVBh
dGgoKSB7IH0KK3ByaXZhdGU6CisgICAgRE9NUGF0aCgpIDogQ2FudmFzUGF0aE1ldGhvZHMoKSB7
IH0KK307Cit9CisjZW5kaWYKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvRE9NUGF0aC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYmVkNThhYjEwYjcyMTI0MmIyYTQxYTIyYmMwZThhZGE2ZThjNjgz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5p
ZGwKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwg
MjAxMyBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCitp
bnRlcmZhY2UgWworICAgIENvbnN0cnVjdG9yLAorICAgIENvbmRpdGlvbmFsPUNBTlZBU19QQVRI
LAorICAgIEludGVyZmFjZU5hbWU9UGF0aAorXSBET01QYXRoIHsKKworICAgIC8vIEZJWE1FOiBU
aGVzZSBtZXRob2RzIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQgaW4gdGhlIENhbnZhc1BhdGhNZXRob2RzIGludGVyZmFjZS4KKyAgICB2b2lkIGNsb3NlUGF0
aCgpOworICAgIHZvaWQgbW92ZVRvKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZs
b2F0IHgsCisgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
ZmxvYXQgeSk7CisgICAgdm9pZCBsaW5lVG8oaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gZmxvYXQgeCwKKyAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIHF1YWRyYXRpY0N1cnZlVG8oaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgY3B4LAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcHksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHkpOworICAgIHZvaWQgYmV6aWVyQ3VydmVUbyhpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBmbG9hdCBjcDF4LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDF5LAorICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ4LAorICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBjcDJ5
LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSBmbG9hdCB4LAorICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBmbG9hdCB5KTsKKyAgICB2b2lkIGFyY1RvKGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIGZsb2F0IHgxLAorICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gZmxvYXQgeTEsCisgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBmbG9hdCB4MiwKKyAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIGZsb2F0IHkyLAorICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gZmxvYXQgcmFkaXVzKQorICAgICAgICByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisgICAgdm9pZCByZWN0KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHgsCisgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHksCisgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IGZsb2F0IHdpZHRoLAorICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBmbG9hdCBoZWlnaHQpOworICAgIHZvaWQgYXJjKGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIGZsb2F0IHgsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gZmxvYXQgeSwKKyAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBmbG9hdCByYWRpdXMsCisgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gZmxvYXQgc3RhcnRBbmdsZSwKKyAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzVW5kZWZpbmVkXSBmbG9hdCBlbmRBbmdsZSwKKyAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGFudGljbG9ja3dpc2UpCisgICAgICAg
IHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5k
ZXggODI1Nzk4N2I0YjQ2NTA0OTk4MmZkYzMzZDI5ZWRhNTNkYTc4NDQ4Yi4uYzI2NDU2ZDE3NGYy
NzVlMTZjMjRlNWRkNmZmZjgxMmZhYTgwYjM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bApAQCAtMzk4LDYgKzM5OCw3IEBACiAgICAgYXR0cmlidXRlIE5vdGF0aW9uQ29uc3RydWN0b3Ig
Tm90YXRpb247CiAgICAgYXR0cmlidXRlIEVudGl0eUNvbnN0cnVjdG9yIEVudGl0eTsKICAgICBh
dHRyaWJ1dGUgRW50aXR5UmVmZXJlbmNlQ29uc3RydWN0b3IgRW50aXR5UmVmZXJlbmNlOworICAg
IFtDb25kaXRpb25hbD1DQU5WQVNfUEFUSF0gYXR0cmlidXRlIERPTVBhdGhDb25zdHJ1Y3RvciBQ
YXRoOwogICAgIGF0dHJpYnV0ZSBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Db25zdHJ1Y3RvciBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb247CiAgICAgW0NvbmRpdGlvbmFsPVNIQURPV19ET00sIFY4RW5hYmxl
ZEF0UnVudGltZT1zaGFkb3dET01dIGF0dHJpYnV0ZSBTaGFkb3dSb290Q29uc3RydWN0b3IgV2Vi
S2l0U2hhZG93Um9vdDsKICAgICBbQ29uZGl0aW9uYWw9U0hBRE9XX0RPTSwgVjhFbmFibGVkQXRS
dW50aW1lPXNoYWRvd0RPTV0gYXR0cmlidXRlIEhUTUxDb250ZW50RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxDb250ZW50RWxlbWVudDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZjk3YjhjOGJkMDNjNGRkZTMxM2M3YTk1YmEw
NWYzZDZhNzRmZjg2Li5iMTM1Nzk5OTc3OTBmMDAzOTM2ZTEzOTRhZWI4NzVmMjNlZTJhNDY5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDEtMjMgIERpcmsgU2NodWx6ZSAgPGRzY2h1bHpl
QGFkb2JlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ2FudmFzIFBhdGggb2JqZWN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzMzMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgZm9y
IGNoZWNraW5nIGV4aXN0ZW5jZSBvZiBQYXRoIG9iamVjdCBhbmQgZGVwZW5kZW50IGZ1bmN0aW9u
cy4KKyAgICAgICAgVGhlIHRlc3QgaXMgc3VwcG9zZWQgdG8gZmFpbCBpZiBjYW52YXMtcGF0aCBp
cyBub3QgYWN0aXZhdGVkIG9uIGNvbXBpbGUgdGltZS4KKworICAgICAgICAqIGZhc3QvY2FudmFz
L2NhbnZhcy1wYXRoLW9iamVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtb2JqZWN0LmpzOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBEaWZmZXJlbnQgZXJyb3IgaGFu
ZGxpbmcgb24gQ2hyb21pdW0uIE5lZWRzIHJlYmFzZWxpbmUuCisKIDIwMTMtMDEtMjMgIEFsZXhp
cyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4KIAogICAgICAgICB0cmFuc2l0aW9uLXByb3Bl
cnR5IGFjY2VwdHMgaW5jb3JyZWN0ICJhbGwsIG5vbmUiIGFzIHZhbHVlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtcGF0aC1vYmplY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kODY4NzY0MTY1Y2EwMmFhZTMyZmZlZTdmMGFjODRkNGM4OGZjMzk0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTog
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFBhdGgKK0Vuc3VyZSB0aGF0IHRo
ZSBjb25zdHJ1Y3RvciBmb3IgUGF0aCBvYmplY3QgYW5kIGRlcGVuZGVudCBmdW5jdGlvbnMgZXhp
c3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHR5cGVvZiBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCBpcyAiZnVuY3Rpb24iCitGQUlMIHN1Y2Nlc3NmdWxseVBhcnNlZCBz
aG91bGQgYmUgdHJ1ZSAob2YgdHlwZSBib29sZWFuKS4gV2FzIHVuZGVmaW5lZCAob2YgdHlwZSB1
bmRlZmluZWQpLgorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLXBhdGgtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc2MTZkOTJmZmQ3YWM0YjE3
YTk5YzA1NzE1ZjEzOWQxMGVlZTI4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMjAwIiBoZWlnaHQ9
IjIwMCI+PC9jYW52YXM+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9i
amVjdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXBhdGgtb2JqZWN0LmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1wYXRoLW9iamVjdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMTUxN2VmZmIyZDU2M2M2YzE4ODYwOGY4OTg2ODg3ZWM0MzE5ZTZiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1wYXRoLW9iamVjdC5qcwpAQCAtMCwwICsxLDE0IEBACitkZXNjcmlwdGlvbigiRW5zdXJlIHRo
YXQgdGhlIGNvbnN0cnVjdG9yIGZvciBQYXRoIG9iamVjdCBhbmQgZGVwZW5kZW50IGZ1bmN0aW9u
cyBleGlzdC4iKTsKKworc2hvdWxkQmUoInR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCIs
ICciZnVuY3Rpb24iJyk7CisKK3ZhciBwYXRoID0gbmV3IFBhdGgoKTsKK3Nob3VsZEJlVHlwZSgi
cGF0aCIsICJQYXRoIik7CitzaG91bGRCZSgidHlwZW9mIHBhdGguY2xvc2VQYXRoIiwgJyJmdW5j
dGlvbiInKTsKK3Nob3VsZEJlKCJ0eXBlb2YgcGF0aC5tb3ZlVG8iLCAnImZ1bmN0aW9uIicpOwor
c2hvdWxkQmUoInR5cGVvZiBwYXRoLmxpbmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgi
dHlwZW9mIHBhdGgucXVhZHJhdGljQ3VydmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgi
dHlwZW9mIHBhdGguYmV6aWVyQ3VydmVUbyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlw
ZW9mIHBhdGguYXJjVG8iLCAnImZ1bmN0aW9uIicpOworc2hvdWxkQmUoInR5cGVvZiBwYXRoLmFy
YyIsICciZnVuY3Rpb24iJyk7CitzaG91bGRCZSgidHlwZW9mIHBhdGgucmVjdCIsICciZnVuY3Rp
b24iJyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWYzNDEyMGI1NmI1Mzg4MGMxNTJl
NmZkMGViMjVlN2YyMWMwNDkwNC4uMGY2MzczMTYxMWQ5MWUxOTFkMzNjZjExODI1MWYxZDhlMzM2
ZGIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRp
b25zCkBAIC00MzIyLDYgKzQzMjIsOSBAQCB3ZWJraXQub3JnL2IvMTA1NTc0IHBsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZm9ybXMvc3VnZ2VzdGlvbi1waWNrZXIvZGF0ZS1zdWdnZXN0aQogd2Via2l0
Lm9yZy9iLzEwNTU3NCBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL3N1Z2dlc3Rpb24tcGlj
a2VyL21vbnRoLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2Utd2l0aC1zY3JvbGwtYmFyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDU1NzQgcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9mb3Jtcy9zdWdnZXN0aW9uLXBpY2tlci93ZWVrLXN1Z2dlc3Rpb24tcGlja2Vy
LWFwcGVhcmFuY2Utd2l0aC1zY3JvbGwtYmFyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAor
d2Via2l0Lm9yZy9iLzk3MzMzIGZhc3QvY2FudmFzL2NhbnZhcy1wYXRoLW9iamVjdC5odG1sIFsg
RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvOTczMzMgcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9n
cHUvZmFzdC9jYW52YXMvY2FudmFzLXBhdGgtb2JqZWN0Lmh0bWwgWyBGYWlsdXJlIF0KKwogIyBU
aGlzIGlzIHdvbid0IGZpeCwgYXMgdGhlIGRlYnVnIGFuZCByZWxlYXNlIHZlcnNpb25zIGRpZmZl
ci4KIHdlYmtpdC5vcmcvYi85OTEzOCBbIERlYnVnIFNub3dMZW9wYXJkIF0gc3ZnL2N1c3RvbS9m
b3JlaWduLW9iamVjdC1za2V3LnN2ZyBbIEltYWdlT25seUZhaWx1cmUgXQogCg==
</data>
<flag name="review"
          id="202966"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>