<?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>90869</bug_id>
          
          <creation_ts>2012-07-10 04:27:59 -0700</creation_ts>
          <short_desc>Add ImageDecodeWorker</short_desc>
          <delta_ts>2012-08-06 22:22:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          <dependson>90780</dependson>
          <blocked>90935</blocked>
    
    <blocked>90375</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dongseong.hwang</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>levin+threading</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>sw0524.lee</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>665651</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-10 04:27:59 -0700</bug_when>
    <thetext>ImageDecodeWorker is a thread pool implementation based on WorkQueue. ImageDecodeWorker internally manages a pool of WorkQueues (n = number of cores) and assigns one from the pool when an ImageDecodeWorker instance is created. So two ImageDecodeWorkers can share one WorkQueue.

Parallel image decoders create an instance of ImageDecodeWorker for each image. So the number of ImageDecodeWorker instances can be arbitrarily large, but the number of WorkQueues is limited to the number of cores. This effectively utilizes the underlying cores.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666556</commentid>
    <comment_count>1</comment_count>
      <attachid>151656</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-11 02:21:36 -0700</bug_when>
    <thetext>Created attachment 151656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666559</commentid>
    <comment_count>2</comment_count>
      <attachid>151656</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-11 02:30:56 -0700</bug_when>
    <thetext>Comment on attachment 151656
Patch

Attachment 151656 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13204301</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666573</commentid>
    <comment_count>3</comment_count>
      <attachid>151656</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-11 02:44:32 -0700</bug_when>
    <thetext>Comment on attachment 151656
Patch

Attachment 151656 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13207234</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666575</commentid>
    <comment_count>4</comment_count>
      <attachid>151656</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-11 02:47:42 -0700</bug_when>
    <thetext>Comment on attachment 151656
Patch

Attachment 151656 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13202279</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666593</commentid>
    <comment_count>5</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-11 03:10:55 -0700</bug_when>
    <thetext>Please don&apos;t run ews because this patch doesn&apos;t build until Bug 90780 is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666602</commentid>
    <comment_count>6</comment_count>
      <attachid>151656</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 03:27:40 -0700</bug_when>
    <thetext>Comment on attachment 151656
Patch

Attachment 151656 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13199252</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666603</commentid>
    <comment_count>7</comment_count>
      <attachid>151656</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 03:28:38 -0700</bug_when>
    <thetext>Comment on attachment 151656
Patch

Attachment 151656 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13205285</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666604</commentid>
    <comment_count>8</comment_count>
      <attachid>151666</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-11 03:28:47 -0700</bug_when>
    <thetext>Created attachment 151666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666606</commentid>
    <comment_count>9</comment_count>
      <attachid>151667</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-11 03:31:40 -0700</bug_when>
    <thetext>Created attachment 151667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666608</commentid>
    <comment_count>10</comment_count>
      <attachid>151667</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 03:36:19 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13204311</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666609</commentid>
    <comment_count>11</comment_count>
      <attachid>151667</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-11 03:36:31 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13198317</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666616</commentid>
    <comment_count>12</comment_count>
      <attachid>151667</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-11 03:43:43 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13209311</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666622</commentid>
    <comment_count>13</comment_count>
      <attachid>151667</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-11 03:54:07 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13219019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666660</commentid>
    <comment_count>14</comment_count>
      <attachid>151667</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 04:46:45 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13214021</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666667</commentid>
    <comment_count>15</comment_count>
      <attachid>151667</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 04:50:22 -0700</bug_when>
    <thetext>Comment on attachment 151667
Patch

Attachment 151667 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13206310</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667396</commentid>
    <comment_count>16</comment_count>
      <attachid>151857</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-11 22:15:00 -0700</bug_when>
    <thetext>Created attachment 151857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667398</commentid>
    <comment_count>17</comment_count>
      <attachid>151857</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 22:21:11 -0700</bug_when>
    <thetext>Comment on attachment 151857
Patch

Attachment 151857 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13203593</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667400</commentid>
    <comment_count>18</comment_count>
      <attachid>151857</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-11 22:30:41 -0700</bug_when>
    <thetext>Comment on attachment 151857
Patch

Attachment 151857 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13180691</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667404</commentid>
    <comment_count>19</comment_count>
      <attachid>151857</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 22:34:03 -0700</bug_when>
    <thetext>Comment on attachment 151857
Patch

Attachment 151857 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13207521</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667412</commentid>
    <comment_count>20</comment_count>
      <attachid>151857</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-11 22:40:08 -0700</bug_when>
    <thetext>Comment on attachment 151857
Patch

Attachment 151857 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13206580</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667417</commentid>
    <comment_count>21</comment_count>
      <attachid>151857</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-11 22:47:23 -0700</bug_when>
    <thetext>Comment on attachment 151857
Patch

Attachment 151857 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13198642</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667426</commentid>
    <comment_count>22</comment_count>
      <attachid>151866</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-11 23:01:47 -0700</bug_when>
    <thetext>Created attachment 151866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667463</commentid>
    <comment_count>23</comment_count>
      <attachid>151872</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-12 00:37:35 -0700</bug_when>
    <thetext>Created attachment 151872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670971</commentid>
    <comment_count>24</comment_count>
      <attachid>152695</attachid>
    <who name="Kwonjin Jeong">gram</who>
    <bug_when>2012-07-16 21:51:05 -0700</bug_when>
    <thetext>Created attachment 152695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671864</commentid>
    <comment_count>25</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-17 18:47:19 -0700</bug_when>
    <thetext>This patch will break cr-linux build because Chromium port does not have WorkQueue implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671876</commentid>
    <comment_count>26</comment_count>
      <attachid>152695</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 19:06:12 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13281359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671877</commentid>
    <comment_count>27</comment_count>
      <attachid>152695</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-07-17 19:07:31 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13279359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671878</commentid>
    <comment_count>28</comment_count>
      <attachid>152695</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-17 19:07:37 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13272333</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671887</commentid>
    <comment_count>29</comment_count>
      <attachid>152695</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-17 19:25:15 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13276335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671895</commentid>
    <comment_count>30</comment_count>
      <attachid>152695</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-17 19:38:59 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13284329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671896</commentid>
    <comment_count>31</comment_count>
      <attachid>152695</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-17 19:39:56 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13284330</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672018</commentid>
    <comment_count>32</comment_count>
      <attachid>152695</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-17 23:20:59 -0700</bug_when>
    <thetext>Comment on attachment 152695
Patch

Attachment 152695 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13276385</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688818</commentid>
    <comment_count>33</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-08-06 22:22:19 -0700</bug_when>
    <thetext>We are working on 90869 instead. Close this bug as WONTFIX.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151656</attachid>
            <date>2012-07-11 02:21:36 -0700</date>
            <delta_ts>2012-07-11 03:28:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120711182103.patch</filename>
            <type>text/plain</type>
            <size>17869</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4Mjc4NDQ0OGVkZGE1M2Q5ZmQyMjZl
N2RjZmU0ZDAyMmQwY2M2NDIuLjIyYjc0ZWFiZDNlODNhYzQ0NmQxMmQ5MzZhYjI4Mjg1YTMwNDY3
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKworMjAxMi0wNy0xMSAg
S3dvbmppbiBKZW9uZyAgPGdyYW1AY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgTW92ZSBXb3Jr
UXVldWUgdG8gV1RGCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDc4MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZiYjA1MzY4YWY3OGEyZDg5MDA4ZWRkNDQwZTQw
MDRkNWFiODU1Yy4uYjMxNGRjYjc2Mzg0NGUzOGNiYTFhOWVjMzNkMjE4NjRmMjQ1NWJhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA3LTExICBLd29uamluIEplb25nICA8Z3Jh
bUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBBZGQgSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VEZWNvZGVXb3Jr
ZXIgaXMgYSB0aHJlYWQgcG9vbCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBXb3JrUXVldWUuCisg
ICAgICAgIEltYWdlRGVjb2RlV29ya2VyIGludGVybmFsbHkgbWFuYWdlcyBhIHBvb2wgb2YgV29y
a1F1ZXVlcyAobiA9IG51bWJlcgorICAgICAgICBvZiBjb3JlcykgYW5kIGFzc2lnbnMgb25lIGZy
b20gdGhlIHBvb2wgd2hlbiBhbiBJbWFnZURlY29kZVdvcmtlcgorICAgICAgICBpbnN0YW5jZSBp
cyBjcmVhdGVkLiBTbyB0d28gSW1hZ2VEZWNvZGVXb3JrZXJzIGNhbiBzaGFyZSBvbmUgV29ya1F1
ZXVlLgorCisgICAgICAgIFBhcmFsbGVsIGltYWdlIGRlY29kZXJzIGNyZWF0ZSBhbiBpbnN0YW5j
ZSBvZiBJbWFnZURlY29kZVdvcmtlciBmb3IKKyAgICAgICAgZWFjaCBpbWFnZS4gU28gdGhlIG51
bWJlciBvZiBJbWFnZURlY29kZVdvcmtlciBpbnN0YW5jZXMgY2FuIGJlCisgICAgICAgIGFyYml0
cmFyaWx5IGxhcmdlLCBidXQgdGhlIG51bWJlciBvZiBXb3JrUXVldWVzIGlzIGxpbWl0ZWQgdG8g
dGhlCisgICAgICAgIG51bWJlciBvZiBjb3Jlcy4gVGhpcyBlZmZlY3RpdmVseSB1dGlsaXplcyB0
aGUgdW5kZXJseWluZyBjb3Jlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VE
ZWNvZGVXb3JrZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmFjcXVpcmVTaGFyZWRXb3JrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmluaXRpYWxpemVXb3JrUXVldWVQb29sKToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjpxdWV1ZUlkV2l0aE1pbmltdW1BY3F1
aXJlQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OkltYWdlRGVj
b2RlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjp+SW1hZ2VE
ZWNvZGVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6Omhhc1Rl
cm1pbmF0aW9uQmVndW4pOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmNh
bmNlbGFibGVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6
cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmVuc3VyZVRl
cm1pbmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEltYWdlRGVjb2RlV29ya2Vy
KToKKwogMjAxMi0wNy0xMCAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgU2hhZG93Um9vdCBzaG91bGQga25vdyBpdHMgdHlwZSBpbiBkZWJ1ZyBidWls
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwCmlu
ZGV4IDllNjU5MmI1NzE1Njc5YWUyYmM5YTZkMWEwYjZmM2I4YzllMThlODEuLmFlNWZjODE5NmIx
Y2E2OWZhMmExNTE0ZWUyODZjMTNmOWU3MjQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY2hy
b21pdW0vTWFpblRocmVhZENocm9taXVtLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVk
ZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgIkNocm9taXVtVGhyZWFkaW5nLmgiCisjaW5jbHVk
ZSAiRnVuY3Rpb25hbC5oIgogI2luY2x1ZGUgIlRocmVhZGluZy5oIgogCiBuYW1lc3BhY2UgV1RG
IHsKQEAgLTU0LDYgKzU1LDE4IEBAIHZvaWQgY2FsbE9uTWFpblRocmVhZChNYWluVGhyZWFkRnVu
Y3Rpb24qIGZ1bmN0aW9uLCB2b2lkKiBjb250ZXh0KQogICAgIENocm9taXVtVGhyZWFkaW5nOjpj
YWxsT25NYWluVGhyZWFkKGZ1bmN0aW9uLCBjb250ZXh0KTsKIH0KIAorc3RhdGljIHZvaWQgY2Fs
bEZ1bmN0aW9uT2JqZWN0KHZvaWQqIGNvbnRleHQpCit7CisgICAgRnVuY3Rpb248dm9pZCgpPiog
ZnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxGdW5jdGlvbjx2b2lkKCk+Kj4oY29udGV4dCk7CisgICAg
KCpmdW5jdGlvbikoKTsKKyAgICBkZWxldGUgZnVuY3Rpb247Cit9CisKK3ZvaWQgY2FsbE9uTWFp
blRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3sKKyAgICBjYWxsT25N
YWluVGhyZWFkKGNhbGxGdW5jdGlvbk9iamVjdCwgbmV3IEZ1bmN0aW9uPHZvaWQgKCk+KGZ1bmN0
aW9uKSk7Cit9CisKIHZvaWQgY2FsbE9uTWFpblRocmVhZEFuZFdhaXQoTWFpblRocmVhZEZ1bmN0
aW9uKiwgdm9pZCopCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGUwNzM3ZDhmZDVjODMxMzc3ODdkZGIyZjAxMDc5MWZjOTI3ZmFiNzguLjZkMTcy
MTlmMDY0NDYyMDYxZGU1NzcwOTU2MTQyZTIyZDZhNzA1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xMTk0LDYgKzExOTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5j
cHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAKKyAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZU9yaWVudGF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDM3ODE3MjdhYTZhMGU0ZTE1NGU5ZWJmNzYxOWVhOWYyY2UzYzg0M2MuLmU4ZGM3MDYwMDcz
NjNmYzM1OTVhY2ZlOThmY2I2YTI1MTY2OWM0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMzM1NSw2ICszMzU1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRhdGEuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZURlY29kZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlT2JzZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VPcmllbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlT3JpZW50YXRpb24uaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBiOTE0OTc1NTNmNGEwZTRiOTM0
Y2M1YWY0YzRhNjI3NTIwNjMyZjU4Li5iOGNhZDU3MTYyNDI4M2M0OTY5MDRjYzYyZjA3YTJlMTFl
ZTcwN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTExMjIsNiArMTEyMiw3IEBAIFNPVVJDRVMgKz0gXAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZS5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNw
cCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNw
cCBcCkBAIC0yMjk4LDYgKzIyOTksNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc1R5cGVzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlw
ZXMzRC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oIFwKKyAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZU9yaWVudGF0aW9uLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggXAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA5MDYyYzhiMjMxZjZjMGE1YWEzYmQxYTk0
YjUxZjRkNDhmZDM4ODM0Li40OTdlZThmMGJhMDEyNmRkZmU3ZWFjMTNjOTRkOTI0NTg2YzFkYWIw
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAt
MjkyOTgsNiArMjkyOTgsMTQgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdlRGVjb2RlV29ya2VyLmNw
cCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXEltYWdlRGVjb2RlV29ya2VyLmgiCisJCQkJCT4KKwkJCQk8L0Zp
bGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xJ
bWFnZU9ic2VydmVyLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzEyNmM5NWFmOWM5OTU3
ODFhNmEwYzFlMzQyNDc0ZjI0NDg1YWM1MC4uYWZmNmY5ODZmNGY0MGRkMzcxZGYzNzA5Y2QzNTc2
MjY1YmZlY2JhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNjQ4MCw2ICs2NDgwLDggQEAKIAkJRkU4MERBNzIwRTlDNDcyRjAw
MEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25F
cnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxp
dHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgKi87
IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3ODEz
NUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZGRDZCOTdBMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRkQ2Qjk2QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVX
b3JrZXIuY3BwICovOyB9OworCQlGRkQ2Qjk3QjEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNv
ZGVXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZGRDZCOTZCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovOyB9Owog
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzgxNSw2ICsxMzgxNyw4IEBACiAJCUZFODBEQTZFMEU5
QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VWaXNpYmlsaXR5U3RhdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5
MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZURlY29kZVdvcmtlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDZCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJ
bWFnZURlY29kZVdvcmtlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW1hZ2VEZWNvZGVXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQ
QlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTk2NzUsNiArMTk2NzksOCBAQAogCQkJCTQzRDI1OTc2MTND
ODE2RjQwMDYwODU1OSAvKiBJbWFnZUJ1ZmZlci5jcHAgKi8sCiAJCQkJQjJBMTBCOTEwQjM4MThC
RDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggKi8sCiAJCQkJMjJCRDlGN0QxMzUzNjI1QzAwOUJE
MTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovLAorCQkJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi8KKwkJCQlGRkQ2Qjk2QTEzNUNDOTc4MDBENUU5
MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCAqLwogCQkJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4
MSAvKiBJbWFnZU9ic2VydmVyLmggKi8sCiAJCQkJQTg3NDhENzQxMkNDM0Y4OTAwMUZCQTQxIC8q
IEltYWdlT3JpZW50YXRpb24uY3BwICovLAogCQkJCUE4NzQ4RDY2MTJDQzM3NjMwMDFGQkE0MSAv
KiBJbWFnZU9yaWVudGF0aW9uLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjViMTMwNzUy
ZDQ2ZjZiYzAzMTEyNDI5OWM4ZDNkMzdiMTI2N2RjYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcApAQCAtMCww
ICsxLDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBDb21wYW55IDEwMCBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZURlY29kZVdvcmtlci5o
IgorCisjaW5jbHVkZSA8bGltaXRzPgorCisjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4K
KyNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1ZlY3RvcjxXb3JrUXVldWUqPiogSW1hZ2VEZWNvZGVXb3JrZXI6OnNfd29ya1F1ZXVlUG9v
bCA9IDA7CitpbnQqIEltYWdlRGVjb2RlV29ya2VyOjpzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudCA9
IDA7CisKK1Bhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IEltYWdlRGVjb2RlV29ya2VyOjph
Y3F1aXJlU2hhcmVkV29ya2VyKCkKK3sKKyAgICBpZiAoIXNfd29ya1F1ZXVlUG9vbCkKKyAgICAg
ICAgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
SW1hZ2VEZWNvZGVXb3JrZXIoKSk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6OmluaXRp
YWxpemVXb3JrUXVldWVQb29sKCkKK3sKKyAgICBjb25zdCBpbnQgbnVtQ29yZXMgPSBXVEY6Om51
bWJlck9mUHJvY2Vzc29yQ29yZXMoKTsKKworICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50ID0g
bmV3IGludFtudW1Db3Jlc107CisgICAgc193b3JrUXVldWVQb29sID0gbmV3IFZlY3RvcjxXb3Jr
UXVldWUqPigpOworICAgIHNfd29ya1F1ZXVlUG9vbC0+cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShu
dW1Db3Jlcyk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1Db3JlczsgaSsrKSB7CisgICAg
ICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W2ldID0gMDsKKyAgICAgICAgU3RyaW5nIHF1ZXVl
TmFtZSA9ICJJbWFnZURlY29kZVdvcmtlci4iICsgU3RyaW5nOjpudW1iZXIoaSk7CisgICAgICAg
IHNfd29ya1F1ZXVlUG9vbC0+YXBwZW5kKG5ldyBXb3JrUXVldWUocXVldWVOYW1lLmFzY2lpKCku
ZGF0YSgpKSk7CisgICAgfQorfQorCitpbnQgSW1hZ2VEZWNvZGVXb3JrZXI6OnF1ZXVlSWRXaXRo
TWluaW11bUFjcXVpcmVDb3VudCgpCit7CisgICAgaW50IG1pbmltdW1BY3F1aXJlQ291bnQgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAgIGludCBpbmRleCA9IHNfd29ya1F1
ZXVlUG9vbC0+c2l6ZSgpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzX3dvcmtRdWV1
ZVBvb2wtPnNpemUoKTsgaSsrKSB7CisgICAgICAgIGlmIChzX3dvcmtRdWV1ZUFjcXVpcmVDb3Vu
dFtpXSA8IG1pbmltdW1BY3F1aXJlQ291bnQpIHsKKyAgICAgICAgICAgIG1pbmltdW1BY3F1aXJl
Q291bnQgPSBzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudFtpXTsKKyAgICAgICAgICAgIGluZGV4ID0g
aTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEFTU0VSVChpbmRleCA8IHNfd29ya1F1ZXVlUG9v
bC0+c2l6ZSgpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisKK0ltYWdlRGVjb2RlV29ya2VyOjpJ
bWFnZURlY29kZVdvcmtlcigpCisgICAgOiBtX3dvcmtlclN0YXR1cyhSdW5uaW5nKQoreworICAg
IG1fd29ya1F1ZXVlSWQgPSBxdWV1ZUlkV2l0aE1pbmltdW1BY3F1aXJlQ291bnQoKTsKKyAgICBt
X3dvcmtRdWV1ZSA9ICgqc193b3JrUXVldWVQb29sKVttX3dvcmtRdWV1ZUlkXTsKKyAgICBzX3dv
cmtRdWV1ZUFjcXVpcmVDb3VudFttX3dvcmtRdWV1ZUlkXSsrOworfQorCitJbWFnZURlY29kZVdv
cmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKCkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrZXIobV93
b3JrZXJTdGF0dXNNdXRleCk7CisgICAgbV93b3JrZXJTdGF0dXMgPSBUZXJtaW5hdGlvbkJlZ3Vu
OworCisgICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKGJpbmQoJkltYWdlRGVjb2RlV29ya2VyOjpl
bnN1cmVUZXJtaW5hdGUsIHRoaXMpKTsKKyAgICB3aGlsZSAobV93b3JrZXJTdGF0dXMgIT0gVGVy
bWluaWF0aW9uQ29tcGxldGVkKQorICAgICAgICBtX3Rlcm1pbmF0aW9uQ29tcGxldGVkLndhaXQo
bV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnRbbV93b3Jr
UXVldWVJZF0tLTsKK30KKworYm9vbCBJbWFnZURlY29kZVdvcmtlcjo6aGFzVGVybWluYXRpb25C
ZWd1bigpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fd29ya2VyU3RhdHVzTXV0ZXgpOwor
ICAgIEFTU0VSVChtX3dvcmtlclN0YXR1cyAhPSBUZXJtaW5pYXRpb25Db21wbGV0ZWQpOworICAg
IHJldHVybiBtX3dvcmtlclN0YXR1cyA9PSBUZXJtaW5hdGlvbkJlZ3VuOworfQorCit2b2lkIElt
YWdlRGVjb2RlV29ya2VyOjpjYW5jZWxhYmxlRnVuY3Rpb24oSW1hZ2VEZWNvZGVXb3JrZXIqIElt
YWdlRGVjb2RlV29ya2VyLCBjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3sKKyAg
ICBpZiAoVU5MSUtFTFkoSW1hZ2VEZWNvZGVXb3JrZXItPmhhc1Rlcm1pbmF0aW9uQmVndW4oKSkp
CisgICAgICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNv
ZGVXb3JrZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQorewor
ICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChiaW5kKEltYWdlRGVjb2RlV29ya2VyOjpjYW5jZWxh
YmxlRnVuY3Rpb24sIHRoaXMsIGZ1bmN0aW9uKSk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3Jr
ZXI6OmVuc3VyZVRlcm1pbmF0ZShJbWFnZURlY29kZVdvcmtlciogSW1hZ2VEZWNvZGVXb3JrZXIp
Cit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0
YXR1c011dGV4KTsKKyAgICBBU1NFUlQoSW1hZ2VEZWNvZGVXb3JrZXItPm1fd29ya2VyU3RhdHVz
ID09IFRlcm1pbmF0aW9uQmVndW4pOworICAgIEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0
YXR1cyA9IFRlcm1pbmlhdGlvbkNvbXBsZXRlZDsKKyAgICBJbWFnZURlY29kZVdvcmtlci0+bV90
ZXJtaW5hdGlvbkNvbXBsZXRlZC5zaWduYWwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNv
ZGVXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2Rl
V29ya2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ5MTQ1YzQ5YjUwMDY4OGU1YjcwYzg3MDY3YzIyMTk0ODRl
NTI5YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlRGVjb2RlV29ya2VyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VEZWNvZGVXb3Jr
ZXJfaAorI2RlZmluZSBJbWFnZURlY29kZVdvcmtlcl9oCisKKyNpbmNsdWRlIDx3dGYvRnVuY3Rp
b25hbC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtR
dWV1ZS5oPgorCitjbGFzcyBXb3JrUXVldWU7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgSW1hZ2VEZWNvZGVXb3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZURlY29kZVdvcmtl
cj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlRGVjb2RlV29ya2VyPiBh
Y3F1aXJlU2hhcmVkV29ya2VyKCk7CisKKyAgICB2aXJ0dWFsIH5JbWFnZURlY29kZVdvcmtlcigp
OworCisgICAgdm9pZCBwb3N0VGFzayhjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisKK3ByaXZh
dGU6CisgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKyAgICBzdGF0
aWMgaW50IHF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCgpOworCisgICAgLy8gRklYTUU6
IFRoZXNlIHR3byBzdGF0aWMgZnVuY3Rpb25zIHNob3VsZCBiZWNvbWUgbm9uLXN0YXRpYyBtZXRo
b2RzLgorICAgIC8vIEhvd2V2ZXIsIGRlZmluaW5nIHRoZW0gYXMgbm9uLXN0YXRpYyBtZXRob2Rz
IGNhdXNlcyBhbiB1bmludGVuZGVkIGRlc3RydWN0b3IKKyAgICAvLyBjYWxsIHdoaWxlIGEgRnVu
Y3Rpb24gb2JqZWN0IHBhc3NlZCBXb3JrUXVldWU6OmRpc3BhdGNoKCkgaXMgYmVpbmcgZGVzdHJ1
Y3RlZC4KKyAgICAvLyBUbyBhdm9pZCB0aGlzIHByb2JsZW0sIHRoZXNlIGZ1bmN0aW9ucyBhcmUg
ZGVmaW5lZCBhcyBzdGF0aWMgbWV0aG9kcy4KKyAgICBzdGF0aWMgdm9pZCBjYW5jZWxhYmxlRnVu
Y3Rpb24oSW1hZ2VEZWNvZGVXb3JrZXIqIGRpc3BhdGNoUXVldWUsIGNvbnN0IEZ1bmN0aW9uPHZv
aWQoKT4mKTsKKyAgICBzdGF0aWMgdm9pZCBlbnN1cmVUZXJtaW5hdGUoSW1hZ2VEZWNvZGVXb3Jr
ZXIqIGRpc3BhdGNoUXVldWUpOworCisgICAgSW1hZ2VEZWNvZGVXb3JrZXIoKTsKKworICAgIGJv
b2wgaGFzVGVybWluYXRpb25CZWd1bigpOworCisgICAgc3RhdGljIFZlY3RvcjxXb3JrUXVldWUq
Piogc193b3JrUXVldWVQb29sOworICAgIHN0YXRpYyBpbnQqIHNfd29ya1F1ZXVlQWNxdWlyZUNv
dW50OworCisgICAgZW51bSBXb3JrZXJTdGF0dXMgeyBSdW5uaW5nLCBUZXJtaW5hdGlvbkJlZ3Vu
LCBUZXJtaW5pYXRpb25Db21wbGV0ZWQgfTsKKyAgICBNdXRleCBtX3dvcmtlclN0YXR1c011dGV4
OworICAgIFdvcmtlclN0YXR1cyBtX3dvcmtlclN0YXR1czsKKyAgICBUaHJlYWRDb25kaXRpb24g
bV90ZXJtaW5hdGlvbkNvbXBsZXRlZDsKKworICAgIGludCBtX3dvcmtRdWV1ZUlkOworICAgIFdv
cmtRdWV1ZSogbV93b3JrUXVldWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBJbWFnZURlY29kZVdvcmtlcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151666</attachid>
            <date>2012-07-11 03:28:47 -0700</date>
            <delta_ts>2012-07-11 03:31:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120711192814.patch</filename>
            <type>text/plain</type>
            <size>18937</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4Mjc4NDQ0OGVkZGE1M2Q5ZmQyMjZl
N2RjZmU0ZDAyMmQwY2M2NDIuLjIyYjc0ZWFiZDNlODNhYzQ0NmQxMmQ5MzZhYjI4Mjg1YTMwNDY3
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKworMjAxMi0wNy0xMSAg
S3dvbmppbiBKZW9uZyAgPGdyYW1AY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgTW92ZSBXb3Jr
UXVldWUgdG8gV1RGCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDc4MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkZDdhYWQyODExNTU5YjNjMWZhODVhM2NiMzky
OTMyZDZmZDYyZC4uNTZkMzZiOTgzZTkyNDU5ZmUzNTk3ZTU3OWE0MzAzN2M5NGY3ZTg1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA3LTExICBLd29uamluIEplb25nICA8Z3Jh
bUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBBZGQgSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VEZWNvZGVXb3Jr
ZXIgaXMgYSB0aHJlYWQgcG9vbCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBXb3JrUXVldWUuCisg
ICAgICAgIEltYWdlRGVjb2RlV29ya2VyIGludGVybmFsbHkgbWFuYWdlcyBhIHBvb2wgb2YgV29y
a1F1ZXVlcyAobiA9IG51bWJlcgorICAgICAgICBvZiBjb3JlcykgYW5kIGFzc2lnbnMgb25lIGZy
b20gdGhlIHBvb2wgd2hlbiBhbiBJbWFnZURlY29kZVdvcmtlcgorICAgICAgICBpbnN0YW5jZSBp
cyBjcmVhdGVkLiBTbyB0d28gSW1hZ2VEZWNvZGVXb3JrZXJzIGNhbiBzaGFyZSBvbmUgV29ya1F1
ZXVlLgorCisgICAgICAgIFBhcmFsbGVsIGltYWdlIGRlY29kZXJzIGNyZWF0ZSBhbiBpbnN0YW5j
ZSBvZiBJbWFnZURlY29kZVdvcmtlciBmb3IKKyAgICAgICAgZWFjaCBpbWFnZS4gU28gdGhlIG51
bWJlciBvZiBJbWFnZURlY29kZVdvcmtlciBpbnN0YW5jZXMgY2FuIGJlCisgICAgICAgIGFyYml0
cmFyaWx5IGxhcmdlLCBidXQgdGhlIG51bWJlciBvZiBXb3JrUXVldWVzIGlzIGxpbWl0ZWQgdG8g
dGhlCisgICAgICAgIG51bWJlciBvZiBjb3Jlcy4gVGhpcyBlZmZlY3RpdmVseSB1dGlsaXplcyB0
aGUgdW5kZXJseWluZyBjb3Jlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjphY3F1aXJl
U2hhcmVkV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjppbml0
aWFsaXplV29ya1F1ZXVlUG9vbCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtl
cjo6cXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRGVjb2RlV29ya2VyOjpJbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlRGVjb2RlV29ya2VyOjpoYXNUZXJtaW5hdGlvbkJlZ3VuKToKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlRGVjb2RlV29ya2VyOjpjYW5jZWxhYmxlRnVuY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRGVjb2RlV29ya2VyOjplbnN1cmVUZXJtaW5hdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChJbWFnZURlY29kZVdvcmtlcik6CisKIDIwMTItMDctMTEgIFlvc2hpZnVtaSBJbm91
ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbTWFjXSBFeHBvc2UgdGltZSBmb3Jt
YXQgcmVsYXRlZCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVt
L01haW5UaHJlYWRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhy
ZWFkQ2hyb21pdW0uY3BwCmluZGV4IDllNjU5MmI1NzE1Njc5YWUyYmM5YTZkMWEwYjZmM2I4Yzll
MThlODEuLmFlNWZjODE5NmIxY2E2OWZhMmExNTE0ZWUyODZjMTNmOWU3MjQyMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvY2hyb21pdW0vTWFpblRocmVhZENocm9taXVtLmNwcApAQCAtMzMsNiAr
MzMsNyBAQAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgIkNocm9taXVtVGhy
ZWFkaW5nLmgiCisjaW5jbHVkZSAiRnVuY3Rpb25hbC5oIgogI2luY2x1ZGUgIlRocmVhZGluZy5o
IgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTU0LDYgKzU1LDE4IEBAIHZvaWQgY2FsbE9uTWFpblRo
cmVhZChNYWluVGhyZWFkRnVuY3Rpb24qIGZ1bmN0aW9uLCB2b2lkKiBjb250ZXh0KQogICAgIENo
cm9taXVtVGhyZWFkaW5nOjpjYWxsT25NYWluVGhyZWFkKGZ1bmN0aW9uLCBjb250ZXh0KTsKIH0K
IAorc3RhdGljIHZvaWQgY2FsbEZ1bmN0aW9uT2JqZWN0KHZvaWQqIGNvbnRleHQpCit7CisgICAg
RnVuY3Rpb248dm9pZCgpPiogZnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxGdW5jdGlvbjx2b2lkKCk+
Kj4oY29udGV4dCk7CisgICAgKCpmdW5jdGlvbikoKTsKKyAgICBkZWxldGUgZnVuY3Rpb247Cit9
CisKK3ZvaWQgY2FsbE9uTWFpblRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlv
bikKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKGNhbGxGdW5jdGlvbk9iamVjdCwgbmV3IEZ1bmN0
aW9uPHZvaWQgKCk+KGZ1bmN0aW9uKSk7Cit9CisKIHZvaWQgY2FsbE9uTWFpblRocmVhZEFuZFdh
aXQoTWFpblRocmVhZEZ1bmN0aW9uKiwgdm9pZCopCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUwNzM3ZDhmZDVjODMxMzc3ODdkZGIyZjAxMDc5
MWZjOTI3ZmFiNzguLjZkMTcyMTlmMDY0NDYyMDYxZGU1NzcwOTU2MTQyZTIyZDZhNzA1M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTk0LDYgKzExOTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5jcHAKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5j
cHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ludFJlY3QuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODE3MjdhYTZhMGU0ZTE1NGU5ZWJmNzYxOWVhOWYyY2Uz
Yzg0M2MuLmU4ZGM3MDYwMDczNjNmYzM1OTVhY2ZlOThmY2I2YTI1MTY2OWM0ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzM1NSw2ICszMzU1LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRh
dGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT2JzZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBi
OTE0OTc1NTNmNGEwZTRiOTM0Y2M1YWY0YzRhNjI3NTIwNjMyZjU4Li5iOGNhZDU3MTYyNDI4M2M0
OTY5MDRjYzYyZjA3YTJlMTFlZTcwN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTExMjIsNiArMTEyMiw3
IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3Bw
IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmNwcCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVX
b3JrZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmNwcCBcCkBAIC0yMjk4LDYgKzIyOTksNyBAQCBIRUFERVJTICs9IFwK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmggXAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
IFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDliNjhkM2VmMzk5ZWYzMTQ1YzRjMzFjYjVlYmU5Zjk0OTQyYzU2YWEu
LmUzMWYxNGJhODViYjlhMmJmZGQwNDI5NTVjM2ViMWNiZmQ3ZDgwMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTM4Miw2ICszODIsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyRGF0YS5oJywKKyAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCcsCkBAIC0zNDk1LDYgKzM0OTYsNyBAQAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VEZWNvZGVCdWZmZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZU9yaWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDkwNjJjOGIyMzFmNmMwYTVhYTNiZDFhOTRiNTFmNGQ0OGZkMzg4MzQuLjQ5N2VlOGYwYmEwMTI2
ZGRmZTdlYWMxM2M5NGQ5MjQ1ODZjMWRhYjAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yOTI5OCw2ICsyOTI5OCwxNCBAQAogCQkJCQk+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcSW1hZ2VEZWNvZGVX
b3JrZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdlT2JzZXJ2ZXIuaCIKIAkJCQkJPgogCQkJCTwv
RmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBjMTI2Yzk1YWY5Yzk5NTc4MWE2YTBjMWUzNDI0NzRmMjQ0ODVhYzUwLi5hZmY2
Zjk4NmY0ZjQwZGQzNzFkZjM3MDljZDM1NzYyNjViZmVjYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDgwLDYgKzY0ODAs
OCBAQAogCQlGRTgwREE3MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTgwREE2RTBFOUM0
NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggKi87IH07CiAJCUZGRDVCOTdBMTM1Q0M5
NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQ
YWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJRkZENUI5N0IxMzVDQzk3ODAwRDVFOTJB
IC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc4MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0
eVN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRkZENkI5N0ExMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDZCOTZBMTM1Q0M5
NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi87IH07CisJCUZGRDZCOTdCMTM1
Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkZENkI5NkIxMzVDQzk3ODAwRDVFOTJBIC8qIElt
YWdlRGVjb2RlV29ya2VyLmggKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KQEAgLTEzODE1LDYg
KzEzODE3LDggQEAKIAkJRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Bvc2l0aW9uRXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZENUI5NzcxMzVDQzk3ODAwRDVFOTJBIC8q
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZGRDVCOTc4MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VWaXNpYmlsaXR5U3RhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZENkI5NkExMzVDQzk3ODAwRDVFOTJBIC8qIElt
YWdlRGVjb2RlV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlRGVjb2RlV29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZE
NkI5N0IxMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZURlY29kZVdvcmtlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAv
KiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC0xOTY3NSw2ICsx
OTY3OSw4IEBACiAJCQkJNDNEMjU5NzYxM0M4MTZGNDAwNjA4NTU5IC8qIEltYWdlQnVmZmVyLmNw
cCAqLywKIAkJCQlCMkExMEI5MTBCMzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCAqLywK
IAkJCQkyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggKi8sCisJ
CQkJRkZENkI5NkExMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmNwcCAqLwor
CQkJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovCiAJ
CQkJQkM3RjQ0QTcwQjlFMzI0RTAwQTlEMDgxIC8qIEltYWdlT2JzZXJ2ZXIuaCAqLywKIAkJCQlB
ODc0OEQ3NDEyQ0MzRjg5MDAxRkJBNDEgLyogSW1hZ2VPcmllbnRhdGlvbi5jcHAgKi8sCiAJCQkJ
QTg3NDhENjYxMkNDMzc2MzAwMUZCQTQxIC8qIEltYWdlT3JpZW50YXRpb24uaCAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2Vy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNmI5MzdhYzhjNzZlOWRiZGYyOTcwMjcyODAyOTZiZWIyNTczZjEz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VEZWNvZGVXb3JrZXIuY3BwCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkltYWdlRGVjb2RlV29ya2VyLmgiCisKKyNpbmNsdWRlIDxsaW1pdHM+CisKKyNpbmNs
dWRlIDx3dGYvTnVtYmVyT2ZDb3Jlcy5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVmVjdG9yPFdvcmtRdWV1ZSo+KiBJbWFnZURl
Y29kZVdvcmtlcjo6c193b3JrUXVldWVQb29sID0gMDsKK2ludCogSW1hZ2VEZWNvZGVXb3JrZXI6
OnNfd29ya1F1ZXVlQWNxdWlyZUNvdW50ID0gMDsKKworUGFzc1JlZlB0cjxJbWFnZURlY29kZVdv
cmtlcj4gSW1hZ2VEZWNvZGVXb3JrZXI6OmFjcXVpcmVTaGFyZWRXb3JrZXIoKQoreworICAgIGlm
ICghc193b3JrUXVldWVQb29sKQorICAgICAgICBpbml0aWFsaXplV29ya1F1ZXVlUG9vbCgpOwor
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbWFnZURlY29kZVdvcmtlcigpKTsKK30KKwordm9p
ZCBJbWFnZURlY29kZVdvcmtlcjo6aW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKQoreworICAgIGNv
bnN0IGludCBudW1Db3JlcyA9IFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JDb3JlcygpOworCisgICAg
c193b3JrUXVldWVBY3F1aXJlQ291bnQgPSBuZXcgaW50W251bUNvcmVzXTsKKyAgICBzX3dvcmtR
dWV1ZVBvb2wgPSBuZXcgVmVjdG9yPFdvcmtRdWV1ZSo+KCk7CisgICAgc193b3JrUXVldWVQb29s
LT5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bUNvcmVzKTsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IG51bUNvcmVzOyBpKyspIHsKKyAgICAgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnRbaV0g
PSAwOworICAgICAgICBTdHJpbmcgcXVldWVOYW1lID0gIkltYWdlRGVjb2RlV29ya2VyLiIgKyBT
dHJpbmc6Om51bWJlcihpKTsKKyAgICAgICAgc193b3JrUXVldWVQb29sLT5hcHBlbmQobmV3IFdv
cmtRdWV1ZShxdWV1ZU5hbWUuYXNjaWkoKS5kYXRhKCkpKTsKKyAgICB9Cit9CisKK2ludCBJbWFn
ZURlY29kZVdvcmtlcjo6cXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCkKK3sKKyAgICBp
bnQgbWluaW11bUFjcXVpcmVDb3VudCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7
CisgICAgaW50IGluZGV4ID0gc193b3JrUXVldWVQb29sLT5zaXplKCk7CisKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNfd29ya1F1ZXVlUG9vbC0+c2l6ZSgpOyBpKyspIHsKKyAgICAgICAg
aWYgKHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W2ldIDwgbWluaW11bUFjcXVpcmVDb3VudCkgewor
ICAgICAgICAgICAgbWluaW11bUFjcXVpcmVDb3VudCA9IHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50
W2ldOworICAgICAgICAgICAgaW5kZXggPSBpOworICAgICAgICB9CisgICAgfQorCisgICAgQVNT
RVJUKGluZGV4IDwgc193b3JrUXVldWVQb29sLT5zaXplKCkpOworICAgIHJldHVybiBpbmRleDsK
K30KKworSW1hZ2VEZWNvZGVXb3JrZXI6OkltYWdlRGVjb2RlV29ya2VyKCkKKyAgICA6IG1fd29y
a2VyU3RhdHVzKFJ1bm5pbmcpCit7CisgICAgbV93b3JrUXVldWVJZCA9IHF1ZXVlSWRXaXRoTWlu
aW11bUFjcXVpcmVDb3VudCgpOworICAgIG1fd29ya1F1ZXVlID0gKCpzX3dvcmtRdWV1ZVBvb2wp
W21fd29ya1F1ZXVlSWRdOworICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W21fd29ya1F1ZXVl
SWRdKys7Cit9CisKK0ltYWdlRGVjb2RlV29ya2VyOjp+SW1hZ2VEZWNvZGVXb3JrZXIoKQorewor
ICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBtX3dvcmtl
clN0YXR1cyA9IFRlcm1pbmF0aW9uQmVndW47CisKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2go
YmluZCgmSW1hZ2VEZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSwgdGhpcykpOworICAgIHdo
aWxlIChtX3dvcmtlclN0YXR1cyAhPSBUZXJtaW5pYXRpb25Db21wbGV0ZWQpCisgICAgICAgIG1f
dGVybWluYXRpb25Db21wbGV0ZWQud2FpdChtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBzX3dv
cmtRdWV1ZUFjcXVpcmVDb3VudFttX3dvcmtRdWV1ZUlkXS0tOworfQorCitib29sIEltYWdlRGVj
b2RlV29ya2VyOjpoYXNUZXJtaW5hdGlvbkJlZ3VuKCkKK3sKKyAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgaWYgKG1fd29ya2VyU3RhdHVzID09IFRlcm1p
bmF0aW9uQmVndW4pIHsKKyAgICAgICAgbV93b3JrZXJTdGF0dXMgPSBUZXJtaW5pYXRpb25Db21w
bGV0ZWQ7CisgICAgICAgIG1fdGVybWluYXRpb25Db21wbGV0ZWQuc2lnbmFsKCk7CisgICAgfQor
ICAgIHJldHVybiBtX3dvcmtlclN0YXR1cyAhPSBSdW5uaW5nOworfQorCit2b2lkIEltYWdlRGVj
b2RlV29ya2VyOjpjYW5jZWxhYmxlRnVuY3Rpb24oSW1hZ2VEZWNvZGVXb3JrZXIqIEltYWdlRGVj
b2RlV29ya2VyLCBjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3sKKyAgICBpZiAo
VU5MSUtFTFkoSW1hZ2VEZWNvZGVXb3JrZXItPmhhc1Rlcm1pbmF0aW9uQmVndW4oKSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3Jr
ZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQoreworICAgIG1f
d29ya1F1ZXVlLT5kaXNwYXRjaChiaW5kKEltYWdlRGVjb2RlV29ya2VyOjpjYW5jZWxhYmxlRnVu
Y3Rpb24sIHRoaXMsIGZ1bmN0aW9uKSk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6OmVu
c3VyZVRlcm1pbmF0ZShJbWFnZURlY29kZVdvcmtlciogSW1hZ2VEZWNvZGVXb3JrZXIpCit7Cisg
ICAgTXV0ZXhMb2NrZXIgbG9ja2VyKEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0YXR1c011
dGV4KTsKKyAgICBBU1NFUlQoSW1hZ2VEZWNvZGVXb3JrZXItPm1fd29ya2VyU3RhdHVzICE9IFJ1
bm5pbmcpOworICAgIEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0YXR1cyA9IFRlcm1pbmlh
dGlvbkNvbXBsZXRlZDsKKyAgICBJbWFnZURlY29kZVdvcmtlci0+bV90ZXJtaW5hdGlvbkNvbXBs
ZXRlZC5zaWduYWwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjQ5MTQ1YzQ5YjUwMDY4OGU1YjcwYzg3MDY3YzIyMTk0ODRlNTI5YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29y
a2VyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBDb21wYW55
IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VEZWNvZGVXb3JrZXJfaAorI2RlZmluZSBJ
bWFnZURlY29kZVdvcmtlcl9oCisKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorCitjbGFz
cyBXb3JrUXVldWU7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW1hZ2VEZWNvZGVX
b3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZURlY29kZVdvcmtlcj4geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlRGVjb2RlV29ya2VyPiBhY3F1aXJlU2hhcmVkV29y
a2VyKCk7CisKKyAgICB2aXJ0dWFsIH5JbWFnZURlY29kZVdvcmtlcigpOworCisgICAgdm9pZCBw
b3N0VGFzayhjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisKK3ByaXZhdGU6CisgICAgc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKyAgICBzdGF0aWMgaW50IHF1ZXVlSWRX
aXRoTWluaW11bUFjcXVpcmVDb3VudCgpOworCisgICAgLy8gRklYTUU6IFRoZXNlIHR3byBzdGF0
aWMgZnVuY3Rpb25zIHNob3VsZCBiZWNvbWUgbm9uLXN0YXRpYyBtZXRob2RzLgorICAgIC8vIEhv
d2V2ZXIsIGRlZmluaW5nIHRoZW0gYXMgbm9uLXN0YXRpYyBtZXRob2RzIGNhdXNlcyBhbiB1bmlu
dGVuZGVkIGRlc3RydWN0b3IKKyAgICAvLyBjYWxsIHdoaWxlIGEgRnVuY3Rpb24gb2JqZWN0IHBh
c3NlZCBXb3JrUXVldWU6OmRpc3BhdGNoKCkgaXMgYmVpbmcgZGVzdHJ1Y3RlZC4KKyAgICAvLyBU
byBhdm9pZCB0aGlzIHByb2JsZW0sIHRoZXNlIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBhcyBzdGF0
aWMgbWV0aG9kcy4KKyAgICBzdGF0aWMgdm9pZCBjYW5jZWxhYmxlRnVuY3Rpb24oSW1hZ2VEZWNv
ZGVXb3JrZXIqIGRpc3BhdGNoUXVldWUsIGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICBz
dGF0aWMgdm9pZCBlbnN1cmVUZXJtaW5hdGUoSW1hZ2VEZWNvZGVXb3JrZXIqIGRpc3BhdGNoUXVl
dWUpOworCisgICAgSW1hZ2VEZWNvZGVXb3JrZXIoKTsKKworICAgIGJvb2wgaGFzVGVybWluYXRp
b25CZWd1bigpOworCisgICAgc3RhdGljIFZlY3RvcjxXb3JrUXVldWUqPiogc193b3JrUXVldWVQ
b29sOworICAgIHN0YXRpYyBpbnQqIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50OworCisgICAgZW51
bSBXb3JrZXJTdGF0dXMgeyBSdW5uaW5nLCBUZXJtaW5hdGlvbkJlZ3VuLCBUZXJtaW5pYXRpb25D
b21wbGV0ZWQgfTsKKyAgICBNdXRleCBtX3dvcmtlclN0YXR1c011dGV4OworICAgIFdvcmtlclN0
YXR1cyBtX3dvcmtlclN0YXR1czsKKyAgICBUaHJlYWRDb25kaXRpb24gbV90ZXJtaW5hdGlvbkNv
bXBsZXRlZDsKKworICAgIGludCBtX3dvcmtRdWV1ZUlkOworICAgIFdvcmtRdWV1ZSogbV93b3Jr
UXVldWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbWFnZURl
Y29kZVdvcmtlcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151667</attachid>
            <date>2012-07-11 03:31:40 -0700</date>
            <delta_ts>2012-07-11 22:14:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120711193107.patch</filename>
            <type>text/plain</type>
            <size>18937</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4Mjc4NDQ0OGVkZGE1M2Q5ZmQyMjZl
N2RjZmU0ZDAyMmQwY2M2NDIuLjIyYjc0ZWFiZDNlODNhYzQ0NmQxMmQ5MzZhYjI4Mjg1YTMwNDY3
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKworMjAxMi0wNy0xMSAg
S3dvbmppbiBKZW9uZyAgPGdyYW1AY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgTW92ZSBXb3Jr
UXVldWUgdG8gV1RGCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDc4MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkZDdhYWQyODExNTU5YjNjMWZhODVhM2NiMzky
OTMyZDZmZDYyZC4uNTZkMzZiOTgzZTkyNDU5ZmUzNTk3ZTU3OWE0MzAzN2M5NGY3ZTg1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA3LTExICBLd29uamluIEplb25nICA8Z3Jh
bUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBBZGQgSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VEZWNvZGVXb3Jr
ZXIgaXMgYSB0aHJlYWQgcG9vbCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBXb3JrUXVldWUuCisg
ICAgICAgIEltYWdlRGVjb2RlV29ya2VyIGludGVybmFsbHkgbWFuYWdlcyBhIHBvb2wgb2YgV29y
a1F1ZXVlcyAobiA9IG51bWJlcgorICAgICAgICBvZiBjb3JlcykgYW5kIGFzc2lnbnMgb25lIGZy
b20gdGhlIHBvb2wgd2hlbiBhbiBJbWFnZURlY29kZVdvcmtlcgorICAgICAgICBpbnN0YW5jZSBp
cyBjcmVhdGVkLiBTbyB0d28gSW1hZ2VEZWNvZGVXb3JrZXJzIGNhbiBzaGFyZSBvbmUgV29ya1F1
ZXVlLgorCisgICAgICAgIFBhcmFsbGVsIGltYWdlIGRlY29kZXJzIGNyZWF0ZSBhbiBpbnN0YW5j
ZSBvZiBJbWFnZURlY29kZVdvcmtlciBmb3IKKyAgICAgICAgZWFjaCBpbWFnZS4gU28gdGhlIG51
bWJlciBvZiBJbWFnZURlY29kZVdvcmtlciBpbnN0YW5jZXMgY2FuIGJlCisgICAgICAgIGFyYml0
cmFyaWx5IGxhcmdlLCBidXQgdGhlIG51bWJlciBvZiBXb3JrUXVldWVzIGlzIGxpbWl0ZWQgdG8g
dGhlCisgICAgICAgIG51bWJlciBvZiBjb3Jlcy4gVGhpcyBlZmZlY3RpdmVseSB1dGlsaXplcyB0
aGUgdW5kZXJseWluZyBjb3Jlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjphY3F1aXJl
U2hhcmVkV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjppbml0
aWFsaXplV29ya1F1ZXVlUG9vbCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtl
cjo6cXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRGVjb2RlV29ya2VyOjpJbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlRGVjb2RlV29ya2VyOjpoYXNUZXJtaW5hdGlvbkJlZ3VuKToKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlRGVjb2RlV29ya2VyOjpjYW5jZWxhYmxlRnVuY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRGVjb2RlV29ya2VyOjplbnN1cmVUZXJtaW5hdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChJbWFnZURlY29kZVdvcmtlcik6CisKIDIwMTItMDctMTEgIFlvc2hpZnVtaSBJbm91
ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbTWFjXSBFeHBvc2UgdGltZSBmb3Jt
YXQgcmVsYXRlZCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVt
L01haW5UaHJlYWRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhy
ZWFkQ2hyb21pdW0uY3BwCmluZGV4IDllNjU5MmI1NzE1Njc5YWUyYmM5YTZkMWEwYjZmM2I4Yzll
MThlODEuLmFlNWZjODE5NmIxY2E2OWZhMmExNTE0ZWUyODZjMTNmOWU3MjQyMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvY2hyb21pdW0vTWFpblRocmVhZENocm9taXVtLmNwcApAQCAtMzMsNiAr
MzMsNyBAQAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgogI2luY2x1ZGUgIkNocm9taXVtVGhy
ZWFkaW5nLmgiCisjaW5jbHVkZSAiRnVuY3Rpb25hbC5oIgogI2luY2x1ZGUgIlRocmVhZGluZy5o
IgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTU0LDYgKzU1LDE4IEBAIHZvaWQgY2FsbE9uTWFpblRo
cmVhZChNYWluVGhyZWFkRnVuY3Rpb24qIGZ1bmN0aW9uLCB2b2lkKiBjb250ZXh0KQogICAgIENo
cm9taXVtVGhyZWFkaW5nOjpjYWxsT25NYWluVGhyZWFkKGZ1bmN0aW9uLCBjb250ZXh0KTsKIH0K
IAorc3RhdGljIHZvaWQgY2FsbEZ1bmN0aW9uT2JqZWN0KHZvaWQqIGNvbnRleHQpCit7CisgICAg
RnVuY3Rpb248dm9pZCgpPiogZnVuY3Rpb24gPSBzdGF0aWNfY2FzdDxGdW5jdGlvbjx2b2lkKCk+
Kj4oY29udGV4dCk7CisgICAgKCpmdW5jdGlvbikoKTsKKyAgICBkZWxldGUgZnVuY3Rpb247Cit9
CisKK3ZvaWQgY2FsbE9uTWFpblRocmVhZChjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlv
bikKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKGNhbGxGdW5jdGlvbk9iamVjdCwgbmV3IEZ1bmN0
aW9uPHZvaWQgKCk+KGZ1bmN0aW9uKSk7Cit9CisKIHZvaWQgY2FsbE9uTWFpblRocmVhZEFuZFdh
aXQoTWFpblRocmVhZEZ1bmN0aW9uKiwgdm9pZCopCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGUwNzM3ZDhmZDVjODMxMzc3ODdkZGIyZjAxMDc5
MWZjOTI3ZmFiNzguLjZkMTcyMTlmMDY0NDYyMDYxZGU1NzcwOTU2MTQyZTIyZDZhNzA1M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTk0LDYgKzExOTQsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5jcHAKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5j
cHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ludFJlY3QuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCmluZGV4IDM3ODE3MjdhYTZhMGU0ZTE1NGU5ZWJmNzYxOWVhOWYyY2Uz
Yzg0M2MuLmU4ZGM3MDYwMDczNjNmYzM1OTVhY2ZlOThmY2I2YTI1MTY2OWM0ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzM1NSw2ICszMzU1LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRh
dGEuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlQnVmZmVyLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT2JzZXJ2ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBi
OTE0OTc1NTNmNGEwZTRiOTM0Y2M1YWY0YzRhNjI3NTIwNjMyZjU4Li5iOGNhZDU3MTYyNDI4M2M0
OTY5MDRjYzYyZjA3YTJlMTFlZTcwN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTExMjIsNiArMTEyMiw3
IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3Bw
IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlQnVmZmVyLmNwcCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVX
b3JrZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmNwcCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmNwcCBcCkBAIC0yMjk4LDYgKzIyOTksNyBAQCBIRUFERVJTICs9IFwK
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmggXAogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzVHlwZXMzRC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
IFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDliNjhkM2VmMzk5ZWYzMTQ1YzRjMzFjYjVlYmU5Zjk0OTQyYzU2YWEu
LmUzMWYxNGJhODViYjlhMmJmZGQwNDI5NTVjM2ViMWNiZmQ3ZDgwMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTM4Miw2ICszODIsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyRGF0YS5oJywKKyAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCcsCkBAIC0zNDk1LDYgKzM0OTYsNyBAQAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VEZWNvZGVCdWZmZXIuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZU9yaWVudGF0aW9uLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmNw
cCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDkwNjJjOGIyMzFmNmMwYTVhYTNiZDFhOTRiNTFmNGQ0OGZkMzg4MzQuLjQ5N2VlOGYwYmEwMTI2
ZGRmZTdlYWMxM2M5NGQ5MjQ1ODZjMWRhYjAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yOTI5OCw2ICsyOTI5OCwxNCBAQAogCQkJCQk+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3Jh
cGhpY3NcSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxG
aWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcSW1hZ2VEZWNvZGVX
b3JrZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdlT2JzZXJ2ZXIuaCIKIAkJCQkJPgogCQkJCTwv
RmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBjMTI2Yzk1YWY5Yzk5NTc4MWE2YTBjMWUzNDI0NzRmMjQ0ODVhYzUwLi5hZmY2
Zjk4NmY0ZjQwZGQzNzFkZjM3MDljZDM1NzYyNjViZmVjYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDgwLDYgKzY0ODAs
OCBAQAogCQlGRTgwREE3MjBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTgwREE2RTBFOUM0
NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggKi87IH07CiAJCUZGRDVCOTdBMTM1Q0M5
NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQ
YWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJRkZENUI5N0IxMzVDQzk3ODAwRDVFOTJB
IC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZGRDVCOTc4MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0
eVN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRkZENkI5N0ExMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDZCOTZBMTM1Q0M5
NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi87IH07CisJCUZGRDZCOTdCMTM1
Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkZENkI5NkIxMzVDQzk3ODAwRDVFOTJBIC8qIElt
YWdlRGVjb2RlV29ya2VyLmggKi87IH07CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KQEAgLTEzODE1LDYg
KzEzODE3LDggQEAKIAkJRkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJv
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Bvc2l0aW9uRXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZENUI5NzcxMzVDQzk3ODAwRDVFOTJBIC8q
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZGRDVCOTc4MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VWaXNpYmlsaXR5U3RhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZENkI5NkExMzVDQzk3ODAwRDVFOTJBIC8qIElt
YWdlRGVjb2RlV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlRGVjb2RlV29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkZE
NkI5N0IxMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZURlY29kZVdvcmtlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAv
KiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC0xOTY3NSw2ICsx
OTY3OSw4IEBACiAJCQkJNDNEMjU5NzYxM0M4MTZGNDAwNjA4NTU5IC8qIEltYWdlQnVmZmVyLmNw
cCAqLywKIAkJCQlCMkExMEI5MTBCMzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCAqLywK
IAkJCQkyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggKi8sCisJ
CQkJRkZENkI5NkExMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmNwcCAqLwor
CQkJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovCiAJ
CQkJQkM3RjQ0QTcwQjlFMzI0RTAwQTlEMDgxIC8qIEltYWdlT2JzZXJ2ZXIuaCAqLywKIAkJCQlB
ODc0OEQ3NDEyQ0MzRjg5MDAxRkJBNDEgLyogSW1hZ2VPcmllbnRhdGlvbi5jcHAgKi8sCiAJCQkJ
QTg3NDhENjYxMkNDMzc2MzAwMUZCQTQxIC8qIEltYWdlT3JpZW50YXRpb24uaCAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2Vy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNmI5MzdhYzhjNzZlOWRiZGYyOTcwMjcyODAyOTZiZWIyNTczZjEz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VEZWNvZGVXb3JrZXIuY3BwCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIENvbXBhbnkgMTAwIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkltYWdlRGVjb2RlV29ya2VyLmgiCisKKyNpbmNsdWRlIDxsaW1pdHM+CisKKyNpbmNs
dWRlIDx3dGYvTnVtYmVyT2ZDb3Jlcy5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVmVjdG9yPFdvcmtRdWV1ZSo+KiBJbWFnZURl
Y29kZVdvcmtlcjo6c193b3JrUXVldWVQb29sID0gMDsKK2ludCogSW1hZ2VEZWNvZGVXb3JrZXI6
OnNfd29ya1F1ZXVlQWNxdWlyZUNvdW50ID0gMDsKKworUGFzc1JlZlB0cjxJbWFnZURlY29kZVdv
cmtlcj4gSW1hZ2VEZWNvZGVXb3JrZXI6OmFjcXVpcmVTaGFyZWRXb3JrZXIoKQoreworICAgIGlm
ICghc193b3JrUXVldWVQb29sKQorICAgICAgICBpbml0aWFsaXplV29ya1F1ZXVlUG9vbCgpOwor
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbWFnZURlY29kZVdvcmtlcigpKTsKK30KKwordm9p
ZCBJbWFnZURlY29kZVdvcmtlcjo6aW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKQoreworICAgIGNv
bnN0IGludCBudW1Db3JlcyA9IFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JDb3JlcygpOworCisgICAg
c193b3JrUXVldWVBY3F1aXJlQ291bnQgPSBuZXcgaW50W251bUNvcmVzXTsKKyAgICBzX3dvcmtR
dWV1ZVBvb2wgPSBuZXcgVmVjdG9yPFdvcmtRdWV1ZSo+KCk7CisgICAgc193b3JrUXVldWVQb29s
LT5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bUNvcmVzKTsKKyAgICBmb3IgKGludCBpID0gMDsg
aSA8IG51bUNvcmVzOyBpKyspIHsKKyAgICAgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnRbaV0g
PSAwOworICAgICAgICBTdHJpbmcgcXVldWVOYW1lID0gIkltYWdlRGVjb2RlV29ya2VyLiIgKyBT
dHJpbmc6Om51bWJlcihpKTsKKyAgICAgICAgc193b3JrUXVldWVQb29sLT5hcHBlbmQobmV3IFdv
cmtRdWV1ZShxdWV1ZU5hbWUuYXNjaWkoKS5kYXRhKCkpKTsKKyAgICB9Cit9CisKK2ludCBJbWFn
ZURlY29kZVdvcmtlcjo6cXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCkKK3sKKyAgICBp
bnQgbWluaW11bUFjcXVpcmVDb3VudCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7
CisgICAgaW50IGluZGV4ID0gc193b3JrUXVldWVQb29sLT5zaXplKCk7CisKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNfd29ya1F1ZXVlUG9vbC0+c2l6ZSgpOyBpKyspIHsKKyAgICAgICAg
aWYgKHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W2ldIDwgbWluaW11bUFjcXVpcmVDb3VudCkgewor
ICAgICAgICAgICAgbWluaW11bUFjcXVpcmVDb3VudCA9IHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50
W2ldOworICAgICAgICAgICAgaW5kZXggPSBpOworICAgICAgICB9CisgICAgfQorCisgICAgQVNT
RVJUKGluZGV4IDwgc193b3JrUXVldWVQb29sLT5zaXplKCkpOworICAgIHJldHVybiBpbmRleDsK
K30KKworSW1hZ2VEZWNvZGVXb3JrZXI6OkltYWdlRGVjb2RlV29ya2VyKCkKKyAgICA6IG1fd29y
a2VyU3RhdHVzKFJ1bm5pbmcpCit7CisgICAgbV93b3JrUXVldWVJZCA9IHF1ZXVlSWRXaXRoTWlu
aW11bUFjcXVpcmVDb3VudCgpOworICAgIG1fd29ya1F1ZXVlID0gKCpzX3dvcmtRdWV1ZVBvb2wp
W21fd29ya1F1ZXVlSWRdOworICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W21fd29ya1F1ZXVl
SWRdKys7Cit9CisKK0ltYWdlRGVjb2RlV29ya2VyOjp+SW1hZ2VEZWNvZGVXb3JrZXIoKQorewor
ICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBtX3dvcmtl
clN0YXR1cyA9IFRlcm1pbmF0aW9uQmVndW47CisKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2go
YmluZCgmSW1hZ2VEZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSwgdGhpcykpOworICAgIHdo
aWxlIChtX3dvcmtlclN0YXR1cyAhPSBUZXJtaW5pYXRpb25Db21wbGV0ZWQpCisgICAgICAgIG1f
dGVybWluYXRpb25Db21wbGV0ZWQud2FpdChtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBzX3dv
cmtRdWV1ZUFjcXVpcmVDb3VudFttX3dvcmtRdWV1ZUlkXS0tOworfQorCitib29sIEltYWdlRGVj
b2RlV29ya2VyOjpoYXNUZXJtaW5hdGlvbkJlZ3VuKCkKK3sKKyAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgaWYgKG1fd29ya2VyU3RhdHVzID09IFRlcm1p
bmF0aW9uQmVndW4pIHsKKyAgICAgICAgbV93b3JrZXJTdGF0dXMgPSBUZXJtaW5pYXRpb25Db21w
bGV0ZWQ7CisgICAgICAgIG1fdGVybWluYXRpb25Db21wbGV0ZWQuc2lnbmFsKCk7CisgICAgfQor
ICAgIHJldHVybiBtX3dvcmtlclN0YXR1cyAhPSBSdW5uaW5nOworfQorCit2b2lkIEltYWdlRGVj
b2RlV29ya2VyOjpjYW5jZWxhYmxlRnVuY3Rpb24oSW1hZ2VEZWNvZGVXb3JrZXIqIEltYWdlRGVj
b2RlV29ya2VyLCBjb25zdCBGdW5jdGlvbjx2b2lkKCk+JiBmdW5jdGlvbikKK3sKKyAgICBpZiAo
VU5MSUtFTFkoSW1hZ2VEZWNvZGVXb3JrZXItPmhhc1Rlcm1pbmF0aW9uQmVndW4oKSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3Jr
ZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQoreworICAgIG1f
d29ya1F1ZXVlLT5kaXNwYXRjaChiaW5kKEltYWdlRGVjb2RlV29ya2VyOjpjYW5jZWxhYmxlRnVu
Y3Rpb24sIHRoaXMsIGZ1bmN0aW9uKSk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6OmVu
c3VyZVRlcm1pbmF0ZShJbWFnZURlY29kZVdvcmtlciogSW1hZ2VEZWNvZGVXb3JrZXIpCit7Cisg
ICAgTXV0ZXhMb2NrZXIgbG9ja2VyKEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0YXR1c011
dGV4KTsKKyAgICBBU1NFUlQoSW1hZ2VEZWNvZGVXb3JrZXItPm1fd29ya2VyU3RhdHVzICE9IFJ1
bm5pbmcpOworICAgIEltYWdlRGVjb2RlV29ya2VyLT5tX3dvcmtlclN0YXR1cyA9IFRlcm1pbmlh
dGlvbkNvbXBsZXRlZDsKKyAgICBJbWFnZURlY29kZVdvcmtlci0+bV90ZXJtaW5hdGlvbkNvbXBs
ZXRlZC5zaWduYWwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjQ5MTQ1YzQ5YjUwMDY4OGU1YjcwYzg3MDY3YzIyMTk0ODRlNTI5YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29y
a2VyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBDb21wYW55
IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VEZWNvZGVXb3JrZXJfaAorI2RlZmluZSBJ
bWFnZURlY29kZVdvcmtlcl9oCisKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorCitjbGFz
cyBXb3JrUXVldWU7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW1hZ2VEZWNvZGVX
b3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxJbWFnZURlY29kZVdvcmtlcj4geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlRGVjb2RlV29ya2VyPiBhY3F1aXJlU2hhcmVkV29y
a2VyKCk7CisKKyAgICB2aXJ0dWFsIH5JbWFnZURlY29kZVdvcmtlcigpOworCisgICAgdm9pZCBw
b3N0VGFzayhjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisKK3ByaXZhdGU6CisgICAgc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKyAgICBzdGF0aWMgaW50IHF1ZXVlSWRX
aXRoTWluaW11bUFjcXVpcmVDb3VudCgpOworCisgICAgLy8gRklYTUU6IFRoZXNlIHR3byBzdGF0
aWMgZnVuY3Rpb25zIHNob3VsZCBiZWNvbWUgbm9uLXN0YXRpYyBtZXRob2RzLgorICAgIC8vIEhv
d2V2ZXIsIGRlZmluaW5nIHRoZW0gYXMgbm9uLXN0YXRpYyBtZXRob2RzIGNhdXNlcyBhbiB1bmlu
dGVuZGVkIGRlc3RydWN0b3IKKyAgICAvLyBjYWxsIHdoaWxlIGEgRnVuY3Rpb24gb2JqZWN0IHBh
c3NlZCBXb3JrUXVldWU6OmRpc3BhdGNoKCkgaXMgYmVpbmcgZGVzdHJ1Y3RlZC4KKyAgICAvLyBU
byBhdm9pZCB0aGlzIHByb2JsZW0sIHRoZXNlIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBhcyBzdGF0
aWMgbWV0aG9kcy4KKyAgICBzdGF0aWMgdm9pZCBjYW5jZWxhYmxlRnVuY3Rpb24oSW1hZ2VEZWNv
ZGVXb3JrZXIqIGRpc3BhdGNoUXVldWUsIGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICBz
dGF0aWMgdm9pZCBlbnN1cmVUZXJtaW5hdGUoSW1hZ2VEZWNvZGVXb3JrZXIqIGRpc3BhdGNoUXVl
dWUpOworCisgICAgSW1hZ2VEZWNvZGVXb3JrZXIoKTsKKworICAgIGJvb2wgaGFzVGVybWluYXRp
b25CZWd1bigpOworCisgICAgc3RhdGljIFZlY3RvcjxXb3JrUXVldWUqPiogc193b3JrUXVldWVQ
b29sOworICAgIHN0YXRpYyBpbnQqIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50OworCisgICAgZW51
bSBXb3JrZXJTdGF0dXMgeyBSdW5uaW5nLCBUZXJtaW5hdGlvbkJlZ3VuLCBUZXJtaW5pYXRpb25D
b21wbGV0ZWQgfTsKKyAgICBNdXRleCBtX3dvcmtlclN0YXR1c011dGV4OworICAgIFdvcmtlclN0
YXR1cyBtX3dvcmtlclN0YXR1czsKKyAgICBUaHJlYWRDb25kaXRpb24gbV90ZXJtaW5hdGlvbkNv
bXBsZXRlZDsKKworICAgIGludCBtX3dvcmtRdWV1ZUlkOworICAgIFdvcmtRdWV1ZSogbV93b3Jr
UXVldWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBJbWFnZURl
Y29kZVdvcmtlcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151857</attachid>
            <date>2012-07-11 22:15:00 -0700</date>
            <delta_ts>2012-07-11 23:01:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120712141458.patch</filename>
            <type>text/plain</type>
            <size>19022</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4Mjc4NDQ0OGVkZGE1M2Q5ZmQyMjZl
N2RjZmU0ZDAyMmQwY2M2NDIuLjIyYjc0ZWFiZDNlODNhYzQ0NmQxMmQ5MzZhYjI4Mjg1YTMwNDY3
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjcgQEAKIDIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKworMjAxMi0wNy0xMSAg
S3dvbmppbiBKZW9uZyAgPGdyYW1AY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgTW92ZSBXb3Jr
UXVldWUgdG8gV1RGCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05MDc4MAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkZDdhYWQyODExNTU5YjNjMWZhODVhM2NiMzky
OTMyZDZmZDYyZC4uYjM1Zjc0NWM2YTVlMDExMjQxNDUwNmFhZWM4ZGUwNjExNmY0NjVkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA3LTExICBLd29uamluIEplb25nICA8Z3Jh
bUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBBZGQgSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwODY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1hZ2VEZWNvZGVXb3Jr
ZXIgaXMgYSB0aHJlYWQgcG9vbCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBXb3JrUXVldWUuCisg
ICAgICAgIEltYWdlRGVjb2RlV29ya2VyIGludGVybmFsbHkgbWFuYWdlcyBhIHBvb2wgb2YgV29y
a1F1ZXVlcyAobiA9IG51bWJlcgorICAgICAgICBvZiBjb3JlcykgYW5kIGFzc2lnbnMgb25lIGZy
b20gdGhlIHBvb2wgd2hlbiBhbiBJbWFnZURlY29kZVdvcmtlcgorICAgICAgICBpbnN0YW5jZSBp
cyBjcmVhdGVkLiBTbyB0d28gSW1hZ2VEZWNvZGVXb3JrZXJzIGNhbiBzaGFyZSBvbmUgV29ya1F1
ZXVlLgorCisgICAgICAgIFBhcmFsbGVsIGltYWdlIGRlY29kZXJzIGNyZWF0ZSBhbiBpbnN0YW5j
ZSBvZiBJbWFnZURlY29kZVdvcmtlciBmb3IKKyAgICAgICAgZWFjaCBpbWFnZS4gU28gdGhlIG51
bWJlciBvZiBJbWFnZURlY29kZVdvcmtlciBpbnN0YW5jZXMgY2FuIGJlCisgICAgICAgIGFyYml0
cmFyaWx5IGxhcmdlLCBidXQgdGhlIG51bWJlciBvZiBXb3JrUXVldWVzIGlzIGxpbWl0ZWQgdG8g
dGhlCisgICAgICAgIG51bWJlciBvZiBjb3Jlcy4gVGhpcyBlZmZlY3RpdmVseSB1dGlsaXplcyB0
aGUgdW5kZXJseWluZyBjb3Jlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjphY3F1aXJl
U2hhcmVkV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjppbml0
aWFsaXplV29ya1F1ZXVlUG9vbCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtl
cjo6cXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlRGVjb2RlV29ya2VyOjpJbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlRGVjb2RlV29ya2VyOjpoYXNJbnZhbGlkYXRpb25CZWd1bik6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZURlY29kZVdvcmtlcjo6Y2FuY2VsYWJsZUZ1bmN0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlRGVjb2RlV29ya2VyOjpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6aW52YWxpZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURl
Y29kZVdvcmtlcjo6ZW5zdXJlVGVybWluYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZURlY29kZVdvcmtlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoSW1hZ2VEZWNvZGVXb3JrZXIpOgorCiAyMDEyLTA3LTExICBZb3NoaWZ1bWkgSW5vdWUgIDx5
b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW01hY10gRXhwb3NlIHRpbWUgZm9ybWF0IHJl
bGF0ZWQgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWlu
VGhyZWFkQ2hyb21pdW0uY3BwIGIvU291cmNlL1dURi93dGYvY2hyb21pdW0vTWFpblRocmVhZENo
cm9taXVtLmNwcAppbmRleCA5ZTY1OTJiNTcxNTY3OWFlMmJjOWE2ZDFhMGI2ZjNiOGM5ZTE4ZTgx
Li5hZTVmYzgxOTZiMWNhNjlmYTJhMTUxNGVlMjg2YzEzZjllNzI0MjAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKICNpbmNsdWRlICJDaHJvbWl1bVRocmVhZGlu
Zy5oIgorI2luY2x1ZGUgIkZ1bmN0aW9uYWwuaCIKICNpbmNsdWRlICJUaHJlYWRpbmcuaCIKIAog
bmFtZXNwYWNlIFdURiB7CkBAIC01NCw2ICs1NSwxOCBAQCB2b2lkIGNhbGxPbk1haW5UaHJlYWQo
TWFpblRocmVhZEZ1bmN0aW9uKiBmdW5jdGlvbiwgdm9pZCogY29udGV4dCkKICAgICBDaHJvbWl1
bVRocmVhZGluZzo6Y2FsbE9uTWFpblRocmVhZChmdW5jdGlvbiwgY29udGV4dCk7CiB9CiAKK3N0
YXRpYyB2b2lkIGNhbGxGdW5jdGlvbk9iamVjdCh2b2lkKiBjb250ZXh0KQoreworICAgIEZ1bmN0
aW9uPHZvaWQoKT4qIGZ1bmN0aW9uID0gc3RhdGljX2Nhc3Q8RnVuY3Rpb248dm9pZCgpPio+KGNv
bnRleHQpOworICAgICgqZnVuY3Rpb24pKCk7CisgICAgZGVsZXRlIGZ1bmN0aW9uOworfQorCit2
b2lkIGNhbGxPbk1haW5UaHJlYWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit7
CisgICAgY2FsbE9uTWFpblRocmVhZChjYWxsRnVuY3Rpb25PYmplY3QsIG5ldyBGdW5jdGlvbjx2
b2lkICgpPihmdW5jdGlvbikpOworfQorCiB2b2lkIGNhbGxPbk1haW5UaHJlYWRBbmRXYWl0KE1h
aW5UaHJlYWRGdW5jdGlvbiosIHZvaWQqKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlMDczN2Q4ZmQ1YzgzMTM3Nzg3ZGRiMmYwMTA3OTFmYzky
N2ZhYjc4Li42ZDE3MjE5ZjA2NDQ2MjA2MWRlNTc3MDk1NjE0MmUyMmQ2YTcwNTNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTE5NCw2ICsxMTk0LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCisg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRS
ZWN0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1BhdGguY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCAzNzgxNzI3YWE2YTBlNGUxNTRlOWViZjc2MTllYTlmMmNlM2M4NDNj
Li5lOGRjNzA2MDA3MzYzZmMzNTk1YWNmZTk4ZmNiNmEyNTE2NjljNGQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMzNTUsNiArMzM1NSw4IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXJEYXRhLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBcCisJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVCdWZmZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYjkxNDk3
NTUzZjRhMGU0YjkzNGNjNWFmNGM0YTYyNzUyMDYzMmY1OC4uYjhjYWQ1NzE2MjQyODNjNDk2OTA0
Y2M2MmYwN2EyZTExZWU3MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMTIyLDYgKzExMjIsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcCBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZUJ1ZmZlci5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2Vy
LmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAgXAogICAg
IHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvSW50UmVjdC5jcHAgXApAQCAtMjI5OCw2ICsyMjk5LDcgQEAgSEVBREVSUyArPSBcCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc1R5cGVzM0QuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBcCisg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCBcCiAgICAgcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZVNvdXJjZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCA5YjY4ZDNlZjM5OWVmMzE0NWM0YzMxY2I1ZWJlOWY5NDk0MmM1NmFhLi5lMzFm
MTRiYTg1YmI5YTJiZmRkMDQyOTU1YzNlYjFjYmZkN2Q4MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC0zODIsNiArMzgyLDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5o
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRhdGEuaCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVCdWZmZXIuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPYnNlcnZlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlU291cmNlLmgnLApAQCAtMzQ5NSw2ICszNDk2LDcgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcCcsCiAgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
RGVjb2RlQnVmZmVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VP
cmllbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA5MDYy
YzhiMjMxZjZjMGE1YWEzYmQxYTk0YjUxZjRkNDhmZDM4ODM0Li40OTdlZThmMGJhMDEyNmRkZmU3
ZWFjMTNjOTRkOTI0NTg2YzFkYWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMjkyOTgsNiArMjkyOTgsMTQgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XEltYWdlRGVjb2RlV29ya2VyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdlRGVjb2RlV29ya2Vy
LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1xJbWFnZU9ic2VydmVyLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYzEyNmM5NWFmOWM5OTU3ODFhNmEwYzFlMzQyNDc0ZjI0NDg1YWM1MC4uYWZmNmY5ODZm
NGY0MGRkMzcxZGYzNzA5Y2QzNTc2MjY1YmZlY2JhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ4MCw2ICs2NDgwLDggQEAK
IAkJRkU4MERBNzIwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERBNkUwRTlDNDcyRjAw
MEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3QTEzNUNDOTc4MDBE
NUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZp
c2liaWxpdHlTdGF0ZS5jcHAgKi87IH07CiAJCUZGRDVCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBQ
YWdlVmlzaWJpbGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZG
RDZCOTdBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ2Qjk2QTEzNUNDOTc4MDBE
NUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwICovOyB9OworCQlGRkQ2Qjk3QjEzNUNDOTc4
MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDZCOTZCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURl
Y29kZVdvcmtlci5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMzgxNSw2ICsxMzgx
Nyw4IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9yLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1RTkyQSAvKiBQYWdl
VmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
RkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURl
Y29kZVdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFn
ZURlY29kZVdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDZCOTdC
MTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEZWNvZGVXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVn
aW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTk2NzUsNiArMTk2Nzks
OCBAQAogCQkJCTQzRDI1OTc2MTNDODE2RjQwMDYwODU1OSAvKiBJbWFnZUJ1ZmZlci5jcHAgKi8s
CiAJCQkJQjJBMTBCOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmggKi8sCiAJCQkJ
MjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovLAorCQkJCUZG
RDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi8KKwkJCQlG
RkQ2Qjk2QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCAqLwogCQkJCUJD
N0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggKi8sCiAJCQkJQTg3NDhE
NzQxMkNDM0Y4OTAwMUZCQTQxIC8qIEltYWdlT3JpZW50YXRpb24uY3BwICovLAogCQkJCUE4NzQ4
RDY2MTJDQzM3NjMwMDFGQkE0MSAvKiBJbWFnZU9yaWVudGF0aW9uLmggKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmIyNTgwZDZmOTY3MTIwYzNmOGMyZTk4ZTFiN2QyZDFhMGQ2NWJiZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVj
b2RlV29ya2VyLmNwcApAQCAtMCwwICsxLDEzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJJbWFnZURlY29kZVdvcmtlci5oIgorCisjaW5jbHVkZSA8bGltaXRzPgorCisjaW5jbHVkZSA8
d3RmL051bWJlck9mQ29yZXMuaD4KKyNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1ZlY3RvcjxXb3JrUXVldWUqPiogSW1hZ2VEZWNvZGVX
b3JrZXI6OnNfd29ya1F1ZXVlUG9vbCA9IDA7CitpbnQqIEltYWdlRGVjb2RlV29ya2VyOjpzX3dv
cmtRdWV1ZUFjcXVpcmVDb3VudCA9IDA7CisKK1Bhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+
IEltYWdlRGVjb2RlV29ya2VyOjphY3F1aXJlU2hhcmVkV29ya2VyKCkKK3sKKyAgICBpZiAoIXNf
d29ya1F1ZXVlUG9vbCkKKyAgICAgICAgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSW1hZ2VEZWNvZGVXb3JrZXIoKSk7Cit9CisKK3ZvaWQgSW1h
Z2VEZWNvZGVXb3JrZXI6OmluaXRpYWxpemVXb3JrUXVldWVQb29sKCkKK3sKKyAgICBjb25zdCBp
bnQgbnVtQ29yZXMgPSBXVEY6Om51bWJlck9mUHJvY2Vzc29yQ29yZXMoKTsKKworICAgIHNfd29y
a1F1ZXVlQWNxdWlyZUNvdW50ID0gbmV3IGludFtudW1Db3Jlc107CisgICAgc193b3JrUXVldWVQ
b29sID0gbmV3IFZlY3RvcjxXb3JrUXVldWUqPigpOworICAgIHNfd29ya1F1ZXVlUG9vbC0+cmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShudW1Db3Jlcyk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBu
dW1Db3JlczsgaSsrKSB7CisgICAgICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50W2ldID0gMDsK
KyAgICAgICAgU3RyaW5nIHF1ZXVlTmFtZSA9ICJJbWFnZURlY29kZVdvcmtlci4iICsgU3RyaW5n
OjpudW1iZXIoaSk7CisgICAgICAgIHNfd29ya1F1ZXVlUG9vbC0+YXBwZW5kKG5ldyBXb3JrUXVl
dWUocXVldWVOYW1lLmFzY2lpKCkuZGF0YSgpKSk7CisgICAgfQorfQorCitpbnQgSW1hZ2VEZWNv
ZGVXb3JrZXI6OnF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCgpCit7CisgICAgaW50IG1p
bmltdW1BY3F1aXJlQ291bnQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOworICAg
IGludCBpbmRleCA9IHNfd29ya1F1ZXVlUG9vbC0+c2l6ZSgpOworCisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBzX3dvcmtRdWV1ZVBvb2wtPnNpemUoKTsgaSsrKSB7CisgICAgICAgIGlmIChz
X3dvcmtRdWV1ZUFjcXVpcmVDb3VudFtpXSA8IG1pbmltdW1BY3F1aXJlQ291bnQpIHsKKyAgICAg
ICAgICAgIG1pbmltdW1BY3F1aXJlQ291bnQgPSBzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudFtpXTsK
KyAgICAgICAgICAgIGluZGV4ID0gaTsKKyAgICAgICAgfQorICAgIH0KKworICAgIEFTU0VSVChp
bmRleCA8IHNfd29ya1F1ZXVlUG9vbC0+c2l6ZSgpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisK
K0ltYWdlRGVjb2RlV29ya2VyOjpJbWFnZURlY29kZVdvcmtlcigpCisgICAgOiBtX3dvcmtlclN0
YXR1cyhSdW5uaW5nKQoreworICAgIG1fd29ya1F1ZXVlSWQgPSBxdWV1ZUlkV2l0aE1pbmltdW1B
Y3F1aXJlQ291bnQoKTsKKyAgICBtX3dvcmtRdWV1ZSA9ICgqc193b3JrUXVldWVQb29sKVttX3dv
cmtRdWV1ZUlkXTsKKyAgICBzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudFttX3dvcmtRdWV1ZUlkXSsr
OworfQorCitJbWFnZURlY29kZVdvcmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKCkKK3sKK30KKwor
Ym9vbCBJbWFnZURlY29kZVdvcmtlcjo6aGFzSW52YWxpZGF0aW9uQmVndW4oKQoreworICAgIE11
dGV4TG9ja2VyIGxvY2tlcihtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBpZiAobV93b3JrZXJT
dGF0dXMgPT0gSW52YWxpZGF0aW9uQmVndW4pIHsKKyAgICAgICAgbV93b3JrZXJTdGF0dXMgPSBJ
bnZhaWRhdGlvblJlYWR5OworICAgICAgICBtX2ludmFsaWRhdGlvblJlYWR5LnNpZ25hbCgpOwor
ICAgIH0KKyAgICByZXR1cm4gbV93b3JrZXJTdGF0dXMgIT0gUnVubmluZzsKK30KKwordm9pZCBJ
bWFnZURlY29kZVdvcmtlcjo6Y2FuY2VsYWJsZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SW1hZ2VEZWNv
ZGVXb3JrZXI+IHdvcmtlciwgY29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit7Cisg
ICAgaWYgKFVOTElLRUxZKHdvcmtlci0+aGFzSW52YWxpZGF0aW9uQmVndW4oKSkpCisgICAgICAg
IHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6
OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQoreworICAgIEFTU0VS
VChtX3dvcmtlclN0YXR1cyA9PSBSdW5uaW5nKTsKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2go
YmluZChJbWFnZURlY29kZVdvcmtlcjo6Y2FuY2VsYWJsZUZ1bmN0aW9uLCB0aGlzLCBmdW5jdGlv
bikpOworfQorCit2b2lkIEltYWdlRGVjb2RlV29ya2VyOjppbnZhbGlkYXRlKCkKK3sKKyAgICBN
dXRleExvY2tlciBsb2NrZXIobV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgbV93b3JrZXJTdGF0
dXMgPSBJbnZhbGlkYXRpb25CZWd1bjsKKworICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChiaW5k
KCZJbWFnZURlY29kZVdvcmtlcjo6ZW5zdXJlVGVybWluYXRlLCB0aGlzKSk7CisgICAgd2hpbGUg
KG1fd29ya2VyU3RhdHVzICE9IEludmFpZGF0aW9uUmVhZHkpCisgICAgICAgIG1faW52YWxpZGF0
aW9uUmVhZHkud2FpdChtX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBzX3dvcmtRdWV1ZUFjcXVp
cmVDb3VudFttX3dvcmtRdWV1ZUlkXS0tOworfQorCit2b2lkIEltYWdlRGVjb2RlV29ya2VyOjpl
bnN1cmVUZXJtaW5hdGUoUGFzc1JlZlB0cjxJbWFnZURlY29kZVdvcmtlcj4gd29ya2VyKQorewor
ICAgIE11dGV4TG9ja2VyIGxvY2tlcih3b3JrZXItPm1fd29ya2VyU3RhdHVzTXV0ZXgpOworICAg
IEFTU0VSVCh3b3JrZXItPm1fd29ya2VyU3RhdHVzICE9IFJ1bm5pbmcpOworICAgIHdvcmtlci0+
bV93b3JrZXJTdGF0dXMgPSBJbnZhaWRhdGlvblJlYWR5OworICAgIHdvcmtlci0+bV9pbnZhbGlk
YXRpb25SZWFkeS5zaWduYWwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTVkMWEwYmFmZGZjZjRkMzVkMTdiMWY1NzcwZGQ0MWY4OTkzOTdjOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVj
b2RlV29ya2VyLmgKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBD
b21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VEZWNvZGVXb3JrZXJfaAorI2Rl
ZmluZSBJbWFnZURlY29kZVdvcmtlcl9oCisKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgor
CitjbGFzcyBXb3JrUXVldWU7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW1hZ2VE
ZWNvZGVXb3JrZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SW1hZ2VEZWNvZGVXb3Jr
ZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbWFnZURlY29kZVdvcmtlcj4g
YWNxdWlyZVNoYXJlZFdvcmtlcigpOworCisgICAgdmlydHVhbCB+SW1hZ2VEZWNvZGVXb3JrZXIo
KTsKKworICAgIHZvaWQgcG9zdFRhc2soY29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOworICAgIHZv
aWQgaW52YWxpZGF0ZSgpOworCitwcml2YXRlOgorICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVX
b3JrUXVldWVQb29sKCk7CisgICAgc3RhdGljIGludCBxdWV1ZUlkV2l0aE1pbmltdW1BY3F1aXJl
Q291bnQoKTsKKworICAgIC8vIEZJWE1FOiBUaGVzZSB0d28gc3RhdGljIGZ1bmN0aW9ucyBzaG91
bGQgYmVjb21lIG5vbi1zdGF0aWMgbWV0aG9kcy4KKyAgICAvLyBIb3dldmVyLCBkZWZpbmluZyB0
aGVtIGFzIG5vbi1zdGF0aWMgbWV0aG9kcyBjYXVzZXMgYW4gdW5pbnRlbmRlZCBkZXN0cnVjdG9y
CisgICAgLy8gY2FsbCB3aGlsZSBhIEZ1bmN0aW9uIG9iamVjdCBwYXNzZWQgV29ya1F1ZXVlOjpk
aXNwYXRjaCgpIGlzIGJlaW5nIGRlc3RydWN0ZWQuCisgICAgLy8gVG8gYXZvaWQgdGhpcyBwcm9i
bGVtLCB0aGVzZSBmdW5jdGlvbnMgYXJlIGRlZmluZWQgYXMgc3RhdGljIG1ldGhvZHMuCisgICAg
c3RhdGljIHZvaWQgY2FuY2VsYWJsZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3Jr
ZXI+LCBjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgc3RhdGljIHZvaWQgZW5zdXJlVGVy
bWluYXRlKFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+KTsKKworICAgIEltYWdlRGVjb2Rl
V29ya2VyKCk7CisKKyAgICBib29sIGhhc0ludmFsaWRhdGlvbkJlZ3VuKCk7CisKKyAgICBzdGF0
aWMgVmVjdG9yPFdvcmtRdWV1ZSo+KiBzX3dvcmtRdWV1ZVBvb2w7CisgICAgc3RhdGljIGludCog
c193b3JrUXVldWVBY3F1aXJlQ291bnQ7CisKKyAgICBlbnVtIFdvcmtlclN0YXR1cyB7IFJ1bm5p
bmcsIEludmFsaWRhdGlvbkJlZ3VuLCBJbnZhaWRhdGlvblJlYWR5IH07CisgICAgTXV0ZXggbV93
b3JrZXJTdGF0dXNNdXRleDsKKyAgICBXb3JrZXJTdGF0dXMgbV93b3JrZXJTdGF0dXM7CisgICAg
VGhyZWFkQ29uZGl0aW9uIG1faW52YWxpZGF0aW9uUmVhZHk7CisKKyAgICBpbnQgbV93b3JrUXVl
dWVJZDsKKyAgICBXb3JrUXVldWUqIG1fd29ya1F1ZXVlOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gSW1hZ2VEZWNvZGVXb3JrZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151866</attachid>
            <date>2012-07-11 23:01:47 -0700</date>
            <delta_ts>2012-07-12 00:37:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120712150146.patch</filename>
            <type>text/plain</type>
            <size>19121</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkNmFiNjlkNjlmZWE4MjgzY2VhZDY2
MzU1Yzg2YzZmZTc1OWVhZTYuLjYxODRiMzMwOTJmYzhmMGY2NjM5ZDU4NDU4MGJlMmNkYWI0ZDFi
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKwogMjAxMi0wNy0wOSAg
S3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIE1vdmUgV29y
a1F1ZXVlIHRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgwOTg0NzZmZmQwNWUzY2I4OGI3NzliNDYwZDU1
ODExZjhiODE4OTcuLjhjODExNTc5ZTQ0MDlmOTNhNDI0MGNhYTMyNTljODM2OGYyM2U0NDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNy0xMSAgS3dvbmppbiBKZW9uZyAgPGdy
YW1AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQWRkIEltYWdlRGVjb2RlV29ya2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGVjb2RlV29y
a2VyIGlzIGEgdGhyZWFkIHBvb2wgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gV29ya1F1ZXVlLgor
ICAgICAgICBJbWFnZURlY29kZVdvcmtlciBpbnRlcm5hbGx5IG1hbmFnZXMgYSBwb29sIG9mIFdv
cmtRdWV1ZXMgKG4gPSBudW1iZXIKKyAgICAgICAgb2YgY29yZXMpIGFuZCBhc3NpZ25zIG9uZSBm
cm9tIHRoZSBwb29sIHdoZW4gYW4gSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAgICAgaW5zdGFuY2Ug
aXMgY3JlYXRlZC4gU28gdHdvIEltYWdlRGVjb2RlV29ya2VycyBjYW4gc2hhcmUgb25lIFdvcmtR
dWV1ZS4KKworICAgICAgICBQYXJhbGxlbCBpbWFnZSBkZWNvZGVycyBjcmVhdGUgYW4gaW5zdGFu
Y2Ugb2YgSW1hZ2VEZWNvZGVXb3JrZXIgZm9yCisgICAgICAgIGVhY2ggaW1hZ2UuIFNvIHRoZSBu
dW1iZXIgb2YgSW1hZ2VEZWNvZGVXb3JrZXIgaW5zdGFuY2VzIGNhbiBiZQorICAgICAgICBhcmJp
dHJhcmlseSBsYXJnZSwgYnV0IHRoZSBudW1iZXIgb2YgV29ya1F1ZXVlcyBpcyBsaW1pdGVkIHRv
IHRoZQorICAgICAgICBudW1iZXIgb2YgY29yZXMuIFRoaXMgZWZmZWN0aXZlbHkgdXRpbGl6ZXMg
dGhlIHVuZGVybHlpbmcgY29yZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6YWNxdWly
ZVNoYXJlZFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6aW5p
dGlhbGl6ZVdvcmtRdWV1ZVBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3Jr
ZXI6OnF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6SW1hZ2VEZWNvZGVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6On5JbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbWFnZURlY29kZVdvcmtlcjo6aGFzSW52YWxpZGF0aW9uQmVndW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmNhbmNlbGFibGVGdW5jdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VE
ZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VEZWNvZGVXb3JrZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKEltYWdlRGVjb2RlV29ya2VyKToKKwogMjAxMi0wNy0xMCAgSHVhbmcgRG9uZ3N1bmcgIDxs
dXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBGaXggYSBwb3RlbnRpYWwgYnVnIG9m
IEJpdG1hcEltYWdlOjpmcmFtZUNvdW50KCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9j
aHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwIGIvU291cmNlL1dURi93dGYvY2hyb21pdW0v
TWFpblRocmVhZENocm9taXVtLmNwcAppbmRleCA5ZTY1OTJiNTcxNTY3OWFlMmJjOWE2ZDFhMGI2
ZjNiOGM5ZTE4ZTgxLi5hZTVmYzgxOTZiMWNhNjlmYTJhMTUxNGVlMjg2YzEzZjllNzI0MjAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKICNpbmNsdWRlICJDaHJv
bWl1bVRocmVhZGluZy5oIgorI2luY2x1ZGUgIkZ1bmN0aW9uYWwuaCIKICNpbmNsdWRlICJUaHJl
YWRpbmcuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC01NCw2ICs1NSwxOCBAQCB2b2lkIGNhbGxP
bk1haW5UaHJlYWQoTWFpblRocmVhZEZ1bmN0aW9uKiBmdW5jdGlvbiwgdm9pZCogY29udGV4dCkK
ICAgICBDaHJvbWl1bVRocmVhZGluZzo6Y2FsbE9uTWFpblRocmVhZChmdW5jdGlvbiwgY29udGV4
dCk7CiB9CiAKK3N0YXRpYyB2b2lkIGNhbGxGdW5jdGlvbk9iamVjdCh2b2lkKiBjb250ZXh0KQor
eworICAgIEZ1bmN0aW9uPHZvaWQoKT4qIGZ1bmN0aW9uID0gc3RhdGljX2Nhc3Q8RnVuY3Rpb248
dm9pZCgpPio+KGNvbnRleHQpOworICAgICgqZnVuY3Rpb24pKCk7CisgICAgZGVsZXRlIGZ1bmN0
aW9uOworfQorCit2b2lkIGNhbGxPbk1haW5UaHJlYWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYg
ZnVuY3Rpb24pCit7CisgICAgY2FsbE9uTWFpblRocmVhZChjYWxsRnVuY3Rpb25PYmplY3QsIG5l
dyBGdW5jdGlvbjx2b2lkICgpPihmdW5jdGlvbikpOworfQorCiB2b2lkIGNhbGxPbk1haW5UaHJl
YWRBbmRXYWl0KE1haW5UaHJlYWRGdW5jdGlvbiosIHZvaWQqKQogewogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlMDczN2Q4ZmQ1YzgzMTM3Nzg3ZGRi
MmYwMTA3OTFmYzkyN2ZhYjc4Li42ZDE3MjE5ZjA2NDQ2MjA2MWRlNTc3MDk1NjE0MmUyMmQ2YTcw
NTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE5NCw2ICsxMTk0LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1BhdGguY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzNzgxNzI3YWE2YTBlNGUxNTRlOWViZjc2MTll
YTlmMmNlM2M4NDNjLi5lOGRjNzA2MDA3MzYzZmMzNTk1YWNmZTk4ZmNiNmEyNTE2NjljNGQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMzNTUsNiArMzM1NSw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXJEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVCdWZmZXIuY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZUJ1ZmZlci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggYjkxNDk3NTUzZjRhMGU0YjkzNGNjNWFmNGM0YTYyNzUyMDYzMmY1OC4uYjhjYWQ1NzE2
MjQyODNjNDk2OTA0Y2M2MmYwN2EyZTExZWU3MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMTIyLDYg
KzExMjIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5
cGVzLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
RGVjb2RlV29ya2VyLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlv
bi5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAgXApAQCAtMjI5OCw2ICsyMjk5LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuaCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5oIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjZmI4MmExNjcyZDRhMWEzMjYzYzUzYWQyZjQyMzU3ODQ3
ODJlNGM4Li5mNzljMWRlZjkzNmI3Zjk2MjZjZGU2NzM5ZGEwZGQ4MWEzYjU0MGQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0zODIsNiArMzgyLDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZl
ci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRhdGEuaCcs
CisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVCdWZmZXIuaCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPYnNlcnZlci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgnLApAQCAtMzQ5NSw2ICszNDk2LDcgQEAK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlRGVjb2RlQnVmZmVyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlU291cmNlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA5MDYyYzhiMjMxZjZjMGE1YWEzYmQxYTk0YjUxZjRkNDhmZDM4ODM0Li40OTdlZThm
MGJhMDEyNmRkZmU3ZWFjMTNjOTRkOTI0NTg2YzFkYWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjkyOTgsNiArMjkyOTgsMTQgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEltYWdlRGVjb2RlV29ya2VyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdl
RGVjb2RlV29ya2VyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xJbWFnZU9ic2VydmVyLmgiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYzEyNmM5NWFmOWM5OTU3ODFhNmEwYzFlMzQyNDc0ZjI0NDg1YWM1
MC4uYWZmNmY5ODZmNGY0MGRkMzcxZGYzNzA5Y2QzNTc2MjY1YmZlY2JhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ4MCw2
ICs2NDgwLDggQEAKIAkJRkU4MERBNzIwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERB
NkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3
QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5
MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgKi87IH07CiAJCUZGRDVCOTdCMTM1Q0M5Nzgw
MEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZp
c2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUZGRDZCOTdBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ2Qjk2
QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwICovOyB9OworCQlGRkQ2
Qjk3QjEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDZCOTZCMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0x
MzgxNSw2ICsxMzgxNyw4IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0
aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVy
cm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1
RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbWFnZURlY29kZVdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZGRDZCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEZWNvZGVXb3JrZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTk2
NzUsNiArMTk2NzksOCBAQAogCQkJCTQzRDI1OTc2MTNDODE2RjQwMDYwODU1OSAvKiBJbWFnZUJ1
ZmZlci5jcHAgKi8sCiAJCQkJQjJBMTBCOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVy
LmggKi8sCiAJCQkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5o
ICovLAorCQkJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5j
cHAgKi8KKwkJCQlGRkQ2Qjk2QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIu
aCAqLwogCQkJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggKi8s
CiAJCQkJQTg3NDhENzQxMkNDM0Y4OTAwMUZCQTQxIC8qIEltYWdlT3JpZW50YXRpb24uY3BwICov
LAogCQkJCUE4NzQ4RDY2MTJDQzM3NjMwMDFGQkE0MSAvKiBJbWFnZU9yaWVudGF0aW9uLmggKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29k
ZVdvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29k
ZVdvcmtlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNmODBmZDM3MjUyMTYzMGM4MmY0YWJkODM3ZjBjMmNi
NzU4NjM4YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcApAQCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJbWFnZURlY29kZVdvcmtlci5oIgorCisjaW5jbHVkZSA8bGltaXRzPgor
CisjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4KKyNpbmNsdWRlIDx3dGYvV29ya1F1ZXVl
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1ZlY3RvcjxXb3JrUXVldWUqPiog
SW1hZ2VEZWNvZGVXb3JrZXI6OnNfd29ya1F1ZXVlUG9vbCA9IDA7CitWZWN0b3I8aW50PiogSW1h
Z2VEZWNvZGVXb3JrZXI6OnNfd29ya1F1ZXVlQWNxdWlyZUNvdW50ID0gMDsKKworUGFzc1JlZlB0
cjxJbWFnZURlY29kZVdvcmtlcj4gSW1hZ2VEZWNvZGVXb3JrZXI6OmFjcXVpcmVTaGFyZWRXb3Jr
ZXIoKQoreworICAgIGlmICghc193b3JrUXVldWVQb29sKQorICAgICAgICBpbml0aWFsaXplV29y
a1F1ZXVlUG9vbCgpOworCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbWFnZURlY29kZVdvcmtl
cigpKTsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6aW5pdGlhbGl6ZVdvcmtRdWV1ZVBv
b2woKQoreworICAgIGNvbnN0IGludCBudW1Db3JlcyA9IFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JD
b3JlcygpOworCisgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnQgPSBuZXcgVmVjdG9yPGludD4o
bnVtQ29yZXMsIDApOworICAgIHNfd29ya1F1ZXVlUG9vbCA9IG5ldyBWZWN0b3I8V29ya1F1ZXVl
Kj4oKTsKKyAgICBzX3dvcmtRdWV1ZVBvb2wtPnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtQ29y
ZXMpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtQ29yZXM7IGkrKykgeworICAgICAgICBz
X3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+YXQoaSkgPSAwOworICAgICAgICBTdHJpbmcgcXVldWVO
YW1lID0gIkltYWdlRGVjb2RlV29ya2VyLiIgKyBTdHJpbmc6Om51bWJlcihpKTsKKyAgICAgICAg
c193b3JrUXVldWVQb29sLT5hcHBlbmQobmV3IFdvcmtRdWV1ZShxdWV1ZU5hbWUuYXNjaWkoKS5k
YXRhKCkpKTsKKyAgICB9Cit9CisKK2ludCBJbWFnZURlY29kZVdvcmtlcjo6cXVldWVJZFdpdGhN
aW5pbXVtQWNxdWlyZUNvdW50KCkKK3sKKyAgICBpbnQgbWluaW11bUFjcXVpcmVDb3VudCA9IHN0
ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgaW50IGluZGV4ID0gc193b3JrUXVl
dWVQb29sLT5zaXplKCk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNfd29ya1F1ZXVl
UG9vbC0+c2l6ZSgpOyBpKyspCisgICAgICAgIGlmIChzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+
YXQoaSkgPCBtaW5pbXVtQWNxdWlyZUNvdW50KSB7CisgICAgICAgICAgICBtaW5pbXVtQWNxdWly
ZUNvdW50ID0gc193b3JrUXVldWVBY3F1aXJlQ291bnQtPmF0KGkpOworICAgICAgICAgICAgaW5k
ZXggPSBpOworICAgICAgICB9CisKKyAgICBBU1NFUlQoaW5kZXggPCBzX3dvcmtRdWV1ZVBvb2wt
PnNpemUoKSk7CisgICAgcmV0dXJuIGluZGV4OworfQorCitJbWFnZURlY29kZVdvcmtlcjo6SW1h
Z2VEZWNvZGVXb3JrZXIoKQorICAgIDogbV93b3JrZXJTdGF0dXMoUnVubmluZykKK3sKKyAgICBt
X3dvcmtRdWV1ZUlkID0gcXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCk7CisgICAgbV93
b3JrUXVldWUgPSAoKnNfd29ya1F1ZXVlUG9vbClbbV93b3JrUXVldWVJZF07CisgICAgc193b3Jr
UXVldWVBY3F1aXJlQ291bnQtPmF0KG1fd29ya1F1ZXVlSWQpKys7Cit9CisKK0ltYWdlRGVjb2Rl
V29ya2VyOjp+SW1hZ2VEZWNvZGVXb3JrZXIoKQoreworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1
cyA9PSBJbnZhaWRhdGlvblJlYWR5KTsKK30KKworYm9vbCBJbWFnZURlY29kZVdvcmtlcjo6aGFz
SW52YWxpZGF0aW9uQmVndW4oKQoreworICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3dvcmtlclN0
YXR1c011dGV4KTsKKyAgICBpZiAobV93b3JrZXJTdGF0dXMgPT0gSW52YWxpZGF0aW9uQmVndW4p
IHsKKyAgICAgICAgbV93b3JrZXJTdGF0dXMgPSBJbnZhaWRhdGlvblJlYWR5OworICAgICAgICBt
X2ludmFsaWRhdGlvblJlYWR5LnNpZ25hbCgpOworICAgIH0KKyAgICByZXR1cm4gbV93b3JrZXJT
dGF0dXMgIT0gUnVubmluZzsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6Y2FuY2VsYWJs
ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IHdvcmtlciwgY29uc3QgRnVu
Y3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit7CisgICAgaWYgKFVOTElLRUxZKHdvcmtlci0+aGFz
SW52YWxpZGF0aW9uQmVndW4oKSkpCisgICAgICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7
Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZv
aWQoKT4mIGZ1bmN0aW9uKQoreworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1cyA9PSBSdW5uaW5n
KTsKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goYmluZChJbWFnZURlY29kZVdvcmtlcjo6Y2Fu
Y2VsYWJsZUZ1bmN0aW9uLCB0aGlzLCBmdW5jdGlvbikpOworfQorCit2b2lkIEltYWdlRGVjb2Rl
V29ya2VyOjppbnZhbGlkYXRlKCkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrZXIobV93b3JrZXJT
dGF0dXNNdXRleCk7CisKKyAgICBpZiAobV93b3JrZXJTdGF0dXMgIT0gUnVubmluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV93b3JrZXJTdGF0dXMgPSBJbnZhbGlkYXRpb25CZWd1bjsKKwor
ICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChiaW5kKCZJbWFnZURlY29kZVdvcmtlcjo6ZW5zdXJl
VGVybWluYXRlLCB0aGlzKSk7CisgICAgd2hpbGUgKG1fd29ya2VyU3RhdHVzICE9IEludmFpZGF0
aW9uUmVhZHkpCisgICAgICAgIG1faW52YWxpZGF0aW9uUmVhZHkud2FpdChtX3dvcmtlclN0YXR1
c011dGV4KTsKKyAgICBzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+YXQobV93b3JrUXVldWVJZCkt
LTsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6ZW5zdXJlVGVybWluYXRlKFBhc3NSZWZQ
dHI8SW1hZ2VEZWNvZGVXb3JrZXI+IHdvcmtlcikKK3sKKyAgICBNdXRleExvY2tlciBsb2NrZXIo
d29ya2VyLT5tX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBBU1NFUlQod29ya2VyLT5tX3dvcmtl
clN0YXR1cyAhPSBSdW5uaW5nKTsKKyAgICB3b3JrZXItPm1fd29ya2VyU3RhdHVzID0gSW52YWlk
YXRpb25SZWFkeTsKKyAgICB3b3JrZXItPm1faW52YWxpZGF0aW9uUmVhZHkuc2lnbmFsKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NWY1N2EwNDA4
YjJiODAxYTgxODg0ZTMzZDE3ZGE5OTM3NWIyODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oCkBAIC0wLDAgKzEs
NzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEltYWdlRGVjb2RlV29ya2VyX2gKKyNkZWZpbmUgSW1hZ2VEZWNvZGVXb3JrZXJf
aAorCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKworY2xhc3MgV29ya1F1ZXVlOworCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEltYWdlRGVjb2RlV29ya2VyIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPEltYWdlRGVjb2RlV29ya2VyPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IGFjcXVpcmVTaGFyZWRXb3JrZXIoKTsK
KworICAgIHZpcnR1YWwgfkltYWdlRGVjb2RlV29ya2VyKCk7CisKKyAgICB2b2lkIHBvc3RUYXNr
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICB2b2lkIGludmFsaWRhdGUoKTsKKworcHJp
dmF0ZToKKyAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplV29ya1F1ZXVlUG9vbCgpOworICAgIHN0
YXRpYyBpbnQgcXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCk7CisKKyAgICAvLyBGSVhN
RTogVGhlc2UgdHdvIHN0YXRpYyBmdW5jdGlvbnMgc2hvdWxkIGJlY29tZSBub24tc3RhdGljIG1l
dGhvZHMuCisgICAgLy8gSG93ZXZlciwgZGVmaW5pbmcgdGhlbSBhcyBub24tc3RhdGljIG1ldGhv
ZHMgY2F1c2VzIGFuIHVuaW50ZW5kZWQgZGVzdHJ1Y3RvcgorICAgIC8vIGNhbGwgd2hpbGUgYSBG
dW5jdGlvbiBvYmplY3QgcGFzc2VkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2goKSBpcyBiZWluZyBkZXN0
cnVjdGVkLgorICAgIC8vIFRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgdGhlc2UgZnVuY3Rpb25zIGFy
ZSBkZWZpbmVkIGFzIHN0YXRpYyBtZXRob2RzLgorICAgIHN0YXRpYyB2b2lkIGNhbmNlbGFibGVG
dW5jdGlvbihQYXNzUmVmUHRyPEltYWdlRGVjb2RlV29ya2VyPiwgY29uc3QgRnVuY3Rpb248dm9p
ZCgpPiYpOworICAgIHN0YXRpYyB2b2lkIGVuc3VyZVRlcm1pbmF0ZShQYXNzUmVmUHRyPEltYWdl
RGVjb2RlV29ya2VyPik7CisKKyAgICBJbWFnZURlY29kZVdvcmtlcigpOworCisgICAgYm9vbCBo
YXNJbnZhbGlkYXRpb25CZWd1bigpOworCisgICAgc3RhdGljIFZlY3RvcjxXb3JrUXVldWUqPiog
c193b3JrUXVldWVQb29sOworICAgIHN0YXRpYyBWZWN0b3I8aW50Piogc193b3JrUXVldWVBY3F1
aXJlQ291bnQ7CisKKyAgICBlbnVtIFdvcmtlclN0YXR1cyB7IFJ1bm5pbmcsIEludmFsaWRhdGlv
bkJlZ3VuLCBJbnZhaWRhdGlvblJlYWR5IH07CisgICAgTXV0ZXggbV93b3JrZXJTdGF0dXNNdXRl
eDsKKyAgICBXb3JrZXJTdGF0dXMgbV93b3JrZXJTdGF0dXM7CisgICAgVGhyZWFkQ29uZGl0aW9u
IG1faW52YWxpZGF0aW9uUmVhZHk7CisKKyAgICBpbnQgbV93b3JrUXVldWVJZDsKKyAgICBXb3Jr
UXVldWUqIG1fd29ya1F1ZXVlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gSW1hZ2VEZWNvZGVXb3JrZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151872</attachid>
            <date>2012-07-12 00:37:35 -0700</date>
            <delta_ts>2012-07-16 21:50:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120712163733.patch</filename>
            <type>text/plain</type>
            <size>19121</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkNmFiNjlkNjlmZWE4MjgzY2VhZDY2
MzU1Yzg2YzZmZTc1OWVhZTYuLjYxODRiMzMwOTJmYzhmMGY2NjM5ZDU4NDU4MGJlMmNkYWI0ZDFi
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKwogMjAxMi0wNy0wOSAg
S3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIE1vdmUgV29y
a1F1ZXVlIHRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgwOTg0NzZmZmQwNWUzY2I4OGI3NzliNDYwZDU1
ODExZjhiODE4OTcuLjhjODExNTc5ZTQ0MDlmOTNhNDI0MGNhYTMyNTljODM2OGYyM2U0NDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNy0xMSAgS3dvbmppbiBKZW9uZyAgPGdy
YW1AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQWRkIEltYWdlRGVjb2RlV29ya2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGVjb2RlV29y
a2VyIGlzIGEgdGhyZWFkIHBvb2wgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gV29ya1F1ZXVlLgor
ICAgICAgICBJbWFnZURlY29kZVdvcmtlciBpbnRlcm5hbGx5IG1hbmFnZXMgYSBwb29sIG9mIFdv
cmtRdWV1ZXMgKG4gPSBudW1iZXIKKyAgICAgICAgb2YgY29yZXMpIGFuZCBhc3NpZ25zIG9uZSBm
cm9tIHRoZSBwb29sIHdoZW4gYW4gSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAgICAgaW5zdGFuY2Ug
aXMgY3JlYXRlZC4gU28gdHdvIEltYWdlRGVjb2RlV29ya2VycyBjYW4gc2hhcmUgb25lIFdvcmtR
dWV1ZS4KKworICAgICAgICBQYXJhbGxlbCBpbWFnZSBkZWNvZGVycyBjcmVhdGUgYW4gaW5zdGFu
Y2Ugb2YgSW1hZ2VEZWNvZGVXb3JrZXIgZm9yCisgICAgICAgIGVhY2ggaW1hZ2UuIFNvIHRoZSBu
dW1iZXIgb2YgSW1hZ2VEZWNvZGVXb3JrZXIgaW5zdGFuY2VzIGNhbiBiZQorICAgICAgICBhcmJp
dHJhcmlseSBsYXJnZSwgYnV0IHRoZSBudW1iZXIgb2YgV29ya1F1ZXVlcyBpcyBsaW1pdGVkIHRv
IHRoZQorICAgICAgICBudW1iZXIgb2YgY29yZXMuIFRoaXMgZWZmZWN0aXZlbHkgdXRpbGl6ZXMg
dGhlIHVuZGVybHlpbmcgY29yZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6YWNxdWly
ZVNoYXJlZFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6aW5p
dGlhbGl6ZVdvcmtRdWV1ZVBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3Jr
ZXI6OnF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6SW1hZ2VEZWNvZGVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6On5JbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbWFnZURlY29kZVdvcmtlcjo6aGFzSW52YWxpZGF0aW9uQmVndW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmNhbmNlbGFibGVGdW5jdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VE
ZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VEZWNvZGVXb3JrZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKEltYWdlRGVjb2RlV29ya2VyKToKKwogMjAxMi0wNy0xMCAgSHVhbmcgRG9uZ3N1bmcgIDxs
dXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBGaXggYSBwb3RlbnRpYWwgYnVnIG9m
IEJpdG1hcEltYWdlOjpmcmFtZUNvdW50KCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9j
aHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwIGIvU291cmNlL1dURi93dGYvY2hyb21pdW0v
TWFpblRocmVhZENocm9taXVtLmNwcAppbmRleCA5ZTY1OTJiNTcxNTY3OWFlMmJjOWE2ZDFhMGI2
ZjNiOGM5ZTE4ZTgxLi5hZTVmYzgxOTZiMWNhNjlmYTJhMTUxNGVlMjg2YzEzZjllNzI0MjAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1bS9NYWluVGhyZWFkQ2hyb21pdW0uY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKICNpbmNsdWRlICJDaHJv
bWl1bVRocmVhZGluZy5oIgorI2luY2x1ZGUgIkZ1bmN0aW9uYWwuaCIKICNpbmNsdWRlICJUaHJl
YWRpbmcuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC01NCw2ICs1NSwxOCBAQCB2b2lkIGNhbGxP
bk1haW5UaHJlYWQoTWFpblRocmVhZEZ1bmN0aW9uKiBmdW5jdGlvbiwgdm9pZCogY29udGV4dCkK
ICAgICBDaHJvbWl1bVRocmVhZGluZzo6Y2FsbE9uTWFpblRocmVhZChmdW5jdGlvbiwgY29udGV4
dCk7CiB9CiAKK3N0YXRpYyB2b2lkIGNhbGxGdW5jdGlvbk9iamVjdCh2b2lkKiBjb250ZXh0KQor
eworICAgIEZ1bmN0aW9uPHZvaWQoKT4qIGZ1bmN0aW9uID0gc3RhdGljX2Nhc3Q8RnVuY3Rpb248
dm9pZCgpPio+KGNvbnRleHQpOworICAgICgqZnVuY3Rpb24pKCk7CisgICAgZGVsZXRlIGZ1bmN0
aW9uOworfQorCit2b2lkIGNhbGxPbk1haW5UaHJlYWQoY29uc3QgRnVuY3Rpb248dm9pZCgpPiYg
ZnVuY3Rpb24pCit7CisgICAgY2FsbE9uTWFpblRocmVhZChjYWxsRnVuY3Rpb25PYmplY3QsIG5l
dyBGdW5jdGlvbjx2b2lkICgpPihmdW5jdGlvbikpOworfQorCiB2b2lkIGNhbGxPbk1haW5UaHJl
YWRBbmRXYWl0KE1haW5UaHJlYWRGdW5jdGlvbiosIHZvaWQqKQogewogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlMDczN2Q4ZmQ1YzgzMTM3Nzg3ZGRi
MmYwMTA3OTFmYzkyN2ZhYjc4Li42ZDE3MjE5ZjA2NDQ2MjA2MWRlNTc3MDk1NjE0MmUyMmQ2YTcw
NTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE5NCw2ICsxMTk0LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXMuY3BwCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuY3BwCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbnRSZWN0LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1BhdGguY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzNzgxNzI3YWE2YTBlNGUxNTRlOWViZjc2MTll
YTlmMmNlM2M4NDNjLi45YmJhMzIzOTc5YjFmYTM4NmU1MTg4MTc5NjNmYzAyOGE5MjU2MGYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTMzNTUsNiArMzM1NSw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXJEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9ic2VydmVyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggYjkxNDk3NTUzZjRhMGU0YjkzNGNjNWFmNGM0YTYyNzUyMDYzMmY1OC4uYjhjYWQ1NzE2
MjQyODNjNDk2OTA0Y2M2MmYwN2EyZTExZWU3MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMTIyLDYg
KzExMjIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5
cGVzLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAgXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
RGVjb2RlV29ya2VyLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlv
bi5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAgXApAQCAtMjI5OCw2ICsyMjk5LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzM0QuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuaCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5oIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjZmI4MmExNjcyZDRhMWEzMjYzYzUzYWQyZjQyMzU3ODQ3
ODJlNGM4Li5lYmVmYjc2OTZkMGIwOGM3MzU1OWI0NTIxNDAxYTYwNjFiMGNkMzg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0zODIsNiArMzgyLDcgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZl
ci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlckRhdGEuaCcs
CisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuaCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VPYnNlcnZlci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgnLApAQCAtMzQ5NSw2ICszNDk2LDcgQEAK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzLmNwcCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VPcmllbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlU291cmNlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW50
UmVjdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA5MDYyYzhiMjMxZjZjMGE1YWEzYmQxYTk0YjUxZjRkNDhmZDM4ODM0Li40OTdlZThm
MGJhMDEyNmRkZmU3ZWFjMTNjOTRkOTI0NTg2YzFkYWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjkyOTgsNiArMjkyOTgsMTQgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXEltYWdlRGVjb2RlV29ya2VyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEltYWdl
RGVjb2RlV29ya2VyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xJbWFnZU9ic2VydmVyLmgiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYzEyNmM5NWFmOWM5OTU3ODFhNmEwYzFlMzQyNDc0ZjI0NDg1YWM1
MC4uYWZmNmY5ODZmNGY0MGRkMzcxZGYzNzA5Y2QzNTc2MjY1YmZlY2JhMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ4MCw2
ICs2NDgwLDggQEAKIAkJRkU4MERBNzIwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MERB
NkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oICovOyB9OwogCQlGRkQ1Qjk3
QTEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5
MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgKi87IH07CiAJCUZGRDVCOTdCMTM1Q0M5Nzgw
MEQ1RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZp
c2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUZGRDZCOTdBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRkQ2Qjk2
QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwICovOyB9OworCQlGRkQ2
Qjk3QjEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZGRDZCOTZCMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovOyB9OwogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0
aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0x
MzgxNSw2ICsxMzgxNyw4IEBACiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0
aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVy
cm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZGRDVCOTc3MTM1Q0M5NzgwMEQ1
RTkyQSAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRkQ1Qjk3ODEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0YXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTky
QSAvKiBJbWFnZURlY29kZVdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJbWFnZURlY29kZVdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZGRDZCOTdCMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEZWNvZGVXb3JrZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTk2
NzUsNiArMTk2NzksOCBAQAogCQkJCTQzRDI1OTc2MTNDODE2RjQwMDYwODU1OSAvKiBJbWFnZUJ1
ZmZlci5jcHAgKi8sCiAJCQkJQjJBMTBCOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVy
LmggKi8sCiAJCQkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5o
ICovLAorCQkJCUZGRDZCOTZBMTM1Q0M5NzgwMEQ1RTkyQSAvKiBJbWFnZURlY29kZVdvcmtlci5j
cHAgKi8KKwkJCQlGRkQ2Qjk2QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIu
aCAqLwogCQkJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggKi8s
CiAJCQkJQTg3NDhENzQxMkNDM0Y4OTAwMUZCQTQxIC8qIEltYWdlT3JpZW50YXRpb24uY3BwICov
LAogCQkJCUE4NzQ4RDY2MTJDQzM3NjMwMDFGQkE0MSAvKiBJbWFnZU9yaWVudGF0aW9uLmggKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29k
ZVdvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29k
ZVdvcmtlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNmODBmZDM3MjUyMTYzMGM4MmY0YWJkODM3ZjBjMmNi
NzU4NjM4YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcApAQCAtMCwwICsxLDEzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJbWFnZURlY29kZVdvcmtlci5oIgorCisjaW5jbHVkZSA8bGltaXRzPgor
CisjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4KKyNpbmNsdWRlIDx3dGYvV29ya1F1ZXVl
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1ZlY3RvcjxXb3JrUXVldWUqPiog
SW1hZ2VEZWNvZGVXb3JrZXI6OnNfd29ya1F1ZXVlUG9vbCA9IDA7CitWZWN0b3I8aW50PiogSW1h
Z2VEZWNvZGVXb3JrZXI6OnNfd29ya1F1ZXVlQWNxdWlyZUNvdW50ID0gMDsKKworUGFzc1JlZlB0
cjxJbWFnZURlY29kZVdvcmtlcj4gSW1hZ2VEZWNvZGVXb3JrZXI6OmFjcXVpcmVTaGFyZWRXb3Jr
ZXIoKQoreworICAgIGlmICghc193b3JrUXVldWVQb29sKQorICAgICAgICBpbml0aWFsaXplV29y
a1F1ZXVlUG9vbCgpOworCisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbWFnZURlY29kZVdvcmtl
cigpKTsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6aW5pdGlhbGl6ZVdvcmtRdWV1ZVBv
b2woKQoreworICAgIGNvbnN0IGludCBudW1Db3JlcyA9IFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JD
b3JlcygpOworCisgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnQgPSBuZXcgVmVjdG9yPGludD4o
bnVtQ29yZXMsIDApOworICAgIHNfd29ya1F1ZXVlUG9vbCA9IG5ldyBWZWN0b3I8V29ya1F1ZXVl
Kj4oKTsKKyAgICBzX3dvcmtRdWV1ZVBvb2wtPnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtQ29y
ZXMpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtQ29yZXM7IGkrKykgeworICAgICAgICBz
X3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+YXQoaSkgPSAwOworICAgICAgICBTdHJpbmcgcXVldWVO
YW1lID0gIkltYWdlRGVjb2RlV29ya2VyLiIgKyBTdHJpbmc6Om51bWJlcihpKTsKKyAgICAgICAg
c193b3JrUXVldWVQb29sLT5hcHBlbmQobmV3IFdvcmtRdWV1ZShxdWV1ZU5hbWUuYXNjaWkoKS5k
YXRhKCkpKTsKKyAgICB9Cit9CisKK2ludCBJbWFnZURlY29kZVdvcmtlcjo6cXVldWVJZFdpdGhN
aW5pbXVtQWNxdWlyZUNvdW50KCkKK3sKKyAgICBpbnQgbWluaW11bUFjcXVpcmVDb3VudCA9IHN0
ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgaW50IGluZGV4ID0gc193b3JrUXVl
dWVQb29sLT5zaXplKCk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNfd29ya1F1ZXVl
UG9vbC0+c2l6ZSgpOyBpKyspCisgICAgICAgIGlmIChzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+
YXQoaSkgPCBtaW5pbXVtQWNxdWlyZUNvdW50KSB7CisgICAgICAgICAgICBtaW5pbXVtQWNxdWly
ZUNvdW50ID0gc193b3JrUXVldWVBY3F1aXJlQ291bnQtPmF0KGkpOworICAgICAgICAgICAgaW5k
ZXggPSBpOworICAgICAgICB9CisKKyAgICBBU1NFUlQoaW5kZXggPCBzX3dvcmtRdWV1ZVBvb2wt
PnNpemUoKSk7CisgICAgcmV0dXJuIGluZGV4OworfQorCitJbWFnZURlY29kZVdvcmtlcjo6SW1h
Z2VEZWNvZGVXb3JrZXIoKQorICAgIDogbV93b3JrZXJTdGF0dXMoUnVubmluZykKK3sKKyAgICBt
X3dvcmtRdWV1ZUlkID0gcXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCk7CisgICAgbV93
b3JrUXVldWUgPSAoKnNfd29ya1F1ZXVlUG9vbClbbV93b3JrUXVldWVJZF07CisgICAgc193b3Jr
UXVldWVBY3F1aXJlQ291bnQtPmF0KG1fd29ya1F1ZXVlSWQpKys7Cit9CisKK0ltYWdlRGVjb2Rl
V29ya2VyOjp+SW1hZ2VEZWNvZGVXb3JrZXIoKQoreworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1
cyA9PSBJbnZhaWRhdGlvblJlYWR5KTsKK30KKworYm9vbCBJbWFnZURlY29kZVdvcmtlcjo6aGFz
SW52YWxpZGF0aW9uQmVndW4oKQoreworICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3dvcmtlclN0
YXR1c011dGV4KTsKKyAgICBpZiAobV93b3JrZXJTdGF0dXMgPT0gSW52YWxpZGF0aW9uQmVndW4p
IHsKKyAgICAgICAgbV93b3JrZXJTdGF0dXMgPSBJbnZhaWRhdGlvblJlYWR5OworICAgICAgICBt
X2ludmFsaWRhdGlvblJlYWR5LnNpZ25hbCgpOworICAgIH0KKyAgICByZXR1cm4gbV93b3JrZXJT
dGF0dXMgIT0gUnVubmluZzsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6Y2FuY2VsYWJs
ZUZ1bmN0aW9uKFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IHdvcmtlciwgY29uc3QgRnVu
Y3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCit7CisgICAgaWYgKFVOTElLRUxZKHdvcmtlci0+aGFz
SW52YWxpZGF0aW9uQmVndW4oKSkpCisgICAgICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7
Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVXb3JrZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZv
aWQoKT4mIGZ1bmN0aW9uKQoreworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1cyA9PSBSdW5uaW5n
KTsKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2goYmluZChJbWFnZURlY29kZVdvcmtlcjo6Y2Fu
Y2VsYWJsZUZ1bmN0aW9uLCB0aGlzLCBmdW5jdGlvbikpOworfQorCit2b2lkIEltYWdlRGVjb2Rl
V29ya2VyOjppbnZhbGlkYXRlKCkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrZXIobV93b3JrZXJT
dGF0dXNNdXRleCk7CisKKyAgICBpZiAobV93b3JrZXJTdGF0dXMgIT0gUnVubmluZykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV93b3JrZXJTdGF0dXMgPSBJbnZhbGlkYXRpb25CZWd1bjsKKwor
ICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChiaW5kKCZJbWFnZURlY29kZVdvcmtlcjo6ZW5zdXJl
VGVybWluYXRlLCB0aGlzKSk7CisgICAgd2hpbGUgKG1fd29ya2VyU3RhdHVzICE9IEludmFpZGF0
aW9uUmVhZHkpCisgICAgICAgIG1faW52YWxpZGF0aW9uUmVhZHkud2FpdChtX3dvcmtlclN0YXR1
c011dGV4KTsKKyAgICBzX3dvcmtRdWV1ZUFjcXVpcmVDb3VudC0+YXQobV93b3JrUXVldWVJZCkt
LTsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6ZW5zdXJlVGVybWluYXRlKFBhc3NSZWZQ
dHI8SW1hZ2VEZWNvZGVXb3JrZXI+IHdvcmtlcikKK3sKKyAgICBNdXRleExvY2tlciBsb2NrZXIo
d29ya2VyLT5tX3dvcmtlclN0YXR1c011dGV4KTsKKyAgICBBU1NFUlQod29ya2VyLT5tX3dvcmtl
clN0YXR1cyAhPSBSdW5uaW5nKTsKKyAgICB3b3JrZXItPm1fd29ya2VyU3RhdHVzID0gSW52YWlk
YXRpb25SZWFkeTsKKyAgICB3b3JrZXItPm1faW52YWxpZGF0aW9uUmVhZHkuc2lnbmFsKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NWY1N2EwNDA4
YjJiODAxYTgxODg0ZTMzZDE3ZGE5OTM3NWIyODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5oCkBAIC0wLDAgKzEs
NzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEltYWdlRGVjb2RlV29ya2VyX2gKKyNkZWZpbmUgSW1hZ2VEZWNvZGVXb3JrZXJf
aAorCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKworY2xhc3MgV29ya1F1ZXVlOworCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEltYWdlRGVjb2RlV29ya2VyIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPEltYWdlRGVjb2RlV29ya2VyPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IGFjcXVpcmVTaGFyZWRXb3JrZXIoKTsK
KworICAgIHZpcnR1YWwgfkltYWdlRGVjb2RlV29ya2VyKCk7CisKKyAgICB2b2lkIHBvc3RUYXNr
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAgICB2b2lkIGludmFsaWRhdGUoKTsKKworcHJp
dmF0ZToKKyAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplV29ya1F1ZXVlUG9vbCgpOworICAgIHN0
YXRpYyBpbnQgcXVldWVJZFdpdGhNaW5pbXVtQWNxdWlyZUNvdW50KCk7CisKKyAgICAvLyBGSVhN
RTogVGhlc2UgdHdvIHN0YXRpYyBmdW5jdGlvbnMgc2hvdWxkIGJlY29tZSBub24tc3RhdGljIG1l
dGhvZHMuCisgICAgLy8gSG93ZXZlciwgZGVmaW5pbmcgdGhlbSBhcyBub24tc3RhdGljIG1ldGhv
ZHMgY2F1c2VzIGFuIHVuaW50ZW5kZWQgZGVzdHJ1Y3RvcgorICAgIC8vIGNhbGwgd2hpbGUgYSBG
dW5jdGlvbiBvYmplY3QgcGFzc2VkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2goKSBpcyBiZWluZyBkZXN0
cnVjdGVkLgorICAgIC8vIFRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgdGhlc2UgZnVuY3Rpb25zIGFy
ZSBkZWZpbmVkIGFzIHN0YXRpYyBtZXRob2RzLgorICAgIHN0YXRpYyB2b2lkIGNhbmNlbGFibGVG
dW5jdGlvbihQYXNzUmVmUHRyPEltYWdlRGVjb2RlV29ya2VyPiwgY29uc3QgRnVuY3Rpb248dm9p
ZCgpPiYpOworICAgIHN0YXRpYyB2b2lkIGVuc3VyZVRlcm1pbmF0ZShQYXNzUmVmUHRyPEltYWdl
RGVjb2RlV29ya2VyPik7CisKKyAgICBJbWFnZURlY29kZVdvcmtlcigpOworCisgICAgYm9vbCBo
YXNJbnZhbGlkYXRpb25CZWd1bigpOworCisgICAgc3RhdGljIFZlY3RvcjxXb3JrUXVldWUqPiog
c193b3JrUXVldWVQb29sOworICAgIHN0YXRpYyBWZWN0b3I8aW50Piogc193b3JrUXVldWVBY3F1
aXJlQ291bnQ7CisKKyAgICBlbnVtIFdvcmtlclN0YXR1cyB7IFJ1bm5pbmcsIEludmFsaWRhdGlv
bkJlZ3VuLCBJbnZhaWRhdGlvblJlYWR5IH07CisgICAgTXV0ZXggbV93b3JrZXJTdGF0dXNNdXRl
eDsKKyAgICBXb3JrZXJTdGF0dXMgbV93b3JrZXJTdGF0dXM7CisgICAgVGhyZWFkQ29uZGl0aW9u
IG1faW52YWxpZGF0aW9uUmVhZHk7CisKKyAgICBpbnQgbV93b3JrUXVldWVJZDsKKyAgICBXb3Jr
UXVldWUqIG1fd29ya1F1ZXVlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gSW1hZ2VEZWNvZGVXb3JrZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152695</attachid>
            <date>2012-07-16 21:51:05 -0700</date>
            <delta_ts>2012-07-17 23:20:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90869-20120717135057.patch</filename>
            <type>text/plain</type>
            <size>18636</size>
            <attacher name="Kwonjin Jeong">gram</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwOWNkMTg4OTYzNDg2ZTE3MDUwYjRl
N2Y5Yzk1ZjU4NjVkMDA3MDEuLjZhMDBlMDAwYzAxOWYyNDYzYzQ3NDQ3MDZlYTA4MWUwMjViZjkw
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDctMTEgIEt3b25qaW4gSmVvbmcgIDxncmFt
QGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIEFkZCBJbWFnZURlY29kZVdvcmtlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA4NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZURlY29kZVdvcmtl
ciBpcyBhIHRocmVhZCBwb29sIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIFdvcmtRdWV1ZS4KKyAg
ICAgICAgSW1hZ2VEZWNvZGVXb3JrZXIgaW50ZXJuYWxseSBtYW5hZ2VzIGEgcG9vbCBvZiBXb3Jr
UXVldWVzIChuID0gbnVtYmVyCisgICAgICAgIG9mIGNvcmVzKSBhbmQgYXNzaWducyBvbmUgZnJv
bSB0aGUgcG9vbCB3aGVuIGFuIEltYWdlRGVjb2RlV29ya2VyCisgICAgICAgIGluc3RhbmNlIGlz
IGNyZWF0ZWQuIFNvIHR3byBJbWFnZURlY29kZVdvcmtlcnMgY2FuIHNoYXJlIG9uZSBXb3JrUXVl
dWUuCisKKyAgICAgICAgUGFyYWxsZWwgaW1hZ2UgZGVjb2RlcnMgY3JlYXRlIGFuIGluc3RhbmNl
IG9mIEltYWdlRGVjb2RlV29ya2VyIGZvcgorICAgICAgICBlYWNoIGltYWdlLiBTbyB0aGUgbnVt
YmVyIG9mIEltYWdlRGVjb2RlV29ya2VyIGluc3RhbmNlcyBjYW4gYmUKKyAgICAgICAgYXJiaXRy
YXJpbHkgbGFyZ2UsIGJ1dCB0aGUgbnVtYmVyIG9mIFdvcmtRdWV1ZXMgaXMgbGltaXRlZCB0byB0
aGUKKyAgICAgICAgbnVtYmVyIG9mIGNvcmVzLiBUaGlzIGVmZmVjdGl2ZWx5IHV0aWxpemVzIHRo
ZSB1bmRlcmx5aW5nIGNvcmVzLgorCisgICAgICAgICogd3RmL2Nocm9taXVtL01haW5UaHJlYWRD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXVEY6OmNhbGxGdW5jdGlvbk9iamVjdCk6CisgICAgICAg
IChXVEYpOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFkKToKKwogMjAxMi0wNy0wOSAg
S3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIE1vdmUgV29y
a1F1ZXVlIHRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk1NzVkMjMyNGEzMzkwZDJhZjExMjFhMTk4NDMy
ZTcwNGUwZjdkMDkuLjU5NjIwMmUwYmU2ZDljZTZjNDE0ODRhYTQ5NzcwZTkxNGU4MTFjYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNy0xMSAgS3dvbmppbiBKZW9uZyAgPGdy
YW1AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgQWRkIEltYWdlRGVjb2RlV29ya2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDg2OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltYWdlRGVjb2RlV29y
a2VyIGlzIGEgdGhyZWFkIHBvb2wgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gV29ya1F1ZXVlLgor
ICAgICAgICBJbWFnZURlY29kZVdvcmtlciBpbnRlcm5hbGx5IG1hbmFnZXMgYSBwb29sIG9mIFdv
cmtRdWV1ZXMgKG4gPSBudW1iZXIKKyAgICAgICAgb2YgY29yZXMpIGFuZCBhc3NpZ25zIG9uZSBm
cm9tIHRoZSBwb29sIHdoZW4gYW4gSW1hZ2VEZWNvZGVXb3JrZXIKKyAgICAgICAgaW5zdGFuY2Ug
aXMgY3JlYXRlZC4gU28gdHdvIEltYWdlRGVjb2RlV29ya2VycyBjYW4gc2hhcmUgb25lIFdvcmtR
dWV1ZS4KKworICAgICAgICBQYXJhbGxlbCBpbWFnZSBkZWNvZGVycyBjcmVhdGUgYW4gaW5zdGFu
Y2Ugb2YgSW1hZ2VEZWNvZGVXb3JrZXIgZm9yCisgICAgICAgIGVhY2ggaW1hZ2UuIFNvIHRoZSBu
dW1iZXIgb2YgSW1hZ2VEZWNvZGVXb3JrZXIgaW5zdGFuY2VzIGNhbiBiZQorICAgICAgICBhcmJp
dHJhcmlseSBsYXJnZSwgYnV0IHRoZSBudW1iZXIgb2YgV29ya1F1ZXVlcyBpcyBsaW1pdGVkIHRv
IHRoZQorICAgICAgICBudW1iZXIgb2YgY29yZXMuIFRoaXMgZWZmZWN0aXZlbHkgdXRpbGl6ZXMg
dGhlIHVuZGVybHlpbmcgY29yZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6YWNxdWly
ZVNoYXJlZFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6aW5p
dGlhbGl6ZVdvcmtRdWV1ZVBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVXb3Jr
ZXI6OnF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZURlY29kZVdvcmtlcjo6SW1hZ2VEZWNvZGVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6On5JbWFnZURlY29kZVdvcmtlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbWFnZURlY29kZVdvcmtlcjo6aGFzSW52YWxpZGF0aW9uQmVndW4pOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VEZWNvZGVXb3JrZXI6OmNhbmNlbGFibGVGdW5jdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZURlY29kZVdvcmtlcjo6cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VEZWNvZGVXb3JrZXI6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VE
ZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VEZWNvZGVXb3JrZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKEltYWdlRGVjb2RlV29ya2VyKToKKwogMjAxMi0wNy0xMiAgRXJpYyBTZWlkZWwgIDxlcmlj
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5jb3JyZWN0IGJlaGF2aW91ciBjYWxsaW5nIFJhbmdl
IHNldFN0YXJ0IG9yIHNldEVuZCB3aXRoIGJvdW5kYXJ5IGluIGRpZmZlcmVudCBkb2N1bWVudApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2hyb21pdW0vTWFpblRocmVhZENocm9taXVtLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL2Nocm9taXVtL01haW5UaHJlYWRDaHJvbWl1bS5jcHAKaW5kZXgg
OWU2NTkyYjU3MTU2NzlhZTJiYzlhNmQxYTBiNmYzYjhjOWUxOGU4MS4uYWU1ZmM4MTk2YjFjYTY5
ZmEyYTE1MTRlZTI4NmMxM2Y5ZTcyNDIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY2hy
b21pdW0vTWFpblRocmVhZENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jaHJvbWl1
bS9NYWluVGhyZWFkQ2hyb21pdW0uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJB
c3NlcnRpb25zLmgiCiAjaW5jbHVkZSAiQ2hyb21pdW1UaHJlYWRpbmcuaCIKKyNpbmNsdWRlICJG
dW5jdGlvbmFsLmgiCiAjaW5jbHVkZSAiVGhyZWFkaW5nLmgiCiAKIG5hbWVzcGFjZSBXVEYgewpA
QCAtNTQsNiArNTUsMTggQEAgdm9pZCBjYWxsT25NYWluVGhyZWFkKE1haW5UaHJlYWRGdW5jdGlv
biogZnVuY3Rpb24sIHZvaWQqIGNvbnRleHQpCiAgICAgQ2hyb21pdW1UaHJlYWRpbmc6OmNhbGxP
bk1haW5UaHJlYWQoZnVuY3Rpb24sIGNvbnRleHQpOwogfQogCitzdGF0aWMgdm9pZCBjYWxsRnVu
Y3Rpb25PYmplY3Qodm9pZCogY29udGV4dCkKK3sKKyAgICBGdW5jdGlvbjx2b2lkKCk+KiBmdW5j
dGlvbiA9IHN0YXRpY19jYXN0PEZ1bmN0aW9uPHZvaWQoKT4qPihjb250ZXh0KTsKKyAgICAoKmZ1
bmN0aW9uKSgpOworICAgIGRlbGV0ZSBmdW5jdGlvbjsKK30KKwordm9pZCBjYWxsT25NYWluVGhy
ZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQoreworICAgIGNhbGxPbk1haW5U
aHJlYWQoY2FsbEZ1bmN0aW9uT2JqZWN0LCBuZXcgRnVuY3Rpb248dm9pZCAoKT4oZnVuY3Rpb24p
KTsKK30KKwogdm9pZCBjYWxsT25NYWluVGhyZWFkQW5kV2FpdChNYWluVGhyZWFkRnVuY3Rpb24q
LCB2b2lkKikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggYzAyYjIxMWU0MTI2MTc0ZmZiZGNiMmFhZGFlYzBmOGY4MjY3ZTVkYy4uZDVkMDFlNmRm
ZjQ5Zjg3ZmI2MmUyYmQ0NzAzMWRjZTUwNGJhMGNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTExOTcsNiArMTE5Nyw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc1R5cGVzLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNwcAorICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlV29ya2VyLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3Jp
ZW50YXRpb24uY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5jcHAKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9QYXRoLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
NjNiMTcwYTA3MTEwYzkyN2E0N2Q3MGViOGY1NDlmMjkwMzRlOWRjOC4uODJkOWE1MmE0ZmE1NzFh
NzIyYjJlYzBkN2NiNDY5YTM0NzEyZTJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0zMzU2LDYgKzMzNTYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlRGVjb2RlV29ya2VyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VEZWNvZGVXb3JrZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VPYnNlcnZlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZU9yaWVudGF0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VPcmllbnRhdGlvbi5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDk0OTQxYjEyMGMyMzk5YjFmNWQ0NThh
ZjI1MTgzMmIyZDBkZmI1OWUuLmQxMTQ3NTkyODczZjY2OTUyNmRhODczNTU5ZTgwOGI2OTlmNWM5
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQpAQCAtMTEyNCw2ICsxMTI0LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlcy5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlLmNwcCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwIFwK
KyAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAgXAogICAgIHBsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZVNvdXJjZS5jcHAgXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwIFwK
QEAgLTIzMDIsNiArMjMwMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzVHlwZXMuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlczNE
LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmggXAorICAgIHBsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlV29ya2VyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3Jp
ZW50YXRpb24uaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBcCiAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9pbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTFiMDIw
NDE5NDFkMGNmYTI3NWNlNmFlMGU2ZjU0Njg3NDM2YjViOC4uNTRmZmY0ZDhmODFlZDVjMGI3ZDQx
ZGI1YzM0ODM1ZDFiZTE1YTMwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzgyLDYgKzM4Miw3IEBA
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VCdWZmZXJEYXRhLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlRGVjb2RlV29ya2VyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlT2JzZXJ2ZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VP
cmllbnRhdGlvbi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oJywKQEAgLTM0OTksNiArMzUwMCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NUeXBlcy5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3Bw
JywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlT3JpZW50YXRpb24uY3BwJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOTUxMThkYzg3ZTk2OTZmMmQ2OTZm
NDkzMDg3MDJjOGRiNGFmZDc0My4uMzk0YTExYjMzOGVjMzg5MjgxNWIxZGZiOGJmM2UyMWZhYWZl
M2E2MiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTI5MzAyLDYgKzI5MzAyLDE0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xJbWFnZURlY29kZVdvcmtl
ci5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xJbWFnZURlY29kZVdvcmtlci5oIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcSW1hZ2VPYnNlcnZlci5oIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNiM2JiMmRmOWJk
NGFiMTg2MDUzOTcyZWRjZmU3NDI0MTAyMmY3NmQuLmRhYzc2OGQyYmIwYmIyYTA0NzRkNjJiODU4
M2Q0NTY5NjdhNjg4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NzcsNiArNjQ3Nyw4IEBACiAJCUZFODBEQTcyMEU5QzQ3
MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9uRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0
aW9uRXJyb3IuaCAqLzsgfTsKIAkJRkZENUI5N0ExMzVDQzk3ODAwRDVFOTJBIC8qIFBhZ2VWaXNp
YmlsaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkZENUI5NzcxMzVDQzk3ODAwRDVFOTJBIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuY3Bw
ICovOyB9OwogCQlGRkQ1Qjk3QjEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkZENUI5
NzgxMzVDQzk3ODAwRDVFOTJBIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGRkQ2Qjk3QTEzNUNDOTc4MDBE
NUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkZENkI5NkExMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdlRGVj
b2RlV29ya2VyLmNwcCAqLzsgfTsKKwkJRkZENkI5N0IxMzVDQzk3ODAwRDVFOTJBIC8qIEltYWdl
RGVjb2RlV29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGRkQ2Qjk2QjEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuaCAqLzsg
fTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtMTM4MDksNiArMTM4MTEsOCBAQAogCQlGRTgwREE2
RTBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRkQ1Qjk3NzEzNUNDOTc4MDBENUU5MkEgLyogUGFnZVZpc2liaWxpdHlTdGF0ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlVmlzaWJpbGl0eVN0
YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkZENUI5NzgxMzVDQzk3ODAw
RDVFOTJBIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGFnZVZpc2liaWxpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGRkQ2Qjk2QTEzNUNDOTc4MDBENUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VEZWNvZGVXb3JrZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRkQ2Qjk3QjEzNUNDOTc4MDBENUU5MkEg
LyogSW1hZ2VEZWNvZGVXb3JrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEltYWdlRGVjb2RlV29ya2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBF
bmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTE5NjY1LDYgKzE5NjY5LDggQEAKIAkJCQk0M0QyNTk3
NjEzQzgxNkY0MDA2MDg1NTkgLyogSW1hZ2VCdWZmZXIuY3BwICovLAogCQkJCUIyQTEwQjkxMEIz
ODE4QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oICovLAogCQkJCTIyQkQ5RjdEMTM1MzYyNUMw
MDlCRDEwMiAvKiBJbWFnZUJ1ZmZlckRhdGEuaCAqLywKKwkJCQlGRkQ2Qjk2QTEzNUNDOTc4MDBE
NUU5MkEgLyogSW1hZ2VEZWNvZGVXb3JrZXIuY3BwICovCisJCQkJRkZENkI5NkExMzVDQzk3ODAw
RDVFOTJBIC8qIEltYWdlRGVjb2RlV29ya2VyLmggKi8KIAkJCQlCQzdGNDRBNzBCOUUzMjRFMDBB
OUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICovLAogCQkJCUE4NzQ4RDc0MTJDQzNGODkwMDFGQkE0
MSAvKiBJbWFnZU9yaWVudGF0aW9uLmNwcCAqLywKIAkJCQlBODc0OEQ2NjEyQ0MzNzYzMDAxRkJB
NDEgLyogSW1hZ2VPcmllbnRhdGlvbi5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVXb3JrZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMmQ0
MWFiY2M1YzAwYTUwMjJjYTM0ZjhlZDBlNWExYzg3NWY4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZVdvcmtlci5jcHAKQEAg
LTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQ29tcGFueSAxMDAgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW1hZ2VEZWNvZGVXb3Jr
ZXIuaCIKKworI2luY2x1ZGUgPGxpbWl0cz4KKworI2luY2x1ZGUgPHd0Zi9OdW1iZXJPZkNvcmVz
Lmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitWZWN0b3I8V29ya1F1ZXVlKj4qIEltYWdlRGVjb2RlV29ya2VyOjpzX3dvcmtRdWV1
ZVBvb2wgPSAwOworVmVjdG9yPGludD4qIEltYWdlRGVjb2RlV29ya2VyOjpzX3dvcmtRdWV1ZUFj
cXVpcmVDb3VudCA9IDA7CisKK1Bhc3NSZWZQdHI8SW1hZ2VEZWNvZGVXb3JrZXI+IEltYWdlRGVj
b2RlV29ya2VyOjphY3F1aXJlU2hhcmVkV29ya2VyKCkKK3sKKyAgICBpZiAoIXNfd29ya1F1ZXVl
UG9vbCkKKyAgICAgICAgaW5pdGlhbGl6ZVdvcmtRdWV1ZVBvb2woKTsKKworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgSW1hZ2VEZWNvZGVXb3JrZXIoKSk7Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVX
b3JrZXI6OmluaXRpYWxpemVXb3JrUXVldWVQb29sKCkKK3sKKyAgICBjb25zdCBpbnQgbnVtQ29y
ZXMgPSBXVEY6Om51bWJlck9mUHJvY2Vzc29yQ29yZXMoKTsKKworICAgIHNfd29ya1F1ZXVlQWNx
dWlyZUNvdW50ID0gbmV3IFZlY3RvcjxpbnQ+KG51bUNvcmVzLCAwKTsKKyAgICBzX3dvcmtRdWV1
ZVBvb2wgPSBuZXcgVmVjdG9yPFdvcmtRdWV1ZSo+KCk7CisgICAgc193b3JrUXVldWVQb29sLT5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bUNvcmVzKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IG51bUNvcmVzOyBpKyspIHsKKyAgICAgICAgc193b3JrUXVldWVBY3F1aXJlQ291bnQtPmF0KGkp
ID0gMDsKKyAgICAgICAgU3RyaW5nIHF1ZXVlTmFtZSA9ICJJbWFnZURlY29kZVdvcmtlci4iICsg
U3RyaW5nOjpudW1iZXIoaSk7CisgICAgICAgIHNfd29ya1F1ZXVlUG9vbC0+YXBwZW5kKG5ldyBX
b3JrUXVldWUocXVldWVOYW1lLmFzY2lpKCkuZGF0YSgpKSk7CisgICAgfQorfQorCitpbnQgSW1h
Z2VEZWNvZGVXb3JrZXI6OnF1ZXVlSWRXaXRoTWluaW11bUFjcXVpcmVDb3VudCgpCit7CisgICAg
aW50IG1pbmltdW1BY3F1aXJlQ291bnQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgp
OworICAgIGludCBpbmRleCA9IHNfd29ya1F1ZXVlUG9vbC0+c2l6ZSgpOworCisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBzX3dvcmtRdWV1ZVBvb2wtPnNpemUoKTsgaSsrKQorICAgICAgICBp
ZiAoc193b3JrUXVldWVBY3F1aXJlQ291bnQtPmF0KGkpIDwgbWluaW11bUFjcXVpcmVDb3VudCkg
eworICAgICAgICAgICAgbWluaW11bUFjcXVpcmVDb3VudCA9IHNfd29ya1F1ZXVlQWNxdWlyZUNv
dW50LT5hdChpKTsKKyAgICAgICAgICAgIGluZGV4ID0gaTsKKyAgICAgICAgfQorCisgICAgQVNT
RVJUKGluZGV4IDwgc193b3JrUXVldWVQb29sLT5zaXplKCkpOworICAgIHJldHVybiBpbmRleDsK
K30KKworSW1hZ2VEZWNvZGVXb3JrZXI6OkltYWdlRGVjb2RlV29ya2VyKCkKKyAgICA6IG1fd29y
a2VyU3RhdHVzKFJ1bm5pbmcpCit7CisgICAgbV93b3JrUXVldWVJZCA9IHF1ZXVlSWRXaXRoTWlu
aW11bUFjcXVpcmVDb3VudCgpOworICAgIG1fd29ya1F1ZXVlID0gKCpzX3dvcmtRdWV1ZVBvb2wp
W21fd29ya1F1ZXVlSWRdOworICAgIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50LT5hdChtX3dvcmtR
dWV1ZUlkKSsrOworfQorCitJbWFnZURlY29kZVdvcmtlcjo6fkltYWdlRGVjb2RlV29ya2VyKCkK
K3sKKyAgICBBU1NFUlQobV93b3JrZXJTdGF0dXMgPT0gSW52YWlkYXRpb25SZWFkeSk7Cit9CisK
K2Jvb2wgSW1hZ2VEZWNvZGVXb3JrZXI6Omhhc0ludmFsaWRhdGlvbkJlZ3VuKCkKK3sKKyAgICBN
dXRleExvY2tlciBsb2NrZXIobV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgaWYgKG1fd29ya2Vy
U3RhdHVzID09IEludmFsaWRhdGlvbkJlZ3VuKSB7CisgICAgICAgIG1fd29ya2VyU3RhdHVzID0g
SW52YWlkYXRpb25SZWFkeTsKKyAgICAgICAgbV9pbnZhbGlkYXRpb25SZWFkeS5zaWduYWwoKTsK
KyAgICB9CisgICAgcmV0dXJuIG1fd29ya2VyU3RhdHVzICE9IFJ1bm5pbmc7Cit9CisKK3ZvaWQg
SW1hZ2VEZWNvZGVXb3JrZXI6OmNhbmNlbGFibGVGdW5jdGlvbihjb25zdCBGdW5jdGlvbjx2b2lk
KCk+JiBmdW5jdGlvbikKK3sKKyAgICBpZiAoVU5MSUtFTFkoaGFzSW52YWxpZGF0aW9uQmVndW4o
KSkpCisgICAgICAgIHJldHVybjsKKworICAgIGZ1bmN0aW9uKCk7Cit9CisKK3ZvaWQgSW1hZ2VE
ZWNvZGVXb3JrZXI6OnBvc3RUYXNrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQor
eworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1cyA9PSBSdW5uaW5nKTsKKyAgICBtX3dvcmtRdWV1
ZS0+ZGlzcGF0Y2goYmluZCgmSW1hZ2VEZWNvZGVXb3JrZXI6OmNhbmNlbGFibGVGdW5jdGlvbiwg
dGhpcywgZnVuY3Rpb24pKTsKK30KKwordm9pZCBJbWFnZURlY29kZVdvcmtlcjo6aW52YWxpZGF0
ZSgpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fd29ya2VyU3RhdHVzTXV0ZXgpOworCisg
ICAgaWYgKG1fd29ya2VyU3RhdHVzICE9IFJ1bm5pbmcpCisgICAgICAgIHJldHVybjsKKworICAg
IG1fd29ya2VyU3RhdHVzID0gSW52YWxpZGF0aW9uQmVndW47CisKKyAgICBtX3dvcmtRdWV1ZS0+
ZGlzcGF0Y2goYmluZCgmSW1hZ2VEZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSwgdGhpcykp
OworICAgIHdoaWxlIChtX3dvcmtlclN0YXR1cyAhPSBJbnZhaWRhdGlvblJlYWR5KQorICAgICAg
ICBtX2ludmFsaWRhdGlvblJlYWR5LndhaXQobV93b3JrZXJTdGF0dXNNdXRleCk7CisgICAgc193
b3JrUXVldWVBY3F1aXJlQ291bnQtPmF0KG1fd29ya1F1ZXVlSWQpLS07Cit9CisKK3ZvaWQgSW1h
Z2VEZWNvZGVXb3JrZXI6OmVuc3VyZVRlcm1pbmF0ZSgpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9j
a2VyKG1fd29ya2VyU3RhdHVzTXV0ZXgpOworICAgIEFTU0VSVChtX3dvcmtlclN0YXR1cyAhPSBS
dW5uaW5nKTsKKyAgICBtX3dvcmtlclN0YXR1cyA9IEludmFpZGF0aW9uUmVhZHk7CisgICAgbV9p
bnZhbGlkYXRpb25SZWFkeS5zaWduYWwoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVX
b3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlRGVjb2RlV29y
a2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTY5MWQ2NzkyZDM3ODc1YWNkMDRkNDA1NWUyMGQ5MDYwNzkxYWIx
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlRGVjb2RlV29ya2VyLmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW1hZ2VEZWNvZGVXb3JrZXJf
aAorI2RlZmluZSBJbWFnZURlY29kZVdvcmtlcl9oCisKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb25h
bC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1dvcmtRdWV1
ZS5oPgorCitjbGFzcyBXb3JrUXVldWU7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SW1hZ2VEZWNvZGVXb3JrZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SW1hZ2VEZWNv
ZGVXb3JrZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbWFnZURlY29kZVdv
cmtlcj4gYWNxdWlyZVNoYXJlZFdvcmtlcigpOworCisgICAgdmlydHVhbCB+SW1hZ2VEZWNvZGVX
b3JrZXIoKTsKKworICAgIHZvaWQgcG9zdFRhc2soY29uc3QgRnVuY3Rpb248dm9pZCgpPiYpOwor
ICAgIHZvaWQgaW52YWxpZGF0ZSgpOworCitwcml2YXRlOgorICAgIHN0YXRpYyB2b2lkIGluaXRp
YWxpemVXb3JrUXVldWVQb29sKCk7CisgICAgc3RhdGljIGludCBxdWV1ZUlkV2l0aE1pbmltdW1B
Y3F1aXJlQ291bnQoKTsKKworICAgIEltYWdlRGVjb2RlV29ya2VyKCk7CisKKyAgICBib29sIGhh
c0ludmFsaWRhdGlvbkJlZ3VuKCk7CisKKyAgICB2b2lkIGNhbmNlbGFibGVGdW5jdGlvbihjb25z
dCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgdm9pZCBlbnN1cmVUZXJtaW5hdGUoKTsKKworICAg
IHN0YXRpYyBWZWN0b3I8V29ya1F1ZXVlKj4qIHNfd29ya1F1ZXVlUG9vbDsKKyAgICBzdGF0aWMg
VmVjdG9yPGludD4qIHNfd29ya1F1ZXVlQWNxdWlyZUNvdW50OworCisgICAgZW51bSBXb3JrZXJT
dGF0dXMgeyBSdW5uaW5nLCBJbnZhbGlkYXRpb25CZWd1biwgSW52YWlkYXRpb25SZWFkeSB9Owor
ICAgIE11dGV4IG1fd29ya2VyU3RhdHVzTXV0ZXg7CisgICAgV29ya2VyU3RhdHVzIG1fd29ya2Vy
U3RhdHVzOworICAgIFRocmVhZENvbmRpdGlvbiBtX2ludmFsaWRhdGlvblJlYWR5OworCisgICAg
aW50IG1fd29ya1F1ZXVlSWQ7CisgICAgV29ya1F1ZXVlKiBtX3dvcmtRdWV1ZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEltYWdlRGVjb2RlV29ya2VyX2gK
</data>
<flag name="commit-queue"
          id="161700"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>