<?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>80120</bug_id>
          
          <creation_ts>2012-03-02 00:22:24 -0800</creation_ts>
          <short_desc>Change the argument orders to match OpenGL&apos;s in GraphicsContext3D functions</short_desc>
          <delta_ts>2012-03-05 20:02:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Changhun Kang">chkang514</reporter>
          <assigned_to name="Changhun Kang">chkang514</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569372</commentid>
    <comment_count>0</comment_count>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 00:22:24 -0800</bug_when>
    <thetext>Change the argument orders to match OpenGL&apos;s in GraphicsContext3D functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569373</commentid>
    <comment_count>1</comment_count>
      <attachid>129836</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 00:23:51 -0800</bug_when>
    <thetext>Created attachment 129836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569376</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 00:27:49 -0800</bug_when>
    <thetext>Attachment 129836 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/graphics/GraphicsContext3D.h:760:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:762:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:764:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:766:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:775:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:776:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/graphics/GraphicsContext3D.h:777:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 7 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569383</commentid>
    <comment_count>3</comment_count>
      <attachid>129839</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 00:39:42 -0800</bug_when>
    <thetext>Created attachment 129839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569384</commentid>
    <comment_count>4</comment_count>
      <attachid>129839</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 00:43:51 -0800</bug_when>
    <thetext>Comment on attachment 129839
Patch

Attachment 129839 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11776847</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569389</commentid>
    <comment_count>5</comment_count>
      <attachid>129840</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 00:50:50 -0800</bug_when>
    <thetext>Created attachment 129840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569395</commentid>
    <comment_count>6</comment_count>
      <attachid>129840</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 00:55:55 -0800</bug_when>
    <thetext>Comment on attachment 129840
Patch

Attachment 129840 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11766837</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569406</commentid>
    <comment_count>7</comment_count>
      <attachid>129842</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 01:10:08 -0800</bug_when>
    <thetext>Created attachment 129842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569422</commentid>
    <comment_count>8</comment_count>
      <attachid>129842</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 01:42:36 -0800</bug_when>
    <thetext>Comment on attachment 129842
Patch

Attachment 129842 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11757847</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569426</commentid>
    <comment_count>9</comment_count>
      <attachid>129842</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-02 01:48:13 -0800</bug_when>
    <thetext>Comment on attachment 129842
Patch

Attachment 129842 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11751845</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569429</commentid>
    <comment_count>10</comment_count>
      <attachid>129845</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 01:50:13 -0800</bug_when>
    <thetext>Created attachment 129845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569438</commentid>
    <comment_count>11</comment_count>
      <attachid>129845</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-02 01:59:04 -0800</bug_when>
    <thetext>Comment on attachment 129845
Patch

Attachment 129845 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11767867</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569458</commentid>
    <comment_count>12</comment_count>
      <attachid>129845</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 02:15:34 -0800</bug_when>
    <thetext>Comment on attachment 129845
Patch

Attachment 129845 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11766878</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569460</commentid>
    <comment_count>13</comment_count>
      <attachid>129859</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 02:17:59 -0800</bug_when>
    <thetext>Created attachment 129859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569478</commentid>
    <comment_count>14</comment_count>
      <attachid>129859</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 02:43:32 -0800</bug_when>
    <thetext>Comment on attachment 129859
Patch

Attachment 129859 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11776898</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569480</commentid>
    <comment_count>15</comment_count>
      <attachid>129861</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 02:47:18 -0800</bug_when>
    <thetext>Created attachment 129861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569578</commentid>
    <comment_count>16</comment_count>
      <attachid>129861</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 05:08:52 -0800</bug_when>
    <thetext>Comment on attachment 129861
Patch

Attachment 129861 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11757931</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569711</commentid>
    <comment_count>17</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2012-03-02 09:34:40 -0800</bug_when>
    <thetext>You also need to change the order for the chromium port:

Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570020</commentid>
    <comment_count>18</comment_count>
      <attachid>129975</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-02 16:08:19 -0800</bug_when>
    <thetext>Created attachment 129975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570066</commentid>
    <comment_count>19</comment_count>
      <attachid>129975</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 18:10:56 -0800</bug_when>
    <thetext>Comment on attachment 129975
Patch

Attachment 129975 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11796240</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570067</commentid>
    <comment_count>20</comment_count>
      <attachid>129975</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-03-02 18:15:26 -0800</bug_when>
    <thetext>Comment on attachment 129975
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        * platform/graphics/GraphicsContext3D.h:

To save you time, as you upload new patches and get this to build, please regenerate the ChangeLog so that the list of modified files is consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570208</commentid>
    <comment_count>21</comment_count>
      <attachid>130015</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-03 20:33:12 -0800</bug_when>
    <thetext>Created attachment 130015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570209</commentid>
    <comment_count>22</comment_count>
      <attachid>130015</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-03 20:56:47 -0800</bug_when>
    <thetext>Comment on attachment 130015
Patch

Attachment 130015 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11800501</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570212</commentid>
    <comment_count>23</comment_count>
      <attachid>130016</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-03 21:51:19 -0800</bug_when>
    <thetext>Created attachment 130016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570214</commentid>
    <comment_count>24</comment_count>
      <attachid>130016</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-03 22:20:27 -0800</bug_when>
    <thetext>Comment on attachment 130016
Patch

Attachment 130016 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11803558</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570215</commentid>
    <comment_count>25</comment_count>
      <attachid>130017</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-03 22:24:52 -0800</bug_when>
    <thetext>Created attachment 130017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571055</commentid>
    <comment_count>26</comment_count>
      <attachid>130017</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-03-05 14:35:53 -0800</bug_when>
    <thetext>Comment on attachment 130017
Patch

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

The code looks fine; the ChangeLogs need to be updated. r=me, but you&apos;ll need to upload a new patch.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

You&apos;ll have to remove this line in order for the commit queue to accept this patch. Leave the one above about &quot;Reviewed by NOBODY&quot;.

&gt; Source/WebCore/ChangeLog:71
&gt; +2012-03-03  Changhun Kang  &lt;temoochin@company100.net&gt;

This duplicate ChangeLog entry needs to be removed.

&gt; Source/WebCore/ChangeLog:141
&gt; +2012-03-03  Changhun Kang  &lt;temoochin@company100.net&gt;

And this one and throughout this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571230</commentid>
    <comment_count>27</comment_count>
      <attachid>130242</attachid>
    <who name="Changhun Kang">chkang514</who>
    <bug_when>2012-03-05 17:16:48 -0800</bug_when>
    <thetext>Created attachment 130242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571248</commentid>
    <comment_count>28</comment_count>
      <attachid>130242</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-03-05 17:25:34 -0800</bug_when>
    <thetext>Comment on attachment 130242
Patch

Thanks, looks fine. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571397</commentid>
    <comment_count>29</comment_count>
      <attachid>130242</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 20:02:48 -0800</bug_when>
    <thetext>Comment on attachment 130242
Patch

Clearing flags on attachment: 130242

Committed r109838: &lt;http://trac.webkit.org/changeset/109838&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571398</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 20:02:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129836</attachid>
            <date>2012-03-02 00:23:51 -0800</date>
            <delta_ts>2012-03-02 00:39:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302172408.patch</filename>
            <type>text/plain</type>
            <size>23528</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJi
MDkwOWY5MTIuLjA5YWU0YzBmOWI1MTQ3ZDFlZjJkYTQ3OThjMDBkOGE0ZDQwMTZiODMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtNzU2LDE1ICs3NTYsMTQgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVy
aShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7
CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3Bl
bkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgp
OwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dD
M0RzaXplaSBzaXplLCBDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFpdihHQzNE
aW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogdik7CiAgICAgdm9pZCB1bmlm
b3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQg
dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXpl
KTsKKyAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXpl
LCBDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGludCB4LCBHQzNEaW50IHkpOwotICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtMml2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZv
cm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9h
dCB6KTsKICAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2
LCBHQzNEc2l6ZWkgc2l6ZSk7CiAgICAgdm9pZCB1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbnQgeik7CkBAIC03NzMsOSArNzcyLDkgQEAgcHVi
bGljOgogICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYs
IEdDM0RzaXplaSBzaXplKTsKICAgICB2b2lkIHVuaWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNEaW50IHcpOwogICAgIHZvaWQgdW5p
Zm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0g
ICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZh
bHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsK
KyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CiAKICAgICB2b2lk
IHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0o
UGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApp
bmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1OTg3N2Y0Li45YmMzYTlkMGU2
NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVnQm9yZGVyRHJhd1F1YWQqIHF1
YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5ZXJSZWN0LndpZHRoKCkgKyBs
YXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkgKyBsYXllclJlY3QueSgpKTsK
ICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVyUmVjdC53aWR0aCgpLCBsYXll
clJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dG9HTE1hdHJpeCgm
Z2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRlck1hdHJpeCk7Ci0gICAgR0xD
KGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNo
YWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBH
TEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4
U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZnbE1hdHJpeFswXSkpOwogCiAg
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYocHJvZ3JhbS0+ZnJhZ21lbnRT
aGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCkucmVkKCkgLyAyNTUuMCwgcXVh
ZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYmx1ZSgpIC8gMjU1LjAs
IHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAgLTYyNiw3ICs2MjYsNyBAQCB2
b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKGNvbnN0IENDVGlsZURyYXdR
dWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgZGV2aWNlTGF5ZXJF
ZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZUxheWVyQm91bmRzLnRvRmxv
YXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVu
aWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIDgs
IGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm00Zih1
bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVydGV4VGV4VHJhbnNsYXRlWCwg
dmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2ZXJ0ZXhUZXhTY2FsZVkpKTsK
ICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYodW5pZm9ybXMuZnJh
Z21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhUcmFuc2xhdGVYLCBmcmFnbWVu
dFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFnbWVudFRleFNjYWxlWSkpOwpA
QCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKGNv
bnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCkt
PnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVUZXh0dXJlTG9jYXRpb24oKSwg
MikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZy
YWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7CiAKLSAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIo
KS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJ
bXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9y
bTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxvY2F0aW9uKCksIGNvbnN0X2Nh
c3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3QpLCAxKSk7CisgICAgR0xDKGNv
bnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0tPmZyYWdtZW50U2hh
ZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRl
b0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVu
aWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2NhdGlvbigpLCAxLCBj
b25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSkpOwogCiAgICAg
Y29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3QoKS5zaXplKCk7CiAgICAgZHJh
d1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBib3VuZHMud2lkdGgoKSwgYm91
bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVhZCgpLApAQCAtNzk4LDcgKzc5
OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZShjb25z
dCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NWaWRlb0xheWVySW1wbDo6U3Ry
ZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0dXJlTGF5ZXJQcm9ncmFtKCk7
CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dy
YW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0gICAgR0xDKGNvbnRleHQoKSwg
Y29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1h
dHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkp
LCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHBy
b2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNlLCBjb25z
dF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAgICBkcmF3U2luZ2xlVGV4dHVy
ZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFtZSgpLT50ZXh0dXJlSWQoKSwg
RXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTKTsKIH0KQEAgLTEw
MTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRR
dWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgLy8gQXBwbHkgdGhl
IHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0cmFuc2Zvcm0gb3ZlciB0byB0
aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBdLCBtX3Byb2plY3Rpb25NYXRy
aXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlm
b3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmdsTWF0cml4WzBdLCAxKSk7Cisg
ICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0
aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBpZiAocXVhZExvY2F0aW9uICE9
IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAyNSw3ICsxMDI1LDcgQEAgdm9p
ZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0gPSBxdWFkLnAzKCkueSgpOwog
ICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAgICAgIHBvaW50WzddID0gcXVh
ZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2
KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250
ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQpKTsKICAgICB9CiAKICAgICBp
ZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCmluZGV4IDQ2
NTkzOTc4ZjI3NmVkNzkyZTUyYzY1MmVlODdiZmM3OGFhODM1NWUuLmU1NjAxYzhmODk5YWM3NzVi
MmVjNTBiY2RkNTgxNmFiZGQxYTQ4ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcApAQCAt
NTU0LDcgKzU1NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCkKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0xZihsb2NhdGlv
biwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0Rm
bG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIHYp
OwogfQpAQCAtNTY0LDcgKzU2NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0x
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWko
bG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUs
IEMzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUs
IHYpOwogfQpAQCAtNTc0LDcgKzU3NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSkKICAgICBtX3ByaXZh
dGUtPnVuaWZvcm0yZihsb2NhdGlvbiwgeCwgeSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkg
c2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZv
cm0yZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTg0LDcgKzU4NCw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdD
M0RpbnQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaShsb2NhdGlvbiwgeCwgeSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
Mml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTJpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01OTQsNyAr
NTk0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0z
Zihsb2NhdGlvbiwgeCwgeSwgeik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zZnYobG9j
YXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjA0LDcgKzYwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwg
R0MzRGluCiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2kobG9jYXRpb24sIHgsIHksIHopOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm0zaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjE0LDcg
KzYxNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
NGYobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGZ2
KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYyNCwyMiArNjI0LDIyIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0Rp
bnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGkobG9jYXRpb24sIHgsIHksIHos
IHcpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCog
dikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIHYpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNp
emUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
dmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXpl
LCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9y
bU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkK
IHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5z
cG9zZSwgdmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENv
bW1vbi5jcHAKaW5kZXggMDNkNGEzMmNjYzMyNjU2NDY4M2ExZGFhYjBhODE1YTEzMDdjMWIxZS4u
ZmYyNWExN2FlZWIzMDBjNTE2MTc4MWFlODg5NTI1MDdlMjQ2YjllMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC05MDcsNyArOTA3LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rm
bG9hdCB2MCkKICAgICA6OmdsVW5pZm9ybTFmKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBz
aXplLCBhcnJheSk7CkBAIC05MTksNyArOTE5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQog
ICAgIDo6Z2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwpAQCAtOTMyLDcgKzkzMiw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwK
ICAgICA6OmdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFy
cmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAg
ICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFr
ZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NDUsNyArOTQ1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0
IHYxLAogICAgIDo6Z2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQu
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NTgsNyArOTU4LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjApCiAg
ICAgOjpnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC05NzAsNyArOTcwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgOjpnbFVuaWZvcm0yaShs
b2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJp
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRv
IGJlIGEgbXVsdGlwbGUgb2YgMi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk4Myw3
ICs5ODMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIDo6Z2xVbmlmb3JtM2kobG9j
YXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
M2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTk2
LDI4ICs5OTYsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICA6OmdsVW5pZm9ybTRp
KGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0
aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CiAgICAgOjpnbFVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQog
ewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAg
IG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9u
LCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2Us
IEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBs
ZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA5LgogICAgIG1ha2VDb250ZXh0Q3VycmVu
dCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2Us
IGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXks
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUg
YSBtdWx0aXBsZSBvZiAxNi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0
M0RRdC5jcHAKaW5kZXggODA1OTFlOWM0NWZmY2QyOGY0NzBmOGQ4M2Q2NWY0MWJmYTgwOWFmZS4u
NzAwNTc4NWMwMWRlNmMzNzliNjlhZjQ2NjczZWNlYjM1NzdiZjliYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0
M0RRdC5jcHAKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgZ2xVbmlmb3JtMWYo
bG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXpl
aSBzaXplLCBDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAg
ICAgZ2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMDk5LDcgKzEwOTks
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAgICAgZ2xVbmlmb3JtMmYobG9jYXRpb24sIHYw
LCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5p
Zm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYy
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rm
bG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3Jt
M2Z2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTIzLDcgKzExMjMsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYw
LCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYz
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rm
bG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3Jt
NGZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTM1LDcgKzExMzUsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCkK
ICAgICBnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE0Nyw3ICsxMTQ3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgZ2xVbmlmb3JtMmkobG9j
YXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkg
c2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAg
Z2xVbmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTU5LDcgKzExNTksNyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwg
djEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZv
cm0zaXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExNzEsMjUgKzExNzEsMjUgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQg
djAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVuaWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2
MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdD
M0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9y
bTRpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9z
ZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFu
c3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwog
ICAgIGdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZs
b2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1N
YXRyaXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129839</attachid>
            <date>2012-03-02 00:39:42 -0800</date>
            <delta_ts>2012-03-02 00:50:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302173959.patch</filename>
            <type>text/plain</type>
            <size>24682</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJi
MDkwOWY5MTIuLjQ5ZWExNTUwM2U3YTY1YTM4YmI4M2M0MjkwZGJlOGNlMGM1ZmVjMDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtNzU2LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVy
aShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7
CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3Bl
bkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgp
OwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dD
M0RzaXplaSwgQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBs
b2NhdGlvbiwgR0dDM0RzaXplaSwgQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0yZihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZv
aWQgdW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpLCBDM0RmbG9hdCogdik7
CiAgICAgdm9pZCB1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50
IHkpOwotICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBH
QzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSwgR0MzRGludCogdik7CiAgICAgdm9pZCB1bmlmb3JtM2YoR0MzRGludCBsb2NhdGlv
biwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQzNEZmxvYXQgeik7Ci0gICAgdm9pZCB1bmlm
b3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOwor
ICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9h
dCogdik7CiAgICAgdm9pZCB1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBH
QzNEaW50IHksIEdDM0RpbnQgeik7Ci0gICAgdm9pZCB1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0zaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm00
ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6
LCBHQzNEZmxvYXQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtNGko
R0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbnQgeiwgR0MzRGlu
dCB3KTsKLSAgICB2b2lkIHVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwg
R0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBz
aXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAg
dm9pZCB1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9y
bTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZvaWQg
dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNE
ZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOwog
CiAgICAgdm9pZCB1c2VQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwogICAgIHZvaWQgdmFsaWRh
dGVQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAKaW5kZXggN2EyNmRiMjhhMGNlNzM0M2Q1ZTQ0NTllOGM3ZjcxZGM3NTk4NzdmNC4u
OWJjM2E5ZDBlNjUyZTMwZjg1ZWNmODNkZWQ4OGViNWY2NjQ0MGE3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQoY29uc3QgQ0NEZWJ1Z0JvcmRlckRy
YXdRdWFkKiBxdWEKICAgICByZW5kZXJNYXRyaXgudHJhbnNsYXRlKDAuNSAqIGxheWVyUmVjdC53
aWR0aCgpICsgbGF5ZXJSZWN0LngoKSwgMC41ICogbGF5ZXJSZWN0LmhlaWdodCgpICsgbGF5ZXJS
ZWN0LnkoKSk7CiAgICAgcmVuZGVyTWF0cml4LnNjYWxlTm9uVW5pZm9ybShsYXllclJlY3Qud2lk
dGgoKSwgbGF5ZXJSZWN0LmhlaWdodCgpKTsKICAgICBMYXllclJlbmRlcmVyQ2hyb21pdW06OnRv
R0xNYXRyaXgoJmdsTWF0cml4WzBdLCBwcm9qZWN0aW9uTWF0cml4KCkgKiByZW5kZXJNYXRyaXgp
OwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDRmdihwcm9ncmFt
LT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgJmdsTWF0cml4WzBdLCAx
KSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNlLCAmZ2xNYXRyaXhb
MF0pKTsKIAogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTRmKHByb2dyYW0t
PmZyYWdtZW50U2hhZGVyKCkuY29sb3JMb2NhdGlvbigpLCBxdWFkLT5jb2xvcigpLnJlZCgpIC8g
MjU1LjAsIHF1YWQtPmNvbG9yKCkuZ3JlZW4oKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmJsdWUo
KSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmFscGhhKCkgLyAyNTUuMCkpOwogCkBAIC02MjYsNyAr
NjI2LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZChjb25zdCBD
Q1RpbGVEcmF3UXVhZCogcXVhZCkKICAgICAgICAgZmxvYXQgZWRnZVsyNF07CiAgICAgICAgIGRl
dmljZUxheWVyRWRnZXMudG9GbG9hdEFycmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VMYXllckJv
dW5kcy50b0Zsb2F0QXJyYXkoJmVkZ2VbMTJdKTsKLSAgICAgICAgR0xDKGNvbnRleHQoKSwgY29u
dGV4dCgpLT51bmlmb3JtM2Z2KHVuaWZvcm1zLmVkZ2VMb2NhdGlvbiwgZWRnZSwgOCkpOworICAg
ICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxv
Y2F0aW9uLCA4LCBlZGdlKSk7CiAKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51
bmlmb3JtNGYodW5pZm9ybXMudmVydGV4VGV4VHJhbnNmb3JtTG9jYXRpb24sIHZlcnRleFRleFRy
YW5zbGF0ZVgsIHZlcnRleFRleFRyYW5zbGF0ZVksIHZlcnRleFRleFNjYWxlWCwgdmVydGV4VGV4
U2NhbGVZKSk7CiAgICAgICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTRmKHVu
aWZvcm1zLmZyYWdtZW50VGV4VHJhbnNmb3JtTG9jYXRpb24sIGZyYWdtZW50VGV4VHJhbnNsYXRl
WCwgZnJhZ21lbnRUZXhUcmFuc2xhdGVZLCBmcmFnbWVudFRleFNjYWxlWCwgZnJhZ21lbnRUZXhT
Y2FsZVkpKTsKQEAgLTc0NSw4ICs3NDUsOCBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6
ZHJhd1lVVihjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgR0xDKGNvbnRleHQoKSwg
Y29udGV4dCgpLT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS51VGV4dHVyZUxv
Y2F0aW9uKCksIDIpKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0xaShw
cm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnZUZXh0dXJlTG9jYXRpb24oKSwgMykpOwogCi0gICAg
R0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0tPmZyYWdt
ZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAwLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NW
aWRlb0xheWVySW1wbDo6eXV2MlJHQiksIDEpKTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2NhdGlvbigp
LCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSwgMSkpOwor
ICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDNmdihwcm9ncmFtLT5m
cmFnbWVudFNoYWRlcigpLmNjTWF0cml4TG9jYXRpb24oKSwgMSwgMCwgY29uc3RfY2FzdDxmbG9h
dCo+KENDVmlkZW9MYXllckltcGw6Onl1djJSR0IpKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29u
dGV4dCgpLT51bmlmb3JtM2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkueXV2QWRqTG9jYXRp
b24oKSwgMSwgY29uc3RfY2FzdDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1dkFkanVzdCkp
KTsKIAogICAgIGNvbnN0IEludFNpemUmIGJvdW5kcyA9IHF1YWQtPnF1YWRSZWN0KCkuc2l6ZSgp
OwogICAgIGRyYXdUZXh0dXJlZFF1YWQocXVhZC0+bGF5ZXJUcmFuc2Zvcm0oKSwgYm91bmRzLndp
ZHRoKCksIGJvdW5kcy5oZWlnaHQoKSwgcXVhZC0+b3BhY2l0eSgpLCBGbG9hdFF1YWQoKSwKQEAg
LTc5OCw3ICs3OTgsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVRl
eHR1cmUoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIGNvbnN0IENDVmlkZW9MYXll
ckltcGw6OlN0cmVhbVRleHR1cmVQcm9ncmFtKiBwcm9ncmFtID0gc3RyZWFtVGV4dHVyZUxheWVy
UHJvZ3JhbSgpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dXNlUHJvZ3JhbShwcm9n
cmFtLT5wcm9ncmFtKCkpKTsKICAgICBBU1NFUlQocXVhZC0+bWF0cml4KCkpOwotICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFk
ZXIoKS50ZXhNYXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgY29uc3RfY2FzdDxmbG9hdCo+KHF1YWQt
Pm1hdHJpeCgpKSwgMSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1h
dHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS50ZXhNYXRyaXhMb2NhdGlvbigpLCAxLCBm
YWxzZSwgY29uc3RfY2FzdDxmbG9hdCo+KHF1YWQtPm1hdHJpeCgpKSkpOwogCiAgICAgZHJhd1Np
bmdsZVRleHR1cmVWaWRlb1F1YWQocXVhZCwgcHJvZ3JhbSwgMSwgcXVhZC0+ZnJhbWUoKS0+dGV4
dHVyZUlkKCksIEV4dGVuc2lvbnMzRENocm9taXVtOjpHTF9URVhUVVJFX0VYVEVSTkFMX09FUyk7
CiB9CkBAIC0xMDEzLDcgKzEwMTMsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d1RleHR1cmVkUXVhZChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd01hdAogICAgIC8v
IEFwcGx5IHRoZSBwcm9qZWN0aW9uIG1hdHJpeCBiZWZvcmUgc2VuZGluZyB0aGUgdHJhbnNmb3Jt
IG92ZXIgdG8gdGhlIHNoYWRlci4KICAgICB0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwgbV9wcm9q
ZWN0aW9uTWF0cml4ICogcmVuZGVyTWF0cml4KTsKIAotICAgIEdMQyhtX2NvbnRleHQsIG1fY29u
dGV4dC0+dW5pZm9ybU1hdHJpeDRmdihtYXRyaXhMb2NhdGlvbiwgZmFsc2UsICZnbE1hdHJpeFsw
XSwgMSkpOworICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdiht
YXRyaXhMb2NhdGlvbiwgMSwgZmFsc2UsICZnbE1hdHJpeFswXSkpOwogCiAgICAgaWYgKHF1YWRM
b2NhdGlvbiAhPSAtMSkgewogICAgICAgICBmbG9hdCBwb2ludFs4XTsKQEAgLTEwMjUsNyArMTAy
NSw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgICAgIHBvaW50WzVdID0gcXVhZC5w
MygpLnkoKTsKICAgICAgICAgcG9pbnRbNl0gPSBxdWFkLnA0KCkueCgpOwogICAgICAgICBwb2lu
dFs3XSA9IHF1YWQucDQoKS55KCk7Ci0gICAgICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+
dW5pZm9ybTJmdihxdWFkTG9jYXRpb24sIHBvaW50LCA0KSk7CisgICAgICAgIEdMQyhtX2NvbnRl
eHQsIG1fY29udGV4dC0+dW5pZm9ybTJmdihxdWFkTG9jYXRpb24sIDQsIHBvaW50KSk7CiAgICAg
fQogCiAgICAgaWYgKGFscGhhTG9jYXRpb24gIT0gLTEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJm
YWNlLmNwcAppbmRleCAwMWI3OGJjZDQwMmFlYzkzMDdmZTgzNDY5MThlMzk1YjkwNjZmY2YwLi5h
ZmFhNmIzYzEzODA1MWUzNTc0YWQ2MDlhZjhhZDJjYTFmMjMxZjg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
UmVuZGVyU3VyZmFjZS5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIENDUmVuZGVyU3VyZmFj
ZTo6ZHJhd1N1cmZhY2UoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBDQ0xh
eWVySQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgbGF5ZXJRdWFkLnRvRmxvYXRB
cnJheShlZGdlKTsKICAgICAgICAgZGV2aWNlUmVjdC50b0Zsb2F0QXJyYXkoJmVkZ2VbMTJdKTsK
LSAgICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNELT51bmlmb3JtM2Z2KHNoYWRlckVkZ2VM
b2NhdGlvbiwgZWRnZSwgOCkpOworICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVu
aWZvcm0zZnYoc2hhZGVyRWRnZUxvY2F0aW9uLCA4LCBlZGdlKSk7CiAgICAgfQogCiAgICAgLy8g
TWFwIGRldmljZSBzcGFjZSBxdWFkIHRvIGxheWVyIHNwYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVm
bC5jcHAKaW5kZXggNDY1OTM5NzhmMjc2ZWQ3OTJlNTJjNjUyZWU4N2JmYzc4YWE4MzU1ZS4uZTU2
MDFjOGY4OTlhYzc3NWIyZWM1MGJjZGQ1ODE2YWJkZDFhNDg4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0
M0RFZmwuY3BwCkBAIC01NTQsNyArNTU0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4KQogICAgIG1fcHJpdmF0ZS0+dW5p
Zm9ybTFmKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNp
emVpIHNpemUsIEMzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTFmdihsb2Nh
dGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01NjQsNyArNTY0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCkKICAgICBtX3ByaXZh
dGUtPnVuaWZvcm0xaShsb2NhdGlvbiwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdH
QzNEc2l6ZWkgc2l6ZSwgQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTFpdihs
b2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01NzQsNyArNTc0LDcgQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBmbG9hdCB5
KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJmKGxvY2F0aW9uLCB4LCB5KTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQq
IHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1f
cHJpdmF0ZS0+dW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01ODQsNyArNTg0
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQgeCwgR0MzRGludCB5KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJpKGxvY2F0aW9u
LCB4LCB5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rp
bnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCB2KTsK
IH0KQEAgLTU5NCw3ICs1OTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Yo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwogICAgIG1fcHJp
dmF0ZS0+dW5pZm9ybTNmKGxvY2F0aW9uLCB4LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0ZS0+
dW5pZm9ybTNmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MDQsNyArNjA0LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQg
eCwgR0MzRGludCB5LCBHQzNEaW4KICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zaShsb2NhdGlvbiwg
eCwgeSwgeik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNE
aW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgdik7
CiB9CkBAIC02MTQsNyArNjE0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRm
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MKICAgICBtX3By
aXZhdGUtPnVuaWZvcm00Zihsb2NhdGlvbiwgeCwgeSwgeiwgdyk7CiB9CiAKLXZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBH
QzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZh
dGUtPnVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjI0LDIyICs2MjQsMjIg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW4KICAgICBtX3ByaXZhdGUtPnVuaWZvcm00aShsb2Nh
dGlvbiwgeCwgeSwgeiwgdyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00
aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRpdihsb2NhdGlvbiwg
c2l6ZSwgdik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgy
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9z
ZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRyaXgyZnYo
bG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9w
cml2YXRlLT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVl
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNE
ZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlv
biwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCAwM2Q0YTMyY2NjMzI2NTY0NjgzYTFkYWFiMGE4
MTVhMTMwN2MxYjFlLi5mZjI1YTE3YWVlYjMwMGM1MTYxNzgxYWU4ODk1MjUwN2UyNDZiOWUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKQEAgLTkw
Nyw3ICs5MDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0IHYwKQogICAgIDo6Z2xVbmlmb3JtMWYobG9jYXRpb24sIHYwKTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0x
ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBH
QzNEZmxvYXQgdjEpCiAgICAgOjpnbFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDIu
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05MzIsNyArOTMyLDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwg
R0MzRGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtM2YobG9jYXRpb24sIHYwLCB2MSwgdjIpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0
KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUg
b2YgMy4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk0NSw3ICs5NDUsNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0
IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm00Zihsb2NhdGlvbiwgdjAsIHYxLCB2
MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEg
bXVsdGlwbGUgb2YgNC4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk1OCw3ICs5NTgs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB2MCkKICAgICA6OmdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFp
dihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJyYXkpCiB7CiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0xaXYobG9jYXRpb24sIHNp
emUsIGFycmF5KTsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSkKICAgICA6
OmdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBs
ZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250ZXh0Q3VycmVu
dCgpOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgOjpn
bFVuaWZvcm0zaShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6
IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNvbnRleHRDdXJy
ZW50KCk7CkBAIC05OTYsMjggKzk5NiwyOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAg
IDo6Z2xVbmlmb3JtNGkobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAv
LyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNp
emVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRp
cGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRy
aXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAg
ICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDkuCiAgICAgbWFr
ZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNp
emUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0
aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDE2LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA4MDU5MWU5YzQ1ZmZjZDI4ZjQ3MGY4ZDgzZDY1
ZjQxYmZhODA5YWZlLi43MDA1Nzg1YzAxZGU2YzM3OWI2OWFmNDY2NzNlY2ViMzU3N2JmOWJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCkKICAg
ICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0
aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4
dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAg
LTEwOTksNyArMTA5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICBnbFVuaWZvcm0y
Zihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50
KCk7CiAgICAgZ2xVbmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTExLDcg
KzExMTEsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3JtM2YobG9jYXRp
b24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsK
ICAgICBnbFVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExMjMsNyArMTEy
Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm00Zihsb2NhdGlvbiwg
djAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsK
ICAgICBnbFVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExMzUsNyArMTEz
NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9u
LCBHQzNEaW50IHYwKQogICAgIGdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFp
dihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJyYXkpCiB7CiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWl2KGxvY2F0aW9uLCBzaXpl
LCBhcnJheSk7CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSkKICAgICBn
bFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
NTksNyArMTE1OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xVbmlmb3JtM2ko
bG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwogICAgIGdsVW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTE3MSwyNSAr
MTE3MSwyNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9ybTRpKGxvY2F0
aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CiAgICAgZ2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsK
ICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgyZnYobG9jYXRp
b24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9z
ZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFu
c3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwog
ICAgIGdsVW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129840</attachid>
            <date>2012-03-02 00:50:50 -0800</date>
            <delta_ts>2012-03-02 01:10:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302175108.patch</filename>
            <type>text/plain</type>
            <size>24681</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJi
MDkwOWY5MTIuLjQwZGNjZWQ0OGM5NzVmNWRmMDJhMzUyZTc3ZmFiNjBkNTBlM2NkNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtNzU2LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVy
aShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7
CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3Bl
bkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgp
OwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpLCBDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJmKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsK
ICAgICB2b2lkIHVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQg
eSk7Ci0gICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2b2lkIHVuaWZv
cm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Cisg
ICAgdm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0
KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdD
M0RpbnQgeSwgR0MzRGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTNpdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTRm
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHos
IEdDM0RmbG9hdCB3KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm00aShH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNEaW50
IHcpOwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBH
QzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNp
emUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2
b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNw
b3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3Jt
NGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CisgICAgdm9pZCB1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4g
dHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CiAK
ICAgICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCB2YWxpZGF0
ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAppbmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1OTg3N2Y0Li45
YmMzYTlkMGU2NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVnQm9yZGVyRHJh
d1F1YWQqIHF1YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5ZXJSZWN0Lndp
ZHRoKCkgKyBsYXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkgKyBsYXllclJl
Y3QueSgpKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVyUmVjdC53aWR0
aCgpLCBsYXllclJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dG9H
TE1hdHJpeCgmZ2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRlck1hdHJpeCk7
Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0t
PnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRyaXhbMF0sIDEp
KTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3Jh
bS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZnbE1hdHJpeFsw
XSkpOwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYocHJvZ3JhbS0+
ZnJhZ21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCkucmVkKCkgLyAy
NTUuMCwgcXVhZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYmx1ZSgp
IC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAgLTYyNiw3ICs2
MjYsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKGNvbnN0IEND
VGlsZURyYXdRdWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgZGV2
aWNlTGF5ZXJFZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZUxheWVyQm91
bmRzLnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAg
ICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9j
YXRpb24sIDgsIGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVu
aWZvcm00Zih1bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVydGV4VGV4VHJh
bnNsYXRlWCwgdmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2ZXJ0ZXhUZXhT
Y2FsZVkpKTsKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYodW5p
Zm9ybXMuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhUcmFuc2xhdGVY
LCBmcmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFnbWVudFRleFNj
YWxlWSkpOwpAQCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpk
cmF3WVVWKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBj
b250ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVUZXh0dXJlTG9j
YXRpb24oKSwgMikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHBy
b2dyYW0tPmZyYWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7CiAKLSAgICBH
TEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3JhbS0+ZnJhZ21l
bnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1Zp
ZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQo
KS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxvY2F0aW9uKCks
IGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3QpLCAxKSk7Cisg
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0tPmZy
YWdtZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9jYXN0PGZsb2F0
Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2NhdGlv
bigpLCAxLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSkp
OwogCiAgICAgY29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3QoKS5zaXplKCk7
CiAgICAgZHJhd1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBib3VuZHMud2lk
dGgoKSwgYm91bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVhZCgpLApAQCAt
Nzk4LDcgKzc5OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4
dHVyZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NWaWRlb0xheWVy
SW1wbDo6U3RyZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0dXJlTGF5ZXJQ
cm9ncmFtKCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9ncmFtKHByb2dy
YW0tPnByb2dyYW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0gICAgR0xDKGNv
bnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRl
cigpLnRleE1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+
bWF0cml4KCkpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0
cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIDEsIGZh
bHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAgICBkcmF3U2lu
Z2xlVGV4dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFtZSgpLT50ZXh0
dXJlSWQoKSwgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTKTsK
IH0KQEAgLTEwMTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
VGV4dHVyZWRRdWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgLy8g
QXBwbHkgdGhlIHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0cmFuc2Zvcm0g
b3ZlciB0byB0aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBdLCBtX3Byb2pl
Y3Rpb25NYXRyaXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4dCwgbV9jb250
ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmdsTWF0cml4WzBd
LCAxKSk7CisgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1h
dHJpeExvY2F0aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBpZiAocXVhZExv
Y2F0aW9uICE9IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAyNSw3ICsxMDI1
LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0gPSBxdWFkLnAz
KCkueSgpOwogICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAgICAgIHBvaW50
WzddID0gcXVhZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51
bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xDKG1fY29udGV4
dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQpKTsKICAgICB9
CiAKICAgICBpZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZh
Y2UuY3BwCmluZGV4IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0NjkxOGUzOTViOTA2NmZjZjAuLmFm
YWE2YjNjMTM4MDUxZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ0NSZW5kZXJTdXJmYWNl
OjpkcmF3U3VyZmFjZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIENDTGF5
ZXJJCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBsYXllclF1YWQudG9GbG9hdEFy
cmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwot
ICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZvcm0zZnYoc2hhZGVyRWRnZUxv
Y2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5p
Zm9ybTNmdihzaGFkZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKICAgICB9CiAKICAgICAvLyBN
YXAgZGV2aWNlIHNwYWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZs
LmNwcAppbmRleCA0NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3YmZjNzhhYTgzNTVlLi5lNTYw
MWM4Zjg5OWFjNzc1YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQz
REVmbC5jcHAKQEAgLTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAgICAgbV9wcml2YXRlLT51bmlm
b3JtMWYobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6
ZWkgc2l6ZSwgQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWZ2KGxvY2F0
aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KQogICAgIG1fcHJpdmF0
ZS0+dW5pZm9ybTFpKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0dD
M0RzaXplaSBzaXplLCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWl2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIGZsb2F0IHkp
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9w
cml2YXRlLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU4NCw3ICs1ODQs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB4LCBHQzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmkobG9jYXRpb24s
IHgsIHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGlu
dCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIHYpOwog
fQpAQCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAgICAgbV9wcml2
YXRlLT51bmlmb3JtM2YobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNp
emVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51
bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYwNCw3ICs2MDQsNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4
LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpKGxvY2F0aW9uLCB4
LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rp
bnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCB2KTsK
IH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwogICAgIG1fcHJp
dmF0ZS0+dW5pZm9ybTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0
ZS0+dW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MjQsMjIgKzYyNCwyMiBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRpKGxvY2F0
aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRp
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGl2KGxvY2F0aW9uLCBz
aXplLCB2KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUs
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDJmdihs
b2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3By
aXZhdGUtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNp
emVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9u
LCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDAzZDRhMzJjY2MzMjY1NjQ2ODNhMWRhYWIwYTgx
NWExMzA3YzFiMWUuLmZmMjVhMTdhZWViMzAwYzUxNjE3ODFhZTg4OTUyNTA3ZTI0NmI5ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApAQCAtOTA3
LDcgKzkwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgOjpnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0
KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTFm
dihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtOTE5LDcgKzkxOSw3IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdD
M0RmbG9hdCB2MSkKICAgICA6OmdsVW5pZm9ybTJmKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rm
bG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJh
eSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMi4K
ICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTkzMiw3ICs5MzIsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBH
QzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm0zZihsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQq
IGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBv
ZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTQ1LDcgKzk0NSw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQg
djAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTRmKGxvY2F0aW9uLCB2MCwgdjEsIHYy
LCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTU4LDcgKzk1OCw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50IHYwKQogICAgIDo6Z2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2
KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEaW50KiBhcnJheSkKIHsKICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6
ZSwgYXJyYXkpOwpAQCAtOTcwLDcgKzk3MCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxKQogICAgIDo6
Z2xVbmlmb3JtMmkobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxl
bmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDIuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50
KCk7CkBAIC05ODMsNyArOTgzLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICA6Omds
VW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNp
emVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTog
bGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMy4KICAgICBtYWtlQ29udGV4dEN1cnJl
bnQoKTsKQEAgLTk5NiwyOCArOTk2LDI4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAg
OjpnbFVuaWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZs
b2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlw
bGUgb2YgNC4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybU1hdHJp
eDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAg
ICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgOS4KICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6
ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNE
ZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3Ro
IG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMTYuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGlj
c0NvbnRleHQzRFF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dDNEUXQuY3BwCmluZGV4IDgwNTkxZTljNDVmZmNkMjhmNDcwZjhkODNkNjVm
NDFiZmE4MDlhZmUuLjcwMDU3ODVjMDFkZTZjMzc5YjY5YWY0NjY3M2VjZWIzNTc3YmY5YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29u
dGV4dDNEUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dDNEUXQuY3BwCkBAIC0xMDg3LDcgKzEwODcsNyBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwKQogICAg
IGdsVW5pZm9ybTFmKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTA5OSw3ICsxMDk5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQogICAgIGdsVW5pZm9ybTJm
KGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQo
KTsKICAgICBnbFVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExMTEsNyAr
MTExMSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm0zZihsb2NhdGlv
biwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwog
ICAgIGdsVW5pZm9ybTNmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTEyMyw3ICsxMTIz
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5pZm9ybTRmKGxvY2F0aW9uLCB2
MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwog
ICAgIGdsVW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTEzNSw3ICsxMTM1
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQgdjApCiAgICAgZ2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2
KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEaW50KiBhcnJheSkKIHsKICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUs
IGFycmF5KTsKQEAgLTExNDcsNyArMTE0Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxKQogICAgIGds
VW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkg
c2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybTJpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTE1
OSw3ICsxMTU5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpKEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVuaWZvcm0zaShs
b2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CiAgICAgZ2xVbmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTcxLDI1ICsx
MTcxLDI1IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xVbmlmb3JtNGkobG9jYXRp
b24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsK
ICAgICBnbFVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDJmdihsb2NhdGlv
biwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdD
M0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4
dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5z
cG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0
cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFu
c3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAg
ICAgZ2xVbmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129842</attachid>
            <date>2012-03-02 01:10:08 -0800</date>
            <delta_ts>2012-03-02 01:50:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302181025.patch</filename>
            <type>text/plain</type>
            <size>24748</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJi
MDkwOWY5MTIuLjMzMDk3MWQ1M2U5NWRjMDExYjA3NWM4OThjYWQ3MTI2Mjk1OTdhYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtNzU2LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVy
aShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7
CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3Bl
bkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgp
OwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm0yZihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5p
Zm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZv
aWQgdW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHYzNEZmxvYXQgeSk7
CisgICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZs
b2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgs
IEdDM0RpbnQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rp
bnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2
b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkg
c2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwg
R0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9y
bTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQg
dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0Mz
RGZsb2F0IHosIEdDM0RmbG9hdCB3KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVu
aWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6
LCBHQzNEaW50IHcpOwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0Mz
RHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXpl
KTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7Cisg
ICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1N
YXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2
YWx1ZSk7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9p
ZCB2YWxpZGF0ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmNwcAppbmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1
OTg3N2Y0Li45YmMzYTlkMGU2NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVn
Qm9yZGVyRHJhd1F1YWQqIHF1YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5
ZXJSZWN0LndpZHRoKCkgKyBsYXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkg
KyBsYXllclJlY3QueSgpKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVy
UmVjdC53aWR0aCgpLCBsYXllclJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6dG9HTE1hdHJpeCgmZ2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRl
ck1hdHJpeCk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2
KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRy
aXhbMF0sIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0
ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZn
bE1hdHJpeFswXSkpOwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYo
cHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCku
cmVkKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9y
KCkuYmx1ZSgpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAg
LTYyNiw3ICs2MjYsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFk
KGNvbnN0IENDVGlsZURyYXdRdWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAg
ICAgICAgZGV2aWNlTGF5ZXJFZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmlj
ZUxheWVyQm91bmRzLnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4
KSk7CisgICAgICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jt
cy5lZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm00Zih1bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVy
dGV4VGV4VHJhbnNsYXRlWCwgdmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2
ZXJ0ZXhUZXhTY2FsZVkpKTsKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlm
b3JtNGYodW5pZm9ybXMuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhU
cmFuc2xhdGVYLCBmcmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFn
bWVudFRleFNjYWxlWSkpOwpAQCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpkcmF3WVVWKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29u
dGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVU
ZXh0dXJlTG9jYXRpb24oKSwgMikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5p
Zm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7
CiAKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3Jh
bS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8Zmxv
YXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxv
Y2F0aW9uKCksIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3Qp
LCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHBy
b2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9j
YXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZB
ZGpMb2NhdGlvbigpLCAxLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2
QWRqdXN0KSkpOwogCiAgICAgY29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3Qo
KS5zaXplKCk7CiAgICAgZHJhd1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBi
b3VuZHMud2lkdGgoKSwgYm91bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVh
ZCgpLApAQCAtNzk4LDcgKzc5OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
U3RyZWFtVGV4dHVyZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NW
aWRlb0xheWVySW1wbDo6U3RyZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0
dXJlTGF5ZXJQcm9ncmFtKCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9n
cmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0g
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZl
cnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0
Kj4ocXVhZC0+bWF0cml4KCkpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51
bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9u
KCksIDEsIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAg
ICBkcmF3U2luZ2xlVGV4dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFt
ZSgpLT50ZXh0dXJlSWQoKSwgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJO
QUxfT0VTKTsKIH0KQEAgLTEwMTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3VGV4dHVyZWRRdWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0
CiAgICAgLy8gQXBwbHkgdGhlIHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0
cmFuc2Zvcm0gb3ZlciB0byB0aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBd
LCBtX3Byb2plY3Rpb25NYXRyaXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4
dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmds
TWF0cml4WzBdLCAxKSk7CisgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0
cml4NGZ2KG1hdHJpeExvY2F0aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBp
ZiAocXVhZExvY2F0aW9uICE9IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAy
NSw3ICsxMDI1LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1
YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0g
PSBxdWFkLnAzKCkueSgpOwogICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAg
ICAgIHBvaW50WzddID0gcXVhZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9j
b250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xD
KG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQp
KTsKICAgICB9CiAKICAgICBpZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jl
bmRlclN1cmZhY2UuY3BwCmluZGV4IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0NjkxOGUzOTViOTA2
NmZjZjAuLmFmYWE2YjNjMTM4MDUxZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
U3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ0NSZW5k
ZXJTdXJmYWNlOjpkcmF3U3VyZmFjZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVy
ZXIsIENDTGF5ZXJJCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBsYXllclF1YWQu
dG9GbG9hdEFycmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRBcnJheSgmZWRn
ZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZvcm0zZnYoc2hh
ZGVyRWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRl
eHQzRC0+dW5pZm9ybTNmdihzaGFkZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKICAgICB9CiAK
ICAgICAvLyBNYXAgZGV2aWNlIHNwYWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RF
ZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29u
dGV4dDNERWZsLmNwcAppbmRleCA0NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3YmZjNzhhYTgz
NTVlLi5lNTYwMWM4Zjg5OWFjNzc1YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGlj
c0NvbnRleHQzREVmbC5jcHAKQEAgLTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAgICAgbV9wcml2
YXRlLT51bmlmb3JtMWYobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNp
emUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdHQzNEc2l6ZWkgc2l6ZSwgQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
MWZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KQogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTFpKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtMWl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgs
IGZsb2F0IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgsIHkpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU4
NCw3ICs1ODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmko
bG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6
ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNp
emUsIHYpOwogfQpAQCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtM2YobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9w
cml2YXRlLT51bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYwNCw3ICs2MDQs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpKGxv
Y2F0aW9uLCB4LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBz
aXplLCB2KTsKIH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwog
ICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MjQsMjIg
KzYyNCwyMiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9y
bTRpKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGl2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4g
dHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1h
dHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsK
ICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9z
ZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1
ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4NGZ2
KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDAzZDRhMzJjY2MzMjY1NjQ2ODNh
MWRhYWIwYTgxNWExMzA3YzFiMWUuLjhkYzZhMDAyZjAxZWM2ZGU2MTllMzAwZTU4MWMyM2YxYWY0
ZTAxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNw
cApAQCAtOTA3LDcgKzkwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgOjpnbFVuaWZvcm0xZihsb2NhdGlv
biwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6Omds
VW5pZm9ybTFmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtOTE5LDcgKzkxOSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICA6OmdsVW5pZm9ybTJmKGxvY2F0aW9uLCB2MCwgdjEp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZs
b2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlw
bGUgb2YgMi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTkzMiw3ICs5MzIsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm0zZihsb2NhdGlvbiwgdjAsIHYx
LCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTQ1LDcgKzk0NSw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTRmKGxvY2F0aW9uLCB2
MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTU4
LDcgKzk1OCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50IHYwKQogICAgIDo6Z2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0xaXYobG9j
YXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICA6OmdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNE
CiAgICAgOjpnbFVuaWZvcm0zaShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
Ly8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNv
bnRleHRDdXJyZW50KCk7CkBAIC05OTYsMjggKzk5NiwyOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtNGkobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkK
IHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6
ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVu
aWZvcm1NYXRyaXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDku
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRyaXgzZnYobG9j
YXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklY
TUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDE2LgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA4MDU5MWU5YzQ1ZmZjZDI4ZjQ3
MGY4ZDgzZDY1ZjQxYmZhODA5YWZlLi43MDA1Nzg1YzAxZGU2YzM3OWI2OWFmNDY2NzNlY2ViMzU3
N2JmOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCkKICAgICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXks
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiBhcnJheSkKIHsKICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFy
cmF5KTsKQEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICBn
bFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTExLDcgKzExMTEsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
M2YobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MjMsNyArMTEyMyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm00Zihs
b2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MzUsNyArMTEzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHYwKQogICAgIGdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWl2KGxvY2F0
aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICBnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIGFycmF5
KTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xV
bmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE3MSwyNSArMTE3MSwyNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9y
bTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBh
cnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgy
ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3Nl
LCBhcnJheSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129845</attachid>
            <date>2012-03-02 01:50:13 -0800</date>
            <delta_ts>2012-03-02 02:17:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302185030.patch</filename>
            <type>text/plain</type>
            <size>24748</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJi
MDkwOWY5MTIuLmMzYTExOWZjYzc0ODMzMWY0Y2ZlNjUxNjAwNDk0ZDlmYjczYTUwZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtNzU2LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVy
aShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2
b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50
IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVp
Z2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7
CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3Bl
bkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgp
OwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm0yZihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5p
Zm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZv
aWQgdW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSk7
CisgICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZs
b2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgs
IEdDM0RpbnQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rp
bnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2
b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkg
c2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwg
R0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9y
bTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQg
dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0Mz
RGZsb2F0IHosIEdDM0RmbG9hdCB3KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVu
aWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6
LCBHQzNEaW50IHcpOwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0Mz
RHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXpl
KTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7Cisg
ICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1N
YXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2
YWx1ZSk7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9p
ZCB2YWxpZGF0ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmNwcAppbmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1
OTg3N2Y0Li45YmMzYTlkMGU2NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVn
Qm9yZGVyRHJhd1F1YWQqIHF1YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5
ZXJSZWN0LndpZHRoKCkgKyBsYXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkg
KyBsYXllclJlY3QueSgpKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVy
UmVjdC53aWR0aCgpLCBsYXllclJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6dG9HTE1hdHJpeCgmZ2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRl
ck1hdHJpeCk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2
KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRy
aXhbMF0sIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0
ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZn
bE1hdHJpeFswXSkpOwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYo
cHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCku
cmVkKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9y
KCkuYmx1ZSgpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAg
LTYyNiw3ICs2MjYsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFk
KGNvbnN0IENDVGlsZURyYXdRdWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAg
ICAgICAgZGV2aWNlTGF5ZXJFZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmlj
ZUxheWVyQm91bmRzLnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4
KSk7CisgICAgICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jt
cy5lZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm00Zih1bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVy
dGV4VGV4VHJhbnNsYXRlWCwgdmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2
ZXJ0ZXhUZXhTY2FsZVkpKTsKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlm
b3JtNGYodW5pZm9ybXMuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhU
cmFuc2xhdGVYLCBmcmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFn
bWVudFRleFNjYWxlWSkpOwpAQCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpkcmF3WVVWKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29u
dGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVU
ZXh0dXJlTG9jYXRpb24oKSwgMikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5p
Zm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7
CiAKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3Jh
bS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8Zmxv
YXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxv
Y2F0aW9uKCksIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3Qp
LCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHBy
b2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9j
YXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZB
ZGpMb2NhdGlvbigpLCAxLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2
QWRqdXN0KSkpOwogCiAgICAgY29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3Qo
KS5zaXplKCk7CiAgICAgZHJhd1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBi
b3VuZHMud2lkdGgoKSwgYm91bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVh
ZCgpLApAQCAtNzk4LDcgKzc5OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
U3RyZWFtVGV4dHVyZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NW
aWRlb0xheWVySW1wbDo6U3RyZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0
dXJlTGF5ZXJQcm9ncmFtKCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9n
cmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0g
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZl
cnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0
Kj4ocXVhZC0+bWF0cml4KCkpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51
bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9u
KCksIDEsIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAg
ICBkcmF3U2luZ2xlVGV4dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFt
ZSgpLT50ZXh0dXJlSWQoKSwgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJO
QUxfT0VTKTsKIH0KQEAgLTEwMTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3VGV4dHVyZWRRdWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0
CiAgICAgLy8gQXBwbHkgdGhlIHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0
cmFuc2Zvcm0gb3ZlciB0byB0aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBd
LCBtX3Byb2plY3Rpb25NYXRyaXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4
dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmds
TWF0cml4WzBdLCAxKSk7CisgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0
cml4NGZ2KG1hdHJpeExvY2F0aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBp
ZiAocXVhZExvY2F0aW9uICE9IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAy
NSw3ICsxMDI1LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1
YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0g
PSBxdWFkLnAzKCkueSgpOwogICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAg
ICAgIHBvaW50WzddID0gcXVhZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9j
b250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xD
KG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQp
KTsKICAgICB9CiAKICAgICBpZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jl
bmRlclN1cmZhY2UuY3BwCmluZGV4IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0NjkxOGUzOTViOTA2
NmZjZjAuLmFmYWE2YjNjMTM4MDUxZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
U3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ0NSZW5k
ZXJTdXJmYWNlOjpkcmF3U3VyZmFjZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVy
ZXIsIENDTGF5ZXJJCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBsYXllclF1YWQu
dG9GbG9hdEFycmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRBcnJheSgmZWRn
ZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZvcm0zZnYoc2hh
ZGVyRWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRl
eHQzRC0+dW5pZm9ybTNmdihzaGFkZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKICAgICB9CiAK
ICAgICAvLyBNYXAgZGV2aWNlIHNwYWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RF
ZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29u
dGV4dDNERWZsLmNwcAppbmRleCA0NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3YmZjNzhhYTgz
NTVlLi5lNTYwMWM4Zjg5OWFjNzc1YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGlj
c0NvbnRleHQzREVmbC5jcHAKQEAgLTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAgICAgbV9wcml2
YXRlLT51bmlmb3JtMWYobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNp
emUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdHQzNEc2l6ZWkgc2l6ZSwgQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
MWZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KQogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTFpKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtMWl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgs
IGZsb2F0IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgsIHkpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU4
NCw3ICs1ODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmko
bG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6
ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNp
emUsIHYpOwogfQpAQCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtM2YobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9w
cml2YXRlLT51bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYwNCw3ICs2MDQs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpKGxv
Y2F0aW9uLCB4LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBz
aXplLCB2KTsKIH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwog
ICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MjQsMjIg
KzYyNCwyMiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9y
bTRpKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGl2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4g
dHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1h
dHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsK
ICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9z
ZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1
ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4NGZ2
KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDAzZDRhMzJjY2MzMjY1NjQ2ODNh
MWRhYWIwYTgxNWExMzA3YzFiMWUuLjhkYzZhMDAyZjAxZWM2ZGU2MTllMzAwZTU4MWMyM2YxYWY0
ZTAxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNw
cApAQCAtOTA3LDcgKzkwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgOjpnbFVuaWZvcm0xZihsb2NhdGlv
biwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6Omds
VW5pZm9ybTFmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtOTE5LDcgKzkxOSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICA6OmdsVW5pZm9ybTJmKGxvY2F0aW9uLCB2MCwgdjEp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZs
b2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlw
bGUgb2YgMi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTkzMiw3ICs5MzIsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm0zZihsb2NhdGlvbiwgdjAsIHYx
LCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTQ1LDcgKzk0NSw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTRmKGxvY2F0aW9uLCB2
MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTU4
LDcgKzk1OCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50IHYwKQogICAgIDo6Z2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0xaXYobG9j
YXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICA6OmdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNE
CiAgICAgOjpnbFVuaWZvcm0zaShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
Ly8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNv
bnRleHRDdXJyZW50KCk7CkBAIC05OTYsMjggKzk5NiwyOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtNGkobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkK
IHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6
ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVu
aWZvcm1NYXRyaXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDku
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRyaXgzZnYobG9j
YXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklY
TUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDE2LgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA4MDU5MWU5YzQ1ZmZjZDI4ZjQ3
MGY4ZDgzZDY1ZjQxYmZhODA5YWZlLi43MDA1Nzg1YzAxZGU2YzM3OWI2OWFmNDY2NzNlY2ViMzU3
N2JmOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCkKICAgICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXks
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiBhcnJheSkKIHsKICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFy
cmF5KTsKQEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICBn
bFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTExLDcgKzExMTEsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
M2YobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MjMsNyArMTEyMyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm00Zihs
b2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MzUsNyArMTEzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHYwKQogICAgIGdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWl2KGxvY2F0
aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICBnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIGFycmF5
KTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xV
bmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE3MSwyNSArMTE3MSwyNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9y
bTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBh
cnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgy
ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3Nl
LCBhcnJheSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129859</attachid>
            <date>2012-03-02 02:17:59 -0800</date>
            <delta_ts>2012-03-02 02:47:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302191817.patch</filename>
            <type>text/plain</type>
            <size>34214</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDQ1OWUwMmU3NTU4YjU5NWQzOGUyOGNkYjNmMmViOTVi
MWUzZTAzNjAuLmY2Mjg5YjY3MzMyOWRkNzkzMWMyZjUxOTNkNDA5NzNmZjM4MWZiNWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcApAQCAtMzcxOSw3ICszNzE5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkp
OworICAgIG1fY29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVu
Z3RoKCksIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIApAQCAtMzcyOSw3ICszNzI5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIHNpemUsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Nv
bnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1f
Y29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc1NCw3ICszNzU0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIDEpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkpOworICAgIG1fY29udGV4dC0+dW5pZm9y
bTFpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCksIHYtPmRhdGEoKSk7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc2NCw3ICszNzY0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIHNpemUs
IDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTFpdihsb2Nh
dGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzc4OSw3ICszNzg5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBG
bG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMmZ2IiwgbG9jYXRpb24sIHYsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+
bGVuZ3RoKCkgLyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmxlbmd0aCgpIC8gMiwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zNzk5LDcgKzM3OTksNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBh
cmFtZXRlcnMoInVuaWZvcm0yZnYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMikpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
diwgc2l6ZSAvIDIpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgc2l6ZSAvIDIsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4MjQsNyArMzgyNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtMml2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTJpdiIsIGxvY2F0aW9uLCB2LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0
LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgp
IC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2
LT5sZW5ndGgoKSAvIDIsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzgzNCw3ICszODM0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yaXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBH
QzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMml2IiwgbG9jYXRpb24sIHYsIHNpemUsIDIpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUg
LyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNp
emUgLyAyLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zODU5LDcgKzM4NTksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zZnYiLCBs
b2NhdGlvbiwgdiwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9y
bTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDMpOwor
ICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3Ro
KCkgLyAzLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4NjksNyArMzg2OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtM2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTNmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9j
b250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMyk7Cisg
ICAgbV9jb250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMywg
dik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzg5NCw3
ICszODk0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2IiwgbG9jYXRpb24s
IHYsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9j
YXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAzKTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMywg
di0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zOTA0LDcgKzM5MDQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNp
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zaXYiLCBs
b2NhdGlvbiwgdiwgc2l6ZSwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+
dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMpOworICAgIG1fY29u
dGV4dC0+dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDMsIHYpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MjksNyArMzkyOSw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0aW9uLCB2LCA0KSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5s
b2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51
bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHYtPmRhdGEo
KSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkzOSw3
ICszOTM5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGZ2IiwgbG9jYXRpb24s
IHYsIHNpemUsIDQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVu
aWZvcm00ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB2KTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTY0LDcgKzM5NjQsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwgNCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRp
dihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5kYXRhKCkpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5NzQsNyArMzk3NCw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGl2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRpdiIsIGxvY2F0aW9uLCB2LCBzaXpl
LCA0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGl2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGl2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xlYW51cEFmdGVyR3Jh
cGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk4Myw3ICszOTgzLDcgQEAgdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXgyZnYi
LCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCA0KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29u
dGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2
LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4
MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHRyYW5zcG9zZSwgdi0+
ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0z
OTkyLDcgKzM5OTIsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJp
eDJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJB
TShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4
UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDJmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNp
emUsIDQpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUgLyA0KTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB0
cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAK
QEAgLTQwMDEsNyArNDAwMSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3Jt
TWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VE
X1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1N
YXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4M2Z2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwg
diwgOSkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAv
IDkpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+bGVuZ3RoKCkgLyA5LCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFm
dGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtNDAxMCw3ICs0MDEwLDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYoY29uc3QgV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRl
eHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRy
aXgzZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCBzaXplLCA5KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LCBzaXplIC8gOSk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gOSwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVh
bnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDE5LDcgKzQwMTksNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlz
Q29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9y
bU1hdHJpeDRmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIDE2KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMTYpOworICAgIG1fY29udGV4dC0+
dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAxNiwg
dHJhbnNwb3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxz
ZSk7CiB9CiAKQEAgLTQwMjgsNyArNDAyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtTWF0cml4NGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAg
ICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0
ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4NGZ2IiwgbG9jYXRpb24sIHRy
YW5zcG9zZSwgdiwgc2l6ZSwgMTYpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUg
LyAxNik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlv
bigpLCBzaXplIC8gMTYsIHRyYW5zcG9zZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3ND
YWxsKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggMTdhZTk4NDVmMDBiY2JiZDIzYzQyNmJiNTVj
NDI1YmIwOTA5ZjkxMi4uYzNhMTE5ZmNjNzQ4MzMxZjRjZmU2NTE2MDA0OTRkOWZiNzNhNTBkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCkBAIC03NTYsMjYgKzc1NiwyNSBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXhQYXJh
bWV0ZXJpKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gcG5hbWUsIEdDM0RpbnQgcGFyYW0pOwog
ICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzKTsKIAotICAgIC8vIEZJWE1FOiBjaGFuZ2UgdGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRj
aCBPcGVuR0wncy4KICAgICB2b2lkIHVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybTJmKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7Cisg
ICAgdm9pZCB1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9h
dCB5KTsKKyAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBH
QzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rp
bnQgeCwgR0MzRGludCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNmKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHopOwot
ICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNpKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW50IHopOwotICAgIHZvaWQgdW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1
bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CiAgICAg
dm9pZCB1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5
LCBHQzNEZmxvYXQgeiwgR0MzRGZsb2F0IHcpOwotICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZv
cm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZv
aWQgdW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNE
aW50IHosIEdDM0RpbnQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVp
IHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKKyAg
ICB2b2lkIHVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2
KTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlKTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKICAg
ICB2b2lkIHZhbGlkYXRlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDdhMjZkYjI4YTBjZTczNDNkNWU0NDU5ZThjN2Y3
MWRjNzU5ODc3ZjQuLjliYzNhOWQwZTY1MmUzMGY4NWVjZjgzZGVkODhlYjVmNjY0NDBhN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtNDcxLDcgKzQ3MSw3IEBA
IHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKGNvbnN0IEND
RGVidWdCb3JkZXJEcmF3UXVhZCogcXVhCiAgICAgcmVuZGVyTWF0cml4LnRyYW5zbGF0ZSgwLjUg
KiBsYXllclJlY3Qud2lkdGgoKSArIGxheWVyUmVjdC54KCksIDAuNSAqIGxheWVyUmVjdC5oZWln
aHQoKSArIGxheWVyUmVjdC55KCkpOwogICAgIHJlbmRlck1hdHJpeC5zY2FsZU5vblVuaWZvcm0o
bGF5ZXJSZWN0LndpZHRoKCksIGxheWVyUmVjdC5oZWlnaHQoKSk7CiAgICAgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwgcHJvamVjdGlvbk1hdHJpeCgpICog
cmVuZGVyTWF0cml4KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRy
aXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgZmFsc2UsICZn
bE1hdHJpeFswXSwgMSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1h
dHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCAxLCBmYWxz
ZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm00Zihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9jYXRpb24oKSwgcXVhZC0+Y29s
b3IoKS5yZWQoKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmdyZWVuKCkgLyAyNTUuMCwgcXVhZC0+
Y29sb3IoKS5ibHVlKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5hbHBoYSgpIC8gMjU1LjApKTsK
IApAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGls
ZVF1YWQoY29uc3QgQ0NUaWxlRHJhd1F1YWQqIHF1YWQpCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRd
OwogICAgICAgICBkZXZpY2VMYXllckVkZ2VzLnRvRmxvYXRBcnJheShlZGdlKTsKICAgICAgICAg
ZGV2aWNlTGF5ZXJCb3VuZHMudG9GbG9hdEFycmF5KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIGVk
Z2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHVu
aWZvcm1zLmVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogCiAgICAgICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+dW5pZm9ybTRmKHVuaWZvcm1zLnZlcnRleFRleFRyYW5zZm9ybUxvY2F0aW9u
LCB2ZXJ0ZXhUZXhUcmFuc2xhdGVYLCB2ZXJ0ZXhUZXhUcmFuc2xhdGVZLCB2ZXJ0ZXhUZXhTY2Fs
ZVgsIHZlcnRleFRleFNjYWxlWSkpOwogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCkt
PnVuaWZvcm00Zih1bmlmb3Jtcy5mcmFnbWVudFRleFRyYW5zZm9ybUxvY2F0aW9uLCBmcmFnbWVu
dFRleFRyYW5zbGF0ZVgsIGZyYWdtZW50VGV4VHJhbnNsYXRlWSwgZnJhZ21lbnRUZXhTY2FsZVgs
IGZyYWdtZW50VGV4U2NhbGVZKSk7CkBAIC03NDUsOCArNzQ1LDggQEAgdm9pZCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdZVVYoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIEdM
Qyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkudVRleHR1cmVMb2NhdGlvbigpLCAyKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS52VGV4dHVyZUxvY2F0aW9uKCks
IDMpKTsKIAotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDNmdihw
cm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNjTWF0cml4TG9jYXRpb24oKSwgMCwgY29uc3RfY2Fz
dDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1djJSR0IpLCAxKSk7Ci0gICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkueXV2
QWRqTG9jYXRpb24oKSwgY29uc3RfY2FzdDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1dkFk
anVzdCksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgz
ZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDEsIDAsIGNv
bnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSkpOworICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigp
Lnl1dkFkakxvY2F0aW9uKCksIDEsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBs
Ojp5dXZBZGp1c3QpKSk7CiAKICAgICBjb25zdCBJbnRTaXplJiBib3VuZHMgPSBxdWFkLT5xdWFk
UmVjdCgpLnNpemUoKTsKICAgICBkcmF3VGV4dHVyZWRRdWFkKHF1YWQtPmxheWVyVHJhbnNmb3Jt
KCksIGJvdW5kcy53aWR0aCgpLCBib3VuZHMuaGVpZ2h0KCksIHF1YWQtPm9wYWNpdHkoKSwgRmxv
YXRRdWFkKCksCkBAIC03OTgsNyArNzk4LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmRyYXdTdHJlYW1UZXh0dXJlKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBjb25z
dCBDQ1ZpZGVvTGF5ZXJJbXBsOjpTdHJlYW1UZXh0dXJlUHJvZ3JhbSogcHJvZ3JhbSA9IHN0cmVh
bVRleHR1cmVMYXllclByb2dyYW0oKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVz
ZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgQVNTRVJUKHF1YWQtPm1hdHJpeCgp
KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3Jh
bS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9jYXRpb24oKSwgZmFsc2UsIGNvbnN0X2Nhc3Q8
ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9j
YXRpb24oKSwgMSwgZmFsc2UsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSkpKTsK
IAogICAgIGRyYXdTaW5nbGVUZXh0dXJlVmlkZW9RdWFkKHF1YWQsIHByb2dyYW0sIDEsIHF1YWQt
PmZyYW1lKCktPnRleHR1cmVJZCgpLCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6R0xfVEVYVFVSRV9F
WFRFUk5BTF9PRVMpOwogfQpAQCAtMTAxMyw3ICsxMDEzLDcgQEAgdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRy
YXdNYXQKICAgICAvLyBBcHBseSB0aGUgcHJvamVjdGlvbiBtYXRyaXggYmVmb3JlIHNlbmRpbmcg
dGhlIHRyYW5zZm9ybSBvdmVyIHRvIHRoZSBzaGFkZXIuCiAgICAgdG9HTE1hdHJpeCgmZ2xNYXRy
aXhbMF0sIG1fcHJvamVjdGlvbk1hdHJpeCAqIHJlbmRlck1hdHJpeCk7CiAKLSAgICBHTEMobV9j
b250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIGZhbHNl
LCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZv
cm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIDEsIGZhbHNlLCAmZ2xNYXRyaXhbMF0pKTsKIAog
ICAgIGlmIChxdWFkTG9jYXRpb24gIT0gLTEpIHsKICAgICAgICAgZmxvYXQgcG9pbnRbOF07CkBA
IC0xMDI1LDcgKzEwMjUsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1
cmVkUXVhZChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd01hdAogICAgICAgICBwb2lu
dFs1XSA9IHF1YWQucDMoKS55KCk7CiAgICAgICAgIHBvaW50WzZdID0gcXVhZC5wNCgpLngoKTsK
ICAgICAgICAgcG9pbnRbN10gPSBxdWFkLnA0KCkueSgpOwotICAgICAgICBHTEMobV9jb250ZXh0
LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCBwb2ludCwgNCkpOworICAgICAg
ICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCA0LCBw
b2ludCkpOwogICAgIH0KIAogICAgIGlmIChhbHBoYUxvY2F0aW9uICE9IC0xKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggMDFiNzhiY2Q0MDJhZWM5MzA3ZmU4MzQ2OTE4ZTM5
NWI5MDY2ZmNmMC4uYWZhYTZiM2MxMzgwNTFlMzU3NGFkNjA5YWY4YWQyY2ExZjIzMWY4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBD
Q1JlbmRlclN1cmZhY2U6OmRyYXdTdXJmYWNlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJS
ZW5kZXJlciwgQ0NMYXllckkKICAgICAgICAgZmxvYXQgZWRnZVsyNF07CiAgICAgICAgIGxheWVy
UXVhZC50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZVJlY3QudG9GbG9hdEFycmF5
KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTNm
dihzaGFkZXJFZGdlTG9jYXRpb24sIGVkZ2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQzRCwg
Y29udGV4dDNELT51bmlmb3JtM2Z2KHNoYWRlckVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogICAg
IH0KIAogICAgIC8vIE1hcCBkZXZpY2Ugc3BhY2UgcXVhZCB0byBsYXllciBzcGFjZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhp
Y3NDb250ZXh0M0RFZmwuY3BwCmluZGV4IDQ2NTkzOTc4ZjI3NmVkNzkyZTUyYzY1MmVlODdiZmM3
OGFhODM1NWUuLmU1NjAxYzhmODk5YWM3NzViMmVjNTBiY2RkNTgxNmFiZGQxYTQ4ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNERWZsLmNwcApAQCAtNTU0LDcgKzU1NCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCkKICAgICBt
X3ByaXZhdGUtPnVuaWZvcm0xZihsb2NhdGlvbiwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVu
aWZvcm0xZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTY0LDcgKzU2NCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgp
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWkobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50
IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUt
PnVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTc0LDcgKzU3NCw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCwgZmxvYXQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZihsb2NhdGlvbiwgeCwgeSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCog
dikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpA
QCAtNTg0LDcgKzU4NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaShHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZv
cm0yaShsb2NhdGlvbiwgeCwgeSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJpdihsb2NhdGlv
biwgc2l6ZSwgdik7CiB9CkBAIC01OTQsNyArNTk0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwg
R0MKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zZihsb2NhdGlvbiwgeCwgeSwgeik7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjA0LDcg
KzYwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
M2kobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zaXYobG9jYXRp
b24sIHNpemUsIHYpOwogfQpAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHks
IEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGYobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYy
NCwyMiArNjI0LDIyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51
bmlmb3JtNGkobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm00
aXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJh
bnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRy
aXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRy
aXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNE
T3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggMDNkNGEzMmNjYzMyNjU2
NDY4M2ExZGFhYjBhODE1YTEzMDdjMWIxZS4uZjA5Zjk0MDdmMzIyY2FhYTgxODBiOGU5MzgxNmQ5
YTU1NmZkYWI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21t
b24uY3BwCkBAIC05MDcsNyArOTA3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCkKICAgICA6OmdsVW5pZm9ybTFmKGxv
Y2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAg
IDo6Z2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC05MTksNyArOTE5LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQogICAgIDo6Z2xVbmlmb3JtMmYobG9jYXRpb24sIHYw
LCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTMyLDcgKzkzMiw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2
MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NDUsNyAr
OTQ1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtNGYobG9jYXRp
b24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBu
ZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBA
IC05NTgsNyArOTU4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgdjApCiAgICAgOjpnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjAp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWl2
KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC05NzAsNyArOTcwLDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0Rp
bnQgdjEpCiAgICAgOjpnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAg
ICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMi4KICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKQEAgLTk4Myw3ICs5ODMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQq
IGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewog
ICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAzLgogICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTk2LDI4ICs5OTYsMjggQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQg
djEsIEdDM0QKICAgICA6OmdsVW5pZm9ybTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQu
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm00aXYobG9jYXRpb24s
IHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6
Z2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBv
ZiA5LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4M2Z2
KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0
cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkg
c2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAxNi4KICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggODA1OTFlOWM0NWZmY2Qy
OGY0NzBmOGQ4M2Q2NWY0MWJmYTgwOWFmZS4uNzAwNTc4NWMwMWRlNmMzNzliNjlhZjQ2NjczZWNl
YjM1NzdiZjliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTEwODcsNyArMTA4Nyw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQgdjApCiAgICAgZ2xVbmlmb3JtMWYobG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFy
cmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYo
R0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RmbG9hdCogYXJyYXkpCiB7CiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXpl
LCBhcnJheSk7CkBAIC0xMDk5LDcgKzEwOTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAg
ICAgZ2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkp
OwpAQCAtMTExMSw3ICsxMTExLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNm
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5p
Zm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTIzLDcgKzExMjMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
NGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTM1LDcgKzExMzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCkKICAgICBnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjAp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQq
IGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFpdihs
b2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0Rp
bnQgdjEpCiAgICAgZ2xVbmlmb3JtMmkobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCBh
cnJheSk7CkBAIC0xMTU5LDcgKzExNTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAg
IGdsVW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zaXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsK
QEAgLTExNzEsMjUgKzExNzEsMjUgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRp
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVu
aWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0
cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlv
biwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdD
M0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4
dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5z
cG9zZSwgYXJyYXkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129861</attachid>
            <date>2012-03-02 02:47:18 -0800</date>
            <delta_ts>2012-03-02 16:08:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120302194736.patch</filename>
            <type>text/plain</type>
            <size>35179</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDQ1OWUwMmU3NTU4YjU5NWQzOGUyOGNkYjNmMmViOTVi
MWUzZTAzNjAuLmY2Mjg5YjY3MzMyOWRkNzkzMWMyZjUxOTNkNDA5NzNmZjM4MWZiNWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcApAQCAtMzcxOSw3ICszNzE5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkp
OworICAgIG1fY29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVu
Z3RoKCksIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIApAQCAtMzcyOSw3ICszNzI5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIHNpemUsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Nv
bnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1f
Y29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc1NCw3ICszNzU0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIDEpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkpOworICAgIG1fY29udGV4dC0+dW5pZm9y
bTFpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCksIHYtPmRhdGEoKSk7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc2NCw3ICszNzY0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIHNpemUs
IDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTFpdihsb2Nh
dGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzc4OSw3ICszNzg5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBG
bG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMmZ2IiwgbG9jYXRpb24sIHYsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+
bGVuZ3RoKCkgLyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmxlbmd0aCgpIC8gMiwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zNzk5LDcgKzM3OTksNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBh
cmFtZXRlcnMoInVuaWZvcm0yZnYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMikpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
diwgc2l6ZSAvIDIpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgc2l6ZSAvIDIsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4MjQsNyArMzgyNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtMml2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTJpdiIsIGxvY2F0aW9uLCB2LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0
LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgp
IC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2
LT5sZW5ndGgoKSAvIDIsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzgzNCw3ICszODM0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yaXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBH
QzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMml2IiwgbG9jYXRpb24sIHYsIHNpemUsIDIpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUg
LyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNp
emUgLyAyLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zODU5LDcgKzM4NTksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zZnYiLCBs
b2NhdGlvbiwgdiwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9y
bTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDMpOwor
ICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3Ro
KCkgLyAzLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4NjksNyArMzg2OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtM2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTNmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9j
b250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMyk7Cisg
ICAgbV9jb250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMywg
dik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzg5NCw3
ICszODk0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2IiwgbG9jYXRpb24s
IHYsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9j
YXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAzKTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMywg
di0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zOTA0LDcgKzM5MDQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNp
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zaXYiLCBs
b2NhdGlvbiwgdiwgc2l6ZSwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+
dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMpOworICAgIG1fY29u
dGV4dC0+dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDMsIHYpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MjksNyArMzkyOSw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0aW9uLCB2LCA0KSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5s
b2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51
bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHYtPmRhdGEo
KSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkzOSw3
ICszOTM5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGZ2IiwgbG9jYXRpb24s
IHYsIHNpemUsIDQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVu
aWZvcm00ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB2KTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTY0LDcgKzM5NjQsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwgNCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRp
dihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5kYXRhKCkpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5NzQsNyArMzk3NCw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGl2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRpdiIsIGxvY2F0aW9uLCB2LCBzaXpl
LCA0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGl2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGl2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xlYW51cEFmdGVyR3Jh
cGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk4Myw3ICszOTgzLDcgQEAgdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXgyZnYi
LCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCA0KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29u
dGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2
LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4
MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHRyYW5zcG9zZSwgdi0+
ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0z
OTkyLDcgKzM5OTIsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJp
eDJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJB
TShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4
UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDJmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNp
emUsIDQpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUgLyA0KTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB0
cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAK
QEAgLTQwMDEsNyArNDAwMSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3Jt
TWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VE
X1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1N
YXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4M2Z2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwg
diwgOSkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAv
IDkpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+bGVuZ3RoKCkgLyA5LCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFm
dGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtNDAxMCw3ICs0MDEwLDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYoY29uc3QgV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRl
eHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRy
aXgzZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCBzaXplLCA5KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LCBzaXplIC8gOSk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gOSwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVh
bnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDE5LDcgKzQwMTksNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlz
Q29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9y
bU1hdHJpeDRmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIDE2KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMTYpOworICAgIG1fY29udGV4dC0+
dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAxNiwg
dHJhbnNwb3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxz
ZSk7CiB9CiAKQEAgLTQwMjgsNyArNDAyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtTWF0cml4NGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAg
ICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0
ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4NGZ2IiwgbG9jYXRpb24sIHRy
YW5zcG9zZSwgdiwgc2l6ZSwgMTYpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUg
LyAxNik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlv
bigpLCBzaXplIC8gMTYsIHRyYW5zcG9zZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3ND
YWxsKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggMTdhZTk4NDVmMDBiY2JiZDIzYzQyNmJiNTVj
NDI1YmIwOTA5ZjkxMi4uYzNhMTE5ZmNjNzQ4MzMxZjRjZmU2NTE2MDA0OTRkOWZiNzNhNTBkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCkBAIC03NTYsMjYgKzc1NiwyNSBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXhQYXJh
bWV0ZXJpKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gcG5hbWUsIEdDM0RpbnQgcGFyYW0pOwog
ICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzKTsKIAotICAgIC8vIEZJWE1FOiBjaGFuZ2UgdGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRj
aCBPcGVuR0wncy4KICAgICB2b2lkIHVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybTJmKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7Cisg
ICAgdm9pZCB1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9h
dCB5KTsKKyAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBH
QzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rp
bnQgeCwgR0MzRGludCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNmKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHopOwot
ICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNpKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW50IHopOwotICAgIHZvaWQgdW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1
bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CiAgICAg
dm9pZCB1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5
LCBHQzNEZmxvYXQgeiwgR0MzRGZsb2F0IHcpOwotICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZv
cm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZv
aWQgdW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNE
aW50IHosIEdDM0RpbnQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVp
IHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKKyAg
ICB2b2lkIHVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2
KTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlKTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKICAg
ICB2b2lkIHZhbGlkYXRlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDdhMjZkYjI4YTBjZTczNDNkNWU0NDU5ZThjN2Y3
MWRjNzU5ODc3ZjQuLjliYzNhOWQwZTY1MmUzMGY4NWVjZjgzZGVkODhlYjVmNjY0NDBhN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtNDcxLDcgKzQ3MSw3IEBA
IHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKGNvbnN0IEND
RGVidWdCb3JkZXJEcmF3UXVhZCogcXVhCiAgICAgcmVuZGVyTWF0cml4LnRyYW5zbGF0ZSgwLjUg
KiBsYXllclJlY3Qud2lkdGgoKSArIGxheWVyUmVjdC54KCksIDAuNSAqIGxheWVyUmVjdC5oZWln
aHQoKSArIGxheWVyUmVjdC55KCkpOwogICAgIHJlbmRlck1hdHJpeC5zY2FsZU5vblVuaWZvcm0o
bGF5ZXJSZWN0LndpZHRoKCksIGxheWVyUmVjdC5oZWlnaHQoKSk7CiAgICAgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwgcHJvamVjdGlvbk1hdHJpeCgpICog
cmVuZGVyTWF0cml4KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRy
aXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgZmFsc2UsICZn
bE1hdHJpeFswXSwgMSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1h
dHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCAxLCBmYWxz
ZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm00Zihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9jYXRpb24oKSwgcXVhZC0+Y29s
b3IoKS5yZWQoKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmdyZWVuKCkgLyAyNTUuMCwgcXVhZC0+
Y29sb3IoKS5ibHVlKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5hbHBoYSgpIC8gMjU1LjApKTsK
IApAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGls
ZVF1YWQoY29uc3QgQ0NUaWxlRHJhd1F1YWQqIHF1YWQpCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRd
OwogICAgICAgICBkZXZpY2VMYXllckVkZ2VzLnRvRmxvYXRBcnJheShlZGdlKTsKICAgICAgICAg
ZGV2aWNlTGF5ZXJCb3VuZHMudG9GbG9hdEFycmF5KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIGVk
Z2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHVu
aWZvcm1zLmVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogCiAgICAgICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+dW5pZm9ybTRmKHVuaWZvcm1zLnZlcnRleFRleFRyYW5zZm9ybUxvY2F0aW9u
LCB2ZXJ0ZXhUZXhUcmFuc2xhdGVYLCB2ZXJ0ZXhUZXhUcmFuc2xhdGVZLCB2ZXJ0ZXhUZXhTY2Fs
ZVgsIHZlcnRleFRleFNjYWxlWSkpOwogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCkt
PnVuaWZvcm00Zih1bmlmb3Jtcy5mcmFnbWVudFRleFRyYW5zZm9ybUxvY2F0aW9uLCBmcmFnbWVu
dFRleFRyYW5zbGF0ZVgsIGZyYWdtZW50VGV4VHJhbnNsYXRlWSwgZnJhZ21lbnRUZXhTY2FsZVgs
IGZyYWdtZW50VGV4U2NhbGVZKSk7CkBAIC03NDUsOCArNzQ1LDggQEAgdm9pZCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdZVVYoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIEdM
Qyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkudVRleHR1cmVMb2NhdGlvbigpLCAyKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS52VGV4dHVyZUxvY2F0aW9uKCks
IDMpKTsKIAotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDNmdihw
cm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNjTWF0cml4TG9jYXRpb24oKSwgMCwgY29uc3RfY2Fz
dDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1djJSR0IpLCAxKSk7Ci0gICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkueXV2
QWRqTG9jYXRpb24oKSwgY29uc3RfY2FzdDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1dkFk
anVzdCksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgz
ZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDEsIDAsIGNv
bnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSkpOworICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigp
Lnl1dkFkakxvY2F0aW9uKCksIDEsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBs
Ojp5dXZBZGp1c3QpKSk7CiAKICAgICBjb25zdCBJbnRTaXplJiBib3VuZHMgPSBxdWFkLT5xdWFk
UmVjdCgpLnNpemUoKTsKICAgICBkcmF3VGV4dHVyZWRRdWFkKHF1YWQtPmxheWVyVHJhbnNmb3Jt
KCksIGJvdW5kcy53aWR0aCgpLCBib3VuZHMuaGVpZ2h0KCksIHF1YWQtPm9wYWNpdHkoKSwgRmxv
YXRRdWFkKCksCkBAIC03OTgsNyArNzk4LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmRyYXdTdHJlYW1UZXh0dXJlKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBjb25z
dCBDQ1ZpZGVvTGF5ZXJJbXBsOjpTdHJlYW1UZXh0dXJlUHJvZ3JhbSogcHJvZ3JhbSA9IHN0cmVh
bVRleHR1cmVMYXllclByb2dyYW0oKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVz
ZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgQVNTRVJUKHF1YWQtPm1hdHJpeCgp
KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3Jh
bS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9jYXRpb24oKSwgZmFsc2UsIGNvbnN0X2Nhc3Q8
ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9j
YXRpb24oKSwgMSwgZmFsc2UsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSkpKTsK
IAogICAgIGRyYXdTaW5nbGVUZXh0dXJlVmlkZW9RdWFkKHF1YWQsIHByb2dyYW0sIDEsIHF1YWQt
PmZyYW1lKCktPnRleHR1cmVJZCgpLCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6R0xfVEVYVFVSRV9F
WFRFUk5BTF9PRVMpOwogfQpAQCAtMTAxMyw3ICsxMDEzLDcgQEAgdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRy
YXdNYXQKICAgICAvLyBBcHBseSB0aGUgcHJvamVjdGlvbiBtYXRyaXggYmVmb3JlIHNlbmRpbmcg
dGhlIHRyYW5zZm9ybSBvdmVyIHRvIHRoZSBzaGFkZXIuCiAgICAgdG9HTE1hdHJpeCgmZ2xNYXRy
aXhbMF0sIG1fcHJvamVjdGlvbk1hdHJpeCAqIHJlbmRlck1hdHJpeCk7CiAKLSAgICBHTEMobV9j
b250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIGZhbHNl
LCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZv
cm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIDEsIGZhbHNlLCAmZ2xNYXRyaXhbMF0pKTsKIAog
ICAgIGlmIChxdWFkTG9jYXRpb24gIT0gLTEpIHsKICAgICAgICAgZmxvYXQgcG9pbnRbOF07CkBA
IC0xMDI1LDcgKzEwMjUsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1
cmVkUXVhZChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd01hdAogICAgICAgICBwb2lu
dFs1XSA9IHF1YWQucDMoKS55KCk7CiAgICAgICAgIHBvaW50WzZdID0gcXVhZC5wNCgpLngoKTsK
ICAgICAgICAgcG9pbnRbN10gPSBxdWFkLnA0KCkueSgpOwotICAgICAgICBHTEMobV9jb250ZXh0
LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCBwb2ludCwgNCkpOworICAgICAg
ICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCA0LCBw
b2ludCkpOwogICAgIH0KIAogICAgIGlmIChhbHBoYUxvY2F0aW9uICE9IC0xKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggMDFiNzhiY2Q0MDJhZWM5MzA3ZmU4MzQ2OTE4ZTM5
NWI5MDY2ZmNmMC4uYWZhYTZiM2MxMzgwNTFlMzU3NGFkNjA5YWY4YWQyY2ExZjIzMWY4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBD
Q1JlbmRlclN1cmZhY2U6OmRyYXdTdXJmYWNlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJS
ZW5kZXJlciwgQ0NMYXllckkKICAgICAgICAgZmxvYXQgZWRnZVsyNF07CiAgICAgICAgIGxheWVy
UXVhZC50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZVJlY3QudG9GbG9hdEFycmF5
KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTNm
dihzaGFkZXJFZGdlTG9jYXRpb24sIGVkZ2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQzRCwg
Y29udGV4dDNELT51bmlmb3JtM2Z2KHNoYWRlckVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogICAg
IH0KIAogICAgIC8vIE1hcCBkZXZpY2Ugc3BhY2UgcXVhZCB0byBsYXllciBzcGFjZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhp
Y3NDb250ZXh0M0RFZmwuY3BwCmluZGV4IDQ2NTkzOTc4ZjI3NmVkNzkyZTUyYzY1MmVlODdiZmM3
OGFhODM1NWUuLmU1NjAxYzhmODk5YWM3NzViMmVjNTBiY2RkNTgxNmFiZGQxYTQ4ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNERWZsLmNwcApAQCAtNTU0LDcgKzU1NCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCkKICAgICBt
X3ByaXZhdGUtPnVuaWZvcm0xZihsb2NhdGlvbiwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVu
aWZvcm0xZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTY0LDcgKzU2NCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgp
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWkobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50
IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUt
PnVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTc0LDcgKzU3NCw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCwgZmxvYXQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZihsb2NhdGlvbiwgeCwgeSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCog
dikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpA
QCAtNTg0LDcgKzU4NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaShHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZv
cm0yaShsb2NhdGlvbiwgeCwgeSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJpdihsb2NhdGlv
biwgc2l6ZSwgdik7CiB9CkBAIC01OTQsNyArNTk0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwg
R0MKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zZihsb2NhdGlvbiwgeCwgeSwgeik7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjA0LDcg
KzYwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
M2kobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zaXYobG9jYXRp
b24sIHNpemUsIHYpOwogfQpAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHks
IEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGYobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYy
NCwyMiArNjI0LDIyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51
bmlmb3JtNGkobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm00
aXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJh
bnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRy
aXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRy
aXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmNwcAppbmRleCA1Y2QxN2FmODYyYmNmM2U1OTA0YmQ0YTNkMzY3ZjA4NTY0NTBlN2E4Li45
YmYyNDk1YzBkOTJmNmFiZDMxZTRmOGY3ZTcwY2YzOWNkMDUxMjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9n
cmFtQW5kQnVmZmVycyhCeXRlQXJyYXkqIHNyY1BpeGVsQXJyYXkpCiAgICAgICAgIG9ydGhvZ29u
YWxQcm9qZWN0aW9uTWF0cml4KHByb2plY3Rpb25NYXRyaXgsIC0wLjUsIDAuNSwgLTAuNSwgMC41
KTsKICAgICAgICAgZmxvYXQgZ2xQcm9qZWN0aW9uTWF0cml4WzE2XTsKICAgICAgICAgcHJvamVj
dGlvbk1hdHJpeC50b0NvbHVtbk1ham9yRmxvYXRBcnJheShnbFByb2plY3Rpb25NYXRyaXgpOwot
ICAgICAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobV9zaGFkZXItPnByb2plY3Rpb25N
YXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgJmdsUHJvamVjdGlvbk1hdHJpeFswXSwgMSk7CisgICAg
ICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihtX3NoYWRlci0+cHJvamVjdGlvbk1hdHJp
eExvY2F0aW9uKCksIDEsIGZhbHNlLCAmZ2xQcm9qZWN0aW9uTWF0cml4WzBdKTsKICAgICB9CiAg
ICAgCiAgICAgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJBWV9C
VUZGRVIsIG1fbWVzaC0+dmVydGljZXNCdWZmZXJPYmplY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVu
R0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCAwM2Q0YTMyY2NjMzI2NTY0Njgz
YTFkYWFiMGE4MTVhMTMwN2MxYjFlLi5mMDlmOTQwN2YzMjJjYWFhODE4MGI4ZTkzODE2ZDlhNTU2
ZmRhYjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5j
cHAKQEAgLTkwNyw3ICs5MDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwKQogICAgIDo6Z2xVbmlmb3JtMWYobG9jYXRp
b24sIHYwKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpn
bFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTkxOSw3ICs5MTksNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAgICAgOjpnbFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYx
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rm
bG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRp
cGxlIG9mIDIuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05MzIsNyArOTMyLDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rm
bG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtM2YobG9jYXRpb24sIHYwLCB2
MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEg
bXVsdGlwbGUgb2YgMy4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk0NSw3ICs5NDUs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm00Zihsb2NhdGlvbiwg
djAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRz
IHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk1
OCw3ICs5NTgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB2MCkKICAgICA6OmdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0xaXYobG9j
YXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICA6OmdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNE
CiAgICAgOjpnbFVuaWZvcm0zaShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
Ly8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNv
bnRleHRDdXJyZW50KCk7CkBAIC05OTYsMjggKzk5NiwyOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtNGkobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkK
IHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6
ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVu
aWZvcm1NYXRyaXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDku
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRyaXgzZnYobG9j
YXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklY
TUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDE2LgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA4MDU5MWU5YzQ1ZmZjZDI4ZjQ3
MGY4ZDgzZDY1ZjQxYmZhODA5YWZlLi43MDA1Nzg1YzAxZGU2YzM3OWI2OWFmNDY2NzNlY2ViMzU3
N2JmOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCkKICAgICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXks
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiBhcnJheSkKIHsKICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFy
cmF5KTsKQEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICBn
bFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTExLDcgKzExMTEsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
M2YobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MjMsNyArMTEyMyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm00Zihs
b2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MzUsNyArMTEzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHYwKQogICAgIGdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWl2KGxvY2F0
aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICBnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIGFycmF5
KTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xV
bmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE3MSwyNSArMTE3MSwyNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9y
bTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBh
cnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgy
ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3Nl
LCBhcnJheSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129975</attachid>
            <date>2012-03-02 16:08:19 -0800</date>
            <delta_ts>2012-03-03 20:33:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120303090838.patch</filename>
            <type>text/plain</type>
            <size>38015</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMzczNWI3MDNiMzlmYTM2MGE1OWMwNjAzZjA3MGI4
ZDZjYzIzMTMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTAzLTAyICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNp
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBh
YmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3Jy
ZWN0bHkgZ3VhcmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxd
IGF0dHJpYnV0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDQ1OWUwMmU3NTU4YjU5NWQzOGUyOGNkYjNmMmViOTVi
MWUzZTAzNjAuLmY2Mjg5YjY3MzMyOWRkNzkzMWMyZjUxOTNkNDA5NzNmZjM4MWZiNWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcApAQCAtMzcxOSw3ICszNzE5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkp
OworICAgIG1fY29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVu
Z3RoKCksIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIApAQCAtMzcyOSw3ICszNzI5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0xZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MWZ2IiwgbG9jYXRpb24sIHYsIHNpemUsIDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Nv
bnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1f
Y29udGV4dC0+dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc1NCw3ICszNzU0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIDEpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkpOworICAgIG1fY29udGV4dC0+dW5pZm9y
bTFpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCksIHYtPmRhdGEoKSk7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc2NCw3ICszNzY0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWl2IiwgbG9jYXRpb24sIHYsIHNpemUs
IDEpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHYsIHNpemUpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTFpdihsb2Nh
dGlvbi0+bG9jYXRpb24oKSwgc2l6ZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzc4OSw3ICszNzg5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBG
bG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMmZ2IiwgbG9jYXRpb24sIHYsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+
bGVuZ3RoKCkgLyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmxlbmd0aCgpIC8gMiwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zNzk5LDcgKzM3OTksNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBh
cmFtZXRlcnMoInVuaWZvcm0yZnYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMikpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
diwgc2l6ZSAvIDIpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgc2l6ZSAvIDIsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4MjQsNyArMzgyNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtMml2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTJpdiIsIGxvY2F0aW9uLCB2LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0
LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgp
IC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2
LT5sZW5ndGgoKSAvIDIsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzgzNCw3ICszODM0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yaXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBH
QzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtMml2IiwgbG9jYXRpb24sIHYsIHNpemUsIDIpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUg
LyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNp
emUgLyAyLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zODU5LDcgKzM4NTksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zZnYiLCBs
b2NhdGlvbiwgdiwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9y
bTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDMpOwor
ICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3Ro
KCkgLyAzLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM4NjksNyArMzg2OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtM2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9y
bTNmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9j
b250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMyk7Cisg
ICAgbV9jb250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMywg
dik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzg5NCw3
ICszODk0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2IiwgbG9jYXRpb24s
IHYsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9j
YXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAzKTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMywg
di0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zOTA0LDcgKzM5MDQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNp
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zaXYiLCBs
b2NhdGlvbiwgdiwgc2l6ZSwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+
dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMpOworICAgIG1fY29u
dGV4dC0+dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDMsIHYpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MjksNyArMzkyOSw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0aW9uLCB2LCA0KSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5s
b2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51
bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHYtPmRhdGEo
KSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkzOSw3
ICszOTM5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYoY29uc3Qg
V2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9z
dCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGZ2IiwgbG9jYXRpb24s
IHYsIHNpemUsIDQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVu
aWZvcm00ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB2KTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTY0LDcgKzM5NjQsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwgNCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRp
dihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5kYXRhKCkpOwogICAg
IGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5NzQsNyArMzk3NCw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGl2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRpdiIsIGxvY2F0aW9uLCB2LCBzaXpl
LCA0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGl2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGl2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xlYW51cEFmdGVyR3Jh
cGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk4Myw3ICszOTgzLDcgQEAgdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXgyZnYi
LCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCA0KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29u
dGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2
LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4
MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHRyYW5zcG9zZSwgdi0+
ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0z
OTkyLDcgKzM5OTIsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJp
eDJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJB
TShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4
UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDJmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNp
emUsIDQpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUgLyA0KTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB0
cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAK
QEAgLTQwMDEsNyArNDAwMSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3Jt
TWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VE
X1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1N
YXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4M2Z2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwg
diwgOSkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAv
IDkpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+bGVuZ3RoKCkgLyA5LCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFm
dGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtNDAxMCw3ICs0MDEwLDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYoY29uc3QgV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRl
eHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRy
aXgzZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCBzaXplLCA5KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LCBzaXplIC8gOSk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gOSwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVh
bnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDE5LDcgKzQwMTksNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlz
Q29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9y
bU1hdHJpeDRmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIDE2KSkKICAgICAgICAgcmV0dXJu
OwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
dHJhbnNwb3NlLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMTYpOworICAgIG1fY29udGV4dC0+
dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAxNiwg
dHJhbnNwb3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxz
ZSk7CiB9CiAKQEAgLTQwMjgsNyArNDAyOCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtTWF0cml4NGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAg
ICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0
ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4NGZ2IiwgbG9jYXRpb24sIHRy
YW5zcG9zZSwgdiwgc2l6ZSwgMTYpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51
bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYsIHNpemUg
LyAxNik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlv
bigpLCBzaXplIC8gMTYsIHRyYW5zcG9zZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3ND
YWxsKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggMTdhZTk4NDVmMDBiY2JiZDIzYzQyNmJiNTVj
NDI1YmIwOTA5ZjkxMi4uYzNhMTE5ZmNjNzQ4MzMxZjRjZmU2NTE2MDA0OTRkOWZiNzNhNTBkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCkBAIC03NTYsMjYgKzc1NiwyNSBAQCBwdWJsaWM6CiAgICAgdm9pZCB0ZXhQYXJh
bWV0ZXJpKEdDM0RlbnVtIHRhcmdldCwgR0MzRGVudW0gcG5hbWUsIEdDM0RpbnQgcGFyYW0pOwog
ICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzKTsKIAotICAgIC8vIEZJWE1FOiBjaGFuZ2UgdGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRj
aCBPcGVuR0wncy4KICAgICB2b2lkIHVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybTJmKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9p
ZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7Cisg
ICAgdm9pZCB1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9h
dCB5KTsKKyAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBH
QzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rp
bnQgeCwgR0MzRGludCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNmKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHopOwot
ICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTNpKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW50IHopOwotICAgIHZvaWQgdW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1
bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CiAgICAg
dm9pZCB1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5
LCBHQzNEZmxvYXQgeiwgR0MzRGZsb2F0IHcpOwotICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZv
cm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZv
aWQgdW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNE
aW50IHosIEdDM0RpbnQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVp
IHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKKyAg
ICB2b2lkIHVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2
KTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlKTsKIAogICAgIHZvaWQgdXNlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKICAg
ICB2b2lkIHZhbGlkYXRlUHJvZ3JhbShQbGF0Zm9ybTNET2JqZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDdhMjZkYjI4YTBjZTczNDNkNWU0NDU5ZThjN2Y3
MWRjNzU5ODc3ZjQuLjliYzNhOWQwZTY1MmUzMGY4NWVjZjgzZGVkODhlYjVmNjY0NDBhN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtNDcxLDcgKzQ3MSw3IEBA
IHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKGNvbnN0IEND
RGVidWdCb3JkZXJEcmF3UXVhZCogcXVhCiAgICAgcmVuZGVyTWF0cml4LnRyYW5zbGF0ZSgwLjUg
KiBsYXllclJlY3Qud2lkdGgoKSArIGxheWVyUmVjdC54KCksIDAuNSAqIGxheWVyUmVjdC5oZWln
aHQoKSArIGxheWVyUmVjdC55KCkpOwogICAgIHJlbmRlck1hdHJpeC5zY2FsZU5vblVuaWZvcm0o
bGF5ZXJSZWN0LndpZHRoKCksIGxheWVyUmVjdC5oZWlnaHQoKSk7CiAgICAgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjp0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwgcHJvamVjdGlvbk1hdHJpeCgpICog
cmVuZGVyTWF0cml4KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRy
aXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgZmFsc2UsICZn
bE1hdHJpeFswXSwgMSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1h
dHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCAxLCBmYWxz
ZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm00Zihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9jYXRpb24oKSwgcXVhZC0+Y29s
b3IoKS5yZWQoKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmdyZWVuKCkgLyAyNTUuMCwgcXVhZC0+
Y29sb3IoKS5ibHVlKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5hbHBoYSgpIC8gMjU1LjApKTsK
IApAQCAtNjI2LDcgKzYyNiw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGls
ZVF1YWQoY29uc3QgQ0NUaWxlRHJhd1F1YWQqIHF1YWQpCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRd
OwogICAgICAgICBkZXZpY2VMYXllckVkZ2VzLnRvRmxvYXRBcnJheShlZGdlKTsKICAgICAgICAg
ZGV2aWNlTGF5ZXJCb3VuZHMudG9GbG9hdEFycmF5KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIGVk
Z2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHVu
aWZvcm1zLmVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogCiAgICAgICAgIEdMQyhjb250ZXh0KCks
IGNvbnRleHQoKS0+dW5pZm9ybTRmKHVuaWZvcm1zLnZlcnRleFRleFRyYW5zZm9ybUxvY2F0aW9u
LCB2ZXJ0ZXhUZXhUcmFuc2xhdGVYLCB2ZXJ0ZXhUZXhUcmFuc2xhdGVZLCB2ZXJ0ZXhUZXhTY2Fs
ZVgsIHZlcnRleFRleFNjYWxlWSkpOwogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCkt
PnVuaWZvcm00Zih1bmlmb3Jtcy5mcmFnbWVudFRleFRyYW5zZm9ybUxvY2F0aW9uLCBmcmFnbWVu
dFRleFRyYW5zbGF0ZVgsIGZyYWdtZW50VGV4VHJhbnNsYXRlWSwgZnJhZ21lbnRUZXhTY2FsZVgs
IGZyYWdtZW50VGV4U2NhbGVZKSk7CkBAIC03NDUsOCArNzQ1LDggQEAgdm9pZCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OmRyYXdZVVYoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIEdM
Qyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkudVRleHR1cmVMb2NhdGlvbigpLCAyKSk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS52VGV4dHVyZUxvY2F0aW9uKCks
IDMpKTsKIAotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDNmdihw
cm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNjTWF0cml4TG9jYXRpb24oKSwgMCwgY29uc3RfY2Fz
dDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1djJSR0IpLCAxKSk7Ci0gICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkueXV2
QWRqTG9jYXRpb24oKSwgY29uc3RfY2FzdDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1dkFk
anVzdCksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgz
ZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDEsIDAsIGNv
bnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSkpOworICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigp
Lnl1dkFkakxvY2F0aW9uKCksIDEsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBs
Ojp5dXZBZGp1c3QpKSk7CiAKICAgICBjb25zdCBJbnRTaXplJiBib3VuZHMgPSBxdWFkLT5xdWFk
UmVjdCgpLnNpemUoKTsKICAgICBkcmF3VGV4dHVyZWRRdWFkKHF1YWQtPmxheWVyVHJhbnNmb3Jt
KCksIGJvdW5kcy53aWR0aCgpLCBib3VuZHMuaGVpZ2h0KCksIHF1YWQtPm9wYWNpdHkoKSwgRmxv
YXRRdWFkKCksCkBAIC03OTgsNyArNzk4LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06
OmRyYXdTdHJlYW1UZXh0dXJlKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBjb25z
dCBDQ1ZpZGVvTGF5ZXJJbXBsOjpTdHJlYW1UZXh0dXJlUHJvZ3JhbSogcHJvZ3JhbSA9IHN0cmVh
bVRleHR1cmVMYXllclByb2dyYW0oKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVz
ZVByb2dyYW0ocHJvZ3JhbS0+cHJvZ3JhbSgpKSk7CiAgICAgQVNTRVJUKHF1YWQtPm1hdHJpeCgp
KTsKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3Jh
bS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9jYXRpb24oKSwgZmFsc2UsIGNvbnN0X2Nhc3Q8
ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSksIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkudGV4TWF0cml4TG9j
YXRpb24oKSwgMSwgZmFsc2UsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihxdWFkLT5tYXRyaXgoKSkpKTsK
IAogICAgIGRyYXdTaW5nbGVUZXh0dXJlVmlkZW9RdWFkKHF1YWQsIHByb2dyYW0sIDEsIHF1YWQt
PmZyYW1lKCktPnRleHR1cmVJZCgpLCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6R0xfVEVYVFVSRV9F
WFRFUk5BTF9PRVMpOwogfQpAQCAtMTAxMyw3ICsxMDEzLDcgQEAgdm9pZCBMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRy
YXdNYXQKICAgICAvLyBBcHBseSB0aGUgcHJvamVjdGlvbiBtYXRyaXggYmVmb3JlIHNlbmRpbmcg
dGhlIHRyYW5zZm9ybSBvdmVyIHRvIHRoZSBzaGFkZXIuCiAgICAgdG9HTE1hdHJpeCgmZ2xNYXRy
aXhbMF0sIG1fcHJvamVjdGlvbk1hdHJpeCAqIHJlbmRlck1hdHJpeCk7CiAKLSAgICBHTEMobV9j
b250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIGZhbHNl
LCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZv
cm1NYXRyaXg0ZnYobWF0cml4TG9jYXRpb24sIDEsIGZhbHNlLCAmZ2xNYXRyaXhbMF0pKTsKIAog
ICAgIGlmIChxdWFkTG9jYXRpb24gIT0gLTEpIHsKICAgICAgICAgZmxvYXQgcG9pbnRbOF07CkBA
IC0xMDI1LDcgKzEwMjUsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1
cmVkUXVhZChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd01hdAogICAgICAgICBwb2lu
dFs1XSA9IHF1YWQucDMoKS55KCk7CiAgICAgICAgIHBvaW50WzZdID0gcXVhZC5wNCgpLngoKTsK
ICAgICAgICAgcG9pbnRbN10gPSBxdWFkLnA0KCkueSgpOwotICAgICAgICBHTEMobV9jb250ZXh0
LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCBwb2ludCwgNCkpOworICAgICAg
ICBHTEMobV9jb250ZXh0LCBtX2NvbnRleHQtPnVuaWZvcm0yZnYocXVhZExvY2F0aW9uLCA0LCBw
b2ludCkpOwogICAgIH0KIAogICAgIGlmIChhbHBoYUxvY2F0aW9uICE9IC0xKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKaW5kZXggMDFiNzhiY2Q0MDJhZWM5MzA3ZmU4MzQ2OTE4ZTM5
NWI5MDY2ZmNmMC4uYWZhYTZiM2MxMzgwNTFlMzU3NGFkNjA5YWY4YWQyY2ExZjIzMWY4NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBD
Q1JlbmRlclN1cmZhY2U6OmRyYXdTdXJmYWNlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJS
ZW5kZXJlciwgQ0NMYXllckkKICAgICAgICAgZmxvYXQgZWRnZVsyNF07CiAgICAgICAgIGxheWVy
UXVhZC50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZVJlY3QudG9GbG9hdEFycmF5
KCZlZGdlWzEyXSk7Ci0gICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTNm
dihzaGFkZXJFZGdlTG9jYXRpb24sIGVkZ2UsIDgpKTsKKyAgICAgICAgR0xDKGNvbnRleHQzRCwg
Y29udGV4dDNELT51bmlmb3JtM2Z2KHNoYWRlckVkZ2VMb2NhdGlvbiwgOCwgZWRnZSkpOwogICAg
IH0KIAogICAgIC8vIE1hcCBkZXZpY2Ugc3BhY2UgcXVhZCB0byBsYXllciBzcGFjZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhp
Y3NDb250ZXh0M0RFZmwuY3BwCmluZGV4IDQ2NTkzOTc4ZjI3NmVkNzkyZTUyYzY1MmVlODdiZmM3
OGFhODM1NWUuLmU1NjAxYzhmODk5YWM3NzViMmVjNTBiY2RkNTgxNmFiZGQxYTQ4ODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNERWZsLmNwcApAQCAtNTU0LDcgKzU1NCw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCkKICAgICBt
X3ByaXZhdGUtPnVuaWZvcm0xZihsb2NhdGlvbiwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RmbG9hdCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVu
aWZvcm0xZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTY0LDcgKzU2NCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgp
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWkobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50
IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUt
PnVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTc0LDcgKzU3NCw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCwgZmxvYXQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZihsb2NhdGlvbiwgeCwgeSk7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCog
dikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpA
QCAtNTg0LDcgKzU4NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaShHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSkKICAgICBtX3ByaXZhdGUtPnVuaWZv
cm0yaShsb2NhdGlvbiwgeCwgeSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJpdihsb2NhdGlv
biwgc2l6ZSwgdik7CiB9CkBAIC01OTQsNyArNTk0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwg
R0MKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zZihsb2NhdGlvbiwgeCwgeSwgeik7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjA0LDcg
KzYwNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
M2kobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zaXYobG9jYXRp
b24sIHNpemUsIHYpOwogfQpAQCAtNjE0LDcgKzYxNCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHks
IEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGYobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYy
NCwyMiArNjI0LDIyIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGluCiAgICAgbV9wcml2YXRlLT51
bmlmb3JtNGkobG9jYXRpb24sIHgsIHksIHosIHcpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm00
aXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJh
bnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRy
aXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRy
aXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmNwcAppbmRleCA1Y2QxN2FmODYyYmNmM2U1OTA0YmQ0YTNkMzY3ZjA4NTY0NTBlN2E4Li45
YmYyNDk1YzBkOTJmNmFiZDMxZTRmOGY3ZTcwY2YzOWNkMDUxMjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9n
cmFtQW5kQnVmZmVycyhCeXRlQXJyYXkqIHNyY1BpeGVsQXJyYXkpCiAgICAgICAgIG9ydGhvZ29u
YWxQcm9qZWN0aW9uTWF0cml4KHByb2plY3Rpb25NYXRyaXgsIC0wLjUsIDAuNSwgLTAuNSwgMC41
KTsKICAgICAgICAgZmxvYXQgZ2xQcm9qZWN0aW9uTWF0cml4WzE2XTsKICAgICAgICAgcHJvamVj
dGlvbk1hdHJpeC50b0NvbHVtbk1ham9yRmxvYXRBcnJheShnbFByb2plY3Rpb25NYXRyaXgpOwot
ICAgICAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobV9zaGFkZXItPnByb2plY3Rpb25N
YXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgJmdsUHJvamVjdGlvbk1hdHJpeFswXSwgMSk7CisgICAg
ICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihtX3NoYWRlci0+cHJvamVjdGlvbk1hdHJp
eExvY2F0aW9uKCksIDEsIGZhbHNlLCAmZ2xQcm9qZWN0aW9uTWF0cml4WzBdKTsKICAgICB9CiAg
ICAgCiAgICAgbV9jb250ZXh0LT5iaW5kQnVmZmVyKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJBWV9C
VUZGRVIsIG1fbWVzaC0+dmVydGljZXNCdWZmZXJPYmplY3QoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVu
R0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCAwM2Q0YTMyY2NjMzI2NTY0Njgz
YTFkYWFiMGE4MTVhMTMwN2MxYjFlLi5mMDlmOTQwN2YzMjJjYWFhODE4MGI4ZTkzODE2ZDlhNTU2
ZmRhYjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5j
cHAKQEAgLTkwNyw3ICs5MDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwKQogICAgIDo6Z2xVbmlmb3JtMWYobG9jYXRp
b24sIHYwKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpn
bFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTkxOSw3ICs5MTksNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAgICAgOjpnbFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYx
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rm
bG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRp
cGxlIG9mIDIuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05MzIsNyArOTMyLDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rm
bG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtM2YobG9jYXRpb24sIHYwLCB2
MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEg
bXVsdGlwbGUgb2YgMy4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk0NSw3ICs5NDUs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm00Zihsb2NhdGlvbiwg
djAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRz
IHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk1
OCw3ICs5NTgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB2MCkKICAgICA6OmdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm0xaXYobG9j
YXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICA6OmdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwpAQCAtOTgzLDcgKzk4Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNE
CiAgICAgOjpnbFVuaWZvcm0zaShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
Ly8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNv
bnRleHRDdXJyZW50KCk7CkBAIC05OTYsMjggKzk5NiwyOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtNGkobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkK
IHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgNC4KICAg
ICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6
ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVu
aWZvcm1NYXRyaXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDku
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm1NYXRyaXgzZnYobG9j
YXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklY
TUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDE2LgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCA4MDU5MWU5YzQ1ZmZjZDI4ZjQ3
MGY4ZDgzZDY1ZjQxYmZhODA5YWZlLi43MDA1Nzg1YzAxZGU2YzM3OWI2OWFmNDY2NzNlY2ViMzU3
N2JmOWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCkKICAgICBnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXks
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiBhcnJheSkKIHsKICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIGFy
cmF5KTsKQEAgLTEwOTksNyArMTA5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSkKICAgICBn
bFVuaWZvcm0yZihsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTExLDcgKzExMTEsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
M2YobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MjMsNyArMTEyMyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm00Zihs
b2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBnbFVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTEx
MzUsNyArMTEzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50
IGxvY2F0aW9uLCBHQzNEaW50IHYwKQogICAgIGdsVW5pZm9ybTFpKGxvY2F0aW9uLCB2MCk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHR0MzRHNpemVpIHNpemUsIEMzRGludCogYXJy
YXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWl2KGxvY2F0
aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTQ3LDcgKzExNDcsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2
MSkKICAgICBnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIGFycmF5
KTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xV
bmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE3MSwyNSArMTE3MSwyNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9y
bTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXpl
aSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBh
cnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgy
ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3Nl
LCBhcnJheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGlj
c0NvbnRleHQzRENocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBo
aWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCmluZGV4IGIwOTAwYzAyZDUyOGNiMTc0MGQ3NDMxMTE0
Nzc2YjlhZjk5MDZhZWEuLmMzODJmZTc3OTQ4NzI1NGMxMTVlOTg2NWMyZTE5YzE0NzBiM2U0MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNE
Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29u
dGV4dDNEQ2hyb21pdW0uY3BwCkBAIC0xMTc2LDI0ICsxMTc2LDI0IEBAIERFTEVHQVRFX1RPX0lO
VEVSTkFMXzModGV4UGFyYW1ldGVyaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBHQzNEaW50KQogREVM
RUdBVEVfVE9fSU5URVJOQUxfOSh0ZXhTdWJJbWFnZTJELCBHQzNEZW51bSwgR0MzRGludCwgR0Mz
RGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwg
Y29uc3Qgdm9pZCopCiAKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzIodW5pZm9ybTFmLCBHQzNEaW50
LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0xZnYsIEdDM0RpbnQs
IEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTFm
diwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxf
Mih1bmlmb3JtMWksIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVu
aWZvcm0xaXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRF
Uk5BTF8zKHVuaWZvcm0xaXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCopCiBERUxFR0FU
RV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQp
Ci1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCos
IEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJmdiwgR0MzRGludCwg
R0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMmks
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZv
cm0yaXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5B
TF8zKHVuaWZvcm0yaXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCopCiBERUxFR0FURV9U
T19JTlRFUk5BTF80KHVuaWZvcm0zZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdD
M0RmbG9hdCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNmdiwgR0MzRGludCwgR0Mz
RGZsb2F0KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtM2Z2LCBH
QzNEaW50LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCopCiBERUxFR0FURV9UT19JTlRFUk5BTF80KHVu
aWZvcm0zaSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKLURFTEVHQVRFX1RP
X0lOVEVSTkFMXzModW5pZm9ybTNpdiwgR0MzRGludCwgR0MzRGludCosIEdDM0RzaXplaSkKK0RF
TEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNpdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNE
aW50KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzUodW5pZm9ybTRmLCBHQzNEaW50LCBHQzNEZmxv
YXQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5B
TF8zKHVuaWZvcm00ZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRF
X1RPX0lOVEVSTkFMXzModW5pZm9ybTRmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQq
KQogREVMRUdBVEVfVE9fSU5URVJOQUxfNSh1bmlmb3JtNGksIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00
aXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5BTF80
KHVuaWZvcm1NYXRyaXgyZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBHQzNE
c2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgzZnYsIEdDM0RpbnQs
IEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5B
TF80KHVuaWZvcm1NYXRyaXg0ZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBH
QzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00aXYsIEdDM0RpbnQsIEdD
M0RzaXplaSwgR0MzRGludCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgy
ZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCopCitERUxFR0FU
RV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgzZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0Mz
RGJvb2xlYW4sIEdDM0RmbG9hdCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRy
aXg0ZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCopCiAKIERF
TEVHQVRFX1RPX0lOVEVSTkFMXzEodXNlUHJvZ3JhbSwgUGxhdGZvcm0zRE9iamVjdCkKIERFTEVH
QVRFX1RPX0lOVEVSTkFMXzEodmFsaWRhdGVQcm9ncmFtLCBQbGF0Zm9ybTNET2JqZWN0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130015</attachid>
            <date>2012-03-03 20:33:12 -0800</date>
            <delta_ts>2012-03-03 21:51:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120304133335.patch</filename>
            <type>text/plain</type>
            <size>46014</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uZTdhMmY4YTY0NGFiOGZlZDI0ZTk1M2NiOTE2ZTVm
Mjc5MTRmYTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNiBAQAorMjAxMi0wMy0wMyAgQ2hh
bmdodW4gS2FuZyAgPHRlbW9vY2hpbkBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBDaGFuZ2Ug
dGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRjaCBPcGVuR0wncyBpbiBHcmFwaGljc0NvbnRleHQz
RCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGlsZVF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVRleHR1cmUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFjZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
NGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJm
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisKKzIwMTItMDMtMDIgIENoYW5naHVu
IEthbmcgIDx0ZW1vb2NoaW5AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBh
cmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MgaW4gR3JhcGhpY3NDb250ZXh0M0QgZnVu
Y3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDEyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVik6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdTdHJlYW1UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1cmVkUXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXg0ZnYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0x
ZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYpOgorCiAyMDEyLTAzLTAxICBQYWJsbyBGbG91cmV0ICA8cGFibG9m
QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBGaXggY29kZSBnZW5lcmF0b3JzIHRvIGNvcnJlY3Rs
eSBndWFyZCBoZWFkZXIgZGVjbGFyYXRpb25zIHRoYXQgaGF2ZSBhIFtDb25kaXRpb25hbF0gYXR0
cmlidXRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhOGQ3ZTg5ODM4YjU3OTQ1NGQ4
ZDBhMDBmN2EyM2Q4MGYyMzRlMjVkLi41NzIzNGRkZmI1OWQ2NjBmNzhiNTZmZTFkNTRjMTZlNjgw
ZmM1NzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEy
LTAzLTAzICBDaGFuZ2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAg
ICAgIENoYW5nZSB0aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBo
aWNzQ29udGV4dDNEIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTFpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMml2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTNmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zaXYpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRpdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRy
aXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wMy0wMSAg
RGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IE1ha2Ugb3BhcXVlIHBhaW50IHRyYWNrZXIgYXdhcmUgb2YgU2tDYW52YXMgbGF5ZXJzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cAppbmRleCA0NTllMDJlNzU1OGI1OTVkMzhlMjhjZGIzZjJlYjk1YjFlM2UwMzYwLi5mNjI4OWI2
NzMzMjlkZDc5MzFjMmY1MTkzZDQwOTczZmYzODFmYjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTM3MTksNyAr
MzcxOSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KGNvbnN0IFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFmdiIsIGxvY2F0aW9uLCB2
LCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpKTsKKyAgICBtX2NvbnRleHQt
PnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpLCB2LT5kYXRhKCkp
OwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3MjksNyAr
MzcyOSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KGNvbnN0IFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFmdiIsIGxvY2F0aW9uLCB2
LCBzaXplLCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0x
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBo
aWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3NTQsNyArMzc1NCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2Nh
dGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFy
YW1ldGVycygidW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCAxKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRh
KCksIHYtPmxlbmd0aCgpKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYtPmxlbmd0aCgpLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBo
aWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3NjQsNyArMzc2NCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2Nh
dGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFy
YW1ldGVycygidW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAxKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2
LCBzaXplKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxvY2F0aW9uKCks
IHNpemUsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAg
LTM3ODksNyArMzc4OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMmZ2
KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29u
dGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTJmdiIsIGxv
Y2F0aW9uLCB2LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3Jt
MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMik7Cisg
ICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgo
KSAvIDIsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIApAQCAtMzc5OSw3ICszNzk5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm0yZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
MmZ2IiwgbG9jYXRpb24sIHYsIHNpemUsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Nv
bnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyAyKTsKKyAg
ICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyAyLCB2
KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zODI0LDcg
KzM4MjQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJpdihjb25zdCBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0yaXYiLCBsb2NhdGlvbiwg
diwgMikpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTJpdihsb2Nh
dGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDIpOworICAgIG1fY29u
dGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAyLCB2
LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAg
LTM4MzQsNyArMzgzNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2
KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29u
dGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTJpdiIsIGxv
Y2F0aW9uLCB2LCBzaXplLCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51
bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMik7CisgICAgbV9jb250
ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMiwgdik7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzg1OSw3ICszODU5LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zZnYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2Z2IiwgbG9jYXRpb24sIHYsIDMpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zZnYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAzKTsKKyAgICBtX2NvbnRleHQtPnVu
aWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMywgdi0+ZGF0YSgp
KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zODY5LDcg
KzM4NjksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdihjb25zdCBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0
KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zZnYiLCBsb2NhdGlvbiwg
diwgc2l6ZSwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTNm
dihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMpOworICAgIG1fY29udGV4dC0+dW5p
Zm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDMsIHYpOwogICAgIGNsZWFudXBB
ZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4OTQsNyArMzg5NCw3IEBAIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2l2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0
aW9uKiBsb2NhdGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVV
bmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTNpdiIsIGxvY2F0aW9uLCB2LCAzKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtM2l2KGxvY2F0aW9uLT5sb2NhdGlvbigp
LCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMyk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtM2l2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDMsIHYtPmRhdGEoKSk7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkwNCw3ICszOTA0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2
YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2IiwgbG9jYXRpb24sIHYsIHNpemUs
IDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyAzKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyAzLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTI5LDcgKzM5MjksNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24sIEZsbwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBh
cmFtZXRlcnMoInVuaWZvcm00ZnYiLCBsb2NhdGlvbiwgdiwgNCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0
YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlv
bi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBB
ZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MzksNyArMzkzOSw3IEBAIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0
aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVV
bmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCA0KSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2Nh
dGlvbigpLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9u
LT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxs
KGZhbHNlKTsKIH0KIApAQCAtMzk2NCw3ICszOTY0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm00aXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJ
bnQKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJz
KCJ1bmlmb3JtNGl2IiwgbG9jYXRpb24sIHYsIDQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+
bGVuZ3RoKCkgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmxlbmd0aCgpIC8gNCwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTc0LDcgKzM5NzQsNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBh
cmFtZXRlcnMoInVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgNCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
diwgc2l6ZSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgc2l6ZSAvIDQsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7
CiB9CiAKQEAgLTM5ODMsNyArMzk4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtTWF0cml4MmZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAg
VU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVu
aWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4MmZ2IiwgbG9jYXRpb24sIHRyYW5z
cG9zZSwgdiwgNCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRy
aXgyZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5n
dGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9j
YXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSk7CiAgICAgY2xl
YW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk5Miw3ICszOTkyLDcgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoY29uc3QgV2ViR0xV
bmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChp
c0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZv
cm1NYXRyaXgyZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCBzaXplLCA0KSkKICAgICAgICAg
cmV0dXJuOwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgdHJhbnNwb3NlLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0
cml4MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdHJhbnNwb3NlLCB2KTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDAxLDcgKzQwMDEs
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDNmdihjb25zdCBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygi
dW5pZm9ybU1hdHJpeDNmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIDkpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLT5sb2NhdGlv
bigpLCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyA5KTsKKyAgICBtX2NvbnRl
eHQtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8g
OSwgdHJhbnNwb3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChm
YWxzZSk7CiB9CiAKQEAgLTQwMTAsNyArNDAxMCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtTWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlv
CiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxp
ZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4M2Z2IiwgbG9jYXRpb24s
IHRyYW5zcG9zZSwgdiwgc2l6ZSwgOSkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdiwgc2l6
ZSAvIDkpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgc2l6ZSAvIDksIHRyYW5zcG9zZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3ND
YWxsKGZhbHNlKTsKIH0KIApAQCAtNDAxOSw3ICs0MDE5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxv
Y2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwg
IXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXg0ZnYiLCBsb2Nh
dGlvbiwgdHJhbnNwb3NlLCB2LCAxNikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0
YSgpLCB2LT5sZW5ndGgoKSAvIDE2KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMTYsIHRyYW5zcG9zZSwgdi0+ZGF0
YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDI4
LDcgKzQwMjgsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShl
Yyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFy
YW1ldGVycygidW5pZm9ybU1hdHJpeDRmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNpemUs
IDE2KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihs
b2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2LCBzaXplIC8gMTYpOworICAgIG1fY29u
dGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDE2LCB0
cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJiMDkwOWY5MTIuLmMz
YTExOWZjYzc0ODMzMWY0Y2ZlNjUxNjAwNDk0ZDlmYjczYTUwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtNzU2
LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVyaShHQzNEZW51bSB0
YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2b2lkIHRleFN1Yklt
YWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdD
M0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7CiAKLSAgICAvLyBG
SVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MuCiAgICAg
dm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpOwotICAgIHZvaWQg
dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXpl
KTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNE
ZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQg
eCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdD
M0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFpdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZvaWQgdW5pZm9ybTJm
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSk7CisgICAgdm9pZCB1
bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAg
ICB2b2lkIHVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSk7
Ci0gICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0Rz
aXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2b2lkIHVuaWZvcm0z
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAg
dm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2
KTsKICAgICB2b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0Rp
bnQgeSwgR0MzRGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTNpdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTRmKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHosIEdD
M0RmbG9hdCB3KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm00aShHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNEaW50IHcp
OwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNE
c2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUp
OwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVh
biB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lk
IHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGl2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CisgICAgdm9pZCB1bmlm
b3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CiAKICAg
ICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCB2YWxpZGF0ZVBy
b2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcAppbmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1OTg3N2Y0Li45YmMz
YTlkMGU2NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIExheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVnQm9yZGVyRHJhd1F1
YWQqIHF1YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5ZXJSZWN0LndpZHRo
KCkgKyBsYXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkgKyBsYXllclJlY3Qu
eSgpKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVyUmVjdC53aWR0aCgp
LCBsYXllclJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dG9HTE1h
dHJpeCgmZ2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRlck1hdHJpeCk7Ci0g
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZl
cnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRyaXhbMF0sIDEpKTsK
KyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+
dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZnbE1hdHJpeFswXSkp
OwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYocHJvZ3JhbS0+ZnJh
Z21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCkucmVkKCkgLyAyNTUu
MCwgcXVhZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYmx1ZSgpIC8g
MjU1LjAsIHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAgLTYyNiw3ICs2MjYs
NyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKGNvbnN0IENDVGls
ZURyYXdRdWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgZGV2aWNl
TGF5ZXJFZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZUxheWVyQm91bmRz
LnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAg
IEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRp
b24sIDgsIGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm00Zih1bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVydGV4VGV4VHJhbnNs
YXRlWCwgdmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2ZXJ0ZXhUZXhTY2Fs
ZVkpKTsKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYodW5pZm9y
bXMuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhUcmFuc2xhdGVYLCBm
cmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFnbWVudFRleFNjYWxl
WSkpOwpAQCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
WVVWKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBjb250
ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVUZXh0dXJlTG9jYXRp
b24oKSwgMikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dy
YW0tPmZyYWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7CiAKLSAgICBHTEMo
Y29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3JhbS0+ZnJhZ21lbnRT
aGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVv
TGF5ZXJJbXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+
dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxvY2F0aW9uKCksIGNv
bnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3QpLCAxKSk7CisgICAg
R0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0tPmZyYWdt
ZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9jYXN0PGZsb2F0Kj4o
Q0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0
KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2NhdGlvbigp
LCAxLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSkpOwog
CiAgICAgY29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3QoKS5zaXplKCk7CiAg
ICAgZHJhd1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBib3VuZHMud2lkdGgo
KSwgYm91bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVhZCgpLApAQCAtNzk4
LDcgKzc5OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVy
ZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NWaWRlb0xheWVySW1w
bDo6U3RyZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0dXJlTGF5ZXJQcm9n
cmFtKCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9ncmFtKHByb2dyYW0t
PnByb2dyYW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0gICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigp
LnRleE1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0
cml4KCkpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4
NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNl
LCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAgICBkcmF3U2luZ2xl
VGV4dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFtZSgpLT50ZXh0dXJl
SWQoKSwgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTKTsKIH0K
QEAgLTEwMTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4
dHVyZWRRdWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgLy8gQXBw
bHkgdGhlIHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0cmFuc2Zvcm0gb3Zl
ciB0byB0aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBdLCBtX3Byb2plY3Rp
b25NYXRyaXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0
LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmdsTWF0cml4WzBdLCAx
KSk7CisgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJp
eExvY2F0aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBpZiAocXVhZExvY2F0
aW9uICE9IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAyNSw3ICsxMDI1LDcg
QEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0gPSBxdWFkLnAzKCku
eSgpOwogICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAgICAgIHBvaW50Wzdd
ID0gcXVhZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlm
b3JtMmZ2KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xDKG1fY29udGV4dCwg
bV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQpKTsKICAgICB9CiAK
ICAgICBpZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwCmluZGV4IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0NjkxOGUzOTViOTA2NmZjZjAuLmFmYWE2
YjNjMTM4MDUxZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJTdXJmYWNlLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjpk
cmF3U3VyZmFjZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIENDTGF5ZXJJ
CiAgICAgICAgIGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBsYXllclF1YWQudG9GbG9hdEFycmF5
KGVkZ2UpOwogICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAg
ICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZvcm0zZnYoc2hhZGVyRWRnZUxvY2F0
aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9y
bTNmdihzaGFkZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKICAgICB9CiAKICAgICAvLyBNYXAg
ZGV2aWNlIHNwYWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNw
cAppbmRleCA0NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3YmZjNzhhYTgzNTVlLi5lNTYwMWM4
Zjg5OWFjNzc1YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVm
bC5jcHAKQEAgLTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
MWYobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkg
c2l6ZSwgQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWZ2KGxvY2F0aW9u
LCBzaXplLCB2KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KQogICAgIG1fcHJpdmF0ZS0+
dW5pZm9ybTFpKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0Rz
aXplaSBzaXplLCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWl2KGxvY2F0
aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIGZsb2F0IHkpCiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwg
R0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2
YXRlLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU4NCw3ICs1ODQsNyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGludCB4LCBHQzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmkobG9jYXRpb24sIHgs
IHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCog
dikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpA
QCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAgICAgbV9wcml2YXRl
LT51bmlmb3JtM2YobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYwNCw3ICs2MDQsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBH
QzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpKGxvY2F0aW9uLCB4LCB5
LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0K
QEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwogICAgIG1fcHJpdmF0
ZS0+dW5pZm9ybTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0ZS0+
dW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MjQsMjIgKzYyNCwyMiBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRpKGxvY2F0aW9u
LCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGl2KGxvY2F0aW9uLCBzaXpl
LCB2KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBH
QzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDJmdihsb2Nh
dGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNw
b3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZh
dGUtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKaW5kZXggNWNk
MTdhZjg2MmJjZjNlNTkwNGJkNGEzZDM2N2YwODU2NDUwZTdhOC4uOWJmMjQ5NWMwZDkyZjZhYmQz
MWU0ZjhmN2U3MGNmMzljZDA1MTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTIyOSw3
ICsyMjksNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoQnl0
ZUFycmF5KiBzcmNQaXhlbEFycmF5KQogICAgICAgICBvcnRob2dvbmFsUHJvamVjdGlvbk1hdHJp
eChwcm9qZWN0aW9uTWF0cml4LCAtMC41LCAwLjUsIC0wLjUsIDAuNSk7CiAgICAgICAgIGZsb2F0
IGdsUHJvamVjdGlvbk1hdHJpeFsxNl07CiAgICAgICAgIHByb2plY3Rpb25NYXRyaXgudG9Db2x1
bW5NYWpvckZsb2F0QXJyYXkoZ2xQcm9qZWN0aW9uTWF0cml4KTsKLSAgICAgICAgbV9jb250ZXh0
LT51bmlmb3JtTWF0cml4NGZ2KG1fc2hhZGVyLT5wcm9qZWN0aW9uTWF0cml4TG9jYXRpb24oKSwg
ZmFsc2UsICZnbFByb2plY3Rpb25NYXRyaXhbMF0sIDEpOworICAgICAgICBtX2NvbnRleHQtPnVu
aWZvcm1NYXRyaXg0ZnYobV9zaGFkZXItPnByb2plY3Rpb25NYXRyaXhMb2NhdGlvbigpLCAxLCBm
YWxzZSwgJmdsUHJvamVjdGlvbk1hdHJpeFswXSk7CiAgICAgfQogICAgIAogICAgIG1fY29udGV4
dC0+YmluZEJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSLCBtX21lc2gtPnZl
cnRpY2VzQnVmZmVyT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHAKaW5kZXggMDNkNGEzMmNjYzMyNjU2NDY4M2ExZGFhYjBhODE1YTEzMDdj
MWIxZS4uZjA5Zjk0MDdmMzIyY2FhYTgxODBiOGU5MzgxNmQ5YTU1NmZkYWI3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC05MDcsNyArOTA3
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCB2MCkKICAgICA6OmdsVW5pZm9ybTFmKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5
KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWZ2KGxvY2F0
aW9uLCBzaXplLCBhcnJheSk7CkBAIC05MTksNyArOTE5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0
IHYxKQogICAgIDo6Z2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTMyLDcgKzkzMiw3IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9h
dCB2MSwKICAgICA6OmdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkp
CiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NDUsNyArOTQ1LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0Mz
RGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxl
IG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NTgsNyArOTU4LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQg
djApCiAgICAgOjpnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBH
QzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWl2KGxvY2F0aW9uLCBzaXplLCBhcnJh
eSk7CkBAIC05NzAsNyArOTcwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJp
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgOjpnbFVuaWZv
cm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5l
ZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAg
LTk4Myw3ICs5ODMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIDo6Z2xVbmlmb3Jt
M2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGgg
bmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpA
QCAtOTk2LDI4ICs5OTYsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICA6OmdsVW5p
Zm9ybTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6
IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJy
ZW50KCk7CiAgICAgOjpnbFVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFy
cmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA0
LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4MmZ2KGxv
Y2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFu
c3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6
ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJ
WE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA5LgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFu
c3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiAxNi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3ND
b250ZXh0M0RRdC5jcHAKaW5kZXggODA1OTFlOWM0NWZmY2QyOGY0NzBmOGQ4M2Q2NWY0MWJmYTgw
OWFmZS4uNzAwNTc4NWMwMWRlNmMzNzliNjlhZjQ2NjczZWNlYjM1NzdiZjliYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RR
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3ND
b250ZXh0M0RRdC5jcHAKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgZ2xVbmlm
b3JtMWYobG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dD
M0RzaXplaSBzaXplLCBDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50
KCk7CiAgICAgZ2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMDk5LDcg
KzEwOTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAgICAgZ2xVbmlmb3JtMmYobG9jYXRp
b24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAg
IGdsVW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTExMSw3ICsxMTExLDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwg
djEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xV
bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTIzLDcgKzExMjMsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwg
djIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xV
bmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTM1LDcgKzExMzUsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCB2MCkKICAgICBnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBH
QzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGlu
dCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkp
OwpAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJp
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgZ2xVbmlmb3Jt
MmkobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CiAgICAgZ2xVbmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTU5LDcgKzEx
NTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9ybTNpKGxvY2F0aW9u
LCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBn
bFVuaWZvcm0zaXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExNzEsMjUgKzExNzEsMjUg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVuaWZvcm00aShsb2NhdGlvbiwgdjAs
IHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGds
VW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFr
ZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXpl
LCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVu
dCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBh
cnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBH
QzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwg
R0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVu
aWZvcm1NYXRyaXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9t
aXVtLmNwcAppbmRleCBiMDkwMGMwMmQ1MjhjYjE3NDBkNzQzMTExNDc3NmI5YWY5OTA2YWVhLi44
ZWViN2I1MGIwMDk4MWY3YmMyMDBhNWNiNDUyYTBiZGZiMTBiNzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNw
cApAQCAtNjc5LDY0ICs2NzksNjQgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVu
aWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2kKIAogREVMRUdB
VEVfVE9fSU1QTF8yKHVuaWZvcm0xaSwgR0MzRGludCwgR0MzRGludCkKIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCog
diwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAg
ICBtX2ltcGwtPnVuaWZvcm0xaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxFR0FURV9U
T19JTVBMXzModW5pZm9ybTJmLCBHQzNEaW50LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCkKIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxv
YXQqIHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0K
IAogREVMRUdBVEVfVE9fSU1QTF8zKHVuaWZvcm0yaSwgR0MzRGludCwgR0MzRGludCwgR0MzRGlu
dCkKIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yaXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwg
R0MzRGludCogdikKIHsKICAgICBtX2ltcGwtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIHYp
OwogfQogCiBERUxFR0FURV9UT19JTVBMXzQodW5pZm9ybTNmLCBHQzNEaW50LCBHQzNEZmxvYXQs
IEdDM0RmbG9hdCwgR0MzRGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX2ltcGwtPnVuaWZv
cm0zZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxFR0FURV9UT19JTVBMXzQodW5pZm9y
bTNpLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3Jt
M2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAg
IG1faW1wbC0+dW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RP
X0lNUExfNSh1bmlmb3JtNGYsIEdDM0RpbnQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxv
YXQsIEdDM0RmbG9hdCkKIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm00
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtNGZ2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KIAogREVMRUdBVEVfVE9fSU1QTF81KHVuaWZvcm00aSwgR0Mz
RGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCog
diwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAg
ICBtX2ltcGwtPnVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0
KiB2YWx1ZSkKIHsKICAgICBtX2ltcGwtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRpb24sIHNpemUs
IHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2Us
IEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX2lt
cGwtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDRmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRy
aXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5z
cG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX2ltcGwtPnVuaWZvcm1NYXRyaXg0ZnYo
bG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQpAQCAtMTE3NiwyNCArMTE3Niwy
NCBAQCBERUxFR0FURV9UT19JTlRFUk5BTF8zKHRleFBhcmFtZXRlcmksIEdDM0RlbnVtLCBHQzNE
ZW51bSwgR0MzRGludCkKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzkodGV4U3ViSW1hZ2UyRCwgR0Mz
RGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBH
QzNEZW51bSwgR0MzRGVudW0sIGNvbnN0IHZvaWQqKQogCiBERUxFR0FURV9UT19JTlRFUk5BTF8y
KHVuaWZvcm0xZiwgR0MzRGludCwgR0MzRGZsb2F0KQotREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1
bmlmb3JtMWZ2LCBHQzNEaW50LCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19J
TlRFUk5BTF8zKHVuaWZvcm0xZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGZsb2F0KikKIERF
TEVHQVRFX1RPX0lOVEVSTkFMXzIodW5pZm9ybTFpLCBHQzNEaW50LCBHQzNEaW50KQotREVMRUdB
VEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMWl2LCBHQzNEaW50LCBHQzNEaW50KiwgR0MzRHNpemVp
KQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMWl2LCBHQzNEaW50LCBHQzNEc2l6ZWks
IEdDM0RpbnQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMmYsIEdDM0RpbnQsIEdD
M0RmbG9hdCwgR0MzRGZsb2F0KQotREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMmZ2LCBH
QzNEaW50LCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVu
aWZvcm0yZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGZsb2F0KikKIERFTEVHQVRFX1RPX0lO
VEVSTkFMXzModW5pZm9ybTJpLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQotREVMRUdBVEVf
VE9fSU5URVJOQUxfMyh1bmlmb3JtMml2LCBHQzNEaW50LCBHQzNEaW50KiwgR0MzRHNpemVpKQor
REVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMml2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdD
M0RpbnQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfNCh1bmlmb3JtM2YsIEdDM0RpbnQsIEdDM0Rm
bG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZv
cm0zZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVS
TkFMXzModW5pZm9ybTNmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdB
VEVfVE9fSU5URVJOQUxfNCh1bmlmb3JtM2ksIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0zaXYsIEdDM0RpbnQsIEdDM0Rp
bnQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0zaXYsIEdDM0Rp
bnQsIEdDM0RzaXplaSwgR0MzRGludCopCiBERUxFR0FURV9UT19JTlRFUk5BTF81KHVuaWZvcm00
ZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0KQot
REVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtNGZ2LCBHQzNEaW50LCBHQzNEZmxvYXQqLCBH
QzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00ZnYsIEdDM0RpbnQsIEdD
M0RzaXplaSwgR0MzRGZsb2F0KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzUodW5pZm9ybTRpLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQotREVMRUdBVEVfVE9f
SU5URVJOQUxfMyh1bmlmb3JtNGl2LCBHQzNEaW50LCBHQzNEaW50KiwgR0MzRHNpemVpKQotREVM
RUdBVEVfVE9fSU5URVJOQUxfNCh1bmlmb3JtTWF0cml4MmZ2LCBHQzNEaW50LCBHQzNEYm9vbGVh
biwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQotREVMRUdBVEVfVE9fSU5URVJOQUxfNCh1bmlmb3Jt
TWF0cml4M2Z2LCBHQzNEaW50LCBHQzNEYm9vbGVhbiwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQot
REVMRUdBVEVfVE9fSU5URVJOQUxfNCh1bmlmb3JtTWF0cml4NGZ2LCBHQzNEaW50LCBHQzNEYm9v
bGVhbiwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlm
b3JtNGl2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RpbnQqKQorREVMRUdBVEVfVE9fSU5URVJO
QUxfNCh1bmlmb3JtTWF0cml4MmZ2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuLCBH
QzNEZmxvYXQqKQorREVMRUdBVEVfVE9fSU5URVJOQUxfNCh1bmlmb3JtTWF0cml4M2Z2LCBHQzNE
aW50LCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqKQorREVMRUdBVEVfVE9fSU5U
RVJOQUxfNCh1bmlmb3JtTWF0cml4NGZ2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0Rib29sZWFu
LCBHQzNEZmxvYXQqKQogCiBERUxFR0FURV9UT19JTlRFUk5BTF8xKHVzZVByb2dyYW0sIFBsYXRm
b3JtM0RPYmplY3QpCiBERUxFR0FURV9UT19JTlRFUk5BTF8xKHZhbGlkYXRlUHJvZ3JhbSwgUGxh
dGZvcm0zRE9iamVjdCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130016</attachid>
            <date>2012-03-03 21:51:19 -0800</date>
            <delta_ts>2012-03-03 22:24:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120304145142.patch</filename>
            <type>text/plain</type>
            <size>53323</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uMWE2NWY2ZGE2ZTRmNTQyMTM5YmY4Y2Q2ZmM2MjE2
ZTExYzk3MzUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5NiBAQAorMjAxMi0wMy0wMyAgQ2hh
bmdodW4gS2FuZyAgPHRlbW9vY2hpbkBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBDaGFuZ2Ug
dGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRjaCBPcGVuR0wncyBpbiBHcmFwaGljc0NvbnRleHQz
RCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGlsZVF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVRleHR1cmUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFjZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
NGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJm
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisKKzIwMTItMDMtMDMgIENoYW5naHVu
IEthbmcgIDx0ZW1vb2NoaW5AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBh
cmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MgaW4gR3JhcGhpY3NDb250ZXh0M0QgZnVu
Y3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDEyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVik6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdTdHJlYW1UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1cmVkUXVhZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6ZHJhd1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BbmRCdWZmZXJzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xD
b21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0x
ZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dDNEUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYpOgorCisyMDEyLTAzLTAyICBDaGFuZ2h1biBLYW5n
ICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0aGUgYXJndW1l
bnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNEIGZ1bmN0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
NGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4
NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKwogMjAxMi0wMy0wMSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgRml4IGNvZGUgZ2VuZXJhdG9ycyB0byBjb3JyZWN0bHkgZ3Vh
cmQgaGVhZGVyIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgYSBbQ29uZGl0aW9uYWxdIGF0dHJpYnV0
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYThkN2U4OTgzOGI1Nzk0NTRkOGQwYTAw
ZjdhMjNkODBmMjM0ZTI1ZC4uNDZhODBjZTBhYjEzNTczMTBkYmI0MTA3MDNiM2NkYTYyMzlkMzI3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAxMi0wMy0w
MyAgQ2hhbmdodW4gS2FuZyAgPHRlbW9vY2hpbkBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBD
aGFuZ2UgdGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRjaCBPcGVuR0wncyBpbiBHcmFwaGljc0Nv
bnRleHQzRCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0xaXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMmZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTJpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtM2l2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm00aXYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4MmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1h
dHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVu
aWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogc3JjL0dyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZS5oOgorICAgICAgICAoR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
KToKKworMjAxMi0wMy0wMyAgQ2hhbmdodW4gS2FuZyAgPHRlbW9vY2hpbkBjb21wYW55MTAwLm5l
dD4KKworICAgICAgICBDaGFuZ2UgdGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRjaCBPcGVuR0wn
cyBpbiBHcmFwaGljc0NvbnRleHQzRCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0x
aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3Jt
MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZv
cm0zZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlm
b3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5p
Zm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVu
aWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1
bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRFByaXZhdGU6OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIw
MTItMDMtMDEgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBNYWtlIG9wYXF1ZSBwYWludCB0cmFja2VyIGF3YXJlIG9mIFNrQ2FudmFzIGxh
eWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggNDU5ZTAyZTc1NThiNTk1ZDM4ZTI4Y2RiM2YyZWI5NWIxZTNlMDM2
MC4uZjYyODliNjczMzI5ZGQ3OTMxYzJmNTE5M2Q0MDk3M2ZmMzgxZmI1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBA
IC0zNzE5LDcgKzM3MTksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xZnYiLCBs
b2NhdGlvbiwgdiwgMSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9y
bTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSk7CisgICAg
bV9jb250ZXh0LT51bmlmb3JtMWZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSwg
di0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBA
IC0zNzI5LDcgKzM3MjksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFm
dihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0Nv
bnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xZnYiLCBs
b2NhdGlvbiwgdiwgc2l6ZSwgMSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+
dW5pZm9ybTFmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSk7CisgICAgbV9jb250ZXh0
LT51bmlmb3JtMWZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplLCB2KTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zNzU0LDcgKzM3NTQsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xaXYiLCBsb2NhdGlvbiwgdiwgMSkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTFpdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxv
Y2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zNzY0LDcgKzM3NjQsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2Nh
dGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xaXYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMSkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTFpdihsb2NhdGlvbi0+bG9j
YXRpb24oKSwgdiwgc2l6ZSk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLT5s
b2NhdGlvbigpLCBzaXplLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2Up
OwogfQogCkBAIC0zNzg5LDcgKzM3ODksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dW5pZm9ybTJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAg
IGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZv
cm0yZnYiLCBsb2NhdGlvbiwgdiwgMikpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4
dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgo
KSAvIDIpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
di0+bGVuZ3RoKCkgLyAyLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2Fs
bChmYWxzZSk7CiB9CiAKQEAgLTM3OTksNyArMzc5OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp1bmlmb3JtMmZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwg
R0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVy
cygidW5pZm9ybTJmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAyKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXpl
IC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBz
aXplIC8gMiwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApA
QCAtMzgyNCw3ICszODI0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0y
aXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXND
b250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMml2Iiwg
bG9jYXRpb24sIHYsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZv
cm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAyKTsK
KyAgICBtX2NvbnRleHQtPnVuaWZvcm0yaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0
aCgpIC8gMiwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2Up
OwogfQogCkBAIC0zODM0LDcgKzM4MzQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dW5pZm9ybTJpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAg
IGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZv
cm0yaXYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMikpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
Y29udGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDIpOwor
ICAgIG1fY29udGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDIs
IHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4NTks
NyArMzg1OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KGNvbnN0
IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExv
c3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTNmdiIsIGxvY2F0aW9u
LCB2LCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtM2Z2KGxv
Y2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMyk7CisgICAgbV9j
b250ZXh0LT51bmlmb3JtM2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDMs
IHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApA
QCAtMzg2OSw3ICszODY5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0z
ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXND
b250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2Z2Iiwg
bG9jYXRpb24sIHYsIHNpemUsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyAzKTsKKyAgICBtX2Nv
bnRleHQtPnVuaWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyAzLCB2KTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zODk0LDcgKzM4OTQs
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNpdihjb25zdCBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwg
IXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zaXYiLCBsb2NhdGlvbiwgdiwgMykp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTNpdihsb2NhdGlvbi0+
bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDMpOworICAgIG1fY29udGV4dC0+
dW5pZm9ybTNpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAzLCB2LT5kYXRh
KCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MDQs
NyArMzkwNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2l2KGNvbnN0
IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExv
c3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTNpdiIsIGxvY2F0aW9u
LCB2LCBzaXplLCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3Jt
M2l2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMyk7CisgICAgbV9jb250ZXh0LT51
bmlmb3JtM2l2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMywgdik7CiAgICAgY2xlYW51
cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkyOSw3ICszOTI5LDcgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9j
YXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0
ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGZ2IiwgbG9jYXRpb24sIHYsIDQpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00ZnYobG9jYXRpb24tPmxvY2F0aW9u
KCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm00
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gNCwgdi0+ZGF0YSgpKTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTM5LDcgKzM5Mzks
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRmdihjb25zdCBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwg
IXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00ZnYiLCBsb2NhdGlvbiwgdiwgc2l6
ZSwgNCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRmdihsb2Nh
dGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRm
dihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDQsIHYpOwogICAgIGNsZWFudXBBZnRlckdy
YXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5NjQsNyArMzk2NCw3IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGl2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBs
b2NhdGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3Jt
UGFyYW1ldGVycygidW5pZm9ybTRpdiIsIGxvY2F0aW9uLCB2LCA0KSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGl2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5k
YXRhKCksIHYtPmxlbmd0aCgpIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGl2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDQsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51
cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk3NCw3ICszOTc0LDcgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00aXYoY29uc3QgV2ViR0xVbmlmb3JtTG9j
YXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0
ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGl2IiwgbG9jYXRpb24sIHYsIHNpemUsIDQpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHYsIHNpemUgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHNpemUgLyA0LCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0Nh
bGwoZmFsc2UpOwogfQogCkBAIC0zOTgzLDcgKzM5ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybU1hdHJpeDJmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9j
YXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAh
dmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDJmdiIsIGxvY2F0
aW9uLCB0cmFuc3Bvc2UsIHYsIDQpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51
bmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYtPmRhdGEo
KSwgdi0+bGVuZ3RoKCkgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9j
YXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gNCwgdHJhbnNwb3NlLCB2LT5kYXRhKCkp
OwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5OTIsNyAr
Mzk5Miw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KGNv
bnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VEX1BBUkFNKGVjKTsK
ICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0
ZXJzKCJ1bmlmb3JtTWF0cml4MmZ2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwgdiwgc2l6ZSwgNCkp
CiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdiwgc2l6ZSAvIDQpOworICAgIG1fY29udGV4dC0+
dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDQsIHRyYW5zcG9z
ZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtNDAw
MSw3ICs0MDAxLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgz
ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0o
ZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBh
cmFtZXRlcnMoInVuaWZvcm1NYXRyaXgzZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCA5KSkK
ICAgICAgICAgcmV0dXJuOwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlv
bi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gOSk7Cisg
ICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5s
ZW5ndGgoKSAvIDksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFw
aGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDEwLDcgKzQwMTAsNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDNmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlv
biogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDNmdiIs
IGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNpemUsIDkpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bv
c2UsIHYsIHNpemUgLyA5KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHNpemUgLyA5LCB0cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRl
ckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTQwMTksNyArNDAxOSw3IEBAIHZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4NGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxv
Y2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0
TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4
NGZ2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwgdiwgMTYpKQogICAgICAgICByZXR1cm47Ci0gICAg
bV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bv
c2UsIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAxNik7CisgICAgbV9jb250ZXh0LT51bmlmb3Jt
TWF0cml4NGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDE2LCB0cmFuc3Bv
c2UsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0K
IApAQCAtNDAyOCw3ICs0MDI4LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZv
cm1NYXRyaXg0ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVT
RURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9y
bU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXg0ZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3Nl
LCB2LCBzaXplLCAxNikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1N
YXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdiwgc2l6ZSAvIDE2KTsK
KyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNp
emUgLyAxNiwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFs
c2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuaAppbmRleCAxN2FlOTg0NWYwMGJjYmJkMjNjNDI2YmI1NWM0MjViYjA5
MDlmOTEyLi5jM2ExMTlmY2M3NDgzMzFmNGNmZTY1MTYwMDQ5NGQ5ZmI3M2E1MGQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNE
LmgKQEAgLTc1NiwyNiArNzU2LDI1IEBAIHB1YmxpYzoKICAgICB2b2lkIHRleFBhcmFtZXRlcmko
R0MzRGVudW0gdGFyZ2V0LCBHQzNEZW51bSBwbmFtZSwgR0MzRGludCBwYXJhbSk7CiAgICAgdm9p
ZCB0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4
b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBjb25zdCB2b2lkKiBwaXhlbHMpOwog
Ci0gICAgLy8gRklYTUU6IGNoYW5nZSB0aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5H
TCdzLgogICAgIHZvaWQgdW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4KTsK
LSAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNE
c2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9u
LCBHQzNEaW50IHgpOwotICAgIHZvaWQgdW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtMmYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0IHgsIGZsb2F0IHkpOwotICAgIHZvaWQgdW5pZm9ybTJmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZv
cm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKKyAgICB2b2lk
IHVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHkpOwor
ICAgIHZvaWQgdW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9h
dCogdik7CiAgICAgdm9pZCB1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBH
QzNEaW50IHkpOwotICAgIHZvaWQgdW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50
KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CiAgICAgdm9pZCB1bmlmb3JtM2YoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQzNEZmxvYXQgeik7Ci0gICAgdm9p
ZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNp
emUpOworICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdD
M0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCB4LCBHQzNEaW50IHksIEdDM0RpbnQgeik7Ci0gICAgdm9pZCB1bmlmb3JtM2l2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0z
aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVu
aWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0Rm
bG9hdCB6LCBHQzNEZmxvYXQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTRmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlm
b3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbnQgeiwg
R0MzRGludCB3KTsKLSAgICB2b2lkIHVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCogdiwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0Rz
aXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7
Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFu
IHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQg
dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAg
IHZvaWQgdW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Ri
b29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0
cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFs
dWUpOwogCiAgICAgdm9pZCB1c2VQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwogICAgIHZvaWQg
dmFsaWRhdGVQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5jcHAKaW5kZXggN2EyNmRiMjhhMGNlNzM0M2Q1ZTQ0NTllOGM3ZjcxZGM3NTk4
NzdmNC4uOWJjM2E5ZDBlNjUyZTMwZjg1ZWNmODNkZWQ4OGViNWY2NjQ0MGE3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJl
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQoY29uc3QgQ0NEZWJ1Z0Jv
cmRlckRyYXdRdWFkKiBxdWEKICAgICByZW5kZXJNYXRyaXgudHJhbnNsYXRlKDAuNSAqIGxheWVy
UmVjdC53aWR0aCgpICsgbGF5ZXJSZWN0LngoKSwgMC41ICogbGF5ZXJSZWN0LmhlaWdodCgpICsg
bGF5ZXJSZWN0LnkoKSk7CiAgICAgcmVuZGVyTWF0cml4LnNjYWxlTm9uVW5pZm9ybShsYXllclJl
Y3Qud2lkdGgoKSwgbGF5ZXJSZWN0LmhlaWdodCgpKTsKICAgICBMYXllclJlbmRlcmVyQ2hyb21p
dW06OnRvR0xNYXRyaXgoJmdsTWF0cml4WzBdLCBwcm9qZWN0aW9uTWF0cml4KCkgKiByZW5kZXJN
YXRyaXgpOwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDRmdihw
cm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgJmdsTWF0cml4
WzBdLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2
KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNlLCAmZ2xN
YXRyaXhbMF0pKTsKIAogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTRmKHBy
b2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuY29sb3JMb2NhdGlvbigpLCBxdWFkLT5jb2xvcigpLnJl
ZCgpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuZ3JlZW4oKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigp
LmJsdWUoKSAvIDI1NS4wLCBxdWFkLT5jb2xvcigpLmFscGhhKCkgLyAyNTUuMCkpOwogCkBAIC02
MjYsNyArNjI2LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZChj
b25zdCBDQ1RpbGVEcmF3UXVhZCogcXVhZCkKICAgICAgICAgZmxvYXQgZWRnZVsyNF07CiAgICAg
ICAgIGRldmljZUxheWVyRWRnZXMudG9GbG9hdEFycmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VM
YXllckJvdW5kcy50b0Zsb2F0QXJyYXkoJmVkZ2VbMTJdKTsKLSAgICAgICAgR0xDKGNvbnRleHQo
KSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHVuaWZvcm1zLmVkZ2VMb2NhdGlvbiwgZWRnZSwgOCkp
OworICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMu
ZWRnZUxvY2F0aW9uLCA4LCBlZGdlKSk7CiAKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4
dCgpLT51bmlmb3JtNGYodW5pZm9ybXMudmVydGV4VGV4VHJhbnNmb3JtTG9jYXRpb24sIHZlcnRl
eFRleFRyYW5zbGF0ZVgsIHZlcnRleFRleFRyYW5zbGF0ZVksIHZlcnRleFRleFNjYWxlWCwgdmVy
dGV4VGV4U2NhbGVZKSk7CiAgICAgICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9y
bTRmKHVuaWZvcm1zLmZyYWdtZW50VGV4VHJhbnNmb3JtTG9jYXRpb24sIGZyYWdtZW50VGV4VHJh
bnNsYXRlWCwgZnJhZ21lbnRUZXhUcmFuc2xhdGVZLCBmcmFnbWVudFRleFNjYWxlWCwgZnJhZ21l
bnRUZXhTY2FsZVkpKTsKQEAgLTc0NSw4ICs3NDUsOCBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJv
bWl1bTo6ZHJhd1lVVihjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtMWkocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS51VGV4
dHVyZUxvY2F0aW9uKCksIDIpKTsKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnZUZXh0dXJlTG9jYXRpb24oKSwgMykpOwog
Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0t
PmZyYWdtZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAwLCBjb25zdF9jYXN0PGZsb2F0
Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQiksIDEpKTsKLSAgICBHTEMoY29udGV4dCgpLCBj
b250ZXh0KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2Nh
dGlvbigpLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSwg
MSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDNmdihwcm9n
cmFtLT5mcmFnbWVudFNoYWRlcigpLmNjTWF0cml4TG9jYXRpb24oKSwgMSwgMCwgY29uc3RfY2Fz
dDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1djJSR0IpKSk7CisgICAgR0xDKGNvbnRleHQo
KSwgY29udGV4dCgpLT51bmlmb3JtM2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkueXV2QWRq
TG9jYXRpb24oKSwgMSwgY29uc3RfY2FzdDxmbG9hdCo+KENDVmlkZW9MYXllckltcGw6Onl1dkFk
anVzdCkpKTsKIAogICAgIGNvbnN0IEludFNpemUmIGJvdW5kcyA9IHF1YWQtPnF1YWRSZWN0KCku
c2l6ZSgpOwogICAgIGRyYXdUZXh0dXJlZFF1YWQocXVhZC0+bGF5ZXJUcmFuc2Zvcm0oKSwgYm91
bmRzLndpZHRoKCksIGJvdW5kcy5oZWlnaHQoKSwgcXVhZC0+b3BhY2l0eSgpLCBGbG9hdFF1YWQo
KSwKQEAgLTc5OCw3ICs3OTgsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0
cmVhbVRleHR1cmUoY29uc3QgQ0NWaWRlb0RyYXdRdWFkKiBxdWFkKQogICAgIGNvbnN0IENDVmlk
ZW9MYXllckltcGw6OlN0cmVhbVRleHR1cmVQcm9ncmFtKiBwcm9ncmFtID0gc3RyZWFtVGV4dHVy
ZUxheWVyUHJvZ3JhbSgpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dXNlUHJvZ3Jh
bShwcm9ncmFtLT5wcm9ncmFtKCkpKTsKICAgICBBU1NFUlQocXVhZC0+bWF0cml4KCkpOwotICAg
IEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybU1hdHJpeDRmdihwcm9ncmFtLT52ZXJ0
ZXhTaGFkZXIoKS50ZXhNYXRyaXhMb2NhdGlvbigpLCBmYWxzZSwgY29uc3RfY2FzdDxmbG9hdCo+
KHF1YWQtPm1hdHJpeCgpKSwgMSkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5p
Zm9ybU1hdHJpeDRmdihwcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS50ZXhNYXRyaXhMb2NhdGlvbigp
LCAxLCBmYWxzZSwgY29uc3RfY2FzdDxmbG9hdCo+KHF1YWQtPm1hdHJpeCgpKSkpOwogCiAgICAg
ZHJhd1NpbmdsZVRleHR1cmVWaWRlb1F1YWQocXVhZCwgcHJvZ3JhbSwgMSwgcXVhZC0+ZnJhbWUo
KS0+dGV4dHVyZUlkKCksIEV4dGVuc2lvbnMzRENocm9taXVtOjpHTF9URVhUVVJFX0VYVEVSTkFM
X09FUyk7CiB9CkBAIC0xMDEzLDcgKzEwMTMsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd1RleHR1cmVkUXVhZChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZHJhd01hdAog
ICAgIC8vIEFwcGx5IHRoZSBwcm9qZWN0aW9uIG1hdHJpeCBiZWZvcmUgc2VuZGluZyB0aGUgdHJh
bnNmb3JtIG92ZXIgdG8gdGhlIHNoYWRlci4KICAgICB0b0dMTWF0cml4KCZnbE1hdHJpeFswXSwg
bV9wcm9qZWN0aW9uTWF0cml4ICogcmVuZGVyTWF0cml4KTsKIAotICAgIEdMQyhtX2NvbnRleHQs
IG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihtYXRyaXhMb2NhdGlvbiwgZmFsc2UsICZnbE1h
dHJpeFswXSwgMSkpOworICAgIEdMQyhtX2NvbnRleHQsIG1fY29udGV4dC0+dW5pZm9ybU1hdHJp
eDRmdihtYXRyaXhMb2NhdGlvbiwgMSwgZmFsc2UsICZnbE1hdHJpeFswXSkpOwogCiAgICAgaWYg
KHF1YWRMb2NhdGlvbiAhPSAtMSkgewogICAgICAgICBmbG9hdCBwb2ludFs4XTsKQEAgLTEwMjUs
NyArMTAyNSw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFk
KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgICAgIHBvaW50WzVdID0g
cXVhZC5wMygpLnkoKTsKICAgICAgICAgcG9pbnRbNl0gPSBxdWFkLnA0KCkueCgpOwogICAgICAg
ICBwb2ludFs3XSA9IHF1YWQucDQoKS55KCk7Ci0gICAgICAgIEdMQyhtX2NvbnRleHQsIG1fY29u
dGV4dC0+dW5pZm9ybTJmdihxdWFkTG9jYXRpb24sIHBvaW50LCA0KSk7CisgICAgICAgIEdMQyht
X2NvbnRleHQsIG1fY29udGV4dC0+dW5pZm9ybTJmdihxdWFkTG9jYXRpb24sIDQsIHBvaW50KSk7
CiAgICAgfQogCiAgICAgaWYgKGFscGhhTG9jYXRpb24gIT0gLTEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJTdXJmYWNlLmNwcAppbmRleCAwMWI3OGJjZDQwMmFlYzkzMDdmZTgzNDY5MThlMzk1YjkwNjZm
Y2YwLi5hZmFhNmIzYzEzODA1MWUzNTc0YWQ2MDlhZjhhZDJjYTFmMjMxZjg3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1
cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIENDUmVuZGVy
U3VyZmFjZTo6ZHJhd1N1cmZhY2UoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVy
LCBDQ0xheWVySQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgbGF5ZXJRdWFkLnRv
RmxvYXRBcnJheShlZGdlKTsKICAgICAgICAgZGV2aWNlUmVjdC50b0Zsb2F0QXJyYXkoJmVkZ2Vb
MTJdKTsKLSAgICAgICAgR0xDKGNvbnRleHQzRCwgY29udGV4dDNELT51bmlmb3JtM2Z2KHNoYWRl
ckVkZ2VMb2NhdGlvbiwgZWRnZSwgOCkpOworICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0
M0QtPnVuaWZvcm0zZnYoc2hhZGVyRWRnZUxvY2F0aW9uLCA4LCBlZGdlKSk7CiAgICAgfQogCiAg
ICAgLy8gTWFwIGRldmljZSBzcGFjZSBxdWFkIHRvIGxheWVyIHNwYWNlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRl
eHQzREVmbC5jcHAKaW5kZXggNDY1OTM5NzhmMjc2ZWQ3OTJlNTJjNjUyZWU4N2JmYzc4YWE4MzU1
ZS4uZTU2MDFjOGY4OTlhYzc3NWIyZWM1MGJjZGQ1ODE2YWJkZDFhNDg4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3ND
b250ZXh0M0RFZmwuY3BwCkBAIC01NTQsNyArNTU0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4KQogICAgIG1fcHJpdmF0
ZS0+dW5pZm9ybTFmKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBH
R0MzRHNpemVpIHNpemUsIEMzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTFm
dihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01NjQsNyArNTY0LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCkKICAgICBt
X3ByaXZhdGUtPnVuaWZvcm0xaShsb2NhdGlvbiwgeCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRp
b24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9y
bTFpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01NzQsNyArNTc0LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBm
bG9hdCB5KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJmKGxvY2F0aW9uLCB4LCB5KTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewog
ICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC01ODQs
NyArNTg0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTJpKGxv
Y2F0aW9uLCB4LCB5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMml2KGxvY2F0aW9uLCBzaXpl
LCB2KTsKIH0KQEAgLTU5NCw3ICs1OTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2YoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwogICAg
IG1fcHJpdmF0ZS0+dW5pZm9ybTNmKGxvY2F0aW9uLCB4LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYs
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1fcHJp
dmF0ZS0+dW5pZm9ybTNmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MDQsNyArNjA0LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW4KICAgICBtX3ByaXZhdGUtPnVuaWZvcm0zaShsb2Nh
dGlvbiwgeCwgeSwgeik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpdihsb2NhdGlvbiwgc2l6
ZSwgdik7CiB9CkBAIC02MTQsNyArNjE0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm00Zihsb2NhdGlvbiwgeCwgeSwgeiwgdyk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0
KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBt
X3ByaXZhdGUtPnVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNjI0LDIyICs2
MjQsMjIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEaW4KICAgICBtX3ByaXZhdGUtPnVuaWZvcm00
aShsb2NhdGlvbiwgeCwgeSwgeiwgdyk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRpdihsb2Nh
dGlvbiwgc2l6ZSwgdik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRy
aXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1N
YXRyaXgyZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRy
aXgyZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2Us
IHZhbHVlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUs
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDRmdihs
b2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3Bw
CmluZGV4IDVjZDE3YWY4NjJiY2YzZTU5MDRiZDRhM2QzNjdmMDg1NjQ1MGU3YTguLjliZjI0OTVj
MGQ5MmY2YWJkMzFlNGY4ZjdlNzBjZjM5Y2QwNTEyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3Bw
CkBAIC0yMjksNyArMjI5LDcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BbmRC
dWZmZXJzKEJ5dGVBcnJheSogc3JjUGl4ZWxBcnJheSkKICAgICAgICAgb3J0aG9nb25hbFByb2pl
Y3Rpb25NYXRyaXgocHJvamVjdGlvbk1hdHJpeCwgLTAuNSwgMC41LCAtMC41LCAwLjUpOwogICAg
ICAgICBmbG9hdCBnbFByb2plY3Rpb25NYXRyaXhbMTZdOwogICAgICAgICBwcm9qZWN0aW9uTWF0
cml4LnRvQ29sdW1uTWFqb3JGbG9hdEFycmF5KGdsUHJvamVjdGlvbk1hdHJpeCk7Ci0gICAgICAg
IG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihtX3NoYWRlci0+cHJvamVjdGlvbk1hdHJpeExv
Y2F0aW9uKCksIGZhbHNlLCAmZ2xQcm9qZWN0aW9uTWF0cml4WzBdLCAxKTsKKyAgICAgICAgbV9j
b250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1fc2hhZGVyLT5wcm9qZWN0aW9uTWF0cml4TG9jYXRp
b24oKSwgMSwgZmFsc2UsICZnbFByb2plY3Rpb25NYXRyaXhbMF0pOwogICAgIH0KICAgICAKICAg
ICBtX2NvbnRleHQtPmJpbmRCdWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwg
bV9tZXNoLT52ZXJ0aWNlc0J1ZmZlck9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1v
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IDAzZDRhMzJjY2MzMjY1NjQ2ODNhMWRhYWIw
YTgxNWExMzA3YzFiMWUuLmYwOWY5NDA3ZjMyMmNhYWE4MTgwYjhlOTM4MTZkOWE1NTZmZGFiN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApAQCAt
OTA3LDcgKzkwNyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgOjpnbFVuaWZvcm0xZihsb2NhdGlvbiwgdjAp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZs
b2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9y
bTFmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtOTE5LDcgKzkxOSw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAs
IEdDM0RmbG9hdCB2MSkKICAgICA6OmdsVW5pZm9ybTJmKGxvY2F0aW9uLCB2MCwgdjEpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBh
cnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2Yg
Mi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTkzMiw3ICs5MzIsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2YoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYw
LCBHQzNEZmxvYXQgdjEsCiAgICAgOjpnbFVuaWZvcm0zZihsb2NhdGlvbiwgdjAsIHYxLCB2Mik7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxv
YXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBs
ZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTQ1LDcgKzk0NSw3IEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTRmKGxvY2F0aW9uLCB2MCwgdjEs
IHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXpl
LCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUg
YSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTU4LDcgKzk1
OCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9u
LCBHQzNEaW50IHYwKQogICAgIDo6Z2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50
KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsK
ICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybTFpdihsb2NhdGlvbiwg
c2l6ZSwgYXJyYXkpOwpAQCAtOTcwLDcgKzk3MCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxKQogICAg
IDo6Z2xVbmlmb3JtMmkobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6
IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDIuCiAgICAgbWFrZUNvbnRleHRDdXJy
ZW50KCk7CkBAIC05ODMsNyArOTgzLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICA6
OmdsVW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAvLyBGSVhN
RTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMy4KICAgICBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKQEAgLTk5NiwyOCArOTk2LDI4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAg
ICAgOjpnbFVuaWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFy
cmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAg
IC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCBhcnJh
eSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVs
dGlwbGUgb2YgNC4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybU1h
dHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsK
ICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgOS4KICAgICBt
YWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICA6OmdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwg
c2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBH
QzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Ri
b29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVu
Z3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMTYuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0NvbnRleHQzRFF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCmluZGV4IDgwNTkxZTljNDVmZmNkMjhmNDcwZjhkODNk
NjVmNDFiZmE4MDlhZmUuLjcwMDU3ODVjMDFkZTZjMzc5YjY5YWY0NjY3M2VjZWIzNTc3YmY5YmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dDNEUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCkBAIC0xMDg3LDcgKzEwODcsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwKQog
ICAgIGdsVW5pZm9ybTFmKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNp
emVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpA
QCAtMTA5OSw3ICsxMDk5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmKEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQogICAgIGdsVW5pZm9y
bTJmKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJl
bnQoKTsKICAgICBnbFVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExMTEs
NyArMTExMSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICBnbFVuaWZvcm0zZihsb2Nh
dGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwogICAgIGdsVW5pZm9ybTNmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTEyMyw3ICsx
MTIzLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5pZm9ybTRmKGxvY2F0aW9u
LCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwogICAgIGdsVW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTEzNSw3ICsx
MTM1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgdjApCiAgICAgZ2xVbmlmb3JtMWkobG9jYXRpb24sIHYwKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50
KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MWl2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEaW50KiBhcnJheSkKIHsK
ICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0xaXYobG9jYXRpb24sIHNp
emUsIGFycmF5KTsKQEAgLTExNDcsNyArMTE0Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxKQogICAg
IGdsVW5pZm9ybTJpKGxvY2F0aW9uLCB2MCwgdjEpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTJpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAt
MTE1OSw3ICsxMTU5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVuaWZvcm0z
aShsb2NhdGlvbiwgdjAsIHYxLCB2Mik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50
KCk7CiAgICAgZ2xVbmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTcxLDI1
ICsxMTcxLDI1IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aShHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50IHYwLCBHQzNEaW50IHYxLCBHQzNECiAgICAgZ2xVbmlmb3JtNGkobG9j
YXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQo
KTsKICAgICBnbFVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQog
ewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDJmdihsb2Nh
dGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNw
b3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUs
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRy
YW5zcG9zZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0
cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0
KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
TWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0
cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
CiAgICAgZ2xVbmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4
dDNEQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250
ZXh0M0RDaHJvbWl1bS5jcHAKaW5kZXggYjA5MDBjMDJkNTI4Y2IxNzQwZDc0MzExMTQ3NzZiOWFm
OTkwNmFlYS4uOGVlYjdiNTBiMDA5ODFmN2JjMjAwYTVjYjQ1MmEwYmRmYjEwYjcyMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1
bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RD
aHJvbWl1bS5jcHAKQEAgLTY3OSw2NCArNjc5LDY0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNp
CiAKIERFTEVHQVRFX1RPX0lNUExfMih1bmlmb3JtMWksIEdDM0RpbnQsIEdDM0RpbnQpCiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZh
dGU6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtMWl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KIAog
REVMRUdBVEVfVE9fSU1QTF8zKHVuaWZvcm0yZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxv
YXQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6
ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6
ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExfMyh1bmlmb3JtMmksIEdDM0RpbnQsIEdDM0Rp
bnQsIEdDM0RpbnQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMml2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFw
aGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNp
emVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtMml2KGxvY2F0aW9u
LCBzaXplLCB2KTsKIH0KIAogREVMRUdBVEVfVE9fSU1QTF80KHVuaWZvcm0zZiwgR0MzRGludCwg
R0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCkKIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtM2Z2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9p
bXBsLT51bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KIAogREVMRUdBVEVfVE9fSU1Q
TF80KHVuaWZvcm0zaSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCog
dikKIHsKICAgICBtX2ltcGwtPnVuaWZvcm0zaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBE
RUxFR0FURV9UT19JTVBMXzUodW5pZm9ybTRmLCBHQzNEaW50LCBHQzNEZmxvYXQsIEdDM0RmbG9h
dCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
Ojp1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNp
emUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1faW1wbC0+dW5p
Zm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExfNSh1bmlm
b3JtNGksIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZh
dGU6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRyaXgyZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2Us
IEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtTWF0cml4MmZ2KGxvY2F0
aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4g
dHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7
CiAgICAgbV9pbXBsLT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2Us
IHZhbHVlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRy
aXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1
bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9pbXBsLT51bmlmb3Jt
TWF0cml4NGZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KQEAgLTExNzYs
MjQgKzExNzYsMjQgQEAgREVMRUdBVEVfVE9fSU5URVJOQUxfMyh0ZXhQYXJhbWV0ZXJpLCBHQzNE
ZW51bSwgR0MzRGVudW0sIEdDM0RpbnQpCiBERUxFR0FURV9UT19JTlRFUk5BTF85KHRleFN1Yklt
YWdlMkQsIEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdD
M0RzaXplaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBjb25zdCB2b2lkKikKIAogREVMRUdBVEVfVE9f
SU5URVJOQUxfMih1bmlmb3JtMWYsIEdDM0RpbnQsIEdDM0RmbG9hdCkKLURFTEVHQVRFX1RPX0lO
VEVSTkFMXzModW5pZm9ybTFmdiwgR0MzRGludCwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQorREVM
RUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMWZ2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0Rm
bG9hdCopCiBERUxFR0FURV9UT19JTlRFUk5BTF8yKHVuaWZvcm0xaSwgR0MzRGludCwgR0MzRGlu
dCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTFpdiwgR0MzRGludCwgR0MzRGludCos
IEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTFpdiwgR0MzRGludCwg
R0MzRHNpemVpLCBHQzNEaW50KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJmLCBH
QzNEaW50LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5p
Zm9ybTJmdiwgR0MzRGludCwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5U
RVJOQUxfMyh1bmlmb3JtMmZ2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCopCiBERUxF
R0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yaSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkK
LURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJpdiwgR0MzRGludCwgR0MzRGludCosIEdD
M0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJpdiwgR0MzRGludCwgR0Mz
RHNpemVpLCBHQzNEaW50KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybTNmLCBHQzNE
aW50LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0KQotREVMRUdBVEVfVE9fSU5URVJO
QUxfMyh1bmlmb3JtM2Z2LCBHQzNEaW50LCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCitERUxFR0FU
RV9UT19JTlRFUk5BTF8zKHVuaWZvcm0zZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGZsb2F0
KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybTNpLCBHQzNEaW50LCBHQzNEaW50LCBH
QzNEaW50LCBHQzNEaW50KQotREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtM2l2LCBHQzNE
aW50LCBHQzNEaW50KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3Jt
M2l2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RpbnQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxf
NSh1bmlmb3JtNGYsIEdDM0RpbnQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdD
M0RmbG9hdCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTRmdiwgR0MzRGludCwgR0Mz
RGZsb2F0KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtNGZ2LCBH
QzNEaW50LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCopCiBERUxFR0FURV9UT19JTlRFUk5BTF81KHVu
aWZvcm00aSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKLURF
TEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTRpdiwgR0MzRGludCwgR0MzRGludCosIEdDM0Rz
aXplaSkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybU1hdHJpeDJmdiwgR0MzRGludCwg
R0MzRGJvb2xlYW4sIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKLURFTEVHQVRFX1RPX0lOVEVSTkFM
XzQodW5pZm9ybU1hdHJpeDNmdiwgR0MzRGludCwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCosIEdD
M0RzaXplaSkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybU1hdHJpeDRmdiwgR0MzRGlu
dCwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVS
TkFMXzModW5pZm9ybTRpdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50KikKK0RFTEVHQVRF
X1RPX0lOVEVSTkFMXzQodW5pZm9ybU1hdHJpeDJmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNE
Ym9vbGVhbiwgR0MzRGZsb2F0KikKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybU1hdHJp
eDNmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiwgR0MzRGZsb2F0KikKK0RFTEVH
QVRFX1RPX0lOVEVSTkFMXzQodW5pZm9ybU1hdHJpeDRmdiwgR0MzRGludCwgR0MzRHNpemVpLCBH
QzNEYm9vbGVhbiwgR0MzRGZsb2F0KikKIAogREVMRUdBVEVfVE9fSU5URVJOQUxfMSh1c2VQcm9n
cmFtLCBQbGF0Zm9ybTNET2JqZWN0KQogREVMRUdBVEVfVE9fSU5URVJOQUxfMSh2YWxpZGF0ZVBy
b2dyYW0sIFBsYXRmb3JtM0RPYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCmluZGV4IGQyOTZlZWI5YjhlNDk5Yjc3
NjRiNDEzOTk0ZTE0ZDA1MTkwOWQyOWUuLmJlOWRiNDI4N2RiNmVmYTMyODVmY2NiODU0ZmVhMzQ4
M2FkMTViNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNz
Q29udGV4dDNEUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZS5oCkBAIC0yMDksMjQgKzIwOSwyNCBAQCBwdWJsaWM6CiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGlu
dCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhl
aWdodCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBjb25zdCB2b2lkKiBwaXhlbHMp
OwogCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpOwot
ICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0Rz
aXplaSk7CisgICAgdm9pZCB1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwg
R0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0xaShHQzNEaW50IGxvY2F0aW9uLCBHQzNE
aW50IHgpOwotICAgIHZvaWQgdW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2
LCBHQzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RmbG9hdCB4LCBmbG9hdCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9ybTJmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3Jt
MmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHkpOwotICAgIHZvaWQgdW5p
Zm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkpOworICAgIHZv
aWQgdW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwog
ICAgIHZvaWQgdW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxv
YXQgeSwgR0MzRGZsb2F0IHopOwotICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSk7CisgICAgdm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zaShH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6KTsKLSAgICB2
b2lkIHVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpKTsK
KyAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50
KiB2KTsKICAgICB2b2lkIHVuaWZvcm00ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwg
R0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6LCBHQzNEZmxvYXQgdyk7Ci0gICAgdm9pZCB1bmlmb3Jt
NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpKTsKKyAgICB2b2lk
IHVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwog
ICAgIHZvaWQgdW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5
LCBHQzNEaW50IHosIEdDM0RpbnQgdyk7Ci0gICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1
ZSwgR0MzRHNpemVpKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkpOwot
ICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0
cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSk7CisgICAgdm9pZCB1bmlmb3Jt
NGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CisgICAgdm9pZCB1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4g
dHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0Rm
bG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CiAK
ICAgICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCB2YWxpZGF0
ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130017</attachid>
            <date>2012-03-03 22:24:52 -0800</date>
            <delta_ts>2012-03-05 17:16:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120304152514.patch</filename>
            <type>text/plain</type>
            <size>58181</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uYzliOWMwMzNmOWExMjVlMDk4Yjg5MjhmYTdjODcy
ZTVlNWQ4ZmYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2NiBAQAorMjAxMi0wMy0wMyAgQ2hh
bmdodW4gS2FuZyAgPHRlbW9vY2hpbkBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBDaGFuZ2Ug
dGhlIGFyZ3VtZW50IG9yZGVycyB0byBtYXRjaCBPcGVuR0wncyBpbiBHcmFwaGljc0NvbnRleHQz
RCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGlsZVF1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVRleHR1cmUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFjZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
NGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJm
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisKKzIwMTItMDMtMDMgIENoYW5naHVu
IEthbmcgIDx0ZW1vb2NoaW5AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBh
cmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MgaW4gR3JhcGhpY3NDb250ZXh0M0QgZnVu
Y3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDEyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
UmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVik6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdTdHJlYW1UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RleHR1cmVkUXVhZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6ZHJhd1N1cmZhY2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BbmRCdWZmZXJzKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xD
b21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0x
ZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dDNEUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYpOgorCisyMDEyLTAzLTAzICBDaGFuZ2h1biBLYW5n
ICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0aGUgYXJndW1l
bnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNEIGZ1bmN0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0zZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dW5pZm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUaWxlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdZVVYpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXll
clJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDQ1JlbmRlclN1cmZhY2U6OmRyYXdTdXJmYWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0zZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtQW5kQnVmZmVycyk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKworMjAxMi0wMy0wMiAgQ2hhbmdodW4gS2FuZyAgPHRl
bW9vY2hpbkBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBDaGFuZ2UgdGhlIGFyZ3VtZW50IG9y
ZGVycyB0byBtYXRjaCBPcGVuR0wncyBpbiBHcmFwaGljc0NvbnRleHQzRCBmdW5jdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMTIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiAoT09QUyEpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRy
YXdEZWJ1Z0JvcmRlclF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3VGlsZVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3WVVWKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6
ZHJhd1N0cmVhbVRleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3VGV4dHVyZWRRdWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9lZmwv
R3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDRmdik6CisKIDIwMTItMDMtMDEgIFBhYmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEu
Y29tPgogCiAgICAgICAgIEZpeCBjb2RlIGdlbmVyYXRvcnMgdG8gY29ycmVjdGx5IGd1YXJkIGhl
YWRlciBkZWNsYXJhdGlvbnMgdGhhdCBoYXZlIGEgW0NvbmRpdGlvbmFsXSBhdHRyaWJ1dGUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGE4ZDdlODk4MzhiNTc5NDU0ZDhkMGEwMGY3YTIz
ZDgwZjIzNGUyNWQuLjBhZDlkMjkyMWYyMTQ5MDRhNjkyMGU4MmYxMGY3ZTVjNjBmOTUzMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjggQEAKKzIwMTItMDMtMDMgIENo
YW5naHVuIEthbmcgIDx0ZW1vb2NoaW5AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQ2hhbmdl
IHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MgaW4gR3JhcGhpY3NDb250ZXh0
M0QgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDEyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yZnYpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTNmdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zaXYpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGZ2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRyaXgyZnYpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4
M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bU1hdHJpeDRmdik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBzcmMvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmg6CisgICAgICAgIChHcmFwaGljc0NvbnRleHQzRFByaXZhdGUpOgor
CisyMDEyLTAzLTAzICBDaGFuZ2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0Pgor
CisgICAgICAgIENoYW5nZSB0aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGlu
IEdyYXBoaWNzQ29udGV4dDNEIGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTFpdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yZnYp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMml2
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTNm
dik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0z
aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3Jt
NGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZv
cm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
Ojp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBzcmMvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmg6CisgICAgICAgIChHcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUpOgorCisyMDEyLTAzLTAzICBDaGFuZ2h1biBLYW5nICA8dGVtb29jaGluQGNv
bXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1h
dGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNEIGZ1bmN0aW9ucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxMjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRleHQz
RENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFByaXZh
dGU6OnVuaWZvcm0yZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjp1bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU6OnVuaWZvcm0zaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjp1bmlmb3JtNGZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZTo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OnVuaWZvcm1NYXRyaXgyZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDRmdik6CisgICAgICAgIChXZWJD
b3JlKToKKwogMjAxMi0wMy0wMSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIE1ha2Ugb3BhcXVlIHBhaW50IHRyYWNrZXIgYXdhcmUgb2Yg
U2tDYW52YXMgbGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA0NTllMDJlNzU1OGI1OTVkMzhlMjhjZGIzZjJl
Yjk1YjFlM2UwMzYwLi5mNjI4OWI2NzMzMjlkZDc5MzFjMmY1MTkzZDQwOTczZmYzODFmYjVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTM3MTksNyArMzcxOSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtMWZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAg
ICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5p
Zm9ybTFmdiIsIGxvY2F0aW9uLCB2LCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250
ZXh0LT51bmlmb3JtMWZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0
aCgpKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYt
Pmxlbmd0aCgpLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxz
ZSk7CiB9CiAKQEAgLTM3MjksNyArMzcyOSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0
Ojp1bmlmb3JtMWZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAg
ICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5p
Zm9ybTFmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
bV9jb250ZXh0LT51bmlmb3JtMWZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplKTsKKyAg
ICBtX2NvbnRleHQtPnVuaWZvcm0xZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUsIHYpOwog
ICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3NTQsNyArMzc1
NCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8
fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCAx
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9u
LT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpKTsKKyAgICBtX2NvbnRleHQtPnVu
aWZvcm0xaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpLCB2LT5kYXRhKCkpOwog
ICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3NjQsNyArMzc2
NCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdM
VW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8
fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCBz
aXplLCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxv
Y2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNz
Q2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3ODksNyArMzc4OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMmZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlv
biwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1l
dGVycygidW5pZm9ybTJmdiIsIGxvY2F0aW9uLCB2LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCks
IHYtPmxlbmd0aCgpIC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5s
b2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDIsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVy
R3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzc5OSw3ICszNzk5LDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24q
IGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZv
cm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMmZ2IiwgbG9jYXRpb24sIHYsIHNpemUsIDIpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9u
KCksIHYsIHNpemUgLyAyKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxv
Y2F0aW9uKCksIHNpemUgLyAyLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFs
c2UpOwogfQogCkBAIC0zODI0LDcgKzM4MjQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dW5pZm9ybTJpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEludAog
ICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVu
aWZvcm0yaXYiLCBsb2NhdGlvbiwgdiwgMikpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29u
dGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5n
dGgoKSAvIDIpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24o
KSwgdi0+bGVuZ3RoKCkgLyAyLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNz
Q2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4MzQsNyArMzgzNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMml2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlv
biwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1l
dGVycygidW5pZm9ybTJpdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAyKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBz
aXplIC8gMik7CisgICAgbV9jb250ZXh0LT51bmlmb3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigp
LCBzaXplIC8gMiwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0K
IApAQCAtMzg1OSw3ICszODU5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZv
cm0zZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBGbG8KICAgICBpZiAo
aXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2Z2
IiwgbG9jYXRpb24sIHYsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVu
aWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAz
KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxl
bmd0aCgpIC8gMywgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFs
c2UpOwogfQogCkBAIC0zODY5LDcgKzM4NjksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dW5pZm9ybTNmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwog
ICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVu
aWZvcm0zZnYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgMykpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMp
OworICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAv
IDMsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4
OTQsNyArMzg5NCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2l2KGNv
bnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4
dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTNpdiIsIGxvY2F0
aW9uLCB2LCAzKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtM2l2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMyk7CisgICAg
bV9jb250ZXh0LT51bmlmb3JtM2l2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAv
IDMsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0K
IApAQCAtMzkwNCw3ICszOTA0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZv
cm0zaXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAo
aXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2
IiwgbG9jYXRpb24sIHYsIHNpemUsIDMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRl
eHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyAzKTsKKyAgICBt
X2NvbnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyAzLCB2KTsK
ICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTI5LDcgKzM5
MjksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRmdihjb25zdCBXZWJH
TFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsbwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkg
fHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00ZnYiLCBsb2NhdGlvbiwgdiwg
NCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlv
bi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4
dC0+dW5pZm9ybTRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5k
YXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5
MzksNyArMzkzOSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNv
bnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4
dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0
aW9uLCB2LCBzaXplLCA0KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlm
b3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0
LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xl
YW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk2NCw3ICszOTY0LDcgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm00aXYoY29uc3QgV2ViR0xVbmlmb3Jt
TG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxp
ZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtNGl2IiwgbG9jYXRpb24sIHYsIDQpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZv
cm00aXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gNCwgdi0+ZGF0YSgpKTsK
ICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zOTc0LDcgKzM5
NzQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJH
TFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkg
fHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwg
c2l6ZSwgNCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihs
b2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9y
bTRpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDQsIHYpOwogICAgIGNsZWFudXBBZnRl
ckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5ODMsNyArMzk4Myw3IEBAIHZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4MmZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxv
Y2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0
TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4
MmZ2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwgdiwgNCkpCiAgICAgICAgIHJldHVybjsKLSAgICBt
X2NvbnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9z
ZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1h
dHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB0cmFuc3Bvc2Us
IHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApA
QCAtMzk5Miw3ICszOTkyLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1N
YXRyaXgyZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURf
UEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1h
dHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXgyZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2
LCBzaXplLCA0KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJp
eDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2LCBzaXplIC8gNCk7CisgICAg
bV9jb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8g
NCwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwog
fQogCkBAIC00MDAxLDcgKzQwMDEsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5p
Zm9ybU1hdHJpeDNmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVO
VVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlm
b3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDNmdiIsIGxvY2F0aW9uLCB0cmFuc3Bv
c2UsIHYsIDkpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4
M2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSwgdi0+bGVuZ3Ro
KCkgLyA5KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYtPmxlbmd0aCgpIC8gOSwgdHJhbnNwb3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFu
dXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTQwMTAsNyArNDAxMCw3IEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5p
Zm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXND
b250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3Jt
TWF0cml4M2Z2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwgdiwgc2l6ZSwgOSkpCiAgICAgICAgIHJl
dHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24tPmxvY2F0aW9u
KCksIHRyYW5zcG9zZSwgdiwgc2l6ZSAvIDkpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJp
eDNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDksIHRyYW5zcG9zZSwgdik7CiAgICAg
Y2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtNDAxOSw3ICs0MDE5LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXg0ZnYoY29uc3QgV2Vi
R0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlm
IChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVu
aWZvcm1NYXRyaXg0ZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCAxNikpCiAgICAgICAgIHJl
dHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9u
KCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDE2KTsKKyAgICBtX2NvbnRl
eHQtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8g
MTYsIHRyYW5zcG9zZSwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwo
ZmFsc2UpOwogfQogCkBAIC00MDI4LDcgKzQwMjgsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybU1hdHJpeDRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRp
bwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFs
aWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9ybU1hdHJpeDRmdiIsIGxvY2F0aW9u
LCB0cmFuc3Bvc2UsIHYsIHNpemUsIDE2KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY29udGV4
dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2LCBz
aXplIC8gMTYpOworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9j
YXRpb24oKSwgc2l6ZSAvIDE2LCB0cmFuc3Bvc2UsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBo
aWNzQ2FsbChmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZi
YjU1YzQyNWJiMDkwOWY5MTIuLmMzYTExOWZjYzc0ODMzMWY0Y2ZlNjUxNjAwNDk0ZDlmYjczYTUw
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaApAQCAtNzU2LDI2ICs3NTYsMjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4
UGFyYW1ldGVyaShHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFt
KTsKICAgICB2b2lkIHRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVs
LCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQq
IHBpeGVscyk7CiAKLSAgICAvLyBGSVhNRTogY2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8g
bWF0Y2ggT3BlbkdMJ3MuCiAgICAgdm9pZCB1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGZsb2F0IHgpOwotICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgeCk7Ci0gICAgdm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm0yZihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3Jt
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpOworICAg
IHZvaWQgdW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYp
OworICAgIHZvaWQgdW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNE
ZmxvYXQgeSk7CisgICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXpl
aSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50IHgsIEdDM0RpbnQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0z
ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6
KTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBH
QzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0z
aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZv
aWQgdW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwog
ICAgIHZvaWQgdW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxv
YXQgeSwgR0MzRGZsb2F0IHosIEdDM0RmbG9hdCB3KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1
bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAg
ICB2b2lkIHVuaWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwg
R0MzRGludCB6LCBHQzNEaW50IHcpOwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2
YWx1ZSwgR0MzRHNpemVpIHNpemUpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0Rz
aXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7
CisgICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGlu
dCogdik7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lk
IHVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVh
biB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0Mz
RGZsb2F0KiB2YWx1ZSk7CiAKICAgICB2b2lkIHVzZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7
CiAgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRleCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4
YzdmNzFkYzc1OTg3N2Y0Li45YmMzYTlkMGU2NTJlMzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEs
NyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25z
dCBDQ0RlYnVnQm9yZGVyRHJhd1F1YWQqIHF1YQogICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUo
MC41ICogbGF5ZXJSZWN0LndpZHRoKCkgKyBsYXllclJlY3QueCgpLCAwLjUgKiBsYXllclJlY3Qu
aGVpZ2h0KCkgKyBsYXllclJlY3QueSgpKTsKICAgICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlm
b3JtKGxheWVyUmVjdC53aWR0aCgpLCBsYXllclJlY3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6dG9HTE1hdHJpeCgmZ2xNYXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgo
KSAqIHJlbmRlck1hdHJpeCk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3Jt
TWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNl
LCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hhZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwg
ZmFsc2UsICZnbE1hdHJpeFswXSkpOwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51
bmlmb3JtNGYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQt
PmNvbG9yKCkucmVkKCkgLyAyNTUuMCwgcXVhZC0+Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1
YWQtPmNvbG9yKCkuYmx1ZSgpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4w
KSk7CiAKQEAgLTYyNiw3ICs2MjYsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d1RpbGVRdWFkKGNvbnN0IENDVGlsZURyYXdRdWFkKiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdl
WzI0XTsKICAgICAgICAgZGV2aWNlTGF5ZXJFZGdlcy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAg
ICAgIGRldmljZUxheWVyQm91bmRzLnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBH
TEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9u
LCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNm
dih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKIAogICAgICAgICBHTEMoY29udGV4
dCgpLCBjb250ZXh0KCktPnVuaWZvcm00Zih1bmlmb3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2Nh
dGlvbiwgdmVydGV4VGV4VHJhbnNsYXRlWCwgdmVydGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4
U2NhbGVYLCB2ZXJ0ZXhUZXhTY2FsZVkpKTsKICAgICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4
dCgpLT51bmlmb3JtNGYodW5pZm9ybXMuZnJhZ21lbnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJh
Z21lbnRUZXhUcmFuc2xhdGVYLCBmcmFnbWVudFRleFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2Nh
bGVYLCBmcmFnbWVudFRleFNjYWxlWSkpOwpAQCAtNzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAg
ICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNo
YWRlcigpLnVUZXh0dXJlTG9jYXRpb24oKSwgMikpOwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRl
eHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlv
bigpLCAzKSk7CiAKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgz
ZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jY01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0
X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhj
b250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigp
Lnl1dkFkakxvY2F0aW9uKCksIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5
dXZBZGp1c3QpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0
cml4M2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAw
LCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBH
TEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFk
ZXIoKS55dXZBZGpMb2NhdGlvbigpLCAxLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVy
SW1wbDo6eXV2QWRqdXN0KSkpOwogCiAgICAgY29uc3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+
cXVhZFJlY3QoKS5zaXplKCk7CiAgICAgZHJhd1RleHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5z
Zm9ybSgpLCBib3VuZHMud2lkdGgoKSwgYm91bmRzLmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCks
IEZsb2F0UXVhZCgpLApAQCAtNzk4LDcgKzc5OCw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjpkcmF3U3RyZWFtVGV4dHVyZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAg
Y29uc3QgQ0NWaWRlb0xheWVySW1wbDo6U3RyZWFtVGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBz
dHJlYW1UZXh0dXJlTGF5ZXJQcm9ncmFtKCk7CiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgp
LT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0oKSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRy
aXgoKSk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHBy
b2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9j
YXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpLCAxKSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29u
dGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJp
eExvY2F0aW9uKCksIDEsIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkp
KSk7CiAKICAgICBkcmF3U2luZ2xlVGV4dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBx
dWFkLT5mcmFtZSgpLT50ZXh0dXJlSWQoKSwgRXh0ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRV
UkVfRVhURVJOQUxfT0VTKTsKIH0KQEAgLTEwMTMsNyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4
JiBkcmF3TWF0CiAgICAgLy8gQXBwbHkgdGhlIHByb2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5k
aW5nIHRoZSB0cmFuc2Zvcm0gb3ZlciB0byB0aGUgc2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmds
TWF0cml4WzBdLCBtX3Byb2plY3Rpb25NYXRyaXggKiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xD
KG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBm
YWxzZSwgJmdsTWF0cml4WzBdLCAxKSk7CisgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51
bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7
CiAKICAgICBpZiAocXVhZExvY2F0aW9uICE9IC0xKSB7CiAgICAgICAgIGZsb2F0IHBvaW50Wzhd
OwpAQCAtMTAyNSw3ICsxMDI1LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdU
ZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAg
cG9pbnRbNV0gPSBxdWFkLnAzKCkueSgpOwogICAgICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54
KCk7CiAgICAgICAgIHBvaW50WzddID0gcXVhZC5wNCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29u
dGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAg
ICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwg
NCwgcG9pbnQpKTsKICAgICB9CiAKICAgICBpZiAoYWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0Njkx
OGUzOTViOTA2NmZjZjAuLmFmYWE2YjNjMTM4MDUxZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZv
aWQgQ0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFjZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxh
eWVyUmVuZGVyZXIsIENDTGF5ZXJJCiAgICAgICAgIGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBs
YXllclF1YWQudG9GbG9hdEFycmF5KGVkZ2UpOwogICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRB
cnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZv
cm0zZnYoc2hhZGVyRWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0
M0QsIGNvbnRleHQzRC0+dW5pZm9ybTNmdihzaGFkZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsK
ICAgICB9CiAKICAgICAvLyBNYXAgZGV2aWNlIHNwYWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3ND
b250ZXh0M0RFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dy
YXBoaWNzQ29udGV4dDNERWZsLmNwcAppbmRleCA0NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3
YmZjNzhhYTgzNTVlLi5lNTYwMWM4Zjg5OWFjNzc1YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3ND
b250ZXh0M0RFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Vm
bC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKQEAgLTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtMWYobG9jYXRpb24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRl
LT51bmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCB4KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTFpKGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2
YXRlLT51bmlmb3JtMWl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGZsb2F0IHgsIGZsb2F0IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgs
IHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxv
YXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsK
IH0KQEAgLTU4NCw3ICs1ODQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmko
R0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51
bmlmb3JtMmkobG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9j
YXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTk0LDcgKzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0
IHksIEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2YobG9jYXRpb24sIHgsIHksIHopOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7
CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYw
NCw3ICs2MDQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5p
Zm9ybTNpKGxvY2F0aW9uLCB4LCB5LCB6KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYxNCw3ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9h
dCB5LCBHQwogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2
KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBA
IC02MjQsMjIgKzYyNCwyMiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0
ZS0+dW5pZm9ybTRpKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtNGl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2Us
IEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+
dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2
YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZvcm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUs
IHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
TWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZs
b2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVh
biB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
TWF0cml4NGZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3Rv
bUZpbHRlci5jcHAKaW5kZXggNWNkMTdhZjg2MmJjZjNlNTkwNGJkNGEzZDM2N2YwODU2NDUwZTdh
OC4uOWJmMjQ5NWMwZDkyZjZhYmQzMWU0ZjhmN2U3MGNmMzljZDA1MTI1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3Rv
bUZpbHRlci5jcHAKQEAgLTIyOSw3ICsyMjksNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5k
UHJvZ3JhbUFuZEJ1ZmZlcnMoQnl0ZUFycmF5KiBzcmNQaXhlbEFycmF5KQogICAgICAgICBvcnRo
b2dvbmFsUHJvamVjdGlvbk1hdHJpeChwcm9qZWN0aW9uTWF0cml4LCAtMC41LCAwLjUsIC0wLjUs
IDAuNSk7CiAgICAgICAgIGZsb2F0IGdsUHJvamVjdGlvbk1hdHJpeFsxNl07CiAgICAgICAgIHBy
b2plY3Rpb25NYXRyaXgudG9Db2x1bW5NYWpvckZsb2F0QXJyYXkoZ2xQcm9qZWN0aW9uTWF0cml4
KTsKLSAgICAgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1fc2hhZGVyLT5wcm9qZWN0
aW9uTWF0cml4TG9jYXRpb24oKSwgZmFsc2UsICZnbFByb2plY3Rpb25NYXRyaXhbMF0sIDEpOwor
ICAgICAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobV9zaGFkZXItPnByb2plY3Rpb25N
YXRyaXhMb2NhdGlvbigpLCAxLCBmYWxzZSwgJmdsUHJvamVjdGlvbk1hdHJpeFswXSk7CiAgICAg
fQogICAgIAogICAgIG1fY29udGV4dC0+YmluZEJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6QVJS
QVlfQlVGRkVSLCBtX21lc2gtPnZlcnRpY2VzQnVmZmVyT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNE
T3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKaW5kZXggMDNkNGEzMmNjYzMyNjU2
NDY4M2ExZGFhYjBhODE1YTEzMDdjMWIxZS4uZjA5Zjk0MDdmMzIyY2FhYTgxODBiOGU5MzgxNmQ5
YTU1NmZkYWI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21t
b24uY3BwCkBAIC05MDcsNyArOTA3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCkKICAgICA6OmdsVW5pZm9ybTFmKGxv
Y2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAg
IDo6Z2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC05MTksNyArOTE5LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQogICAgIDo6Z2xVbmlmb3JtMmYobG9jYXRpb24sIHYw
LCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTMyLDcgKzkzMiw3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAgICA6OmdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2
MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBi
ZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NDUsNyAr
OTQ1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIDo6Z2xVbmlmb3JtNGYobG9jYXRp
b24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBu
ZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBA
IC05NTgsNyArOTU4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQgdjApCiAgICAgOjpnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjAp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWl2
KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC05NzAsNyArOTcwLDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0Rp
bnQgdjEpCiAgICAgOjpnbFVuaWZvcm0yaShsb2NhdGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBh
cnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAg
ICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgMi4KICAgICBtYWtl
Q29udGV4dEN1cnJlbnQoKTsKQEAgLTk4Myw3ICs5ODMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwg
R0MzRAogICAgIDo6Z2xVbmlmb3JtM2kobG9jYXRpb24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQq
IGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0z
aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewog
ICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAzLgogICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTk2LDI4ICs5OTYsMjggQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQg
djEsIEdDM0QKICAgICA6OmdsVW5pZm9ybTRpKGxvY2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJy
YXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQu
CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgOjpnbFVuaWZvcm00aXYobG9jYXRpb24s
IHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCog
YXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1h
dHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMg
dG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6
Z2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBv
ZiA5LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4M2Z2
KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0
cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkg
c2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8v
IEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAxNi4KICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggODA1OTFlOWM0NWZmY2Qy
OGY0NzBmOGQ4M2Q2NWY0MWJmYTgwOWFmZS4uNzAwNTc4NWMwMWRlNmMzNzliNjlhZjQ2NjczZWNl
YjM1NzdiZjliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTEwODcsNyArMTA4Nyw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
ZmxvYXQgdjApCiAgICAgZ2xVbmlmb3JtMWYobG9jYXRpb24sIHYwKTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFy
cmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYo
R0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RmbG9hdCogYXJyYXkpCiB7CiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXpl
LCBhcnJheSk7CkBAIC0xMDk5LDcgKzEwOTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAg
ICAgZ2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VD
b250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTJmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkp
OwpAQCAtMTExMSw3ICsxMTExLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNm
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5p
Zm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtM2Z2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTIzLDcgKzExMjMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3Jt
NGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6
ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRl
eHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBA
IC0xMTM1LDcgKzExMzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCB2MCkKICAgICBnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjAp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQq
IGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTFpdihs
b2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTE0Nyw3ICsxMTQ3LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0Rp
bnQgdjEpCiAgICAgZ2xVbmlmb3JtMmkobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAg
bWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCBh
cnJheSk7CkBAIC0xMTU5LDcgKzExNTksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAg
IGdsVW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29u
dGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0zaXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsK
QEAgLTExNzEsMjUgKzExNzEsMjUgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRp
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVu
aWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2MiwgdjMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250
ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0
cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlv
biwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6
OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3Nl
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdD
M0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4
dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5z
cG9zZSwgYXJyYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3Jh
cGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9H
cmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAppbmRleCBiMDkwMGMwMmQ1MjhjYjE3NDBkNzQz
MTExNDc3NmI5YWY5OTA2YWVhLi5hNWJkYmNmMmEwNmY0NjRhZGYxYjMzZDQ0ZmRmZGMxZDRkYmQw
YzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRl
eHQzRENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGlj
c0NvbnRleHQzRENocm9taXVtLmNwcApAQCAtNjcyLDcxICs2NzIsNzEgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzMKIAogREVMRUdBVEVfVE9fSU1QTF8yKHVuaWZvcm0xZiwgR0MzRGludCwgR0Mz
RGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
IHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX2ltcGwtPnVuaWZvcm0xZnYobG9jYXRpb24s
IHNpemUsIHYpOwogfQogCiBERUxFR0FURV9UT19JTVBMXzIodW5pZm9ybTFpLCBHQzNEaW50LCBH
QzNEaW50KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTFpdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEaW50KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6
ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExfMyh1bmlmb3JtMmYsIEdDM0RpbnQsIEdDM0Rm
bG9hdCwgR0MzRGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9y
bTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9p
ZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX2ltcGwtPnVuaWZvcm0yZnYo
bG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxFR0FURV9UT19JTVBMXzModW5pZm9ybTJpLCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6
ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9y
bTJpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExfNCh1bmlmb3Jt
M2YsIEdDM0RpbnQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rm
bG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2
KQogewogICAgIG1faW1wbC0+dW5pZm9ybTNmdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERF
TEVHQVRFX1RPX0lNUExfNCh1bmlmb3JtM2ksIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdD
M0RpbnQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtM2l2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0Nv
bnRleHQzRFByaXZhdGU6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNp
emUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9pbXBsLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBzaXpl
LCB2KTsKIH0KIAogREVMRUdBVEVfVE9fSU1QTF81KHVuaWZvcm00ZiwgR0MzRGludCwgR0MzRGZs
b2F0LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYs
IEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm00
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAg
ICBtX2ltcGwtPnVuaWZvcm00ZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxFR0FURV9U
T19JTVBMXzUodW5pZm9ybTRpLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBH
QzNEaW50KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRpdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEaW50KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6
ZSwgdik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2
YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5p
Zm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xl
YW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1faW1wbC0+dW5pZm9ybU1h
dHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3Jh
cGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUp
Cit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50
IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlKQogewogICAgIG1faW1wbC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6
ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
Ojp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9z
ZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkg
c2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1f
aW1wbC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7
CiB9CkBAIC0xMTc2LDI0ICsxMTc2LDI0IEBAIERFTEVHQVRFX1RPX0lOVEVSTkFMXzModGV4UGFy
YW1ldGVyaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBHQzNEaW50KQogREVMRUdBVEVfVE9fSU5URVJO
QUxfOSh0ZXhTdWJJbWFnZTJELCBHQzNEZW51bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwg
R0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVtLCBHQzNEZW51bSwgY29uc3Qgdm9pZCopCiAK
IERFTEVHQVRFX1RPX0lOVEVSTkFMXzIodW5pZm9ybTFmLCBHQzNEaW50LCBHQzNEZmxvYXQpCi1E
RUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0xZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdD
M0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTFmdiwgR0MzRGludCwgR0Mz
RHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfMih1bmlmb3JtMWksIEdD
M0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0xaXYsIEdDM0Rp
bnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0x
aXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCopCiBERUxFR0FURV9UT19JTlRFUk5BTF8z
KHVuaWZvcm0yZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19J
TlRFUk5BTF8zKHVuaWZvcm0yZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RF
TEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNE
ZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtMmksIEdDM0RpbnQsIEdDM0Rp
bnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yaXYsIEdDM0RpbnQs
IEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yaXYs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCopCiBERUxFR0FURV9UT19JTlRFUk5BTF80KHVu
aWZvcm0zZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCkKLURFTEVH
QVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNmdiwgR0MzRGludCwgR0MzRGZsb2F0KiwgR0MzRHNp
emVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1bmlmb3JtM2Z2LCBHQzNEaW50LCBHQzNEc2l6
ZWksIEdDM0RmbG9hdCopCiBERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm0zaSwgR0MzRGlu
dCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5p
Zm9ybTNpdiwgR0MzRGludCwgR0MzRGludCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVS
TkFMXzModW5pZm9ybTNpdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEaW50KikKIERFTEVHQVRF
X1RPX0lOVEVSTkFMXzUodW5pZm9ybTRmLCBHQzNEaW50LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwg
R0MzRGZsb2F0LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00ZnYs
IEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzMo
dW5pZm9ybTRmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9f
SU5URVJOQUxfNSh1bmlmb3JtNGksIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQs
IEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00aXYsIEdDM0RpbnQsIEdD
M0RpbnQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgy
ZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FU
RV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgzZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBH
QzNEZmxvYXQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRy
aXg0ZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCitERUxF
R0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00aXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGlu
dCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgyZnYsIEdDM0RpbnQsIEdD
M0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCopCitERUxFR0FURV9UT19JTlRFUk5BTF80
KHVuaWZvcm1NYXRyaXgzZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0Rm
bG9hdCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXg0ZnYsIEdDM0RpbnQs
IEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCopCiAKIERFTEVHQVRFX1RPX0lOVEVS
TkFMXzEodXNlUHJvZ3JhbSwgUGxhdGZvcm0zRE9iamVjdCkKIERFTEVHQVRFX1RPX0lOVEVSTkFM
XzEodmFsaWRhdGVQcm9ncmFtLCBQbGF0Zm9ybTNET2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaAppbmRleCBkMjk2
ZWViOWI4ZTQ5OWI3NzY0YjQxMzk5NGUxNGQwNTE5MDlkMjllLi5iZTlkYjQyODdkYjZlZmEzMjg1
ZmNjYjg1NGZlYTM0ODNhZDE1YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaApAQCAtMjA5LDI0ICsyMDksMjQgQEAg
cHVibGljOgogICAgIHZvaWQgdGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQg
bGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qg
dm9pZCogcGl4ZWxzKTsKIAogICAgIHZvaWQgdW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RmbG9hdCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZs
b2F0KiB2LCBHQzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCogdiwgR0MzRHNpemVpKTsKKyAgICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0yZihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpKTsKKyAgICB2b2lkIHVu
aWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAg
IHZvaWQgdW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCwgR0MzRGludCB5KTsK
LSAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNp
emVpKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBH
QzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9y
bTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9p
ZCB1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0Rp
bnQgeik7Ci0gICAgdm9pZCB1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYs
IEdDM0RzaXplaSk7CisgICAgdm9pZCB1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSwgR0MzRGludCogdik7CiAgICAgdm9pZCB1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQzNEZmxvYXQgeiwgR0MzRGZsb2F0IHcpOwotICAg
IHZvaWQgdW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXpl
aSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0Mz
RGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm00aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50
IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNEaW50IHcpOwotICAgIHZvaWQgdW5pZm9ybTRp
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkpOwotICAgIHZvaWQgdW5p
Zm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwg
R0MzRHNpemVpKTsKLSAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwg
R0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkpOworICAg
IHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYp
OworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWks
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlm
b3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJh
bnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9h
dCogdmFsdWUpOwogCiAgICAgdm9pZCB1c2VQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwogICAg
IHZvaWQgdmFsaWRhdGVQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130242</attachid>
            <date>2012-03-05 17:16:48 -0800</date>
            <delta_ts>2012-03-05 20:02:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80120-20120306101715.patch</filename>
            <type>text/plain</type>
            <size>46751</size>
            <attacher name="Changhun Kang">chkang514</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVlZTA5NTFkMzdhYjQz
ZDliMWZmYWI4NTU3NWE2ZTYzM2UzZjRiOC4uOTA2MTU0NzYwNzM2ZTNkZjM4Nzg5NGMwZWE0ODlj
YjVhN2Y5ODI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTAzLTA1ICBDaGFu
Z2h1biBLYW5nICA8dGVtb29jaGluQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENoYW5nZSB0
aGUgYXJndW1lbnQgb3JkZXJzIHRvIG1hdGNoIE9wZW5HTCdzIGluIEdyYXBoaWNzQ29udGV4dDNE
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODAxMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlzIHBhdGNoIGp1c3QgY2hhbmdlIHRoZSBvcmRlciBv
ZiBhcmd1bWVudHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dDo6dW5pZm9ybTJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OnVuaWZvcm0yaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtM2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4
dDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnVuaWZvcm00ZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1
bmlmb3JtNGl2KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5p
Zm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnVuaWZvcm1NYXRyaXgzZnYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVy
Q2hyb21pdW06OmRyYXdEZWJ1Z0JvcmRlclF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3VGlsZVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd1N0cmVhbVRleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFjZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNEOjp1bmlmb3JtMWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtMml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
M2Z2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4M2Z2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bU1hdHJpeDRmdik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJmdik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybTRpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybU1hdHJpeDJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybU1hdHJpeDRmdik6CisKIDIwMTItMDMtMDEgIFBhYmxvIEZsb3VyZXQgIDxwYWJs
b2ZAbW90b3JvbGEuY29tPgogCiAgICAgICAgIEZpeCBjb2RlIGdlbmVyYXRvcnMgdG8gY29ycmVj
dGx5IGd1YXJkIGhlYWRlciBkZWNsYXJhdGlvbnMgdGhhdCBoYXZlIGEgW0NvbmRpdGlvbmFsXSBh
dHRyaWJ1dGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGE4ZDdlODk4MzhiNTc5NDU0
ZDhkMGEwMGY3YTIzZDgwZjIzNGUyNWQuLjg0ZTI3N2FhZjc2ZTVjYTNlN2QyMTlkNjVkYTE0ZDE3
ZTNlM2EwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIw
MTItMDMtMDUgIENoYW5naHVuIEthbmcgIDx0ZW1vb2NoaW5AY29tcGFueTEwMC5uZXQ+CisKKyAg
ICAgICAgQ2hhbmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MgaW4gR3Jh
cGhpY3NDb250ZXh0M0QgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDEyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoaXMgcGF0Y2gganVzdCBjaGFu
Z2UgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cy4KKworICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRl
eHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6dW5pZm9ybTFmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRFBy
aXZhdGU6OnVuaWZvcm0xaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlOjp1bmlmb3JtMmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZTo6dW5pZm9ybTJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU6OnVuaWZvcm0zZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlOjp1bmlmb3JtM2l2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybTRmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQzRFByaXZhdGU6OnVuaWZvcm00aXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4MmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDNmdik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm1NYXRyaXg0ZnYpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oOgorICAg
ICAgICAoR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlKToKKwogMjAxMi0wMy0wMSAgRGFuYSBKYW5z
ZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1ha2Ugb3Bh
cXVlIHBhaW50IHRyYWNrZXIgYXdhcmUgb2YgU2tDYW52YXMgbGF5ZXJzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA0
NTllMDJlNzU1OGI1OTVkMzhlMjhjZGIzZjJlYjk1YjFlM2UwMzYwLi5mNjI4OWI2NzMzMjlkZDc5
MzFjMmY1MTkzZDQwOTczZmYzODFmYjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTM3MTksNyArMzcxOSw3IEBA
IHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KGNvbnN0IFdlYkdMVW5pZm9y
bUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFs
aWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFmdiIsIGxvY2F0aW9uLCB2LCAxKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2KGxvY2F0aW9uLT5sb2Nh
dGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0x
ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpLCB2LT5kYXRhKCkpOwogICAgIGNs
ZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3MjksNyArMzcyOSw3IEBA
IHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KGNvbnN0IFdlYkdMVW5pZm9y
bUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFs
aWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAx
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2KGxvY2F0aW9u
LT5sb2NhdGlvbigpLCB2LCBzaXplKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xZnYobG9jYXRp
b24tPmxvY2F0aW9uKCksIHNpemUsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChm
YWxzZSk7CiB9CiAKQEAgLTM3NTQsNyArMzc1NCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgSW50
CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygi
dW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9j
b250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxl
bmd0aCgpKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxvY2F0aW9uKCks
IHYtPmxlbmd0aCgpLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChm
YWxzZSk7CiB9CiAKQEAgLTM3NjQsNyArMzc2NCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp1bmlmb3JtMWl2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0Mz
CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygi
dW5pZm9ybTFpdiIsIGxvY2F0aW9uLCB2LCBzaXplLCAxKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9jb250ZXh0LT51bmlmb3JtMWl2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplKTsK
KyAgICBtX2NvbnRleHQtPnVuaWZvcm0xaXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUsIHYp
OwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM3ODksNyAr
Mzc4OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMmZ2KGNvbnN0IFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvCiAgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTJmdiIsIGxvY2F0aW9uLCB2
LCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMmZ2KGxvY2F0
aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRhKCksIHYtPmxlbmd0aCgpIC8gMik7CisgICAgbV9jb250
ZXh0LT51bmlmb3JtMmZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDIsIHYt
PmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAt
Mzc5OSw3ICszNzk5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0yZnYo
Y29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250
ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMmZ2IiwgbG9j
YXRpb24sIHYsIHNpemUsIDIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVu
aWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYsIHNpemUgLyAyKTsKKyAgICBtX2NvbnRl
eHQtPnVuaWZvcm0yZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHNpemUgLyAyLCB2KTsKICAgICBj
bGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zODI0LDcgKzM4MjQsNyBA
QCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTJpdihjb25zdCBXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpb24sIEludAogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZh
bGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0yaXYiLCBsb2NhdGlvbiwgdiwgMikpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTJpdihsb2NhdGlvbi0+bG9j
YXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDIpOworICAgIG1fY29udGV4dC0+dW5p
Zm9ybTJpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+bGVuZ3RoKCkgLyAyLCB2LT5kYXRhKCkp
OwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4MzQsNyAr
MzgzNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMml2KGNvbnN0IFdl
YkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3Qo
KSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTJpdiIsIGxvY2F0aW9uLCB2
LCBzaXplLCAyKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtMml2
KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LCBzaXplIC8gMik7CisgICAgbV9jb250ZXh0LT51bmlm
b3JtMml2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gMiwgdik7CiAgICAgY2xlYW51cEFm
dGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzg1OSw3ICszODU5LDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIGxvY2F0aW9uLCBGbG8KICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVu
aWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2Z2IiwgbG9jYXRpb24sIHYsIDMpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zZnYobG9jYXRpb24tPmxvY2F0aW9uKCks
IHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyAzKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0zZnYo
bG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMywgdi0+ZGF0YSgpKTsKICAgICBj
bGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC0zODY5LDcgKzM4NjksNyBA
QCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTNmdihjb25zdCBXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpb24sIEdDMwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZh
bGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0zZnYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwg
MykpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihsb2NhdGlv
bi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAvIDMpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTNmdihs
b2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDMsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBo
aWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM4OTQsNyArMzg5NCw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtM2l2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2Nh
dGlvbiwgSW50CiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFy
YW1ldGVycygidW5pZm9ybTNpdiIsIGxvY2F0aW9uLCB2LCAzKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9jb250ZXh0LT51bmlmb3JtM2l2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2LT5kYXRh
KCksIHYtPmxlbmd0aCgpIC8gMyk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtM2l2KGxvY2F0aW9u
LT5sb2NhdGlvbigpLCB2LT5sZW5ndGgoKSAvIDMsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFm
dGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzkwNCw3ICszOTA0LDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0zaXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRp
b24qIGxvY2F0aW9uLCBHQzMKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVu
aWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtM2l2IiwgbG9jYXRpb24sIHYsIHNpemUsIDMpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24tPmxvY2F0
aW9uKCksIHYsIHNpemUgLyAzKTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0zaXYobG9jYXRpb24t
PmxvY2F0aW9uKCksIHNpemUgLyAzLCB2KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwo
ZmFsc2UpOwogfQogCkBAIC0zOTI5LDcgKzM5MjksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTRmdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZs
bwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMo
InVuaWZvcm00ZnYiLCBsb2NhdGlvbiwgdiwgNCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
Y29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdi0+ZGF0YSgpLCB2LT5s
ZW5ndGgoKSAvIDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRmdihsb2NhdGlvbi0+bG9jYXRp
b24oKSwgdi0+bGVuZ3RoKCkgLyA0LCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBo
aWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAgLTM5MzksNyArMzkzOSw3IEBAIHZvaWQgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Ojp1bmlmb3JtNGZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2Nh
dGlvbiwgR0MzCiAgICAgaWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFy
YW1ldGVycygidW5pZm9ybTRmdiIsIGxvY2F0aW9uLCB2LCBzaXplLCA0KSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB2
LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtNGZ2KGxvY2F0aW9uLT5sb2NhdGlv
bigpLCBzaXplIC8gNCwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNlKTsK
IH0KIApAQCAtMzk2NCw3ICszOTY0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVu
aWZvcm00aXYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW9uLCBJbnQKICAgICBp
ZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3Jt
NGl2IiwgbG9jYXRpb24sIHYsIDQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NvbnRleHQt
PnVuaWZvcm00aXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkg
LyA0KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm00aXYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYt
Pmxlbmd0aCgpIC8gNCwgdi0+ZGF0YSgpKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwo
ZmFsc2UpOwogfQogCkBAIC0zOTc0LDcgKzM5NzQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dW5pZm9ybTRpdihjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEdD
MwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMo
InVuaWZvcm00aXYiLCBsb2NhdGlvbiwgdiwgc2l6ZSwgNCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdiwgc2l6ZSAv
IDQpOworICAgIG1fY29udGV4dC0+dW5pZm9ybTRpdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6
ZSAvIDQsIHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKQEAg
LTM5ODMsNyArMzk4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtTWF0
cml4MmZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5VU0VEX1BB
UkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZvcm1NYXRy
aXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4MmZ2IiwgbG9jYXRpb24sIHRyYW5zcG9zZSwgdiwg
NCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXgyZnYobG9j
YXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5sZW5ndGgoKSAvIDQp
OworICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwg
di0+bGVuZ3RoKCkgLyA0LCB0cmFuc3Bvc2UsIHYtPmRhdGEoKSk7CiAgICAgY2xlYW51cEFmdGVy
R3JhcGhpY3NDYWxsKGZhbHNlKTsKIH0KIApAQCAtMzk5Miw3ICszOTkyLDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm1NYXRyaXgyZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9j
YXRpb24qIGxvY2F0aW8KICAgICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRM
b3N0KCkgfHwgIXZhbGlkYXRlVW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXgy
ZnYiLCBsb2NhdGlvbiwgdHJhbnNwb3NlLCB2LCBzaXplLCA0KSkKICAgICAgICAgcmV0dXJuOwot
ICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgdHJh
bnNwb3NlLCB2LCBzaXplIC8gNCk7CisgICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4MmZ2KGxv
Y2F0aW9uLT5sb2NhdGlvbigpLCBzaXplIC8gNCwgdHJhbnNwb3NlLCB2KTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDAxLDcgKzQwMDEsNyBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDNmdihjb25zdCBXZWJHTFVuaWZv
cm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAgaWYgKGlzQ29u
dGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygidW5pZm9ybU1h
dHJpeDNmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIDkpKQogICAgICAgICByZXR1cm47Ci0g
ICAgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLT5sb2NhdGlvbigpLCB0cmFu
c3Bvc2UsIHYtPmRhdGEoKSwgdi0+bGVuZ3RoKCkgLyA5KTsKKyAgICBtX2NvbnRleHQtPnVuaWZv
cm1NYXRyaXgzZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gOSwgdHJhbnNw
b3NlLCB2LT5kYXRhKCkpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9
CiAKQEAgLTQwMTAsNyArNDAxMCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp1bmlm
b3JtTWF0cml4M2Z2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvCiAgICAgVU5V
U0VEX1BBUkFNKGVjKTsKICAgICBpZiAoaXNDb250ZXh0TG9zdCgpIHx8ICF2YWxpZGF0ZVVuaWZv
cm1NYXRyaXhQYXJhbWV0ZXJzKCJ1bmlmb3JtTWF0cml4M2Z2IiwgbG9jYXRpb24sIHRyYW5zcG9z
ZSwgdiwgc2l6ZSwgOSkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1N
YXRyaXgzZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdiwgc2l6ZSAvIDkpOwor
ICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6
ZSAvIDksIHRyYW5zcG9zZSwgdik7CiAgICAgY2xlYW51cEFmdGVyR3JhcGhpY3NDYWxsKGZhbHNl
KTsKIH0KIApAQCAtNDAxOSw3ICs0MDE5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnVuaWZvcm1NYXRyaXg0ZnYoY29uc3QgV2ViR0xVbmlmb3JtTG9jYXRpb24qIGxvY2F0aW8KICAg
ICBVTlVTRURfUEFSQU0oZWMpOwogICAgIGlmIChpc0NvbnRleHRMb3N0KCkgfHwgIXZhbGlkYXRl
VW5pZm9ybU1hdHJpeFBhcmFtZXRlcnMoInVuaWZvcm1NYXRyaXg0ZnYiLCBsb2NhdGlvbiwgdHJh
bnNwb3NlLCB2LCAxNikpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPnVuaWZvcm1N
YXRyaXg0ZnYobG9jYXRpb24tPmxvY2F0aW9uKCksIHRyYW5zcG9zZSwgdi0+ZGF0YSgpLCB2LT5s
ZW5ndGgoKSAvIDE2KTsKKyAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRyaXg0ZnYobG9jYXRpb24t
PmxvY2F0aW9uKCksIHYtPmxlbmd0aCgpIC8gMTYsIHRyYW5zcG9zZSwgdi0+ZGF0YSgpKTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCkBAIC00MDI4LDcgKzQwMjgs
NyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybU1hdHJpeDRmdihjb25zdCBX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpbwogICAgIFVOVVNFRF9QQVJBTShlYyk7CiAgICAg
aWYgKGlzQ29udGV4dExvc3QoKSB8fCAhdmFsaWRhdGVVbmlmb3JtTWF0cml4UGFyYW1ldGVycygi
dW5pZm9ybU1hdHJpeDRmdiIsIGxvY2F0aW9uLCB0cmFuc3Bvc2UsIHYsIHNpemUsIDE2KSkKICAg
ICAgICAgcmV0dXJuOwotICAgIG1fY29udGV4dC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+
bG9jYXRpb24oKSwgdHJhbnNwb3NlLCB2LCBzaXplIC8gMTYpOworICAgIG1fY29udGV4dC0+dW5p
Zm9ybU1hdHJpeDRmdihsb2NhdGlvbi0+bG9jYXRpb24oKSwgc2l6ZSAvIDE2LCB0cmFuc3Bvc2Us
IHYpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmlu
ZGV4IDE3YWU5ODQ1ZjAwYmNiYmQyM2M0MjZiYjU1YzQyNWJiMDkwOWY5MTIuLmMzYTExOWZjYzc0
ODMzMWY0Y2ZlNjUxNjAwNDk0ZDlmYjczYTUwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtNzU2LDI2ICs3NTYs
MjUgQEAgcHVibGljOgogICAgIHZvaWQgdGV4UGFyYW1ldGVyaShHQzNEZW51bSB0YXJnZXQsIEdD
M0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKICAgICB2b2lkIHRleFN1YkltYWdlMkQoR0Mz
RGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9m
ZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQs
IEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscyk7CiAKLSAgICAvLyBGSVhNRTogY2hh
bmdlIHRoZSBhcmd1bWVudCBvcmRlcnMgdG8gbWF0Y2ggT3BlbkdMJ3MuCiAgICAgdm9pZCB1bmlm
b3JtMWYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpOwotICAgIHZvaWQgdW5pZm9ybTFm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKTsKKyAgICB2
b2lkIHVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEZmxvYXQqIHYp
OwogICAgIHZvaWQgdW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgeCk7Ci0gICAg
dm9pZCB1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBz
aXplKTsKLSAgICB2b2lkIHVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwg
ZmxvYXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCogdiwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTFpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZvaWQgdW5pZm9ybTJmKEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSk7CisgICAgdm9pZCB1bmlmb3JtMmZ2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVu
aWZvcm0yaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSk7Ci0gICAgdm9p
ZCB1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSBzaXpl
KTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNE
aW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQg
eCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlm
b3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2
b2lkIHVuaWZvcm0zaShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0Mz
RGludCB6KTsKLSAgICB2b2lkIHVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCog
diwgR0MzRHNpemVpIHNpemUpOworICAgIHZvaWQgdW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTRmKEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RmbG9hdCB4LCBHQzNEZmxvYXQgeSwgR0MzRGZsb2F0IHosIEdDM0RmbG9hdCB3
KTsKLSAgICB2b2lkIHVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBH
QzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm00aShHQzNEaW50IGxvY2F0
aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNEaW50IHcpOwotICAgIHZv
aWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6
ZSk7Ci0gICAgdm9pZCB1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpOwotICAgIHZv
aWQgdW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bv
c2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBzaXplKTsKLSAgICB2b2lkIHVuaWZvcm1N
YXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSk7CisgICAgdm9pZCB1bmlmb3JtNGl2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4
MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBH
QzNEZmxvYXQqIHZhbHVlKTsKKyAgICB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRHNpemVpLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUp
OworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWks
IEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSk7CiAKICAgICB2b2lkIHVz
ZVByb2dyYW0oUGxhdGZvcm0zRE9iamVjdCk7CiAgICAgdm9pZCB2YWxpZGF0ZVByb2dyYW0oUGxh
dGZvcm0zRE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAppbmRl
eCA3YTI2ZGIyOGEwY2U3MzQzZDVlNDQ1OWU4YzdmNzFkYzc1OTg3N2Y0Li45YmMzYTlkMGU2NTJl
MzBmODVlY2Y4M2RlZDg4ZWI1ZjY2NDQwYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJD
aHJvbWl1bS5jcHAKQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZChjb25zdCBDQ0RlYnVnQm9yZGVyRHJhd1F1YWQqIHF1YQog
ICAgIHJlbmRlck1hdHJpeC50cmFuc2xhdGUoMC41ICogbGF5ZXJSZWN0LndpZHRoKCkgKyBsYXll
clJlY3QueCgpLCAwLjUgKiBsYXllclJlY3QuaGVpZ2h0KCkgKyBsYXllclJlY3QueSgpKTsKICAg
ICByZW5kZXJNYXRyaXguc2NhbGVOb25Vbmlmb3JtKGxheWVyUmVjdC53aWR0aCgpLCBsYXllclJl
Y3QuaGVpZ2h0KCkpOwogICAgIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6dG9HTE1hdHJpeCgmZ2xN
YXRyaXhbMF0sIHByb2plY3Rpb25NYXRyaXgoKSAqIHJlbmRlck1hdHJpeCk7Ci0gICAgR0xDKGNv
bnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRl
cigpLm1hdHJpeExvY2F0aW9uKCksIGZhbHNlLCAmZ2xNYXRyaXhbMF0sIDEpKTsKKyAgICBHTEMo
Y29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXg0ZnYocHJvZ3JhbS0+dmVydGV4U2hh
ZGVyKCkubWF0cml4TG9jYXRpb24oKSwgMSwgZmFsc2UsICZnbE1hdHJpeFswXSkpOwogCiAgICAg
R0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFk
ZXIoKS5jb2xvckxvY2F0aW9uKCksIHF1YWQtPmNvbG9yKCkucmVkKCkgLyAyNTUuMCwgcXVhZC0+
Y29sb3IoKS5ncmVlbigpIC8gMjU1LjAsIHF1YWQtPmNvbG9yKCkuYmx1ZSgpIC8gMjU1LjAsIHF1
YWQtPmNvbG9yKCkuYWxwaGEoKSAvIDI1NS4wKSk7CiAKQEAgLTYyNiw3ICs2MjYsNyBAQCB2b2lk
IExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1RpbGVRdWFkKGNvbnN0IENDVGlsZURyYXdRdWFk
KiBxdWFkKQogICAgICAgICBmbG9hdCBlZGdlWzI0XTsKICAgICAgICAgZGV2aWNlTGF5ZXJFZGdl
cy50b0Zsb2F0QXJyYXkoZWRnZSk7CiAgICAgICAgIGRldmljZUxheWVyQm91bmRzLnRvRmxvYXRB
cnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm0zZnYodW5pZm9ybXMuZWRnZUxvY2F0aW9uLCBlZGdlLCA4KSk7CisgICAgICAgIEdMQyhjb250
ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNmdih1bmlmb3Jtcy5lZGdlTG9jYXRpb24sIDgsIGVk
Z2UpKTsKIAogICAgICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm00Zih1bmlm
b3Jtcy52ZXJ0ZXhUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgdmVydGV4VGV4VHJhbnNsYXRlWCwgdmVy
dGV4VGV4VHJhbnNsYXRlWSwgdmVydGV4VGV4U2NhbGVYLCB2ZXJ0ZXhUZXhTY2FsZVkpKTsKICAg
ICAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYodW5pZm9ybXMuZnJhZ21l
bnRUZXhUcmFuc2Zvcm1Mb2NhdGlvbiwgZnJhZ21lbnRUZXhUcmFuc2xhdGVYLCBmcmFnbWVudFRl
eFRyYW5zbGF0ZVksIGZyYWdtZW50VGV4U2NhbGVYLCBmcmFnbWVudFRleFNjYWxlWSkpOwpAQCAt
NzQ1LDggKzc0NSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVWKGNvbnN0
IENDVmlkZW9EcmF3UXVhZCogcXVhZCkKICAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVu
aWZvcm0xaShwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnVUZXh0dXJlTG9jYXRpb24oKSwgMikp
OwogICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTFpKHByb2dyYW0tPmZyYWdt
ZW50U2hhZGVyKCkudlRleHR1cmVMb2NhdGlvbigpLCAzKSk7CiAKLSAgICBHTEMoY29udGV4dCgp
LCBjb250ZXh0KCktPnVuaWZvcm1NYXRyaXgzZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5j
Y01hdHJpeExvY2F0aW9uKCksIDAsIGNvbnN0X2Nhc3Q8ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBs
Ojp5dXYyUkdCKSwgMSkpOwotICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+dW5pZm9ybTNm
dihwcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLnl1dkFkakxvY2F0aW9uKCksIGNvbnN0X2Nhc3Q8
ZmxvYXQqPihDQ1ZpZGVvTGF5ZXJJbXBsOjp5dXZBZGp1c3QpLCAxKSk7CisgICAgR0xDKGNvbnRl
eHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4M2Z2KHByb2dyYW0tPmZyYWdtZW50U2hhZGVy
KCkuY2NNYXRyaXhMb2NhdGlvbigpLCAxLCAwLCBjb25zdF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xh
eWVySW1wbDo6eXV2MlJHQikpKTsKKyAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZv
cm0zZnYocHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS55dXZBZGpMb2NhdGlvbigpLCAxLCBjb25z
dF9jYXN0PGZsb2F0Kj4oQ0NWaWRlb0xheWVySW1wbDo6eXV2QWRqdXN0KSkpOwogCiAgICAgY29u
c3QgSW50U2l6ZSYgYm91bmRzID0gcXVhZC0+cXVhZFJlY3QoKS5zaXplKCk7CiAgICAgZHJhd1Rl
eHR1cmVkUXVhZChxdWFkLT5sYXllclRyYW5zZm9ybSgpLCBib3VuZHMud2lkdGgoKSwgYm91bmRz
LmhlaWdodCgpLCBxdWFkLT5vcGFjaXR5KCksIEZsb2F0UXVhZCgpLApAQCAtNzk4LDcgKzc5OCw3
IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3RyZWFtVGV4dHVyZShjb25zdCBD
Q1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NWaWRlb0xheWVySW1wbDo6U3RyZWFt
VGV4dHVyZVByb2dyYW0qIHByb2dyYW0gPSBzdHJlYW1UZXh0dXJlTGF5ZXJQcm9ncmFtKCk7CiAg
ICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51c2VQcm9ncmFtKHByb2dyYW0tPnByb2dyYW0o
KSkpOwogICAgIEFTU0VSVChxdWFkLT5tYXRyaXgoKSk7Ci0gICAgR0xDKGNvbnRleHQoKSwgY29u
dGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dyYW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJp
eExvY2F0aW9uKCksIGZhbHNlLCBjb25zdF9jYXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpLCAx
KSk7CisgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtTWF0cml4NGZ2KHByb2dy
YW0tPnZlcnRleFNoYWRlcigpLnRleE1hdHJpeExvY2F0aW9uKCksIDEsIGZhbHNlLCBjb25zdF9j
YXN0PGZsb2F0Kj4ocXVhZC0+bWF0cml4KCkpKSk7CiAKICAgICBkcmF3U2luZ2xlVGV4dHVyZVZp
ZGVvUXVhZChxdWFkLCBwcm9ncmFtLCAxLCBxdWFkLT5mcmFtZSgpLT50ZXh0dXJlSWQoKSwgRXh0
ZW5zaW9uczNEQ2hyb21pdW06OkdMX1RFWFRVUkVfRVhURVJOQUxfT0VTKTsKIH0KQEAgLTEwMTMs
NyArMTAxMyw3IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3VGV4dHVyZWRRdWFk
KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBkcmF3TWF0CiAgICAgLy8gQXBwbHkgdGhlIHBy
b2plY3Rpb24gbWF0cml4IGJlZm9yZSBzZW5kaW5nIHRoZSB0cmFuc2Zvcm0gb3ZlciB0byB0aGUg
c2hhZGVyLgogICAgIHRvR0xNYXRyaXgoJmdsTWF0cml4WzBdLCBtX3Byb2plY3Rpb25NYXRyaXgg
KiByZW5kZXJNYXRyaXgpOwogCi0gICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3Jt
TWF0cml4NGZ2KG1hdHJpeExvY2F0aW9uLCBmYWxzZSwgJmdsTWF0cml4WzBdLCAxKSk7CisgICAg
R0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtTWF0cml4NGZ2KG1hdHJpeExvY2F0aW9u
LCAxLCBmYWxzZSwgJmdsTWF0cml4WzBdKSk7CiAKICAgICBpZiAocXVhZExvY2F0aW9uICE9IC0x
KSB7CiAgICAgICAgIGZsb2F0IHBvaW50WzhdOwpAQCAtMTAyNSw3ICsxMDI1LDcgQEAgdm9pZCBM
YXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdUZXh0dXJlZFF1YWQoY29uc3QgVHJhbnNmb3JtYXRp
b25NYXRyaXgmIGRyYXdNYXQKICAgICAgICAgcG9pbnRbNV0gPSBxdWFkLnAzKCkueSgpOwogICAg
ICAgICBwb2ludFs2XSA9IHF1YWQucDQoKS54KCk7CiAgICAgICAgIHBvaW50WzddID0gcXVhZC5w
NCgpLnkoKTsKLSAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0LT51bmlmb3JtMmZ2KHF1
YWRMb2NhdGlvbiwgcG9pbnQsIDQpKTsKKyAgICAgICAgR0xDKG1fY29udGV4dCwgbV9jb250ZXh0
LT51bmlmb3JtMmZ2KHF1YWRMb2NhdGlvbiwgNCwgcG9pbnQpKTsKICAgICB9CiAKICAgICBpZiAo
YWxwaGFMb2NhdGlvbiAhPSAtMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1cmZhY2UuY3BwCmluZGV4
IDAxYjc4YmNkNDAyYWVjOTMwN2ZlODM0NjkxOGUzOTViOTA2NmZjZjAuLmFmYWE2YjNjMTM4MDUx
ZTM1NzRhZDYwOWFmOGFkMmNhMWYyMzFmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNl
LmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgQ0NSZW5kZXJTdXJmYWNlOjpkcmF3U3VyZmFj
ZShMYXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIENDTGF5ZXJJCiAgICAgICAg
IGZsb2F0IGVkZ2VbMjRdOwogICAgICAgICBsYXllclF1YWQudG9GbG9hdEFycmF5KGVkZ2UpOwog
ICAgICAgICBkZXZpY2VSZWN0LnRvRmxvYXRBcnJheSgmZWRnZVsxMl0pOwotICAgICAgICBHTEMo
Y29udGV4dDNELCBjb250ZXh0M0QtPnVuaWZvcm0zZnYoc2hhZGVyRWRnZUxvY2F0aW9uLCBlZGdl
LCA4KSk7CisgICAgICAgIEdMQyhjb250ZXh0M0QsIGNvbnRleHQzRC0+dW5pZm9ybTNmdihzaGFk
ZXJFZGdlTG9jYXRpb24sIDgsIGVkZ2UpKTsKICAgICB9CiAKICAgICAvLyBNYXAgZGV2aWNlIHNw
YWNlIHF1YWQgdG8gbGF5ZXIgc3BhY2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBoaWNzQ29udGV4dDNERWZsLmNwcAppbmRleCA0
NjU5Mzk3OGYyNzZlZDc5MmU1MmM2NTJlZTg3YmZjNzhhYTgzNTVlLi5lNTYwMWM4Zjg5OWFjNzc1
YjJlYzUwYmNkZDU4MTZhYmRkMWE0ODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKQEAg
LTU1NCw3ICs1NTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWYoR0MzRGlu
dCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWYobG9jYXRp
b24sIHgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMWZ2KEdDM0RpbnQgbG9jYXRpb24sIEdHQzNEc2l6ZWkgc2l6ZSwgQzNE
ZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCB2
KTsKIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3Jt
MWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KQogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTFp
KGxvY2F0aW9uLCB4KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBzaXpl
LCBDM0RpbnQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtMWl2KGxvY2F0aW9uLCBzaXpl
LCB2KTsKIH0KQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIGZsb2F0IHkpCiAgICAgbV9wcml2
YXRlLT51bmlmb3JtMmYobG9jYXRpb24sIHgsIHkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlm
b3JtMmZ2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTU4NCw3ICs1ODQsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBH
QzNEaW50IHkpCiAgICAgbV9wcml2YXRlLT51bmlmb3JtMmkobG9jYXRpb24sIHgsIHkpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0RpbnQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9y
bTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogdikKIHsKICAg
ICBtX3ByaXZhdGUtPnVuaWZvcm0yaXYobG9jYXRpb24sIHNpemUsIHYpOwogfQpAQCAtNTk0LDcg
KzU5NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDCiAgICAgbV9wcml2YXRlLT51bmlmb3Jt
M2YobG9jYXRpb24sIHgsIHksIHopOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlm
b3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rz
aXplaSBzaXplLCBHQzNEZmxvYXQqIHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtM2Z2KGxv
Y2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYwNCw3ICs2MDQsNyBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNEaW50IHks
IEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTNpKGxvY2F0aW9uLCB4LCB5LCB6KTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAg
ICAgbV9wcml2YXRlLT51bmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KQEAgLTYxNCw3
ICs2MTQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQwogICAgIG1fcHJpdmF0ZS0+dW5pZm9y
bTRmKGxvY2F0aW9uLCB4LCB5LCB6LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRm
dihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CkBAIC02MjQsMjIgKzYyNCwyMiBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtNGkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4LCBHQzNE
aW50IHksIEdDM0RpbgogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybTRpKGxvY2F0aW9uLCB4LCB5LCB6
LCB3KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQq
IHYpCiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtNGl2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSBz
aXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQq
IHZhbHVlKQogewogICAgIG1fcHJpdmF0ZS0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbiwgc2l6
ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNE
ZmxvYXQqIHZhbHVlLCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm1NYXRyaXgzZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSkKIHsKICAgICBtX3ByaXZhdGUtPnVuaWZv
cm1NYXRyaXgzZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgdmFsdWUpOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24sIEdD
M0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RzaXplaSBzaXplLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUp
CiB7CiAgICAgbV9wcml2YXRlLT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLCBzaXplLCB0cmFu
c3Bvc2UsIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKaW5kZXggNWNkMTdhZjg2MmJj
ZjNlNTkwNGJkNGEzZDM2N2YwODU2NDUwZTdhOC4uOWJmMjQ5NWMwZDkyZjZhYmQzMWU0ZjhmN2U3
MGNmMzljZDA1MTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTIyOSw3ICsyMjksNyBA
QCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFuZEJ1ZmZlcnMoQnl0ZUFycmF5KiBz
cmNQaXhlbEFycmF5KQogICAgICAgICBvcnRob2dvbmFsUHJvamVjdGlvbk1hdHJpeChwcm9qZWN0
aW9uTWF0cml4LCAtMC41LCAwLjUsIC0wLjUsIDAuNSk7CiAgICAgICAgIGZsb2F0IGdsUHJvamVj
dGlvbk1hdHJpeFsxNl07CiAgICAgICAgIHByb2plY3Rpb25NYXRyaXgudG9Db2x1bW5NYWpvckZs
b2F0QXJyYXkoZ2xQcm9qZWN0aW9uTWF0cml4KTsKLSAgICAgICAgbV9jb250ZXh0LT51bmlmb3Jt
TWF0cml4NGZ2KG1fc2hhZGVyLT5wcm9qZWN0aW9uTWF0cml4TG9jYXRpb24oKSwgZmFsc2UsICZn
bFByb2plY3Rpb25NYXRyaXhbMF0sIDEpOworICAgICAgICBtX2NvbnRleHQtPnVuaWZvcm1NYXRy
aXg0ZnYobV9zaGFkZXItPnByb2plY3Rpb25NYXRyaXhMb2NhdGlvbigpLCAxLCBmYWxzZSwgJmds
UHJvamVjdGlvbk1hdHJpeFswXSk7CiAgICAgfQogICAgIAogICAgIG1fY29udGV4dC0+YmluZEJ1
ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSLCBtX21lc2gtPnZlcnRpY2VzQnVm
ZmVyT2JqZWN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1v
bi5jcHAKaW5kZXggMDNkNGEzMmNjYzMyNjU2NDY4M2ExZGFhYjBhODE1YTEzMDdjMWIxZS4uZjA5
Zjk0MDdmMzIyY2FhYTgxODBiOGU5MzgxNmQ5YTU1NmZkYWI3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdM
Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCkBAIC05MDcsNyArOTA3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9h
dCB2MCkKICAgICA6OmdsVW5pZm9ybTFmKGxvY2F0aW9uLCB2MCk7CiB9CiAKLXZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJh
eSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMWZ2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAg
IG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXpl
LCBhcnJheSk7CkBAIC05MTksNyArOTE5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybTJmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYxKQogICAg
IDo6Z2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0Mz
RHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJ
WE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiAyLgogICAgIG1ha2VDb250ZXh0
Q3VycmVudCgpOwpAQCAtOTMyLDcgKzkzMiw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm0zZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjAsIEdDM0RmbG9hdCB2MSwKICAg
ICA6OmdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5
LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zZnYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAg
Ly8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDMuCiAgICAgbWFrZUNv
bnRleHRDdXJyZW50KCk7CkBAIC05NDUsNyArOTQ1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6dW5pZm9ybTRmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2MCwgR0MzRGZsb2F0IHYx
LAogICAgIDo6Z2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogYXJyYXkp
CiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAg
ICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC05NTgsNyArOTU4LDcgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6dW5pZm9ybTFpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjApCiAgICAg
OjpnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkg
c2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIDo6Z2xVbmlmb3JtMWl2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC05
NzAsNyArOTcwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgOjpnbFVuaWZvcm0yaShsb2Nh
dGlvbiwgdjAsIHYxKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBz
aXplLCBHQzNEaW50KiBhcnJheSkKIHsKICAgICAvLyBGSVhNRTogbGVuZ3RoIG5lZWRzIHRvIGJl
IGEgbXVsdGlwbGUgb2YgMi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKQEAgLTk4Myw3ICs5
ODMsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlv
biwgR0MzRGludCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIDo6Z2xVbmlmb3JtM2kobG9jYXRp
b24sIHYwLCB2MSwgdjIpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2l2
KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0zaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
IHNpemUsIEdDM0RpbnQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8g
YmUgYSBtdWx0aXBsZSBvZiAzLgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpAQCAtOTk2LDI4
ICs5OTYsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEsIEdDM0QKICAgICA6OmdsVW5pZm9ybTRpKGxv
Y2F0aW9uLCB2MCwgdjEsIHYyLCB2Myk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVu
aWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXpl
KQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgLy8gRklYTUU6IGxlbmd0aCBu
ZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIDQuCiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAg
ICAgOjpnbFVuaWZvcm00aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9v
bGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNE
c2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewog
ICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA0LgogICAgIG1h
a2VDb250ZXh0Q3VycmVudCgpOwogICAgIDo6Z2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBz
aXplLCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5p
Zm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdD
M0RmbG9hdCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6
dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJv
b2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5n
dGggbmVlZHMgdG8gYmUgYSBtdWx0aXBsZSBvZiA5LgogICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwogICAgIDo6Z2xVbmlmb3JtTWF0cml4M2Z2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bvc2UsIGFy
cmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXksIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBH
QzNEZmxvYXQqIGFycmF5KQogewogICAgIC8vIEZJWE1FOiBsZW5ndGggbmVlZHMgdG8gYmUgYSBt
dWx0aXBsZSBvZiAxNi4KICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RR
dC5jcHAKaW5kZXggODA1OTFlOWM0NWZmY2QyOGY0NzBmOGQ4M2Q2NWY0MWJmYTgwOWFmZS4uNzAw
NTc4NWMwMWRlNmMzNzliNjlhZjQ2NjczZWNlYjM1NzdiZjliYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RR
dC5jcHAKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZv
cm0xZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgdjApCiAgICAgZ2xVbmlmb3JtMWYobG9j
YXRpb24sIHYwKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTFmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xZnYoR0MzRGludCBsb2NhdGlvbiwgR0dDM0RzaXplaSBz
aXplLCBDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAg
Z2xVbmlmb3JtMWZ2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMDk5LDcgKzEwOTksNyBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtMmYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RGZsb2F0IHYwLCBHQzNEZmxvYXQgdjEpCiAgICAgZ2xVbmlmb3JtMmYobG9jYXRpb24sIHYwLCB2
MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNE
ZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9y
bTJmdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB2
MCwgR0MzRGZsb2F0IHYxLAogICAgIGdsVW5pZm9ybTNmKGxvY2F0aW9uLCB2MCwgdjEsIHYyKTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtM2Z2
KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTIzLDcgKzExMjMsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHYwLCBH
QzNEZmxvYXQgdjEsCiAgICAgZ2xVbmlmb3JtNGYobG9jYXRpb24sIHYwLCB2MSwgdjIsIHYzKTsK
IH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9h
dCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtNGZ2
KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTM1LDcgKzExMzUsNyBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjp1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB2MCkKICAg
ICBnbFVuaWZvcm0xaShsb2NhdGlvbiwgdjApOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtMWl2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkg
c2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlv
biwgR0dDM0RzaXplaSBzaXplLCBDM0RpbnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwogICAgIGdsVW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwpAQCAtMTE0
Nyw3ICsxMTQ3LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTJpKEdDM0RpbnQg
bG9jYXRpb24sIEdDM0RpbnQgdjAsIEdDM0RpbnQgdjEpCiAgICAgZ2xVbmlmb3JtMmkobG9jYXRp
b24sIHYwLCB2MSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRGludCogYXJyYXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFw
aGljc0NvbnRleHQzRDo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6
ZSwgR0MzRGludCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRDdXJyZW50KCk7CiAgICAgZ2xV
bmlmb3JtMml2KGxvY2F0aW9uLCBzaXplLCBhcnJheSk7CkBAIC0xMTU5LDcgKzExNTksNyBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwgR0MzRGlu
dCB2MCwgR0MzRGludCB2MSwgR0MzRAogICAgIGdsVW5pZm9ybTNpKGxvY2F0aW9uLCB2MCwgdjEs
IHYyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTNpdihHQzNEaW50IGxv
Y2F0aW9uLCBHQzNEaW50KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNE
aW50KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm0z
aXYobG9jYXRpb24sIHNpemUsIGFycmF5KTsKQEAgLTExNzEsMjUgKzExNzEsMjUgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybTRpKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQgdjAs
IEdDM0RpbnQgdjEsIEdDM0QKICAgICBnbFVuaWZvcm00aShsb2NhdGlvbiwgdjAsIHYxLCB2Miwg
djMpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1bmlmb3JtNGl2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0RpbnQqIGFycmF5LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OnVuaWZvcm00aXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rp
bnQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAgIGdsVW5pZm9ybTRp
dihsb2NhdGlvbiwgc2l6ZSwgYXJyYXkpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwg
R0MzRGZsb2F0KiBhcnJheSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJyYXkpCiB7CiAgICAgbWFrZUNvbnRleHRD
dXJyZW50KCk7CiAgICAgZ2xVbmlmb3JtTWF0cml4MmZ2KGxvY2F0aW9uLCBzaXplLCB0cmFuc3Bv
c2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJpeDNm
dihHQzNEaW50IGxvY2F0aW9uLCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogYXJy
YXksIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dW5pZm9ybU1hdHJp
eDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNw
b3NlLCBHQzNEZmxvYXQqIGFycmF5KQogewogICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwogICAg
IGdsVW5pZm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCBhcnJheSk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2Nh
dGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIGFycmF5LCBHQzNEc2l6ZWkg
c2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0
KiBhcnJheSkKIHsKICAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsKICAgICBnbFVuaWZvcm1NYXRy
aXg0ZnYobG9jYXRpb24sIHNpemUsIHRyYW5zcG9zZSwgYXJyYXkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcApp
bmRleCBiMDkwMGMwMmQ1MjhjYjE3NDBkNzQzMTExNDc3NmI5YWY5OTA2YWVhLi5hNWJkYmNmMmEw
NmY0NjRhZGYxYjMzZDQ0ZmRmZGMxZDRkYmQwYzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcApAQCAtNjcy
LDcxICs2NzIsNzEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnRleFN1YkltYWdl
MkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzMKIAogREVMRUdBVEVfVE9fSU1Q
TF8yKHVuaWZvcm0xZiwgR0MzRGludCwgR0MzRGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdD
M0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0xZnYo
R0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBt
X2ltcGwtPnVuaWZvcm0xZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxFR0FURV9UT19J
TVBMXzIodW5pZm9ybTFpLCBHQzNEaW50LCBHQzNEaW50KQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybTFpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtMWl2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1faW1w
bC0+dW5pZm9ybTFpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExf
Myh1bmlmb3JtMmYsIEdDM0RpbnQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0KQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTJmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxv
YXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVu
aWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RmbG9hdCogdikK
IHsKICAgICBtX2ltcGwtPnVuaWZvcm0yZnYobG9jYXRpb24sIHNpemUsIHYpOwogfQogCiBERUxF
R0FURV9UT19JTVBMXzModW5pZm9ybTJpLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQogCi12
b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTJpdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEaW50KiB2LCBHQzNEc2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2
YXRlOjp1bmlmb3JtMml2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50
KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9ybTJpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAK
IERFTEVHQVRFX1RPX0lNUExfNCh1bmlmb3JtM2YsIEdDM0RpbnQsIEdDM0RmbG9hdCwgR0MzRGZs
b2F0LCBHQzNEZmxvYXQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3Jt
M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCogdiwgR0MzRHNpemVpIHNpemUpCit2b2lk
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBH
QzNEc2l6ZWkgc2l6ZSwgR0MzRGZsb2F0KiB2KQogewogICAgIG1faW1wbC0+dW5pZm9ybTNmdihs
b2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKIERFTEVHQVRFX1RPX0lNUExfNCh1bmlmb3JtM2ksIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0RQcml2YXRlOjp1bmlmb3JtM2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0Rz
aXplaSBzaXplKQordm9pZCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm0zaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpIHNpemUsIEdDM0RpbnQqIHYpCiB7CiAgICAgbV9pbXBs
LT51bmlmb3JtM2l2KGxvY2F0aW9uLCBzaXplLCB2KTsKIH0KIAogREVMRUdBVEVfVE9fSU1QTF81
KHVuaWZvcm00ZiwgR0MzRGludCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwgR0Mz
RGZsb2F0KQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybTRmdihHQzNE
aW50IGxvY2F0aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSBzaXplKQordm9pZCBHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU6OnVuaWZvcm00ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVp
IHNpemUsIEdDM0RmbG9hdCogdikKIHsKICAgICBtX2ltcGwtPnVuaWZvcm00ZnYobG9jYXRpb24s
IHNpemUsIHYpOwogfQogCiBERUxFR0FURV9UT19JTVBMXzUodW5pZm9ybTRpLCBHQzNEaW50LCBH
QzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50KQogCi12b2lkIEdyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZTo6dW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2LCBHQzNE
c2l6ZWkgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtNGl2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSBzaXplLCBHQzNEaW50KiB2KQogewogICAgIG1faW1w
bC0+dW5pZm9ybTRpdihsb2NhdGlvbiwgc2l6ZSwgdik7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4MmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29s
ZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdy
YXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVl
KQogewogICAgIG1faW1wbC0+dW5pZm9ybU1hdHJpeDJmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNw
b3NlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3Jt
TWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZs
b2F0KiB2YWx1ZSwgR0MzRHNpemVpIHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZTo6dW5pZm9ybU1hdHJpeDNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0Mz
RGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1faW1wbC0+dW5p
Zm9ybU1hdHJpeDNmdihsb2NhdGlvbiwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjp1bmlmb3JtTWF0cml4NGZ2KEdDM0RpbnQgbG9j
YXRpb24sIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVp
IHNpemUpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6dW5pZm9ybU1hdHJpeDRmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWkgc2l6ZSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBH
QzNEZmxvYXQqIHZhbHVlKQogewogICAgIG1faW1wbC0+dW5pZm9ybU1hdHJpeDRmdihsb2NhdGlv
biwgc2l6ZSwgdHJhbnNwb3NlLCB2YWx1ZSk7CiB9CkBAIC0xMTc2LDI0ICsxMTc2LDI0IEBAIERF
TEVHQVRFX1RPX0lOVEVSTkFMXzModGV4UGFyYW1ldGVyaSwgR0MzRGVudW0sIEdDM0RlbnVtLCBH
QzNEaW50KQogREVMRUdBVEVfVE9fSU5URVJOQUxfOSh0ZXhTdWJJbWFnZTJELCBHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIEdDM0RlbnVt
LCBHQzNEZW51bSwgY29uc3Qgdm9pZCopCiAKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzIodW5pZm9y
bTFmLCBHQzNEaW50LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0x
ZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFM
XzModW5pZm9ybTFmdiwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVf
VE9fSU5URVJOQUxfMih1bmlmb3JtMWksIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19J
TlRFUk5BTF8zKHVuaWZvcm0xaXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxF
R0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0xaXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGlu
dCopCiBERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yZiwgR0MzRGludCwgR0MzRGZsb2F0
LCBHQzNEZmxvYXQpCi1ERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yZnYsIEdDM0RpbnQs
IEdDM0RmbG9hdCosIEdDM0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTJm
diwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxf
Myh1bmlmb3JtMmksIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRF
Uk5BTF8zKHVuaWZvcm0yaXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCitERUxFR0FU
RV9UT19JTlRFUk5BTF8zKHVuaWZvcm0yaXYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCop
CiBERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm0zZiwgR0MzRGludCwgR0MzRGZsb2F0LCBH
QzNEZmxvYXQsIEdDM0RmbG9hdCkKLURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNmdiwg
R0MzRGludCwgR0MzRGZsb2F0KiwgR0MzRHNpemVpKQorREVMRUdBVEVfVE9fSU5URVJOQUxfMyh1
bmlmb3JtM2Z2LCBHQzNEaW50LCBHQzNEc2l6ZWksIEdDM0RmbG9hdCopCiBERUxFR0FURV9UT19J
TlRFUk5BTF80KHVuaWZvcm0zaSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCkK
LURFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNpdiwgR0MzRGludCwgR0MzRGludCosIEdD
M0RzaXplaSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTNpdiwgR0MzRGludCwgR0Mz
RHNpemVpLCBHQzNEaW50KikKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzUodW5pZm9ybTRmLCBHQzNE
aW50LCBHQzNEZmxvYXQsIEdDM0RmbG9hdCwgR0MzRGZsb2F0LCBHQzNEZmxvYXQpCi1ERUxFR0FU
RV9UT19JTlRFUk5BTF8zKHVuaWZvcm00ZnYsIEdDM0RpbnQsIEdDM0RmbG9hdCosIEdDM0RzaXpl
aSkKK0RFTEVHQVRFX1RPX0lOVEVSTkFMXzModW5pZm9ybTRmdiwgR0MzRGludCwgR0MzRHNpemVp
LCBHQzNEZmxvYXQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfNSh1bmlmb3JtNGksIEdDM0RpbnQs
IEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQpCi1ERUxFR0FURV9UT19JTlRFUk5B
TF8zKHVuaWZvcm00aXYsIEdDM0RpbnQsIEdDM0RpbnQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9U
T19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgyZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNE
ZmxvYXQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgz
ZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBHQzNEZmxvYXQqLCBHQzNEc2l6ZWkpCi1ERUxFR0FU
RV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXg0ZnYsIEdDM0RpbnQsIEdDM0Rib29sZWFuLCBH
QzNEZmxvYXQqLCBHQzNEc2l6ZWkpCitERUxFR0FURV9UT19JTlRFUk5BTF8zKHVuaWZvcm00aXYs
IEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGludCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVu
aWZvcm1NYXRyaXgyZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9h
dCopCitERUxFR0FURV9UT19JTlRFUk5BTF80KHVuaWZvcm1NYXRyaXgzZnYsIEdDM0RpbnQsIEdD
M0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0RmbG9hdCopCitERUxFR0FURV9UT19JTlRFUk5BTF80
KHVuaWZvcm1NYXRyaXg0ZnYsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRGJvb2xlYW4sIEdDM0Rm
bG9hdCopCiAKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzEodXNlUHJvZ3JhbSwgUGxhdGZvcm0zRE9i
amVjdCkKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzEodmFsaWRhdGVQcm9ncmFtLCBQbGF0Zm9ybTNE
T2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuaAppbmRleCBkMjk2ZWViOWI4ZTQ5OWI3NzY0YjQxMzk5NGUxNGQwNTE5
MDlkMjllLi5iZTlkYjQyODdkYjZlZmEzMjg1ZmNjYjg1NGZlYTM0ODNhZDE1YjZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZh
dGUuaApAQCAtMjA5LDI0ICsyMDksMjQgQEAgcHVibGljOgogICAgIHZvaWQgdGV4U3ViSW1hZ2Uy
RChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGlu
dCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZv
cm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4ZWxzKTsKIAogICAgIHZvaWQgdW5p
Zm9ybTFmKEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCB4KTsKLSAgICB2b2lkIHVuaWZvcm0x
ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBHQzNEc2l6ZWkpOworICAgIHZvaWQg
dW5pZm9ybTFmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0RmbG9hdCogdik7CiAg
ICAgdm9pZCB1bmlmb3JtMWkoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCB4KTsKLSAgICB2b2lk
IHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpKTsKKyAg
ICB2b2lkIHVuaWZvcm0xaXYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2
KTsKICAgICB2b2lkIHVuaWZvcm0yZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgZmxv
YXQgeSk7Ci0gICAgdm9pZCB1bmlmb3JtMmZ2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RmbG9hdCog
diwgR0MzRHNpemVpKTsKKyAgICB2b2lkIHVuaWZvcm0yZnYoR0MzRGludCBsb2NhdGlvbiwgR0Mz
RHNpemVpLCBHQzNEZmxvYXQqIHYpOwogICAgIHZvaWQgdW5pZm9ybTJpKEdDM0RpbnQgbG9jYXRp
b24sIEdDM0RpbnQgeCwgR0MzRGludCB5KTsKLSAgICB2b2lkIHVuaWZvcm0yaXYoR0MzRGludCBs
b2NhdGlvbiwgR0MzRGludCogdiwgR0MzRHNpemVpKTsKKyAgICB2b2lkIHVuaWZvcm0yaXYoR0Mz
RGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNEaW50KiB2KTsKICAgICB2b2lkIHVuaWZvcm0z
ZihHQzNEaW50IGxvY2F0aW9uLCBHQzNEZmxvYXQgeCwgR0MzRGZsb2F0IHksIEdDM0RmbG9hdCB6
KTsKLSAgICB2b2lkIHVuaWZvcm0zZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0KiB2LCBH
QzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9ybTNmdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6
ZWksIEdDM0RmbG9hdCogdik7CiAgICAgdm9pZCB1bmlmb3JtM2koR0MzRGludCBsb2NhdGlvbiwg
R0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RpbnQgeik7Ci0gICAgdm9pZCB1bmlmb3JtM2l2KEdD
M0RpbnQgbG9jYXRpb24sIEdDM0RpbnQqIHYsIEdDM0RzaXplaSk7CisgICAgdm9pZCB1bmlmb3Jt
M2l2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGludCogdik7CiAgICAgdm9pZCB1
bmlmb3JtNGYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGZsb2F0IHgsIEdDM0RmbG9hdCB5LCBHQzNE
ZmxvYXQgeiwgR0MzRGZsb2F0IHcpOwotICAgIHZvaWQgdW5pZm9ybTRmdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEZmxvYXQqIHYsIEdDM0RzaXplaSk7CisgICAgdm9pZCB1bmlmb3JtNGZ2KEdDM0Rp
bnQgbG9jYXRpb24sIEdDM0RzaXplaSwgR0MzRGZsb2F0KiB2KTsKICAgICB2b2lkIHVuaWZvcm00
aShHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRGludCB6LCBHQzNE
aW50IHcpOwotICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0aW9uLCBHQzNEaW50KiB2
LCBHQzNEc2l6ZWkpOwotICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihHQzNEaW50IGxvY2F0aW9u
LCBHQzNEYm9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUsIEdDM0RzaXplaSk7Ci0g
ICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24sIEdDM0Rib29sZWFuIHRy
YW5zcG9zZSwgR0MzRGZsb2F0KiB2YWx1ZSwgR0MzRHNpemVpKTsKLSAgICB2b2lkIHVuaWZvcm1N
YXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxv
YXQqIHZhbHVlLCBHQzNEc2l6ZWkpOworICAgIHZvaWQgdW5pZm9ybTRpdihHQzNEaW50IGxvY2F0
aW9uLCBHQzNEc2l6ZWksIEdDM0RpbnQqIHYpOworICAgIHZvaWQgdW5pZm9ybU1hdHJpeDJmdihH
QzNEaW50IGxvY2F0aW9uLCBHQzNEc2l6ZWksIEdDM0Rib29sZWFuIHRyYW5zcG9zZSwgR0MzRGZs
b2F0KiB2YWx1ZSk7CisgICAgdm9pZCB1bmlmb3JtTWF0cml4M2Z2KEdDM0RpbnQgbG9jYXRpb24s
IEdDM0RzaXplaSwgR0MzRGJvb2xlYW4gdHJhbnNwb3NlLCBHQzNEZmxvYXQqIHZhbHVlKTsKKyAg
ICB2b2lkIHVuaWZvcm1NYXRyaXg0ZnYoR0MzRGludCBsb2NhdGlvbiwgR0MzRHNpemVpLCBHQzNE
Ym9vbGVhbiB0cmFuc3Bvc2UsIEdDM0RmbG9hdCogdmFsdWUpOwogCiAgICAgdm9pZCB1c2VQcm9n
cmFtKFBsYXRmb3JtM0RPYmplY3QpOwogICAgIHZvaWQgdmFsaWRhdGVQcm9ncmFtKFBsYXRmb3Jt
M0RPYmplY3QpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>