<?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>137981</bug_id>
          
          <creation_ts>2014-10-22 14:44:26 -0700</creation_ts>
          <short_desc>CSS 3.0 letterSpacing property is defined as normal | &lt;length&gt; but in WebKit it is defined as normal | float</short_desc>
          <delta_ts>2014-10-23 17:20:10 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1043557</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-10-22 14:44:26 -0700</bug_when>
    <thetext>We need to handle the letter-spacing property very similar to the word-spacing property.  The only difference is word-spacing can be a percentage of the space width.  The letter spacing can only be normal | &lt;length&gt;.

Link ot w3c specs is: http://www.w3.org/TR/css3-text/#letter-spacing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043570</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-10-22 15:47:54 -0700</bug_when>
    <thetext>&lt;rdar://problem:18743210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043571</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-10-22 15:48:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/18743210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043616</commentid>
    <comment_count>3</comment_count>
      <attachid>240314</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-10-22 17:41:22 -0700</bug_when>
    <thetext>Created attachment 240314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043803</commentid>
    <comment_count>4</comment_count>
      <attachid>240314</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-10-23 12:44:29 -0700</bug_when>
    <thetext>Comment on attachment 240314
Patch

This needs tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043804</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-23 12:45:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/18754113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043805</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-10-23 12:45:20 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 240314 [details]
&gt; Patch
&gt; 
&gt; This needs tests.

More specifically, I don&apos;t understand why we need this patch if it doesn&apos;t change behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043806</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-23 12:45:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/18754116&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043875</commentid>
    <comment_count>8</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2014-10-23 16:35:11 -0700</bug_when>
    <thetext>Here is the history behind this bug:

1. I was working on https://bugs.webkit.org/show_bug.cgi?id=129350 and I was asked why setting wordSpacing  to huge percentage value causes a security assertion to fire but with letter spacing no assertion is fired.

2. I looked at the code and I found out letterSpacing is defined of type float while wordSpacing is defined of type Length.  The Length handler of the wordSpacing was not clamping the percentage value to some min/max values.

3. Then I asked why letterSpacing is of type float while wordSpacing is of type Length.  The answer I got was we should handle both very similar expect for the percentage case which can only be applied to the wordSpacing.  So I added the type change float -&gt; Length of the letterSpacing to the patch of 129350.

4. But for the combined patch uploaded to 129350, I was asked to split the two changes into two separate patches.  So I logged this bug and I split the patches into two.

5. The attached patch was challenged for why it needs to be taken.  So I looked at the history of the wordSpacing code and I found out it was defined of type float until css3.0 decided to support percentage for the wordSpacing property.  So to fix https://bugs.webkit.org/show_bug.cgi?id=126674, the wordSpacing was converted from float to Length.

6. Since letterSpacing can&apos;t be a percentage, we need not to convert it from float to Length.  So I am resolving this bug as INVALID.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240314</attachid>
            <date>2014-10-22 17:41:22 -0700</date>
            <delta_ts>2014-10-23 17:20:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137981-20141022174128.patch</filename>
            <type>text/plain</type>
            <size>14466</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTA2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcwIEBACisyMDE0LTEwLTIyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgQ1NTIDMuMCBs
ZXR0ZXJTcGFjaW5nIHByb3BlcnR5IGlzIGRlZmluZWQgYXMgbm9ybWFsIHwgPGxlbmd0aD4gYnV0
IGluIFdlYktpdCAKKyAgICAgICAgaXQgaXMgZGVmaW5lZCBhcyBub3JtYWwgfCBmbG9hdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzk4MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhl
IENTUyBsZXR0ZXJTcGFjaW5nIHByb3BlcnR5IHdhcyBkZWZpbmVkIG9mIHR5cGUgZmxvYXQsIGJ1
dCBpcyBzaG91bGQgYmUgb2YKKyAgICAgICAgdHlwZSBMZW5ndGguCisKKyAgICAgICAgVGVzdHM6
IFRoZXJlIGFyZSBtYW55IHRlc3RzIGFscmVhZHkgd2hpY2ggdGVzdCB0aGUgY29ycmVjdG5lc3Mg
b2YgdGhlIGxldHRlciBzcGFjaW5nCisgICAgICAgIGxheW91dC4gVGhpcyBjaGFuZ2UgZG9lcyBu
b3QgY2hhbmdlIHRoZSBmdW5jdGlvbmFsaXR5IGJ1dCBpdCBjaGFuZ2VzIHRoZSBpbnRlcm5hbAor
ICAgICAgICByZXByZXNlbnRhdGlvbiBvZiB0aGUgbGV0dGVyU3BhY2luZy4gU28gbm8gbmV3IHRl
c3RzIHdlcmUgYWRkZWQuIEp1c3QgcGFzc2luZyB0aGUKKyAgICAgICAgZXhpc3RpbmcgdGVzdHMg
c2hvdWxkIGJlIGVub3VnaC4KKworICAgICAgICBTaW1wbGUgY2hhbmdlcyBuZWVkZWQgYmVjYXVz
ZSBvZiB0aGUgZmxvYXQgLT4gbGVuZ3RoIGNvbnZlcnNpb24uIFNlZSBoYW5kbGluZyB0aGUKKyAg
ICAgICAgd29yZFNwYWNpbmcgaW4gdGhpcyBmaWxlIGZvciBlYXN5IGNvbXBhcmlzb24uCisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpwcm9wZXJ0eVZhbHVlKToKKyAgICAgICAgCisg
ICAgICAgIEhhbmRsZSB0aGUgbGV0dGVyLXNwYWNpbmcgaW4gYSBzcGVjaWFsaXplZCBwcm9wZXJ0
eSBoYW5kbGVyIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkCisgICAgICAgIGZsb2F0IHByb3BlcnR5
IGhhbmRsZXIuICBTZWUgQXBwbHlQcm9wZXJ0eVdvcmRTcGFjaW5nIGFzIGEgcmVmZXJlbmNlLiBP
bmx5IG9uZQorICAgICAgICBkaWZmZXJlbmNlIGlzIHRoZSBsZXR0ZXJTcGFjaW5nIGNhbid0IGJl
IHBlcmNlbnRhZ2UuCisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUxldHRlclNwYWNpbmc6OmFwcGx5VmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUxldHRlclNwYWNpbmc6OmNyZWF0ZUhh
bmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVwcmVj
YXRlZFN0eWxlQnVpbGRlcik6CisKKyAgICAgICAgQWRkIGEgbWlzc2luZyBjYXNlIGZvciB0aGUg
bGV0dGVyU3BhY2luZy4gU2VlIENTU1BhcnNlcjo6cGFyc2VWYWx1ZSgpIHdoZXJlCisgICAgICAg
IENTU1Byb3BlcnR5TGV0dGVyU3BhY2luZyBpcyBkZWZpbmVkIHRvIGJlICJub3JtYWwgfCA8bGVu
Z3RoPiB8IGluaGVyaXQiLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvSFRNTENvbnZlcnRlci5t
bToKKyAgICAgICAgKEhUTUxDb252ZXJ0ZXJDYWNoZXM6OnByb3BlcnR5VmFsdWVGb3JOb2RlKToK
KyAgICAgICAgCisgICAgICAgIFVzZSB0aGUgTGVuZ3RoUHJvcGVydHlXcmFwcGVyIGluc3RlYWQg
b2YgdGhlIGdlbmVyaWMgUHJvcGVydHlXcmFwcGVyIGZvciB0aGUKKyAgICAgICAgbGV0dGVyU3Bh
Y2luZyBwcm9wZXJ0eS4KKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1h
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJN
YXA6OkNTU1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcCk6CisgICAgICAgIAorICAgICAgICBT
aW1wbGUgY2hhbmdlcyBuZWVkZWQgYmVjYXVzZSBvZiB0aGUgZmxvYXQgLT4gbGVuZ3RoIGNvbnZl
cnNpb24uCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lRmxvd0JveDo6YWRkVG9MaW5lKToKKyAgICAgICAgCisgICAgICAgIFNp
bXBsZSBjaGFuZ2VzIG5lZWRlZCBiZWNhdXNlIG9mIHRoZSBmbG9hdCAtPiBsZW5ndGggY29udmVy
c2lvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpjYW5Vc2VGb3IpOgorICAgICAgICAKKyAgICAg
ICAgVGhlIEZvbnQgb2JqZWN0IGRlZmluZXMgdGhlIHdvcmRTcGFjaW5nIGFuZCBsZXR0ZXJTcGFj
aW5nIHRvIGJlIG9mIHR5cGUgZmxvYXQuCisgICAgICAgIFRoZSBTdHlsZVJhcmVJbmhlcml0ZWRE
YXRhIGhhcyBhIHdvcmRTcGFjaW5nIG1lbWJlciB3aGljaCBpcyBkZWZpbmVkIG9mIHR5cGUKKyAg
ICAgICAgTGVuZ3RoOyB3ZSBuZWVkIHRvIGFkZCBhbm90aGVyIG1lbWJlciBvZiB0eXBlIExlbmd0
aCBpbiB0aGUgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YQorICAgICAgICBmb3IgdGhlIGxldHRlciBz
cGFjaW5nLiBJbiB0aGUgUmVuZGVyU3R5bGUsIHdlIG5lZWQgdG8gc2V0L2dldCB0aGUgbGV0dGVy
U3BhY2luZworICAgICAgICBwcm9wZXJ0eSB0aG91Z2ggU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS4g
QnV0IGFsc28gd2UgbmVlZCB0byBzZXQgdGhlIGxldHRlclNwYWNpbmcKKyAgICAgICAgZmxvYXQg
bWVtYmVyIGluIHRoZSBGb250IG9iamVjdCBvZiB0aGUgU3R5bGVJbmhlcml0ZWREYXRhLiAgU2Vl
IHdvcmRTcGFjaW5nIGFuZAorICAgICAgICBsZXR0ZXJTcGFjaW5nIGZvciBlYXN5IGNvbXBhcmlz
b24uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclN0eWxlOjpsZXR0ZXJTcGFjaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjpzZXRMZXR0ZXJTcGFjaW5nKToKKyAgICAgICAgCisgICAgICAgIENoYW5n
ZSB0aGUgc2V0dGVyL2dldHRlciBvZiB0aGUgbGV0dGVyU3BhY2luZyBwcm9wZXJ0eSB0byBkZWFs
IHdpdGggTGVuZ3RoIHR5cGUKKyAgICAgICAgaW5zdGVhZCBvZiBmbG9hdC4gQWxzbyBhZGQgdGhl
IGluaXRpYWxpemVyIGZvciBsZXR0ZXJTcGFjaW5nIHByb3BlcnR5IHdoaWNoIGlzCisgICAgICAg
IGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0eSB2YWx1ZSBpcyBub3JtYWwuCisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIAorICAgICAgICBBZGQgdGhlIGxl
dHRlclNwYWNpbmcgcHJvcGVydHkgdG8gU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSBzaW5jZSBpdHMg
Q1NTIHR5cGUgaXMKKyAgICAgICAgbm93IExlbmd0aCBhbmQgd2UgY2FuJ3QgY2hhbmdlIHRoZSB0
eXBlIG9mIHRoZSBsZXR0ZXJTcGFjaW5nIGluIHRoZSBGb250IGNsYXNzLgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6CisKIDIwMTQtMTAtMjIgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdm9pZCBjb25mdXNpb24g
YmV0d2VlbiBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojppc1RhYmxlKCkgLyBpc0FjY2Vzc2liaWxpdHlU
YWJsZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gMTc0ODU4KQorKysgU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMjEs
OSArMjIyMSw5IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWMKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eUxlZnQ6CiAgICAgICAgICAgICByZXR1cm4gcG9zaXRpb25P
ZmZzZXRWYWx1ZShzdHlsZS5nZXQoKSwgQ1NTUHJvcGVydHlMZWZ0KTsKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eUxldHRlclNwYWNpbmc6Ci0gICAgICAgICAgICBpZiAoIXN0eWxlLT5sZXR0ZXJT
cGFjaW5nKCkpCisgICAgICAgICAgICBpZiAoIXN0eWxlLT5mb250KCkubGV0dGVyU3BhY2luZygp
KQogICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVOb3JtYWwpOwotICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBp
eGVsVmFsdWUoc3R5bGUtPmxldHRlclNwYWNpbmcoKSwgc3R5bGUuZ2V0KCkpOworICAgICAgICAg
ICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoc3R5bGUtPmZvbnQoKS5sZXR0ZXJTcGFj
aW5nKCksIHN0eWxlLmdldCgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdExpbmVD
bGFtcDoKICAgICAgICAgICAgIGlmIChzdHlsZS0+bGluZUNsYW1wKCkuaXNOb25lKCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZU5vbmUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1
aWxkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5
bGVCdWlsZGVyLmNwcAkocmV2aXNpb24gMTc0ODU4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0Rl
cHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTY0LDYgKzE1NjQs
MzMgQEAgcHVibGljOgogICAgIH0KIH07CiAKK2NsYXNzIEFwcGx5UHJvcGVydHlMZXR0ZXJTcGFj
aW5nIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKKyAgICB7Cisg
ICAgICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUmIHByaW1pdGl2ZVZhbHVlID0gZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSk7CisgICAgICAgIExlbmd0aCBsZXR0ZXJT
cGFjaW5nOworCisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NT
VmFsdWVOb3JtYWwpCisgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nID0gUmVuZGVyU3R5bGU6Omlu
aXRpYWxMZXR0ZXJTcGFjaW5nKCk7CisgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlz
TGVuZ3RoKCkpCisgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nID0gcHJpbWl0aXZlVmFsdWUuY29t
cHV0ZUxlbmd0aDxMZW5ndGg+KGNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21G
YWN0b3IoKnN0eWxlUmVzb2x2ZXIpKTsKKyAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUu
aXNOdW1iZXIoKSkKKyAgICAgICAgICAgIGxldHRlclNwYWNpbmcgPSBMZW5ndGgocHJpbWl0aXZl
VmFsdWUuZ2V0RG91YmxlVmFsdWUoKSwgRml4ZWQpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldExldHRlclNwYWNp
bmcobGV0dGVyU3BhY2luZyk7CisgICAgfQorICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3Jl
YXRlSGFuZGxlcigpCisgICAgeworICAgICAgICBQcm9wZXJ0eUhhbmRsZXIgaGFuZGxlciA9IEFw
cGx5UHJvcGVydHlEZWZhdWx0QmFzZTxjb25zdCBMZW5ndGgmLCAmUmVuZGVyU3R5bGU6OmxldHRl
clNwYWNpbmcsIExlbmd0aCwgJlJlbmRlclN0eWxlOjpzZXRMZXR0ZXJTcGFjaW5nLCBMZW5ndGgs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbExldHRlclNwYWNpbmc+OjpjcmVhdGVIYW5kbGVyKCk7Cisg
ICAgICAgIHJldHVybiBQcm9wZXJ0eUhhbmRsZXIoaGFuZGxlci5pbmhlcml0RnVuY3Rpb24oKSwg
aGFuZGxlci5pbml0aWFsRnVuY3Rpb24oKSwgJmFwcGx5VmFsdWUpOworICAgIH0KK307CisKIGNs
YXNzIEFwcGx5UHJvcGVydHlQYWdlU2l6ZSB7CiBwcml2YXRlOgogICAgIHN0YXRpYyBMZW5ndGgg
bW1MZW5ndGgoZG91YmxlIG1tKQpAQCAtMjQwMiw3ICsyNDI5LDcgQEAgRGVwcmVjYXRlZFN0eWxl
QnVpbGRlcjo6RGVwcmVjYXRlZFN0eWxlQgogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9w
ZXJ0eUltYWdlUmVzb2x1dGlvbiwgQXBwbHlQcm9wZXJ0eUltYWdlUmVzb2x1dGlvbjo6Y3JlYXRl
SGFuZGxlcigpKTsKICNlbmRpZgogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxl
ZnQsIEFwcGx5UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjpsZWZ0LCAmUmVuZGVyU3R5bGU6
OnNldExlZnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9mZnNldCwgQXV0b0VuYWJsZWQ+OjpjcmVh
dGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxldHRlclNw
YWNpbmcsIEFwcGx5UHJvcGVydHlDb21wdXRlTGVuZ3RoPGZsb2F0LCAmUmVuZGVyU3R5bGU6Omxl
dHRlclNwYWNpbmcsICZSZW5kZXJTdHlsZTo6c2V0TGV0dGVyU3BhY2luZywgJlJlbmRlclN0eWxl
Ojppbml0aWFsTGV0dGVyU3BhY2luZywgTm9ybWFsRW5hYmxlZCwgVGhpY2tuZXNzRGlzYWJsZWQs
IFNWR1pvb21FbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlMZXR0ZXJTcGFjaW5nLCBBcHBseVByb3BlcnR5TGV0dGVyU3BhY2luZzo6
Y3JlYXRlSGFuZGxlcigpKTsKIAogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUxpbmVIZWlnaHQsIEFwcGx5UHJvcGVydHlM
aW5lSGVpZ2h0Rm9ySU9TVGV4dEF1dG9zaXppbmc6OmNyZWF0ZUhhbmRsZXIoKSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tCShyZXZpc2lv
biAxNzQ4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252ZXJ0ZXIu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTgzOSw2ICs4MzksNyBAQCBTdHJpbmcgSFRNTENvbnZlcnRl
ckNhY2hlczo6cHJvcGVydHlWYWx1CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckNvbGxhcHNl
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlFbXB0eUNlbGxzOgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
b3JkU3BhY2luZzoKKyAgICBjYXNlIENTU1Byb3BlcnR5TGV0dGVyU3BhY2luZzoKICAgICBjYXNl
IENTU1Byb3BlcnR5TGlzdFN0eWxlVHlwZToKICAgICBjYXNlIENTU1Byb3BlcnR5RGlyZWN0aW9u
OgogICAgICAgICBpbmhlcml0ID0gdHJ1ZTsgLy8gRklYTUU6IExldCBjbGFzc2VzIGluIHRoZSBj
c3MgY29tcG9uZW50IGZpZ3VyZSB0aGlzIG91dC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAJKHJldmlzaW9u
IDE3NDg1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5p
bWF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5Myw3ICsxMTkzLDcgQEAgQ1NTUHJvcGVy
dHlBbmltYXRpb25XcmFwcGVyTWFwOjpDU1NQcm9wZQogICAgICAgICBuZXcgTGVuZ3RoUHJvcGVy
dHlXcmFwcGVyPExlbmd0aD4oQ1NTUHJvcGVydHlMaW5lSGVpZ2h0LCAmUmVuZGVyU3R5bGU6OnNw
ZWNpZmllZExpbmVIZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0TGluZUhlaWdodCksCiAgICAgICAg
IG5ldyBQcm9wZXJ0eVdyYXBwZXI8aW50PihDU1NQcm9wZXJ0eU91dGxpbmVPZmZzZXQsICZSZW5k
ZXJTdHlsZTo6b3V0bGluZU9mZnNldCwgJlJlbmRlclN0eWxlOjpzZXRPdXRsaW5lT2Zmc2V0KSwK
ICAgICAgICAgbmV3IFByb3BlcnR5V3JhcHBlcjx1bnNpZ25lZCBzaG9ydD4oQ1NTUHJvcGVydHlP
dXRsaW5lV2lkdGgsICZSZW5kZXJTdHlsZTo6b3V0bGluZVdpZHRoLCAmUmVuZGVyU3R5bGU6OnNl
dE91dGxpbmVXaWR0aCksCi0gICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXI8ZmxvYXQ+KENTU1By
b3BlcnR5TGV0dGVyU3BhY2luZywgJlJlbmRlclN0eWxlOjpsZXR0ZXJTcGFjaW5nLCAmUmVuZGVy
U3R5bGU6OnNldExldHRlclNwYWNpbmcpLAorICAgICAgICBuZXcgTGVuZ3RoUHJvcGVydHlXcmFw
cGVyPExlbmd0aD4oQ1NTUHJvcGVydHlMZXR0ZXJTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OmxldHRl
clNwYWNpbmcsICZSZW5kZXJTdHlsZTo6c2V0TGV0dGVyU3BhY2luZyksCiAgICAgICAgIG5ldyBM
ZW5ndGhQcm9wZXJ0eVdyYXBwZXI8TGVuZ3RoPihDU1NQcm9wZXJ0eVdvcmRTcGFjaW5nLCAmUmVu
ZGVyU3R5bGU6OndvcmRTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OnNldFdvcmRTcGFjaW5nKSwKICAg
ICAgICAgbmV3IExlbmd0aFByb3BlcnR5V3JhcHBlcjxMZW5ndGg+KENTU1Byb3BlcnR5VGV4dElu
ZGVudCwgJlJlbmRlclN0eWxlOjp0ZXh0SW5kZW50LCAmUmVuZGVyU3R5bGU6OnNldFRleHRJbmRl
bnQpLAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3Bw
CShyZXZpc2lvbiAxNzQ4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxv
d0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIElubGluZUZs
b3dCb3g6OmFkZFRvTGluZShJbmxpbmVCb3gqCiAgICAgICAgIGNvbnN0IFJlbmRlclN0eWxlJiBj
aGlsZFN0eWxlID0gY2hpbGQtPmxpbmVTdHlsZSgpOwogICAgICAgICBpZiAoY2hpbGQtPmJlaGF2
ZXNMaWtlVGV4dCgpKSB7CiAgICAgICAgICAgICBjb25zdCBSZW5kZXJTdHlsZSogY2hpbGRTdHls
ZSA9ICZjaGlsZC0+bGluZVN0eWxlKCk7Ci0gICAgICAgICAgICBpZiAoY2hpbGRTdHlsZS0+bGV0
dGVyU3BhY2luZygpIDwgMCB8fCBjaGlsZFN0eWxlLT50ZXh0U2hhZG93KCkgfHwgY2hpbGRTdHls
ZS0+dGV4dEVtcGhhc2lzTWFyaygpICE9IFRleHRFbXBoYXNpc01hcmtOb25lIHx8IGNoaWxkU3R5
bGUtPnRleHRTdHJva2VXaWR0aCgpKQorICAgICAgICAgICAgaWYgKGNoaWxkU3R5bGUtPmxldHRl
clNwYWNpbmcoKS5pc05lZ2F0aXZlKCkgfHwgY2hpbGRTdHlsZS0+dGV4dFNoYWRvdygpIHx8IGNo
aWxkU3R5bGUtPnRleHRFbXBoYXNpc01hcmsoKSAhPSBUZXh0RW1waGFzaXNNYXJrTm9uZSB8fCBj
aGlsZFN0eWxlLT50ZXh0U3Ryb2tlV2lkdGgoKSkKICAgICAgICAgICAgICAgICBjaGlsZC0+Y2xl
YXJLbm93blRvSGF2ZU5vT3ZlcmZsb3coKTsKICAgICAgICAgfSBlbHNlIGlmIChjaGlsZC0+cmVu
ZGVyZXIoKS5pc1JlcGxhY2VkKCkpIHsKICAgICAgICAgICAgIGNvbnN0IFJlbmRlckJveCYgYm94
ID0gZG93bmNhc3Q8UmVuZGVyQm94PihjaGlsZC0+cmVuZGVyZXIoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCShyZXZpc2lvbiAxNzQ4
NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyOCw3ICsxMjgsNyBAQCBib29sIGNhblVzZUZvcihjb25zdCBSZW5k
ZXJCbG9ja0Zsb3cmIGZsCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIXN0eWxlLnRl
eHRJbmRlbnQoKS5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghc3R5
bGUud29yZFNwYWNpbmcoKS5pc1plcm8oKSB8fCBzdHlsZS5sZXR0ZXJTcGFjaW5nKCkpCisgICAg
aWYgKCFzdHlsZS53b3JkU3BhY2luZygpLmlzWmVybygpIHx8ICFzdHlsZS5sZXR0ZXJTcGFjaW5n
KCkuaXNaZXJvKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoc3R5bGUudGV4dFRy
YW5zZm9ybSgpICE9IFRUTk9ORSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCShyZXZpc2lvbiAx
NzQ4NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzIwLDcgKzEzMjAsNyBAQCBmbG9hdCBSZW5kZXJTdHlsZTo6
Y29tcHV0ZWRGb250U2l6ZSgpIGNvCiBpbnQgUmVuZGVyU3R5bGU6OmZvbnRTaXplKCkgY29uc3Qg
eyByZXR1cm4gaW5oZXJpdGVkLT5mb250LnBpeGVsU2l6ZSgpOyB9CiAKIGNvbnN0IExlbmd0aCYg
UmVuZGVyU3R5bGU6OndvcmRTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERh
dGEtPndvcmRTcGFjaW5nOyB9Ci1mbG9hdCBSZW5kZXJTdHlsZTo6bGV0dGVyU3BhY2luZygpIGNv
bnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5sZXR0ZXJTcGFjaW5nKCk7IH0KK2NvbnN0IExl
bmd0aCYgUmVuZGVyU3R5bGU6OmxldHRlclNwYWNpbmcoKSBjb25zdCB7IHJldHVybiByYXJlSW5o
ZXJpdGVkRGF0YS0+bGV0dGVyU3BhY2luZzsgfQogCiBib29sIFJlbmRlclN0eWxlOjpzZXRGb250
RGVzY3JpcHRpb24oY29uc3QgRm9udERlc2NyaXB0aW9uJiB2KQogewpAQCAtMTM5MCw3ICsxMzkw
LDI0IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldFdvcmRTcGFjaW5nKExlbmd0aCAKICAgICByYXJl
SW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+d29yZFNwYWNpbmcgPSBXVEY6Om1vdmUodmFsdWUpOwog
fQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRMZXR0ZXJTcGFjaW5nKGZsb2F0IHYpIHsgaW5oZXJp
dGVkLmFjY2VzcygpLT5mb250LnNldExldHRlclNwYWNpbmcodik7IH0KK3ZvaWQgUmVuZGVyU3R5
bGU6OnNldExldHRlclNwYWNpbmcoTGVuZ3RoIHZhbHVlKQoreworICAgIGZsb2F0IGZvbnRMZXR0
ZXJTcGFjaW5nOworICAgIHN3aXRjaCAodmFsdWUudHlwZSgpKSB7CisgICAgY2FzZSBBdXRvOgor
ICAgICAgICBmb250TGV0dGVyU3BhY2luZyA9IDA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Rml4ZWQ6CisgICAgICAgIGZvbnRMZXR0ZXJTcGFjaW5nID0gdmFsdWUudmFsdWUoKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIGZvbnRMZXR0ZXJTcGFjaW5nID0gMDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGluaGVyaXRlZC5hY2Nlc3MoKS0+Zm9udC5zZXRMZXR0ZXJTcGFjaW5nKGZvbnRMZXR0ZXJTcGFj
aW5nKTsKKyAgICByYXJlSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bGV0dGVyU3BhY2luZyA9IFdU
Rjo6bW92ZSh2YWx1ZSk7Cit9CiAKIHZvaWQgUmVuZGVyU3R5bGU6OnNldEZvbnRTaXplKGZsb2F0
IHNpemUpCiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAkocmV2aXNpb24gMTc0ODU4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTcxOCw3ICs3MTgsNyBAQCBwdWJs
aWM6CiAgICAgVGV4dFVuZGVybGluZVBvc2l0aW9uIHRleHRVbmRlcmxpbmVQb3NpdGlvbigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFRleHRVbmRlcmxpbmVQb3NpdGlvbj4ocmFyZUluaGVy
aXRlZERhdGEtPm1fdGV4dFVuZGVybGluZVBvc2l0aW9uKTsgfQogCiAgICAgY29uc3QgTGVuZ3Ro
JiB3b3JkU3BhY2luZygpIGNvbnN0OwotICAgIGZsb2F0IGxldHRlclNwYWNpbmcoKSBjb25zdDsK
KyAgICBjb25zdCBMZW5ndGgmIGxldHRlclNwYWNpbmcoKSBjb25zdDsKIAogICAgIGZsb2F0IHpv
b20oKSBjb25zdCB7IHJldHVybiB2aXN1YWwtPm1fem9vbTsgfQogICAgIGZsb2F0IGVmZmVjdGl2
ZVpvb20oKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+bV9lZmZlY3RpdmVab29t
OyB9CkBAIC0xMzQ2LDcgKzEzNDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRXaGl0ZVNwYWNl
KEVXaGl0ZVNwYWNlIHYpIHsgaW5oZXJpdGVkX2ZsYWdzLl93aGl0ZV9zcGFjZSA9IHY7IH0KIAog
ICAgIHZvaWQgc2V0V29yZFNwYWNpbmcoTGVuZ3RoKTsKLSAgICB2b2lkIHNldExldHRlclNwYWNp
bmcoZmxvYXQpOworICAgIHZvaWQgc2V0TGV0dGVyU3BhY2luZyhMZW5ndGgpOwogCiAgICAgdm9p
ZCBjbGVhckJhY2tncm91bmRMYXllcnMoKSB7IG1fYmFja2dyb3VuZC5hY2Nlc3MoKS0+bV9iYWNr
Z3JvdW5kID0gRmlsbExheWVyKEJhY2tncm91bmRGaWxsTGF5ZXIpOyB9CiAgICAgdm9pZCBpbmhl
cml0QmFja2dyb3VuZExheWVycyhjb25zdCBGaWxsTGF5ZXImIHBhcmVudCkgeyBtX2JhY2tncm91
bmQuYWNjZXNzKCktPm1fYmFja2dyb3VuZCA9IHBhcmVudDsgfQpAQCAtMTgxNSw4ICsxODE1LDgg
QEAgcHVibGljOgogICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsQm9yZGVyV2lkdGgoKSB7IHJldHVy
biAzOyB9CiAgICAgc3RhdGljIHVuc2lnbmVkIHNob3J0IGluaXRpYWxDb2x1bW5SdWxlV2lkdGgo
KSB7IHJldHVybiAzOyB9CiAgICAgc3RhdGljIHVuc2lnbmVkIHNob3J0IGluaXRpYWxPdXRsaW5l
V2lkdGgoKSB7IHJldHVybiAzOyB9Ci0gICAgc3RhdGljIGZsb2F0IGluaXRpYWxMZXR0ZXJTcGFj
aW5nKCkgeyByZXR1cm4gMDsgfQogICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFdvcmRTcGFjaW5n
KCkgeyByZXR1cm4gTGVuZ3RoKEZpeGVkKTsgfQorICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbExl
dHRlclNwYWNpbmcoKSB7IHJldHVybiAgTGVuZ3RoKEZpeGVkKTsgfQogICAgIHN0YXRpYyBMZW5n
dGggaW5pdGlhbFNpemUoKSB7IHJldHVybiBMZW5ndGgoKTsgfQogICAgIHN0YXRpYyBMZW5ndGgg
aW5pdGlhbE1pblNpemUoKSB7IHJldHVybiBMZW5ndGgoRml4ZWQpOyB9CiAgICAgc3RhdGljIExl
bmd0aCBpbml0aWFsTWF4U2l6ZSgpIHsgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmgJKHJldmlzaW9uIDE3NDg1OCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2
LDYgKzc2LDcgQEAgcHVibGljOgogICAgIGZsb2F0IG1fZWZmZWN0aXZlWm9vbTsKICAgICAKICAg
ICBMZW5ndGggd29yZFNwYWNpbmc7CisgICAgTGVuZ3RoIGxldHRlclNwYWNpbmc7CiAKICAgICAv
LyBQYWdlZCBtZWRpYSBwcm9wZXJ0aWVzLgogICAgIHNob3J0IHdpZG93czsK
</data>
<flag name="review"
          id="265093"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>