<?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>22549</bug_id>
          
          <creation_ts>2008-11-28 18:07:59 -0800</creation_ts>
          <short_desc>Add WML &lt;do&gt; element support.</short_desc>
          <delta_ts>2008-11-28 18:52:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100653</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:07:59 -0800</bug_when>
    <thetext>Add &lt;do&gt; element support, a general task element container element. Until now only &lt;anchor&gt; supported &lt;go&gt;/&lt;prev&gt;/&lt;refresh&gt; task child elements, &lt;do&gt; provides a way to register a task to a &lt;template&gt;/&lt;card&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100654</commentid>
    <comment_count>1</comment_count>
      <attachid>25578</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:10:43 -0800</bug_when>
    <thetext>Created attachment 25578
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100656</commentid>
    <comment_count>2</comment_count>
      <attachid>25579</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:34:11 -0800</bug_when>
    <thetext>Created attachment 25579
Updated patch

Incorporate comments from Holger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100657</commentid>
    <comment_count>3</comment_count>
      <attachid>25580</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:34:36 -0800</bug_when>
    <thetext>Created attachment 25580
Layout test results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100658</commentid>
    <comment_count>4</comment_count>
      <attachid>25580</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-28 18:41:36 -0800</bug_when>
    <thetext>Comment on attachment 25580
Layout test results

Okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100659</commentid>
    <comment_count>5</comment_count>
      <attachid>25579</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-11-28 18:46:10 -0800</bug_when>
    <thetext>Comment on attachment 25579
Updated patch


&gt; +2008-11-28  Nikolas Zimmermann  &lt;nikolas.zimmermann@torchmobile.com&gt;
&gt; +
&gt; +        Reviewed by Holger Freyther

^^ haha ;)

&gt; +void WMLDoElement::defaultEventHandler(Event* event)

I assume that you look at the right events?! But if you don&apos;t I&apos;m pretty sure you will find that out sooner than later.

&gt; +
&gt; +    Node* parent = parentNode();
&gt; +    ASSERT(parent);
&gt; +
&gt; +    if (!parent || !parent-&gt;isWMLElement())
&gt; +        return;

Before landing decide if the parentNode might be zero or not and then remove the assert or the !parent from the if?

&gt; +    bool m_isOption;

maybe call it m_isOptional? but that is optional...


from a grep in the source tree it looks like you uncommented all doTag users...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100660</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:50:29 -0800</bug_when>
    <thetext>&gt; &gt; +
&gt; &gt; +        Reviewed by Holger Freyther
&gt; 
&gt; ^^ haha ;)
Psst :-)

&gt; 
&gt; &gt; +void WMLDoElement::defaultEventHandler(Event* event)
&gt; 
&gt; I assume that you look at the right events?! But if you don&apos;t I&apos;m pretty sure
&gt; you will find that out sooner than later.
Yes, we&apos;ll find out soon - it worked this way in the internal codebase, so maybe it&apos;s correct as is already :-)

&gt; 
&gt; &gt; +
&gt; &gt; +    Node* parent = parentNode();
&gt; &gt; +    ASSERT(parent);
&gt; &gt; +
&gt; &gt; +    if (!parent || !parent-&gt;isWMLElement())
&gt; &gt; +        return;
&gt; 
&gt; Before landing decide if the parentNode might be zero or not and then remove
&gt; the assert or the !parent from the if?
Ok, as we discussed on IRC, there are 6 other places with exactly the same snippet. Will clean that up in another patch for all of them.
 
&gt; &gt; +    bool m_isOption;
&gt; 
&gt; maybe call it m_isOptional? but that is optional...
Done.

&gt; from a grep in the source tree it looks like you uncommented all doTag users...
Yes.

Thanks for the review, landing soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100661</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-11-28 18:52:25 -0800</bug_when>
    <thetext>Landed in r38837.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25578</attachid>
            <date>2008-11-28 18:10:43 -0800</date>
            <delta_ts>2008-11-28 18:34:11 -0800</delta_ts>
            <desc>Initial patch</desc>
            <filename>AddDoElement.diff</filename>
            <type>text/plain</type>
            <size>17998</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMDgtMTEt
MjggIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZXM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU0OQorCisgICAg
ICAgIEFkZCA8ZG8+IGVsZW1lbnQgc3VwcG9ydC4gSXQgcHJvdmlkZXMgYSB3YXkgdG8gYmluZCBh
IHRhc2sgZWxlbWVudCB0byBhIDx0ZW1wbGF0ZT4vPGNhcmQ+IGVsZW1lbnQuIAorICAgICAgICBD
aGFuZ2VzIG51bWVyb3VzIG9mIGxheW91dCB0ZXN0cyB3aGljaCBjb250YWluIDxkbz4gZWxlbWVu
dHMsIGFzIHRoZXkgcmVuZGVyIGFzIGJ1dHRvbnMgbm93LgorCisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCdXR0
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQnV0dG9uOjp1cGRhdGVGcm9tRWxlbWVu
dCk6CisgICAgICAgICogd21sL1dNTENhcmRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldNTENhcmRFbGVtZW50OjpyZWdpc3RlckRvRWxlbWVudCk6CisgICAgICAgICogd21sL1dNTENh
cmRFbGVtZW50Lmg6CisgICAgICAgICogd21sL1dNTERvRWxlbWVudC5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6V01MRG9FbGVtZW50OjpXTUxEb0VsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6V01MRG9FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OldNTERvRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V01MRG9FbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpXTUxEb0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiB3bWwvV01MRG9FbGVt
ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V01MRG9FbGVtZW50OjpyZWdpc3RlclRh
c2spOgorICAgICAgICAoV2ViQ29yZTo6V01MRG9FbGVtZW50Ojppc0FjdGl2ZSk6CisgICAgICAg
IChXZWJDb3JlOjpXTUxEb0VsZW1lbnQ6OmxhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OldNTERv
RWxlbWVudDo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpXTUxEb0VsZW1lbnQ6OnNldEFjdGl2
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXTUxEb0VsZW1lbnQ6OnNldE5vb3ApOgorICAgICAgICAq
IHdtbC9XTUxOb29wRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXTUxOb29wRWxlbWVu
dDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxUYWdOYW1lcy5pbjoK
KyAgICAgICAgKiB3bWwvV01MVGFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V01M
VGFza0VsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KToKKwogMjAwOC0xMS0yOCAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8bmlrb2xhcy56aW1tZXJtYW5uQHRvcmNobW9iaWxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMzg4MzMpCisrKyBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDggQEAKIAkJMDZFODFFRUMwQUI1REE5NzAw
Qzg3ODM3IC8qIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2RTgxRUVCMEFCNURBOTcwMEM4NzgzNyAv
KiBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQubW0gKi87IH07CiAJCTA4MDA4MTk2MEVEM0Iy
REQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MDA4MTk0MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxB
bmNob3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDgwMDgxOTcwRUQzQjJERDAwQzUzQkMwIC8qIFdN
TEFuY2hvckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmggKi87
IH07CisJCTA4MDRCRjZFMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNEJGNkMwRUUwOUMz
QjAwMDZDMDAwIC8qIFdNTERvRWxlbWVudC5jcHAgKi87IH07CisJCTA4MDRCRjZGMEVFMDlDM0Iw
MDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4MDRCRjZEMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQu
aCAqLzsgfTsKIAkJMDgwQUVDODEwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MEFF
QzdEMEVEODcwOEEwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5jcHAgKi87IH07CiAJCTA4
MEFFQzgyMEVEODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDN0UwRUQ4NzA4QjAwREY0
Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmggKi87IH07CiAJCTA4MEFFQzgzMEVEODcwOEIwMERG
NENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDN0YwRUQ4NzA4QjAwREY0Q0NFIC8qIFdN
TEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAgKi87IH07CkBAIC00ODEzLDYgKzQ4MTUsOCBAQAog
CQkwNkU4MUVFQjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwMDgx
OTQwRUQzQjJERDAwQzUzQkMwIC8qIFdNTEFuY2hvckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MQW5jaG9yRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA4MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JF
bGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEFuY2hvckVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDgwNEJGNkMwRUUwOUMzQjAwMDZD
MDAwIC8qIFdNTERvRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXTUxEb0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODA0
QkY2RDBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdNTERvRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwODBBRUM3RDBFRDg3MDhBMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MSW50cmluc2ljRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODBBRUM3RTBFRDg3MDhCMDBERjRDQ0Ug
LyogV01MSW50cmluc2ljRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V01MSW50cmluc2ljRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwQUVD
N0YwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTUyMyw2ICs5NTI3LDggQEAKIAkJ
CQk0QzZCOTkyMDBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2FyZEVsZW1lbnQuaCAqLywKIAkJCQk0
QzZCOTkyMTBFNTJFMzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuY3BwICovLAogCQkJCTRDNkI5
OTIyMEU1MkUzNzMwMDQ4N0JCNyAvKiBXTUxEb2N1bWVudC5oICovLAorCQkJCTA4MDRCRjZDMEVF
MDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwICovLAorCQkJCTA4MDRCRjZEMEVFMDlD
M0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuaCAqLywKIAkJCQk0QzZCOTkyNTBFNTJFMzczMDA0
ODdCQjcgLyogV01MRWxlbWVudC5jcHAgKi8sCiAJCQkJNEM2Qjk5MjYwRTUyRTM3MzAwNDg3QkI3
IC8qIFdNTEVsZW1lbnQuaCAqLywKIAkJCQkwOEUxOTI1MTBFREUwQzM5MDA4N0I3ODAgLyogV01M
RXJyb3JIYW5kbGluZy5jcHAgKi8sCkBAIC0xNjQ0NSw2ICsxNjQ1MSw3IEBACiAJCQkJMDgxOEFF
RTMwRURCODZCQzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwODY1Q0NFNzBFRERGNTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTA4RTE5MjU0MEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhh
bmRsaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQkwODA0QkY2RjBFRTA5QzNCMDAwNkMwMDAgLyog
V01MRG9FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE4MzgyLDYgKzE4Mzg5LDcgQEAKIAkJ
CQkwODE4QUVFMjBFREI4NkJDMDA2NDdCNjYgLyogV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDg2NUNDRTYwRURERjUxQjAwREY5RUMzIC8qIFdNTE5vb3BF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA4RTE5MjUzMEVERTBDM0EwMDg3Qjc4MCAv
KiBXTUxFcnJvckhhbmRsaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA4MDRCRjZFMEVFMDlD
M0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiByZW5k
ZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmNwcAkocmV2aXNpb24gMzg4MzMpCisrKyByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMTEgQEAKICNpbmNsdWRlICJSZW5kZXJUZXh0RnJh
Z21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCisjaWYgRU5BQkxFKFdNTCkKKyNp
bmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJXTUxOYW1lcy5oIgorI2VuZGlmCisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTEw
NSw2ICsxMTAsMTkgQEAgdm9pZCBSZW5kZXJCdXR0b246OnVwZGF0ZUZyb21FbGVtZW50KCkKICAg
ICAgICAgU3RyaW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlV2l0aERlZmF1bHQoKTsKICAgICAgICAg
c2V0VGV4dCh2YWx1ZSk7CiAgICAgfQorCisKKyNpZiBFTkFCTEUoV01MKQorICAgIGVsc2UgaWYg
KGVsZW1lbnQoKS0+aGFzVGFnTmFtZShXTUxOYW1lczo6ZG9UYWcpKSB7CisgICAgICAgIFdNTERv
RWxlbWVudCogZG9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8V01MRG9FbGVtZW50Kj4oZWxlbWVudCgp
KTsKKworICAgICAgICBTdHJpbmcgdmFsdWUgPSBkb0VsZW1lbnQtPmxhYmVsKCk7CisgICAgICAg
IGlmICh2YWx1ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICB2YWx1ZSA9IGRvRWxlbWVudC0+bmFt
ZSgpOworCisgICAgICAgIHNldFRleHQodmFsdWUpOworICAgIH0KKyNlbmRpZgogfQogCiBib29s
IFJlbmRlckJ1dHRvbjo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKSW5kZXg6IHdtbC9XTUxDYXJk
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTENhcmRFbGVtZW50LmNwcAkocmV2aXNp
b24gMzg4MzMpCisrKyB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw2ICszMSw4IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgi
CiAjaW5jbHVkZSAiV01MRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKKyNp
bmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiV01MSW50cmluc2ljRXZlbnRI
YW5kbGVyLmgiCiAjaW5jbHVkZSAiV01MTmFtZXMuaCIKICNpbmNsdWRlICJXTUxQYWdlU3RhdGUu
aCIKQEAgLTUyLDYgKzU0LDIyIEBAIFdNTENhcmRFbGVtZW50Ojp+V01MQ2FyZEVsZW1lbnQoKQog
ewogfQogCit2b2lkIFdNTENhcmRFbGVtZW50OjpyZWdpc3RlckRvRWxlbWVudChXTUxEb0VsZW1l
bnQqIGRvRWxlbWVudCkKK3sKKyAgICBWZWN0b3I8V01MRG9FbGVtZW50Kj46Oml0ZXJhdG9yIGl0
ID0gbV9kb0VsZW1lbnRzLmJlZ2luKCk7CisgICAgVmVjdG9yPFdNTERvRWxlbWVudCo+OjppdGVy
YXRvciBlbmQgPSBtX2RvRWxlbWVudHMuZW5kKCk7CisKKyAgICBmb3IgKDsgaXQgIT0gZW5kOyAr
K2l0KSB7CisgICAgICAgIGlmIChzdGF0aWNfY2FzdDxXTUxEb0VsZW1lbnQqPigqaXQpLT5uYW1l
KCkgPT0gZG9FbGVtZW50LT5uYW1lKCkpIHsKKyAgICAgICAgICAgIHJlcG9ydFdNTEVycm9yKGRv
Y3VtZW50KCksIFdNTEVycm9yRHVwbGljYXRlZERvRWxlbWVudCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtX2RvRWxlbWVudHMuYXBwZW5kKGRvRWxlbWVu
dCk7CisgICAgZG9FbGVtZW50LT5zZXRBY3RpdmUodHJ1ZSk7Cit9CisKIHZvaWQgV01MQ2FyZEVs
ZW1lbnQ6OmhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQoKQogewogICAgIFdNTFBhZ2VTdGF0
ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQoKSk7CkluZGV4
OiB3bWwvV01MQ2FyZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3bWwvV01MQ2FyZEVsZW1lbnQu
aAkocmV2aXNpb24gMzg4MzMpCisrKyB3bWwvV01MQ2FyZEVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjUsOCArMjUsMTIgQEAKICNpZiBFTkFCTEUoV01MKQogI2luY2x1ZGUgIldNTEV2ZW50
SGFuZGxpbmdFbGVtZW50LmgiCiAKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgV01MRG9FbGVtZW50OworCiBjbGFzcyBXTUxDYXJkRWxlbWVu
dCA6IHB1YmxpYyBXTUxFdmVudEhhbmRsaW5nRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgV01MQ2Fy
ZEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkBAIC0zNSw2ICszOSw3
IEBAIHB1YmxpYzoKICAgICBib29sIGlzTmV3Q29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faXNO
ZXdDb250ZXh0OyB9CiAgICAgYm9vbCBpc09yZGVyZWQoKSBjb25zdCB7IHJldHVybiBtX2lzT3Jk
ZXJlZDsgfQogCisgICAgdm9pZCByZWdpc3RlckRvRWxlbWVudChXTUxEb0VsZW1lbnQqKTsKICAg
ICB2b2lkIGhhbmRsZUludHJpbnNpY0V2ZW50SWZOZWVkZWQoKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKQEAgLTUyLDYgKzU3LDgg
QEAgcHJpdmF0ZToKICAgICBib29sIG1faXNOZXdDb250ZXh0OwogICAgIGJvb2wgbV9pc09yZGVy
ZWQ7CiAgICAgYm9vbCBtX2lzVmlzaWJsZTsKKworICAgIFZlY3RvcjxXTUxEb0VsZW1lbnQqPiBt
X2RvRWxlbWVudHM7CiB9OwogCiB9CkluZGV4OiB3bWwvV01MRG9FbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSB3bWwvV01MRG9FbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIHdtbC9XTUxEb0Vs
ZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2MSBAQAorLyoqCisgKiBDb3B5cmln
aHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAg
ICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTERvRWxlbWVudC5oIgorCisj
aW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCisjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJSZW5kZXJCdXR0b24uaCIKKyNpbmNsdWRlICJXTUxDYXJkRWxlbWVudC5oIgor
I2luY2x1ZGUgIldNTERvY3VtZW50LmgiCisjaW5jbHVkZSAiV01MRXJyb3JIYW5kbGluZy5oIgor
I2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCisjaW5jbHVkZSAiV01MTmFtZXMuaCIKKyNpbmNs
dWRlICJXTUxQYWdlU3RhdGUuaCIKKyNpbmNsdWRlICJXTUxWYXJpYWJsZXMuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgV01MTmFtZXM7CisKK1dNTERvRWxlbWVu
dDo6V01MRG9FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2MpCisgICAgOiBXTUxFbGVtZW50KHRhZ05hbWUsIGRvYykKKyAgICAsIG1faXNBY3RpdmUoZmFs
c2UpCisgICAgLCBtX2lzTm9vcChmYWxzZSkKKyAgICAsIG1faXNPcHRpb24oZmFsc2UpCit7Cit9
CisKK3ZvaWQgV01MRG9FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkK
K3sKKyAgICBpZiAobV9pc09wdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgYm9vbCBzaG91
bGRIYW5kbGUgPSBmYWxzZTsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCku
Y2xpY2tFdmVudCkKKyAgICAgICAgc2hvdWxkSGFuZGxlID0gdHJ1ZTsKKyAgICBlbHNlIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KQorICAgICAgICBXTUxF
bGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2ZW50KTsKKyAgICBlbHNlIGlmIChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQKKyAgICAgICAgICAgICAmJiBldmVu
dC0+aXNLZXlib2FyZEV2ZW50KCkKKyAgICAgICAgICAgICAmJiBzdGF0aWNfY2FzdDxLZXlib2Fy
ZEV2ZW50Kj4oZXZlbnQpLT5rZXlJZGVudGlmaWVyKCkgPT0gIkVudGVyIikKKyAgICAgICAgc2hv
dWxkSGFuZGxlID0gdHJ1ZTsKKworICAgIGlmIChzaG91bGRIYW5kbGUpIHsKKyAgICAgICAgaWYg
KG1fdHlwZSA9PSAiYWNjZXB0IiB8fCBtX3R5cGUgPT0gIm9wdGlvbnMiKSB7CisgICAgICAgICAg
ICBpZiAobV90YXNrKQorICAgICAgICAgICAgICAgIG1fdGFzay0+ZXhlY3V0ZVRhc2soZXZlbnQp
OworICAgICAgICB9IGVsc2UgaWYgKG1fdHlwZSA9PSAicHJldiIpIHsKKyAgICAgICAgICAgIFdN
TFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1lbnQo
KSk7CisgICAgICAgICAgICBpZiAoIXBhZ2VTdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgICAgIC8qIEZJWE1FOiBTdG9wIHRoZSB0aW1lciBvZiB0aGUgY3VycmVudCBj
YXJkIGlmIGl0IGlzIGFjdGl2ZQorICAgICAgICAgICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBw
YWdlU3RhdGUtPmFjdGl2ZUNhcmQoKTsKKyAgICAgICAgICAgIGlmIChjYXJkICYmIGNhcmQtPmV2
ZW50VGltZXIoKSkKKyAgICAgICAgICAgICAgICBjYXJkLT5ldmVudFRpbWVyKCktPnN0b3AoKTsK
KyAgICAgICAgICAgICAqLworCisgICAgICAgICAgICBwYWdlU3RhdGUtPnBhZ2UoKS0+Z29CYWNr
KCk7CisgICAgICAgIH0gZWxzZSBpZiAobV90eXBlID09ICJyZXNldCIpIHsKKyAgICAgICAgICAg
IFdNTFBhZ2VTdGF0ZSogcGFnZVN0YXRlID0gd21sUGFnZVN0YXRlRm9yRG9jdW1lbnQoZG9jdW1l
bnQoKSk7CisgICAgICAgICAgICBpZiAoIXBhZ2VTdGF0ZSkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgIHBhZ2VTdGF0ZS0+cmVzZXQoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIC8vIEZJWE1FOiBBZGQgJ2RlbGV0ZScgc3VwcG9ydC4KKyAgICB9Cit9CisKK3ZvaWQgV01M
RG9FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCit7
CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFtZXM6OnR5cGVBdHRyKSB7CisgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1ZSgpOworICAgICAgICBpZiAo
Y29udGFpbnNWYXJpYWJsZVJlZmVyZW5jZSh2YWx1ZSkpIHsKKyAgICAgICAgICAgIHJlcG9ydFdN
TEVycm9yKGRvY3VtZW50KCksIFdNTEVycm9ySW52YWxpZFZhcmlhYmxlUmVmZXJlbmNlKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG1fdHlwZSA9IHZhbHVlOwor
ICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6bmFtZUF0dHIpIHsKKyAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7CisgICAgICAg
IGlmIChjb250YWluc1ZhcmlhYmxlUmVmZXJlbmNlKHZhbHVlKSkgeworICAgICAgICAgICAgcmVw
b3J0V01MRXJyb3IoZG9jdW1lbnQoKSwgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVSZWZlcmVuY2Up
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9uYW1lID0gdmFs
dWU7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpsYWJlbEF0dHIp
CisgICAgICAgIG1fbGFiZWwgPSBzdWJzdGl0dXRlVmFyaWFibGVSZWZlcmVuY2VzKGF0dHItPnZh
bHVlKCksIGRvY3VtZW50KCkpOworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvcHRpb25h
bEF0dHIpCisgICAgICAgIG1faXNPcHRpb24gPSAoYXR0ci0+dmFsdWUoKSA9PSAidHJ1ZSIpOwor
ICAgIGVsc2UKKyAgICAgICAgV01MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7
Cit9CisKK3ZvaWQgV01MRG9FbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCit7CisgICAg
V01MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKworICAgIC8vIFNwZWM6IEFuIHVu
c3BlY2lmaWVkICduYW1lJyBkZWZhdWx0cyB0byB0aGUgdmFsdWUgb2YgdGhlICd0eXBlJyBhdHRy
aWJ1dGUuCisgICAgaWYgKCFoYXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpuYW1lQXR0cikpCisgICAg
ICAgIG1fbmFtZSA9IG1fdHlwZTsKKworICAgIE5vZGUqIHBhcmVudCA9IHBhcmVudE5vZGUoKTsK
KyAgICBBU1NFUlQocGFyZW50KTsKKworICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQtPmlzV01M
RWxlbWVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvKiBGSVhNRQorICAgIGlmIChwYXJl
bnQtPmhhc1RhZ05hbWUodGVtcGxhdGVUYWcpKQorICAgICAgICBzdGF0aWNfY2FzdDxXTUxUZW1w
bGF0ZUVsZW1lbnQqPihwYXJlbnQpLT5yZWdpc3RlckRvRWxlbWVudCh0aGlzKTsKKyAgICAqLwor
CisgICAgaWYgKHBhcmVudC0+aGFzVGFnTmFtZShjYXJkVGFnKSkKKyAgICAgICAgc3RhdGljX2Nh
c3Q8V01MQ2FyZEVsZW1lbnQqPihwYXJlbnQpLT5yZWdpc3RlckRvRWxlbWVudCh0aGlzKTsKK30K
KworUmVuZGVyT2JqZWN0KiBXTUxEb0VsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlKQoreworICAgIGlmICghbV9pc0FjdGl2ZSB8fCBt
X2lzT3B0aW9uIHx8IG1faXNOb29wKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChzdHls
ZSkgeworICAgICAgICBzdHlsZS0+c2V0VW5pcXVlKCk7CisgICAgICAgIHN0eWxlLT5zZXRCYWNr
Z3JvdW5kQ29sb3IoQ29sb3I6OmxpZ2h0R3JheSk7CisgICAgfQorCisgICAgcmV0dXJuIG5ldyAo
YXJlbmEpIFJlbmRlckJ1dHRvbih0aGlzKTsKK30KKworCit9CisKKyNlbmRpZgpJbmRleDogd21s
L1dNTERvRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxEb0VsZW1lbnQuaAkocmV2aXNp
b24gMCkKKysrIHdtbC9XTUxEb0VsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NCBA
QAorLyoqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAgICAgaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20v
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAq
LworCisjaWZuZGVmIFdNTERvRWxlbWVudF9oCisjZGVmaW5lIFdNTERvRWxlbWVudF9oCisKKyNp
ZiBFTkFCTEUoV01MKQorI2luY2x1ZGUgIldNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBXTUxUYXNrRWxlbWVudDsKKworY2xhc3MgV01MRG9FbGVtZW50IDogcHVi
bGljIFdNTEVsZW1lbnQgeworcHVibGljOgorICAgIFdNTERvRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworCisgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1
dGUoTWFwcGVkQXR0cmlidXRlKik7CisgICAgdmlydHVhbCB2b2lkIGluc2VydGVkSW50b0RvY3Vt
ZW50KCk7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOworCisgICAgdm9pZCByZWdpc3RlclRhc2soV01MVGFza0Vs
ZW1lbnQqIHRhc2spIHsgbV90YXNrID0gdGFzazsgfQorCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNBY3RpdmU7IH0KKyAgICBTdHJpbmcgbGFiZWwoKSBjb25zdCB7IHJl
dHVybiBtX2xhYmVsOyB9CisgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7
IH0KKworICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKSB7IG1faXNBY3RpdmUgPSBhY3Rp
dmU7IH0KKyAgICB2b2lkIHNldE5vb3AoYm9vbCBub29wKSB7IG1faXNOb29wID0gbm9vcDt9CisK
K3ByaXZhdGU6CisgICAgV01MVGFza0VsZW1lbnQqIG1fdGFzazsKKyAgICBib29sIG1faXNBY3Rp
dmU7CisgICAgYm9vbCBtX2lzTm9vcDsKKyAgICBib29sIG1faXNPcHRpb247CisgICAgU3RyaW5n
IG1fbGFiZWw7CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV90eXBlOworfTsKKwor
fQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogd21sL1dNTE5vb3BFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSB3bWwvV01MTm9vcEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzODgzMykKKysrIHdtbC9X
TUxOb29wRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpZiBF
TkFCTEUoV01MKQogI2luY2x1ZGUgIldNTE5vb3BFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJXTUxE
b0VsZW1lbnQuaCIKICNpbmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiV01M
TmFtZXMuaCIKIApAQCAtNDYsMTUgKzQ3LDExIEBAIHZvaWQgV01MTm9vcEVsZW1lbnQ6Omluc2Vy
dGVkSW50b0RvY3VtZW4KICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc1dNTEVsZW1lbnQo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLyogRklYTUUKICAgICBpZiAocGFyZW50LT5oYXNU
YWdOYW1lKGRvVGFnKSkgewogICAgICAgICBXTUxEb0VsZW1lbnQqIGRvRWxlbWVudCA9IHN0YXRp
Y19jYXN0PFdNTERvRWxlbWVudCo+KHBhcmVudCk7CiAgICAgICAgIGRvRWxlbWVudC0+c2V0Tm9v
cCh0cnVlKTsKICAgICAgICAgZG9FbGVtZW50LT5zZXRDaGFuZ2VkKCk7Ci0gICAgfSBlbHNlCi0g
ICAgKi8KLQotICAgIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoYW5jaG9yVGFnKSkKKyAgICB9IGVs
c2UgaWYgKHBhcmVudC0+aGFzVGFnTmFtZShhbmNob3JUYWcpKQogICAgICAgICByZXBvcnRXTUxF
cnJvcihkb2N1bWVudCgpLCBXTUxFcnJvckZvcmJpZGRlblRhc2tJbkFuY2hvckVsZW1lbnQpOwog
fQogCkluZGV4OiB3bWwvV01MVGFnTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTFRhZ05h
bWVzLmluCShyZXZpc2lvbiAzODgzMykKKysrIHdtbC9XTUxUYWdOYW1lcy5pbgkod29ya2luZyBj
b3B5KQpAQCAtNyw2ICs3LDcgQEAgYWNjZXNzCiBhbmNob3IKIGJyIGludGVyZmFjZU5hbWU9V01M
QlJFbGVtZW50CiBjYXJkCitkbwogZ28KIG5vb3AKIG9uZXZlbnQgaW50ZXJmYWNlTmFtZT1XTUxP
bkV2ZW50RWxlbWVudApAQCAtMjcsNyArMjgsNiBAQCBzZXR2YXIKIAogI2lmIDAKICMgRklYTUU6
IEltcGxlbWVudCB0aGVzZSBlbGVtZW50cwotZG8KIHBvc3RmaWVsZAogdGVtcGxhdGUKIHRpbWVy
CkluZGV4OiB3bWwvV01MVGFza0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxUYXNr
RWxlbWVudC5jcHAJKHJldmlzaW9uIDM4ODMzKQorKysgd21sL1dNTFRhc2tFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50
LmgiCiAKICNpbmNsdWRlICJXTUxBbmNob3JFbGVtZW50LmgiCisjaW5jbHVkZSAiV01MRG9FbGVt
ZW50LmgiCiAjaW5jbHVkZSAiV01MTmFtZXMuaCIKICNpbmNsdWRlICJXTUxPbkV2ZW50RWxlbWVu
dC5oIgogI2luY2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgpAQCAtNTUsMTAgKzU2LDggQEAgdm9pZCBX
TUxUYXNrRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbgogCiAgICAgaWYgKHBhcmVudC0+aGFz
VGFnTmFtZShhbmNob3JUYWcpKQogICAgICAgICBzdGF0aWNfY2FzdDxXTUxBbmNob3JFbGVtZW50
Kj4ocGFyZW50KS0+cmVnaXN0ZXJUYXNrKHRoaXMpOwotLyogRklYTUUKICAgICBlbHNlIGlmIChw
YXJlbnQtPmhhc1RhZ05hbWUoZG9UYWcpKQogICAgICAgICBzdGF0aWNfY2FzdDxXTUxEb0VsZW1l
bnQqPihwYXJlbnQpLT5yZWdpc3RlclRhc2sodGhpcyk7Ci0qLwogICAgIGVsc2UgaWYgKHBhcmVu
dC0+aGFzVGFnTmFtZShvbmV2ZW50VGFnKSkKICAgICAgICAgc3RhdGljX2Nhc3Q8V01MT25FdmVu
dEVsZW1lbnQqPihwYXJlbnQpLT5yZWdpc3RlclRhc2sodGhpcyk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25579</attachid>
            <date>2008-11-28 18:34:11 -0800</date>
            <delta_ts>2008-11-28 18:46:10 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>AddDoElement.diff</filename>
            <type>text/plain</type>
            <size>18046</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMDgtMTEt
MjggIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgorCisgICAgICAgIEZp
eGVzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NDkKKworICAg
ICAgICBBZGQgPGRvPiBlbGVtZW50IHN1cHBvcnQuIEl0IHByb3ZpZGVzIGEgd2F5IHRvIGJpbmQg
YSB0YXNrIGVsZW1lbnQgdG8gYSA8dGVtcGxhdGU+LzxjYXJkPiBlbGVtZW50LiAKKyAgICAgICAg
Q2hhbmdlcyBudW1lcm91cyBvZiBsYXlvdXQgdGVzdHMgd2hpY2ggY29udGFpbiA8ZG8+IGVsZW1l
bnRzLCBhcyB0aGV5IHJlbmRlciBhcyBidXR0b25zIG5vdy4KKworICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJ1dHRvbjo6dXBkYXRlRnJvbUVsZW1l
bnQpOgorICAgICAgICAqIHdtbC9XTUxDYXJkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXTUxDYXJkRWxlbWVudDo6cmVnaXN0ZXJEb0VsZW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxD
YXJkRWxlbWVudC5oOgorICAgICAgICAqIHdtbC9XTUxEb0VsZW1lbnQuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldNTERvRWxlbWVudDo6V01MRG9FbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OldNTERvRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpXTUxEb0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OldNTERvRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6V01MRG9FbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpXTUxE
b0VsZW1lbnQ6OnJlY2FsY1N0eWxlKToKKyAgICAgICAgKiB3bWwvV01MRG9FbGVtZW50Lmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6V01MRG9FbGVtZW50OjpyZWdpc3RlclRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6V01MRG9FbGVtZW50Ojppc0FjdGl2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXTUxEb0VsZW1lbnQ6OmxhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OldNTERvRWxlbWVudDo6
bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpXTUxEb0VsZW1lbnQ6OnNldEFjdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXTUxEb0VsZW1lbnQ6OnNldE5vb3ApOgorICAgICAgICAqIHdtbC9XTUxO
b29wRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXTUxOb29wRWxlbWVudDo6aW5zZXJ0
ZWRJbnRvRG9jdW1lbnQpOgorICAgICAgICAqIHdtbC9XTUxUYWdOYW1lcy5pbjoKKyAgICAgICAg
KiB3bWwvV01MVGFza0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V01MVGFza0VsZW1l
bnQ6Omluc2VydGVkSW50b0RvY3VtZW50KToKKwogMjAwOC0xMS0yOCAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bmlrb2xhcy56aW1tZXJtYW5uQHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMzg4MzMpCisrKyBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDYgKzM3LDggQEAKIAkJMDZFODFFRUMwQUI1REE5NzAwQzg3ODM3IC8q
IExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA2RTgxRUVCMEFCNURBOTcwMEM4NzgzNyAvKiBMb2NhbEN1
cnJlbnRHcmFwaGljc0NvbnRleHQubW0gKi87IH07CiAJCTA4MDA4MTk2MEVEM0IyREQwMEM1M0JD
MCAvKiBXTUxBbmNob3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4MDA4MTk0MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVt
ZW50LmNwcCAqLzsgfTsKIAkJMDgwMDgxOTcwRUQzQjJERDAwQzUzQkMwIC8qIFdNTEFuY2hvckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4
MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50LmggKi87IH07CisJCTA4
MDRCRjZFMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwNEJGNkMwRUUwOUMzQjAwMDZDMDAw
IC8qIFdNTERvRWxlbWVudC5jcHAgKi87IH07CisJCTA4MDRCRjZGMEVFMDlDM0IwMDA2QzAwMCAv
KiBXTUxEb0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4MDRCRjZEMEVFMDlDM0IwMDA2QzAwMCAvKiBXTUxEb0VsZW1lbnQuaCAqLzsgfTsK
IAkJMDgwQUVDODEwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4MEFFQzdEMEVEODcw
OEEwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5jcHAgKi87IH07CiAJCTA4MEFFQzgyMEVE
ODcwOEIwMERGNENDRSAvKiBXTUxJbnRyaW5zaWNFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDN0UwRUQ4NzA4QjAwREY0Q0NFIC8qIFdN
TEludHJpbnNpY0V2ZW50LmggKi87IH07CiAJCTA4MEFFQzgzMEVEODcwOEIwMERGNENDRSAvKiBX
TUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMDgwQUVDN0YwRUQ4NzA4QjAwREY0Q0NFIC8qIFdNTEludHJpbnNp
Y0V2ZW50SGFuZGxlci5jcHAgKi87IH07CkBAIC00ODEzLDYgKzQ4MTUsOCBAQAogCQkwNkU4MUVF
QjBBQjVEQTk3MDBDODc4MzcgLyogTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwMDgxOTQwRUQzQjJE
RDAwQzUzQkMwIC8qIFdNTEFuY2hvckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV01MQW5jaG9yRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4MDA4MTk1MEVEM0IyREQwMEM1M0JDMCAvKiBXTUxBbmNob3JFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdNTEFuY2hvckVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMDgwNEJGNkMwRUUwOUMzQjAwMDZDMDAwIC8qIFdN
TERvRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxE
b0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODA0QkY2RDBFRTA5
QzNCMDAwNkMwMDAgLyogV01MRG9FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdNTERvRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODBB
RUM3RDBFRDg3MDhBMDBERjRDQ0UgLyogV01MSW50cmluc2ljRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV01MSW50cmluc2ljRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODBBRUM3RTBFRDg3MDhCMDBERjRDQ0UgLyogV01MSW50
cmluc2ljRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV01MSW50cmlu
c2ljRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgwQUVDN0YwRUQ4NzA4
QjAwREY0Q0NFIC8qIFdNTEludHJpbnNpY0V2ZW50SGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXTUxJbnRyaW5zaWNFdmVudEhhbmRsZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTUyMyw2ICs5NTI3LDggQEAKIAkJCQk0QzZCOTky
MDBFNTJFMzczMDA0ODdCQjcgLyogV01MQ2FyZEVsZW1lbnQuaCAqLywKIAkJCQk0QzZCOTkyMTBF
NTJFMzczMDA0ODdCQjcgLyogV01MRG9jdW1lbnQuY3BwICovLAogCQkJCTRDNkI5OTIyMEU1MkUz
NzMwMDQ4N0JCNyAvKiBXTUxEb2N1bWVudC5oICovLAorCQkJCTA4MDRCRjZDMEVFMDlDM0IwMDA2
QzAwMCAvKiBXTUxEb0VsZW1lbnQuY3BwICovLAorCQkJCTA4MDRCRjZEMEVFMDlDM0IwMDA2QzAw
MCAvKiBXTUxEb0VsZW1lbnQuaCAqLywKIAkJCQk0QzZCOTkyNTBFNTJFMzczMDA0ODdCQjcgLyog
V01MRWxlbWVudC5jcHAgKi8sCiAJCQkJNEM2Qjk5MjYwRTUyRTM3MzAwNDg3QkI3IC8qIFdNTEVs
ZW1lbnQuaCAqLywKIAkJCQkwOEUxOTI1MTBFREUwQzM5MDA4N0I3ODAgLyogV01MRXJyb3JIYW5k
bGluZy5jcHAgKi8sCkBAIC0xNjQ0NSw2ICsxNjQ1MSw3IEBACiAJCQkJMDgxOEFFRTMwRURCODZC
QzAwNjQ3QjY2IC8qIFdNTEV2ZW50SGFuZGxpbmdFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwODY1Q0NFNzBFRERGNTFCMDBERjlFQzMgLyogV01MTm9vcEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4RTE5MjU0MEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJvckhhbmRsaW5nLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwODA0QkY2RjBFRTA5QzNCMDAwNkMwMDAgLyogV01MRG9FbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE4MzgyLDYgKzE4Mzg5LDcgQEAKIAkJCQkwODE4QUVF
MjBFREI4NkJDMDA2NDdCNjYgLyogV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDg2NUNDRTYwRURERjUxQjAwREY5RUMzIC8qIFdNTE5vb3BFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA4RTE5MjUzMEVERTBDM0EwMDg3Qjc4MCAvKiBXTUxFcnJv
ckhhbmRsaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTA4MDRCRjZFMEVFMDlDM0IwMDA2QzAw
MCAvKiBXTUxEb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiByZW5kZXJpbmcvUmVu
ZGVyQnV0dG9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAko
cmV2aXNpb24gMzg4MzMpCisrKyByZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNiArMzAsMTEgQEAKICNpbmNsdWRlICJSZW5kZXJUZXh0RnJhZ21lbnQuaCIK
ICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRlICJX
TUxEb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJXTUxOYW1lcy5oIgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTEwNSw2ICsxMTAs
MTkgQEAgdm9pZCBSZW5kZXJCdXR0b246OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAgU3Ry
aW5nIHZhbHVlID0gaW5wdXQtPnZhbHVlV2l0aERlZmF1bHQoKTsKICAgICAgICAgc2V0VGV4dCh2
YWx1ZSk7CiAgICAgfQorCisKKyNpZiBFTkFCTEUoV01MKQorICAgIGVsc2UgaWYgKGVsZW1lbnQo
KS0+aGFzVGFnTmFtZShXTUxOYW1lczo6ZG9UYWcpKSB7CisgICAgICAgIFdNTERvRWxlbWVudCog
ZG9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8V01MRG9FbGVtZW50Kj4oZWxlbWVudCgpKTsKKworICAg
ICAgICBTdHJpbmcgdmFsdWUgPSBkb0VsZW1lbnQtPmxhYmVsKCk7CisgICAgICAgIGlmICh2YWx1
ZS5pc0VtcHR5KCkpCisgICAgICAgICAgICB2YWx1ZSA9IGRvRWxlbWVudC0+bmFtZSgpOworCisg
ICAgICAgIHNldFRleHQodmFsdWUpOworICAgIH0KKyNlbmRpZgogfQogCiBib29sIFJlbmRlckJ1
dHRvbjo6Y2FuSGF2ZUNoaWxkcmVuKCkgY29uc3QKSW5kZXg6IHdtbC9XTUxDYXJkRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gd21sL1dNTENhcmRFbGVtZW50LmNwcAkocmV2aXNpb24gMzg4MzMp
CisrKyB3bWwvV01MQ2FyZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw4
IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVk
ZSAiV01MRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXTUxEb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJX
TUxFcnJvckhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiV01MSW50cmluc2ljRXZlbnRIYW5kbGVyLmgi
CiAjaW5jbHVkZSAiV01MTmFtZXMuaCIKICNpbmNsdWRlICJXTUxQYWdlU3RhdGUuaCIKQEAgLTUy
LDYgKzU0LDIyIEBAIFdNTENhcmRFbGVtZW50Ojp+V01MQ2FyZEVsZW1lbnQoKQogewogfQogCit2
b2lkIFdNTENhcmRFbGVtZW50OjpyZWdpc3RlckRvRWxlbWVudChXTUxEb0VsZW1lbnQqIGRvRWxl
bWVudCkKK3sKKyAgICBWZWN0b3I8V01MRG9FbGVtZW50Kj46Oml0ZXJhdG9yIGl0ID0gbV9kb0Vs
ZW1lbnRzLmJlZ2luKCk7CisgICAgVmVjdG9yPFdNTERvRWxlbWVudCo+OjppdGVyYXRvciBlbmQg
PSBtX2RvRWxlbWVudHMuZW5kKCk7CisKKyAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7Cisg
ICAgICAgIGlmICgoKml0KS0+bmFtZSgpID09IGRvRWxlbWVudC0+bmFtZSgpKSB7CisgICAgICAg
ICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvckR1cGxpY2F0ZWREb0VsZW1l
bnQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgbV9kb0Vs
ZW1lbnRzLmFwcGVuZChkb0VsZW1lbnQpOworICAgIGRvRWxlbWVudC0+c2V0QWN0aXZlKHRydWUp
OworfQorCiB2b2lkIFdNTENhcmRFbGVtZW50OjpoYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVk
KCkKIHsKICAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3Vt
ZW50KGRvY3VtZW50KCkpOwpJbmRleDogd21sL1dNTENhcmRFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gd21sL1dNTENhcmRFbGVtZW50LmgJKHJldmlzaW9uIDM4ODMzKQorKysgd21sL1dNTENhcmRF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDEyIEBACiAjaWYgRU5BQkxFKFdN
TCkKICNpbmNsdWRlICJXTUxFdmVudEhhbmRsaW5nRWxlbWVudC5oIgogCisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIFdNTERvRWxlbWVudDsK
KwogY2xhc3MgV01MQ2FyZEVsZW1lbnQgOiBwdWJsaWMgV01MRXZlbnRIYW5kbGluZ0VsZW1lbnQg
ewogcHVibGljOgogICAgIFdNTENhcmRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOwpAQCAtMzUsNiArMzksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc05ld0NvbnRleHQo
KSBjb25zdCB7IHJldHVybiBtX2lzTmV3Q29udGV4dDsgfQogICAgIGJvb2wgaXNPcmRlcmVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc09yZGVyZWQ7IH0KIAorICAgIHZvaWQgcmVnaXN0ZXJEb0VsZW1l
bnQoV01MRG9FbGVtZW50Kik7CiAgICAgdm9pZCBoYW5kbGVJbnRyaW5zaWNFdmVudElmTmVlZGVk
KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmli
dXRlKik7CkBAIC01Miw2ICs1Nyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTmV3Q29udGV4
dDsKICAgICBib29sIG1faXNPcmRlcmVkOwogICAgIGJvb2wgbV9pc1Zpc2libGU7CisKKyAgICBW
ZWN0b3I8V01MRG9FbGVtZW50Kj4gbV9kb0VsZW1lbnRzOwogfTsKIAogfQpJbmRleDogd21sL1dN
TERvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTERvRWxlbWVudC5jcHAJKHJldmlz
aW9uIDApCisrKyB3bWwvV01MRG9FbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NjcgQEAKKy8qKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRl
ICJXTUxEb0VsZW1lbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIktleWJvYXJkRXZlbnQu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyQnV0dG9uLmgiCisjaW5jbHVk
ZSAiV01MQ2FyZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJXTUxEb2N1bWVudC5oIgorI2luY2x1ZGUg
IldNTEVycm9ySGFuZGxpbmcuaCIKKyNpbmNsdWRlICJXTUxUYXNrRWxlbWVudC5oIgorI2luY2x1
ZGUgIldNTE5hbWVzLmgiCisjaW5jbHVkZSAiV01MUGFnZVN0YXRlLmgiCisjaW5jbHVkZSAiV01M
VmFyaWFibGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIFdN
TE5hbWVzOworCitXTUxEb0VsZW1lbnQ6OldNTERvRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQorICAgIDogV01MRWxlbWVudCh0YWdOYW1lLCBkb2Mp
CisgICAgLCBtX3Rhc2soMCkKKyAgICAsIG1faXNBY3RpdmUoZmFsc2UpCisgICAgLCBtX2lzTm9v
cChmYWxzZSkKKyAgICAsIG1faXNPcHRpb24oZmFsc2UpCit7Cit9CisKK3ZvaWQgV01MRG9FbGVt
ZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAobV9pc09w
dGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnRO
YW1lcygpLmtleXByZXNzRXZlbnQpIHsKKyAgICAgICAgV01MRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihldmVudCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZXZlbnQt
PnR5cGUoKSAhPSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCAmJiBldmVudC0+dHlwZSgpICE9IGV2
ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAK
KyAgICBpZiAoZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpCisgICAgICAgICYmIHN0YXRpY19jYXN0
PEtleWJvYXJkRXZlbnQqPihldmVudCktPmtleUlkZW50aWZpZXIoKSAhPSAiRW50ZXIiKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobV90eXBlID09ICJhY2NlcHQiIHx8IG1fdHlwZSA9PSAi
b3B0aW9ucyIpIHsKKyAgICAgICAgaWYgKG1fdGFzaykKKyAgICAgICAgICAgIG1fdGFzay0+ZXhl
Y3V0ZVRhc2soZXZlbnQpOworICAgIH0gZWxzZSBpZiAobV90eXBlID09ICJwcmV2IikgeworICAg
ICAgICBXTUxQYWdlU3RhdGUqIHBhZ2VTdGF0ZSA9IHdtbFBhZ2VTdGF0ZUZvckRvY3VtZW50KGRv
Y3VtZW50KCkpOworICAgICAgICBpZiAoIXBhZ2VTdGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAvKiBGSVhNRTogU3RvcCB0aGUgdGltZXIgb2YgdGhlIGN1cnJlbnQgY2FyZCBp
ZiBpdCBpcyBhY3RpdmUKKyAgICAgICAgV01MQ2FyZEVsZW1lbnQqIGNhcmQgPSBwYWdlU3RhdGUt
PmFjdGl2ZUNhcmQoKTsKKyAgICAgICAgaWYgKGNhcmQgJiYgY2FyZC0+ZXZlbnRUaW1lcigpKQor
ICAgICAgICAgICAgY2FyZC0+ZXZlbnRUaW1lcigpLT5zdG9wKCk7CisgICAgICAgICovCisKKyAg
ICAgICAgcGFnZVN0YXRlLT5wYWdlKCktPmdvQmFjaygpOworICAgIH0gZWxzZSBpZiAobV90eXBl
ID09ICJyZXNldCIpIHsKKyAgICAgICAgV01MUGFnZVN0YXRlKiBwYWdlU3RhdGUgPSB3bWxQYWdl
U3RhdGVGb3JEb2N1bWVudChkb2N1bWVudCgpKTsKKyAgICAgICAgaWYgKCFwYWdlU3RhdGUpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgcGFnZVN0YXRlLT5yZXNldCgpOworICAgIH0K
K30KKwordm9pZCBXTUxEb0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJp
YnV0ZSogYXR0cikKK3sKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6dHlwZUF0
dHIpIHsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7
CisgICAgICAgIGlmIChjb250YWluc1ZhcmlhYmxlUmVmZXJlbmNlKHZhbHVlKSkgeworICAgICAg
ICAgICAgcmVwb3J0V01MRXJyb3IoZG9jdW1lbnQoKSwgV01MRXJyb3JJbnZhbGlkVmFyaWFibGVS
ZWZlcmVuY2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV90
eXBlID0gdmFsdWU7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gSFRNTE5hbWVzOjpu
YW1lQXR0cikgeworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFs
dWUoKTsKKyAgICAgICAgaWYgKGNvbnRhaW5zVmFyaWFibGVSZWZlcmVuY2UodmFsdWUpKSB7Cisg
ICAgICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1bWVudCgpLCBXTUxFcnJvckludmFsaWRWYXJp
YWJsZVJlZmVyZW5jZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBtX25hbWUgPSB2YWx1ZTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBIVE1MTmFt
ZXM6OmxhYmVsQXR0cikKKyAgICAgICAgbV9sYWJlbCA9IHN1YnN0aXR1dGVWYXJpYWJsZVJlZmVy
ZW5jZXMoYXR0ci0+dmFsdWUoKSwgZG9jdW1lbnQoKSk7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9wdGlvbmFsQXR0cikKKyAgICAgICAgbV9pc09wdGlvbiA9IChhdHRyLT52YWx1ZSgp
ID09ICJ0cnVlIik7CisgICAgZWxzZQorICAgICAgICBXTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShhdHRyKTsKK30KKwordm9pZCBXTUxEb0VsZW1lbnQ6Omluc2VydGVkSW50b0RvY3Vt
ZW50KCkKK3sKKyAgICBXTUxFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpOworCisgICAg
Ly8gU3BlYzogQW4gdW5zcGVjaWZpZWQgJ25hbWUnIGRlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiB0
aGUgJ3R5cGUnIGF0dHJpYnV0ZS4KKyAgICBpZiAoIWhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6Om5h
bWVBdHRyKSkKKyAgICAgICAgbV9uYW1lID0gbV90eXBlOworCisgICAgTm9kZSogcGFyZW50ID0g
cGFyZW50Tm9kZSgpOworICAgIEFTU0VSVChwYXJlbnQpOworCisgICAgaWYgKCFwYXJlbnQgfHwg
IXBhcmVudC0+aXNXTUxFbGVtZW50KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8qIEZJWE1F
CisgICAgaWYgKHBhcmVudC0+aGFzVGFnTmFtZSh0ZW1wbGF0ZVRhZykpCisgICAgICAgIHN0YXRp
Y19jYXN0PFdNTFRlbXBsYXRlRWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyRG9FbGVtZW50KHRo
aXMpOworICAgICovCisKKyAgICBpZiAocGFyZW50LT5oYXNUYWdOYW1lKGNhcmRUYWcpKQorICAg
ICAgICBzdGF0aWNfY2FzdDxXTUxDYXJkRWxlbWVudCo+KHBhcmVudCktPnJlZ2lzdGVyRG9FbGVt
ZW50KHRoaXMpOworfQorCitSZW5kZXJPYmplY3QqIFdNTERvRWxlbWVudDo6Y3JlYXRlUmVuZGVy
ZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgaWYgKCFt
X2lzQWN0aXZlIHx8IG1faXNPcHRpb24gfHwgbV9pc05vb3ApCisgICAgICAgIHJldHVybiAwOwor
CisgICAgaWYgKHN0eWxlKSB7CisgICAgICAgIHN0eWxlLT5zZXRVbmlxdWUoKTsKKyAgICAgICAg
c3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6bGlnaHRHcmF5KTsKKyAgICB9CisKKyAg
ICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyQnV0dG9uKHRoaXMpOworfQorCit2b2lkIFdNTERv
RWxlbWVudDo6cmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdlKQoreworICAgIFdNTEVsZW1l
bnQ6OnJlY2FsY1N0eWxlKGNoYW5nZSk7CisKKyAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAg
cmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKK30KKworfQorCisjZW5kaWYKSW5kZXg6
IHdtbC9XTUxEb0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3bWwvV01MRG9FbGVtZW50LmgJKHJl
dmlzaW9uIDApCisrKyB3bWwvV01MRG9FbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NjUgQEAKKy8qKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
CisgKi8KKworI2lmbmRlZiBXTUxEb0VsZW1lbnRfaAorI2RlZmluZSBXTUxEb0VsZW1lbnRfaAor
CisjaWYgRU5BQkxFKFdNTCkKKyNpbmNsdWRlICJXTUxFbGVtZW50LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV01MVGFza0VsZW1lbnQ7CisKK2NsYXNzIFdNTERvRWxlbWVudCA6
IHB1YmxpYyBXTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBXTUxEb0VsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgdm9pZCBkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0
cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9E
b2N1bWVudCgpOworCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVjYWxjU3R5bGUo
U3R5bGVDaGFuZ2UpOworCisgICAgdm9pZCByZWdpc3RlclRhc2soV01MVGFza0VsZW1lbnQqIHRh
c2spIHsgbV90YXNrID0gdGFzazsgfQorCisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNBY3RpdmU7IH0KKyAgICBTdHJpbmcgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xh
YmVsOyB9CisgICAgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KKworICAg
IHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKSB7IG1faXNBY3RpdmUgPSBhY3RpdmU7IH0KKyAg
ICB2b2lkIHNldE5vb3AoYm9vbCBub29wKSB7IG1faXNOb29wID0gbm9vcDt9CisKK3ByaXZhdGU6
CisgICAgV01MVGFza0VsZW1lbnQqIG1fdGFzazsKKyAgICBib29sIG1faXNBY3RpdmU7CisgICAg
Ym9vbCBtX2lzTm9vcDsKKyAgICBib29sIG1faXNPcHRpb247CisgICAgU3RyaW5nIG1fbGFiZWw7
CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV90eXBlOworfTsKKworfQorCisjZW5k
aWYKKyNlbmRpZgpJbmRleDogd21sL1dNTE5vb3BFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3
bWwvV01MTm9vcEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzODgzMykKKysrIHdtbC9XTUxOb29wRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpZiBFTkFCTEUoV01M
KQogI2luY2x1ZGUgIldNTE5vb3BFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJXTUxEb0VsZW1lbnQu
aCIKICNpbmNsdWRlICJXTUxFcnJvckhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiV01MTmFtZXMuaCIK
IApAQCAtNDYsMTUgKzQ3LDExIEBAIHZvaWQgV01MTm9vcEVsZW1lbnQ6Omluc2VydGVkSW50b0Rv
Y3VtZW4KICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc1dNTEVsZW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgLyogRklYTUUKICAgICBpZiAocGFyZW50LT5oYXNUYWdOYW1lKGRv
VGFnKSkgewogICAgICAgICBXTUxEb0VsZW1lbnQqIGRvRWxlbWVudCA9IHN0YXRpY19jYXN0PFdN
TERvRWxlbWVudCo+KHBhcmVudCk7CiAgICAgICAgIGRvRWxlbWVudC0+c2V0Tm9vcCh0cnVlKTsK
ICAgICAgICAgZG9FbGVtZW50LT5zZXRDaGFuZ2VkKCk7Ci0gICAgfSBlbHNlCi0gICAgKi8KLQot
ICAgIGlmIChwYXJlbnQtPmhhc1RhZ05hbWUoYW5jaG9yVGFnKSkKKyAgICB9IGVsc2UgaWYgKHBh
cmVudC0+aGFzVGFnTmFtZShhbmNob3JUYWcpKQogICAgICAgICByZXBvcnRXTUxFcnJvcihkb2N1
bWVudCgpLCBXTUxFcnJvckZvcmJpZGRlblRhc2tJbkFuY2hvckVsZW1lbnQpOwogfQogCkluZGV4
OiB3bWwvV01MVGFnTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd21sL1dNTFRhZ05hbWVzLmluCShy
ZXZpc2lvbiAzODgzMykKKysrIHdtbC9XTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
Nyw2ICs3LDcgQEAgYWNjZXNzCiBhbmNob3IKIGJyIGludGVyZmFjZU5hbWU9V01MQlJFbGVtZW50
CiBjYXJkCitkbwogZ28KIG5vb3AKIG9uZXZlbnQgaW50ZXJmYWNlTmFtZT1XTUxPbkV2ZW50RWxl
bWVudApAQCAtMjcsNyArMjgsNiBAQCBzZXR2YXIKIAogI2lmIDAKICMgRklYTUU6IEltcGxlbWVu
dCB0aGVzZSBlbGVtZW50cwotZG8KIHBvc3RmaWVsZAogdGVtcGxhdGUKIHRpbWVyCkluZGV4OiB3
bWwvV01MVGFza0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdtbC9XTUxUYXNrRWxlbWVudC5j
cHAJKHJldmlzaW9uIDM4ODMzKQorKysgd21sL1dNTFRhc2tFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIldNTFRhc2tFbGVtZW50LmgiCiAKICNp
bmNsdWRlICJXTUxBbmNob3JFbGVtZW50LmgiCisjaW5jbHVkZSAiV01MRG9FbGVtZW50LmgiCiAj
aW5jbHVkZSAiV01MTmFtZXMuaCIKICNpbmNsdWRlICJXTUxPbkV2ZW50RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIldNTFBhZ2VTdGF0ZS5oIgpAQCAtNTUsMTAgKzU2LDggQEAgdm9pZCBXTUxUYXNrRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbgogCiAgICAgaWYgKHBhcmVudC0+aGFzVGFnTmFtZShh
bmNob3JUYWcpKQogICAgICAgICBzdGF0aWNfY2FzdDxXTUxBbmNob3JFbGVtZW50Kj4ocGFyZW50
KS0+cmVnaXN0ZXJUYXNrKHRoaXMpOwotLyogRklYTUUKICAgICBlbHNlIGlmIChwYXJlbnQtPmhh
c1RhZ05hbWUoZG9UYWcpKQogICAgICAgICBzdGF0aWNfY2FzdDxXTUxEb0VsZW1lbnQqPihwYXJl
bnQpLT5yZWdpc3RlclRhc2sodGhpcyk7Ci0qLwogICAgIGVsc2UgaWYgKHBhcmVudC0+aGFzVGFn
TmFtZShvbmV2ZW50VGFnKSkKICAgICAgICAgc3RhdGljX2Nhc3Q8V01MT25FdmVudEVsZW1lbnQq
PihwYXJlbnQpLT5yZWdpc3RlclRhc2sodGhpcyk7CiB9Cg==
</data>
<flag name="review"
          id="11906"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25580</attachid>
            <date>2008-11-28 18:34:36 -0800</date>
            <delta_ts>2008-11-28 18:41:36 -0800</delta_ts>
            <desc>Layout test results</desc>
            <filename>AddDoElementTestResults.diff</filename>
            <type>text/plain</type>
            <size>14945</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODM2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMTEt
MjggIE5pa29sYXMgWmltbWVybWFubiAgPG5pa29sYXMuemltbWVybWFubkB0b3JjaG1vYmlsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIFdNTCBsYXlvdXQgdGVzdCByZXN1bHRzIGFmdGVyIGFkZGluZyA8ZG8+IGVsZW1lbnQgc3Vw
cG9ydC4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlv
bmFsLWF0dHItZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
d21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXNoYWRvdy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24t
Zm9yLXZhcnJlZi1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi1leHBlY3RlZC5wbmc6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJy
ZWYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52
YWxpZC12YXJpYWJsZS1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8tZXhwZWN0ZWQucG5nOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8tZXhwZWN0ZWQudHh0Ogor
CiAyMDA4LTExLTI2ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuaWtvbGFzLnppbW1lcm1hbm5AdG9y
Y2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb3JnZSBTdGFpa29zLgpJbmRl
eDogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3Rl
ZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tZWxlbWVu
dC1vcHRpb25hbC1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAzODgzMykKKysrIHBs
YXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50LW9wdGlvbmFsLWF0dHItZXhwZWN0ZWQuY2hl
Y2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWJjMDM2YjUwODJkMmZlYjdlZTg0NDlh
YTM0OTBiZDA4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorOTllMjA2NmQ3MmU5MTI1ZWEy
ODBlNmM0ZDBkOWMxZGQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBwbGF0Zm9y
bS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtdmFyaWFibGUtbmFtZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLXZhcmlhYmxlLW5h
bWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzODgzMykKKysrIHBsYXRmb3JtL21hYy9mYXN0L3dt
bC9lcnItaW52YWxpZC12YXJpYWJsZS1uYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw4ICsxLDggQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MjAwCi0gIFJl
bmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgyMDAKLSAgICBSZW5kZXJCb2R5IHti
b2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTY4CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMjYK
KyAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDIyNgorICAgIFJlbmRlckJv
ZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgyMDIKICAgICAgIFJlbmRlckJsb2NrIHtwYXJz
ZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9yZGVy
OiAoMnB4IHNvbGlkICNDQzc3NzcpXQogICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCwy
MCkgc2l6ZSA3MTZ4MjIKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAzMjR4MjIKQEAgLTE2LDE2ICsxNiwxNiBAQAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMTUwKSBzaXplIDc4NHgwCiAgICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTUwKSBzaXplIDc4NHgx
OAotICAgICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMCkgc2l6ZSA3Njh4MTgKKyAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE1MCkgc2l6ZSA3ODR4NTIKKyAgICAgICAg
UmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDApIHNpemUgNzY4eDUyCiAgICAgICAgICAgUmVuZGVy
QmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzY4eDE4CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAyMDd4MTgKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjA3OiAiVGVzdCBmb3IgdmFyaWFibGUgbmFtZSB2YWxpZGF0aW9uIgotICAgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM0KSBzaXplIDc2OHgwCi0gICAgICAg
ICAgICBSZW5kZXJJbmxpbmUge2RvfSBhdCAoMCwwKSBzaXplIDB4MCBbYmdjb2xvcj0jRDNEM0Qz
XQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
ICAgICAgICAgIFJlbmRlcklubGluZSB7c2V0dmFyfSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTg0KSBzaXplIDc4NHgwCisgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzQpIHNpemUgNzY4eDE4CisgICAgICAgICAg
ICBSZW5kZXJCdXR0b24ge2RvfSBhdCAoMCwxNCkgc2l6ZSAweDAgW2JnY29sb3I9I0MwQzBDMF0K
KyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge3JlZnJlc2h9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7c2V0dmFyfSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjEwKSBzaXplIDc4NHgwCiAg
ICAgICAgIFJlbmRlcklubGluZSB7d21sfSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDM4ODMzKQorKysgcGxhdGZvcm0vbWFjL2Zhc3Qvd21s
L2RvLWVsZW1lbnQtb3B0aW9uYWwtYXR0ci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMjIgKzEsMjAgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4ODQKLSAgUmVu
ZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4ODQKLSAgICBSZW5kZXJCbG9jayB7Y2Fy
ZH0gYXQgKDgsMTYpIHNpemUgNzg0eDUyCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMTAKKyAg
UmVuZGVyQmxvY2sge3dtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTEwCisgICAgUmVuZGVyQmxvY2sg
e2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg4NgogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgw
LDApIHNpemUgNzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE4MXgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4MTogIlRlc3QgZm9y
IGRvIGVsZW1lbnQgaW4gV01MIgogICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXpl
IDc4NHgxOAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3MzF4MTgK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3MzE6ICJUaGVyZSBhcmUgdHdvIGRv
IGVsZW1lbnQgaW4gdGhpcyBjYXJkLCB0aGUgZmlyc3Qgb25lIHdpbGwgZGlzcGxheSwgdGhlIHNl
Y29uZCB3b24ndCBiZWNhdXNlIGl0cyBvcHRpb25hbCBhdHRyaWJ1dGUgaXMgdHJ1ZSIKLSAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc4NHgwCi0gICAgICAgIFJl
bmRlcklubGluZSB7ZG99IGF0ICgwLDApIHNpemUgMHgwIFtiZ2NvbG9yPSNEM0QzRDNdCi0gICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVu
ZGVySW5saW5lIHtnb30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDY4KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJCdXR0b24ge2RvfSBhdCAoMCwwKSBz
aXplIDMyeDE4IFtiZ2NvbG9yPSNEM0QzRDNdCisgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsMCkgc2l6ZSAzMngxOAorICAgICAgICAgICAgUmVuZGVySW5saW5lIHtnb30g
YXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDMyeDE4Cisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyOiAiRG8gMSIKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlcklubGlu
ZSB7ZG99IGF0ICgwLDApIHNpemUgMHgwIFtiZ2NvbG9yPSNEM0QzRDNdCi0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5l
IHtnb30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLXNhbWVuYW1lLWRvLWV4cGVjdGVk
LmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2FtZW5h
bWUtZG8tZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDM4ODMzKQorKysgcGxhdGZvcm0vbWFj
L2Zhc3Qvd21sL2Vyci1zYW1lbmFtZS1kby1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5
KQpAQCAtMSArMSBAQAotODc5NmNlNzY3MzE4NmEzN2UzZGVhNmI1YTc3MmMwZGQKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCitiNWE5YzljODQxYjJmOGNiYmViZDRmZTQxNjVmNTQwMApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnIt
c2FtZW5hbWUtZG8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL21hYy9mYXN0
L3dtbC9lcnItc2FtZW5hbWUtZG8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzODgzMykKKysrIHBs
YXRmb3JtL21hYy9mYXN0L3dtbC9lcnItc2FtZW5hbWUtZG8tZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDIyICsxLDI3IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAw
eDc2Ci0gIFJlbmRlckJsb2NrIHt3bWx9IGF0ICgwLDApIHNpemUgODAweDc2Ci0gICAgUmVuZGVy
QmxvY2sge2NhcmR9IGF0ICg4LDE2KSBzaXplIDc4NHg1MgotICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge2RvfSBh
dCAoMCwwKSBzaXplIDB4MCBbYmdjb2xvcj0jRDNEM0QzXQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4MTkyCisgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHgxOTIKKyAgICBS
ZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTY4CisgICAgICBSZW5kZXJCbG9j
ayB7cGFyc2VyZXJyb3J9IGF0ICgxNiwwKSBzaXplIDc1MngxMzQgW2JnY29sb3I9I0ZGRERERF0g
W2JvcmRlcjogKDJweCBzb2xpZCAjQ0M3Nzc3KV0KKyAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBh
dCAoMTgsMjApIHNpemUgNzE2eDIyCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMzI0eDIyCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjQ6
ICJUaGlzIHBhZ2UgY29udGFpbnMgdGhlIGZvbGxvd2luZyBlcnJvcnM6IgorICAgICAgICBSZW5k
ZXJCbG9jayB7ZGl2fSBhdCAoMTgsNjApIHNpemUgNzE2eDE0CisgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjMweDE0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA2MzA6ICJlcnJvciBvbiBsaW5lIDggYXQgY29sdW1uIDU1OiBBdCBsZWFzdCB0
d28gZG8gZWxlbWVudHMgc2hhcmUgYSBuYW1lLCB3aGljaCBpcyBub3QgYWxsb3dlZC4iCisgICAg
ICAgIFJlbmRlckJsb2NrIHtoM30gYXQgKDE4LDkyKSBzaXplIDcxNngyMgorICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQyOXgyMgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNDI5OiAiQmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2Ug
dXAgdG8gdGhlIGZpcnN0IGVycm9yLiIKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDE1MCkgc2l6ZSA3ODR4MAorICAgICAgICBSZW5kZXJJbmxpbmUge3dtbH0gYXQgKDAsMCkg
c2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgICBSZW5kZXJJbmxpbmUge3JlZnJlc2h9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDE4CisgICAgICAg
IFJlbmRlckJsb2NrIHtjYXJkfSBhdCAoOCwwKSBzaXplIDc2OHgxOAorICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7ZG99IGF0ICgwLDE0KSBzaXplIDB4MCBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7ZG99IGF0ICgwLDAp
IHNpemUgMHgwIFtiZ2NvbG9yPSNEM0QzRDNdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAo
MCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAg
IFJlbmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzOTl4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAzOTk6ICJUZXN0IGZvciB0aGUgZXJyb3IgdGhhdCBtb3JlIHRoYW4gb25lIGRvIGVs
ZW1lbnQgaGFzIHNhbWUgbmFtZSIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDM0KSBzaXplIDc4NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA1MTh4MTgKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MTg6ICJZb3Ugc2hv
dWxkIE5PVCBzZWUgdGhpcyB0ZXh0LCBiZWNhdXNlIG9mIHRoZSBlcnJvciBvZiBuYW1lLWNvbmZs
aWN0IG9mIGRvIGVsZW1lbnQiCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwx
NzYpIHNpemUgNzg0eDAKKyAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tc2hhZG93LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tc2hhZG93LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMzg4MzMpCisrKyBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tc2hhZG93LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSwxMCArNSw2IEBACiAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA4MDB4MAogICAgICAgUmVuZGVySW5saW5lIHt0
ZW1wbGF0ZX0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7ZG99IGF0ICgwLDApIHNpemUg
MHgwIFtiZ2NvbG9yPSNEM0QzRDNdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtwcmV2fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgIFJlbmRlckJsb2NrIHtjYXJkfSBhdCAo
OCwxNikgc2l6ZSA3ODR4ODYKSW5kZXg6IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9kby1lbGVtZW50
LW9wdGlvbmFsLWF0dHItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KSW5kZXg6IHBsYXRmb3JtL21hYy9mYXN0L3dtbC9lcnItaW52YWxpZC1sb2Nh
dGlvbi1mb3ItdmFycmVmLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9tYWMv
ZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRpb24tZm9yLXZhcnJlZi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDM4ODMzKQorKysgcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0
aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIwICsxLDMw
IEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDg0Ci0gIFJlbmRlckJsb2NrIHt3
bWx9IGF0ICgwLDApIHNpemUgODAweDg0Ci0gICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4LDE2
KSBzaXplIDc4NHg1MgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE4
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzMXgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIzMTogIlRlc3QgZm9yIHZhcmlhYmxlIHJlZmVy
ZW5jZSB2YWxpZGF0aW9uIgotICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDM0KSBzaXplIDc4
NHgxOAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2NDV4MTgKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2NDU6ICJBbiBlcnJvciB3aWxsIG9jY3Vy
IHdoZW4gbG9hZGluZyB0aGUgY2FyZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSByZWZlcmVuY2UgaXMg
cGxhY2VkIGluIGEgaW52YWxpZCBsb2NhdGlvbiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDY4KSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7ZG99IGF0ICgw
LDApIHNpemUgMHgwIFtiZ2NvbG9yPSNEM0QzRDNdCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgy
NjAKKyAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDI2MAorICAgIFJlbmRl
ckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgyMzYKKyAgICAgIFJlbmRlckJsb2NrIHtw
YXJzZXJlcnJvcn0gYXQgKDE2LDApIHNpemUgNzUyeDEzNCBbYmdjb2xvcj0jRkZEREREXSBbYm9y
ZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQorICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgx
OCwyMCkgc2l6ZSA3MTZ4MjIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAzMjR4MjIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMyNDogIlRo
aXMgcGFnZSBjb250YWlucyB0aGUgZm9sbG93aW5nIGVycm9yczoiCisgICAgICAgIFJlbmRlckJs
b2NrIHtkaXZ9IGF0ICgxOCw2MCkgc2l6ZSA3MTZ4MTQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDl4MTQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDc0OTogImVycm9yIG9uIGxpbmUgOSBhdCBjb2x1bW4gNDY6IEEgdmFyaWFibGUgcmVm
ZXJlbmNlIHVzZXMgaW52YWxpZCBzeW50YXggb3IgaXMgcGxhY2VkIGluIGFuIGludmFsaWQgbG9j
YXRpb24uIgorICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0ICgxOCw5Mikgc2l6ZSA3MTZ4MjIK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0Mjl4MjIKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQyOTogIkJlbG93IGlzIGEgcmVuZGVyaW5n
IG9mIHRoZSBwYWdlIHVwIHRvIHRoZSBmaXJzdCBlcnJvci4iCisgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMCwxNTApIHNpemUgNzg0eDAKKyAgICAgICAgUmVuZGVySW5saW5lIHt3
bWx9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtyZWZyZXNofSBhdCAoMCwwKSBz
aXplIDB4MAotICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
Ci0gICAgICAgICAgICBSZW5kZXJJbmxpbmUge3NldHZhcn0gYXQgKDAsMCkgc2l6ZSAweDAKLSAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDE1MCkgc2l6ZSA3ODR4ODYKKyAgICAgICAgUmVuZGVyQmxvY2sge2NhcmR9IGF0ICg4
LDApIHNpemUgNzY4eDg2CisgICAgICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDApIHNpemUg
NzY4eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzF4
MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjMxOiAiVGVzdCBmb3Ig
dmFyaWFibGUgcmVmZXJlbmNlIHZhbGlkYXRpb24iCisgICAgICAgICAgUmVuZGVyQmxvY2sge3B9
IGF0ICgwLDM0KSBzaXplIDc2OHgxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjQ1eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDY0NTogIkFuIGVycm9yIHdpbGwgb2NjdXIgd2hlbiBsb2FkaW5nIHRoZSBjYXJkIGJlY2F1c2Ug
dGhlIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBwbGFjZWQgaW4gYSBpbnZhbGlkIGxvY2F0aW9uIgor
ICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDY4KSBzaXplIDc2OHgxOAor
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtkb30gYXQgKDAsMCkgc2l6ZSAweDE4IFtiZ2NvbG9y
PSNDMEMwQzBdCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyNDQpIHNpemUg
Nzg0eDAKKyAgICAgICAgUmVuZGVySW5saW5lIHt3bWx9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4
OiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZG8tdGVtcGxhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIHBsYXRmb3JtL21hYy9mYXN0L3dtbC9kby10ZW1wbGF0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDM4ODMzKQorKysgcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2RvLXRlbXBsYXRlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNSwxMCArNSw2IEBACiAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA4MDB4MAogICAgICAgUmVuZGVySW5saW5lIHt0ZW1w
bGF0ZX0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7ZG99IGF0ICgwLDApIHNpemUgMHgw
IFtiZ2NvbG9yPSNEM0QzRDNdCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtnb30gYXQgKDAsMCkgc2l6ZSAweDAK
LSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICBSZW5kZXJCbG9jayB7Y2FyZH0gYXQgKDgsMTYp
IHNpemUgNzg0eDEyMApJbmRleDogcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxv
Y2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZv
cm0vbWFjL2Zhc3Qvd21sL2Vyci1pbnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDM4ODMzKQorKysgcGxhdGZvcm0vbWFjL2Zhc3Qvd21sL2Vyci1p
bnZhbGlkLWxvY2F0aW9uLWZvci12YXJyZWYtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29w
eSkKQEAgLTEgKzEgQEAKLTE1N2ZlNDdjZDVhOGU3NzgwMzY4ZjZlN2ViNzZhNTUwClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorODdhZTBkZDk5MThlNzE0OWQyYTFhM2ZkMGU4ZTc4MmEKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJy
LXNhbWVuYW1lLWRvLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCkluZGV4OiBwbGF0Zm9ybS9tYWMvZmFzdC93bWwvZXJyLWludmFsaWQtbG9jYXRp
b24tZm9yLXZhcnJlZi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmls
ZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQo=
</data>
<flag name="review"
          id="11907"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>