<?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>109328</bug_id>
          
          <creation_ts>2013-02-08 15:01:59 -0800</creation_ts>
          <short_desc>chromium: remove CompositorHUDFontAtlas</short_desc>
          <delta_ts>2013-02-13 13:24:39 -0800</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>528+ (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>
          <dependson>109710</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter>egraether</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>egraether</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>peter+ews</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>828783</commentid>
    <comment_count>0</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-02-08 15:01:59 -0800</bug_when>
    <thetext>chromium: remove CompositorHUDFontAtlas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828785</commentid>
    <comment_count>1</comment_count>
      <attachid>187370</attachid>
    <who name="">egraether</who>
    <bug_when>2013-02-08 15:05:44 -0800</bug_when>
    <thetext>Created attachment 187370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829784</commentid>
    <comment_count>2</comment_count>
    <who name="">egraether</who>
    <bug_when>2013-02-11 09:26:42 -0800</bug_when>
    <thetext>James, can you take a look please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829786</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 09:29:46 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829791</commentid>
    <comment_count>4</comment_count>
      <attachid>187370</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-11 09:33:40 -0800</bug_when>
    <thetext>Comment on attachment 187370
Patch

R=me, but make sure the chromium side lands first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829792</commentid>
    <comment_count>5</comment_count>
      <attachid>187370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 09:33:53 -0800</bug_when>
    <thetext>Comment on attachment 187370
Patch

Attachment 187370 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16487379</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829799</commentid>
    <comment_count>6</comment_count>
      <attachid>187370</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-02-11 09:41:17 -0800</bug_when>
    <thetext>Comment on attachment 187370
Patch

Attachment 187370 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16495273</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829812</commentid>
    <comment_count>7</comment_count>
      <attachid>187370</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 09:52:40 -0800</bug_when>
    <thetext>Comment on attachment 187370
Patch

Attachment 187370 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16489359</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832014</commentid>
    <comment_count>8</comment_count>
      <attachid>188110</attachid>
    <who name="">egraether</who>
    <bug_when>2013-02-13 10:09:04 -0800</bug_when>
    <thetext>Created attachment 188110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832061</commentid>
    <comment_count>9</comment_count>
      <attachid>188110</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 10:48:38 -0800</bug_when>
    <thetext>Comment on attachment 188110
Patch

Attachment 188110 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16514261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832129</commentid>
    <comment_count>10</comment_count>
      <attachid>188110</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-02-13 11:49:55 -0800</bug_when>
    <thetext>Comment on attachment 188110
Patch

Attachment 188110 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16538230</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832135</commentid>
    <comment_count>11</comment_count>
      <attachid>188110</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 11:53:22 -0800</bug_when>
    <thetext>Comment on attachment 188110
Patch

Attachment 188110 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16537247</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832181</commentid>
    <comment_count>12</comment_count>
      <attachid>188110</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-13 12:22:06 -0800</bug_when>
    <thetext>Comment on attachment 188110
Patch

DEPS have rolled, should be good to land now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832260</commentid>
    <comment_count>13</comment_count>
      <attachid>188110</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 13:24:34 -0800</bug_when>
    <thetext>Comment on attachment 188110
Patch

Clearing flags on attachment: 188110

Committed r142782: &lt;http://trac.webkit.org/changeset/142782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832261</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 13:24:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187370</attachid>
            <date>2013-02-08 15:05:44 -0800</date>
            <delta_ts>2013-02-13 10:09:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109328-20130208150218.patch</filename>
            <type>text/plain</type>
            <size>14099</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAwZjk0MjIyMjJhMzA2
MzA5NzYyM2RmNGIxZmQ5NGMxNWZmMTNmOWRjLi43MDhmZDRmMWQ5ZWNkNTFiNWQ0NDc0YWRiOGY4
YmZhZGJjZTIyZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0wOCAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBjaHJv
bWl1bTogcmVtb3ZlIENvbXBvc2l0b3JIVURGb250QXRsYXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTMyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHN3aXRjaGluZyB0aGUgSHVkTGF5ZXIg
dG8gdXNlIHNraWEncyBmb250IHJlbmRlcmluZyB0aGUKKyAgICAgICAgQ29tcG9zaXRvckhVREZv
bnRBdGxhcyBoYXMgYmVjb21lIG9ic29sZXRlLiBUaGlzIGNoYW5nZSByZW1vdmVzCisgICAgICAg
IHRoaXMgY2xhc3MgYW5kIHRoZSByZWxhdGVkIFdlYkxheWVyVHJlZVZpZXcgQVBJLgorCisgICAg
ICAgICogY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXdDbGllbnQuaDoKKyAgICAgICAg
KFdlYkxheWVyVHJlZVZpZXdDbGllbnQpOgorCiAyMDEzLTAyLTA4ICBUb21teSBXaWRlbmZseWNo
dCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogUmVtb3Zp
bmcgdGhlIGRlcHJlY2F0ZWQgV2ViTWVkaWFTdHJlYW1EZXNjcmlwdG9yIGFuZCBXZWJNZWRpYVN0
cmVhbUNvbXBvbmVudCBzaGltcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ3ZTQ1MzY5YWY0M2U0MjQzNGQ4ZmI2
ODRjYWFkYzg1OTZlZjJlNzEuLjFmMjU1NjhhYTA0YTY3MDE3NGVlMTE2NTI2MDRlNmU5NjQ3N2Rk
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wMi0wOCAgRWJlcmhhcmQgR3Jh
ZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBjaHJvbWl1bTogcmVtb3Zl
IENvbXBvc2l0b3JIVURGb250QXRsYXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwOTMyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFmdGVyIHN3aXRjaGluZyB0aGUgSHVkTGF5ZXIgdG8gdXNlIHNraWEn
cyBmb250IHJlbmRlcmluZyB0aGUKKyAgICAgICAgQ29tcG9zaXRvckhVREZvbnRBdGxhcyBoYXMg
YmVjb21lIG9ic29sZXRlLiBUaGlzIGNoYW5nZSByZW1vdmVzCisgICAgICAgIHRoaXMgY2xhc3Mg
YW5kIHRoZSByZWxhdGVkIFdlYkxheWVyVHJlZVZpZXcgQVBJLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmg6
IFJlbW92ZWQuCisKIDIwMTMtMDItMDggIEhhcmFsZCBBbHZlc3RyYW5kICA8aHRhQGdvb2dsZS5j
b20+CiAKICAgICAgICAgRml4IGFuZCB0ZXN0IGZvciBtaXNzaW5nIHJldHVybiBzdGF0ZW1lbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMTg2ZDEyOGE2YzRjZTJjNGIzZGI1M2I5ZGUw
MzU0MTJmYjhjZGY0ZC4uNTZmY2QyMmZlZTAxMGM2MTkyNDFhOWJjMmI2NzE3MjFmMWZiODYyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0wOCAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBjaHJv
bWl1bTogcmVtb3ZlIENvbXBvc2l0b3JIVURGb250QXRsYXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTMyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHN3aXRjaGluZyB0aGUgSHVkTGF5ZXIg
dG8gdXNlIHNraWEncyBmb250IHJlbmRlcmluZyB0aGUKKyAgICAgICAgQ29tcG9zaXRvckhVREZv
bnRBdGxhcyBoYXMgYmVjb21lIG9ic29sZXRlLiBUaGlzIGNoYW5nZSByZW1vdmVzCisgICAgICAg
IHRoaXMgY2xhc3MgYW5kIHRoZSByZWxhdGVkIFdlYkxheWVyVHJlZVZpZXcgQVBJLgorCisgICAg
ICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoK
KwogMjAxMy0wMi0wOCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Nocm9taXVtXSBEaXNhYmxlIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXdDbGll
bnQuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlld0Ns
aWVudC5oCmluZGV4IDJjYTZiMGE1MWVkY2IyZmY0NzdmOGM5MDRhNjRhNTJmODAzZmZmZWEuLjk0
YzU4MDJiZGM4YzQ1NDk0MjRmY2RjMWZlZDZlNDBlNDcyMThmMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlld0NsaWVudC5oCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmlld0NsaWVudC5o
CkBAIC05MywxMSArOTMsNiBAQCBwdWJsaWM6CiAgICAgLy8gaW50ZXJuYWxseSBzY2hlZHVsZSBh
IGNvbXBvc2l0aW5nIHBhc3Mgd2hlbiBuZWVkZWQuCiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxl
Q29tcG9zaXRlKCkgPSAwOwogCi0gICAgLy8gQ3JlYXRlcyBhIGZvbnQgYXRsYXMgdG8gdXNlIGZv
ciBkZWJ1ZyB2aXN1YWxpemF0aW9ucy4gVGhlIGF0bGFzIGlzIGEgYml0bWFwCi0gICAgLy8gY29u
dGFpbmluZyBnbHlwaCBkYXRhLCBhIHRhYmxlIG9mIEFTQ0lJIGNoYXJhY3RlciB2YWx1ZXMgdG8g
YSBzdWJyZWN0YW5nbGUKLSAgICAvLyBvZiB0aGUgYXRsYXMgcmVwcmVzZW50aW5nIHRoZSBjb3Jy
ZXNwb25kaW5nIGdseXBoLCBhbmQgdGhlIGdseXBoIGhlaWdodC4KLSAgICB2aXJ0dWFsIHZvaWQg
Y3JlYXRlRm9udEF0bGFzKFNrQml0bWFwJiwgV2ViUmVjdCBhc2NpaVRvUmVjdFRhYmxlWzEyOF0s
IGludCYgZm9udEhlaWdodCkgeyB9Ci0KIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5XZWJMYXll
clRyZWVWaWV3Q2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGExMmU3NmQwYjQx
ZGRmMGVlNzFkOGQyNmFmNDc2NzVhNmZjNDgzMDMuLmYwMjI1YjM0YTVjYTI4ZTcwZTYzZmUyMTY2
NTNiN2RjNmI2OTRlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM4OTUsOCArMzg5NSw2IEBACiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRMYXllckJyaWRn
ZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExh
eWVyTWFuYWdlci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0NhbnZhczJETGF5ZXJNYW5hZ2VyLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0NvbXBvc2l0b3JIVURGb250QXRsYXMuY3BwJywKLSAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5n
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vz
c0ZvbnRMb2FkaW5nLm1tJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcG9zaXRvckhVREZvbnRBdGxhcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9u
dEF0bGFzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhmMDEwZTlkMmQ0MWI2
ZTU5NzZjMzEzNDNhODA5NjNkZjEyZGY3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgot
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiQ29tcG9zaXRvckhV
REZvbnRBdGxhcy5oIgotCi0jaW5jbHVkZSAiRm9udC5oIgotI2luY2x1ZGUgIkZvbnRDYWNoZS5o
IgotI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNpbmNsdWRlICJTa0NhbnZh
cy5oIgotI2luY2x1ZGUgIlNrRGV2aWNlLmgiCi0jaW5jbHVkZSAiVGV4dFJ1bi5oIgotI2luY2x1
ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5oIgotCi11c2luZyBXZWJLaXQ6OldlYlJlY3Q7
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotI2RlZmluZSBBVExBU19TSVpFIDEyOAotCi1zdGF0
aWMgdm9pZCB3cmFwUG9zaXRpb25JZk5lZWRlZChJbnRQb2ludCYgcG9zaXRpb24sIGludCB0ZXh0
V2lkdGgsIGludCB0ZXh0SGVpZ2h0KQotewotICAgIGlmIChwb3NpdGlvbi54KCkgKyB0ZXh0V2lk
dGggPiBBVExBU19TSVpFKQotICAgICAgICBwb3NpdGlvbiA9IEludFBvaW50KDAsIHBvc2l0aW9u
LnkoKSArIHRleHRIZWlnaHQpOwotfQotCi0vLyBQYWludHMgdGhlIGZvbnQgaW50byB0aGUgYXRs
YXMsIGZyb20gbGVmdC10by1yaWdodCwgdG9wLXRvLWJvdHRvbSwgc3RhcnRpbmcgYXQKLS8vIHN0
YXJ0aW5nUG9zaXRpb24uIEF0IHRoZSBzYW1lIHRpbWUsIGl0IHVwZGF0ZXMgdGhlIGFzY2lpLXRv
LVdlYlJlY3QgbWFwcGluZyBmb3IKLS8vIGVhY2ggY2hhcmFjdGVyLiBCeSBkb2luZyB0aGluZ3Mg
dGhpcyB3YXksIGl0IGlzIHBvc3NpYmxlIHRvIHN1cHBvcnQgdmFyaWFibGUtd2lkdGgKLS8vIGZv
bnRzIGFuZCBtdWx0aXBsZSBmb250cyBvbiB0aGUgc2FtZSBhdGxhcy4KLVNrQml0bWFwIENvbXBv
c2l0b3JIVURGb250QXRsYXM6OmdlbmVyYXRlRm9udEF0bGFzKFdlYlJlY3QgYXNjaWlUb1JlY3RU
YWJsZVsxMjhdLCBpbnQmIGZvbnRIZWlnaHQpCi17Ci0gICAgZm9udEhlaWdodCA9IDE0OwotCi0g
ICAgT3duUHRyPFNrQ2FudmFzPiBjYW52YXMgPSBhZG9wdFB0cihza2lhOjpDcmVhdGVCaXRtYXBD
YW52YXMoQVRMQVNfU0laRSwgQVRMQVNfU0laRSwgZmFsc2UgLyogb3BhcXVlICovKSk7Ci0KLSAg
ICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMuZ2V0KCkpOwotICAg
IEdyYXBoaWNzQ29udGV4dCBhdGxhc0NvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0gICAgYXRs
YXNDb250ZXh0LnNldFNob3VsZFNtb290aEZvbnRzKGZhbHNlKTsKLQotICAgIC8vIENsZWFyIHRo
ZSBlbnRpcmUgdGV4dHVyZSBhdGxhcyB0byB0cmFuc3BhcmVudCBiZWZvcmUgZHJhd2luZyBmb250
cy4KLSAgICBhdGxhc0NvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKDAsIDAsIDAsIDApLCBDb2xv
clNwYWNlRGV2aWNlUkdCKTsKLSAgICBhdGxhc0NvbnRleHQuY2xlYXJSZWN0KEZsb2F0UmVjdCgw
LCAwLCBBVExBU19TSVpFLCBBVExBU19TSVpFKSk7Ci0KLSAgICAvLyBGSVhNRTogbW9ub3NwYWNl
IGZvbnQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4KLSAgICBGb250RGVzY3JpcHRpb24gZm9u
dERlc2NyaXB0aW9uOwotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRHZW5lcmljRmFtaWx5KEZvbnRE
ZXNjcmlwdGlvbjo6TW9ub3NwYWNlRmFtaWx5KTsKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29t
cHV0ZWRTaXplKGZvbnRIZWlnaHQpOwotCi0gICAgRm9udENhY2hlUHVyZ2VQcmV2ZW50ZXIgZm9u
dENhY2hlUHVyZ2VQcmV2ZW50ZXI7Ci0KLSAgICBpbnQgdGV4dEhlaWdodCA9IGZvbnREZXNjcmlw
dGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpOwotICAgIEludFBvaW50IHBvc2l0aW9uKDAsIHRleHRI
ZWlnaHQpOwotICAgIC8vIFRoaXMgaXMgYSBkaXJ0eSBsaXR0bGUgdHJpY2sgdG8gYWNjb3VudCBm
b3Igb3ZlcmhhbmcgbGV0dGVycyBsaWtlIGcsIHAsIGouCi0gICAgaW50IGluZmxhdGlvbiA9IHRl
eHRIZWlnaHQgLyAzOwotCi0gICAgRm9udCBmb250KGZvbnREZXNjcmlwdGlvbiwgMCwgMCk7Ci0g
ICAgZm9udC51cGRhdGUoMCk7Ci0KLSAgICBDb2xvciBmb250Q29sb3IoMjU1LCAwLCAwKTsKLSAg
ICBhdGxhc0NvbnRleHQuc2V0U3Ryb2tlQ29sb3IoZm9udENvbG9yLCBDb2xvclNwYWNlRGV2aWNl
UkdCKTsKLSAgICBhdGxhc0NvbnRleHQuc2V0RmlsbENvbG9yKGZvbnRDb2xvciwgQ29sb3JTcGFj
ZURldmljZVJHQik7Ci0KLSAgICAvLyBGaXJzdCwgZHJhdyBhIGdlbmVyaWMgcmVjdCB0aGF0IHdp
bGwgYmUgdXNlZCBmb3Igc3BlY2lhbCBhbmQgdW5rbm93biBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBu
b3RoaW5nIGVsc2UgdG8gcmVuZGVyLgotICAgIHsKLSAgICAgICAgaW50IHRleHRXaWR0aCA9IHRl
eHRIZWlnaHQgLyAyOwotICAgICAgICB3cmFwUG9zaXRpb25JZk5lZWRlZChwb3NpdGlvbiwgdGV4
dFdpZHRoLCB0ZXh0SGVpZ2h0ICsgaW5mbGF0aW9uKTsKLSAgICAgICAgYXRsYXNDb250ZXh0LnN0
cm9rZVJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQocG9zaXRpb24ueCgpICsgMSwgcG9zaXRpb24u
eSgpIC0gdGV4dEhlaWdodCArIDEgKyBpbmZsYXRpb24pLCBGbG9hdFNpemUodGV4dFdpZHRoIC0g
MiwgdGV4dEhlaWdodCAtIDIgLSBpbmZsYXRpb24pKSwgMSk7Ci0KLSAgICAgICAgLy8gSW5pdGlh
bGl6ZSB0aGUgcmVjdCB0aGF0IHdvdWxkIGJlIGNvcGllZCB3aGVuIGRyYXdpbmcgdGhpcyBnbHlw
aCBmcm9tIHRoZSBhdGxhcy4KLSAgICAgICAgYXNjaWlUb1JlY3RUYWJsZVswXSA9IFdlYlJlY3Qo
cG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkgLSB0ZXh0SGVpZ2h0LCB0ZXh0V2lkdGgsIHRleHRI
ZWlnaHQgKyBpbmZsYXRpb24pOwotCi0gICAgICAgIC8vIEluY3JlbWVudCB0byB0aGUgcG9zaXRp
b24gd2hlcmUgdGhlIG5leHQgZ2x5cGggd2lsbCBiZSBwbGFjZWQuCi0gICAgICAgIHBvc2l0aW9u
LnNldFgocG9zaXRpb24ueCgpICsgdGV4dFdpZHRoKTsKLSAgICB9Ci0KLSAgICAvLyBUaGVuLCBk
cmF3IHRoZSBBU0NJSSBjaGFyYWN0ZXJzLgotICAgIGZvciAoTENoYXIgaSA9IDE7IGkgPCAxMjg7
ICsraSkgewotICAgICAgICBpZiAoaSA8IDMyKSB7Ci0gICAgICAgICAgICAvLyBTcGVjaWFsIGNo
YXJhY3RlcnMgd2lsbCBzaW1wbHkgdXNlIHRoZSB0aGUgZGVmYXVsdCBnbHlwaC4KLSAgICAgICAg
ICAgIGFzY2lpVG9SZWN0VGFibGVbaV0gPSBhc2NpaVRvUmVjdFRhYmxlWzBdOwotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJpbmcgc3RyOwotICAgICAgICBz
dHIuYXBwZW5kKGkpOwotICAgICAgICBUZXh0UnVuIHRleHQoc3RyKTsKLQotICAgICAgICBpbnQg
dGV4dFdpZHRoID0gcm91bmQoZm9udC53aWR0aCh0ZXh0KSk7Ci0gICAgICAgIHdyYXBQb3NpdGlv
bklmTmVlZGVkKHBvc2l0aW9uLCB0ZXh0V2lkdGgsIHRleHRIZWlnaHQgKyBpbmZsYXRpb24pOwot
ICAgICAgICBhdGxhc0NvbnRleHQuZHJhd1RleHQoZm9udCwgdGV4dCwgcG9zaXRpb24pOwotCi0g
ICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHJlY3QgdGhhdCB3b3VsZCBiZSBjb3BpZWQgd2hlbiBk
cmF3aW5nIHRoaXMgZ2x5cGggZnJvbSB0aGUgYXRsYXMuCi0gICAgICAgIGFzY2lpVG9SZWN0VGFi
bGVbaV0gPSBXZWJSZWN0KHBvc2l0aW9uLngoKSwgcG9zaXRpb24ueSgpIC0gdGV4dEhlaWdodCwg
dGV4dFdpZHRoLCB0ZXh0SGVpZ2h0ICsgaW5mbGF0aW9uKTsKLQotICAgICAgICAvLyBJbmNyZW1l
bnQgdG8gdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBuZXh0IGdseXBoIHdpbGwgYmUgcGxhY2VkLgot
ICAgICAgICBwb3NpdGlvbi5zZXRYKHBvc2l0aW9uLngoKSArIHRleHRXaWR0aCk7Ci0gICAgfQot
Ci0gICAgU2tCaXRtYXAgY29weTsKLSAgICBjb25zdCBTa0JpdG1hcCYgc291cmNlID0gY2FudmFz
LT5nZXREZXZpY2UoKS0+YWNjZXNzQml0bWFwKGZhbHNlKTsKLSAgICBzb3VyY2UuY29weVRvKCZj
b3B5LCBzb3VyY2UuY29uZmlnKCkpOwotICAgIHJldHVybiBjb3B5OwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxYmFiNWQ2MmM3YjRkNDRkM2MzNDI1YTZhN2M2NGJhZmY0
MjUxNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcG9zaXRvckhVREZvbnRB
dGxhcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQ29t
cG9zaXRvckhVREZvbnRBdGxhc19oCi0jZGVmaW5lIENvbXBvc2l0b3JIVURGb250QXRsYXNfaAot
Ci0jaW5jbHVkZSAiU2tCaXRtYXAuaCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbXBvc2l0b3JIVURGb250QXRsYXMgewotcHVi
bGljOgotICAgIC8vIFRoaXMgaXMgYSBoZWxwZXIgZnVuY3Rpb24gdGhhdCBjYW4gZ2VuZXJhdGUg
YSBmb250IGF0bGFzIHN1aXRhYmxlIGZvciB0aGUgY29tcG9zaXRvcidzIGhlYWRzIHVwIGRpc3Bs
YXkuCi0gICAgLy8gUmV0dXJucyBhIGJpdG1hcCBjb250YWluaW5nIGdseXBocyBhbmQgcG9wdWxh
dGVzIGFzY2lpVG9SZWN0VGFibGUgd2l0aCB0aGUKLSAgICAvLyBsb2NhdGlvbiBvZiBlYWNoIGds
eXBoLgotICAgIHN0YXRpYyBTa0JpdG1hcCBnZW5lcmF0ZUZvbnRBdGxhcyhXZWJLaXQ6OldlYlJl
Y3QgYXNjaWlUb1JlY3RUYWJsZVsxMjhdLCBpbnQmIGZvbnRIZWlnaHQpOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQ29tcG9zaXRvckhVREZvbnRBdGxhc19oCi0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA3NDQ5NTk3
MTYxM2FiODE4ZjM2NmU3NjJlNzRjYWE3MThhZTc4NTU1Li5kMjc4MDliMWRhMTJmYjM3ODMxZGQ5
MWIwYjc2ZmE4MDE5YjJlNTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRl
ICJDb2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25VbmRlcmxpbmVWZWN0b3JCdWls
ZGVyLmgiCi0jaW5jbHVkZSAiQ29tcG9zaXRvckhVREZvbnRBdGxhcy5oIgogI2luY2x1ZGUgIkNv
bnRleHRGZWF0dXJlc0NsaWVudEltcGwuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgogI2lu
Y2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgpAQCAtNDI3MCwxMiArNDI2OSw2IEBAIHZv
aWQgV2ViVmlld0ltcGw6OnNjaGVkdWxlQ29tcG9zaXRlKCkKICAgICBtX2NsaWVudC0+c2NoZWR1
bGVDb21wb3NpdGUoKTsKIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6Y3JlYXRlRm9udEF0bGFzKFNr
Qml0bWFwJiBiaXRtYXAsIFdlYlJlY3QgYXNjaWlUb1JlY3RUYWJsZVsxMjhdLCBpbnQmIGZvbnRI
ZWlnaHQpCi17Ci0gICAgVFJBQ0VfRVZFTlQwKCJ3ZWJraXQiLCAiV2ViVmlld0ltcGw6OmxvYWRG
b250QXRsYXMiKTsKLSAgICBiaXRtYXAgPSBXZWJDb3JlOjpDb21wb3NpdG9ySFVERm9udEF0bGFz
OjpnZW5lcmF0ZUZvbnRBdGxhcyhhc2NpaVRvUmVjdFRhYmxlLCBmb250SGVpZ2h0KTsKLX0KLQog
dm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTGF5ZXJUcmVlVmlld3BvcnQoKQogewogICAgIGlmICgh
cGFnZSgpIHx8ICFtX25vbkNvbXBvc2l0ZWRDb250ZW50SG9zdCB8fCAhbV9sYXllclRyZWVWaWV3
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggOTI2NmZiY2E5
ZGMwOWRkZDQxZDIwY2JmOTk0MjlmMzhhM2IwNDVlZC4uYjc5MWZhMzAzYzRhNmMzZGFjNTRjYTBm
MGEzNDcwMTM0N2VhZWQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5oCkBAIC0zMjgsNyArMzI4LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21t
aXRBbmREcmF3RnJhbWUoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTd2FwQnVmZmVy
cygpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgpOwotICAgIHZpcnR1YWwg
dm9pZCBjcmVhdGVGb250QXRsYXMoU2tCaXRtYXAmLCBXZWJSZWN0WzEyOF0sIGludCYpOwogCiAg
ICAgLy8gV2ViVmlld0ltcGwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188110</attachid>
            <date>2013-02-13 10:09:04 -0800</date>
            <delta_ts>2013-02-13 13:24:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109328-20130213100533.patch</filename>
            <type>text/plain</type>
            <size>14171</size>
            <attacher>egraether</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBkODVkYzNiNGNmZjgw
NGJhM2Y0MmQyMmIyNDIxMGM2MTQ2MDg4NWY4Li45MmYzMzc0MWJkMzRmOGQzOTViMzIyNjRlYzgz
ZTBiNWQ3MzM1OGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMi0xMyAg
RWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRoZXJAZ29vZ2xlLmNvbT4KKworICAgICAgICBjaHJv
bWl1bTogcmVtb3ZlIENvbXBvc2l0b3JIVURGb250QXRsYXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTMyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFmdGVyIHN3aXRjaGluZyB0aGUgSHVkTGF5ZXIg
dG8gdXNlIHNraWEncyBmb250IHJlbmRlcmluZyB0aGUKKyAgICAgICAgQ29tcG9zaXRvckhVREZv
bnRBdGxhcyBoYXMgYmVjb21lIG9ic29sZXRlLiBUaGlzIGNoYW5nZSByZW1vdmVzCisgICAgICAg
IHRoaXMgY2xhc3MgYW5kIHRoZSByZWxhdGVkIFdlYkxheWVyVHJlZVZpZXcgQVBJLgorCisgICAg
ICAgICogY2hyb21pdW0vcHVibGljL1dlYkxheWVyVHJlZVZpZXdDbGllbnQuaDoKKyAgICAgICAg
KFdlYkxheWVyVHJlZVZpZXdDbGllbnQpOgorCiAyMDEzLTAyLTExICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGQgV2ViVW5pdFRl
c3RTdXBwb3J0OjpjcmVhdGVMYXllclRyZWVWaWV3Rm9yVGVzdGluZyBmb3Igd2Via2l0X3VuaXRf
dGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAzODhlYWRmOTA3NzM0Y2E5ZGU5MWJkZDc5OWYzOTkwMjFhNjZj
ZGYyLi5mYWIyODk4ZDdkNzg3MGFiY2U0ZWJhMWMzYTFhZWQ5ZjEwMzZmYzM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDItMTMgIEViZXJoYXJkIEdyYWV0aGVyICA8ZWdyYWV0
aGVyQGdvb2dsZS5jb20+CisKKyAgICAgICAgY2hyb21pdW06IHJlbW92ZSBDb21wb3NpdG9ySFVE
Rm9udEF0bGFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDkzMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZnRlciBzd2l0Y2hpbmcgdGhlIEh1ZExheWVyIHRvIHVzZSBza2lhJ3MgZm9udCByZW5kZXJp
bmcgdGhlCisgICAgICAgIENvbXBvc2l0b3JIVURGb250QXRsYXMgaGFzIGJlY29tZSBvYnNvbGV0
ZS4gVGhpcyBjaGFuZ2UgcmVtb3ZlcworICAgICAgICB0aGlzIGNsYXNzIGFuZCB0aGUgcmVsYXRl
ZCBXZWJMYXllclRyZWVWaWV3IEFQSS4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Q29tcG9zaXRvckhVREZvbnRBdGxhcy5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vQ29tcG9zaXRvckhVREZvbnRBdGxhcy5oOiBSZW1vdmVkLgorCiAy
MDEzLTAyLTEzICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBbUmVmYWN0b3JpbmddIFN0eWxlUmVzb2x2ZXI6OlN0YXRlIHNob3VsZCBoYXZlIG1ldGhvZHMg
dG8gYWNjZXNzIGl0cyBtZW1iZXIgdmFyaWFibGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCA1MmY3ODU1ZmJkM2IzMmNiMmUwZmJlNTI3YjEwYzhlYjE3YjRmYTA4Li5hNzZmNWZjOWY5
ZmQ4NDI5NmIzZGQzMTE2ODE3YTEzNDBlMTkyOWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAyLTEzICBFYmVyaGFyZCBHcmFldGhlciAgPGVncmFl
dGhlckBnb29nbGUuY29tPgorCisgICAgICAgIGNocm9taXVtOiByZW1vdmUgQ29tcG9zaXRvckhV
REZvbnRBdGxhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA5MzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWZ0ZXIgc3dpdGNoaW5nIHRoZSBIdWRMYXllciB0byB1c2Ugc2tpYSdzIGZvbnQgcmVuZGVy
aW5nIHRoZQorICAgICAgICBDb21wb3NpdG9ySFVERm9udEF0bGFzIGhhcyBiZWNvbWUgb2Jzb2xl
dGUuIFRoaXMgY2hhbmdlIHJlbW92ZXMKKyAgICAgICAgdGhpcyBjbGFzcyBhbmQgdGhlIHJlbGF0
ZWQgV2ViTGF5ZXJUcmVlVmlldyBBUEkuCisKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3Bw
OgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEzLTAyLTEzICBTYWRydWwgSGFi
aWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IEFkZCBhY2NlbGVyYXRpb24gcmF0aW9zIGZvciB0aGUgZGVsdGFzIHRvIFdlYk1vdXNlV2hlZWxF
dmVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxh
eWVyVHJlZVZpZXdDbGllbnQuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
TGF5ZXJUcmVlVmlld0NsaWVudC5oCmluZGV4IDJjYTZiMGE1MWVkY2IyZmY0NzdmOGM5MDRhNjRh
NTJmODAzZmZmZWEuLjk0YzU4MDJiZGM4YzQ1NDk0MjRmY2RjMWZlZDZlNDBlNDcyMThmMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJUcmVlVmll
d0NsaWVudC5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTGF5ZXJU
cmVlVmlld0NsaWVudC5oCkBAIC05MywxMSArOTMsNiBAQCBwdWJsaWM6CiAgICAgLy8gaW50ZXJu
YWxseSBzY2hlZHVsZSBhIGNvbXBvc2l0aW5nIHBhc3Mgd2hlbiBuZWVkZWQuCiAgICAgdmlydHVh
bCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRlKCkgPSAwOwogCi0gICAgLy8gQ3JlYXRlcyBhIGZvbnQg
YXRsYXMgdG8gdXNlIGZvciBkZWJ1ZyB2aXN1YWxpemF0aW9ucy4gVGhlIGF0bGFzIGlzIGEgYml0
bWFwCi0gICAgLy8gY29udGFpbmluZyBnbHlwaCBkYXRhLCBhIHRhYmxlIG9mIEFTQ0lJIGNoYXJh
Y3RlciB2YWx1ZXMgdG8gYSBzdWJyZWN0YW5nbGUKLSAgICAvLyBvZiB0aGUgYXRsYXMgcmVwcmVz
ZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGdseXBoLCBhbmQgdGhlIGdseXBoIGhlaWdodC4KLSAg
ICB2aXJ0dWFsIHZvaWQgY3JlYXRlRm9udEF0bGFzKFNrQml0bWFwJiwgV2ViUmVjdCBhc2NpaVRv
UmVjdFRhYmxlWzEyOF0sIGludCYgZm9udEhlaWdodCkgeyB9Ci0KIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIH5XZWJMYXllclRyZWVWaWV3Q2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IDY4MTM4OWY3OTY5OWIxYmMxOWNiNzM3NzY4MzU4ZjNlN2Q2OGZjN2MuLjk3MDI2NTJjZDg3
ZDIxZjI4ZGQwZjJjNTgwYjdlNTE3YjI4MTQxMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM4ODIs
OCArMzg4Miw2IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2Fu
dmFzMkRMYXllckJyaWRnZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9DYW52YXMyRExheWVyTWFuYWdlci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJNYW5hZ2VyLmgnLAotICAgICAgICAgICAgJ3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbXBvc2l0b3JIVURGb250QXRsYXMuY3BwJywKLSAg
ICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0
bGFzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJv
Y2Vzc0ZvbnRMb2FkaW5nLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLm1tJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29tcG9zaXRvckhVREZv
bnRBdGxhcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9D
b21wb3NpdG9ySFVERm9udEF0bGFzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDhmMDEwZTlkMmQ0MWI2ZTU5NzZjMzEzNDNhODA5NjNkZjEyZGY3My4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDEzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0g
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVk
ZSAiQ29tcG9zaXRvckhVREZvbnRBdGxhcy5oIgotCi0jaW5jbHVkZSAiRm9udC5oIgotI2luY2x1
ZGUgIkZvbnRDYWNoZS5oIgotI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgotI2luY2x1ZGUg
IkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKLSNp
bmNsdWRlICJTa0NhbnZhcy5oIgotI2luY2x1ZGUgIlNrRGV2aWNlLmgiCi0jaW5jbHVkZSAiVGV4
dFJ1bi5oIgotI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5oIgotCi11c2luZyBX
ZWJLaXQ6OldlYlJlY3Q7Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotI2RlZmluZSBBVExBU19T
SVpFIDEyOAotCi1zdGF0aWMgdm9pZCB3cmFwUG9zaXRpb25JZk5lZWRlZChJbnRQb2ludCYgcG9z
aXRpb24sIGludCB0ZXh0V2lkdGgsIGludCB0ZXh0SGVpZ2h0KQotewotICAgIGlmIChwb3NpdGlv
bi54KCkgKyB0ZXh0V2lkdGggPiBBVExBU19TSVpFKQotICAgICAgICBwb3NpdGlvbiA9IEludFBv
aW50KDAsIHBvc2l0aW9uLnkoKSArIHRleHRIZWlnaHQpOwotfQotCi0vLyBQYWludHMgdGhlIGZv
bnQgaW50byB0aGUgYXRsYXMsIGZyb20gbGVmdC10by1yaWdodCwgdG9wLXRvLWJvdHRvbSwgc3Rh
cnRpbmcgYXQKLS8vIHN0YXJ0aW5nUG9zaXRpb24uIEF0IHRoZSBzYW1lIHRpbWUsIGl0IHVwZGF0
ZXMgdGhlIGFzY2lpLXRvLVdlYlJlY3QgbWFwcGluZyBmb3IKLS8vIGVhY2ggY2hhcmFjdGVyLiBC
eSBkb2luZyB0aGluZ3MgdGhpcyB3YXksIGl0IGlzIHBvc3NpYmxlIHRvIHN1cHBvcnQgdmFyaWFi
bGUtd2lkdGgKLS8vIGZvbnRzIGFuZCBtdWx0aXBsZSBmb250cyBvbiB0aGUgc2FtZSBhdGxhcy4K
LVNrQml0bWFwIENvbXBvc2l0b3JIVURGb250QXRsYXM6OmdlbmVyYXRlRm9udEF0bGFzKFdlYlJl
Y3QgYXNjaWlUb1JlY3RUYWJsZVsxMjhdLCBpbnQmIGZvbnRIZWlnaHQpCi17Ci0gICAgZm9udEhl
aWdodCA9IDE0OwotCi0gICAgT3duUHRyPFNrQ2FudmFzPiBjYW52YXMgPSBhZG9wdFB0cihza2lh
OjpDcmVhdGVCaXRtYXBDYW52YXMoQVRMQVNfU0laRSwgQVRMQVNfU0laRSwgZmFsc2UgLyogb3Bh
cXVlICovKSk7Ci0KLSAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52
YXMuZ2V0KCkpOwotICAgIEdyYXBoaWNzQ29udGV4dCBhdGxhc0NvbnRleHQoJnBsYXRmb3JtQ29u
dGV4dCk7Ci0gICAgYXRsYXNDb250ZXh0LnNldFNob3VsZFNtb290aEZvbnRzKGZhbHNlKTsKLQot
ICAgIC8vIENsZWFyIHRoZSBlbnRpcmUgdGV4dHVyZSBhdGxhcyB0byB0cmFuc3BhcmVudCBiZWZv
cmUgZHJhd2luZyBmb250cy4KLSAgICBhdGxhc0NvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKDAs
IDAsIDAsIDApLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBhdGxhc0NvbnRleHQuY2xlYXJS
ZWN0KEZsb2F0UmVjdCgwLCAwLCBBVExBU19TSVpFLCBBVExBU19TSVpFKSk7Ci0KLSAgICAvLyBG
SVhNRTogbW9ub3NwYWNlIGZvbnQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4KLSAgICBGb250
RGVzY3JpcHRpb24gZm9udERlc2NyaXB0aW9uOwotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRHZW5l
cmljRmFtaWx5KEZvbnREZXNjcmlwdGlvbjo6TW9ub3NwYWNlRmFtaWx5KTsKLSAgICBmb250RGVz
Y3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKGZvbnRIZWlnaHQpOwotCi0gICAgRm9udENhY2hlUHVy
Z2VQcmV2ZW50ZXIgZm9udENhY2hlUHVyZ2VQcmV2ZW50ZXI7Ci0KLSAgICBpbnQgdGV4dEhlaWdo
dCA9IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpOwotICAgIEludFBvaW50IHBv
c2l0aW9uKDAsIHRleHRIZWlnaHQpOwotICAgIC8vIFRoaXMgaXMgYSBkaXJ0eSBsaXR0bGUgdHJp
Y2sgdG8gYWNjb3VudCBmb3Igb3ZlcmhhbmcgbGV0dGVycyBsaWtlIGcsIHAsIGouCi0gICAgaW50
IGluZmxhdGlvbiA9IHRleHRIZWlnaHQgLyAzOwotCi0gICAgRm9udCBmb250KGZvbnREZXNjcmlw
dGlvbiwgMCwgMCk7Ci0gICAgZm9udC51cGRhdGUoMCk7Ci0KLSAgICBDb2xvciBmb250Q29sb3Io
MjU1LCAwLCAwKTsKLSAgICBhdGxhc0NvbnRleHQuc2V0U3Ryb2tlQ29sb3IoZm9udENvbG9yLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBhdGxhc0NvbnRleHQuc2V0RmlsbENvbG9yKGZvbnRD
b2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0KLSAgICAvLyBGaXJzdCwgZHJhdyBhIGdlbmVy
aWMgcmVjdCB0aGF0IHdpbGwgYmUgdXNlZCBmb3Igc3BlY2lhbCBhbmQgdW5rbm93biBjaGFyYWN0
ZXJzIHRoYXQgaGF2ZSBub3RoaW5nIGVsc2UgdG8gcmVuZGVyLgotICAgIHsKLSAgICAgICAgaW50
IHRleHRXaWR0aCA9IHRleHRIZWlnaHQgLyAyOwotICAgICAgICB3cmFwUG9zaXRpb25JZk5lZWRl
ZChwb3NpdGlvbiwgdGV4dFdpZHRoLCB0ZXh0SGVpZ2h0ICsgaW5mbGF0aW9uKTsKLSAgICAgICAg
YXRsYXNDb250ZXh0LnN0cm9rZVJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQocG9zaXRpb24ueCgp
ICsgMSwgcG9zaXRpb24ueSgpIC0gdGV4dEhlaWdodCArIDEgKyBpbmZsYXRpb24pLCBGbG9hdFNp
emUodGV4dFdpZHRoIC0gMiwgdGV4dEhlaWdodCAtIDIgLSBpbmZsYXRpb24pKSwgMSk7Ci0KLSAg
ICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgcmVjdCB0aGF0IHdvdWxkIGJlIGNvcGllZCB3aGVuIGRy
YXdpbmcgdGhpcyBnbHlwaCBmcm9tIHRoZSBhdGxhcy4KLSAgICAgICAgYXNjaWlUb1JlY3RUYWJs
ZVswXSA9IFdlYlJlY3QocG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCkgLSB0ZXh0SGVpZ2h0LCB0
ZXh0V2lkdGgsIHRleHRIZWlnaHQgKyBpbmZsYXRpb24pOwotCi0gICAgICAgIC8vIEluY3JlbWVu
dCB0byB0aGUgcG9zaXRpb24gd2hlcmUgdGhlIG5leHQgZ2x5cGggd2lsbCBiZSBwbGFjZWQuCi0g
ICAgICAgIHBvc2l0aW9uLnNldFgocG9zaXRpb24ueCgpICsgdGV4dFdpZHRoKTsKLSAgICB9Ci0K
LSAgICAvLyBUaGVuLCBkcmF3IHRoZSBBU0NJSSBjaGFyYWN0ZXJzLgotICAgIGZvciAoTENoYXIg
aSA9IDE7IGkgPCAxMjg7ICsraSkgewotICAgICAgICBpZiAoaSA8IDMyKSB7Ci0gICAgICAgICAg
ICAvLyBTcGVjaWFsIGNoYXJhY3RlcnMgd2lsbCBzaW1wbHkgdXNlIHRoZSB0aGUgZGVmYXVsdCBn
bHlwaC4KLSAgICAgICAgICAgIGFzY2lpVG9SZWN0VGFibGVbaV0gPSBhc2NpaVRvUmVjdFRhYmxl
WzBdOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJpbmcg
c3RyOwotICAgICAgICBzdHIuYXBwZW5kKGkpOwotICAgICAgICBUZXh0UnVuIHRleHQoc3RyKTsK
LQotICAgICAgICBpbnQgdGV4dFdpZHRoID0gcm91bmQoZm9udC53aWR0aCh0ZXh0KSk7Ci0gICAg
ICAgIHdyYXBQb3NpdGlvbklmTmVlZGVkKHBvc2l0aW9uLCB0ZXh0V2lkdGgsIHRleHRIZWlnaHQg
KyBpbmZsYXRpb24pOwotICAgICAgICBhdGxhc0NvbnRleHQuZHJhd1RleHQoZm9udCwgdGV4dCwg
cG9zaXRpb24pOwotCi0gICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHJlY3QgdGhhdCB3b3VsZCBi
ZSBjb3BpZWQgd2hlbiBkcmF3aW5nIHRoaXMgZ2x5cGggZnJvbSB0aGUgYXRsYXMuCi0gICAgICAg
IGFzY2lpVG9SZWN0VGFibGVbaV0gPSBXZWJSZWN0KHBvc2l0aW9uLngoKSwgcG9zaXRpb24ueSgp
IC0gdGV4dEhlaWdodCwgdGV4dFdpZHRoLCB0ZXh0SGVpZ2h0ICsgaW5mbGF0aW9uKTsKLQotICAg
ICAgICAvLyBJbmNyZW1lbnQgdG8gdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBuZXh0IGdseXBoIHdp
bGwgYmUgcGxhY2VkLgotICAgICAgICBwb3NpdGlvbi5zZXRYKHBvc2l0aW9uLngoKSArIHRleHRX
aWR0aCk7Ci0gICAgfQotCi0gICAgU2tCaXRtYXAgY29weTsKLSAgICBjb25zdCBTa0JpdG1hcCYg
c291cmNlID0gY2FudmFzLT5nZXREZXZpY2UoKS0+YWNjZXNzQml0bWFwKGZhbHNlKTsKLSAgICBz
b3VyY2UuY29weVRvKCZjb3B5LCBzb3VyY2UuY29uZmlnKCkpOwotICAgIHJldHVybiBjb3B5Owot
fQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0bGFzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db21wb3NpdG9ySFVERm9udEF0
bGFzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxYmFiNWQ2MmM3YjRkNDRkM2Mz
NDI1YTZhN2M2NGJhZmY0MjUxNDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29t
cG9zaXRvckhVREZvbnRBdGxhcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0g
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpZm5kZWYgQ29tcG9zaXRvckhVREZvbnRBdGxhc19oCi0jZGVmaW5lIENvbXBvc2l0b3JI
VURGb250QXRsYXNfaAotCi0jaW5jbHVkZSAiU2tCaXRtYXAuaCIKLSNpbmNsdWRlIDxwdWJsaWMv
V2ViUmVjdC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvbXBvc2l0b3JIVURG
b250QXRsYXMgewotcHVibGljOgotICAgIC8vIFRoaXMgaXMgYSBoZWxwZXIgZnVuY3Rpb24gdGhh
dCBjYW4gZ2VuZXJhdGUgYSBmb250IGF0bGFzIHN1aXRhYmxlIGZvciB0aGUgY29tcG9zaXRvcidz
IGhlYWRzIHVwIGRpc3BsYXkuCi0gICAgLy8gUmV0dXJucyBhIGJpdG1hcCBjb250YWluaW5nIGds
eXBocyBhbmQgcG9wdWxhdGVzIGFzY2lpVG9SZWN0VGFibGUgd2l0aCB0aGUKLSAgICAvLyBsb2Nh
dGlvbiBvZiBlYWNoIGdseXBoLgotICAgIHN0YXRpYyBTa0JpdG1hcCBnZW5lcmF0ZUZvbnRBdGxh
cyhXZWJLaXQ6OldlYlJlY3QgYXNjaWlUb1JlY3RUYWJsZVsxMjhdLCBpbnQmIGZvbnRIZWlnaHQp
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQ29tcG9zaXRvckhV
REZvbnRBdGxhc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCAwNTQxZjMzYTZmNTg0OWFmYTg4ZjdmODU5MjJiYzdiY2M3MjYyNzg3Li4wOWZiMzQx
Y2ZlZTQzODVmMTZkZDJmNzY4M2QwZmQwMTU2OWVlZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiQ29s
b3IuaCIKICNpbmNsdWRlICJDb2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRpb25VbmRl
cmxpbmVWZWN0b3JCdWlsZGVyLmgiCi0jaW5jbHVkZSAiQ29tcG9zaXRvckhVREZvbnRBdGxhcy5o
IgogI2luY2x1ZGUgIkNvbnRleHRGZWF0dXJlc0NsaWVudEltcGwuaCIKICNpbmNsdWRlICJDb250
ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgpAQCAtNDI1OSwx
MiArNDI1OCw2IEBAIHZvaWQgV2ViVmlld0ltcGw6OnNjaGVkdWxlQ29tcG9zaXRlKCkKICAgICBt
X2NsaWVudC0+c2NoZWR1bGVDb21wb3NpdGUoKTsKIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6Y3Jl
YXRlRm9udEF0bGFzKFNrQml0bWFwJiBiaXRtYXAsIFdlYlJlY3QgYXNjaWlUb1JlY3RUYWJsZVsx
MjhdLCBpbnQmIGZvbnRIZWlnaHQpCi17Ci0gICAgVFJBQ0VfRVZFTlQwKCJ3ZWJraXQiLCAiV2Vi
Vmlld0ltcGw6OmxvYWRGb250QXRsYXMiKTsKLSAgICBiaXRtYXAgPSBXZWJDb3JlOjpDb21wb3Np
dG9ySFVERm9udEF0bGFzOjpnZW5lcmF0ZUZvbnRBdGxhcyhhc2NpaVRvUmVjdFRhYmxlLCBmb250
SGVpZ2h0KTsKLX0KLQogdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTGF5ZXJUcmVlVmlld3BvcnQo
KQogewogICAgIGlmICghcGFnZSgpIHx8ICFtX25vbkNvbXBvc2l0ZWRDb250ZW50SG9zdCB8fCAh
bV9sYXllclRyZWVWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgK
aW5kZXggOTI2NmZiY2E5ZGMwOWRkZDQxZDIwY2JmOTk0MjlmMzhhM2IwNDVlZC4uYjc5MWZhMzAz
YzRhNmMzZGFjNTRjYTBmMGEzNDcwMTM0N2VhZWQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMjgsNyArMzI4LDYgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRDb21taXRBbmREcmF3RnJhbWUoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29t
cGxldGVTd2FwQnVmZmVycygpOwogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUNvbXBvc2l0ZSgp
OwotICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVGb250QXRsYXMoU2tCaXRtYXAmLCBXZWJSZWN0WzEy
OF0sIGludCYpOwogCiAgICAgLy8gV2ViVmlld0ltcGwKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>