<?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>158275</bug_id>
          
          <creation_ts>2016-06-01 14:34:39 -0700</creation_ts>
          <short_desc>REGRESSION(r201551): This change caused 3 API tests to crash on ios-simulator (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-06-01 14:39:03 -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>158243</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1198288</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-01 14:34:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/201551 broke the build:
This change caused 3 API tests to crash on ios-simulator (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198290</commentid>
    <comment_count>1</comment_count>
      <attachid>280268</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-01 14:35:14 -0700</bug_when>
    <thetext>Created attachment 280268
ROLLOUT of r201551

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198292</commentid>
    <comment_count>2</comment_count>
      <attachid>280268</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-06-01 14:38:58 -0700</bug_when>
    <thetext>Comment on attachment 280268
ROLLOUT of r201551

Clearing flags on attachment: 280268

Committed r201570: &lt;http://trac.webkit.org/changeset/201570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198293</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-06-01 14:39:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280268</attachid>
            <date>2016-06-01 14:35:14 -0700</date>
            <delta_ts>2016-06-01 14:38:58 -0700</delta_ts>
            <desc>ROLLOUT of r201551</desc>
            <filename>bug-158275-20160601143631.patch</filename>
            <type>text/plain</type>
            <size>24329</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzOWYzYWE3YmIwOTYz
YThhMjAzZGMxNGEwMTY3ZDc5ZDY3NGQxMC4uODIyZmYxMGE4ZTU1YWQ5Y2IzODU3ZGYzYWM3ZDcw
OGQ0ODI3NjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA2LTAxICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAxNTUxIGFuZCByMjAxNTUyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4Mjc1CisKKyAgICAgICAgVGhpcyBjaGFuZ2Ug
Y2F1c2VkIDMgQVBJIHRlc3RzIHRvIGNyYXNoIG9uIGlvcy1zaW11bGF0b3IKKyAgICAgICAgKFJl
cXVlc3RlZCBieSByeWFuaGFkZGFkIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNo
YW5nZXNldHM6CisKKyAgICAgICAgIlByZWNhY2hlIHByaW1hcnkgZm9udCBpbiBhIHNlY29uZGFy
eSB0aHJlYWQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTgyNDMKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAxNTUx
CisKKyAgICAgICAgIlJlbW92ZSBhY2NpZGVudGFsIGZwcmludGYuIgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMDE1NTIKKwogMjAxNi0wNi0wMSAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBpT1M6IFZvaWNlT3Zl
ciBjYW4ndCBhY2Nlc3MgYXR0YWNobWVudHMgaW4gbWFpbCBtZXNzYWdlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZS5jcHAKaW5kZXggOWRlOTJjNmVlZDY0NjAyMGFhZWYwOWFmMTMzYTIxZWYxZTJk
NGE3Ni4uMDc4MmU4MGI5Y2FkNmI0MGEyM2RhM2UwNmI5YWZkYWY4ZjgwZTkwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC01MjAsMTkgKzUyMCw2IEBAIFJlZlB0cjxGb250PiBD
U1NGb250RmFjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwg
Ym9vbCBzeW50CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLVZlY3RvcjxSZXNvbHZlZEZvbnRG
YW1pbHk+IENTU0ZvbnRGYWNlOjpyZXNvbHZlRmFtaWxpZXMoKSBjb25zdAotewotICAgIFZlY3Rv
cjxSZXNvbHZlZEZvbnRGYW1pbHk+IHJlc3VsdDsKLSAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IG1f
c291cmNlcykgewotICAgICAgICBpZiAoc291cmNlLT5mYW1pbHlOYW1lT3JVUkkoKS5pc0VtcHR5
KCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgaWYgKHNvdXJjZS0+c3RhdHVzKCkg
PT0gQ1NTRm9udEZhY2VTb3VyY2U6OlN0YXR1czo6RmFpbHVyZSkKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICByZXN1bHQuYXBwZW5kKHsgc291cmNlLT5mYW1pbHlOYW1lT3JVUkkoKSwg
c291cmNlLT51cmwoKSB9KTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogI2lmIEVO
QUJMRShTVkdfRk9OVFMpCiBib29sIENTU0ZvbnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCmluZGV4IDY5YzRjYzI3M2QzNWNlMmQ4
MDk4MmEwYmQwZjY3YzgzMjk4OTUyYjYuLjU0NGUzZDgzZDQyYjlmZjhkOWZkYjg2YzdiMDFhOWQz
MTBiYjAxYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAK
ICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJGb250RmVhdHVyZVNldHRp
bmdzLmgiCi0jaW5jbHVkZSAiRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiVGV4dEZsYWdzLmgi
CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC0xMzYsOCAr
MTM1LDYgQEAgcHVibGljOgogICAgIC8vIFdlIGRvbid0IGd1YXJhbnRlZSB0aGF0IHRoZSBGb250
RmFjZSB3cmFwcGVyIHdpbGwgYmUgdGhlIHNhbWUgZXZlcnkgdGltZSB5b3UgYXNrIGZvciBpdC4K
ICAgICBSZWY8Rm9udEZhY2U+IHdyYXBwZXIoKTsKIAotICAgIFZlY3RvcjxSZXNvbHZlZEZvbnRG
YW1pbHk+IHJlc29sdmVGYW1pbGllcygpIGNvbnN0OwotCiAjaWYgRU5BQkxFKFNWR19GT05UUykK
ICAgICBib29sIGhhc1NWR0ZvbnRGYWNlU291cmNlKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCmluZGV4IGZhODIyYTJkNTBkMDE3MzgyNDIz
M2QwYTlhZTE0MTc4NGY2ODk3MzQuLmU5NTY1NmYzMGQyZjM1NmZjN2E4ZGZjYTk0MjAzNWI0MzY2
YzI5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcApAQCAtMTg4
LDEzICsxODgsNiBAQCBSZWZQdHI8Rm9udD4gQ1NTRm9udEZhY2VTb3VyY2U6OmZvbnQoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvbwogICAgIHJldHVybiBudWxscHRy
OwogfQogCi1PcHRpb25hbDxVUkw+IENTU0ZvbnRGYWNlU291cmNlOjp1cmwoKSBjb25zdAotewot
ICAgIGlmICghbV9mb250KQotICAgICAgICByZXR1cm4gTnVsbG9wdDsKLSAgICByZXR1cm4gbV9m
b250LT51cmwoKTsKLX0KLQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiBib29sIENTU0ZvbnRGYWNl
U291cmNlOjppc1NWR0ZvbnRGYWNlU291cmNlKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU291cmNlLmgKaW5kZXggMjdmODBiYWNjMzcyYWU3ZWI1Nzg1YzY1YWNiMGM4N2Ex
NjhkNTA3Ni4uMDhkNDVhOGRjNDlmZGU1MTg0YzE3NWIwZDc2ZTE5MWZhZDViZDgwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lu
Y2x1ZGUgIkNhY2hlZEZvbnRDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKQEAgLTcyLDggKzcxLDYg
QEAgcHVibGljOgogICAgIGJvb2wgaXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0OwogI2VuZGlm
CiAKLSAgICBPcHRpb25hbDxVUkw+IHVybCgpIGNvbnN0OwotCiBwcml2YXRlOgogICAgIHZvaWQg
Zm9udExvYWRlZChDYWNoZWRGb250Jikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAKaW5kZXggMzFmNGUyZDlkYTQ2YTBkYjQ5NzJlMTgwMzUxMjYwNWYzOGY2
MDZhOC4uZThiMjE4NWU2MDkzNGQyYWUzMjIxMmY3YjliNGEyZmYwNmQwODYwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTMzNCwyMiArMzM0LDQgQEAgUmVmUHRy
PEZvbnQ+IENTU0ZvbnRTZWxlY3Rvcjo6ZmFsbGJhY2tGb250QXQoY29uc3QgRm9udERlc2NyaXB0
aW9uJiBmb250RGVzY3JpcHQKICAgICByZXR1cm4gRm9udENhY2hlOjpzaW5nbGV0b24oKS5mb250
Rm9yRmFtaWx5KGZvbnREZXNjcmlwdGlvbiwgc2V0dGluZ3MtPnBpY3RvZ3JhcGhGb250RmFtaWx5
KCkpOwogfQogCi1WZWN0b3I8UmVzb2x2ZWRGb250RmFtaWx5PiBDU1NGb250U2VsZWN0b3I6OnJl
c29sdmVGYW1pbGllcyhjb25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiYgZmFtaWxpZXMsIGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBVQ2hhcjMyIGNoYXJhY3RlcikKLXsK
LSAgICBWZWN0b3I8UmVzb2x2ZWRGb250RmFtaWx5PiByZXN1bHQ7Ci0KLSAgICBmb3IgKGF1dG8m
IGZhbWlseSA6IGZhbWlsaWVzKSB7Ci0gICAgICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGF1dG8qIHNlZ21lbnRlZEZhY2UgPSBtX2Nzc0Zv
bnRGYWNlU2V0LT5nZXRGb250RmFjZShmb250RGVzY3JpcHRpb24udHJhaXRzTWFzaygpLCBmYW1p
bHkpOwotICAgICAgICBpZiAoIXNlZ21lbnRlZEZhY2UpIHsKLSAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoeyByZXNvbHZlR2VuZXJpY0ZhbWlseShtX2RvY3VtZW50LCBmb250RGVzY3JpcHRpb24s
IGZhbWlseSksIHsgfSB9KTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAg
ICAgIHJlc3VsdC5hcHBlbmRWZWN0b3Ioc2VnbWVudGVkRmFjZS0+cmVzb2x2ZUZhbWlsaWVzKGNo
YXJhY3RlcikpOwotICAgIH0KLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuaAppbmRleCBlNDIzMWRiNGQ4ZmUxMTVhMjFmMzA4NTE2YWUx
Yjc5ZmFlNDVkNWJkLi41ZWM0MjcxYjYyNjcyMmFiMTBjYjY4ODg1YWRhMTM5NTFkM2FiM2JmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCkBAIC02NCw4ICs2NCw2IEBAIHB1Ymxp
YzoKICAgICBzaXplX3QgZmFsbGJhY2tGb250Q291bnQoKSBvdmVycmlkZTsKICAgICBSZWZQdHI8
Rm9udD4gZmFsbGJhY2tGb250QXQoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgc2l6ZV90KSBvdmVy
cmlkZTsKIAotICAgIFZlY3RvcjxSZXNvbHZlZEZvbnRGYW1pbHk+IHJlc29sdmVGYW1pbGllcyhj
b25zdCBWZWN0b3I8QXRvbWljU3RyaW5nPiYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIFVDaGFy
MzIpIG92ZXJyaWRlOwotCiAgICAgdm9pZCBjbGVhckRvY3VtZW50KCk7CiAKICAgICB2b2lkIGFk
ZEZvbnRGYWNlUnVsZShTdHlsZVJ1bGVGb250RmFjZSYsIGJvb2wgaXNJbml0aWF0aW5nRWxlbWVu
dEluVXNlckFnZW50U2hhZG93VHJlZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VnbWVudGVkRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRl
ZEZvbnRGYWNlLmNwcAppbmRleCAyZWY1YjRkOTc1NGE5YzZkODkyYTcyZWE2NWM4ZTg2MjAwOWY4
ODdhLi43NzhlNjQ5OTEyYzllODIwODJjY2E0ZDY0ZDE5ZTg3MDdhNWUyNjIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKQEAgLTEzOCwyMCArMTM4LDQg
QEAgRm9udFJhbmdlcyBDU1NTZWdtZW50ZWRGb250RmFjZTo6Zm9udFJhbmdlcyhjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1WZWN0
b3I8UmVzb2x2ZWRGb250RmFtaWx5PiBDU1NTZWdtZW50ZWRGb250RmFjZTo6cmVzb2x2ZUZhbWls
aWVzKFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdAotewotICAgIGZvciAoYXV0byYgZmFjZSA6IG1f
Zm9udEZhY2VzKSB7Ci0gICAgICAgIGJvb2wgaW5SYW5nZSA9IGZhY2UtPnJhbmdlcygpLmlzRW1w
dHkoKTsKLSAgICAgICAgZm9yIChhdXRvJiByYW5nZSA6IGZhY2UtPnJhbmdlcygpKSB7Ci0gICAg
ICAgICAgICBpZiAoY2hhcmFjdGVyID49IHJhbmdlLmZyb20gJiYgY2hhcmFjdGVyIDw9IHJhbmdl
LnRvKSB7Ci0gICAgICAgICAgICAgICAgaW5SYW5nZSA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGluUmFuZ2UpCi0g
ICAgICAgICAgICByZXR1cm4gZmFjZS0+cmVzb2x2ZUZhbWlsaWVzKCk7Ci0gICAgfQotICAgIHJl
dHVybiB7IH07Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdt
ZW50ZWRGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNl
LmgKaW5kZXggZjI1MzhiMDg2M2Y2NjIxMjA5ODBmODNjNTY4MTU2ZDYyMjQ1ZmY4Mi4uZTFiZDVh
NmRkYTRmZWJlMGM4ZmUzY2IwZDM2ZDVlMDU0YWZjNjgxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlZ21lbnRlZEZvbnRGYWNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkNT
U0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCi0jaW5jbHVkZSAiRm9udFNlbGVj
dG9yLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU4LDggKzU3LDYgQEAgcHVibGljOgog
ICAgIHZvaWQgcmVmKCkgb3ZlcnJpZGUgeyBSZWZDb3VudGVkPENTU1NlZ21lbnRlZEZvbnRGYWNl
Pjo6cmVmKCk7IH0KICAgICB2b2lkIGRlcmVmKCkgb3ZlcnJpZGUgeyBSZWZDb3VudGVkPENTU1Nl
Z21lbnRlZEZvbnRGYWNlPjo6ZGVyZWYoKTsgfQogCi0gICAgVmVjdG9yPFJlc29sdmVkRm9udEZh
bWlseT4gcmVzb2x2ZUZhbWlsaWVzKFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdDsKLQogcHJpdmF0
ZToKICAgICBDU1NTZWdtZW50ZWRGb250RmFjZSgpOwogICAgIHZvaWQgZm9udExvYWRlZChDU1NG
b250RmFjZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5jcHAKaW5kZXggNzM1YjVhZmUwYzRmMDZkMmZlZmQ0MGFmNzVhMGJhNTg3Mjcx
NzRkMi4uODA2Yzc2ZGM3OWQ2N2I4NTU1YTE5MzNjZTA1MzZkNzQ4OTcxNzJhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC0xMDYsNyAr
MTA2LDYgQEAgcHVibGljOgogICAgICAgICAsIG1fZm9udEZhY2VGZWF0dXJlcyhmb250RmFjZUZl
YXR1cmVzID8gKmZvbnRGYWNlRmVhdHVyZXMgOiBGb250RmVhdHVyZVNldHRpbmdzKCkpCiAgICAg
ICAgICwgbV9mb250RmFjZVZhcmlhbnRTZXR0aW5ncyhmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA/
ICpmb250RmFjZVZhcmlhbnRTZXR0aW5ncyA6IEZvbnRWYXJpYW50U2V0dGluZ3MoKSkKICAgICB7
IH0KLSAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgRm9udFBsYXRmb3JtRGF0YUNh
Y2hlS2V5JikgPSBkZWZhdWx0OwogCiAgICAgZXhwbGljaXQgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5KEhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUgdCkKICAgICAgICAgOiBtX2ZvbnREZXNjcmlw
dGlvbktleSh0KQpAQCAtMTYwLDE2ICsxNTksNiBAQCBzdGF0aWMgRm9udFBsYXRmb3JtRGF0YUNh
Y2hlJiBmb250UGxhdGZvcm1EYXRhQ2FjaGUoKQogICAgIHJldHVybiBjYWNoZTsKIH0KIAotI2lm
IFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoUExBVEZPUk1fRk9OVF9MT09LVVApCi11c2luZyBQ
cmVjYWNoZU1hcCA9IEhhc2hNYXA8Rm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5LCBGb250Q2FjaGU6
OlByZWNhY2hlVGFzayosIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleUhhc2gsIFdURjo6U2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleT4+OwotCi1zdGF0aWMgUHJl
Y2FjaGVNYXAmIHByZWNhY2hlVGFza3NJblByb2dyZXNzKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8UHJlY2FjaGVNYXA+IG1hcDsKLSAgICByZXR1cm4gbWFwOwotfQotI2VuZGlmCi0K
IHN0YXRpYyBBdG9taWNTdHJpbmcgYWx0ZXJuYXRlRmFtaWx5TmFtZShjb25zdCBBdG9taWNTdHJp
bmcmIGZhbWlseU5hbWUpCiB7CiAgICAgc3dpdGNoIChmYW1pbHlOYW1lLmxlbmd0aCgpKSB7CkBA
IC0yNTQsMTIgKzI0Myw2IEBAIEZvbnRQbGF0Zm9ybURhdGEqIEZvbnRDYWNoZTo6Z2V0Q2FjaGVk
Rm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvCiAKICAgICBGb250UGxh
dGZvcm1EYXRhQ2FjaGVLZXkga2V5KGZhbWlseU5hbWUsIGZvbnREZXNjcmlwdGlvbiwgZm9udEZh
Y2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MpOwogCi0jaWYgUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShQTEFURk9STV9GT05UX0xPT0tVUCkKLSAgICBhdXRvKiBwcmVjYWNoZVRh
c2sgPSBwcmVjYWNoZVRhc2tzSW5Qcm9ncmVzcygpLmdldChrZXkpOwotICAgIGlmIChwcmVjYWNo
ZVRhc2spCi0gICAgICAgIHBsYXRmb3JtQ2FuY2VsUHJlY2FjaGUoKnByZWNhY2hlVGFzayk7Ci0j
ZW5kaWYKLQogICAgIGF1dG8gYWRkUmVzdWx0ID0gZm9udFBsYXRmb3JtRGF0YUNhY2hlKCkuYWRk
KGtleSwgbnVsbHB0cik7CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlOjppdGVyYXRvciBpdCA9
IGFkZFJlc3VsdC5pdGVyYXRvcjsKICAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKQEAg
LTUwNiw2NiArNDg5LDYgQEAgdm9pZCBGb250Q2FjaGU6OmludmFsaWRhdGUoKQogICAgIHB1cmdl
SW5hY3RpdmVGb250RGF0YSgpOwogfQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShQ
TEFURk9STV9GT05UX0xPT0tVUCkKLXZvaWQgRm9udENhY2hlOjpwcmVjYWNoZShjb25zdCBWZWN0
b3I8QXRvbWljU3RyaW5nPiYgcmVzb2x2ZWRGYW1pbGllcywgY29uc3QgRm9udERlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24pCi17Ci0gICAgaWYgKHJlc29sdmVkRmFtaWxpZXMuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm47Ci0gICAgYXV0byYgZmFtaWx5ID0gcmVzb2x2ZWRGYW1pbGllcy5m
aXJzdCgpOwotCi0gICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IGtleShmYW1pbHksIGZvbnRE
ZXNjcmlwdGlvbiwgbnVsbHB0ciwgbnVsbHB0cik7Ci0KLSAgICAvLyBNYXliZSB3ZSBoYXZlIGl0
IGFscmVhZHk/Ci0gICAgYXV0byBpdCA9IGZvbnRQbGF0Zm9ybURhdGFDYWNoZSgpLmZpbmQoa2V5
KTsKLSAgICBpZiAoaXQgIT0gZm9udFBsYXRmb3JtRGF0YUNhY2hlKCkuZW5kKCkpIHsKLSAgICAg
ICAgaWYgKGl0LT52YWx1ZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAvLyBXZSBh
bHJlYWR5IGtub3cgdGhpcyBmb250IGlzbid0IGF2YWlsYWJsZS4gVHJ5IHRoZSBuZXh0LgotICAg
ICAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiByZW1haW5pbmdGYW1pbGllczsKLSAgICAgICAgcmVt
YWluaW5nRmFtaWxpZXMuYXBwZW5kUmFuZ2UocmVzb2x2ZWRGYW1pbGllcy5iZWdpbigpICsgMSwg
cmVzb2x2ZWRGYW1pbGllcy5lbmQoKSk7Ci0gICAgICAgIHByZWNhY2hlKHJlbWFpbmluZ0ZhbWls
aWVzLCBmb250RGVzY3JpcHRpb24pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0
byB0YXNrQWRkID0gcHJlY2FjaGVUYXNrc0luUHJvZ3Jlc3MoKS5hZGQoa2V5LCBudWxscHRyKTsK
LSAgICBpZiAoIXRhc2tBZGQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0
byYgdGFzayA9IHBsYXRmb3JtUHJlY2FjaGUoZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIFtrZXks
IHJlc29sdmVkRmFtaWxpZXMsIGZvbnREZXNjcmlwdGlvbl0gKGF1dG8gcGxhdGZvcm1EYXRhLCBi
b29sIHdhc0NhbmNlbGVkKSB7Ci0gICAgICAgIHByZWNhY2hlVGFza3NJblByb2dyZXNzKCkucmVt
b3ZlKGtleSk7Ci0KLSAgICAgICAgaWYgKHdhc0NhbmNlbGVkKQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIGlmIChwbGF0Zm9ybURhdGEpIHsKLSAgICAgICAgICAgIGZvbnRQbGF0Zm9y
bURhdGFDYWNoZSgpLmFkZChrZXksIFdURk1vdmUocGxhdGZvcm1EYXRhKSk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBEaWRuJ3QgZmluZCB0aGUgZm9udC4g
VHJ5IHRoZSBuZXh0IG9uZS4KLSAgICAgICAgVmVjdG9yPEF0b21pY1N0cmluZz4gcmVtYWluaW5n
RmFtaWxpZXM7Ci0KLSAgICAgICAgYXV0byBhbHRlcm5hdGVOYW1lID0gYWx0ZXJuYXRlRmFtaWx5
TmFtZShyZXNvbHZlZEZhbWlsaWVzLmZpcnN0KCkpOwotICAgICAgICBpZiAoIWFsdGVybmF0ZU5h
bWUuaXNOdWxsKCkpIHsKLSAgICAgICAgICAgIHJlbWFpbmluZ0ZhbWlsaWVzID0gcmVzb2x2ZWRG
YW1pbGllczsKLSAgICAgICAgICAgIHJlbWFpbmluZ0ZhbWlsaWVzLmZpcnN0KCkgPSBhbHRlcm5h
dGVOYW1lOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZm9udFBsYXRmb3JtRGF0YUNh
Y2hlKCkuYWRkKGtleSwgbnVsbHB0cik7Ci0gICAgICAgICAgICByZW1haW5pbmdGYW1pbGllcy5h
cHBlbmRSYW5nZShyZXNvbHZlZEZhbWlsaWVzLmJlZ2luKCkgKyAxLCByZXNvbHZlZEZhbWlsaWVz
LmVuZCgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIHNpbmdsZXRvbigpLnByZWNhY2hlKHJlbWFp
bmluZ0ZhbWlsaWVzLCBmb250RGVzY3JpcHRpb24pOwotICAgIH0pOwotCi0gICAgdGFza0FkZC5p
dGVyYXRvci0+dmFsdWUgPSAmdGFzazsKLX0KLSNlbHNlCi12b2lkIEZvbnRDYWNoZTo6cHJlY2Fj
aGUoY29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4mLCBjb25zdCBGb250RGVzY3JpcHRpb24mKQot
ewotfQotI2VuZGlmCi0KICNpZiAhUExBVEZPUk0oQ09DT0EpCiBSZWZQdHI8Rm9udD4gRm9udENh
Y2hlOjpzaW1pbGFyRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJp
bmcmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApp
bmRleCAyNWE2MjQwNTRlMWViN2VlYTYyNWQxNTA4NDI0MjkyMDRhMDg0YzgwLi5lODhkZWE0ZDcx
NWRjMDMyYWJlMTNjYmIwZmVmYTAwNTU1YjljYzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtMTkzLDggKzE5Myw2IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCBSZWY8Rm9udD4gZm9udEZvclBsYXRmb3JtRGF0YShjb25zdCBGb250
UGxhdGZvcm1EYXRhJik7CiAgICAgUmVmUHRyPEZvbnQ+IHNpbWlsYXJGb250KGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5KTsKIAotICAgIHZvaWQgcHJl
Y2FjaGUoY29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4mIHJlc29sdmVkRmFtaWxpZXMsIGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYpOwotCiAgICAgdm9pZCBhZGRDbGllbnQoRm9udFNlbGVjdG9yJik7
CiAgICAgdm9pZCByZW1vdmVDbGllbnQoRm9udFNlbGVjdG9yJik7CiAKQEAgLTIxNCw4ICsyMTIs
NiBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPE9wZW5UeXBlVmVydGljYWxEYXRhPiB2ZXJ0aWNhbERh
dGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOwogI2VuZGlmCiAKLSAgICBzdHJ1Y3QgUHJlY2Fj
aGVUYXNrOwotCiBwcml2YXRlOgogICAgIEZvbnRDYWNoZSgpOwogICAgIH5Gb250Q2FjaGUoKSA9
IGRlbGV0ZTsKQEAgLTIzMSwxMiArMjI3LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRp
bmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncyk7CiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKFBMQVRGT1JNX0ZPTlRfTE9PS1VQKQotICAgIHVzaW5nIFByZWNhY2hlQ29tcGxldGlv
bkhhbmRsZXIgPSBzdGQ6OmZ1bmN0aW9uPHZvaWQgKHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZv
cm1EYXRhPiwgYm9vbCB3YXNDYW5jZWxlZCk+OwotICAgIFByZWNhY2hlVGFzayYgcGxhdGZvcm1Q
cmVjYWNoZShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgUHJlY2FjaGVDb21wbGV0aW9uSGFuZGxlciYmKTsKLSAgICB2b2lkIHBsYXRmb3JtQ2FuY2Vs
UHJlY2FjaGUoUHJlY2FjaGVUYXNrJik7Ci0jZW5kaWYKLQogICAgIFRpbWVyIG1fcHVyZ2VUaW1l
cjsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IDAyNmViYWQyOTk4ZGRhZjM0YjY3ZTlmNjQz
YWNiZDhhODBmMDI4ZDUuLmU3NGE4Yzg1MDIxNDFjNjNiM2RhZTZlYzA3NDQ4ZmE0ZTA4MTY0ZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5j
cHAKQEAgLTI2MSwyOSArMjYxLDYgQEAgdm9pZCBwcnVuZVN5c3RlbUZhbGxiYWNrRm9udHMoKQog
ICAgICAgICBlbnRyeS0+Zm9udHMtPnBydW5lU3lzdGVtRmFsbGJhY2tzKCk7CiB9CiAKLXN0YXRp
YyB2b2lkIHByZWNhY2hlUHJpbWFyeUZhbWlseShjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9u
JiBmb250RGVzY3JpcHRpb24sIEZvbnRTZWxlY3RvciYgZm9udFNlbGVjdG9yKQotewotICAgIFZl
Y3RvcjxBdG9taWNTdHJpbmc+IGZhbWlsaWVzOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBmb250RGVzY3JpcHRpb24uZmFtaWx5Q291bnQoKTsgKytpKQotICAgICAgICBmYW1pbGllcy5h
cHBlbmQoZm9udERlc2NyaXB0aW9uLmZhbWlseUF0KGkpKTsKLQotICAgIC8vIFByaW1hcnkgZmFt
aWx5IGxvb2t1cCBmYWxscyBiYWNrIHRvIHRoZSBzdGFuZGFyZCBmYW1pbHkuCi0gICAgZmFtaWxp
ZXMuYXBwZW5kKHN0YW5kYXJkRmFtaWx5KTsKLQotICAgIGF1dG8gcmVzb2x2ZWRQcmltYXJ5RmFt
aWxpZXMgPSBmb250U2VsZWN0b3IucmVzb2x2ZUZhbWlsaWVzKGZhbWlsaWVzLCBmb250RGVzY3Jp
cHRpb24sICcgJyk7Ci0KLSAgICBWZWN0b3I8QXRvbWljU3RyaW5nPiByZXNvbHZlZFByaW1hcnlG
YW1pbHlOYW1lczsKLSAgICBmb3IgKGF1dG8mIGZhbWlseSA6IHJlc29sdmVkUHJpbWFyeUZhbWls
aWVzKSB7Ci0gICAgICAgIC8vIFRoaXMgZG9lc24ndCBoYW5kbGUgd2ViIGZvbnRzIGZvciBub3cu
Ci0gICAgICAgIGlmIChmYW1pbHkudXJsKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIHJl
c29sdmVkUHJpbWFyeUZhbWlseU5hbWVzLmFwcGVuZChmYW1pbHkubmFtZSk7Ci0gICAgfQotCi0g
ICAgLy8gQXN5bmNocm9ub3VzbHkgZmluZCBmaXJzdCBhdmFpbGFibGUgZm9udCBhbmQgcHJlY2Fj
aGUgaXQgc28gaXQgaXMgbGlrZWx5IHRvIGJlIGF2YWlsYWJsZSB3aGVuIG5lZWRlZC4KLSAgICBG
b250Q2FjaGU6OnNpbmdsZXRvbigpLnByZWNhY2hlKHJlc29sdmVkUHJpbWFyeUZhbWlseU5hbWVz
LCBmb250RGVzY3JpcHRpb24pOwotfQotCiBzdGF0aWMgUmVmPEZvbnRDYXNjYWRlRm9udHM+IHJl
dHJpZXZlT3JBZGRDYWNoZWRGb250cyhjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIFJlZlB0cjxGb250U2VsZWN0b3I+JiYgZm9udFNlbGVjdG9yKQogewogICAg
IGF1dG8ga2V5ID0gbWFrZUZvbnRDYXNjYWRlQ2FjaGVLZXkoZm9udERlc2NyaXB0aW9uLCBmb250
U2VsZWN0b3IuZ2V0KCkpOwpAQCAtMjkzLDkgKzI3MCw2IEBAIHN0YXRpYyBSZWY8Rm9udENhc2Nh
ZGVGb250cz4gcmV0cmlldmVPckFkZENhY2hlZEZvbnRzKGNvbnN0IEZvbnRDYXNjYWRlRGVzY3Jp
cHRpCiAgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSAmJiBrZXlzTWF0Y2goYWRkUmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZS0+a2V5LCBrZXkpKQogICAgICAgICByZXR1cm4gYWRkUmVzdWx0Lml0
ZXJhdG9yLT52YWx1ZS0+Zm9udHMuZ2V0KCk7CiAKLSAgICBpZiAoZm9udFNlbGVjdG9yKQotICAg
ICAgICBwcmVjYWNoZVByaW1hcnlGYW1pbHkoZm9udERlc2NyaXB0aW9uLCAqZm9udFNlbGVjdG9y
KTsKLQogICAgIGF1dG8mIG5ld0VudHJ5ID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKICAg
ICBuZXdFbnRyeSA9IHN0ZDo6bWFrZV91bmlxdWU8Rm9udENhc2NhZGVDYWNoZUVudHJ5PihXVEZN
b3ZlKGtleSksIEZvbnRDYXNjYWRlRm9udHM6OmNyZWF0ZShXVEZNb3ZlKGZvbnRTZWxlY3Rvcikp
KTsKICAgICBSZWY8Rm9udENhc2NhZGVGb250cz4gZ2x5cGhzID0gbmV3RW50cnktPmZvbnRzLmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNl
bGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3Iu
aAppbmRleCBkMzY1ZmM2YTA3YTdkZTQ0OTA5MDU5YTk1MDQ0MjFjN2U0YTE1MTkxLi4wMWY0ODQy
YjU5ZTZiN2NkZmNmNzAxMDkzN2JjNWU0ZjFjOGU4NDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJGb250UmFuZ2VzLmgiCi0jaW5jbHVkZSAiVVJMLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC00NSwxMSArNDQsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGlzTG9hZGluZygpIGNvbnN0ID0gMDsKIH07CiAKLXN0cnVjdCBSZXNvbHZl
ZEZvbnRGYW1pbHkgewotICAgIEF0b21pY1N0cmluZyBuYW1lOwotICAgIE9wdGlvbmFsPFVSTD4g
dXJsOwotfTsKLQogY2xhc3MgRm9udFNlbGVjdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udFNl
bGVjdG9yPiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Rm9udFNlbGVjdG9yKCkgeyB9CkBAIC02
NCw4ICs1OCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJGb3JJbnZhbGlk
YXRpb25DYWxsYmFja3MoRm9udFNlbGVjdG9yQ2xpZW50JikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyRm9ySW52YWxpZGF0aW9uQ2FsbGJhY2tzKEZvbnRTZWxlY3RvckNsaWVudCYp
ID0gMDsKIAotICAgIHZpcnR1YWwgVmVjdG9yPFJlc29sdmVkRm9udEZhbWlseT4gcmVzb2x2ZUZh
bWlsaWVzKGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+JiBmYW1pbGllcywgY29uc3QgRm9udERl
c2NyaXB0aW9uJiwgVUNoYXIzMiBjaGFyYWN0ZXIpID0gMDsKLQogICAgIHZpcnR1YWwgdW5zaWdu
ZWQgdW5pcXVlSWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB1bnNpZ25lZCB2ZXJzaW9uKCkg
Y29uc3QgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwOWU2ZjNkYzU1NzE2
ZThiMWE0NDhiM2I3OGM1ZTA4YjNlYTJhNjRmLi5jMDhhMzk4MWM3ZDUyMDlhOWExODViMTk0YjU0
Y2MxODViYjYzMDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0zNCw4ICszNCw2IEBA
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgotI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+
Ci0jaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTY2Miw3ICs2NjAsMTggQEAgdm9pZCBGb250Q2FjaGU6OnNldEZvbnRXaGl0ZWxpc3QoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGlucHV0V2hpdGVsaXN0KQogICAgICAgICB3aGl0ZWxpc3QuYWRkKGl0
ZW0pOwogfQogCi1zdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1pbHkoY29u
c3QgU3RyaW5nJiBmYW1pbHksIENURm9udFN5bWJvbGljVHJhaXRzIGRlc2lyZWRUcmFpdHMsIEZv
bnRXZWlnaHQgd2VpZ2h0LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmZWF0dXJlU2V0dGlu
Z3MsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIHZhcmlhbnRTZXR0aW5ncywgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGNvbnN0IFRleHRSZW5kZXJpbmdNb2RlJiB0
ZXh0UmVuZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSwgYm9vbCBpc1doaXRlbGlzdGVkKQorI2lmIEVO
QUJMRShQTEFURk9STV9GT05UX0xPT0tVUCkKK3N0YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBw
bGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBD
VEZvbnRTeW1ib2xpY1RyYWl0cyByZXF1ZXN0ZWRUcmFpdHMsIEZvbnRXZWlnaHQgd2VpZ2h0LCBm
bG9hdCBzaXplKQoreworICAgIGNvbnN0IGF1dG8mIHdoaXRlbGlzdCA9IGZvbnRXaGl0ZWxpc3Qo
KTsKKyAgICBpZiAod2hpdGVsaXN0LnNpemUoKSAmJiAhd2hpdGVsaXN0LmNvbnRhaW5zKGZhbWls
eSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250
Q3JlYXRlRm9yQ1NTKGZhbWlseS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCB0b0Nv
cmVUZXh0Rm9udFdlaWdodCh3ZWlnaHQpLCByZXF1ZXN0ZWRUcmFpdHMsIHNpemUpKTsKK30KKyNl
bmRpZgorCitzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gZm9udFdpdGhGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIENURm9udFN5bWJvbGljVHJhaXRzIGRlc2lyZWRUcmFpdHMs
IEZvbnRXZWlnaHQgd2VpZ2h0LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmZWF0dXJlU2V0
dGluZ3MsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIHZhcmlhbnRTZXR0aW5ncywgY29uc3Qg
Rm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRT
ZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGNvbnN0IFRleHRSZW5kZXJpbmdNb2Rl
JiB0ZXh0UmVuZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSkKIHsKICAgICBpZiAoZmFtaWx5LmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02NzAsMTEgKzY3OSw4IEBAIHN0YXRp
YyBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWls
eSwgQ1RGb250U3ltYm9saWNUCiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gZm91bmRGb250ID0g
cGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGZhbWlseSwgd2VpZ2h0LCBkZXNpcmVk
VHJhaXRzLCBzaXplKTsKICAgICBpZiAoIWZvdW5kRm9udCkgewogI2lmIEVOQUJMRShQTEFURk9S
TV9GT05UX0xPT0tVUCkKLSAgICAgICAgaWYgKCFpc1doaXRlbGlzdGVkKQotICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIGZvdW5kRm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRl
Rm9yQ1NTKGZhbWlseS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCB0b0NvcmVUZXh0Rm9udFdlaWdo
dCh3ZWlnaHQpLCBkZXNpcmVkVHJhaXRzLCBzaXplKSk7CisgICAgICAgIGZvdW5kRm9udCA9IHBs
YXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkoZmFtaWx5LCBkZXNpcmVkVHJhaXRzLCB3ZWlnaHQs
IHNpemUpOwogI2Vsc2UKLSAgICAgICAgVU5VU0VEX1BBUkFNKGlzV2hpdGVsaXN0ZWQpOwogICAg
ICAgICBmb3VuZEZvbnQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5KGZhbWlseSwgZGVzaXJlZFRy
YWl0cywgd2VpZ2h0LCB0ZXh0UmVuZGVyaW5nTW9kZSwgc2l6ZSk7CiAjZW5kaWYKICAgICB9CkBA
IC03MTMsMjQgKzcxOSwyNCBAQCBzdGF0aWMgdm9pZCBhdXRvQWN0aXZhdGVGb250KGNvbnN0IFN0
cmluZyYgbmFtZSwgQ0dGbG9hdCBzaXplKQogfQogI2VuZGlmCiAKLS8vIFRoaXMgaXMgb25seSB0
aHJlYWQgc2FmZSB3aXRoIEVOQUJMRShQTEFURk9STV9GT05UX0xPT0tVUCkgZHVlIHRvIGZvbnRX
aXRoRmFtaWx5KCkgaW1wbGVtZW50YXRpb24KLXN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBs
YXRmb3JtRGF0YT4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YVRocmVhZFNhZmUoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgZmFtaWx5LCBjb25zdCBG
b250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNl
dHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9vbCBpc1doaXRlbGlzdGVkLCBib29s
IHNob3VsZEF1dG9BY3RpdmF0ZUlmTmVlZGVkKQorc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9y
bURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50
U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzKQogewogICAgIENURm9udFN5bWJvbGlj
VHJhaXRzIHRyYWl0cyA9IGNvbXB1dGVUcmFpdHMoZm9udERlc2NyaXB0aW9uKTsKICAgICBmbG9h
dCBzaXplID0gZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCk7CiAKLSAgICBSZXRh
aW5QdHI8Q1RGb250UmVmPiBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFtaWx5LCB0cmFpdHMsIGZv
bnREZXNjcmlwdGlvbi53ZWlnaHQoKSwgZm9udERlc2NyaXB0aW9uLmZlYXR1cmVTZXR0aW5ncygp
LCBmb250RGVzY3JpcHRpb24udmFyaWFudFNldHRpbmdzKCksIGZvbnRGYWNlRmVhdHVyZXMsIGZv
bnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RGVzY3JpcHRpb24udGV4dFJlbmRlcmluZ01vZGUo
KSwgc2l6ZSwgaXNXaGl0ZWxpc3RlZCk7CisgICAgUmV0YWluUHRyPENURm9udFJlZj4gZm9udCA9
IGZvbnRXaXRoRmFtaWx5KGZhbWlseSwgdHJhaXRzLCBmb250RGVzY3JpcHRpb24ud2VpZ2h0KCks
IGZvbnREZXNjcmlwdGlvbi5mZWF0dXJlU2V0dGluZ3MoKSwgZm9udERlc2NyaXB0aW9uLnZhcmlh
bnRTZXR0aW5ncygpLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywg
Zm9udERlc2NyaXB0aW9uLnRleHRSZW5kZXJpbmdNb2RlKCksIHNpemUpOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQotICAgIGlmICghZm9udCAmJiBzaG91bGRBdXRvQWN0aXZhdGVJZk5lZWRlZCkgewor
ICAgIGlmICghZm9udCkgeworICAgICAgICBpZiAoIXNob3VsZEF1dG9BY3RpdmF0ZUZvbnRJZk5l
ZWRlZChmYW1pbHkpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKICAgICAgICAgLy8g
QXV0byBhY3RpdmF0ZSB0aGUgZm9udCBiZWZvcmUgbG9va2luZyBmb3IgaXQgYSBzZWNvbmQgdGlt
ZS4KICAgICAgICAgLy8gSWdub3JlIHRoZSByZXN1bHQgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBv
dXIgb3duIGFsZ29yaXRobSB0byBhY3R1YWxseSBmaW5kIHRoZSBmb250LgotICAgICAgICBhdXRv
QWN0aXZhdGVGb250KGZhbWlseSwgc2l6ZSk7CisgICAgICAgIGF1dG9BY3RpdmF0ZUZvbnQoZmFt
aWx5LnN0cmluZygpLCBzaXplKTsKIAotICAgICAgICBmb250ID0gZm9udFdpdGhGYW1pbHkoZmFt
aWx5LCB0cmFpdHMsIGZvbnREZXNjcmlwdGlvbi53ZWlnaHQoKSwgZm9udERlc2NyaXB0aW9uLmZl
YXR1cmVTZXR0aW5ncygpLCBmb250RGVzY3JpcHRpb24udmFyaWFudFNldHRpbmdzKCksIGZvbnRG
YWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RGVzY3JpcHRpb24udGV4
dFJlbmRlcmluZ01vZGUoKSwgc2l6ZSwgaXNXaGl0ZWxpc3RlZCk7CisgICAgICAgIGZvbnQgPSBm
b250V2l0aEZhbWlseShmYW1pbHksIHRyYWl0cywgZm9udERlc2NyaXB0aW9uLndlaWdodCgpLCBm
b250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCksIGZvbnREZXNjcmlwdGlvbi52YXJpYW50
U2V0dGluZ3MoKSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZv
bnREZXNjcmlwdGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpLCBzaXplKTsKICAgICB9Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShzaG91bGRBdXRvQWN0aXZhdGVJZk5lZWRlZCk7CiAjZW5kaWYKIAog
ICAgIGlmICghZm9udCkKQEAgLTc0MiwxOSArNzQ4LDYgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxGb250UGxhdGZvcm1EYXRhPiBjcmVhdGVGb250UGxhdGZvcm1EYXRhVGhyZWFkU2FmZShjb25z
dAogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEZvbnRQbGF0Zm9ybURhdGE+KGZvbnQuZ2V0
KCksIHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIGZvbnREZXNjcmlwdGlv
bi5vcmllbnRhdGlvbigpLCBmb250RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50KCksIGZvbnREZXNj
cmlwdGlvbi50ZXh0UmVuZGVyaW5nTW9kZSgpKTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEZvbnRQ
bGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHks
IGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRW
YXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzKQotewotICAgIGNvbnN0IGF1
dG8mIHdoaXRlbGlzdCA9IGZvbnRXaGl0ZWxpc3QoKTsKLSAgICBib29sIGlzV2hpdGVsaXN0ZWQg
PSB3aGl0ZWxpc3QuaXNFbXB0eSgpIHx8IHdoaXRlbGlzdC5jb250YWlucyhmYW1pbHkpOwotCi0g
ICAgYm9vbCBzaG91bGRBdXRvQWN0aXZhdGVJZk5lZWRlZCA9IGZhbHNlOwotI2lmIFBMQVRGT1JN
KE1BQykKLSAgICBzaG91bGRBdXRvQWN0aXZhdGVJZk5lZWRlZCA9IHNob3VsZEF1dG9BY3RpdmF0
ZUZvbnRJZk5lZWRlZChmYW1pbHkpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gY3JlYXRlRm9udFBs
YXRmb3JtRGF0YVRocmVhZFNhZmUoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBpc1doaXRlbGlzdGVkLCBzaG91bGRBdXRv
QWN0aXZhdGVJZk5lZWRlZCk7Ci19Ci0KIHR5cGVkZWYgSGFzaFNldDxSZXRhaW5QdHI8Q1RGb250
UmVmPiwgV1RGOjpSZXRhaW5QdHJPYmplY3RIYXNoPENURm9udFJlZj4sIFdURjo6UmV0YWluUHRy
T2JqZWN0SGFzaFRyYWl0czxDVEZvbnRSZWY+PiBGYWxsYmFja0RlZHVwU2V0Owogc3RhdGljIEZh
bGxiYWNrRGVkdXBTZXQmIGZhbGxiYWNrRGVkdXBTZXQoKQogewpAQCAtODAzLDUzICs3OTYsNCBA
QCBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpzeXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcgogICAgIHJldHVybiBmb250Rm9yUGxhdGZvcm1EYXRh
KGFsdGVybmF0ZUZvbnQpOwogfQogCi0jaWYgRU5BQkxFKFBMQVRGT1JNX0ZPTlRfTE9PS1VQKQot
c3RydWN0IEZvbnRDYWNoZTo6UHJlY2FjaGVUYXNrIHsKLSAgICBTdHJpbmcgZmFtaWx5OwotICAg
IEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb247Ci0gICAgYm9vbCBzaG91bGRBdXRvQWN0
aXZhdGVJZk5lZWRlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBpc1doaXRlbGlzdGVkIHsgdHJ1ZSB9
OwotICAgIFByZWNhY2hlQ29tcGxldGlvbkhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXI7Ci0KLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8Rm9udFBsYXRmb3JtRGF0YT4gcmVzdWx0OwotICAgIHN0ZDo6YXRv
bWljX2Jvb2wgaXNDYW5jZWxlZCB7IGZhbHNlIH07Ci19OwotCi1Gb250Q2FjaGU6OlByZWNhY2hl
VGFzayYgRm9udENhY2hlOjpwbGF0Zm9ybVByZWNhY2hlKGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgUHJlY2FjaGVDb21w
bGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIHN0YXRpYyBXb3JrUXVl
dWUmIHF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoIm9yZy53ZWJraXQuZm9udC1wcmVjYWNoZSIs
IFdvcmtRdWV1ZTo6VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFPUzo6VXNlckluaXRpYXRlZCku
bGVha1JlZigpOwotCi0gICAgYXV0byB0YXNrID0gc3RkOjptYWtlX3VuaXF1ZTxQcmVjYWNoZVRh
c2s+KCk7Ci0gICAgdGFzay0+ZmFtaWx5ID0gZmFtaWx5OwotICAgIHRhc2stPmZvbnREZXNjcmlw
dGlvbiA9IGZvbnREZXNjcmlwdGlvbjsKLSAgICBjb25zdCBhdXRvJiB3aGl0ZWxpc3QgPSBmb250
V2hpdGVsaXN0KCk7Ci0gICAgdGFzay0+aXNXaGl0ZWxpc3RlZCA9IHdoaXRlbGlzdC5pc0VtcHR5
KCkgfHwgd2hpdGVsaXN0LmNvbnRhaW5zKGZhbWlseSk7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAg
IHRhc2stPnNob3VsZEF1dG9BY3RpdmF0ZUlmTmVlZGVkID0gc2hvdWxkQXV0b0FjdGl2YXRlRm9u
dElmTmVlZGVkKGZhbWlseSk7Ci0jZW5kaWYKLSAgICB0YXNrLT5jb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwotCi0gICAgYXV0byYgcmVzdWx0VGFzayA9ICp0
YXNrOwotCi0gICAgcXVldWUuZGlzcGF0Y2goW3Rhc2sgPSB0YXNrLnJlbGVhc2UoKV0gewotICAg
ICAgICBpZiAoIXRhc2stPmlzQ2FuY2VsZWQpIHsKLSAgICAgICAgICAgIGF1dG8gZmFtaWx5ID0g
dGFzay0+ZmFtaWx5Lmlzb2xhdGVkQ29weSgpOwotICAgICAgICAgICAgdGFzay0+cmVzdWx0ID0g
Y3JlYXRlRm9udFBsYXRmb3JtRGF0YVRocmVhZFNhZmUodGFzay0+Zm9udERlc2NyaXB0aW9uLCBm
YW1pbHksIG51bGxwdHIsIG51bGxwdHIsIHRhc2stPmlzV2hpdGVsaXN0ZWQsIHRhc2stPnNob3Vs
ZEF1dG9BY3RpdmF0ZUlmTmVlZGVkKTsKLSAgICAgICAgfQotCi0gICAgICAgIFJ1bkxvb3A6Om1h
aW4oKS5kaXNwYXRjaChbdGFza10gewotICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByZWNh
Y2hlVGFzaz4gZGVsZXRlcih0YXNrKTsKLSAgICAgICAgICAgIHRhc2stPmNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUodGFzay0+cmVzdWx0KSwgdGFzay0+aXNDYW5jZWxlZCk7Ci0gICAgICAgIH0p
OwotICAgIH0pOwotCi0gICAgcmV0dXJuIHJlc3VsdFRhc2s7Ci19Ci0KLXZvaWQgRm9udENhY2hl
OjpwbGF0Zm9ybUNhbmNlbFByZWNhY2hlKEZvbnRDYWNoZTo6UHJlY2FjaGVUYXNrJiB0YXNrKQot
ewotICAgIHRhc2suaXNDYW5jZWxlZCA9IHRydWU7Ci19Ci0jZW5kaWYKLQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>