<?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>148278</bug_id>
          
          <creation_ts>2015-08-20 18:14:00 -0700</creation_ts>
          <short_desc>[iOS] Delete dead code</short_desc>
          <delta_ts>2015-08-20 18:46:54 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148216</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1119525</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-20 18:14:00 -0700</bug_when>
    <thetext>[iOS] Delete dead code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119529</commentid>
    <comment_count>1</comment_count>
      <attachid>259548</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-20 18:15:37 -0700</bug_when>
    <thetext>Created attachment 259548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119538</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-20 18:33:52 -0700</bug_when>
    <thetext>Committed r188726: &lt;http://trac.webkit.org/changeset/188726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119544</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-20 18:37:15 -0700</bug_when>
    <thetext>Committed r188729: &lt;http://trac.webkit.org/changeset/188729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119561</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-20 18:46:54 -0700</bug_when>
    <thetext>Committed r188734: &lt;http://trac.webkit.org/changeset/188734&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259548</attachid>
            <date>2015-08-20 18:15:37 -0700</date>
            <delta_ts>2015-08-20 18:16:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148278-20150820181532.patch</filename>
            <type>text/plain</type>
            <size>23715</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQyMzU2ZjllZTEyZmMy
NzE4YjgzNmM0ZThmOTU4ZjljN2EzNTQ3NS4uMTUyODM3Y2YzZDUyZWE1ZmZlZGU5YzRlM2Y5YTlm
NDBlMGY1ZDM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA4LTIwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRGVs
ZXRlIGRlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ4Mjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9pb3MvRm9udENhY2hlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y29weUZvbnRDaGFy
YWN0ZXJTZXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6YXBwbGVDb2xvckVtb2ppQ2hh
cmFjdGVyU2V0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnBob25lRmFsbGJhY2tDaGFy
YWN0ZXJTZXQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6bGFuZ3VhZ2VTcGVjaWZpY0Zh
bGxiYWNrRm9udCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3Rl
bUZhbGxiYWNrRm9yQ2hhcmFjdGVycyk6IERlbGV0ZWQuCisKIDIwMTUtMDgtMjAgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjE4ODcxMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCAzZDAwYjU4NzBiNDQ4ZGI0YWVjYzZkZDEyNzE2
NzFiMDU1ZGI1NWY2Li4yNzllYzM3NzA5YTI3MmExYTZlNWEyZDMyYTk0MTcyOGRmOWE1Y2NiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENv
Y29hLm1tCkBAIC0yMjUsNDkgKzIyNSwxNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtSW5pdCgpCiAg
ICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEubV9zeW50aGV0aWNCb2xk
ID8gY2VpbGYobV9wbGF0Zm9ybURhdGEuc2l6ZSgpICAvIDI0LjBmKSA6IDAuZjsKICAgICBtX3Nw
YWNlR2x5cGggPSAwOwogICAgIG1fc3BhY2VXaWR0aCA9IDA7Ci0gICAgdW5zaWduZWQgdW5pdHNQ
ZXJFbTsKLSAgICBmbG9hdCBhc2NlbnQ7Ci0gICAgZmxvYXQgZGVzY2VudDsKLSAgICBmbG9hdCBj
YXBIZWlnaHQ7Ci0gICAgZmxvYXQgbGluZUdhcDsKLSAgICBmbG9hdCBsaW5lU3BhY2luZzsKLSAg
ICBmbG9hdCB4SGVpZ2h0OwotICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZmFtaWx5TmFtZTsK
LSAgICBpZiAoQ1RGb250UmVmIGN0Rm9udCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSkgewotICAg
ICAgICBGb250U2VydmljZXNJT1MgZm9udFNlcnZpY2UoY3RGb250KTsKLSAgICAgICAgYXNjZW50
ID0gY2VpbGYoZm9udFNlcnZpY2UuYXNjZW50KCkpOwotICAgICAgICBkZXNjZW50ID0gY2VpbGYo
Zm9udFNlcnZpY2UuZGVzY2VudCgpKTsKLSAgICAgICAgbGluZVNwYWNpbmcgPSBmb250U2Vydmlj
ZS5saW5lU3BhY2luZygpOwotICAgICAgICBsaW5lR2FwID0gZm9udFNlcnZpY2UubGluZUdhcCgp
OwotICAgICAgICB4SGVpZ2h0ID0gZm9udFNlcnZpY2UueEhlaWdodCgpOwotICAgICAgICBjYXBI
ZWlnaHQgPSBmb250U2VydmljZS5jYXBIZWlnaHQoKTsKLSAgICAgICAgdW5pdHNQZXJFbSA9IGZv
bnRTZXJ2aWNlLnVuaXRzUGVyRW0oKTsKLSAgICAgICAgZmFtaWx5TmFtZSA9IGFkb3B0Q0YoQ1RG
b250Q29weUZhbWlseU5hbWUoY3RGb250KSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gRklY
TUU6IFRoaXMgZWxzZSBibG9jayBpcyBkZWFkIGNvZGUuIFJlbW92ZSBpdC4KLSAgICAgICAgQ0dG
b250UmVmIGNnRm9udCA9IG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpOwotCi0gICAgICAgIHVuaXRz
UGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKGNnRm9udCk7Ci0KLSAgICAgICAgZmxvYXQgcG9p
bnRTaXplID0gbV9wbGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgICAgICBhc2NlbnQgPSBscm91bmRm
KHNjYWxlRW1Ub1VuaXRzKENHRm9udEdldEFzY2VudChjZ0ZvbnQpLCB1bml0c1BlckVtKSAqIHBv
aW50U2l6ZSk7Ci0gICAgICAgIGRlc2NlbnQgPSBscm91bmRmKC1zY2FsZUVtVG9Vbml0cygtYWJz
KENHRm9udEdldERlc2NlbnQoY2dGb250KSksIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKLSAg
ICAgICAgbGluZUdhcCA9IGxyb3VuZGYoc2NhbGVFbVRvVW5pdHMoQ0dGb250R2V0TGVhZGluZyhj
Z0ZvbnQpLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZSk7Ci0gICAgICAgIHhIZWlnaHQgPSBzY2Fs
ZUVtVG9Vbml0cyhDR0ZvbnRHZXRYSGVpZ2h0KGNnRm9udCksIHVuaXRzUGVyRW0pICogcG9pbnRT
aXplOwotICAgICAgICBjYXBIZWlnaHQgPSBzY2FsZUVtVG9Vbml0cyhDR0ZvbnRHZXRDYXBIZWln
aHQoY2dGb250KSwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0KLSAgICAgICAgbGluZVNwYWNp
bmcgPSBhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcDsKLSAgICAgICAgZmFtaWx5TmFtZSA9IGFk
b3B0Q0YoQ0dGb250Q29weUZhbWlseU5hbWUoY2dGb250KSk7Ci0gICAgfQogCi0gICAgbV9mb250
TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwotICAgIG1fZm9udE1ldHJpY3Muc2V0
QXNjZW50KGFzY2VudCk7Ci0gICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwot
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKLSAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKLSAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7Ci0gICAgbV9mb250TWV0cmljcy5zZXRDYXBIZWlnaHQoY2FwSGVpZ2h0KTsK
LSAgICBtX3Nob3VsZE5vdEJlVXNlZEZvckFyYWJpYyA9IGZvbnRGYW1pbHlTaG91bGROb3RCZVVz
ZWRGb3JBcmFiaWMoZmFtaWx5TmFtZS5nZXQoKSk7CisgICAgQ1RGb250UmVmIGN0Rm9udCA9IG1f
cGxhdGZvcm1EYXRhLmZvbnQoKTsKKyAgICBGb250U2VydmljZXNJT1MgZm9udFNlcnZpY2UoY3RG
b250KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0oZm9udFNlcnZpY2UudW5pdHNQ
ZXJFbSgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChjZWlsZihmb250U2VydmljZS5h
c2NlbnQoKSkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChjZWlsZihmb250U2Vydmlj
ZS5kZXNjZW50KCkpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoZm9udFNlcnZpY2Uu
bGluZUdhcCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZvbnRTZXJ2aWNl
LmxpbmVTcGFjaW5nKCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChmb250U2Vydmlj
ZS54SGVpZ2h0KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0Q2FwSGVpZ2h0KGZvbnRTZXJ2aWNl
LmNhcEhlaWdodCgpKTsKKyAgICBtX3Nob3VsZE5vdEJlVXNlZEZvckFyYWJpYyA9IGZvbnRGYW1p
bHlTaG91bGROb3RCZVVzZWRGb3JBcmFiaWMoYWRvcHRDRihDVEZvbnRDb3B5RmFtaWx5TmFtZShj
dEZvbnQpKS5nZXQoKSk7CiAKICAgICBpZiAocGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9
PSBWZXJ0aWNhbCAmJiAhaXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaygpKQogICAgICAgICBtX2hh
c1ZlcnRpY2FsR2x5cGhzID0gZm9udEhhc1ZlcnRpY2FsR2x5cGhzKG1fcGxhdGZvcm1EYXRhLmN0
Rm9udCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3Mv
Rm9udENhY2hlSU9TLm1tCmluZGV4IGZlZWE4ZDM4MTVmNjQ3OTZkNmY3MGU4ZDdkZjkxZmQzODQ1
MDZlZWYuLjA4MDE1OTlhYjUwODA3ZWE4OTEwMjAzNmZlYzE2MTg5YzE0ZTQ1ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5t
bQpAQCAtNTQsMjggKzU0LDYgQEAgc3RhdGljIGlubGluZSBib29sIHJlcXVpcmVzQ3VzdG9tRmFs
bGJhY2tGb250KGNvbnN0IFVJbnQzMiBjaGFyYWN0ZXIpCiAgICAgcmV0dXJuIGNoYXJhY3RlciA9
PSBBcHBsZUxvZ28gfHwgY2hhcmFjdGVyID09IGJsYWNrQ2lyY2xlIHx8IGNoYXJhY3RlciA9PSBu
YXJyb3dOb25CcmVha2luZ1NwYWNlOwogfQogCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCA5MDAwMAotc3RhdGljIENGQ2hhcmFjdGVyU2V0UmVmIGNvcHlGb250Q2hhcmFj
dGVyU2V0KENGU3RyaW5nUmVmIGZvbnROYW1lKQotewotICAgIC8vIFRoZSBzaXplLCAxMCwgaXMg
YXJiaXRyYXJ5LgotICAgIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBmb250RGVzY3Jp
cHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhOYW1lQW5kU2l6ZShmb250
TmFtZSwgMTApKTsKLSAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250ID0gYWRvcHRDRihDVEZv
bnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IoZm9udERlc2NyaXB0b3IuZ2V0KCksIDEwLCBudWxs
cHRyKSk7Ci0gICAgcmV0dXJuIChDRkNoYXJhY3RlclNldFJlZilDVEZvbnREZXNjcmlwdG9yQ29w
eUF0dHJpYnV0ZShmb250RGVzY3JpcHRvci5nZXQoKSwga0NURm9udENoYXJhY3RlclNldEF0dHJp
YnV0ZSk7Ci19Ci0KLXN0YXRpYyBDRkNoYXJhY3RlclNldFJlZiBhcHBsZUNvbG9yRW1vamlDaGFy
YWN0ZXJTZXQoKQotewotICAgIHN0YXRpYyBDRkNoYXJhY3RlclNldFJlZiBjaGFyYWN0ZXJTZXQg
PSBjb3B5Rm9udENoYXJhY3RlclNldChDRlNUUigiQXBwbGVDb2xvckVtb2ppIikpOwotICAgIHJl
dHVybiBjaGFyYWN0ZXJTZXQ7Ci19Ci0KLXN0YXRpYyBDRkNoYXJhY3RlclNldFJlZiBwaG9uZUZh
bGxiYWNrQ2hhcmFjdGVyU2V0KCkKLXsKLSAgICBzdGF0aWMgQ0ZDaGFyYWN0ZXJTZXRSZWYgY2hh
cmFjdGVyU2V0ID0gY29weUZvbnRDaGFyYWN0ZXJTZXQoQ0ZTVFIoIi5QaG9uZUZhbGxiYWNrIikp
OwotICAgIHJldHVybiBjaGFyYWN0ZXJTZXQ7Ci19Ci0jZW5kaWYKLQogUGFzc1JlZlB0cjxGb250
PiBGb250Q2FjaGU6OmdldFN5c3RlbUZvbnRGYWxsYmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgY29uc3QgRm9udCogb3JpZ2luYWxGb250RGF0YSwg
Y29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICBjb25zdCBG
b250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEgPSBvcmlnaW5hbEZvbnREYXRhLT5wbGF0Zm9y
bURhdGEoKTsKQEAgLTEwOCwxMDUgKzg2LDYgQEAgUGFzc1JlZlB0cjxGb250PiBGb250Q2FjaGU6
OmdldFN5c3RlbUZvbnRGYWxsYmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9udERlc2NyaXAKICAg
ICByZXR1cm4gZm9udEZvclBsYXRmb3JtRGF0YShhbHRlcm5hdGVGb250KTsKIH0KIAotI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgOTAwMDAKLWVudW0gY2xhc3MgTGFuZ3Vh
Z2VTcGVjaWZpY0ZvbnQgewotICAgIE5vbmUsCi0gICAgQ2hpbmVzZUphcGFuZXNlLAotICAgIEtv
cmVhbiwKLSAgICBDeXJpbGxpYywKLSAgICBBcmFiaWMsCi0gICAgSGVicmV3LAotICAgIEluZGlj
LAotICAgIFRoYWksCi0gICAgTGFvLAotICAgIFRpYmV0YW4sCi0gICAgQ2FuYWRpYW5BYm9yaWdp
bmFsU3lsbGFiaWMsCi0gICAgS2htZXIsCi0gICAgRW1vamksCi19OwotCi1zdGF0aWMgTGFuZ3Vh
Z2VTcGVjaWZpY0ZvbnQgbGFuZ3VhZ2VTcGVjaWZpY0ZhbGxiYWNrRm9udChVQ2hhcjMyIGMpCi17
Ci0gICAgc3RhdGljIGJvb2wgaXNHQjE4MDMwQ29tcGxpYW5jZVJlcXVpcmVkID0gd2tJc0dCMTgw
MzBDb21wbGlhbmNlUmVxdWlyZWQoKTsKLQotICAgIC8vIFRoZSBmb2xsb3dpbmcgcmFuZ2VzIGFy
ZSBLb3JlYW4gSGFuZ3VsIGFuZCBzaG91bGQgYmUgcmVuZGVyZWQgYnkgQXBwbGVTREdvdGhpY05l
bwotICAgIC8vIFUrMTEwMCAtIFUrMTFGRgotICAgIC8vIFUrMzEzMCAtIFUrMzE4RgotICAgIC8v
IFUrQUMwMCAtIFUrRDdBMwotCi0gICAgLy8gVGhlc2UgYXJlIEN5cmlsbGljIGFuZCBzaG91bGQg
YmUgcmVuZGVyZWQgYnkgSGVsdmV0aWNhIE5ldWUKLSAgICAvLyBVKzA0MDAgLSBVKzA1MkYKLQot
ICAgIGlmIChjIDwgMHg0MDApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNpZmljRm9udDo6
Tm9uZTsKLSAgICBpZiAoYyA8IDB4NTMwKQotICAgICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZp
Y0ZvbnQ6OkN5cmlsbGljOwotICAgIGlmIChjIDwgMHg1OTApCi0gICAgICAgIHJldHVybiBMYW5n
dWFnZVNwZWNpZmljRm9udDo6Tm9uZTsKLSAgICBpZiAoYyA8IDB4NjAwKQotICAgICAgICByZXR1
cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkhlYnJldzsKLSAgICBpZiAoYyA8IDB4NzAwKQotICAg
ICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkFyYWJpYzsKLSAgICBpZiAoYyA8IDB4
OTAwKQotICAgICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6Ok5vbmU7Ci0gICAgaWYg
KGMgPCAweEUwMCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpJbmRpYzsK
LSAgICBpZiAoYyA8IDB4RTgwKQotICAgICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6
OlRoYWk7Ci0gICAgaWYgKGMgPCAweDBGMDApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNp
ZmljRm9udDo6TGFvOwotICAgIGlmIChjIDwgMHgxMDAwKQotICAgICAgICByZXR1cm4gTGFuZ3Vh
Z2VTcGVjaWZpY0ZvbnQ6OlRpYmV0YW47Ci0gICAgaWYgKGMgPCAweDExMDApCi0gICAgICAgIHJl
dHVybiBMYW5ndWFnZVNwZWNpZmljRm9udDo6Tm9uZTsKLSAgICBpZiAoYyA8IDB4MTIwMCkKLSAg
ICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpLb3JlYW47Ci0gICAgaWYgKGMgPCAw
eDE0MDApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNpZmljRm9udDo6Tm9uZTsKLSAgICBp
ZiAoYyA8IDB4MTc4MCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpDYW5h
ZGlhbkFib3JpZ2luYWxTeWxsYWJpYzsKLSAgICBpZiAoYyA8IDB4MTgwMCkKLSAgICAgICAgcmV0
dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpLaG1lcjsKLSAgICBpZiAoYyA8IDB4MkU4MCkKLSAg
ICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpOb25lOwotICAgIGlmIChjIDwgMHgz
MTMwKQotICAgICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkNoaW5lc2VKYXBhbmVz
ZTsKLSAgICBpZiAoYyA8IDB4MzE5MCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNG
b250OjpLb3JlYW47Ci0gICAgaWYgKGMgPCAweEFDMDApCi0gICAgICAgIHJldHVybiBMYW5ndWFn
ZVNwZWNpZmljRm9udDo6Q2hpbmVzZUphcGFuZXNlOwotICAgIGlmIChjIDwgMHhEN0E0KQotICAg
ICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OktvcmVhbjsKLSAgICBpZiAoYyA8IDB4
RTAwMCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpDaGluZXNlSmFwYW5l
c2U7Ci0gICAgaWYgKGMgPCAweEU2MDApCi0gICAgICAgIHJldHVybiBpc0dCMTgwMzBDb21wbGlh
bmNlUmVxdWlyZWQgPyBMYW5ndWFnZVNwZWNpZmljRm9udDo6Q2hpbmVzZUphcGFuZXNlIDogTGFu
Z3VhZ2VTcGVjaWZpY0ZvbnQ6OkVtb2ppOwotICAgIGlmIChjIDwgMHhFODY1ICYmIGlzR0IxODAz
MENvbXBsaWFuY2VSZXF1aXJlZCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250
OjpDaGluZXNlSmFwYW5lc2U7Ci0gICAgaWYgKGMgPCAweEY5MDApCi0gICAgICAgIHJldHVybiBM
YW5ndWFnZVNwZWNpZmljRm9udDo6Tm9uZTsKLSAgICBpZiAoYyA8IDB4RkIwMCkKLSAgICAgICAg
cmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpDaGluZXNlSmFwYW5lc2U7Ci0gICAgaWYgKGMg
PCAweEZCNTApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNpZmljRm9udDo6Tm9uZTsKLSAg
ICBpZiAoYyA8IDB4RkUwMCkKLSAgICAgICAgcmV0dXJuIExhbmd1YWdlU3BlY2lmaWNGb250OjpB
cmFiaWM7Ci0gICAgaWYgKGMgPCAweEZFMjApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNp
ZmljRm9udDo6Tm9uZTsKLSAgICBpZiAoYyA8IDB4RkU3MCkKLSAgICAgICAgcmV0dXJuIExhbmd1
YWdlU3BlY2lmaWNGb250OjpDaGluZXNlSmFwYW5lc2U7Ci0gICAgaWYgKGMgPCAweEZGMDApCi0g
ICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNpZmljRm9udDo6QXJhYmljOwotICAgIGlmIChjIDwg
MHhGRkYwKQotICAgICAgICByZXR1cm4gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkNoaW5lc2VKYXBh
bmVzZTsKLSAgICBpZiAoYyA8IDB4MjAwMDApCi0gICAgICAgIHJldHVybiBMYW5ndWFnZVNwZWNp
ZmljRm9udDo6Tm9uZTsKLSAgICBpZiAoYyA8IDB4MzAwMDApCi0gICAgICAgIHJldHVybiBMYW5n
dWFnZVNwZWNpZmljRm9udDo6Q2hpbmVzZUphcGFuZXNlOwotICAgIHJldHVybiBMYW5ndWFnZVNw
ZWNpZmljRm9udDo6Tm9uZTsKLX0KLSNlbmRpZgotCiBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpz
eXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcmlw
dGlvbiwgY29uc3QgRm9udCogb3JpZ2luYWxGb250RGF0YSwgYm9vbCwgY29uc3QgVUNoYXIqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKICAgICAvLyBVbmxpa2UgT1MgWCwgb3VyIGZh
bGxiYWNrIGZvbnQgb24gaVBob25lIGlzIEFyaWFsIFVuaWNvZGUsIHdoaWNoIGRvZXNuJ3QgaGF2
ZSBzb21lIGFwcGxlLXNwZWNpZmljIGdseXBocyBsaWtlIEY4RkYuCkBAIC0yMzEsMjI5ICsxMTAs
NiBAQCBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpzeXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMo
Y29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcgogCiAgICAgUmVmUHRyPEZvbnQ+IGZvbnQ7CiAK
LSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDkwMDAwCi0gICAgTGFuZ3Vh
Z2VTcGVjaWZpY0ZvbnQgbGFuZ3VhZ2VTcGVjaWZpY0ZvbnQgPSBMYW5ndWFnZVNwZWNpZmljRm9u
dDo6Tm9uZTsKLSAgICBpZiAobGVuZ3RoKQotICAgICAgICBsYW5ndWFnZVNwZWNpZmljRm9udCA9
IGxhbmd1YWdlU3BlY2lmaWNGYWxsYmFja0ZvbnQoYyk7Ci0KLSAgICBzd2l0Y2ggKGxhbmd1YWdl
U3BlY2lmaWNGb250KSB7Ci0gICAgY2FzZSBMYW5ndWFnZVNwZWNpZmljRm9udDo6Q2hpbmVzZUph
cGFuZXNlOiB7Ci0gICAgICAgIC8vIEJ5IGRlZmF1bHQsIENoaW5lc2UgZm9udCBpcyBwcmVmZXJy
ZWQsIGZhbGwgYmFjayBvbiBKYXBhbmVzZS4KLQotICAgICAgICBlbnVtIENKS0ZvbnRWYXJpYW50
IHsKLSAgICAgICAgICAgIGtDSktGb250VXNlSGlyYWdpbm8gPSAwLAotICAgICAgICAgICAga0NK
S0ZvbnRVc2VTVEhlaXRpU0MsCi0gICAgICAgICAgICBrQ0pLRm9udFVzZVNUSGVpdGlUQywKLSAg
ICAgICAgICAgIGtDSktGb250VXNlU1RIZWl0aUosCi0gICAgICAgICAgICBrQ0pLRm9udFVzZVNU
SGVpdGlLLAotICAgICAgICAgICAga0NKS0ZvbnRzVXNlSEtHUFczVUkKLSAgICAgICAgfTsKLQot
ICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBwbGFpbkhpcmFnaW5v
KCJIaXJhS2FrdVByb04tVzMiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsK
LSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gcGxhaW5TVEhlaXRp
U0MoIlNUSGVpdGlTQy1MaWdodCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
OwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBwbGFpblNUSGVp
dGlUQygiU1RIZWl0aVRDLUxpZ2h0IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IHBsYWluU1RI
ZWl0aUooIlNUSGVpdGlKLUxpZ2h0IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IHBsYWluU1RI
ZWl0aUsoIlNUSGVpdGlLLUxpZ2h0IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IHBsYWluSEtH
UFczVUkoIkhLR1BXM1VJIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0g
ICAgICAgIHN0YXRpYyBBdG9taWNTdHJpbmcqIGNqa1BsYWluW10gPSB7ICAgICAKLSAgICAgICAg
ICAgICZwbGFpbkhpcmFnaW5vLmdldCgpLAotICAgICAgICAgICAgJnBsYWluU1RIZWl0aVNDLmdl
dCgpLAotICAgICAgICAgICAgJnBsYWluU1RIZWl0aVRDLmdldCgpLAotICAgICAgICAgICAgJnBs
YWluU1RIZWl0aUouZ2V0KCksCi0gICAgICAgICAgICAmcGxhaW5TVEhlaXRpSy5nZXQoKSwKLSAg
ICAgICAgICAgICZwbGFpbkhLR1BXM1VJLmdldCgpLAotICAgICAgICB9OwotCi0gICAgICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IGJvbGRIaXJhZ2lubygiSGlyYUtha3VQ
cm9OLVc2IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IGJvbGRTVEhlaXRpU0MoIlNUSGVpdGlT
Qy1NZWRpdW0iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gYm9sZFNUSGVpdGlUQygiU1RIZWl0
aVRDLU1lZGl1bSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBib2xkU1RIZWl0aUooIlNUSGVp
dGlKLU1lZGl1bSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBib2xkU1RIZWl0aUsoIlNUSGVp
dGlLLU1lZGl1bSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBib2xkSEtHUFczVUkoIkhLR1BX
M1VJIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRp
YyBBdG9taWNTdHJpbmcqIGNqa0JvbGRbXSA9IHsgIAotICAgICAgICAgICAgJmJvbGRIaXJhZ2lu
by5nZXQoKSwKLSAgICAgICAgICAgICZib2xkU1RIZWl0aVNDLmdldCgpLAotICAgICAgICAgICAg
JmJvbGRTVEhlaXRpVEMuZ2V0KCksCi0gICAgICAgICAgICAmYm9sZFNUSGVpdGlKLmdldCgpLAot
ICAgICAgICAgICAgJmJvbGRTVEhlaXRpSy5nZXQoKSwKLSAgICAgICAgICAgICZib2xkSEtHUFcz
VUkuZ2V0KCksCi0gICAgICAgIH07Ci0KLSAgICAgICAgLy8gRGVmYXVsdCBiZWxvdyBpcyBmb3Ig
U2ltcGxpZmllZCBDaGluZXNlIHVzZXI6IHpoLUhhbnMgLSBub3RlIHRoYXQgSGlyYWdpbm8gaXMg
dGhlCi0gICAgICAgIC8vIHRoZSBzZWNvbmRhcnkgZm9udCBhcyB3ZSB3YW50IGl0cyBmb3IgSGly
YWdhbmEgYW5kIEthdGFrYW5hLiBUaGUgb3RoZXIgQ0pLIGZvbnRzCi0gICAgICAgIC8vIGRvIG5v
dCwgYW5kIHNob3VsZCBub3QsIGNvbnRhaW4gSGlyYWdhbmEgb3IgS2F0YWthbmEgZ2x5cGhzLgot
ICAgICAgICBzdGF0aWMgQ0pLRm9udFZhcmlhbnQgcHJlZmVycmVkQ0pLRm9udCA9IGtDSktGb250
VXNlU1RIZWl0aVNDOwotICAgICAgICBzdGF0aWMgQ0pLRm9udFZhcmlhbnQgc2Vjb25kYXJ5Q0pL
Rm9udCA9IGtDSktGb250c1VzZUhLR1BXM1VJOwotCi0gICAgICAgIHN0YXRpYyBib29sIENKS0Zv
bnRJbml0aWFsaXplZDsKLSAgICAgICAgaWYgKCFDSktGb250SW5pdGlhbGl6ZWQpIHsKLSAgICAg
ICAgICAgIENKS0ZvbnRJbml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAgICAgICAvLyBUZXN0aW5n
OiBsYW5ndWFnZU5hbWUgPSAoQ0ZTdHJpbmdSZWYpQCJqYSI7Ci0gICAgICAgICAgICBOU1VzZXJE
ZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
OwotICAgICAgICAgICAgTlNBcnJheSAqbGFuZ3VhZ2VzID0gW2RlZmF1bHRzIHN0cmluZ0FycmF5
Rm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLQotICAgICAgICAgICAgaWYgKGxhbmd1YWdlcykg
ewotICAgICAgICAgICAgICAgIGZvciAoTlNTdHJpbmcgKmxhbmd1YWdlIGluIGxhbmd1YWdlcykg
ewotICAgICAgICAgICAgICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGxhbmd1YWdlTmFt
ZSA9IGFkb3B0Q0YoQ0ZMb2NhbGVDcmVhdGVDYW5vbmljYWxMYW5ndWFnZUlkZW50aWZpZXJGcm9t
U3RyaW5nKG51bGxwdHIsIChDRlN0cmluZ1JlZilsYW5ndWFnZSkpOwotICAgICAgICAgICAgICAg
ICAgICBpZiAoQ0ZFcXVhbChsYW5ndWFnZU5hbWUuZ2V0KCksIENGU1RSKCJ6aC1IYW5zIikpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIFNpbXBsaWZpZWQgQ2hpbmVzZSAtIGRl
ZmF1bHQgc2V0dGluZ3MKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoQ0ZFcXVhbChsYW5n
dWFnZU5hbWUuZ2V0KCksIENGU1RSKCJqYSIpKSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
cHJlZmVycmVkQ0pLRm9udCA9IGtDSktGb250VXNlSGlyYWdpbm87IC8vIEphcGFuZXNlIC0gcHJl
ZmVyIEhpcmFnaW5vIGFuZCBTVEhlaXRpIEphcGFuc2UgVmFyaWFudAotICAgICAgICAgICAgICAg
ICAgICAgICAgc2Vjb25kYXJ5Q0pLRm9udCA9IGtDSktGb250VXNlU1RIZWl0aUo7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChD
RkVxdWFsKGxhbmd1YWdlTmFtZS5nZXQoKSwgQ0ZTVFIoImtvIikpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBwcmVmZXJyZWRDSktGb250ID0ga0NKS0ZvbnRVc2VTVEhlaXRpSzsgLy8gS29y
ZWFuIC0gcHJlZmVyIFNUSGVpdGkgS29yZWFuIFZhcmlhbnQgCi0gICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChDRkVxdWFsKGxhbmd1
YWdlTmFtZS5nZXQoKSwgQ0ZTVFIoInpoLUhhbnQiKSkpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHByZWZlcnJlZENKS0ZvbnQgPSBrQ0pLRm9udFVzZVNUSGVpdGlUQzsgLy8gVHJhZGl0aW9u
YWwgQ2hpbmVzZSAtIHByZWZlciBTVEhlaXRpIFRyYWRpdGlvbmFsIFZhcmlhbnQKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9udCA9IGZvbnRG
b3JGYW1pbHkoZGVzY3JpcHRpb24sIGlzRm9udFdlaWdodEJvbGQoZGVzY3JpcHRpb24ud2VpZ2h0
KCkpID8gKmNqa0JvbGRbcHJlZmVycmVkQ0pLRm9udF0gOiAqY2prUGxhaW5bcHJlZmVycmVkQ0pL
Rm9udF0sIGZhbHNlKTsKLSAgICAgICAgYm9vbCB1c2VTZWNvbmRhcnlGb250ID0gdHJ1ZTsKLSAg
ICAgICAgaWYgKGZvbnQpIHsKLSAgICAgICAgICAgIENHR2x5cGggZ2x5cGhzWzJdOwotICAgICAg
ICAgICAgLy8gQ0dGb250R2V0R2x5cGhzRm9yVW5pY2hhcnMgdGFrZXMgVVRGLTE2IGJ1ZmZlci4g
U2hvdWxkIG9ubHkgYmUgMSBjb2RlcG9pbnQgYnV0IHNpbmNlIHdlIG1heSBwYXNzIGluIHR3byBV
VEYtMTYgY2hhcmFjdGVycywKLSAgICAgICAgICAgIC8vIG1ha2Ugcm9vbSBmb3IgMiBnbHlwaHMg
anVzdCB0byBiZSBzYWZlLgotICAgICAgICAgICAgQ0dGb250R2V0R2x5cGhzRm9yVW5pY2hhcnMo
Zm9udC0+cGxhdGZvcm1EYXRhKCkuY2dGb250KCksIGNoYXJhY3RlcnMsIGdseXBocywgbGVuZ3Ro
KTsKLQotICAgICAgICAgICAgdXNlU2Vjb25kYXJ5Rm9udCA9IChnbHlwaHNbMF0gPT0gMCk7Ci0g
ICAgICAgIH0KLQotICAgICAgICBpZiAodXNlU2Vjb25kYXJ5Rm9udCkKLSAgICAgICAgICAgIGZv
bnQgPSBmb250Rm9yRmFtaWx5KGRlc2NyaXB0aW9uLCBpc0ZvbnRXZWlnaHRCb2xkKGRlc2NyaXB0
aW9uLndlaWdodCgpKSA/ICpjamtCb2xkW3NlY29uZGFyeUNKS0ZvbnRdIDogKmNqa1BsYWluW3Nl
Y29uZGFyeUNKS0ZvbnRdLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNl
IExhbmd1YWdlU3BlY2lmaWNGb250OjpLb3JlYW46IHsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEF0b21pY1N0cmluZz4ga29yZWFuUGxhaW4oIkFwcGxlU0RHb3RoaWNOZW8tTWVkaXVt
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IGtvcmVhbkJvbGQoIkFwcGxlU0RHb3RoaWNOZW8t
Qm9sZCIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBmb250
ID0gZm9udEZvckZhbWlseShkZXNjcmlwdGlvbiwgaXNGb250V2VpZ2h0Qm9sZChkZXNjcmlwdGlv
bi53ZWlnaHQoKSkgPyBrb3JlYW5Cb2xkIDoga29yZWFuUGxhaW4sIGZhbHNlKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQotICAgIGNhc2UgTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkN5cmlsbGljOiB7
Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IGN5cmlsbGljUGxh
aW4oIkhlbHZldGljYU5ldWUiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsK
LSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gY3lyaWxsaWNCb2xk
KCJIZWx2ZXRpY2FOZXVlLUJvbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKLSAgICAgICAgZm9udCA9IGZvbnRGb3JGYW1pbHkoZGVzY3JpcHRpb24sIGlzRm9udFdlaWdo
dEJvbGQoZGVzY3JpcHRpb24ud2VpZ2h0KCkpID8gY3lyaWxsaWNCb2xkIDogY3lyaWxsaWNQbGFp
biwgZmFsc2UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBMYW5ndWFnZVNwZWNp
ZmljRm9udDo6QXJhYmljOiB7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNT
dHJpbmc+IGFyYWJpY1BsYWluKCJHZWV6YVBybyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBh
cmFiaWNCb2xkKCJHZWV6YVByby1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCk7Ci0gICAgICAgIGZvbnQgPSBmb250Rm9yRmFtaWx5KGRlc2NyaXB0aW9uLCBpc0ZvbnRX
ZWlnaHRCb2xkKGRlc2NyaXB0aW9uLndlaWdodCgpKSA/IGFyYWJpY0JvbGQgOiBhcmFiaWNQbGFp
biwgZmFsc2UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBMYW5ndWFnZVNwZWNp
ZmljRm9udDo6SGVicmV3OiB7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNT
dHJpbmc+IGhlYnJld1BsYWluKCJBcmlhbEhlYnJldyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5n
PiBoZWJyZXdCb2xkKCJBcmlhbEhlYnJldy1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCk7Ci0gICAgICAgIGZvbnQgPSBmb250Rm9yRmFtaWx5KGRlc2NyaXB0aW9uLCBp
c0ZvbnRXZWlnaHRCb2xkKGRlc2NyaXB0aW9uLndlaWdodCgpKSA/IGhlYnJld0JvbGQgOiBoZWJy
ZXdQbGFpbiwgZmFsc2UpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBMYW5ndWFn
ZVNwZWNpZmljRm9udDo6SW5kaWM6IHsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0
b21pY1N0cmluZz4gZGV2YW5hZ2FyaUZvbnQoIktvaGlub29yRGV2YW5hZ2FyaS1Cb29rIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IGJlbmdhbGlGb250KCJCYW5nbGFTYW5nYW1NTiIsIEF0b21p
Y1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8QXRvbWljU3RyaW5nPiBndXJtdWtoaUZvbnQoIkd1cm11a2hpTU4iLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsgLy8gTWlnaHQgYmUgcmVwbGFjZWQgaW4gYSBmdXR1
cmUgcmVsZWFzZSB3aXRoIGEgU2FuZ2FtIHZlcnNpb24uCi0gICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IGd1amFyYXRpRm9udCgiR3VqYXJhdGlTYW5nYW1NTiIsIEF0
b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBvcml5YUZvbnQoIk9yaXlhU2FuZ2FtTU4iLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEF0b21pY1N0cmluZz4gdGFtaWxGb250KCJUYW1pbFNhbmdhbU1OIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxB
dG9taWNTdHJpbmc+IHRlbHVndUZvbnQoIlRlbHVndVNhbmdhbU1OIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9t
aWNTdHJpbmc+IGthbm5hZGFGb250KCJLYW5uYWRhU2FuZ2FtTU4iLCBBdG9taWNTdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21p
Y1N0cmluZz4gbWFsYXlhbGFtRm9udCgiTWFsYXlhbGFtU2FuZ2FtTU4iLCBBdG9taWNTdHJpbmc6
OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0
b21pY1N0cmluZz4gc2luaGFsYUZvbnQoIlNpbmhhbGFTYW5nYW1NTiIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotCi0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxB
dG9taWNTdHJpbmc+IGRldmFuYWdhcmlGb250Qm9sZCgiS29oaW5vb3JEZXZhbmFnYXJpLU1lZGl1
bSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBiZW5nYWxpRm9udEJvbGQoIkJhbmdsYVNhbmdh
bU1OLUJvbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gZ3VybXVraGlGb250Qm9sZCgiR3Vy
bXVraGlNTi1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7IC8vIE1p
Z2h0IGJlIHJlcGxhY2VkIGluIGEgZnV0dXJlIHJlbGVhc2Ugd2l0aCBhIFNhbmdhbSB2ZXJzaW9u
LgotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBndWphcmF0aUZv
bnRCb2xkKCJHdWphcmF0aVNhbmdhbU1OLUJvbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4g
b3JpeWFGb250Qm9sZCgiT3JpeWFTYW5nYW1NTi1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJp
bmc+IHRhbWlsRm9udEJvbGQoIlRhbWlsU2FuZ2FtTU4tQm9sZCIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWlj
U3RyaW5nPiB0ZWx1Z3VGb250Qm9sZCgiVGVsdWd1U2FuZ2FtTU4tQm9sZCIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
QXRvbWljU3RyaW5nPiBrYW5uYWRhRm9udEJvbGQoIkthbm5hZGFTYW5nYW1NTi1Cb2xkIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IG1hbGF5YWxhbUZvbnRCb2xkKCJNYWxheWFsYW1TYW5nYW1N
Ti1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IHNpbmhhbGFGb250Qm9sZCgiU2luaGFs
YVNhbmdhbU1OLUJvbGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLQot
ICAgICAgICBzdGF0aWMgQXRvbWljU3RyaW5nKiBpbmRpY1VuaWNvZGVQYWdlRm9udHNbXSA9IHsK
LSAgICAgICAgICAgICZkZXZhbmFnYXJpRm9udC5nZXQoKSwKLSAgICAgICAgICAgICZiZW5nYWxp
Rm9udC5nZXQoKSwKLSAgICAgICAgICAgICZndXJtdWtoaUZvbnQuZ2V0KCksCi0gICAgICAgICAg
ICAmZ3VqYXJhdGlGb250LmdldCgpLAotICAgICAgICAgICAgJm9yaXlhRm9udC5nZXQoKSwKLSAg
ICAgICAgICAgICZ0YW1pbEZvbnQuZ2V0KCksCi0gICAgICAgICAgICAmdGVsdWd1Rm9udC5nZXQo
KSwKLSAgICAgICAgICAgICZrYW5uYWRhRm9udC5nZXQoKSwKLSAgICAgICAgICAgICZtYWxheWFs
YW1Gb250LmdldCgpLAotICAgICAgICAgICAgJnNpbmhhbGFGb250LmdldCgpCi0gICAgICAgIH07
Ci0KLSAgICAgICAgc3RhdGljIEF0b21pY1N0cmluZyogaW5kaWNVbmljb2RlUGFnZUZvbnRzQm9s
ZFtdID0gewotICAgICAgICAgICAgJmRldmFuYWdhcmlGb250Qm9sZC5nZXQoKSwKLSAgICAgICAg
ICAgICZiZW5nYWxpRm9udEJvbGQuZ2V0KCksCi0gICAgICAgICAgICAmZ3VybXVraGlGb250Qm9s
ZC5nZXQoKSwKLSAgICAgICAgICAgICZndWphcmF0aUZvbnRCb2xkLmdldCgpLAotICAgICAgICAg
ICAgJm9yaXlhRm9udEJvbGQuZ2V0KCksCi0gICAgICAgICAgICAmdGFtaWxGb250Qm9sZC5nZXQo
KSwKLSAgICAgICAgICAgICZ0ZWx1Z3VGb250Qm9sZC5nZXQoKSwKLSAgICAgICAgICAgICZrYW5u
YWRhRm9udEJvbGQuZ2V0KCksCi0gICAgICAgICAgICAmbWFsYXlhbGFtRm9udEJvbGQuZ2V0KCks
Ci0gICAgICAgICAgICAmc2luaGFsYUZvbnRCb2xkLmdldCgpCi0gICAgICAgIH07Ci0KLSAgICAg
ICAgdWludDMyX3QgaW5kaWNQYWdlT3JkZXJJbmRleCA9IChjIC0gMHgwOTAwKSAvIDB4MDA4MDsg
Ly8gSW5kaWMgc2NyaXB0cyBzdGFydCBhdCAweDA5MDAgaW4gVW5pY29kZS4gRWFjaCBzY3JpcHQg
aXMgYWxsb2NhbHRlZCBhIGJsb2NrIG9mIDB4ODAgY2hhcmFjdGVycy4KLSAgICAgICAgaWYgKGlu
ZGljUGFnZU9yZGVySW5kZXggPCAoc2l6ZW9mKGluZGljVW5pY29kZVBhZ2VGb250cykgLyBzaXpl
b2YoQXRvbWljU3RyaW5nKikpKSB7Ci0gICAgICAgICAgICBBdG9taWNTdHJpbmcqIGluZGljRm9u
dFN0cmluZyA9IGlzRm9udFdlaWdodEJvbGQoZGVzY3JpcHRpb24ud2VpZ2h0KCkpID8gaW5kaWNV
bmljb2RlUGFnZUZvbnRzQm9sZFtpbmRpY1BhZ2VPcmRlckluZGV4XSA6IGluZGljVW5pY29kZVBh
Z2VGb250c1tpbmRpY1BhZ2VPcmRlckluZGV4XTsKLSAgICAgICAgICAgIGlmIChpbmRpY0ZvbnRT
dHJpbmcpCi0gICAgICAgICAgICAgICAgZm9udCA9IGZvbnRGb3JGYW1pbHkoZGVzY3JpcHRpb24s
ICppbmRpY0ZvbnRTdHJpbmcsIGZhbHNlKTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAg
ICB9Ci0gICAgY2FzZSBMYW5ndWFnZVNwZWNpZmljRm9udDo6VGhhaTogewotICAgICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiB0aGFpUGxhaW4oIlRob25idXJpIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9taWNTdHJpbmc+IHRoYWlCb2xkKCJUaG9uYnVyaS1Cb2xkIiwgQXRvbWljU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIGZvbnQgPSBmb250Rm9yRmFtaWx5
KGRlc2NyaXB0aW9uLCBpc0ZvbnRXZWlnaHRCb2xkKGRlc2NyaXB0aW9uLndlaWdodCgpKSA/IHRo
YWlCb2xkIDogdGhhaVBsYWluLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBj
YXNlIExhbmd1YWdlU3BlY2lmaWNGb250OjpUaWJldGFuOiB7Ci0gICAgICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IHRpYmV0YW5QbGFpbigiS2FpbGFzYSIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8QXRvbWljU3RyaW5nPiB0aWJldGFuQm9sZCgiS2FpbGFzYS1Cb2xkIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIGZvbnQgPSBmb250Rm9yRmFtaWx5KGRl
c2NyaXB0aW9uLCBpc0ZvbnRXZWlnaHRCb2xkKGRlc2NyaXB0aW9uLndlaWdodCgpKSA/IHRpYmV0
YW5Cb2xkIDogdGliZXRhblBsYWluLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAg
ICBjYXNlIExhbmd1YWdlU3BlY2lmaWNGb250OjpDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpYzog
ewotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBjYXNQbGFpbigi
RXVwaGVtaWFVQ0FTIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAg
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IGNhc0JvbGQoIkV1cGhlbWlh
VUNBUy1Cb2xkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAg
IGZvbnQgPSBmb250Rm9yRmFtaWx5KGRlc2NyaXB0aW9uLCBpc0ZvbnRXZWlnaHRCb2xkKGRlc2Ny
aXB0aW9uLndlaWdodCgpKSA/IGNhc0JvbGQgOiBjYXNQbGFpbiwgZmFsc2UpOwotICAgICAgICBi
cmVhazsKLSAgICB9Ci0gICAgY2FzZSBMYW5ndWFnZVNwZWNpZmljRm9udDo6S2htZXI6IHsKLSAg
ICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4ga2htZXIoIktobWVyU2Fu
Z2FtTU4iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICAgICAgZm9u
dCA9IGZvbnRGb3JGYW1pbHkoZGVzY3JpcHRpb24sIGtobWVyLCBmYWxzZSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIH0KLSAgICBjYXNlIExhbmd1YWdlU3BlY2lmaWNGb250OjpMYW86IHsKLSAgICAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbGFvKCJMYW9TYW5nYW1NTiIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwotICAgICAgICBmb250ID0gZm9u
dEZvckZhbWlseShkZXNjcmlwdGlvbiwgbGFvLCBmYWxzZSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLSAgICBkZWZhdWx0OiB7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNT
dHJpbmc+IGFwcGxlQ29sb3JFbW9qaSgiQXBwbGVDb2xvckVtb2ppIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Ci0gICAgICAgIGJvb2wgdXNlRW1vamlGb250ID0gbGFuZ3Vh
Z2VTcGVjaWZpY0ZvbnQgPT0gTGFuZ3VhZ2VTcGVjaWZpY0ZvbnQ6OkVtb2ppOwotICAgICAgICBp
ZiAoIXVzZUVtb2ppRm9udCkgewotICAgICAgICAgICAgaWYgKCFDRkNoYXJhY3RlclNldElzTG9u
Z0NoYXJhY3Rlck1lbWJlcihwaG9uZUZhbGxiYWNrQ2hhcmFjdGVyU2V0KCksIGMpKQotICAgICAg
ICAgICAgICAgIHVzZUVtb2ppRm9udCA9IENGQ2hhcmFjdGVyU2V0SXNMb25nQ2hhcmFjdGVyTWVt
YmVyKGFwcGxlQ29sb3JFbW9qaUNoYXJhY3RlclNldCgpLCBjKTsKLSAgICAgICAgfQotICAgICAg
ICBpZiAodXNlRW1vamlGb250KQotICAgICAgICAgICAgZm9udCA9IGZvbnRGb3JGYW1pbHkoZGVz
Y3JpcHRpb24sIGFwcGxlQ29sb3JFbW9qaSwgZmFsc2UpOwotICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGZhbGxiYWNrRm9udCA9IGFkb3B0Q0YoQ1RGb250
Q3JlYXRlRm9yQ2hhcmFjdGVycyhvcmlnaW5hbEZvbnREYXRhLT5nZXRDVEZvbnQoKSwgY2hhcmFj
dGVycywgbGVuZ3RoLCBudWxscHRyKSk7Ci0gICAgICAgICAgICBpZiAoUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBmb3VuZEZvbnROYW1lID0gYWRvcHRDRihDVEZvbnRDb3B5UG9zdFNjcmlwdE5hbWUo
ZmFsbGJhY2tGb250LmdldCgpKSkpCi0gICAgICAgICAgICAgICAgZm9udCA9IGZvbnRGb3JGYW1p
bHkoZGVzY3JpcHRpb24sIGZvdW5kRm9udE5hbWUuZ2V0KCksIGZhbHNlKTsKLSAgICAgICAgfQot
ICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgfQotI2Vsc2UKICAgICBSZXRhaW5QdHI8Q1RGb250
RGVzY3JpcHRvclJlZj4gZmFsbGJhY2tGb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlUGh5c2ljYWxGb250RGVzY3JpcHRvckZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2Uob3JpZ2lu
YWxGb250RGF0YS0+Z2V0Q1RGb250KCksIGNoYXJhY3RlcnMsIGxlbmd0aCwgbnVsbHB0ciwgbnVs
bHB0cikpOwogICAgIGlmIChhdXRvIGZvdW5kRm9udE5hbWUgPSBhZG9wdENGKHN0YXRpY19jYXN0
PENGU3RyaW5nUmVmPihDVEZvbnREZXNjcmlwdG9yQ29weUF0dHJpYnV0ZShmYWxsYmFja0ZvbnRE
ZXNjcmlwdG9yLmdldCgpLCBrQ1RGb250TmFtZUF0dHJpYnV0ZSkpKSkgewogICAgICAgICBpZiAo
YyA+PSAweDA2MDAgJiYgYyA8PSAweDA2ZmYpIHsgLy8gQXJhYmljCkBAIC00NjMsNyArMTE5LDYg
QEAgUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3IKICAgICAgICAgfQogICAgICAgICBmb250ID0gZm9u
dEZvckZhbWlseShkZXNjcmlwdGlvbiwgZm91bmRGb250TmFtZS5nZXQoKSwgZmFsc2UpOwogICAg
IH0KLSNlbmRpZgogCiAgICAgaWYgKGZvbnQpCiAgICAgICAgIHJldHVybiBmb250LnJlbGVhc2Uo
KTsK
</data>
<flag name="review"
          id="284734"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>