<?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>130572</bug_id>
          
          <creation_ts>2014-03-21 01:50:49 -0700</creation_ts>
          <short_desc>Operator stretching: expose a math data API</short_desc>
          <delta_ts>2014-04-02 00:05:47 -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>MathML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>130682</dependson>
    
    <dependson>130872</dependson>
          <blocked>130324</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992977</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-21 01:50:49 -0700</bug_when>
    <thetext>This is essentially the work of bug 130321, without the hardcoded data.

I think we can forget the hardcoded data, since the CGFontCopyTableForTag seems to be what we want to load a table on Mac. 
I&apos;m not sure what are the other platforms that are missing the feature to load OpenType, but I think we can ignore them for now. The parsing of the MATH table and everything that requires adding a compile flag will be handled in bug 130324.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992999</commentid>
    <comment_count>1</comment_count>
      <attachid>227408</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-21 03:13:45 -0700</bug_when>
    <thetext>Created attachment 227408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993176</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-21 10:15:45 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/platform/graphics/FontPlatformData.cpp:30
&gt; &gt; +#if OS(DARWIN)
&gt;
&gt; OS(DARWIN) might be correct, but my first guess would have been to use
&gt; PLATFORM(COCOA)

If I read Source/WTF/wtf/Platform.h correctly, OS(DARWIN) implies PLATFORM(COCOA). OS(DARWIN) is what is used in FontPlaformData.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993267</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-03-21 12:30:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; &gt; Source/WebCore/platform/graphics/FontPlatformData.cpp:30
&gt; &gt; &gt; +#if OS(DARWIN)
&gt; &gt;
&gt; &gt; OS(DARWIN) might be correct, but my first guess would have been to use
&gt; &gt; PLATFORM(COCOA)
&gt; 
&gt; If I read Source/WTF/wtf/Platform.h correctly, OS(DARWIN) implies PLATFORM(COCOA). OS(DARWIN) is what is used in FontPlaformData.h.

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993742</commentid>
    <comment_count>4</comment_count>
      <attachid>227629</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-24 02:07:20 -0700</bug_when>
    <thetext>Created attachment 227629
Patch

This patch addresses bug 130321 comment 13 (except the #if OS(DARWIN)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993827</commentid>
    <comment_count>5</comment_count>
      <attachid>227629</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-03-24 09:14:11 -0700</bug_when>
    <thetext>Comment on attachment 227629
Patch

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

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h:44
&gt; +    bool hasMathData() const { return !!m_mathBuffer; }

should this just be return m_mathBuffer.get(), instead of !!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993831</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-24 09:20:45 -0700</bug_when>
    <thetext>Committed r166169: &lt;http://trac.webkit.org/changeset/166169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993871</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-24 10:29:31 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 130682</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993886</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-24 10:44:41 -0700</bug_when>
    <thetext>So it seems that some platform/font can not generate a hash(). I&apos;ll need to add some special handling to ignore these cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994125</commentid>
    <comment_count>9</comment_count>
      <attachid>227733</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-25 03:06:32 -0700</bug_when>
    <thetext>Created attachment 227733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994126</commentid>
    <comment_count>10</comment_count>
      <attachid>227734</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-25 03:10:37 -0700</bug_when>
    <thetext>Created attachment 227734
Difference from the previous commit

So I think openTypeTable should only be defined for &quot;OS(DARWIN) &amp;&amp; USE(CG)&quot;, as cgFont() is not available otherwise.

I&apos;ve modified the code to leave m_mathData uninitialized when m_font is undefined on Mac/Win, since otherwise the hash() asserts or return 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994708</commentid>
    <comment_count>11</comment_count>
      <attachid>227734</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-03-26 14:15:36 -0700</bug_when>
    <thetext>Comment on attachment 227734
Difference from the previous commit

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

&gt; Source/WebCore/platform/graphics/SimpleFontData.cpp:66
&gt; +    bool tryMathData = true;

should this be initialized with false so that it&apos;s explicit who is testing for math?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994859</commentid>
    <comment_count>12</comment_count>
      <attachid>227931</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-27 00:31:51 -0700</bug_when>
    <thetext>Created attachment 227931
Patch

I&apos;ve refined tryMathData so that only platforms that will have ENABLE(OPENTYPE_MATH) may set it to true. Also for freetype, there is an ASSERT(hash()) when creating the verticalData. I&apos;m not sure when the hash() can be zero on freetype, but I leave tryMathData to false in that case too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994980</commentid>
    <comment_count>13</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-27 11:06:54 -0700</bug_when>
    <thetext>Committed r166364: &lt;http://trac.webkit.org/changeset/166364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995128</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-27 16:10:47 -0700</bug_when>
    <thetext>This caused a new assertion
http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r166371%20(4179)/svg/text/text-fonts-02-t-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995130</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-27 16:20:05 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 130872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995413</commentid>
    <comment_count>16</comment_count>
      <attachid>228073</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-03-28 11:57:11 -0700</bug_when>
    <thetext>Created attachment 228073
Patch

So the new assertion was

ASSERT(!lookupForWriting(Extractor::extract(entry)).second)

which is, IIUC, that the entry already exists in the hash table.

I now realize that what FontCache does for vertical data is very weird: it uses the hash() of the FontPlatformData as a key for the hash table (and so of course this key is itself hashed again!). So two fonts with different Open Type tables are likely to get the same key...

Open Type tables are encoded in the font file, so they should really be per FontPlatformData and I&apos;m even assuming per SimpleFontData (unless two SimpleFontData&apos;s can share the same FontPlatformData). So I&apos;m not really sure it is relevant to use a cache for the Open Type tables.

Also, there are not many fonts with Open Type MATH tables and the math data are likely to only be used in the MathML code. So trying to initialize the data only the first time the mathData() is called is probably a better strategy.

In this patch, I&apos;ve removed the cache and moved the initialization to mathData().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996540</commentid>
    <comment_count>17</comment_count>
      <attachid>228073</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-04-01 17:32:51 -0700</bug_when>
    <thetext>Comment on attachment 228073
Patch

Please watch the bots after landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996612</commentid>
    <comment_count>18</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2014-04-02 00:05:47 -0700</bug_when>
    <thetext>Committed r166633: &lt;http://trac.webkit.org/changeset/166633&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227408</attachid>
            <date>2014-03-21 03:13:45 -0700</date>
            <delta_ts>2014-03-24 02:07:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>data.patch</filename>
            <type>text/plain</type>
            <size>23464</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGM0ZjVlMC4uZjdiYTg1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NDUsNiArMTk0NSw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYyYWFlNGUuLjE2NzI4
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNC0wMy0yMSAgRnLDqWTDqXJpYyBX
YW5nICA8ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgT3BlcmF0b3Igc3RyZXRjaGluZzog
ZXhwb3NlIGEgbWF0aCBkYXRhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2UgZXhwb3NlIGEgbmV3IFNpbXBsZUZvbnREYXRhIEFQSSB0byBnaXZl
IGFjY2VzcyB0byB0aGUgZGF0YSBmcm9tIHRoZQorICAgICAgICBPcGVuVHlwZSBNQVRIIHRhYmxl
IHVzaW5nIGEgZm9udCBjYWNoZS4gVGhlIGNsYXNzIE9wZW5UeXBlTWF0aERhdGEgd2lsbAorICAg
ICAgICBiZSBpbXBsZW1lbnRlZCBpbiBidWcgMTMwMzI0LiBPbiBEYXJ3aW4gcGxhdGZvcm0sIHdl
IGFsc28gaW1wbGVtZW50IHRoZQorICAgICAgICBtaXNzaW5nIEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBuZWNlc3NhcnkKKyAgICAgICAgdG8g
bG9hZCB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZS4gVGhlIGNoYW5nZXMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQKKyAgICAgICAgZm9yIE1hdGhNTCBvcGVyYXRvciBzdHJldGNoaW5nIChidWcgMTMw
MzIyKSBzbyB0ZXN0cyBhcmUgbm90IGFkZGVkIHlldC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBhZGQgbmV3IE9wZW5UeXBlTWF0aERhdGEgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbTogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOiBkaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6IFdl
IGFkZCBhIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGEgY2Fj
aGUgZm9yIHRoZSBtYXRoIGRhdGEuCisgICAgICAgIFdlIG1ha2UgdGhlIG1hdGggYW5kIHZlcnRp
Y2FsIGRhdGEgc2hhcmUgdGhlIHNhbWUga2V5IGZvciB0aGUgY2FjaGUuCisgICAgICAgIChXZWJD
b3JlOjpmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFZlcnRpY2FsRGF0YUNh
Y2hlSW5zdGFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oOiBX
ZSBkZWNsYXJlIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgYW5kIEZvbnRGaWxlS2V5IG9uIGFsbCBw
bGF0Zm9ybXMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKTog
V2UgaW1wbGVtZW50IG9wZW5UeXBlVGFibGUoKSBvbiBEYXJ3aW4gcGxhdGZvcm0uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOiBXZSBleHBvc2Ugb3BlblR5
cGVUYWJsZSgpIG9uIERhcndpbiBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHA6IFdlIGluaXRpYWxpemUgbV9tYXRoRGF0YSBmcm9tIHRoZSBm
b250IGNhY2hlLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnRE
YXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBXZSBl
eHBvc2UgYSBtYXRoRGF0YSgpIGZ1bmN0aW9uIHRvIGFjY2VzcyB0aGUgTUFUSCBkYXRhLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOiBB
ZGRlZC4gVGhpcyBpcyBhIG5ldyBjbGFzcyB0aGF0IHdpbGwgYmUgdXNlZCB0byBwYXJzZSB0aGUg
ZGF0YSBmcm9tIHRoZSBPcGVuVHlwZSBNQVRIIHRhYmxlLgorICAgICAgICAoV2ViQ29yZTo6T3Bl
blR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok9wZW5UeXBlTWF0aERhdGE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpPcGVuVHlw
ZU1hdGhEYXRhOjpoYXNNYXRoRGF0YSk6CisKIDIwMTQtMDMtMjAgIFByYXRpayBTb2xhbmtpICA8
cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIGlPUyBidWlsZCBmaXgg
YWZ0ZXIgcjE2NjAxNywgcjE2NjAzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDVlMGFkN2EuLjdmZDA5YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTM1
NSw2ICs1MzU1LDggQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21t
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGVtcG9y
YXJ5T3BlbkdMU2V0dGluZy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9UZW1wb3JhcnlPcGVuR0xTZXR0aW5nLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmggXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvUGVyc3BlY3RpdmVUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagppbmRleCA0NTk3NTdhLi4wZGU1Y2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc5NDMsNiArNzk0Myw3IEBACiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cSW50UmVjdFdpbi5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cSW50
U2l6ZVdpbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFw
aGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbldpbmRvdy5jcHAiIC8+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlw
ZU1hdGhEYXRhLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdy
YXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVmVydGljYWxE
YXRhLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNz
XHdpblxTaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcCI+CkBAIC0xOTMwMSw2ICsxOTMwMiw3IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cRnVsbFNj
cmVlbkNvbnRyb2xsZXJDbGllbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXGdyYXBoaWNzXHdpblxMb2NhbFdpbmRvd3NDb250ZXh0LmgiIC8+CiAgICAgPEN1c3Rv
bUJ1aWxkU3RlcCBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQ
cml2YXRlRnVsbHNjcmVlbldpbmRvdy5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3BlblR5cGVNYXRoRGF0YS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3BlblR5cGVU
eXBlcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
b3BlbnR5cGVcT3BlblR5cGVVdGlsaXRpZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVmVydGljYWxEYXRhLmgiIC8+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKaW5kZXggMGJhMTg1OC4uNmViY2FlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTQ3
Niw2ICsxNDc2LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBo
aWNzXHdpblxNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuV2luZG93LmNwcCI+CiAgICAgICA8
RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3Bl
blR5cGVNYXRoRGF0YS5jcHAiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3aW48
L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVzLmNwcCI+CiAgICAgICA8
RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpA
QCAtODQxNiw2ICs4NDE5LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3Jt
XGdyYXBoaWNzXHdpblxMb2NhbFdpbmRvd3NDb250ZXh0LmgiPgogICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlTWF0aERh
dGEuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgorICAg
IDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3Ncb3BlbnR5cGVcT3BlblR5cGVUeXBlcy5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3Jh
cGhpY3Ncd2luPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjI3ZjU5MC4uNDFiNGUx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNDU4Niw2ICs0NTg2LDggQEAKIAkJQjJDM0RBNjMwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnRDYWNoZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjJDM0RBNTIwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNoZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIyQzNEQTY0MEQwMDZDRDYwMEVG
NkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1MzBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERh
dGEuY3BwICovOyB9OwogCQlCMkMzREE2NTBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNE
QTU0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUIyRDNEQTY0MEQwMDZDRDYwMEVGNkYy
NyAvKiBPcGVuVHlwZU1hdGhEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyRDNEQTUzMEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhE
YXRhLmNwcCAqLzsgfTsKKwkJQjJEM0RBNjUwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0
aERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RDNEQTU0MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjJDM0RBNjYwRDAwNkNENjAw
RUY2RjI2IC8qIEZvbnREZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTUwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlw
dGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUIyQzNEQTY3MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250R2x5cGhzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTU2MEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250R2x5cGhzLmNwcCAqLzsgfTsKIAkJQjJDM0RBNjgwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnRHbHlwaHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyQzNEQTU3MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250R2x5cGhzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExODE4LDYgKzExODIwLDgg
QEAKIAkJQjJDM0RBNTIwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNoZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udENhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyQzNEQTUzMEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxlRm9udERhdGEuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREE1NDBEMDA2Q0Q2MDBFRjZGMjYg
LyogU2ltcGxlRm9udERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNp
bXBsZUZvbnREYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyRDNEQTUzMEQw
MDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBvcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJEM0RBNTQwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5U
eXBlTWF0aERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IG9wZW50eXBl
L09wZW5UeXBlTWF0aERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RB
NTUwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnREZXNjcmlwdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udERlc2NyaXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyQzNEQTU2MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250R2x5cGhzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250R2x5cGhzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTcwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRH
bHlwaHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRHbHlwaHMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMDg1LDYgKzIwMDg5LDggQEAKIAkJCQkw
RjNERDQ0RTEyRjVFQTFCMDAwRDkxOTAgLyogU2hhZG93Qmx1ci5oICovLAogCQkJCUIyQzNEQTUz
MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgKi8sCiAJCQkJQjJDM0RBNTQw
RDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggKi8sCisJCQkJQjJEM0RBNTMwRDAw
NkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3BwICovLAorCQkJCUIyRDNEQTU0MEQw
MDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmggKi8sCiAJCQkJQ0Q2NDFFQjIxODE4
RjVFRDAwRUU0QzQxIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLywKIAkJCQlDREM2MURBMDE4
MDg2N0Q4MDA0QjkxM0YgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovLAogCQkJCUNEQzhCNUFD
MTgwNEFFNUQwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50LmggKi8sCkBAIC0y
NTQxNiw2ICsyNTQyMiw3IEBACiAJCQkJRTFCNzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJl
ZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MUQxNjhFRTEwMjI2RTg5MDA5
QkM4MjcgLyogU2hhcmVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2
NTBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUIyRDNEQTY1MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNDg5NDRBMzE4MEI1N0Q4MDBGMTY1RDggLyogU2ltcGxlTGluZUxheW91dC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTRFOUIxMUQxODE0NTY5QzAwM0FDQ0RGIC8qIFNpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RTlCMTE5MTgxMDkxNkYw
MDNBQ0NERiAvKiBTaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
Mjg3NzEsNiArMjg3NzgsNyBAQAogCQkJCUUxQjc4NDIwMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRDE2OEVEMTAyMjZF
ODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjJDM0RBNjQwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUIyRDNEQTY0MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE2M0U4OEY3MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVG
b250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3RTY1OTUwMTYzQjEwQzIw
MEVCNDU3NCAvKiBTaW1wbGVGb250RGF0YUlPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUIyQUZG
QzdGMEQwMEE1QzEwMDMwMDc0RCAvKiBTaW1wbGVGb250RGF0YU1hYy5tbSBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5k
ZXggOGNkZmYxMi4uMjhhYTgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRm9udEdseXBo
cy5oIgogI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJGb250U2VsZWN0
b3IuaCIKKyNpbmNsdWRlICJPcGVuVHlwZU1hdGhEYXRhLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9u
dEZhbWlseU5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
TGlzdEhhc2hTZXQuaD4KQEAgLTI2Niw4ICsyNjcsNyBAQCBGb250UGxhdGZvcm1EYXRhKiBGb250
Q2FjaGU6OmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
bwogICAgIHJldHVybiBpdC0+dmFsdWUuZ2V0KCk7CiB9CiAKLSNpZiBFTkFCTEUoT1BFTlRZUEVf
VkVSVElDQUwpCi1zdHJ1Y3QgRm9udFZlcnRpY2FsRGF0YUNhY2hlS2V5SGFzaCB7CitzdHJ1Y3Qg
Rm9udEZpbGVDYWNoZUtleUhhc2ggewogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IEZv
bnRDYWNoZTo6Rm9udEZpbGVLZXkmIGZvbnRGaWxlS2V5KQogICAgIHsKICAgICAgICAgcmV0dXJu
IFB0ckhhc2g8Y29uc3QgRm9udENhY2hlOjpGb250RmlsZUtleSo+OjpoYXNoKCZmb250RmlsZUtl
eSk7CkBAIC0yODEsNyArMjgxLDcgQEAgc3RydWN0IEZvbnRWZXJ0aWNhbERhdGFDYWNoZUtleUhh
c2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
ID0gdHJ1ZTsKIH07CiAKLXN0cnVjdCBGb250VmVydGljYWxEYXRhQ2FjaGVLZXlUcmFpdHMgOiBX
VEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZvbnRDYWNoZTo6Rm9udEZpbGVLZXk+IHsKK3N0cnVjdCBG
b250RmlsZUNhY2hlS2V5VHJhaXRzIDogV1RGOjpHZW5lcmljSGFzaFRyYWl0czxGb250Q2FjaGU6
OkZvbnRGaWxlS2V5PiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9
IHRydWU7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0cnVjdGlvbiA9IHRydWU7CiAg
ICAgc3RhdGljIGNvbnN0IEZvbnRDYWNoZTo6Rm9udEZpbGVLZXkmIGVtcHR5VmFsdWUoKQpAQCAt
Mjk5LDkgKzI5OSwzMiBAQCBzdHJ1Y3QgRm9udFZlcnRpY2FsRGF0YUNhY2hlS2V5VHJhaXRzIDog
V1RGOjpHZW5lcmljSGFzaFRyYWl0czxGb250Q2FjaGU6OkZvbnRGaQogICAgIH0KIH07CiAKLXR5
cGVkZWYgSGFzaE1hcDxGb250Q2FjaGU6OkZvbnRGaWxlS2V5LCBSZWZQdHI8T3BlblR5cGVWZXJ0
aWNhbERhdGE+LCBGb250VmVydGljYWxEYXRhQ2FjaGVLZXlIYXNoLCBGb250VmVydGljYWxEYXRh
Q2FjaGVLZXlUcmFpdHM+IEZvbnRWZXJ0aWNhbERhdGFDYWNoZTsKK3R5cGVkZWYgSGFzaE1hcDxG
b250Q2FjaGU6OkZvbnRGaWxlS2V5LCBSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4sIEZvbnRGaWxl
Q2FjaGVLZXlIYXNoLCBGb250RmlsZUNhY2hlS2V5VHJhaXRzPiBGb250TWF0aERhdGFDYWNoZTsK
Kworc3RhdGljIEZvbnRNYXRoRGF0YUNhY2hlJiBmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udE1hdGhEYXRhQ2FjaGU+IGZvbnRNYXRo
RGF0YUNhY2hlOworICAgIHJldHVybiBmb250TWF0aERhdGFDYWNoZTsKK30KKworUGFzc1JlZlB0
cjxPcGVuVHlwZU1hdGhEYXRhPiBGb250Q2FjaGU6OmdldE1hdGhEYXRhKGNvbnN0IEZvbnRGaWxl
S2V5JiBrZXksIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnREYXRhKQoreworICAgIEZvbnRN
YXRoRGF0YUNhY2hlJiBmb250TWF0aERhdGFDYWNoZSA9IGZvbnRNYXRoRGF0YUNhY2hlSW5zdGFu
Y2UoKTsKKyAgICBGb250TWF0aERhdGFDYWNoZTo6aXRlcmF0b3IgcmVzdWx0ID0gZm9udE1hdGhE
YXRhQ2FjaGUuZmluZChrZXkpOworICAgIGlmIChyZXN1bHQgIT0gZm9udE1hdGhEYXRhQ2FjaGUu
ZW5kKCkpCisgICAgICAgIHJldHVybiByZXN1bHQuZ2V0KCktPnZhbHVlOworCisgICAgUmVmUHRy
PE9wZW5UeXBlTWF0aERhdGE+IG1hdGhEYXRhID0gT3BlblR5cGVNYXRoRGF0YTo6Y3JlYXRlKGZv
bnREYXRhKTsKKyAgICBpZiAoIW1hdGhEYXRhLT5oYXNNYXRoRGF0YSgpKQorICAgICAgICBtYXRo
RGF0YS5jbGVhcigpOworICAgIGZvbnRNYXRoRGF0YUNhY2hlLnNldChrZXksIG1hdGhEYXRhKTsK
KyAgICByZXR1cm4gbWF0aERhdGE7Cit9CisKKyNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwp
Cit0eXBlZGVmIEhhc2hNYXA8Rm9udENhY2hlOjpGb250RmlsZUtleSwgUmVmUHRyPE9wZW5UeXBl
VmVydGljYWxEYXRhPiwgRm9udEZpbGVDYWNoZUtleUhhc2gsIEZvbnRGaWxlQ2FjaGVLZXlUcmFp
dHM+IEZvbnRWZXJ0aWNhbERhdGFDYWNoZTsKIAotRm9udFZlcnRpY2FsRGF0YUNhY2hlJiBmb250
VmVydGljYWxEYXRhQ2FjaGVJbnN0YW5jZSgpCitzdGF0aWMgRm9udFZlcnRpY2FsRGF0YUNhY2hl
JiBmb250VmVydGljYWxEYXRhQ2FjaGVJbnN0YW5jZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEZvbnRWZXJ0aWNhbERhdGFDYWNoZT4gZm9udFZlcnRpY2FsRGF0YUNhY2hlOwogICAg
IHJldHVybiBmb250VmVydGljYWxEYXRhQ2FjaGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGMzZThlNzEuLmU5YmJmYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01NCw2ICs1NCw3IEBA
IGNsYXNzIEZvbnQ7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgRm9udERhdGE7CiBj
bGFzcyBGb250U2VsZWN0b3I7CitjbGFzcyBPcGVuVHlwZU1hdGhEYXRhOwogY2xhc3MgT3BlblR5
cGVWZXJ0aWNhbERhdGE7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIApAQCAtMTUxLDggKzE1Miw5
IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFNpbXBsZUZvbnREYXRhPiBmb250RGF0YUZyb21E
ZXNjcmlwdGlvbkFuZExvZ0ZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgU2hvdWxkUmV0YWlu
LCBjb25zdCBMT0dGT05UJiwgQXRvbWljU3RyaW5nJiBvdXRGb250RmFtaWx5TmFtZSk7CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICB0eXBlZGVmIEF0b21pY1N0
cmluZyBGb250RmlsZUtleTsKKyAgICBQYXNzUmVmUHRyPE9wZW5UeXBlTWF0aERhdGE+IGdldE1h
dGhEYXRhKGNvbnN0IEZvbnRGaWxlS2V5JiwgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOworI2lm
IEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICBQYXNzUmVmUHRyPE9wZW5UeXBlVmVydGlj
YWxEYXRhPiBnZXRWZXJ0aWNhbERhdGEoY29uc3QgRm9udEZpbGVLZXkmLCBjb25zdCBGb250UGxh
dGZvcm1EYXRhJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAppbmRleCA1MzA4ZWJkLi4zYzA1ZTQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZv
cm1EYXRhLmNwcApAQCAtMjcsNiArMjcsMTEgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBPUyhEQVJXSU4p
CisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNl
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKFdURjo6SGFzaFRhYmxlRGVsZXRl
ZFZhbHVlVHlwZSkKQEAgLTE2OSw0ICsxNzQsMTYgQEAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
Rm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGUK
ICAgICByZXR1cm4gcGxhdGZvcm1EYXRhQXNzaWduKG90aGVyKTsKIH0KIAorI2lmIE9TKERBUldJ
TikKK1Bhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRh
YmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAoreworICAgIENHRm9udFJlZiBmb250ID0gY2dGb250
KCk7CisgICAgQ0ZEYXRhUmVmIGRhdGEgPSBDR0ZvbnRDb3B5VGFibGVGb3JUYWcoZm9udCwgdGFi
bGUpOworICAgIGlmICghZGF0YSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1
cm4gU2hhcmVkQnVmZmVyOjp3cmFwQ0ZEYXRhKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApp
bmRleCBiZmE1NzA5Li4xODU3NmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yMTYsNyArMjE2LDcgQEAgcHVibGlj
OgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0Uo
Q0FJUk8pKQorI2lmIE9TKERBUldJTikgfHwgKFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwg
VVNFKENBSVJPKSkpCiAgICAgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IG9wZW5UeXBlVGFibGUo
dWludDMyX3QgdGFibGUpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAppbmRleCA0NWU1YjZjLi5mYTkz
YTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJGb250LmgiCiAjaW5j
bHVkZSAiRm9udENhY2hlLmgiCisjaW5jbHVkZSAiT3BlblR5cGVNYXRoRGF0YS5oIgogI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwpCkBA
IC01Miw2ICs1Myw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJvb2wgaXNDdXN0CiAgICAgLCBtX2lzTG9hZGlu
Zyhpc0xvYWRpbmcpCiAgICAgLCBtX2lzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soaXNUZXh0T3Jp
ZW50YXRpb25GYWxsYmFjaykKICAgICAsIG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayhmYWxz
ZSkKKyAgICAsIG1fbWF0aERhdGEobnVsbHB0cikKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElD
QUwpCiAgICAgLCBtX3ZlcnRpY2FsRGF0YSgwKQogI2VuZGlmCkBAIC02MCw2ICs2Miw3IEBAIFNp
bXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0
Zm9ybURhdGEsIGJvb2wgaXNDdXN0CiAgICAgcGxhdGZvcm1Jbml0KCk7CiAgICAgcGxhdGZvcm1H
bHlwaEluaXQoKTsKICAgICBwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKTsKKyAgICBtX21hdGhEYXRh
ID0gZm9udENhY2hlKCktPmdldE1hdGhEYXRhKFN0cmluZzo6bnVtYmVyKHBsYXRmb3JtRGF0YS5o
YXNoKCkpLCBwbGF0Zm9ybURhdGEpOwogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAg
ICBpZiAocGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgJiYgIWlzVGV4dE9y
aWVudGF0aW9uRmFsbGJhY2spIHsKICAgICAgICAgbV92ZXJ0aWNhbERhdGEgPSBwbGF0Zm9ybURh
dGEudmVydGljYWxEYXRhKCk7CkBAIC03Niw2ICs3OSw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1w
bGVGb250RGF0YShzdGQ6OnVuaXF1ZV9wdHI8QWRkaXRpb25hbEZvbnREYXRhPiBmb250RGF0YSwg
ZmxvCiAgICAgLCBtX2lzTG9hZGluZyhmYWxzZSkKICAgICAsIG1faXNUZXh0T3JpZW50YXRpb25G
YWxsYmFjayhmYWxzZSkKICAgICAsIG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayhmYWxzZSkK
KyAgICAsIG1fbWF0aERhdGEobnVsbHB0cikKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwp
CiAgICAgLCBtX3ZlcnRpY2FsRGF0YSgwKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAppbmRleCA1ZGE1Yzk4Li5kOGNjMjA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1
ZGUgIkdseXBoTWV0cmljc01hcC5oIgogI2luY2x1ZGUgIkdseXBoUGFnZVRyZWVOb2RlLmgiCisj
aW5jbHVkZSAiT3BlblR5cGVNYXRoRGF0YS5oIgogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNB
TCkKICNpbmNsdWRlICJPcGVuVHlwZVZlcnRpY2FsRGF0YS5oIgogI2VuZGlmCkBAIC05Miw2ICs5
Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgU2ltcGxlRm9udERhdGEqIHN5c3RlbUZh
bGxiYWNrKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBTaW1wbGVGb250RGF0YSo+
KC0xKTsgfQogCiAgICAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhKCkgY29u
c3QgeyByZXR1cm4gbV9wbGF0Zm9ybURhdGE7IH0KKyAgICBjb25zdCBPcGVuVHlwZU1hdGhEYXRh
KiBtYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0aERhdGEuZ2V0KCk7IH0KICNpZiBFTkFC
TEUoT1BFTlRZUEVfVkVSVElDQUwpCiAgICAgY29uc3QgT3BlblR5cGVWZXJ0aWNhbERhdGEqIHZl
cnRpY2FsRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fdmVydGljYWxEYXRhLmdldCgpOyB9CiAjZW5k
aWYKQEAgLTI1OSw2ICsyNjEsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2lzVGV4dE9yaWVu
dGF0aW9uRmFsbGJhY2s7CiAgICAgYm9vbCBtX2lzQnJva2VuSWRlb2dyYXBoRmFsbGJhY2s7Cisg
ICAgUmVmUHRyPE9wZW5UeXBlTWF0aERhdGE+IG1fbWF0aERhdGE7CiAjaWYgRU5BQkxFKE9QRU5U
WVBFX1ZFUlRJQ0FMKQogICAgIFJlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4gbV92ZXJ0aWNh
bERhdGE7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMTgwOTczNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwCkBA
IC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZGVyaWMgV2FuZyAo
ZnJlZC53YW5nQGZyZWUuZnIpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9wZW5UeXBlTWF0aERhdGEuaCIK
KworI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGEuaCIKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPcGVuVHlwZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhE
YXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKQoreworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
cmVhZCB0aGUgZGF0YSBmcm9tIHRoZSBNQVRIIHRhYmxlIChodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMzI0KS4KKyAgICBtX21hdGhCdWZmZXIgPSBudWxscHRyOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiZGNjMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERh
dGEuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEZyZWRlcmlj
IFdhbmcgKGZyZWQud2FuZ0BmcmVlLmZyKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgT3BlblR5cGVNYXRoRGF0YV9oCisjZGVmaW5lIE9wZW5UeXBl
TWF0aERhdGFfaAorCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CisKK2NsYXNzIE9wZW5UeXBlTWF0aERh
dGEgOiBwdWJsaWMgUmVmQ291bnRlZDxPcGVuVHlwZU1hdGhEYXRhPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gY3JlYXRlKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmIGZvbnREYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBP
cGVuVHlwZU1hdGhEYXRhKGZvbnREYXRhKSk7CisgICAgfQorCisgICAgYm9vbCBoYXNNYXRoRGF0
YSgpIGNvbnN0IHsgcmV0dXJuICEhbV9tYXRoQnVmZmVyOyB9CisKK3ByaXZhdGU6CisgICAgZXhw
bGljaXQgT3BlblR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisgICAgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gbV9tYXRoQnVmZmVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gT3BlblR5cGVNYXRoRGF0YV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227629</attachid>
            <date>2014-03-24 02:07:20 -0700</date>
            <delta_ts>2014-03-25 03:06:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>expose-MATH.patch</filename>
            <type>text/plain</type>
            <size>23382</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZDA0YzYyMC4uYTgxZGZmYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NDYsNiArMTk0Niw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI5MDBjYmUuLjgxMzM3
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNC0wMy0yNCAgRnLDqWTDqXJpYyBX
YW5nICA8ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgT3BlcmF0b3Igc3RyZXRjaGluZzog
ZXhwb3NlIGEgbWF0aCBkYXRhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2UgZXhwb3NlIGEgbmV3IFNpbXBsZUZvbnREYXRhIEFQSSB0byBnaXZl
IGFjY2VzcyB0byB0aGUgZGF0YSBmcm9tIHRoZQorICAgICAgICBPcGVuVHlwZSBNQVRIIHRhYmxl
IHVzaW5nIGEgZm9udCBjYWNoZS4gVGhlIGNsYXNzIE9wZW5UeXBlTWF0aERhdGEgd2lsbAorICAg
ICAgICBiZSBpbXBsZW1lbnRlZCBpbiBidWcgMTMwMzI0LiBPbiBEYXJ3aW4gcGxhdGZvcm0sIHdl
IGFsc28gaW1wbGVtZW50IHRoZQorICAgICAgICBtaXNzaW5nIEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBuZWNlc3NhcnkKKyAgICAgICAgdG8g
bG9hZCB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZS4gVGhlIGNoYW5nZXMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQKKyAgICAgICAgZm9yIE1hdGhNTCBvcGVyYXRvciBzdHJldGNoaW5nIChidWcgMTMw
MzIyKSBzbyB0ZXN0cyBhcmUgbm90IGFkZGVkIHlldC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBhZGQgbmV3IE9wZW5UeXBlTWF0aERhdGEgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbTogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOiBkaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6IFdl
IGFkZCBhIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGEgY2Fj
aGUgZm9yIHRoZSBtYXRoIGRhdGEuCisgICAgICAgIFdlIG1ha2UgdGhlIG1hdGggYW5kIHZlcnRp
Y2FsIGRhdGEgc2hhcmUgdGhlIHNhbWUga2V5IGZvciB0aGUgY2FjaGUuCisgICAgICAgIChXZWJD
b3JlOjpmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFZlcnRpY2FsRGF0YUNh
Y2hlSW5zdGFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oOiBX
ZSBkZWNsYXJlIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgYW5kIEZvbnRGaWxlS2V5IG9uIGFsbCBw
bGF0Zm9ybXMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKTog
V2UgaW1wbGVtZW50IG9wZW5UeXBlVGFibGUoKSBvbiBEYXJ3aW4gcGxhdGZvcm0uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOiBXZSBleHBvc2Ugb3BlblR5
cGVUYWJsZSgpIG9uIERhcndpbiBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHA6IFdlIGluaXRpYWxpemUgbV9tYXRoRGF0YSBmcm9tIHRoZSBm
b250IGNhY2hlLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnRE
YXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBXZSBl
eHBvc2UgYSBtYXRoRGF0YSgpIGZ1bmN0aW9uIHRvIGFjY2VzcyB0aGUgTUFUSCBkYXRhLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOiBB
ZGRlZC4gVGhpcyBpcyBhIG5ldyBjbGFzcyB0aGF0IHdpbGwgYmUgdXNlZCB0byBwYXJzZSB0aGUg
ZGF0YSBmcm9tIHRoZSBPcGVuVHlwZSBNQVRIIHRhYmxlLgorICAgICAgICAoV2ViQ29yZTo6T3Bl
blR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok9wZW5UeXBlTWF0aERhdGE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpPcGVuVHlw
ZU1hdGhEYXRhOjpoYXNNYXRoRGF0YSk6CisKIDIwMTQtMDMtMjMgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBDb252ZXJ0IFdlYkhUTUxDb252ZXJ0ZXIgdG8gQysrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA5Mzk3NzgyLi41MjE0MWM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUzNTksNiArNTM1OSw4IEBAIHdlYmNvcmVfcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGVtcG9yYXJ5T3BlbkdMU2V0
dGluZy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVu
VHlwZU1hdGhEYXRhLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMWI0YzgwMC4uYjk2ZWUz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CkBAIC03OTQ1LDYgKzc5NDUsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3Ncd2luXEludFJlY3RXaW4uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEludFNpemVXaW4uY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0
ZUZ1bGxzY3JlZW5XaW5kb3cuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3BlblR5cGVNYXRoRGF0YS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVV0
aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFw
aGljc1xvcGVudHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cU2ltcGxlRm9udERhdGFDYWlyb1dp
bi5jcHAiPgpAQCAtMTkzMDUsNiArMTkzMDYsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEZ1bGxTY3JlZW5Db250cm9sbGVyQ2xpZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxX
aW5kb3dzQ29udGV4dC5oIiAvPgogICAgIDxDdXN0b21CdWlsZFN0ZXAgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
XE9wZW5UeXBlTWF0aERhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVu
dHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDlkMjA0YTAu
LjRhNTZjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE0NzYsNiArMTQ3Niw5IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRl
RnVsbHNjcmVlbldpbmRvdy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlTWF0aERhdGEuY3BwIj4KKyAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxP
cGVuVHlwZVV0aWxpdGllcy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTg0MjUsNiArODQyOCw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxXaW5kb3dz
Q29udGV4dC5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZU1hdGhEYXRhLmgiPgorICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMu
aCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI2YTZjYjcuLjBiMTQxZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1OTMsNiArNDU5Myw4IEBA
CiAJCUIyQzNEQTYzMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FjaGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTUyMEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCMkMzREE2NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTMw
RDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNwcCAqLzsgfTsKIAkJQjJDM0RBNjUw
RDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2lt
cGxlRm9udERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlCMkQzREE2NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkQzREE1MzBE
MDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5jcHAgKi87IH07CisJCUIyRDNEQTY1
MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkQzREE1NDBEMDA2Q0Q2MDBFRjZGMjcgLyog
T3BlblR5cGVNYXRoRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUIyQzNEQTY2MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTU1
MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCMkMzREE2NzBEMDA2Q0Q2MDBFRjZGMjYg
LyogRm9udEdseXBocy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMkMzREE1NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5jcHAgKi87IH07
CiAJCUIyQzNEQTY4MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250R2x5cGhzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1NzBEMDA2Q0Q2MDBFRjZG
MjYgLyogRm9udEdseXBocy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xMTgzNSw2ICsxMTgzNyw4IEBACiAJCUIyQzNEQTUyMEQwMDZDRDYwMEVG
NkYyNiAvKiBGb250Q2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZv
bnRDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREE1MzBEMDA2Q0Q2
MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjJDM0RBNTQwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW1wbGVGb250RGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMkQzREE1MzBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVN
YXRoRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gb3BlbnR5
cGUvT3BlblR5cGVNYXRoRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIy
RDNEQTU0MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBvcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQzNEQTU1MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250
RGVzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnREZXNj
cmlwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREE1NjBEMDA2Q0Q2
MDBFRjZGMjYgLyogRm9udEdseXBocy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRm9udEdseXBocy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
QzNEQTU3MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250R2x5cGhzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGb250R2x5cGhzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yMDExNSw2ICsyMDExOSw4IEBACiAJCQkJMEYzREQ0NEUxMkY1RUExQjAwMEQ5MTkwIC8q
IFNoYWRvd0JsdXIuaCAqLywKIAkJCQlCMkMzREE1MzBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxl
Rm9udERhdGEuY3BwICovLAogCQkJCUIyQzNEQTU0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVG
b250RGF0YS5oICovLAorCQkJCUIyRDNEQTUzMEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1h
dGhEYXRhLmNwcCAqLywKKwkJCQlCMkQzREE1NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVN
YXRoRGF0YS5oICovLAogCQkJCUNENjQxRUIyMTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlLmggKi8sCiAJCQkJQ0RDNjFEQTAxODA4NjdEODAwNEI5MTNGIC8qIFNvdXJjZUJ1
ZmZlclByaXZhdGUuaCAqLywKIAkJCQlDREM4QjVBQzE4MDRBRTVEMDAxNkU2ODUgLyogU291cmNl
QnVmZmVyUHJpdmF0ZUNsaWVudC5oICovLApAQCAtMjU0NTAsNiArMjU0NTYsNyBAQAogCQkJCUUx
Qjc4MzlDMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDFEMTY4RUUxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlclRocmVh
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjUwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBs
ZUZvbnREYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMkQzREE2NTBEMDA2Q0Q2MDBFRjZGMjcg
LyogT3BlblR5cGVNYXRoRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ4OTQ0QTMxODBCNTdE
ODAwRjE2NUQ4IC8qIFNpbXBsZUxpbmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RTlC
MTFEMTgxNDU2OUMwMDNBQ0NERiAvKiBTaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFNEU5QjExOTE4MTA5MTZGMDAzQUNDREYgLyogU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI4ODA5LDYgKzI4ODE2LDcgQEAKIAkJCQlF
MUI3ODQyMDE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0MUQxNjhFRDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTY0MEQwMDZDRDYwMEVGNkYyNiAv
KiBTaW1wbGVGb250RGF0YS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMkQzREE2NDBEMDA2Q0Q2
MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNjNF
ODhGNzExOEEzOUQyMDBFRDkyMzEgLyogU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzN0U2NTk1MDE2M0IxMEMyMDBFQjQ1NzQgLyogU2ltcGxlRm9udERhdGFJ
T1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlCMkFGRkM3RjBEMDBBNUMxMDAzMDA3NEQgLyogU2lt
cGxlRm9udERhdGFNYWMubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDhjZGZmMTIuLjI4YWE4MzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtMzQs
NiArMzQsNyBAQAogI2luY2x1ZGUgIkZvbnRHbHlwaHMuaCIKICNpbmNsdWRlICJGb250UGxhdGZv
cm1EYXRhLmgiCiAjaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiT3BlblR5cGVN
YXRoRGF0YS5oIgogI2luY2x1ZGUgIldlYktpdEZvbnRGYW1pbHlOYW1lcy5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CkBAIC0yNjYsOCAr
MjY3LDcgQEAgRm9udFBsYXRmb3JtRGF0YSogRm9udENhY2hlOjpnZXRDYWNoZWRGb250UGxhdGZv
cm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm8KICAgICByZXR1cm4gaXQtPnZhbHVlLmdl
dCgpOwogfQogCi0jaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQotc3RydWN0IEZvbnRWZXJ0
aWNhbERhdGFDYWNoZUtleUhhc2ggeworc3RydWN0IEZvbnRGaWxlQ2FjaGVLZXlIYXNoIHsKICAg
ICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBGb250Q2FjaGU6OkZvbnRGaWxlS2V5JiBmb250
RmlsZUtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBQdHJIYXNoPGNvbnN0IEZvbnRDYWNoZTo6
Rm9udEZpbGVLZXkqPjo6aGFzaCgmZm9udEZpbGVLZXkpOwpAQCAtMjgxLDcgKzI4MSw3IEBAIHN0
cnVjdCBGb250VmVydGljYWxEYXRhQ2FjaGVLZXlIYXNoIHsKICAgICBzdGF0aWMgY29uc3QgYm9v
bCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9OwogCi1zdHJ1Y3QgRm9u
dFZlcnRpY2FsRGF0YUNhY2hlS2V5VHJhaXRzIDogV1RGOjpHZW5lcmljSGFzaFRyYWl0czxGb250
Q2FjaGU6OkZvbnRGaWxlS2V5PiB7CitzdHJ1Y3QgRm9udEZpbGVDYWNoZUtleVRyYWl0cyA6IFdU
Rjo6R2VuZXJpY0hhc2hUcmFpdHM8Rm9udENhY2hlOjpGb250RmlsZUtleT4gewogICAgIHN0YXRp
YyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSB0cnVlOwogICAgIHN0YXRpYyBjb25zdCBi
b29sIG5lZWRzRGVzdHJ1Y3Rpb24gPSB0cnVlOwogICAgIHN0YXRpYyBjb25zdCBGb250Q2FjaGU6
OkZvbnRGaWxlS2V5JiBlbXB0eVZhbHVlKCkKQEAgLTI5OSw5ICsyOTksMzIgQEAgc3RydWN0IEZv
bnRWZXJ0aWNhbERhdGFDYWNoZUtleVRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8Rm9u
dENhY2hlOjpGb250RmkKICAgICB9CiB9OwogCi10eXBlZGVmIEhhc2hNYXA8Rm9udENhY2hlOjpG
b250RmlsZUtleSwgUmVmUHRyPE9wZW5UeXBlVmVydGljYWxEYXRhPiwgRm9udFZlcnRpY2FsRGF0
YUNhY2hlS2V5SGFzaCwgRm9udFZlcnRpY2FsRGF0YUNhY2hlS2V5VHJhaXRzPiBGb250VmVydGlj
YWxEYXRhQ2FjaGU7Cit0eXBlZGVmIEhhc2hNYXA8Rm9udENhY2hlOjpGb250RmlsZUtleSwgUmVm
UHRyPE9wZW5UeXBlTWF0aERhdGE+LCBGb250RmlsZUNhY2hlS2V5SGFzaCwgRm9udEZpbGVDYWNo
ZUtleVRyYWl0cz4gRm9udE1hdGhEYXRhQ2FjaGU7CisKK3N0YXRpYyBGb250TWF0aERhdGFDYWNo
ZSYgZm9udE1hdGhEYXRhQ2FjaGVJbnN0YW5jZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEZvbnRNYXRoRGF0YUNhY2hlPiBmb250TWF0aERhdGFDYWNoZTsKKyAgICByZXR1cm4gZm9u
dE1hdGhEYXRhQ2FjaGU7Cit9CisKK1Bhc3NSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gRm9udENh
Y2hlOjpnZXRNYXRoRGF0YShjb25zdCBGb250RmlsZUtleSYga2V5LCBjb25zdCBGb250UGxhdGZv
cm1EYXRhJiBmb250RGF0YSkKK3sKKyAgICBGb250TWF0aERhdGFDYWNoZSYgZm9udE1hdGhEYXRh
Q2FjaGUgPSBmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKCk7CisgICAgRm9udE1hdGhEYXRhQ2Fj
aGU6Oml0ZXJhdG9yIHJlc3VsdCA9IGZvbnRNYXRoRGF0YUNhY2hlLmZpbmQoa2V5KTsKKyAgICBp
ZiAocmVzdWx0ICE9IGZvbnRNYXRoRGF0YUNhY2hlLmVuZCgpKQorICAgICAgICByZXR1cm4gcmVz
dWx0LmdldCgpLT52YWx1ZTsKKworICAgIFJlZlB0cjxPcGVuVHlwZU1hdGhEYXRhPiBtYXRoRGF0
YSA9IE9wZW5UeXBlTWF0aERhdGE6OmNyZWF0ZShmb250RGF0YSk7CisgICAgaWYgKCFtYXRoRGF0
YS0+aGFzTWF0aERhdGEoKSkKKyAgICAgICAgbWF0aERhdGEuY2xlYXIoKTsKKyAgICBmb250TWF0
aERhdGFDYWNoZS5zZXQoa2V5LCBtYXRoRGF0YSk7CisgICAgcmV0dXJuIG1hdGhEYXRhOworfQor
CisjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQordHlwZWRlZiBIYXNoTWFwPEZvbnRDYWNo
ZTo6Rm9udEZpbGVLZXksIFJlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4sIEZvbnRGaWxlQ2Fj
aGVLZXlIYXNoLCBGb250RmlsZUNhY2hlS2V5VHJhaXRzPiBGb250VmVydGljYWxEYXRhQ2FjaGU7
CiAKLUZvbnRWZXJ0aWNhbERhdGFDYWNoZSYgZm9udFZlcnRpY2FsRGF0YUNhY2hlSW5zdGFuY2Uo
KQorc3RhdGljIEZvbnRWZXJ0aWNhbERhdGFDYWNoZSYgZm9udFZlcnRpY2FsRGF0YUNhY2hlSW5z
dGFuY2UoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGb250VmVydGljYWxEYXRhQ2Fj
aGU+IGZvbnRWZXJ0aWNhbERhdGFDYWNoZTsKICAgICByZXR1cm4gZm9udFZlcnRpY2FsRGF0YUNh
Y2hlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRl
eCBjM2U4ZTcxLi5lOWJiZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaApAQCAtNTQsNiArNTQsNyBAQCBjbGFzcyBGb250OwogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIEZvbnREYXRhOwogY2xhc3MgRm9udFNlbGVjdG9yOworY2xhc3Mg
T3BlblR5cGVNYXRoRGF0YTsKIGNsYXNzIE9wZW5UeXBlVmVydGljYWxEYXRhOwogY2xhc3MgU2lt
cGxlRm9udERhdGE7CiAKQEAgLTE1MSw4ICsxNTIsOSBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0
cjxTaW1wbGVGb250RGF0YT4gZm9udERhdGFGcm9tRGVzY3JpcHRpb25BbmRMb2dGb250KGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYsIFNob3VsZFJldGFpbiwgY29uc3QgTE9HRk9OVCYsIEF0b21pY1N0
cmluZyYgb3V0Rm9udEZhbWlseU5hbWUpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoT1BFTlRZUEVf
VkVSVElDQUwpCiAgICAgdHlwZWRlZiBBdG9taWNTdHJpbmcgRm9udEZpbGVLZXk7CisgICAgUGFz
c1JlZlB0cjxPcGVuVHlwZU1hdGhEYXRhPiBnZXRNYXRoRGF0YShjb25zdCBGb250RmlsZUtleSYs
IGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKKyNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwp
CiAgICAgUGFzc1JlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4gZ2V0VmVydGljYWxEYXRhKGNv
bnN0IEZvbnRGaWxlS2V5JiwgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHAKaW5kZXggNTMwOGViZC4uODc1ZTc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTI3LDYgKzI3LDEx
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCisjaWYgT1MoREFSV0lOKQorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5o
IgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnQuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNo
VGFibGVEZWxldGVkVmFsdWVUeXBlKQpAQCAtMTY5LDQgKzE3NCwxNCBAQCBjb25zdCBGb250UGxh
dGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29uc3QgRm9udFBsYXRmb3Jt
RGF0YSYgb3RoZQogICAgIHJldHVybiBwbGF0Zm9ybURhdGFBc3NpZ24ob3RoZXIpOwogfQogCisj
aWYgT1MoREFSV0lOKQorUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6
Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0Cit7CisgICAgaWYgKENGRGF0YVJl
ZiBkYXRhID0gQ0dGb250Q29weVRhYmxlRm9yVGFnKGNnRm9udCgpLCB0YWJsZSkpCisgICAgICAg
IHJldHVybiBTaGFyZWRCdWZmZXI6OndyYXBDRkRhdGEoZGF0YSk7CisgICAgCisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisjZW5kaWYKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGJmYTU3MDkuLjE4NTc2ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmgKQEAgLTIxNiw3ICsyMTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKLSNpZiBQ
TEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpCisjaWYgT1MoREFSV0lOKSB8
fCAoUExBVEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICAgICBQYXNzUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2lt
cGxlRm9udERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwCmluZGV4IDQ1ZTViNmMuLmZhOTNhMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKQEAgLTMyLDYgKzMy
LDcgQEAKIAogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKKyNpbmNs
dWRlICJPcGVuVHlwZU1hdGhEYXRhLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAog
I2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKQEAgLTUyLDYgKzUzLDcgQEAgU2ltcGxlRm9u
dERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0
YSwgYm9vbCBpc0N1c3QKICAgICAsIG1faXNMb2FkaW5nKGlzTG9hZGluZykKICAgICAsIG1faXNU
ZXh0T3JpZW50YXRpb25GYWxsYmFjayhpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKQogICAgICwg
bV9pc0Jyb2tlbklkZW9ncmFwaEZhbGxiYWNrKGZhbHNlKQorICAgICwgbV9tYXRoRGF0YShudWxs
cHRyKQogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICAsIG1fdmVydGljYWxEYXRh
KDApCiAjZW5kaWYKQEAgLTYwLDYgKzYyLDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnRE
YXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3QKICAg
ICBwbGF0Zm9ybUluaXQoKTsKICAgICBwbGF0Zm9ybUdseXBoSW5pdCgpOwogICAgIHBsYXRmb3Jt
Q2hhcldpZHRoSW5pdCgpOworICAgIG1fbWF0aERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0TWF0aERh
dGEoU3RyaW5nOjpudW1iZXIocGxhdGZvcm1EYXRhLmhhc2goKSksIHBsYXRmb3JtRGF0YSk7CiAj
aWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgIGlmIChwbGF0Zm9ybURhdGEub3JpZW50
YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiAhaXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaykgewogICAg
ICAgICBtX3ZlcnRpY2FsRGF0YSA9IHBsYXRmb3JtRGF0YS52ZXJ0aWNhbERhdGEoKTsKQEAgLTc2
LDYgKzc5LDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKHN0ZDo6dW5pcXVlX3B0
cjxBZGRpdGlvbmFsRm9udERhdGE+IGZvbnREYXRhLCBmbG8KICAgICAsIG1faXNMb2FkaW5nKGZh
bHNlKQogICAgICwgbV9pc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKGZhbHNlKQogICAgICwgbV9p
c0Jyb2tlbklkZW9ncmFwaEZhbGxiYWNrKGZhbHNlKQorICAgICwgbV9tYXRoRGF0YShudWxscHRy
KQogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICAsIG1fdmVydGljYWxEYXRhKDAp
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCmluZGV4IDVkYTVjOTguLmQ4Y2MyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNzTWFwLmgiCiAj
aW5jbHVkZSAiR2x5cGhQYWdlVHJlZU5vZGUuaCIKKyNpbmNsdWRlICJPcGVuVHlwZU1hdGhEYXRh
LmgiCiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogI2luY2x1ZGUgIk9wZW5UeXBlVmVy
dGljYWxEYXRhLmgiCiAjZW5kaWYKQEAgLTkyLDYgKzkzLDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBTaW1wbGVGb250RGF0YSogc3lzdGVtRmFsbGJhY2soKSB7IHJldHVybiByZWludGVy
cHJldF9jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oLTEpOyB9CiAKICAgICBjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtRGF0
YTsgfQorICAgIGNvbnN0IE9wZW5UeXBlTWF0aERhdGEqIG1hdGhEYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9tYXRoRGF0YS5nZXQoKTsgfQogI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAg
ICBjb25zdCBPcGVuVHlwZVZlcnRpY2FsRGF0YSogdmVydGljYWxEYXRhKCkgY29uc3QgeyByZXR1
cm4gbV92ZXJ0aWNhbERhdGEuZ2V0KCk7IH0KICNlbmRpZgpAQCAtMjU5LDYgKzI2MSw3IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1faXNUZXh0T3JpZW50YXRpb25GYWxsYmFjazsKICAgICBib29s
IG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjazsKKyAgICBSZWZQdHI8T3BlblR5cGVNYXRoRGF0
YT4gbV9tYXRoRGF0YTsKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwpCiAgICAgUmVmUHRy
PE9wZW5UeXBlVmVydGljYWxEYXRhPiBtX3ZlcnRpY2FsRGF0YTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRo
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVu
VHlwZU1hdGhEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODA5
NzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBGcmVkZXJpYyBXYW5nIChmcmVkLndhbmdAZnJlZS5mcikuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiT3BlblR5cGVNYXRoRGF0YS5oIgorCisjaW5jbHVkZSAiRm9udFBsYXRmb3Jt
RGF0YS5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K09wZW5UeXBlTWF0aERhdGE6Ok9wZW5UeXBlTWF0aERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0
YSYpCit7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWFkIHRoZSBkYXRhIGZyb20gdGhlIE1B
VEggdGFibGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAzMjQp
LgorICAgIG1fbWF0aEJ1ZmZlciA9IG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBl
L09wZW5UeXBlTWF0aERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi44MmJkY2MyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZGVyaWMgV2FuZyAoZnJlZC53YW5nQGZyZWUuZnIp
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPcGVu
VHlwZU1hdGhEYXRhX2gKKyNkZWZpbmUgT3BlblR5cGVNYXRoRGF0YV9oCisKKyNpbmNsdWRlICJT
aGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRm9udFBsYXRm
b3JtRGF0YTsKKworY2xhc3MgT3BlblR5cGVNYXRoRGF0YSA6IHB1YmxpYyBSZWZDb3VudGVkPE9w
ZW5UeXBlTWF0aERhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxPcGVuVHlw
ZU1hdGhEYXRhPiBjcmVhdGUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgZm9udERhdGEpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE9wZW5UeXBlTWF0aERhdGEoZm9udERhdGEp
KTsKKyAgICB9CisKKyAgICBib29sIGhhc01hdGhEYXRhKCkgY29uc3QgeyByZXR1cm4gISFtX21h
dGhCdWZmZXI7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBPcGVuVHlwZU1hdGhEYXRhKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX21hdGhC
dWZmZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBPcGVuVHlw
ZU1hdGhEYXRhX2gK
</data>
<flag name="review"
          id="251872"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227733</attachid>
            <date>2014-03-25 03:06:32 -0700</date>
            <delta_ts>2014-03-27 00:31:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>expose-MATH.patch</filename>
            <type>text/plain</type>
            <size>23683</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTNlMTBkYy4uZDhkNTAwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NDcsNiArMTk0Nyw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4MWE2YTcuLjc2ZmJj
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNC0wMy0yNSAgRnLDqWTDqXJpYyBX
YW5nICA8ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgT3BlcmF0b3Igc3RyZXRjaGluZzog
ZXhwb3NlIGEgbWF0aCBkYXRhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXph
Y2guCisKKyAgICAgICAgV2UgZXhwb3NlIGEgbmV3IFNpbXBsZUZvbnREYXRhIEFQSSB0byBnaXZl
IGFjY2VzcyB0byB0aGUgZGF0YSBmcm9tIHRoZQorICAgICAgICBPcGVuVHlwZSBNQVRIIHRhYmxl
IHVzaW5nIGEgZm9udCBjYWNoZS4gVGhlIGNsYXNzIE9wZW5UeXBlTWF0aERhdGEgd2lsbAorICAg
ICAgICBiZSBpbXBsZW1lbnRlZCBpbiBidWcgMTMwMzI0LiBPbiBEYXJ3aW4gcGxhdGZvcm0sIHdl
IGFsc28gaW1wbGVtZW50IHRoZQorICAgICAgICBtaXNzaW5nIEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBuZWNlc3NhcnkKKyAgICAgICAgdG8g
bG9hZCB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZS4gVGhlIGNoYW5nZXMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQKKyAgICAgICAgZm9yIE1hdGhNTCBvcGVyYXRvciBzdHJldGNoaW5nIChidWcgMTMw
MzIyKSBzbyB0ZXN0cyBhcmUgbm90IGFkZGVkIHlldC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBhZGQgbmV3IE9wZW5UeXBlTWF0aERhdGEgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbTogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOiBkaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6IFdl
IGFkZCBhIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGEgY2Fj
aGUgZm9yIHRoZSBtYXRoIGRhdGEuCisgICAgICAgIFdlIG1ha2UgdGhlIG1hdGggYW5kIHZlcnRp
Y2FsIGRhdGEgc2hhcmUgdGhlIHNhbWUga2V5IGZvciB0aGUgY2FjaGUuCisgICAgICAgIChXZWJD
b3JlOjpmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFZlcnRpY2FsRGF0YUNh
Y2hlSW5zdGFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oOiBX
ZSBkZWNsYXJlIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgYW5kIEZvbnRGaWxlS2V5IG9uIGFsbCBw
bGF0Zm9ybXMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKTog
V2UgaW1wbGVtZW50IG9wZW5UeXBlVGFibGUoKSBvbiBEYXJ3aW4gcGxhdGZvcm0uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOiBXZSBleHBvc2Ugb3BlblR5
cGVUYWJsZSgpIG9uIERhcndpbiBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHA6IFdlIGluaXRpYWxpemUgbV9tYXRoRGF0YSBmcm9tIHRoZSBm
b250IGNhY2hlLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnRE
YXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBXZSBl
eHBvc2UgYSBtYXRoRGF0YSgpIGZ1bmN0aW9uIHRvIGFjY2VzcyB0aGUgTUFUSCBkYXRhLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOiBB
ZGRlZC4gVGhpcyBpcyBhIG5ldyBjbGFzcyB0aGF0IHdpbGwgYmUgdXNlZCB0byBwYXJzZSB0aGUg
ZGF0YSBmcm9tIHRoZSBPcGVuVHlwZSBNQVRIIHRhYmxlLgorICAgICAgICAoV2ViQ29yZTo6T3Bl
blR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok9wZW5UeXBlTWF0aERhdGE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpPcGVuVHlw
ZU1hdGhEYXRhOjpoYXNNYXRoRGF0YSk6CisKIDIwMTQtMDMtMjUgIFhhYmllciBSb2RyaWd1ZXog
Q2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBWb2x1bWUgc2xp
ZGVyIHNob3dzIGJlbG93IHRoZSBwYW5lbCB3aXRoIHZpZGVvcyBpbiBjZXJ0YWluIGNhc2VzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBiNzEyNmJkLi40MjAzNGY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUzNjEsNiArNTM2MSw4IEBAIHdlYmNvcmVfcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGVtcG9yYXJ5T3BlbkdMU2V0
dGluZy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVu
VHlwZU1hdGhEYXRhLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZDAxYmQwOS4uMTQxNDc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CkBAIC03OTQ3LDYgKzc5NDcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3Ncd2luXEludFJlY3RXaW4uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEludFNpemVXaW4uY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0
ZUZ1bGxzY3JlZW5XaW5kb3cuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3BlblR5cGVNYXRoRGF0YS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVV0
aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFw
aGljc1xvcGVudHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cU2ltcGxlRm9udERhdGFDYWlyb1dp
bi5jcHAiPgpAQCAtMTkzNjksNiArMTkzNzAsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEZ1bGxTY3JlZW5Db250cm9sbGVyQ2xpZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxX
aW5kb3dzQ29udGV4dC5oIiAvPgogICAgIDxDdXN0b21CdWlsZFN0ZXAgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
XE9wZW5UeXBlTWF0aERhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVu
dHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDQ0ZjY1MGIu
LjNkZjhkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE0NzYsNiArMTQ3Niw5IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRl
RnVsbHNjcmVlbldpbmRvdy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlTWF0aERhdGEuY3BwIj4KKyAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxP
cGVuVHlwZVV0aWxpdGllcy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTg0MzEsNiArODQzNCw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxXaW5kb3dz
Q29udGV4dC5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZU1hdGhEYXRhLmgiPgorICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMu
aCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDViMWM3MzUuLjRiYmIzYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTkzLDYgKzQ1OTMsOCBA
QAogCQlCMkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1MjBEMDA2Q0Q2MDBFRjZG
MjYgLyogRm9udENhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQjJDM0RBNjQwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTUz
MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgKi87IH07CiAJCUIyQzNEQTY1
MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTQwRDAwNkNENjAwRUY2RjI2IC8qIFNp
bXBsZUZvbnREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQjJEM0RBNjQwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJEM0RBNTMw
RDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3BwICovOyB9OworCQlCMkQzREE2
NTBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJEM0RBNTQwRDAwNkNENjAwRUY2RjI3IC8q
IE9wZW5UeXBlTWF0aERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlCMkMzREE2NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2NyaXB0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1
NTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2NyaXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjJDM0RBNjcwRDAwNkNENjAwRUY2RjI2
IC8qIEZvbnRHbHlwaHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjJDM0RBNTYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRHbHlwaHMuY3BwICovOyB9
OwogCQlCMkMzREE2ODBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTcwRDAwNkNENjAwRUY2
RjI2IC8qIEZvbnRHbHlwaHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTE4MzcsNiArMTE4MzksOCBAQAogCQlCMkMzREE1MjBEMDA2Q0Q2MDBF
RjZGMjYgLyogRm9udENhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
b250Q2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTMwRDAwNkNE
NjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTaW1wbGVGb250RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIyQzNEQTU0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2ltcGxlRm9udERhdGEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJEM0RBNTMwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBl
TWF0aERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IG9wZW50
eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MkQzREE1NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREE1NTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9u
dERlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250RGVz
Y3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTYwRDAwNkNE
NjAwRUY2RjI2IC8qIEZvbnRHbHlwaHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvbnRHbHlwaHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MkMzREE1NzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udEdseXBocy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjAxMTksNiArMjAxMjMsOCBAQAogCQkJCTBGM0RENDRFMTJGNUVBMUIwMDBEOTE5MCAv
KiBTaGFkb3dCbHVyLmggKi8sCiAJCQkJQjJDM0RBNTMwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBs
ZUZvbnREYXRhLmNwcCAqLywKIAkJCQlCMkMzREE1NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxl
Rm9udERhdGEuaCAqLywKKwkJCQlCMkQzREE1MzBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVN
YXRoRGF0YS5jcHAgKi8sCisJCQkJQjJEM0RBNTQwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBl
TWF0aERhdGEuaCAqLywKIAkJCQlDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZS5oICovLAogCQkJCUNEQzYxREEwMTgwODY3RDgwMDRCOTEzRiAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlLmggKi8sCiAJCQkJQ0RDOEI1QUMxODA0QUU1RDAwMTZFNjg1IC8qIFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaCAqLywKQEAgLTI1NDU3LDYgKzI1NDYzLDcgQEAKIAkJCQlF
MUI3ODM5QzE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxRDE2OEVFMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJUaHJl
YWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTY1MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1w
bGVGb250RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjJEM0RBNjUwRDAwNkNENjAwRUY2RjI3
IC8qIE9wZW5UeXBlTWF0aERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0ODk0NEEzMTgwQjU3
RDgwMEYxNjVEOCAvKiBTaW1wbGVMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU5
QjExRDE4MTQ1NjlDMDAzQUNDREYgLyogU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTRFOUIxMTkxODEwOTE2RjAwM0FDQ0RGIC8qIFNpbXBsZUxpbmVMYXlv
dXRSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODgxNyw2ICsyODgyNCw3IEBACiAJCQkJ
RTFCNzg0MjAxNjM5Q0JCRTAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDFEMTY4RUQxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtl
clRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2NDBEMDA2Q0Q2MDBFRjZGMjYg
LyogU2ltcGxlRm9udERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJEM0RBNjQwRDAwNkNE
NjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTYz
RTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzdFNjU5NTAxNjNCMTBDMjAwRUI0NTc0IC8qIFNpbXBsZUZvbnREYXRh
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDN0YwRDAwQTVDMTAwMzAwNzREIC8qIFNp
bXBsZUZvbnREYXRhTWFjLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA4Y2RmZjEyLi4yOGFhODMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJGb250R2x5cGhzLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRm
b3JtRGF0YS5oIgogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgIk9wZW5UeXBl
TWF0aERhdGEuaCIKICNpbmNsdWRlICJXZWJLaXRGb250RmFtaWx5TmFtZXMuaCIKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgpAQCAtMjY2LDgg
KzI2Nyw3IEBAIEZvbnRQbGF0Zm9ybURhdGEqIEZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvCiAgICAgcmV0dXJuIGl0LT52YWx1ZS5n
ZXQoKTsKIH0KIAotI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKLXN0cnVjdCBGb250VmVy
dGljYWxEYXRhQ2FjaGVLZXlIYXNoIHsKK3N0cnVjdCBGb250RmlsZUNhY2hlS2V5SGFzaCB7CiAg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgRm9udENhY2hlOjpGb250RmlsZUtleSYgZm9u
dEZpbGVLZXkpCiAgICAgewogICAgICAgICByZXR1cm4gUHRySGFzaDxjb25zdCBGb250Q2FjaGU6
OkZvbnRGaWxlS2V5Kj46Omhhc2goJmZvbnRGaWxlS2V5KTsKQEAgLTI4MSw3ICsyODEsNyBAQCBz
dHJ1Y3QgRm9udFZlcnRpY2FsRGF0YUNhY2hlS2V5SGFzaCB7CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIAotc3RydWN0IEZv
bnRWZXJ0aWNhbERhdGFDYWNoZUtleVRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8Rm9u
dENhY2hlOjpGb250RmlsZUtleT4geworc3RydWN0IEZvbnRGaWxlQ2FjaGVLZXlUcmFpdHMgOiBX
VEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZvbnRDYWNoZTo6Rm9udEZpbGVLZXk+IHsKICAgICBzdGF0
aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3QgRm9udENhY2hl
OjpGb250RmlsZUtleSYgZW1wdHlWYWx1ZSgpCkBAIC0yOTksOSArMjk5LDMyIEBAIHN0cnVjdCBG
b250VmVydGljYWxEYXRhQ2FjaGVLZXlUcmFpdHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZv
bnRDYWNoZTo6Rm9udEZpCiAgICAgfQogfTsKIAotdHlwZWRlZiBIYXNoTWFwPEZvbnRDYWNoZTo6
Rm9udEZpbGVLZXksIFJlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4sIEZvbnRWZXJ0aWNhbERh
dGFDYWNoZUtleUhhc2gsIEZvbnRWZXJ0aWNhbERhdGFDYWNoZUtleVRyYWl0cz4gRm9udFZlcnRp
Y2FsRGF0YUNhY2hlOwordHlwZWRlZiBIYXNoTWFwPEZvbnRDYWNoZTo6Rm9udEZpbGVLZXksIFJl
ZlB0cjxPcGVuVHlwZU1hdGhEYXRhPiwgRm9udEZpbGVDYWNoZUtleUhhc2gsIEZvbnRGaWxlQ2Fj
aGVLZXlUcmFpdHM+IEZvbnRNYXRoRGF0YUNhY2hlOworCitzdGF0aWMgRm9udE1hdGhEYXRhQ2Fj
aGUmIGZvbnRNYXRoRGF0YUNhY2hlSW5zdGFuY2UoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxGb250TWF0aERhdGFDYWNoZT4gZm9udE1hdGhEYXRhQ2FjaGU7CisgICAgcmV0dXJuIGZv
bnRNYXRoRGF0YUNhY2hlOworfQorCitQYXNzUmVmUHRyPE9wZW5UeXBlTWF0aERhdGE+IEZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEoY29uc3QgRm9udEZpbGVLZXkmIGtleSwgY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgZm9udERhdGEpCit7CisgICAgRm9udE1hdGhEYXRhQ2FjaGUmIGZvbnRNYXRoRGF0
YUNhY2hlID0gZm9udE1hdGhEYXRhQ2FjaGVJbnN0YW5jZSgpOworICAgIEZvbnRNYXRoRGF0YUNh
Y2hlOjppdGVyYXRvciByZXN1bHQgPSBmb250TWF0aERhdGFDYWNoZS5maW5kKGtleSk7CisgICAg
aWYgKHJlc3VsdCAhPSBmb250TWF0aERhdGFDYWNoZS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHJl
c3VsdC5nZXQoKS0+dmFsdWU7CisKKyAgICBSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gbWF0aERh
dGEgPSBPcGVuVHlwZU1hdGhEYXRhOjpjcmVhdGUoZm9udERhdGEpOworICAgIGlmICghbWF0aERh
dGEtPmhhc01hdGhEYXRhKCkpCisgICAgICAgIG1hdGhEYXRhLmNsZWFyKCk7CisgICAgZm9udE1h
dGhEYXRhQ2FjaGUuc2V0KGtleSwgbWF0aERhdGEpOworICAgIHJldHVybiBtYXRoRGF0YTsKK30K
KworI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKK3R5cGVkZWYgSGFzaE1hcDxGb250Q2Fj
aGU6OkZvbnRGaWxlS2V5LCBSZWZQdHI8T3BlblR5cGVWZXJ0aWNhbERhdGE+LCBGb250RmlsZUNh
Y2hlS2V5SGFzaCwgRm9udEZpbGVDYWNoZUtleVRyYWl0cz4gRm9udFZlcnRpY2FsRGF0YUNhY2hl
OwogCi1Gb250VmVydGljYWxEYXRhQ2FjaGUmIGZvbnRWZXJ0aWNhbERhdGFDYWNoZUluc3RhbmNl
KCkKK3N0YXRpYyBGb250VmVydGljYWxEYXRhQ2FjaGUmIGZvbnRWZXJ0aWNhbERhdGFDYWNoZUlu
c3RhbmNlKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udFZlcnRpY2FsRGF0YUNh
Y2hlPiBmb250VmVydGljYWxEYXRhQ2FjaGU7CiAgICAgcmV0dXJuIGZvbnRWZXJ0aWNhbERhdGFD
YWNoZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5k
ZXggYzNlOGU3MS4uZTliYmZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgRm9udDsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBGb250RGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKK2NsYXNz
IE9wZW5UeXBlTWF0aERhdGE7CiBjbGFzcyBPcGVuVHlwZVZlcnRpY2FsRGF0YTsKIGNsYXNzIFNp
bXBsZUZvbnREYXRhOwogCkBAIC0xNTEsOCArMTUyLDkgQEAgcHVibGljOgogICAgIFBhc3NSZWZQ
dHI8U2ltcGxlRm9udERhdGE+IGZvbnREYXRhRnJvbURlc2NyaXB0aW9uQW5kTG9nRm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mLCBTaG91bGRSZXRhaW4sIGNvbnN0IExPR0ZPTlQmLCBBdG9taWNT
dHJpbmcmIG91dEZvbnRGYW1pbHlOYW1lKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE9QRU5UWVBF
X1ZFUlRJQ0FMKQogICAgIHR5cGVkZWYgQXRvbWljU3RyaW5nIEZvbnRGaWxlS2V5OworICAgIFBh
c3NSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gZ2V0TWF0aERhdGEoY29uc3QgRm9udEZpbGVLZXkm
LCBjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FM
KQogICAgIFBhc3NSZWZQdHI8T3BlblR5cGVWZXJ0aWNhbERhdGE+IGdldFZlcnRpY2FsRGF0YShj
b25zdCBGb250RmlsZUtleSYsIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwCmluZGV4IDUzMDhlYmQuLjE5ZDY3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwCkBAIC0yNyw2ICsyNywx
MSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAorI2lmIE9TKERBUldJTikgJiYgVVNFKENHKQorI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnQuaD4KKyNlbmRpZgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQpAQCAtMTY5LDQgKzE3NCwxNCBAQCBj
b25zdCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYgb3RoZQogICAgIHJldHVybiBwbGF0Zm9ybURhdGFBc3NpZ24ob3Ro
ZXIpOwogfQogCisjaWYgT1MoREFSV0lOKSAmJiBVU0UoQ0cpCitQYXNzUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29u
c3QKK3sKKyAgICBpZiAoQ0ZEYXRhUmVmIGRhdGEgPSBDR0ZvbnRDb3B5VGFibGVGb3JUYWcoY2dG
b250KCksIHRhYmxlKSkKKyAgICAgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6d3JhcENGRGF0YShk
YXRhKTsKKyAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5k
ZXggYmZhNTcwOS4uMzFhOTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjE2LDcgKzIxNiw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogICAgIH0KIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENB
SVJPKSkKKyNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAo
VVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gb3Bl
blR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCmluZGV4IDQ1
ZTViNmMuLjU3YjZmZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TaW1wbGVGb250RGF0YS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2luY2x1ZGUgIkZv
bnQuaCIKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKKyNpbmNsdWRlICJPcGVuVHlwZU1hdGhEYXRh
LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2lmIEVOQUJMRShPUEVOVFlQRV9W
RVJUSUNBTCkKQEAgLTUyLDYgKzUzLDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRh
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3QKICAgICAs
IG1faXNMb2FkaW5nKGlzTG9hZGluZykKICAgICAsIG1faXNUZXh0T3JpZW50YXRpb25GYWxsYmFj
ayhpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKQogICAgICwgbV9pc0Jyb2tlbklkZW9ncmFwaEZh
bGxiYWNrKGZhbHNlKQorICAgICwgbV9tYXRoRGF0YShudWxscHRyKQogI2lmIEVOQUJMRShPUEVO
VFlQRV9WRVJUSUNBTCkKICAgICAsIG1fdmVydGljYWxEYXRhKDApCiAjZW5kaWYKQEAgLTYwLDYg
KzYyLDE2IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJvb2wgaXNDdXN0CiAgICAgcGxhdGZvcm1Jbml0KCk7CiAg
ICAgcGxhdGZvcm1HbHlwaEluaXQoKTsKICAgICBwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKTsKKwor
ICAgIGJvb2wgdHJ5TWF0aERhdGEgPSB0cnVlOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICB0cnlN
YXRoRGF0YSA9IHBsYXRmb3JtRGF0YS5oZm9udCgpOworI2VsaWYgT1MoREFSV0lOKQorICAgIHRy
eU1hdGhEYXRhID0gcGxhdGZvcm1EYXRhLmZvbnQoKTsKKyNlbmRpZgorICAgIGlmICh0cnlNYXRo
RGF0YSkKKyAgICAgICAgbV9tYXRoRGF0YSA9IGZvbnRDYWNoZSgpLT5nZXRNYXRoRGF0YShTdHJp
bmc6Om51bWJlcihwbGF0Zm9ybURhdGEuaGFzaCgpKSwgcGxhdGZvcm1EYXRhKTsKKwogI2lmIEVO
QUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICBpZiAocGxhdGZvcm1EYXRhLm9yaWVudGF0aW9u
KCkgPT0gVmVydGljYWwgJiYgIWlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2spIHsKICAgICAgICAg
bV92ZXJ0aWNhbERhdGEgPSBwbGF0Zm9ybURhdGEudmVydGljYWxEYXRhKCk7CkBAIC03Niw2ICs4
OCw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShzdGQ6OnVuaXF1ZV9wdHI8QWRk
aXRpb25hbEZvbnREYXRhPiBmb250RGF0YSwgZmxvCiAgICAgLCBtX2lzTG9hZGluZyhmYWxzZSkK
ICAgICAsIG1faXNUZXh0T3JpZW50YXRpb25GYWxsYmFjayhmYWxzZSkKICAgICAsIG1faXNCcm9r
ZW5JZGVvZ3JhcGhGYWxsYmFjayhmYWxzZSkKKyAgICAsIG1fbWF0aERhdGEobnVsbHB0cikKICNp
ZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwpCiAgICAgLCBtX3ZlcnRpY2FsRGF0YSgwKQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaAppbmRleCA1ZGE1Yzk4Li4wNGRkMjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgIkdseXBoTWV0cmljc01hcC5oIgogI2luY2x1
ZGUgIkdseXBoUGFnZVRyZWVOb2RlLmgiCisjaW5jbHVkZSAiT3BlblR5cGVNYXRoRGF0YS5oIgog
I2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICNpbmNsdWRlICJPcGVuVHlwZVZlcnRpY2Fs
RGF0YS5oIgogI2VuZGlmCkBAIC05Miw2ICs5Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29u
c3QgU2ltcGxlRm9udERhdGEqIHN5c3RlbUZhbGxiYWNrKCkgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBTaW1wbGVGb250RGF0YSo+KC0xKTsgfQogCiAgICAgY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgcGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybURhdGE7IH0K
KyAgICBjb25zdCBPcGVuVHlwZU1hdGhEYXRhKiBtYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWF0aERhdGEgPyBtX21hdGhEYXRhLmdldCgpIDogbnVsbHB0cjsgfQogI2lmIEVOQUJMRShPUEVO
VFlQRV9WRVJUSUNBTCkKICAgICBjb25zdCBPcGVuVHlwZVZlcnRpY2FsRGF0YSogdmVydGljYWxE
YXRhKCkgY29uc3QgeyByZXR1cm4gbV92ZXJ0aWNhbERhdGEuZ2V0KCk7IH0KICNlbmRpZgpAQCAt
MjU5LDYgKzI2MSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1faXNUZXh0T3JpZW50YXRpb25G
YWxsYmFjazsKICAgICBib29sIG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjazsKKyAgICBSZWZQ
dHI8T3BlblR5cGVNYXRoRGF0YT4gbV9tYXRoRGF0YTsKICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVS
VElDQUwpCiAgICAgUmVmUHRyPE9wZW5UeXBlVmVydGljYWxEYXRhPiBtX3ZlcnRpY2FsRGF0YTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xODA5NzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBGcmVkZXJpYyBXYW5nIChmcmVkLndh
bmdAZnJlZS5mcikuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT3BlblR5cGVNYXRoRGF0YS5oIgorCisjaW5j
bHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK09wZW5UeXBlTWF0aERhdGE6Ok9wZW5UeXBlTWF0aERhdGEoY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYpCit7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWFkIHRo
ZSBkYXRhIGZyb20gdGhlIE1BVEggdGFibGUgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzAzMjQpLgorICAgIG1fbWF0aEJ1ZmZlciA9IG51bGxwdHI7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmE0OTE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oCkBA
IC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZGVyaWMgV2FuZyAo
ZnJlZC53YW5nQGZyZWUuZnIpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBPcGVuVHlwZU1hdGhEYXRhX2gKKyNkZWZpbmUgT3BlblR5cGVNYXRoRGF0
YV9oCisKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKKworY2xhc3MgT3BlblR5cGVNYXRoRGF0YSA6IHB1
YmxpYyBSZWZDb3VudGVkPE9wZW5UeXBlTWF0aERhdGE+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxPcGVuVHlwZU1hdGhEYXRhPiBjcmVhdGUoY29uc3QgRm9udFBsYXRmb3JtRGF0
YSYgZm9udERhdGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE9wZW5UeXBl
TWF0aERhdGEoZm9udERhdGEpKTsKKyAgICB9CisKKyAgICBib29sIGhhc01hdGhEYXRhKCkgY29u
c3QgeyByZXR1cm4gbV9tYXRoQnVmZmVyOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgT3Bl
blR5cGVNYXRoRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gbV9tYXRoQnVmZmVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gT3BlblR5cGVNYXRoRGF0YV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227734</attachid>
            <date>2014-03-25 03:10:37 -0700</date>
            <delta_ts>2014-03-27 00:31:51 -0700</delta_ts>
            <desc>Difference from the previous commit</desc>
            <filename>expose-MATH-diff.patch</filename>
            <type>text/plain</type>
            <size>3086</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9y
bURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3Jt
RGF0YS5jcHAKaW5kZXggODc1ZTc3Mi4uMTlkNjc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTI3LDcgKzI3
LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBPUyhEQVJXSU4pCisjaWYgT1MoREFSV0lOKSAmJiBVU0Uo
Q0cpCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NH
Rm9udC5oPgogI2VuZGlmCkBAIC0xNzQsNyArMTc0LDcgQEAgY29uc3QgRm9udFBsYXRmb3JtRGF0
YSYgRm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90
aGUKICAgICByZXR1cm4gcGxhdGZvcm1EYXRhQXNzaWduKG90aGVyKTsKIH0KIAotI2lmIE9TKERB
UldJTikKKyNpZiBPUyhEQVJXSU4pICYmIFVTRShDRykKIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVy
PiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAog
ewogICAgIGlmIChDRkRhdGFSZWYgZGF0YSA9IENHRm9udENvcHlUYWJsZUZvclRhZyhjZ0ZvbnQo
KSwgdGFibGUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5oCmluZGV4IDE4NTc2ZTEuLjMxYTk4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTIxNiw3
ICsyMTYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKLSNpZiBPUyhEQVJXSU4pIHx8IChQ
TEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQorI2lmIChPUyhEQVJXSU4p
ICYmIFVTRShDRykpIHx8IChQTEFURk9STShXSU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykp
KQogICAgIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRh
YmxlKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKaW5kZXggZmE5M2ExMy4uNTdiNmZlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNw
cApAQCAtNjIsNyArNjIsMTYgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3QKICAgICBwbGF0Zm9y
bUluaXQoKTsKICAgICBwbGF0Zm9ybUdseXBoSW5pdCgpOwogICAgIHBsYXRmb3JtQ2hhcldpZHRo
SW5pdCgpOwotICAgIG1fbWF0aERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0TWF0aERhdGEoU3RyaW5n
OjpudW1iZXIocGxhdGZvcm1EYXRhLmhhc2goKSksIHBsYXRmb3JtRGF0YSk7CisKKyAgICBib29s
IHRyeU1hdGhEYXRhID0gdHJ1ZTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgdHJ5TWF0aERhdGEg
PSBwbGF0Zm9ybURhdGEuaGZvbnQoKTsKKyNlbGlmIE9TKERBUldJTikKKyAgICB0cnlNYXRoRGF0
YSA9IHBsYXRmb3JtRGF0YS5mb250KCk7CisjZW5kaWYKKyAgICBpZiAodHJ5TWF0aERhdGEpCisg
ICAgICAgIG1fbWF0aERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0TWF0aERhdGEoU3RyaW5nOjpudW1i
ZXIocGxhdGZvcm1EYXRhLmhhc2goKSksIHBsYXRmb3JtRGF0YSk7CisKICNpZiBFTkFCTEUoT1BF
TlRZUEVfVkVSVElDQUwpCiAgICAgaWYgKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpID09IFZl
cnRpY2FsICYmICFpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKSB7CiAgICAgICAgIG1fdmVydGlj
YWxEYXRhID0gcGxhdGZvcm1EYXRhLnZlcnRpY2FsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKaW5kZXggZDhjYzIwOS4uMDRk
ZDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgU2lt
cGxlRm9udERhdGEqIHN5c3RlbUZhbGxiYWNrKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBTaW1wbGVGb250RGF0YSo+KC0xKTsgfQogCiAgICAgY29uc3QgRm9udFBsYXRmb3JtRGF0
YSYgcGxhdGZvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybURhdGE7IH0KLSAgICBj
b25zdCBPcGVuVHlwZU1hdGhEYXRhKiBtYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0aERh
dGEuZ2V0KCk7IH0KKyAgICBjb25zdCBPcGVuVHlwZU1hdGhEYXRhKiBtYXRoRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWF0aERhdGEgPyBtX21hdGhEYXRhLmdldCgpIDogbnVsbHB0cjsgfQogI2lm
IEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKICAgICBjb25zdCBPcGVuVHlwZVZlcnRpY2FsRGF0
YSogdmVydGljYWxEYXRhKCkgY29uc3QgeyByZXR1cm4gbV92ZXJ0aWNhbERhdGEuZ2V0KCk7IH0K
ICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227931</attachid>
            <date>2014-03-27 00:31:51 -0700</date>
            <delta_ts>2014-03-28 11:57:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>expose-MATH.patch</filename>
            <type>text/plain</type>
            <size>23783</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTNlMTBkYy4uZDhkNTAwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NDcsNiArMTk0Nyw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4MWE2YTcuLjc2ZmJj
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNC0wMy0yNSAgRnLDqWTDqXJpYyBX
YW5nICA8ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgT3BlcmF0b3Igc3RyZXRjaGluZzog
ZXhwb3NlIGEgbWF0aCBkYXRhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXph
Y2guCisKKyAgICAgICAgV2UgZXhwb3NlIGEgbmV3IFNpbXBsZUZvbnREYXRhIEFQSSB0byBnaXZl
IGFjY2VzcyB0byB0aGUgZGF0YSBmcm9tIHRoZQorICAgICAgICBPcGVuVHlwZSBNQVRIIHRhYmxl
IHVzaW5nIGEgZm9udCBjYWNoZS4gVGhlIGNsYXNzIE9wZW5UeXBlTWF0aERhdGEgd2lsbAorICAg
ICAgICBiZSBpbXBsZW1lbnRlZCBpbiBidWcgMTMwMzI0LiBPbiBEYXJ3aW4gcGxhdGZvcm0sIHdl
IGFsc28gaW1wbGVtZW50IHRoZQorICAgICAgICBtaXNzaW5nIEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBuZWNlc3NhcnkKKyAgICAgICAgdG8g
bG9hZCB0aGUgT3BlblR5cGUgTUFUSCB0YWJsZS4gVGhlIGNoYW5nZXMgYXJlIGludGVuZGVkIHRv
IGJlIHVzZWQKKyAgICAgICAgZm9yIE1hdGhNTCBvcGVyYXRvciBzdHJldGNoaW5nIChidWcgMTMw
MzIyKSBzbyB0ZXN0cyBhcmUgbm90IGFkZGVkIHlldC4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OiBhZGQgbmV3IE9wZW5UeXBlTWF0aERhdGEgZmlsZXMuCisgICAgICAgICogR05VbWFrZWZp
bGUubGlzdC5hbTogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvajogZGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzOiBkaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6IFdl
IGFkZCBhIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgZnVuY3Rpb24gdG8gaW1wbGVtZW50IGEgY2Fj
aGUgZm9yIHRoZSBtYXRoIGRhdGEuCisgICAgICAgIFdlIG1ha2UgdGhlIG1hdGggYW5kIHZlcnRp
Y2FsIGRhdGEgc2hhcmUgdGhlIHNhbWUga2V5IGZvciB0aGUgY2FjaGUuCisgICAgICAgIChXZWJD
b3JlOjpmb250TWF0aERhdGFDYWNoZUluc3RhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFZlcnRpY2FsRGF0YUNh
Y2hlSW5zdGFuY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oOiBX
ZSBkZWNsYXJlIEZvbnRDYWNoZTo6Z2V0TWF0aERhdGEgYW5kIEZvbnRGaWxlS2V5IG9uIGFsbCBw
bGF0Zm9ybXMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKTog
V2UgaW1wbGVtZW50IG9wZW5UeXBlVGFibGUoKSBvbiBEYXJ3aW4gcGxhdGZvcm0uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOiBXZSBleHBvc2Ugb3BlblR5
cGVUYWJsZSgpIG9uIERhcndpbiBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHA6IFdlIGluaXRpYWxpemUgbV9tYXRoRGF0YSBmcm9tIHRoZSBm
b250IGNhY2hlLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnRE
YXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBXZSBl
eHBvc2UgYSBtYXRoRGF0YSgpIGZ1bmN0aW9uIHRvIGFjY2VzcyB0aGUgTUFUSCBkYXRhLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOiBB
ZGRlZC4gVGhpcyBpcyBhIG5ldyBjbGFzcyB0aGF0IHdpbGwgYmUgdXNlZCB0byBwYXJzZSB0aGUg
ZGF0YSBmcm9tIHRoZSBPcGVuVHlwZSBNQVRIIHRhYmxlLgorICAgICAgICAoV2ViQ29yZTo6T3Bl
blR5cGVNYXRoRGF0YTo6T3BlblR5cGVNYXRoRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok9wZW5UeXBlTWF0aERhdGE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpPcGVuVHlw
ZU1hdGhEYXRhOjpoYXNNYXRoRGF0YSk6CisKIDIwMTQtMDMtMjUgIFhhYmllciBSb2RyaWd1ZXog
Q2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBWb2x1bWUgc2xp
ZGVyIHNob3dzIGJlbG93IHRoZSBwYW5lbCB3aXRoIHZpZGVvcyBpbiBjZXJ0YWluIGNhc2VzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBiNzEyNmJkLi40MjAzNGY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTUzNjEsNiArNTM2MSw4IEBAIHdlYmNvcmVfcGxh
dGZvcm1fc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL1RlbXBvcmFyeU9wZW5HTFNldHRpbmcuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGVtcG9yYXJ5T3BlbkdMU2V0
dGluZy5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVu
VHlwZU1hdGhEYXRhLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1BlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9QZXJzcGVjdGl2ZVRyYW5z
Zm9ybU9wZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZDAxYmQwOS4uMTQxNDc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CkBAIC03OTQ3LDYgKzc5NDcsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3Ncd2luXEludFJlY3RXaW4uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEludFNpemVXaW4uY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0
ZUZ1bGxzY3JlZW5XaW5kb3cuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3BlblR5cGVNYXRoRGF0YS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVV0
aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFw
aGljc1xvcGVudHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cU2ltcGxlRm9udERhdGFDYWlyb1dp
bi5jcHAiPgpAQCAtMTkzNjksNiArMTkzNzAsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEZ1bGxTY3JlZW5Db250cm9sbGVyQ2xpZW50LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxX
aW5kb3dzQ29udGV4dC5oIiAvPgogICAgIDxDdXN0b21CdWlsZFN0ZXAgSW5jbHVkZT0iLi5ccGxh
dGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
XE9wZW5UeXBlTWF0aERhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVu
dHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDQ0ZjY1MGIu
LjNkZjhkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE0NzYsNiArMTQ3Niw5IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRl
RnVsbHNjcmVlbldpbmRvdy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlTWF0aERhdGEuY3BwIj4KKyAgICAg
IDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxP
cGVuVHlwZVV0aWxpdGllcy5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3
aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTg0MzEsNiArODQzNCw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxXaW5kb3dz
Q29udGV4dC5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZU1hdGhEYXRhLmgiPgorICAgICAgPEZpbHRlcj5wbGF0
Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMu
aCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDViMWM3MzUuLjRiYmIzYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTkzLDYgKzQ1OTMsOCBA
QAogCQlCMkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1MjBEMDA2Q0Q2MDBFRjZG
MjYgLyogRm9udENhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQjJDM0RBNjQwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTUz
MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgKi87IH07CiAJCUIyQzNEQTY1
MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTQwRDAwNkNENjAwRUY2RjI2IC8qIFNp
bXBsZUZvbnREYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJQjJEM0RBNjQwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJEM0RBNTMw
RDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3BwICovOyB9OworCQlCMkQzREE2
NTBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJEM0RBNTQwRDAwNkNENjAwRUY2RjI3IC8q
IE9wZW5UeXBlTWF0aERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlCMkMzREE2NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2NyaXB0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1
NTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udERlc2NyaXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjJDM0RBNjcwRDAwNkNENjAwRUY2RjI2
IC8qIEZvbnRHbHlwaHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjJDM0RBNTYwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRHbHlwaHMuY3BwICovOyB9
OwogCQlCMkMzREE2ODBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTcwRDAwNkNENjAwRUY2
RjI2IC8qIEZvbnRHbHlwaHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTE4MzcsNiArMTE4MzksOCBAQAogCQlCMkMzREE1MjBEMDA2Q0Q2MDBF
RjZGMjYgLyogRm9udENhY2hlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
b250Q2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTMwRDAwNkNE
NjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTaW1wbGVGb250RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUIyQzNEQTU0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2ltcGxlRm9udERhdGEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJEM0RBNTMwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBl
TWF0aERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IG9wZW50
eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MkQzREE1NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkMzREE1NTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9u
dERlc2NyaXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250RGVz
Y3JpcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTYwRDAwNkNE
NjAwRUY2RjI2IC8qIEZvbnRHbHlwaHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvbnRHbHlwaHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
MkMzREE1NzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udEdseXBocy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjAxMTksNiArMjAxMjMsOCBAQAogCQkJCTBGM0RENDRFMTJGNUVBMUIwMDBEOTE5MCAv
KiBTaGFkb3dCbHVyLmggKi8sCiAJCQkJQjJDM0RBNTMwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBs
ZUZvbnREYXRhLmNwcCAqLywKIAkJCQlCMkMzREE1NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxl
Rm9udERhdGEuaCAqLywKKwkJCQlCMkQzREE1MzBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVN
YXRoRGF0YS5jcHAgKi8sCisJCQkJQjJEM0RBNTQwRDAwNkNENjAwRUY2RjI3IC8qIE9wZW5UeXBl
TWF0aERhdGEuaCAqLywKIAkJCQlDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVm
ZmVyUHJpdmF0ZS5oICovLAogCQkJCUNEQzYxREEwMTgwODY3RDgwMDRCOTEzRiAvKiBTb3VyY2VC
dWZmZXJQcml2YXRlLmggKi8sCiAJCQkJQ0RDOEI1QUMxODA0QUU1RDAwMTZFNjg1IC8qIFNvdXJj
ZUJ1ZmZlclByaXZhdGVDbGllbnQuaCAqLywKQEAgLTI1NDU3LDYgKzI1NDYzLDcgQEAKIAkJCQlF
MUI3ODM5QzE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxRDE2OEVFMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJUaHJl
YWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTY1MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1w
bGVGb250RGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjJEM0RBNjUwRDAwNkNENjAwRUY2RjI3
IC8qIE9wZW5UeXBlTWF0aERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0ODk0NEEzMTgwQjU3
RDgwMEYxNjVEOCAvKiBTaW1wbGVMaW5lTGF5b3V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU5
QjExRDE4MTQ1NjlDMDAzQUNDREYgLyogU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTRFOUIxMTkxODEwOTE2RjAwM0FDQ0RGIC8qIFNpbXBsZUxpbmVMYXlv
dXRSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODgxNyw2ICsyODgyNCw3IEBACiAJCQkJ
RTFCNzg0MjAxNjM5Q0JCRTAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDFEMTY4RUQxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtl
clRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2NDBEMDA2Q0Q2MDBFRjZGMjYg
LyogU2ltcGxlRm9udERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJEM0RBNjQwRDAwNkNE
NjAwRUY2RjI3IC8qIE9wZW5UeXBlTWF0aERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTYz
RTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzdFNjU5NTAxNjNCMTBDMjAwRUI0NTc0IC8qIFNpbXBsZUZvbnREYXRh
SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDN0YwRDAwQTVDMTAwMzAwNzREIC8qIFNp
bXBsZUZvbnREYXRhTWFjLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA4Y2RmZjEyLi4yOGFhODMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJGb250R2x5cGhzLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRm
b3JtRGF0YS5oIgogI2luY2x1ZGUgIkZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgIk9wZW5UeXBl
TWF0aERhdGEuaCIKICNpbmNsdWRlICJXZWJLaXRGb250RmFtaWx5TmFtZXMuaCIKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgpAQCAtMjY2LDgg
KzI2Nyw3IEBAIEZvbnRQbGF0Zm9ybURhdGEqIEZvbnRDYWNoZTo6Z2V0Q2FjaGVkRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvCiAgICAgcmV0dXJuIGl0LT52YWx1ZS5n
ZXQoKTsKIH0KIAotI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKLXN0cnVjdCBGb250VmVy
dGljYWxEYXRhQ2FjaGVLZXlIYXNoIHsKK3N0cnVjdCBGb250RmlsZUNhY2hlS2V5SGFzaCB7CiAg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgRm9udENhY2hlOjpGb250RmlsZUtleSYgZm9u
dEZpbGVLZXkpCiAgICAgewogICAgICAgICByZXR1cm4gUHRySGFzaDxjb25zdCBGb250Q2FjaGU6
OkZvbnRGaWxlS2V5Kj46Omhhc2goJmZvbnRGaWxlS2V5KTsKQEAgLTI4MSw3ICsyODEsNyBAQCBz
dHJ1Y3QgRm9udFZlcnRpY2FsRGF0YUNhY2hlS2V5SGFzaCB7CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSB0cnVlOwogfTsKIAotc3RydWN0IEZv
bnRWZXJ0aWNhbERhdGFDYWNoZUtleVRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8Rm9u
dENhY2hlOjpGb250RmlsZUtleT4geworc3RydWN0IEZvbnRGaWxlQ2FjaGVLZXlUcmFpdHMgOiBX
VEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZvbnRDYWNoZTo6Rm9udEZpbGVLZXk+IHsKICAgICBzdGF0
aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3Qg
Ym9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKICAgICBzdGF0aWMgY29uc3QgRm9udENhY2hl
OjpGb250RmlsZUtleSYgZW1wdHlWYWx1ZSgpCkBAIC0yOTksOSArMjk5LDMyIEBAIHN0cnVjdCBG
b250VmVydGljYWxEYXRhQ2FjaGVLZXlUcmFpdHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPEZv
bnRDYWNoZTo6Rm9udEZpCiAgICAgfQogfTsKIAotdHlwZWRlZiBIYXNoTWFwPEZvbnRDYWNoZTo6
Rm9udEZpbGVLZXksIFJlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4sIEZvbnRWZXJ0aWNhbERh
dGFDYWNoZUtleUhhc2gsIEZvbnRWZXJ0aWNhbERhdGFDYWNoZUtleVRyYWl0cz4gRm9udFZlcnRp
Y2FsRGF0YUNhY2hlOwordHlwZWRlZiBIYXNoTWFwPEZvbnRDYWNoZTo6Rm9udEZpbGVLZXksIFJl
ZlB0cjxPcGVuVHlwZU1hdGhEYXRhPiwgRm9udEZpbGVDYWNoZUtleUhhc2gsIEZvbnRGaWxlQ2Fj
aGVLZXlUcmFpdHM+IEZvbnRNYXRoRGF0YUNhY2hlOworCitzdGF0aWMgRm9udE1hdGhEYXRhQ2Fj
aGUmIGZvbnRNYXRoRGF0YUNhY2hlSW5zdGFuY2UoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxGb250TWF0aERhdGFDYWNoZT4gZm9udE1hdGhEYXRhQ2FjaGU7CisgICAgcmV0dXJuIGZv
bnRNYXRoRGF0YUNhY2hlOworfQorCitQYXNzUmVmUHRyPE9wZW5UeXBlTWF0aERhdGE+IEZvbnRD
YWNoZTo6Z2V0TWF0aERhdGEoY29uc3QgRm9udEZpbGVLZXkmIGtleSwgY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgZm9udERhdGEpCit7CisgICAgRm9udE1hdGhEYXRhQ2FjaGUmIGZvbnRNYXRoRGF0
YUNhY2hlID0gZm9udE1hdGhEYXRhQ2FjaGVJbnN0YW5jZSgpOworICAgIEZvbnRNYXRoRGF0YUNh
Y2hlOjppdGVyYXRvciByZXN1bHQgPSBmb250TWF0aERhdGFDYWNoZS5maW5kKGtleSk7CisgICAg
aWYgKHJlc3VsdCAhPSBmb250TWF0aERhdGFDYWNoZS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHJl
c3VsdC5nZXQoKS0+dmFsdWU7CisKKyAgICBSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gbWF0aERh
dGEgPSBPcGVuVHlwZU1hdGhEYXRhOjpjcmVhdGUoZm9udERhdGEpOworICAgIGlmICghbWF0aERh
dGEtPmhhc01hdGhEYXRhKCkpCisgICAgICAgIG1hdGhEYXRhLmNsZWFyKCk7CisgICAgZm9udE1h
dGhEYXRhQ2FjaGUuc2V0KGtleSwgbWF0aERhdGEpOworICAgIHJldHVybiBtYXRoRGF0YTsKK30K
KworI2lmIEVOQUJMRShPUEVOVFlQRV9WRVJUSUNBTCkKK3R5cGVkZWYgSGFzaE1hcDxGb250Q2Fj
aGU6OkZvbnRGaWxlS2V5LCBSZWZQdHI8T3BlblR5cGVWZXJ0aWNhbERhdGE+LCBGb250RmlsZUNh
Y2hlS2V5SGFzaCwgRm9udEZpbGVDYWNoZUtleVRyYWl0cz4gRm9udFZlcnRpY2FsRGF0YUNhY2hl
OwogCi1Gb250VmVydGljYWxEYXRhQ2FjaGUmIGZvbnRWZXJ0aWNhbERhdGFDYWNoZUluc3RhbmNl
KCkKK3N0YXRpYyBGb250VmVydGljYWxEYXRhQ2FjaGUmIGZvbnRWZXJ0aWNhbERhdGFDYWNoZUlu
c3RhbmNlKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udFZlcnRpY2FsRGF0YUNh
Y2hlPiBmb250VmVydGljYWxEYXRhQ2FjaGU7CiAgICAgcmV0dXJuIGZvbnRWZXJ0aWNhbERhdGFD
YWNoZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5k
ZXggYzNlOGU3MS4uZTliYmZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKQEAgLTU0LDYgKzU0LDcgQEAgY2xhc3MgRm9udDsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBGb250RGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKK2NsYXNz
IE9wZW5UeXBlTWF0aERhdGE7CiBjbGFzcyBPcGVuVHlwZVZlcnRpY2FsRGF0YTsKIGNsYXNzIFNp
bXBsZUZvbnREYXRhOwogCkBAIC0xNTEsOCArMTUyLDkgQEAgcHVibGljOgogICAgIFBhc3NSZWZQ
dHI8U2ltcGxlRm9udERhdGE+IGZvbnREYXRhRnJvbURlc2NyaXB0aW9uQW5kTG9nRm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mLCBTaG91bGRSZXRhaW4sIGNvbnN0IExPR0ZPTlQmLCBBdG9taWNT
dHJpbmcmIG91dEZvbnRGYW1pbHlOYW1lKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE9QRU5UWVBF
X1ZFUlRJQ0FMKQogICAgIHR5cGVkZWYgQXRvbWljU3RyaW5nIEZvbnRGaWxlS2V5OworICAgIFBh
c3NSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gZ2V0TWF0aERhdGEoY29uc3QgRm9udEZpbGVLZXkm
LCBjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FM
KQogICAgIFBhc3NSZWZQdHI8T3BlblR5cGVWZXJ0aWNhbERhdGE+IGdldFZlcnRpY2FsRGF0YShj
b25zdCBGb250RmlsZUtleSYsIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwCmluZGV4IDUzMDhlYmQuLjE5ZDY3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwCkBAIC0yNyw2ICsyNywx
MSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAorI2lmIE9TKERBUldJTikgJiYgVVNFKENHKQorI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgorI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0ZvbnQuaD4KKyNlbmRpZgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURh
dGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQpAQCAtMTY5LDQgKzE3NCwxNCBAQCBj
b25zdCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYgb3RoZQogICAgIHJldHVybiBwbGF0Zm9ybURhdGFBc3NpZ24ob3Ro
ZXIpOwogfQogCisjaWYgT1MoREFSV0lOKSAmJiBVU0UoQ0cpCitQYXNzUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29u
c3QKK3sKKyAgICBpZiAoQ0ZEYXRhUmVmIGRhdGEgPSBDR0ZvbnRDb3B5VGFibGVGb3JUYWcoY2dG
b250KCksIHRhYmxlKSkKKyAgICAgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6d3JhcENGRGF0YShk
YXRhKTsKKyAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5k
ZXggYmZhNTcwOS4uMzFhOTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjE2LDcgKzIxNiw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogICAgIH0KIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgKFVTRShDRykgfHwgVVNFKENB
SVJPKSkKKyNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAo
VVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gb3Bl
blR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCmluZGV4IDQ1
ZTViNmMuLjQ5MGM4NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1NpbXBsZUZvbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TaW1wbGVGb250RGF0YS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2luY2x1ZGUgIkZv
bnQuaCIKICNpbmNsdWRlICJGb250Q2FjaGUuaCIKKyNpbmNsdWRlICJPcGVuVHlwZU1hdGhEYXRh
LmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogI2lmIEVOQUJMRShPUEVOVFlQRV9W
RVJUSUNBTCkKQEAgLTUyLDYgKzUzLDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRh
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3QKICAgICAs
IG1faXNMb2FkaW5nKGlzTG9hZGluZykKICAgICAsIG1faXNUZXh0T3JpZW50YXRpb25GYWxsYmFj
ayhpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKQogICAgICwgbV9pc0Jyb2tlbklkZW9ncmFwaEZh
bGxiYWNrKGZhbHNlKQorICAgICwgbV9tYXRoRGF0YShudWxscHRyKQogI2lmIEVOQUJMRShPUEVO
VFlQRV9WRVJUSUNBTCkKICAgICAsIG1fdmVydGljYWxEYXRhKDApCiAjZW5kaWYKQEAgLTYwLDYg
KzYyLDE4IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJvb2wgaXNDdXN0CiAgICAgcGxhdGZvcm1Jbml0KCk7CiAg
ICAgcGxhdGZvcm1HbHlwaEluaXQoKTsKICAgICBwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKTsKKwor
ICAgIGJvb2wgdHJ5TWF0aERhdGEgPSBmYWxzZTsKKyNpZiBQTEFURk9STShXSU4pICYmIChVU0Uo
Q0cpIHx8IFVTRShDQUlSTykpCisgICAgdHJ5TWF0aERhdGEgPSBwbGF0Zm9ybURhdGEuaGZvbnQo
KTsKKyNlbGlmIE9TKERBUldJTikgJiYgVVNFKENHKQorICAgIHRyeU1hdGhEYXRhID0gcGxhdGZv
cm1EYXRhLmZvbnQoKTsKKyNlbGlmIFVTRShGUkVFVFlQRSkKKyAgICB0cnlNYXRoRGF0YSA9IHBs
YXRmb3JtRGF0YS5oYXNoKCk7CisjZW5kaWYKKyAgICBpZiAodHJ5TWF0aERhdGEpCisgICAgICAg
IG1fbWF0aERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0TWF0aERhdGEoU3RyaW5nOjpudW1iZXIocGxh
dGZvcm1EYXRhLmhhc2goKSksIHBsYXRmb3JtRGF0YSk7CisKICNpZiBFTkFCTEUoT1BFTlRZUEVf
VkVSVElDQUwpCiAgICAgaWYgKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpID09IFZlcnRpY2Fs
ICYmICFpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKSB7CiAgICAgICAgIG1fdmVydGljYWxEYXRh
ID0gcGxhdGZvcm1EYXRhLnZlcnRpY2FsRGF0YSgpOwpAQCAtNzYsNiArOTAsNyBAQCBTaW1wbGVG
b250RGF0YTo6U2ltcGxlRm9udERhdGEoc3RkOjp1bmlxdWVfcHRyPEFkZGl0aW9uYWxGb250RGF0
YT4gZm9udERhdGEsIGZsbwogICAgICwgbV9pc0xvYWRpbmcoZmFsc2UpCiAgICAgLCBtX2lzVGV4
dE9yaWVudGF0aW9uRmFsbGJhY2soZmFsc2UpCiAgICAgLCBtX2lzQnJva2VuSWRlb2dyYXBoRmFs
bGJhY2soZmFsc2UpCisgICAgLCBtX21hdGhEYXRhKG51bGxwdHIpCiAjaWYgRU5BQkxFKE9QRU5U
WVBFX1ZFUlRJQ0FMKQogICAgICwgbV92ZXJ0aWNhbERhdGEoMCkKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKaW5kZXggNWRh
NWM5OC4uMDRkZDI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiR2x5cGhCdWZm
ZXIuaCIKICNpbmNsdWRlICJHbHlwaE1ldHJpY3NNYXAuaCIKICNpbmNsdWRlICJHbHlwaFBhZ2VU
cmVlTm9kZS5oIgorI2luY2x1ZGUgIk9wZW5UeXBlTWF0aERhdGEuaCIKICNpZiBFTkFCTEUoT1BF
TlRZUEVfVkVSVElDQUwpCiAjaW5jbHVkZSAiT3BlblR5cGVWZXJ0aWNhbERhdGEuaCIKICNlbmRp
ZgpAQCAtOTIsNiArOTMsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFNpbXBsZUZvbnRE
YXRhKiBzeXN0ZW1GYWxsYmFjaygpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgU2lt
cGxlRm9udERhdGEqPigtMSk7IH0KIAogICAgIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRm
b3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1EYXRhOyB9CisgICAgY29uc3QgT3Bl
blR5cGVNYXRoRGF0YSogbWF0aERhdGEoKSBjb25zdCB7IHJldHVybiBtX21hdGhEYXRhID8gbV9t
YXRoRGF0YS5nZXQoKSA6IG51bGxwdHI7IH0KICNpZiBFTkFCTEUoT1BFTlRZUEVfVkVSVElDQUwp
CiAgICAgY29uc3QgT3BlblR5cGVWZXJ0aWNhbERhdGEqIHZlcnRpY2FsRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fdmVydGljYWxEYXRhLmdldCgpOyB9CiAjZW5kaWYKQEAgLTI1OSw2ICsyNjEsNyBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBtX2lzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2s7CiAgICAg
Ym9vbCBtX2lzQnJva2VuSWRlb2dyYXBoRmFsbGJhY2s7CisgICAgUmVmUHRyPE9wZW5UeXBlTWF0
aERhdGE+IG1fbWF0aERhdGE7CiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgIFJl
ZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0YT4gbV92ZXJ0aWNhbERhdGE7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
TWF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUv
T3BlblR5cGVNYXRoRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MTgwOTczNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZGVyaWMgV2FuZyAoZnJlZC53YW5nQGZyZWUuZnIpLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk9wZW5UeXBlTWF0aERhdGEuaCIKKworI2luY2x1ZGUgIkZvbnRQbGF0
Zm9ybURhdGEuaCIKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitPcGVuVHlwZU1hdGhEYXRhOjpPcGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZvbnRQbGF0Zm9y
bURhdGEmKQoreworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcmVhZCB0aGUgZGF0YSBmcm9tIHRo
ZSBNQVRIIHRhYmxlIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMw
MzI0KS4KKyAgICBtX21hdGhCdWZmZXIgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dHlwZS9PcGVuVHlwZU1hdGhEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNjZhNDkxNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuaApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEZyZWRlcmljIFdhbmcgKGZyZWQud2FuZ0BmcmVl
LmZyKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
T3BlblR5cGVNYXRoRGF0YV9oCisjZGVmaW5lIE9wZW5UeXBlTWF0aERhdGFfaAorCisjaW5jbHVk
ZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CisKK2NsYXNzIE9wZW5UeXBlTWF0aERhdGEgOiBwdWJsaWMgUmVmQ291bnRl
ZDxPcGVuVHlwZU1hdGhEYXRhPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8T3Bl
blR5cGVNYXRoRGF0YT4gY3JlYXRlKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnREYXRhKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBPcGVuVHlwZU1hdGhEYXRhKGZvbnRE
YXRhKSk7CisgICAgfQorCisgICAgYm9vbCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWF0aEJ1ZmZlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE9wZW5UeXBlTWF0aERhdGEo
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fbWF0
aEJ1ZmZlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE9wZW5U
eXBlTWF0aERhdGFfaAo=
</data>
<flag name="review"
          id="252185"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228073</attachid>
            <date>2014-03-28 11:57:11 -0700</date>
            <delta_ts>2014-04-01 17:32:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>expose-MATH.patch</filename>
            <type>text/plain</type>
            <size>18458</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2NhNWRmOS4uYzQxYTA1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NDksNiArMTk0OSw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL1NvdXJjZUdyYXBoaWMuY3BwCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9TcG90TGlnaHRTb3VyY2UuY3BwCiAKKyAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXIuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGMxZDI1MTMuLjZiYzBi
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxNC0wMy0yOCAgRnLDqWTDqXJpYyBX
YW5nICA8ZnJlZC53YW5nQGZyZWUuZnI+CisKKyAgICAgICAgT3BlcmF0b3Igc3RyZXRjaGluZzog
ZXhwb3NlIGEgbWF0aCBkYXRhIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMwNTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXph
Y2guCisKKyAgICAgICAgV2UgZXhwb3NlIGEgbmV3IFNpbXBsZUZvbnREYXRhIEFQSSB0byBnaXZl
IGFjY2VzcyB0byB0aGUgZGF0YSBmcm9tIHRoZQorICAgICAgICBPcGVuVHlwZSBNQVRIIHRhYmxl
LiBUaGUgY2xhc3MgT3BlblR5cGVNYXRoRGF0YSB3aWxsCisgICAgICAgIGJlIGltcGxlbWVudGVk
IGluIGJ1ZyAxMzAzMjQuIE9uIERhcndpbiBwbGF0Zm9ybSwgd2UgYWxzbyBpbXBsZW1lbnQgdGhl
CisgICAgICAgIG1pc3NpbmcgRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBmdW5jdGlv
biB3aGljaCB3aWxsIGJlIG5lY2Vzc2FyeQorICAgICAgICB0byBsb2FkIHRoZSBPcGVuVHlwZSBN
QVRIIHRhYmxlLiBUaGUgY2hhbmdlcyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZAorICAgICAgICBm
b3IgTWF0aE1MIG9wZXJhdG9yIHN0cmV0Y2hpbmcgKGJ1ZyAxMzAzMjIpIHNvIHRlc3RzIGFyZSBu
b3QgYWRkZWQgeWV0LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IGFkZCBuZXcgT3BlblR5
cGVNYXRoRGF0YSBmaWxlcy4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qOiBkaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6IGRpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogZGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKTog
V2UgaW1wbGVtZW50IG9wZW5UeXBlVGFibGUoKSBvbiBEYXJ3aW4gcGxhdGZvcm0uCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oOiBXZSBleHBvc2Ugb3BlblR5
cGVUYWJsZSgpIG9uIERhcndpbiBwbGF0Zm9ybS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TaW1wbGVGb250RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6Om1hdGhE
YXRhKTogSW5pdGlhbGl6ZSBhbmQgcmV0dXJuIHRoZSBtYXRoIGRhdGEuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDogV2UgZXhwb3NlIGEgbWF0aERhdGEoKSBm
dW5jdGlvbiB0byBhY2Nlc3MgdGhlIE1BVEggZGF0YS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmNwcDogQWRkZWQuIFRoaXMgaXMgYSBuZXcg
Y2xhc3MgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcGFyc2UgdGhlIGRhdGEgZnJvbSB0aGUgT3BlblR5
cGUgTUFUSCB0YWJsZS4KKyAgICAgICAgKFdlYkNvcmU6Ok9wZW5UeXBlTWF0aERhdGE6Ok9wZW5U
eXBlTWF0aERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5U
eXBlTWF0aERhdGEuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpPcGVuVHlwZU1hdGhEYXRh
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGVNYXRoRGF0YTo6aGFzTWF0aERh
dGEpOgorCiAyMDE0LTAzLTI4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5j
b20+CiAKICAgICAgICAgQSBUcmFpbGluZ09iamVjdCdzIGVuZHBvaW50IG1pZ2h0IGdldCBkZWNy
ZW1lbnRlZCB0d2ljZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKaW5kZXggZjIxMmY3OC4uMjczNzY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03OTQ5LDYgKzc5NDksNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEludFJlY3RXaW4u
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2lu
XEludFNpemVXaW4uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
Z3JhcGhpY3Ncd2luXE1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuY3BwIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5cGVcT3Bl
blR5cGVNYXRoRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVV0aWxpdGllcy5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVZlcnRp
Y2FsRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFw
aGljc1x3aW5cU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAiPgpAQCAtMTkzNzIsNiArMTkzNzMs
NyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXEZ1
bGxTY3JlZW5Db250cm9sbGVyQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxXaW5kb3dzQ29udGV4dC5oIiAvPgogICAgIDxD
dXN0b21CdWlsZFN0ZXAgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luXE1lZGlhUGxh
eWVyUHJpdmF0ZUZ1bGxzY3JlZW5XaW5kb3cuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlTWF0aERhdGEuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlXE9wZW5U
eXBlVHlwZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBo
aWNzXG9wZW50eXBlXE9wZW5UeXBlVXRpbGl0aWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVZlcnRpY2FsRGF0YS5o
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvai5maWx0ZXJzCmluZGV4IDQ0ZjY1MGIuLjNkZjhkNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAg
LTE0NzYsNiArMTQ3Niw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxn
cmFwaGljc1x3aW5cTWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbldpbmRvdy5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBl
XE9wZW5UeXBlTWF0aERhdGEuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3Nc
d2luPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZVV0aWxpdGllcy5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4KICAgICA8L0NsQ29tcGls
ZT4KQEAgLTg0MzEsNiArODQzNCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1x3aW5cTG9jYWxXaW5kb3dzQ29udGV4dC5oIj4KICAgICAgIDxGaWx0ZXI+
cGxhdGZvcm1cZ3JhcGhpY3Ncd2luPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZVxPcGVuVHlwZU1h
dGhEYXRhLmgiPgorICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x3aW48L0ZpbHRlcj4K
KyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdy
YXBoaWNzXG9wZW50eXBlXE9wZW5UeXBlVHlwZXMuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XGdyYXBoaWNzXHdpbjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUwMzIwYjIuLjM5
NDU0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTQ1OTMsNiArNDU5Myw4IEBACiAJCUIyQzNEQTYzMEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250Q2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyQzNEQTUyMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FjaGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCMkMzREE2NDBEMDA2Q0Q2
MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJDM0RBNTMwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZv
bnREYXRhLmNwcCAqLzsgfTsKIAkJQjJDM0RBNjUwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZv
bnREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MkMzREE1NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCMkQzREE2NDBEMDA2Q0Q2MDBF
RjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMkQzREE1MzBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVN
YXRoRGF0YS5jcHAgKi87IH07CisJCUIyRDNEQTY1MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlw
ZU1hdGhEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMkQzREE1NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIyQzNEQTY2MEQwMDZD
RDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyQzNEQTU1MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVz
Y3JpcHRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCMkMzREE2NzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkMzREE1NjBEMDA2Q0Q2MDBF
RjZGMjYgLyogRm9udEdseXBocy5jcHAgKi87IH07CiAJCUIyQzNEQTY4MEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250R2x5cGhzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMkMzREE1NzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTg0MSw2ICsxMTg0
Myw4IEBACiAJCUIyQzNEQTUyMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FjaGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRDYWNoZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMkMzREE1MzBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNpbXBsZUZvbnREYXRh
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJDM0RBNTQwRDAwNkNENjAwRUY2
RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTaW1wbGVGb250RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkQzREE1
MzBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIyRDNEQTU0MEQwMDZDRDYwMEVGNkYyNyAvKiBP
cGVuVHlwZU1hdGhEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBvcGVu
dHlwZS9PcGVuVHlwZU1hdGhEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
QzNEQTU1MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RGVzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnREZXNjcmlwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMkMzREE1NjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEdseXBocy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEdseXBocy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyQzNEQTU3MEQwMDZDRDYwMEVGNkYyNiAvKiBG
b250R2x5cGhzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250R2x5cGhz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDEyOSw2ICsyMDEzMyw4IEBACiAJ
CQkJMEYzREQ0NEUxMkY1RUExQjAwMEQ5MTkwIC8qIFNoYWRvd0JsdXIuaCAqLywKIAkJCQlCMkMz
REE1MzBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuY3BwICovLAogCQkJCUIyQzNE
QTU0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5oICovLAorCQkJCUIyRDNEQTUz
MEQwMDZDRDYwMEVGNkYyNyAvKiBPcGVuVHlwZU1hdGhEYXRhLmNwcCAqLywKKwkJCQlCMkQzREE1
NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oICovLAogCQkJCUNENjQxRUIy
MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi8sCiAJCQkJQ0RDNjFE
QTAxODA4NjdEODAwNEI5MTNGIC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLywKIAkJCQlDREM4
QjVBQzE4MDRBRTVEMDAxNkU2ODUgLyogU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudC5oICovLApA
QCAtMjU0NjksNiArMjU0NzUsNyBAQAogCQkJCUUxQjc4MzlDMTYzNzQwQTcwMDA3QjY5MiAvKiBT
aGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFEMTY4RUUxMDIyNkU4
OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJD
M0RBNjUwRDAwNkNENjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCMkQzREE2NTBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ4OTQ0QTMxODBCNTdEODAwRjE2NUQ4IC8qIFNpbXBsZUxpbmVMYXlv
dXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RTlCMTFEMTgxNDU2OUMwMDNBQ0NERiAvKiBTaW1w
bGVMaW5lTGF5b3V0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEU5QjExOTE4MTA5
MTZGMDAzQUNDREYgLyogU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTI4ODMyLDYgKzI4ODM5LDcgQEAKIAkJCQlFMUI3ODQyMDE2MzlDQkJFMDAwN0I2OTIgLyog
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUQxNjhFRDEw
MjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyQzNEQTY0MEQwMDZDRDYwMEVGNkYyNiAvKiBTaW1wbGVGb250RGF0YS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlCMkQzREE2NDBEMDA2Q0Q2MDBFRjZGMjcgLyogT3BlblR5cGVNYXRoRGF0
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNjNFODhGNzExOEEzOUQyMDBFRDkyMzEgLyogU2lt
cGxlRm9udERhdGFDb3JlVGV4dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0U2NTk1MDE2M0Ix
MEMyMDBFQjQ1NzQgLyogU2ltcGxlRm9udERhdGFJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlC
MkFGRkM3RjBEMDBBNUMxMDAzMDA3NEQgLyogU2ltcGxlRm9udERhdGFNYWMubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBs
YXRmb3JtRGF0YS5jcHAKaW5kZXggNTMwOGViZC4uMTlkNjc2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTI3
LDYgKzI3LDExIEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgT1MoREFSV0lOKSAmJiBVU0UoQ0cpCisjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udC5oPgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShXVEY6Okhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCkBAIC0xNjksNCArMTc0
LDE0IEBAIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIEZvbnRQbGF0Zm9ybURhdGE6Om9wZXJhdG9y
PShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlCiAgICAgcmV0dXJuIHBsYXRmb3JtRGF0YUFz
c2lnbihvdGhlcik7CiB9CiAKKyNpZiBPUyhEQVJXSU4pICYmIFVTRShDRykKK1Bhc3NSZWZQdHI8
U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRh
YmxlKSBjb25zdAoreworICAgIGlmIChDRkRhdGFSZWYgZGF0YSA9IENHRm9udENvcHlUYWJsZUZv
clRhZyhjZ0ZvbnQoKSwgdGFibGUpKQorICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjp3cmFw
Q0ZEYXRhKGRhdGEpOworICAgIAorICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuaAppbmRleCBiZmE1NzA5Li4zMWE5ODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yMTYsNyArMjE2LDcgQEAg
cHVibGljOgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8
fCBVU0UoQ0FJUk8pKQorI2lmIChPUyhEQVJXSU4pICYmIFVTRShDRykpIHx8IChQTEFURk9STShX
SU4pICYmIChVU0UoQ0cpIHx8IFVTRShDQUlSTykpKQogICAgIFBhc3NSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdDsKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAK
aW5kZXggNDVlNWI2Yy4uYjgzMjdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcApAQCAtMzIsNiArMzIsNyBAQAogCiAjaW5j
bHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgorI2luY2x1ZGUgIk9wZW5UeXBl
TWF0aERhdGEuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCiAjaWYgRU5BQkxFKE9Q
RU5UWVBFX1ZFUlRJQ0FMKQpAQCAtNTIsNiArNTMsNyBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxl
Rm9udERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBib29sIGlzQ3Vz
dAogICAgICwgbV9pc0xvYWRpbmcoaXNMb2FkaW5nKQogICAgICwgbV9pc1RleHRPcmllbnRhdGlv
bkZhbGxiYWNrKGlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2spCiAgICAgLCBtX2lzQnJva2VuSWRl
b2dyYXBoRmFsbGJhY2soZmFsc2UpCisgICAgLCBtX21hdGhEYXRhKG51bGxwdHIpCiAjaWYgRU5B
QkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgICwgbV92ZXJ0aWNhbERhdGEoMCkKICNlbmRpZgpA
QCAtNzYsNiArNzgsNyBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoc3RkOjp1bmlx
dWVfcHRyPEFkZGl0aW9uYWxGb250RGF0YT4gZm9udERhdGEsIGZsbwogICAgICwgbV9pc0xvYWRp
bmcoZmFsc2UpCiAgICAgLCBtX2lzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soZmFsc2UpCiAgICAg
LCBtX2lzQnJva2VuSWRlb2dyYXBoRmFsbGJhY2soZmFsc2UpCisgICAgLCBtX21hdGhEYXRhKG51
bGxwdHIpCiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgICwgbV92ZXJ0aWNhbERh
dGEoMCkKICNlbmRpZgpAQCAtMjU2LDYgKzI1OSwxNiBAQCBTdHJpbmcgU2ltcGxlRm9udERhdGE6
OmRlc2NyaXB0aW9uKCkgY29uc3QKIH0KICNlbmRpZgogCitjb25zdCBPcGVuVHlwZU1hdGhEYXRh
KiBTaW1wbGVGb250RGF0YTo6bWF0aERhdGEoKSBjb25zdAoreworICAgIGlmICghbV9tYXRoRGF0
YSkgeworICAgICAgICBtX21hdGhEYXRhID0gT3BlblR5cGVNYXRoRGF0YTo6Y3JlYXRlKG1fcGxh
dGZvcm1EYXRhKTsKKyAgICAgICAgaWYgKCFtX21hdGhEYXRhLT5oYXNNYXRoRGF0YSgpKQorICAg
ICAgICAgICAgbV9tYXRoRGF0YS5jbGVhcigpOworICAgIH0KKyAgICByZXR1cm4gbV9tYXRoRGF0
YS5nZXQoKTsKK30KKwogUGFzc093blB0cjxTaW1wbGVGb250RGF0YTo6RGVyaXZlZEZvbnREYXRh
PiBTaW1wbGVGb250RGF0YTo6RGVyaXZlZEZvbnREYXRhOjpjcmVhdGUoYm9vbCBmb3JDdXN0b21G
b250KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGVyaXZlZEZvbnREYXRhKGZvckN1c3Rv
bUZvbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCmluZGV4IDVkYTVjOTguLjRjMmZiN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNzTWFwLmgiCiAj
aW5jbHVkZSAiR2x5cGhQYWdlVHJlZU5vZGUuaCIKKyNpbmNsdWRlICJPcGVuVHlwZU1hdGhEYXRh
LmgiCiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogI2luY2x1ZGUgIk9wZW5UeXBlVmVy
dGljYWxEYXRhLmgiCiAjZW5kaWYKQEAgLTkyLDYgKzkzLDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBTaW1wbGVGb250RGF0YSogc3lzdGVtRmFsbGJhY2soKSB7IHJldHVybiByZWludGVy
cHJldF9jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oLTEpOyB9CiAKICAgICBjb25zdCBGb250
UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtRGF0
YTsgfQorICAgIGNvbnN0IE9wZW5UeXBlTWF0aERhdGEqIG1hdGhEYXRhKCkgY29uc3Q7CiAjaWYg
RU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgIGNvbnN0IE9wZW5UeXBlVmVydGljYWxEYXRh
KiB2ZXJ0aWNhbERhdGEoKSBjb25zdCB7IHJldHVybiBtX3ZlcnRpY2FsRGF0YS5nZXQoKTsgfQog
I2VuZGlmCkBAIC0yNTksNiArMjYxLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9pc1RleHRP
cmllbnRhdGlvbkZhbGxiYWNrOwogICAgIGJvb2wgbV9pc0Jyb2tlbklkZW9ncmFwaEZhbGxiYWNr
OworICAgIG11dGFibGUgUmVmUHRyPE9wZW5UeXBlTWF0aERhdGE+IG1fbWF0aERhdGE7CiAjaWYg
RU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQogICAgIFJlZlB0cjxPcGVuVHlwZVZlcnRpY2FsRGF0
YT4gbV92ZXJ0aWNhbERhdGE7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0aERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVNYXRoRGF0YS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgwOTczNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlTWF0
aERhdGEuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRnJl
ZGVyaWMgV2FuZyAoZnJlZC53YW5nQGZyZWUuZnIpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9wZW5UeXBl
TWF0aERhdGEuaCIKKworI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGEuaCIKKwordXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPcGVuVHlwZU1hdGhEYXRhOjpP
cGVuVHlwZU1hdGhEYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKQoreworICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgcmVhZCB0aGUgZGF0YSBmcm9tIHRoZSBNQVRIIHRhYmxlIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMzI0KS4KKyAgICBtX21hdGhCdWZmZXIg
PSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZU1hdGhE
YXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZhNDkxNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09w
ZW5UeXBlTWF0aERhdGEuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEZyZWRlcmljIFdhbmcgKGZyZWQud2FuZ0BmcmVlLmZyKS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgT3BlblR5cGVNYXRoRGF0YV9oCisjZGVm
aW5lIE9wZW5UeXBlTWF0aERhdGFfaAorCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CisKK2NsYXNzIE9w
ZW5UeXBlTWF0aERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxPcGVuVHlwZU1hdGhEYXRhPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8T3BlblR5cGVNYXRoRGF0YT4gY3JlYXRlKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIGZvbnREYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBPcGVuVHlwZU1hdGhEYXRhKGZvbnREYXRhKSk7CisgICAgfQorCisgICAgYm9v
bCBoYXNNYXRoRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF0aEJ1ZmZlcjsgfQorCitwcml2YXRl
OgorICAgIGV4cGxpY2l0IE9wZW5UeXBlTWF0aERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYp
OworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fbWF0aEJ1ZmZlcjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIE9wZW5UeXBlTWF0aERhdGFfaAo=
</data>
<flag name="review"
          id="252338"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>