From mboxrd@z Thu Jan 1 00:00:00 1970 From: ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org (Eric W. Biederman) Subject: Re: [PATCH 2/4] clone.2: Describe the user namespace Date: Tue, 01 Jan 2013 01:45:36 -0800 Message-ID: <87zk0t44ov.fsf@xmission.com> References: <87a9u4rmz0.fsf@xmission.com> <87y5hnq3d5.fsf@xmission.com> <87r4mbv2c9.fsf@xmission.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: (Michael Kerrisk's message of "Tue, 1 Jan 2013 10:30:17 +0100") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Cc: Linux API , Linux Containers List-Id: containers.vger.kernel.org Ik1pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKSIgPG10ay5tYW5wYWdlc0BnbWFpbC5jb20+IHdy aXRlczoKCj4gSGkgRXJpYywKPgo+IE9uIFRodSwgRGVjIDI3LCAyMDEyIGF0IDY6MjAgUE0sIEVy aWMgVy4gQmllZGVybWFuCj4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4gd3JvdGU6Cj4+ICJNaWNo YWVsIEtlcnJpc2sgKG1hbi1wYWdlcykiIDxtdGsubWFucGFnZXNAZ21haWwuY29tPiB3cml0ZXM6 Cj4+Cj4+PiBIaSBFcmljLAo+Pj4KPj4+IE9uIFR1ZSwgTm92IDI3LCAyMDEyIGF0IDE6NDYgQU0s IEVyaWMgVy4gQmllZGVybWFuCj4+PiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPiB3cm90ZToKPj4+ Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6ICJFcmljIFcuIEJpZWRlcm1hbiIgPGViaWVkZXJtQHhtaXNz aW9uLmNvbT4KPj4+PiAtLS0KPj4+PiAgbWFuMi9jbG9uZS4yIHwgICAzOSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+PiAgMSBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNl cnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL21hbjIvY2xv bmUuMiBiL21hbjIvY2xvbmUuMgo+Pj4+IGluZGV4IDA1ODIwNTcuLjQ1NjY2NzcgMTAwNjQ0Cj4+ Pj4gLS0tIGEvbWFuMi9jbG9uZS4yCj4+Pj4gKysrIGIvbWFuMi9jbG9uZS4yCj4+Pj4gQEAgLTM2 Niw2ICszNjYsNDUgQEAgaW4gdGhlIHNhbWUKPj4+PiAgLkJSIGNsb25lICgpCj4+Pj4gIGNhbGwu Cj4+Pj4gIC5UUAo+Pj4+ICsuQlIgQ0xPTkVfTkVXVVNFUiAiIChzaW5jZSBMaW51eCAzLjYpIgo+ Pj4KPj4+IFdoeSAic2luY2UgTGludXggMy42Ij8gQXMgZmFzIGFzIEkgY2FuIHNlZSwgQ0xPTkVf TkVXVVNFUiBmaXJzdCBnYWluZWQKPj4+IHNvbWUgbWVhbmluZyBpbiAyLjYuMjkuCj4+Cj4+IExv b2tpbmcgYXQgaXQgd2hlcmUgSSBoYXZlIHNhaWQgMy42IHRoYXQgaXMgd3JvbmcuICBJIG1lYW50 IDMuNS4KPgo+IE9rYXkuCj4KPj4gSSB0aGluayBJIG1hZGUgdGhlIHNhbWUgbWlzdGFrZSBpbiBv bmUgb3IgdHdvIG90aGVyIG1hbnBhZ2VzLiAgTm90aGluZwo+PiB3YXMgbWVyZ2VkIGluIDMuNiB1 bmZvcnR1bmF0ZWx5Lgo+Cj4gSSB0aGluayB0aGUgb3RoZXIgY2FzZXMgaGF2ZSBiZWVuIGZpeGVk IGJ5IG5vdy4KPgo+PiBNeSBpbnRlbnQgd2FzIHRoZXNlIGFyZSB0aGUgc2VtYW50aWNzIG9mIHVz ZXIgbmFtZXNwYWNlcyBzaW5jZSAzLjUsCj4+IHdoZW4gbXkgcmV3b3JrL3JlZm9jdXNpbmcgb2Yg dGhlbSB3YXMgbWVyZ2VkLgo+Pgo+PiBTaW5jZSAzLjUgYWxsIHRoYXQgaGFzIHJlYWxseSBoYXBw ZW5lZCB3aXRoIHVzZXIgbmFtZXNwYWNlcyBpcyB0aGUKPj4gdWlkL2dpZCB0byBrdWlkL2tnaWQg Y29udmVyc2lvbiwgcGVybWlzc2lvbiBjaGVja3MgaGF2ZSBiZWVuIHJlbGF4ZWQsCj4+IGFuZCBh IGZldyBidWdzIGhhdmUgYmVlbiBmaXhlZC4KPj4KPj4gMy44IGlzIGh1Z2UgZnJvbSBhIHVzYWJp bGl0eSBzdGFuZHBvaW50LiAgMy44IGlzIGh1Z2UgYmVjYXVzZSBzZXRucygpLAo+PiBhbmQgdW5z aGFyZSgpIGFyZSBub3cgY29tcGxldGUgZnJvbSBhIG5hbWVzcGFjZSBwZXJzcGVjdGl2ZSwgYW5k IGJlY2F1c2UKPj4gZW5vdWdoIHBlcm1pc3Npb24gY2hlY2tzIGhhdmUgYmVlbiByZWxheGVkIGlu IHVzZXIgbmFtZXNwYWNlcyB0aGF0IHlvdQo+PiBjYW4gcmVhbGx5IHN0YXJ0IHVzaW5nIHRoZW0u Cj4+Cj4+IEJ1dCBzZW1hbnRpY2FsbHkgZnJvbSBhIHVzZXIgbmFtZXNwYWNlIHBlcnNwZWN0aXZl IG5vdGhpbmcgcmVhbGx5IGhhcwo+PiBjaGFuZ2VkIGluIDMuOC4KPj4KPiBbLi4uXQo+Cj4+PiBJ IHJld29ya2VkIHlvdXIgdGV4dCBzb21ld2hhdC4gQ291bGQgeW91IHBsZWFzZSByZXZpZXcgdGhl IGZvbGxvd2luZzoKPj4+Cj4+PiBbWwo+Pj4gICAgICAgIENMT05FX05FV1VTRVIKPj4+ICAgICAg ICAgICAgICAgKFRoaXMgIGZsYWcgZmlyc3QgYmVjYW1lIG1lYW5pbmdmdWwgZm9yIGNsb25lKCkg aW4gTGludXgKPj4+ICAgICAgICAgICAgICAgMi42LjI5LCBidXQgdGhlIGltcGxlbWVudGF0aW9u IG9mICB1c2VyICBuYW1lc3BhY2VzICB3YXMKPj4+ICAgICAgICAgICAgICAgb25seSAgY29tcGxl dGVkIGluIExpbnV4IDMuOC4pCj4+Cj4+IExvbmcgcmFudCBhYm91dCAyLjYuMjkgdnMgMy44IGFi b3ZlLiAgSSB0aGluayB3aGF0IHdlIG5lZWQgdG8gc2F5IGlzOgo+Pgo+PiAgICAgICAgICAgICAg ICAgKFRoaXMgIGZsYWcgZmlyc3QgYmVjYW1lIG1lYW5pbmdmdWwgZm9yIGNsb25lKCkgaW4gTGlu dXgKPj4gICAgICAgICAgICAgICAgIDIuNi4yOSwgdGhlIGN1cnJlbnQgc2VtYW50aWNzIHdlcmUg bWVyZ2VkIHByZXNlbnQgaW4KPj4gICAgICAgICAgICAgICAgIDMuNSwgYW5kIHVzZXIgbmFtZXNw YWNlcyBvbmx5IHJlYWxseSBiZWNhbWUgdXNhYmxlIGluIDMuOC4pCj4KPiBZdXAuIEkndmUgZG9u ZSBzb21ldGhpbmcgbGlrZSB0aGF0IG5vdy4KPgo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIENMT05FX05FV1VTRVIgaXMgc2V0LAo+Pj4gICAgICAg ICAgICAgICB0aGVuIGNyZWF0ZSB0aGUgcHJvY2VzcyBpbiBhICBuZXcgIHVzZXIgIG5hbWVzcGFj ZS4gICBJZgo+Pj4gICAgICAgICAgICAgICB0aGlzIGZsYWcgaXMgbm90IHNldCwgdGhlbiAoYXMg d2l0aCBmb3JrKDIpKSB0aGUgcHJvY2Vzcwo+Pj4gICAgICAgICAgICAgICBpcyBjcmVhdGVkIGlu IHRoZSBzYW1lIHVzZXIgIG5hbWVzcGFjZSAgYXMgIHRoZSAgY2FsbGluZwo+Pj4gICAgICAgICAg ICAgICBwcm9jZXNzLgo+Pj4KPj4+ICAgICAgICAgICAgICAgQSAgdXNlciAgbmFtZXNwYWNlICBw cm92aWRlcyBhbiBpc29sYXRlZCBlbnZpcm9ubWVudCBmb3IKPj4+ICAgICAgICAgICAgICAgc2Vj dXJpdHkgcmVsYXRlZCBpZGVudGlmaWVycywgaW4gcGFydGljdWxhciwgIHVzZXIgIElEcywKPj4+ ICAgICAgICAgICAgICAgZ3JvdXAgSURzLCBrZXlzIChzZWUga2V5Y3RsKDIpKSwgYW5kIGNhcGFi aWxpdGllcy4KPj4+Cj4+PiAgICAgICAgICAgICAgIFdoZW4gIGEgdXNlciBuYW1lc3BhY2UgaXMg Y3JlYXRlZCwgaXQgc3RhcnRzIG91dCB3aXRob3V0Cj4+PiAgICAgICAgICAgICAgIGEgbWFwcGlu ZyBvZiB1c2VyIElEcyAoZ3JvdXAgSURzKSAgdG8gIHRoZSAgcGFyZW50ICB1c2VyCj4+PiAgICAg ICAgICAgICAgIG5hbWVzcGFjZS4gICBUaGUgZGVzaXJlZCBtYXBwaW5nIG9mIHVzZXIgSURzIChn cm91cCBJRHMpCj4+PiAgICAgICAgICAgICAgIHRvIHRoZSBwYXJlbnQgdXNlciBuYW1lc3BhY2Ug bWF5IGJlIHNldCBieSB3cml0aW5nICBpbnRvCj4+PiAgICAgICAgICAgICAgIC9wcm9jL1twaWRd L3VpZF9tYXAgKC9wcm9jL1twaWRdL2dpZF9tYXApOyBzZWUgcHJvYyg1KS4KPj4KPj4gICAgICAg ICAgICAgICAgIC9wcm9jL1twaWRdL3Byb2ppZF9tYXAgZGVzZXJ2ZXMgYSBtZW50aW9uLiAgTm90 IHRoYXQKPj4gICAgICAgICAgICAgICAgIEkgYW0gYSBmYW4gb2YgcHJvamVjdCBpcyBvciB0aGF0 IHhmcyB3aGVyZSB0aGUgYXJlCj4+ICAgICAgICAgICAgICAgICBpbXBsZW1lbnRlZCBoYXMgYmVl biBjb252ZXJ0ZWQgeWV0IGJ1dC4uLi4KPgo+IFdvdWxkIHlvdSBiZSBhYmxlIHRvIHNlbmQgYSBw YXRjaCBkb2N1bWVudGluZyB0aGlzIGluIHByb2MoNSk/CgpTdXJlLiAgSSBkb24ndCBrbm93IHdo eSBJIGRpZG4ndCBtZW50aW9uIHByb2ppZCBpbiBteSBlYXJsaWVyIHBhdGNoLgpTYW1lIHN0b3J5 IGZld2VyIHBlcm1pc3Npb24gY2hlY2tzLiAgU2lsbHkgbWUuCgo+Pj4gICAgICAgICAgICAgICBU aGUgIGZpcnN0IHByb2Nlc3MgaW4gYSB1c2VyIG5hbWVzcGFjZSBzdGFydHMgb3V0IHdpdGggYQo+ Pj4gICAgICAgICAgICAgICBjb21wbGV0ZSBzZXQgb2YgY2FwYWJpbGl0aWVzIHdpdGggIHJlc3Bl Y3QgIHRvICB0aGUgIG5ldwo+Pj4gICAgICAgICAgICAgICB1c2VyIG5hbWVzcGFjZS4KPj4+Cj4+ PiAgICAgICAgICAgICAgIFN5c3RlbSAgY2FsbHMgIHRoYXQgIHJldHVybiAgdXNlciAgSURzICAo Z3JvdXAgSURzKSB3aWxsCj4+PiAgICAgICAgICAgICAgIHJldHVybiBlaXRoZXIgdGhlIHVzZXIg SUQgKGdyb3VwICBJRCkgIG1hcHBlZCAgaW50byAgdGhlCj4+PiAgICAgICAgICAgICAgIGN1cnJl bnQgIHVzZXIgIG5hbWVzcGFjZSAgaWYgIHRoZXJlIGlzIGEgbWFwcGluZywgb3IgdGhlCj4+PiAg ICAgICAgICAgICAgIG92ZXJmbG93IHVzZXIgSUQgKGdyb3VwIElEKTsgdGhlIGRlZmF1bHQgdmFs dWUgIGZvciAgdGhlCj4+PiAgICAgICAgICAgICAgIG92ZXJmbG93ICB1c2VyIElEIChncm91cCBJ RCkgaXMgNjU1MzQuICBTZWUgdGhlIGRlc2NyaXDigJAKPj4+ICAgICAgICAgICAgICAgdGlvbnMg b2YgL3Byb2Mvc3lzL2tlcm5lbC9vdmVyZmxvd3VpZCBhbmQgL3Byb2Mvc3lzL2tlcuKAkAo+Pj4g ICAgICAgICAgICAgICBuZWwvb3ZlcmZsb3dnaWQgaW4gcHJvYyg1KS4KPj4+Cj4+PiAgICAgICAg ICAgICAgIFN0YXJ0aW5nICB3aXRoICBMaW51eCAgMy44LCAgbm8gcHJpdmlsZWdlcyBhcmUgbmVl ZGVkIHRvCj4+PiAgICAgICAgICAgICAgIGNyZWF0ZSBhIHVzZXIgbmFtZXNwYWNlLCBhbmQgbW91 bnQsIFBJRCwgSVBDLCAgbmV0LCAgYW5kCj4+PiAgICAgICAgICAgICAgIFVUUyAgIG5hbWVzcGFj ZXMgICBjYW4gICBiZSAgIGNyZWF0ZWQgICB3aXRoICAganVzdCAgdGhlCj4+PiAgICAgICAgICAg ICAgIENBUF9TWVNfQURNSU4gY2FwYWJpbGl0eSBpbiB0aGUgY2FsbGVyJ3MgdXNlciBuYW1lc3Bh Y2UuCj4+Pgo+Pj4gICAgICAgICAgICAgICBPdmVyIHRoZSB5ZWFycywgdGhlcmUgaGF2ZSBiZWVu IGEgbG90IG9mICBmZWF0dXJlcyAgdGhhdAo+Pj4gICAgICAgICAgICAgICBoYXZlIGJlZW4gYWRk ZWQgdG8gdGhlIExpbnV4IGtlcm5lbCB0aGF0IGFyZSBvbmx5IGF2YWls4oCQCj4+PiAgICAgICAg ICAgICAgIGFibGUgdG8gcHJpdmlsZWdlZCB1c2VycyBiZWNhdXNlIG9mIHRoZWlyICBwb3RlbnRp YWwgIHRvCj4+PiAgICAgICAgICAgICAgIGNvbmZ1c2UgIHNldC11c2VyLUlELXJvb3QgIGFwcGxp Y2F0aW9ucy4gIEluIGdlbmVyYWwsIGl0Cj4+PiAgICAgICAgICAgICAgIGJlY29tZXMgc2FmZSB0 byBhbGxvdyB0aGUgcm9vdCB1c2VyIGluIGEgdXNlciAgbmFtZXNwYWNlCj4+PiAgICAgICAgICAg ICAgIHRvIHVzZSB0aG9zZSBmZWF0dXJlcyBiZWNhdXNlIGl0IGlzIGltcG9zc2libGUsIHdoaWxl IGluCj4+PiAgICAgICAgICAgICAgIGEgdXNlciBuYW1lc3BhY2UsIHRvIGdhaW4gbW9yZSBwcml2 aWxlZ2UgdGhhbiAgdGhlICByb290Cj4+PiAgICAgICAgICAgICAgIHVzZXIgb2YgYSB1c2VyIG5h bWVzcGFjZSBoYXMuCj4+Cj4+IEkgZG9uJ3QgaGF2ZSBhbnkgcHJvYmxlbXMgd2l0aCB0aGlzIGJp dCBvZiB0ZXh0Lgo+Pgo+PiBJdCBvY2N1cnMgdG8gbWUgdGhhdCB3aGF0IGlzIGdvaW5nIG9uIHdp dGggY2FwYWJpbGl0aWVzIGFuZCB1c2VyCj4+IG5hbWVzcGFjZXMgbmVlZHMgdG8gYmUgZG9jdW1l bnRlZCBiZXR0ZXIuICBUaGVyZSB3YXMgYSBtaW5vciBidWcgd2l0aAo+PiB0aGVtIHRoaXMgcmVs ZWFzZSBjeWNsZSBhbmQgSSByZWFsaXplZCB3aGlsZSB0aGUgY3VycmVudCBkZWZpbml0aW9uCj4+ IG1ha2VzIHNlbnNlIGFuZCBpc24ndCBoYXJkIHRvIHVuZGVyc3RhbmQgaW4gZ2VuZXJhbC4gIElu IGRldGFpbCB0aGUKPj4gaW50ZXJhY3Rpb24gb2YgY2FwYWJpbGl0aWVzIGFuZCB1c2VyIG5hbWVz cGFjZXMgYXJlIGhhcmQgdG8gZGVzY3JpYmUuCj4+Cj4+IEkgdGhpbmsgY2FwYWJpbGl0aWVzIGFu ZCB1c2VyIG5hbWVzcGFjZXMgYXJlIHRoZSB3b3JrIG9mIGEgZnV0dXJlIHBhdGNoCj4+IGhvd2V2 ZXIuCj4KPiBPa2F5LiBTbywgYmVsb3csIGEgbmV3IGl0ZXJhdGlvbiBvZiB0aGUgdGV4dC4gQ291 bGQgeW91IHBsZWFzZSBjaGVjawo+IGl0IG92ZXIsIGFuZCBub3RlIGFueSBlcnJvcnMgdG8gYmUg Zml4ZWQgb3IgaW1wcm92ZW1lbnRzIHRvIGJlIG1hZGUuCj4KPiBUaGFua3MsCj4KPiBNaWNoYWVs Cj4KPiAgICAgICAgQ0xPTkVfTkVXVVNFUgo+ICAgICAgICAgICAgICAgKFRoaXMgIGZsYWcgZmly c3QgYmVjYW1lIG1lYW5pbmdmdWwgZm9yIGNsb25lKCkgaW4gTGludXgKPiAgICAgICAgICAgICAg IDIuNi4yMywgdGhlIGN1cnJlbnQgY2xvbmUoKSAgc2VtYW50aWNzICB3ZXJlICBtZXJnZWQgIGlu Cj4gICAgICAgICAgICAgICBMaW51eCAgMy41LCBhbmQgdGhlIGZpbmFsIHBpZWNlcyB0byBtYWtl IHRoZSB1c2VyIG5hbWVz4oCQCj4gICAgICAgICAgICAgICBwYWNlcyBjb21wbGV0ZWx5IHVzYWJs ZSB3ZXJlIG1lcmdlZCBpbiBMaW51eCAzLjguKQo+Cj4gICAgICAgICAgICAgICBJZiBDTE9ORV9O RVdVU0VSIGlzIHNldCwgdGhlbiBjcmVhdGUgdGhlICBwcm9jZXNzICBpbiAgYQo+ICAgICAgICAg ICAgICAgbmV3ICB1c2VyICBuYW1lc3BhY2UuICBJZiB0aGlzIGZsYWcgaXMgbm90IHNldCwgdGhl biAoYXMKPiAgICAgICAgICAgICAgIHdpdGggZm9yaygyKSkgdGhlIHByb2Nlc3MgaXMgY3JlYXRl ZCBpbiAgdGhlICBzYW1lICB1c2VyCj4gICAgICAgICAgICAgICBuYW1lc3BhY2UgYXMgdGhlIGNh bGxpbmcgcHJvY2Vzcy4KPgo+ICAgICAgICAgICAgICAgQSAgdXNlciAgbmFtZXNwYWNlICBwcm92 aWRlcyBhbiBpc29sYXRlZCBlbnZpcm9ubWVudCBmb3IKPiAgICAgICAgICAgICAgIHNlY3VyaXR5 IHJlbGF0ZWQgaWRlbnRpZmllcnMsIGluIHBhcnRpY3VsYXIsICB1c2VyICBJRHMsCj4gICAgICAg ICAgICAgICBncm91cCBJRHMsIGtleXMgKHNlZSBrZXljdGwoMikpLCBhbmQgY2FwYWJpbGl0aWVz Lgo+Cj4gICAgICAgICAgICAgICBXaGVuICBhIHVzZXIgbmFtZXNwYWNlIGlzIGNyZWF0ZWQsIGl0 IHN0YXJ0cyBvdXQgd2l0aG91dAo+ICAgICAgICAgICAgICAgYSBtYXBwaW5nIG9mIHVzZXIgSURz IChncm91cCBJRHMpICB0byAgdGhlICBwYXJlbnQgIHVzZXIKPiAgICAgICAgICAgICAgIG5hbWVz cGFjZS4gICBUaGUgZGVzaXJlZCBtYXBwaW5nIG9mIHVzZXIgSURzIChncm91cCBJRHMpCj4gICAg ICAgICAgICAgICB0byB0aGUgcGFyZW50IHVzZXIgbmFtZXNwYWNlIG1heSBiZSBzZXQgYnkgd3Jp dGluZyAgaW50bwo+ICAgICAgICAgICAgICAgL3Byb2MvW3BpZF0vdWlkX21hcCAoL3Byb2MvW3Bp ZF0vZ2lkX21hcCk7IHNlZSBwcm9jKDUpLgo+Cj4gICAgICAgICAgICAgICBUaGUgIGZpcnN0IHBy b2Nlc3MgaW4gYSB1c2VyIG5hbWVzcGFjZSBzdGFydHMgb3V0IHdpdGggYQo+ICAgICAgICAgICAg ICAgY29tcGxldGUgc2V0IG9mIGNhcGFiaWxpdGllcyB3aXRoICByZXNwZWN0ICB0byAgdGhlICBu ZXcKPiAgICAgICAgICAgICAgIHVzZXIgbmFtZXNwYWNlLgo+Cj4gICAgICAgICAgICAgICBTeXN0 ZW0gIGNhbGxzICB0aGF0ICByZXR1cm4gIHVzZXIgIElEcyAgKGdyb3VwIElEcykgd2lsbAo+ICAg ICAgICAgICAgICAgcmV0dXJuIGVpdGhlciB0aGUgdXNlciBJRCAoZ3JvdXAgIElEKSAgbWFwcGVk ICBpbnRvICB0aGUKPiAgICAgICAgICAgICAgIGN1cnJlbnQgIHVzZXIgIG5hbWVzcGFjZSAgaWYg IHRoZXJlIGlzIGEgbWFwcGluZywgb3IgdGhlCj4gICAgICAgICAgICAgICBvdmVyZmxvdyB1c2Vy IElEIChncm91cCBJRCk7IHRoZSBkZWZhdWx0IHZhbHVlICBmb3IgIHRoZQo+ICAgICAgICAgICAg ICAgb3ZlcmZsb3cgIHVzZXIgSUQgKGdyb3VwIElEKSBpcyA2NTUzNC4gIFNlZSB0aGUgZGVzY3Jp cOKAkAo+ICAgICAgICAgICAgICAgdGlvbnMgb2YgL3Byb2Mvc3lzL2tlcm5lbC9vdmVyZmxvd3Vp ZCBhbmQgL3Byb2Mvc3lzL2tlcuKAkAo+ICAgICAgICAgICAgICAgbmVsL292ZXJmbG93Z2lkIGlu IHByb2MoNSkuCj4KPiAgICAgICAgICAgICAgIFVzZSAgb2YgIHRoaXMgZmxhZyByZXF1aXJlcyBh IGtlcm5lbCBjb25maWd1cmVkIHdpdGggdGhlCj4gICAgICAgICAgICAgICBDT05GSUdfVVNFUl9O UyAgb3B0aW9uLiAgIEJlZm9yZSAgTGludXggIDMuOCwgICB1c2UgICBvZgo+ICAgICAgICAgICAg ICAgQ0xPTkVfTkVXVVNFUiAgcmVxdWlyZWQgdGhhdCB0aGUgY2FsbGVyIGhhdmUgdGhyZWUgY2Fw YeKAkAo+ICAgICAgICAgICAgICAgYmlsaXRpZXM6ICBDQVBfU1lTX0FETUlOLCAgQ0FQX1NFVFVJ RCwgIGFuZCAgQ0FQX1NFVEdJRC4KPiAgICAgICAgICAgICAgIFN0YXJ0aW5nICB3aXRoICBMaW51 eCAgMy44LCAgbm8gcHJpdmlsZWdlcyBhcmUgbmVlZGVkIHRvCj4gICAgICAgICAgICAgICBjcmVh dGUgYSB1c2VyIG5hbWVzcGFjZSwgYW5kIG1vdW50LCBQSUQsIElQQywgIG5ldCwgIGFuZAo+ICAg ICAgICAgICAgICAgVVRTICAgbmFtZXNwYWNlcyAgIGNhbiAgIGJlICAgY3JlYXRlZCAgIHdpdGgg ICBqdXN0ICB0aGUKPiAgICAgICAgICAgICAgIENBUF9TWVNfQURNSU4gY2FwYWJpbGl0eSBpbiB0 aGUgY2FsbGVyJ3MgdXNlciBuYW1lc3BhY2UuCj4KPiAgICAgICAgICAgICAgIE92ZXIgdGhlIHll YXJzLCB0aGVyZSBoYXZlIGJlZW4gYSBsb3Qgb2YgIGZlYXR1cmVzICB0aGF0Cj4gICAgICAgICAg ICAgICBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIExpbnV4IGtlcm5lbCB0aGF0IGFyZSBvbmx5IGF2 YWls4oCQCj4gICAgICAgICAgICAgICBhYmxlIHRvIHByaXZpbGVnZWQgdXNlcnMgYmVjYXVzZSBv ZiB0aGVpciAgcG90ZW50aWFsICB0bwo+ICAgICAgICAgICAgICAgY29uZnVzZSAgc2V0LXVzZXIt SUQtcm9vdCAgYXBwbGljYXRpb25zLiAgSW4gZ2VuZXJhbCwgaXQKPiAgICAgICAgICAgICAgIGJl Y29tZXMgc2FmZSB0byBhbGxvdyB0aGUgcm9vdCB1c2VyIGluIGEgdXNlciAgbmFtZXNwYWNlCj4g ICAgICAgICAgICAgICB0byB1c2UgdGhvc2UgZmVhdHVyZXMgYmVjYXVzZSBpdCBpcyBpbXBvc3Np YmxlLCB3aGlsZSBpbgo+ICAgICAgICAgICAgICAgYSB1c2VyIG5hbWVzcGFjZSwgdG8gZ2FpbiBt b3JlIHByaXZpbGVnZSB0aGFuICB0aGUgIHJvb3QKPiAgICAgICAgICAgICAgIHVzZXIgb2YgYSB1 c2VyIG5hbWVzcGFjZSBoYXMuCgoKSSBkb24ndCBzZWUgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGF0 IHRleHQuCgpIYXBweSBOZXcgWWVhci4KCkVyaWMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkNvbnRhaW5lcnMgbWFpbGluZyBsaXN0CkNvbnRhaW5lcnNA bGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24u b3JnL21haWxtYW4vbGlzdGluZm8vY29udGFpbmVycw==