<?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>53711</bug_id>
          
          <creation_ts>2011-02-03 13:20:48 -0800</creation_ts>
          <short_desc>Remove duplicated code from AtomicString::fromUTF8()</short_desc>
          <delta_ts>2011-04-10 15:07:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>344959</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-03 13:20:48 -0800</bug_when>
    <thetext>Remove duplicated code from AtomicString::fromUTF8()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344961</commentid>
    <comment_count>1</comment_count>
      <attachid>81106</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-03 13:22:22 -0800</bug_when>
    <thetext>Created attachment 81106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345030</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 15:02:45 -0800</bug_when>
    <thetext>Attachment 81106 did not build on win:
Build output: http://queues.webkit.org/results/7693522</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345038</commentid>
    <comment_count>3</comment_count>
      <attachid>81119</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-03 15:09:53 -0800</bug_when>
    <thetext>Created attachment 81119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345084</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-03 15:57:02 -0800</bug_when>
    <thetext>Attachment 81106 did not build on win:
Build output: http://queues.webkit.org/results/7689800</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347500</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-08 10:37:44 -0800</bug_when>
    <thetext>@darin: ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347860</commentid>
    <comment_count>6</comment_count>
      <attachid>81119</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-08 17:42:34 -0800</bug_when>
    <thetext>Comment on attachment 81119
Patch

r- b/c this causes a efl build break. Ideally that would be fixed as long as it is possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370122</commentid>
    <comment_count>7</comment_count>
      <attachid>86263</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-19 05:29:11 -0700</bug_when>
    <thetext>Created attachment 86263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374553</commentid>
    <comment_count>8</comment_count>
      <attachid>86263</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-28 09:46:51 -0700</bug_when>
    <thetext>Comment on attachment 86263
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=86263&amp;action=review

&gt; Source/JavaScriptCore/wtf/text/AtomicString.h:182
&gt; +inline AtomicString AtomicString::fromUTF8(const char* characters, size_t length)
&gt; +{
&gt; +    if (!characters)
&gt; +        return nullAtom;
&gt; +    if (!length)
&gt; +        return emptyAtom;
&gt; +    return fromUTF8Internal(characters, characters + length);
&gt; +}
&gt; +
&gt; +inline AtomicString AtomicString::fromUTF8(const char* characters)
&gt; +{
&gt; +    if (!characters)
&gt; +        return nullAtom;
&gt; +    if (!*characters)
&gt; +        return emptyAtom;
&gt; +    return fromUTF8Internal(characters, 0);
&gt; +}

Inlining more like this is a big deal. It will probably make code size a bit bigger because of more checks at every single callsite. When called with a constant C literal, I think the code might get constant-folded away, which would be great. I’m not sure about making this change without checking if there is performance impact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374561</commentid>
    <comment_count>9</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-28 09:53:40 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; When called with a constant C literal, I think the code might get constant-folded away, which would be great.
I&apos;m not sure if we use UTF-8 strings in the code. ;-)

&gt; I’m not sure about making this change without checking if there is performance impact.
If I remeber correctly it was a slight performance increase, but I&apos;ll test it again and post the values here before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382922</commentid>
    <comment_count>10</comment_count>
      <attachid>86263</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-04-10 12:34:45 -0700</bug_when>
    <thetext>Comment on attachment 86263
Patch

(In reply to comment #9)
&gt; &gt; I’m not sure about making this change without checking if there is performance impact.
&gt; If I remeber correctly it was a slight performance increase, but I&apos;ll test it again and post the values here before landing.
I&apos;v run the xml-parser performance test and this change seams like a 1% performance improvement, but the variation of the results is too big to verify if that&apos;s true. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382939</commentid>
    <comment_count>11</comment_count>
      <attachid>86263</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-10 15:07:54 -0700</bug_when>
    <thetext>Comment on attachment 86263
Patch

Clearing flags on attachment: 86263

Committed r83407: &lt;http://trac.webkit.org/changeset/83407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382940</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-10 15:07:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81106</attachid>
            <date>2011-02-03 13:22:22 -0800</date>
            <delta_ts>2011-02-03 15:09:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53711-20110203222219.patch</filename>
            <type>text/plain</type>
            <size>9561</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEwZGNhNWFjZDAxMmZmYzg2OGFmMGE3MmZmYjdj
ZDE5YjA2YzRiMzIuLmEyOGJmNzQyMTY1ZDhhOWFiNmYzYjI2ODhlMDJjNGM4ZjhhY2U1NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDExLTAyLTAzICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBkdXBsaWNhdGVkIGNvZGUgZnJvbSBB
dG9taWNTdHJpbmc6OmZyb21VVEY4KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUzNzExCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmRlZjoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAo
V1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4KToK
KyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNwcDoKKyAgICAgICAgKFdURjo6VW5pY29kZTo6
Y2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4KToKKyAgICAgICAgKiB3dGYvdW5p
Y29kZS9VVEY4Lmg6CisKKzIwMTEtMDItMDMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiAKICAgICAgICAg
QXZvaWQgc3RybGVuKCkgaW4gQXRvbWljU3RyaW5nOjpmcm9tVVRGOApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMmZhMTZmN2I2MThlOTc3YTM3ODlmMDExMzgy
ZGMyMTMxN2Q5ODQxMi4uOGU1NmUxZjU5NDNkNzQ4MDdhNmNiNjM0NTBjZGJlNTBmZGQ3YTQ1NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0zNjksMTQgKzM2
OSwxMyBAQCBfX1pOM1dURjExZHRvYVJvdW5kRFBFUGNkaVJiUmlSagogX19aTjNXVEYxMWR0b2FS
b3VuZFNGRVBjZGlSYlJpUmoKIF9fWk4zV1RGMTFmYXN0UmVhbGxvY0VQdm0KIF9fWk4zV1RGMTJB
dG9taWNTdHJpbmcxMWFkZFNsb3dDYXNlRVBOU18xMFN0cmluZ0ltcGxFCitfX1pOM1dURjEyQXRv
bWljU3RyaW5nMTZmcm9tVVRGOEludGVybmFsRVBLY1MyXwogX19aTjNXVEYxMkF0b21pY1N0cmlu
ZzNhZGRFUEtjCiBfX1pOM1dURjEyQXRvbWljU3RyaW5nM2FkZEVQS3QKIF9fWk4zV1RGMTJBdG9t
aWNTdHJpbmczYWRkRVBLdGoKIF9fWk4zV1RGMTJBdG9taWNTdHJpbmczYWRkRVBLdGpqCiBfX1pO
M1dURjEyQXRvbWljU3RyaW5nNGZpbmRFUEt0amoKIF9fWk4zV1RGMTJBdG9taWNTdHJpbmc0aW5p
dEV2Ci1fX1pOM1dURjEyQXRvbWljU3RyaW5nOGZyb21VVEY4RVBLYwotX19aTjNXVEYxMkF0b21p
Y1N0cmluZzhmcm9tVVRGOEVQS2NtCiBfX1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBf
CiBfX1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBfUEtjCiBfX1pOM1dURjEyZGV0YWNo
VGhyZWFkRWoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5kZWYKaW5kZXggZDlmMjIzOWQwMDlmMTdkN2Q2ZGExMjQ3NjYxMTk1MjI3YTk2MjA2My4u
MGE3ZGUyNjRjODBmMjBiYjg4M2ZhN2E3ZDM1YTJmNGE0MWQyNzhlZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTYzLDggKzYz
LDYgQEAgRVhQT1JUUwogICAgID9idWZmZXJMZW5ndGhGb3JTdHJpbmdEZWNpbWFsQERlY2ltYWxO
dW1iZXJAV1RGQEBRQkVJWFoKICAgICA/Ynl0ZVNpemVAU291cmNlUHJvdmlkZXJDYWNoZUBKU0NA
QFFCRUlYWgogICAgID9jYWxjdWxhdGVEU1RPZmZzZXRAV1RGQEBZQU5OTkBaCi0gICAgP2NhbGN1
bGF0ZVN0cmluZ0hhc2hGcm9tVVRGOEBVbmljb2RlQFdURkBAWUFJUEJEMEFBSUBaCi0gICAgP2Nh
bGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOEBVbmljb2RlQFdURkBAWUFJUEJEQUFJ
MUBaCiAgICAgP2NhbGN1bGF0ZVVUQ09mZnNldEBXVEZAQFlBSFhaCiAgICAgP2NhbGN1bGF0ZWRG
dW5jdGlvbk5hbWVARGVidWdnZXJDYWxsRnJhbWVASlNDQEBRQkU/QVZVU3RyaW5nQDJAWFoKICAg
ICA/Y2FsbEBKU0NAQFlBP0FWSlNWYWx1ZUAxQFBBVkV4ZWNTdGF0ZUAxQFYyMUBXNENhbGxUeXBl
QDFAQUJUQ2FsbERhdGFAMUAxQUJWQXJnTGlzdEAxQEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwCmluZGV4IGUwYTg2NmQ2YTMyZTRkNjM4ODg3
NjA5MzkwMGUwNTlkNGQxYWNhYmMuLjY5Y2Q0NjdlNDBhYjYwNjg2YjJiMTBjZjEwNTFjZTM2MmM5
OThmOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNT
dHJpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJp
bmcuY3BwCkBAIC0zNTEsNDEgKzM1MSwxNCBAQCBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjps
b3dlcigpIGNvbnN0CiAgICAgcmV0dXJuIEF0b21pY1N0cmluZyhuZXdJbXBsKTsKIH0KIAotQXRv
bWljU3RyaW5nIEF0b21pY1N0cmluZzo6ZnJvbVVURjgoY29uc3QgY2hhciogY2hhcmFjdGVycywg
c2l6ZV90IGxlbmd0aCkKK0F0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJu
YWwoY29uc3QgY2hhciogY2hhcmFjdGVyc1N0YXJ0LCBjb25zdCBjaGFyKiBjaGFyYWN0ZXJzRW5k
KQogewotICAgIGlmICghY2hhcmFjdGVycykKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygp
OwotCi0gICAgaWYgKCFsZW5ndGgpCi0gICAgICAgIHJldHVybiBlbXB0eUF0b207Ci0KLSAgICBI
YXNoQW5kVVRGOENoYXJhY3RlcnMgYnVmZmVyOwotICAgIGJ1ZmZlci5jaGFyYWN0ZXJzID0gY2hh
cmFjdGVyczsKLSAgICBidWZmZXIubGVuZ3RoID0gbGVuZ3RoOwotICAgIGJ1ZmZlci5oYXNoID0g
Y2FsY3VsYXRlU3RyaW5nSGFzaEZyb21VVEY4KGNoYXJhY3RlcnMsIGNoYXJhY3RlcnMgKyBsZW5n
dGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7Ci0KLSAgICBpZiAoIWJ1ZmZlci5oYXNoKQotICAgICAg
ICByZXR1cm4gQXRvbWljU3RyaW5nKCk7Ci0KLSAgICBBdG9taWNTdHJpbmcgYXRvbWljU3RyaW5n
OwotICAgIGF0b21pY1N0cmluZy5tX3N0cmluZyA9IGFkZFRvU3RyaW5nVGFibGU8SGFzaEFuZFVU
RjhDaGFyYWN0ZXJzLCBIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yPihidWZmZXIpOwot
ICAgIHJldHVybiBhdG9taWNTdHJpbmc7Ci19Ci0KLUF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6
OmZyb21VVEY4KGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMpCi17Ci0gICAgaWYgKCFjaGFyYWN0ZXJz
KQotICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5nKCk7Ci0KLSAgICBpZiAoISpjaGFyYWN0ZXJz
KQotICAgICAgICByZXR1cm4gZW1wdHlBdG9tOwotCiAgICAgSGFzaEFuZFVURjhDaGFyYWN0ZXJz
IGJ1ZmZlcjsKLSAgICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnM7Ci0gICAgYnVmZmVy
Lmhhc2ggPSBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjgoY2hhcmFjdGVycywg
YnVmZmVyLmxlbmd0aCwgYnVmZmVyLnV0ZjE2TGVuZ3RoKTsKKyAgICBidWZmZXIuY2hhcmFjdGVy
cyA9IGNoYXJhY3RlcnNTdGFydDsKKyAgICBidWZmZXIuaGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hh
c2hBbmRMZW5ndGhGcm9tVVRGOChjaGFyYWN0ZXJzU3RhcnQsIGNoYXJhY3RlcnNFbmQsIGJ1ZmZl
ci5sZW5ndGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7CiAKICAgICBpZiAoIWJ1ZmZlci5oYXNoKQot
ICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5nKCk7CisgICAgICAgIHJldHVybiBudWxsQXRvbTsK
IAogICAgIEF0b21pY1N0cmluZyBhdG9taWNTdHJpbmc7CiAgICAgYXRvbWljU3RyaW5nLm1fc3Ry
aW5nID0gYWRkVG9TdHJpbmdUYWJsZTxIYXNoQW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4
Q2hhcmFjdGVyc1RyYW5zbGF0b3I+KGJ1ZmZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvQXRvbWljU3RyaW5nLmgKaW5kZXggYWI1YjM2NmI3MGEzMzhjNTJiOGQ1MTk2ZThh
NDc2OTA4MGRhZjRiNS4uZTdjYTM1NDIyNGFhZWM2NWMxMDc2YmQ2NGUyMTQyMzIzYjU3YzZkNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaApAQCAt
MTI3LDYgKzEyNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhZGRTbG93Q2FzZShyKTsK
ICAgICB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoU3Ry
aW5nSW1wbCopOworICAgIHN0YXRpYyBBdG9taWNTdHJpbmcgZnJvbVVURjhJbnRlcm5hbChjb25z
dCBjaGFyKiwgY29uc3QgY2hhciopOwogfTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBBdG9taWNTdHJpbmcmIGEsIGNvbnN0IEF0b21pY1N0cmluZyYgYikgeyByZXR1cm4gYS5pbXBs
KCkgPT0gYi5pbXBsKCk7IH0KQEAgLTE1NCwyMCArMTU1LDM4IEBAIGlubGluZSBib29sIGVxdWFs
SWdub3JpbmdDYXNlKGNvbnN0IFN0cmluZyYgYSwgY29uc3QgQXRvbWljU3RyaW5nJiBiKSB7IHJl
dHVybiBlCiAvLyBEZWZpbmUgZXh0ZXJuYWwgZ2xvYmFsIHZhcmlhYmxlcyBmb3IgdGhlIGNvbW1v
bmx5IHVzZWQgYXRvbWljIHN0cmluZ3MuCiAvLyBUaGVzZSBhcmUgb25seSB1c2FibGUgZnJvbSB0
aGUgbWFpbiB0aHJlYWQuCiAjaWZuZGVmIEFUT01JQ1NUUklOR19ISURFX0dMT0JBTFMKLSAgICBl
eHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgbnVsbEF0b207Ci0gICAgZXh0
ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIGVtcHR5QXRvbTsKLSAgICBleHRl
cm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgdGV4dEF0b207Ci0gICAgZXh0ZXJu
IGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIGNvbW1lbnRBdG9tOwotICAgIGV4dGVy
biBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyBzdGFyQXRvbTsKLSAgICBleHRlcm4g
Y29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgeG1sQXRvbTsKLSAgICBleHRlcm4gY29u
c3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgeG1sbnNBdG9tOworZXh0ZXJuIGNvbnN0IEpT
X0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIG51bGxBdG9tOworZXh0ZXJuIGNvbnN0IEpTX0VYUE9S
VERBVEEgQXRvbWljU3RyaW5nIGVtcHR5QXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRB
IEF0b21pY1N0cmluZyB0ZXh0QXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21p
Y1N0cmluZyBjb21tZW50QXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0
cmluZyBzdGFyQXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyB4
bWxBdG9tOworZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIHhtbG5zQXRv
bTsKKworaW5saW5lIEF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4KGNvbnN0IGNo
YXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCit7CisgICAgaWYgKCFjaGFyYWN0ZXJzKQor
ICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVy
biBlbXB0eUF0b207CisgICAgcmV0dXJuIGZyb21VVEY4SW50ZXJuYWwoY2hhcmFjdGVycywgY2hh
cmFjdGVycyArIGxlbmd0aCk7Cit9CisKK2lubGluZSBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5n
Ojpmcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzKQoreworICAgIGlmICghY2hhcmFjdGVy
cykKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgIGlmICghKmNoYXJhY3RlcnMpCisgICAg
ICAgIHJldHVybiBlbXB0eUF0b207CisgICAgcmV0dXJuIGZyb21VVEY4SW50ZXJuYWwoY2hhcmFj
dGVycywgMCk7Cit9CiAjZW5kaWYKIAotICAgIC8vIEF0b21pY1N0cmluZ0hhc2ggaXMgdGhlIGRl
ZmF1bHQgaGFzaCBmb3IgQXRvbWljU3RyaW5nCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Ry
dWN0IERlZmF1bHRIYXNoOwotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPEF0b21p
Y1N0cmluZz4gewotICAgICAgICB0eXBlZGVmIEF0b21pY1N0cmluZ0hhc2ggSGFzaDsKLSAgICB9
OworLy8gQXRvbWljU3RyaW5nSGFzaCBpcyB0aGUgZGVmYXVsdCBoYXNoIGZvciBBdG9taWNTdHJp
bmcKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKK3RlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPEF0b21pY1N0cmluZz4geworICAgIHR5cGVkZWYgQXRvbWljU3Ry
aW5nSGFzaCBIYXNoOworfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmNwcAppbmRleCA0YzM3MzhiYzFhMjY5NjYxNmQzZDA0
NzQ2NWE0YTA4NDFlMThlYzJkLi4wNWE0MGVhZGJhNjdkYTNhMmRiNTdmZTUzMTVmODAxMGVlNTEy
NTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguY3BwCkBAIC0z
MTQsNyArMzE0LDcgQEAgQ29udmVyc2lvblJlc3VsdCBjb252ZXJ0VVRGOFRvVVRGMTYoCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBjYWxjdWxhdGVTdHJp
bmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhJbnRlcm5hbChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBj
aGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3Ro
KQordW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4KGNvbnN0IGNo
YXIqIGRhdGEsIGNvbnN0IGNoYXIqIGRhdGFFbmQsIHVuc2lnbmVkJiBkYXRhTGVuZ3RoLCB1bnNp
Z25lZCYgdXRmMTZMZW5ndGgpCiB7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1cm4gMDsK
QEAgLTM2NSwxNyArMzY1LDYgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBjYWxjdWxhdGVTdHJp
bmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhJbnRlcm5hbChjb25zdCBjaGFyKgogICAgIHJldHVybiBz
dHJpbmdIYXNoZXIuaGFzaCgpOwogfQogCi11bnNpZ25lZCBjYWxjdWxhdGVTdHJpbmdIYXNoRnJv
bVVURjgoY29uc3QgY2hhciogZGF0YSwgY29uc3QgY2hhciogZGF0YUVuZCwgdW5zaWduZWQmIHV0
ZjE2TGVuZ3RoKQotewotICAgIHVuc2lnbmVkIGRhdGFMZW5ndGg7Ci0gICAgcmV0dXJuIGNhbGN1
bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOEludGVybmFsKGRhdGEsIGRhdGFFbmQsIGRh
dGFMZW5ndGgsIHV0ZjE2TGVuZ3RoKTsKLX0KLQotdW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFz
aEFuZExlbmd0aEZyb21VVEY4KGNvbnN0IGNoYXIqIGRhdGEsIHVuc2lnbmVkJiBkYXRhTGVuZ3Ro
LCB1bnNpZ25lZCYgdXRmMTZMZW5ndGgpCi17Ci0gICAgcmV0dXJuIGNhbGN1bGF0ZVN0cmluZ0hh
c2hBbmRMZW5ndGhGcm9tVVRGOEludGVybmFsKGRhdGEsIDAsIGRhdGFMZW5ndGgsIHV0ZjE2TGVu
Z3RoKTsKLX0KLQogYm9vbCBlcXVhbFVURjE2V2l0aFVURjgoY29uc3QgVUNoYXIqIGEsIGNvbnN0
IFVDaGFyKiBhRW5kLCBjb25zdCBjaGFyKiBiLCBjb25zdCBjaGFyKiBiRW5kKQogewogICAgIHdo
aWxlIChiIDwgYkVuZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91
bmljb2RlL1VURjguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmgK
aW5kZXggYmJmYWE4NDA5YjFjYzk1YjVhOGNhNWZiN2YwZWY0ZTRlNDJmNWIxNi4uN2I3Yjc1ZDM3
Y2MzZmMzNzgxNjYyZDdmZGQ1NzU5NGFkZjcxMzBjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVVRGOC5oCkBAIC03MCw4ICs3MCw3IEBAIG5hbWVzcGFjZSBVbmljb2RlIHsK
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgVUNoYXIqKiBzb3VyY2VTdGFydCwgY29uc3QgVUNo
YXIqIHNvdXJjZUVuZCwgCiAgICAgICAgICAgICAgICAgICAgIGNoYXIqKiB0YXJnZXRTdGFydCwg
Y2hhciogdGFyZ2V0RW5kLCBib29sIHN0cmljdCA9IHRydWUpOwogCi0gICAgdW5zaWduZWQgY2Fs
Y3VsYXRlU3RyaW5nSGFzaEZyb21VVEY4KGNvbnN0IGNoYXIqIGRhdGEsIGNvbnN0IGNoYXIqIGRh
dGFFbmQsIHVuc2lnbmVkJiB1dGYxNkxlbmd0aCk7Ci0gICAgdW5zaWduZWQgY2FsY3VsYXRlU3Ry
aW5nSGFzaEFuZExlbmd0aEZyb21VVEY4KGNvbnN0IGNoYXIqIGRhdGEsIHVuc2lnbmVkJiBkYXRh
TGVuZ3RoLCB1bnNpZ25lZCYgdXRmMTZMZW5ndGgpOworICAgIHVuc2lnbmVkIGNhbGN1bGF0ZVN0
cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBjaGFyKiBk
YXRhRW5kLCB1bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3RoKTsKIAog
ICAgIGJvb2wgZXF1YWxVVEYxNldpdGhVVEY4KGNvbnN0IFVDaGFyKiBhLCBjb25zdCBVQ2hhciog
YUVuZCwgY29uc3QgY2hhciogYiwgY29uc3QgY2hhciogYkVuZCk7CiAK
</data>
<flag name="review"
          id="72650"
          type_id="1"
          status="-"
          setter="paroga"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81119</attachid>
            <date>2011-02-03 15:09:53 -0800</date>
            <delta_ts>2011-03-19 05:29:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53711.patch</filename>
            <type>text/plain</type>
            <size>9631</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEwZGNhNWFjZDAxMmZmYzg2OGFmMGE3MmZmYjdj
ZDE5YjA2YzRiMzIuLmEyOGJmNzQyMTY1ZDhhOWFiNmYzYjI2ODhlMDJjNGM4ZjhhY2U1NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDExLTAyLTAzICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBkdXBsaWNhdGVkIGNvZGUgZnJvbSBB
dG9taWNTdHJpbmc6OmZyb21VVEY4KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUzNzExCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmRlZjoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAo
V1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4KToK
KyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNwcDoKKyAgICAgICAgKFdURjo6VW5pY29kZTo6
Y2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4KToKKyAgICAgICAgKiB3dGYvdW5p
Y29kZS9VVEY4Lmg6CisKKzIwMTEtMDItMDMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiAKICAgICAgICAg
QXZvaWQgc3RybGVuKCkgaW4gQXRvbWljU3RyaW5nOjpmcm9tVVRGOApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKaW5kZXggMmZhMTZmN2I2MThlOTc3YTM3ODlmMDExMzgy
ZGMyMTMxN2Q5ODQxMi4uOGU1NmUxZjU5NDNkNzQ4MDdhNmNiNjM0NTBjZGJlNTBmZGQ3YTQ1NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCkBAIC0zNjksMTQgKzM2
OSwxMyBAQCBfX1pOM1dURjExZHRvYVJvdW5kRFBFUGNkaVJiUmlSagogX19aTjNXVEYxMWR0b2FS
b3VuZFNGRVBjZGlSYlJpUmoKIF9fWk4zV1RGMTFmYXN0UmVhbGxvY0VQdm0KIF9fWk4zV1RGMTJB
dG9taWNTdHJpbmcxMWFkZFNsb3dDYXNlRVBOU18xMFN0cmluZ0ltcGxFCitfX1pOM1dURjEyQXRv
bWljU3RyaW5nMTZmcm9tVVRGOEludGVybmFsRVBLY1MyXwogX19aTjNXVEYxMkF0b21pY1N0cmlu
ZzNhZGRFUEtjCiBfX1pOM1dURjEyQXRvbWljU3RyaW5nM2FkZEVQS3QKIF9fWk4zV1RGMTJBdG9t
aWNTdHJpbmczYWRkRVBLdGoKIF9fWk4zV1RGMTJBdG9taWNTdHJpbmczYWRkRVBLdGpqCiBfX1pO
M1dURjEyQXRvbWljU3RyaW5nNGZpbmRFUEt0amoKIF9fWk4zV1RGMTJBdG9taWNTdHJpbmc0aW5p
dEV2Ci1fX1pOM1dURjEyQXRvbWljU3RyaW5nOGZyb21VVEY4RVBLYwotX19aTjNXVEYxMkF0b21p
Y1N0cmluZzhmcm9tVVRGOEVQS2NtCiBfX1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBf
CiBfX1pOM1dURjEyY3JlYXRlVGhyZWFkRVBGUHZTMF9FUzBfUEtjCiBfX1pOM1dURjEyZGV0YWNo
VGhyZWFkRWoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5kZWYKaW5kZXggZDlmMjIzOWQwMDlmMTdkN2Q2ZGExMjQ3NjYxMTk1MjI3YTk2MjA2My4u
MGE3ZGUyNjRjODBmMjBiYjg4M2ZhN2E3ZDM1YTJmNGE0MWQyNzhlZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTYzLDggKzYz
LDcgQEAgRVhQT1JUUwogICAgID9idWZmZXJMZW5ndGhGb3JTdHJpbmdEZWNpbWFsQERlY2ltYWxO
dW1iZXJAV1RGQEBRQkVJWFoKICAgICA/Ynl0ZVNpemVAU291cmNlUHJvdmlkZXJDYWNoZUBKU0NA
QFFCRUlYWgogICAgID9jYWxjdWxhdGVEU1RPZmZzZXRAV1RGQEBZQU5OTkBaCi0gICAgP2NhbGN1
bGF0ZVN0cmluZ0hhc2hGcm9tVVRGOEBVbmljb2RlQFdURkBAWUFJUEJEMEFBSUBaCi0gICAgP2Nh
bGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOEBVbmljb2RlQFdURkBAWUFJUEJEQUFJ
MUBaCisgICAgP2NhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOEBVbmljb2RlQFdU
RkBAWUFJUEJEMEFBSTFAWgogICAgID9jYWxjdWxhdGVVVENPZmZzZXRAV1RGQEBZQUhYWgogICAg
ID9jYWxjdWxhdGVkRnVuY3Rpb25OYW1lQERlYnVnZ2VyQ2FsbEZyYW1lQEpTQ0BAUUJFP0FWVVN0
cmluZ0AyQFhaCiAgICAgP2NhbGxASlNDQEBZQT9BVkpTVmFsdWVAMUBQQVZFeGVjU3RhdGVAMUBW
MjFAVzRDYWxsVHlwZUAxQEFCVENhbGxEYXRhQDFAMUFCVkFyZ0xpc3RAMUBAWgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAppbmRleCBlMGE4NjZk
NmEzMmU0ZDYzODg4NzYwOTM5MDBlMDU5ZDRkMWFjYWJjLi42OWNkNDY3ZTQwYWI2MDY4NmIyYjEw
Y2YxMDUxY2UzNjJjOTk4ZjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvQXRvbWljU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmNwcApAQCAtMzUxLDQxICszNTEsMTQgQEAgQXRvbWljU3RyaW5nIEF0
b21pY1N0cmluZzo6bG93ZXIoKSBjb25zdAogICAgIHJldHVybiBBdG9taWNTdHJpbmcobmV3SW1w
bCk7CiB9CiAKLUF0b21pY1N0cmluZyBBdG9taWNTdHJpbmc6OmZyb21VVEY4KGNvbnN0IGNoYXIq
IGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCitBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpm
cm9tVVRGOEludGVybmFsKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnNTdGFydCwgY29uc3QgY2hhciog
Y2hhcmFjdGVyc0VuZCkKIHsKLSAgICBpZiAoIWNoYXJhY3RlcnMpCi0gICAgICAgIHJldHVybiBB
dG9taWNTdHJpbmcoKTsKLQotICAgIGlmICghbGVuZ3RoKQotICAgICAgICByZXR1cm4gZW1wdHlB
dG9tOwotCi0gICAgSGFzaEFuZFVURjhDaGFyYWN0ZXJzIGJ1ZmZlcjsKLSAgICBidWZmZXIuY2hh
cmFjdGVycyA9IGNoYXJhY3RlcnM7Ci0gICAgYnVmZmVyLmxlbmd0aCA9IGxlbmd0aDsKLSAgICBi
dWZmZXIuaGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hhc2hGcm9tVVRGOChjaGFyYWN0ZXJzLCBjaGFy
YWN0ZXJzICsgbGVuZ3RoLCBidWZmZXIudXRmMTZMZW5ndGgpOwotCi0gICAgaWYgKCFidWZmZXIu
aGFzaCkKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOwotCi0gICAgQXRvbWljU3RyaW5n
IGF0b21pY1N0cmluZzsKLSAgICBhdG9taWNTdHJpbmcubV9zdHJpbmcgPSBhZGRUb1N0cmluZ1Rh
YmxlPEhhc2hBbmRVVEY4Q2hhcmFjdGVycywgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRv
cj4oYnVmZmVyKTsKLSAgICByZXR1cm4gYXRvbWljU3RyaW5nOwotfQotCi1BdG9taWNTdHJpbmcg
QXRvbWljU3RyaW5nOjpmcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzKQotewotICAgIGlm
ICghY2hhcmFjdGVycykKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOwotCi0gICAgaWYg
KCEqY2hhcmFjdGVycykKLSAgICAgICAgcmV0dXJuIGVtcHR5QXRvbTsKLQogICAgIEhhc2hBbmRV
VEY4Q2hhcmFjdGVycyBidWZmZXI7Ci0gICAgYnVmZmVyLmNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJz
OwotICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4
KGNoYXJhY3RlcnMsIGJ1ZmZlci5sZW5ndGgsIGJ1ZmZlci51dGYxNkxlbmd0aCk7CisgICAgYnVm
ZmVyLmNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJzU3RhcnQ7CisgICAgYnVmZmVyLmhhc2ggPSBjYWxj
dWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjgoY2hhcmFjdGVyc1N0YXJ0LCBjaGFyYWN0
ZXJzRW5kLCBidWZmZXIubGVuZ3RoLCBidWZmZXIudXRmMTZMZW5ndGgpOwogCiAgICAgaWYgKCFi
dWZmZXIuaGFzaCkKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOworICAgICAgICByZXR1
cm4gbnVsbEF0b207CiAKICAgICBBdG9taWNTdHJpbmcgYXRvbWljU3RyaW5nOwogICAgIGF0b21p
Y1N0cmluZy5tX3N0cmluZyA9IGFkZFRvU3RyaW5nVGFibGU8SGFzaEFuZFVURjhDaGFyYWN0ZXJz
LCBIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xhdG9yPihidWZmZXIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IGFiNWIzNjZiNzBhMzM4
YzUyYjhkNTE5NmU4YTQ3NjkwODBkYWY0YjUuLmU3Y2EzNTQyMjRhYWVjNjVjMTA3NmJkNjRlMjE0
MjMyM2I1N2M2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9B
dG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWlj
U3RyaW5nLmgKQEAgLTEyNyw2ICsxMjcsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gYWRk
U2xvd0Nhc2Uocik7CiAgICAgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGFk
ZFNsb3dDYXNlKFN0cmluZ0ltcGwqKTsKKyAgICBzdGF0aWMgQXRvbWljU3RyaW5nIGZyb21VVEY4
SW50ZXJuYWwoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKTsKIH07CiAKIGlubGluZSBib29sIG9w
ZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBhLCBjb25zdCBBdG9taWNTdHJpbmcmIGIpIHsg
cmV0dXJuIGEuaW1wbCgpID09IGIuaW1wbCgpOyB9CkBAIC0xNTQsMjAgKzE1NSwzOCBAQCBpbmxp
bmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25zdCBTdHJpbmcmIGEsIGNvbnN0IEF0b21pY1N0
cmluZyYgYikgeyByZXR1cm4gZQogLy8gRGVmaW5lIGV4dGVybmFsIGdsb2JhbCB2YXJpYWJsZXMg
Zm9yIHRoZSBjb21tb25seSB1c2VkIGF0b21pYyBzdHJpbmdzLgogLy8gVGhlc2UgYXJlIG9ubHkg
dXNhYmxlIGZyb20gdGhlIG1haW4gdGhyZWFkLgogI2lmbmRlZiBBVE9NSUNTVFJJTkdfSElERV9H
TE9CQUxTCi0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIG51bGxB
dG9tOwotICAgIGV4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyBlbXB0eUF0
b207Ci0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIHRleHRBdG9t
OwotICAgIGV4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyBjb21tZW50QXRv
bTsKLSAgICBleHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgc3RhckF0b207
Ci0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIHhtbEF0b207Ci0g
ICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEgQXRvbWljU3RyaW5nIHhtbG5zQXRvbTsKK2V4
dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyBudWxsQXRvbTsKK2V4dGVybiBj
b25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyBlbXB0eUF0b207CitleHRlcm4gY29uc3Qg
SlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgdGV4dEF0b207CitleHRlcm4gY29uc3QgSlNfRVhQ
T1JUREFUQSBBdG9taWNTdHJpbmcgY29tbWVudEF0b207CitleHRlcm4gY29uc3QgSlNfRVhQT1JU
REFUQSBBdG9taWNTdHJpbmcgc3RhckF0b207CitleHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBB
dG9taWNTdHJpbmcgeG1sQXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0
cmluZyB4bWxuc0F0b207CisKK2lubGluZSBBdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9t
VVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKQoreworICAgIGlmICgh
Y2hhcmFjdGVycykKKyAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgIGlmICghbGVuZ3RoKQor
ICAgICAgICByZXR1cm4gZW1wdHlBdG9tOworICAgIHJldHVybiBmcm9tVVRGOEludGVybmFsKGNo
YXJhY3RlcnMsIGNoYXJhY3RlcnMgKyBsZW5ndGgpOworfQorCitpbmxpbmUgQXRvbWljU3RyaW5n
IEF0b21pY1N0cmluZzo6ZnJvbVVURjgoY29uc3QgY2hhciogY2hhcmFjdGVycykKK3sKKyAgICBp
ZiAoIWNoYXJhY3RlcnMpCisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICBpZiAoISpjaGFy
YWN0ZXJzKQorICAgICAgICByZXR1cm4gZW1wdHlBdG9tOworICAgIHJldHVybiBmcm9tVVRGOElu
dGVybmFsKGNoYXJhY3RlcnMsIDApOworfQogI2VuZGlmCiAKLSAgICAvLyBBdG9taWNTdHJpbmdI
YXNoIGlzIHRoZSBkZWZhdWx0IGhhc2ggZm9yIEF0b21pY1N0cmluZwotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZh
dWx0SGFzaDxBdG9taWNTdHJpbmc+IHsKLSAgICAgICAgdHlwZWRlZiBBdG9taWNTdHJpbmdIYXNo
IEhhc2g7Ci0gICAgfTsKKy8vIEF0b21pY1N0cmluZ0hhc2ggaXMgdGhlIGRlZmF1bHQgaGFzaCBm
b3IgQXRvbWljU3RyaW5nCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxBdG9taWNTdHJpbmc+IHsKKyAgICB0eXBl
ZGVmIEF0b21pY1N0cmluZ0hhc2ggSGFzaDsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAKaW5kZXggNGMzNzM4YmMx
YTI2OTY2MTZkM2QwNDc0NjVhNGEwODQxZTE4ZWMyZC4uMDVhNDBlYWRiYTY3ZGEzYTJkYjU3ZmU1
MzE1ZjgwMTBlZTUxMjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91
bmljb2RlL1VURjguY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9V
VEY4LmNwcApAQCAtMzE0LDcgKzMxNCw3IEBAIENvbnZlcnNpb25SZXN1bHQgY29udmVydFVURjhU
b1VURjE2KAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQg
Y2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciog
ZGF0YSwgY29uc3QgY2hhciogZGF0YUVuZCwgdW5zaWduZWQmIGRhdGFMZW5ndGgsIHVuc2lnbmVk
JiB1dGYxNkxlbmd0aCkKK3Vuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9t
VVRGOChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBjaGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYgZGF0
YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3RoKQogewogICAgIGlmICghZGF0YSkKICAgICAg
ICAgcmV0dXJuIDA7CkBAIC0zNjUsMTcgKzM2NSw2IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg
Y2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhcioK
ICAgICByZXR1cm4gc3RyaW5nSGFzaGVyLmhhc2goKTsKIH0KIAotdW5zaWduZWQgY2FsY3VsYXRl
U3RyaW5nSGFzaEZyb21VVEY4KGNvbnN0IGNoYXIqIGRhdGEsIGNvbnN0IGNoYXIqIGRhdGFFbmQs
IHVuc2lnbmVkJiB1dGYxNkxlbmd0aCkKLXsKLSAgICB1bnNpZ25lZCBkYXRhTGVuZ3RoOwotICAg
IHJldHVybiBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhJbnRlcm5hbChkYXRh
LCBkYXRhRW5kLCBkYXRhTGVuZ3RoLCB1dGYxNkxlbmd0aCk7Ci19Ci0KLXVuc2lnbmVkIGNhbGN1
bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25l
ZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3RoKQotewotICAgIHJldHVybiBjYWxj
dWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjhJbnRlcm5hbChkYXRhLCAwLCBkYXRhTGVu
Z3RoLCB1dGYxNkxlbmd0aCk7Ci19Ci0KIGJvb2wgZXF1YWxVVEYxNldpdGhVVEY4KGNvbnN0IFVD
aGFyKiBhLCBjb25zdCBVQ2hhciogYUVuZCwgY29uc3QgY2hhciogYiwgY29uc3QgY2hhciogYkVu
ZCkKIHsKICAgICB3aGlsZSAoYiA8IGJFbmQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Vu
aWNvZGUvVVRGOC5oCmluZGV4IGJiZmFhODQwOWIxY2M5NWI1YThjYTVmYjdmMGVmNGU0ZTQyZjVi
MTYuLjdiN2I3NWQzN2NjM2ZjMzc4MTY2MmQ3ZmRkNTc1OTRhZGY3MTMwY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguaApAQCAtNzAsOCArNzAsNyBAQCBuYW1lc3Bh
Y2UgVW5pY29kZSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFVDaGFyKiogc291cmNlU3Rh
cnQsIGNvbnN0IFVDaGFyKiBzb3VyY2VFbmQsIAogICAgICAgICAgICAgICAgICAgICBjaGFyKiog
dGFyZ2V0U3RhcnQsIGNoYXIqIHRhcmdldEVuZCwgYm9vbCBzdHJpY3QgPSB0cnVlKTsKIAotICAg
IHVuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hGcm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCBj
b25zdCBjaGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYgdXRmMTZMZW5ndGgpOwotICAgIHVuc2lnbmVk
IGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3RoKTsKKyAgICB1bnNpZ25l
ZCBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVURjgoY29uc3QgY2hhciogZGF0YSwg
Y29uc3QgY2hhciogZGF0YUVuZCwgdW5zaWduZWQmIGRhdGFMZW5ndGgsIHVuc2lnbmVkJiB1dGYx
Nkxlbmd0aCk7CiAKICAgICBib29sIGVxdWFsVVRGMTZXaXRoVVRGOChjb25zdCBVQ2hhciogYSwg
Y29uc3QgVUNoYXIqIGFFbmQsIGNvbnN0IGNoYXIqIGIsIGNvbnN0IGNoYXIqIGJFbmQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86263</attachid>
            <date>2011-03-19 05:29:11 -0700</date>
            <delta_ts>2011-04-10 15:07:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53711-20110319132908.patch</filename>
            <type>text/plain</type>
            <size>9715</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE1NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM1
YmIyODk0YWQ4NGQxZTdjM2YyZjIzMjkzMGRmZTNlODUyYmNlOGIuLjA3YWY0ZDBiYjFjZjNlZmE5
ZGE1ZmZjMTMzNjg5MmRkNTVkZjc4NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDIyIEBACiAyMDExLTAzLTE5ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSBkdXBsaWNhdGVkIGNvZGUgZnJvbSBBdG9taWNTdHJpbmc6OmZyb21VVEY4KCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzExCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiB3dGYvdGV4dC9B
dG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmZyb21VVEY4SW50
ZXJuYWwpOgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oOgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6OmZyb21VVEY4KToKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNw
cDoKKyAgICAgICAgKFdURjo6VW5pY29kZTo6Y2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZy
b21VVEY4KToKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4Lmg6CisKKzIwMTEtMDMtMTkgIFBh
dHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCiAKICAgICAgICAgUmVuYW1lIFdURjo6U3RyaW5nSGFzaGVyIG1ldGhv
ZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGE3NWJiMGM2
YzQ5YzZkMjEyNGI1YWZkMGNkNDFjNWIwNDBmOTVhYTMuLmZhMTI5NzdlYzg0Y2FkN2JlNzQwMWUx
ODEyZDQxZWZjNmM2NGQ2MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmV4cApAQCAtMzczLDE0ICszNzMsMTMgQEAgX19aTjNXVEYxMWR0b2FSb3VuZERQRVBjZGlSYlJp
UmoKIF9fWk4zV1RGMTFkdG9hUm91bmRTRkVQY2RpUmJSaVJqCiBfX1pOM1dURjExZmFzdFJlYWxs
b2NFUHZtCiBfX1pOM1dURjEyQXRvbWljU3RyaW5nMTFhZGRTbG93Q2FzZUVQTlNfMTBTdHJpbmdJ
bXBsRQorX19aTjNXVEYxMkF0b21pY1N0cmluZzE2ZnJvbVVURjhJbnRlcm5hbEVQS2NTMl8KIF9f
Wk4zV1RGMTJBdG9taWNTdHJpbmczYWRkRVBLYwogX19aTjNXVEYxMkF0b21pY1N0cmluZzNhZGRF
UEt0CiBfX1pOM1dURjEyQXRvbWljU3RyaW5nM2FkZEVQS3RqCiBfX1pOM1dURjEyQXRvbWljU3Ry
aW5nM2FkZEVQS3RqagogX19aTjNXVEYxMkF0b21pY1N0cmluZzRmaW5kRVBLdGpqCiBfX1pOM1dU
RjEyQXRvbWljU3RyaW5nNGluaXRFdgotX19aTjNXVEYxMkF0b21pY1N0cmluZzhmcm9tVVRGOEVQ
S2MKLV9fWk4zV1RGMTJBdG9taWNTdHJpbmc4ZnJvbVVURjhFUEtjbQogX19aTjNXVEYxMmNyZWF0
ZVRocmVhZEVQRlB2UzBfRVMwXwogX19aTjNXVEYxMmNyZWF0ZVRocmVhZEVQRlB2UzBfRVMwX1BL
YwogX19aTjNXVEYxMmRldGFjaFRocmVhZEVqCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LmRlZiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCmluZGV4IDQ3YzQzMmYwOTc5NTc2ZmUyZGMyODYy
NDE2ZDI2MWIzNThjMjA1ZDkuLmMxZjAwNzJlZDY5NzAyOGE4ZmZhOWUyMGIzYTExMDA2ZmZiMDg2
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3By
b2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZGVmCkBAIC02OSw4ICs2OSw3IEBAIEVYUE9SVFMKICAgICA/Ynl0ZUNvbXBpbGVAWWFyckBK
U0NAQFlBP0FWPyRQYXNzT3duUHRyQFVCeXRlY29kZVBhdHRlcm5AWWFyckBKU0NAQEBXVEZAQEFB
VVlhcnJQYXR0ZXJuQDEyQFBBVkJ1bXBQb2ludGVyQWxsb2NhdG9yQDRAQFoKICAgICA/Ynl0ZVNp
emVAU291cmNlUHJvdmlkZXJDYWNoZUBKU0NAQFFCRUlYWgogICAgID9jYWxjdWxhdGVEU1RPZmZz
ZXRAV1RGQEBZQU5OTkBaCi0gICAgP2NhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRG
OEBVbmljb2RlQFdURkBAWUFJUEJEQUFJMUBaCi0gICAgP2NhbGN1bGF0ZVN0cmluZ0hhc2hGcm9t
VVRGOEBVbmljb2RlQFdURkBAWUFJUEJEMEFBSUBaCisgICAgP2NhbGN1bGF0ZVN0cmluZ0hhc2hB
bmRMZW5ndGhGcm9tVVRGOEBVbmljb2RlQFdURkBAWUFJUEJEMEFBSTFAWgogICAgID9jYWxjdWxh
dGVVVENPZmZzZXRAV1RGQEBZQUhYWgogICAgID9jYWxjdWxhdGVkRnVuY3Rpb25OYW1lQERlYnVn
Z2VyQ2FsbEZyYW1lQEpTQ0BAUUJFP0FWVVN0cmluZ0AyQFhaCiAgICAgP2NhbGxASlNDQEBZQT9B
VkpTVmFsdWVAMUBQQVZFeGVjU3RhdGVAMUBWMjFAVzRDYWxsVHlwZUAxQEFCVENhbGxEYXRhQDFA
MUFCVkFyZ0xpc3RAMUBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L0F0b21pY1N0cmluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRv
bWljU3RyaW5nLmNwcAppbmRleCBlMGE4NjZkNmEzMmU0ZDYzODg4NzYwOTM5MDBlMDU5ZDRkMWFj
YWJjLi42OWNkNDY3ZTQwYWI2MDY4NmIyYjEwY2YxMDUxY2UzNjJjOTk4ZjhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcApAQCAtMzUxLDQx
ICszNTEsMTQgQEAgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6bG93ZXIoKSBjb25zdAogICAg
IHJldHVybiBBdG9taWNTdHJpbmcobmV3SW1wbCk7CiB9CiAKLUF0b21pY1N0cmluZyBBdG9taWNT
dHJpbmc6OmZyb21VVEY4KGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCitB
dG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOEludGVybmFsKGNvbnN0IGNoYXIqIGNo
YXJhY3RlcnNTdGFydCwgY29uc3QgY2hhciogY2hhcmFjdGVyc0VuZCkKIHsKLSAgICBpZiAoIWNo
YXJhY3RlcnMpCi0gICAgICAgIHJldHVybiBBdG9taWNTdHJpbmcoKTsKLQotICAgIGlmICghbGVu
Z3RoKQotICAgICAgICByZXR1cm4gZW1wdHlBdG9tOwotCi0gICAgSGFzaEFuZFVURjhDaGFyYWN0
ZXJzIGJ1ZmZlcjsKLSAgICBidWZmZXIuY2hhcmFjdGVycyA9IGNoYXJhY3RlcnM7Ci0gICAgYnVm
ZmVyLmxlbmd0aCA9IGxlbmd0aDsKLSAgICBidWZmZXIuaGFzaCA9IGNhbGN1bGF0ZVN0cmluZ0hh
c2hGcm9tVVRGOChjaGFyYWN0ZXJzLCBjaGFyYWN0ZXJzICsgbGVuZ3RoLCBidWZmZXIudXRmMTZM
ZW5ndGgpOwotCi0gICAgaWYgKCFidWZmZXIuaGFzaCkKLSAgICAgICAgcmV0dXJuIEF0b21pY1N0
cmluZygpOwotCi0gICAgQXRvbWljU3RyaW5nIGF0b21pY1N0cmluZzsKLSAgICBhdG9taWNTdHJp
bmcubV9zdHJpbmcgPSBhZGRUb1N0cmluZ1RhYmxlPEhhc2hBbmRVVEY4Q2hhcmFjdGVycywgSGFz
aEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcj4oYnVmZmVyKTsKLSAgICByZXR1cm4gYXRvbWlj
U3RyaW5nOwotfQotCi1BdG9taWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOChjb25zdCBj
aGFyKiBjaGFyYWN0ZXJzKQotewotICAgIGlmICghY2hhcmFjdGVycykKLSAgICAgICAgcmV0dXJu
IEF0b21pY1N0cmluZygpOwotCi0gICAgaWYgKCEqY2hhcmFjdGVycykKLSAgICAgICAgcmV0dXJu
IGVtcHR5QXRvbTsKLQogICAgIEhhc2hBbmRVVEY4Q2hhcmFjdGVycyBidWZmZXI7Ci0gICAgYnVm
ZmVyLmNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJzOwotICAgIGJ1ZmZlci5oYXNoID0gY2FsY3VsYXRl
U3RyaW5nSGFzaEFuZExlbmd0aEZyb21VVEY4KGNoYXJhY3RlcnMsIGJ1ZmZlci5sZW5ndGgsIGJ1
ZmZlci51dGYxNkxlbmd0aCk7CisgICAgYnVmZmVyLmNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJzU3Rh
cnQ7CisgICAgYnVmZmVyLmhhc2ggPSBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVU
RjgoY2hhcmFjdGVyc1N0YXJ0LCBjaGFyYWN0ZXJzRW5kLCBidWZmZXIubGVuZ3RoLCBidWZmZXIu
dXRmMTZMZW5ndGgpOwogCiAgICAgaWYgKCFidWZmZXIuaGFzaCkKLSAgICAgICAgcmV0dXJuIEF0
b21pY1N0cmluZygpOworICAgICAgICByZXR1cm4gbnVsbEF0b207CiAKICAgICBBdG9taWNTdHJp
bmcgYXRvbWljU3RyaW5nOwogICAgIGF0b21pY1N0cmluZy5tX3N0cmluZyA9IGFkZFRvU3RyaW5n
VGFibGU8SGFzaEFuZFVURjhDaGFyYWN0ZXJzLCBIYXNoQW5kVVRGOENoYXJhY3RlcnNUcmFuc2xh
dG9yPihidWZmZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L0F0b21pY1N0cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0
cmluZy5oCmluZGV4IDQ1YTcxZTcwNTlkYWZmNjJlNDJlZjc5MzYzZGQ1YjFmNzgzMGViNTYuLjQ0
MDcwMGMxOThkZWQ4NzMwYWVjMTM5YWE3YjMyMjA3ZmJiZjIwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTEyNyw2ICsxMjcsNyBAQCBw
cml2YXRlOgogICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uocik7CiAgICAgfQogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGFkZFNsb3dDYXNlKFN0cmluZ0ltcGwqKTsKKyAgICBz
dGF0aWMgQXRvbWljU3RyaW5nIGZyb21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciosIGNvbnN0IGNo
YXIqKTsKIH07CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQXRvbWljU3RyaW5nJiBh
LCBjb25zdCBBdG9taWNTdHJpbmcmIGIpIHsgcmV0dXJuIGEuaW1wbCgpID09IGIuaW1wbCgpOyB9
CkBAIC0xNTQsMjAgKzE1NSwzOCBAQCBpbmxpbmUgYm9vbCBlcXVhbElnbm9yaW5nQ2FzZShjb25z
dCBTdHJpbmcmIGEsIGNvbnN0IEF0b21pY1N0cmluZyYgYikgeyByZXR1cm4gZQogLy8gRGVmaW5l
IGV4dGVybmFsIGdsb2JhbCB2YXJpYWJsZXMgZm9yIHRoZSBjb21tb25seSB1c2VkIGF0b21pYyBz
dHJpbmdzLgogLy8gVGhlc2UgYXJlIG9ubHkgdXNhYmxlIGZyb20gdGhlIG1haW4gdGhyZWFkLgog
I2lmbmRlZiBBVE9NSUNTVFJJTkdfSElERV9HTE9CQUxTCi0gICAgZXh0ZXJuIGNvbnN0IEpTX0VY
UE9SVERBVEEgQXRvbWljU3RyaW5nIG51bGxBdG9tOwotICAgIGV4dGVybiBjb25zdCBKU19FWFBP
UlREQVRBIEF0b21pY1N0cmluZyBlbXB0eUF0b207Ci0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9S
VERBVEEgQXRvbWljU3RyaW5nIHRleHRBdG9tOwotICAgIGV4dGVybiBjb25zdCBKU19FWFBPUlRE
QVRBIEF0b21pY1N0cmluZyBjb21tZW50QXRvbTsKLSAgICBleHRlcm4gY29uc3QgSlNfRVhQT1JU
REFUQSBBdG9taWNTdHJpbmcgc3RhckF0b207Ci0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERB
VEEgQXRvbWljU3RyaW5nIHhtbEF0b207Ci0gICAgZXh0ZXJuIGNvbnN0IEpTX0VYUE9SVERBVEEg
QXRvbWljU3RyaW5nIHhtbG5zQXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21p
Y1N0cmluZyBudWxsQXRvbTsKK2V4dGVybiBjb25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmlu
ZyBlbXB0eUF0b207CitleHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgdGV4
dEF0b207CitleHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgY29tbWVudEF0
b207CitleHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgc3RhckF0b207Citl
eHRlcm4gY29uc3QgSlNfRVhQT1JUREFUQSBBdG9taWNTdHJpbmcgeG1sQXRvbTsKK2V4dGVybiBj
b25zdCBKU19FWFBPUlREQVRBIEF0b21pY1N0cmluZyB4bWxuc0F0b207CisKK2lubGluZSBBdG9t
aWNTdHJpbmcgQXRvbWljU3RyaW5nOjpmcm9tVVRGOChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCBz
aXplX3QgbGVuZ3RoKQoreworICAgIGlmICghY2hhcmFjdGVycykKKyAgICAgICAgcmV0dXJuIG51
bGxBdG9tOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gZW1wdHlBdG9tOworICAg
IHJldHVybiBmcm9tVVRGOEludGVybmFsKGNoYXJhY3RlcnMsIGNoYXJhY3RlcnMgKyBsZW5ndGgp
OworfQorCitpbmxpbmUgQXRvbWljU3RyaW5nIEF0b21pY1N0cmluZzo6ZnJvbVVURjgoY29uc3Qg
Y2hhciogY2hhcmFjdGVycykKK3sKKyAgICBpZiAoIWNoYXJhY3RlcnMpCisgICAgICAgIHJldHVy
biBudWxsQXRvbTsKKyAgICBpZiAoISpjaGFyYWN0ZXJzKQorICAgICAgICByZXR1cm4gZW1wdHlB
dG9tOworICAgIHJldHVybiBmcm9tVVRGOEludGVybmFsKGNoYXJhY3RlcnMsIDApOworfQogI2Vu
ZGlmCiAKLSAgICAvLyBBdG9taWNTdHJpbmdIYXNoIGlzIHRoZSBkZWZhdWx0IGhhc2ggZm9yIEF0
b21pY1N0cmluZwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsK
LSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxBdG9taWNTdHJpbmc+IHsKLSAgICAg
ICAgdHlwZWRlZiBBdG9taWNTdHJpbmdIYXNoIEhhc2g7Ci0gICAgfTsKKy8vIEF0b21pY1N0cmlu
Z0hhc2ggaXMgdGhlIGRlZmF1bHQgaGFzaCBmb3IgQXRvbWljU3RyaW5nCit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgRGVmYXVsdEhhc2g7Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFz
aDxBdG9taWNTdHJpbmc+IHsKKyAgICB0eXBlZGVmIEF0b21pY1N0cmluZ0hhc2ggSGFzaDsKK307
CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNv
ZGUvVVRGOC5jcHAKaW5kZXggNjk4MWZlNDc1ZDcxN2UxNjg3N2I0OTk3MTBjMGY4MDI0OWVhMzU5
NS4uM2E4ODkwNjU2N2QwYTMzMjcwOTgzZTJiY2I2NGE1OWQ5OTQzYjE4OSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmNwcApAQCAtMzE0LDcgKzMxNCw3IEBAIENv
bnZlcnNpb25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZy
b21VVEY4SW50ZXJuYWwoY29uc3QgY2hhciogZGF0YSwgY29uc3QgY2hhciogZGF0YUVuZCwgdW5z
aWduZWQmIGRhdGFMZW5ndGgsIHVuc2lnbmVkJiB1dGYxNkxlbmd0aCkKK3Vuc2lnbmVkIGNhbGN1
bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBj
aGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2TGVuZ3Ro
KQogewogICAgIGlmICghZGF0YSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0zNjUsMTcgKzM2NSw2
IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFzaEFuZExlbmd0aEZy
b21VVEY4SW50ZXJuYWwoY29uc3QgY2hhcioKICAgICByZXR1cm4gc3RyaW5nSGFzaGVyLmhhc2go
KTsKIH0KIAotdW5zaWduZWQgY2FsY3VsYXRlU3RyaW5nSGFzaEZyb21VVEY4KGNvbnN0IGNoYXIq
IGRhdGEsIGNvbnN0IGNoYXIqIGRhdGFFbmQsIHVuc2lnbmVkJiB1dGYxNkxlbmd0aCkKLXsKLSAg
ICB1bnNpZ25lZCBkYXRhTGVuZ3RoOwotICAgIHJldHVybiBjYWxjdWxhdGVTdHJpbmdIYXNoQW5k
TGVuZ3RoRnJvbVVURjhJbnRlcm5hbChkYXRhLCBkYXRhRW5kLCBkYXRhTGVuZ3RoLCB1dGYxNkxl
bmd0aCk7Ci19Ci0KLXVuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhGcm9tVVRG
OChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQmIHV0ZjE2
TGVuZ3RoKQotewotICAgIHJldHVybiBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3RoRnJvbVVU
RjhJbnRlcm5hbChkYXRhLCAwLCBkYXRhTGVuZ3RoLCB1dGYxNkxlbmd0aCk7Ci19Ci0KIGJvb2wg
ZXF1YWxVVEYxNldpdGhVVEY4KGNvbnN0IFVDaGFyKiBhLCBjb25zdCBVQ2hhciogYUVuZCwgY29u
c3QgY2hhciogYiwgY29uc3QgY2hhciogYkVuZCkKIHsKICAgICB3aGlsZSAoYiA8IGJFbmQpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VVEY4LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5oCmluZGV4IGJiZmFhODQwOWIx
Y2M5NWI1YThjYTVmYjdmMGVmNGU0ZTQyZjViMTYuLjdiN2I3NWQzN2NjM2ZjMzc4MTY2MmQ3ZmRk
NTc1OTRhZGY3MTMwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5p
Y29kZS9VVEY4LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjgu
aApAQCAtNzAsOCArNzAsNyBAQCBuYW1lc3BhY2UgVW5pY29kZSB7CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFVDaGFyKiogc291cmNlU3RhcnQsIGNvbnN0IFVDaGFyKiBzb3VyY2VFbmQsIAog
ICAgICAgICAgICAgICAgICAgICBjaGFyKiogdGFyZ2V0U3RhcnQsIGNoYXIqIHRhcmdldEVuZCwg
Ym9vbCBzdHJpY3QgPSB0cnVlKTsKIAotICAgIHVuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hG
cm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCBjb25zdCBjaGFyKiBkYXRhRW5kLCB1bnNpZ25lZCYg
dXRmMTZMZW5ndGgpOwotICAgIHVuc2lnbmVkIGNhbGN1bGF0ZVN0cmluZ0hhc2hBbmRMZW5ndGhG
cm9tVVRGOChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCYgZGF0YUxlbmd0aCwgdW5zaWduZWQm
IHV0ZjE2TGVuZ3RoKTsKKyAgICB1bnNpZ25lZCBjYWxjdWxhdGVTdHJpbmdIYXNoQW5kTGVuZ3Ro
RnJvbVVURjgoY29uc3QgY2hhciogZGF0YSwgY29uc3QgY2hhciogZGF0YUVuZCwgdW5zaWduZWQm
IGRhdGFMZW5ndGgsIHVuc2lnbmVkJiB1dGYxNkxlbmd0aCk7CiAKICAgICBib29sIGVxdWFsVVRG
MTZXaXRoVVRGOChjb25zdCBVQ2hhciogYSwgY29uc3QgVUNoYXIqIGFFbmQsIGNvbnN0IGNoYXIq
IGIsIGNvbnN0IGNoYXIqIGJFbmQpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>