<?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>59182</bug_id>
          
          <creation_ts>2011-04-22 02:08:16 -0700</creation_ts>
          <short_desc>[Chromium] Vertical positions are off for some Arabic glyphs on Linux</short_desc>
          <delta_ts>2011-04-26 21:50:13 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://crbug.com/76458</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bashi</cc>
    
    <cc>commit-queue</cc>
    
    <cc>evan</cc>
    
    <cc>jshin</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390679</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-22 02:08:16 -0700</bug_when>
    <thetext>See http://crbug.com/76458 for details.

1. Install Scheherazade.ttf, which can be found at [1].
2. Visit [1] and compare the result of &quot;Intalled font:&quot; and &quot;Reference graphic&quot;.

[1] http://www.w3.org/International/tests/tests-html-css/tests-webfonts/generate?test=5&amp;format=html5

The rendering is slightly different.  The cause is that ComplexTextController doesn&apos;t take care of the vertical offsets of the shaping result. I&apos;ll send a patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390684</commentid>
    <comment_count>1</comment_count>
      <attachid>90682</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-22 02:25:58 -0700</bug_when>
    <thetext>Created attachment 90682
Patch V0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390810</commentid>
    <comment_count>2</comment_count>
      <attachid>90682</attachid>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-04-22 09:12:12 -0700</bug_when>
    <thetext>Comment on attachment 90682
Patch V0

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

This patch looks perfect.  I only have very minor comments.

&gt; LayoutTests/platform/chromium-linux/fast/text/arabic-vertical-offset.html:7
&gt; +    src: url(data:font/opentype;base64,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);

Did you create this font yourself?  (I am worried about licensing)

&gt; Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.h:64
&gt; +    ComplexTextController(const TextRun&amp;, unsigned, unsigned, const Font*);

Is it necessary to take the startingY as an argument since the users always want 0?  (Now that I look, maybe both of these unsigned arguments aren&apos;t needed; they might be left over from previous refactorings.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390851</commentid>
    <comment_count>3</comment_count>
      <attachid>90682</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-22 10:06:41 -0700</bug_when>
    <thetext>Comment on attachment 90682
Patch V0

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

&gt;&gt; LayoutTests/platform/chromium-linux/fast/text/arabic-vertical-offset.html:7
&gt;&gt; +    src: url(data:font/opentype;base64,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);
&gt; 
&gt; Did you create this font yourself?  (I am worried about licensing)

Is it possible to load the font from disk?  We normally put extra test files in the resources subdirectory (for example, platform/chromium-linux-fast/text/resources/).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391663</commentid>
    <comment_count>4</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-24 18:12:46 -0700</bug_when>
    <thetext>Hi Evan,

Thank you for taking a look of this patch.

(In reply to comment #2)
&gt; Did you create this font yourself?  (I am worried about licensing)

Yes, I&apos;ve created it with FontForge from scratch so I think there is no licensing issue.  I&apos;ll add an explanation of it.

&gt; &gt; Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.h:64
&gt; &gt; +    ComplexTextController(const TextRun&amp;, unsigned, unsigned, const Font*);
&gt; 
&gt; Is it necessary to take the startingY as an argument since the users always want 0?  (Now that I look, maybe both of these unsigned arguments aren&apos;t needed; they might be left over from previous refactorings.)

I might have wrong idea, but I couldn&apos;t find other way to pass the starting position to ComplexTextController.  As far as I checked, the starting point is not always zero at FontLinux::drawComplexText().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391664</commentid>
    <comment_count>5</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-24 18:14:17 -0700</bug_when>
    <thetext>Hi Tony,

(In reply to comment #3)
&gt; Is it possible to load the font from disk?  We normally put extra test files in the resources subdirectory (for example, platform/chromium-linux-fast/text/resources/).

Thank you letting me know that.  I&apos;ll put the font on resources directory in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391810</commentid>
    <comment_count>6</comment_count>
      <attachid>90682</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-25 10:17:26 -0700</bug_when>
    <thetext>Comment on attachment 90682
Patch V0

I think the change is fine, but please update the ChangeLog to say that you created the font and split the font into a separate file in resources/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392271</commentid>
    <comment_count>7</comment_count>
      <attachid>91057</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-25 22:47:18 -0700</bug_when>
    <thetext>Created attachment 91057
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392274</commentid>
    <comment_count>8</comment_count>
      <attachid>91058</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-25 22:55:02 -0700</bug_when>
    <thetext>Created attachment 91058
Thai script rendering result

Hi,

I&apos;ve updated the patch to address Tony&apos;s comments. Thanks!

BTW, I noticed that the rendering results of some Thai scripts on Chromium (w/this patch) and Firefox are slightly different.  Chromium w/this patch renders some marks a bit higher than Firefox.  The attached image shows the rendering results of text U+0E17 U+0E4D U+0E2B U+0E49 (I don&apos;t understand Thai language so the text might be meaningless).  This difference comes from the shaping result (the return value of HB_ShapeItem()) and I&apos;m not sure this is correct rendering.

Regards,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392546</commentid>
    <comment_count>9</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-04-26 10:21:50 -0700</bug_when>
    <thetext>See https://bugs.webkit.org/show_bug.cgi?id=53637 for some more background on a recent bug we had with getting a font metric wrong that caused glyph positions to be subtly off.

I think we should land this patch, since we know it is correct for at least Arabic, and worry about the Thai issue separately if it&apos;s an issue at all.  I know that Firefox usually has correct rendering so it is probably worth looking into, but until we fixed the above bug (which we only fixed a few months ago), Thai rendered completely wrong.  So I don&apos;t worry about upsetting our nonexistent Thai userbase.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393054</commentid>
    <comment_count>10</comment_count>
      <attachid>91057</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-26 16:46:15 -0700</bug_when>
    <thetext>Comment on attachment 91057
Patch V1

Thank you for review, Tony! Could you cq+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393082</commentid>
    <comment_count>11</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-04-26 16:54:02 -0700</bug_when>
    <thetext>Hi Evan,

I get it. Thank you for the information!

(In reply to comment #9)
&gt; See https://bugs.webkit.org/show_bug.cgi?id=53637 for some more background on a recent bug we had with getting a font metric wrong that caused glyph positions to be subtly off.
&gt; 
&gt; I think we should land this patch, since we know it is correct for at least Arabic, and worry about the Thai issue separately if it&apos;s an issue at all.  I know that Firefox usually has correct rendering so it is probably worth looking into, but until we fixed the above bug (which we only fixed a few months ago), Thai rendered completely wrong.  So I don&apos;t worry about upsetting our nonexistent Thai userbase.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393332</commentid>
    <comment_count>12</comment_count>
      <attachid>91057</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-26 21:50:08 -0700</bug_when>
    <thetext>Comment on attachment 91057
Patch V1

Clearing flags on attachment: 91057

Committed r85013: &lt;http://trac.webkit.org/changeset/85013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393333</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-26 21:50:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90682</attachid>
            <date>2011-04-22 02:25:58 -0700</date>
            <delta_ts>2011-04-25 22:47:07 -0700</delta_ts>
            <desc>Patch V0</desc>
            <filename>bug-59182-20110422182556.patch</filename>
            <type>text/plain</type>
            <size>22095</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ2MTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhM2NiYzljOGJhZWE2YjVkNjg4ZTQ4
NTRhMjhlNDJiOTE0ZDk2Mjg1Li5lOGEwOTEzZThjNTRlNzMzYTM4OTNmMzg0YjhiNmQ2ZGY0MGUy
OGZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMjIgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gVmVydGljYWwgcG9zaXRpb25zIGFyZSBvZmYgZm9y
IHNvbWUgQXJhYmljIGdseXBocyBvbiBMaW51eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxODIKKworICAgICAgICBBZGQgYSB0ZXN0IGZvciBjaGVj
a2luZyB2ZXJ0aWNhbCBvZmZzZXRzIG9mIEFyYWJpYyBzY3JpcHQgc2hhcGluZy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9hcmFiaWMtdmVydGljYWwtb2Zm
c2V0LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC90ZXh0L2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQvYXJhYmljLXZlcnRp
Y2FsLW9mZnNldC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNC0yMiAgT2phbiBWYWZhaSAgPG9qYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2FyYWJp
Yy12ZXJ0aWNhbC1vZmZzZXQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvZmFzdC90ZXh0L2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQtZXhwZWN0ZWQucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM1NTc4YWEzYzZmNDliNTRlNGE0YmVjY2ZlY2YyYzk5N2Y2MDBmNjcKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDU2NDIKemNtZUhMWDs3MHs3TEN9NXd1QUlFSTRDc1d3QjNT
QFkoYGNndV5TXjtBYyU7RjVoNVopMnE3cHRBO2JrYEtwUDVaCnpwXj5jdDVoVn09ZyNkdkJNTVZl
XzVEQnMqa3VAeG11bSFTXldMfjxmPUVxYzVtLUJDYWtVeSNWPlY1Q3NkK3Necwp6LXVJPVBiYVBW
d1FzK3d1MWZxVzJgUkZNS1diKztmTUNJJk83NFQlSSk9b3E0dz83aGJIWnRJSFU7cml9M0piOWIK
ejNPYWJgVnZ2UW8xPVFjPmtibHJjczRXekY9dSR4NyFONEdrZ1Zyez5sVTJzeCklQGN9ZT5AJFZL
aE1VOGBiQ1lsCnpGWlFMQkswOCUhYEBVQkYobiRYSXB7X207SGZ3JjNjKUJafldTe2R4YFNwfjJg
PDZ8QTlKX1ZkYiEqRFlUUWdjdwp6Uy1abHZAY3RFZ2FxSU0oQmMtfXl3Py1lNUhhbDYoKldPe1hk
YUsmdVppKCg4TWRjSzlRRmV6d0Q3cEVLOD1sNCQKemgrKWFYNkZBSSVNbEElZzJSLUR7MClicjEo
WT53O2BEKSkyMjt7e1Z8OX45JXdOKFlPUnI0JGE7Oyp0RHZkOHRwCnpDUD5uQDFDVlJ4fDU8ZUda
PFd+QCpiaCVlR2hJd2BKSDZhMHJvemZvTk4kUFRWPi1wNzspbXQ8WjdBLWR5TXlxSwp6eV9oI0tP
UjkkVFhNZlQ5VUdWTjFHa2pRWnU9cmdMRXBxdi13UjtoKXJMMyYlMDMpRDFqVVo7QVhoSWZ9WTBK
eWsKel9LT2AyVCY1Z2w9Mjs2MjZyJVF7SUNPV3V0dExCWnBYdShQMlc4UkcoZnEtdT1udm89T3Fr
PWhJdmkoNUx3Y0BlCnp8SCQyfXJkLWR9WCUleWl5PDFwaUlld0N0bihtUjJreTsyMylpV01pWTh2
fEluPDhoak9fMWwxTlIkPXZoezU2TAp6JTlQPll2NUtqRUk/UyE9T2x0PnJNfEglYnB8LTM3Skwo
JmNfYmhsSXYqVkhtRUQpKS1wY3JnYGlUYTZtXkx3MSQKejdJKVUjVSE4RXE8TUVtVVppUTF9WG5T
dlVEKS0/VXcoR2NWQXVoZnQzeCVGITY2TVB2MD13ZWsqWUsjMmpNODI4CnpAKCNTKXtwY0BFd19P
eyVNQypgTTZKPkxtLUBEa14rM31sfnlKdWFBTGA1PWVyTVNNbns/Pk1GeylkYFVjX3hsOQp6aHMw
dkIpKzZETEUtbyhmNkI2Tl44VENgR2NndzYtbyl1UUlrUEpWKyZaUTgmYUMtNlVIeDFTPSRrKVp5
MzZzWFcKej9nREJeZT9eSXJSb0Y8d2gzN1lMTUNvdWZWSUVXNkZxWFBsPXw1YkwjbDxtQFpnQVBr
OUdTYCZFc29iTXVXfDQ9CnolSzwwWVFidmdwWV8lcmNPVkpkQFpYJVAoPCVSSmZ5KE5oR2BUNGJ4
MjxDTDJgSU9BNmQ3PlJJemspe2RKYEZ5bAp6RkJiXmpiNDVNbCNqR2tNMXNuIXQrQW5rUGYrYHxy
KHdpPnZeN2JDKyU3cUZWIz95djZFTWtIbU4kUGVZRU5wQjwKelZrUjsxXzEpYkMxcUVDZ0taY1ln
SDB6T2E3NGlfNzBNQ15rJVo9Jk1lUVhmLTN6ZFhnUnN0RUtWYjs5eHFRb2ZNCno0Q049bztCYk96
cSghSTw7aDliLVRQPCshY2EmMS12aVZOcT5RQj90WEl0V2hIdG81Y1BUSlM5eXdWKEgpU1paJAp6
dENPOEY9XkFkTlZLSiYyPztFeEJ2YEY/emdEN2Z+JWpOMzJSP1h2amY9MzRCcktQM2k8IUUrT1JO
Vz9uZ29XcXMKejMxZ1pMNGkxV1M5JGVleC0wMT9yJSpeQUtIazVvUlhLMW1KUzRoUFNrZ3MzQWVq
P0FSanpZLV5qOVZRPFlhP25CCnpXcylKUzBQPClwITt+dUpRI0F9PTJARGc4N1VJaDUtUlJTbGhf
Uk9gWn1ZNVVxTX5HVEQ4JnpxdEtzM3tvYVEocgp6QzUtU0U8TDlhTVlQTyVHcD5OKzEhUnNjR25g
WD01dktnYTFiQlBqZ1lyNlJERmxWKSUhe01PVCRGJEp9UUxLUDsKejJkbUN+P3wxME9PPU03TCFt
N2hEezFHfmw3LWM1aFpqQFRtRyZueUBMQiZucFRWdXk/WkRKbDxvb2xQUjdidmErCnpKT0YxKWRQ
fClLRHQjajRWcVdAKyR+fWNfO1pTfnp6NGdJJlpgMXxrKGZmZWRUcD45fCZtc1FWMFMzc0QmKnVZ
eQp6cDE1cT44RHQ8ME4kVCRJRT48KTRDWFl+WFR0Xkx1TC1eSENTSkkmTyhvRz9Ua0h4Sk9KSkps
YEZ6bkU/Kjt4S2EKelZfZ15xZ0NRQjlwV2pkPWN+fFQyK1YhWlFhckN4c05WYEo1TXhUUlR7QlE7
RXo5NURaQyFXbWxIazMtRyR5TH1jCnolViV8VVVJdX5iLWBLd0VAMyN6MSl4fFkwdlhEM3YjIV5r
WUs2U1EmMW9XMzZUSWt0ZEEzQXVvN29xKWc/WTJAYgp6dUZXT2UpT1Y8XyZyYDQzPWpsVnF7ckFw
IUNsOCttZmA3X3tBQHZNdyFZQDIldDxieyhgWSg+WDhYcVl1ZXRQS3EKemEyJjZJTFI4MmwrbWw8
NHc2U2BeSWcyQjJlJS02bExkez9gVXdvQWNEN2hCczFDeHUhdHZSdmRNPTIkdHQyTmJSCnp5WkR2
TUdEanJnK21RVG0qVThmRHQ7ZypLVFhvX1NCczFtZHV4XyQxNzA5WWR5dilPS25qN3QpNypeJTs9
ZyVkQAp6SSUpSyVJaEhaR1ZKc1VOclgtOW1qVGcmV1NXRzlibFRmblIoWTltKFJYX3Y1O3k+Jkcj
Y1VSaC1CRDloPDRRU2UKejlLc3F+PSY1e0F4QnBtMHN8VE1sYGg4IXlKM0spWTl5S3lCVUBaflYt
R3B9QWpLOSlHZU04dlBjRSpvQGlMZyFjCnopcnI3WCRHJFMydD0zc3E0WTNpI2hGJDgpTmFuRGVG
Xk5rWmhOUiE8YT4qUGVibnN3aj01M3VCRk1VTS1pdkRyeAp6XiZpVWw8IV9ZP0drU0NNa2ByOWc+
czt5fW5KKG9PI1B+KG9nSmZwZ21sI2RWMztpIWhNeWF6VCtocmFUeE8pd2IKek9VcUVmYlhuVFZS
e0dkJWMyIWtYJmlTaHlaNXJfTkBIZENLO19mPWtLdyg2O1pVMkxRQnU0Y0twYzhQcEctY2ZjCnom
ZUdNXiVeSWlNQG9XNStzciM1P2dHb2JQajJ0dGZHUlgwcFk4b3QjfEQpblEyalAyOVQ7ZyZiMkZt
S1Q5eDFhSgp6dW1aRmpaJUB+dGhJREJeOGZfa0wlJj42TWtCKDZ2SUctSHxUJkVzODk4eDZEP0t5
S2QocThgZVY7WXM3MyUjbnAKejFxWkFUKzUhOGFhJUUoclJJWXJMVig2Q3QkYztaIzJhO2heVnsh
cjsoYWdkVXFlN3h3VHpkZjVIMWlPfHkoJCM0CnpCYld9MVkhaSZSa0gtajZBc2VSUGgoWiN8dz9J
N1kxYUFVNzBsTTYqd3hqWkZQMDE9K1JfWElwPkFaa2UlNzc2Ygp6enlRaytGbV4rT0R1TEEzXy1x
T3tRVGk7bkZZTyFLclMpWnxIbG1seU1kZS1XdlRQbnokMzA0bkl7NmtIPUI8VkoKei1TM2V8cSV3
K1BoV3Zkd0VOWiVeN3pCeUomKTQ7PChLRD80ZjA2M1ZXQ0JZbTBeIW8tIWZMU2o7Z3V8N1ZWLSY5
CnpWKnBSMVdSX0dFSkM7SkQoVT1LU1A9clRoYm8zNzc1ajxYYy14NEV7TmF7aCtFX0d4QTU0Py1j
eCFyeTYtNEdkJgp6IVU7SWElTT94RTw2V3hTPVQ4PD82MFpaaiV8R2syIVZhQSM2cCgrJWB1NSlS
JGU2dVZqUnpRY0lHWHN6YzJtJnsKelpROUFoKDVjT3lOTWJ9ZjBTaEpGPFEzd3s1YEkmTnZZcT57
RTV2X0RNUTg3bVJFNT4yaTZgVFokdmF3ajR1VmA1CnpLe0VGMDRsb2w9XyVpYFBmWTtPMEJifStM
PXcxO0QyX0g4YlQqaEskQUp5UHpyVGd4SWxGKChWO0FoPTNiSy1GSAp6cnZATWlnWlN5PCs1X0k/
Xk1mb19KOyg7c3A/VUZWLTEtTyk9NiU4ZU5Lb20+e3hrMiY+TVY9bXJnOXlMTmZxKFEKenp8PXNh
cjdMNnQjfmZkb3tsfTVVMnhYN3p3Tl5xcG5kd0QzO3wwJSVRT01RP09zbHlge0AkYHQ0UHdKfCQo
XmFMCnorfnRLZjRPSHl0RXgyQCRkRTRafDlJRmJAOWpGbzI1SSkqTk51Iy1wYHdWa2hASmVuYD5n
IUdZbm5sMTNEJUBEfgp6Qll7NHFDfFV5OEF7ezF+SGQ7PUwrcEYlUktmXnpFRjJXfXBwelozUiln
Tj41WFNESGNHUUZ7I3dyZW95Xj9wTXwKej8+d0pSRjREUi1tNEEtRDE2QG1XVUA4WTl6Jjh4SkB1
NSt3cmxIJlZqNX4xX0VUVTtRT2Y5dz4oQzYhaV4rNXlNCnprS0IyO3FqZFdNZU5zIXBDP3VLWG9M
MXoyMlJKLWo2Vk9nME5JXio+citkdFpWbiFlJVRiLWFwMWVZK2JUTz9tOAp6JERtakZZQGAtS2N1
eTwjYWN0eCFJVkp4bSNaOUV0X2tJQFRMREJrekElemAxK34qRF90Y3ctX1JvQj5wIzVIWlkKej12
NktoZUZvP0k+fmImSW8oNzsqXjM9Mk9oaDE0dCs4PkZHe2FScTBHfTk+VyQ9U0xJOy1+KnZRfDR6
Y2BZXkhPCno0QzlMYFV1eUtKZnoxJGUpcjJqN0tES2BMaFFBTk1ocTAlZUs7T15wa3VuUCVAUj9e
K0FtKU1SSSVeWGk0P3JMYgp6d1BQK3hlPnh3dENhUXgpbyErI3NlUDFVTG1hPlpTRWRwTTxQYDV5
Py1NK3RXc2N2Rm92UkxObz9DI0R+X1RpanAKemIjUzgpZkJuekA5PVdAP2hePiZYcmw1WkBnOHkm
MXtNOWhPdkQ0PldkTnkjeyEwOXZaI35XMUhwdm5lU0tLRTxWCmpoRlVoJUBfKG42UmZHTlFQZHV8
KyF6dGs3RjYyMUU/SWApRDNwZjReMDFTKn4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9hcmFi
aWMtdmVydGljYWwtb2Zmc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9hcmFiaWMtdmVydGljYWwtb2Zmc2V0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZWVmYWE0YWI4ZjM4NmNjNTE1ZWM5YTFiYmVmMzM2YjFkZGY0M2RkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFz
dC90ZXh0L2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgy
MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNDB4MTkKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNDA6ICJUaGUgc3F1YXJlIGdseXBoIHNob3Vs
ZCBiZSBsb2NhdGVkIGFib3ZlIHRoZSBsaW5lIGdseXBoLiIKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDM2KSBzaXplIDc4NHg2MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMykgc2l6ZSA2NHg1NAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMpIHdpZHRoIDY0OiAi
XHh7NjA2fVx4ezZFMX0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9mYXN0L3RleHQvYXJhYmljLXZlcnRpY2FsLW9mZnNldC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2FyYWJpYy12ZXJ0aWNhbC1vZmZz
ZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ZGJkMTU5NmE1NThkY2ZjZmU2NTZmOGFkMTk4NjZhYzAyOTE0
NDNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC90ZXh0L2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQuaHRtbApAQCAtMCwwICsxLDE2IEBA
Cis8c3R5bGU+CisgIC8qICBUaGlzIGZvbnQgY29udGFpbnMgYSBsaW5lIGdseXBoKFUrMDYwNikg
YW5kIGEgc3F1YXJlIGdseXBoKFUrMDZFMSksIGFuZAorICAgKiAgaGFzIGEgJ21hcmsnIGZlYXR1
cmUgdGhhdCBsb2NhdGVzIHRoZSBzcXVhcmUgZ2x5cGggYWJvdmUgdGhlIGxpbmUgZ2x5cGguCisg
ICAqLworICBAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogdGVzdDsKKyAgICBzcmM6IHVy
bChkYXRhOmZvbnQvb3BlbnR5cGU7YmFzZTY0LEFBRUFBQUFRQVFBQUJBQUFSa1pVVFZxQjJKTUFB
QVpvQUFBQUhFZEVSVVlBT1FBUUFBQUZ1QUFBQUNaSFVFOVR0SHpDNlFBQUJnQUFBQUJtUjFOVlFr
UjJUSFVBQUFYZ0FBQUFJRTlUTHpKOEZXaVVBQUFCaUFBQUFGWmpiV0Z3QjlFSTZnQUFBZlFBQUFG
S1kzWjBJQUFoQW5rQUFBTkFBQUFBQkdkaGMzRC8vd0FEQUFBRnNBQUFBQWhuYkhsbUNOcldVd0FB
QTFBQUFBQ01hR1ZoWlBheCt3MEFBQUVNQUFBQU5taG9aV0VHT2dPWkFBQUJSQUFBQUNSb2JYUjRE
UVFBd3dBQUFlQUFBQUFTYkc5allRQmlBSm9BQUFORUFBQUFERzFoZUhBQVNRQTVBQUFCYUFBQUFD
QnVZVzFsZGk4YXlBQUFBOXdBQUFHVmNHOXpkQ2JiR0NjQUFBVjBBQUFBT2dBQkFBQUFBUUFBcmlK
ODBsOFBQUFVBaXdQb0FBQUFBTW5XMi9FQUFBQUF5ZGJiOFFBaC82d0RSQUthQUFBQUNBQUNBQUFB
QUFBQUFBRUFBQUthLzZ3QVdnUG9BQUFBQUFORUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBRUFB
QUFGQUFnQUFnQUFBQUFBQWdBQUFBRUFBUUFBQUVBQUxnQUFBQUFBQVFQb0FmUUFCUUFBQW9vQ3ZB
QUFBSXdDaWdLOEFBQUI0QUF4QVFJQUFBSUFCZ2tBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFB
QVVHWkZaQUJBQmdZRzRRTWcvemdBV2dLYUFGUUFBQUFCQUFBQUFBQUFBK2dBSVFBQUFBQUQ2QUFB
QStnQW9nRk1BQUFBQUFBREFBQUFBd0FBQUJ3QUFRQUFBQUFBUkFBREFBRUFBQUFjQUFRQUtBQUFB
QVlBQkFBQkFBSUdCZ2JoLy84QUFBWUdCdUgvLy9uOStTTUFBUUFBQUFBQUFBQUFBUVlBQUFFQUFB
QUFBQUFBQVFJQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFo
QW5rQUFBQXFBQ29BS2dBNEFFWUFBZ0FoQUFBQktnS2FBQU1BQndBdXNRRUFMenl5QndRQTdUS3hC
Z1hjUExJREFnRHRNZ0N4QXdBdlBMSUZCQUR0TXJJSEJnSDhQTElCQWdEdE1qTVJJUkVuTXhFaklR
RUo2TWZIQXByOVppRUNXQUFBQVFDaUFQc0RSQUZSQUFNQUFCTWhGU0dpQXFMOVhnRlJWZ0FBQUFF
QlRQK3NBa3dBcUFBREFBQWxJUlVoQVV3QkFQOEFxUHdBQUFBQUFBNEFyZ0FCQUFBQUFBQUFBQUFB
QWdBQkFBQUFBQUFCQUFVQUR3QUJBQUFBQUFBQ0FBWUFJd0FCQUFBQUFBQURBQ0VBYmdBQkFBQUFB
QUFFQUFVQW5BQUJBQUFBQUFBRkFCQUF4QUFCQUFBQUFBQUdBQVVBNFFBREFBRUVDUUFBQUFBQUFB
QURBQUVFQ1FBQkFBb0FBd0FEQUFFRUNRQUNBQXdBRlFBREFBRUVDUUFEQUVJQUtnQURBQUVFQ1FB
RUFBb0FrQUFEQUFFRUNRQUZBQ0FBb2dBREFBRUVDUUFHQUFvQTFRQUFBQUIwQUdVQWN3QjBBREVB
QUhSbGMzUXhBQUJOQUdVQVpBQnBBSFVBYlFBQVRXVmthWFZ0QUFCR0FHOEFiZ0IwQUVZQWJ3QnlB
R2NBWlFBZ0FESUFMZ0F3QUNBQU9nQWdBSFFBWlFCekFIUUFNUUFnQURvQUlBQXlBRElBTFFBMEFD
MEFNZ0F3QURFQU1RQUFSbTl1ZEVadmNtZGxJREl1TUNBNklIUmxjM1F4SURvZ01qSXROQzB5TURF
eEFBQjBBR1VBY3dCMEFERUFBSFJsYzNReEFBQldBR1VBY2dCekFHa0Fid0J1QUNBQU1BQXdBREVB
TGdBd0FEQUFNQUFnQUFCV1pYSnphVzl1SURBd01TNHdNREFnQUFCMEFHVUFjd0IwQURFQUFIUmxj
M1F4QUFBQUFBQUNBQUFBQUFBQS80TUFNZ0FBQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVQUFB
QUJBQUlCQWdFREJrZHNlWEJvTVFaSGJIbHdhRElBQUFBQUFBSC8vd0FDQUFFQUFBQU9BQUFBSGdB
QUFBQUFBZ0FDQUFNQUF3QUJBQVFBQkFBREFBUUFBQUFDQUFBQUFBQUJBQUFBQ2dBY0FCNEFBVVJH
VEZRQUNBQUVBQUFBQVAvL0FBQUFBQUFBQUFFQUFBQUtBQjRBTEFBQlJFWk1WQUFJQUFRQUFBQUEv
LzhBQVFBQUFBRnRZWEpyQUFnQUFBQUJBQUFBQVFBRUFBUUFBQUFCQUFnQUFRQWNBQllBQVFBaUFB
d0FBUUFFQUFFQjlBSWVBQUVBQVFBREFBRUFBUUFFQUFFQUFBQUdBQUVCekFBb0FBQUFBQUFCQUFB
QUFNYlVMcGtBQUFBQXlkYlNRQUFBQUFESjF0ZTUpOworICB9CisgIGRpdiB7CisgICAgZm9udC1m
YW1pbHk6IHRlc3Q7CisgICAgZm9udC1zaXplOiA0OHB0OworICB9Cis8L3N0eWxlPgorPHA+VGhl
IHNxdWFyZSBnbHlwaCBzaG91bGQgYmUgbG9jYXRlZCBhYm92ZSB0aGUgbGluZSBnbHlwaC48L3A+
Cis8IS0tIFVzZSBhcmFiaWMgY29kZSBwb2ludHMgdG8gbWFrZSBXZWJLaXQgdXNlIENvbXBsZXhU
ZXh0Q29udHJvbGxlciAtLT4KKzxkaXY+JiN4MDYwNjsmI3gwNmUxOzwvZGl2PgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGZlMjFmZTRhNmVjZGQxZDM5ZTIzZWE1OTdlMTgxZGUzNjZmNjdkZGIuLjJkY2QxZTc3NTc3
MTlhNDhjYTMzMDlhOTcyNzI4OWEzOTBkNmI4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBA
QAorMjAxMS0wNC0yMiAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVt
XSBWZXJ0aWNhbCBwb3NpdGlvbnMgYXJlIG9mZiBmb3Igc29tZSBBcmFiaWMgZ2x5cGhzIG9uIExp
bnV4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTE4
MgorCisgICAgICAgIFVzZSB2ZXJ0aWNhbCBvZmZzZXRzIG9mIHRoZSBzaGFwaW5nIHJlc3VsdHMu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2FyYWJp
Yy12ZXJ0aWNhbC1vZmZzZXQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIpOgorICAgICAgICBB
ZGRlZCBpbml0aWFsaXphdGlvbiBvZiBtX3N0YXJ0aW5nWS4KKyAgICAgICAgKFdlYkNvcmU6OkNv
bXBsZXhUZXh0Q29udHJvbGxlcjo6bmV4dFNjcmlwdFJ1bik6CisgICAgICAgIEZvbGxvd2VkIHRo
ZSBjaGFuZ2UgaW4gaGFuZGxpbmcgcG9zaXRpb25zLgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxl
eFRleHRDb250cm9sbGVyOjpkZWxldGVHbHlwaEFycmF5cyk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpjcmVhdGVHbHlwaEFycmF5cyk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpyZXNldEdseXBoQXJyYXlz
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNldEds
eXBoUG9zaXRpb25zKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdmVydGljYWwgb2Zmc2V0cyBh
cyBzYW1lIGFzIGhvcml6b250YWwgb2Zmc2V0cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5oOgorICAgICAgICBSZW1vdmVk
IG1feFBvc2l0aW9ucyBhbmQgQWRkZWQgbV9wb3NpdGlvbnMgYW5kIG1fc3RhcnRpbmdZLgorICAg
ICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpwb3NpdGlvbnMpOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwOgorICAg
ICAgICBGb2xsb3dlZCB0aGUgY2hhbmdlIGluIENvbXBsZXhUZXh0Q29udHJvbGxlci4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21wbGV4VGV4dCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpnbHlwaEluZGV4Rm9yWFBvc2l0aW9uSW5TY3JpcHRSdW4pOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnQ6Om9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRleHQpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OnNlbGVjdGlvblJlY3RGb3JDb21wbGV4VGV4dCk6
IERpdHRvLgorCiAyMDExLTA0LTIyICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENv
bnRyb2xsZXJMaW51eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5jcHAKaW5kZXggNDU5ODYwMjdhZDMzMjY1
NDRkM2JlZmYxYjk5NjVmMmI2Nzk0NzhmOS4uMjJlYjhjY2YxYWNjOWQ0NGI1NzMwMzc2MWE4NWI2
MTcwY2YzOWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vQ29tcGxleFRleHRDb250cm9sbGVyTGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4
LmNwcApAQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW50IHRydW5jYXRlRml4ZWRQb2ludFRvSW50
ZWdlcihIQl9GaXhlZCB2YWx1ZSkKICAgICByZXR1cm4gdmFsdWUgPj4gNjsKIH0KIAotQ29tcGxl
eFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIoY29uc3QgVGV4dFJ1biYgcnVu
LCB1bnNpZ25lZCBzdGFydGluZ1gsIGNvbnN0IEZvbnQqIGZvbnQpCitDb21wbGV4VGV4dENvbnRy
b2xsZXI6OkNvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVk
IHN0YXJ0aW5nWCwgdW5zaWduZWQgc3RhcnRpbmdZLCBjb25zdCBGb250KiBmb250KQogICAgIDog
bV9mb250KGZvbnQpCiAgICAgLCBtX3J1bihnZXROb3JtYWxpemVkVGV4dFJ1bihydW4sIG1fbm9y
bWFsaXplZFJ1biwgbV9ub3JtYWxpemVkQnVmZmVyKSkKICAgICAsIG1fd29yZFNwYWNpbmdBZGp1
c3RtZW50KDApCkBAIC03NSw2ICs3NSw3IEBAIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxl
eFRleHRDb250cm9sbGVyKGNvbnN0IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgc3RhcnRpCiAgICAg
bV9pdGVtLnN0cmluZ0xlbmd0aCA9IG1fcnVuLmxlbmd0aCgpOwogCiAgICAgcmVzZXQoc3RhcnRp
bmdYKTsKKyAgICBtX3N0YXJ0aW5nWSA9IHN0YXJ0aW5nWTsKIH0KIAogQ29tcGxleFRleHRDb250
cm9sbGVyOjp+Q29tcGxleFRleHRDb250cm9sbGVyKCkKQEAgLTE3MSw3ICsxNzIsNyBAQCBib29s
IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6bmV4dFNjcmlwdFJ1bigpCiAKICAgICBzZXR1cEZvbnRG
b3JTY3JpcHRSdW4oKTsKICAgICBzaGFwZUdseXBocygpOwotICAgIHNldEdseXBoWFBvc2l0aW9u
cyhydGwoKSk7CisgICAgc2V0R2x5cGhQb3NpdGlvbnMocnRsKCkpOwogCiAgICAgcmV0dXJuIHRy
dWU7CiB9CkBAIC0yMzMsNyArMjM0LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmRl
bGV0ZUdseXBoQXJyYXlzKCkKICAgICBkZWxldGVbXSBtX2l0ZW0uYWR2YW5jZXM7CiAgICAgZGVs
ZXRlW10gbV9pdGVtLm9mZnNldHM7CiAgICAgZGVsZXRlW10gbV9nbHlwaHMxNjsKLSAgICBkZWxl
dGVbXSBtX3hQb3NpdGlvbnM7CisgICAgZGVsZXRlW10gbV9wb3NpdGlvbnM7CiB9CiAKIHZvaWQg
Q29tcGxleFRleHRDb250cm9sbGVyOjpjcmVhdGVHbHlwaEFycmF5cyhpbnQgc2l6ZSkKQEAgLTI0
NCw3ICsyNDUsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Y3JlYXRlR2x5cGhBcnJh
eXMoaW50IHNpemUpCiAgICAgbV9pdGVtLm9mZnNldHMgPSBuZXcgSEJfRml4ZWRQb2ludFtzaXpl
XTsKIAogICAgIG1fZ2x5cGhzMTYgPSBuZXcgdWludDE2X3Rbc2l6ZV07Ci0gICAgbV94UG9zaXRp
b25zID0gbmV3IFNrU2NhbGFyW3NpemVdOworICAgIG1fcG9zaXRpb25zID0gbmV3IFNrUG9pbnRb
c2l6ZV07CiAKICAgICBtX2l0ZW0ubnVtX2dseXBocyA9IHNpemU7CiAgICAgbV9nbHlwaHNBcnJh
eUNhcGFjaXR5ID0gc2l6ZTsgLy8gU2F2ZSB0aGUgR2x5cGhBcnJheXMgc2l6ZS4KQEAgLTI2MSw3
ICsyNjIsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6cmVzZXRHbHlwaEFycmF5cygp
CiAgICAgbWVtc2V0KG1faXRlbS5hZHZhbmNlcywgMCwgc2l6ZSAqIHNpemVvZihIQl9GaXhlZCkp
OwogICAgIG1lbXNldChtX2l0ZW0ub2Zmc2V0cywgMCwgc2l6ZSAqIHNpemVvZihIQl9GaXhlZFBv
aW50KSk7CiAgICAgbWVtc2V0KG1fZ2x5cGhzMTYsIDAsIHNpemUgKiBzaXplb2YodWludDE2X3Qp
KTsKLSAgICBtZW1zZXQobV94UG9zaXRpb25zLCAwLCBzaXplICogc2l6ZW9mKFNrU2NhbGFyKSk7
CisgICAgbWVtc2V0KG1fcG9zaXRpb25zLCAwLCBzaXplICogc2l6ZW9mKFNrUG9pbnQpKTsKIH0K
IAogdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNoYXBlR2x5cGhzKCkKQEAgLTI4NCw3ICsy
ODUsNyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2hhcGVHbHlwaHMoKQogICAgIH0K
IH0KIAotdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNldEdseXBoWFBvc2l0aW9ucyhib29s
IGlzUlRMKQordm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OnNldEdseXBoUG9zaXRpb25zKGJv
b2wgaXNSVEwpCiB7CiAgICAgY29uc3QgZG91YmxlIHJ0bEZsaXAgPSBpc1JUTCA/IC0xIDogMTsK
ICAgICBkb3VibGUgcG9zaXRpb24gPSAwOwpAQCAtMzA0LDExICszMDUsMTMgQEAgdm9pZCBDb21w
bGV4VGV4dENvbnRyb2xsZXI6OnNldEdseXBoWFBvc2l0aW9ucyhib29sIGlzUlRMKQogCiAgICAg
ICAgIG1fZ2x5cGhzMTZbaV0gPSBtX2l0ZW0uZ2x5cGhzW2ldOwogICAgICAgICBkb3VibGUgb2Zm
c2V0WCA9IHRydW5jYXRlRml4ZWRQb2ludFRvSW50ZWdlcihtX2l0ZW0ub2Zmc2V0c1tpXS54KTsK
KyAgICAgICAgZG91YmxlIG9mZnNldFkgPSB0cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIobV9p
dGVtLm9mZnNldHNbaV0ueSk7CiAgICAgICAgIGRvdWJsZSBhZHZhbmNlID0gdHJ1bmNhdGVGaXhl
ZFBvaW50VG9JbnRlZ2VyKG1faXRlbS5hZHZhbmNlc1tpXSk7CiAgICAgICAgIGlmIChpc1JUTCkK
ICAgICAgICAgICAgIG9mZnNldFggLT0gYWR2YW5jZTsKIAotICAgICAgICBtX3hQb3NpdGlvbnNb
aV0gPSBtX29mZnNldFggKyAocG9zaXRpb24gKiBydGxGbGlwKSArIG9mZnNldFg7CisgICAgICAg
IG1fcG9zaXRpb25zW2ldLnNldChtX29mZnNldFggKyAocG9zaXRpb24gKiBydGxGbGlwKSArIG9m
ZnNldFgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3N0YXJ0aW5nWSArIG9mZnNldFkp
OwogCiAgICAgICAgIGlmIChtX2N1cnJlbnRGb250RGF0YS0+aXNaZXJvV2lkdGhTcGFjZUdseXBo
KG1fZ2x5cGhzMTZbaV0pKQogICAgICAgICAgICAgY29udGludWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xs
ZXJMaW51eC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29t
cGxleFRleHRDb250cm9sbGVyTGludXguaAppbmRleCA2YTkzODc4NjMwNDU4MDc1YWE1MmVmNzYx
N2MzZjQzYzVlMDNiOTViLi5lMjYyOTkyNjMyM2Q3NWZhOTNiMmU1YTE0YmNiNzE2ZDIzMmE5NjI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9D
b21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmgKQEAgLTMyLDYg
KzMyLDcgQEAKICNkZWZpbmUgQ29tcGxleFRleHRDb250cm9sbGVyTGludXhfaAogCiAjaW5jbHVk
ZSAiSGFyZmJ1enpTa2lhLmgiCisjaW5jbHVkZSAiU2tQb2ludC5oIgogI2luY2x1ZGUgIlNrU2Nh
bGFyLmgiCiAjaW5jbHVkZSAiVGV4dFJ1bi5oIgogCkBAIC02MCw3ICs2MSw3IEBAIGNsYXNzIFNp
bXBsZUZvbnREYXRhOwogLy8gY2FuIGNhbGwgfHJlc2V0fCB0byBzdGFydCBvdmVyIGFnYWluLgog
Y2xhc3MgQ29tcGxleFRleHRDb250cm9sbGVyIHsKIHB1YmxpYzoKLSAgICBDb21wbGV4VGV4dENv
bnRyb2xsZXIoY29uc3QgVGV4dFJ1biYsIHVuc2lnbmVkLCBjb25zdCBGb250Kik7CisgICAgQ29t
cGxleFRleHRDb250cm9sbGVyKGNvbnN0IFRleHRSdW4mLCB1bnNpZ25lZCwgdW5zaWduZWQsIGNv
bnN0IEZvbnQqKTsKICAgICB+Q29tcGxleFRleHRDb250cm9sbGVyKCk7CiAKICAgICBib29sIGlz
V29yZEJyZWFrKHVuc2lnbmVkKTsKQEAgLTkyLDEwICs5MywxMCBAQCBwdWJsaWM6CiAgICAgLy8g
UmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGFycmF5IHJldHVybmVkIGJ5IHxnbHlwaHN8CiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9pdGVtLm51bV9nbHlwaHM7
IH0KIAotICAgIC8vIFJldHVybiB0aGUgeCBvZmZzZXQgZm9yIGVhY2ggb2YgdGhlIGdseXBocy4g
Tm90ZSB0aGF0IHRoaXMgaXMgdHJhbnNsYXRlZAorICAgIC8vIFJldHVybiB0aGUgb2Zmc2V0IGZv
ciBlYWNoIG9mIHRoZSBnbHlwaHMuIE5vdGUgdGhhdCB0aGlzIGlzIHRyYW5zbGF0ZWQKICAgICAv
LyBieSB0aGUgY3VycmVudCB4IG9mZnNldCBhbmQgdGhhdCB0aGUgeCBvZmZzZXQgaXMgdXBkYXRl
ZCBmb3IgZWFjaCBzY3JpcHQKICAgICAvLyBydW4uCi0gICAgY29uc3QgU2tTY2FsYXIqIHhQb3Np
dGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3hQb3NpdGlvbnM7IH0KKyAgICBjb25zdCBTa1BvaW50
KiBwb3NpdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uczsgfQogCiAgICAgLy8gR2V0
IHRoZSBhZHZhbmNlcyAod2lkdGhzKSBmb3IgZWFjaCBnbHlwaC4KICAgICBjb25zdCBIQl9GaXhl
ZCogYWR2YW5jZXMoKSBjb25zdCB7IHJldHVybiBtX2l0ZW0uYWR2YW5jZXM7IH0KQEAgLTEyNSw3
ICsxMjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlR2x5cGhBcnJheXMoaW50KTsKICAg
ICB2b2lkIHJlc2V0R2x5cGhBcnJheXMoKTsKICAgICB2b2lkIHNoYXBlR2x5cGhzKCk7Ci0gICAg
dm9pZCBzZXRHbHlwaFhQb3NpdGlvbnMoYm9vbCk7CisgICAgdm9pZCBzZXRHbHlwaFBvc2l0aW9u
cyhib29sKTsKIAogICAgIHN0YXRpYyB2b2lkIG5vcm1hbGl6ZVNwYWNlc0FuZE1pcnJvckNoYXJz
KGNvbnN0IFVDaGFyKiBzb3VyY2UsIGJvb2wgcnRsLCBVQ2hhciogZGVzdGluYXRpb24sIGludCBs
ZW5ndGgpOwogICAgIHN0YXRpYyBjb25zdCBUZXh0UnVuJiBnZXROb3JtYWxpemVkVGV4dFJ1bihj
b25zdCBUZXh0UnVuJiBvcmlnaW5hbFJ1biwgT3duUHRyPFRleHRSdW4+JiBub3JtYWxpemVkUnVu
LCBPd25BcnJheVB0cjxVQ2hhcj4mIG5vcm1hbGl6ZWRCdWZmZXIpOwpAQCAtMTM3LDkgKzEzOCwx
MCBAQCBwcml2YXRlOgogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBtX2N1cnJlbnRGb250RGF0
YTsKICAgICBIQl9TaGFwZXJJdGVtIG1faXRlbTsKICAgICB1aW50MTZfdCogbV9nbHlwaHMxNjsg
Ly8gQSB2ZWN0b3Igb2YgMTYtYml0IGdseXBoIGlkcy4KLSAgICBTa1NjYWxhciogbV94UG9zaXRp
b25zOyAvLyBBIHZlY3RvciBvZiB4IHBvc2l0aW9ucyBmb3IgZWFjaCBnbHlwaC4KKyAgICBTa1Bv
aW50KiBtX3Bvc2l0aW9uczsgLy8gQSB2ZWN0b3Igb2YgcG9zaXRpb25zIGZvciBlYWNoIGdseXBo
LgogICAgIHNzaXplX3QgbV9pbmRleE9mTmV4dFNjcmlwdFJ1bjsgLy8gSW5kZXhlcyB0aGUgc2Ny
aXB0IHJ1biBpbiB8bV9ydW58LgogICAgIHVuc2lnbmVkIG1fb2Zmc2V0WDsgLy8gT2Zmc2V0IGlu
IHBpeGVscyB0byB0aGUgc3RhcnQgb2YgdGhlIG5leHQgc2NyaXB0IHJ1bi4KKyAgICB1bnNpZ25l
ZCBtX3N0YXJ0aW5nWTsgLy8gVGhlIFkgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNjcmlwdCBydW4u
CiAgICAgdW5zaWduZWQgbV9waXhlbFdpZHRoOyAvLyBXaWR0aCAoaW4gcHgpIG9mIHRoZSBjdXJy
ZW50IHNjcmlwdCBydW4uCiAgICAgdW5zaWduZWQgbV9nbHlwaHNBcnJheUNhcGFjaXR5OyAvLyBD
dXJyZW50IHNpemUgb2YgYWxsIHRoZSBIYXJmYnV6eiBhcnJheXMuCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRMaW51eC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250TGludXguY3BwCmlu
ZGV4IDNjNGE0OTRlZTk3NTc5MzcwOTMzY2NkNWZhNzg0NjQyYTY2ZWUxMDkuLmNkYzQ5YzQ2ZGUz
OWUzZGYwY2ZjOWZlMjFiODYxYjVmYmUwNDgyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRMaW51eC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExpbnV4LmNwcApAQCAtMjA2LDcg
KzIwNiw3IEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGV4dCogZ2Ms
IGNvbnN0IFRleHRSdW4mIHJ1biwKICAgICAgICAgc2V0dXBGb3JUZXh0UGFpbnRpbmcoJnN0cm9r
ZVBhaW50LCBnYy0+c3Ryb2tlQ29sb3IoKS5yZ2IoKSk7CiAgICAgfQogCi0gICAgQ29tcGxleFRl
eHRDb250cm9sbGVyIGNvbnRyb2xsZXIocnVuLCBwb2ludC54KCksIHRoaXMpOworICAgIENvbXBs
ZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHJ1biwgcG9pbnQueCgpLCBwb2ludC55KCksIHRo
aXMpOwogICAgIGNvbnRyb2xsZXIuc2V0V29yZFNwYWNpbmdBZGp1c3RtZW50KHdvcmRTcGFjaW5n
KCkpOwogICAgIGNvbnRyb2xsZXIuc2V0TGV0dGVyU3BhY2luZ0FkanVzdG1lbnQobGV0dGVyU3Bh
Y2luZygpKTsKICAgICBjb250cm9sbGVyLnNldFBhZGRpbmcocnVuLmV4cGFuc2lvbigpKTsKQEAg
LTIyNSwxMyArMjI1LDEzIEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29u
dGV4dCogZ2MsIGNvbnN0IFRleHRSdW4mIHJ1biwKICAgICAgICAgaWYgKGZpbGwpIHsKICAgICAg
ICAgICAgIGNvbnRyb2xsZXIuZm9udFBsYXRmb3JtRGF0YUZvclNjcmlwdFJ1bigpLT5zZXR1cFBh
aW50KCZmaWxsUGFpbnQpOwogICAgICAgICAgICAgYWRqdXN0VGV4dFJlbmRlck1vZGUoJmZpbGxQ
YWludCwgZ2MtPnBsYXRmb3JtQ29udGV4dCgpKTsKLSAgICAgICAgICAgIGNhbnZhcy0+ZHJhd1Bv
c1RleHRIKGNvbnRyb2xsZXIuZ2x5cGhzKCksIGNvbnRyb2xsZXIubGVuZ3RoKCkgPDwgMSwgY29u
dHJvbGxlci54UG9zaXRpb25zKCksIHBvaW50LnkoKSwgZmlsbFBhaW50KTsKKyAgICAgICAgICAg
IGNhbnZhcy0+ZHJhd1Bvc1RleHQoY29udHJvbGxlci5nbHlwaHMoKSwgY29udHJvbGxlci5sZW5n
dGgoKSA8PCAxLCBjb250cm9sbGVyLnBvc2l0aW9ucygpLCBmaWxsUGFpbnQpOwogICAgICAgICB9
CiAKICAgICAgICAgaWYgKHN0cm9rZSkgewogICAgICAgICAgICAgY29udHJvbGxlci5mb250UGxh
dGZvcm1EYXRhRm9yU2NyaXB0UnVuKCktPnNldHVwUGFpbnQoJnN0cm9rZVBhaW50KTsKICAgICAg
ICAgICAgIGFkanVzdFRleHRSZW5kZXJNb2RlKCZzdHJva2VQYWludCwgZ2MtPnBsYXRmb3JtQ29u
dGV4dCgpKTsKLSAgICAgICAgICAgIGNhbnZhcy0+ZHJhd1Bvc1RleHRIKGNvbnRyb2xsZXIuZ2x5
cGhzKCksIGNvbnRyb2xsZXIubGVuZ3RoKCkgPDwgMSwgY29udHJvbGxlci54UG9zaXRpb25zKCks
IHBvaW50LnkoKSwgc3Ryb2tlUGFpbnQpOworICAgICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4
dChjb250cm9sbGVyLmdseXBocygpLCBjb250cm9sbGVyLmxlbmd0aCgpIDw8IDEsIGNvbnRyb2xs
ZXIucG9zaXRpb25zKCksIHN0cm9rZVBhaW50KTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTI0
Myw3ICsyNDMsNyBAQCB2b2lkIEZvbnQ6OmRyYXdFbXBoYXNpc01hcmtzRm9yQ29tcGxleFRleHQo
R3JhcGhpY3NDb250ZXh0KiAvKiBjb250ZXh0ICovLCBjb25zdAogCiBmbG9hdCBGb250OjpmbG9h
dFdpZHRoRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IFNp
bXBsZUZvbnREYXRhKj4qIC8qIGZhbGxiYWNrRm9udHMgKi8sIEdseXBoT3ZlcmZsb3cqIC8qIGds
eXBoT3ZlcmZsb3cgKi8pIGNvbnN0CiB7Ci0gICAgQ29tcGxleFRleHRDb250cm9sbGVyIGNvbnRy
b2xsZXIocnVuLCAwLCB0aGlzKTsKKyAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxl
cihydW4sIDAsIDAsIHRoaXMpOwogICAgIGNvbnRyb2xsZXIuc2V0V29yZFNwYWNpbmdBZGp1c3Rt
ZW50KHdvcmRTcGFjaW5nKCkpOwogICAgIGNvbnRyb2xsZXIuc2V0TGV0dGVyU3BhY2luZ0FkanVz
dG1lbnQobGV0dGVyU3BhY2luZygpKTsKICAgICBjb250cm9sbGVyLnNldFBhZGRpbmcocnVuLmV4
cGFuc2lvbigpKTsKQEAgLTI1OCw3ICsyNTgsNyBAQCBzdGF0aWMgaW50IGdseXBoSW5kZXhGb3JY
UG9zaXRpb25JblNjcmlwdFJ1bihjb25zdCBDb21wbGV4VGV4dENvbnRyb2xsZXImIGNvbnRybwog
ICAgIGludCBsYXN0WCA9IGNvbnRyb2xsZXIub2Zmc2V0WCgpIC0gKGNvbnRyb2xsZXIucnRsKCkg
PyAtY29udHJvbGxlci53aWR0aCgpIDogY29udHJvbGxlci53aWR0aCgpKTsKICAgICBmb3IgKGlu
dCBnbHlwaEluZGV4ID0gMDsgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGdseXBoSW5kZXgpIDwgY29u
dHJvbGxlci5sZW5ndGgoKTsgKytnbHlwaEluZGV4KSB7CiAgICAgICAgIGludCBhZHZhbmNlID0g
dHJ1bmNhdGVGaXhlZFBvaW50VG9JbnRlZ2VyKGNvbnRyb2xsZXIuYWR2YW5jZXMoKVtnbHlwaElu
ZGV4XSk7Ci0gICAgICAgIGludCBuZXh0WCA9IHN0YXRpY19jYXN0PGludD4oY29udHJvbGxlci54
UG9zaXRpb25zKClbZ2x5cGhJbmRleF0pICsgYWR2YW5jZSAvIDI7CisgICAgICAgIGludCBuZXh0
WCA9IHN0YXRpY19jYXN0PGludD4oY29udHJvbGxlci5wb3NpdGlvbnMoKVtnbHlwaEluZGV4XS54
KCkpICsgYWR2YW5jZSAvIDI7CiAgICAgICAgIGlmIChzdGQ6Om1pbihuZXh0WCwgbGFzdFgpIDw9
IHRhcmdldFggJiYgdGFyZ2V0WCA8PSBzdGQ6Om1heChuZXh0WCwgbGFzdFgpKQogICAgICAgICAg
ICAgcmV0dXJuIGdseXBoSW5kZXg7CiAgICAgICAgIGxhc3RYID0gbmV4dFg7CkBAIC0yNzcsNyAr
Mjc3LDcgQEAgaW50IEZvbnQ6Om9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRleHQoY29uc3Qg
VGV4dFJ1biYgcnVuLCBmbG9hdCB4RmxvYXQsCiAKICAgICAvLyAoTWFjIGNvZGUgaWdub3JlcyBp
bmNsdWRlUGFydGlhbEdseXBocywgYW5kIHRoZXkgZG9uJ3Qga25vdyB3aGF0IGl0J3MKICAgICAv
LyBzdXBwb3NlZCB0byBkbywgc28gd2UganVzdCBpZ25vcmUgaXQgYXMgd2VsbC4pCi0gICAgQ29t
cGxleFRleHRDb250cm9sbGVyIGNvbnRyb2xsZXIocnVuLCAwLCB0aGlzKTsKKyAgICBDb21wbGV4
VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihydW4sIDAsIDAsIHRoaXMpOwogICAgIGNvbnRyb2xs
ZXIuc2V0V29yZFNwYWNpbmdBZGp1c3RtZW50KHdvcmRTcGFjaW5nKCkpOwogICAgIGNvbnRyb2xs
ZXIuc2V0TGV0dGVyU3BhY2luZ0FkanVzdG1lbnQobGV0dGVyU3BhY2luZygpKTsKICAgICBjb250
cm9sbGVyLnNldFBhZGRpbmcocnVuLmV4cGFuc2lvbigpKTsKQEAgLTMyOCw3ICszMjgsNyBAQCBG
bG9hdFJlY3QgRm9udDo6c2VsZWN0aW9uUmVjdEZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4m
IHJ1biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZy
b20sIGludCB0bykgY29uc3QKIHsKICAgICBpbnQgZnJvbVggPSAtMSwgdG9YID0gLTE7Ci0gICAg
Q29tcGxleFRleHRDb250cm9sbGVyIGNvbnRyb2xsZXIocnVuLCAwLCB0aGlzKTsKKyAgICBDb21w
bGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihydW4sIDAsIDAsIHRoaXMpOwogICAgIGNvbnRy
b2xsZXIuc2V0V29yZFNwYWNpbmdBZGp1c3RtZW50KHdvcmRTcGFjaW5nKCkpOwogICAgIGNvbnRy
b2xsZXIuc2V0TGV0dGVyU3BhY2luZ0FkanVzdG1lbnQobGV0dGVyU3BhY2luZygpKTsKICAgICBj
b250cm9sbGVyLnNldFBhZGRpbmcocnVuLmV4cGFuc2lvbigpKTsKQEAgLTM0NSw3ICszNDUsNyBA
QCBGbG9hdFJlY3QgRm9udDo6c2VsZWN0aW9uUmVjdEZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRS
dW4mIHJ1biwKICAgICAgICAgICAgIC8vIGZpbmQgd2hpY2ggZ2x5cGggdGhpcyBjb2RlLXBvaW50
IGNvbnRyaWJ1dGVkIHRvIGFuZCBmaW5kIGl0cyB4CiAgICAgICAgICAgICAvLyBwb3NpdGlvbi4K
ICAgICAgICAgICAgIGludCBnbHlwaCA9IGNvbnRyb2xsZXIubG9nQ2x1c3RlcnMoKVtmcm9tXTsK
LSAgICAgICAgICAgIGZyb21YID0gY29udHJvbGxlci54UG9zaXRpb25zKClbZ2x5cGhdOworICAg
ICAgICAgICAgZnJvbVggPSBjb250cm9sbGVyLnBvc2l0aW9ucygpW2dseXBoXS54KCk7CiAgICAg
ICAgICAgICBpZiAoY29udHJvbGxlci5ydGwoKSkKICAgICAgICAgICAgICAgICBmcm9tWCArPSB0
cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIoY29udHJvbGxlci5hZHZhbmNlcygpW2dseXBoXSk7
CiAgICAgICAgIH0gZWxzZQpAQCAtMzUzLDcgKzM1Myw3IEBAIEZsb2F0UmVjdCBGb250OjpzZWxl
Y3Rpb25SZWN0Rm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLAogCiAgICAgICAgIGlm
ICh0b1ggPT0gLTEgJiYgdG8gPj0gMCAmJiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odG8pIDwgY29u
dHJvbGxlci5udW1Db2RlUG9pbnRzKCkpIHsKICAgICAgICAgICAgIGludCBnbHlwaCA9IGNvbnRy
b2xsZXIubG9nQ2x1c3RlcnMoKVt0b107Ci0gICAgICAgICAgICB0b1ggPSBjb250cm9sbGVyLnhQ
b3NpdGlvbnMoKVtnbHlwaF07CisgICAgICAgICAgICB0b1ggPSBjb250cm9sbGVyLnBvc2l0aW9u
cygpW2dseXBoXS54KCk7CiAgICAgICAgICAgICBpZiAoY29udHJvbGxlci5ydGwoKSkKICAgICAg
ICAgICAgICAgICB0b1ggKz0gdHJ1bmNhdGVGaXhlZFBvaW50VG9JbnRlZ2VyKGNvbnRyb2xsZXIu
YWR2YW5jZXMoKVtnbHlwaF0pOwogICAgICAgICB9IGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91057</attachid>
            <date>2011-04-25 22:47:18 -0700</date>
            <delta_ts>2011-04-26 21:50:08 -0700</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug-59182-20110426144715.patch</filename>
            <type>text/plain</type>
            <size>21833</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ4NTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYjE1MWQ5MGI1ZTRhZjY4ZmE0MTVh
MzExYjliNGU5ODhjN2M2ZWNiLi44MTJhNTg0ZWVlNmU4YjY2YmFkZjc5ODMxOWM2NmZkNzY1ZWM0
ZDlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDQtMjUgIEtlbmljaGkgSXNoaWJhc2hp
ICA8YmFzaGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gVmVydGljYWwgcG9zaXRpb25zIGFyZSBvZmYgZm9y
IHNvbWUgQXJhYmljIGdseXBocyBvbiBMaW51eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxODIKKworICAgICAgICBBZGQgYSB0ZXN0IGZvciBjaGVj
a2luZyB2ZXJ0aWNhbCBvZmZzZXRzIG9mIEFyYWJpYyBzY3JpcHQgc2hhcGluZy4KKyAgICAgICAg
VGhlIGZvbnQgd2hpY2ggaXMgdXNlZCBpbiB0aGUgdGVzdCB3YXMgY3JlYXRlZCBmcm9tIHNjcmF0
Y2guCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9hcmFiaWMtdmVydGljYWwtb2Zmc2V0LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYXJh
YmljLXZlcnRpY2FsLW9mZnNldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2FyYWJpYy12ZXJ0aWNh
bC1vZmZzZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgv
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvcmVzb3VyY2VzL2ZvbnQtZm9yLWFyYWJpYy1vZmZzZXQt
dGVzdC50dGY6IEFkZGVkLgorCiAyMDExLTA0LTI1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYXJhYmljLXZlcnRpY2Fs
LW9mZnNldC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU1NzhhYTNjNmY0OWI1NGU0YTRiZWNj
ZmVjZjJjOTk3ZjYwMGY2NwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNTY0Mgp6Y21lSExYOzcw
ezdMQ301d3VBSUVJNENzV3dCM1NAWShgY2d1XlNeO0FjJTtGNWg1WikycTdwdEE7YmtgS3BQNVoK
enBePmN0NWhWfT1nI2R2Qk1NVmVfNURCcyprdUB4bXVtIVNeV0x+PGY9RXFjNW0tQkNha1V5I1Y+
VjVDc2Qrc15zCnotdUk9UGJhUFZ3UXMrd3UxZnFXMmBSRk1LV2IrO2ZNQ0kmTzc0VCVJKT1vcTR3
PzdoYkhadElIVTtyaX0zSmI5Ygp6M09hYmBWdnZRbzE9UWM+a2JscmNzNFd6Rj11JHg3IU40R2tn
VnJ7PmxVMnN4KSVAY31lPkAkVktoTVU4YGJDWWwKekZaUUxCSzA4JSFgQFVCRihuJFhJcHtfbTtI
ZncmM2MpQlp+V1N7ZHhgU3B+MmA8NnxBOUpfVmRiISpEWVRRZ2N3CnpTLVpsdkBjdEVnYXFJTShC
Yy19eXc/LWU1SGFsNigqV097WGRhSyZ1WmkoKDhNZGNLOVFGZXp3RDdwRUs4PWw0JAp6aCspYVg2
RkFJJU1sQSVnMlItRHswKWJyMShZPnc7YEQpKTIyO3t7Vnw5fjkld04oWU9ScjQkYTs7KnREdmQ4
dHAKekNQPm5AMUNWUnh8NTxlR1o8V35AKmJoJWVHaEl3YEpINmEwcm96Zm9OTiRQVFY+LXA3Oylt
dDxaN0EtZHlNeXFLCnp5X2gjS09SOSRUWE1mVDlVR1ZOMUdralFadT1yZ0xFcHF2LXdSO2gpckwz
JiUwMylEMWpVWjtBWGhJZn1ZMEp5awp6X0tPYDJUJjVnbD0yOzYyNnIlUXtJQ09XdXR0TEJacFh1
KFAyVzhSRyhmcS11PW52bz1PcWs9aEl2aSg1THdjQGUKenxIJDJ9cmQtZH1YJSV5aXk8MXBpSWV3
Q3RuKG1SMmt5OzIzKWlXTWlZOHZ8SW48OGhqT18xbDFOUiQ9dmh7NTZMCnolOVA+WXY1S2pFST9T
IT1PbHQ+ck18SCVicHwtMzdKTCgmY19iaGxJdipWSG1FRCkpLXBjcmdgaVRhNm1eTHcxJAp6N0kp
VSNVIThFcTxNRW1VWmlRMX1YblN2VUQpLT9VdyhHY1ZBdWhmdDN4JUYhNjZNUHYwPXdlaypZSyMy
ak04MjgKekAoI1Mpe3BjQEV3X097JU1DKmBNNko+TG0tQERrXiszfWx+eUp1YUFMYDU9ZXJNU01u
ez8+TUZ7KWRgVWNfeGw5CnpoczB2QikrNkRMRS1vKGY2QjZOXjhUQ2BHY2d3Ni1vKXVRSWtQSlYr
JlpROCZhQy02VUh4MVM9JGspWnkzNnNYVwp6P2dEQl5lP15JclJvRjx3aDM3WUxNQ291ZlZJRVc2
RnFYUGw9fDViTCNsPG1AWmdBUGs5R1NgJkVzb2JNdVd8ND0KeiVLPDBZUWJ2Z3BZXyVyY09WSmRA
WlglUCg8JVJKZnkoTmhHYFQ0YngyPENMMmBJT0E2ZDc+Ukl6ayl7ZEpgRnlsCnpGQmJeamI0NU1s
I2pHa00xc24hdCtBbmtQZitgfHIod2k+dl43YkMrJTdxRlYjP3l2NkVNa0htTiRQZVlFTnBCPAp6
VmtSOzFfMSliQzFxRUNnS1pjWWdIMHpPYTc0aV83ME1DXmslWj0mTWVRWGYtM3pkWGdSc3RFS1Zi
Ozl4cVFvZk0KejRDTj1vO0JiT3pxKCFJPDtoOWItVFA8KyFjYSYxLXZpVk5xPlFCP3RYSXRXaEh0
bzVjUFRKUzl5d1YoSClTWlokCnp0Q084Rj1eQWROVktKJjI/O0V4QnZgRj96Z0Q3Zn4lak4zMlI/
WHZqZj0zNEJyS1AzaTwhRStPUk5XP25nb1dxcwp6MzFnWkw0aTFXUzkkZWV4LTAxP3IlKl5BS0hr
NW9SWEsxbUpTNGhQU2tnczNBZWo/QVJqelktXmo5VlE8WWE/bkIKeldzKUpTMFA8KXAhO351SlEj
QX09MkBEZzg3VUloNS1SUlNsaF9ST2BafVk1VXFNfkdURDgmenF0S3Mze29hUShyCnpDNS1TRTxM
OWFNWVBPJUdwPk4rMSFSc2NHbmBYPTV2S2dhMWJCUGpnWXI2UkRGbFYpJSF7TU9UJEYkSn1RTEtQ
Owp6MmRtQ34/fDEwT089TTdMIW03aER7MUd+bDctYzVoWmpAVG1HJm55QExCJm5wVFZ1eT9aREps
PG9vbFBSN2J2YSsKekpPRjEpZFB8KUtEdCNqNFZxV0ArJH59Y187WlN+eno0Z0kmWmAxfGsoZmZl
ZFRwPjl8Jm1zUVYwUzNzRCYqdVl5CnpwMTVxPjhEdDwwTiRUJElFPjwpNENYWX5YVHReTHVMLV5I
Q1NKSSZPKG9HP1RrSHhKT0pKSmxgRnpuRT8qO3hLYQp6Vl9nXnFnQ1FCOXBXamQ9Y358VDIrViFa
UWFyQ3hzTlZgSjVNeFRSVHtCUTtFejk1RFpDIVdtbEhrMy1HJHlMfWMKeiVWJXxVVUl1fmItYEt3
RUAzI3oxKXh8WTB2WEQzdiMhXmtZSzZTUSYxb1czNlRJa3RkQTNBdW83b3EpZz9ZMkBiCnp1RldP
ZSlPVjxfJnJgNDM9amxWcXtyQXAhQ2w4K21mYDdfe0FAdk13IVlAMiV0PGJ7KGBZKD5YOFhxWXVl
dFBLcQp6YTImNklMUjgybCttbDw0dzZTYF5JZzJCMmUlLTZsTGR7P2BVd29BY0Q3aEJzMUN4dSF0
dlJ2ZE09MiR0dDJOYlIKenlaRHZNR0RqcmcrbVFUbSpVOGZEdDtnKktUWG9fU0JzMW1kdXhfJDE3
MDlZZHl2KU9Lbmo3dCk3Kl4lOz1nJWRACnpJJSlLJUloSFpHVkpzVU5yWC05bWpUZyZXU1dHOWJs
VGZuUihZOW0oUlhfdjU7eT4mRyNjVVJoLUJEOWg8NFFTZQp6OUtzcX49JjV7QXhCcG0wc3xUTWxg
aDgheUozSylZOXlLeUJVQFp+Vi1HcH1Baks5KUdlTTh2UGNFKm9AaUxnIWMKeilycjdYJEckUzJ0
PTNzcTRZM2kjaEYkOClOYW5EZUZeTmtaaE5SITxhPipQZWJuc3dqPTUzdUJGTVVNLWl2RHJ4Cnpe
JmlVbDwhX1k/R2tTQ01rYHI5Zz5zO3l9bkoob08jUH4ob2dKZnBnbWwjZFYzO2khaE15YXpUK2hy
YVR4Tyl3Ygp6T1VxRWZiWG5UVlJ7R2QlYzIha1gmaVNoeVo1cl9OQEhkQ0s7X2Y9a0t3KDY7WlUy
TFFCdTRjS3BjOFBwRy1jZmMKeiZlR01eJV5JaU1Ab1c1K3NyIzU/Z0dvYlBqMnR0ZkdSWDBwWThv
dCN8RCluUTJqUDI5VDtnJmIyRm1LVDl4MWFKCnp1bVpGalolQH50aElEQl44Zl9rTCUmPjZNa0Io
NnZJRy1IfFQmRXM4OTh4NkQ/S3lLZChxOGBlVjtZczczJSNucAp6MXFaQVQrNSE4YWElRShyUklZ
ckxWKDZDdCRjO1ojMmE7aF5WeyFyOyhhZ2RVcWU3eHdUemRmNUgxaU98eSgkIzQKekJiV30xWSFp
JlJrSC1qNkFzZVJQaChaI3x3P0k3WTFhQVU3MGxNNip3eGpaRlAwMT0rUl9YSXA+QVprZSU3NzZi
Cnp6eVFrK0ZtXitPRHVMQTNfLXFPe1FUaTtuRllPIUtyUylafEhsbWx5TWRlLVd2VFBueiQzMDRu
SXs2a0g9QjxWSgp6LVMzZXxxJXcrUGhXdmR3RU5aJV43ekJ5SiYpNDs8KEtEPzRmMDYzVldDQllt
MF4hby0hZkxTajtndXw3VlYtJjkKelYqcFIxV1JfR0VKQztKRChVPUtTUD1yVGhibzM3NzVqPFhj
LXg0RXtOYXtoK0VfR3hBNTQ/LWN4IXJ5Ni00R2QmCnohVTtJYSVNP3hFPDZXeFM9VDg8PzYwWlpq
JXxHazIhVmFBIzZwKCslYHU1KVIkZTZ1VmpSelFjSUdYc3pjMm0mewp6WlE5QWgoNWNPeU5NYn1m
MFNoSkY8UTN3ezVgSSZOdllxPntFNXZfRE1RODdtUkU1PjJpNmBUWiR2YXdqNHVWYDUKekt7RUYw
NGxvbD1fJWlgUGZZO08wQmJ9K0w9dzE7RDJfSDhiVCpoSyRBSnlQenJUZ3hJbEYoKFY7QWg9M2JL
LUZICnpydkBNaWdaU3k8KzVfST9eTWZvX0o7KDtzcD9VRlYtMS1PKT02JThlTktvbT57eGsyJj5N
Vj1tcmc5eUxOZnEoUQp6enw9c2FyN0w2dCN+ZmRve2x9NVUyeFg3endOXnFwbmR3RDM7fDAlJVFP
TVE/T3NseWB7QCRgdDRQd0p8JCheYUwKeit+dEtmNE9IeXRFeDJAJGRFNFp8OUlGYkA5akZvMjVJ
KSpOTnUjLXBgd1ZraEBKZW5gPmchR1lubmwxM0QlQER+CnpCWXs0cUN8VXk4QXt7MX5IZDs9TCtw
RiVSS2ZeekVGMld9cHB6WjNSKWdOPjVYU0RIY0dRRnsjd3Jlb3leP3BNfAp6Pz53SlJGNERSLW00
QS1EMTZAbVdVQDhZOXomOHhKQHU1K3dybEgmVmo1fjFfRVRVO1FPZjl3PihDNiFpXis1eU0KemtL
QjI7cWpkV01lTnMhcEM/dUtYb0wxejIyUkotajZWT2cwTkleKj5yK2R0WlZuIWUlVGItYXAxZVkr
YlRPP204CnokRG1qRllAYC1LY3V5PCNhY3R4IUlWSnhtI1o5RXRfa0lAVExEQmt6QSV6YDErfipE
X3Rjdy1fUm9CPnAjNUhaWQp6PXY2S2hlRm8/ST5+YiZJbyg3OypeMz0yT2hoMTR0Kzg+Rkd7YVJx
MEd9OT5XJD1TTEk7LX4qdlF8NHpjYFleSE8KejRDOUxgVXV5S0pmejEkZSlyMmo3S0RLYExoUUFO
TWhxMCVlSztPXnBrdW5QJUBSP14rQW0pTVJJJV5YaTQ/ckxiCnp3UFAreGU+eHd0Q2FReClvISsj
c2VQMVVMbWE+WlNFZHBNPFBgNXk/LU0rdFdzY3ZGb3ZSTE5vP0MjRH5fVGlqcAp6YiNTOClmQm56
QDk9V0A/aF4+JlhybDVaQGc4eSYxe005aE92RDQ+V2ROeSN7ITA5dlojflcxSHB2bmVTS0tFPFYK
amhGVWglQF8objZSZkdOUVBkdXwrIXp0azdGNjIxRT9JYClEM3BmNF4wMVMqfgoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bGludXgvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYXJhYmljLXZlcnRpY2FsLW9mZnNldC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9hcmFiaWMtdmVydGljYWwtb2Zmc2V0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zZWVmYWE0YWI4ZjM4NmNjNTE1ZWM5YTFiYmVmMzM2YjFkZGY0M2RkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2lu
dGVybmF0aW9uYWwvYXJhYmljLXZlcnRpY2FsLW9mZnNldC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
Nzg0eDIwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM0MHgxOQor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM0MDogIlRoZSBzcXVhcmUgZ2x5cGgg
c2hvdWxkIGJlIGxvY2F0ZWQgYWJvdmUgdGhlIGxpbmUgZ2x5cGguIgorICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMzYpIHNpemUgNzg0eDYwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwzKSBzaXplIDY0eDU0CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGgg
NjQ6ICJceHs2MDZ9XHh7NkUxfSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2FyYWJpYy12ZXJ0aWNhbC1vZmZz
ZXQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvdGV4dC9p
bnRlcm5hdGlvbmFsL2FyYWJpYy12ZXJ0aWNhbC1vZmZzZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2Qw
OWY0YWIxN2FhZWJmOTljYTE1ODhlNDA2YmViNDM4MjM0ZTU3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvYXJhYmljLXZlcnRpY2FsLW9mZnNldC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxzdHlsZT4K
KyAgLyogIFRoaXMgZm9udCBjb250YWlucyBhIGxpbmUgZ2x5cGgoVSswNjA2KSBhbmQgYSBzcXVh
cmUgZ2x5cGgoVSswNkUxKSwgYW5kCisgICAqICBoYXMgYSAnbWFyaycgZmVhdHVyZSB0aGF0IGxv
Y2F0ZXMgdGhlIHNxdWFyZSBnbHlwaCBhYm92ZSB0aGUgbGluZSBnbHlwaC4KKyAgICogIFRoaXMg
Zm9udCB3YXMgY3JlYXRlZCBieSB1c2luZyBGb250Rm9yZ2UgZnJvbSBzY3JhdGNoLgorICAgKi8K
KyAgQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6IHRlc3Q7CisgICAgc3JjOiB1cmwocmVz
b3VyY2VzL2ZvbnQtZm9yLWFyYWJpYy1vZmZzZXQtdGVzdC50dGYpOworICB9CisgIGRpdiB7Cisg
ICAgZm9udC1mYW1pbHk6IHRlc3Q7CisgICAgZm9udC1zaXplOiA0OHB0OworICB9Cis8L3N0eWxl
PgorPHA+VGhlIHNxdWFyZSBnbHlwaCBzaG91bGQgYmUgbG9jYXRlZCBhYm92ZSB0aGUgbGluZSBn
bHlwaC48L3A+Cis8IS0tIFVzZSBhcmFiaWMgY29kZSBwb2ludHMgdG8gbWFrZSBXZWJLaXQgdXNl
IENvbXBsZXhUZXh0Q29udHJvbGxlciAtLT4KKzxkaXY+JiN4MDYwNjsmI3gwNmUxOzwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvcmVzb3VyY2VzL2ZvbnQtZm9yLWFyYWJpYy1vZmZzZXQtdGVzdC50dGYg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC9yZXNvdXJjZXMvZm9udC1mb3ItYXJhYmljLW9mZnNldC10ZXN0LnR0ZgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMTBiOWRjZGU0YzhhMzMxMTQ5NzUyMTdiNTIyOTIxOGI5OTY3YjI3CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAxNjY4CnpjbWRzMUt9JUZvNiNuamdaPU8/VllHRmkoeXNAJX45QXtuPENOM25W
a3p5aTZsVzxXP0leIyU9R3Q3Kmw7M25FYwp6d0ZzKDMoI2xsfWlJZiV2dHR6c2hPO1Eld3FJTVJ2
MnIzWWo+QVV5NnZBfT1PZWNYND5gT2RsTG9fbyV7MkxlRDkKemU8bCEoX01HYXdeeC1DOHJISXlj
TTI8JnM2amd4bDUjQCVDJmVQb3dDIWM8JG8rNlNSLURpJFAjJHV6P2YyTTRvCno/cnc0PllmYHJX
YWZOYmtlPiRFbWQqbEJgYDZ1VmV7O2A2TWZTZHF+Y0l3VCtjc15TISFyPU1gbD5MTGw2R3tLYQp6
I2N0fDVEUEs8fDtzZHtEUzFZKS1vYnIocjBqdCV4THBlZnVael4zRnVRMmg5QEBMQjFoY28/Z1Qp
LTY5RH04eDcKektBeSExbyZaOWYjfno4TjZKdCVnVXNDXngqeklnNFV1YW1gd1YoU0pzQmVZSjE/
VDx4JCVYVGtaTkc1TVNTRXMzCnppJVVOP1hyTVNfTD9yaXNBNXgobFRxQ0U3R3c1XmV4eDRjOD89
VXN1K2dQSmszWFFjUnMxMWQmJXE7b24+OGdBfQp6PGhvMEZ2YXExRmd0ZXZRJkBNNVdifCNNeHB4
dl5wRk5SJWdLXzZyNXB+OCFSNWUxWilpaX5xdyNQbE5PVDsoMEwKem8/VjJKVDJhZTthRGRiejZf
Q20rRCtISVd0Z3F9VGBRLStAMWZeckQyc2c0cFIqI2FoQj4kZ08tKTlgdVVranFsCnowYG5+bnZJ
Kyp1NVMkZmdZTVUhRkAhZ3JWZTRwQ3AzYHJLVmhKdCt4by00RCZUSDcyYF99d3tOOWpNLWF4T3pg
Twp6WSswVjRtczlKPmZJTz94SmRJVCZCRHokfmJfOGt5KHtnKEtvYXBMaE5gOzZPWEppY2JseGBu
JkF8X0Q4eSl+V2cKelpNZVR0QnZtMXxDVzd+QCgmS3J0UF56bEkqaGY2dnF8SUhBX3B0eyZfanJy
PTdqO3xBKHRVSiFmdnJTY1VaTlp8Cno5Jmd8bmJLfk1CWkVrcUg0Pm5LYjt1aTZERCY3SlQkbnpn
Mm81JllQUDd4V3Y1SnIpdmtRZiptQzU8QShJMThIUQp6Rmh+O3s0JlBDVHczWUwoOCZgSXlaQTNH
dEx6fVIyQUkqI3VxTTYpYSFnaGlveVZjZylrdmRMZWJFNlhxc3xZcCkKeihAUH1CMEVoSmNIaG4y
P1lHM3UpWTxZPVhla2UweWhlRnxDQz0/PkgqJEkjN15eTXxYI2BFX1BrQFdfPDBKQU5ICno2byVD
P0pkc1U+VTgxYjE7ZnIpRHhzNmh0I3Z+RCllWkVfaDlKeyU8aXkqZ15ANEFqbkdhQm4qMlUwcXlT
Rk1NdQp6dWZ3NURkWmlLUmM8dihDeEtScjJVR2FYLVRJfVMlcDAhckU1SS1nTjtLIVB9MnY9RmVV
K2EkSWRjY2RmTEgyTGUKTFF5MURAYHVfMUI/R2V9PQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDMyNTM0YmQwMmQxZTMyYjA5ZDE0MjhiNDUwYmQyOGU0MmU2MmM5Y2IuLmZh
MjIwNGJmMzBiZTI4OGMxZWY3NjE2YWFjNTFhMTFkZThkYWU4MzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxMS0wNC0yNSAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0Nocm9taXVtXSBWZXJ0aWNhbCBwb3NpdGlvbnMgYXJlIG9mZiBmb3Igc29tZSBBcmFiaWMgZ2x5
cGhzIG9uIExpbnV4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01OTE4MgorCisgICAgICAgIFVzZSB2ZXJ0aWNhbCBvZmZzZXRzIG9mIHRoZSBzaGFwaW5n
IHJlc3VsdHMuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYXJhYmljLXZlcnRpY2FsLW9mZnNldC5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0
Q29udHJvbGxlcik6CisgICAgICAgIEFkZGVkIGluaXRpYWxpemF0aW9uIG9mIG1fc3RhcnRpbmdZ
LgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpuZXh0U2NyaXB0UnVu
KToKKyAgICAgICAgRm9sbG93ZWQgdGhlIGNoYW5nZSBpbiBoYW5kbGluZyBwb3NpdGlvbnMuCisg
ICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6OmRlbGV0ZUdseXBoQXJyYXlz
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xsZXI6OmNyZWF0
ZUdseXBoQXJyYXlzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRy
b2xsZXI6OnJlc2V0R2x5cGhBcnJheXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6c2V0R2x5cGhQb3NpdGlvbnMpOgorICAgICAgICBDaGFuZ2VkIHRv
IHVzZSB2ZXJ0aWNhbCBvZmZzZXRzIGFzIHNhbWUgYXMgaG9yaXpvbnRhbCBvZmZzZXRzLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxp
bnV4Lmg6CisgICAgICAgIFJlbW92ZWQgbV94UG9zaXRpb25zIGFuZCBBZGRlZCBtX3Bvc2l0aW9u
cyBhbmQgbV9zdGFydGluZ1kuCisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENvbnRyb2xs
ZXI6OnBvc2l0aW9ucyk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0ZvbnRMaW51eC5jcHA6CisgICAgICAgIEZvbGxvd2VkIHRoZSBjaGFuZ2UgaW4gQ29tcGxl
eFRleHRDb250cm9sbGVyLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0NvbXBsZXhUZXh0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRl
eHQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmdseXBoSW5kZXhGb3JYUG9zaXRpb25JblNj
cmlwdFJ1bik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6b2Zmc2V0Rm9yUG9zaXRp
b25Gb3JDb21wbGV4VGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c2VsZWN0
aW9uUmVjdEZvckNvbXBsZXhUZXh0KTogRGl0dG8uCisKIDIwMTEtMDQtMjUgIElnb3IgT2xpdmVp
cmEgIDxpZ29yLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmNw
cAppbmRleCA0NTk4NjAyN2FkMzMyNjU0NGQzYmVmZjFiOTk2NWYyYjY3OTQ3OGY5Li4yMmViOGNj
ZjFhY2M5ZDQ0YjU3MzAzNzYxYTg1YjYxNzBjZjM5YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29t
cGxleFRleHRDb250cm9sbGVyTGludXguY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbnQg
dHJ1bmNhdGVGaXhlZFBvaW50VG9JbnRlZ2VyKEhCX0ZpeGVkIHZhbHVlKQogICAgIHJldHVybiB2
YWx1ZSA+PiA2OwogfQogCi1Db21wbGV4VGV4dENvbnRyb2xsZXI6OkNvbXBsZXhUZXh0Q29udHJv
bGxlcihjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbmVkIHN0YXJ0aW5nWCwgY29uc3QgRm9udCog
Zm9udCkKK0NvbXBsZXhUZXh0Q29udHJvbGxlcjo6Q29tcGxleFRleHRDb250cm9sbGVyKGNvbnN0
IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgc3RhcnRpbmdYLCB1bnNpZ25lZCBzdGFydGluZ1ksIGNv
bnN0IEZvbnQqIGZvbnQpCiAgICAgOiBtX2ZvbnQoZm9udCkKICAgICAsIG1fcnVuKGdldE5vcm1h
bGl6ZWRUZXh0UnVuKHJ1biwgbV9ub3JtYWxpemVkUnVuLCBtX25vcm1hbGl6ZWRCdWZmZXIpKQog
ICAgICwgbV93b3JkU3BhY2luZ0FkanVzdG1lbnQoMCkKQEAgLTc1LDYgKzc1LDcgQEAgQ29tcGxl
eFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dENvbnRyb2xsZXIoY29uc3QgVGV4dFJ1biYgcnVu
LCB1bnNpZ25lZCBzdGFydGkKICAgICBtX2l0ZW0uc3RyaW5nTGVuZ3RoID0gbV9ydW4ubGVuZ3Ro
KCk7CiAKICAgICByZXNldChzdGFydGluZ1gpOworICAgIG1fc3RhcnRpbmdZID0gc3RhcnRpbmdZ
OwogfQogCiBDb21wbGV4VGV4dENvbnRyb2xsZXI6On5Db21wbGV4VGV4dENvbnRyb2xsZXIoKQpA
QCAtMTcxLDcgKzE3Miw3IEBAIGJvb2wgQ29tcGxleFRleHRDb250cm9sbGVyOjpuZXh0U2NyaXB0
UnVuKCkKIAogICAgIHNldHVwRm9udEZvclNjcmlwdFJ1bigpOwogICAgIHNoYXBlR2x5cGhzKCk7
Ci0gICAgc2V0R2x5cGhYUG9zaXRpb25zKHJ0bCgpKTsKKyAgICBzZXRHbHlwaFBvc2l0aW9ucyhy
dGwoKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTIzMyw3ICsyMzQsNyBAQCB2b2lkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6ZGVsZXRlR2x5cGhBcnJheXMoKQogICAgIGRlbGV0ZVtdIG1f
aXRlbS5hZHZhbmNlczsKICAgICBkZWxldGVbXSBtX2l0ZW0ub2Zmc2V0czsKICAgICBkZWxldGVb
XSBtX2dseXBoczE2OwotICAgIGRlbGV0ZVtdIG1feFBvc2l0aW9uczsKKyAgICBkZWxldGVbXSBt
X3Bvc2l0aW9uczsKIH0KIAogdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmNyZWF0ZUdseXBo
QXJyYXlzKGludCBzaXplKQpAQCAtMjQ0LDcgKzI0NSw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250
cm9sbGVyOjpjcmVhdGVHbHlwaEFycmF5cyhpbnQgc2l6ZSkKICAgICBtX2l0ZW0ub2Zmc2V0cyA9
IG5ldyBIQl9GaXhlZFBvaW50W3NpemVdOwogCiAgICAgbV9nbHlwaHMxNiA9IG5ldyB1aW50MTZf
dFtzaXplXTsKLSAgICBtX3hQb3NpdGlvbnMgPSBuZXcgU2tTY2FsYXJbc2l6ZV07CisgICAgbV9w
b3NpdGlvbnMgPSBuZXcgU2tQb2ludFtzaXplXTsKIAogICAgIG1faXRlbS5udW1fZ2x5cGhzID0g
c2l6ZTsKICAgICBtX2dseXBoc0FycmF5Q2FwYWNpdHkgPSBzaXplOyAvLyBTYXZlIHRoZSBHbHlw
aEFycmF5cyBzaXplLgpAQCAtMjYxLDcgKzI2Miw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9s
bGVyOjpyZXNldEdseXBoQXJyYXlzKCkKICAgICBtZW1zZXQobV9pdGVtLmFkdmFuY2VzLCAwLCBz
aXplICogc2l6ZW9mKEhCX0ZpeGVkKSk7CiAgICAgbWVtc2V0KG1faXRlbS5vZmZzZXRzLCAwLCBz
aXplICogc2l6ZW9mKEhCX0ZpeGVkUG9pbnQpKTsKICAgICBtZW1zZXQobV9nbHlwaHMxNiwgMCwg
c2l6ZSAqIHNpemVvZih1aW50MTZfdCkpOwotICAgIG1lbXNldChtX3hQb3NpdGlvbnMsIDAsIHNp
emUgKiBzaXplb2YoU2tTY2FsYXIpKTsKKyAgICBtZW1zZXQobV9wb3NpdGlvbnMsIDAsIHNpemUg
KiBzaXplb2YoU2tQb2ludCkpOwogfQogCiB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2hh
cGVHbHlwaHMoKQpAQCAtMjg0LDcgKzI4NSw3IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVy
OjpzaGFwZUdseXBocygpCiAgICAgfQogfQogCi12b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6
c2V0R2x5cGhYUG9zaXRpb25zKGJvb2wgaXNSVEwpCit2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6c2V0R2x5cGhQb3NpdGlvbnMoYm9vbCBpc1JUTCkKIHsKICAgICBjb25zdCBkb3VibGUgcnRs
RmxpcCA9IGlzUlRMID8gLTEgOiAxOwogICAgIGRvdWJsZSBwb3NpdGlvbiA9IDA7CkBAIC0zMDQs
MTEgKzMwNSwxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6c2V0R2x5cGhYUG9zaXRp
b25zKGJvb2wgaXNSVEwpCiAKICAgICAgICAgbV9nbHlwaHMxNltpXSA9IG1faXRlbS5nbHlwaHNb
aV07CiAgICAgICAgIGRvdWJsZSBvZmZzZXRYID0gdHJ1bmNhdGVGaXhlZFBvaW50VG9JbnRlZ2Vy
KG1faXRlbS5vZmZzZXRzW2ldLngpOworICAgICAgICBkb3VibGUgb2Zmc2V0WSA9IHRydW5jYXRl
Rml4ZWRQb2ludFRvSW50ZWdlcihtX2l0ZW0ub2Zmc2V0c1tpXS55KTsKICAgICAgICAgZG91Ymxl
IGFkdmFuY2UgPSB0cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIobV9pdGVtLmFkdmFuY2VzW2ld
KTsKICAgICAgICAgaWYgKGlzUlRMKQogICAgICAgICAgICAgb2Zmc2V0WCAtPSBhZHZhbmNlOwog
Ci0gICAgICAgIG1feFBvc2l0aW9uc1tpXSA9IG1fb2Zmc2V0WCArIChwb3NpdGlvbiAqIHJ0bEZs
aXApICsgb2Zmc2V0WDsKKyAgICAgICAgbV9wb3NpdGlvbnNbaV0uc2V0KG1fb2Zmc2V0WCArIChw
b3NpdGlvbiAqIHJ0bEZsaXApICsgb2Zmc2V0WCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fc3RhcnRpbmdZICsgb2Zmc2V0WSk7CiAKICAgICAgICAgaWYgKG1fY3VycmVudEZvbnREYXRh
LT5pc1plcm9XaWR0aFNwYWNlR2x5cGgobV9nbHlwaHMxNltpXSkpCiAgICAgICAgICAgICBjb250
aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Db21wbGV4VGV4dENvbnRyb2xsZXJMaW51eC5oCmluZGV4IDZh
OTM4Nzg2MzA0NTgwNzVhYTUyZWY3NjE3YzNmNDNjNWUwM2I5NWIuLmUyNjI5OTI2MzIzZDc1ZmE5
M2IyZTVhMTRiY2I3MTZkMjMyYTk2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBsZXhUZXh0Q29udHJvbGxlckxpbnV4LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcGxleFRleHRDb250
cm9sbGVyTGludXguaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBDb21wbGV4VGV4dENvbnRy
b2xsZXJMaW51eF9oCiAKICNpbmNsdWRlICJIYXJmYnV6elNraWEuaCIKKyNpbmNsdWRlICJTa1Bv
aW50LmgiCiAjaW5jbHVkZSAiU2tTY2FsYXIuaCIKICNpbmNsdWRlICJUZXh0UnVuLmgiCiAKQEAg
LTYwLDcgKzYxLDcgQEAgY2xhc3MgU2ltcGxlRm9udERhdGE7CiAvLyBjYW4gY2FsbCB8cmVzZXR8
IHRvIHN0YXJ0IG92ZXIgYWdhaW4uCiBjbGFzcyBDb21wbGV4VGV4dENvbnRyb2xsZXIgewogcHVi
bGljOgotICAgIENvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBUZXh0UnVuJiwgdW5zaWduZWQs
IGNvbnN0IEZvbnQqKTsKKyAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIoY29uc3QgVGV4dFJ1biYs
IHVuc2lnbmVkLCB1bnNpZ25lZCwgY29uc3QgRm9udCopOwogICAgIH5Db21wbGV4VGV4dENvbnRy
b2xsZXIoKTsKIAogICAgIGJvb2wgaXNXb3JkQnJlYWsodW5zaWduZWQpOwpAQCAtOTIsMTAgKzkz
LDEwIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkgcmV0
dXJuZWQgYnkgfGdseXBoc3wKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJl
dHVybiBtX2l0ZW0ubnVtX2dseXBoczsgfQogCi0gICAgLy8gUmV0dXJuIHRoZSB4IG9mZnNldCBm
b3IgZWFjaCBvZiB0aGUgZ2x5cGhzLiBOb3RlIHRoYXQgdGhpcyBpcyB0cmFuc2xhdGVkCisgICAg
Ly8gUmV0dXJuIHRoZSBvZmZzZXQgZm9yIGVhY2ggb2YgdGhlIGdseXBocy4gTm90ZSB0aGF0IHRo
aXMgaXMgdHJhbnNsYXRlZAogICAgIC8vIGJ5IHRoZSBjdXJyZW50IHggb2Zmc2V0IGFuZCB0aGF0
IHRoZSB4IG9mZnNldCBpcyB1cGRhdGVkIGZvciBlYWNoIHNjcmlwdAogICAgIC8vIHJ1bi4KLSAg
ICBjb25zdCBTa1NjYWxhciogeFBvc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1feFBvc2l0aW9u
czsgfQorICAgIGNvbnN0IFNrUG9pbnQqIHBvc2l0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fcG9z
aXRpb25zOyB9CiAKICAgICAvLyBHZXQgdGhlIGFkdmFuY2VzICh3aWR0aHMpIGZvciBlYWNoIGds
eXBoLgogICAgIGNvbnN0IEhCX0ZpeGVkKiBhZHZhbmNlcygpIGNvbnN0IHsgcmV0dXJuIG1faXRl
bS5hZHZhbmNlczsgfQpAQCAtMTI1LDcgKzEyNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjcmVh
dGVHbHlwaEFycmF5cyhpbnQpOwogICAgIHZvaWQgcmVzZXRHbHlwaEFycmF5cygpOwogICAgIHZv
aWQgc2hhcGVHbHlwaHMoKTsKLSAgICB2b2lkIHNldEdseXBoWFBvc2l0aW9ucyhib29sKTsKKyAg
ICB2b2lkIHNldEdseXBoUG9zaXRpb25zKGJvb2wpOwogCiAgICAgc3RhdGljIHZvaWQgbm9ybWFs
aXplU3BhY2VzQW5kTWlycm9yQ2hhcnMoY29uc3QgVUNoYXIqIHNvdXJjZSwgYm9vbCBydGwsIFVD
aGFyKiBkZXN0aW5hdGlvbiwgaW50IGxlbmd0aCk7CiAgICAgc3RhdGljIGNvbnN0IFRleHRSdW4m
IGdldE5vcm1hbGl6ZWRUZXh0UnVuKGNvbnN0IFRleHRSdW4mIG9yaWdpbmFsUnVuLCBPd25QdHI8
VGV4dFJ1bj4mIG5vcm1hbGl6ZWRSdW4sIE93bkFycmF5UHRyPFVDaGFyPiYgbm9ybWFsaXplZEJ1
ZmZlcik7CkBAIC0xMzcsOSArMTM4LDEwIEBAIHByaXZhdGU6CiAgICAgY29uc3QgU2ltcGxlRm9u
dERhdGEqIG1fY3VycmVudEZvbnREYXRhOwogICAgIEhCX1NoYXBlckl0ZW0gbV9pdGVtOwogICAg
IHVpbnQxNl90KiBtX2dseXBoczE2OyAvLyBBIHZlY3RvciBvZiAxNi1iaXQgZ2x5cGggaWRzLgot
ICAgIFNrU2NhbGFyKiBtX3hQb3NpdGlvbnM7IC8vIEEgdmVjdG9yIG9mIHggcG9zaXRpb25zIGZv
ciBlYWNoIGdseXBoLgorICAgIFNrUG9pbnQqIG1fcG9zaXRpb25zOyAvLyBBIHZlY3RvciBvZiBw
b3NpdGlvbnMgZm9yIGVhY2ggZ2x5cGguCiAgICAgc3NpemVfdCBtX2luZGV4T2ZOZXh0U2NyaXB0
UnVuOyAvLyBJbmRleGVzIHRoZSBzY3JpcHQgcnVuIGluIHxtX3J1bnwuCiAgICAgdW5zaWduZWQg
bV9vZmZzZXRYOyAvLyBPZmZzZXQgaW4gcGl4ZWxzIHRvIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBz
Y3JpcHQgcnVuLgorICAgIHVuc2lnbmVkIG1fc3RhcnRpbmdZOyAvLyBUaGUgWSBzdGFydGluZyBw
b2ludCBvZiB0aGUgc2NyaXB0IHJ1bi4KICAgICB1bnNpZ25lZCBtX3BpeGVsV2lkdGg7IC8vIFdp
ZHRoIChpbiBweCkgb2YgdGhlIGN1cnJlbnQgc2NyaXB0IHJ1bi4KICAgICB1bnNpZ25lZCBtX2ds
eXBoc0FycmF5Q2FwYWNpdHk7IC8vIEN1cnJlbnQgc2l6ZSBvZiBhbGwgdGhlIEhhcmZidXp6IGFy
cmF5cy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRm9udExpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0ZvbnRMaW51eC5jcHAKaW5kZXggM2M0YTQ5NGVlOTc1NzkzNzA5MzNjY2Q1ZmE3ODQ2
NDJhNjZlZTEwOS4uY2RjNDljNDZkZTM5ZTNkZjBjZmM5ZmUyMWI4NjFiNWZiZTA0ODIyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udExp
bnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9G
b250TGludXguY3BwCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBGb250OjpkcmF3Q29tcGxleFRl
eHQoR3JhcGhpY3NDb250ZXh0KiBnYywgY29uc3QgVGV4dFJ1biYgcnVuLAogICAgICAgICBzZXR1
cEZvclRleHRQYWludGluZygmc3Ryb2tlUGFpbnQsIGdjLT5zdHJva2VDb2xvcigpLnJnYigpKTsK
ICAgICB9CiAKLSAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihydW4sIHBvaW50
LngoKSwgdGhpcyk7CisgICAgQ29tcGxleFRleHRDb250cm9sbGVyIGNvbnRyb2xsZXIocnVuLCBw
b2ludC54KCksIHBvaW50LnkoKSwgdGhpcyk7CiAgICAgY29udHJvbGxlci5zZXRXb3JkU3BhY2lu
Z0FkanVzdG1lbnQod29yZFNwYWNpbmcoKSk7CiAgICAgY29udHJvbGxlci5zZXRMZXR0ZXJTcGFj
aW5nQWRqdXN0bWVudChsZXR0ZXJTcGFjaW5nKCkpOwogICAgIGNvbnRyb2xsZXIuc2V0UGFkZGlu
ZyhydW4uZXhwYW5zaW9uKCkpOwpAQCAtMjI1LDEzICsyMjUsMTMgQEAgdm9pZCBGb250OjpkcmF3
Q29tcGxleFRleHQoR3JhcGhpY3NDb250ZXh0KiBnYywgY29uc3QgVGV4dFJ1biYgcnVuLAogICAg
ICAgICBpZiAoZmlsbCkgewogICAgICAgICAgICAgY29udHJvbGxlci5mb250UGxhdGZvcm1EYXRh
Rm9yU2NyaXB0UnVuKCktPnNldHVwUGFpbnQoJmZpbGxQYWludCk7CiAgICAgICAgICAgICBhZGp1
c3RUZXh0UmVuZGVyTW9kZSgmZmlsbFBhaW50LCBnYy0+cGxhdGZvcm1Db250ZXh0KCkpOwotICAg
ICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dEgoY29udHJvbGxlci5nbHlwaHMoKSwgY29udHJv
bGxlci5sZW5ndGgoKSA8PCAxLCBjb250cm9sbGVyLnhQb3NpdGlvbnMoKSwgcG9pbnQueSgpLCBm
aWxsUGFpbnQpOworICAgICAgICAgICAgY2FudmFzLT5kcmF3UG9zVGV4dChjb250cm9sbGVyLmds
eXBocygpLCBjb250cm9sbGVyLmxlbmd0aCgpIDw8IDEsIGNvbnRyb2xsZXIucG9zaXRpb25zKCks
IGZpbGxQYWludCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoc3Ryb2tlKSB7CiAgICAgICAg
ICAgICBjb250cm9sbGVyLmZvbnRQbGF0Zm9ybURhdGFGb3JTY3JpcHRSdW4oKS0+c2V0dXBQYWlu
dCgmc3Ryb2tlUGFpbnQpOwogICAgICAgICAgICAgYWRqdXN0VGV4dFJlbmRlck1vZGUoJnN0cm9r
ZVBhaW50LCBnYy0+cGxhdGZvcm1Db250ZXh0KCkpOwotICAgICAgICAgICAgY2FudmFzLT5kcmF3
UG9zVGV4dEgoY29udHJvbGxlci5nbHlwaHMoKSwgY29udHJvbGxlci5sZW5ndGgoKSA8PCAxLCBj
b250cm9sbGVyLnhQb3NpdGlvbnMoKSwgcG9pbnQueSgpLCBzdHJva2VQYWludCk7CisgICAgICAg
ICAgICBjYW52YXMtPmRyYXdQb3NUZXh0KGNvbnRyb2xsZXIuZ2x5cGhzKCksIGNvbnRyb2xsZXIu
bGVuZ3RoKCkgPDwgMSwgY29udHJvbGxlci5wb3NpdGlvbnMoKSwgc3Ryb2tlUGFpbnQpOwogICAg
ICAgICB9CiAgICAgfQogfQpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgRm9udDo6ZHJhd0VtcGhh
c2lzTWFya3NGb3JDb21wbGV4VGV4dChHcmFwaGljc0NvbnRleHQqIC8qIGNvbnRleHQgKi8sIGNv
bnN0CiAKIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb25zdCBUZXh0UnVu
JiBydW4sIEhhc2hTZXQ8Y29uc3QgU2ltcGxlRm9udERhdGEqPiogLyogZmFsbGJhY2tGb250cyAq
LywgR2x5cGhPdmVyZmxvdyogLyogZ2x5cGhPdmVyZmxvdyAqLykgY29uc3QKIHsKLSAgICBDb21w
bGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihydW4sIDAsIHRoaXMpOworICAgIENvbXBsZXhU
ZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHJ1biwgMCwgMCwgdGhpcyk7CiAgICAgY29udHJvbGxl
ci5zZXRXb3JkU3BhY2luZ0FkanVzdG1lbnQod29yZFNwYWNpbmcoKSk7CiAgICAgY29udHJvbGxl
ci5zZXRMZXR0ZXJTcGFjaW5nQWRqdXN0bWVudChsZXR0ZXJTcGFjaW5nKCkpOwogICAgIGNvbnRy
b2xsZXIuc2V0UGFkZGluZyhydW4uZXhwYW5zaW9uKCkpOwpAQCAtMjU4LDcgKzI1OCw3IEBAIHN0
YXRpYyBpbnQgZ2x5cGhJbmRleEZvclhQb3NpdGlvbkluU2NyaXB0UnVuKGNvbnN0IENvbXBsZXhU
ZXh0Q29udHJvbGxlciYgY29udHJvCiAgICAgaW50IGxhc3RYID0gY29udHJvbGxlci5vZmZzZXRY
KCkgLSAoY29udHJvbGxlci5ydGwoKSA/IC1jb250cm9sbGVyLndpZHRoKCkgOiBjb250cm9sbGVy
LndpZHRoKCkpOwogICAgIGZvciAoaW50IGdseXBoSW5kZXggPSAwOyBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oZ2x5cGhJbmRleCkgPCBjb250cm9sbGVyLmxlbmd0aCgpOyArK2dseXBoSW5kZXgpIHsK
ICAgICAgICAgaW50IGFkdmFuY2UgPSB0cnVuY2F0ZUZpeGVkUG9pbnRUb0ludGVnZXIoY29udHJv
bGxlci5hZHZhbmNlcygpW2dseXBoSW5kZXhdKTsKLSAgICAgICAgaW50IG5leHRYID0gc3RhdGlj
X2Nhc3Q8aW50Pihjb250cm9sbGVyLnhQb3NpdGlvbnMoKVtnbHlwaEluZGV4XSkgKyBhZHZhbmNl
IC8gMjsKKyAgICAgICAgaW50IG5leHRYID0gc3RhdGljX2Nhc3Q8aW50Pihjb250cm9sbGVyLnBv
c2l0aW9ucygpW2dseXBoSW5kZXhdLngoKSkgKyBhZHZhbmNlIC8gMjsKICAgICAgICAgaWYgKHN0
ZDo6bWluKG5leHRYLCBsYXN0WCkgPD0gdGFyZ2V0WCAmJiB0YXJnZXRYIDw9IHN0ZDo6bWF4KG5l
eHRYLCBsYXN0WCkpCiAgICAgICAgICAgICByZXR1cm4gZ2x5cGhJbmRleDsKICAgICAgICAgbGFz
dFggPSBuZXh0WDsKQEAgLTI3Nyw3ICsyNzcsNyBAQCBpbnQgRm9udDo6b2Zmc2V0Rm9yUG9zaXRp
b25Gb3JDb21wbGV4VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGZsb2F0IHhGbG9hdCwKIAogICAg
IC8vIChNYWMgY29kZSBpZ25vcmVzIGluY2x1ZGVQYXJ0aWFsR2x5cGhzLCBhbmQgdGhleSBkb24n
dCBrbm93IHdoYXQgaXQncwogICAgIC8vIHN1cHBvc2VkIHRvIGRvLCBzbyB3ZSBqdXN0IGlnbm9y
ZSBpdCBhcyB3ZWxsLikKLSAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihydW4s
IDAsIHRoaXMpOworICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHJ1biwgMCwg
MCwgdGhpcyk7CiAgICAgY29udHJvbGxlci5zZXRXb3JkU3BhY2luZ0FkanVzdG1lbnQod29yZFNw
YWNpbmcoKSk7CiAgICAgY29udHJvbGxlci5zZXRMZXR0ZXJTcGFjaW5nQWRqdXN0bWVudChsZXR0
ZXJTcGFjaW5nKCkpOwogICAgIGNvbnRyb2xsZXIuc2V0UGFkZGluZyhydW4uZXhwYW5zaW9uKCkp
OwpAQCAtMzI4LDcgKzMyOCw3IEBAIEZsb2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yQ29t
cGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgZnJvbSwgaW50IHRvKSBjb25zdAogewogICAgIGludCBmcm9t
WCA9IC0xLCB0b1ggPSAtMTsKLSAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcihy
dW4sIDAsIHRoaXMpOworICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHJ1biwg
MCwgMCwgdGhpcyk7CiAgICAgY29udHJvbGxlci5zZXRXb3JkU3BhY2luZ0FkanVzdG1lbnQod29y
ZFNwYWNpbmcoKSk7CiAgICAgY29udHJvbGxlci5zZXRMZXR0ZXJTcGFjaW5nQWRqdXN0bWVudChs
ZXR0ZXJTcGFjaW5nKCkpOwogICAgIGNvbnRyb2xsZXIuc2V0UGFkZGluZyhydW4uZXhwYW5zaW9u
KCkpOwpAQCAtMzQ1LDcgKzM0NSw3IEBAIEZsb2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9y
Q29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLAogICAgICAgICAgICAgLy8gZmluZCB3aGlj
aCBnbHlwaCB0aGlzIGNvZGUtcG9pbnQgY29udHJpYnV0ZWQgdG8gYW5kIGZpbmQgaXRzIHgKICAg
ICAgICAgICAgIC8vIHBvc2l0aW9uLgogICAgICAgICAgICAgaW50IGdseXBoID0gY29udHJvbGxl
ci5sb2dDbHVzdGVycygpW2Zyb21dOwotICAgICAgICAgICAgZnJvbVggPSBjb250cm9sbGVyLnhQ
b3NpdGlvbnMoKVtnbHlwaF07CisgICAgICAgICAgICBmcm9tWCA9IGNvbnRyb2xsZXIucG9zaXRp
b25zKClbZ2x5cGhdLngoKTsKICAgICAgICAgICAgIGlmIChjb250cm9sbGVyLnJ0bCgpKQogICAg
ICAgICAgICAgICAgIGZyb21YICs9IHRydW5jYXRlRml4ZWRQb2ludFRvSW50ZWdlcihjb250cm9s
bGVyLmFkdmFuY2VzKClbZ2x5cGhdKTsKICAgICAgICAgfSBlbHNlCkBAIC0zNTMsNyArMzUzLDcg
QEAgRmxvYXRSZWN0IEZvbnQ6OnNlbGVjdGlvblJlY3RGb3JDb21wbGV4VGV4dChjb25zdCBUZXh0
UnVuJiBydW4sCiAKICAgICAgICAgaWYgKHRvWCA9PSAtMSAmJiB0byA+PSAwICYmIHN0YXRpY19j
YXN0PHVuc2lnbmVkPih0bykgPCBjb250cm9sbGVyLm51bUNvZGVQb2ludHMoKSkgewogICAgICAg
ICAgICAgaW50IGdseXBoID0gY29udHJvbGxlci5sb2dDbHVzdGVycygpW3RvXTsKLSAgICAgICAg
ICAgIHRvWCA9IGNvbnRyb2xsZXIueFBvc2l0aW9ucygpW2dseXBoXTsKKyAgICAgICAgICAgIHRv
WCA9IGNvbnRyb2xsZXIucG9zaXRpb25zKClbZ2x5cGhdLngoKTsKICAgICAgICAgICAgIGlmIChj
b250cm9sbGVyLnJ0bCgpKQogICAgICAgICAgICAgICAgIHRvWCArPSB0cnVuY2F0ZUZpeGVkUG9p
bnRUb0ludGVnZXIoY29udHJvbGxlci5hZHZhbmNlcygpW2dseXBoXSk7CiAgICAgICAgIH0gZWxz
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>91058</attachid>
            <date>2011-04-25 22:55:02 -0700</date>
            <delta_ts>2011-04-25 22:55:02 -0700</delta_ts>
            <desc>Thai script rendering result</desc>
            <filename>Screenshot-1.png</filename>
            <type>image/png</type>
            <size>17037</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
      

    </bug>

</bugzilla>