From owner-freebsd-hackers@FreeBSD.ORG Wed Mar 18 06:29:36 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 388B21065673 for ; Wed, 18 Mar 2009 06:29:36 +0000 (UTC) (envelope-from grarpamp@gmail.com) Received: from mail-ew0-f176.google.com (mail-ew0-f176.google.com [209.85.219.176]) by mx1.freebsd.org (Postfix) with ESMTP id 6A01D8FC12 for ; Wed, 18 Mar 2009 06:29:35 +0000 (UTC) (envelope-from grarpamp@gmail.com) Received: by ewy24 with SMTP id 24so276461ewy.43 for ; Tue, 17 Mar 2009 23:29:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=ZnJLGNn5PArgnOSBntNTvjbXTSxb3AR0QT84Nt6lqHU=; b=p/TUGL3meOscXrMrZatyeVk7EP3AfvScJvDXUo+6eHBLOcVgfLdfhbxEN67/7WDF3U pTWJo7HpuVY+8c7A2qUA/7j5jA5C1V0TogVNjMkhJi4NjiVZGxkzFXBRhlnJLrWAVucw J9+xt2OfXRUr67h7rDxuPq7G1M2TlFHjzv/fY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=xRE4vrVZU+RpXDwkuI5UWzkW+TX38+AP6lYKe6/TC0+WsonButKD++RwIflcA9Xgzp /Szr0Xyu7jcM8bdzdUxhIjsYAOTFaenoTzbUJGELs5Zy6UbuhxDXob9BoLi2lZoyaynO HZxh8HXxMbqNloM0b72CpbotaoYscyppb9it0= MIME-Version: 1.0 Received: by 10.216.18.199 with SMTP id l49mr344963wel.23.1237356292934; Tue, 17 Mar 2009 23:04:52 -0700 (PDT) Date: Wed, 18 Mar 2009 02:04:52 -0400 Message-ID: From: grarpamp To: freebsd-fs@freebsd.org, freebsd-hackers@freebsd.org Content-Type: multipart/mixed; boundary=0016e64c2a484d0bb304655e769f X-Mailman-Approved-At: Wed, 18 Mar 2009 11:13:31 +0000 Cc: Subject: ZFS version list [was ETA for ZFS ver: n] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2009 06:29:36 -0000 --0016e64c2a484d0bb304655e769f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit ZFS version list [was ETA for ZFS ver: n] I needed raw, bit reliable, stable, encrypted storage. ZFS gave all but the last part so far. None of the features since v6 were useful to me. And as with most software, there are surely tons of fixes and optimizations being handled silently that are useful. Additions at or before v6 that were nifty: compression hot spares raidz2 ditto blocks sha256 - chained back to the uberblock thing Integrated crypto will be very useful, simply to eliminate that GEOM. Even if GBDE and GELI are cool :) Hopefully ZFS will include a strong 256 bit cipher along with other options. My guess is that it will be out from SUN midyear, before FBSD 8.0, and thus a potential for 8.0. The ZFS iSCSI bit might be cool. Putting things like that all under the ZFS hierarchy could be sickly entertaining :) If BSD chflags(2) schg, as on UFS, does or will work on ZFS, that's cool. See the Solaris chmod command. FBSD could very well have magically encrypted user homedirs that make use of some of the inherent ZFS [delegation, etc?] features. login could be hacked as could sshd or possibly pamify things. Haven't really thought about it other than Apple has it. Don't know about other BSD's. It is awesome that FBSD has ZFS! No matter what gets done when, thanks for all the work on it... past, present and on into future. Version list attached for people to reference... --0016e64c2a484d0bb304655e769f Content-Type: text/plain; charset=US-ASCII; name="zfs_ver_list.txt" Content-Disposition: attachment; filename="zfs_ver_list.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fsflywc8 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KaHR0cDovL29wZW5zb2xh cmlzLm9yZy9vcy9jb21tdW5pdHkvemZzL3ZlcnNpb24vPG4+Lwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgpaRlMgUG9vbCBWZXJzaW9uIDE0CgpUaGlzIHZlcnNpb24g aW5jbHVkZXMgc3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBmZWF0dXJlOgoKICAgICogcGFzc3Ro cm91Z2gteCBhY2xpbmhlcml0IHByb3BlcnR5IHN1cHBvcnQKClRoaXMgZmVhdHVyZSBpcyBhdmFp bGFibGUgaW46CgogICAgKiBTb2xhcmlzIEV4cHJlc3MgQ29tbXVuaXR5IEVkaXRpb24sIGJ1aWxk IDEwMwoKVGhlIHJlbGF0ZWQgYnVnIGFuZCBQU0FSQyBjYXNlIGZvciB0aGUgdmVyc2lvbiAxNCBj aGFuZ2UgYXJlOgoKICAgICogNjc2NTE2NiBOZWVkIHRvIHByb3ZpZGUgbWVjaGFuaXNtIHRvIG9w dGlvbmFsbHkgaW5oZXJpdAogICAgQUNFX0VYRUNVVEUKICAgICogUFNBUkMgMjAwOC82NTkgTmV3 IFpGUyAicGFzc3Rocm91Z2gteCIgQUNMIGluaGVyaXRhbmNlIHJ1bGVzCgo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpaRlMgUG9vbCBWZXJzaW9uIDEzCgpUaGlzIHZl cnNpb24gaW5jbHVkZXMgc3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKCiAgICAq IHVzZWRieXNuYXBzaG90cyBwcm9wZXJ0eQogICAgKiB1c2VkYnljaGlsZHJlbiBwcm9wZXJ0eQog ICAgKiB1c2VkYnlyZWZyZXNlcnZhdGlvbiBwcm9wZXJ0eQogICAgKiB1c2VkYnlkYXRhc2V0IHBy b3BlcnR5CgpUaGVzZSBmZWF0dXJlcyBhcmUgYXZhaWxhYmxlIGluOgoKICAgICogU29sYXJpcyBF eHByZXNzIENvbW11bml0eSBFZGl0aW9uLCBidWlsZCA5OAoKVGhlIHJlbGF0ZWQgYnVnIGFuZCBQ U0FSQyBjYXNlIGZvciB2ZXJzaW9uIDEzIGNoYW5nZSBpczoKCiAgICAqIDY3MzA3OTkgd2FudCBz bmFwdXNlZCBwcm9wZXJ0eQogICAgKiBQU0FSQyAyMDA4LzUxOCBaRlMgc3BhY2UgYWNjb3VudGlu ZyBlbmhhbmNlbWVudHMKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ClpGUyBQb29sIFZlcnNpb24gMTIKClRoaXMgdmVyc2lvbiBpbmNsdWRlcyBzdXBwb3J0IGZvciB0 aGUgZm9sbG93aW5nIGZlYXR1cmU6CgogICAgKiBQcm9wZXJ0aWVzIGZvciBTbmFwc2hvdHMKClRo aXMgZmVhdHVyZSBpcyBhdmFpbGFibGUgaW46CgogICAgKiBTb2xhcmlzIEV4cHJlc3MgQ29tbXVu aXR5IEVkaXRpb24sIGJ1aWxkIDk2CgpUaGUgcmVsYXRlZCBidWcgZm9yIHRoZSB2ZXJzaW9uIDEy IGNoYW5nZSBpczoKCiAgICAqIDY3MDE3OTcgd2FudCB1c2VyIHByb3BlcnRpZXMgb24gc25hcHNo b3RzCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpaRlMgUG9vbCBW ZXJzaW9uIDExCgpUaGlzIHZlcnNpb24gaW5jbHVkZXMgc3VwcG9ydCBmb3IgdGhlIGZvbGxvd2lu ZyBmZWF0dXJlOgoKICAgICogSW1wcm92ZWQgenBvb2wgc2NydWIgLyByZXNpbHZlciBwZXJmb3Jt YW5jZQoKVGhpcyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBpbjoKCiAgICAqIFNvbGFyaXMgRXhwcmVz cyBDb21tdW5pdHkgRWRpdGlvbiwgYnVpbGQgOTQKClRoZSByZWxhdGVkIGJ1ZyBmb3IgdGhlIHZl cnNpb24gMTEgY2hhbmdlIGlzOgoKICAgICogNjM0MzY2NyBzY3J1Yi9yZXNpbHZlciBoYXMgdG8g c3RhcnQgb3ZlciB3aGVuIGEgc25hcHNob3QgaXMKICAgIHRha2VuCiAgICAqIChOb3RlLCB0aGlz IGJ1ZyBpcyBmaXhlZCB3aGVuIHVzaW5nIGJ1aWxkIDk0IGV2ZW4gd2l0aCBvbGRlcgogICAgcG9v bCB2ZXJzaW9ucy4gSG93ZXZlciwgdXBncmFkaW5nIHRoZSBwb29sIGNhbiBpbXByb3ZlIHNjcnVi CiAgICBwZXJmb3JtYW5jZSB3aGVuIHRoZXJlIGFyZSBtYW55IGZpbGVzeXN0ZW1zLCBzbmFwc2hv dHMsIGFuZAogICAgY2xvbmVzLikKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KClpGUyBQb29sIFZlcnNpb24gMTAKClRoaXMgdmVyc2lvbiBpbmNsdWRlcyBzdXBwb3J0 IGZvciB0aGUgZm9sbG93aW5nIGZlYXR1cmU6CgogICAgKiBEZXZpY2VzIGNhbiBiZSBhZGRlZCB0 byBhIHN0b3JhZ2UgcG9vbCBhcyAiY2FjaGUgZGV2aWNlcy4iCiAgICBUaGVzZSBkZXZpY2VzIHBy b3ZpZGUgYW4gYWRkaXRpb25hbCBsYXllciBvZiBjYWNoaW5nIGJldHdlZW4KICAgIG1haW4gbWVt b3J5IGFuZCBkaXNrLiBVc2luZyBjYWNoZSBkZXZpY2VzIHByb3ZpZGVzIHRoZSBncmVhdGVzdAog ICAgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgZm9yIHJhbmRvbSByZWFkLXdvcmtsb2FkcyBvZiBt b3N0bHkKICAgIHN0YXRpYyBjb250ZW50LgoKVGhpcyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBpbiB0 aGUgU29sYXJpcyBFeHByZXNzIENvbW11bml0eSBFZGl0aW9uLApidWlsZCA3OC4KClRoZSBTb2xh cmlzIDEwIDEwLzA4IHJlbGVhc2UgaW5jbHVkZXMgWkZTIHBvb2wgdmVyc2lvbiAxMCwgYnV0CnN1 cHBvcnQgZm9yIGNhY2hlIGRldmljZXMgaXMgbm90IGluY2x1ZGVkIGluIHRoaXMgU29sYXJpcyBy ZWxlYXNlLgoKVGhlIHJlbGF0ZWQgYnVnIGZvciB0aGUgdmVyc2lvbiAxMCBjaGFuZ2UgaXM6Cgog ICAgKiA2NTM2MDU0IHNlY29uZCB0aWVyICgiZXh0ZXJuYWwiKSBBUkMKCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KClpGUyBQb29sIFZlcnNpb24gOQoKVGhpcyB2ZXJz aW9uIGluY2x1ZGVzIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CgogICAgKiBJ biBhZGRpdGlvbiB0byB0aGUgZXhpc3RpbmcgWkZTIHF1b3RhIGFuZCByZXNlcnZhdGlvbiBmZWF0 dXJlcywKICAgIHRoaXMgcmVsZWFzZSBpbmNsdWRlcyBkYXRhc2V0IHF1b3RhcyBhbmQgcmVzZXJ2 YXRpb25zIHRoYXQgZG8KICAgIG5vdCBpbmNsdWRlIGRlc2NlbmRlbnQgZGF0YXNldHMsIHN1Y2gg YXMgc25hcHNob3RzIGFuZCBjbG9uZXMsCiAgICBpbiB0aGUgc3BhY2UgY29uc3VtcHRpb24uICgi emZzIHNldCByZWZxdW90YSIgYW5kICJ6ZnMgc2V0CiAgICByZWZyZXNlcnZhdGlvbiIuKQoKICAg ICogQSByZXNlcnZhdGlvbiBpcyBhdXRvbWF0aWNhbGx5IHNldCB3aGVuIGEgbm9uLXNwYXJzZSBa RlMKICAgIHZvbHVtZSBpcyBjcmVhdGVkIHRoYXQgbWF0Y2hlcyB0aGUgc2l6ZSBvZiB0aGUgdm9s dW1lLiBUaGlzCiAgICByZWxlYXNlIHByb3ZpZGVzIGFuIGltbWVkaWF0ZSByZXNlcnZhdGlvbiBm ZWF0dXJlIHNvIHRoYXQgeW91CiAgICBzZXQgYSByZXNlcnZhdGlvbiBvbiBhIG5vbi1zcGFyc2Ug dm9sdW1lIHdpdGggZW5vdWdoIHNwYWNlIHRvCiAgICB0YWtlIHNuYXBzaG90cyBhbmQgbW9kaWZ5 IHRoZSBjb250ZW50cyBvZiB0aGUgdm9sdW1lLgoKICAgICogQ0lGUyBzZXJ2ZXIgc3VwcG9ydAoK VGhlc2UgZmVhdHVyZXMgYXJlIGF2YWlsYWJsZSBpbiBTb2xhcmlzIEV4cHJlc3MgQ29tbXVuaXR5 IEVkaXRpb24sCmJ1aWxkIDc3LgoKVGhlIHJlbGF0ZWQgYnVncyBmb3IgdmVyc2lvbiA5IGNoYW5n ZXMgYXJlOgoKICAgICogNjQzMTI3NyB3YW50IGZpbGVzeXN0ZW0tb25seSBxdW90YXMKICAgICog NjQ4MzY3NyBuZWVkIGltbWVkaWF0ZSByZXNlcnZhdGlvbgogICAgKiA2NjE3MTgzIENJRlMgU2Vy dmljZSAgUFNBUkMgMjAwNi83MTUKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KClpGUyBQb29sIFZlcnNpb24gOAoKVGhpcyB2ZXJzaW9uIG5vdyBzdXBwb3J0cyB0aGUg YWJpbGl0eSB0byBkZWxlZ2F0ZSB6ZnMoMU0pIGFkbWluaXN0cmF0aXZlCnRhc2tzIHRvIG9yZGlu YXJ5IHVzZXJzLgoKVGhpcyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBpbjoKCiAgICAqIFNvbGFyaXMg RXhwcmVzcyBDb21tdW5pdHkgRWRpdGlvbiwgYnVpbGQgNjkKICAgICogU29sYXJpcyAxMCAxMC8w OCByZWxlYXNlCgpUaGUgcmVsYXRlZCBidWcgZm9yIHRoZSB2ZXJzaW9uIDggY2hhbmdlIGlzOgoK ICAgICogNjM0OTQ3MCBpbnZlc3RpZ2F0ZSBub24tcm9vdCByZXN0b3JlL2JhY2t1cAoKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKWkZTIFBvb2wgVmVyc2lvbiA3CgpU aGlzIHZlcnNpb24gaW5jbHVkZXMgc3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBmZWF0dXJlOgoK VGhlIFpGUyBJbnRlbnQgTG9nIChaSUwpIHNhdGlzZmllcyB0aGUgbmVlZCBvZiBzb21lIGFwcGxp Y2F0aW9ucwp0byBrbm93IHRoZSBkYXRhIHRoZXkgY2hhbmdlZCBpcyBvbiBzdGFibGUgc3RvcmFn ZSBvbiByZXR1cm4gZnJvbQphIHN5c3RlbSBjYWxsLiBUaGUgSW50ZW50IExvZyBob2xkcyByZWNv cmRzIG9mIHRob3NlIHN5c3RlbSBjYWxscwphbmQgdGhleSBhcmUgcmVwbGF5ZWQgaWYgdGhlIHN5 c3RlbSBwb3dlciBmYWlscyBvciBwYW5pY3MgaWYgdGhleQpoYXZlIG5vdCBiZWVuIGNvbW1pdHRl ZCB0byB0aGUgbWFpbiBwb29sLiBXaGVuIHRoZSBJbnRlbnQgTG9nIGlzCmFsbG9jYXRlZCBmcm9t IHRoZSBtYWluIHBvb2wsIGl0IGFsbG9jYXRlcyBibG9ja3MgdGhhdCBjaGFpbiB0aHJvdWdoCnRo ZSBwb29sLiBUaGlzIHZlcnNpb24gYWRkcyB0aGUgY2FwYWJpbGl0eSB0byBzcGVjaWZ5IGEgc2Vw YXJhdGUKSW50ZW50IExvZyBkZXZpY2Ugb3IgZGV2aWNlcy4KClRoaXMgZmVhdHVyZSBpcyBhdmFp bGFibGUgaW46CgogICAgKiBTb2xhcmlzIEV4cHJlc3MgQ29tbXVuaXR5IEVkaXRpb24sIGJ1aWxk IDY4CiAgICAqIFNvbGFyaXMgMTAgMTAvMDggcmVsZWFzZQoKVGhlIHJlbGF0ZWQgYnVnIGZvciB0 aGUgdmVyc2lvbiA3IGNoYW5nZSBpczoKCiAgICAqIDYzMzk2NDAgTWFrZSBaSUwgdXNlIE5WUkFN IHdoZW4gYXZhaWxhYmxlLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKWkZTIFBvb2wgVmVyc2lvbiA2CgpUaGlzIHZlcnNpb24gaW5jbHVkZXMgc3VwcG9ydCBmb3Ig dGhlIGZvbGxvd2luZyBmZWF0dXJlOgoKICAgICogJ2Jvb3RmcycgcG9vbCBwcm9wZXJ0eQoKVGhp cyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBpbjoKCiAgICAqIFNvbGFyaXMgRXhwcmVzcyBDb21tdW5p dHkgRWRpdGlvbiwgYnVpbGQgNjIKICAgICogU29sYXJpcyAxMCAxMC8wOCByZWxlYXNlCgpUaGUg cmVsYXRlZCBidWdzIGZvciB2ZXJzaW9uIDYgY2hhbmdlcyBhcmUgYXMgZm9sbG93czoKCiAgICAq IDQ5Mjk4OTAgWkZTIEJvb3Qgc3VwcG9ydCBmb3IgdGhlIHg4NiBwbGF0Zm9ybQogICAgKiA2NDc5 ODA3IHBvb2xzIG5lZWQgcHJvcGVydGllcwoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQoKWkZTIFBvb2wgVmVyc2lvbiA1CgpUaGlzIHZlcnNpb24gaW5jbHVkZXMgc3Vw cG9ydCBmb3IgdGhlIGZvbGxvd2luZyBmZWF0dXJlOgoKICAgICogZ3ppcCBjb21wcmVzc2lvbiBm b3IgWkZTIGRhdGFzZXRzCgpUaGlzIGZlYXR1cmUgaXMgYXZhaWxhYmxlIGluOgoKICAgICogU29s YXJpcyBFeHByZXNzIENvbW11bml0eSBFZGl0aW9uLCBidWlsZCA2MgogICAgKiBTb2xhcmlzIDEw IDEwLzA4IHJlbGVhc2UKClRoZSByZWxhdGVkIGJ1ZyBmb3IgdGhlIHZlcnNpb24gNSBjaGFuZ2Vz IGlzOgoKICAgICogNjUzNjYwNiBnemlwIGNvbXByZXNzaW9uIGZvciBaRlMKCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClpGUyBQb29sIFZlcnNpb24gNAoKVGhpcyB2 ZXJzaW9uIGluY2x1ZGVzIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgZmVhdHVyZToKCiAgICAq IHpwb29sIGhpc3RvcnkKClRoaXMgZmVhdHVyZSBpcyBhdmFpbGFibGUgaW46CgogICAgKiBTb2xh cmlzIEV4cHJlc3MgQ29tbXVuaXR5IEVkaXRpb24sIGJ1aWxkIDYyCiAgICAqIFNvbGFyaXMgMTAg OC8wNyByZWxlYXNlCgpUaGUgcmVsYXRlZCBidWdzIGZvciB2ZXJzaW9uIDQgY2hhbmdlcyBhcmUg YXMgZm9sbG93czoKCiAgICAqIDY1Mjk0MDYgenBvb2wgaGlzdG9yeSBuZWVkcyB0byBidW1wIHRo ZSBvbi1kaXNrIHZlcnNpb24KICAgICogNjM0Mzc0MSB3YW50IHRvIHN0b3JlIGEgY29tbWFuZCBo aXN0b3J5IG9uIGRpc2sKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ClpGUyBQb29sIFZlcnNpb24gMwoKVGhpcyB2ZXJzaW9uIGluY2x1ZGVzIHN1cHBvcnQgZm9yIHRo ZSBmb2xsb3dpbmcgZmVhdHVyZXM6CgogICAgKiBIb3Qgc3BhcmVzCiAgICAqIERvdWJsZS1wYXJp dHkgUkFJRC1aIChyYWlkejIpCiAgICAqIEltcHJvdmVkIFJBSUQtWiBhY2NvdW50aW5nCgpUaGVz ZSBmZWF0dXJlcyBhcmUgYXZhaWxhYmxlIGluOgoKICAgICogU29sYXJpcyBFeHByZXNzIENvbW11 bml0eSBFZGl0aW9uLCBidWlsZCA0MgogICAgKiBTb2xhcmlzIDEwIDExLzA2IHJlbGVhc2UsIChi dWlsZCAzKQoKVGhlIHJlbGF0ZWQgYnVncyBmb3IgdmVyc2lvbiAzIGNoYW5nZXMgYXJlIGFzIGZv bGxvd3M6CgogICAgKiA2NDA1OTY2IEhvdCBTcGFyZSBzdXBwb3J0IGluIFpGUwogICAgKiA2NDE3 OTc4IGRvdWJsZSBwYXJpdHkgUkFJRC1aIGEuay5hLiBSQUlENgogICAgKiA2Mjg4NDg4IGR1IHJl cG9ydHMgbWlzbGVhZGluZyBzaXplIG9uIFJBSUQtWgoKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQoKWkZTIFBvb2wgVmVyc2lvbiAyCgpUaGlzIHZlcnNpb24gaW5jbHVk ZXMgc3VwcG9ydCBmb3IgIkRpdHRvIEJsb2NrcyIsIG9yIHJlcGxpY2F0ZWQKbWV0YWRhdGEuIER1 ZSB0byB0aGUgdHJlZS1saWtlIHN0cnVjdHVyZSBvZiB0aGUgWkZTIG9uLWRpc2sgZm9ybWF0LAph biB1bmNvcnJlY3RhYmxlIGVycm9yIGluIGEgbGVhZiBibG9jayBtYXkgYmUgcmVsYXRpdmVseSBi ZW5pZ24sCndoaWxlIGFuIHVuY29ycmVjdGFibGUgZXJyb3IgaW4gcG9vbCBtZXRhZGF0YSBjYW4g cmVzdWx0IGluIGFuCnVub3BlbmFibGUgcG9vbC4gVGhpcyBmZWF0dXJlIGludHJvZHVjZXMgYXV0 b21hdGljIHJlcGxpY2F0aW9uIG9mCm1ldGFkYXRhICh1cCB0byAzIGNvcGllcyBvZiBlYWNoIGJs b2NrKSBpbmRlcGVuZGVudCBvZiBhbnkgdW5kZXJseWluZwpwb29sLXdpZGUgcmVkdW5kYW5jeS4g Rm9yIGV4YW1wbGUsIG9uIGEgcG9vbCB3aXRoIGEgc2luZ2xlIG1pcnJvciwKdGhlIG1vc3QgY3Jp dGljYWwgbWV0YWRhdGEgd2lsbCBhcHBlYXIgdGhyZWUgdGltZXMgb24gZWFjaCBzaWRlIG9mCnRo ZSBtaXJyb3IsIGZvciBhIHRvdGFsIG9mIHNpeCBjb3BpZXMuIFRoaXMgZW5zdXJlcyB0aGF0IHdo aWxlIHVzZXIKZGF0YSBtYXkgYmUgbG9zdCBkdWUgdG8gY29ycnVwdGlvbiwgYWxsIGRhdGEgaW4g dGhlIHBvb2wgd2lsbCBiZQpkaXNjb3ZlcmFibGUgYW5kIHRoZSBwb29sIHdpbGwgc3RpbGwgYmUg dXNhYmxlLiBUaGlzIHdpbGwgYmUgZXhwYW5kZWQKaW4gdGhlIGZ1dHVyZSB0byBhbGxvdyB1c2Vy IGRhdGEgcmVwbGljYXRpb24gb24gYSBwZXItZGF0YXNldCBiYXNpcy4KClRoaXMgZmVhdHVyZSB3 YXMgaW50ZWdyYXRlZCBvbiA0LzEwLzA2IHdpdGggdGhlIGZvbGxvd2luZyBidWcgZml4OgoKNjQx MDY5OCBaRlMgbWV0YWRhdGEgbmVlZHMgdG8gYmUgbW9yZSBoaWdobHkgcmVwbGljYXRlZCAoZGl0 dG8gYmxvY2tzKQoKVGhpcyBmZWF0dXJlIGlzIGF2YWlsYWJsZSBpbjoKCiAgICAqIFNvbGFyaXMg RXhwcmVzcyBDb21tdW5pdHkgRWRpdGlvbiwgYnVpbGQgMzgKICAgICogU29sYXJpcyAxMCAxMC8w NiByZWxlYXNlIChidWlsZCAwOSkKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KClpGUyBQb29sIFZlcnNpb24gMQoKVGhpcyBpcyB0aGUgaW5pdGlhbCBaRlMgb24tZGlz ayBmb3JtYXQgYXMgaW50ZWdyYXRlZCBvbiAxMC8zMS8wNS4KRHVyaW5nIHRoZSBuZXh0IHNpeCBt b250aHMgb2YgaW50ZXJuYWwgdXNlLCB0aGVyZSB3ZXJlIGEgZmV3IG9uLWRpc2sKZm9ybWF0IGNo YW5nZXMgdGhhdCBkaWQgbm90IHJlc3VsdCBpbiBhIHZlcnNpb24gbnVtYmVyIGNoYW5nZSwgYnV0 CnJlc3VsdGVkIGluIGEgZmxhZyBkYXkgc2luY2UgZWFybGllciB2ZXJzaW9ucyBjb3VsZCBub3Qg cmVhZCB0aGUKbmV3ZXIgY2hhbmdlcy4gVGhlIGZpcnN0IG9mZmljaWFsIHJlbGVhc2VzIHN1cHBv cnRpbmcgdGhpcyB2ZXJzaW9uCmFyZToKCiAgICAqIFNvbGFyaXMgRXhwcmVzcyBDb21tdW5pdHkg RWRpdGlvbiwgYnVpbGQgMzYKICAgICogU29sYXJpcyAxMCA2LzA2IHJlbGVhc2UKCkVhcmxpZXIg cmVsZWFzZXMgbWF5IG5vdCBzdXBwb3J0IHRoaXMgdmVyc2lvbiwgZGVzcGl0ZSBiZWluZyBmb3Jt YXR0ZWQKd2l0aCB0aGUgc2FtZSBvbi1kaXNrIG51bWJlci4gVGhpcyBpcyBkdWUgdG86Cgo2Mzg5 MzY4IGZhdCB6YXAgc2hvdWxkIHVzZSAxNmsgYmxvY2tzICh3aXRoIGJhY2t3YXJkcyBjb21wYXRh YmlsaXR5KQo2MzkwNjc3IHZlcnNpb24gbnVtYmVyIGNoZWNraW5nIG1ha2VzIHVwZ3JhZGVzIGNo YWxsZW5naW5nCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cgo= --0016e64c2a484d0bb304655e769f--