From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1976 invoked by alias); 2 Aug 2014 19:31:23 -0000 Mailing-List: contact cygwin-announce-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner@cygwin.com Reply-To: The Cygwin Mailing List Mail-Followup-To: cygwin-announce@cygwin.com Received: (qmail 1394 invoked by uid 89); 2 Aug 2014 19:30:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 X-HELO: qmta15.emeryville.ca.mail.comcast.net Message-ID: <53DD3C30.4020905@byu.net> Date: Sat, 02 Aug 2014 19:31:00 -0000 From: "Eric Blake (cygwin)" Reply-To: The Cygwin Mailing List User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0 MIME-Version: 1.0 To: cygwin-announce@cygwin.com Subject: Updated [experimental]: coreutils-8.23-1 OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="dpasLFt2TC5aOs6PBGfCuOIxQQ8FQNd7p" X-SW-Source: 2014-08/txt/msg00000.txt.bz2 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --dpasLFt2TC5aOs6PBGfCuOIxQQ8FQNd7p Content-Type: multipart/mixed; boundary="------------030202000309020305090306" This is a multi-part message in MIME format. --------------030202000309020305090306 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 4142 A new release of coreutils, 8.23-1, is available for download for testing purposes, leaving 8.15-1 (32-bit) or 8.15-3 (64-bit) as current for another week until I am sure there are no major regressions. NEWS: =3D=3D=3D=3D=3D This is a new upstream release, with upstream details listed below. It is also my first time building coreutils for 64-bit cygwin in the capacity as maintainer (thanks to others that helped in the initial transition to 64-bit). Of note, there is no longer an 'su' program in coreutils; this is an upstream decision (many Linux distros are getting su from other packages, and even though cygwin's su had come from coreutils, it was heavily patched and doesn't work as smoothly as on Linux). I'm debating whether it is worth trying to capture the last release of coreutils' su, as patched to work on cygwin, for distribution as an independent package; if anyone was relying on that program, now is your chance to speak up. In building this version of coreutils, the testsuite complained about ACL detection on directories not working as expected; if you notice 'ls -l' output looking strange on a directory when compared to 8.15, please report the details, so I can investigate if this is a regression or something I need to patch. If you encounter a regression, please report it here rather than upstream. See also the upstream documentation in /usr/share/doc/coreutils/. Help in porting the stdbuf utility to cygwin would be appreciated. Yes, I'm aware that it has been more than 2 years since I last built coreutils, and that there has been some question on the mailing list of whether I'm being responsive enough as a maintainer. I apologize for the delays in getting this release made, but I'd still like to hang on to this package a bit longer, particularly since I'm most familiar with the set of cygwin-only downstream patches needed to make the package play nicely with the Cygwin environment. DESCRIPTION: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D GNU coreutils provides a collection of commonly used utilities essential to a standard POSIX environment. It comprises the former textutils, sh-utils, and fileutils packages. The following executables are included: [ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold gkill groups head hostid hostname id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink users vdir wc who whoami yes UPDATE: =3D=3D=3D=3D=3D=3D=3D To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Save it and run setup, answer the questions and pick up 'coreutils' from the 'Base' category. DOWNLOAD: =3D=3D=3D=3D=3D=3D=3D=3D=3D Note that downloads from cygwin.com aren't allowed due to bandwidth limitations. This means that you will need to find a mirror which has this update, please choose the one nearest to you: http://cygwin.com/mirrors.html QUESTIONS: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D If you want to make a point or ask a question the Cygwin mailing list is the appropriate place. --=20 Eric Blake volunteer cygwin coreutils package maintainer CYGWIN-ANNOUNCE UNSUBSCRIBE INFO: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D To unsubscribe to the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format: cygwin-announce-unsubscribe-YOU=3DYOURDOMAIN.COM@cygwin.com If you need more information on unsubscribing, start reading here: http://sourceware.org/lists.html#unsubscribe-simple Please read *all* of the information on unsubscribing that is available starting at this URL. --------------030202000309020305090306 Content-Type: text/plain; charset=UTF-8; name="NEWS.short" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="NEWS.short" Content-length: 44860 KiBOb3Rld29ydGh5IGNoYW5nZXMgaW4gcmVsZWFzZSA4LjIzICgyMDE0LTA3 LTE4KSBbc3RhYmxlXQoKKiogQnVnIGZpeGVzCgogIGNobW9kIC1SYyBubyBs b25nZXIgaXNzdWVzIGVycm9uZW91cyB3YXJuaW5ncyBmb3IgZmlsZXMgd2l0 aCBzcGVjaWFsIGJpdHMgc2V0LgogIFtidWcgaW50cm9kdWNlZCBpbiBjb3Jl dXRpbHMtNi4wXQoKICBjcCAtYSwgbXYsIGFuZCBpbnN0YWxsIC0tcHJlc2Vy dmUtY29udGV4dCwgb25jZSBhZ2FpbiBzZXQgdGhlIGNvcnJlY3QgU0VMaW51 eAogIGNvbnRleHQgZm9yIGV4aXN0aW5nIGRpcmVjdG9yaWVzIGluIHRoZSBk ZXN0aW5hdGlvbi4gIFByZXZpb3VzbHkgdGhleSBzZXQKICB0aGUgY29udGV4 dCBvZiBhbiBleGlzdGluZyBkaXJlY3RvcnkgdG8gdGhhdCBvZiBpdHMgbGFz dCBjb3BpZWQgZGVzY2VuZGVudC4KICBbYnVnIGludHJvZHVjZWQgaW4gY29y ZXV0aWxzLTguMjJdCgogIGNwIC1hLCBtdiwgYW5kIGluc3RhbGwgLS1wcmVz ZXJ2ZS1jb250ZXh0LCBubyBsb25nZXIgc2VnIGZhdWx0IHdoZW4gcnVubmlu ZwogIHdpdGggU0VMaW51eCBlbmFibGVkLCB3aGVuIGNvcHlpbmcgZnJvbSBm aWxlIHN5c3RlbXMgdGhhdCByZXR1cm4gYW4gZXJyb3IKICB3aGVuIHJlYWRp bmcgdGhlIFNFTGludXggY29udGV4dCBmb3IgYSBmaWxlLgogIFtidWcgaW50 cm9kdWNlZCBpbiBjb3JldXRpbHMtOC4yMl0KCiAgY3AgLWEgYW5kIG12IG5v dyBwcmVzZXJ2ZSB4YXR0cnMgb2Ygc3ltbGlua3MgY29waWVkIGFjcm9zcyBm aWxlIHN5c3RlbXMuCiAgW2J1ZyBpbnRyb2R1Y2VkIHdpdGggZXh0ZW5kZWQg YXR0cmlidXRlIHByZXNlcnZhdGlvbiBmZWF0dXJlIGluIGNvcmV1dGlscy03 LjFdCgogIGRhdGUgY291bGQgY3Jhc2ggb3IgZ28gaW50byBhbiBpbmZpbml0 ZSBsb29wIHdoZW4gcGFyc2luZyBhIG1hbGZvcm1lZCBUWj0iIi4KICBbYnVn IGludHJvZHVjZWQgd2l0aCB0aGUgLS1kYXRlPSdUWj0iIiAuLicgcGFyc2lu ZyBmZWF0dXJlIGluIGNvcmV1dGlscy01LjMuMF0KCiAgZGQncyBBU0NJSSBh bmQgRUJDRElDIGNvbnZlcnNpb25zIHdlcmUgaW5jb21wYXRpYmxlIHdpdGgg Y29tbW9uIHByYWN0aWNlIGFuZAogIHdpdGggUE9TSVgsIGFuZCBoYXZlIGJl ZW4gY29ycmVjdGVkIGFzIGZvbGxvd3MuICBGaXJzdCwgY29udj1hc2NpaSBu b3cKICBpbXBsaWVzIGNvbnY9dW5ibG9jaywgYW5kIGNvbnY9ZWJjZGljIGFu ZCBjb252PWlibSBub3cgaW1wbHkgY29udj1ibG9jay4KICBTZWNvbmQsIHRo ZSB0cmFuc2xhdGlvbiB0YWJsZXMgZm9yIGRkIGNvbnY9YXNjaWkgYW5kIGNv bnY9ZWJjZGljIGhhdmUgYmVlbgogIGNvcnJlY3RlZCBhcyBzaG93biBpbiB0 aGUgZm9sbG93aW5nIHRhYmxlLCB3aGVyZSBBIGlzIHRoZSBBU0NJSSB2YWx1 ZSwgVyBpcwogIHRoZSBvbGQsIHdyb25nIEVCQ0RJQyB2YWx1ZSwgYW5kIEUg aXMgdGhlIG5ldywgY29ycmVjdGVkIEVCQ0RJQyB2YWx1ZTsgYWxsCiAgdmFs dWVzIGFyZSBpbiBvY3RhbC4KCiAgICAgIEEgICBXICAgRQogICAgIDA0MSAx MTcgMTMyCiAgICAgMTMzIDExMiAyNTUKICAgICAxMzUgMTMyIDI3NQogICAg IDEzNiAxMzcgMjMyCiAgICAgMTc0IDE1MiAxMTcKICAgICAxNzYgMjQxIDEz NwogICAgIDMxMyAyMzIgMTUyCiAgICAgMzI1IDI1NSAxMTIKICAgICAzNDUg Mjc1IDI0MQoKICBbVGhlc2UgZGQgYnVncyB3ZXJlIHByZXNlbnQgaW4gInRo ZSBiZWdpbm5pbmciLl0KCiAgZGYgaGFzIG1vcmUgZml4ZXMgcmVsYXRlZCB0 byB0aGUgbmV3ZXIgZHluYW1pYyByZXByZXNlbnRhdGlvbiBvZiBmaWxlIHN5 c3RlbXM6CiAgRHVwbGljYXRlcyBhcmUgZWxpZGVkIGZvciB2aXJ0dWFsIGZp bGUgc3lzdGVtcyBsaWtlIHRtcGZzLgogIERldGFpbHMgZm9yIHRoZSBjb3Jy ZWN0IGRldmljZSBhcmUgb3V0cHV0IGZvciBwb2ludHMgbW91bnRlZCBtdWx0 aXBsZSB0aW1lcy4KICBQbGFjZWhvbGRlciB2YWx1ZXMgYXJlIG91dHB1dCBm b3IgaW5hY2Nlc3NpYmxlIGZpbGUgc3lzdGVtcywgcmF0aGVyIHRoYW4KICB0 aGFuIGVycm9yIG1lc3NhZ2VzIG9yIHZhbHVlcyBmb3IgdGhlIHdyb25nIGZp bGUgc3lzdGVtLgogIFtUaGVzZSBidWdzIHdlcmUgcHJlc2VudCBpbiAidGhl IGJlZ2lubmluZyIuXQoKICBkZiBub3cgb3V0cHV0cyBhbGwgYXBwcm9wcmlh dGUgZW50cmllcyBpbiB0aGUgcHJlc2VuY2Ugb2YgYmluZCBtb3VudHMuCiAg T24gc29tZSBzeXN0ZW1zLCBlbnRyaWVzIHdvdWxkIGhhdmUgYmVlbiBpbmNv cnJlY3RseSBlbGlkZWQgZHVlIHRvCiAgdGhlbSBiZWluZyBjb25zaWRlcmVk ICJkdW1teSIgbW91bnRzLgogIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRp bHMtOC4yMl0KCiAgZHUgbm93IHNpbGVudGx5IGlnbm9yZXMgZGlyZWN0b3J5 IGN5Y2xlcyBpbnRyb2R1Y2VkIHdpdGggYmluZCBtb3VudHMuCiAgUHJldmlv dXNseSBpdCB3b3VsZCBpc3N1ZSBhIHdhcm5pbmcgYW5kIGV4aXQgd2l0aCBh IGZhaWx1cmUgc3RhdHVzLgogIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRp bHMtOC4xXQoKICBoZWFkIC0tYnl0ZXM9LU4gYW5kIC0tbGluZXM9LU4gbm93 IGhhbmRsZXMgZGV2aWNlcyBtb3JlCiAgY29uc2lzdGVudGx5LCBub3QgaWdu b3JpbmcgZGF0YSBmcm9tIHZpcnR1YWwgZGV2aWNlcyBsaWtlIC9kZXYvemVy bywKICBvciBvbiBCU0Qgc3lzdGVtcyBkYXRhIGZyb20gdHR5IGRldmljZXMu CiAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy01LjAuMV0KCiAgaGVh ZCAtLWJ5dGVzPS1OIC0gbm8gbG9uZ2VyIGZhaWxzIHdpdGggYSBib2d1cyBk aWFnbm9zdGljIHdoZW4gc3RkaW4ncwogIHNlZWsgcG9pbnRlciBpcyBub3Qg YXQgdGhlIGJlZ2lubmluZy4KICBbYnVnIGludHJvZHVjZWQgd2l0aCB0aGUg LS1ieXRlcz0tTiBmZWF0dXJlIGluIGNvcmV1dGlscy01LjAuMV0KCiAgaGVh ZCAtLWxpbmVzPS0wLCB3aGVuIHRoZSBpbnB1dCBkb2VzIG5vdCBjb250YWlu IGEgdHJhaWxpbmcgJ1xuJywKICBub3cgY29waWVzIGFsbCBpbnB1dCB0byBz dGRvdXQuICBQcmV2aW91c2x5IG5vdGhpbmcgd2FzIG91dHB1dCBpbiB0aGlz IGNhc2UuCiAgW2J1ZyBpbnRyb2R1Y2VkIHdpdGggdGhlIC0tbGluZXM9LU4g ZmVhdHVyZSBpbiBjb3JldXRpbHMtNS4wLjFdCgogIGlkLCB3aGVuIGludm9r ZWQgd2l0aCBubyB1c2VyIG5hbWUgYXJndW1lbnQsIG5vdyBwcmludHMgdGhl IGNvcnJlY3QgZ3JvdXAgSUQuCiAgUHJldmlvdXNseSwgaW4gdGhlIGRlZmF1 bHQgb3V0cHV0IGZvcm1hdCwgaXQgd291bGQgcHJpbnQgdGhlIGRlZmF1bHQg Z3JvdXAgSUQKICBpbiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UsIHdoaWNoIG1h eSBiZSBuZWl0aGVyIHJlYWwgbm9yIGVmZmVjdGl2ZS4gIEZvciBlLmcuLAog IHdoZW4gcnVuIHNldC1HSUQsIG9yIHdoZW4gdGhlIGRhdGFiYXNlIGNoYW5n ZXMgb3V0c2lkZSB0aGUgY3VycmVudCBzZXNzaW9uLgogIFtidWcgaW50cm9k dWNlZCBpbiBjb3JldXRpbHMtOC4xXQoKICBsbiAtc2Ygbm93IHJlcGxhY2Vz IHN5bWJvbGljIGxpbmtzIHdob3NlIHRhcmdldHMgY2FuJ3QgZXhpc3QuICBQ cmV2aW91c2x5CiAgaXQgd291bGQgZGlzcGxheSBhbiBlcnJvciwgcmVxdWly aW5nIC0tbm8tZGVyZWZlcmVuY2UgdG8gYXZvaWQgdGhlIGlzc3VlLgogIFti dWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMtNS4zLjBdCgogIGxuIC1zciAn JyBGIG5vIGxvbmdlciBzZWdmYXVsdHMuICBOb3cgd29ya3MgYXMgZXhwZWN0 ZWQuCiAgW2J1ZyBpbnRyb2R1Y2VkIHdpdGggdGhlIC0tcmVsYXRpdmUgZmVh dHVyZSBpbiBjb3JldXRpbHMtOC4xNl0KCiAgbnVtZm10IG5vdyBoYW5kbGVz IGJsYW5rcyBjb3JyZWN0bHkgaW4gYWxsIHVuaWJ5dGUgbG9jYWxlcy4gIFBy ZXZpb3VzbHkKICBpbiBsb2NhbGVzIHdoZXJlIGNoYXJhY3RlciAweEEwIGlz IGEgYmxhbmssIG51bWZtdCB3b3VsZCBtaXNoYW5kbGUgaXQuCiAgW2J1ZyBp bnRyb2R1Y2VkIHdoZW4gbnVtZm10IHdhcyBhZGRlZCBpbiBjb3JldXRpbHMt OC4yMV0KCiAgcHR4IC0tZm9ybWF0IGxvbmcgb3B0aW9uIHBhcnNpbmcgbm8g bG9uZ2VyIGZhbGxzIHRocm91Z2ggaW50byB0aGUgLS1oZWxwIGNhc2UuCiAg W2J1ZyBpbnRyb2R1Y2VkIGluIFRFWFRVVElMUy0xXzIyaV0KCiAgcHR4IG5v dyBjb25zaXN0ZW50bHkgdHJpbXMgd2hpdGVzcGFjZSB3aGVuIHByb2Nlc3Np bmcgbXVsdGlwbGUgZmlsZXMuCiAgW1RoaXMgYnVnIHdhcyBwcmVzZW50IGlu ICJ0aGUgYmVnaW5uaW5nIi5dCgogIHNlcSBhZ2FpbiBnZW5lcmF0ZXMgY29y cmVjdCBvdXRwdXQgd2l0aCBzdGFydCBvciBlbmQgdmFsdWVzID0gLTAuCiAg W2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy04LjIwLl0KCiAgc2h1ZiAt LXJlcGVhdCBubyBsb25nZXIgZHVtcHMgY29yZSBpZiB0aGUgaW5wdXQgaXMg ZW1wdHkuCiAgW2J1ZyBpbnRyb2R1Y2VkIHdpdGggdGhlIC0tcmVwZWF0IGZl YXR1cmUgaW4gY29yZXV0aWxzLTguMjJdCgogIHNvcnQgd2hlbiB1c2luZyBt dWx0aXBsZSB0aHJlYWRzIG5vdyBhdm9pZHMgdW5kZWZpbmVkIGJlaGF2aW9y IHdpdGggbXV0ZXgKICBkZXN0cnVjdGlvbiwgd2hpY2ggY291bGQgY2F1c2Ug ZGVhZGxvY2tzIG9uIHNvbWUgaW1wbGVtZW50YXRpb25zLgogIFtidWcgaW50 cm9kdWNlZCBpbiBjb3JldXRpbHMtOC42XQoKICB0YWlsIC1mIG5vdyB1c2Vz IHBvbGxpbmcgbW9kZSBmb3IgVlhGUyB0byBjYXRlciBmb3IgaXRzIGNsdXN0 ZXJlZCBtb2RlLgogIFtidWcgaW50cm9kdWNlZCB3aXRoIGlub3RpZnkgc3Vw cG9ydCBhZGRlZCBpbiBjb3JldXRpbHMtNy41XQoKKiogTmV3IGZlYXR1cmVz CgogIG9kIGFjY2VwdHMgYSBuZXcgb3B0aW9uOiAtLWVuZGlhbj1UWVBFIHRv IGhhbmRsZSBpbnB1dHMgd2l0aCBkaWZmZXJlbnQgYnl0ZQogIG9yZGVycywg b3IgdG8gcHJvdmlkZSBjb25zaXN0ZW50IG91dHB1dCBvbiBzeXN0ZW1zIHdp dGggZGlzcGFyYXRlIGVuZGlhbm5lc3MuCgogIGNvbmZpZ3VyZSBhY2NlcHRz IHRoZSBuZXcgb3B0aW9uIC0tZW5hYmxlLXNpbmdsZS1iaW5hcnkgdG8gYnVp bGQgYWxsIHRoZQogIHNlbGVjdGVkIHByb2dyYW1zIGluIGEgc2luZ2xlIGJp bmFyeSBjYWxsZWQgImNvcmV1dGlscyIuICBUaGUgc2VsZWN0ZWQKICBwcm9n cmFtcyBjYW4gc3RpbGwgYmUgY2FsbGVkIGRpcmVjdGx5IHVzaW5nIHN5bWxp bmtzIHRvICJjb3JldXRpbHMiIG9yCiAgc2hlYmFuZ3Mgd2l0aCB0aGUgb3B0 aW9uIC0tY29yZXV0aWxzLXByb2c9IHBhc3NlZCB0byB0aGlzIHByb2dyYW0u ICBUaGUKICBpbnN0YWxsIGJlaGF2aW9yIGlzIGRldGVybWluZWQgYnkgdGhl IG9wdGlvbiAtLWVuYWJsZS1zaW5nbGUtYmluYXJ5PXN5bWxpbmtzCiAgb3Ig LS1lbmFibGUtc2luZ2xlLWJpbmFyeT1zaGViYW5ncyAodGhlIGRlZmF1bHQp LiAgV2l0aCB0aGUgc3ltbGlua3Mgb3B0aW9uLAogIHlvdSBjYW4ndCBtYWtl IGEgc2Vjb25kIHN5bWxpbmsgdG8gYW55IHByb2dyYW0gYmVjYXVzZSB0aGF0 IHdpbGwgY2hhbmdlIHRoZQogIG5hbWUgb2YgdGhlIGNhbGxlZCBwcm9ncmFt LCB3aGljaCBpcyB1c2VkIGJ5IGNvcmV1dGlscyB0byBkZXRlcm1pbmUgdGhl CiAgZGVzaXJlZCBwcm9ncmFtLiAgVGhlIHNoZWJhbmdzIG9wdGlvbiBkb2Vz bid0IHN1ZmZlciBmcm9tIHRoaXMgcHJvYmxlbSwgYnV0CiAgdGhlIC9wcm9j LyRwaWQvY21kbGluZSBmaWxlIG1pZ2h0IG5vdCBiZSB1cGRhdGVkIG9uIGFs bCB0aGUgcGxhdGZvcm1zLiAgVGhlCiAgZnVuY3Rpb25hbGl0eSBvZiBlYWNo IHByb2dyYW0gaXMgbm90IGFmZmVjdGVkIGJ1dCB0aGlzIHNpbmdsZSBiaW5h cnkgd2lsbAogIGRlcGVuZCBvbiBhbGwgdGhlIHJlcXVpcmVkIGR5bmFtaWMg bGlicmFyaWVzIGV2ZW4gdG8gcnVuIHNpbXBsZSBwcm9ncmFtcy4KICBJZiB5 b3UgZGVzaXJlIHRvIGJ1aWxkIHNvbWUgdG9vbHMgb3V0c2lkZSB0aGUgc2lu Z2xlIGJpbmFyeSBmaWxlLCB5b3UgY2FuCiAgcGFzcyB0aGUgb3B0aW9uIC0t ZW5hYmxlLXNpbmdsZS1iaW5hcnktZXhjZXB0aW9ucz1QUk9HX0xJU1Qgd2l0 aCB0aGUgY29tbWEKICBzZXBhcmF0ZWQgbGlzdCBvZiBwcm9ncmFtcyB5b3Ug d2FudCB0byBidWlsZCBzZXBhcmF0ZWx5LiAgVGhpcyBmbGFnCiAgY29uc2lk ZXJhYmx5IHJlZHVjZXMgdGhlIG92ZXJhbGwgc2l6ZSBvZiB0aGUgaW5zdGFs bGVkIGJpbmFyaWVzIHdoaWNoIG1ha2VzCiAgaXQgc3VpdGFibGUgZm9yIGVt YmVkZGVkIHN5c3RlbS4KCioqIENoYW5nZXMgaW4gYmVoYXZpb3IKCiAgY2hy b290IHdpdGggYW4gYXJndW1lbnQgb2YgIi8iIG5vIGxvbmdlciBpbXBsaWNp dGx5IGNoYW5nZXMgdGhlIGN1cnJlbnQKICBkaXJlY3RvcnkgdG8gIi8iLCBh bGxvd2luZyBjaGFuZ2luZyBvbmx5IHVzZXIgY3JlZGVudGlhbHMgZm9yIGEg Y29tbWFuZC4KCiAgY2hyb290IC0tdXNlcnNwZWMgd2lsbCBub3cgdW5zZXQg c3VwcGxlbWVudGFsIGdyb3VwcyBhc3NvY2lhdGVkIHdpdGggcm9vdCwKICBh bmQgaW5zdGVhZCB1c2UgdGhlIHN1cHBsZW1lbnRhbCBncm91cHMgb2YgdGhl IHNwZWNpZmllZCB1c2VyLgoKICBjdXQgLWQkJ1xuJyBhZ2FpbiBvdXRwdXRz IGxpbmVzIGlkZW50aWZpZWQgaW4gdGhlIC0tZmllbGRzIGxpc3QsIGhhdmlu ZwogIG5vdCBkb25lIHNvIGluIHY4LjIxIGFuZCB2OC4yMi4gIE5vdGUgdXNp bmcgdGhpcyBub24gcG9ydGFibGUgZnVuY3Rpb25hbGl0eQogIHdpbGwgcmVz dWx0IGluIHRoZSBkZWxheWVkIG91dHB1dCBvZiBsaW5lcy4KCiAgbHMgd2l0 aCBub25lIG9mIExTX0NPTE9SUyBvciBDT0xPUlRFUk0gZW52aXJvbm1lbnQg dmFyaWFibGVzIHNldCwKICB3aWxsIG5vdyBob25vciBhbiBlbXB0eSBvciB1 bmtub3duIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGUsCiAgYW5kIG5vdCBv dXRwdXQgY29sb3JzIGV2ZW4gd2l0aCAtLWNvbG9ycz1hbHdheXMuCgoqKiBJ bXByb3ZlbWVudHMKCiAgY2hyb290IGhhcyBiZXR0ZXIgLS11c2Vyc3BlYyBh bmQgLS1ncm91cCBsb29rLXVwcywgd2l0aCBudW1lcmljIElEcyBuZXZlcgog IGNhdXNpbmcgbmFtZSBsb29rLXVwIGVycm9ycy4gIEFsc28gbG9vay11cHMg YXJlIGZpcnN0IGRvbmUgb3V0c2lkZSB0aGUgY2hyb290LAogIGluIGNhc2Ug dGhlIGxvb2stdXAgd2l0aGluIHRoZSBjaHJvb3QgZmFpbHMgZHVlIHRvIGxp YnJhcnkgY29uZmxpY3RzIGV0Yy4KCiAgaW5zdGFsbCBub3cgYWxsb3dzIHRo ZSBjb21iaW5hdGlvbiBvZiB0aGUgLUQgYW5kIC10IG9wdGlvbnMuCgogIG51 bWZtdCBzdXBwb3J0cyB6ZXJvIHBhZGRpbmcgb2YgbnVtYmVycyB1c2luZyB0 aGUgc3RhbmRhcmQgcHJpbnRmCiAgc3ludGF4IG9mIGEgbGVhZGluZyB6ZXJv LCBmb3IgZXhhbXBsZSAtLWZvcm1hdD0iJTAxMGYiLgogIEFsc28gdGhyb3Vn aHB1dCB3YXMgaW1wcm92ZWQgYnkgdXAgdG8gODAwJSBieSBhdm9pZGluZyBy ZWR1bmRhbnQgcHJvY2Vzc2luZy4KCiAgc2hyZWQgbm93IHN1cHBvcnRzIG11 bHRpcGxlIHBhc3NlcyBvbiBHTlUvTGludXggdGFwZSBkZXZpY2VzIGJ5IHJl d2luZGluZwogIHRoZSB0YXBlIGJlZm9yZSBlYWNoIHBhc3MsIGF2b2lkcyBy ZWR1bmRhbnQgd3JpdGVzIHRvIGVtcHR5IGZpbGVzLAogIHVzZXMgZGlyZWN0 IEkvTyBmb3IgYWxsIHBhc3NlcyB3aGVyZSBwb3NzaWJsZSwgYW5kIGF0dGVt cHRzIHRvIGNsZWFyCiAgaW5vZGUgc3RvcmFnZSB1c2VkIGZvciBzbWFsbCBm aWxlcyBvbiBzb21lIGZpbGUgc3lzdGVtcy4KCiAgc3BsaXQgYXZvaWRzIHVu bmVjZXNzYXJ5IGlucHV0IGJ1ZmZlcmluZywgaW1tZWRpYXRlbHkgd3JpdGlu ZyBpbnB1dCB0byBvdXRwdXQKICB3aGljaCBpcyBzaWduaWZpY2FudCB3aXRo IC0tZmlsdGVyIG9yIHdoZW4gd3JpdGluZyB0byBmaWZvcyBvciBzdGRvdXQg ZXRjLgoKICBzdGF0IGFuZCB0YWlsIHdvcmsgYmV0dGVyIHdpdGggSEZTKywg SEZTWCwgTG9nRlMgYW5kIENvbmZpZ0ZTLiAgc3RhdCAtZgogIC0tZm9ybWF0 PSVUIG5vdyByZXBvcnRzIHRoZSBmaWxlIHN5c3RlbSB0eXBlLCBhbmQgdGFp bCAtZiBub3cgdXNlcyBpbm90aWZ5LAogIHJhdGhlciB0aGFuIHRoZSBkZWZh dWx0IG9mIGlzc3VpbmcgYSB3YXJuaW5nIGFuZCByZXZlcnRpbmcgdG8gcG9s bGluZy4KCgoqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMjIg KDIwMTMtMTItMTMpIFtzdGFibGVdCgoqKiBCdWcgZml4ZXMKCiAgZGYgbm93 IHByb2Nlc3NlcyB0aGUgbW91bnQgbGlzdCBjb3JyZWN0bHkgaW4gdGhlIHBy ZXNlbmNlIG9mIHVuc3RhdGFibGUKICBtb3VudCBwb2ludHMuICBQcmV2aW91 c2x5IGl0IG1heSBoYXZlIGZhaWxlZCB0byBvdXRwdXQgc29tZSBtb3VudCBw b2ludHMuCiAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy04LjIxXQoK ICBkZiBub3cgcHJvY2Vzc2VzIHN5bWJvbGljIGxpbmtzIGFuZCByZWxhdGl2 ZSBwYXRocyB0byBzcGVjaWFsIGZpbGVzIGNvbnRhaW5pbmcKICBhIG1vdW50 ZWQgZmlsZSBzeXN0ZW0gY29ycmVjdGx5LiAgUHJldmlvdXNseSBkZiBkaXNw bGF5ZWQgdGhlIHN0YXRpc3RpY3MgYWJvdXQKICB0aGUgZmlsZSBzeXN0ZW0g dGhlIGZpbGUgaXMgc3RvcmVkIG9uIHJhdGhlciB0aGFuIHRoZSBvbmUgaW5z aWRlLgogIFtUaGlzIGJ1ZyB3YXMgcHJlc2VudCBpbiAidGhlIGJlZ2lubmlu ZyIuXQoKICBkZiBub3cgcHJvY2Vzc2VzIGRpc2sgZGV2aWNlIG5vZGVzIGNv cnJlY3RseSBpbiB0aGUgcHJlc2VuY2Ugb2YgYmluZCBtb3VudHMuCiAgTm93 IGRmIHNob3dzIHRoZSBiYXNlIG1vdW50ZWQgZmlsZSBzeXN0ZW0gcmF0aGVy IHRoYW4gdGhlIGxhc3Qgb25lIG1vdW50ZWQuCiAgW1RoaXMgYnVnIHdhcyBw cmVzZW50IGluICJ0aGUgYmVnaW5uaW5nIi5dCgogIGluc3RhbGwgbm93IHJl bW92ZXMgdGhlIHRhcmdldCBmaWxlIGlmIHRoZSBzdHJpcCBwcm9ncmFtIGZh aWxlZCBmb3IgYW55CiAgcmVhc29uLiAgQmVmb3JlLCB0aGF0IGZpbGUgd2Fz IGxlZnQgYmVoaW5kLCBzb21ldGltZXMgZXZlbiB3aXRoIHdyb25nCiAgcGVy bWlzc2lvbnMuCiAgW1RoaXMgYnVnIHdhcyBwcmVzZW50IGluICJ0aGUgYmVn aW5uaW5nIi5dCgogIGxuIC0tcmVsYXRpdmUgbm93IHVwZGF0ZXMgZXhpc3Rp bmcgc3ltbGlua3MgY29ycmVjdGx5LiAgUHJldmlvdXNseSBpdCBiYXNlZAog IHRoZSByZWxhdGl2ZSBsaW5rIG9uIHRoZSBkZXJlZmVyZW5jZWQgcGF0aCBv ZiBhbiBleGlzdGluZyBsaW5rLgogIFtUaGlzIGJ1ZyB3YXMgaW50cm9kdWNl ZCB3aGVuIC0tcmVsYXRpdmUgd2FzIGFkZGVkIGluIGNvcmV1dGlscy04LjE2 Ll0KCiAgbHMgLS1yZWN1cnNpdmUgd2lsbCBubyBsb25nZXIgZXhpdCB3aXRo ICJzZXJpb3VzIiBleGl0IGNvZGUgKDIpLCBpZiB0aGVyZQogIGlzIGFuIGVy cm9yIHJlYWRpbmcgYSBkaXJlY3Rvcnkgbm90IHNwZWNpZmllZCBvbiB0aGUg Y29tbWFuZCBsaW5lLgogIFtCdWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMt NS4zLjBdCgogIG1rZGlyLCBta2ZpZm8sIGFuZCBta25vZCBub3cgd29yayBi ZXR0ZXIgd2hlbiBjcmVhdGluZyBhIGZpbGUgaW4gYSBkaXJlY3RvcnkKICB3 aXRoIGEgZGVmYXVsdCBBQ0wgd2hvc2UgdW1hc2sgZGlzYWdyZWVzIHdpdGgg dGhlIHByb2Nlc3MncyB1bWFzaywgb24gYQogIHN5c3RlbSBzdWNoIGFzIEdO VS9MaW51eCB3aGVyZSBkaXJlY3RvcnkgQUNMIHVtYXNrcyBvdmVycmlkZSBw cm9jZXNzIHVtYXNrcy4KICBbYnVnIGludHJvZHVjZWQgaW4gY29yZXV0aWxz LTYuMF0KCiAgbXYgd2lsbCBub3cgcmVwbGFjZSBlbXB0eSBkaXJlY3Rvcmll cyBpbiB0aGUgZGVzdGluYXRpb24gd2l0aCBkaXJlY3RvcmllcwogIGZyb20g dGhlIHNvdXJjZSwgd2hlbiBjb3B5aW5nIGFjcm9zcyBmaWxlIHN5c3RlbXMu CiAgW1RoaXMgYnVnIHdhcyBwcmVzZW50IGluICJ0aGUgYmVnaW5uaW5nIi5d CgogIG9kIC13TiB3aXRoIE4gbGFyZ2VyIHRoYW4gNjRLIG9uIGEgc3lzdGVt IHdpdGggMzItYml0IHNpemVfdCB3b3VsZAogIHByaW50IGFwcHJveGltYXRl bHkgMipOIGJ5dGVzIG9mIGV4dHJhbmVvdXMgcGFkZGluZy4KICBbQnVnIGlu dHJvZHVjZWQgaW4gY29yZXV0aWxzLTcuMF0KCiAgcm0gLUkgbm93IHByb21w dHMgZm9yIGNvbmZpcm1hdGlvbiBiZWZvcmUgcmVtb3ZpbmcgYSB3cml0ZSBw cm90ZWN0ZWQgZmlsZS4KICBbQnVnIGludHJvZHVjZWQgaW4gY29yZXV0aWxz LTYuOF0KCiAgc2hyZWQgb25jZSBhZ2FpbiB1c2VzIGRpcmVjdCBJL08gb24g c3lzdGVtcyByZXF1aXJpbmcgYWxpZ25lZCBidWZmZXJzLgogIEFsc28gZGly ZWN0IEkvTyBmYWlsdXJlcyBmb3Igb2RkIHNpemVkIHdyaXRlcyBhdCBlbmQg b2YgZmlsZSBhcmUgbm93IGhhbmRsZWQuCiAgW1RoZSAibGFzdCB3cml0ZSIg YnVnIHdhcyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy01LjMuMCBidXQgbWFz a2VkCiAgIGJ5IHRoZSBhbGlnbm1lbnQgYnVnIGludHJvZHVjZWQgaW4gY29y ZXV0aWxzLTYuMF0KCiAgdGFpbCAtLXJldHJ5IC1mIG5vdyB3YWl0cyBmb3Ig dGhlIGZpbGVzIHNwZWNpZmllZCB0byBhcHBlYXIuICBCZWZvcmUsIHRhaWwK ICB3b3VsZCBpbW1lZGlhdGVseSBleGl0IHdoZW4gc3VjaCBhIGZpbGUgaXMg aW5pdGlhbGx5IGluYWNjZXNzaWJsZS4KICBbVGhpcyBidWcgd2FzIGludHJv ZHVjZWQgd2hlbiBpbm90aWZ5IHN1cHBvcnQgd2FzIGFkZGVkIGluIGNvcmV1 dGlscy03LjVdCgogIHRhaWwgLUYgaGFzIGltcHJvdmVkIGhhbmRsaW5nIG9m IHN5bWxpbmtzLiAgUHJldmlvdXNseSB0YWlsIGRpZG4ndCByZXNwb25kCiAg dG8gdGhlIHN5bWxpbmsgdGFyZ2V0IChyZSlhcHBlYXJpbmcgYWZ0ZXIgYmVp bmcgKHJlKWNyZWF0ZWQuCiAgW1RoaXMgYnVnIHdhcyBpbnRyb2R1Y2VkIHdo ZW4gaW5vdGlmeSBzdXBwb3J0IHdhcyBhZGRlZCBpbiBjb3JldXRpbHMtNy41 XQoKKiogTmV3IGZlYXR1cmVzCgogIGNwLCBpbnN0YWxsLCBta2RpciwgbWtu b2QsIG1rZmlmbyBhbmQgbXYgbm93IHN1cHBvcnQgInJlc3RvcmVjb24iCiAg ZnVuY3Rpb25hbGl0eSB0aHJvdWdoIHRoZSAtWiBvcHRpb24sIHRvIHNldCB0 aGUgU0VMaW51eCBjb250ZXh0CiAgYXBwcm9wcmlhdGUgZm9yIHRoZSBuZXcg aXRlbSBsb2NhdGlvbiBpbiB0aGUgZmlsZSBzeXN0ZW0uCgogIGNzcGxpdCBh Y2NlcHRzIGEgbmV3IG9wdGlvbjogLS1zdXBwcmVzc2VkLW1hdGNoZWQsIHRv IGVsaWRlIHRoZSBsaW5lcwogIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwbGl0 IHBvaW50cy4KCiAgZGYgLS1vdXRwdXQgbm93IGFjY2VwdHMgYSAnZmlsZScg ZmllbGQsIHRvIHByb3BhZ2F0ZSBhIHNwZWNpZmllZAogIGNvbW1hbmQgbGlu ZSBhcmd1bWVudCB0aHJvdWdoIHRvIHRoZSBvdXRwdXQuCgogIGR1IGFjY2Vw dHMgYSBuZXcgb3B0aW9uOiAtLWlub2RlcyB0byBzaG93IHRoZSBudW1iZXIg b2YgaW5vZGVzIGluc3RlYWQKICBvZiB0aGUgYmxvY2tzIHVzZWQuCgogIGlk IGFjY2VwdHMgYSBuZXcgb3B0aW9uOiAtLXplcm8gKC16KSB0byBkZWxpbWl0 IHRoZSBvdXRwdXQgZW50cmllcyBieQogIGEgTlVMIGluc3RlYWQgb2YgYSB3 aGl0ZSBzcGFjZSBjaGFyYWN0ZXIuCgogIGlkIGFuZCBscyB3aXRoIC1aIHJl cG9ydCB0aGUgU01BQ0sgc2VjdXJpdHkgY29udGV4dCB3aGVyZSBhdmFpbGFi bGUuCiAgbWtkaXIsIG1rZmlmbyBhbmQgbWtub2Qgd2l0aCAtLWNvbnRleHQg c2V0IHRoZSBTTUFDSyBjb250ZXh0IHdoZXJlIGF2YWlsYWJsZS4KCiAgaWQg Y2FuIG5vdyBsb29rdXAgYnkgdXNlciBJRCwgaW4gYWRkaXRpb24gdG8gdGhl IGV4aXN0aW5nIG5hbWUgbG9va3VwLgoKICBqb2luIGFjY2VwdHMgYSBuZXcg b3B0aW9uOiAtLXplcm8tdGVybWluYXRlZCAoLXopLiBBcyB3aXRoIHRoZSBz b3J0LHVuaXEKICBvcHRpb24gb2YgdGhlIHNhbWUgbmFtZSwgdGhpcyBtYWtl cyBqb2luIGNvbnN1bWUgYW5kIHByb2R1Y2UgTlVMLXRlcm1pbmF0ZWQKICBs aW5lcyByYXRoZXIgdGhhbiBuZXdsaW5lLXRlcm1pbmF0ZWQgbGluZXMuCgog IHVuaXEgYWNjZXB0cyBhIG5ldyBvcHRpb246IC0tZ3JvdXAgdG8gcHJpbnQg YWxsIGl0ZW1zLCB3aGlsZSBzZXBhcmF0aW5nCiAgdW5pcXVlIGdyb3VwcyB3 aXRoIGVtcHR5IGxpbmVzLgoKICBzaHJlZCBhY2NlcHRzIG5ldyBwYXJhbWV0 ZXJzIHRvIHRoZSAtLXJlbW92ZSBvcHRpb24gdG8gZ2l2ZSBncmVhdGVyCiAg Y29udHJvbCBvdmVyIHRoYXQgb3BlcmF0aW9uLCB3aGljaCBjYW4gZ3JlYXRs eSByZWR1Y2Ugc3luYyBvdmVyaGVhZC4KCiAgc2h1ZiBhY2NlcHRzIGEgbmV3 IG9wdGlvbjogLS1yZXBlYXQgKC1yKSwgd2hpY2ggY2FuIHJlcGVhdCBpdGVt cyBpbgogIHRoZSBvdXRwdXQuCgoqKiBDaGFuZ2VzIGluIGJlaGF2aW9yCgog IGNwIC0tbGluayBub3cgZGVyZWZlcmVuY2VzIGEgc3ltYm9saWMgbGluayBh cyBzb3VyY2UgYmVmb3JlIGNyZWF0aW5nIHRoZQogIGhhcmQgbGluayBpbiB0 aGUgZGVzdGluYXRpb24gdW5sZXNzIHRoZSAtUCwtLW5vLWRlcmVmIG9wdGlv biBpcyBzcGVjaWZpZWQuCiAgUHJldmlvdXNseSwgaXQgd291bGQgY3JlYXRl IGEgaGFyZCBsaW5rIG9mIHRoZSBzeW1ib2xpYyBsaW5rLCBldmVuIHdoZW4K ICB0aGUgZGVyZWZlcmVuY2luZyBvcHRpb25zIC1MIG9yIC1IIHdlcmUgc3Bl Y2lmaWVkLgoKICBjcCwgaW5zdGFsbCwgbWtkaXIsIG1rbm9kIGFuZCBta2Zp Zm8gbm8gbG9uZ2VyIGFjY2VwdCBhbiBhcmd1bWVudCB0byB0aGUKICBzaG9y dCAtWiBvcHRpb24uICBUaGUgLS1jb250ZXh0IGVxdWl2YWxlbnQgc3RpbGwg dGFrZXMgYW4gb3B0aW9uYWwgYXJndW1lbnQuCgogIGRkIHN0YXR1cz1ub25l IG5vdyBzdXBwcmVzc2VzIGFsbCBub24gZmF0YWwgZGlhZ25vc3RpYyBtZXNz YWdlcywKICBub3QganVzdCB0aGUgdHJhbnNmZXIgY291bnRzLgoKICBkZiBu byBsb25nZXIgYWNjZXB0cyB0aGUgbG9uZy1vYnNvbGVzY2VudCAtLW1lZ2Fi eXRlcyBvcHRpb24uCgogIHN0ZGJ1ZiBub3cgcmVxdWlyZXMgYXQgbGVhc3Qg b25lIGJ1ZmZlcmluZyBtb2RlIG9wdGlvbiB0byBiZSBzcGVjaWZpZWQsCiAg YXMgcGVyIHRoZSBkb2N1bWVudGVkIGludGVyZmFjZS4KCioqIEltcHJvdmVt ZW50cwoKICBiYXNlNjQgZW5jb2RpbmcgdGhyb3VnaHB1dCBmb3IgYnVsayBk YXRhIGlzIGluY3JlYXNlZCBieSBhYm91dCA2MCUuCgogIG1kNXN1bSBjYW4g dXNlIGxpYmNyeXB0byBoYXNoIHJvdXRpbmVzIHdoZXJlIGFsbG93ZWQgdG8g cG90ZW50aWFsbHkKICBnZXQgYmV0dGVyIHBlcmZvcm1hbmNlIHRocm91Z2gg dXNpbmcgbW9yZSBzeXN0ZW0gc3BlY2lmaWMgbG9naWMuCiAgc2hhMXN1bSBm b3IgZXhhbXBsZSBoYXMgaW1wcm92ZWQgdGhyb3VnaHB1dCBieSA0MCUgb24g YW4gaTMtMjMxME0uCiAgVGhpcyBhbHNvIGFmZmVjdHMgc2hhMXN1bSwgc2hh MjI0c3VtLCBzaGEyNTZzdW0sIHNoYTM4NHN1bSBhbmQgc2hhNTEyc3VtLgoK ICBzdGF0IGFuZCB0YWlsIHdvcmsgYmV0dGVyIHdpdGggRUZJVkFSRlMsIEVY T0ZTLCBGMkZTLCBIT1NURlMsIFNNQUNLRlMsIFNORlMKICBhbmQgVUJJRlMu ICBzdGF0IC1mIC0tZm9ybWF0PSVUIG5vdyByZXBvcnRzIHRoZSBmaWxlIHN5 c3RlbSB0eXBlLCBhbmQgdGFpbCAtZgogIG5vdyB1c2VzIGlub3RpZnkgZm9y IGZpbGVzIG9uIGFsbCB0aG9zZSBleGNlcHQgU05GUywgcmF0aGVyIHRoYW4g dGhlIGRlZmF1bHQKICAoZm9yIHVua25vd24gZmlsZSBzeXN0ZW0gdHlwZXMp IG9mIGlzc3VpbmcgYSB3YXJuaW5nIGFuZCByZXZlcnRpbmcgdG8gcG9sbGlu Zy4KCiAgc2h1ZiBvdXRwdXRzIHN1YnNldHMgb2YgbGFyZ2UgaW5wdXRzIG11 Y2ggbW9yZSBlZmZpY2llbnRseS4KICBSZXNlcnZvaXIgc2FtcGxpbmcgaXMg dXNlZCB0byBsaW1pdCBtZW1vcnkgdXNhZ2UgYmFzZWQgb24gdGhlIG51bWJl ciBvZgogIG91dHB1dHMsIHJhdGhlciB0aGFuIHRoZSBudW1iZXIgb2YgaW5w dXRzLgoKICBzaHJlZCBpbmNyZWFzZXMgdGhlIGRlZmF1bHQgd3JpdGUgYmxv Y2sgc2l6ZSBmcm9tIDEyS2lCIHRvIDY0S2lCCiAgdG8gYWxpZ24gd2l0aCBv dGhlciB1dGlsaXRpZXMgYW5kIHJlZHVjZSB0aGUgc3lzdGVtIGNhbGwgb3Zl cmhlYWQuCgogIHNwbGl0IC0tbGluZS1ieXRlcz1TSVpFLCBub3cgb25seSBh bGxvY2F0ZXMgbWVtb3J5IGFzIG5lZWRlZCByYXRoZXIKICB0aGFuIGFsbG9j YXRpbmcgU0laRSBieXRlcyBhdCBwcm9ncmFtIHN0YXJ0LgoKICBzdHR5IG5v dyBzdXBwb3J0cyBjb25maWd1cmluZyAic3RpY2siIChtYXJrL3NwYWNlKSBw YXJpdHkgd2hlcmUgYXZhaWxhYmxlLgoKKiogQnVpbGQtcmVsYXRlZAoKICBm YWN0b3Igbm93IGJ1aWxkcyBvbiBhYXJjaDY0IGJhc2VkIHN5c3RlbXMgW2J1 ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy04LjIwXQoKCiogTm90ZXdvcnRo eSBjaGFuZ2VzIGluIHJlbGVhc2UgOC4yMSAoMjAxMy0wMi0xNCkgW3N0YWJs ZV0KCioqIE5ldyBwcm9ncmFtcwoKICBudW1mbXQ6IHJlZm9ybWF0IG51bWJl cnMKCioqIE5ldyBmZWF0dXJlcwoKICBkZiBub3cgYWNjZXB0cyB0aGUgLS1v dXRwdXRbPUZJRUxEX0xJU1RdIG9wdGlvbiB0byBkZWZpbmUgdGhlIGxpc3Qg b2YgY29sdW1ucwogIHRvIGluY2x1ZGUgaW4gdGhlIG91dHB1dCwgb3IgYWxs IGF2YWlsYWJsZSBjb2x1bW5zIGlmIHRoZSBGSUVMRF9MSVNUIGlzCiAgb21p dHRlZC4gIE5vdGUgdGhpcyBlbmFibGVzIGRmIHRvIG91dHB1dCBib3RoIGJs b2NrIGFuZCBpbm9kZSBmaWVsZHMgdG9nZXRoZXIuCgogIGR1IG5vdyBhY2Nl cHRzIHRoZSAtLXRocmVzaG9sZD1TSVpFIG9wdGlvbiB0byByZXN0cmljdCB0 aGUgb3V0cHV0IHRvIGVudHJpZXMKICB3aXRoIHN1Y2ggYSBtaW5pbXVtIFNJ WkUgKG9yIGEgbWF4aW11bSBTSVpFIGlmIGl0IGlzIG5lZ2F0aXZlKS4KICBk dSByZWNvZ25pemVzIC10IFNJWkUgYXMgZXF1aXZhbGVudCwgZm9yIGNvbXBh dGliaWxpdHkgd2l0aCBGcmVlQlNELgoKICB0aW1lb3V0IG5vdyBhY2NlcHRz IHRoZSAtLXByZXNlcnZlLXN0YXR1cyBvcHRpb24gdG8gYWx3YXlzIHByb3Bh Z2F0ZSB0aGUgZXhpdAogIHN0YXR1cywgdXNlZnVsIGZvciBjb21tYW5kcyB0 aGF0IGNhbiBydW4gZm9yIGFuIGluZGV0ZXJtaW5pdGUgYW1vdW50IG9mIHRp bWUuCgoqKiBCdWcgZml4ZXMKCiAgY3AgLS1uby1wcmVzZXJ2ZT1tb2RlIG5v dyBubyBsb25nZXIgZXhpdHMgbm9uLXplcm8uCiAgW2J1ZyBpbnRyb2R1Y2Vk IGluIGNvcmV1dGlscy04LjIwXQoKICBjdXQgd2l0aCBhIHJhbmdlIGxpa2Ug Ik4tIiBubyBsb25nZXIgYWxsb2NhdGVzIE4vOCBieXRlcy4gIFRoYXQgYnVm ZmVyCiAgd291bGQgbmV2ZXIgYmUgdXNlZCwgYW5kIGFsbG9jYXRpb24gZmFp bHVyZSBjb3VsZCBjYXVzZSBjdXQgdG8gZmFpbC4KICBbYnVnIGludHJvZHVj ZWQgaW4gY29yZXV0aWxzLTguMTBdCgogIGN1dCBubyBsb25nZXIgYWNjZXB0 cyB0aGUgaW52YWxpZCByYW5nZSAwLSwgd2hpY2ggbWFkZSBpdCBwcmludCBl bXB0eSBsaW5lcy4KICBJbnN0ZWFkLCBjdXQgbm93IGZhaWxzIGFuZCBlbWl0 cyBhbiBhcHByb3ByaWF0ZSBkaWFnbm9zdGljLgogIFtUaGlzIGJ1ZyB3YXMg cHJlc2VudCBpbiAidGhlIGJlZ2lubmluZyIuXQoKICBjdXQgbm93IGhhbmRs ZXMgb3ZlcmxhcHBpbmcgdG8tRU9MIHJhbmdlcyBwcm9wZXJseS4gIEJlZm9y ZSwgaXQgd291bGQKICBpbnRlcnByZXQgIi1iMi0sMy0iIGxpa2UgIi1iMy0i LiAgTm93IGl0J3MgdHJlYXRlZCBsaWtlICItYjItIi4KICBbVGhpcyBidWcg d2FzIHByZXNlbnQgaW4gInRoZSBiZWdpbm5pbmciLl0KCiAgY3V0IG5vIGxv bmdlciBwcmludHMgZXh0cmFuZW91cyBkZWxpbWl0ZXJzIHdoZW4gYSB0by1F T0wgcmFuZ2Ugc3Vic3VtZXMKICBhbm90aGVyIHJhbmdlLiAgQmVmb3JlLCAi ZWNobyAxMjN8Y3V0IC0tb3V0cHV0LWRlbGltPTogLWIyLSwzIiB3b3VsZCBw cmludAogICIyOjMiLiAgTm93IGl0IHByaW50cyAiMjMiLiAgW2J1ZyBpbnRy b2R1Y2VkIGluIDUuMy4wXQoKICBjdXQgLWYgbm8gbG9uZ2VyIGluc3BlY3Rz IGlucHV0IGxpbmUgTisxIGJlZm9yZSBmdWxseSBvdXRwdXR0aW5nIGxpbmUg TiwKICB3aGljaCBhdm9pZHMgZGVsYXllZCBvdXRwdXQgZm9yIGludGVybWl0 dGVudCBpbnB1dC4KICBbYnVnIGludHJvZHVjZWQgaW4gVEVYVFVUSUxTLTFf OGJdCgogIGZhY3RvciBubyBsb25nZXIgbG9vcHMgaW5maW5pdGVseSBvbiAz MiBiaXQgcG93ZXJwYyBvciBzcGFyYyBzeXN0ZW1zLgogIFtidWcgaW50cm9k dWNlZCBpbiBjb3JldXRpbHMtOC4yMF0KCiAgaW5zdGFsbCAtbSBNIFNPVVJD RSBERVNUIG5vIGxvbmdlciBoYXMgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBE RVNUJ3MKICBwZXJtaXNzaW9ucyBhcmUgdGVtcG9yYXJpbHkgZGVyaXZlZCBm cm9tIFNPVVJDRSBpbnN0ZWFkIG9mIGZyb20gTS4KCiAgcHIgLW4gbm8gbG9u Z2VyIGNyYXNoZXMgd2hlbiBwYXNzZWQgdmFsdWVzID49IDMyLiAgQWxzbywg bGluZSBudW1iZXJzIGFyZQogIGNvbnNpc3RlbnRseSBwYWRkZWQgd2l0aCBz cGFjZXMsIHJhdGhlciB0aGFuIHdpdGggemVyb3MgZm9yIGNlcnRhaW4gd2lk dGhzLgogIFtidWcgaW50cm9kdWNlZCBpbiBURVhUVVRJTFMtMV8yMmldCgog IHNlcSAtdyBlbnN1cmVzIHRoYXQgZm9yIG51bWJlcnMgaW5wdXQgaW4gc2Np ZW50aWZpYyBub3RhdGlvbiwKICB0aGUgb3V0cHV0IG51bWJlcnMgYXJlIHBy b3Blcmx5IGFsaWduZWQgYW5kIG9mIHRoZSBjb3JyZWN0IHdpZHRoLgogIFtU aGlzIGJ1ZyB3YXMgcHJlc2VudCBpbiAidGhlIGJlZ2lubmluZyIuXQoKICBz ZXEgLXcgZW5zdXJlcyBjb3JyZWN0IGFsaWdubWVudCB3aGVuIHRoZSBzdGVw IHZhbHVlIGluY2x1ZGVzIGEgcHJlY2lzaW9uCiAgd2hpbGUgdGhlIHN0YXJ0 IHZhbHVlIGRvZXMgbm90LCBhbmQgdGhlIG51bWJlciBzZXF1ZW5jZSBuYXJy b3dzLgogIFtUaGlzIGJ1ZyB3YXMgcHJlc2VudCBpbiAidGhlIGJlZ2lubmlu ZyIuXQoKICBzZXEgLXMgbm8gbG9uZ2VyIHByaW50cyBhbiBlcnJvbmVvdXMg bmV3bGluZSBhZnRlciB0aGUgZmlyc3QgbnVtYmVyLCBhbmQKICBvdXRwdXRz IGEgbmV3bGluZSBhZnRlciB0aGUgbGFzdCBudW1iZXIgcmF0aGVyIHRoYW4g YSB0cmFpbGluZyBzZXBhcmF0b3IuCiAgQWxzbyBzZXEgbm8gbG9uZ2VyIGln bm9yZXMgYSBzcGVjaWZpZWQgc3RlcCB2YWx1ZSB3aGVuIHRoZSBlbmQgdmFs dWUgaXMgMS4KICBbYnVncyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy04LjIw XQoKICB0aW1lb3V0IG5vdyBlbnN1cmVzIHRoYXQgYmxvY2tpbmcgb2YgQUxS TSBzaWduYWxzIGlzIG5vdCBpbmhlcml0ZWQgZnJvbQogIGl0cyBwYXJlbnQs IHdoaWNoIHdvdWxkIGNhdXNlIHRpbWVvdXRzIHRvIGJlIGlnbm9yZWQuCiAg W3RoZSBidWcgZGF0ZXMgYmFjayB0byB0aGUgaW5pdGlhbCBpbXBsZW1lbnRh dGlvbl0KCioqIENoYW5nZXMgaW4gYmVoYXZpb3IKCiAgZGYgLS10b3RhbCBu b3cgcHJpbnRzICctJyBpbnRvIHRoZSB0YXJnZXQgY29sdW1uIChtb3VudCBw b2ludCkgb2YgdGhlCiAgc3VtbWFyeSBsaW5lLCBhY2NvbW1vZGF0aW5nIHRo ZSAtLW91dHB1dCBvcHRpb24gd2hlcmUgdGhlIHRhcmdldCBmaWVsZAogIGNh biBiZSBpbiBhbnkgY29sdW1uLiAgSWYgdGhlcmUgaXMgbm8gc291cmNlIGNv bHVtbiwgdGhlbiBkZiBwcmludHMKICAndG90YWwnIGluIHRoZSB0YXJnZXQg Y29sdW1uLgoKICBkZiBub3cgcHJvcGVybHkgb3V0cHV0cyBmaWxlIHN5c3Rl bSBpbmZvcm1hdGlvbiB3aXRoIGJpbmQgbW91bnRzIHByZXNlbnQgb24KICB0 aGUgc3lzdGVtIGJ5IHNraXBwaW5nIGR1cGxpY2F0ZSBlbnRyaWVzIChpZGVu dGlmaWVkIGJ5IHRoZSBkZXZpY2UgbnVtYmVyKS4KICBDb25zZXF1ZW50bHks IGRmIGFsc28gZWxpZGVzIHRoZSBlYXJseS1ib290IHBzZXVkbyBmaWxlIHN5 c3RlbSB0eXBlICJyb290ZnMiLgoKICBjdXQgLWQkJ1xuJyBubyBsb25nZXIg b3V0cHV0cyBsaW5lcyBpZGVudGlmaWVkIGluIHRoZSAtLWZpZWxkcyBsaXN0 LAogIHRvIGFsaWduIHdpdGggb3RoZXIgaW1wbGVtZW50YXRpb25zIGFuZCB0 byBhdm9pZCBkZWxheWVkIG91dHB1dCBvZiBsaW5lcy4KCiAgbmwgbm8gbG9u Z2VyIHN1cHBvcnRzIHRoZSAtLXBhZ2UtaW5jcmVtZW50IG9wdGlvbiwgd2hp Y2ggaGFzIGJlZW4KICBkZXByZWNhdGVkIHNpbmNlIGNvcmV1dGlscy03LjUu ICBVc2UgLS1saW5lLWluY3JlbWVudCBpbnN0ZWFkLgoKKiogSW1wcm92ZW1l bnRzCgogIHJlYWRsaW5rIG5vdyBzdXBwb3J0cyBtdWx0aXBsZSBhcmd1bWVu dHMsIGFuZCBhIGNvbXBsZW1lbnRhcnkKICAteiwgLS16ZXJvIG9wdGlvbiB0 byBkZWxpbWl0IG91dHB1dCBpdGVtcyB3aXRoIHRoZSBOVUwgY2hhcmFjdGVy LgoKICBzdGF0IGFuZCB0YWlsIG5vdyBrbm93IGFib3V0IENFUEguICBzdGF0 IC1mIC0tZm9ybWF0PSVUIG5vdyByZXBvcnRzIHRoZSBmaWxlCiAgc3lzdGVt IHR5cGUsIGFuZCB0YWlsIC1mIHVzZXMgcG9sbGluZyBmb3IgZmlsZXMgb24g Q0VQSCBmaWxlIHN5c3RlbXMuCgogIHN0dHkgbm93IHN1cHBvcnRzIGNvbmZp Z3VyaW5nIERUUi9EU1IgaGFyZHdhcmUgZmxvdyBjb250cm9sIHdoZXJlIGF2 YWlsYWJsZS4KCioqIEJ1aWxkLXJlbGF0ZWQKCiAgUGVybCBpcyBub3cgbW9y ZSBvZiBhIHByZXJlcXVpc2l0ZS4gIEl0IGhhcyBsb25nIGJlZW4gcmVxdWly ZWQgaW4gb3JkZXIKICB0byBydW4gKG5vdCBza2lwKSBhIHNpZ25pZmljYW50 IHBlcmNlbnRhZ2Ugb2YgdGhlIHRlc3RzLiAgTm93LCBpdCBpcwogIGFsc28g cmVxdWlyZWQgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgcHJvcGVyIG1hbiBwYWdl cywgdmlhIGhlbHAybWFuLiAgVGhlCiAgZ2VuZXJhdGVkIG1hbi8qLjEgbWFu IHBhZ2VzIGFyZSBubyBsb25nZXIgZGlzdHJpYnV0ZWQuICBCdWlsZGluZyB3 aXRob3V0CiAgcGVybCwgeW91IHdvdWxkIGNyZWF0ZSBzdHViIG1hbiBwYWdl cy4gIFRodXMsIHdoaWxlIHBlcmwgaXMgbm90IGFuCiAgb2ZmaWNpYWwgcHJl cmVxdWlzaXRlIChidWlsZCBhbmQgIm1ha2UgY2hlY2siIHdpbGwgc3RpbGwg c3VjY2VlZCksIGFueQogIHJlc3VsdGluZyBtYW4gcGFnZXMgd291bGQgYmUg aW5mZXJpb3IuICBJbiBhZGRpdGlvbiwgdGhpcyBmaXhlcyBhIGJ1ZwogIGlu IGRpc3RyaWJ1dGVkIChub3QgZnJvbSBjbG9uZSkgTWFrZWZpbGUuaW4gdGhh dCBjb3VsZCBjYXVzZSBwYXJhbGxlbAogIGJ1aWxkIGZhaWx1cmUgd2hlbiBi dWlsZGluZyBmcm9tIG1vZGlmaWVkIHNvdXJjZXMsIGFzIGlzIGNvbW1vbiBw cmFjdGljZQogIGZvciBhIHBhdGNoZWQgZGlzdHJpYnV0aW9uIHBhY2thZ2Uu CgogIGZhY3RvciBub3cgYnVpbGRzIG9uIHg4Nl82NCB3aXRoIHgzMiBBQkks IDMyIGJpdCBNSVBTLCBhbmQgYWxsIEhQUEEgc3lzdGVtcywKICBieSBhdm9p ZGluZyBpbmNvbXBhdGlibGUgYXNtLiAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNv cmV1dGlscy04LjIwXQoKICBBIHJvb3Qtb25seSB0ZXN0IHByZWRpY2F0ZSB3 b3VsZCBhbHdheXMgZmFpbC4gIEl0cyBqb2Igd2FzIHRvIGRldGVybWluZQog IHdoZXRoZXIgb3VyIGR1bW15IHVzZXIsICROT05fUk9PVF9VU0VSTkFNRSwg d2FzIGFibGUgdG8gcnVuIGJpbmFyaWVzIGZyb20KICB0aGUgYnVpbGQgZGly ZWN0b3J5LiAgQXMgYSByZXN1bHQsIGFsbCBkZXBlbmRlbnQgdGVzdHMgd2Vy ZSBhbHdheXMgc2tpcHBlZC4KICBOb3csIHRob3NlIHRlc3RzIG1heSBiZSBy dW4gb25jZSBhZ2Fpbi4gIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMt OC4yMF0KCgoqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMjAg KDIwMTItMTAtMjMpIFtzdGFibGVdCgoqKiBOZXcgZmVhdHVyZXMKCiAgZGQg bm93IGFjY2VwdHMgJ3N0YXR1cz1ub25lJyB0byBzdXBwcmVzcyBhbGwgaW5m b3JtYXRpb25hbCBvdXRwdXQuCgogIG1kNXN1bSBub3cgYWNjZXB0cyB0aGUg LS10YWcgb3B0aW9uIHRvIHByaW50IEJTRC1zdHlsZSBvdXRwdXQgd2l0aCBH TlUKICBmaWxlIG5hbWUgZXNjYXBpbmcuICBUaGlzIGFsc28gYWZmZWN0cyBz aGExc3VtLCBzaGEyMjRzdW0sIHNoYTI1NnN1bSwKICBzaGEzODRzdW0gYW5k IHNoYTUxMnN1bS4KCioqIEJ1ZyBmaXhlcwoKICBjcCBjb3VsZCByZWFkIGZy b20gZnJlZWQgbWVtb3J5IGFuZCBjb3VsZCBldmVuIG1ha2UgY29ycnVwdCBj b3BpZXMuCiAgVGhpcyBjb3VsZCBoYXBwZW4gd2l0aCBhIHZlcnkgZnJhZ21l bnRlZCBhbmQgc3BhcnNlIGlucHV0IGZpbGUsCiAgb24gR05VL0xpbnV4IGZp bGUgc3lzdGVtcyBzdXBwb3J0aW5nIGZpZW1hcCBleHRlbnQgc2Nhbm5pbmcu CiAgVGhpcyBidWcgYWxzbyBhZmZlY3RzIG12IHdoZW4gaXQgcmVzb3J0cyB0 byBjb3B5aW5nLCBhbmQgaW5zdGFsbC4KICBbYnVnIGludHJvZHVjZWQgaW4g Y29yZXV0aWxzLTguMTFdCgogIGNwIC0tbm8tcHJlc2VydmU9bW9kZSBub3cg bm8gbG9uZ2VyIHByZXNlcnZlcyB0aGUgb3JpZ2luYWwgZmlsZSdzCiAgcGVy bWlzc2lvbnMgYnV0IGNvcnJlY3RseSBzZXRzIG1vZGUgc3BlY2lmaWVkIGJ5 IDA2NjYgJiB+dW1hc2sKCiAgZHUgbm8gbG9uZ2VyIGVtaXRzIGEgImRpc2st Y29ycnVwdGVkIi1zdHlsZSBkaWFnbm9zdGljIHdoZW4gaXQgZGV0ZWN0cwog IGEgZGlyZWN0b3J5IGN5Y2xlIHRoYXQgaXMgZHVlIHRvIGEgYmluZC1tb3Vu dGVkIGRpcmVjdG9yeS4gIEluc3RlYWQsCiAgaXQgZGV0ZWN0cyB0aGlzIHBy ZWNpc2UgdHlwZSBvZiBjeWNsZSwgZGlhZ25vc2VzIGl0IGFzIHN1Y2ggYW5k CiAgZXZlbnR1YWxseSBleGl0cyBub256ZXJvLgoKICBmYWN0b3IgKHdoZW4g dXNpbmcgZ21wKSB3b3VsZCBtaXN0YWtlbmx5IGRlY2xhcmUgc29tZSBjb21w b3NpdGUgbnVtYmVycwogIHRvIGJlIHByaW1lLCBlLmcuLCA0NjU2NTg5MDMs IDIyNDI3MjQ4NTEsIDY2MzU2OTI4MDEgYW5kIG1hbnkgbW9yZS4KICBUaGUg Zml4IG1ha2VzIGZhY3RvciBzb21ld2hhdCBzbG93ZXIgKH4yNSUpIGZvciBy YW5nZXMgb2YgY29uc2VjdXRpdmUKICBudW1iZXJzLCBhbmQgdXAgdG8gOCB0 aW1lcyBzbG93ZXIgZm9yIHNvbWUgd29yc3QtY2FzZSBpbmRpdmlkdWFsIG51 bWJlcnMuCiAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy03LjAsIHdp dGggR05VIE1QIHN1cHBvcnRdCgogIGxzIG5vdyBjb3JyZWN0bHkgY29sb3Jz IGRhbmdsaW5nIHN5bWxpbmtzIHdoZW4gbGlzdGluZyB0aGVpciBjb250YWlu aW5nCiAgZGlyZWN0b3JpZXMsIHdpdGggb3JwaGFuZWQgc3ltbGluayBjb2xv cmluZyBkaXNhYmxlZCBpbiBMU19DT0xPUlMuCiAgW2J1ZyBpbnRyb2R1Y2Vk IGluIGNvcmV1dGlscy04LjE0XQoKICBybSAtaSAtZCBub3cgcHJvbXB0cyB0 aGUgdXNlciB0aGVuIHJlbW92ZXMgYW4gZW1wdHkgZGlyZWN0b3J5LCByYXRo ZXIKICB0aGFuIGlnbm9yaW5nIHRoZSAtZCBvcHRpb24gYW5kIGZhaWxpbmcg d2l0aCBhbiAnSXMgYSBkaXJlY3RvcnknIGVycm9yLgogIFtidWcgaW50cm9k dWNlZCBpbiBjb3JldXRpbHMtOC4xOSwgd2l0aCB0aGUgYWRkaXRpb24gb2Yg LS1kaXIgKC1kKV0KCiAgcm0gLXIgUy8gKHdoZXJlIFMgaXMgYSBzeW1saW5r LXRvLWRpcmVjdG9yeSkgbm8gbG9uZ2VyIGdpdmVzIHRoZSBpbnZhbGlkCiAg IlRvbyBtYW55IGxldmVscyBvZiBzeW1ib2xpYyBsaW5rcyIgZGlhZ25vc3Rp Yy4KICBbYnVnIGludHJvZHVjZWQgaW4gY29yZXV0aWxzLTguNl0KCiAgc2Vx IG5vdyBoYW5kbGVzIGFyYml0cmFyaWx5IGxvbmcgbm9uLW5lZ2F0aXZlIHdo b2xlIG51bWJlcnMgd2hlbiB0aGUKICBpbmNyZW1lbnQgaXMgMSBhbmQgd2hl biBubyBmb3JtYXQtY2hhbmdpbmcgb3B0aW9uIGlzIHNwZWNpZmllZC4KICBC ZWZvcmUsIHRoaXMgd291bGQgaW5mbG9vcDoKICAgIGI9MTAwMDAwMDAwMDAw MDAwMDAwMDAwOyBzZXEgJGIgJGIKICBbdGhlIGJ1ZyBkYXRlcyBiYWNrIHRv IHRoZSBpbml0aWFsIGltcGxlbWVudGF0aW9uXQoKKiogQ2hhbmdlcyBpbiBi ZWhhdmlvcgoKICBucHJvYyBub3cgZGlhZ25vc2VzIHdpdGggYW4gZXJyb3Is IG5vbiBvcHRpb24gY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMuCgoqKiBJbXBy b3ZlbWVudHMKCiAgZmFjdG9yJ3MgY29yZSBoYXMgYmVlbiByZXdyaXR0ZW4g Zm9yIHNwZWVkIGFuZCBpbmNyZWFzZWQgcmFuZ2UuCiAgSXQgY2FuIG5vdyBm YWN0b3IgbnVtYmVycyB1cCB0byAyXjEyOCwgZXZlbiB3aXRob3V0IEdNUCBz dXBwb3J0LgogIEl0cyBzcGVlZCBpcyBmcm9tIGEgZmV3IHRpbWVzIGJldHRl ciAoZm9yIHNtYWxsIG51bWJlcnMpIHRvIG92ZXIKICAxMCwwMDAgdGltZXMg YmV0dGVyIChqdXN0IGJlbG93IDJeNjQpLiAgVGhlIG5ldyBjb2RlIGFsc28g cnVucyBhCiAgZGV0ZXJtaW5pc3RpYyBwcmltYWxpdHkgdGVzdCBmb3IgZWFj aCBwcmltZSBmYWN0b3IsIG5vdCBqdXN0IGEKICBwcm9iYWJpbGlzdGljIHRl c3QuCgogIHNlcSBpcyBub3cgdXAgdG8gNzAgdGltZXMgZmFzdGVyIHRoYW4g aXQgd2FzIGluIGNvcmV1dGlscy04LjE5IGFuZCBwcmlvciwKICBidXQgb25s eSB3aXRoIG5vbi1uZWdhdGl2ZSB3aG9sZSBudW1iZXJzLCBhbiBpbmNyZW1l bnQgb2YgMSwgYW5kIG5vCiAgZm9ybWF0LWNoYW5naW5nIG9wdGlvbnMuCgog IHN0YXQgYW5kIHRhaWwga25vdyBhYm91dCBaRlMsIFZaRlMgYW5kIFZNSEdG Uy4gIHN0YXQgLWYgLS1mb3JtYXQ9JVQgbm93CiAgcmVwb3J0cyB0aGUgZmls ZSBzeXN0ZW0gdHlwZSwgYW5kIHRhaWwgLWYgbm93IHVzZXMgaW5vdGlmeSBm b3IgZmlsZXMgb24KICBaRlMgYW5kIFZaRlMgZmlsZSBzeXN0ZW1zLCByYXRo ZXIgdGhhbiB0aGUgZGVmYXVsdCAoZm9yIHVua25vd24gZmlsZQogIHN5c3Rl bSB0eXBlcykgb2YgaXNzdWluZyBhIHdhcm5pbmcgYW5kIHJldmVydGluZyB0 byBwb2xsaW5nLiAgdGFpbCAtZgogIHN0aWxsIHVzZXMgcG9sbGluZyBmb3Ig ZmlsZXMgb24gVk1IR0ZTIGZpbGUgc3lzdGVtcy4KCioqIEJ1aWxkLXJlbGF0 ZWQKCiAgcm9vdC1vbmx5IHRlc3RzIG5vdyBjaGVjayBmb3IgcGVybWlzc2lv bnMgb2Ygb3VyIGR1bW15IHVzZXIsCiAgJE5PTl9ST09UX1VTRVJOQU1FLCBi ZWZvcmUgdHJ5aW5nIHRvIHJ1biBiaW5hcmllcyBmcm9tIHRoZSBidWlsZCBk aXJlY3RvcnkuCiAgQmVmb3JlLCB3ZSB3b3VsZCBnZXQgaGFyZC10by1kaWFn bm9zZSByZXBvcnRzIG9mIGZhaWxpbmcgcm9vdC1vbmx5IHRlc3RzLgogIE5v dywgdGhvc2UgdGVzdHMgYXJlIHNraXBwZWQgd2l0aCBhIHVzZWZ1bCBkaWFn bm9zdGljIHdoZW4gdGhlIHJvb3QgdGVzdHMKICBhcmUgcnVuIHdpdGhvdXQg Zm9sbG93aW5nIHRoZSBpbnN0cnVjdGlvbnMgaW4gUkVBRE1FLgoKICBXZSBu b3cgYnVpbGQgbW9zdCBkaXJlY3RvcmllcyB1c2luZyBub24tcmVjdXJzaXZl IG1ha2UgcnVsZXMuICBJLmUuLAogIHJhdGhlciB0aGFuIHJ1bm5pbmcgbWFr ZSBpbiBtYW4vLCBsaWIvLCBzcmMvLCB0ZXN0cy8sIGluc3RlYWQsIHRoZSB0 b3AKICBsZXZlbCBNYWtlZmlsZS5hbSBpbmNsdWRlcyBhICRkaXIvbG9jYWwu bWsgdGhhdCBkZXNjcmliZXMgaG93IHRvIGJ1aWxkCiAgdGhlIHRhcmdldHMg aW4gdGhlIGNvcnJlc3BvbmRpbmcgZGlyZWN0b3J5LiAgVHdvIGRpcmVjdG9y aWVzIHJlbWFpbgogIHVuY29udmVydGVkOiBwby8sIGdudWxpYi10ZXN0cy8u ICBPbmUgbmljZSBzaWRlLWVmZmVjdCBpcyB0aGF0IHRoZSBtb3JlCiAgYWNj dXJhdGUgZGVwZW5kZW5jaWVzIGhhdmUgZWxpbWluYXRlZCBhIG5hZ2dpbmcg b2NjYXNpb25hbCBmYWlsdXJlIHRoYXQKICB3YXMgc2VlbiB3aGVuIHJ1bm5p bmcgcGFyYWxsZWwgIm1ha2Ugc3ludGF4LWNoZWNrIi4KCgoqIE5vdGV3b3J0 aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMTkgKDIwMTItMDgtMjApIFtzdGFi bGVdCgoqKiBCdWcgZml4ZXMKCiAgZGYgbm93IGZhaWxzIHdoZW4gdGhlIGxp c3Qgb2YgbW91bnRlZCBmaWxlIHN5c3RlbXMgKC9ldGMvbXRhYikgY2Fubm90 CiAgYmUgcmVhZCwgeWV0IHRoZSBmaWxlIHN5c3RlbSB0eXBlIGluZm9ybWF0 aW9uIGlzIG5lZWRlZCB0byBwcm9jZXNzCiAgY2VydGFpbiBvcHRpb25zIGxp a2UgLWEsIC1sLCAtdCBhbmQgLXguCiAgW1RoaXMgYnVnIHdhcyBwcmVzZW50 IGluICJ0aGUgYmVnaW5uaW5nIi5dCgogIHNvcnQgLXUgY291bGQgZmFpbCB0 byBvdXRwdXQgb25lIG9yIG1vcmUgcmVzdWx0IGxpbmVzLgogIEZvciBleGFt cGxlLCB0aGlzIGNvbW1hbmQgd291bGQgZmFpbCB0byBwcmludCAiMSI6CiAg KHllcyA3IHwgaGVhZCAtMTE7IGVjaG8gMSkgfCBzb3J0IC0tcD0xIC1TMzJi IC11CiAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy04LjZdCgogIHNv cnQgLXUgY291bGQgcmVhZCBmcmVlZCBtZW1vcnkuCiAgRm9yIGV4YW1wbGUs IHRoaXMgZXZva2VzIGEgcmVhZCBmcm9tIGZyZWVkIG1lbW9yeToKICBwZXJs IC1sZSAncHJpbnQgImFcbiIuIjAieDkwMCd8dmFsZ3JpbmQgc29ydCAtLXA9 MSAtUzMyYiAtdT4vZGV2L251bGwKICBbYnVnIGludHJvZHVjZWQgaW4gY29y ZXV0aWxzLTguNl0KCioqIE5ldyBmZWF0dXJlcwoKICBybSBub3cgYWNjZXB0 cyB0aGUgLS1kaXIgKC1kKSBvcHRpb24gd2hpY2ggbWFrZXMgaXQgcmVtb3Zl IGVtcHR5IGRpcmVjdG9yaWVzLgogIFNpbmNlIHJlbW92aW5nIGVtcHR5IGRp cmVjdG9yaWVzIGlzIHJlbGF0aXZlbHkgc2FmZSwgdGhpcyBvcHRpb24gY2Fu IGJlCiAgdXNlZCBhcyBhIHBhcnQgb2YgdGhlIGFsaWFzIHJtPSdybSAtLWRp cicuICBUaGlzIGltcHJvdmVzIGNvbXBhdGliaWxpdHkKICB3aXRoIE1hYyBP UyBYIGFuZCBCU0Qgc3lzdGVtcyB3aGljaCBhbHNvIGhvbm9yIHRoZSAtZCBv cHRpb24uCgoKKiBOb3Rld29ydGh5IGNoYW5nZXMgaW4gcmVsZWFzZSA4LjE4 ICgyMDEyLTA4LTEyKSBbc3RhYmxlXQoKKiogQnVnIGZpeGVzCgogIGNrc3Vt IG5vdyBwcmludHMgY2hlY2tzdW1zIGF0b21pY2FsbHkgc28gdGhhdCBjb25j dXJyZW50CiAgcHJvY2Vzc2VzIHdpbGwgbm90IGludGVyc3BlcnNlIHRoZWly IG91dHB1dC4KICBbdGhlIGJ1ZyBkYXRlcyBiYWNrIHRvIHRoZSBpbml0aWFs IGltcGxlbWVudGF0aW9uXQoKICBkYXRlIC1kICIkKHByaW50ZiAnXHhiMCcp IiB3b3VsZCBwcmludCAwMDowMDowMCB3aXRoIHRvZGF5J3MgZGF0ZQogIHJh dGhlciB0aGFuIGRpYWdub3NpbmcgdGhlIGludmFsaWQgaW5wdXQuICBOb3cg aXQgcmVwb3J0cyB0aGlzOgogIGRhdGU6IGludmFsaWQgZGF0ZSAnXDI2MCcK ICBbVGhpcyBidWcgd2FzIHByZXNlbnQgaW4gInRoZSBiZWdpbm5pbmciLl0K CiAgZGYgbm8gbG9uZ2VyIG91dHB1dHMgY29udHJvbCBjaGFyYWN0ZXJzIHBy ZXNlbnQgaW4gdGhlIG1vdW50IHBvaW50IG5hbWUuCiAgU3VjaCBjaGFyYWN0 ZXJzIGFyZSByZXBsYWNlZCB3aXRoICc/Jywgc28gZm9yIGV4YW1wbGUsIHNj cmlwdHMgY29uc3VtaW5nCiAgbGluZXMgb3V0cHV0IGJ5IGRmLCBjYW4gd29y ayByZWxpYWJseS4KICBbVGhpcyBidWcgd2FzIHByZXNlbnQgaW4gInRoZSBi ZWdpbm5pbmciLl0KCiAgZGYgLS10b3RhbCBub3cgZXhpdHMgd2l0aCBhbiBh cHByb3ByaWF0ZSBkaWFnbm9zdGljIGFuZCBlcnJvciBjb2RlLCB3aGVuCiAg ZmlsZSBzeXN0ZW0gLS10eXBlIG9wdGlvbnMgZG8gbm90IGxlYWQgdG8gYSBw cm9jZXNzZWQgZmlsZSBzeXN0ZW0uCiAgW1RoaXMgYnVnIGRhdGVzIGJhY2sg dG8gd2hlbiAtLXRvdGFsIHdhcyBhZGRlZCBpbiBjb3JldXRpbHMtNy4wXQoK ICBoZWFkIC0tbGluZXM9LU4gKC1uLU4pIG5vdyByZXNldHMgdGhlIHJlYWQg cG9pbnRlciBvZiBhIHNlZWthYmxlIGlucHV0IGZpbGUuCiAgVGhpcyBtZWFu cyB0aGF0ICJoZWFkIC1uLTMiIG5vIGxvbmdlciBjb25zdW1lcyBhbGwgb2Yg aXRzIGlucHV0LCBhbmQgbGluZXMKICBub3Qgb3V0cHV0IGJ5IGhlYWQgbWF5 IGJlIHByb2Nlc3NlZCBieSBvdGhlciBwcm9ncmFtcy4gIEZvciBleGFtcGxl LCB0aGlzCiAgY29tbWFuZCBub3cgcHJpbnRzIHRoZSBmaW5hbCBsaW5lLCAy LCB3aGlsZSBiZWZvcmUgaXQgd291bGQgcHJpbnQgbm90aGluZzoKICAgIHNl cSAyID4gazsgKGhlYWQgLW4tMSA+IC9kZXYvbnVsbDsgY2F0KSA8IGsKICBb VGhpcyBidWcgd2FzIHByZXNlbnQgaW4gInRoZSBiZWdpbm5pbmciLl0KCiAg bHMgLS1jb2xvciB3b3VsZCBtaXMtY29sb3IgcmVsYXRpdmUtbmFtZWQgc3lt bGlua3MgaW4gLwogIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMtOC4x N10KCiAgc3BsaXQgbm93IGVuc3VyZXMgaXQgZG9lc24ndCBvdmVyd3JpdGUg dGhlIGlucHV0IGZpbGUgd2l0aCBnZW5lcmF0ZWQgb3V0cHV0LgogIFt0aGUg YnVnIGRhdGVzIGJhY2sgdG8gdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb25d CgogIHN0YXQgYW5kIGRmIG5vdyByZXBvcnQgdGhlIGNvcnJlY3QgZmlsZSBz eXN0ZW0gdXNhZ2UsCiAgaW4gYWxsIHNpdHVhdGlvbnMgb24gR05VL0xpbnV4 LCBieSBjb3JyZWN0bHkgZGV0ZXJtaW5pbmcgdGhlIGJsb2NrIHNpemUuCiAg W2RmIGJ1ZyBzaW5jZSBjb3JldXRpbHMtNS4wLjkxLCBzdGF0IGJ1ZyBzaW5j ZSB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbl0KCiAgdGFpbCAtZiBubyBs b25nZXIgdHJpZXMgdG8gdXNlIGlub3RpZnkgb24gQVVGUyBvciBQYW5GUyBm aWxlIHN5c3RlbXMKICBbeW91IG1pZ2h0IHNheSB0aGlzIHdhcyBpbnRyb2R1 Y2VkIGluIGNvcmV1dGlscy03LjUsIGFsb25nIHdpdGggaW5vdGlmeQogICBz dXBwb3J0LCBidXQgZXZlbiBub3csIGl0cyBtYWdpYyBudW1iZXIgaXNuJ3Qg aW4gdGhlIHVzdWFsIHBsYWNlLl0KCioqIE5ldyBmZWF0dXJlcwoKICBzdGF0 IC1mIHJlY29nbml6ZXMgdGhlIG5ldyByZW1vdGUgZmlsZSBzeXN0ZW0gdHlw ZXM6IGF1ZnMsIHBhbmZzLgoKKiogQ2hhbmdlcyBpbiBiZWhhdmlvcgoKICBz dTogdGhpcyBwcm9ncmFtIGhhcyBiZWVuIHJlbW92ZWQuICBXZSBzdG9wcGVk IGluc3RhbGxpbmcgInN1IiBieQogIGRlZmF1bHQgd2l0aCB0aGUgcmVsZWFz ZSBvZiBjb3JldXRpbHMtNi45LjkwIG9uIDIwMDctMTItMDEuICBOb3csCiAg dGhhdCB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGhhcyB0aGUgdW5pb24gb2Yg dGhlIFN1c2UgYW5kIEZlZG9yYQogIHBhdGNoZXMgYXMgd2VsbCBhcyBlbm91 Z2ggc3VwcG9ydCB0byBidWlsZCBvbiB0aGUgSHVyZCwgd2Ugbm8gbG9uZ2Vy CiAgaGF2ZSBhbnkgcmVhc29uIHRvIGluY2x1ZGUgaXQgaGVyZS4KCioqIElt cHJvdmVtZW50cwoKICBzb3J0IGF2b2lkcyByZWR1bmRhbnQgcHJvY2Vzc2lu ZyBpbiB0aGUgcHJlc2VuY2Ugb2YgaW5hY2Nlc3NpYmxlIGlucHV0cywKICBv ciB1bndyaXRhYmxlIG91dHB1dC4gIFNvcnQgbm93IGRpYWdub3NlcyBjZXJ0 YWluIGVycm9ycyBhdCBzdGFydC11cCwKICByYXRoZXIgdGhhbiBhZnRlciBw b3RlbnRpYWxseSBleHBlbnNpdmUgcHJvY2Vzc2luZy4KCiAgc29ydCBub3cg YWxsb2NhdGVzIG5vIG1vcmUgdGhhbiA3NSUgb2YgcGh5c2ljYWwgbWVtb3J5 IGJ5IGRlZmF1bHQsCiAgdG8gYmV0dGVyIHNoYXJlIHN5c3RlbSByZXNvdXJj ZXMsIGFuZCB0aHVzIG9wZXJhdGUgbW9yZSBlZmZpY2llbnRseS4KICBbVGhl IGRlZmF1bHQgbWF4IG1lbW9yeSB1c2FnZSBjaGFuZ2VkIGZyb20gNTAlIHRv IDEwMCUgaW4gY29yZXV0aWxzLTguMTZdCgoKKiBOb3Rld29ydGh5IGNoYW5n ZXMgaW4gcmVsZWFzZSA4LjE3ICgyMDEyLTA1LTEwKSBbc3RhYmxlXQoKKiog QnVnIGZpeGVzCgogIGlkIGFuZCBncm91cHMsIHdoZW4gaW52b2tlZCB3aXRo IG5vIHVzZXIgbmFtZSBhcmd1bWVudCwgd291bGQgcHJpbnQKICB0aGUgZGVm YXVsdCBncm91cCBJRCBsaXN0ZWQgaW4gdGhlIHBhc3N3b3JkIGRhdGFiYXNl LCBhbmQgc29tZXRpbWVzCiAgdGhhdCBJRCB3b3VsZCBiZSBuZWl0aGVyIHJl YWwgbm9yIGVmZmVjdGl2ZS4gIEZvciBleGFtcGxlLCB3aGVuIHJ1bgogIHNl dC1HSUQsIG9yIGluIGEgc2Vzc2lvbiBmb3Igd2hpY2ggdGhlIGRlZmF1bHQg Z3JvdXAgaGFzIGp1c3QgYmVlbgogIGNoYW5nZWQsIHRoZSBuZXcgZ3JvdXAg SUQgd291bGQgYmUgbGlzdGVkLCBldmVuIHRob3VnaCBpdCBpcyBub3QKICB5 ZXQgZWZmZWN0aXZlLiBbYnVnIGludHJvZHVjZWQgaW4gY29yZXV0aWxzLTgu MV0KCiAgY3AgUyBEIGlzIG5vIGxvbmdlciBzdWJqZWN0IHRvIGEgcmFjZTog aWYgYW4gZXhpc3RpbmcgRCB3ZXJlIHJlbW92ZWQKICBiZXR3ZWVuIHRoZSBp bml0aWFsIHN0YXQgYW5kIHN1YnNlcXVlbnQgb3Blbi13aXRob3V0LU9fQ1JF QVRFLCBjcCB3b3VsZAogIGZhaWwgd2l0aCBhIGNvbmZ1c2luZyBkaWFnbm9z dGljIHNheWluZyB0aGF0IHRoZSBkZXN0aW5hdGlvbiwgRCwgd2FzIG5vdAog IGZvdW5kLiAgTm93LCBpbiB0aGlzIHVudXN1YWwgY2FzZSwgaXQgcmV0cmll cyB0aGUgb3BlbiAoYnV0IHdpdGggT19DUkVBVEUpLAogIGFuZCBoZW5jZSB1 c3VhbGx5IHN1Y2NlZWRzLiAgV2l0aCBORlMgYXR0cmlidXRlIGNhY2hpbmcs IHRoZSBjb25kaXRpb24KICB3YXMgcGFydGljdWxhcmx5IGVhc3kgdG8gdHJp Z2dlciwgc2luY2UgdGhlcmUsIHRoZSByZW1vdmFsIG9mIEQgY291bGQKICBw cmVjZWRlIHRoZSBpbml0aWFsIHN0YXQuICBbVGhpcyBidWcgd2FzIHByZXNl bnQgaW4gInRoZSBiZWdpbm5pbmciLl0KCiAgc3BsaXQgLS1udW1iZXI9QyAv ZGV2L251bGwgbm8gbG9uZ2VyIGFwcGVhcnMgdG8gaW5mbG9vcCBvbiBHTlUv SHVyZAogIFtidWcgaW50cm9kdWNlZCBpbiBjb3JldXRpbHMtOC44XQoKICBz dGF0IG5vIGxvbmdlciByZXBvcnRzIGEgbmVnYXRpdmUgZmlsZSBzaXplIGFz IGEgaHVnZSBwb3NpdGl2ZSBudW1iZXIuCiAgW2J1ZyBwcmVzZW50IHNpbmNl ICdzdGF0JyB3YXMgaW50cm9kdWNlZCBpbiBmaWxldXRpbHMtNC4xLjldCgoq KiBOZXcgZmVhdHVyZXMKCiAgc3BsaXQgYW5kIHRydW5jYXRlIG5vdyBhbGxv dyBhbnkgc2Vla2FibGUgZmlsZXMgaW4gc2l0dWF0aW9ucyB3aGVyZQogIHRo ZSBmaWxlIHNpemUgaXMgbmVlZGVkLCBpbnN0ZWFkIG9mIGluc2lzdGluZyBv biByZWd1bGFyIGZpbGVzLgoKICBmbXQgbm93IGFjY2VwdHMgdGhlIC0tZ29h bD1XSURUSCAoLWcpIG9wdGlvbi4KCiAgc3RhdCAtZiByZWNvZ25pemVzIG5l dyBmaWxlIHN5c3RlbSB0eXBlczogYmRldmZzLCBpbm9kZWZzLCBxbng2Cgoq KiBDaGFuZ2VzIGluIGJlaGF2aW9yCgogIGNwLG12LGluc3RhbGwsY2F0LHNw bGl0OiBub3cgcmVhZCBhbmQgd3JpdGUgYSBtaW5pbXVtIG9mIDY0S2lCIGF0 IGEgdGltZS4KICBUaGlzIHdhcyBwcmV2aW91c2x5IDMyS2lCIGFuZCBpbmNy ZWFzaW5nIHRvIDY0S2lCIHdhcyBzZWVuIHRvIGluY3JlYXNlCiAgdGhyb3Vn aHB1dCBieSBhYm91dCAxMCUgd2hlbiByZWFkaW5nIGNhY2hlZCBmaWxlcyBv biA2NCBiaXQgR05VL0xpbnV4LgoKICBjcCAtLWF0dHJpYnV0ZXMtb25seSBu byBsb25nZXIgdHJ1bmNhdGVzIGFueSBleGlzdGluZyBkZXN0aW5hdGlvbiBm aWxlLAogIGFsbG93aW5nIGZvciBtb3JlIGdlbmVyYWwgY29weWluZyBvZiBh dHRyaWJ1dGVzIGZyb20gb25lIGZpbGUgdG8gYW5vdGhlci4KCgoqIE5vdGV3 b3J0aHkgY2hhbmdlcyBpbiByZWxlYXNlIDguMTYgKDIwMTItMDMtMjYpIFtz dGFibGVdCgoqKiBOZXcgZmVhdHVyZXMKCiAgQXMgYSBHTlUgZXh0ZW5zaW9u LCAnY2htb2QnLCAnbWtkaXInLCBhbmQgJ2luc3RhbGwnIG5vdyBhY2NlcHQg b3BlcmF0b3JzCiAgJy0nLCAnKycsICc9JyBmb2xsb3dlZCBieSBvY3RhbCBt b2RlczsgZm9yIGV4YW1wbGUsICdjaG1vZCArNDAgRk9PJyBlbmFibGVzCiAg YW5kICdjaG1vZCAtNDAgRk9PJyBkaXNhYmxlcyBGT08ncyBncm91cC1yZWFk IHBlcm1pc3Npb25zLiAgT3BlcmF0b3IKICBudW1lcmljIG1vZGVzIGNhbiBi ZSBjb21iaW5lZCB3aXRoIHN5bWJvbGljIG1vZGVzIGJ5IHNlcGFyYXRpbmcg dGhlbSB3aXRoCiAgY29tbWFzOyBmb3IgZXhhbXBsZSwgPTAsdStyIGNsZWFy cyBhbGwgcGVybWlzc2lvbnMgZXhjZXB0IGZvciBlbmFibGluZwogIHVzZXIt cmVhZCBwZXJtaXNzaW9ucy4gIFVubGlrZSBvcmRpbmFyeSBudW1lcmljIG1v ZGVzLCBvcGVyYXRvciBudW1lcmljCiAgbW9kZXMgZG8gbm90IHByZXNlcnZl IGRpcmVjdG9yeSBzZXR1aWQgYW5kIHNldGdpZCBiaXRzOyBmb3IgZXhhbXBs ZSwKICAnY2htb2QgPTAgRk9PJyBjbGVhcnMgYWxsIG9mIEZPTydzIHBlcm1p c3Npb25zLCBpbmNsdWRpbmcgc2V0dWlkIGFuZCBzZXRnaWQuCgogIEFsc28s IG9yZGluYXJ5IG51bWVyaWMgbW9kZXMgd2l0aCBmaXZlIG9yIG1vcmUgZGln aXRzIG5vIGxvbmdlciBwcmVzZXJ2ZQogIHNldHVpZCBhbmQgc2V0Z2lkIGJp dHMsIHNvIHRoYXQgJ2NobW9kIDAwNzU1IEZPTycgbm93IGNsZWFycyBGT08n cyBzZXR1aWQKICBhbmQgc2V0Z2lkIGJpdHMuICBUaGlzIGFsbG93cyBzY3Jp cHRzIHRvIGJlIHBvcnRhYmxlIHRvIG90aGVyIHN5c3RlbXMgd2hpY2gKICBs YWNrIHRoZSBHTlUgZXh0ZW5zaW9uIG1lbnRpb25lZCBwcmV2aW91c2x5LCBh bmQgd2hlcmUgb3JkaW5hcnkgbnVtZXJpYwogIG1vZGVzIGRvIG5vdCBwcmVz ZXJ2ZSBkaXJlY3Rvcnkgc2V0dWlkIGFuZCBzZXRnaWQgYml0cy4KCiAgZGQg bm93IGFjY2VwdHMgdGhlIGNvdW50X2J5dGVzLCBza2lwX2J5dGVzIGlmbGFn cyBhbmQgdGhlIHNlZWtfYnl0ZXMKICBvZmxhZywgdG8gbW9yZSBlYXNpbHkg YWxsb3cgcHJvY2Vzc2luZyBwb3J0aW9ucyBvZiBhIGZpbGUuCgogIGRkIG5v dyBhY2NlcHRzIHRoZSBjb252PXNwYXJzZSBmbGFnIHRvIGF0dGVtcHQgdG8g Y3JlYXRlIHNwYXJzZQogIG91dHB1dCwgYnkgc2Vla2luZyByYXRoZXIgdGhh biB3cml0aW5nIHRvIHRoZSBvdXRwdXQgZmlsZS4KCiAgbG4gbm93IGFjY2Vw dHMgdGhlIC0tcmVsYXRpdmUgb3B0aW9uLCB0byBnZW5lcmF0ZSBhIHJlbGF0 aXZlCiAgc3ltYm9saWMgbGluayB0byBhIHRhcmdldCwgaXJyZXNwZWN0aXZl IG9mIGhvdyB0aGUgdGFyZ2V0IGlzIHNwZWNpZmllZC4KCiAgc3BsaXQgbm93 IGFjY2VwdHMgYW4gb3B0aW9uYWwgImZyb20iIGFyZ3VtZW50IHRvIC0tbnVt ZXJpYy1zdWZmaXhlcywKICB3aGljaCBjaGFuZ2VzIHRoZSBzdGFydCBudW1i ZXIgZnJvbSB0aGUgZGVmYXVsdCBvZiAwLgoKICBzcGxpdCBub3cgYWNjZXB0 cyB0aGUgLS1hZGRpdGlvbmFsLXN1ZmZpeCBvcHRpb24sIHRvIGFwcGVuZCBh bgogIGFkZGl0aW9uYWwgc3RhdGljIHN1ZmZpeCB0byBvdXRwdXQgZmlsZSBu YW1lcy4KCiAgYmFzZW5hbWUgbm93IHN1cHBvcnRzIHRoZSAtYSBhbmQgLXMg b3B0aW9ucywgd2hpY2ggYWxsb3cgcHJvY2Vzc2luZwogIG9mIG1vcmUgdGhh biBvbmUgYXJndW1lbnQgYXQgYSB0aW1lLiAgQWxzbyB0aGUgY29tcGxlbWVu dGFyeQogIC16IG9wdGlvbiB3YXMgYWRkZWQgdG8gZGVsaW1pdCBvdXRwdXQg aXRlbXMgd2l0aCB0aGUgTlVMIGNoYXJhY3Rlci4KCiAgZGlybmFtZSBub3cg c3VwcG9ydHMgbW9yZSB0aGFuIG9uZSBhcmd1bWVudC4gIEFsc28gdGhlIGNv bXBsZW1lbnRhcnkKICAteiBvcHRpb24gd2FzIGFkZGVkIHRvIGRlbGltaXQg b3V0cHV0IGl0ZW1zIHdpdGggdGhlIE5VTCBjaGFyYWN0ZXIuCgoqKiBCdWcg Zml4ZXMKCiAgZHUgLS1vbmUtZmlsZS1zeXN0ZW0gKC14KSB3b3VsZCBpZ25v cmUgYW55IG5vbi1kaXJlY3Rvcnkgc3BlY2lmaWVkIG9uCiAgdGhlIGNvbW1h bmQgbGluZS4gIEZvciBleGFtcGxlLCAidG91Y2ggZjsgZHUgLXggZiIgd291 bGQgcHJpbnQgbm90aGluZy4KICBbYnVnIGludHJvZHVjZWQgaW4gY29yZXV0 aWxzLTguMTVdCgogIG12IG5vdyBsZXRzIHlvdSBtb3ZlIGEgc3ltbGluayBv bnRvIGEgc2FtZS1pbm9kZSBkZXN0aW5hdGlvbiBmaWxlIHRoYXQKICBoYXMg dHdvIG9yIG1vcmUgaGFyZCBsaW5rcy4gIEJlZm9yZSwgaXQgd291bGQgcmVq ZWN0IHRoYXQsIHNheWluZyB0aGF0CiAgdGhleSBhcmUgdGhlIHNhbWUsIGlt cGxpY2l0bHkgd2FybmluZyB5b3UgdGhhdCB0aGUgbW92ZSB3b3VsZCByZXN1 bHQgaW4KICBkYXRhIGxvc3MuICBJbiB0aGlzIHVudXN1YWwgY2FzZSwgd2hl biBub3QgbW92aW5nIHRoZSBzeW1saW5rIG9udG8gaXRzCiAgcmVmZXJlbnQs IHRoZXJlIGlzIG5vIHJpc2sgb2YgZGF0YSBsb3NzLCBzaW5jZSB0aGUgc3lt bGluayB3aWxsCiAgdHlwaWNhbGx5IHN0aWxsIHBvaW50IHRvIG9uZSBvZiB0 aGUgaGFyZCBsaW5rcy4KCiAgIm12IEEgQiIgY291bGQgc3VjY2VlZCwgeWV0 IEEgd291bGQgcmVtYWluLiAgVGhpcyB3b3VsZCBoYXBwZW4gb25seSB3aGVu CiAgYm90aCBBIGFuZCBCIHdlcmUgaGFyZCBsaW5rcyB0byB0aGUgc2FtZSBz eW1saW5rLCBhbmQgd2l0aCBhIGtlcm5lbCBmb3IKICB3aGljaCByZW5hbWUo IkEiLCJCIikgZG9lcyBub3RoaW5nIGFuZCByZXR1cm5zIDAgKFBPU0lYIG1h bmRhdGVzIHRoaXMKICBzdXJwcmlzaW5nIHJlbmFtZSBuby1vcCBiZWhhdmlv cikuICBOb3csIG12IGhhbmRsZXMgdGhpcyBjYXNlIGJ5IHNraXBwaW5nCiAg dGhlIHVzdWFsbHktdXNlbGVzcyByZW5hbWUgYW5kIHNpbXBseSB1bmxpbmtp bmcgQS4KCiAgcmVhbHBhdGggbm8gbG9uZ2VyIG1pc2hhbmRsZXMgYSByb290 IGRpcmVjdG9yeS4gIFRoaXMgd2FzIG1vc3QKICBub3RpY2VhYmxlIG9uIHBs YXRmb3JtcyB3aGVyZSAvLyBpcyBhIGRpZmZlcmVudCBkaXJlY3RvcnkgdGhh biAvLAogIGJ1dCBjb3VsZCBhbHNvIGJlIG9ic2VydmVkIHdpdGggLS1yZWxh dGl2ZS1iYXNlPS8gb3IKICAtLXJlbGF0aXZlLXRvPS8uICBbYnVnIHNpbmNl IHRoZSBiZWdpbm5pbmcsIGluIDguMTVdCgoqKiBJbXByb3ZlbWVudHMKCiAg bHMgY2FuIGJlIG11Y2ggbW9yZSBlZmZpY2llbnQsIGVzcGVjaWFsbHkgd2l0 aCBsYXJnZSBkaXJlY3RvcmllcyBvbiBmaWxlCiAgc3lzdGVtcyBmb3Igd2hp Y2ggZ2V0ZmlsZWNvbi0sIEFDTC1jaGVjay0gYW5kIFhBVFRSLWNoZWNrLWlu ZHVjZWQgc3lzY2FsbHMKICBmYWlsIHdpdGggRU5PVFNVUCBvciBzaW1pbGFy LgoKICAncmVhbHBhdGggLS1yZWxhdGl2ZS1iYXNlPWRpcicgaW4gaXNvbGF0 aW9uIG5vdyBpbXBsaWVzICctLXJlbGF0aXZlLXRvPWRpcicKICBpbnN0ZWFk IG9mIGNhdXNpbmcgYSB1c2FnZSBmYWlsdXJlLgoKICBzcGxpdCBub3cgc3Vw cG9ydHMgYW4gdW5saW1pdGVkIG51bWJlciBvZiBzcGxpdCBmaWxlcyBhcyBk ZWZhdWx0IGJlaGF2aW9yLgo= --------------030202000309020305090306-- --dpasLFt2TC5aOs6PBGfCuOIxQQ8FQNd7p Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-length: 539 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg iQEcBAEBCAAGBQJT3TwwAAoJEKeha0olJ0NqNeUH/jrkQrIAYyObVF2yyV4kiBPc 4BRO+vfexYJMclbv69S0wWPVpBX2pfjDJ5meyXpEJsvsBtoLclceBfAxc8MxRDeg dQf7647emVJC4kL4218z4ev7+fAwCDSZ/LWxEJs4ROczb8wZv8D0wK5MlQw6jxxl mI6ZVcHxCZbK4WIRPTrnh4HqZPFImXxg9o4MzPAtdqegebslO8ddaams8BVeZkOf 4+VYMdtZ8qNEBZLuwHdHMEKX1W2r1HoiUTgYeStEgLXaiamwVQtBHZgflQ4o7Qo3 IaVf3bajR5K/ErRMZZAR5XtSrjqB9D5E/GSuBduX7uR7FataNg+ijCfjMN0ikTc= =LI17 -----END PGP SIGNATURE----- --dpasLFt2TC5aOs6PBGfCuOIxQQ8FQNd7p--