<?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>25988</bug_id>
          
          <creation_ts>2009-05-24 01:27:28 -0700</creation_ts>
          <short_desc>PluginPackage*.cpp cleanup</short_desc>
          <delta_ts>2009-05-25 05:55:56 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122925</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 01:27:28 -0700</bug_when>
    <thetext>Currently there is quite some thing that could be shared between PluginPackageWin.cpp, PluginPackageQt.cpp and PluginPackageGtk.cpp. Recently the duplication has created the usual problem that one site was updated, the two others not. Attempt to improve the situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122926</commentid>
    <comment_count>1</comment_count>
      <attachid>30627</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 01:28:58 -0700</bug_when>
    <thetext>Created attachment 30627
Move the big m_browserfuncs assignment to PluginPackage.cpp

Move the big set of assignment statements from PluginPackageWin.cpp to PluginPackage.cpp and remove them from PluginPackageQt.cpp and PluginPackageGtk.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122927</commentid>
    <comment_count>2</comment_count>
      <attachid>30628</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 01:30:17 -0700</bug_when>
    <thetext>Created attachment 30628
Move hash and equal to PluginPackage

The hash, equal and compare version can be shared between Gtk and Qt. Move them into PluginPackage.cpp and guard the implementation with a #if USE() as the windows version is specialized and will not be happy with the simple implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122929</commentid>
    <comment_count>3</comment_count>
      <attachid>30629</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 01:37:07 -0700</bug_when>
    <thetext>Created attachment 30629
Cleanup the hash implementation

Small cleanups, less hardcoded magic numbers (two in this case) and the size of UChar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122935</commentid>
    <comment_count>4</comment_count>
      <attachid>30627</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-24 03:46:34 -0700</bug_when>
    <thetext>Comment on attachment 30627
Move the big m_browserfuncs assignment to PluginPackage.cpp

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122936</commentid>
    <comment_count>5</comment_count>
      <attachid>30628</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-24 03:48:16 -0700</bug_when>
    <thetext>Comment on attachment 30628
Move hash and equal to PluginPackage

The ifdef should be an ENABLE not a USE, since it&apos;s about optional code inside WebKit (ENABLE), not an optional external dependency (USE). Please change that when landing. Otherwise r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122937</commentid>
    <comment_count>6</comment_count>
      <attachid>30629</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-24 03:48:33 -0700</bug_when>
    <thetext>Comment on attachment 30629
Cleanup the hash implementation

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122998</commentid>
    <comment_count>7</comment_count>
      <attachid>30640</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 21:05:31 -0700</bug_when>
    <thetext>Created attachment 30640
Update PluginPackageMac.cpp too

I forgot to update PluginPackageMac.cpp which is used by Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123028</commentid>
    <comment_count>8</comment_count>
      <attachid>30640</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-05-25 05:04:10 -0700</bug_when>
    <thetext>Comment on attachment 30640
Update PluginPackageMac.cpp too

Nice!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123036</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-05-25 05:55:56 -0700</bug_when>
    <thetext>Last fix landed in r44129</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30627</attachid>
            <date>2009-05-24 01:28:58 -0700</date>
            <delta_ts>2009-05-24 21:00:51 -0700</delta_ts>
            <desc>Move the big m_browserfuncs assignment to PluginPackage.cpp</desc>
            <filename>0002-2009-05-23-Holger-Hans-Peter-Freyther-zecke-selfi.patch</filename>
            <type>text/plain</type>
            <size>14999</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA2NjQxOTdjNjhiNDk2ZjI5Y2ViZTU4MTg1MjRkNGI5YzIzYjMxZDVhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFN1biwgMjQgTWF5IDIwMDkgMDc6Mjg6NTQgKzAyMDAKU3ViamVjdDog
W1BBVENIXSAyMDA5LTA1LTIzICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAg
U28gZmFyIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgYnJvd3NlcmZ1bmNzIHN0cnVjdAogICAg
ICAgIGlzIGRvbmUgaW4gUGx1Z2luUGFja2FnZVF0LCBQbHVnaW5QYWNrYWdlR3RrIGFuZAogICAg
ICAgIFBsdWdpblBhY2thZ2VXaW4gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBkdXBsaWNhdGlv
bi4KCiAgICAgICAgVGhlIFBsdWdpblBhY2thZ2VXaW4gdmVyc2lvbiBnb3QgY29waWVkIHRvIFBs
dWdpblBhY2thZ2UKCiAgICAgICAgKiBwbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgogICAgICAg
IChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjppbml0aWFsaXplQnJvd3NlckZ1bmNzKToKICAgICAg
ICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5oOgogICAgICAgICogcGx1Z2lucy9ndGsvUGx1Z2lu
UGFja2FnZUd0ay5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmxvYWQpOgog
ICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwOgogICAgICAgIChXZWJDb3Jl
OjpQbHVnaW5QYWNrYWdlOjpsb2FkKToKICAgICAgICAqIHBsdWdpbnMvd2luL1BsdWdpblBhY2th
Z2VXaW4uY3BwOgogICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpsb2FkKToKLS0tCiBX
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMCArKysrKysrKysr
KwogV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwICAgICAgICB8ICAgNTUgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5o
ICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsu
Y3BwIHwgICA1MSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBXZWJDb3JlL3BsdWdpbnMv
cXQvUGx1Z2luUGFja2FnZVF0LmNwcCAgIHwgICA0NyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5QYWNrYWdlV2luLmNwcCB8ICAgNTEgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCsp
LCAxNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmNWIxN2NhLi5mOTVhZDkzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5
LTA1LTIzICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZpc2gub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvIGZhciB0
aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGJyb3dzZXJmdW5jcyBzdHJ1Y3QKKyAgICAgICAgaXMg
ZG9uZSBpbiBQbHVnaW5QYWNrYWdlUXQsIFBsdWdpblBhY2thZ2VHdGsgYW5kCisgICAgICAgIFBs
dWdpblBhY2thZ2VXaW4gdGhlcmUgaXMgbm8gbmVlZCBmb3IgdGhpcyBkdXBsaWNhdGlvbi4KKwor
ICAgICAgICBUaGUgUGx1Z2luUGFja2FnZVdpbiB2ZXJzaW9uIGdvdCBjb3BpZWQgdG8gUGx1Z2lu
UGFja2FnZQorCisgICAgICAgICogcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmluaXRpYWxpemVCcm93c2VyRnVuY3MpOgorICAgICAg
ICAqIHBsdWdpbnMvUGx1Z2luUGFja2FnZS5oOgorICAgICAgICAqIHBsdWdpbnMvZ3RrL1BsdWdp
blBhY2thZ2VHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luUGFja2FnZTo6bG9hZCk6
CisgICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luUGFja2FnZTo6bG9hZCk6CisgICAgICAgICogcGx1Z2lucy93aW4vUGx1Z2lu
UGFja2FnZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpsb2FkKToK
KwogMjAwOS0wNS0yMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblBhY2thZ2UuY3BwIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCmluZGV4
IDI2YzYyNTguLmY5NWM2ZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNr
YWdlLmNwcAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTEsNiAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDb2xsYWJvcmEgTHRkLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIgSGFucyBQZXRl
ciBGcmV5dGhlcgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMzgsNCArMjM5
LDU4IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZGV0ZXJtaW5lTW9kdWxlVmVyc2lvbkZyb21EZXNj
cmlwdGlvbigpCiB9CiAjZW5kaWYKIAordm9pZCBQbHVnaW5QYWNrYWdlOjppbml0aWFsaXplQnJv
d3NlckZ1bmNzKCkKK3sKKyAgICBtZW1zZXQoJm1fYnJvd3NlckZ1bmNzLCAwLCBzaXplb2YobV9i
cm93c2VyRnVuY3MpKTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5zaXplID0gc2l6ZW9mIChtX2Jyb3dz
ZXJGdW5jcyk7CisgICAgbV9icm93c2VyRnVuY3MudmVyc2lvbiA9IE5QX1ZFUlNJT05fTUlOT1I7
CisKKyAgICBtX2Jyb3dzZXJGdW5jcy5nZXR1cmwgPSBOUE5fR2V0VVJMOworICAgIG1fYnJvd3Nl
ckZ1bmNzLnBvc3R1cmwgPSBOUE5fUG9zdFVSTDsKKyAgICBtX2Jyb3dzZXJGdW5jcy5yZXF1ZXN0
cmVhZCA9IE5QTl9SZXF1ZXN0UmVhZDsKKyAgICBtX2Jyb3dzZXJGdW5jcy5uZXdzdHJlYW0gPSBO
UE5fTmV3U3RyZWFtOworICAgIG1fYnJvd3NlckZ1bmNzLndyaXRlID0gTlBOX1dyaXRlOworICAg
IG1fYnJvd3NlckZ1bmNzLmRlc3Ryb3lzdHJlYW0gPSBOUE5fRGVzdHJveVN0cmVhbTsKKyAgICBt
X2Jyb3dzZXJGdW5jcy5zdGF0dXMgPSBOUE5fU3RhdHVzOworICAgIG1fYnJvd3NlckZ1bmNzLnVh
Z2VudCA9IE5QTl9Vc2VyQWdlbnQ7CisgICAgbV9icm93c2VyRnVuY3MubWVtYWxsb2MgPSBOUE5f
TWVtQWxsb2M7CisgICAgbV9icm93c2VyRnVuY3MubWVtZnJlZSA9IE5QTl9NZW1GcmVlOworICAg
IG1fYnJvd3NlckZ1bmNzLm1lbWZsdXNoID0gTlBOX01lbUZsdXNoOworICAgIG1fYnJvd3NlckZ1
bmNzLnJlbG9hZHBsdWdpbnMgPSBOUE5fUmVsb2FkUGx1Z2luczsKKyAgICBtX2Jyb3dzZXJGdW5j
cy5nZXR1cmxub3RpZnkgPSBOUE5fR2V0VVJMTm90aWZ5OworICAgIG1fYnJvd3NlckZ1bmNzLnBv
c3R1cmxub3RpZnkgPSBOUE5fUG9zdFVSTE5vdGlmeTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5nZXR2
YWx1ZSA9IE5QTl9HZXRWYWx1ZTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5zZXR2YWx1ZSA9IE5QTl9T
ZXRWYWx1ZTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5pbnZhbGlkYXRlcmVjdCA9IE5QTl9JbnZhbGlk
YXRlUmVjdDsKKyAgICBtX2Jyb3dzZXJGdW5jcy5pbnZhbGlkYXRlcmVnaW9uID0gTlBOX0ludmFs
aWRhdGVSZWdpb247CisgICAgbV9icm93c2VyRnVuY3MuZm9yY2VyZWRyYXcgPSBOUE5fRm9yY2VS
ZWRyYXc7CisgICAgbV9icm93c2VyRnVuY3MuZ2V0SmF2YUVudiA9IE5QTl9HZXRKYXZhRW52Owor
ICAgIG1fYnJvd3NlckZ1bmNzLmdldEphdmFQZWVyID0gTlBOX0dldEphdmFQZWVyOworICAgIG1f
YnJvd3NlckZ1bmNzLnB1c2hwb3B1cHNlbmFibGVkc3RhdGUgPSBOUE5fUHVzaFBvcHVwc0VuYWJs
ZWRTdGF0ZTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5wb3Bwb3B1cHNlbmFibGVkc3RhdGUgPSBOUE5f
UG9wUG9wdXBzRW5hYmxlZFN0YXRlOworICAgIG1fYnJvd3NlckZ1bmNzLnBsdWdpbnRocmVhZGFz
eW5jY2FsbCA9IE5QTl9QbHVnaW5UaHJlYWRBc3luY0NhbGw7CisKKyAgICBtX2Jyb3dzZXJGdW5j
cy5yZWxlYXNldmFyaWFudHZhbHVlID0gX05QTl9SZWxlYXNlVmFyaWFudFZhbHVlOworICAgIG1f
YnJvd3NlckZ1bmNzLmdldHN0cmluZ2lkZW50aWZpZXIgPSBfTlBOX0dldFN0cmluZ0lkZW50aWZp
ZXI7CisgICAgbV9icm93c2VyRnVuY3MuZ2V0c3RyaW5naWRlbnRpZmllcnMgPSBfTlBOX0dldFN0
cmluZ0lkZW50aWZpZXJzOworICAgIG1fYnJvd3NlckZ1bmNzLmdldGludGlkZW50aWZpZXIgPSBf
TlBOX0dldEludElkZW50aWZpZXI7CisgICAgbV9icm93c2VyRnVuY3MuaWRlbnRpZmllcmlzc3Ry
aW5nID0gX05QTl9JZGVudGlmaWVySXNTdHJpbmc7CisgICAgbV9icm93c2VyRnVuY3MudXRmOGZy
b21pZGVudGlmaWVyID0gX05QTl9VVEY4RnJvbUlkZW50aWZpZXI7CisgICAgbV9icm93c2VyRnVu
Y3MuaW50ZnJvbWlkZW50aWZpZXIgPSBfTlBOX0ludEZyb21JZGVudGlmaWVyOworICAgIG1fYnJv
d3NlckZ1bmNzLmNyZWF0ZW9iamVjdCA9IF9OUE5fQ3JlYXRlT2JqZWN0OworICAgIG1fYnJvd3Nl
ckZ1bmNzLnJldGFpbm9iamVjdCA9IF9OUE5fUmV0YWluT2JqZWN0OworICAgIG1fYnJvd3NlckZ1
bmNzLnJlbGVhc2VvYmplY3QgPSBfTlBOX1JlbGVhc2VPYmplY3Q7CisgICAgbV9icm93c2VyRnVu
Y3MuaW52b2tlID0gX05QTl9JbnZva2U7CisgICAgbV9icm93c2VyRnVuY3MuaW52b2tlRGVmYXVs
dCA9IF9OUE5fSW52b2tlRGVmYXVsdDsKKyAgICBtX2Jyb3dzZXJGdW5jcy5ldmFsdWF0ZSA9IF9O
UE5fRXZhbHVhdGU7CisgICAgbV9icm93c2VyRnVuY3MuZ2V0cHJvcGVydHkgPSBfTlBOX0dldFBy
b3BlcnR5OworICAgIG1fYnJvd3NlckZ1bmNzLnNldHByb3BlcnR5ID0gX05QTl9TZXRQcm9wZXJ0
eTsKKyAgICBtX2Jyb3dzZXJGdW5jcy5yZW1vdmVwcm9wZXJ0eSA9IF9OUE5fUmVtb3ZlUHJvcGVy
dHk7CisgICAgbV9icm93c2VyRnVuY3MuaGFzcHJvcGVydHkgPSBfTlBOX0hhc1Byb3BlcnR5Owor
ICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhvZCA9IF9OUE5fSGFzTWV0aG9kOworICAgIG1fYnJv
d3NlckZ1bmNzLnNldGV4Y2VwdGlvbiA9IF9OUE5fU2V0RXhjZXB0aW9uOworICAgIG1fYnJvd3Nl
ckZ1bmNzLmVudW1lcmF0ZSA9IF9OUE5fRW51bWVyYXRlOworICAgIG1fYnJvd3NlckZ1bmNzLmNv
bnN0cnVjdCA9IF9OUE5fQ29uc3RydWN0OworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luUGFja2FnZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuaApp
bmRleCA3MDdlYjI1Li4wMmQwZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
UGFja2FnZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmgKQEAgLTc1LDYg
Kzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRldGVybWluZVF1aXJr
cyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKIAogICAgICAgICB2b2lkIGRldGVybWluZU1vZHVs
ZVZlcnNpb25Gcm9tRGVzY3JpcHRpb24oKTsKKyAgICAgICAgdm9pZCBpbml0aWFsaXplQnJvd3Nl
ckZ1bmNzKCk7CiAKICAgICAgICAgYm9vbCBtX2lzTG9hZGVkOwogICAgICAgICBpbnQgbV9sb2Fk
Q291bnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsu
Y3BwIGIvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcAppbmRleCA5NGYz
ZGM1Li43YWRhNWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2th
Z2VHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHAK
QEAgLTE3MSw1NiArMTcxLDcgQEAgYm9vbCBQbHVnaW5QYWNrYWdlOjpsb2FkKCkKICAgICBtZW1z
ZXQoJm1fcGx1Z2luRnVuY3MsIDAsIHNpemVvZihtX3BsdWdpbkZ1bmNzKSk7CiAgICAgbV9wbHVn
aW5GdW5jcy5zaXplID0gc2l6ZW9mKG1fcGx1Z2luRnVuY3MpOwogCi0gICAgbWVtc2V0KCZtX2Jy
b3dzZXJGdW5jcywgMCwgc2l6ZW9mKG1fYnJvd3NlckZ1bmNzKSk7Ci0gICAgbV9icm93c2VyRnVu
Y3Muc2l6ZSA9IHNpemVvZiAobV9icm93c2VyRnVuY3MpOwotICAgIG1fYnJvd3NlckZ1bmNzLnZl
cnNpb24gPSBOUF9WRVJTSU9OX01JTk9SOwotCi0gICAgbV9icm93c2VyRnVuY3MuZ2V0dXJsID0g
TlBOX0dldFVSTDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wb3N0dXJsID0gTlBOX1Bvc3RVUkw7Ci0g
ICAgbV9icm93c2VyRnVuY3MucmVxdWVzdHJlYWQgPSBOUE5fUmVxdWVzdFJlYWQ7Ci0gICAgbV9i
cm93c2VyRnVuY3MubmV3c3RyZWFtID0gTlBOX05ld1N0cmVhbTsKLSAgICBtX2Jyb3dzZXJGdW5j
cy53cml0ZSA9IE5QTl9Xcml0ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5kZXN0cm95c3RyZWFtID0g
TlBOX0Rlc3Ryb3lTdHJlYW07Ci0gICAgbV9icm93c2VyRnVuY3Muc3RhdHVzID0gTlBOX1N0YXR1
czsKLSAgICBtX2Jyb3dzZXJGdW5jcy51YWdlbnQgPSBOUE5fVXNlckFnZW50OwotICAgIG1fYnJv
d3NlckZ1bmNzLm1lbWFsbG9jID0gTlBOX01lbUFsbG9jOwotICAgIG1fYnJvd3NlckZ1bmNzLm1l
bWZyZWUgPSBOUE5fTWVtRnJlZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5tZW1mbHVzaCA9IE5QTl9N
ZW1GbHVzaDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxvYWRwbHVnaW5zID0gTlBOX1JlbG9hZFBs
dWdpbnM7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0dXJsbm90aWZ5ID0gTlBOX0dldFVSTE5vdGlm
eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wb3N0dXJsbm90aWZ5ID0gTlBOX1Bvc3RVUkxOb3RpZnk7
Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0dmFsdWUgPSBOUE5fR2V0VmFsdWU7Ci0gICAgbV9icm93
c2VyRnVuY3Muc2V0dmFsdWUgPSBOUE5fU2V0VmFsdWU7Ci0gICAgbV9icm93c2VyRnVuY3MuaW52
YWxpZGF0ZXJlY3QgPSBOUE5fSW52YWxpZGF0ZVJlY3Q7Ci0gICAgbV9icm93c2VyRnVuY3MuaW52
YWxpZGF0ZXJlZ2lvbiA9IE5QTl9JbnZhbGlkYXRlUmVnaW9uOwotICAgIG1fYnJvd3NlckZ1bmNz
LmZvcmNlcmVkcmF3ID0gTlBOX0ZvcmNlUmVkcmF3OwotICAgIG1fYnJvd3NlckZ1bmNzLmdldEph
dmFFbnYgPSBOUE5fR2V0SmF2YUVudjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5nZXRKYXZhUGVlciA9
IE5QTl9HZXRKYXZhUGVlcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wdXNocG9wdXBzZW5hYmxlZHN0
YXRlID0gTlBOX1B1c2hQb3B1cHNFbmFibGVkU3RhdGU7Ci0gICAgbV9icm93c2VyRnVuY3MucG9w
cG9wdXBzZW5hYmxlZHN0YXRlID0gTlBOX1BvcFBvcHVwc0VuYWJsZWRTdGF0ZTsKLSAgICBtX2Jy
b3dzZXJGdW5jcy5wbHVnaW50aHJlYWRhc3luY2NhbGwgPSBOUE5fUGx1Z2luVGhyZWFkQXN5bmND
YWxsOwotCi0gICAgbV9icm93c2VyRnVuY3MucmVsZWFzZXZhcmlhbnR2YWx1ZSA9IF9OUE5fUmVs
ZWFzZVZhcmlhbnRWYWx1ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5nZXRzdHJpbmdpZGVudGlmaWVy
ID0gX05QTl9HZXRTdHJpbmdJZGVudGlmaWVyOwotICAgIG1fYnJvd3NlckZ1bmNzLmdldHN0cmlu
Z2lkZW50aWZpZXJzID0gX05QTl9HZXRTdHJpbmdJZGVudGlmaWVyczsKLSAgICBtX2Jyb3dzZXJG
dW5jcy5nZXRpbnRpZGVudGlmaWVyID0gX05QTl9HZXRJbnRJZGVudGlmaWVyOwotICAgIG1fYnJv
d3NlckZ1bmNzLmlkZW50aWZpZXJpc3N0cmluZyA9IF9OUE5fSWRlbnRpZmllcklzU3RyaW5nOwot
ICAgIG1fYnJvd3NlckZ1bmNzLnV0Zjhmcm9taWRlbnRpZmllciA9IF9OUE5fVVRGOEZyb21JZGVu
dGlmaWVyOwotICAgIG1fYnJvd3NlckZ1bmNzLmludGZyb21pZGVudGlmaWVyID0gX05QTl9JbnRG
cm9tSWRlbnRpZmllcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jcmVhdGVvYmplY3QgPSBfTlBOX0Ny
ZWF0ZU9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZXRhaW5vYmplY3QgPSBfTlBOX1JldGFp
bk9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxlYXNlb2JqZWN0ID0gX05QTl9SZWxlYXNl
T2JqZWN0OwotICAgIG1fYnJvd3NlckZ1bmNzLmludm9rZSA9IF9OUE5fSW52b2tlOwotICAgIG1f
YnJvd3NlckZ1bmNzLmludm9rZURlZmF1bHQgPSBfTlBOX0ludm9rZURlZmF1bHQ7Ci0gICAgbV9i
cm93c2VyRnVuY3MuZXZhbHVhdGUgPSBfTlBOX0V2YWx1YXRlOwotICAgIG1fYnJvd3NlckZ1bmNz
LmdldHByb3BlcnR5ID0gX05QTl9HZXRQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5zZXRw
cm9wZXJ0eSA9IF9OUE5fU2V0UHJvcGVydHk7Ci0gICAgbV9icm93c2VyRnVuY3MucmVtb3ZlcHJv
cGVydHkgPSBfTlBOX1JlbW92ZVByb3BlcnR5OwotICAgIG1fYnJvd3NlckZ1bmNzLmhhc3Byb3Bl
cnR5ID0gX05QTl9IYXNQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5oYXNtZXRob2QgPSBf
TlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNlcHRpb24gPSBfTlBOX1Nl
dEV4Y2VwdGlvbjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUgPSBfTlBOX0VudW1lcmF0
ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0NvbnN0cnVjdDsKKyAgICBp
bml0aWFsaXplQnJvd3NlckZ1bmNzKCk7CiAKICNpZiBkZWZpbmVkKFhQX1VOSVgpCiAgICAgbnBF
cnIgPSBOUF9Jbml0aWFsaXplKCZtX2Jyb3dzZXJGdW5jcywgJm1fcGx1Z2luRnVuY3MpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHAgYi9XZWJDb3Jl
L3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAppbmRleCAyOWU5YzE0Li5jMjNjYWYxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNwcApAQCAtMTA5LDUyICsxMDksNyBA
QCBib29sIFBsdWdpblBhY2thZ2U6OmxvYWQoKQogICAgIG1lbXNldCgmbV9wbHVnaW5GdW5jcywg
MCwgc2l6ZW9mKG1fcGx1Z2luRnVuY3MpKTsKICAgICBtX3BsdWdpbkZ1bmNzLnNpemUgPSBzaXpl
b2YobV9wbHVnaW5GdW5jcyk7CiAKLSAgICBtX2Jyb3dzZXJGdW5jcy5zaXplID0gc2l6ZW9mICht
X2Jyb3dzZXJGdW5jcyk7Ci0gICAgbV9icm93c2VyRnVuY3MudmVyc2lvbiA9IE5QX1ZFUlNJT05f
TUlOT1I7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0dXJsID0gTlBOX0dldFVSTDsKLSAgICBtX2Jy
b3dzZXJGdW5jcy5wb3N0dXJsID0gTlBOX1Bvc3RVUkw7Ci0gICAgbV9icm93c2VyRnVuY3MucmVx
dWVzdHJlYWQgPSBOUE5fUmVxdWVzdFJlYWQ7Ci0gICAgbV9icm93c2VyRnVuY3MubmV3c3RyZWFt
ID0gTlBOX05ld1N0cmVhbTsKLSAgICBtX2Jyb3dzZXJGdW5jcy53cml0ZSA9IE5QTl9Xcml0ZTsK
LSAgICBtX2Jyb3dzZXJGdW5jcy5kZXN0cm95c3RyZWFtID0gTlBOX0Rlc3Ryb3lTdHJlYW07Ci0g
ICAgbV9icm93c2VyRnVuY3Muc3RhdHVzID0gTlBOX1N0YXR1czsKLSAgICBtX2Jyb3dzZXJGdW5j
cy51YWdlbnQgPSBOUE5fVXNlckFnZW50OwotICAgIG1fYnJvd3NlckZ1bmNzLm1lbWFsbG9jID0g
TlBOX01lbUFsbG9jOwotICAgIG1fYnJvd3NlckZ1bmNzLm1lbWZyZWUgPSBOUE5fTWVtRnJlZTsK
LSAgICBtX2Jyb3dzZXJGdW5jcy5tZW1mbHVzaCA9IE5QTl9NZW1GbHVzaDsKLSAgICBtX2Jyb3dz
ZXJGdW5jcy5yZWxvYWRwbHVnaW5zID0gTlBOX1JlbG9hZFBsdWdpbnM7Ci0gICAgbV9icm93c2Vy
RnVuY3MuZ2V0dXJsbm90aWZ5ID0gTlBOX0dldFVSTE5vdGlmeTsKLSAgICBtX2Jyb3dzZXJGdW5j
cy5wb3N0dXJsbm90aWZ5ID0gTlBOX1Bvc3RVUkxOb3RpZnk7Ci0gICAgbV9icm93c2VyRnVuY3Mu
Z2V0dmFsdWUgPSBOUE5fR2V0VmFsdWU7Ci0gICAgbV9icm93c2VyRnVuY3Muc2V0dmFsdWUgPSBO
UE5fU2V0VmFsdWU7Ci0gICAgbV9icm93c2VyRnVuY3MuaW52YWxpZGF0ZXJlY3QgPSBOUE5fSW52
YWxpZGF0ZVJlY3Q7Ci0gICAgbV9icm93c2VyRnVuY3MuaW52YWxpZGF0ZXJlZ2lvbiA9IE5QTl9J
bnZhbGlkYXRlUmVnaW9uOwotICAgIG1fYnJvd3NlckZ1bmNzLmZvcmNlcmVkcmF3ID0gTlBOX0Zv
cmNlUmVkcmF3OwotICAgIG1fYnJvd3NlckZ1bmNzLmdldEphdmFFbnYgPSBOUE5fR2V0SmF2YUVu
djsKLSAgICBtX2Jyb3dzZXJGdW5jcy5nZXRKYXZhUGVlciA9IE5QTl9HZXRKYXZhUGVlcjsKLSAg
ICBtX2Jyb3dzZXJGdW5jcy5wdXNocG9wdXBzZW5hYmxlZHN0YXRlID0gTlBOX1B1c2hQb3B1cHNF
bmFibGVkU3RhdGU7Ci0gICAgbV9icm93c2VyRnVuY3MucG9wcG9wdXBzZW5hYmxlZHN0YXRlID0g
TlBOX1BvcFBvcHVwc0VuYWJsZWRTdGF0ZTsKLQotICAgIG1fYnJvd3NlckZ1bmNzLnJlbGVhc2V2
YXJpYW50dmFsdWUgPSBfTlBOX1JlbGVhc2VWYXJpYW50VmFsdWU7Ci0gICAgbV9icm93c2VyRnVu
Y3MuZ2V0c3RyaW5naWRlbnRpZmllciA9IF9OUE5fR2V0U3RyaW5nSWRlbnRpZmllcjsKLSAgICBt
X2Jyb3dzZXJGdW5jcy5nZXRzdHJpbmdpZGVudGlmaWVycyA9IF9OUE5fR2V0U3RyaW5nSWRlbnRp
ZmllcnM7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0aW50aWRlbnRpZmllciA9IF9OUE5fR2V0SW50
SWRlbnRpZmllcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5pZGVudGlmaWVyaXNzdHJpbmcgPSBfTlBO
X0lkZW50aWZpZXJJc1N0cmluZzsKLSAgICBtX2Jyb3dzZXJGdW5jcy51dGY4ZnJvbWlkZW50aWZp
ZXIgPSBfTlBOX1VURjhGcm9tSWRlbnRpZmllcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jcmVhdGVv
YmplY3QgPSBfTlBOX0NyZWF0ZU9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZXRhaW5vYmpl
Y3QgPSBfTlBOX1JldGFpbk9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxlYXNlb2JqZWN0
ID0gX05QTl9SZWxlYXNlT2JqZWN0OwotICAgIG1fYnJvd3NlckZ1bmNzLmludm9rZSA9IF9OUE5f
SW52b2tlOwotICAgIG1fYnJvd3NlckZ1bmNzLmludm9rZURlZmF1bHQgPSBfTlBOX0ludm9rZURl
ZmF1bHQ7Ci0gICAgbV9icm93c2VyRnVuY3MuZXZhbHVhdGUgPSBfTlBOX0V2YWx1YXRlOwotICAg
IG1fYnJvd3NlckZ1bmNzLmdldHByb3BlcnR5ID0gX05QTl9HZXRQcm9wZXJ0eTsKLSAgICBtX2Jy
b3dzZXJGdW5jcy5zZXRwcm9wZXJ0eSA9IF9OUE5fU2V0UHJvcGVydHk7Ci0gICAgbV9icm93c2Vy
RnVuY3MucmVtb3ZlcHJvcGVydHkgPSBfTlBOX1JlbW92ZVByb3BlcnR5OwotICAgIG1fYnJvd3Nl
ckZ1bmNzLmhhc3Byb3BlcnR5ID0gX05QTl9IYXNQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5j
cy5oYXNtZXRob2QgPSBfTlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNl
cHRpb24gPSBfTlBOX1NldEV4Y2VwdGlvbjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUg
PSBfTlBOX0VudW1lcmF0ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0Nv
bnN0cnVjdDsKKyAgICBpbml0aWFsaXplQnJvd3NlckZ1bmNzKCk7CiAKICNpZiBkZWZpbmVkKFhQ
X1VOSVgpCiAgICAgbnBFcnIgPSBOUF9Jbml0aWFsaXplKCZtX2Jyb3dzZXJGdW5jcywgJm1fcGx1
Z2luRnVuY3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5QYWNrYWdl
V2luLmNwcCBiL1dlYkNvcmUvcGx1Z2lucy93aW4vUGx1Z2luUGFja2FnZVdpbi5jcHAKaW5kZXgg
YWJlYTJkNC4uYjUyNTUzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL3dpbi9QbHVnaW5Q
YWNrYWdlV2luLmNwcAorKysgYi9XZWJDb3JlL3BsdWdpbnMvd2luL1BsdWdpblBhY2thZ2VXaW4u
Y3BwCkBAIC0yODEsNTYgKzI4MSw3IEBAIGJvb2wgUGx1Z2luUGFja2FnZTo6bG9hZCgpCiAgICAg
aWYgKG5wRXJyICE9IE5QRVJSX05PX0VSUk9SKQogICAgICAgICBnb3RvIGFib3J0OwogCi0gICAg
bWVtc2V0KCZtX2Jyb3dzZXJGdW5jcywgMCwgc2l6ZW9mKG1fYnJvd3NlckZ1bmNzKSk7Ci0gICAg
bV9icm93c2VyRnVuY3Muc2l6ZSA9IHNpemVvZiAobV9icm93c2VyRnVuY3MpOwotICAgIG1fYnJv
d3NlckZ1bmNzLnZlcnNpb24gPSBOUF9WRVJTSU9OX01JTk9SOwotCi0gICAgbV9icm93c2VyRnVu
Y3MuZ2V0dXJsID0gTlBOX0dldFVSTDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wb3N0dXJsID0gTlBO
X1Bvc3RVUkw7Ci0gICAgbV9icm93c2VyRnVuY3MucmVxdWVzdHJlYWQgPSBOUE5fUmVxdWVzdFJl
YWQ7Ci0gICAgbV9icm93c2VyRnVuY3MubmV3c3RyZWFtID0gTlBOX05ld1N0cmVhbTsKLSAgICBt
X2Jyb3dzZXJGdW5jcy53cml0ZSA9IE5QTl9Xcml0ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5kZXN0
cm95c3RyZWFtID0gTlBOX0Rlc3Ryb3lTdHJlYW07Ci0gICAgbV9icm93c2VyRnVuY3Muc3RhdHVz
ID0gTlBOX1N0YXR1czsKLSAgICBtX2Jyb3dzZXJGdW5jcy51YWdlbnQgPSBOUE5fVXNlckFnZW50
OwotICAgIG1fYnJvd3NlckZ1bmNzLm1lbWFsbG9jID0gTlBOX01lbUFsbG9jOwotICAgIG1fYnJv
d3NlckZ1bmNzLm1lbWZyZWUgPSBOUE5fTWVtRnJlZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5tZW1m
bHVzaCA9IE5QTl9NZW1GbHVzaDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxvYWRwbHVnaW5zID0g
TlBOX1JlbG9hZFBsdWdpbnM7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0dXJsbm90aWZ5ID0gTlBO
X0dldFVSTE5vdGlmeTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wb3N0dXJsbm90aWZ5ID0gTlBOX1Bv
c3RVUkxOb3RpZnk7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0dmFsdWUgPSBOUE5fR2V0VmFsdWU7
Ci0gICAgbV9icm93c2VyRnVuY3Muc2V0dmFsdWUgPSBOUE5fU2V0VmFsdWU7Ci0gICAgbV9icm93
c2VyRnVuY3MuaW52YWxpZGF0ZXJlY3QgPSBOUE5fSW52YWxpZGF0ZVJlY3Q7Ci0gICAgbV9icm93
c2VyRnVuY3MuaW52YWxpZGF0ZXJlZ2lvbiA9IE5QTl9JbnZhbGlkYXRlUmVnaW9uOwotICAgIG1f
YnJvd3NlckZ1bmNzLmZvcmNlcmVkcmF3ID0gTlBOX0ZvcmNlUmVkcmF3OwotICAgIG1fYnJvd3Nl
ckZ1bmNzLmdldEphdmFFbnYgPSBOUE5fR2V0SmF2YUVudjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5n
ZXRKYXZhUGVlciA9IE5QTl9HZXRKYXZhUGVlcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wdXNocG9w
dXBzZW5hYmxlZHN0YXRlID0gTlBOX1B1c2hQb3B1cHNFbmFibGVkU3RhdGU7Ci0gICAgbV9icm93
c2VyRnVuY3MucG9wcG9wdXBzZW5hYmxlZHN0YXRlID0gTlBOX1BvcFBvcHVwc0VuYWJsZWRTdGF0
ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5wbHVnaW50aHJlYWRhc3luY2NhbGwgPSBOUE5fUGx1Z2lu
VGhyZWFkQXN5bmNDYWxsOwotCi0gICAgbV9icm93c2VyRnVuY3MucmVsZWFzZXZhcmlhbnR2YWx1
ZSA9IF9OUE5fUmVsZWFzZVZhcmlhbnRWYWx1ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5nZXRzdHJp
bmdpZGVudGlmaWVyID0gX05QTl9HZXRTdHJpbmdJZGVudGlmaWVyOwotICAgIG1fYnJvd3NlckZ1
bmNzLmdldHN0cmluZ2lkZW50aWZpZXJzID0gX05QTl9HZXRTdHJpbmdJZGVudGlmaWVyczsKLSAg
ICBtX2Jyb3dzZXJGdW5jcy5nZXRpbnRpZGVudGlmaWVyID0gX05QTl9HZXRJbnRJZGVudGlmaWVy
OwotICAgIG1fYnJvd3NlckZ1bmNzLmlkZW50aWZpZXJpc3N0cmluZyA9IF9OUE5fSWRlbnRpZmll
cklzU3RyaW5nOwotICAgIG1fYnJvd3NlckZ1bmNzLnV0Zjhmcm9taWRlbnRpZmllciA9IF9OUE5f
VVRGOEZyb21JZGVudGlmaWVyOwotICAgIG1fYnJvd3NlckZ1bmNzLmludGZyb21pZGVudGlmaWVy
ID0gX05QTl9JbnRGcm9tSWRlbnRpZmllcjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jcmVhdGVvYmpl
Y3QgPSBfTlBOX0NyZWF0ZU9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZXRhaW5vYmplY3Qg
PSBfTlBOX1JldGFpbk9iamVjdDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxlYXNlb2JqZWN0ID0g
X05QTl9SZWxlYXNlT2JqZWN0OwotICAgIG1fYnJvd3NlckZ1bmNzLmludm9rZSA9IF9OUE5fSW52
b2tlOwotICAgIG1fYnJvd3NlckZ1bmNzLmludm9rZURlZmF1bHQgPSBfTlBOX0ludm9rZURlZmF1
bHQ7Ci0gICAgbV9icm93c2VyRnVuY3MuZXZhbHVhdGUgPSBfTlBOX0V2YWx1YXRlOwotICAgIG1f
YnJvd3NlckZ1bmNzLmdldHByb3BlcnR5ID0gX05QTl9HZXRQcm9wZXJ0eTsKLSAgICBtX2Jyb3dz
ZXJGdW5jcy5zZXRwcm9wZXJ0eSA9IF9OUE5fU2V0UHJvcGVydHk7Ci0gICAgbV9icm93c2VyRnVu
Y3MucmVtb3ZlcHJvcGVydHkgPSBfTlBOX1JlbW92ZVByb3BlcnR5OwotICAgIG1fYnJvd3NlckZ1
bmNzLmhhc3Byb3BlcnR5ID0gX05QTl9IYXNQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5o
YXNtZXRob2QgPSBfTlBOX0hhc01ldGhvZDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5zZXRleGNlcHRp
b24gPSBfTlBOX1NldEV4Y2VwdGlvbjsKLSAgICBtX2Jyb3dzZXJGdW5jcy5lbnVtZXJhdGUgPSBf
TlBOX0VudW1lcmF0ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5jb25zdHJ1Y3QgPSBfTlBOX0NvbnN0
cnVjdDsKKyAgICBpbml0aWFsaXplQnJvd3NlckZ1bmNzKCk7CiAKICAgICBucEVyciA9IE5QX0lu
aXRpYWxpemUoJm1fYnJvd3NlckZ1bmNzKTsKICAgICBMT0dfTlBFUlJPUihucEVycik7Ci0tIAox
LjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30628</attachid>
            <date>2009-05-24 01:30:17 -0700</date>
            <delta_ts>2009-05-24 21:01:13 -0700</delta_ts>
            <desc>Move hash and equal to PluginPackage</desc>
            <filename>0003-2009-05-23-Holger-Hans-Peter-Freyther-zecke-selfi.patch</filename>
            <type>text/plain</type>
            <size>6385</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBiMWY2NjkzYWM1ZjA5MGU3MWJjZGQ3NzQ4MTc4NzlhYjcyYmI4NzBkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFN1biwgMjQgTWF5IDIwMDkgMDc6NDc6MjkgKzAyMDAKU3ViamVjdDog
W1BBVENIXSAyMDA5LTA1LTIzICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAg
TW92ZSA6Omhhc2gsIDo6ZXF1YWwgYW5kIDo6Y29tcGFyZUZpbGVWZXJzaW9uIGZyb20KICAgICAg
ICB0aGUgZHVwbGljYXRlZCBjb3BpZXMgaW4gUGx1Z2luUGFja2FnZVF0LmNwcCBhbmQKICAgICAg
ICBQbHVnaW5QYWNrYWdlR3RrIHRvIFBsdWdpblBhY2thZ2UuY3BwLiBXZSBuZWVkIHRvICNpZmRl
ZgogICAgICAgIHRoaXMgZm9yIHRoZSBQbHVnaW5QYWNrYWdlV2luIHZlcnNpb24uIFVzZSB0aGUg
bmV3IHN0eWxlCiAgICAgICAgVVNFKCkgZm9yIHRoaXMgZmVhdHVyZS9wb2xpY3kgYW5kIGVuYWJs
ZSBpdCBpbiB0aGUgR3RrKwogICAgICAgIGFuZCBRdCBidWlsZHN5c3RlbS4KCiAgICAgICAgKiBH
TlVtYWtlZmlsZS5hbToKICAgICAgICAqIFdlYkNvcmUucHJvOgogICAgICAgICogcGx1Z2lucy9Q
bHVnaW5QYWNrYWdlLmNwcDoKICAgICAgICAoV2ViQ29yZTo6UGx1Z2luUGFja2FnZTo6aGFzaCk6
CiAgICAgICAgKFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmVxdWFsKToKICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luUGFja2FnZTo6Y29tcGFyZUZpbGVWZXJzaW9uKToKICAgICAgICAqIHBsdWdpbnMv
Z3RrL1BsdWdpblBhY2thZ2VHdGsuY3BwOgogICAgICAgICogcGx1Z2lucy9xdC9QbHVnaW5QYWNr
YWdlUXQuY3BwOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDIwICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAg
ICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL1dlYkNvcmUucHJvICAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwICAgICAg
ICB8ICAgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BsdWdpbnMvZ3Rr
L1BsdWdpblBhY2thZ2VHdGsuY3BwIHwgICAyNCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFdl
YkNvcmUvcGx1Z2lucy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwICAgfCAgIDI0IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA0OSBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGY5NWFkOTMuLjE0OTAyYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjYgQEAKIAogICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBNb3ZlIDo6aGFzaCwgOjplcXVhbCBh
bmQgOjpjb21wYXJlRmlsZVZlcnNpb24gZnJvbQorICAgICAgICB0aGUgZHVwbGljYXRlZCBjb3Bp
ZXMgaW4gUGx1Z2luUGFja2FnZVF0LmNwcCBhbmQKKyAgICAgICAgUGx1Z2luUGFja2FnZUd0ayB0
byBQbHVnaW5QYWNrYWdlLmNwcC4gV2UgbmVlZCB0byAjaWZkZWYKKyAgICAgICAgdGhpcyBmb3Ig
dGhlIFBsdWdpblBhY2thZ2VXaW4gdmVyc2lvbi4gVXNlIHRoZSBuZXcgc3R5bGUKKyAgICAgICAg
VVNFKCkgZm9yIHRoaXMgZmVhdHVyZS9wb2xpY3kgYW5kIGVuYWJsZSBpdCBpbiB0aGUgR3RrKwor
ICAgICAgICBhbmQgUXQgYnVpbGRzeXN0ZW0uCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBwbHVnaW5zL1BsdWdpblBhY2thZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luUGFja2FnZTo6aGFzaCk6CisgICAgICAgIChX
ZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjplcXVhbCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5Q
YWNrYWdlOjpjb21wYXJlRmlsZVZlcnNpb24pOgorICAgICAgICAqIHBsdWdpbnMvZ3RrL1BsdWdp
blBhY2thZ2VHdGsuY3BwOgorICAgICAgICAqIHBsdWdpbnMvcXQvUGx1Z2luUGFja2FnZVF0LmNw
cDoKKworMjAwOS0wNS0yMyAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxm
aXNoLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAg
ICBTbyBmYXIgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBicm93c2VyZnVuY3Mgc3RydWN0CiAg
ICAgICAgIGlzIGRvbmUgaW4gUGx1Z2luUGFja2FnZVF0LCBQbHVnaW5QYWNrYWdlR3RrIGFuZAog
ICAgICAgICBQbHVnaW5QYWNrYWdlV2luIHRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoaXMgZHVwbGlj
YXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQppbmRleCA4NTk1NzVmLi5kMzE3OWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTUwLDYgKzUwLDcg
QEAgd2ViY29yZV9jcHBmbGFncyArPSBcCiAKIHdlYmNvcmVndGtfY3BwZmxhZ3MgKz0gXAogCS1E
V1RGX1VTRV9TT1VQPTEgXAorICAgICAgICAtRFdURl9VU0VfUExVR0lOX1BBQ0tBR0VfU0lNUExF
X0hBU0g9MSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ayBcCiAJLUkk
KHNyY2RpcikvV2ViQ29yZS9sb2FkZXIvZ3RrIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL3BhZ2Uv
Z3RrIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IDg2NjY3MzAuLmEwN2FjNzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMTM2LDcgKzEzNiw3IEBAIENPTkZJRyhR
VERJUl9idWlsZCkgewogICAgIH0KIH0KIAotREVGSU5FUyArPSBXVEZfVVNFX0pBVkFTQ1JJUFRD
T1JFX0JJTkRJTkdTPTEgV1RGX0NIQU5HRVM9MQorREVGSU5FUyArPSBXVEZfVVNFX0pBVkFTQ1JJ
UFRDT1JFX0JJTkRJTkdTPTEgV1RGX0NIQU5HRVM9MSBXVEZfVVNFX1BMVUdJTl9QQUNLQUdFX1NJ
TVBMRV9IQVNIPTEKIAogaW5jbHVkZSgkJFBXRC8uLi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5wcmkpCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNw
cCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBmOTVjNmU3Li40N2U2
ZmQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC0yOTMsNCArMjkzLDMxIEBAIHZv
aWQgUGx1Z2luUGFja2FnZTo6aW5pdGlhbGl6ZUJyb3dzZXJGdW5jcygpCiAgICAgbV9icm93c2Vy
RnVuY3MuY29uc3RydWN0ID0gX05QTl9Db25zdHJ1Y3Q7CiB9CiAKKyNpZiBVU0UoUExVR0lOX1BB
Q0tBR0VfU0lNUExFX0hBU0gpCit1bnNpZ25lZCBQbHVnaW5QYWNrYWdlOjpoYXNoKCkgY29uc3QK
K3sgCisgICAgdW5zaWduZWQgaGFzaENvZGVzWzJdID0geworICAgICAgICBtX3BhdGguaW1wbCgp
LT5oYXNoKCksCisgICAgICAgIG1fbGFzdE1vZGlmaWVkCisgICAgfTsKKworICAgIHJldHVybiBT
dHJpbmdJbXBsOjpjb21wdXRlSGFzaChyZWludGVycHJldF9jYXN0PFVDaGFyKj4oaGFzaENvZGVz
KSwgMiAqIHNpemVvZih1bnNpZ25lZCkgLyBzaXplb2YoVUNoYXIpKTsKK30KKworYm9vbCBQbHVn
aW5QYWNrYWdlOjplcXVhbChjb25zdCBQbHVnaW5QYWNrYWdlJiBhLCBjb25zdCBQbHVnaW5QYWNr
YWdlJiBiKQoreworICAgIHJldHVybiBhLm1fZGVzY3JpcHRpb24gPT0gYi5tX2Rlc2NyaXB0aW9u
OworfQorCitpbnQgUGx1Z2luUGFja2FnZTo6Y29tcGFyZUZpbGVWZXJzaW9uKGNvbnN0IFBsYXRm
b3JtTW9kdWxlVmVyc2lvbiYgY29tcGFyZVZlcnNpb24pIGNvbnN0Cit7CisgICAgLy8gcmV0dXJu
IC0xLCAwLCBvciAxIGlmIHBsdWctaW4gdmVyc2lvbiBpcyBsZXNzIHRoYW4sIGVxdWFsIHRvLCBv
ciBncmVhdGVyIHRoYW4KKyAgICAvLyB0aGUgcGFzc2VkIHZlcnNpb24KKyAgICBpZiAobV9tb2R1
bGVWZXJzaW9uICE9IGNvbXBhcmVWZXJzaW9uKQorICAgICAgICByZXR1cm4gbV9tb2R1bGVWZXJz
aW9uID4gY29tcGFyZVZlcnNpb24gPyAxIDogLTE7CisgICAgcmV0dXJuIDA7Cit9CisKKyNlbmRp
ZgorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsu
Y3BwIGIvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcAppbmRleCA3YWRh
NWI5Li4zMWM0ZWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2th
Z2VHdGsuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHAK
QEAgLTE4OSwyOCArMTg5LDQgQEAgYWJvcnQ6CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi11bnNp
Z25lZCBQbHVnaW5QYWNrYWdlOjpoYXNoKCkgY29uc3QKLXsgCi0gICAgdW5zaWduZWQgaGFzaENv
ZGVzWzJdID0gewotICAgICAgICBtX3BhdGguaW1wbCgpLT5oYXNoKCksCi0gICAgICAgIG1fbGFz
dE1vZGlmaWVkCi0gICAgfTsKLQotICAgIHJldHVybiBTdHJpbmdJbXBsOjpjb21wdXRlSGFzaChy
ZWludGVycHJldF9jYXN0PFVDaGFyKj4oaGFzaENvZGVzKSwgMiAqIHNpemVvZih1bnNpZ25lZCkg
LyBzaXplb2YoVUNoYXIpKTsKLX0KLQotYm9vbCBQbHVnaW5QYWNrYWdlOjplcXVhbChjb25zdCBQ
bHVnaW5QYWNrYWdlJiBhLCBjb25zdCBQbHVnaW5QYWNrYWdlJiBiKQotewotICAgIHJldHVybiBh
Lm1fZGVzY3JpcHRpb24gPT0gYi5tX2Rlc2NyaXB0aW9uOwotfQotCi1pbnQgUGx1Z2luUGFja2Fn
ZTo6Y29tcGFyZUZpbGVWZXJzaW9uKGNvbnN0IFBsYXRmb3JtTW9kdWxlVmVyc2lvbiYgY29tcGFy
ZVZlcnNpb24pIGNvbnN0Ci17Ci0gICAgLy8gcmV0dXJuIC0xLCAwLCBvciAxIGlmIHBsdWctaW4g
dmVyc2lvbiBpcyBsZXNzIHRoYW4sIGVxdWFsIHRvLCBvciBncmVhdGVyIHRoYW4KLSAgICAvLyB0
aGUgcGFzc2VkIHZlcnNpb24KLSAgICBpZiAobV9tb2R1bGVWZXJzaW9uICE9IGNvbXBhcmVWZXJz
aW9uKQotICAgICAgICByZXR1cm4gbV9tb2R1bGVWZXJzaW9uID4gY29tcGFyZVZlcnNpb24gPyAx
IDogLTE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lu
cy9xdC9QbHVnaW5QYWNrYWdlUXQuY3BwIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdpblBhY2th
Z2VRdC5jcHAKaW5kZXggYzIzY2FmMS4uZDllMzc2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVn
aW5zL3F0L1BsdWdpblBhY2thZ2VRdC5jcHAKKysrIGIvV2ViQ29yZS9wbHVnaW5zL3F0L1BsdWdp
blBhY2thZ2VRdC5jcHAKQEAgLTEyNywyOCArMTI3LDQgQEAgYWJvcnQ6CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi11bnNpZ25lZCBQbHVnaW5QYWNrYWdlOjpoYXNoKCkgY29uc3QKLXsgCi0gICAg
dW5zaWduZWQgaGFzaENvZGVzWzJdID0gewotICAgICAgICBtX3BhdGguaW1wbCgpLT5oYXNoKCks
Ci0gICAgICAgIG1fbGFzdE1vZGlmaWVkCi0gICAgfTsKLQotICAgIHJldHVybiBTdHJpbmdJbXBs
Ojpjb21wdXRlSGFzaChyZWludGVycHJldF9jYXN0PFVDaGFyKj4oaGFzaENvZGVzKSwgMiAqIHNp
emVvZih1bnNpZ25lZCkgLyBzaXplb2YoVUNoYXIpKTsKLX0KLQotYm9vbCBQbHVnaW5QYWNrYWdl
OjplcXVhbChjb25zdCBQbHVnaW5QYWNrYWdlJiBhLCBjb25zdCBQbHVnaW5QYWNrYWdlJiBiKQot
ewotICAgIHJldHVybiBhLm1fZGVzY3JpcHRpb24gPT0gYi5tX2Rlc2NyaXB0aW9uOwotfQotCi1p
bnQgUGx1Z2luUGFja2FnZTo6Y29tcGFyZUZpbGVWZXJzaW9uKGNvbnN0IFBsYXRmb3JtTW9kdWxl
VmVyc2lvbiYgY29tcGFyZVZlcnNpb24pIGNvbnN0Ci17Ci0gICAgLy8gcmV0dXJuIC0xLCAwLCBv
ciAxIGlmIHBsdWctaW4gdmVyc2lvbiBpcyBsZXNzIHRoYW4sIGVxdWFsIHRvLCBvciBncmVhdGVy
IHRoYW4KLSAgICAvLyB0aGUgcGFzc2VkIHZlcnNpb24KLSAgICBpZiAobV9tb2R1bGVWZXJzaW9u
ICE9IGNvbXBhcmVWZXJzaW9uKQotICAgICAgICByZXR1cm4gbV9tb2R1bGVWZXJzaW9uID4gY29t
cGFyZVZlcnNpb24gPyAxIDogLTE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIH0KLS0gCjEuNi4wLjQK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30629</attachid>
            <date>2009-05-24 01:37:07 -0700</date>
            <delta_ts>2009-05-24 21:01:50 -0700</delta_ts>
            <desc>Cleanup the hash implementation</desc>
            <filename>0004-2009-05-23-Holger-Hans-Peter-Freyther-zecke-selfi.patch</filename>
            <type>text/plain</type>
            <size>2271</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA1MjFjYWUzYzE0MTcwYzUxNTMzZDgxOTZhNmUxZWY0ODFkYmI3MmNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IFN1biwgMjQgTWF5IDIwMDkgMDc6NTI6MzEgKzAyMDAKU3ViamVjdDog
W1BBVENIXSAyMDA5LTA1LTIzICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAg
TWlub3IgY2xlYW51cCBpbiBQbHVnaW5QYWNrYWdlOjpoYXNoLiBMZXQgdGhlIGNvbXBpbGVyCiAg
ICAgICAgZmlndXJlIG91dCB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkuIERvIG5vdCBoYXZlIGl0IGlu
IHRoZQogICAgICAgIGRlZmluaXRpb24gYW5kIHNwZWNpYWxseSBub3QgdGhlIGluIHRoZSBjYWxs
IHRvCiAgICAgICAgU3RyaW5nSW1wbDo6aGFzaC4KCiAgICAgICAgKiBwbHVnaW5zL1BsdWdpblBh
Y2thZ2UuY3BwOgogICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpoYXNoKToKLS0tCiBX
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysrKysrKysrKwogV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIHwgICAgNCArKy0tCiAyIGZpbGVzIGNoYW5n
ZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNDkwMmM1Li5mZGYwMGFiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
Miw2ICsyLDE4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAg
ICAgICAgTWlub3IgY2xlYW51cCBpbiBQbHVnaW5QYWNrYWdlOjpoYXNoLiBMZXQgdGhlIGNvbXBp
bGVyCisgICAgICAgIGZpZ3VyZSBvdXQgdGhlIHNpemUgb2YgdGhlIGFycmF5LiBEbyBub3QgaGF2
ZSBpdCBpbiB0aGUKKyAgICAgICAgZGVmaW5pdGlvbiBhbmQgc3BlY2lhbGx5IG5vdCB0aGUgaW4g
dGhlIGNhbGwgdG8KKyAgICAgICAgU3RyaW5nSW1wbDo6aGFzaC4KKworICAgICAgICAqIHBsdWdp
bnMvUGx1Z2luUGFja2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpo
YXNoKToKKworMjAwOS0wNS0yMyAgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBz
ZWxmaXNoLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAg
ICAgICBNb3ZlIDo6aGFzaCwgOjplcXVhbCBhbmQgOjpjb21wYXJlRmlsZVZlcnNpb24gZnJvbQog
ICAgICAgICB0aGUgZHVwbGljYXRlZCBjb3BpZXMgaW4gUGx1Z2luUGFja2FnZVF0LmNwcCBhbmQK
ICAgICAgICAgUGx1Z2luUGFja2FnZUd0ayB0byBQbHVnaW5QYWNrYWdlLmNwcC4gV2UgbmVlZCB0
byAjaWZkZWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBi
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCA0N2U2ZmQyLi41NDE3MWVm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKKysrIGIvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC0yOTYsMTIgKzI5NiwxMiBAQCB2b2lk
IFBsdWdpblBhY2thZ2U6OmluaXRpYWxpemVCcm93c2VyRnVuY3MoKQogI2lmIFVTRShQTFVHSU5f
UEFDS0FHRV9TSU1QTEVfSEFTSCkKIHVuc2lnbmVkIFBsdWdpblBhY2thZ2U6Omhhc2goKSBjb25z
dAogeyAKLSAgICB1bnNpZ25lZCBoYXNoQ29kZXNbMl0gPSB7CisgICAgdW5zaWduZWQgaGFzaENv
ZGVzW10gPSB7CiAgICAgICAgIG1fcGF0aC5pbXBsKCktPmhhc2goKSwKICAgICAgICAgbV9sYXN0
TW9kaWZpZWQKICAgICB9OwogCi0gICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNvbXB1dGVIYXNoKHJl
aW50ZXJwcmV0X2Nhc3Q8VUNoYXIqPihoYXNoQ29kZXMpLCAyICogc2l6ZW9mKHVuc2lnbmVkKSAv
IHNpemVvZihVQ2hhcikpOworICAgIHJldHVybiBTdHJpbmdJbXBsOjpjb21wdXRlSGFzaChyZWlu
dGVycHJldF9jYXN0PFVDaGFyKj4oaGFzaENvZGVzKSwgc2l6ZW9mKGhhc2hDb2RlcykgLyBzaXpl
b2YoVUNoYXIpKTsKIH0KIAogYm9vbCBQbHVnaW5QYWNrYWdlOjplcXVhbChjb25zdCBQbHVnaW5Q
YWNrYWdlJiBhLCBjb25zdCBQbHVnaW5QYWNrYWdlJiBiKQotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30640</attachid>
            <date>2009-05-24 21:05:31 -0700</date>
            <delta_ts>2009-05-25 05:04:10 -0700</delta_ts>
            <desc>Update PluginPackageMac.cpp too</desc>
            <filename>0002-2009-05-24-Holger-Hans-Peter-Freyther-zecke-selfi.patch</filename>
            <type>text/plain</type>
            <size>5200</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBkNWE0MzAxY2QzMGJhNDFjOGVmNWNlY2Y5YjY0ZjhlNDY3MzNlOTExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMjUgTWF5IDIwMDkgMDU6NDM6MTggKzAyMDAKU3ViamVjdDog
W1BBVENIXSAyMDA5LTA1LTI0ICBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNl
bGZpc2gub3JnPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAg
Rm9sbG93IHVwIG9uIHI0NDEyMC4gUGx1Z2luUGFja2FnZU1hYy5jcHAgaXMgdXNlZAogICAgICAg
IGJ5IFF0IG9uIE1hYyBhbmQgY29udGFpbmVkIGEgY29weSBvZiB0aGUgbV9icm93c2VyRnVuYwog
ICAgICAgIGFzc2lnbm1lbnRzIGFuZCA6OmVxdWFsLCA6Omhhc2ggYW5kIDo6Y29tcGFyZUZpbGVW
ZXJzaW9uLgogICAgICAgIENoYW5nZSBpdCB0byB1c2UgdGhlIG9uZXMgZnJvbSBQbHVnaW5QYWNr
YWdlLmNwcCBhcyB3ZWxsLgoKICAgICAgICAqIHBsdWdpbnMvbWFjL1BsdWdpblBhY2thZ2VNYWMu
Y3BwOgogICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpsb2FkKToKLS0tCiBXZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKwogV2ViQ29yZS9w
bHVnaW5zL21hYy9QbHVnaW5QYWNrYWdlTWFjLmNwcCB8ICAgNzAgKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDY5IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggY2Q1YzQ0OC4uMjdjYzZjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAwOS0wNS0yNCAgSG9s
Z2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIgIDx6ZWNrZUBzZWxmaXNoLm9yZz4KIAorICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb2xsb3cgdXAgb24gcjQ0MTIw
LiBQbHVnaW5QYWNrYWdlTWFjLmNwcCBpcyB1c2VkCisgICAgICAgIGJ5IFF0IG9uIE1hYyBhbmQg
Y29udGFpbmVkIGEgY29weSBvZiB0aGUgbV9icm93c2VyRnVuYworICAgICAgICBhc3NpZ25tZW50
cyBhbmQgOjplcXVhbCwgOjpoYXNoIGFuZCA6OmNvbXBhcmVGaWxlVmVyc2lvbi4KKyAgICAgICAg
Q2hhbmdlIGl0IHRvIHVzZSB0aGUgb25lcyBmcm9tIFBsdWdpblBhY2thZ2UuY3BwIGFzIHdlbGwu
CisKKyAgICAgICAgKiBwbHVnaW5zL21hYy9QbHVnaW5QYWNrYWdlTWFjLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBsdWdpblBhY2thZ2U6OmxvYWQpOgorCisyMDA5LTA1LTI0ICBIb2xnZXIgSGFu
cyBQZXRlciBGcmV5dGhlciAgPHplY2tlQHNlbGZpc2gub3JnPgorCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hY2llaiBTdGFjaG93aWFrLgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTk4OApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL21hYy9Q
bHVnaW5QYWNrYWdlTWFjLmNwcCBiL1dlYkNvcmUvcGx1Z2lucy9tYWMvUGx1Z2luUGFja2FnZU1h
Yy5jcHAKaW5kZXggZjc1NjIxNS4uYWVkMzUxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5z
L21hYy9QbHVnaW5QYWNrYWdlTWFjLmNwcAorKysgYi9XZWJDb3JlL3BsdWdpbnMvbWFjL1BsdWdp
blBhY2thZ2VNYWMuY3BwCkBAIC0yODQsNTEgKzI4NCw3IEBAIGJvb2wgUGx1Z2luUGFja2FnZTo6
bG9hZCgpCiAgICAgbWVtc2V0KCZtX3BsdWdpbkZ1bmNzLCAwLCBzaXplb2YobV9wbHVnaW5GdW5j
cykpOwogICAgIG1fcGx1Z2luRnVuY3Muc2l6ZSA9IHNpemVvZihtX3BsdWdpbkZ1bmNzKTsKIAot
ICAgIG1fYnJvd3NlckZ1bmNzLnNpemUgPSBzaXplb2YobV9icm93c2VyRnVuY3MpOwotICAgIG1f
YnJvd3NlckZ1bmNzLnZlcnNpb24gPSBOUF9WRVJTSU9OX01JTk9SOwotICAgIG1fYnJvd3NlckZ1
bmNzLmdldHVybCA9IE5QTl9HZXRVUkw7Ci0gICAgbV9icm93c2VyRnVuY3MucG9zdHVybCA9IE5Q
Tl9Qb3N0VVJMOwotICAgIG1fYnJvd3NlckZ1bmNzLnJlcXVlc3RyZWFkID0gTlBOX1JlcXVlc3RS
ZWFkOwotICAgIG1fYnJvd3NlckZ1bmNzLm5ld3N0cmVhbSA9IE5QTl9OZXdTdHJlYW07Ci0gICAg
bV9icm93c2VyRnVuY3Mud3JpdGUgPSBOUE5fV3JpdGU7Ci0gICAgbV9icm93c2VyRnVuY3MuZGVz
dHJveXN0cmVhbSA9IE5QTl9EZXN0cm95U3RyZWFtOwotICAgIG1fYnJvd3NlckZ1bmNzLnN0YXR1
cyA9IE5QTl9TdGF0dXM7Ci0gICAgbV9icm93c2VyRnVuY3MudWFnZW50ID0gTlBOX1VzZXJBZ2Vu
dDsKLSAgICBtX2Jyb3dzZXJGdW5jcy5tZW1hbGxvYyA9IE5QTl9NZW1BbGxvYzsKLSAgICBtX2Jy
b3dzZXJGdW5jcy5tZW1mcmVlID0gTlBOX01lbUZyZWU7Ci0gICAgbV9icm93c2VyRnVuY3MubWVt
Zmx1c2ggPSBOUE5fTWVtRmx1c2g7Ci0gICAgbV9icm93c2VyRnVuY3MucmVsb2FkcGx1Z2lucyA9
IE5QTl9SZWxvYWRQbHVnaW5zOwotICAgIG1fYnJvd3NlckZ1bmNzLmdldHVybG5vdGlmeSA9IE5Q
Tl9HZXRVUkxOb3RpZnk7Ci0gICAgbV9icm93c2VyRnVuY3MucG9zdHVybG5vdGlmeSA9IE5QTl9Q
b3N0VVJMTm90aWZ5OwotICAgIG1fYnJvd3NlckZ1bmNzLmdldHZhbHVlID0gTlBOX0dldFZhbHVl
OwotICAgIG1fYnJvd3NlckZ1bmNzLnNldHZhbHVlID0gTlBOX1NldFZhbHVlOwotICAgIG1fYnJv
d3NlckZ1bmNzLmludmFsaWRhdGVyZWN0ID0gTlBOX0ludmFsaWRhdGVSZWN0OwotICAgIG1fYnJv
d3NlckZ1bmNzLmludmFsaWRhdGVyZWdpb24gPSBOUE5fSW52YWxpZGF0ZVJlZ2lvbjsKLSAgICBt
X2Jyb3dzZXJGdW5jcy5mb3JjZXJlZHJhdyA9IE5QTl9Gb3JjZVJlZHJhdzsKLSAgICBtX2Jyb3dz
ZXJGdW5jcy5nZXRKYXZhRW52ID0gTlBOX0dldEphdmFFbnY7Ci0gICAgbV9icm93c2VyRnVuY3Mu
Z2V0SmF2YVBlZXIgPSBOUE5fR2V0SmF2YVBlZXI7Ci0gICAgbV9icm93c2VyRnVuY3MucHVzaHBv
cHVwc2VuYWJsZWRzdGF0ZSA9IE5QTl9QdXNoUG9wdXBzRW5hYmxlZFN0YXRlOwotICAgIG1fYnJv
d3NlckZ1bmNzLnBvcHBvcHVwc2VuYWJsZWRzdGF0ZSA9IE5QTl9Qb3BQb3B1cHNFbmFibGVkU3Rh
dGU7Ci0KLSAgICBtX2Jyb3dzZXJGdW5jcy5yZWxlYXNldmFyaWFudHZhbHVlID0gX05QTl9SZWxl
YXNlVmFyaWFudFZhbHVlOwotICAgIG1fYnJvd3NlckZ1bmNzLmdldHN0cmluZ2lkZW50aWZpZXIg
PSBfTlBOX0dldFN0cmluZ0lkZW50aWZpZXI7Ci0gICAgbV9icm93c2VyRnVuY3MuZ2V0c3RyaW5n
aWRlbnRpZmllcnMgPSBfTlBOX0dldFN0cmluZ0lkZW50aWZpZXJzOwotICAgIG1fYnJvd3NlckZ1
bmNzLmdldGludGlkZW50aWZpZXIgPSBfTlBOX0dldEludElkZW50aWZpZXI7Ci0gICAgbV9icm93
c2VyRnVuY3MuaWRlbnRpZmllcmlzc3RyaW5nID0gX05QTl9JZGVudGlmaWVySXNTdHJpbmc7Ci0g
ICAgbV9icm93c2VyRnVuY3MudXRmOGZyb21pZGVudGlmaWVyID0gX05QTl9VVEY4RnJvbUlkZW50
aWZpZXI7Ci0gICAgbV9icm93c2VyRnVuY3MuY3JlYXRlb2JqZWN0ID0gX05QTl9DcmVhdGVPYmpl
Y3Q7Ci0gICAgbV9icm93c2VyRnVuY3MucmV0YWlub2JqZWN0ID0gX05QTl9SZXRhaW5PYmplY3Q7
Ci0gICAgbV9icm93c2VyRnVuY3MucmVsZWFzZW9iamVjdCA9IF9OUE5fUmVsZWFzZU9iamVjdDsK
LSAgICBtX2Jyb3dzZXJGdW5jcy5pbnZva2UgPSBfTlBOX0ludm9rZTsKLSAgICBtX2Jyb3dzZXJG
dW5jcy5pbnZva2VEZWZhdWx0ID0gX05QTl9JbnZva2VEZWZhdWx0OwotICAgIG1fYnJvd3NlckZ1
bmNzLmV2YWx1YXRlID0gX05QTl9FdmFsdWF0ZTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5nZXRwcm9w
ZXJ0eSA9IF9OUE5fR2V0UHJvcGVydHk7Ci0gICAgbV9icm93c2VyRnVuY3Muc2V0cHJvcGVydHkg
PSBfTlBOX1NldFByb3BlcnR5OwotICAgIG1fYnJvd3NlckZ1bmNzLnJlbW92ZXByb3BlcnR5ID0g
X05QTl9SZW1vdmVQcm9wZXJ0eTsKLSAgICBtX2Jyb3dzZXJGdW5jcy5oYXNwcm9wZXJ0eSA9IF9O
UE5fSGFzTWV0aG9kOwotICAgIG1fYnJvd3NlckZ1bmNzLmhhc21ldGhvZCA9IF9OUE5fSGFzUHJv
cGVydHk7Ci0gICAgbV9icm93c2VyRnVuY3Muc2V0ZXhjZXB0aW9uID0gX05QTl9TZXRFeGNlcHRp
b247Ci0gICAgbV9icm93c2VyRnVuY3MuZW51bWVyYXRlID0gX05QTl9FbnVtZXJhdGU7CisgICAg
aW5pdGlhbGl6ZUJyb3dzZXJGdW5jcygpOwogCiAgICAgbnBFcnIgPSBOUF9Jbml0aWFsaXplKCZt
X2Jyb3dzZXJGdW5jcyk7CiAgICAgTE9HX05QRVJST1IobnBFcnIpOwpAQCAtMzQ4LDMwICszMDQs
NiBAQCBhYm9ydDoKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXVuc2lnbmVkIFBsdWdpblBhY2th
Z2U6Omhhc2goKSBjb25zdAotewotICAgIHVuc2lnbmVkIGhhc2hDb2Rlc1syXSA9IHsKLSAgICAg
ICAgbV9wYXRoLmltcGwoKS0+aGFzaCgpLAotICAgICAgICBtX2xhc3RNb2RpZmllZAotICAgIH07
Ci0KLSAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y29tcHV0ZUhhc2gocmVpbnRlcnByZXRfY2FzdDxV
Q2hhcio+KGhhc2hDb2RlcyksIDIgKiBzaXplb2YodW5zaWduZWQpIC8gc2l6ZW9mKFVDaGFyKSk7
Ci19Ci0KLWJvb2wgUGx1Z2luUGFja2FnZTo6ZXF1YWwoY29uc3QgUGx1Z2luUGFja2FnZSYgYSwg
Y29uc3QgUGx1Z2luUGFja2FnZSYgYikKLXsKLSAgICByZXR1cm4gYS5tX2Rlc2NyaXB0aW9uID09
IGIubV9kZXNjcmlwdGlvbjsKLX0KLQotaW50IFBsdWdpblBhY2thZ2U6OmNvbXBhcmVGaWxlVmVy
c2lvbihjb25zdCBQbGF0Zm9ybU1vZHVsZVZlcnNpb24mIGNvbXBhcmVWZXJzaW9uKSBjb25zdAot
ewotICAgIC8vIHJldHVybiAtMSwgMCwgb3IgMSBpZiBwbHVnLWluIHZlcnNpb24gaXMgbGVzcyB0
aGFuLCBlcXVhbCB0bywgb3IgZ3JlYXRlciB0aGFuCi0gICAgLy8gdGhlIHBhc3NlZCB2ZXJzaW9u
Ci0gICAgaWYgKG1fbW9kdWxlVmVyc2lvbiAhPSBjb21wYXJlVmVyc2lvbikKLSAgICAgICAgcmV0
dXJuIG1fbW9kdWxlVmVyc2lvbiA+IGNvbXBhcmVWZXJzaW9uID8gMSA6IC0xOwotICAgIHJldHVy
biAwOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyAhX19MUDY0X18K
LS0gCjEuNi4wLjQKCg==
</data>
<flag name="review"
          id="15507"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>