<?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>41885</bug_id>
          
          <creation_ts>2010-07-08 11:50:44 -0700</creation_ts>
          <short_desc>Add a Plugin abstract base class and a DummyPlugin that implements it</short_desc>
          <delta_ts>2010-07-14 11:29:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>248389</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-08 11:50:44 -0700</bug_when>
    <thetext>Add a Plugin abstract base class and a DummyPlugin that implements it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248393</commentid>
    <comment_count>1</comment_count>
      <attachid>60920</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-08 11:52:40 -0700</bug_when>
    <thetext>Created attachment 60920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248398</commentid>
    <comment_count>2</comment_count>
      <attachid>60920</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-07-08 11:55:35 -0700</bug_when>
    <thetext>Comment on attachment 60920
Patch

&gt; +    virtual void initialize(const WebCore::String&amp; mimeType, const WebCore::KURL&amp;, bool loadManually);
&gt; +    virtual void destroy();
&gt; +    virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&amp; dirtyRect);
&gt; +    virtual void geometryDidChange(const WebCore::IntRect&amp; frameRect);
&gt; +    
&gt; +};
Extra newline&apos;

&gt; +};

Extra semicolon.

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251310</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-14 11:29:13 -0700</bug_when>
    <thetext>Committed r62813: &lt;http://trac.webkit.org/changeset/62813&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60920</attachid>
            <date>2010-07-08 11:52:40 -0700</date>
            <delta_ts>2010-07-08 11:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41885-20100708115239.patch</filename>
            <type>text/plain</type>
            <size>20332</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
MDI5MmE0YTQyYmFkMmYyZDJkMzM5NTVkZDA1ODQ0ZjA4MzliN2Y0MS4uNTMyOTJlNzY4NjlmZTJm
YjM4MGE5ZTQ5NGRlYWMxMzQxN2EzYWEzMiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOSBAQAogMjAxMC0wNy0wOCAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIFBsdWdpbiBhYnN0cmFjdCBiYXNlIGNs
YXNzIGFuZCBhIER1bW15UGx1Z2luIHRoYXQgaW1wbGVtZW50cyBpdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4ODUKKworICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIGZpbGVzLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL0R1bW15UGx1Z2luLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OkR1bW15UGx1Z2luOjpwYWludCk6CisgICAgICAgIFBhaW50IGEgcmVkIHJlY3Rh
bmdsZS4KKyAgICAgICAgCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHA6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaDogQWRkZWQuCisg
ICAgICAgIEFkZCBQbHVnaW4sIGFuIGFic3RyYWN0IGJhc2VjbGFzcy4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
Vmlldzo6UGx1Z2luVmlldyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6On5QbHVnaW5W
aWV3KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmlldzo6cGFpbnQpOgorICAgICAgICAoV2Vi
S2l0OjpQbHVnaW5WaWV3Ojp2aWV3R2VvbWV0cnlEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmg6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OmNyZWF0ZSk6CisgICAgICAgIEFkZCBhIFBsdWdpbiBtZW1iZXIgZnVuY3Rpb24gYW5kIGZvcndh
cmQgUGx1Z2luVmlldyBjYWxscyB0byBpdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlUGx1Z2luKToKKyAgICAgICAgTWFrZSBhIER1bW15UGx1
Z2luIGFuZCBwYXNzIGl0IHRvIHRoZSBQbHVnaW5WaWV3LgorCisgICAgICAgICogd2luL1dlYktp
dDIudmNwcm9qOgorICAgICAgICBBZGQgZmlsZXMuCisgICAgICAgIAorMjAxMC0wNy0wOCAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5
IFNhbSBXZWluaWcuCiAKICAgICAgICAgQWRkIHN0dWJiZWQgb3V0IFBsdWdpblZpZXcgY2xhc3MK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2ViYTFkYjVj
NzRhM2M4NDA4ZmY1NzFkNjQ2MzQwODg3ZmQ1YTVhZi4uM2U1YmFhMTM3OTAwYzI0YTk4ZWE2MWQw
MDM2NzY0Y2NkZGQxYzY2MiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTQ4LDYgKzQ4LDEwIEBACiAJCTFBNkZBMzE2MTFFMzkyMzYwMERCMTM3MSAvKiBX
ZWJLaXRNYWluLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBNkZBMzE1MTFFMzkyMzYwMERCMTM3MSAvKiBXZWJLaXRNYWluLmNwcCAqLzsgfTsKIAkJ
MUE2RkI3QUUxMUU2NEI2ODAwREIxMzcxIC8qIFBsdWdpblZpZXcuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RkI3QUMxMUU2NEI2ODAwREIxMzcx
IC8qIFBsdWdpblZpZXcuY3BwICovOyB9OwogCQkxQTZGQjdBRjExRTY0QjY4MDBEQjEzNzEgLyog
UGx1Z2luVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE2RkI3QUQxMUU2NEI2ODAwREIxMzcxIC8qIFBsdWdpblZpZXcuaCAqLzsgfTsKKwkJMUE2
RkI3RDIxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTZGQjdEMDExRTY1MUUyMDBEQjEzNzEgLyogUGx1
Z2luLmNwcCAqLzsgfTsKKwkJMUE2RkI3RDMxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RkI3RDExMUU2
NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oICovOyB9OworCQkxQTZGQjdFNjExRTY1MzA1MDBEQjEz
NzEgLyogRHVtbXlQbHVnaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBNkZCN0U0MTFFNjUzMDUwMERCMTM3MSAvKiBEdW1teVBsdWdpbi5oICovOyB9
OworCQkxQTZGQjdFNzExRTY1MzA1MDBEQjEzNzEgLyogRHVtbXlQbHVnaW4uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RkI3RTUxMUU2NTMwNTAw
REIxMzcxIC8qIER1bW15UGx1Z2luLmNwcCAqLzsgfTsKIAkJMUFBMUNDNUQxMDBGQTFBMTAwNzhE
RUJDIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBMUNDNUMxMDBGQTFBMTAwNzhERUJDIC8qIFF1YXJ0ekNv
cmUuZnJhbWV3b3JrICovOyB9OwogCQkxQUExQ0QwNzEwMEZBMUJBMDA3OERFQkMgLyogQ2FyYm9u
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBQTFDRDA2MTAwRkExQkEwMDc4REVCQyAvKiBDYXJib24uZnJhbWV3b3JrICovOyB9Owog
CQkxQUFERTZGRjEwRDg1NUZDMDBEM0Q2M0QgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFE
RTZGRTEwRDg1NUZDMDBEM0Q2M0QgLyogQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsgKi87
IH07CkBAIC0zMDIsOCArMzA2LDEyIEBACiAJCTFBNkZBMDFGMTFFMTUyODcwMERCMTM3MSAvKiBX
ZWJQcm9jZXNzTWFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcm9j
ZXNzTWFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTZGQTMxMDExRTM5MjFF
MDBEQjEzNzEgLyogTWFpbk1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBNYWluTWFjLmNwcDsgcGF0aCA9IG1hYy9NYWluTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUE2RkEzMTUxMUUzOTIzNjAwREIxMzcxIC8qIFdlYktpdE1haW4uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TWFpbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNkZCN0FDMTFFNjRCNjgwMERCMTM3MSAvKiBQ
bHVnaW5WaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFBsdWdp
blZpZXcuY3BwOyBwYXRoID0gUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJMUE2RkI3QUQxMUU2NEI2ODAwREIxMzcxIC8qIFBsdWdpblZpZXcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGx1Z2luVmlldy5oOyBwYXRoID0gUGx1
Z2lucy9QbHVnaW5WaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBNkZCN0FD
MTFFNjRCNjgwMERCMTM3MSAvKiBQbHVnaW5WaWV3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBsdWdpblZpZXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQTZGQjdBRDExRTY0QjY4MDBEQjEzNzEgLyogUGx1Z2luVmlldy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5WaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFBNkZCN0QwMTFFNjUxRTIwMERCMTM3MSAvKiBQbHVnaW4uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMUE2RkI3RDExMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMUE2RkI3RTQxMUU2NTMwNTAwREIxMzcxIC8qIER1bW15UGx1Z2luLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bW15UGx1Z2luLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTFBNkZCN0U1MTFFNjUzMDUwMERCMTM3MSAvKiBEdW1teVBsdWdp
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEdW1teVBsdWdpbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQTFDNzlBMTAwRTdGQzUwMDc4REVC
QyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gV2ViQ29yZS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFBQTFDN0RFMTAwRTg0
NkUwMDc4REVCQyAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9
IEphdmFTY3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKIAkJMUFBMUNDNUMxMDBGQTFBMTAwNzhERUJDIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3Jr
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBl
ci5mcmFtZXdvcms7IG5hbWUgPSBRdWFydHpDb3JlLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ekNvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxh
YnNvbHV0ZT4iOyB9OwpAQCAtNjE5LDEwICs2MjcsMTQgQEAKIAkJMUE2RkI3QUExMUU2NEI0OTAw
REIxMzcxIC8qIFBsdWdpbnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTFBNkZCN0U1MTFFNjUzMDUwMERCMTM3MSAvKiBEdW1teVBsdWdpbi5jcHAgKi8s
CisJCQkJMUE2RkI3RTQxMUU2NTMwNTAwREIxMzcxIC8qIER1bW15UGx1Z2luLmggKi8sCisJCQkJ
MUE2RkI3RDAxMUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5jcHAgKi8sCisJCQkJMUE2RkI3RDEx
MUU2NTFFMjAwREIxMzcxIC8qIFBsdWdpbi5oICovLAogCQkJCTFBNkZCN0FDMTFFNjRCNjgwMERC
MTM3MSAvKiBQbHVnaW5WaWV3LmNwcCAqLywKIAkJCQkxQTZGQjdBRDExRTY0QjY4MDBEQjEzNzEg
LyogUGx1Z2luVmlldy5oICovLAogCQkJKTsKLQkJCW5hbWUgPSBQbHVnaW5zOworCQkJcGF0aCA9
IFBsdWdpbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQkxQTdFODE0RTEx
NTJEMjI0MDAwMzY5NUIgLyogbWFjICovID0gewpAQCAtMTE3MCw2ICsxMTgyLDggQEAKIAkJCQlC
QzcyQjlGQjExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNzJCQTFFMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2Fy
ZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNkZCN0FGMTFFNjRCNjgwMERCMTM3MSAvKiBQ
bHVnaW5WaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQTZGQjdEMzExRTY1MUUyMDBEQjEzNzEg
LyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQTZGQjdFNjExRTY1MzA1MDBEQjEzNzEg
LyogRHVtbXlQbHVnaW4uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTM1Miw2ICsxMzY2LDggQEAKIAkJ
CQlCQzcyQjlGQTExRTY0NzZCMDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3MkJBMUQxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tG
b3J3YXJkTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTZGQjdBRTExRTY0QjY4MDBEQjEz
NzEgLyogUGx1Z2luVmlldy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQTZGQjdEMjExRTY1MUUy
MDBEQjEzNzEgLyogUGx1Z2luLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBNkZCN0U3MTFFNjUz
MDUwMERCMTM3MSAvKiBEdW1teVBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0R1bW15UGx1Z2luLmNwcCBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL0R1bW15UGx1Z2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTQzMzZkMTI2ZjUy
MWM0ZWU4OWQyNzQ1MDQ0NTAyMTU3MjkwOWUzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4uY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiRHVtbXlQbHVnaW4uaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvR3Jh
cGhpY3NDb250ZXh0Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworRHVtbXlQbHVnaW46OkR1bW15UGx1Z2luKCkKK3sKK30KKwordm9pZCBEdW1t
eVBsdWdpbjo6aW5pdGlhbGl6ZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBLVVJMJiwg
Ym9vbCBsb2FkTWFudWFsbHkpCit7Cit9CisgICAgCit2b2lkIER1bW15UGx1Z2luOjpkZXN0cm95
KCkKK3sKK30KKyAgICAKK3ZvaWQgRHVtbXlQbHVnaW46OnBhaW50KEdyYXBoaWNzQ29udGV4dCog
Y29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQoreworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBDR0NvbnRleHRSZWYgY2dDb250ZXh0ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7
CisgICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjZ0NvbnRleHQpOworICAgIAorICAgIENHQ29sb3JS
ZWYgcmVkQ29sb3IgPSBDR0NvbG9yQ3JlYXRlR2VuZXJpY1JHQigxLCAwLCAwLCAxKTsKKyAgICBD
R0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY2dDb250ZXh0LCByZWRDb2xvcik7CisgICAg
Q0dDb250ZXh0RmlsbFJlY3QoY2dDb250ZXh0LCBkaXJ0eVJlY3QpOworICAgIENHQ29sb3JSZWxl
YXNlKHJlZENvbG9yKTsKKyNlbmRpZiAgICAKK30KKyAgICAKK3ZvaWQgRHVtbXlQbHVnaW46Omdl
b21ldHJ5RGlkQ2hhbmdlKGNvbnN0IEludFJlY3QmIGZyYW1lUmVjdCkKK3sKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9E
dW1teVBsdWdpbi5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NWI5YzU5OTk2YzhkMDcwMWRhYWFhYzEzYTdhZDAxM2QwYmUzMzFjCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvRHVtbXlQbHVnaW4uaApA
QCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEdW1teVBsdWdpbl9oCisjZGVm
aW5lIER1bW15UGx1Z2luX2gKKworI2luY2x1ZGUgIlBsdWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBEdW1teVBsdWdpbiA6
IHB1YmxpYyBQbHVnaW4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPER1bW15UGx1
Z2luPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEdW1teVBs
dWdpbik7CisgICAgfQorCitwcml2YXRlOgorICAgIER1bW15UGx1Z2luKCk7CisKKyAgICAvLyBQ
bHVnaW4KKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBXZWJDb3JlOjpTdHJpbmcm
IG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgYm9vbCBsb2FkTWFudWFsbHkpOworICAg
IHZpcnR1YWwgdm9pZCBkZXN0cm95KCk7CisgICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCk7Cisg
ICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGZyYW1lUmVjdCk7CisgICAgCit9OworfTsKKworI2VuZGlmIC8vIER1bW15UGx1Z2luX2gKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHAgYi9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyNjUwZTBhYzRiYTgy
YmVkZTExN2RjN2RlOGIxZmQ0NzAwZjNlMDYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uY3BwCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiUGx1Z2luLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1l
c3BhY2UgV2ViS2l0IHsKKworUGx1Z2luOjpQbHVnaW4oKQoreworfQorCitQbHVnaW46On5QbHVn
aW4oKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAzNTcxYzM0Mzk2ZmIzYWU2YTg2Y2U4ZmEyMzRmOTkwNzk5
MjczYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bi5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsdWdpbl9oCisjZGVm
aW5lIFBsdWdpbl9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OworICAgIGNsYXNzIEludFJlY3Q7
CisgICAgY2xhc3MgS1VSTDsKKyAgICBjbGFzcyBTdHJpbmc7Cit9CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitjbGFzcyBQbHVnaW4gOiBwdWJsaWMgUmVmQ291bnRlZDxQbHVnaW4+IHsKK3B1Ymxp
YzoKKyAgICB2aXJ0dWFsIH5QbHVnaW4oKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlh
bGl6ZShjb25zdCBXZWJDb3JlOjpTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpLVVJM
JiwgYm9vbCBsb2FkTWFudWFsbHkpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveSgpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgZGlydHlSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGdl
b21ldHJ5RGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZyYW1lUmVjdCkgPSAwOwor
Citwcm90ZWN0ZWQ6CisgICAgUGx1Z2luKCk7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBQbHVnaW5faApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmNwcAppbmRleCBmOTdhNjQwZmJlNjlhM2Y3NTg4NGZkZDBiYmMwYjI4OWRjMzA1Yjc5
Li44YWYyMjM4OWYyYmUwODFmNDk4OWMwZjFkYzQwYzkyNDdiYmEzZDZkIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtMzIsMTIgKzMyLDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUGx1Z2luVmlldzo6
UGx1Z2luVmlldygpCitQbHVnaW5WaWV3OjpQbHVnaW5WaWV3KFBhc3NSZWZQdHI8UGx1Z2luPiBw
bHVnaW4pCisgICAgOiBtX3BsdWdpbihwbHVnaW4pCiB7CiB9CiAKIFBsdWdpblZpZXc6On5QbHVn
aW5WaWV3KCkKIHsKKyAgICBtX3BsdWdpbi0+ZGVzdHJveSgpOwogfQogCiB2b2lkIFBsdWdpblZp
ZXc6OnNldEZyYW1lUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQpAQCAtNTUsMTkg
KzU3LDEyIEBAIHZvaWQgUGx1Z2luVmlldzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiAgICAgaWYgKHBhaW50UmVjdC5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybjsKIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBDR0NvbnRleHRSZWYg
Y2dDb250ZXh0ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7Ci0gICAgQ0dDb250ZXh0U2F2
ZUdTdGF0ZShjZ0NvbnRleHQpOwotICAgIAotICAgIENHQ29sb3JSZWYgcmVkQ29sb3IgPSBDR0Nv
bG9yQ3JlYXRlR2VuZXJpY1JHQigxLCAwLCAwLCAxKTsKLSAgICBDR0NvbnRleHRTZXRGaWxsQ29s
b3JXaXRoQ29sb3IoY2dDb250ZXh0LCByZWRDb2xvcik7Ci0gICAgQ0dDb250ZXh0RmlsbFJlY3Qo
Y2dDb250ZXh0LCBwYWludFJlY3QpOwotICAgIENHQ29sb3JSZWxlYXNlKHJlZENvbG9yKTsKLSNl
bmRpZiAKKyAgICBtX3BsdWdpbi0+cGFpbnQoY29udGV4dCwgcGFpbnRSZWN0KTsKIH0KIAogdm9p
ZCBQbHVnaW5WaWV3Ojp2aWV3R2VvbWV0cnlEaWRDaGFuZ2UoKQogeworICAgIG1fcGx1Z2luLT5n
ZW9tZXRyeURpZENoYW5nZShmcmFtZVJlY3QoKSk7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6aW52
YWxpZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmgKaW5kZXggZDAwNDQwY2E4Y2JhZTIyNTNkNjI3ZjIwZGYyZjYyOTk5NzIxNWU1Mi4u
Y2FjN2YxMmUwN2UxNzZkOTQyYmEzNmYzNDQyYTYzNzdmMGUxYjIzZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtMzYsMTMgKzM2LDEzIEBAIGNsYXNzIFBsdWdp
bjsKIAogY2xhc3MgUGx1Z2luVmlldyA6IHB1YmxpYyBXZWJDb3JlOjpXaWRnZXQgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsdWdpblZpZXc+IGNyZWF0ZSgpCisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGx1Z2luVmlldz4gY3JlYXRlKFBhc3NSZWZQdHI8UGx1Z2luPiBwbHVnaW4p
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBsdWdpblZpZXcoKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGx1Z2luVmlldyhwbHVnaW4pKTsKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgUGx1Z2luVmlldygpOworICAgIFBsdWdpblZpZXcoUGFzc1JlZlB0cjxQbHVn
aW4+KTsKICAgICB2aXJ0dWFsIH5QbHVnaW5WaWV3KCk7CiAKICAgICB2b2lkIHZpZXdHZW9tZXRy
eURpZENoYW5nZSgpOwpAQCAtNTEsNiArNTEsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRGcmFtZVJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
Jik7CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKKyAgICAKKyAgICBSZWZQdHI8UGx1Z2luPiBtX3BsdWdpbjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNGJjYzA0ODhlYTRhOWU2YmIw
NDliMzU3NmZmZGM2YzFhMjMyM2Y4Ni4uMGYwOTRjNDRiYjFhZWE2NjdlNDIyNmNjOTg3ZmM1MTEx
NzA2NDllZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNs
dWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogCisjaW5jbHVkZSAiRHVtbXlQbHVnaW4uaCIK
ICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTc2Niw3ICs3NjcsMTAgQEAgdm9p
ZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVu
dCgpCiBQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZVBsdWdp
bihjb25zdCBJbnRTaXplJiwgSFRNTFBsdWdJbkVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYsIGJv
b2wgbG9hZE1hbnVhbGx5KQogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIFBs
dWdpblZpZXc6OmNyZWF0ZSgpOworICAgIAorICAgIFJlZlB0cjxEdW1teVBsdWdpbj4gcGx1Z2lu
ID0gRHVtbXlQbHVnaW46OmNyZWF0ZSgpOworCisgICAgcmV0dXJuIFBsdWdpblZpZXc6OmNyZWF0
ZShwbHVnaW4ucmVsZWFzZSgpKTsKIH0KIAogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVk
aXJlY3REYXRhVG9QbHVnaW4oV2lkZ2V0KiBwbHVnaW5XaWRnZXQpCmRpZmYgLS1naXQgYS9XZWJL
aXQyL3dpbi9XZWJLaXQyLnZjcHJvaiBiL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCmluZGV4
IGM3MjliMzY5MDAzYjVhN2QwNDQ5ZmI1ZmNkYmU2OTY3M2VlMmZjOGEuLmE1ZTU0MTI2M2M4NzA3
NjU0OGI5NmUyNTkyMTlkMGFlMTczYTc2MDQgMTAwNzU1Ci0tLSBhL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qCisrKyBiL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCkBAIC04MjQsNiArODI0
LDIyIEBACiAJCQkJTmFtZT0iUGx1Z2lucyINCiAJCQkJPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFBsdWdpbnNcRHVtbXlQbHVnaW4uY3BwIg0KKwkJCQkJ
Pg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlBy
b2Nlc3NcUGx1Z2luc1xEdW1teVBsdWdpbi5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJ
CTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcUGx1Z2luc1xQbHVnaW4u
Y3BwIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFdlYlByb2Nlc3NcUGx1Z2luc1xQbHVnaW4uaCINCisJCQkJCT4NCisJCQkJPC9GaWxl
Pg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFBsdWdpbnNc
UGx1Z2luVmlldy5jcHAiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCg==
</data>
<flag name="review"
          id="48756"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>