Naming service specification, version 1.1 (incomplete)
"wiht" <[email protected]> Tue, 02 Sep 2003 01:56:51 -0500
| Newsgroups | gmane.comp.security.invisiblenet.iip.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------=_ModWebBOUNDARY_c1577840_1062485811 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Although version 1.1 of the NS specification is not complete, I am releasin= g it now rather than delaying it until I am finished. The missing section= s contain the description of how the client operates, some scenarios, and= most importantly details on the messages passed between naming servers a= nd clients. When I finish writing those sections, I will release the comp= leted version. I apologize for the delay. wiht --------=_ModWebBOUNDARY_c1577840_1062485811 Content-Type: text/plain; name="ns_spec_1_1.txt" Content-Transfer-Encoding: BASE64 Content-Disposition: attachment; filename="ns_spec_1_1.txt" U3BlY2lmaWNhdGlvbiBvZiB0aGUgTmFtaW5nIFNlcnZpY2UgZm9yIHRoZSBJMlAgTmV0d29yawoK VmVyc2lvbiAxLjEgKGluY29tcGxldGUpCldyaXR0ZW4gYnkgSUlQIHVzZXIgY28gKGFrYSB3aWh0 KQpTZXB0ZW1iZXIgMiwgMjAwMwoKQ29udGVudHMKLS0tLS0tLS0KMS4gSW50cm9kdWN0aW9uCjIu IFRlcm1pbm9sb2d5CjMuIFdobyBvcGVyYXRlcyBuYW1pbmcgc2VydmVycz8KNC4gTmFtaW5nIHNl cnZlciBzZXR1cAo1LiBJbmZvcm1hdGlvbiBwcm92aWRlZCBieSBuYW1pbmcgc2VydmljZSB0byBj bGllbnRzCjYuIFN0b3JhZ2Ugb2YgZW50aXR5IGluZm9ybWF0aW9uIGJ5IG5hbWluZyBzZXJ2ZXJz CjcuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IChDQSkKOC4gQ2xpZW50IHNvZnR3YXJlIGZvciBu YW1pbmcgc2VydmljZQo5LiBTY2VuYXJpb3MKICAgYSkgQ2xpZW50IGFkZHMgYW4gZW50aXR5IHJl Y29yZCB0byBhIG5hbWluZyBzZXJ2ZXIKICAgYikgQ2xpZW50IGNoYW5nZXMgaXRzIGVudHJ5IG9u IGEgbmFtaW5nIHNlcnZlcgogICBjKSBOYW1pbmcgc2VydmVyIGpvaW5zIG5ldHdvcmsKICAgZCkg TmFtaW5nIHNlcnZlciBiZWNvbWVzIHVuYXZhaWxhYmxlIG9yIGxlYXZlcyBuZXR3b3JrCjEwLiBE YXRhIHN0cnVjdHVyZXMKMTEuIE1lc3NhZ2UgdHlwZXMgYW5kIHN0cnVjdHVyZXMKMTIuIENvbmNs dXNpb24KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoKMS4gSW50cm9kdWN0aW9uCgpDb21tdW5p Y2F0aW9uIGJldHdlZW4gdHdvIGRlc3RpbmF0aW9ucyBvbiB0aGUgSTJQIG5ldHdvcmsgY2FuIG9j Y3VyIG9ubHkgaWYKb25lIGRlc3RpbmF0aW9uIGtub3dzIGhvdyB0byBjb250YWN0IHRoZSBvdGhl ci4gSW4gb3RoZXIgd29yZHMsIHRoZSBzZW5kaW5nIApkZXN0aW5hdGlvbiBtdXN0IGtub3cgdGhl IGNvbnRhY3QgaW5mb3JtYXRpb24gb2YgdGhlIHJlY2VpdmluZyBkZXN0aW5hdGlvbiB0bwpjb21t dW5pY2F0ZS4gVGhpcyBpbmZvcm1hdGlvbiBoYXMgdG8gYmUgZ2l2ZW4gdG8gdGhlIHNlbmRpbmcg ZGVzdGluYXRpb24gYmVmb3JlCmNvbW11bmljYXRpb24gY2FuIG9jY3VyLiBXaGF0IGlmIHRoZSBk ZXN0aW5hdGlvbiB0byB3aGljaCB0byBzZW5kIGRhdGEgaXMgbm90Cmtub3duLCBidXQgYSB1c2Vy IG9mIHRoZSBJMlAgbmV0d29yayBrbm93cyB0aGF0IGhlIG9yIHNoZSB3YW50cyB0byBjb250YWN0 IGEKY2VydGFpbiBwZXJzb24gYW5kIGVzdGFibGlzaCBhbiBpbnN0YW50IG1lc3NhZ2luZyBzZXNz aW9uPwoKVGhlIG5hbWluZyBzZXJ2aWNlIGFwcGxpY2F0aW9uIChhYmJyZXZpYXRlZCBOUyksIHJ1 bm5pbmcgb3ZlciB0aGUgSTJQIG5ldHdvcmssCnNvbHZlcyB0aGlzIHByb2JsZW0uIElmIHVzZXIg WCB3YW50cyB0byBzcGVhayB3aXRoIHVzZXIgWSB2aWEgSW5zdGFudCBNZXNzZW5nZXIsCnVzZXIg WCdzIElNIGNsaWVudCB1c2VzIG5hbWluZyBzZXJ2aWNlIGNsaWVudCBzb2Z0d2FyZSAoZGVzY3Jp YmVkIGluIHNlY3Rpb24gOApvZiB0aGlzIHNwZWNpZmljYXRpb24pIHRvIGxvb2sgdXAgdXNlciBZ IHVzaW5nIGEga25vd24gbmFtZSBzZXJ2ZXIgYW5kIG9idGFpbgp1c2VyIFkncyBjb250YWN0IGlu Zm9ybWF0aW9uLiBJZiB1c2VyIFkgZG9lcyBub3QgaGF2ZSBJTSBjYXBhYmlsaXR5LCB0aGUgTlMK d2lsbCBpbmZvcm0gdXNlciBYIG9mIHRoaXMgZmFjdC4gVXNlcnMgKG9yIGVudGl0aWVzLCBhcyB0 aGV5IGFyZSBjYWxsZWQgaW4gdGhpcwpkb2N1bWVudCkgd2hvIHdhbnQgdG8gc2ltcGxpZnkgYmVp bmcgY29udGFjdGVkIGJ5IG90aGVycyBjYW4gb3B0aW9uYWxseSByZWdpc3Rlcgp3aXRoIGEgbmFt ZSBzZXJ2ZXIsIHdoaWNoIG90aGVycyBjYW4gdGhlbiB1c2UgdG8gbG9vayB0aGVtIHVwLiBOb3cs IGluc3RlYWQgb2YKaGF2aW5nIHRvIHR5cGUgaW4gdXNlciBZJ3MgZGVzdGluYXRpb24sIHVzZXIg WCB3aWxsIGJlIGFibGUgdG8gdHlwZSBzaW1wbHkKImltLnVzZXIgWSIgYXMgdGhlIGRlc3RpbmF0 aW9uIHRvIGNvbm5lY3QgdG8uCgpUaGUgbmFtaW5nIHNlcnZpY2UsIGFzIHNwZWNpZmllZCBiZWxv dywgaGFzIHNldmVyYWwgY2FwYWJpbGl0aWVzLiBFbnRpdGllcwpjYW4gcmVnaXN0ZXIgd2l0aCBp dCwgYWRkIHNlcnZpY2VzIHRoZXkgcHJvdmlkZSB0byB0aGVpciByZWNvcmRzLCBhbmQgbW9kaWZ5 Cm9yIGRlbGV0ZSB0aGVzZSByZWNvcmRzLiBSZWNvcmRzIGFyZSBzaWduZWQgd2l0aCB0aGUgZW50 aXR5J3MgcHVibGljIGtleSBzbwp0aGF0IG9ubHkgdGhlIGVudGl0eSBlc3RhYmxpc2hpbmcgdGhl IHJlY29yZCBpcyBhYmxlIHRvIG1vZGlmeSBpdC4gVGhlIGVudGl0eQppcyByZXNwb25zaWJsZSBm b3IgdXBkYXRpbmcgdGhlIHJlY29yZCBpZiB0aGUgcmVjb3JkIGNoYW5nZXMuIE90aGVyIGVudGl0 aWVzCmNhbiBzZWFyY2ggZm9yIHRoYXQgZW50aXR5J3MgcmVjb3JkIGFuZCB0aGUgc2VydmljZXMg aXQgcHJvdmlkZXMuCgpUaGlzIHZlcnNpb24gb2YgdGhlIG5hbWluZyBzZXJ2aWNlIHNwZWNpZmlj YXRpb24gdHJpZXMgdG8gYWRkcmVzcyB0aGUgd2Vha25lc3NlcwpvZiB0aGUgcHJldmlvdXMgdmVy c2lvbi4gVGhlIG5hbWluZyBzZXJ2aWNlIGFzIHByZXZpb3VzbHkgZGVzY3JpYmVkIGNhbiBiZQph dHRhY2tlZCBpbiBzZXZlcmFsIHdheXMsIHN1Y2ggYXMgYnkgYWRkaW5nIG1hbnkgbmV3IG5hbWlu ZyBzZXJ2ZXJzIHRvIHRoZQpuZXR3b3JrIGF0IG9uY2UuIFRoaXMgaW5jcmVhc2VzIHRoZSBsb2Fk IG9uIGV4aXN0aW5nIG5hbWluZyBzZXJ2ZXJzIHRvIGEgZ3JlYXQKZGVncmVlLCBkZW55aW5nIHNl cnZpY2UgdG8gY2xpZW50cy4gVGhpcyB2ZXJzaW9uIG9mIHRoZSBzcGVjaWZpY2F0aW9uIGFsc28K YWRkcmVzc2VzIG9taXNzaW9ucyBhbmQgdW5jbGVhciB3b3JkaW5nIGluIHRoZSBwcmV2aW91cyB2 ZXJzaW9uLiBUaGUgZ29hbCBvZgp0aGlzIHZlcnNpb24gb2YgdGhlIHNwZWNpZmljYXRpb24gaXMg dG8gbWFrZSBpdCBwb3NzaWJsZSB0byBpbXBsZW1lbnQgdGhlCm5hbWluZyBzZXJ2aWNlIHNvZnR3 YXJlLgoKCjIuIFRlcm1pbm9sb2d5CgpUaGlzIHNlY3Rpb24gZGVmaW5lcyB0aGUgd29yZHMgYW5k IGV4cHJlc3Npb25zIG5lZWRlZCB0byB1bmRlcnN0YW5kIHRoaXMKZG9jdW1lbnQuIFNvbWUgb2Yg dGhlIGRlZmluaXRpb25zIGJlbG93IGFyZSBzcGVjaWZpYyB0byB0aGUgbmFtaW5nIHNlcnZpY2Us CmFuZCBvdGhlcnMgYXJlIGdlbmVyYWwgZGVmaW5pdGlvbnMuIFRoZSB3b3JkcyBhbmQgZXhwcmVz c2lvbnMgYXBwZWFyIGVsc2V3aGVyZQppbiB0aGlzIGRvY3VtZW50OyB0aGlzIHNlY3Rpb24gY2xh cmlmaWVzIHRoZWlyIG1lYW5pbmcuCgpJMlAgbmV0d29yayAtLSBhcyBwcm9wb3NlZCBieSBqcmFu ZDBtLCB0aGlzIGlzIHRoZSBuZXR3b3JrIG9mIGNvbXB1dGVycyBvbiB0b3AKb2YgdGhlIGV4aXN0 aW5nIEludGVybmV0IG5ldHdvcmsuIENvbW11bmljYXRpb24gb2NjdXJzIGJ5IHNlbmRpbmcgbWVz c2FnZXMKYmV0d2VlbiBwYXJ0aWNpcGF0aW5nIGNvbXB1dGVycyBydW5uaW5nIHNwZWNpYWwgc29m dHdhcmUuCgpkZXN0aW5hdGlvbiAtLSBhIG5vZGUgaW4gdGhlIEkyUCBuZXR3b3JrIHRoYXQgc2Vu ZHMgb3IgcmVjZWl2ZXMgbWVzc2FnZXMsIGJ1dApkb2VzIG5vdCBmb3J3YXJkIHRoZW0gZm9yIG90 aGVyIG5vZGVzLiBJdCBpcyB0aGUgc3RhcnRpbmcgb3IgZmluaXNoaW5nIHBvaW50IG9mCnRoZSBw YXRoIGFsb25nIHdoaWNoIGEgbWVzc2FnZSBpcyBzZW50LgoKdXNlciAtLSB0aGUgYWdlbnQgKHVz dWFsbHkgaHVtYW4gYmVpbmcpIHVzaW5nIHRoZSBJMlAgbmV0d29yayBvciB0aGUgbmFtaW5nCnNl cnZpY2UgdG8gcmV0cmlldmUgaW5mb3JtYXRpb24gb3IgY29udGFjdCBvdGhlciB1c2Vycy4KCm5h bWluZyBzZXJ2ZXIgLS0gdGhlIGRlc3RpbmF0aW9uIHVzZXJzIHNlbmQgbWVzc2FnZXMgdG87IGl0 IHJ1bnMgdGhlIG5hbWluZwpzZXJ2aWNlIHNvZnR3YXJlLgoKbmFtaW5nIHNlcnZpY2UgLS0gdGhl IHNvZnR3YXJlIGFsbG93aW5nIHVzZXJzIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0Cm90 aGVyIHVzZXJzLiBUaGlzIHNvZnR3YXJlIHJlc3BvbmRzIHRvIHRoZSBtZXNzYWdlcyBzZW50IHRv IHRoZSBuYW1pbmcgc2VydmVyLgoKbmFtaW5nIHNlcnZlciBncm91cCAtLSBhIGdyb3VwIG9mIG5h bWluZyBzZXJ2ZXJzIHNoYXJpbmcgdGhlIHNhbWUgQ0EuCgpDQSAoY2VydGlmaWNhdGUgYXV0aG9y aXR5KSAtLSByb2xlIG9mIHRoZSBuYW1pbmcgc2VydmljZSwgcmVzcG9uc2libGUgZm9yIHRoZQpy ZWdpc3RyYXRpb24gb2YgZW50aXR5IG5hbWVzLgoKZW50aXR5IC0tIGludGVybmFsIHJlcHJlc2Vu dGF0aW9uIG9mIGEgdXNlcidzIGluZm9ybWF0aW9uIGJ5IHRoZSBuYW1pbmcgc2VydmljZS4KCmVu dGl0eSBuYW1lIC0tIGEgbmFtZSBvZiAxLTIwIGNoYXJhY3RlcnMgbG9uZywgY29udGFpbmluZyBs ZXR0ZXJzLCBudW1iZXJzLApzcGFjZXMsIGFuZCB1bmRlcnNjb3Jlcy4gSXQgbWF5IG5vdCBiZWdp biB3aXRoIGEgc3BhY2UuIEFuIGV4YW1wbGUgaXMgInVzZXJfeCIuClRoaXMgaXMgdGhlIHdheSB0 byBpZGVudGlmeSBhbmQgbG9vayB1cCBhIHVzZXIncyByZWNvcmQgd2l0aCB0aGUgbmFtaW5nIHNl cnZpY2UuCgplbnRpdHkgcmVjb3JkIC0tIGNvbnRhaW5zIHRoZSBlbnRpdHkgbmFtZSBhbmQgYSBs aXN0IG9mIHNlcnZpY2VzIHRoZSB1c2VyCnByb3ZpZGVzLiBUaGlzIGlzIHB1YmxpYyBpbmZvcm1h dGlvbiwgYXZhaWxhYmxlIHRvIGFueW9uZSB3aG8gc2Vla3MgaXQuCgpzZXJ2aWNlIC0tIGEgbWV0 aG9kIG9mIGNvbnRhY3QgYSB1c2VyIHByb3ZpZGVzIHRvIG90aGVyIHVzZXJzLiBGb3IgZXhhbXBs ZSwKaW5zdGFudCBtZXNzYWdpbmcgYW5kIElSQyBhcmUgc2VydmljZXMuCgpjbGllbnQgLS0gdGhl IHNvZnR3YXJlIHVzZXJzIHJ1biB0byBjb21tdW5pY2F0ZSB3aXRoIG5hbWluZyBzZXJ2ZXJzLiBJ dCBpcwplYXNpZXIgdG8gcnVuIHRoaXMgc29mdHdhcmUgdGhhbiB0byBjcmFmdCBtZXNzYWdlcyB0 byB0aGUgbmFtaW5nIHNlcnZpY2UKbWFudWFsbHkuCgpEZW5pYWwgb2YgU2VydmljZSAoRE9TKSBh dHRhY2sgLS0gbWFraW5nIG1hbnkgcXVlcmllcyB0byBhIGdpdmVuIHNlcnZlciBhdAp0aGUgc2Ft ZSB0aW1lLCB3aXRoIHRoZSBwdXJwb3NlIG9mIG1ha2luZyB0aGUgc2VydmVyJ3MgcmVzb3VyY2Vz IHVuYXZhaWxhYmxlCnRvIG90aGVyIHVzZXJzLgoKcmVwbGF5IGF0dGFjayAtLSByZS1zZW5kaW5n IG1lc3NhZ2VzIGEgdXNlciBzZW50IGF0IGFuIGVhcmxpZXIgdGltZSB0byB0aGUKc2VydmVyLCB3 aXRoIHRoZSBwdXJwb3NlIG9mIGFwcGVhcmluZyB0byBiZSB0aGF0IHVzZXIuCgpvcGVyYXRvciAt LSB0aGUgaHVtYW4gYmVpbmcgcnVubmluZyB0aGUgbmFtaW5nIHNlcnZpY2Ugc29mdHdhcmUgb24g aGlzIG9yIGhlcgpjb21wdXRlciBhbmQgbWFraW5nIHRoZSBuYW1pbmcgc2VydmVyIGF2YWlsYWJs ZSB0byB0aGUgcHVibGljLgoKYXV0aG9yaXRhdGl2ZSBzZXJ2ZXIgLS0gcm9sZSBvZiB0aGUgbmFt aW5nIHNlcnZpY2UsIHN0b3JlcyBtYXN0ZXIgcmVjb3JkcyBmb3IKZW50aXRpZXMsIGFuZCBnaXZl cyBhdXRob3JpdGF0aXZlIHJlc3BvbnNlcyBmb3IgcXVlcmllcyBhYm91dCBhbiBlbnRpdHkuCgpi YWNrdXAgc2VydmVyIC0tIHJvbGUgb2YgdGhlIG5hbWluZyBzZXJ2aWNlLCBzdG9yZXMgYmFja3Vw IHJlY29yZHMgZm9yCmVudGl0aWVzLCBhbmQgYWxzbyBnaXZlcyByZXNwb25zZXMgZm9yIHF1ZXJp ZXMgYWJvdXQgYW4gZW50aXR5LgoKCjMuIFdobyBvcGVyYXRlcyBuYW1pbmcgc2VydmVycz8KClRo ZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBhbGxvd2VkIGFueW9uZSB0 byBydW4gdGhlIG5hbWluZwpzZXJ2aWNlIHNvZnR3YXJlLiBNYWxpY2lvdXMgdXNlcnMgb2YgdGhl IEkyUCBuZXR3b3JrIGNvdWxkIHRoZW4gYWRkIG11bHRpcGxlCnNlcnZlcnMgdG8gdGhlIGdyb3Vw IG9mIG5hbWluZyBzZXJ2ZXJzIGF0IG9uY2UgYW5kIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UK dG8gdXNlcnMgYXMgdGhlIG5ldyBuYW1pbmcgc2VydmVycyB3ZXJlIGFkZGVkLiBUaGF0IGlzIHdo eSB0aGUgcG9saWN5IGZvciBhZGRpbmcKYSBuYW1pbmcgc2VydmVyIHRvIGEgZ3JvdXAgb2YgbmFt aW5nIHNlcnZlcnMgaXMgYmVpbmcgbWFkZSBtb3JlIHJlc3RyaWN0aXZlLgoKQW55b25lIHdobyB3 aXNoZXMgdG8gcnVuIHRoZSBuYW1pbmcgc2VydmljZSBzb2Z0d2FyZSBtYXkgZG8gc28sIGVpdGhl ciBhbG9uZSBvcgphcyBwYXJ0IG9mIGEgZ3JvdXAuIFR5cGljYWxseSwgYSBuYW1pbmcgc2VydmVy IHdpbGwgYmUgYSBtZW1iZXIgb2YgYSBncm91cCBvZgpuYW1pbmcgc2VydmVycy4gSXQgaXMgcG9z c2libGUgdG8gaGF2ZSBhIGdyb3VwIHdpdGggYSBzaW5nbGUgc2VydmVyLCBidXQgdGhpcwpkb2N1 bWVudCBkZXNjcmliZXMgdGhlIG1vcmUgY29tbW9uIHNjZW5hcmlvIHdpdGggbXVsdGlwbGUgc2Vy dmVycyBpbiBhIGdyb3VwLgpNeSB2aXNpb24gaXMgdGhhdCB0aGVyZSB3aWxsIGJlIG11bHRpcGxl IGdyb3VwcyBvZiBuYW1pbmcgc2VydmVycyBydW5uaW5nIGF0CnRoZSBzYW1lIHRpbWUgb24gdGhl IEkyUCBuZXR3b3JrLiBBdCB0aGlzIHRpbWUsIG5vIHByb3Zpc2lvbiBpcyBiZWluZyBtYWRlIGZv cgpncm91cHMnIGpvaW5pbmcgdG9nZXRoZXIgdG8gZm9ybSBhIGxhcmdlciBncm91cCBvciBmb3Ig aGllcmFyY2hpZXMgb2YgZ3JvdXBzLgoKVGhlIGFkdmFudGFnZXMgb2YgaGF2aW5nIGEgZ3JvdXAg b2Ygc2VydmVycyBhcmUgcmVkdW5kYW5jeSAoaGF2aW5nIGJhY2t1cApzZXJ2ZXJzIGlmIGEgbmFt aW5nIHNlcnZlciBmYWlscykgYW5kIGRpc3RyaWJ1dGluZyB0aGUgc3RvcmFnZSBvZiBlbnRpdHkK aW5mb3JtYXRpb24uIFNpbmNlIGFuIGVudGl0eSByZWNvcmQgY2FuIGJlIGFzIGxhcmdlIGFzIHNl dmVyYWwga2lsb2J5dGVzLCBhCnNpbmdsZSBuYW1pbmcgc2VydmVyIG1pZ2h0IG5vdCBiZSBhYmxl IHRvIHN0b3JlIGluZm9ybWF0aW9uIGZvciBhbGwgdGhlCmVudGl0aWVzIHRoYXQgd2FudCB0byBy ZWdpc3RlciB3aXRoIGl0LiBHcm91cHMgb2Ygc2VydmVycyBhbHNvIHNoYXJlIGEgc2luZ2xlCkNB IChzZWUgZGVmaW5pdGlvbiBhYm92ZSksIHdoaWNoIHJlZ2lzdGVycyBlbnRpdHkgbmFtZXMgZm9y IHRoZSB3aG9sZSBncm91cC4KCkFueW9uZSB3aG8gd2lzaGVzIHRvIHJ1biBhIG5hbWluZyBzZXJ2 aWNlIHNob3VsZCBtYWtlIGEgY29tbWl0bWVudCB0byBkbyBzby4gQQpjb21wdXRlciBydW5uaW5n IHRoZSBOUyBzb2Z0d2FyZSBzaG91bGQgaGF2ZSBhIGZhaXJseSBzdGFibGUgYW5kIGZhc3QgKGku ZS4KZmFzdGVyIHRoYW4gbW9kZW0pIGNvbm5lY3Rpb24gdG8gdGhlIEludGVybmV0LiBBbHNvLCB0 aGUgcGVyc29uIHJ1bm5pbmcgdGhlIE5TCnNvZnR3YXJlIHNob3VsZCBjb21taXQgYXQgbGVhc3Qg NiBtZWdhYnl0ZXMgb2YgaGFyZCBkaXNrIHNwYWNlIHRvIHN0b3JpbmcgZW50aXR5CnJlY29yZHMu IFRoZSBwZXJzb24gcnVubmluZyB0aGUgTlMgc29mdHdhcmUgc2hvdWxkIGFsc28gYmUgY29udGFj dGFibGUgYnkgZS1tYWlsCm9yIG90aGVyIG1lYW5zLgoKV2hlbiBhIG5hbWluZyBzZXJ2ZXIgd2lz aGVzIHRvIGpvaW4gYSBncm91cCBvZiBuYW1pbmcgc2VydmVycywgaXRzIG9wZXJhdG9yCmNvbnRh Y3RzIHRoZSBvcGVyYXRvciBvZiBvbmUgb2YgdGhlIHNlcnZlcnMgYWxyZWFkeSBpbiB0aGUgZ3Jv dXAuIFRoZSBncm91cAptZW1iZXJzIHRoZW4gZGlzY3VzcyB0aGUgcmVxdWVzdCwgYW5kIGFwcHJv dmUgb3IgcmVqZWN0IGl0LiBJIHN1Z2dlc3QgYSBwb2xpY3kKb2YgZG9pbmcgc28gdW5hbmltb3Vz bHksIGJ1dCB0aGlzIGNhbiBiZSBkb25lIGJ5IG1ham9yaXR5IG9mIHRoZSBtZW1iZXJzIG9mCnRo ZSBncm91cC4gVGhlIGdyb3VwJ3Mgb3BlcmF0b3JzIHdpbGwgc2V0IHRoZSBwb2xpY3kgZm9yIGpv aW5pbmcgdGhlIGdyb3VwLiBUaGUKaHVtYW4gbW9kZXJhdGlvbiBvZiB0aGUgYWRkaXRpb25zIHRv IGEgZ3JvdXAgb2Ygc2VydmVycyBzaG91bGQgbWFrZSBpdCBoYXJkZXIKZm9yIG1hbGljaW91cyBv cGVyYXRvcnMgdG8gam9pbiBhIGdyb3VwLiBNZW1iZXJzIG9mIGEgZ3JvdXAgY2FuIGFsc28gZXhw ZWwgb25lCm9mIHRoZSBtZW1iZXJzIGZyb20gdGhlIGdyb3VwLCBhbmQgYWdhaW4gSSBzdWdnZXN0 IHRoZXkgZG8gc28gdW5hbmltb3VzbHkuCgoKNC4gTmFtaW5nIHNlcnZlciBzZXR1cAoKSW5zdGVh ZCBvZiBlZGl0aW5nIGEgY29uZmlndXJhdGlvbiBmaWxlIHRoZSBwZXJzb24gd2lzaGluZyB0byBy dW4gYSBuYW1pbmcKc2VydmVyIHdpbGwgcnVuIGEgcHJvZ3JhbSBjYWxsZWQgIm5zc2V0dXAiLiBJ dCB3aWxsIGNyZWF0ZSB0aGUgY29uZmlndXJhdGlvbgpmaWxlIGFuZCBmaWxsIGl0IHdpdGggYXBw cm9wcmlhdGUgc2V0dGluZ3MuIEl0IHdpbGwgYWxzbyBjcmVhdGUgdGhlIGRpcmVjdG9yeQpzdHJ1 Y3R1cmUgbmVlZGVkIHRvIHN0b3JlIGVudGl0eSByZWNvcmRzIG9uIHRoZSBuYW1pbmcgc2VydmVy LiBUaGUgcHJvZ3JhbSBpcwphbHNvIHJ1biB3aGVuIGpvaW5pbmcgb3IgbGVhdmluZyBhIGdyb3Vw IG9mIG5hbWluZyBzZXJ2ZXJzLgoKVGhlIGZpcnN0IHBhcnQgb2YgdGhlIHNldHVwIGlzIHRvIGVz dGFibGlzaCBhIGRlc3RpbmF0aW9uIGFuZCBwdWJsaXNoIGl0cyBsZWFzZQpvbiB0aGUgSTJQIG5l dHdvcmsuIEFzc3VtaW5nIHRoZSBuYW1pbmcgc2VydmljZSBvcGVyYXRvciBhbHNvIGFkbWluaXN0 ZXJzIGFuCkkyUCByb3V0ZXIsIHRoZSByb3V0ZXIgbmVlZHMgdG8gYmUgc2V0IHVwIGZpcnN0LiBU aGVuLCB0aGUgbnNzZXR1cCBwcm9ncmFtCmNyZWF0ZXMgYSBkZXN0aW5hdGlvbiAoZ2VuZXJhdGlu ZyB0aGUgcHVibGljIGFuZCBzaWduaW5nIGtleXMgYW5kIHRha2luZyB0aGUKb3RoZXIgc3RlcHMg bmVjZXNzYXJ5KSBhbmQgcHVibGlzaGVzIGEgZGVzdGluYXRpb24gbGVhc2Ugd2l0aCB0aGUgcm91 dGVyLiBJdAphbHNvIGFza3MgdGhlIG9wZXJhdG9yIGhvdyBtdWNoIGhhcmQgZGlzayBzcGFjZSB0 byBtYWtlIGF2YWlsYWJsZSB0byB0aGUgbmFtaW5nCnNlcnZpY2UsIGFuZCB0aGUgbWluaW11bSBh bmQgbWF4aW11bSBzaXplIG9mIHRoZSBxdWV1ZSBmb3IgdXNlciByZXF1ZXN0cy4gQWZ0ZXIKdGhp cyBzdGVwLCBzZXR0aW5ncyBhcmUgc2F2ZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSwgYW5k IHRoZSBuYW1pbmcgc2VydmVyCmlzIGF2YWlsYWJsZSB0byBzZXJ2ZSByZXF1ZXN0cyBmcm9tIGNs aWVudHMuCgpUaGUgc2Vjb25kIHBhcnQgb2YgdGhlIHNldHVwIGlzIG1ha2luZyB0aGUgc2VydmVy IGF2YWlsYWJsZSB0byBjbGllbnRzLiBUaGUKb3BlcmF0b3Igc2hvdWxkIGVpdGhlciBvcGVyYXRl IHRoZSBuYW1pbmcgc2VydmVyIGFsb25lIG9yIGpvaW4gYSBncm91cCBvZgpuYW1pbmcgc2VydmVy cy4gVGhlIG5zc2V0dXAgcHJvZ3JhbSB3aWxsIHByZXNlbnQgdGhlIG9wZXJhdG9yIG9mIGEgbmFt aW5nCnNlcnZlciB3aXRoIHRoaXMgY2hvaWNlLiBJZiB0aGUgb3BlcmF0b3IgY2hvb3NlcyBub3Qg dG8gam9pbiBhIGdyb3VwLCB0aGVyZSBpcwphbm90aGVyIGNob2ljZSB0byBiZSBtYWRlLCB3aGV0 aGVyIHRvIHBlcm1pdCBvdGhlcnMgdG8gam9pbiB0aGUgZ3JvdXAuIElmIHRoZQpvcGVyYXRvciBh bGxvd3MgdGhpcywgaGlzIG9yIGhlciBjb250YWN0IGluZm9ybWF0aW9uIHdpbGwgYmUgYXNrZWQg YnkgbnNzZXR1cCwKdG8gZ2l2ZSB0byB0aG9zZSB3aXNoaW5nIHRvIGpvaW4gdGhlIGdyb3VwLiBB ZnRlciB0aGlzLCBuc3NldHVwIGV4aXRzLCBhbmQgdGhlCm9wZXJhdG9yIGNhbiBzdGFydCB0aGUg bmFtaW5nIHNlcnZpY2Ugc29mdHdhcmUgKGNhbGxlZCBzaW1wbHkgIm5zIikuIFRoZQpvcGVyYXRv ciBpcyB0aGVuIHJlc3BvbnNpYmxlIGZvciBhbm5vdW5jaW5nIHRoaXMgbmFtaW5nIHNlcnZlcidz IGF2YWlsYWJpbGl0eQp0byBvdGhlciB1c2VycyBvZiB0aGUgSTJQIG5ldHdvcmsuCgpXaGVuIGpv aW5pbmcgYSBncm91cCwgdGhlIHNldHVwIHByb2dyYW0gYmVoYXZlcyBkaWZmZXJlbnRseS4gSXQg cHJvbXB0cyB0aGUKb3BlcmF0b3IgdG8gZW50ZXIgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gZm9y IGEgc2VydmVyIGluIHRoZSBncm91cCB0byBqb2luLiBJdAp0aGVuIHF1ZXJpZXMgdGhhdCBzZXJ2 ZXIgZm9yIHRoZSBncm91cCdzIGNvbnRhY3QgaW5mb3JtYXRpb24gKGUtbWFpbCBvciBvdGhlcgpt ZWFucywgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwZXJzb24gY3JlYXRpbmcgdGhlIGdyb3VwKS4gVGhl IHNldHVwIHByb2dyYW0KcmVjZWl2ZXMgYW5kIGRpc3BsYXlzIHRoaXMgaW5mb3JtYXRpb24sIHRo ZW4gZXhpdHMuIE5leHQsIHRoZSBvcGVyYXRvciBzZWVraW5nCnRvIGpvaW4gdGhlIGdyb3VwIG11 c3QgY29udGFjdCBpdCBhbmQgcmVxdWVzdCB0byBqb2luIHRoZSBncm91cC4gSSByZWNvbW1lbmQg dGhlCnBvbGljeSBvZiBub3RpZnlpbmcgdGhlIG9wZXJhdG9yIG9mIGJvdGggcmVqZWN0aW9uIGFu ZCBhcHByb3ZhbCwgYnV0IGEgZGlmZmVyZW50CnBvbGljeSBjYW4gYmUgc2V0IGJ5IHRoZSBncm91 cCwgc3VjaCBhcyBub3RpZnlpbmcgdGhlIG9wZXJhdG9yIG9mIGFwcHJvdmFsCndpdGhpbiBhIHdl ZWsgb3Igbm90IHJlc3BvbmRpbmcgYXQgYWxsLiBJZiByZWplY3RlZCwgdGhlIG9wZXJhdG9yIGNh biB0cnkgdG8Kam9pbiBhbm90aGVyIGdyb3VwLCBvciBjYW4gcmVydW4gdGhlIHNldHVwIHByb2dy YW0gYW5kIHN0YXJ0IGEgZ3JvdXAuIFRoZSBzZXJ2ZXIKb3BlcmF0b3IgZm9yIHRoZSBDQSBpbiB0 aGUgZ3JvdXAgcnVucyB0aGUgbnNzZXR1cCBwcm9ncmFtIGlmIHRoZSByZXF1ZXN0IGlzCmFjY2Vw dGVkLCBhbmQgZ2VuZXJhdGVzIGEgcmFuZG9tIGNvbmZpcm1hdGlvbiBudW1iZXIgYW5kIGEgdGlt ZXN0YW1wLiBUaGVzZSBhcmUKZS1tYWlsZWQgKG9yIHNlbnQgYnkgb3RoZXIgbWVhbnMpIGJhY2sg dG8gdGhlIG5ldyBncm91cCBtZW1iZXIuIFRoZSBuZXcgZ3JvdXAKbWVtYmVyIHRoZW4gcnVucyB0 aGUgbnNzZXR1cCBwcm9ncmFtIGFnYWluLCBhbmQgZW50ZXJzIHRoaXMgaW5mb3JtYXRpb24uIFRo ZW4sCmhlIG9yIHNoZSBjYW4gcnVuIHRoZSAibnMiIHNvZnR3YXJlIGFwcGxpY2F0aW9uLCBhbmQg d2lsbCBiZSBwYXJ0IG9mIHRoYXQgZ3JvdXAuCgoKNS4gSW5mb3JtYXRpb24gcHJvdmlkZWQgYnkg bmFtaW5nIHNlcnZpY2UgdG8gY2xpZW50cwoKVGhlIG5hbWluZyBzZXJ2aWNlIHNvZnR3YXJlIGFs bG93cyBsb29rdXAgb2YgdGhyZWUgdHlwZXMgb2YgaW5mb3JtYXRpb24uIFRoZQpmaXJzdCB0eXBl IGlzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBuYW1pbmcgc2VydmljZSBpdHNlbGYuIFRoZSBzZWNv bmQgaXMgYSBsaXN0Cm9mIGFsbCB0aGUgZW50aXRpZXMgdGhhdCBwcm92aWRlIGEgcGFydGljdWxh ciBzZXJ2aWNlLiBUaGUgdGhpcmQgdHlwZSBpcwppbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpY3Vs YXIgZW50aXR5IG9yIGEgc2VydmljZSBpdCBwcm92aWRlcy4gQSByZXF1ZXN0IHRvIHRoZQpuYW1p bmcgc2VydmljZSBoYXMgdGhlIGZvcm1hdCAic2VydmljZS5lbnRpdHkuZ3JvdXAiLCB3aXRoIGRv dHMgYXMgc2VwYXJhdG9ycyBpbgp0aGUgcXVlcnkuIE5vIHBhcnRpYWwgbWF0Y2hpbmcgb2YgbmFt ZXMgKHN1Y2ggYXMgImFiKiIgZm9yIGFuIGVudGl0eSBuYW1lKSBpcwphbGxvd2VkLCBhbmQgdGhl IGdyb3VwIG5hbWUgbXVzdCBiZSBlbnRlcmVkIGluIGVhY2ggcXVlcnkuCgpUaGUgZmlyc3QgdHlw ZSBvZiBxdWVyeSBoYXMgdGhlIGZvcm1hdCAiKi4qLmdyb3VwIi4gVGhpcyBoYXMgbm90IGJlZW4g c3RhdGVkCmV4cGxpY2l0bHkgYWJvdmUsIGJ1dCBlYWNoIGdyb3VwIG9mIG5hbWluZyBzZXJ2ZXJz IHdpbGwgaGF2ZSBhIG5hbWUuIFdoZW4KcmVjZWl2aW5nIHN1Y2ggYSBxdWVyeSwgYSBuYW1pbmcg c2VydmVyIHdpbGwgcmVzcG9uZCAoaWYgdGhlIHF1ZXJ5IGlzIGZvciBpdHMKZ3JvdXApIHdpdGgg Y29udGFjdCBpbmZvcm1hdGlvbiBmb3IgdGhlIENBIGluIHRoZSBncm91cCwgaXRzIHB1YmxpYyBr ZXkgYW5kCml0cyBvcGVyYXRvciBjb250YWN0IGluZm9ybWF0aW9uLCBhcyB3ZWxsIGFzIHRoZSBu dW1iZXIgb2Ygc2VydmVycyBpbiB0aGUgZ3JvdXAKYW5kIHRoZSBncm91cCdzIG5hbWUgaWYgdGhl IGdyb3VwIGZpZWxkIG9mIHRoZSBxdWVyeSB3YXMgYWxzbyBhIHN0YXIuCgpUaGUgc2Vjb25kIHR5 cGUgb2YgcXVlcnkgaGFzIHRoZSBmb3JtYXQgInNlcnZpY2UuKi5ncm91cCIuIFRoaXMgYWxsb3dz IGNsaWVudHMKdG8gZmluZCBvdXQgd2hpY2ggZW50aXRpZXMgcHJvdmlkZSBhIHBhcnRpY3VsYXIg c2VydmljZS4gRm9yIGV4YW1wbGUsICJpbS4qLmcxIgp3aWxsIHJldHVybiBhbGwgdGhlIGVudGl0 aWVzIGFsbG93aW5nIEluc3RhbnQgTWVzc2VuZ2VyIGNvbm5lY3Rpb25zIGluIGdyb3VwIGcxLgpU aGUgc2VydmljZXMgd2hpY2ggY2FuIGJlIHNlYXJjaGVkIGZvciBhcmUgZGVmaW5lZCBpbiBzZWN0 aW9uIDEwLgoKVGhlIHRoaXJkIHR5cGUgb2YgcXVlcnkgaGFzIHRoZSBmb3JtYXQgIiouZW50aXR5 Lmdyb3VwIiBvciwgZm9yIG9uZSBvZiB0aGUKc2VydmljZXMsICJzZXJ2aWNlLmVudGl0eS5ncm91 cCIuIFRoaXMgd2lsbCBwcm9iYWJseSBiZSB0aGUgbW9zdCBjb21tb24gdHlwZSBvZgpxdWVyeSwg YW5kIHdpbGwgcmV0dXJuIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGZvciBhIHBhcnRpY3VsYXIg c2VydmljZSBhbmQKZ3JvdXAsIG9yIGFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYW4gZW50aXR5 LCBpbmNsdWRpbmcgYWxsIHRoZSBzZXJ2aWNlcyBpdApwcm92aWRlcyBhbmQgdGhlaXIgY29udGFj dCBpbmZvcm1hdGlvbi4KCgo2LiBTdG9yYWdlIG9mIGVudGl0eSBpbmZvcm1hdGlvbiBieSBuYW1p bmcgc2VydmVycwoKRWFjaCBuYW1pbmcgc2VydmVyIGluIGEgZ3JvdXAgb2YgbmFtaW5nIHNlcnZl cnMgd2lsbCBzdG9yZSBhIHBhcnQgb2YgdGhlCmluZm9ybWF0aW9uIGFib3V0IGFsbCBlbnRpdGll cy4gSXQgd2lsbCBzdG9yZSB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBmb3IgdGhlCkNBIGluIHRo ZSBncm91cCAoZGVzY3JpYmVkIGluIHRoZSBuZXh0IHNlY3Rpb24pLCBsaXN0cyBvZiBlbnRpdHkg bmFtZXMgZm9yIGVhY2gKc2VydmljZSB0aGUgbmFtaW5nIHNlcnZpY2Ugc29mdHdhcmUgcmVjb2du aXplcywgYW5kIHNvbWUgZW50aXR5IHJlY29yZHMuIElmIGEKdXNlciBjb250YWN0cyBpdCBmb3Ig YW4gZW50aXR5IHJlY29yZCBpdCBkb2VzIG5vdCBoYXZlLCBpdCB3aWxsIGZvcndhcmQgdGhlCnJl cXVlc3QgdG8gdGhlIHNlcnZlciB3aGljaCBkb2VzIGhhdmUgaXQgKGl0IHdpbGwga25vdyB3aGlj aCBzZXJ2ZXIgdG8gY29udGFjdCkuCgpUaGluayBvZiB0aGUgZW50aXRpZXMgc3RvcmVkIGJ5IGEg bmFtZSBzZXJ2ZXIgZ3JvdXAgYXMgYSBsaXN0IG9mIGVudGl0eSBuYW1lcy4KVGhlIGFsbG93ZWQg Zmlyc3QgY2hhcmFjdGVycyBvZiBlbnRpdHkgbmFtZXMgKHVuZGVyc2NvcmUsIGRpZ2l0cyAwIHRv IDksIGFuZApsZXR0ZXJzIGEgdG8geiBhbmQgQSB0byBaKSBmb3JtIGEgZG9tYWluIHRoYXQgY2Fu IGJlIGRpdmlkZWQgaW50byBzdWJkb21haW5zLgpPbmUgcG9zc2libGUgZGl2aXNpb24gaXMgdG8g aGF2ZSB0d28gc3ViZG9tYWlucywgYWxsIGxldHRlcnMgYW5kIGFsbCBvdGhlcgpjaGFyYWN0ZXJz LiBFYWNoIG5hbWUgc2VydmVyIHdpbGwgc3RvcmUgZW50aXR5IHJlY29yZHMgbWF0Y2hpbmcgb25l IG9mIHRoZQpzdWJkb21haW5zOyBmb3IgZXhhbXBsZSwgb25lIHNlcnZlciBjb3VsZCBzdG9yZSBh bGwgdGhlIGVudGl0aWVzIHdob3NlIG5hbWVzCmJlZ2luIHdpdGggdGhlIGxldHRlcnMgbSB0aHJv dWdoIHAuIFRoZSB3aG9sZSBncm91cCB3aWxsIHN0b3JlIGFsbCB0aGUgcmVjb3JkcwppbiB0aGlz IGRvbWFpbi4KCkFjdHVhbGx5LCBlYWNoIG5hbWluZyBzZXJ2ZXIgaGFzIGZvdXIgcm9sZXMuIEl0 cyBwcmltYXJ5IHJvbGUgaXMgYXMgYW4KYXV0aG9yaXRhdGl2ZSBzZXJ2ZXIgZm9yIGEgc2V0IG9m IGVudGl0eSByZWNvcmRzIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZQpzdWJkb21haW5zIG9m IGVudGl0eSBuYW1lcy4gSW4gdGhpcyByb2xlLCB0aGUgbmFtaW5nIHNlcnZlciBpcyB0aGUgc2Vy dmVyIHRoZQpjbGllbnQgY29udGFjdHMgdG8gY2hhbmdlIGEgcmVjb3JkIG9yIGRlbGV0ZSBpdC4g VGhlIHNlY29uZCByb2xlIGlzIGFzIGEgYmFja3VwCnNlcnZlciBmb3IgYW5vdGhlciBzZXQgb2Yg ZW50aXR5IHJlY29yZHMuIFRoaXMgc2Vjb25kIHNldCBtdXN0IGJlIGZyb20gYQpkaWZmZXJlbnQg c3ViZG9tYWluIG9mIGVudGl0eSBuYW1lcy4gRWFjaCBiYWNrdXAgc2VydmVyIGtub3dzIHdoYXQg aXRzIG1hc3RlcgooYXV0aG9yaXRhdGl2ZSkgc2VydmVyIGlzOyB0aGUgbWFzdGVyIHNlcnZlciBj b21tdW5pY2F0ZXMgd2l0aCBpdHMgYmFja3VwCnNlcnZlciB3aGVuIGEgcmVjb3JkIGhhcyBjaGFu Z2VkLCBhbmQgcHJvdmlkZXMgaXQgd2l0aCB0aGUgdXBkYXRlLiBXaGVuIGFuCmF1dGhvcml0YXRp dmUgc2VydmVyIGJlY29tZXMgdW5hdmFpbGFibGUsIHRoZSBiYWNrdXAgc2VydmVyIGFzc3VtZXMg dGhlIHJvbGUKb2YgdGhlIG1hc3RlciBzZXJ2ZXIgZm9yIHRoYXQgc3ViZG9tYWluLCBhbmQgc2Vs ZWN0cyBhIG5ldyBiYWNrdXAgc2VydmVyIGZvcgppdHNlbGYsIHNvIHRoYXQgYWdhaW4gdGhlcmUg d2lsbCBiZSB0d28gY29waWVzIG9mIHRoZSBlbnRpdHkgcmVjb3Jkcy4KClRoZSB0aGlyZCByb2xl IG9mIGEgbmFtaW5nIHNlcnZlciBpcyBiZWluZyBhIGNhY2hpbmcgc2VydmVyLiBGb3IgZXhhbXBs ZSwgaWYgYQpjbGllbnQgYXNrcyBmb3IgdGhlIHJlY29yZCBvZiB0aGUgdXNlciAiYmxhaCIgYnV0 IHRoaXMgc2VydmVyIGluIGEgZ3JvdXAgZG9lcwpub3QgaGF2ZSB0aGF0IHJlY29yZCwgdGhlIG5h bWluZyBzZXJ2ZXIgZm9yd2FyZHMgdGhhdCByZXF1ZXN0IHRvIHRoZQphdXRob3JpdGF0aXZlIHNl cnZlciBmb3IgdGhhdCBzdWJkb21haW4gb2ZlbnRpdHkgbmFtZXMuIFVwb24gcmVjZWl2aW5nIGEK cmVzcG9uc2UsIGl0IGNhY2hlcyB0aGUgcmVzcG9uc2UgYW5kIHJldHVybnMgdGhlIHF1ZXJ5IHJl c3VsdCB0byB0aGUgY2xpZW50LiBJZgphbm90aGVyIGNsaWVudCB0aGVuIHJlcXVlc3RzIHRoZSBz YW1lIHJlY29yZCwgaXQgY2FuIG5vdyByZXR1cm4gaXQgd2l0aG91dApjb25zdWx0aW5nIHRoZSBh dXRob3JpdGF0aXZlIHNlcnZlci4gVGhlIGZvdXJ0aCByb2xlIG9mIHRoZSBuYW1pbmcgc2VydmVy IGlzIHRvCnNlcnZlIGFzIGEgQ0EgZm9yIHRoZSBncm91cCwgYXMgZGVzY3JpYmVkIGluIHRoZSBu ZXh0IHNlY3Rpb24uIFRoZSBDQSBpcwpyZXNwb25zaWJsZSBmb3IgYWRkaW5nIGVudGl0eSBuYW1l cyBzdG9yZWQgYnkgdGhlIGdyb3VwLgoKVGhlIGFjdHVhbCBzdG9yYXRlIG9mIGVudGl0eSByZWNv cmRzIHdpbGwgYmUgaW4gZmlsZXMgb24gdGhlIGhhcmQgZHJpdmUuIFRoZQpuYW1pbmcgc2VydmVy cyB3aWxsLCBpbiB0aGUgZGlyZWN0b3J5IHNwZWNpZmllZCBmb3IgZW50aXR5IHJlY29yZCBzdG9y YWdlLCBoYXZlCmEgZmlsZSBmb3IgZWFjaCB0eXBlIG9mIHNlcnZpY2UuIFRoaXMgZmlsZSB3aWxs IGNvbnRhaW4gdGhlIGVudGl0eSBuYW1lcyBvZgphbGwgdGhlIGVudGl0aWVzIHByb3ZpZGluZyB0 aGF0IHNlcnZpY2UuIEluIGFkZGl0aW9uLCB0aGVyZSB3aWxsIGJlIHRocmVlCnN1YmRpcmVjdG9y aWVzOiAibWFzdGVyIiwgImJhY2t1cCIsIGFuZCAiY2FjaGUiLCBjb3JyZXNwb25kaW5nIHRvIHRo ZSByb2xlcwpkZXNjcmliZWQgYWJvdmUuIEVhY2ggb2YgdGhlc2Ugc3ViZGlyZWN0b3JpZXMgd2ls bCBoYXZlIGEgZmlsZSBwZXIgZW50aXR5CnJlY29yZCwgc3RvcmluZyB0aGF0IGVudGl0eSdzIGlu Zm9ybWF0aW9uLiBUaGVzZSBmaWxlcyB3aWxsIGJlIGFkZGVkLCBtb2RpZmllZCwKYW5kIHJlYWQg YXMgbmVjZXNzYXJ5IGJ5IHRoZSBuYW1pbmcgc2VydmljZSBzb2Z0d2FyZS4KClRoZSBuYW1pbmcg c2VydmljZSBtdXN0IHJlc3BlY3QgdGhlIGxpbWl0cyBvbiBoYXJkIGRyaXZlIHNwYWNlIHNldCBm b3IgaXQgYnkKdGhlIG9wZXJhdG9yLiBJdCB3aWxsIHBlcmlvZGljYWxseSBjaGVjayBob3cgbXVj aCBzcGFjZSBpdCBpcyBmaWxsaW5nLCBhbmQgd2lsbApyZXNwb25kIHRvIGZpbGxpbmcgdGhlIHNw YWNlIHVwLiBJZiB0aGF0IGhhcHBlbnMsIGl0IHdpbGwgYXQgZmlyc3QgdHJ5IGRlbGV0aW5nCnRo ZSByZWNvcmRzIGl0IHNlcnZlcyBpbiBpdHMgcm9sZSBhcyBhIGNhY2hpbmcgc2VydmVyLiBJZiBp dHMgbWFzdGVyIGFuZCBiYWNrdXAKcmVjb3JkIGNhY2hlcyB0YWtlIHVwIHRoYXQgc3BhY2UsIHRo b3VnaCwgaXQgd2lsbCB0ZWxsIHRoZSBDQSBmb3IgdGhlIGdyb3VwIHRoYXQKaXQgaXMgZXhjZWVk aW5nIGl0cyBsaW1pdHMuIFRoZSBDQSB3aWxsIHRoZW4gcmVhbGxvY2F0ZSB0aGUgc3ViZG9tYWlu cywgaWYKcG9zc2libGUsIHRvIGFkZHJlc3MgdGhlIHByb2JsZW0uIEFsc28sIGEgbWVzc2FnZSB3 aWxsIGJlIHB1dCBpbnRvIHRoZSBkYWlseQpsb2cga2VwdCB1bmRlciB0aGUgImxvZ3MiIHN1YmRp cmVjdG9yeSwgYW5kIHRoZSBvcGVyYXRvciBjYW4gcmUtcnVuIHRoZSBuc3NldHVwCnByb2dyYW0g dG8gaW5jcmVhc2Ugc3BhY2UgYWxsb2NhdGVkIHRvIHRoZSBuYW1pbmcgc2VydmljZS4gSWYgYWxs IHRoZSBzcGFjZQpmaWxscyB1cCBvbiBhbGwgdGhlIG5hbWluZyBzZXJ2ZXJzIGluIHRoZSBncm91 cCwgdGhlIENBIHdpbGwgc3RvcCBhY2NlcHRpbmcgbmV3CmVudGl0eSByZWdpc3RyYXRpb25zLgoK CjcuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IChDQSkKClRoZSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eSAoQ0EpIHJvbGUgb2YgdGhlIG5hbWluZyBzZXJ2aWNlIGlzIGZ1bGZpbGxlZCBieSBvbmUK YW5kIG9ubHkgb25lIG5hbWluZyBzZXJ2ZXIgYXQgYSB0aW1lLiBJbml0aWFsbHksIHRoaXMgaXMg dGhlIHNpbmdsZSBzZXJ2ZXIgaW4KdGhlIGdyb3VwLiBBcyBhIG5hbWluZyBzZXJ2ZXIgZ3JvdXAg Z3Jvd3MsIHRoZSBmaXJzdCBzZXJ2ZXIgY29udGludWVzIHRvIGJlIHRoZQpDQSBmb3IgdGhlIGdy b3VwLiBIb3dldmVyLCBpdCBkZXNpZ25hdGVzIGEgYmFja3VwIENBLCB3aGljaCBiZWNvbWVzIHRo ZSBwcmltYXJ5CkNBIGlmIHRoZSBDQSBiZWNvbWVzIHVuYXZhaWxhYmxlIGR1ZSB0byBhIGhhcmQg ZHJpdmUgY3Jhc2ggb3IgbGVhdmVzIHRoZSBJMlAKbmV0d29yay4gVGhlIENBIHN0b3JlcyB0aGUg bGlzdCBvZiBlbnRpdHkgbmFtZXMgZm9yIHRoZSBlbnRpdHkgcmVjb3JkcyBzdG9yZWQKYnkgdGhl IGdyb3VwLCBhcyB3ZWxsIGFzIHRoZSB0aW1lIHN0YW1wcyBvZiB3aGVuIHRoZXkgam9pbmVkIHRo ZSBuZXR3b3JrLiBUaGlzCmluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBhZGRpdGlvbiB0byB0aGUg ZW50aXR5IHJlY29yZHMgdGhlIG5hbWluZyBzZXJ2ZXIKc3RvcmVzOyBhIENBIGlzIGFsc28gYW4g YXV0aG9yaXRhdGl2ZSBhbmQgYSBiYWNrdXAgc2VydmVyIGF0IHRoZSBzYW1lIHRpbWUuCgpUaGUg bWFpbiB0YXNrIG9mIHRoZSBDQSBpcyB0byBwcm9jZXNzIHJlcXVlc3RzIGJ5IGVudGl0aWVzIHRv IHN0b3JlIHRoZWlyCnJlY29yZHMgd2l0aCB0aGF0IGdyb3VwLiBDbGllbnRzIHNlbmQgdGhlc2Ug cmVxdWVzdHMsIGFuZCB0aGUgQ0EgbG9va3MgdXAgdGhlCm5hbWVzIG9mIGVudGl0aWVzIGl0IGFs cmVhZHkgaGFzIHJlY29yZHMgZm9yLiBJZiB0aGUgZW50aXR5IG5hbWUgaW4gdGhlIHJlcXVlc3QK ZXhpc3RzLCB0aGUgcmVxdWVzdCBpcyByZWplY3RlZCBhbmQgYW4gYXBwcm9wcmlhdGUgbWVzc2Fn ZSBpcyBzZW50IGJhY2sgdG8gdGhlCmNsaWVudC4gSWYgbm90LCB0aGUgQ0EgZ2VuZXJhdGVzIGFu IGFwcHJvdmFsIG1lc3NhZ2UsIHdoaWNoIGl0IGRpZ2l0YWxseSBzaWducywKY29udGFpbmluZyBh IHRpbWVzdGFtcCAoaW4gVVRDLCBub3QgdGhlIGxvY2FsIHRpbWV6b25lKSBvZiB3aGVuIHRoZSBy ZXF1ZXN0CndhcyBwcm9jZXNzZWQuIFRoZSBDQSBzdG9yZXMgdGhlIG5ldyBlbnRpdHkgbmFtZSBh bmQgdGltZXN0YW1wIGZvciBpdCwgdG8gdXNlCndoZW4gcmVzcG9uZGluZyB0byBmdXR1cmUgcmVx dWVzdHMuIFRoZSBDQSBzZW5kcyBhIGNvcHkgb2YgdGhlIHNpZ25lZCByZXBseSB0bwp0aGUgYXV0 aG9yaXRhdGl2ZSBzZXJ2ZXIsIHdoaWNoIHN0b3JlcyB0aGUgZW50aXR5J3MgcmVjb3JkIG9uIGl0 cyBoYXJkIGRyaXZlLgoKQSBzZWNvbmRhcnkgdGFzayBvZiB0aGUgQ0EgaXMgdG8ga2VlcCB0cmFj ayBvZiB0aGUgbmFtaW5nIHNlcnZlcnMgYXZhaWxhYmxlIGF0CmFueSBnaXZlbiB0aW1lLiBBcyBk ZXNjcmliZWQgZWFybGllciwgYSBDQSBnZW5lcmF0ZXMgYSByYW5kb20gSUQgbnVtYmVyIGZvciBl YWNoCm5hbWluZyBzZXJ2ZXIgaW4gdGhlIGdyb3VwLiBBZnRlciBqb2luaW5nIHRoZSBJMlAgbmV0 d29yaywgZWFjaCBuYW1pbmcgc2VydmVyCmFubm91bmNlcyBpdHMgYXZhaWxhYmlsaXR5IHRvIHRo ZSBDQSwgd2l0aCBpdHMgY29uZmlybWF0aW9uIG51bWJlciBpbiB0aGUKbWVzc2FnZS4gVGhlIENB IHRoZW4ga25vd3MgdGhhdCB0aGUgbmFtaW5nIHNlcnZlciBpcyBvbmxpbmUgYW5kIGNhbiBwcm9j ZXNzCnJlcXVlc3RzLgoKV2hlbiBhIG5hbWluZyBzZXJ2ZXIgaXMgdW5hdmFpbGFibGUgb24gdGhl IEkyUCBuZXR3b3JrLCB0aGVyZSBhcmUgc2V2ZXJhbCB3YXlzCnRoaXMgaXMgZm91bmQgb3V0LiBU aGUgZmlyc3Qgd2F5IGlzIGlmIGFuIGF1dGhvcml0YXRpdmUgc2VydmVyIGNhbm5vdCBjb250YWN0 Cml0cyBiYWNrdXAgc2VydmVyLiBTaW5jZSBldmVyeSBuYW1pbmcgc2VydmVyIGhhcyBhIGRlc2ln bmF0ZWQgYmFja3VwIHNlcnZlciwKdGhpcyB3aWxsIGRldGVjdCB0aGUgb3V0YWdlLCBidXQgcG9z c2libHkgYWZ0ZXIgc29tZSB0aW1lIGhhcyBwYXNzZWQuIFRoZSBzZWNvbmQKd2F5IGlzIGlmIHRo ZSBDQSBjYW5ub3QgY29udGFjdCBpdHMgYmFja3VwIENBLiBUaGUgdGhpcmQgd2F5IGlzIGlmIGEg c2VydmVyLCBpbgppdHMgcm9sZSBhcyB0aGUgY2FjaGluZyBzZXJ2ZXIsIGNhbm5vdCBjb250YWN0 IHRoZSBhdXRob3JpdGF0aXZlIHNlcnZlci4gVGhlCmJhY2t1cCBDQSB3aWxsIHBlcmlvZGljYWxs eSBjb250YWN0IHRoZSBDQSwgYW5kIHdpbGwgYXNzdW1lIHRoZSBDQSByb2xlIGlmIGl0CnJlY2Vp dmVzIG5vIHJlc3BvbnNlLiBGaW5hbGx5LCBhbnkgbmFtaW5nIHNlcnZlciBmYWlsaW5nIHRvIGNv bnRhY3QgdGhlIENBIHdpbGwKbm90aWZ5IHRoZSBiYWNrdXAgQ0EuIFdoZW4gYSBuYW1pbmcgc2Vy dmVyIGRldGVjdHMgYW5vdGhlciBuYW1pbmcgc2VydmVyIGhhcwpmYWlsZWQvaXMgbm90IG9uIHRo ZSBJMlAgbmV0d29yaywgaXQgbXVzdCBub3RpZnkgdGhlIENBLgoKVGhlIHRoaXJkIHJvbGUgb2Yg dGhlIENBIGlzIHRvIGRpdmlkZSBzdWJkb21haW5zIG9mIHRoZSBlbnRpdHkgbmFtZSBsaXN0IHRv CmRpZmZlcmVudCBuYW1pbmcgc2VydmVycy4gSW5pdGlhbGx5LCB0aGUgc2luZ2xlIG5hbWluZyBz ZXJ2ZXIgaW4gdGhlIGdyb3VwIHdpbGwKc3RvcmUgYWxsIHRoZSBlbnRpdHkgcmVjb3JkcyAoc3Bh Y2UgcGVybWl0dGluZykuIFdoZW4gb3RoZXIgbmFtaW5nIHNlcnZlcnMgam9pbgp0aGUgZ3JvdXAg YW5kIGFyZSBhdmFpbGFibGUsIGEgc3ViZG9tYWluIHJlYWxsb2NhdGlvbiBvY2N1cnMuIFRoZSBD QSBkZXNpZ25hdGVzCndoaWNoIG5hbWluZyBzZXJ2ZXJzIHdpbGwgc3RvcmUgd2hpY2ggc3ViZG9t YWlucyBhbmQgdGhlIHJlc3BlY3RpdmUgZW50aXR5CnJlY29yZHMuIFRoZSBDQSBzZW5kcyBhIG1l c3NhZ2Ugd2l0aCBhIG5ldyBzdWJkb21haW4tdG8tc2VydmVyIG1hcHBpbmcgdG8gYWxsCnRoZSBu YW1pbmcgc2VydmVycywgYW5kIHRoZXkgcmVzcG9uZCBieSBjb3B5aW5nIGVudGl0eSByZWNvcmRz IGFjY29yZGluZyB0byB0aGUKbWFwcGluZy4gRm9yIGV4YW1wbGUsIHdoZW4gYSBzZWNvbmQgbmFt aW5nIHNlcnZlciBqb2lucyB0aGUgbmV0d29yaywgYW5kIGlzCmFzc2lnbmVkIHRoZSBlbnRpdHkg cmVjb3JkcyBmb3IgbGV0dGVycyBhLXogYW5kIGRpZ2l0cyAwLTUsIHRoZSBmaXJzdCBuYW1pbmcK c2VydmVyIGluIHRoZSBuZXR3b3JrIGNvcGllcyBpdHMgYXV0aG9yaXRhdGl2ZSByZWNvcmRzIHRv IHRoZSBuZXcgc2VydmVyLiBJdAphbHNvIG1vdmVzIHRoZW0gdG8gaXRzIGNhY2hlZCBkaXJlY3Rv cnkuIFRoZSBtYXBwaW5nIGFsc28gY29udGFpbnMgdGhlIGJhY2t1cApzZXJ2ZXJzIGZvciBlYWNo IGF1dGhvcml0YXRpdmUgc2VydmVyLiBUaGUgbW9yZSBuYW1pbmcgc2VydmVycyB0aGVyZSBhcmUg aW4KdGhlIGdyb3VwLCB0aGUgbGVzcyByZWNvcmRzIGhhdmUgdG8gYmUgbW92ZWQgd2l0aGluIHRo ZSBncm91cCBkdXJpbmcgZWFjaCBtb3ZlLgoKV2hlbiBhIG5hbWluZyBzZXJ2ZXIgYmVjb21lcyB1 bnZhaWxhYmxlLCB0aGUgQ0EgZGV0ZXJtaW5lcyBhIG5ldyBtYXBwaW5nIG9mCnN1YmRvbWFpbnMt dG8tc2VydmVycywgYW5kIGJyb2FkY2FzdHMgaXQgdG8gdGhlIG5hbWluZyBzZXJ2ZXJzLiBUaGUg YmFja3VwCnNlcnZlciBiZWNvbWVzIGFuIGF1dGhvcml0YXRpdmUgc2VydmVyIGZvciB0aGUgcmVj b3JkcyBpdCBoYWQgcHJldmlvdXNseSBhcyBhCmJhY2t1cCBzZXJ2ZXIuIFRoZW4sIHNpbmNlIGl0 IGNhbm5vdCBiZSBvbmx5IGFuIGF1dGhvcml0YXRpdmUgc2VydmVyLCBpdCB1c2VzCnRoZSBuZXcg bWFwcGluZyB0byBzZW5kIHNvbWUgcmVjb3JkcyB0byBhIG5ldyBiYWNrdXAgc2VydmVyLiBBbm90 aGVyIHNlcnZlciBpbgp0aGUgZ3JvdXAgc2VuZHMgaXQgcmVjb3JkcyB0byBiYWNrIHVwLCBldGMu LCB1bnRpbCB0aGUgcmVhbGxvY2F0aW9uIG9mIHJlY29yZHMKaXMgY29tcGxldGUuIFRoZSBDQSBh bHNvIGRldGVtaW5lcyBhIG5ldyBtYXBwaW5nIHdoZW4gb25lIG9mIHRoZSBzZXJ2ZXJzCnJlcG9y dHMgdGhhdCBpdCBoYXMgbm8gbW9yZSBoYXJkIGRyaXZlIHNwYWNlLgoKCjguIENsaWVudCBzb2Z0 d2FyZSBmb3IgbmFtaW5nIHNlcnZpY2UKClRoZSBjbGllbnQgc29mdHdhcmUgZm9yIHRoZSBuYW1p bmcgc2VydmljZSBpcyBuYW1lZCAibnNjbGllbnQiLiBUaGlzIGlzIHRoZQpwcm9ncmFtIHRoYXQg bWFrZXMgcmVxdWVzdHMgdG8gbmFtaW5nIHNlcnZlcnMgYW5kIHJlY2VpdmVzIHRoZWlyIHJlc3Bv bnNlcywKZGlzcGxheWluZyB0aGVtIGZvciB0aGUgdXNlci4KCgo5LiBTY2VuYXJpb3MKCiAgIGEp IENsaWVudCBhZGRzIGFuIGVudGl0eSByZWNvcmQgdG8gYSBuYW1pbmcgc2VydmVyCgogICBiKSBD bGllbnQgY2hhbmdlcyBpdHMgZW50cnkgb24gYSBuYW1pbmcgc2VydmVyCgogICBjKSBOYW1pbmcg c2VydmVyIGpvaW5zIG5ldHdvcmsKClRoaXMgc2VjdGlvbiBkZXNjcmliZXMgd2hhdCBoYXBwZW5z IHdoZW4gdGhlICJucyIgc29mdHdhcmUgcnVucy4gVGhpcyBzZWN0aW9uCmFzc3VtZXMgdGhhdCB0 aGUgc2V0dXAgcHJvZ3JhbSBkZXNjcmliZWQgaW4gc2VjdGlvbiA0IGhhcyBiZWVuIHJ1biwgYW5k IHRoZQpjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgbmFtaW5nIHNlcnZpY2Ugc29mdHdh cmUgZXhpc3QuIElmIHRoZXkgZG8gbm90LAp0aGUgcHJvZ3JhbSBleGl0cyBhbmQgcmVtaW5kcyB0 aGUgb3BlcmF0b3Igb2YgdGhlIG5hbWluZyBzZXJ2aWNlIHRvIHJ1biB0aGUKc2V0dXAgcHJvZ3Jh bS4KCiAgIGQpIE5hbWluZyBzZXJ2ZXIgYmVjb21lcyB1bmF2YWlsYWJsZSBvciBsZWF2ZXMgbmV0 d29yawoKCjEwLiBEYXRhIHN0cnVjdHVyZXMKCgoxMS4gTWVzc2FnZSB0eXBlcyBhbmQgc3RydWN0 dXJlcwoKCjEyLiBDb25jbHVzaW9uCgpEdXJpbmcgdGhlIHdyaXRpbmcgb2YgdGhpcyBkb2N1bWVu dCwgSSBoYWQgZXRoaWNhbCBxdWFsbXMgYWJvdXQgd2hhdCBJIGFtIGRvaW5nLgpBbSBJLCBieSBj cmVhdGluZyB0aGlzIHNvZnR3YXJlIChJIHBsYW4gdG8gd3JpdGUgYW4gaW1wbGVtZW50YXRpb24g b2YgdGhpcwpzcGVjaWZpY2F0aW9uKSwgYWlkaW5nIGNyaW1pbmFscyB3aG8gbWlnaHQgdXNlIHRo ZSBJMlAgbmV0d29yayBmb3IKY29tbXVuaWNhdGluZyB3aXRoIGVhY2ggb3RoZXI/IEFtIEkgYWlk aW5nIGJhbmsgcm9iYmVycywgdGVycm9yaXN0cywgb3IgYXQKbGVhc3QgcG9zc2libHkgc3BhbW1l cnMgd2hvIGtlZXAgc2VuZGluZyBteSBtb3RoZXIgVmlhZ3JhIGFkdmVydGlzZW1lbnRzPyBTaW5j ZQp0aGUgdXNlcnMgb2YgdGhlIEkyUCBuZXR3b3JrIGNhbm5vdCBiZSBrbm93biwgYnkgZGVzaWdu LCB0aGVzZSBhcmUgcG9zc2liaWxpdGllcwpmb3Igd2hvIHRoZSB1c2VycyBvZiB0aGUgSTJQIG5l dHdvcmsgd2lsbCBiZS4gQWZ0ZXIgY29uc2lkZXJpbmcgdGhpcywgSSBoYXZlCmRlY2lkZWQgdG8g cHJvY2VlZCB3aXRoIHdyaXRpbmcgdGhpcyBkb2N1bWVudCBhbmQgY3JlYXRpbmcgdGhlIHNvZnR3 YXJlLiBJIGhhdmUKZGVjaWRlZCBmb3IgbXlzZWxmIHRoYXQgdGhlIG5hbWluZyBzZXJ2aWNlIHdp bGwgbm90IGFpZCB0aGVzZSBtYWxpY2lvdXMgdXNlcnMKc2lnbmlmaWNhbnRseSwgYXMgb3Bwb3Nl ZCB0byBub3QgaGF2aW5nIGEgbmFtaW5nIHNlcnZpY2UgYXQgYWxsLiBBbHNvLCBJIGNhbm5vdApj b250cm9sIHdobyB3aWxsIHVzZSB0aGUgbmFtaW5nIHNlcnZpY2UuIEFuZCBzaW5jZSB0aGUgbmFt aW5nIHNlcnZpY2Ugd2lsbApiZW5lZml0IHRoZSBtYWpvcml0eSBvZiB1c2VycyB3aXRoIGdvb2Qg aW50ZW50aW9ucywgaXRzIGJlbmVmaXRzIG91dHdlaWdoIHRoZQpkcmF3YmFja3Mgb2YgcHJvdmlk aW5nIHVzZXJzIHdpdGggdGhlIG5hbWluZyBzZXJ2aWNlLgoKSWYgdGhpcyBkb2N1bWVudCBjb250 YWlucyBhbnkgZXJyb3JzLCB1bmNsZWFyIHdvcmRpbmcsIG9yIG9taXNzaW9ucywgcGxlYXNlCmxl dCBtZSBrbm93LiBJIGFsc28gd2VsY29tZSB5b3VyIHN1Z2dlc3Rpb24gZm9yIGltcHJvdmluZyB0 aGUgbmFtaW5nIHNlcnZpY2UKZGVzY3JpYmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbiwgYW5kIGZv ciBhZGRyZXNzaW5nIG5ldyB3ZWFrbmVzc2VzIEkgbWF5IGhhdmUKaW50cm9kdWNlZCB3aXRoIHRo aXMgdmVyc2lvbiBvZiB0aGUgc3BlY2lmaWNhdGlvbi4gSSB3aWxsIGNvcnJlY3QgdGhlIGVycm9y cwppbiB2ZXJzaW9uIDEuMiBvZiB0aGlzIHNwZWNpZmljYXRpb24uIE15IHBsYW4gaXMgdG8gYmVn aW4gaW1wbGVtZW50aW5nIHRoZQpuYW1pbmcgc2VydmljZSBzb2Z0d2FyZSwgdXBkYXRpbmcgaXQg YXMgdGhlIHNwZWNpZmljYXRpb24gaXMgcmV2aXNlZC4K --------=_ModWebBOUNDARY_c1577840_1062485811 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ iip-dev mailing list [email protected] http://lists.invisiblenet.net/mailman/listinfo/iip-dev --------=_ModWebBOUNDARY_c1577840_1062485811--