<?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>80382</bug_id>
          
          <creation_ts>2012-03-05 22:58:45 -0800</creation_ts>
          <short_desc>Selection Background Color Error</short_desc>
          <delta_ts>2012-05-07 14:30:21 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/JamesKyle/3zAsJ/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Kyle">me</reporter>
          <assigned_to name="Shezan Baig">shezbaig.wk</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>shanestephens</cc>
    
    <cc>shezbaig.wk</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>571515</commentid>
    <comment_count>0</comment_count>
    <who name="James Kyle">me</who>
    <bug_when>2012-03-05 22:58:45 -0800</bug_when>
    <thetext>* { color: #### }
*::selection { background:  #### }

Selection Background color turns black or white. 

Whenever both #### have the same alpha transparency using HSLa or RGBa. Limited when HSL or RGB is BLACK or WHITE.


Not a major one but probably a quick fix, I captured my experimenting in a jsFiddle: http://jsfiddle.net/JamesKyle/3zAsJ/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601571</commentid>
    <comment_count>1</comment_count>
      <attachid>136980</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-12 15:04:25 -0700</bug_when>
    <thetext>Created attachment 136980
first attempt

First attempt at this bug.  The selection background color is being compared against the regular text color instead of the selection text color.  This patch fixes this by computing the selection text color first, and using that to compare with the selection background color when choosing whether or not to invert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601643</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-12 17:06:15 -0700</bug_when>
    <thetext>Please set r? flag, not r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601652</commentid>
    <comment_count>3</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-12 17:24:23 -0700</bug_when>
    <thetext>Oops, sorry.  changed to r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604356</commentid>
    <comment_count>4</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-17 14:40:26 -0700</bug_when>
    <thetext>Behavior in other browsers:

* Firefox 11.0: Seems to completely ignore the ::selection style (which is obviously wrong).

* MSIE 9: Respects the ::selection style.  In the selection-background-color.html test in the patch, the background for the first block is black, and the bavkground for the second block is green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610822</commentid>
    <comment_count>5</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-26 12:32:00 -0700</bug_when>
    <thetext>update for firefox behavior:

Firefox works as expected when using &quot;::-moz-selection&quot; (the background for the first block is black, and the background for the second block is green)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610827</commentid>
    <comment_count>6</comment_count>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-26 12:33:55 -0700</bug_when>
    <thetext>Opera also works the same as IE9.  Right now only WebKit paints the wrong background color</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610833</commentid>
    <comment_count>7</comment_count>
      <attachid>139046</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-26 12:41:47 -0700</bug_when>
    <thetext>Created attachment 139046
simple test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610862</commentid>
    <comment_count>8</comment_count>
      <attachid>139049</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-04-26 12:59:33 -0700</bug_when>
    <thetext>Created attachment 139049
Patch

new patch uploaded:
* same changes in WebCore
* changed pixel test into a reftest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617935</commentid>
    <comment_count>9</comment_count>
      <attachid>139049</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-05-07 14:17:33 -0700</bug_when>
    <thetext>Comment on attachment 139049
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617952</commentid>
    <comment_count>10</comment_count>
      <attachid>139049</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 14:30:14 -0700</bug_when>
    <thetext>Comment on attachment 139049
Patch

Clearing flags on attachment: 139049

Committed r116353: &lt;http://trac.webkit.org/changeset/116353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617953</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 14:30:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136980</attachid>
            <date>2012-04-12 15:04:25 -0700</date>
            <delta_ts>2012-04-26 12:58:20 -0700</delta_ts>
            <desc>first attempt</desc>
            <filename>bug-80382-20120412180242.patch</filename>
            <type>text/plain</type>
            <size>22434</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjViZDgwNWQyYjkzZGJl
MDQ1ZTU5N2YxYzA4ODY1MjI1ZTk5M2JmYS4uYjk4MmZlNTMwMTU5N2E2ZGIyNzZiOTkyMTgxMzFj
MjhjMzkyY2I2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA0LTEyICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQmFj
a2dyb3VuZCBDb2xvciBFcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEZXRlcm1pbmUgdGhlIHRleHQgY29sb3JzIGFuZCBzZWxlY3Rpb24gY29sb3Jz
IGJlZm9yZSBwYWludGluZyB0aGUKKyAgICAgICAgYmFja2dyb3VuZCBiZWhpbmQgdGhlIHRleHQu
ICBUaGlzIGlzIGJlY2F1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyCisgICAgICAgIHRvIGlu
dmVydCB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQsIHRoZSBzZWxlY3Rpb24gdGV4dCBjb2xvciBz
aG91bGQgYmUKKyAgICAgICAgdXNlZCBpbnN0ZWFkIG9mIHRoZSByZWd1bGFyIHRleHQgY29sb3Iu
ICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBzZWxlY3Rpb24KKyAgICAgICAgdGV4dCBjb2xvciBpcyBw
YXNzZWQgdG8gJ3BhaW50U2VsZWN0aW9uJyBzbyB0aGF0IHRoZSBzZWxlY3Rpb24KKyAgICAgICAg
YmFja2dyb3VuZCBjYW4gYmUgY29tcGFyZWQgYWdhaW5zdCBpdCwgaW5zdGVhZCBvZiBjb21wYXJp
bmcgYWdhaW5zdCB0aGUKKyAgICAgICAgQ1NTUHJvcGVydHlDb2xvciB2YWx1ZS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2JhY2tncm91bmRzL3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZVRleHRCb3g6OnBhaW50KToKKyAgICAgICAgICAgIFBhc3Mgc2VsZWN0aW9uIHRl
eHQgY29sb3IgdG8gcGFpbnRTZWxlY3Rpb24KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4
dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAgICAgVXNlIHRoZSBzZWxlY3Rpb24gdGV4
dCBjb2xvciBpbnN0ZWFkIG9mIENTU1Byb3BlcnR5Q29sb3IKKworICAgICAgICAqIHJlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgIChJbmxpbmVUZXh0Qm94KToKKyAgICAgICAgICAg
IEFkanVzdCBzaWduYXR1cmUgb2YgcGFpbnRTZWxlY3Rpb24gdG8gYWNjZXB0IHRleHQgY29sb3IK
KwogMjAxMi0wNC0xMiAgQW5uYSBDYXZlbmRlciAgPGFubmFjY0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVXBkYXRlIEhUTUxNZWRpYUVsZW1lbnQncyBpbmRleCBvZiBjdWVzIHdoZW4gVGV4dFRy
YWNrLm1vZGUgY2hhbmdlcyB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwCmluZGV4IDE1NGNlODEyYWU5Mzk5NGRmM2EwNjA2NzY1MTgyNTg1NDMwZmJjNzYuLjk5
YTM3MDk3NTA5N2Q2YzdjZjRjZmI0ZGI4YjU2ODFjMjhiYTUwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTUzNCw0NiArNTM0LDcgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0LAogICAgIGJvb2wgY29udGFpbnNDb21wb3NpdGlvbiA9IHJlbmRlcmVy
KCktPm5vZGUoKSAmJiByZW5kZXJlcigpLT5mcmFtZSgpLT5lZGl0b3IoKS0+Y29tcG9zaXRpb25O
b2RlKCkgPT0gcmVuZGVyZXIoKS0+bm9kZSgpOwogICAgIGJvb2wgdXNlQ3VzdG9tVW5kZXJsaW5l
cyA9IGNvbnRhaW5zQ29tcG9zaXRpb24gJiYgcmVuZGVyZXIoKS0+ZnJhbWUoKS0+ZWRpdG9yKCkt
PmNvbXBvc2l0aW9uVXNlc0N1c3RvbVVuZGVybGluZXMoKTsKIAotICAgIC8vIFNldCBvdXIgZm9u
dC4KLSAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGVUb1VzZS0+Zm9udCgpOwotCi0gICAgRmxv
YXRQb2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4u
eSgpICsgZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKTsKLQotICAgIGlmIChjb21iaW5lZFRl
eHQpCi0gICAgICAgIGNvbWJpbmVkVGV4dC0+YWRqdXN0VGV4dE9yaWdpbih0ZXh0T3JpZ2luLCBi
b3hSZWN0KTsKLQotICAgIC8vIDEuIFBhaW50IGJhY2tncm91bmRzIGJlaGluZCB0ZXh0IGlmIG5l
ZWRlZC4gRXhhbXBsZXMgb2Ygc3VjaCBiYWNrZ3JvdW5kcyBpbmNsdWRlIHNlbGVjdGlvbgotICAg
IC8vIGFuZCBjb21wb3NpdGlvbiB1bmRlcmxpbmVzLgotICAgIGlmIChwYWludEluZm8ucGhhc2Ug
IT0gUGFpbnRQaGFzZVNlbGVjdGlvbiAmJiBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVRl
eHRDbGlwICYmICFpc1ByaW50aW5nKSB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgICAgICAvLyBD
dXN0b20gaGlnaGxpZ2h0ZXJzIGdvIGJlaGluZCBldmVyeXRoaW5nIGVsc2UuCi0gICAgICAgIGlm
IChzdHlsZVRvVXNlLT5oaWdobGlnaHQoKSAhPSBudWxsQXRvbSAmJiAhY29udGV4dC0+cGFpbnRp
bmdEaXNhYmxlZCgpKQotICAgICAgICAgICAgcGFpbnRDdXN0b21IaWdobGlnaHQoYWRqdXN0ZWRQ
YWludE9mZnNldCwgc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkpOwotI2VuZGlmCi0KLSAgICAgICAg
aWYgKGNvbnRhaW5zQ29tcG9zaXRpb24gJiYgIXVzZUN1c3RvbVVuZGVybGluZXMpCi0gICAgICAg
ICAgICBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChjb250ZXh0LCBib3hPcmlnaW4sIHN0eWxl
VG9Vc2UsIGZvbnQsCi0gICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+ZnJhbWUoKS0+ZWRpdG9y
KCktPmNvbXBvc2l0aW9uU3RhcnQoKSwKLSAgICAgICAgICAgICAgICByZW5kZXJlcigpLT5mcmFt
ZSgpLT5lZGl0b3IoKS0+Y29tcG9zaXRpb25FbmQoKSk7Ci0KLSAgICAgICAgcGFpbnREb2N1bWVu
dE1hcmtlcnMoY29udGV4dCwgYm94T3JpZ2luLCBzdHlsZVRvVXNlLCBmb250LCB0cnVlKTsKLQot
ICAgICAgICBpZiAoaGF2ZVNlbGVjdGlvbiAmJiAhdXNlQ3VzdG9tVW5kZXJsaW5lcykKLSAgICAg
ICAgICAgIHBhaW50U2VsZWN0aW9uKGNvbnRleHQsIGJveE9yaWdpbiwgc3R5bGVUb1VzZSwgZm9u
dCk7Ci0gICAgfQotCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCkp
IHsKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAgICAg
ICAvLyBGSVhNRTogUmlnaHQgbm93LCBJbmxpbmVUZXh0Qm94ZXMgbmV2ZXIgY2FsbCBhZGRSZWxl
dmFudFVucGFpbnRlZE9iamVjdCgpIGV2ZW4gdGhvdWdoIHRoZXkgbWlnaHQgCi0gICAgICAgICAg
ICAvLyBsZWdpdGltYXRlbHkgYmUgdW5wYWludGVkIGlmIHRoZXkgYXJlIHdhaXRpbmcgb24gYSBz
bG93LWxvYWRpbmcgd2ViIGZvbnQuIFdlIHNob3VsZCBmaXggdGhhdCwgYW5kCi0gICAgICAgICAg
ICAvLyB3aGVuIHdlIGRvLCB3ZSB3aWxsIGhhdmUgdG8gYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhl
IElubGluZVRleHRCb3hlcyBkbyBub3QgYWx3YXlzIGhhdmUgdW5pcXVlCi0gICAgICAgICAgICAv
LyByZW5kZXJlcnMgYW5kIFBhZ2UgY3VycmVudGx5IHJlbGllcyBvbiBlYWNoIHVucGFpbnRlZCBv
YmplY3QgaGF2aW5nIGEgdW5pcXVlIHJlbmRlcmVyLgotICAgICAgICAgICAgaWYgKHBhaW50SW5m
by5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkKLSAgICAgICAgICAgICAgICBwYWdlLT5h
ZGRSZWxldmFudFJlcGFpbnRlZE9iamVjdChyZW5kZXJlcigpLCBJbnRSZWN0KGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCksIGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIC8vIDIuIE5vdyBwYWludCB0aGUgZm9yZWdyb3VuZCwgaW5j
bHVkaW5nIHRleHQgYW5kIGRlY29yYXRpb25zIGxpa2UgdW5kZXJsaW5lL292ZXJsaW5lIChpbiBx
dWlya3MgbW9kZSBvbmx5KS4KKyAgICAvLyBEZXRlcm1pbmUgdGhlIHRleHQgY29sb3JzIGFuZCBz
ZWxlY3Rpb24gY29sb3JzLgogICAgIENvbG9yIHRleHRGaWxsQ29sb3I7CiAgICAgQ29sb3IgdGV4
dFN0cm9rZUNvbG9yOwogICAgIENvbG9yIGVtcGhhc2lzTWFya0NvbG9yOwpAQCAtNjYwLDYgKzYy
MSw0NiBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAv
LyBTZXQgb3VyIGZvbnQuCisgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlVG9Vc2UtPmZvbnQo
KTsKKworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9IEZsb2F0UG9pbnQoYm94T3JpZ2luLngo
KSwgYm94T3JpZ2luLnkoKSArIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisKKyAgICBp
ZiAoY29tYmluZWRUZXh0KQorICAgICAgICBjb21iaW5lZFRleHQtPmFkanVzdFRleHRPcmlnaW4o
dGV4dE9yaWdpbiwgYm94UmVjdCk7CisKKyAgICAvLyAxLiBQYWludCBiYWNrZ3JvdW5kcyBiZWhp
bmQgdGV4dCBpZiBuZWVkZWQuIEV4YW1wbGVzIG9mIHN1Y2ggYmFja2dyb3VuZHMgaW5jbHVkZSBz
ZWxlY3Rpb24KKyAgICAvLyBhbmQgY29tcG9zaXRpb24gdW5kZXJsaW5lcy4KKyAgICBpZiAocGFp
bnRJbmZvLnBoYXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24gJiYgcGFpbnRJbmZvLnBoYXNlICE9
IFBhaW50UGhhc2VUZXh0Q2xpcCAmJiAhaXNQcmludGluZykgeworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICAgICAgLy8gQ3VzdG9tIGhpZ2hsaWdodGVycyBnbyBiZWhpbmQgZXZlcnl0aGluZyBlbHNl
LgorICAgICAgICBpZiAoc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20gJiYgIWNv
bnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgICAgIHBhaW50Q3VzdG9tSGlnaGxp
Z2h0KGFkanVzdGVkUGFpbnRPZmZzZXQsIHN0eWxlVG9Vc2UtPmhpZ2hsaWdodCgpKTsKKyNlbmRp
ZgorCisgICAgICAgIGlmIChjb250YWluc0NvbXBvc2l0aW9uICYmICF1c2VDdXN0b21VbmRlcmxp
bmVzKQorICAgICAgICAgICAgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoY29udGV4dCwgYm94
T3JpZ2luLCBzdHlsZVRvVXNlLCBmb250LAorICAgICAgICAgICAgICAgIHJlbmRlcmVyKCktPmZy
YW1lKCktPmVkaXRvcigpLT5jb21wb3NpdGlvblN0YXJ0KCksCisgICAgICAgICAgICAgICAgcmVu
ZGVyZXIoKS0+ZnJhbWUoKS0+ZWRpdG9yKCktPmNvbXBvc2l0aW9uRW5kKCkpOworCisgICAgICAg
IHBhaW50RG9jdW1lbnRNYXJrZXJzKGNvbnRleHQsIGJveE9yaWdpbiwgc3R5bGVUb1VzZSwgZm9u
dCwgdHJ1ZSk7CisKKyAgICAgICAgaWYgKGhhdmVTZWxlY3Rpb24gJiYgIXVzZUN1c3RvbVVuZGVy
bGluZXMpCisgICAgICAgICAgICBwYWludFNlbGVjdGlvbihjb250ZXh0LCBib3hPcmlnaW4sIHN0
eWxlVG9Vc2UsIGZvbnQsIHNlbGVjdGlvbkZpbGxDb2xvcik7CisgICAgfQorCisgICAgaWYgKEZy
YW1lKiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBh
Z2UgPSBmcmFtZS0+cGFnZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogUmlnaHQgbm93LCBJ
bmxpbmVUZXh0Qm94ZXMgbmV2ZXIgY2FsbCBhZGRSZWxldmFudFVucGFpbnRlZE9iamVjdCgpIGV2
ZW4gdGhvdWdoIHRoZXkgbWlnaHQKKyAgICAgICAgICAgIC8vIGxlZ2l0aW1hdGVseSBiZSB1bnBh
aW50ZWQgaWYgdGhleSBhcmUgd2FpdGluZyBvbiBhIHNsb3ctbG9hZGluZyB3ZWIgZm9udC4gV2Ug
c2hvdWxkIGZpeCB0aGF0LCBhbmQKKyAgICAgICAgICAgIC8vIHdoZW4gd2UgZG8sIHdlIHdpbGwg
aGF2ZSB0byBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGUgSW5saW5lVGV4dEJveGVzIGRvIG5vdCBh
bHdheXMgaGF2ZSB1bmlxdWUKKyAgICAgICAgICAgIC8vIHJlbmRlcmVycyBhbmQgUGFnZSBjdXJy
ZW50bHkgcmVsaWVzIG9uIGVhY2ggdW5wYWludGVkIG9iamVjdCBoYXZpbmcgYSB1bmlxdWUgcmVu
ZGVyZXIuCisgICAgICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VGb3Jl
Z3JvdW5kKQorICAgICAgICAgICAgICAgIHBhZ2UtPmFkZFJlbGV2YW50UmVwYWludGVkT2JqZWN0
KHJlbmRlcmVyKCksIEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSwgbG9naWNh
bFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8g
Mi4gTm93IHBhaW50IHRoZSBmb3JlZ3JvdW5kLCBpbmNsdWRpbmcgdGV4dCBhbmQgZGVjb3JhdGlv
bnMgbGlrZSB1bmRlcmxpbmUvb3ZlcmxpbmUgKGluIHF1aXJrcyBtb2RlIG9ubHkpLgogICAgIGlu
dCBsZW5ndGggPSBtX2xlbjsKICAgICBpbnQgbWF4aW11bUxlbmd0aDsKICAgICBjb25zdCBVQ2hh
ciogY2hhcmFjdGVyczsKQEAgLTgwNiw3ICs4MDcsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnNl
bGVjdGlvblN0YXJ0RW5kKGludCYgc1BvcywgaW50JiBlUG9zKQogICAgIGVQb3MgPSBtaW4oZW5k
UG9zIC0gbV9zdGFydCwgKGludCltX2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBi
b3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3ZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYg
Zm9udCwgQ29sb3IgdGV4dENvbG9yKQogewogICAgIGlmIChjb250ZXh0LT5wYWludGluZ0Rpc2Fi
bGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTgxNywxMyArODE4LDEyIEBAIHZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBG
bG9hdFBvaW50JiBiCiAgICAgaWYgKHNQb3MgPj0gZVBvcykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgQ29sb3IgdGV4dENvbG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9w
ZXJ0eUNvbG9yKTsKICAgICBDb2xvciBjID0gcmVuZGVyZXIoKS0+c2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yKCk7CiAgICAgaWYgKCFjLmlzVmFsaWQoKSB8fCBjLmFscGhhKCkgPT0gMCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gSWYgdGhlIHRleHQgY29sb3IgZW5kcyB1cCBiZWluZyB0aGUg
c2FtZSBhcyB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQsIGludmVydCB0aGUgc2VsZWN0aW9uCi0g
ICAgLy8gYmFja2dyb3VuZC4gIFRoaXMgc2hvdWxkIGJhc2ljYWxseSBuZXZlciBoYXBwZW4sIHNp
bmNlIHRoZSBzZWxlY3Rpb24gaGFzIHRyYW5zcGFyZW5jeS4KKyAgICAvLyBiYWNrZ3JvdW5kLgog
ICAgIGlmICh0ZXh0Q29sb3IgPT0gYykKICAgICAgICAgYyA9IENvbG9yKDB4ZmYgLSBjLnJlZCgp
LCAweGZmIC0gYy5ncmVlbigpLCAweGZmIC0gYy5ibHVlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guaAppbmRleCA1ODk3MmQxMzRkZjI0MWJjODIyZGFiZjExYjBi
YWI2M2EwODg5Njc4Li5iNDQyYTkwNWFjZWYxN2M4YjJmYTM3NWY4Y2E3NTJhODljZjY4NGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKQEAgLTE4MSw3ICsxODEs
NyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwYWludERlY29yYXRpb24oR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlv
biwgY29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0
IEZvbnQmKTsKKyAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgQ29sb3Ig
dGV4dENvbG9yKTsKICAgICB2b2lkIHBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBEb2N1bWVudE1hcmtlcios
IFJlbmRlclN0eWxlKiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7CiAgICAgdm9pZCBwYWlu
dFRleHRNYXRjaE1hcmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIERvY3VtZW50TWFya2VyKiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAg
dm9pZCBjb21wdXRlUmVjdEZvclJlcGxhY2VtZW50TWFya2VyKERvY3VtZW50TWFya2VyKiwgUmVu
ZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQwOGNkYjI5NTRiYzA5NmY3NDUzYjhi
MjMwMmVjZmFiNTA4NjIyMy4uMDIzZDFjMzI0ZjNhYjQxMDI5NmNmMDNiZTM4NmRmOTJkNTA5M2Uw
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA0LTEyICBTaGV6YW4gQmFpZyAgPHNoZXpi
YWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQmFja2dyb3VuZCBDb2xvciBF
cnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAz
ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBuZXcgdGVzdCBjYXNlIGZvciBzZWxlY3Rpb24gYmFja2dyb3VuZCBjb2xvci4KKworICAgICAg
ICAqIGZhc3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJh
Y2tncm91bmQtY29sb3ItZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorCiAyMDEyLTA0LTEyICBTdGVwaGVuIENoZW5uZXkgIDxzY2hlbm5leUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBmaWx0ZXJzL2ZlRGlzcGxhY2VtZW50TWFw
LnN2ZyBjcm9zc0hhdGNoIHBhdHRlcm4gaW1wcm9wZXJseSBkcmF3bgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU1YzI1MjFmYzgyMDc2OTZjZmQ4NzZlZjZhOTE3NTljYTE0ZDI5
NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL3NlbGVj
dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8IS0tCitUZXN0IGZvcjogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMzgyCisgICAgICAgICAgKFNlbGVjdGlvbiBCYWNrZ3JvdW5kIENvbG9yIEVycm9yKQor
CitUaGlzIGJ1ZyBpcyBjYXVzZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQgaXMgaW52
ZXJ0ZWQgaWYgaXQKK2lzIHRoZSBzYW1lIGFzIHRoZSB0ZXh0IGNvbG9yLiAgSG93ZXZlciwgaXQg
c2hvdWxkIGNvbXBhcmUgYWdhaW5zdAordGhlIHNlbGVjdGVkIHRleHQgY29sb3IgaW5zdGVhZCBv
ZiB0aGUgbm9uLXNlbGVjdGVkIHRleHQgY29sb3IuCisKK1RoZSBhbHBoYSBjb21wb25lbnQgbXVz
dCBiZSBub24tb3BhcXVlIGZvciB0aGUgYnVnIHRvIGdldCB0cmlnZ2VyZWQuCitUaGlzIGlzIGJl
Y2F1c2Ugd2hlbiB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQgaXMgb3BhcXVlLCBpdCB3aWxsIGJl
CitibGVuZGVkIHdpdGggd2hpdGUsIHdoaWNoIHByZXZlbnRzIHRoZSBpbnZlcnNpb24uCistLT4K
KzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICAjQSB7CisgICAgICAgICAgICBj
b2xvcjogcmdiYSgwLDAsMCwwLjg1KTsKKyAgICAgICAgfQorICAgICAgICAjQTo6c2VsZWN0aW9u
IHsKKyAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44NSk7CisgICAgICAgICAg
ICBjb2xvcjogd2hpdGU7CisgICAgICAgIH0KKworICAgICAgICAjQiB7CisgICAgICAgICAgICBj
b2xvcjogcmdiYSgwLDI1NSwwLDAuODUpOworICAgICAgICB9CisgICAgICAgICNCOjpzZWxlY3Rp
b24geworICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwwLDAuODUpOworICAgICAg
ICAgICAgY29sb3I6IGJsdWU7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+CisgICAgPGRpdiBpZD0iQSI+VGVzdCBwYXNzZXMgaWYgdGhlIHNlbGVjdGlvbiBiYWNrZ3Jv
dW5kIGlzIGJsYWNrPC9kaXY+CisgICAgPGRpdiBpZD0iQiI+VGVzdCBwYXNzZXMgaWYgdGhlIHNl
bGVjdGlvbiBiYWNrZ3JvdW5kIGlzIGdyZWVuPC9kaXY+Cis8L2JvZHk+CisgICAgPHNjcmlwdD4K
KyAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGRvY3VtZW50
KTsKKyAgICA8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9mYXN0L2JhY2tncm91bmRzL3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWV4cGVj
dGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2JhY2tncm91bmRzL3NlbGVj
dGlvbi1iYWNrZ3JvdW5kLWNvbG9yLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjY0NWI4YzQz
MjIxZTQ4NTkzZTAwMWFjNGFmMjcwNWY1MzczM2YzCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MDMyMQp6Y21lSHRYSD03RXlLV3JERzl0MylRKUNvQEBwQlhyRnszbT8zRkExNWZgYXJLa081PjZM
WC18NiQmM1lOUjZxcW0KellIUl9pa3MzJlZQejBveU5SMUZrTGByQk9LdUFMUmRIRDhUWFB2VjVg
RWwwJUlsdX5RQzMpWEcmd1hGX1JyMD1uCnpVQTREUytqKEZvMU9pZEpibnpEXzJ0PygzMjs/aHw5
YmJXR0gxPXhmZnEoaUA9UktrVmVoVWYramZfU0AmSUFSKAp6akV6cUo+VGg8KyU9OWBlJj0/bCp0
NFk5KnI7WXZuam0oUyNqV3pHVWU4RUI2ZXptanQxKXwqaWVjbmAqNHVPMFIKenglQTZmbSQqRmMx
U1c0ZEkpNmg+JnpBYnZAQSoxTz4jVj1wLWsmZEAtezxIRXQ9JXpyZGY+IUJQfEVVMVAxTFI0Cnoy
dCFuaTMxIVNMSHhwZ1VhQnckVkMxYlAyLWZEITVeJllvRmNIalE7KH1VY30mZW1KTUgmN3t4R3Qw
KWJ5IzRDIQp6eCRoPThkPytXKzIrdm19UWpAekhFamZNSm11K2xwekpoI2otKWRuNmZ3YlVFekVY
dkp8RSVSSiRkMDNMQSZ9ZU8Kem9QaGooP1NEU3lIcEo5TypLPCVyKHpaWldEeXFYTCRhemBsWlF1
WThCSz97PykpWHQtYUN+KjQrX1Nve3FUKGIrCnpaTVc2PiRDb2MobEY0SyV3RDkxY1RhdEZ8Y2s9
YVJqZzVJQjVTWl5yKnpRbENLR2kzVGpnMktHQmBMfihqR0ZzYwp6UmFNcDUqPWZkI0l+LU1gKDZX
cU1gRilFRGMtPEd4dDtJcUluMitiI2B6PzIqe1IxSyY0ODhVdCpObkgpdTE9MzEKej9zO2x9a0R0
dn1HM20hTXk3bG1ocFp0Xk1iMmlvc2puZX5tUDtGfiQ7QFB2VVp+ZmFkNFpTbkBsKX1yfDUhX21h
Cno7KV5EPVVPYnp0ez8yOHBHc1V+K3d8KiYwKUk0WiFmeTlsPkgmN0hYO2lteFFxXkBFem1vMXho
el48aSgxJW1Bbgp6Nks0IWVPaWJgZjhBbFpQPnt2a09MdmJscFFWTlRsJjVJaGlHKlF1YHRRVyl0
TkBCT0V4NHJ1TUMqYHsyQUNvZE0Kei08e3x5QTk4bEVUNzk9aTZBeyY0KmAqXyRQSXJKeW0jV2RD
PCRPPmFfPUxeVF5pZHY2Snd3ZHJfKGdPZCRAazA1CnolRUdOYUBONEFPRn5ie1hHNmpvX1Nqc0tW
Z0BTfklWcmAzPGdaMEl9aUtgdSkwKDFxTiY0TEEhQ0lybUdYX2Y7Kwp6THA5YjBtUCMzKSp0cGlD
YVFNZEBBPE5nUkF0SCFZeEBIflRxQEF0RVpAc2Z9WXxCVU1DaW9wIVM2NHgpcFp2SSMKelpEP3Al
VFUhZmxUPjA1SHEmLVBaUnI2JEBheVFMPHZGITAtOCYpTFVOKCE2WHZObFlfKjFubEAqelcpMy1D
cU8oCnpLfX03SzYzYiZYcDxAfXxJQDRQN0woI053M2Ukbmg8dlE5NFVjNyQmYHVYJGNtNmZhWG58
QDhCajQyQHBie2YrNwp6VXxyJW9vdW4yMUswZn0rbEBHQzA9fHFPcChSNyU2ZVh6JkBAOVhVP3Q7
V2t3TlBXfDlPPzdfMlRqTkBPLUA+ZHoKenFDZnche1gpdENLPzVCViZLO31PbTNgaXgxQCZWSWwh
RDtDWFF5SjhKXj4mJjxlTnZZJi1JNWdEaUMjSHAyRj9KCnprOE8wfnp4PGBRVGckWUpPcVJTeio2
Q0BjN2MrWk9RY3xwLS1OQ09idFEqcUtlRUlXTDhsMyMlI2JnIyQ3R3hXOwp6XjBgJjdBbnNTJmA5
MzNoU1hmeCUjJD5YRXhwQF5TPz8/Wmk9X3hmTjY4STI3aE8+UEw1e1YjM2dfeXBOcG5ZXkwKejIj
NmhJQjIhX3ImKGlKOUwlQFFFaGxrVXc2Pit4M2srYypvR3k1Rmw7PmNMZj5neWxPQy0zZSNvIXdW
V2hmQ0s3Cno5ZklBekdZY09sTT0jcGkrUm9EUW5kOVMpUVMkP05KVlB6PnNKU0NxSmB3S15DNns/
dCZqTz9AUDZZfU1FflZqUQp6MFVZITU9ZyRZQEYpe3lZKCY5Kllae1g9ajRsTiYhTiR+ZGU0aFdk
cUFEbmxxTCZOPGJYMSlLRk9gMHokZTQrd0QKenB9e3pMbntjJj1VMCNDOG1QVl9xYEhobD0oIXMo
anhuTl5SQnAyWHZTWDZsWkx5ayUwWX5TdE13PGBtPmd5WXZxCnpIc3smdUZXeyt7LUtEc1UxbGwo
KHR6fUI7YDhjX047ZGlyanRCOCVtQXJLUHxJTFk5UGJJR1goVkc7OEtnaV5QMQp6R090O0JvdDZo
bisqbW1rKENPbWxSIyNnSyN3RUpiYzA/anJnaUBCT2RRVmF8Sk16QHMqUnZ8SDg9TVdfdzZGKWkK
ekB2YVdaVCZEMXYxSmJPNzBQdUdEMC1weFhrQChjMT1wQGl5VUZebXIwfStjNV9NVEk+cztSRihM
bF96I0FMbUJuCnpeUiUpfWt6P1FKPHl7NWZTeHYoPVJAPE95QUVXYXZ5SighPmlaYj49ZUd8Y290
LTspaFNaSDMkQTFhXysleEt6YAp6VCtgP1lnemZ4N0ROIS1iZnJ+elopMl9XZz9DeGBgPEgtPl9D
dEUwMHcpWFA7Z05sYVBvSVVudXs2KShYbnRxOV4KendHN2B9e3pIZGNRelIlSnYwMVYoP0N5dUBI
NipSYVI3TENfaU93R3g4M0Z1SntgVHooYztTalowKzFHJXEoKUVACnp6JnYjfkMpK2QoKz9HQzdQ
SG0xUDsyWEE1JmkwR15WOFkzWnFeKFQwTkE5TDMybz87JCt5Wj5pO1YtWkVKekpmRAp6O3U/NVkz
X1l1KyFBZ0NiNlU3NHJKMk1uKEpUaUFlTSswTWhTOTBid2Z+JDE9PmhsQnZQdCpsPzN2YSE+Nj4h
NHgKek5WI3tgTnJhPldpZHxMRi1EbStZMDQoWk8/bHNJfVZXKDJlbU0xOCYwNiQ8RnpAdjlfVm13
Sj5WUFBSQkNrR3RiCnooNH5WdUw4dC01IzYoZiRwY2tiakMxZzsmWTkxfkB3JVVhdiZsaEc0Smx0
PFlFPkc7eUZOJmk0S3p+ZjhlSDxIOwp6TkVWNSlTYUZYNUZfNHs2e2NGZWxhSDJYS090ekktNn5M
QVN1aEVGJDteR29EUHNrRitjd2w4eXkwS1YwZFAqYWcKenZ8aEtnSHEqT1ZAe1J8Wk05PURAZ2Vj
S09FSXI0aGwkblEhJkI4Y3tZXil7eSowTT07ZUY2JXo9cEQ8KGheJDI4CnomVmF1QntGSCM8QyEh
ZSRlWm0lJVo2YGU1ZSRUbjI2Y0JPdzdeZm5ER0MhcmprRSlkT1B+LUtMb2JDZ3NlKkp+cwp6TzBN
OUsoeT5CSz5QODEzJXFMRkFQbl9fMWQjI2wlcEl+ITgwcW0hMDhAUUY3blNZJipVQWR6PiNNdH5I
YFpoXnMKemI1UnYjV2U0R2phajE0UEdxZDA8PGMlOTgjbF91PCptTEwzKFhPUUlIQGU+Y0A7cUtM
UjgmPXNXWSgyKU9ldDIhCno2QUcjPCg9SWMjbU49a0NoJDF9dytMZTVCNk19SjJQc1N6QEVMR0ZQ
IV4zcWZWd1QyZ0x6OCFGQ3Y1SUoqOS07bAp6Q1M1bnAwZ1hKRi1oRGFPKVIwaSktPTFfU3tWMTV4
KDYjQ0FkLXZ8PzZBQkRPalh4eTVtWUVuRTJYZ3ZnPU5SNnoKenVvI2pja35ORnJxNVR7azlmY3tr
e3cxeX5FYXowSFdQTHZTYXZeYGE1XiZEV29qWH1UPnwhWE03PnUwUkVUMDJKCno0MkkjJnQ1bit0
ZHBHdFNMIWJKVWBsLX4jcktIcjwpWFBUKSNUQngpd2w7dzdAS19RP0RzMTB2YVJOVnk5JjlMewp6
TzBAdEJqR3w/eFZHPyNrVExDUW8kM0ZqWF80M01iRGpeYjRWMU1EXmlkaSROeEo1LWhqTVhUPHQk
T2trU2M5NmAKel97IVg/R0BWPVR6NzwyQyRzNTF7PTdIfVlaUCFnKVg7WCFzZkk/QkJwfW9HJCRl
RHR5eUo8dH11Ozk2Yko3QjFUCnpNP3NzVGJWIUxBU3lARkhVUzN7UmUlR218KDM4elFDIUpoZUdX
ZGFsUT1iNGZTXk5TflUkIyomVjRfakdGKHduNwp6d1JObE56SzEkaTJ8WEc1TUw8TDRmV2JafD43
S2NIJkJtcStqPiUhYnQ/cnRHUjtofVYkRns2ZzRBUWY5UjE7czYKemA4SlZETj1vPWBteWNHKmFM
MTA9VyRycClKWGIra0NVMU9zS3h5OWMyNmd6dCE7QVckLSZgT1gwMn5gQld+XnNVCnokTXlCK2t1
I3tvRFhvYzwtT2IxTG9wR3xCd21nOWw8bXF1ZmlCRE1FNzwhWjg2Y2pXQTc8ZXJrMl5kTUFhT2hr
VAp6ejw+Y0UwfFJ3YiFvJldGV19aX3liO25tI2gwWSFmbFM+NENOKG0hM0MjUW17a2lfJDZnVSll
TUV0Y3pOYjMpPDUKeiR+M15RbXt9dXl7QSExJGB1R1p3c3peQVJ6VFkmPWdRMi1hVElabnRmXzhY
TihEdnhuKkRWd35Za1hfTWFzdm08CnpJPVJWe1EmdnNPSVRkaWhIaVRZYTEoZnFjXlRePTlmUm1l
PnV1aW9nVy1KOEUqSiNAQTt8MiEzaWkxN1BHblNrbAp6QWYzM15pdGdhVXBkSUp9bDAxYEBpMiZY
ckkkOGs4bDhvdXxLdCkjZ0coLVJxJmQyLTVFRUVeSHh3e2orWUQ7KzkKemcxUUhBZHBGYl9MUGl6
LXApI01Cc0YmWEQ2RiZwbzl9cGF7bTRNK0EqRUcwZj8hSmFXUEh0YF85Nkg+IUFgbDIqCnp4Y3hz
QzBtWjlwWGI+T1A2fkJpZ09fai00OEhXZGx1e3VXfXRtdkkrRFNNUiVAVUJtb08wJmpKdyV6Tn0j
bVN6Wgp6eV8yTV8rWkAhSnhrUkNRMUJfNiZaNzQpazwpLUREZFQyQ0s9SVFMe2MmbEJfP0JSRSh6
QzFMZEpwKXA4I2NYMWUKel44VlZSPUxfVmB4eVhLXkQjKHNSeXxlfklCQHgoK1J+SiZ1YEYlIyNE
fVNpX0w9VT8lTmhvJGhCdUM3Xzt9cVpsCnpjKE9hJillQjZLVVo1NiRZe30qMHtBS2B7cjx7eFZE
dCFmMyhuZFpsX3NwJGRMcWl0PChPQ2lqUCEpXlJnNDRpdAp6Z29OMUgqXnhNaCRsPXBxMEw/fD9r
PXhZeylCcG9DRmZnIWJKSlhMfDgzWGdPRmtBfFJPYHYwd3JqdCtxMW5pUEUKemMmRUN4WXoyJkVt
VHk5RmI4fEJYRnd6YWNAekRTWFBAbnBudndoazgqJD09WUVIYTNeeWh6IWBZSVFKdWNecS0+CnpU
c3NlXmx0TUF7Y0ZFYz9wVEB5SD15KztpX1kpdmVuYD4+P1Jvc2skWUdgTnh0TGlBIV9AdCZ+OGEx
SCs8RH08TQp6a1UwST1yWFozQTExNVY3Tk8lTEYlUkllQlB5cnN5PE5XIUsrZ252SHEjaEpBKl4w
VzdsNylBQjlBcURwO1RjV3wKenYpUkZsRkhwcz10NndAYWVkOHdZZnJ0THtud1NNPWQ7JXorb18k
XiVLOz4+NyVsZTluYU5zfFlORiolVEwwQEM8CnotbyF+JnpjYnZMTDNfKjljZEp1ZjR0Wnk4Zmp4
b1AwNWNOK29eV3c+TVN5UFQ8d3AoNzd2YlVsWkZkMnNTQW1JTAp6PGF7NTZjRzt5MVolaitSaW43
X1hCPkJOQkFSQkJoc0sobDZlbCE/QWslYiRBJGl6TXxxZF9uekp4YVFNKkIpZFcKekVjM2tUJlli
fUQhMjZsd3ZgVEBJMSktIyZBem11dnFGODUtOFlRZ0gwV0JAU0Y/Zy1wYiQjbD5NdUIlMjhXe29w
CnpySCohfj5PbU8weHJ3aiZFfX4rYnxIUlR9MFNgQUZ4SSo3Zz91bEhJV3F+KyEmZnhmUUBZWU4j
OX1HUmFzampLMQp6TiFSQUVNWkJ9S0dsTVozUUJhbjVNXklQbmpjTzltRU8+b0ZwRyVqeiVTa0xS
Y2xUS0ZPY24+VWQkTF9zUmthIz0KemMoJm0mTkxzRyQ/aX0jfmxMQH5ZcF81JTtIWVdseV5MJl9U
cXB8Rk1qYXc5VVoyfkxoWmtNRTxgMyhyaVZ5S15WCnozfWdgdFhhazVucCpMPFFSJnx4RCtJYyU2
WWVVfUc/I1o+RVZxQVRFZTFKdis/ZU9zVUJyYks4I3F4b2lANnhmMQp6MUdie25vcD0mZDF0X31T
bTdNaT9WRXl0N1IzU247OXtuMFlNWF9yaXE9aG1AaihUS3VYWGBZUGdsbUJ1JSMkY2QKekpHTWFI
Y049LVlZUWhlKCQ8WiRKbTd6UGclXyMxKilAZGlsKWE9I1JSYnVkNjczWmcyQUJCPWZzZ2dDOUF1
a3V0CnplKzkjR0A4aXo0X3U2azVzWXR7eHZYR1JkN35fbmY5eGNebT5iS0B6JUclKnclV3QkRT9Q
VDcrS290cn0ra1ZJTgp6aGhGMSluaUdUTWxRODBPPi1acFhHNXo0MXpaOHVOU1pxWUVMOSZgJG1T
enF1N0xPMTxYbXU2fFoqUT9rUitJZDsKek9rSE5JT1o2PzN2dCMkdzwtZml3SGBEI0kqdm5Wam96
RmQ9TGRDTWIjaHYrJkZjYDhTc0k9SDhaLTM5ak02TWpNCnpvQGVoZylhcyVOWE5ZQHN5b19keEBO
QnlPJWJNXjUmVX5FMGIpcEtFVVdYc3ptYnt0VClgSWhIWVd9NjMpNVcoLQp6XlMxaDJSJipTYEBs
SzI2SD8qPUN1c3UmNkRBdVE2LV5NTFJoWTZifUY0PjZhQ0dmWjxAdjFDYD1RQUo8TEw9ZUAKendT
RVYmVDskPkFYdUo2dSEzMFc8KlY9emAjUTkhO2dsfV93JV9WMDEhQXZ5O2NWR2opTDVFU2U3M14p
OHJOQF4mCnoyTmgqa1A1SSZ7YG90eVc0fWFMRSNUVXpfcFRkYXUmQkd4dygoc35AJE44eiE8TTVU
ekMwd3dyKlVzZU8lelRqaAp6aWxedClQJT9nLWpDWU9hSylYP1gwSmVAPTk7S2dFZjdHTHRtVERX
fiV5JD9yOSpyXjErfjtEdmNoPn5zXnR6JCQKekMoSSslWWk5PWQ9eTA0eU98cyFJQ0FJTCRrbmJh
WHgrdSo8Y1pXMWBlMFAjfk9JKCpnO3Y2Xn5pdnA9e0BgWHR8CnpicnF6KGg0KU1IKGZKaG1XI35h
U2lAODE0ejBLWmxXYD1LfXY2ZlR9QEFvZ08leCErTXBMI1BMRGQ4SkZeQUJzJAp6JWhKeSt7TEVP
KXpTcFp9TXFZe14+KkJ1NTdQOVM7cXNIV0AmYXR6KWgpbnNudFF5SnRCdDgydUd9MkA4JXxhX2EK
ej93QXhfNm1BZ1FxbE5aO0xjZlQ+dChnIWxVZH1oWEdFekNQNExnXm1QcEhkajZ7Typ4SWdSbnRq
YTBXOD88UmtxCnolIXViM295Y0swJXIhaXw/MmpIcTZeJlIkKmREKjNUQEBFSGQ1RDZ4SUR3ZGYj
bCR2XjdwX3tUN1VQeSkzITdBUwp6K1BKIys7VmNQNXU7NlktdHozcnYhWl5aQjRoPVN1RSEtVj90
WnpMdHgrVH4kQU1wYjBrMSl1SEhod3hKbXlUWiEKejtYbXJJaSk8IzlBc0hWeDh9NWQ9Mip6VUBY
MVdxNkNCNC0pUldebU04KnIpLTtxdnBIaj44aHAmOTZybkE5ZmI7CnpCREU5JjM1OVBBb21uMkRZ
TkhGI3JrNkE3SGwlUEpnZ0ZLPWA1dUFCTSR1Wio2cGc/MihGKW9iUDwoIVZRUSVyPgp6aWF9OXIq
dDRyPSUzQGtQOVJ5OXE1PGw3dms1a3BKJUFYNjtWMlZIZXwyXig0Nj9jYSFgaVYxVj9wV0R9RHZE
SG8Kenp2SFJJSi1GSFJXaWVEYWJOZGohblJATiZNND9EdDFKKm9KQDtGeCE1aEJpV0pxTTVVbGtZ
THxqQF5adEZmTlI/CnozKSk9ViRrMldSJm0relo5KGxQNiE5Y2ozRElvXn1HTGR0aVhnP3MqZU89
S356NUJiRnJxZjB1NkY0U3BJMm1ROQp6S2pZRVJfM3g0SSVVYCo8ZSgqI05odURpOXQoKkZvSXtQ
S1ZzaiNNalk0OXR8WUBqfkVPTVpYUCZmVWYzXjQ2fXsKemxnJSRrP1E1Q1FZZyFpZ1NOVG99YSRR
WkhNPFMrVUpOYFMjSnYxe2B5LVhAPEt5WGVKKUQkbCtKSn1LdShTaylZCnpaMX42WD5Te2hLN1he
JXBJNCZ5ZGIldCRXbE1rNEMzbjtZXit3c2xUYkZtRUJWODxwazxPTWZ8NEEqP1FseHVzRwp6Pkxu
KytxckJ0blA8alRPWVkwYTdVZVlwVnR8b1ApP01YTVdGZTY2c3ExSj9ySUl+X1lRal5TOG5KTURe
SX5xMDQKejJnR0xSQFNRJThHYFhAaUhaYFdoZ3U9NWJMVUxCfStPdT4+V1FsP01oKmVhQVpFQDY/
cT82dEVNek40M1dldFZtCnpEQVRwMjYqX1VPd0hKNiNGVXduemJZdStMV25LUG5KdmM+UEBMU0cz
RkA4NT5falAlcV9HPHZFVDVGI2xDdTJHTAp6YmVwNSFlPDJKcnUoIy1QLUQzeDg0VjtKRTtLOG9Q
ZjcyQ1Bob0FWYWsraVc9ekUkT2JUQGdfV29IXldKQDItO0cKejQzbnBIWjIwRzdUfDBkWkZ4U3k2
WmhKRzxkLVpPfkF3MVBnc3dsY0lQREEtY0lvbFM0ITZUUlpofkRjMVF5Y2xaCnohWUpeKl9rIzx+
RU9BaEdoSTx2TlhhN2Q0IyNSJnRiRipjP2dKXnNjJWUlemB6fWdPWnR4RjZ5R2hZJlJ4aHRQTgp6
NVAyOVNIRWM0cFNaU1EwUjVUP25RSzJXVFZ5QFZSJW11fFZsbzQodTctampTdnx4RmFvPigoJmd9
YlBxUWF8SUoKeiVWQTtPMlp7RWs1UE12UHZVSzxaaHVwYFhJXkFHZkpRcFViTWlpYFhRRmFsbDlU
eFZ3eH1qaUZ6aG9SJmRjKzJ+Cno2a3B7PE58fVJzRnJzfl9eVktTSmRCXmlLdDB6dmokYXxuKFNL
flFzamcqUFVveSV7WWt6T3dNcnpjP3ErcWJHTAp6OGZnZCFVRkFCcjdDIShEMCs4bEtadyMwekBB
PyYlNnxhMkVHMUVuOHNLTHlKKlNiIWJ1emlofXYrekFNdzx3UVAKenNfWVpqdjdldk9HJjIlVV5F
MFg5PkBTTmBybyRYQzFeKmYlWW45U0BsQyFoejYpSnc5NSZOXlB6VnEwKXFeblhSCnoqbX00d2Ja
KWpHUiRib0txKGIqKmlQTkZGR3UzIUk/ZChGPSFUV2tIUHdnaUBIcFZ6RClfckAwP3FIN3V2MlMz
MQp6QzxWQzdDbzdORnZpNSljKnpmZzs9fDcqKVl1VUEyaG92ISU2JXZmTDtyVVVzUENeRD9jQT9O
QiV+TVR6JHxeZTAKekhnIy1jX0o9X1JMM2xlVW19VCk+cUFNZDtWXl42JklnMD0wU2d3R1E7V1dy
Z0pyMjdPS3U7ZVFVRTVUR3FAcStVCno7anBmWlFATUNpSktJYCo7MV9USSF1bmR+Z2htUkp3WCom
JkZeUEFEUStQbTBvcFExJU9xXjh9Q28qekghJjlJSgp6MyRqXzFFR0B0KCZGQzR1bjlobFUtMkFy
JWpAQDBaOFVndElLTGxIWUs3aFloO25MYTk0fEk8ZSlXXiNQSFRNR08KemJgXyFHMW4rSGY4UVBE
UHc/ez5fUU8yMmRQNE1ZN0JifkNRc1cjdmJGOEFsK1VjS0dTQT5aZzA+dz5TfTFsIV9NCnpeWFhN
d14hQ2s2NyZRYms7cHJvV3Fmb1p4WFRnbTgpQWc5Z3NoS2JIXmgob080LV4jaXVlWUhXR0N2Z0tx
Ry05QQp6OGEzKlk9e289aUFJYjRpZ1M/XzR0SGd5ejR4NTx9I2tUcX0kWHF4LSp2T2hhbCk7dVko
Njh3Zj5ISHBCajgpS1kKejJ+OUdwcnJiNTdGKnshemJ+WDx7JlFKfFFofXQjY2I7PUZKezEtPHle
KDF7T3ZvN3RUekpfKWtsQldffXhCTU9hCnozcUpnXmV5diZOSShkIURve1E7enRgMUdwMkZ1c1l0
VnJsZk09eDFzQX03cGA2TmJveXM8P3J8I19MK3VNdVpfPgp6cXRgZDVEPjlzenZgS3ghJVN5VFU/
TyNnPlAySXtQb2JIfkE/OHZ0UkEmV05oVVdRVDc2Xm5nLSl7YENhVFEkYDUKejM2cCtKMGh9Mnw8
MEAzdzsyNyF2fDZfMVpEdGZnPSZGfCppVik1Wlk7bj5AQFo7NGNTY3tPWUtQekZOPXFrbz81Cnp3
fU84Q25WTihKVWszfWI9KWpTb3I8NGkzbHlnRUV2SEFlYz1yRjxNJDNUYkMlMjBNPGBSalZac34x
YTEmMmowKwp6NU1VdkM2bClDYFBCIU59WkphT0o+ZXVjUylrVjxsZyNJOFAySytBcChHYSpYI357
SFg+RXdkcVI2dFhvQ3c4cjsKej9KPnBOeTFpXzkoKXEjaChxMnk0MEA/PH5tM01ufj5gQWNsWX0l
ZGFCdXJtYlooNm1gPTRMTXRlWF5ad3htJiRDCnpZKTUkVEBOPlJ5YDdfYyNveVlSe0B4fH5ZPXl4
OU13ZDh9O1VDIyE4Y2dCQ25GbDh2e1kxN25FUXY4az9HYVBMYgp6ZSVuN0lOPjwyPTZ9fEJ0cTUr
WVV0KHQ/NXZlT3pHN1BxIWhIK0J8amstUyt7c3NHcDYxRFF7WDdoXkZ+UlpVOHMKemJUS1I2Mloq
YX04ZS03Vnk7NDQpSENDN1FOJjB6ejNOYCFHOGIxOEVXbmdTQ2BMOX1LIzk4MUZfVVRwPGUoVXBB
Cno5S0ZPPGhxSzVibSVXR0lHXnl0YGFGcFZmSVcrTSZKUGg2Y0VUNikmI0VGIWEpYUEjeyVwMlJ4
RClRVzFKUTJuPgp6Kyh9US1FY2dDNTI9SEFlPj9pciFDYEhMXyUjN1krYmZsY1ghISo/MWFRUSR8
bElPK3grRSluS1BjcHc4dThZZEEKelRmQzVpI1NKWl5YLUp+Qk9UdjFtdXliSUgyX0liPmM+U2ZG
bCZNVzZiOU56a21CYCs/I0xuPTk3fEFrKWo+TCpyCnpFPyl8cktMckl0UHBAMmhWS1NwZk9xank/
JFR+JilNeXlYbyhnKSk4Z0tVZStkM25gQVF5WT8qWUt2SSt0Tm1CdQp6aXl9KDFrZFchVnlBJjY8
VHAqb3dTMV9NfE1HUWdsUDB8Vz1ZQ34zJjF9YWhjYXlIcyN1ZnYjK2RHdDkzKlIxVD4Kej0oPW9y
KjJIRjYoR0xeIStVdi10Mz82aFl6bUtvI3V9Xkh+VCs+RHkrYCFkOE0+NX45ckRNRzxVejh8VF9s
VS0mCnpGRVRFdiUpJHJQenhXTX1IYFdWTlJZUTY4Wi1yOUxycXYwRHJ9LU8rZURZcnU5KmlWVVky
QThmKFk3ZjN7b2RNewp6Z0speDd6dVZoSTMzTiEjOChoJH10Xn0oRzwkSXVxNDQ/NElqJnUkKEA7
Zz49KW04cXFiUmk0eEJCREI9TSRmIzYKenxMXzw5KnRTU0hAMVAleGNCIUc3WnN4P0VzQSZeaTFy
Rk5hQVRKNGw9fXt2VnEjXjteNnZCSkhkNXclX2FJfmwhCnpySlVleUhPd19JK056eVRPJlJXWTg2
WG8qSkNGR29oZjh4d15ZM2ZJNGp8NXkpcDZKWT5EMHNSK1k2eytEfCRMVAp6ZHVzdDNsPUcrNXN+
K3FIKUcxS3d1eVV1fUAmZ1VHWmJINEw9b21FeVd5P0JneFh9QEFhP0Rjc0c0bjhIWmdNRlAKelde
dVlhKlFWJlU1UExBaU9iOzVtQVF8KGFyOVZaI14pOz5LP2poLXs1aUlPZFMmdEElc1VGSmtJfk95
RnFMOzdSCno0MiVXdkJUSyExaW8qakotP1RYbmsxfiQmJHJ6T1MzcnZuUlhNWjFPc0hvOy1gUW5y
cFdWZmtRcS13akIrcCZrVwp6Q1ZZSDNCdktVMTNOJEJBJW9ANjFjY1JuKCo7OUczTE4kX2dnN3tj
Y0x7Q3xfWUc9fDFJaXooPT8jckhxNDA1N3IKejJzYHEreGtSM2R4MWAkPEA2MCRVLX1USzdeWW5B
WXZScHMpR1UmbUVRdlRxK2d2KmM2OCV0VyVZZ3poOG4pbitKCnoldFVqUilpTSlNJm8lZmF0TERa
b25ZQ0V0SmgxUyhLUEdae1VEeExGTm9iJGFZRWNUekJHVGtlRDFnYiojeFBlOQp6NnM/fW1ZSyQ1
OWx4IWB4ciN+Z2VOQGI5UC0tQj0hX3VOVyRiRjQ8NmtrT2ZYZ19GbG1lYntuI0dSMTc1RGt5fG0K
ej1pLSU5YypRUHFfSHwjWXc1djVUanpteylgQ316QEQrc0dOU0dtJnJFKDl8RCF+Y0RtXkZPKXJg
UygtKmtJVFk7Cno3dzVtREkyRS18NStJUTY5aD4oOHtHUyl6fEV9PFZNfV9+Yz5WSWAoJEtVdys4
KCk3PCRLVFdPenVvUWlIITF4OAplbDdpQ08/Vz49a2xtK3o+IVI+eUtPWHV4PnNyZFFZP2YoSDsh
Mmp3MQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2Zhc3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvYmFja2dyb3VuZHMvc2Vs
ZWN0aW9uLWJhY2tncm91bmQtY29sb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NjZiMmFi
ODk5NTYyZGM4YWQwODE1ODQ3ODAyMjRlNzRlZjdkYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dyb3Vu
ZC1jb2xvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1MgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgzNgorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTggW2NvbG9yPSMwMDAwMDBEOV0KKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzA0eDE3CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA0OiAiVGVzdCBwYXNzZXMgaWYgdGhlIHNlbGVjdGlv
biBiYWNrZ3JvdW5kIGlzIGJsYWNrIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTgp
IHNpemUgNzg0eDE4IFtjb2xvcj0jMDBGRjAwRDldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDMwNXgxNworICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDMwNTogIlRlc3QgcGFzc2VzIGlmIHRoZSBzZWxlY3Rpb24gYmFja2dyb3VuZCBpcyBncmVlbiIK
K3NlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gMCBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQg
MSB7RElWfSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDQ4IG9mIGNoaWxkIDAg
eyN0ZXh0fSBvZiBjaGlsZCAzIHtESVZ9IG9mIGJvZHkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>139046</attachid>
            <date>2012-04-26 12:41:47 -0700</date>
            <delta_ts>2012-04-26 12:41:47 -0700</delta_ts>
            <desc>simple test case</desc>
            <filename>selectbackgroundcolor.html</filename>
            <type>text/html</type>
            <size>1461</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8IS0tDQpUZXN0IGZvcjogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgwMzgyDQogICAgICAgICAgKFNlbGVjdGlvbiBCYWNrZ3JvdW5kIENv
bG9yIEVycm9yKQ0KDQpUaGlzIGJ1ZyBpcyBjYXVzZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGJhY2tn
cm91bmQgaXMgaW52ZXJ0ZWQgaWYgaXQNCmlzIHRoZSBzYW1lIGFzIHRoZSB0ZXh0IGNvbG9yLiAg
SG93ZXZlciwgaXQgc2hvdWxkIGNvbXBhcmUgYWdhaW5zdA0KdGhlIHNlbGVjdGVkIHRleHQgY29s
b3IgaW5zdGVhZCBvZiB0aGUgbm9uLXNlbGVjdGVkIHRleHQgY29sb3IuDQoNClRoZSBhbHBoYSBj
b21wb25lbnQgbXVzdCBiZSBub24tb3BhcXVlIGZvciB0aGUgYnVnIHRvIGdldCB0cmlnZ2VyZWQu
DQpUaGlzIGlzIGJlY2F1c2Ugd2hlbiB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQgaXMgb3BhcXVl
LCBpdCB3aWxsIGJlDQpibGVuZGVkIHdpdGggd2hpdGUsIHdoaWNoIHByZXZlbnRzIHRoZSBpbnZl
cnNpb24uDQotLT4NCjxodG1sPg0KPGhlYWQ+DQogICAgPHN0eWxlPg0KICAgICAgICAjQSB7DQog
ICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjg1KTsNCiAgICAgICAgfQ0KICAgICAgICAj
QTo6c2VsZWN0aW9uIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44NSk7
DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIH0NCiAgICAgICAgI0E6Oi1tb3ot
c2VsZWN0aW9uIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44NSk7DQog
ICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIH0NCg0KICAgICAgICAjQiB7DQogICAg
ICAgICAgICBjb2xvcjogcmdiYSgwLDI1NSwwLDAuODUpOw0KICAgICAgICB9DQogICAgICAgICNC
OjpzZWxlY3Rpb24gew0KICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI1NSwwLDAuODUp
Ow0KICAgICAgICAgICAgY29sb3I6IGJsdWU7DQogICAgICAgIH0NCiAgICAgICAgI0I6Oi1tb3ot
c2VsZWN0aW9uIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMCwwLjg1KTsN
CiAgICAgICAgICAgIGNvbG9yOiBibHVlOw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVh
ZD4NCjxib2R5Pg0KICAgIDxkaXYgaWQ9IkEiPlRlc3QgcGFzc2VzIGlmIHRoZSBzZWxlY3Rpb24g
YmFja2dyb3VuZCBpcyBibGFjazwvZGl2Pg0KICAgIDxkaXYgaWQ9IkIiPlRlc3QgcGFzc2VzIGlm
IHRoZSBzZWxlY3Rpb24gYmFja2dyb3VuZCBpcyBncmVlbjwvZGl2Pg0KPC9ib2R5Pg0KICAgIDxz
Y3JpcHQ+DQogICAgICAgIHZhciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImJvZHkiKVswXTsNCiAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxk
cmVuKGJvZHkpOw0KICAgIDwvc2NyaXB0Pg0KPC9odG1sPg0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139049</attachid>
            <date>2012-04-26 12:59:33 -0700</date>
            <delta_ts>2012-05-07 14:30:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80382-20120426155513.patch</filename>
            <type>text/plain</type>
            <size>12671</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNlOWI0OGI0OWNlNTg5
ODdhMjA0MjlmZTk0YzA2ZjQxMDg1NTE0NC4uY2VmYmRjMmI5MzM1MzkzNTAzZjhhOTZkODAyZjE5
ODc0ZjZkNjQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA0LTI2ICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQmFj
a2dyb3VuZCBDb2xvciBFcnJvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBEZXRlcm1pbmUgdGhlIHRleHQgY29sb3JzIGFuZCBzZWxlY3Rpb24gY29sb3Jz
IGJlZm9yZSBwYWludGluZyB0aGUKKyAgICAgICAgYmFja2dyb3VuZCBiZWhpbmQgdGhlIHRleHQu
ICBUaGlzIGlzIGJlY2F1c2Ugd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyCisgICAgICAgIHRvIGlu
dmVydCB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQsIHRoZSBzZWxlY3Rpb24gdGV4dCBjb2xvciBz
aG91bGQgYmUKKyAgICAgICAgdXNlZCBpbnN0ZWFkIG9mIHRoZSByZWd1bGFyIHRleHQgY29sb3Iu
ICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBzZWxlY3Rpb24KKyAgICAgICAgdGV4dCBjb2xvciBpcyBw
YXNzZWQgdG8gJ3BhaW50U2VsZWN0aW9uJyBzbyB0aGF0IHRoZSBzZWxlY3Rpb24KKyAgICAgICAg
YmFja2dyb3VuZCBjYW4gYmUgY29tcGFyZWQgYWdhaW5zdCBpdCwgaW5zdGVhZCBvZiBjb21wYXJp
bmcgYWdhaW5zdCB0aGUKKyAgICAgICAgQ1NTUHJvcGVydHlDb2xvciB2YWx1ZS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2JhY2tncm91bmRzL3NlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLmh0bWwK
KworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklubGluZVRleHRCb3g6OnBhaW50KToKKyAgICAgICAgICAgIFBhc3Mgc2VsZWN0aW9uIHRl
eHQgY29sb3IgdG8gcGFpbnRTZWxlY3Rpb24KKworICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4
dEJveDo6cGFpbnRTZWxlY3Rpb24pOgorICAgICAgICAgICAgVXNlIHRoZSBzZWxlY3Rpb24gdGV4
dCBjb2xvciBpbnN0ZWFkIG9mIENTU1Byb3BlcnR5Q29sb3IKKworICAgICAgICAqIHJlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgIChJbmxpbmVUZXh0Qm94KToKKyAgICAgICAgICAg
IEFkanVzdCBzaWduYXR1cmUgb2YgcGFpbnRTZWxlY3Rpb24gdG8gYWNjZXB0IHRleHQgY29sb3IK
KwogMjAxMi0wNC0yNiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4K
IAogICAgICAgICBTaGFyZSBjb2RlIHVzZWQgdG8gYW5pbWF0ZSBudW1iZXJzIHR5cGVzIGJldHdl
ZW4gYWxsIGFuaW1hdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwCmluZGV4IGQ2ZWQzMzI4NzA3YjM3NDBmYWVjMWMwYzQ3NTdjNjEzNTY1M2QwNWIuLjIxNTg2
OWMwNTBjOTIwZWNiYTFkNWEyNTk1NjU4OTI2MzU5ODRlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTUzNCw0NiArNTM0LDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW50T2Zmc2V0LAogICAgIGJvb2wgY29udGFpbnNDb21wb3NpdGlvbiA9IHJlbmRlcmVyKCkt
Pm5vZGUoKSAmJiByZW5kZXJlcigpLT5mcmFtZSgpLT5lZGl0b3IoKS0+Y29tcG9zaXRpb25Ob2Rl
KCkgPT0gcmVuZGVyZXIoKS0+bm9kZSgpOwogICAgIGJvb2wgdXNlQ3VzdG9tVW5kZXJsaW5lcyA9
IGNvbnRhaW5zQ29tcG9zaXRpb24gJiYgcmVuZGVyZXIoKS0+ZnJhbWUoKS0+ZWRpdG9yKCktPmNv
bXBvc2l0aW9uVXNlc0N1c3RvbVVuZGVybGluZXMoKTsKIAotICAgIC8vIFNldCBvdXIgZm9udC4K
LSAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGVUb1VzZS0+Zm9udCgpOwotCi0gICAgRmxvYXRQ
b2ludCB0ZXh0T3JpZ2luID0gRmxvYXRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
ICsgZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKTsKLQotICAgIGlmIChjb21iaW5lZFRleHQp
Ci0gICAgICAgIGNvbWJpbmVkVGV4dC0+YWRqdXN0VGV4dE9yaWdpbih0ZXh0T3JpZ2luLCBib3hS
ZWN0KTsKLQotICAgIC8vIDEuIFBhaW50IGJhY2tncm91bmRzIGJlaGluZCB0ZXh0IGlmIG5lZWRl
ZC4gRXhhbXBsZXMgb2Ygc3VjaCBiYWNrZ3JvdW5kcyBpbmNsdWRlIHNlbGVjdGlvbgotICAgIC8v
IGFuZCBjb21wb3NpdGlvbiB1bmRlcmxpbmVzLgotICAgIGlmIChwYWludEluZm8ucGhhc2UgIT0g
UGFpbnRQaGFzZVNlbGVjdGlvbiAmJiBwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVRleHRD
bGlwICYmICFpc1ByaW50aW5nKSB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgICAgICAvLyBDdXN0
b20gaGlnaGxpZ2h0ZXJzIGdvIGJlaGluZCBldmVyeXRoaW5nIGVsc2UuCi0gICAgICAgIGlmIChz
dHlsZVRvVXNlLT5oaWdobGlnaHQoKSAhPSBudWxsQXRvbSAmJiAhY29udGV4dC0+cGFpbnRpbmdE
aXNhYmxlZCgpKQotICAgICAgICAgICAgcGFpbnRDdXN0b21IaWdobGlnaHQoYWRqdXN0ZWRQYWlu
dE9mZnNldCwgc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkpOwotI2VuZGlmCi0KLSAgICAgICAgaWYg
KGNvbnRhaW5zQ29tcG9zaXRpb24gJiYgIXVzZUN1c3RvbVVuZGVybGluZXMpCi0gICAgICAgICAg
ICBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChjb250ZXh0LCBib3hPcmlnaW4sIHN0eWxlVG9V
c2UsIGZvbnQsCi0gICAgICAgICAgICAgICAgcmVuZGVyZXIoKS0+ZnJhbWUoKS0+ZWRpdG9yKCkt
PmNvbXBvc2l0aW9uU3RhcnQoKSwKLSAgICAgICAgICAgICAgICByZW5kZXJlcigpLT5mcmFtZSgp
LT5lZGl0b3IoKS0+Y29tcG9zaXRpb25FbmQoKSk7Ci0KLSAgICAgICAgcGFpbnREb2N1bWVudE1h
cmtlcnMoY29udGV4dCwgYm94T3JpZ2luLCBzdHlsZVRvVXNlLCBmb250LCB0cnVlKTsKLQotICAg
ICAgICBpZiAoaGF2ZVNlbGVjdGlvbiAmJiAhdXNlQ3VzdG9tVW5kZXJsaW5lcykKLSAgICAgICAg
ICAgIHBhaW50U2VsZWN0aW9uKGNvbnRleHQsIGJveE9yaWdpbiwgc3R5bGVUb1VzZSwgZm9udCk7
Ci0gICAgfQotCi0gICAgaWYgKEZyYW1lKiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCkpIHsK
LSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAgICAgICAv
LyBGSVhNRTogUmlnaHQgbm93LCBJbmxpbmVUZXh0Qm94ZXMgbmV2ZXIgY2FsbCBhZGRSZWxldmFu
dFVucGFpbnRlZE9iamVjdCgpIGV2ZW4gdGhvdWdoIHRoZXkgbWlnaHQgCi0gICAgICAgICAgICAv
LyBsZWdpdGltYXRlbHkgYmUgdW5wYWludGVkIGlmIHRoZXkgYXJlIHdhaXRpbmcgb24gYSBzbG93
LWxvYWRpbmcgd2ViIGZvbnQuIFdlIHNob3VsZCBmaXggdGhhdCwgYW5kCi0gICAgICAgICAgICAv
LyB3aGVuIHdlIGRvLCB3ZSB3aWxsIGhhdmUgdG8gYWNjb3VudCBmb3IgdGhlIGZhY3QgdGhlIElu
bGluZVRleHRCb3hlcyBkbyBub3QgYWx3YXlzIGhhdmUgdW5pcXVlCi0gICAgICAgICAgICAvLyBy
ZW5kZXJlcnMgYW5kIFBhZ2UgY3VycmVudGx5IHJlbGllcyBvbiBlYWNoIHVucGFpbnRlZCBvYmpl
Y3QgaGF2aW5nIGEgdW5pcXVlIHJlbmRlcmVyLgotICAgICAgICAgICAgaWYgKHBhaW50SW5mby5w
aGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCkKLSAgICAgICAgICAgICAgICBwYWdlLT5hZGRS
ZWxldmFudFJlcGFpbnRlZE9iamVjdChyZW5kZXJlcigpLCBJbnRSZWN0KGJveE9yaWdpbi54KCks
IGJveE9yaWdpbi55KCksIGxvZ2ljYWxXaWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIC8vIDIuIE5vdyBwYWludCB0aGUgZm9yZWdyb3VuZCwgaW5jbHVk
aW5nIHRleHQgYW5kIGRlY29yYXRpb25zIGxpa2UgdW5kZXJsaW5lL292ZXJsaW5lIChpbiBxdWly
a3MgbW9kZSBvbmx5KS4KKyAgICAvLyBEZXRlcm1pbmUgdGhlIHRleHQgY29sb3JzIGFuZCBzZWxl
Y3Rpb24gY29sb3JzLgogICAgIENvbG9yIHRleHRGaWxsQ29sb3I7CiAgICAgQ29sb3IgdGV4dFN0
cm9rZUNvbG9yOwogICAgIENvbG9yIGVtcGhhc2lzTWFya0NvbG9yOwpAQCAtNjYwLDYgKzYyMSw0
NiBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQsCiAgICAgICAgIH0KICAgICB9CiAKKyAgICAvLyBT
ZXQgb3VyIGZvbnQuCisgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlVG9Vc2UtPmZvbnQoKTsK
KworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9IEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSArIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisKKyAgICBpZiAo
Y29tYmluZWRUZXh0KQorICAgICAgICBjb21iaW5lZFRleHQtPmFkanVzdFRleHRPcmlnaW4odGV4
dE9yaWdpbiwgYm94UmVjdCk7CisKKyAgICAvLyAxLiBQYWludCBiYWNrZ3JvdW5kcyBiZWhpbmQg
dGV4dCBpZiBuZWVkZWQuIEV4YW1wbGVzIG9mIHN1Y2ggYmFja2dyb3VuZHMgaW5jbHVkZSBzZWxl
Y3Rpb24KKyAgICAvLyBhbmQgY29tcG9zaXRpb24gdW5kZXJsaW5lcy4KKyAgICBpZiAocGFpbnRJ
bmZvLnBoYXNlICE9IFBhaW50UGhhc2VTZWxlY3Rpb24gJiYgcGFpbnRJbmZvLnBoYXNlICE9IFBh
aW50UGhhc2VUZXh0Q2xpcCAmJiAhaXNQcmludGluZykgeworI2lmIFBMQVRGT1JNKE1BQykKKyAg
ICAgICAgLy8gQ3VzdG9tIGhpZ2hsaWdodGVycyBnbyBiZWhpbmQgZXZlcnl0aGluZyBlbHNlLgor
ICAgICAgICBpZiAoc3R5bGVUb1VzZS0+aGlnaGxpZ2h0KCkgIT0gbnVsbEF0b20gJiYgIWNvbnRl
eHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgICAgIHBhaW50Q3VzdG9tSGlnaGxpZ2h0
KGFkanVzdGVkUGFpbnRPZmZzZXQsIHN0eWxlVG9Vc2UtPmhpZ2hsaWdodCgpKTsKKyNlbmRpZgor
CisgICAgICAgIGlmIChjb250YWluc0NvbXBvc2l0aW9uICYmICF1c2VDdXN0b21VbmRlcmxpbmVz
KQorICAgICAgICAgICAgcGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoY29udGV4dCwgYm94T3Jp
Z2luLCBzdHlsZVRvVXNlLCBmb250LAorICAgICAgICAgICAgICAgIHJlbmRlcmVyKCktPmZyYW1l
KCktPmVkaXRvcigpLT5jb21wb3NpdGlvblN0YXJ0KCksCisgICAgICAgICAgICAgICAgcmVuZGVy
ZXIoKS0+ZnJhbWUoKS0+ZWRpdG9yKCktPmNvbXBvc2l0aW9uRW5kKCkpOworCisgICAgICAgIHBh
aW50RG9jdW1lbnRNYXJrZXJzKGNvbnRleHQsIGJveE9yaWdpbiwgc3R5bGVUb1VzZSwgZm9udCwg
dHJ1ZSk7CisKKyAgICAgICAgaWYgKGhhdmVTZWxlY3Rpb24gJiYgIXVzZUN1c3RvbVVuZGVybGlu
ZXMpCisgICAgICAgICAgICBwYWludFNlbGVjdGlvbihjb250ZXh0LCBib3hPcmlnaW4sIHN0eWxl
VG9Vc2UsIGZvbnQsIHNlbGVjdGlvbkZpbGxDb2xvcik7CisgICAgfQorCisgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IHJlbmRlcmVyKCktPmZyYW1lKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBmcmFtZS0+cGFnZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogUmlnaHQgbm93LCBJbmxp
bmVUZXh0Qm94ZXMgbmV2ZXIgY2FsbCBhZGRSZWxldmFudFVucGFpbnRlZE9iamVjdCgpIGV2ZW4g
dGhvdWdoIHRoZXkgbWlnaHQKKyAgICAgICAgICAgIC8vIGxlZ2l0aW1hdGVseSBiZSB1bnBhaW50
ZWQgaWYgdGhleSBhcmUgd2FpdGluZyBvbiBhIHNsb3ctbG9hZGluZyB3ZWIgZm9udC4gV2Ugc2hv
dWxkIGZpeCB0aGF0LCBhbmQKKyAgICAgICAgICAgIC8vIHdoZW4gd2UgZG8sIHdlIHdpbGwgaGF2
ZSB0byBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGUgSW5saW5lVGV4dEJveGVzIGRvIG5vdCBhbHdh
eXMgaGF2ZSB1bmlxdWUKKyAgICAgICAgICAgIC8vIHJlbmRlcmVycyBhbmQgUGFnZSBjdXJyZW50
bHkgcmVsaWVzIG9uIGVhY2ggdW5wYWludGVkIG9iamVjdCBoYXZpbmcgYSB1bmlxdWUgcmVuZGVy
ZXIuCisgICAgICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VGb3JlZ3Jv
dW5kKQorICAgICAgICAgICAgICAgIHBhZ2UtPmFkZFJlbGV2YW50UmVwYWludGVkT2JqZWN0KHJl
bmRlcmVyKCksIEludFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSwgbG9naWNhbFdp
ZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gMi4g
Tm93IHBhaW50IHRoZSBmb3JlZ3JvdW5kLCBpbmNsdWRpbmcgdGV4dCBhbmQgZGVjb3JhdGlvbnMg
bGlrZSB1bmRlcmxpbmUvb3ZlcmxpbmUgKGluIHF1aXJrcyBtb2RlIG9ubHkpLgogICAgIGludCBs
ZW5ndGggPSBtX2xlbjsKICAgICBpbnQgbWF4aW11bUxlbmd0aDsKICAgICBjb25zdCBVQ2hhciog
Y2hhcmFjdGVyczsKQEAgLTgwNiw3ICs4MDcsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnNlbGVj
dGlvblN0YXJ0RW5kKGludCYgc1BvcywgaW50JiBlUG9zKQogICAgIGVQb3MgPSBtaW4oZW5kUG9z
IC0gbV9zdGFydCwgKGludCltX2xlbik7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRT
ZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9udCkKK3ZvaWQgSW5saW5l
VGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBG
bG9hdFBvaW50JiBib3hPcmlnaW4sIFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgRm9udCYgZm9u
dCwgQ29sb3IgdGV4dENvbG9yKQogewogICAgIGlmIChjb250ZXh0LT5wYWludGluZ0Rpc2FibGVk
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTgxNywxMyArODE4LDEyIEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9h
dFBvaW50JiBiCiAgICAgaWYgKHNQb3MgPj0gZVBvcykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Q29sb3IgdGV4dENvbG9yID0gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eUNvbG9yKTsKICAgICBDb2xvciBjID0gcmVuZGVyZXIoKS0+c2VsZWN0aW9uQmFja2dyb3VuZENv
bG9yKCk7CiAgICAgaWYgKCFjLmlzVmFsaWQoKSB8fCBjLmFscGhhKCkgPT0gMCkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gSWYgdGhlIHRleHQgY29sb3IgZW5kcyB1cCBiZWluZyB0aGUgc2Ft
ZSBhcyB0aGUgc2VsZWN0aW9uIGJhY2tncm91bmQsIGludmVydCB0aGUgc2VsZWN0aW9uCi0gICAg
Ly8gYmFja2dyb3VuZC4gIFRoaXMgc2hvdWxkIGJhc2ljYWxseSBuZXZlciBoYXBwZW4sIHNpbmNl
IHRoZSBzZWxlY3Rpb24gaGFzIHRyYW5zcGFyZW5jeS4KKyAgICAvLyBiYWNrZ3JvdW5kLgogICAg
IGlmICh0ZXh0Q29sb3IgPT0gYykKICAgICAgICAgYyA9IENvbG9yKDB4ZmYgLSBjLnJlZCgpLCAw
eGZmIC0gYy5ncmVlbigpLCAweGZmIC0gYy5ibHVlKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guaAppbmRleCBhOWJkZTc0ZjAzOTA5NzZjNTQ2MmFmNDVjMTVlMmI3
ZDk0YTE4NDdmLi4xYjdhM2FkMDNiNGNjNTc1ZmYyNTk5MmZlZjdmNDllOGJkM2E2MDQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKQEAgLTE4MSw3ICsxODEsNyBA
QCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBwYWludERlY29yYXRpb24oR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBpbnQgZGVjb3JhdGlvbiwg
Y29uc3QgU2hhZG93RGF0YSopOwotICAgIHZvaWQgcGFpbnRTZWxlY3Rpb24oR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBSZW5kZXJTdHlsZSosIGNvbnN0IEZv
bnQmKTsKKyAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250JiwgQ29sb3IgdGV4
dENvbG9yKTsKICAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXIoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBEb2N1bWVudE1hcmtlciosIFJlbmRlclN0eWxl
KiwgY29uc3QgRm9udCYsIGJvb2wgZ3JhbW1hcik7CiAgICAgdm9pZCBwYWludFRleHRNYXRjaE1h
cmtlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIERvY3Vt
ZW50TWFya2VyKiwgUmVuZGVyU3R5bGUqLCBjb25zdCBGb250Jik7CiAgICAgdm9pZCBjb21wdXRl
UmVjdEZvclJlcGxhY2VtZW50TWFya2VyKERvY3VtZW50TWFya2VyKiwgUmVuZGVyU3R5bGUqLCBj
b25zdCBGb250Jik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDI3MTdjMWMzODZiNmEzNzcxNTA1MmVkNjJkYTIzZGNiZGM1
Nzg1NC4uNDljMzAxMzQyMDAxYTMzODlkZDM0OWQ3OTA3OWRjOGFmYjMyNzU3ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEyLTA0LTI2ICBTaGV6YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWls
LmNvbT4KKworICAgICAgICBTZWxlY3Rpb24gQmFja2dyb3VuZCBDb2xvciBFcnJvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzODIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCBj
YXNlIGZvciBzZWxlY3Rpb24gYmFja2dyb3VuZCBjb2xvci4KKworICAgICAgICAqIGZhc3QvYmFj
a2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKwogMjAxMi0wNC0yNiAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUu
ZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJh
bWUtYWNjZXNzLXB1dC5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3ItZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3It
ZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hN2VkYmVlYTBhNjVjMDllMTA2MGU4YzFiMTU0NDhj
YTgzM2U2MTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5k
cy9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQorVGVzdCBmb3I6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MDM4MgorICAgICAgICAgIChTZWxlY3Rpb24gQmFja2dyb3Vu
ZCBDb2xvciBFcnJvcikKKworVGhpcyBidWcgaXMgY2F1c2VkIHdoZW4gdGhlIHNlbGVjdGlvbiBi
YWNrZ3JvdW5kIGlzIGludmVydGVkIGlmIGl0CitpcyB0aGUgc2FtZSBhcyB0aGUgdGV4dCBjb2xv
ci4gIEhvd2V2ZXIsIGl0IHNob3VsZCBjb21wYXJlIGFnYWluc3QKK3RoZSBzZWxlY3RlZCB0ZXh0
IGNvbG9yIGluc3RlYWQgb2YgdGhlIG5vbi1zZWxlY3RlZCB0ZXh0IGNvbG9yLgorCitUaGUgYWxw
aGEgY29tcG9uZW50IG11c3QgYmUgbm9uLW9wYXF1ZSBmb3IgdGhlIGJ1ZyB0byBnZXQgdHJpZ2dl
cmVkLgorVGhpcyBpcyBiZWNhdXNlIHdoZW4gdGhlIHNlbGVjdGlvbiBiYWNrZ3JvdW5kIGlzIG9w
YXF1ZSwgaXQgd2lsbCBiZQorYmxlbmRlZCB3aXRoIHdoaXRlLCB3aGljaCBwcmV2ZW50cyB0aGUg
aW52ZXJzaW9uLgorLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI0E6
OnNlbGVjdGlvbiB7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuODUpOwor
ICAgICAgICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICB9CisKKyAgICAgICAgI0I6OnNlbGVj
dGlvbiB7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDAsMC44NSk7CisgICAg
ICAgICAgICBjb2xvcjogYmx1ZTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8ZGl2IGlkPSJBIj5UZXN0IHBhc3NlcyBpZiB0aGUgc2VsZWN0aW9uIGJhY2tn
cm91bmQgaXMgYmxhY2s8L2Rpdj4KKyAgICA8ZGl2IGlkPSJCIj5UZXN0IHBhc3NlcyBpZiB0aGUg
c2VsZWN0aW9uIGJhY2tncm91bmQgaXMgZ3JlZW48L2Rpdj4KKzwvYm9keT4KKyAgICA8c2NyaXB0
PgorICAgICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5
IilbMF07CisgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihi
b2R5KTsKKyAgICA8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvYmFja2dyb3VuZHMvc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZDNhMjY3MWQzZjBmZWViMGJmZDFlMTdjNzJlOTRmY2I3OGFjMjYwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9zZWxlY3Rpb24tYmFja2dy
b3VuZC1jb2xvci5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQor
VGVzdCBmb3I6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDM4Mgor
ICAgICAgICAgIChTZWxlY3Rpb24gQmFja2dyb3VuZCBDb2xvciBFcnJvcikKKworVGhpcyBidWcg
aXMgY2F1c2VkIHdoZW4gdGhlIHNlbGVjdGlvbiBiYWNrZ3JvdW5kIGlzIGludmVydGVkIGlmIGl0
CitpcyB0aGUgc2FtZSBhcyB0aGUgdGV4dCBjb2xvci4gIEhvd2V2ZXIsIGl0IHNob3VsZCBjb21w
YXJlIGFnYWluc3QKK3RoZSBzZWxlY3RlZCB0ZXh0IGNvbG9yIGluc3RlYWQgb2YgdGhlIG5vbi1z
ZWxlY3RlZCB0ZXh0IGNvbG9yLgorCitUaGUgYWxwaGEgY29tcG9uZW50IG11c3QgYmUgbm9uLW9w
YXF1ZSBmb3IgdGhlIGJ1ZyB0byBnZXQgdHJpZ2dlcmVkLgorVGhpcyBpcyBiZWNhdXNlIHdoZW4g
dGhlIHNlbGVjdGlvbiBiYWNrZ3JvdW5kIGlzIG9wYXF1ZSwgaXQgd2lsbCBiZQorYmxlbmRlZCB3
aXRoIHdoaXRlLCB3aGljaCBwcmV2ZW50cyB0aGUgaW52ZXJzaW9uLgorLS0+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI0EgeworICAgICAgICAgICAgY29sb3I6IHJnYmEo
MCwwLDAsMC44NSk7CisgICAgICAgIH0KKyAgICAgICAgI0E6OnNlbGVjdGlvbiB7CisgICAgICAg
ICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuODUpOworICAgICAgICAgICAgY29sb3I6IHdo
aXRlOworICAgICAgICB9CisKKyAgICAgICAgI0IgeworICAgICAgICAgICAgY29sb3I6IHJnYmEo
MCwyNTUsMCwwLjg1KTsKKyAgICAgICAgfQorICAgICAgICAjQjo6c2VsZWN0aW9uIHsKKyAgICAg
ICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMCwwLjg1KTsKKyAgICAgICAgICAgIGNvbG9y
OiBibHVlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxk
aXYgaWQ9IkEiPlRlc3QgcGFzc2VzIGlmIHRoZSBzZWxlY3Rpb24gYmFja2dyb3VuZCBpcyBibGFj
azwvZGl2PgorICAgIDxkaXYgaWQ9IkIiPlRlc3QgcGFzc2VzIGlmIHRoZSBzZWxlY3Rpb24gYmFj
a2dyb3VuZCBpcyBncmVlbjwvZGl2PgorPC9ib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHZh
ciBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXTsKKyAgICAg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKGJvZHkpOworICAgIDwv
c2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>