<?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>16693</bug_id>
          
          <creation_ts>2008-01-01 01:32:34 -0800</creation_ts>
          <short_desc>Acid3 expects WebKit to raise exceptions for invalid qualified names (affects Acid3 test 25)</short_desc>
          <delta_ts>2019-02-06 09:04:04 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/REC-xml-names/#ns-qualnames</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>16833</dependson>
          <blocked>17064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65880</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-01 01:32:34 -0800</bug_when>
    <thetext>Acid3 expects WebKit to raise exceptions for invalid qualified names

At least qualified names passed to:
document.implementation.createDocumentType

The bug is in DOMImplementation.cpp:

// FIXME: An implementation of this is still waiting for me to understand the distinction between
// a &quot;malformed&quot; qualified name and one with bad characters in it. For example, is a second colon
// an illegal character or a malformed qualified name? This will determine both what parameters
// this function needs to take and exactly what it will do. Should also be exported so that
// Element can use it too.
static bool qualifiedNameIsMalformed(const String&amp;)
{
    return false;
}

The qualified name parsing rules are actually pretty easy:

http://www.w3.org/TR/REC-xml-names/#ns-qualnames

I think we can fix this to make it spec-compliant w/o raising any compatibility concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65964</commentid>
    <comment_count>1</comment_count>
      <attachid>18230</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-01 18:07:54 -0800</bug_when>
    <thetext>Created attachment 18230
Test case for createDocumentType

 .../dom/DOMImplementation/createDocumentType.html  |   13 +++++++++++++
 .../dom/DOMImplementation/resources/TEMPLATE.html  |   13 +++++++++++++
 .../resources/createDocumentType.js                |   14 ++++++++++++++
 3 files changed, 40 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65965</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-01 18:09:03 -0800</bug_when>
    <thetext>A more complicated test case could be created. But the one I attached at least shows the bug.  We should probably actually check the type of exception thrown, but I didn&apos;t see a good should* function to check that.

Firefox passes all of the subtests in this test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68719</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-29 14:56:58 -0800</bug_when>
    <thetext>*** Bug 17074 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69932</commentid>
    <comment_count>4</comment_count>
      <attachid>19020</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2008-02-09 12:01:00 -0800</bug_when>
    <thetext>Created attachment 19020
first attempt

This patch incorporates and passes Erics testcase as well as the acid3 test.
Note that in most cases the check could be done inside parseQualifiedName too, though createAttributeNS is a bit different here. To pass the tests this suffices though, and there are no regressions in the current layout tests.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69933</commentid>
    <comment_count>5</comment_count>
      <attachid>19020</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-09 13:26:49 -0800</bug_when>
    <thetext>Comment on attachment 19020
first attempt

Looks like you have tabs in Document.cpp

Document:: functions don&apos;t need to use Document:: to reference static methods in the same class.

Since you&apos;re changing method behavior in Element, you will need to add tests for the changed behavior.  (Similar to what was added by bug 16833.)  One probably which will probably stop this bug as well is that createElement calls createElementNS (caused the regression that caused bug 16833 to get rolled out).  Likewise setAttribute might be calling setAtributeNS.  That means that this patch would not only need to test createElementNS and setAttributeNS, but also createElement and setAttribute (it&apos;s the lack of testing of those two which is currently blocking bug 16833 from completion).

r- w/o more test cases to prove this is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69934</commentid>
    <comment_count>6</comment_count>
      <attachid>19020</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-02-09 13:27:18 -0800</bug_when>
    <thetext>Comment on attachment 19020
first attempt

(Thank you for the patch btw.)  It&apos;s always great to see you pop out of the woodwork and throw up a patch here and there. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74780</commentid>
    <comment_count>7</comment_count>
      <attachid>19964</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-22 02:20:11 -0700</bug_when>
    <thetext>Created attachment 19964
Unify handling of NAMESPACE_ERR and fix Acid3 test 25

 .../createAttributeNS-namespace-err-expected.txt   |    8 +-
 .../createElementNS-namespace-err-expected.txt     |    8 +-
 WebCore/dom/DOMImplementation.cpp                  |   77 ++++----------------
 WebCore/dom/DOMImplementation.idl                  |    6 +-
 WebCore/dom/Document.cpp                           |   51 ++++++++------
 WebCore/dom/Document.h                             |    9 ++-
 WebCore/dom/Element.cpp                            |    8 +-
 WebCore/editing/FormatBlockCommand.cpp             |    9 ++-
 8 files changed, 72 insertions(+), 104 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74781</commentid>
    <comment_count>8</comment_count>
      <attachid>19964</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-03-22 02:21:48 -0700</bug_when>
    <thetext>Comment on attachment 19964
Unify handling of NAMESPACE_ERR and fix Acid3 test 25

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74792</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-22 02:52:11 -0700</bug_when>
    <thetext>r31231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74793</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-03-22 02:52:33 -0700</bug_when>
    <thetext>r31231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503092</commentid>
    <comment_count>11</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:04:04 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18230</attachid>
            <date>2008-01-01 18:07:54 -0800</date>
            <delta_ts>2008-01-01 18:07:54 -0800</delta_ts>
            <desc>Test case for createDocumentType</desc>
            <filename>Test-case-for-createDocumentType.patch</filename>
            <type>text/plain</type>
            <size>2507</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZWQ5YTEwZmYwZDEzMGEwZTk4NGFkMDRiMDg2MTZkNzE0ODQ2MWY2NwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVtZW50YXRpb24vY3JlYXRlRG9jdW1lbnRUeXBlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9jcmVhdGVEb2N1bWVu
dFR5cGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTdhODhiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVtZW50YXRpb24v
Y3JlYXRlRG9jdW1lbnRUeXBlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jcmVhdGVEb2N1bWVudFR5
cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVtZW50YXRpb24vcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9yZXNvdXJjZXMvVEVNUExB
VEUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTUxYzQzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVtZW50YXRpb24vcmVz
b3VyY2VzL1RFTVBMQVRFLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RP
TUltcGxlbWVudGF0aW9uL3Jlc291cmNlcy9jcmVhdGVEb2N1bWVudFR5cGUuanMgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9yZXNvdXJjZXMvY3JlYXRlRG9jdW1lbnRU
eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZDk3ZDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9yZXNv
dXJjZXMvY3JlYXRlRG9jdW1lbnRUeXBlLmpzCkBAIC0wLDAgKzEsMTQgQEAKK3ZhciBkb21JbXBs
ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb247CisKK3Nob3VsZFRocm93KCJkb21JbXBsLmNyZWF0
ZURvY3VtZW50VHlwZSgnYTonLCAnJywgJycpIik7CitzaG91bGRUaHJvdygiZG9tSW1wbC5jcmVh
dGVEb2N1bWVudFR5cGUoJzpmb28nLCAnJywgJycpIik7CitzaG91bGRUaHJvdygiZG9tSW1wbC5j
cmVhdGVEb2N1bWVudFR5cGUoJzonLCAnJywgJycpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvbUltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKCdmb28nLCAnJywgJycpLnRvU3RyaW5nKCkiLCAi
W29iamVjdCBEb2N1bWVudFR5cGVdIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvbUltcGwu
Y3JlYXRlRG9jdW1lbnRUeXBlKCdmb286YmFyJywgJycsICcnKS50b1N0cmluZygpIiwgIltvYmpl
Y3QgRG9jdW1lbnRUeXBlXSIpOworc2hvdWxkVGhyb3coImRvbUltcGwuY3JlYXRlRG9jdW1lbnRU
eXBlKCdmb286OmJhcicsICcnLCAnJykiKTsKK3Nob3VsZFRocm93KCJkb21JbXBsLmNyZWF0ZURv
Y3VtZW50VHlwZSgnXHQ6Zm9vJywgJycsICcnKSIpOworc2hvdWxkVGhyb3coImRvbUltcGwuY3Jl
YXRlRG9jdW1lbnRUeXBlKCdmb286XHQnLCAnJywgJycpIik7CitzaG91bGRUaHJvdygiZG9tSW1w
bC5jcmVhdGVEb2N1bWVudFR5cGUoJ2ZvbyA6YmFyJywgJycsICcnKSIpOworc2hvdWxkVGhyb3co
ImRvbUltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKCdmb286IGJhcicsICcnLCAnJykiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19020</attachid>
            <date>2008-02-09 12:01:00 -0800</date>
            <delta_ts>2008-02-09 13:26:49 -0800</delta_ts>
            <desc>first attempt</desc>
            <filename>16693.diff</filename>
            <type>text/plain</type>
            <size>9825</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMDEwOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDgtMDItMDkgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAxNjY5Mzog
QWNpZDMgZXhwZWN0cyBXZWJLaXQgdG8gcmFpc2UgZXhjZXB0aW9ucyBmb3IgaW52YWxpZCBxdWFs
aWZpZWQgbmFtZXMKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY2OTMKKworICAgICAgICBJbXBsZW1lbnQgcXVhbGlmaWVkTmFtZUlzTWFsZm9ybWVkIHRv
IGNoZWNrIGZvciBtYWxmb3JtZWQgcXVhbGlmaWVkIG5hbWVzIGFuZAorICAgICAgICBtb3ZlIGl0
IHNvIHRoZSBjaGVjayBjYW4gYmUgZG9uZSBpbiBET00gbWV0aG9kcyB3aGVyZSB0aGUgc3BlY2lm
aWNhdGlvbiBzYXlzCisgICAgICAgIGEgY2hlY2sgbXVzdCBiZSBkb25lLgorCisgICAgICAgICog
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUltcGxlbWVu
dGF0aW9uOjpjcmVhdGVEb2N1bWVudFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVt
ZW50YXRpb246OmNyZWF0ZURvY3VtZW50KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUVsZW1lbnROUyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cXVhbGlmaWVkTmFtZUlzTWFsZm9ybWVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjpjcmVhdGVBdHRyaWJ1dGVOUyk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6c2V0QXR0cmlidXRlTlMpOgorCiAyMDA4LTAyLTA3ICBLZXZpbiBPbGxpdmllciA8a2V2
aW5vQHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWws
IEFkYW0gUm9iZW4uCkluZGV4OiBXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCShyZXZpc2lvbiAz
MDEwOSkKKysrIFdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTIsMTYgKzUyLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0vLyBGSVhNRTog
QW4gaW1wbGVtZW50YXRpb24gb2YgdGhpcyBpcyBzdGlsbCB3YWl0aW5nIGZvciBtZSB0byB1bmRl
cnN0YW5kIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuCi0vLyBhICJtYWxmb3JtZWQiIHF1YWxpZmll
ZCBuYW1lIGFuZCBvbmUgd2l0aCBiYWQgY2hhcmFjdGVycyBpbiBpdC4gRm9yIGV4YW1wbGUsIGlz
IGEgc2Vjb25kIGNvbG9uCi0vLyBhbiBpbGxlZ2FsIGNoYXJhY3RlciBvciBhIG1hbGZvcm1lZCBx
dWFsaWZpZWQgbmFtZT8gVGhpcyB3aWxsIGRldGVybWluZSBib3RoIHdoYXQgcGFyYW1ldGVycwot
Ly8gdGhpcyBmdW5jdGlvbiBuZWVkcyB0byB0YWtlIGFuZCBleGFjdGx5IHdoYXQgaXQgd2lsbCBk
by4gU2hvdWxkIGFsc28gYmUgZXhwb3J0ZWQgc28gdGhhdAotLy8gRWxlbWVudCBjYW4gdXNlIGl0
IHRvby4KLXN0YXRpYyBib29sIHF1YWxpZmllZE5hbWVJc01hbGZvcm1lZChjb25zdCBTdHJpbmcm
KQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogI2lmIEVOQUJMRShTVkcpCiAKIHN0YXRpYyB2
b2lkIGFkZFN0cmluZyhIYXNoU2V0PFN0cmluZywgQ2FzZUZvbGRpbmdIYXNoPiYgc2V0LCBjb25z
dCBjaGFyKiBzdHJpbmcpCkBAIC0yMjAsNyArMjEwLDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudFR5
cGU+IERPTUltcGxlbWVudGF0aQogICAgIH0KIAogICAgIC8vIE5BTUVTUEFDRV9FUlI6IFJhaXNl
ZCBpZiB0aGUgcXVhbGlmaWVkTmFtZSBpcyBtYWxmb3JtZWQuCi0gICAgaWYgKHF1YWxpZmllZE5h
bWVJc01hbGZvcm1lZChxdWFsaWZpZWROYW1lKSkgeworICAgIGlmIChEb2N1bWVudDo6cXVhbGlm
aWVkTmFtZUlzTWFsZm9ybWVkKHF1YWxpZmllZE5hbWUpKSB7CiAgICAgICAgIGVjID0gTkFNRVNQ
QUNFX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjUyLDcgKzI0Miw3IEBAIFBh
c3NSZWZQdHI8RG9jdW1lbnQ+IERPTUltcGxlbWVudGF0aW9uOjoKICAgICAgICAgLy8gLSBpZiB0
aGUgcXVhbGlmaWVkTmFtZSBoYXMgYSBwcmVmaXggdGhhdCBpcyAieG1sIiBhbmQgdGhlIG5hbWVz
cGFjZVVSSSBpcyBkaWZmZXJlbnQKICAgICAgICAgLy8gICBmcm9tICJodHRwOi8vd3d3LnczLm9y
Zy9YTUwvMTk5OC9uYW1lc3BhY2UiIFtOYW1lc3BhY2VzXS4KICAgICAgICAgaW50IGNvbG9ucG9z
ID0gcXVhbGlmaWVkTmFtZS5maW5kKCc6Jyk7ICAgIAotICAgICAgICBpZiAocXVhbGlmaWVkTmFt
ZUlzTWFsZm9ybWVkKHF1YWxpZmllZE5hbWUpIHx8CisgICAgICAgIGlmIChEb2N1bWVudDo6cXVh
bGlmaWVkTmFtZUlzTWFsZm9ybWVkKHF1YWxpZmllZE5hbWUpIHx8CiAgICAgICAgICAgICAoY29s
b25wb3MgPj0gMCAmJiBuYW1lc3BhY2VVUkkuaXNOdWxsKCkpIHx8CiAgICAgICAgICAgICAoY29s
b25wb3MgPT0gMyAmJiBxdWFsaWZpZWROYW1lWzBdID09ICd4JyAmJiBxdWFsaWZpZWROYW1lWzFd
ID09ICdtJyAmJiBxdWFsaWZpZWROYW1lWzJdID09ICdsJyAmJgogI2lmIEVOQUJMRShTVkcpCklu
ZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCShyZXZpc2lvbiAzMDEwOSkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzM4LDYgKzczOCwxMiBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+
IERvY3VtZW50OjpjcmVhdGVFbGVtCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAorICAgIC8v
IE5BTUVTUEFDRV9FUlI6IFJhaXNlZCBpZiB0aGUgcXVhbGlmaWVkTmFtZSBpcyBtYWxmb3JtZWQu
CisgICAgaWYgKERvY3VtZW50OjpxdWFsaWZpZWROYW1lSXNNYWxmb3JtZWQocXVhbGlmaWVkTmFt
ZSkpIHsKKyAgICAgICAgZWMgPSBOQU1FU1BBQ0VfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisKICAgICBSZWZQdHI8RWxlbWVudD4gZTsKICAgICBRdWFsaWZpZWROYW1lIHFOYW1lID0g
UXVhbGlmaWVkTmFtZShBdG9taWNTdHJpbmcocHJlZml4KSwgQXRvbWljU3RyaW5nKGxvY2FsTmFt
ZSksIEF0b21pY1N0cmluZyhfbmFtZXNwYWNlVVJJKSk7CiAgICAgCkBAIC0yNzM1LDYgKzI3NDEs
MTUgQEAgYm9vbCBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKGNvbnN0IAogICAgIHJldHVy
biB0cnVlOwogfQogCitib29sIERvY3VtZW50OjpxdWFsaWZpZWROYW1lSXNNYWxmb3JtZWQoY29u
c3QgU3RyaW5nJiBuYW1lKQoreworICAgIGludCBjb2xvbnBvcyA9IG5hbWUuZmluZCgnOicpOwor
ICAgIGlmIChjb2xvbnBvcyA9PSAwIHx8IGNvbG9ucG9zID09IGludChuYW1lLmxlbmd0aCgpKSAt
IDEpCisJcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgRG9jdW1l
bnQ6OmFkZEltYWdlTWFwKEhUTUxNYXBFbGVtZW50KiBpbWFnZU1hcCkKIHsKICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUgPSBpbWFnZU1hcC0+Z2V0TmFtZSgpOwpAQCAtMzQyNiw3ICszNDQx
LDEzIEBAIFBhc3NSZWZQdHI8QXR0cj4gRG9jdW1lbnQ6OmNyZWF0ZUF0dHJpYnUKICAgICAgICAg
ZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAg
ICAKKworICAgIC8vIE5BTUVTUEFDRV9FUlI6IFJhaXNlZCBpZiB0aGUgcXVhbGlmaWVkTmFtZSBp
cyBtYWxmb3JtZWQuCisgICAgaWYgKHF1YWxpZmllZE5hbWVJc01hbGZvcm1lZChxdWFsaWZpZWRO
YW1lKSkgeworICAgICAgICBlYyA9IE5BTUVTUEFDRV9FUlI7CisgICAgICAgIHJldHVybiAwOwor
ICAgIH0KKwogICAgIC8vIEZJWE1FOiBBc3N1bWUgdGhpcyBpcyBhIG1hcHBlZCBhdHRyaWJ1dGUs
IHNpbmNlIGNyZWF0ZUF0dHJpYnV0ZSBpc24ndCBuYW1lc3BhY2UtYXdhcmUuICBUaGVyZSdzIG5v
IGhhcm0gdG8gWE1MCiAgICAgLy8gZG9jdW1lbnRzIGlmIHdlJ3JlIHdyb25nLgogICAgIHJldHVy
biBuZXcgQXR0cigwLCB0aGlzLCBuZXcgTWFwcGVkQXR0cmlidXRlKFF1YWxpZmllZE5hbWUocHJl
Zml4LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksIFN0cmluZ0ltcGw6OmVtcHR5KCkpKTsKSW5k
ZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAkocmV2aXNpb24gMzAxMDkpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01ODIsNiArNTgyLDggQEAgcHVibGljOgogICAgIC8vIChlbXB0eSBzdHJp
bmcgb3IgaW52YWxpZCBjaGFyYWN0ZXJzKS4KICAgICBzdGF0aWMgYm9vbCBwYXJzZVF1YWxpZmll
ZE5hbWUoY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBTdHJpbmcmIHByZWZpeCwgU3RyaW5n
JiBsb2NhbE5hbWUpOwogICAgIAorICAgIHN0YXRpYyBib29sIHF1YWxpZmllZE5hbWVJc01hbGZv
cm1lZChjb25zdCBTdHJpbmcmKTsKKwogICAgIHZvaWQgYWRkRWxlbWVudEJ5SWQoY29uc3QgQXRv
bWljU3RyaW5nJiBlbGVtZW50SWQsIEVsZW1lbnQgKmVsZW1lbnQpOwogICAgIHZvaWQgcmVtb3Zl
RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50SWQsIEVsZW1lbnQgKmVsZW1l
bnQpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMzAxMDkpCisrKyBXZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzMyw2ICsxMDMzLDEyIEBAIHZvaWQgRWxlbWVu
dDo6c2V0QXR0cmlidXRlTlMoY29uc3QgU3RyaW4KICAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJB
Q1RFUl9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgLy8gTkFNRVNQQUNFX0VSUjog
UmFpc2VkIGlmIHRoZSBxdWFsaWZpZWROYW1lIGlzIG1hbGZvcm1lZC4KKyAgICBpZiAoRG9jdW1l
bnQ6OnF1YWxpZmllZE5hbWVJc01hbGZvcm1lZChxdWFsaWZpZWROYW1lKSkgeworICAgICAgICBl
YyA9IE5BTUVTUEFDRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBzZXRBdHRy
aWJ1dGUoUXVhbGlmaWVkTmFtZShwcmVmaXgsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSwgdmFs
dWUuaW1wbCgpLCBlYyk7CiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDMwMTA5KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMDIt
MDkgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RjYXNlIGZvcjoKKyAgICAgICAgQnVnIDE2NjkzOiBB
Y2lkMyBleHBlY3RzIFdlYktpdCB0byByYWlzZSBleGNlcHRpb25zIGZvciBpbnZhbGlkIHF1YWxp
ZmllZCBuYW1lcworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjY5MworCisgICAgICAgICogZmFzdC9kb20vRE9NSW1wbGVtZW50YXRpb246IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0RPTUltcGxlbWVudGF0aW9uL2NyZWF0ZURvY3VtZW50VHlwZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RPTUltcGxlbWVudGF0aW9u
L2NyZWF0ZURvY3VtZW50VHlwZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9ET01J
bXBsZW1lbnRhdGlvbi9yZXNvdXJjZXM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RPTUlt
cGxlbWVudGF0aW9uL3Jlc291cmNlcy9jcmVhdGVEb2N1bWVudFR5cGUuanM6IEFkZGVkLgorCiAy
MDA4LTAyLTA4ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgTWFjaWVqLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVtZW50
YXRpb24vY3JlYXRlRG9jdW1lbnRUeXBlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9jcmVhdGVEb2N1bWVudFR5cGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NSW1wbGVt
ZW50YXRpb24vY3JlYXRlRG9jdW1lbnRUeXBlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNCBAQAorUEFTUyBkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnYTonLCAnJywg
JycpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTkFNRVNQQUNFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
NC4KK1BBU1MgZG9tSW1wbC5jcmVhdGVEb2N1bWVudFR5cGUoJzpmb28nLCAnJywgJycpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogTkFNRVNQQUNFX0VSUjogRE9NIEV4Y2VwdGlvbiAxNC4KK1BBU1Mg
ZG9tSW1wbC5jcmVhdGVEb2N1bWVudFR5cGUoJzonLCAnJywgJycpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogTkFNRVNQQUNFX0VSUjogRE9NIEV4Y2VwdGlvbiAxNC4KK1BBU1MgZG9tSW1wbC5jcmVh
dGVEb2N1bWVudFR5cGUoJ2ZvbycsICcnLCAnJykudG9TdHJpbmcoKSBpcyAiW29iamVjdCBEb2N1
bWVudFR5cGVdIgorUEFTUyBkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOmJhcicsICcn
LCAnJykudG9TdHJpbmcoKSBpcyAiW29iamVjdCBEb2N1bWVudFR5cGVdIgorUEFTUyBkb21JbXBs
LmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOjpiYXInLCAnJywgJycpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9DSEFSQUNURVJfRVJSOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGRvbUlt
cGwuY3JlYXRlRG9jdW1lbnRUeXBlKCcJOmZvbycsICcnLCAnJykgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZG9tSW1w
bC5jcmVhdGVEb2N1bWVudFR5cGUoJ2ZvbzoJJywgJycsICcnKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IElOVkFMSURfQ0hBUkFDVEVSX0VSUjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBkb21JbXBs
LmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vIDpiYXInLCAnJywgJycpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSU5WQUxJRF9DSEFSQUNURVJfRVJSOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGRvbUlt
cGwuY3JlYXRlRG9jdW1lbnRUeXBlKCdmb286IGJhcicsICcnLCAnJykgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJTlZBTElEX0NIQVJBQ1RFUl9FUlI6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9jcmVhdGVEb2N1bWVudFR5cGUuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlvbi9jcmVh
dGVEb2N1bWVudFR5cGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L0RPTUltcGxlbWVudGF0aW9uL2NyZWF0ZURvY3VtZW50VHlwZS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2NyZWF0ZURvY3VtZW50VHlwZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRhdGlv
bi9yZXNvdXJjZXMvY3JlYXRlRG9jdW1lbnRUeXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL0RPTUltcGxlbWVudGF0aW9uL3Jlc291cmNlcy9jcmVhdGVEb2N1bWVudFR5
cGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01JbXBsZW1lbnRh
dGlvbi9yZXNvdXJjZXMvY3JlYXRlRG9jdW1lbnRUeXBlLmpzCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE0IEBACit2YXIgZG9tSW1wbCA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uOworCitzaG91
bGRUaHJvdygiZG9tSW1wbC5jcmVhdGVEb2N1bWVudFR5cGUoJ2E6JywgJycsICcnKSIpOworc2hv
dWxkVGhyb3coImRvbUltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKCc6Zm9vJywgJycsICcnKSIpOwor
c2hvdWxkVGhyb3coImRvbUltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKCc6JywgJycsICcnKSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vJywg
JycsICcnKS50b1N0cmluZygpIiwgIltvYmplY3QgRG9jdW1lbnRUeXBlXSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOmJhcicsICcnLCAn
JykudG9TdHJpbmcoKSIsICJbb2JqZWN0IERvY3VtZW50VHlwZV0iKTsKK3Nob3VsZFRocm93KCJk
b21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOjpiYXInLCAnJywgJycpIik7CitzaG91bGRU
aHJvdygiZG9tSW1wbC5jcmVhdGVEb2N1bWVudFR5cGUoJ1x0OmZvbycsICcnLCAnJykiKTsKK3No
b3VsZFRocm93KCJkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOlx0JywgJycsICcnKSIp
Oworc2hvdWxkVGhyb3coImRvbUltcGwuY3JlYXRlRG9jdW1lbnRUeXBlKCdmb28gOmJhcicsICcn
LCAnJykiKTsKK3Nob3VsZFRocm93KCJkb21JbXBsLmNyZWF0ZURvY3VtZW50VHlwZSgnZm9vOiBi
YXInLCAnJywgJycpIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="8316"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19964</attachid>
            <date>2008-03-22 02:20:11 -0700</date>
            <delta_ts>2008-03-22 02:21:48 -0700</delta_ts>
            <desc>Unify handling of NAMESPACE_ERR and fix Acid3 test 25</desc>
            <filename>Unify-handling-of-NAMESPACE_ERR-and-fix-Acid3-test-25.patch</filename>
            <type>text/plain</type>
            <size>16908</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">YmU2MjNmYWM1M2RlYjFjODRhZWEzZjVhNDIxNzlhMjE3ODkwMTEwNgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvY3JlYXRlQXR0cmlidXRlTlMtbmFtZXNwYWNlLWVy
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9jcmVhdGVBdHRy
aWJ1dGVOUy1uYW1lc3BhY2UtZXJyLWV4cGVjdGVkLnR4dAppbmRleCBjY2RmMjU2Li5mMDJjYTU1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9jcmVhdGVBdHRyaWJ1
dGVOUy1uYW1lc3BhY2UtZXJyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9jcmVhdGVBdHRyaWJ1dGVOUy1uYW1lc3BhY2UtZXJyLWV4cGVjdGVkLnR4dApA
QCAtMjgsMTAgKzI4LDEwIEBAIFBBU1MgY3JlYXRlQXR0cmlidXRlTlMobnVsbCwgImRpdjoiKTsg
dGhyZXcgTkFNRVNQQUNFX0VSUgogUEFTUyBjcmVhdGVBdHRyaWJ1dGVOUygiaHR0cDovL2V4YW1w
bGUuY29tLyIsICI6ZGl2Iik7IHRocmV3IE5BTUVTUEFDRV9FUlIKIFBBU1MgY3JlYXRlQXR0cmli
dXRlTlMoImh0dHA6Ly9leGFtcGxlLmNvbS8iLCAiZGl2OiIpOyB0aHJldyBOQU1FU1BBQ0VfRVJS
CiBQQVNTIGNyZWF0ZUF0dHJpYnV0ZU5TKG51bGwsICJkOml2Iik7IHRocmV3IE5BTUVTUEFDRV9F
UlIKLUZBSUwgY3JlYXRlQXR0cmlidXRlTlMobnVsbCwgImE6YjpjIik7IHZhbGlkIFhNTCBuYW1l
LCBpbnZhbGlkIFFOYW1lOyBleHBlY3RlZCBOQU1FU1BBQ0VfRVJSLCB0aHJldyBJTlZBTElEX0NI
QVJBQ1RFUl9FUlIKLUZBSUwgY3JlYXRlQXR0cmlidXRlTlMoImh0dHA6Ly9leGFtcGxlLmNvbS8i
LCAiYTpiOmMiKTsgdmFsaWQgWE1MIG5hbWUsIGludmFsaWQgUU5hbWU7IGV4cGVjdGVkIE5BTUVT
UEFDRV9FUlIsIHRocmV3IElOVkFMSURfQ0hBUkFDVEVSX0VSUgotRkFJTCBjcmVhdGVBdHRyaWJ1
dGVOUyhudWxsLCAiYTo6YyIpOyB2YWxpZCBYTUwgbmFtZSwgaW52YWxpZCBRTmFtZTsgZXhwZWN0
ZWQgTkFNRVNQQUNFX0VSUiwgdGhyZXcgSU5WQUxJRF9DSEFSQUNURVJfRVJSCi1GQUlMIGNyZWF0
ZUF0dHJpYnV0ZU5TKCJodHRwOi8vZXhhbXBsZS5jb20vIiwgImE6OmMiKTsgdmFsaWQgWE1MIG5h
bWUsIGludmFsaWQgUU5hbWU7IGV4cGVjdGVkIE5BTUVTUEFDRV9FUlIsIHRocmV3IElOVkFMSURf
Q0hBUkFDVEVSX0VSUgorUEFTUyBjcmVhdGVBdHRyaWJ1dGVOUyhudWxsLCAiYTpiOmMiKTsgdmFs
aWQgWE1MIG5hbWUsIGludmFsaWQgUU5hbWU7IHRocmV3IE5BTUVTUEFDRV9FUlIKK1BBU1MgY3Jl
YXRlQXR0cmlidXRlTlMoImh0dHA6Ly9leGFtcGxlLmNvbS8iLCAiYTpiOmMiKTsgdmFsaWQgWE1M
IG5hbWUsIGludmFsaWQgUU5hbWU7IHRocmV3IE5BTUVTUEFDRV9FUlIKK1BBU1MgY3JlYXRlQXR0
cmlidXRlTlMobnVsbCwgImE6OmMiKTsgdmFsaWQgWE1MIG5hbWUsIGludmFsaWQgUU5hbWU7IHRo
cmV3IE5BTUVTUEFDRV9FUlIKK1BBU1MgY3JlYXRlQXR0cmlidXRlTlMoImh0dHA6Ly9leGFtcGxl
LmNvbS8iLCAiYTo6YyIpOyB2YWxpZCBYTUwgbmFtZSwgaW52YWxpZCBRTmFtZTsgdGhyZXcgTkFN
RVNQQUNFX0VSUgogUEFTUyBjcmVhdGVBdHRyaWJ1dGVOUygiaHR0cDovL2V4YW1wbGUuY29tLyIs
ICJhOjAiKTsgdmFsaWQgWE1MIG5hbWUsIG5vdCBhIHZhbGlkIFFOYW1lOyB0aHJldyBJTlZBTElE
X0NIQVJBQ1RFUl9FUlIKIFBBU1MgY3JlYXRlQXR0cmlidXRlTlMoImh0dHA6Ly9leGFtcGxlLmNv
bS8iLCAiMDphIik7IDAgYXQgc3RhcnQgbWFrZXMgaXQgbm90IGEgdmFsaWQgWE1MIG5hbWU7IHRo
cmV3IElOVkFMSURfQ0hBUkFDVEVSX0VSUgogUEFTUyBjcmVhdGVBdHRyaWJ1dGVOUygiaHR0cDov
L2V4YW1wbGUuY29tLyIsICJhOl8iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvY3JlYXRlRWxlbWVudE5TLW5hbWVzcGFjZS1lcnItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvY3JlYXRlRWxlbWVudE5TLW5hbWVzcGFjZS1lcnIt
ZXhwZWN0ZWQudHh0CmluZGV4IGNhYmFjOTkuLmY3ZWRhOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0RvY3VtZW50L2NyZWF0ZUVsZW1lbnROUy1uYW1lc3BhY2UtZXJyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9jcmVhdGVFbGVtZW50
TlMtbmFtZXNwYWNlLWVyci1leHBlY3RlZC50eHQKQEAgLTI5LDEwICsyOSwxMCBAQCBQQVNTIGNy
ZWF0ZUVsZW1lbnROUyhudWxsLCAiZGl2OiIpOyB0aHJldyBOQU1FU1BBQ0VfRVJSCiBQQVNTIGNy
ZWF0ZUVsZW1lbnROUygiaHR0cDovL2V4YW1wbGUuY29tLyIsICI6ZGl2Iik7IHRocmV3IE5BTUVT
UEFDRV9FUlIKIFBBU1MgY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vZXhhbXBsZS5jb20vIiwgImRp
djoiKTsgdGhyZXcgTkFNRVNQQUNFX0VSUgogUEFTUyBjcmVhdGVFbGVtZW50TlMobnVsbCwgImQ6
aXYiKTsgdGhyZXcgTkFNRVNQQUNFX0VSUgotRkFJTCBjcmVhdGVFbGVtZW50TlMobnVsbCwgImE6
YjpjIik7IHZhbGlkIFhNTCBuYW1lLCBpbnZhbGlkIFFOYW1lOyBleHBlY3RlZCBOQU1FU1BBQ0Vf
RVJSLCB0aHJldyBJTlZBTElEX0NIQVJBQ1RFUl9FUlIKLUZBSUwgY3JlYXRlRWxlbWVudE5TKCJo
dHRwOi8vZXhhbXBsZS5jb20vIiwgImE6YjpjIik7IHZhbGlkIFhNTCBuYW1lLCBpbnZhbGlkIFFO
YW1lOyBleHBlY3RlZCBOQU1FU1BBQ0VfRVJSLCB0aHJldyBJTlZBTElEX0NIQVJBQ1RFUl9FUlIK
LUZBSUwgY3JlYXRlRWxlbWVudE5TKG51bGwsICJhOjpjIik7IHZhbGlkIFhNTCBuYW1lLCBpbnZh
bGlkIFFOYW1lOyBleHBlY3RlZCBOQU1FU1BBQ0VfRVJSLCB0aHJldyBJTlZBTElEX0NIQVJBQ1RF
Ul9FUlIKLUZBSUwgY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vZXhhbXBsZS5jb20vIiwgImE6OmMi
KTsgdmFsaWQgWE1MIG5hbWUsIGludmFsaWQgUU5hbWU7IGV4cGVjdGVkIE5BTUVTUEFDRV9FUlIs
IHRocmV3IElOVkFMSURfQ0hBUkFDVEVSX0VSUgorUEFTUyBjcmVhdGVFbGVtZW50TlMobnVsbCwg
ImE6YjpjIik7IHZhbGlkIFhNTCBuYW1lLCBpbnZhbGlkIFFOYW1lOyB0aHJldyBOQU1FU1BBQ0Vf
RVJSCitQQVNTIGNyZWF0ZUVsZW1lbnROUygiaHR0cDovL2V4YW1wbGUuY29tLyIsICJhOmI6YyIp
OyB2YWxpZCBYTUwgbmFtZSwgaW52YWxpZCBRTmFtZTsgdGhyZXcgTkFNRVNQQUNFX0VSUgorUEFT
UyBjcmVhdGVFbGVtZW50TlMobnVsbCwgImE6OmMiKTsgdmFsaWQgWE1MIG5hbWUsIGludmFsaWQg
UU5hbWU7IHRocmV3IE5BTUVTUEFDRV9FUlIKK1BBU1MgY3JlYXRlRWxlbWVudE5TKCJodHRwOi8v
ZXhhbXBsZS5jb20vIiwgImE6OmMiKTsgdmFsaWQgWE1MIG5hbWUsIGludmFsaWQgUU5hbWU7IHRo
cmV3IE5BTUVTUEFDRV9FUlIKIFBBU1MgY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vZXhhbXBsZS5j
b20vIiwgImE6MCIpOyB2YWxpZCBYTUwgbmFtZSwgbm90IGEgdmFsaWQgUU5hbWU7IHRocmV3IElO
VkFMSURfQ0hBUkFDVEVSX0VSUgogUEFTUyBjcmVhdGVFbGVtZW50TlMoImh0dHA6Ly9leGFtcGxl
LmNvbS8iLCAiMDphIik7IDAgYXQgc3RhcnQgbWFrZXMgaXQgbm90IGEgdmFsaWQgWE1MIG5hbWU7
IHRocmV3IElOVkFMSURfQ0hBUkFDVEVSX0VSUgogUEFTUyBjcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly9leGFtcGxlLmNvbS8iLCAiYTpfIikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTUltcGxl
bWVudGF0aW9uLmNwcCBiL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAppbmRleCAz
ZTFkNGY0Li5iMzEzMzA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlv
bi5jcHAKKysrIGIvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwCkBAIC01MiwxNiAr
NTIsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIEZJWE1FOiBBbiBpbXBsZW1lbnRh
dGlvbiBvZiB0aGlzIGlzIHN0aWxsIHdhaXRpbmcgZm9yIG1lIHRvIHVuZGVyc3RhbmQgdGhlIGRp
c3RpbmN0aW9uIGJldHdlZW4KLS8vIGEgIm1hbGZvcm1lZCIgcXVhbGlmaWVkIG5hbWUgYW5kIG9u
ZSB3aXRoIGJhZCBjaGFyYWN0ZXJzIGluIGl0LiBGb3IgZXhhbXBsZSwgaXMgYSBzZWNvbmQgY29s
b24KLS8vIGFuIGlsbGVnYWwgY2hhcmFjdGVyIG9yIGEgbWFsZm9ybWVkIHF1YWxpZmllZCBuYW1l
PyBUaGlzIHdpbGwgZGV0ZXJtaW5lIGJvdGggd2hhdCBwYXJhbWV0ZXJzCi0vLyB0aGlzIGZ1bmN0
aW9uIG5lZWRzIHRvIHRha2UgYW5kIGV4YWN0bHkgd2hhdCBpdCB3aWxsIGRvLiBTaG91bGQgYWxz
byBiZSBleHBvcnRlZCBzbyB0aGF0Ci0vLyBFbGVtZW50IGNhbiB1c2UgaXQgdG9vLgotc3RhdGlj
IGJvb2wgcXVhbGlmaWVkTmFtZUlzTWFsZm9ybWVkKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCiAjaWYgRU5BQkxFKFNWRykKIAogc3RhdGljIHZvaWQgYWRkU3RyaW5n
KEhhc2hTZXQ8U3RyaW5nLCBDYXNlRm9sZGluZ0hhc2g+JiBzZXQsIGNvbnN0IGNoYXIqIHN0cmlu
ZykKQEAgLTIwNiwyNiArMTk2LDEwIEBAIGJvb2wgRE9NSW1wbGVtZW50YXRpb246Omhhc0ZlYXR1
cmUgKGNvbnN0IFN0cmluZyYgZmVhdHVyZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uCiBQYXNzUmVm
UHRyPERvY3VtZW50VHlwZT4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50VHlwZShj
b25zdCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsCiAgICAgY29uc3QgU3RyaW5nJiBwdWJsaWNJZCwg
Y29uc3QgU3RyaW5nJiBzeXN0ZW1JZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgLy8gTm90
IG1lbnRpb25lZCBpbiBzcGVjOiB0aHJvdyBOQU1FU1BBQ0VfRVJSIGlmIG5vIHF1YWxpZmllZE5h
bWUgc3VwcGxpZWQKLSAgICBpZiAocXVhbGlmaWVkTmFtZS5pc051bGwoKSkgewotICAgICAgICBl
YyA9IE5BTUVTUEFDRV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8vIElO
VkFMSURfQ0hBUkFDVEVSX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5h
bWUgY29udGFpbnMgYW4gaWxsZWdhbCBjaGFyYWN0ZXIuCiAgICAgU3RyaW5nIHByZWZpeCwgbG9j
YWxOYW1lOwotICAgIGlmICghRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShxdWFsaWZpZWRO
YW1lLCBwcmVmaXgsIGxvY2FsTmFtZSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RF
Ul9FUlI7CisgICAgaWYgKCFEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKHF1YWxpZmllZE5h
bWUsIHByZWZpeCwgbG9jYWxOYW1lLCBlYykpCiAgICAgICAgIHJldHVybiAwOwotICAgIH0KIAot
ICAgIC8vIE5BTUVTUEFDRV9FUlI6IFJhaXNlZCBpZiB0aGUgcXVhbGlmaWVkTmFtZSBpcyBtYWxm
b3JtZWQuCi0gICAgaWYgKHF1YWxpZmllZE5hbWVJc01hbGZvcm1lZChxdWFsaWZpZWROYW1lKSkg
ewotICAgICAgICBlYyA9IE5BTUVTUEFDRV9FUlI7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0K
LQotICAgIGVjID0gMDsKICAgICByZXR1cm4gbmV3IERvY3VtZW50VHlwZSh0aGlzLCAwLCBxdWFs
aWZpZWROYW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQpOwogfQogCkBAIC0yMzgsMzkgKzIxMiwxMSBA
QCBET01JbXBsZW1lbnRhdGlvbiogRE9NSW1wbGVtZW50YXRpb246OmdldEludGVyZmFjZShjb25z
dCBTdHJpbmcmIC8qZmVhdHVyZSovKSBjbwogUGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVt
ZW50YXRpb246OmNyZWF0ZURvY3VtZW50KGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLAogICAg
IGNvbnN0IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgRG9jdW1lbnRUeXBlKiBkb2N0eXBlLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKLSAgICBpZiAoIXF1YWxpZmllZE5hbWUuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIC8vIElOVkFMSURfQ0hBUkFDVEVSX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQg
cXVhbGlmaWVkIG5hbWUgY29udGFpbnMgYW4gaWxsZWdhbCBjaGFyYWN0ZXIuCi0gICAgICAgIFN0
cmluZyBwcmVmaXgsIGxvY2FsTmFtZTsKLSAgICAgICAgaWYgKCFEb2N1bWVudDo6cGFyc2VRdWFs
aWZpZWROYW1lKHF1YWxpZmllZE5hbWUsIHByZWZpeCwgbG9jYWxOYW1lKSkgewotICAgICAgICAg
ICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAg
ICAgICAgfQotCi0gICAgICAgIC8vIE5BTUVTUEFDRV9FUlI6Ci0gICAgICAgIC8vIC0gUmFpc2Vk
IGlmIHRoZSBxdWFsaWZpZWROYW1lIGlzIG1hbGZvcm1lZCwKLSAgICAgICAgLy8gLSBpZiB0aGUg
cXVhbGlmaWVkTmFtZSBoYXMgYSBwcmVmaXggYW5kIHRoZSBuYW1lc3BhY2VVUkkgaXMgbnVsbCwg
b3IKLSAgICAgICAgLy8gLSBpZiB0aGUgcXVhbGlmaWVkTmFtZSBoYXMgYSBwcmVmaXggdGhhdCBp
cyAieG1sIiBhbmQgdGhlIG5hbWVzcGFjZVVSSSBpcyBkaWZmZXJlbnQKLSAgICAgICAgLy8gICBm
cm9tICJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIFtOYW1lc3BhY2VzXS4K
LSAgICAgICAgaW50IGNvbG9ucG9zID0gcXVhbGlmaWVkTmFtZS5maW5kKCc6Jyk7ICAgIAotICAg
ICAgICBpZiAocXVhbGlmaWVkTmFtZUlzTWFsZm9ybWVkKHF1YWxpZmllZE5hbWUpIHx8Ci0gICAg
ICAgICAgICAoY29sb25wb3MgPj0gMCAmJiBuYW1lc3BhY2VVUkkuaXNOdWxsKCkpIHx8Ci0gICAg
ICAgICAgICAoY29sb25wb3MgPT0gMyAmJiBxdWFsaWZpZWROYW1lWzBdID09ICd4JyAmJiBxdWFs
aWZpZWROYW1lWzFdID09ICdtJyAmJiBxdWFsaWZpZWROYW1lWzJdID09ICdsJyAmJgotI2lmIEVO
QUJMRShTVkcpCi0gICAgICAgICAgICAgbmFtZXNwYWNlVVJJICE9IFNWR05hbWVzOjpzdmdOYW1l
c3BhY2VVUkkgJiYKLSNlbmRpZgotICAgICAgICAgICAgIG5hbWVzcGFjZVVSSSAhPSBYTUxOYW1l
czo6eG1sTmFtZXNwYWNlVVJJKSkgewotCi0gICAgICAgICAgICBlYyA9IE5BTUVTUEFDRV9FUlI7
Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgIH0KLSAgICAKICAgICAvLyBX
Uk9OR19ET0NVTUVOVF9FUlI6IFJhaXNlZCBpZiBkb2N0eXBlIGhhcyBhbHJlYWR5IGJlZW4gdXNl
ZCB3aXRoIGEgZGlmZmVyZW50IGRvY3VtZW50IG9yIHdhcwogICAgIC8vIGNyZWF0ZWQgZnJvbSBh
IGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbi4KLSAgICBpZiAoZG9jdHlwZSAmJiAoZG9jdHlwZS0+
ZG9jdW1lbnQoKSB8fCBkb2N0eXBlLT5pbXBsZW1lbnRhdGlvbigpICE9IHRoaXMpKSB7Ci0gICAg
ICAgIGVjID0gV1JPTkdfRE9DVU1FTlRfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Cisg
ICAgYm9vbCBzaG91bGRUaHJvd1dyb25nRG9jRXJyID0gZmFsc2U7CisgICAgaWYgKGRvY3R5cGUg
JiYgKGRvY3R5cGUtPmRvY3VtZW50KCkgfHwgZG9jdHlwZS0+aW1wbGVtZW50YXRpb24oKSAhPSB0
aGlzKSkKKyAgICAgICAgc2hvdWxkVGhyb3dXcm9uZ0RvY0VyciA9IHRydWU7CiAKICAgICBSZWZQ
dHI8RG9jdW1lbnQ+IGRvYzsKICNpZiBFTkFCTEUoU1ZHKQpAQCAtMjg3LDEwICsyMzMsMTkgQEAg
UGFzc1JlZlB0cjxEb2N1bWVudD4gRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KGNv
bnN0IFN0cmluZyYgbmFtZXNwYWNlVVIKICAgICBpZiAoZG9jdHlwZSkKICAgICAgICAgZG9jLT5h
ZGRDaGlsZChkb2N0eXBlKTsKIAotICAgIGlmICghcXVhbGlmaWVkTmFtZS5pc0VtcHR5KCkpCisg
ICAgaWYgKCFxdWFsaWZpZWROYW1lLmlzRW1wdHkoKSkgewogICAgICAgICBkb2MtPmFkZENoaWxk
KGRvYy0+Y3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZVVSSSwgcXVhbGlmaWVkTmFtZSwgZWMpKTsK
LSAgICAKLSAgICBlYyA9IDA7CisgICAgICAgIGlmIChlYyAhPSAwKQorICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgLy8gSGl4aWUncyBpbnRlcnByZXRhdGlvbiBvZiB0aGUgRE9N
IENvcmUgc3BlYyBzdWdnZXN0cyB3ZSBzaG91bGQgcHJlZmVyCisgICAgLy8gb3RoZXIgZXhjZXB0
aW9ucyB0byBXUk9OR19ET0NVTUVOVF9FUlIgKGJhc2VkIG9uIG9yZGVyIG1lbnRpb25lZCBpbiBz
cGVjKQorICAgIGlmIChzaG91bGRUaHJvd1dyb25nRG9jRXJyKSB7CisgICAgICAgIGVjID0gV1JP
TkdfRE9DVU1FTlRfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKICAgICByZXR1cm4g
ZG9jLnJlbGVhc2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50
YXRpb24uaWRsIGIvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCmluZGV4IDQzZDhj
MzMuLjk0ZDc1ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlk
bAorKysgYi9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwKQEAgLTMzLDkgKzMzLDkg
QEAgbW9kdWxlIGNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyCiAKLSAgICAgICAgW09s
ZFN0eWxlT2JqQ10gRG9jdW1lbnRUeXBlIGNyZWF0ZURvY3VtZW50VHlwZShpbiBET01TdHJpbmcg
cXVhbGlmaWVkTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBET01TdHJpbmcgcHVibGljSWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NU3RyaW5nIHN5c3RlbUlk
KQorICAgICAgICBbT2xkU3R5bGVPYmpDXSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRUeXBl
KGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcgcXVhbGlm
aWVkTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5n
IHB1YmxpY0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtDb252ZXJ0VW5kZWZpbmVkT3JOdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgc3lzdGVtSWQpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAg
W09sZFN0eWxlT2JqQ10gRG9jdW1lbnQgY3JlYXRlRG9jdW1lbnQoaW4gW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nXSBET01TdHJpbmcgbmFtZXNwYWNlVVJJLCAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBE
T01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjgyMWI3ZC4uMzExMzJjMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtNzE3LDE4ICs3MTcsMTQgQEAgUGFzc1JlZlB0cjxOb2RlPiBEb2N1bWVu
dDo6YWRvcHROb2RlKFBhc3NSZWZQdHI8Tm9kZT4gc291cmNlLCBFeGNlcHRpb25Db2RlJiBlYykK
ICAgICByZXR1cm4gc291cmNlOwogfQogCi1zdGF0aWMgYm9vbCBoYXNOYW1lc3BhY2VFcnJvcihj
b25zdCBRdWFsaWZpZWROYW1lJiBxTmFtZSkKK2Jvb2wgRG9jdW1lbnQ6Omhhc1ByZWZpeE5hbWVz
cGFjZU1pc21hdGNoKGNvbnN0IFF1YWxpZmllZE5hbWUmIHFOYW1lKQogewotICAgIHN0YXRpYyBj
b25zdCBBdG9taWNTdHJpbmcgeG1sbnNOYW1lc3BhY2VVUkkgPSAiaHR0cDovL3d3dy53My5vcmcv
MjAwMC94bWxucy8iOwotICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcgeG1sbnMgPSAieG1s
bnMiOwotICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcgeG1sID0gInhtbCI7CisgICAgc3Rh
dGljIGNvbnN0IEF0b21pY1N0cmluZyB4bWxuc05hbWVzcGFjZVVSSSgiaHR0cDovL3d3dy53My5v
cmcvMjAwMC94bWxucy8iKTsKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nIHhtbG5zKCJ4
bWxucyIpOworICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcgeG1sKCJ4bWwiKTsKIAogICAg
IC8vIFRoZXNlIGNoZWNrcyBhcmUgZnJvbSBET00gQ29yZSBMZXZlbCAyLCBjcmVhdGVFbGVtZW50
TlMKICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1Db3JlL2NvcmUuaHRt
bCNJRC1Eb2NDckVsTlMKLSAgICBpZiAocU5hbWUucHJlZml4KCkgPT0gZW1wdHlBdG9tKSAvLyBj
cmVhdGVFbGVtZW50TlMobnVsbCwgIjpkaXYiKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBp
ZiAocU5hbWUubG9jYWxOYW1lKCkuaXNFbXB0eSgpKSAvLyBjcmVhdGVFbGVtZW50TlMobnVsbCwg
IiIpLCBjcmVhdGVFbGVtZW50TlMobnVsbCwgbnVsbCksIGNyZWF0ZUVsZW1lbnROUygpCi0gICAg
ICAgIHJldHVybiB0cnVlOwogICAgIGlmICghcU5hbWUucHJlZml4KCkuaXNFbXB0eSgpICYmIHFO
YW1lLm5hbWVzcGFjZVVSSSgpLmlzTnVsbCgpKSAvLyBjcmVhdGVFbGVtZW50TlMobnVsbCwgImh0
bWw6ZGl2IikKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKHFOYW1lLnByZWZpeCgpID09
IHhtbCAmJiBxTmFtZS5uYW1lc3BhY2VVUkkoKSAhPSBYTUxOYW1lczo6eG1sTmFtZXNwYWNlVVJJ
KSAvLyBjcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLCAieG1sOmxhbmci
KQpAQCAtNzc3LDEzICs3NzMsMTEgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1bWVudDo6Y3Jl
YXRlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBxTmFtZSwgYm9vbCBjcmUKIFBhc3NSZWZQ
dHI8RWxlbWVudD4gRG9jdW1lbnQ6OmNyZWF0ZUVsZW1lbnROUyhjb25zdCBTdHJpbmcmIG5hbWVz
cGFjZVVSSSwgY29uc3QgU3RyaW5nJiBxdWFsaWZpZWROYW1lLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICBTdHJpbmcgcHJlZml4LCBsb2NhbE5hbWU7Ci0gICAgaWYgKCFwYXJzZVF1YWxpZmll
ZE5hbWUocXVhbGlmaWVkTmFtZSwgcHJlZml4LCBsb2NhbE5hbWUpKSB7Ci0gICAgICAgIGVjID0g
SU5WQUxJRF9DSEFSQUNURVJfRVJSOworICAgIGlmICghcGFyc2VRdWFsaWZpZWROYW1lKHF1YWxp
ZmllZE5hbWUsIHByZWZpeCwgbG9jYWxOYW1lLCBlYykpCiAgICAgICAgIHJldHVybiAwOwotICAg
IH0KIAogICAgIFF1YWxpZmllZE5hbWUgcU5hbWUocHJlZml4LCBsb2NhbE5hbWUsIG5hbWVzcGFj
ZVVSSSk7Ci0gICAgaWYgKGhhc05hbWVzcGFjZUVycm9yKHFOYW1lKSkgeworICAgIGlmIChoYXNQ
cmVmaXhOYW1lc3BhY2VNaXNtYXRjaChxTmFtZSkpIHsKICAgICAgICAgZWMgPSBOQU1FU1BBQ0Vf
RVJSOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0yODE5LDEyICsyODEzLDE0IEBAIGJv
b2wgRG9jdW1lbnQ6OmlzVmFsaWROYW1lKGNvbnN0IFN0cmluZyAmbmFtZSkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKGNvbnN0IFN0cmlu
ZyYgcXVhbGlmaWVkTmFtZSwgU3RyaW5nJiBwcmVmaXgsIFN0cmluZyYgbG9jYWxOYW1lKQorYm9v
bCBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKGNvbnN0IFN0cmluZyYgcXVhbGlmaWVkTmFt
ZSwgU3RyaW5nJiBwcmVmaXgsIFN0cmluZyYgbG9jYWxOYW1lLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICB1bnNpZ25lZCBsZW5ndGggPSBxdWFsaWZpZWROYW1lLmxlbmd0aCgpOwogCi0gICAg
aWYgKGxlbmd0aCA9PSAwKQorICAgIGlmIChsZW5ndGggPT0gMCkgeworICAgICAgICBlYyA9IElO
VkFMSURfQ0hBUkFDVEVSX0VSUjsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAg
IGJvb2wgbmFtZVN0YXJ0ID0gdHJ1ZTsKICAgICBib29sIHNhd0NvbG9uID0gZmFsc2U7CkBAIC0y
ODM1LDE4ICsyODMxLDI0IEBAIGJvb2wgRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShjb25z
dCBTdHJpbmcmIHF1YWxpZmllZE5hbWUsIFN0cmluZyYgcHJlZml4LCBTCiAgICAgICAgIFVDaGFy
MzIgYzsKICAgICAgICAgVTE2X05FWFQocywgaSwgbGVuZ3RoLCBjKQogICAgICAgICBpZiAoYyA9
PSAnOicpIHsKLSAgICAgICAgICAgIGlmIChzYXdDb2xvbikKKyAgICAgICAgICAgIGlmIChzYXdD
b2xvbikgeworICAgICAgICAgICAgICAgIGVjID0gTkFNRVNQQUNFX0VSUjsKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7IC8vIG11bHRpcGxlIGNvbG9uczogbm90IGFsbG93ZWQKKyAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIG5hbWVTdGFydCA9IHRydWU7CiAgICAgICAgICAgICBzYXdD
b2xvbiA9IHRydWU7CiAgICAgICAgICAgICBjb2xvblBvcyA9IGkgLSAxOwogICAgICAgICB9IGVs
c2UgaWYgKG5hbWVTdGFydCkgewotICAgICAgICAgICAgaWYgKCFpc1ZhbGlkTmFtZVN0YXJ0KGMp
KQorICAgICAgICAgICAgaWYgKCFpc1ZhbGlkTmFtZVN0YXJ0KGMpKSB7CisgICAgICAgICAgICAg
ICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQogICAgICAgICAgICAgbmFtZVN0YXJ0ID0gZmFsc2U7CiAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoIWlzVmFsaWROYW1lUGFydChjKSkKKyAgICAg
ICAgICAgIGlmICghaXNWYWxpZE5hbWVQYXJ0KGMpKSB7CisgICAgICAgICAgICAgICAgZWMgPSBJ
TlZBTElEX0NIQVJBQ1RFUl9FUlI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCkBAIC0yODU1LDkgKzI4NTcsMTggQEAgYm9v
bCBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKGNvbnN0IFN0cmluZyYgcXVhbGlmaWVkTmFt
ZSwgU3RyaW5nJiBwcmVmaXgsIFMKICAgICAgICAgbG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZTsK
ICAgICB9IGVsc2UgewogICAgICAgICBwcmVmaXggPSBxdWFsaWZpZWROYW1lLnN1YnN0cmluZygw
LCBjb2xvblBvcyk7CisgICAgICAgIGlmIChwcmVmaXguaXNFbXB0eSgpKSB7CisgICAgICAgICAg
ICBlYyA9IE5BTUVTUEFDRV9FUlI7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KICAgICAgICAgbG9jYWxOYW1lID0gcXVhbGlmaWVkTmFtZS5zdWJzdHJpbmcoY29sb25Qb3Mg
KyAxKTsKICAgICB9CiAKKyAgICBpZiAobG9jYWxOYW1lLmlzRW1wdHkoKSkgeworICAgICAgICBl
YyA9IE5BTUVTUEFDRV9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMzUyNywxMyArMzUzOCwxMSBAQCBEb2N1bWVudCAqRG9jdW1l
bnQ6OnRvcERvY3VtZW50KCkgY29uc3QKIFBhc3NSZWZQdHI8QXR0cj4gRG9jdW1lbnQ6OmNyZWF0
ZUF0dHJpYnV0ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIHF1
YWxpZmllZE5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFN0cmluZyBwcmVmaXgsIGxv
Y2FsTmFtZTsKLSAgICBpZiAoIXBhcnNlUXVhbGlmaWVkTmFtZShxdWFsaWZpZWROYW1lLCBwcmVm
aXgsIGxvY2FsTmFtZSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7Cisg
ICAgaWYgKCFwYXJzZVF1YWxpZmllZE5hbWUocXVhbGlmaWVkTmFtZSwgcHJlZml4LCBsb2NhbE5h
bWUsIGVjKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgUXVhbGlmaWVkTmFtZSBx
TmFtZShwcmVmaXgsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKTsKLSAgICBpZiAoaGFzTmFtZXNw
YWNlRXJyb3IocU5hbWUpKSB7CisgICAgaWYgKGhhc1ByZWZpeE5hbWVzcGFjZU1pc21hdGNoKHFO
YW1lKSkgewogICAgICAgICBlYyA9IE5BTUVTUEFDRV9FUlI7CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCmluZGV4IDZjYTMxMzcuLjI3NGM1ZDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNTkyLDkgKzU5Miwx
MiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNWYWxpZE5hbWUoY29uc3QgU3RyaW5nJik7
CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIGJyZWFrcyBhIHF1YWxpZmllZCBuYW1lIGludG8gYSBw
cmVmaXggYW5kIGEgbG9jYWwgbmFtZS4KLSAgICAvLyBJdCBhbHNvIGRvZXMgYSB2YWxpZGl0eSBj
aGVjaywgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlIHF1YWxpZmllZCBuYW1lIGlzIGludmFsaWQK
LSAgICAvLyAoZW1wdHkgc3RyaW5nIG9yIGludmFsaWQgY2hhcmFjdGVycykuCi0gICAgc3RhdGlj
IGJvb2wgcGFyc2VRdWFsaWZpZWROYW1lKGNvbnN0IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgU3Ry
aW5nJiBwcmVmaXgsIFN0cmluZyYgbG9jYWxOYW1lKTsKKyAgICAvLyBJdCBhbHNvIGRvZXMgYSB2
YWxpZGl0eSBjaGVjaywgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlIHF1YWxpZmllZCBuYW1lCisg
ICAgLy8gaXMgaW52YWxpZC4gIEl0IGFsc28gc2V0cyBFeGNlcHRpb25Db2RlIHdoZW4gbmFtZSBp
cyBpbnZhbGlkLgorICAgIHN0YXRpYyBib29sIHBhcnNlUXVhbGlmaWVkTmFtZShjb25zdCBTdHJp
bmcmIHF1YWxpZmllZE5hbWUsIFN0cmluZyYgcHJlZml4LCBTdHJpbmcmIGxvY2FsTmFtZSwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIAorICAgIC8vIENoZWNrcyB0byBtYWtlIHN1cmUgcHJlZml4IGFu
ZCBuYW1lc3BhY2UgZG8gbm90IGNvbmZsaWN0IChwZXIgRE9NIENvcmUgMykKKyAgICBzdGF0aWMg
Ym9vbCBoYXNQcmVmaXhOYW1lc3BhY2VNaXNtYXRjaChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAg
ICAgCiAgICAgdm9pZCBhZGRFbGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJpbmcmIGVsZW1lbnRJ
ZCwgRWxlbWVudCAqZWxlbWVudCk7CiAgICAgdm9pZCByZW1vdmVFbGVtZW50QnlJZChjb25zdCBB
dG9taWNTdHJpbmcmIGVsZW1lbnRJZCwgRWxlbWVudCAqZWxlbWVudCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDJi
ZDFkYWEuLjdjODlmNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMDU0LDExICsxMDU0LDExIEBAIFBhc3NSZWZQ
dHI8QXR0cj4gRWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlTm9kZShBdHRyICphdHRyLCBFeGNlcHRp
b25Db2RlJiBlYykKIHZvaWQgRWxlbWVudDo6c2V0QXR0cmlidXRlTlMoY29uc3QgU3RyaW5nJiBu
YW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgcXVhbGlmaWVkTmFtZSwgY29uc3QgU3RyaW5nJiB2
YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgU3RyaW5nIHByZWZpeCwgbG9jYWxOYW1l
OwotICAgIGlmICghRG9jdW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShxdWFsaWZpZWROYW1lLCBw
cmVmaXgsIGxvY2FsTmFtZSkpIHsKLSAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7
CisgICAgaWYgKCFEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKHF1YWxpZmllZE5hbWUsIHBy
ZWZpeCwgbG9jYWxOYW1lLCBlYykpCiAgICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgc2V0QXR0
cmlidXRlKFF1YWxpZmllZE5hbWUocHJlZml4LCBsb2NhbE5hbWUsIG5hbWVzcGFjZVVSSSksIHZh
bHVlLmltcGwoKSwgZWMpOworCisgICAgUXVhbGlmaWVkTmFtZSBxTmFtZShwcmVmaXgsIGxvY2Fs
TmFtZSwgbmFtZXNwYWNlVVJJKTsKKyAgICBzZXRBdHRyaWJ1dGUocU5hbWUsIHZhbHVlLmltcGwo
KSwgZWMpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZShjb25zdCBTdHJpbmcm
IG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0Zv
cm1hdEJsb2NrQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvRm9ybWF0QmxvY2tDb21tYW5k
LmNwcAppbmRleCA0OTJlZTQwLi42NGY3YzJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcv
Rm9ybWF0QmxvY2tDb21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRm9ybWF0QmxvY2tD
b21tYW5kLmNwcApAQCAtOTEsMTIgKzkxLDEzIEBAIHZvaWQgRm9ybWF0QmxvY2tDb21tYW5kOjpk
b0FwcGx5KCkKIAogICAgIGlmIChlbmRpbmdTZWxlY3Rpb24oKS5pc1JhbmdlKCkgJiYgbW9kaWZ5
UmFuZ2UoKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCisgICAgRXhjZXB0aW9uQ29kZSBlYzsK
ICAgICBTdHJpbmcgbG9jYWxOYW1lLCBwcmVmaXg7Ci0gICAgaWYgKCFEb2N1bWVudDo6cGFyc2VR
dWFsaWZpZWROYW1lKG1fdGFnTmFtZSwgcHJlZml4LCBsb2NhbE5hbWUpKQorICAgIGlmICghRG9j
dW1lbnQ6OnBhcnNlUXVhbGlmaWVkTmFtZShtX3RhZ05hbWUsIHByZWZpeCwgbG9jYWxOYW1lLCBl
YykpCiAgICAgICAgIHJldHVybjsKLSAgICBRdWFsaWZpZWROYW1lIHFUeXBlT2ZCbG9jayA9IFF1
YWxpZmllZE5hbWUoQXRvbWljU3RyaW5nKHByZWZpeCksIEF0b21pY1N0cmluZyhsb2NhbE5hbWUp
LCB4aHRtbE5hbWVzcGFjZVVSSSk7Ci0gICAgCisgICAgUXVhbGlmaWVkTmFtZSBxVHlwZU9mQmxv
Y2socHJlZml4LCBsb2NhbE5hbWUsIHhodG1sTmFtZXNwYWNlVVJJKTsKKwogICAgIE5vZGUqIHJl
Zk5vZGUgPSBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KGVuZGluZ1NlbGVjdGlvbigpLnZpc2li
bGVTdGFydCgpKTsKICAgICBpZiAocmVmTm9kZS0+aGFzVGFnTmFtZShxVHlwZU9mQmxvY2spKQog
ICAgICAgICAvLyBXZSdyZSBhbHJlYWR5IGluIGEgYmxvY2sgd2l0aCB0aGUgZm9ybWF0IHdlIHdh
bnQsIHNvIHdlIGRvbid0IGhhdmUgdG8gZG8gYW55dGhpbmcK
</data>
<flag name="review"
          id="8739"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>