sabato 1 gennaio 2000

[AL CORPUS] The Hidden Side of Things [6/6]

MTQzMi7CoMKgwqDCoApUaGUgYW5pbWFsIGlzIGxlc3MgY29tcGxleCBpbiBoaXMgZW1vdGlvbnMgdGhhbiB0aGUgaHVtYW4gYmVpbmcsIGJ1dCBoZSAKaXMgY2FwYWJsZSBvZiBhZmZlY3Rpb24gYW5kIGhhdHJlZCwgb2YgZmVhciBhbmQgcHJpZGUsIG9mIGplYWxvdXN5IG9yIG9mIHNoYW1lLiAKU29tZSBhbmltYWxzLCB0b28sIHNlZW0gdG8gaGF2ZSBhIHNlbnNlIG9mIGh1bW91cjsgYXQgYW55IHJhdGUsIHRoZXkga2Vlbmx5IAplbmpveSBwbGF5aW5nIHRyaWNrcyBvbiBvbmUgYW5vdGhlciwgYW5kIHRoZXkgb2JqZWN0IGdyZWF0bHkgdG8gYmVpbmcgbWFkZSB0byAKYXBwZWFyIHJpZGljdWxvdXMgb3IgdG8gYmVpbmcgbGF1Z2hlZCBhdC4gVGhlcmUgaXMgbm90aGluZyB0byBzaG93IHRoYXQgdGhlc2UgCmVtb3Rpb25zIGFyZSBsZXNzIGluIHByb3BvcnRpb24gaW4gdGhlIGFuaW1hbCB0aGFuIHRoZXkgYXJlIGluIHVzOyBidXQgd2UgbWF5IApzYXkgdGhhdCB0aGUgYW5pbWFsIGhhcyBmZXdlciBlbW90aW9ucyBhbmQgdGhhdCB0aGV5IGFyZSBsZXNzIGNvbXBsZXgsIGFuZCBoaXMgCm1ldGhvZHMgb2YgZXhwcmVzc2luZyB0aGVtIGFyZSBtb3JlIGxpbWl0ZWQuIAoKCjE0MzMuwqDCoMKgwqAKSWYgd2UgZGVzY2VuZCB0byB0aGUgdmVnZXRhYmxlIGtpbmdkb20gd2UgZmluZCB0aGF0IHRoZSB2ZWdldGFibGUgaGFzIApzY2FyY2VseSBhbnkgcG93ZXIgb2YgZXhwcmVzc2lvbjsgYnV0IHdlIHNoYWxsIGJlIG1ha2luZyBhIGdyYXZlIG1pc3Rha2UgaWYgd2UgCnRoZXJlZm9yZSBhc3N1bWUgdGhhdCB0aGVyZSBhcmUgbm8gZmVlbGluZ3MgdG8gZXhwcmVzcy4gRW1vdGlvbiBpbiB0aGUgdmVnZXRhYmxlIApraW5nZG9tIGlzIGFnYWluIGZhciBsZXNzIGNvbXBsZXggZXZlbiB0aGFuIHRoYXQgb2YgdGhlIGFuaW1hbCwgYW5kIGl0IGlzIAphbHRvZ2V0aGVyIHZhZ3Vlci0tIGEgc29ydCBvZiBibGluZCBpbnN0aW5jdHVhbCBmZWVsaW5nLiBUaGUgY2hpZWYgcGh5c2ljYWwgCm1hbmlmZXN0YXRpb24gb2YgaXQgaXMgdGhlIHdlbGwta25vd24gZmFjdCB0aGF0IHNvbWUgcGVvcGxlIGFyZSBhbHdheXMgZm9ydHVuYXRlIAp3aXRoIHBsYW50cywgd2hpbGUgb3RoZXJzIGFyZSBhbHdheXMgdW5mb3J0dW5hdGUsIGV2ZW4gd2hlbiB0aGUgcGh5c2ljYWwgCm1lYXN1cmVzIGFkb3B0ZWQgYXJlIHByZWNpc2VseSB0aGUgc2FtZS4gVGhpcyBkaWZmZXJlbmNlIGV4aXN0cyBldmVyeXdoZXJlLCBidXQgCmluIEluZGlhIGl0IGhhcyBiZWVuIHNwZWNpYWxseSBub3RlZCwgYW5kIGNlcnRhaW4gcGVvcGxlIGFyZSBkZXNjcmliZWQgYXMgaGF2aW5nIAp0aGUgbHVja3kgaGFuZCwgYW5kIGl0IGlzIHJlY29nbmlzZWQgdGhhdCBhbG1vc3QgYW55dGhpbmcgd2hpY2ggdGhvc2UgcGVvcGxlIApwbGFudCB3aWxsIGdyb3c7IGV2ZW4gdW5kZXIgcXVpdGUgdW5mYXZvdXJhYmxlIGNvbmRpdGlvbnMsIGFuZCB0aGF0IGFueXRoaW5nIAp3aGljaCB0aGV5IGN1bHRpdmF0ZSBpcyBzdXJlIHRvIHR1cm4gb3V0IHdlbGwuIFdoZW4gdGhpcyBpbmZsdWVuY2UgaXMgdW5pdmVyc2FsIApvdmVyIHRoZSB2ZWdldGFibGUga2luZ2RvbSBpdCBpcyBub3QgYSBxdWVzdGlvbiBvZiBpbmRpdmlkdWFsIGxpa2luZywgYnV0IG9mIApjZXJ0YWluIGNoYXJhY3RlcmlzdGljcyBpbiB0aGUgcGVyc29uLCBhbmQgY2VydGFpbiBxdWFsaXRpZXMgaW4gaGlzIGFzdHJhbCBhbmQgCmV0aGVyaWMgdmVoaWNsZXMgd2hpY2ggcHJvdmUgZ2VuZXJhbGx5IGF0dHJhY3RpdmUsIGp1c3QgYXMgdGhlcmUgYXJlIHNvbWUgcGVvcGxlIAp3aXRoIHdob20gYWxsIGRvZ3Mgd2lsbCBhdCBvbmNlIG1ha2UgZnJpZW5kcywgYW5kIG90aGVycyB3aG8gd2l0aG91dCBlZmZvcnQgY2FuIAptYW5hZ2UgdGhlIG1vc3QgcmVjYWxjaXRyYW50IGhvcnNlcy4gCgoKMTQzNC7CoMKgwqDCoApCdXQgcGxhbnRzIGFyZSBhbHNvIGNhcGFibGUgb2YgaW5kaXZpZHVhbCBhdHRhY2htZW50LCBhbmQgd2hlbiB0aGV5IGdldCAKdG8ga25vdyBwZW9wbGUgd2VsbCwgdGhleSBhcmUgcGxlYXNlZCB0byBzZWUgKG9yIHJhdGhlciB0byBmZWVsKSB0aGVtIG5lYXIuIEEgCnBlcnNvbiB3aG8gcG91cnMgdXBvbiBoaXMgZmxvd2VycyBhIHN0cmVhbSBvZiBhZG1pcmF0aW9uIGFuZCBhZmZlY3Rpb24gZXZva2VzIGluIAp0aGVtIGEgZmVlbGluZyBvZiBwbGVhc3VyZS0tIGZpcnN0IG9mIGEgZ2VuZXJhbCBwbGVhc3VyZSBpbiByZWNlaXZpbmcgCmFkbWlyYXRpb24sIHdoaWNoIG1pZ2h0IGJlIHRob3VnaHQgb2YgYXMgYSBzb3J0IG9mIGdlcm0gb2YgcHJpZGUsIGFuZCB0aGVuLCAKc2Vjb25kbHksIGEgZmVlbGluZyBvZiBwbGVhc3VyZSBhdCB0aGUgcHJlc2VuY2Ugb2YgdGhlIHBlcnNvbiB3aG8gYWRtaXJlcywgd2hpY2ggCmluIHRoZSBzYW1lIHdheSBpcyB0aGUgZ2VybSBvZiBsb3ZlIGFuZCBncmF0aXR1ZGUuIFBsYW50cyBhcmUgYWxzbyBjYXBhYmxlIG9mIAphbmdlciBhbmQgZGlzbGlrZSwgdGhvdWdoIG91dHdhcmRseSB0aGV5IGhhdmUgaGFyZGx5IGFueSBtZWFucyBvZiBzaG93aW5nIHRoZW0uCgoKMTQzNS7CoMKgwqDCoApBbiBvY2N1bHRpc3Qgd2hvIGhhcyBhIGdhcmRlbiB3aWxsIG1ha2UgYSBwb2ludCBvZiBzZWVpbmcgdGhhdCBpdCBpcyBpbiAKZXZlcnkgd2F5IHBlcmZlY3RseSBhbmQgY2FyZWZ1bGx5IGxvb2tlZCBhZnRlciwgYW5kIG1vcmUgdGhhbiB0aGlzLCBoZSB3aWxsIApoaW1zZWxmIG1ha2UgZnJpZW5kcyB3aXRoIHRoZSBmbG93ZXJzIGFuZCB0cmVlcyBhbmQgc2hydWJzLCBhbmQgd2lsbCBnbyAKc29tZXRpbWVzIHRvIHZpc2l0IHRoZW0gYW5kIGdpdmUgZWFjaCBpdHMgZHVlIG1lZWQgb2YgYWRtaXJhdGlvbiwgYW5kIHNvIGluIApnaXZpbmcgcGxlYXN1cmUgdG8gdGhlc2UgbG93bHkgb3JnYW5pc21zIGhlIHdpbGwgaGltc2VsZiBiZSBzdXJyb3VuZGVkIGJ5IGEgCnZhZ3VlIGZlZWxpbmcgb2YgYWZmZWN0aW9uLiAKCgoxNDM2LsKgwqDCoMKgCkl0IG1heSBiZSBzYWlkIHRoYXQgdGhlIGZlZWxpbmcgb2YgYSB2ZWdldGFibGUgY2FuIGhhcmRseSBiZSBzdHJvbmcgCmVub3VnaCB0byBiZSB3b3J0aCB0YWtpbmcgaW50byBhY2NvdW50LiBJdCBpcyB0cnVlIHRoYXQgdGhlIGluZmx1ZW5jZSBleGVydGVkIGJ5IAppdCB1cG9uIGEgaHVtYW4gYmVpbmcgaXMgbGVzcyB0aGFuIHdvdWxkIGJlIHByb2R1Y2VkIGJ5IHRoZSBmZWVsaW5nIG9mIGFuIAphbmltYWw7IGJ1dCB0aGVzZSBpbmZsdWVuY2VzIGRvIGV4aXN0LCBhbmQgdGhvdWdoIHRoZSBmZWVsaW5nIG9mIG9uZSBwbGFudCBtYXkgCm5vdCBzZWVtIGltcG9ydGFudCwgdGhlIGZlZWxpbmcgb2YgaHVuZHJlZHMgYmVnaW5zIHRvIGJlIGEgcmVjb2duaXNhYmxlIGZhY3RvciwgCmFuZCBpZiB3ZSB3aXNoIHRvIG1ha2UgdGhlIGJlc3QgcG9zc2libGUgY29uZGl0aW9ucywgd2UgbXVzdCBub3QgaWdub3JlIG91ciBsZXNzIApkZXZlbG9wZWQgYnJldGhyZW4gb2YgdGhlIGxvd2VyIGtpbmdkb21zLiBUaGF0IG11Y2ggZXZlbiBmcm9tIHRoZSBwdXJlbHkgc2VsZmlzaCAKcG9pbnQgb2YgdmlldzsgYnV0IHRoZSBvY2N1bHRpc3QgbmF0dXJhbGx5IHRoaW5rcyBmaXJzdCBvZiB0aGUgZWZmZWN0IHVwb24gdGhlIApwbGFudC4gCgoKMTQzNy7CoMKgwqDCoApXaGVuIHdlIGZvcm0gYSBnYXJkZW4gd2UgYXJlIGRyYXdpbmcgcm91bmQgdXMgYSBudW1iZXIgb2YgbWVtYmVycyBvZiB0aGUgCnZlZ2V0YWJsZSBraW5nZG9tIGZvciBvdXIgb3duIHBsZWFzdXJlOyBidXQgYXQgdGhlIHNhbWUgdGltZSB0aGlzIGFmZm9yZHMgdXMgYW4gCm9wcG9ydHVuaXR5IG9mIGhlbHBpbmcgdGhlbSBpbiB0aGVpciBldm9sdXRpb24sIGFuIG9wcG9ydHVuaXR5IHdoaWNoIHNob3VsZCBub3QgCmJlIG5lZ2xlY3RlZC4gUGxhbnRzIGRpZmZlciBtdWNoIGluIHRoZWlyIHBvd2VyIHRvIHJlY2VpdmUgYW5kIHJlc3BvbmQgdG8gaHVtYW4gCmluZmx1ZW5jZXMuIEEgbGFyZ2UgdHJlZSwgZm9yIGV4YW1wbGUsIHdpdGggaXRzIHNsb3cgZ3Jvd3RoIGFuZCBpdHMgbG9uZyBsaWZlLCAKaXMgY2FwYWJsZSBvZiBmb3JtaW5nIGEgZmFyIHN0cm9uZ2VyIGEgYXR0YWNobWVudCB0aGFuIGFueXRoaW5nIHdoaWNoIGlzIG1lcmVseSAKYW5udWFsLiBTdWNoIGEgdHJlZSBjb21lcyB0byBoYXZlIGEgZGVjaWRlZCBwZXJzb25hbGl0eSBvZiBpdHMgb3duLCBhbmQgaXMgZXZlbiAKc29tZXRpbWVzIGFibGUgdGVtcG9yYXJpbHkgdG8gZXh0ZXJuYWxpc2UgdGhhdCBwZXJzb25hbGl0eSwgc28gdGhhdCBpdCBjYW4gYmUgCnNlZW4gYnkgdGhlIGNsYWlydm95YW50LiBJbiBzdWNoIGEgY2FzZSBpdCB1c3VhbGx5IHRha2VzIHVwb24gaXRzZWxmIGh1bWFuIGZvcm0gCmZvciB0aGUgdGltZSwgYXMgSSBoYXZlIG1lbnRpb25lZCBpbiBUaGUgSW5uZXIgTGlmZSwgVm9sLiBpaS4gVGhvc2Ugd2hvIAp3aXNoIHRvIHVuZGVyc3RhbmQgaG93IG11Y2ggbW9yZSBpbnRlbGxpZ2VuY2UgdGhlcmUgaXMgaW4gdGhlIHZlZ2V0YWJsZSBraW5nZG9tIAp0aGFuIHdlIHVzdWFsbHkgdGhpbmssIHNob3VsZCByZWFkIGEgZGVsaWdodGZ1bCBib29rIGNhbGxlZCBUaGUgU2FnYWNpdHkgYW5kIApNb3JhbGl0eSBvZiBQbGFudHMgYnkgSi5FLiBUYXlsb3IuIAoKCjE0MzguwqDCoMKgwqAKTkFUVVJFLVNQSVJJVFMgCgoKMTQzOS7CoMKgwqDCoApUaGlzIHdvbmRlcmZ1bCBldm9sdXRpb24gaGFzIGJlZW4gZGVzY3JpYmVkIGluIGFuIGVhcmxpZXIgY2hhcHRlciwgYnV0IApmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIGl0cyBlZmZlY3QgdXBvbiB1cywgcmF0aGVyIHRoYW4gb2Ygb3VycyB1cG9uIGl0LiBIZXJlIAp3ZSBtdXN0IGNvbnNpZGVyIHRoZSBvdXRlciBzaWRlIG9mIHRoYXQgcmVsYXRpb24tLSB0aGUgaW5mbHVlbmNlIHdoaWNoIHdlIG1heSAKZXhlcmNpc2UgdXBvbiB0aGUgbmF0dXJlLXNwaXJpdHMgb2Ygb3VyIG5laWdoYm91cmhvb2QsIGFuZCB0aGUgZnJpZW5kc2hpcCB3aGljaCAKd2UgbWF5IG1ha2Ugd2l0aCB0aGVtLiBNYW55IG9mIHRoZWlyIHRyaWJlcyBhcmUgc28gYmVhdXRpZnVsIGFuZCBzbyBpbnRlcmVzdGluZyAKdGhhdCB0aGVpciBhY3F1YWludGFuY2Ugd291bGQgcmVwYXkgY3VsdGl2YXRpb24sIGFuZCB3ZSBtYXkgaGVscCB0byBkZXZlbG9wIAp0aGVpciBpbnRlbGxlY3QgYW5kIGFmZmVjdGlvbiwgYW5kIHNvIGRvIHRoZW0gbXVjaCBnb29kLiBUaG9zZSBvZiB0aGVtIHdobyAKcG9zc2VzcyBldGhlcmljIGJvZGllcyBoYXZlIHRoZSBwb3dlciB0byBtYWtlIHRoZW1zZWx2ZXMgcGh5c2ljYWxseSB2aXNpYmxlIGlmIAp0aGV5IGNob29zZSwgc28gbWVuIHdobyBhcmUgaGFwcHkgZW5vdWdoIHRvIGdhaW4gdGhlaXIgZnJpZW5kc2hpcCBtYXkgCm9jY2FzaW9uYWxseSBiZSByZXdhcmRlZCBieSBhIHZpZXcgb2YgdGhlbSBldmVuIHdpdGggb3JkaW5hcnkgc2lnaHQuIFRoZXJlIGlzIAphbHNvIGEgcHJvYmFiaWxpdHkgdGhhdCBzdWNoIGZyaWVuZHMgbWF5IGJlIGhlbHBlZCBieSB0aGVzZSBlbHZlcyB0byBhdHRhaW4gCmZsYXNoZXMgb2YgdGVtcG9yYXJ5IGNsYWlydm95YW5jZSwgaW4gb3JkZXIgdGhhdCBpbiB0aGF0IHdheSB0aGV5IG1heSBzZWUgdGhlbS4KCgoxNDQwLsKgwqDCoMKgCkEgZmFpcnkgaGFzIG1hbnkgcG9pbnRzIG9mIHJlc2VtYmxhbmNlIHRvIGEgd2lsZCBhbmltYWwsIGFuZCB0aGUgbWV0aG9kIApvZiBtYWtpbmcgZnJpZW5kcyB3aXRoIGhpbSBpcyBtdWNoIHdoYXQgd2Ugc2hvdWxkIGhhdmUgdG8gYWRvcHQgaWYgd2Ugd2VyZSAKdHJ5aW5nIHRvIHRhbWUgYmlyZHMgb3IgZGVlci4gSGUgaXMgc2h5IGFuZCBkaXN0cnVzdGZ1bCB0b3dhcmRzIG1hbjsgaG93IGlzIHRoaXMgCmRpc3RydXN0IHRvIGJlIG92ZXJjb21lPyBPbmUgd2hvIHdpc2hlcyB0byBzdHVkeSBhdCBmaXJzdC1oYW5kIHRoZSBoYWJpdHMgb2YgYSAKYmlyZCB1c3VhbGx5IGdvZXMgdG8gdGhlIGhhdW50IG9mIHRoZSBjcmVhdHVyZSwgY29uY2VhbHMgaGltc2VsZiwgYW5kIHJlbWFpbnMgCnBlcmZlY3RseSBxdWlldCwgaW4gdGhlIGhvcGUgdGhhdCB0aGUgYmlyZCB3aWxsIG5vdCBzZWUgaGltLCBvciBpZiBpdCBkb2VzLCB3aWxsIApiZSByZWFzc3VyZWQgYnkgaGlzIGFic29sdXRlIHN0aWxsbmVzcy4gVGhlIGV0aGVyaWMgc2lnaHQgb2YgYSBuYXR1cmUtc3Bpcml0IApwaWVyY2VzIHRocm91Z2ggd2FsbHMgb3IgYnVzaGVzLCBzbyBpdCBpcyBob3BlbGVzcyB0byBhdHRlbXB0IHRvIGV2YWRlIGhpcyAKb2JzZXJ2YXRpb247IGFuZCBmb3IgaGltIHRoZSBzdGlsbG5lc3Mgd2hpY2ggaXMgaW1wb3J0YW50IGlzIG5vdCB0aGF0IG9mIHRoZSAKcGh5c2ljYWwgYm9keSwgYnV0IG9mIHRoZSBhc3RyYWwuIEhlIG9iamVjdHMgdG8gdGhlIGZpbHRoeSBwaHlzaWNhbCBlbWFuYXRpb25zIApvZiB0aGUgYXZlcmFnZSBtYW4tLSBvZiBtZWF0LCBvZiB0b2JhY2NvLCBvZiBhbGNvaG9sLCBhbmQgb2YgZ2VuZXJhbCAKdW5jbGVhbmxpbmVzczsgb2J2aW91c2x5IG9uZSB3aG8gd2lzaGVzIHRvIG1ha2UgZnJpZW5kcyB3aXRoIGhpbSBtdXN0IGJlIGZyZWUgCmZyb20gYWxsIHRoZXNlLiBIZSBvYmplY3RzLCB0b28sIHRvIHN0b3JtcyBvZiBwYXNzaW9uIGFuZCBpbXB1cml0eTsgc28gdGhlIG1hbiAKd2hvIHNlZWtzIGhpbSBtdXN0IGFsc28gYmUgZnJlZSBmcm9tIGFsbCBsb3cgYW5kIHNlbGZpc2ggZmVlbGluZ3MsIHN1Y2ggYXMgbHVzdCwgCmFuZ2VyLCBlbnZ5LCBqZWFsb3VzeSwgYXZhcmljZSBvciBkZXByZXNzaW9uLiAKCgoxNDQxLsKgwqDCoMKgClRoZXNlIG5lZ2F0aXZlIHF1YWxpZmljYXRpb25zIGJlaW5nIGluIG9yZGVyLCBjYW4gYW55dGhpbmcgcG9zaXRpdmUgYmUgCmRvbmUgdG8gaW52aXRlIHRoZSBhcHByb2FjaCBvZiBzbyBjb3kgYSB2aXNpdG9yPyBBbmltYWxzIGNhbiBvZnRlbiBiZSBhdHRyYWN0ZWQgCmJ5IHRoZSBvZmZlciBvZiBmb29kLCBidXQgYXMgYSBmYWlyeSBkb2VzIG5vdCBlYXQsIHRoYXQgcGFydGljdWxhciBhbGx1cmVtZW50IGlzIApub3QgYXZhaWxhYmxlIGluIGhpcyBjYXNlLiBUaGUgc3R1ZGVudCBjYW4gcHJvdmlkZSBmb3IgaGltIGNvbmRpdGlvbnMgd2hpY2ggaGUgCmlzIGtub3duIHRvIGVuam95LiBTdHJvbmcgdW5zZWxmaXNoIGFmZmVjdGlvbiBvciBkZXZvdGlvbiwgb3IgaW5kZWVkIGFueSBoaWdoIApmZWVsaW5nIHdoaWNoIGJ1cm5zIHN0ZWFkaWx5IGFuZCB3aXRob3V0IHdpbGQgc3VyZ2luZ3MsIGNyZWF0ZXMgYW4gYXRtb3NwaGVyZSBpbiAKd2hpY2ggdGhlIG5hdHVyZS1zcGlyaXQgZGVsaWdodHMgdG8gYmF0aGUuIAoKCjE0NDIuwqDCoMKgwqAKVGhlIG1hbi0tIHRoZSByaWdodCBzb3J0IG9mIG1hbi0tIHdobyByZXN0cyBmb3IgYSB3aGlsZSBpbiBzb21lIGxvdmVseSwgCmxvbmVseSBzcG90LS0gaW4gYSB3b29kIHBlcmhhcHMsIG9yIGJ5IGEgc3RyZWFtIG9yIGEgd2F0ZXJmYWxsLS0gYW5kIHJldmVscyBpbiAKc3VjaCB0aG91Z2h0cyBhcyBoYXZlIGJlZW4gc3VnZ2VzdGVkLCBpcyBxdWl0ZSBsaWtlbHkgdG8gYmVjb21lIGF3YXJlIG9mIGFuIAp1bmZhbWlsaWFyIHByZXNlbmNlLCBvZiBzb21ldGhpbmcgZmFzY2luYXRpbmcsIHlldCBzdHJhbmdlIGFuZCBub24taHVtYW47IGFuZCAKcGVyY2hhbmNlLCBpZiBmb3J0dW5lIGdyZWF0bHkgZmF2b3VycyBoaW0sIGhlIG1heSBldmVuIHNlZSBhcyB3ZWxsIGFzIGZlZWwsIHdoZW4gCnRoZSBzaHksIHdpbGQgY3JlYXR1cmUgYmVjb21lcyBhIGxpdHRsZSBtb3JlIGFjY3VzdG9tZWQgdG8gaGltLCBhbmQgZ3JhZHVhbGx5IApsZWFybnMgdG8gdHJ1c3QgYW5kIGxpa2UgaGltLiBCdXQgaWYgdGhlIHN0dWRlbnQgcmVtZW1iZXJzIHRoYXQgdG8gdGhlIApuYXR1cmUtc3Bpcml0IHRoaXMgaXMgYW4gYWR2ZW50dXJlIHN1Y2ggYXMgaXQgd291bGQgYmUgZm9yIGEgbW91c2UgdG8gbWFrZSAKZnJpZW5kcyB3aXRoIGEgY2F0LCBvciBmb3IgYSBtYW4gdG8gZW5kZWF2b3VyIHRvIGVzdGFibGlzaCBmcmF0ZXJuYWwgcmVsYXRpb25zIAp3aXRoIGEgdGlnZXIgaW4gdGhlIGp1bmdsZSwgaGUgd2lsbCBsZWFybiB0byBleGVyY2lzZSB1bmxpbWl0ZWQgcGF0aWVuY2UsIGFuZCAKbm90IHRvIGV4cGVjdCBpbW1lZGlhdGUgcmVzdWx0cy4gCgoKMTQ0My7CoMKgwqDCoApBbG1vc3QgYWxsIG5hdHVyZS1zcGlyaXRzIGRlbGlnaHQgaW4gbXVzaWMsIGFuZCBzb21lIGFyZSBzcGVjaWFsbHkgCmF0dHJhY3RlZCBieSBjZXJ0YWluIG1lbG9kaWVzOyBzbyBpZiB0aGUgZXhwZXJpbWVudGVyIGhhcHBlbnMgdG8gYmUgYSBwZXJmb3JtZXIgCnVwb24gc29tZSBwb3J0YWJsZSBpbnN0cnVtZW50LCBzdWNoIGFzIHRoZSBmbHV0ZSwgaXQgbWF5IGluY3JlYXNlIGhpcyBjaGFuY2VzIG9mIApzdWNjZXNzIGlmIGhlIHBsYXlzIHVwb24gaXQuIEkga25ldyBhbiBlbGYgaW4gSXRhbHkgd2hvIHdhcyBzbyBmYXNjaW5hdGVkIGJ5IGEgCnBhcnRpY3VsYXIgcGllY2Ugb2YgbXVzaWMgdGhhdCB3aGVuIGl0IHdhcyBwbGF5ZWQgb24gdGhlIHBpYW5vLCBoZSB3b3VsZCAKYWN0dWFsbHkgbGVhdmUgdGhlIHdvb2QgaW4gd2hpY2ggaGUgZHdlbHQgYW5kIGNvbWUgaW50byB0aGUgZHJhd2luZy1yb29tIHRvIAplbmpveSBpdCBhbmQgZGFuY2UgdG8gaXQtLSBvciByYXRoZXIgdG8gYmF0aGUgaW4gaXRzIHNvdW5kLXdhdmVzLCB0byBwdWxzYXRlIGFuZCAKc3dheSBpbiBoYXJtb255IHdpdGggdGhlbS4gQnV0IEkgbmV2ZXIga25ldyBoaW0gdG8gZG8gdGhpcyBpZiB0aGVyZSB3ZXJlIG1vcmUgCnRoYW4gdHdvIG9yIHRocmVlIHBlb3BsZSBpbiB0aGUgcm9vbS0tIGFuZCBldmVuIHRob3NlIG11c3QgYmUgZnJpZW5kcyB3aG9tIGhlIApoYWQgbGVhcm5lZCB0byB0cnVzdC4gCgoKMTQ0NC7CoMKgwqDCoApNb3JlIHRoYW4gb25jZSBJIGhhdmUgc2VlbiBhIHNoZXBoZXJkLWJveSBpbiBTaWNpbHksIHNpdHRpbmcgaW4gc29tZSAKbG9uZWx5IHNwb3Qgb24gdGhlIGhpbGxzaWRlLCBwbGF5aW5nIG9uIGhpcyBob21lLW1hZGUgZG91YmxlIFBhbi1waXBlIGxpa2UgYW4gCmFuY2llbnQgR3JlZWssIHdpdGggYW4gYXBwcmVjaWF0aXZlIGF1ZGllbmNlIG9mIGZhaXJpZXMgZnJpc2tpbmcgcm91bmQgaGltIG9mIAp3aGljaCBoZSB3YXMgcHJvYmFibHkgYmxpc3NmdWxseSB1bmNvbnNjaW91cywgdGhvdWdoIG5vIGRvdWJ0IHRoZWlyIGRlbGlnaHQgCnJlYWN0ZWQgdXBvbiBoaW0gYW5kIGFkZGVkIHplc3QgdG8gaGlzIHBsYXlpbmcuIFNvbWV0aW1lcyB0aGUgcGVhc2FudHMgZG8gCnNlZSB0aGUgbmF0dXJlLXNwaXJpdHMsIGhvd2V2ZXI7IHBsZW50eSBvZiBpbnN0YW5jZXMgbWF5IGJlIGZvdW5kIGluIE1yLiBXZW50eicKRmFpcnkgRmFpdGggaW4gQ2VsdGljIENvdW50cmllcy4gCgoKMTQ0NS7CoMKgwqDCoApJTkFOSU1BVEUgU1VSUk9VTkRJTkdTIAoKCjE0NDYuwqDCoMKgwqAKV2UgYXJlIGFsbCB0aGUgd2hpbGUgZXhlcnRpbmcgYW4gaW5mbHVlbmNlIGV2ZW4gb24gd2hhdCB3ZSBjb21tb25seSAKY29uc2lkZXIgb3VyIGluYW5pbWF0ZSBzdXJyb3VuZGluZ3MuIFNvbWUgb2YgdGhlc2UsIGJ5IHRoZSB3YXksIGFyZSBub3QgcXVpdGUgc28gCmluYW5pbWF0ZSBhcyB3ZSBhcmUgYXB0IHRvIHRoaW5rLiBXZSBhbGwga25vdyB0aGF0IHRoZSBEaXZpbmUgTGlmZSBleGlzdHMgaW4gdGhlIAptaW5lcmFsIGtpbmdkb20gYXMgd2VsbCBhcyBpbiB0aG9zZSB3aGljaCBhcmUgaGlnaGVyLCBhbmQgaW4gdGhhdCBzZW5zZSByb2NrcywgCnN0b25lcywgYW5kIG1pbmVyYWxzIG1heSByaWdodGx5IGJlIHRob3VnaHQgb2YgYXMgYWxpdmUuIEJ1dCBjZXJ0YWluIG9iamVjdHMgCmhhdmUgYSBtb3JlIHZpdmlkIGFuZCBzcGVjaWFsIGtpbmQgb2YgbGlmZSwgdGhlIHN0dWR5IG9mIHdoaWNoIGlzIG9mIGdyZWF0IAppbnRlcmVzdC4gCgoKMTQ0Ny7CoMKgwqDCoApUbyBleHBsYWluIGl0IHdlIG11c3QgcmV2ZXJ0IGZvciBhIG1vbWVudCB0byBhIGZhbWlsaWFyIGFuYWxvZ3kuIFdlIGtub3cgCmhvdyB0aGUgbGlmZSBvZiB0aGUgZWxlbWVudGFsIGVzc2VuY2Ugb2YgdGhlIGFzdHJhbCBib2R5IGdhdGhlcnMgaXRzZWxmIHVwIGludG8gCmEga2luZCBvZiBwZXJzb25hbGl0eSAod2hpY2ggd2UgY2FsbCB0aGUgZGVzaXJlIGVsZW1lbnRhbCkgYW5kIGV4aXN0cyBmb3IgdGhlIAp0aW1lIGFzIGEgc2VwYXJhdGUgYmVpbmcgd2l0aCBkZWZpbml0ZSBkZXNpcmVzIGFuZCBkaXNsaWtlcyBvZiBpdHMgb3duLCBhbmQgd2l0aCAKc3VmZmljaWVudCBwb3dlciB0byBleGVyY2lzZSBhIGdyZWF0IGVmZmVjdCBpbiB0aGUgY291cnNlIG9mIGl0cyBsaWZlIG9uIHRoZSBtYW4gCndob3NlIHZlaGljbGUgaXQgaW5mb3Jtcy4gV2Uga25vdyB0aGF0IHRoZSBzaW1pbGFyIGNvbnNjaW91c25lc3MgYW5pbWF0aW5nIHRoZSAKY2VsbHMgb2YgdGhlIHBoeXNpY2FsIGJvZHkgKGluY2x1ZGluZyBvZiBjb3Vyc2UgaXRzIGV0aGVyaWMgcGFydCkgbWFuaWZlc3RzIAppdHNlbGYgaW4gY2VydGFpbiBpbnN0aW5jdGl2ZSBtb3ZlbWVudHMuIEluIGEgd2F5IGFuYWxhZ291cyB0byB0aGlzLCB0aGUgCmNvbnNjaW91c25lc3Mgd2hpY2ggYW5pbWF0ZXMgdGhlIG1vbGVjdWxlcyBvZiBjZXJ0YWluIG1pbmVyYWxzIHdpbGwgY29tYmluZSBpbnRvIAphIHRlbXBvcmFyeSB3aG9sZSB3aGVuIHRob3NlIG1vbGVjdWxlcyBhcmUgd2VsZGVkIHRvZ2V0aGVyIGludG8gYSBkZWZpbml0ZSBmb3JtOyAKYW5kIGVzcGVjaWFsbHkgaXMgdGhpcyB0aGUgY2FzZSB3aGVuIHRoYXQgZm9ybSBkZW1hbmRzIHRoZSBwcmVzZW5jZSBhbmQgCmF0dGVudGlvbiBvZiBtYW4sIGFzIG1hY2hpbmVyeSBkb2VzLiAKCgoxNDQ4LsKgwqDCoMKgCkEgU0hJUCAKCgoxNDQ5LsKgwqDCoMKgClRoZSBtb3N0IHBlcmZlY3QgZXhhbXBsZSBvZiB3aGF0IEkgbWVhbiBpcyB0byBiZSBmb3VuZCBpbiBhIHNoaXAsIGZvciAKdGhlcmUgd2UgaGF2ZSBhIHN0cnVjdHVyZSBidWlsdCBvZiBhbiBlbm9ybW91cyBudW1iZXIgb2YgY29tcG9uZW50IHBhcnRzLCBhbmQgCnVzdWFsbHkgb2YgZGlmZmVyZW50IHN1YnN0YW5jZXMuIEtpcGxpbmcnIHMgc3Rvcnkgb2YgVGhlIFNoaXAgdGhhdCBGb3VuZCAKSGVyc2VsZiBpcyBub3QgbWVyZSBmaWN0aW9uLCBidXQgaGFzIGEgcmVhbCBhbmQgaW1wb3J0YW50IHRydXRoIGJlaGluZCBpdC4gCldoZW4gYSBzaGlwIGlzIGZpcnN0IGJ1aWx0IHNoZSBpcyBub3QgdGh1cyBjb25zY2lvdXMgb2YgaGVyc2VsZiBhcyBhIHVuaXQsIGJ1dCAKaXMgYSBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGEgbnVtYmVyIG9mIHNlcGFyYXRlIHNlbnRpZW5jZXMuIEJ1dCB0aGUgd2hvbGUgZmFicmljCmRvZXMgYmVjb21lIGluIHRpbWUgYSB1bml0IG9mIGNvbnNjaW91c25lc3Mgb3IgYXdhcmVuZXNzLS0gYmVpbmcgdG8gYSAKY2VydGFpbiBleHRlbnQgYXdhcmUgb2YgaXRzZWxmIGFzIGEgd2hvbGUtLSBob3dldmVyIGRpbSBhbmQgdmFndWUgaXRzIApwZXJjaXBpZW5jZSBtYXkgYmUgYXMgY29tcGFyZWQgd2l0aCBvdXIgb3duLiAKCgoxNDUwLsKgwqDCoMKgCkFuZCB0aGF0IGNvbnNjaW91c25lc3MgaGFzIHdoYXQgd2UgY2FuIGhhcmRseSBkZXNjcmliZSBhcyBvdGhlcndpc2UgdGhhbiAKZmVlbGluZ3MsIGluZGlzdGluY3QgdGhvdWdoIHRoZXkgYXJlIGFzIGNvbXBhcmVkIHdpdGggYW55dGhpbmcgdG8gd2hpY2ggd2UgCnVzdWFsbHkgZ2l2ZSB0aGF0IG5hbWUuIFN1Y2ggYW4gb2JzY3VyZSBzZW1pLWVudGl0eSBjZXJ0YWlubHkgbWF5IChhbmQgb2Z0ZW4gCmRvZXMpIGxpa2Ugb25lIHBlcnNvbiBiZXR0ZXIgdGhhbiBhbm90aGVyLCBzbyB0aGF0IG9uZSBwZXJzb24gY2FuIGRvIHdpdGggaXQgCndoYXQgYW5vdGhlciBjYW5ub3QuIFRoaXMgaW4gbm8gd2F5IG1vZGlmaWVzIHRoZSBvdGhlciBmYWN0IHRoYXQgc29tZSBtZW4gYXJlIApiZXR0ZXIgc2VhbWFuIHRoYW4gb3RoZXJzLCBhbmQgd2l0aCBhIGxpdHRsZSBwcmFjdGljZSBjYW4gZ2V0IG91dCBvZiBhbnkgc2hpcCAKdGhlIGJlc3QgdGhhdCBpcyB0byBiZSBnb3QuIEp1c3Qgc28sIHNvbWUgbWVuIGFyZSBzcGxlbmRpZCByaWRlcnMsIGFuZCBjYW4gCmFsbW9zdCBpbW1lZGlhdGVseSBlc3RhYmxpc2ggYSBmcmllbmRseSB1bmRlcnN0YW5kaW5nIHdpdGggYW55IGhvcnNlOyBidXQgcXVpdGUgCmFwYXJ0IGZyb20gdGhhdCwgYSBob3JzZSBtYXkgYmVjb21lIGF0dGFjaGVkIHRvIGEgY2VydGFpbiBtYW4sIGFuZCBsZWFybiB0byAKdW5kZXJzdGFuZCBoaXMgd2lzaGVzIGZhciBtb3JlIHJlYWRpbHkgdGhhbiBhIHN0cmFuZ2VyJyBzLiBUaGUgc2FtZSB0aGluZyBpcyAKdHJ1ZSBvZiB0aGUgdmFndWVyIGNvbnNjaW91c25lc3Mgb2YgdGhlIHNoaXAuIEkgZG8gbm90IHdpc2ggdG8gYmUgdW5kZXJzdG9vZCBhcyAKc3VnZ2VzdGluZyBieSB0aGlzIHRlcm0gYW55dGhpbmcgY29tcGFyYWJsZSwgaW4gZGVmaW5pdGVuZXNzIG9yIHJlc3BvbnNpdmVuZXNzLCAKdG8gdGhlIGNvbnNjaW91c25lc3MgaW4gbWFuOyBidXQgdGhlcmUgY2VydGFpbmx5IGlzIGEgc29tZXRoaW5nLCBob3dldmVyIGxvb3NlIAphbmQgdW5jZXJ0YWluLCB3aGljaCB3ZSBjYW5ub3QgZGVmaW5lIGJ5IGFueSBvdGhlciB3b3JkLiAKCgoxNDUxLsKgwqDCoMKgCk1BQ0hJTkVTIAoKCjE0NTIuwqDCoMKgwqAKVGhlIHNhbWUgdGhpbmcgaXMgdHJ1ZSBvZiBhIHJhaWx3YXkgZW5naW5lLCBvZiBhIG1vdG9yLWNhciBvciBhIGJpY3ljbGUuIApKdXN0IGFzIHRoZSBkcml2ZXIgb3IgcmlkZXIgYmVjb21lcyBhY2N1c3RvbWVkIHRvIGhpcyBtYWNoaW5lIGFuZCBsZWFybnMgdG8ga25vdyAKZXhhY3RseSB3aGF0IGl0IHdpbGwgZG8sIGFuZCB0byBodW1vdXIgaXRzIHZhcmlvdXMgbGl0dGxlIHRyaWNrcywgc28gdGhlIG1hY2hpbmUgCmluIGl0cyB0dXJuIGJlY29tZXMgdXNlZCB0byB0aGUgZHJpdmVyIGFuZCB3aWxsIGRvIG1vcmUgZm9yIGhpbSBpbiB2YXJpb3VzIHdheXMgCnRoYW4gZm9yIGEgc3RyYW5nZXIuIFRoZSBzYW1lIG11c3QgYmUgdHJ1ZSBvZiBtYW55IG90aGVyIHNvcnRzIG9mIG1hY2hpbmVyeSwgCnRob3VnaCBmb3IgdGhhdCBJIGhhdmUgbm90IGhhZCB0aGUgYmVuZWZpdCBvZiBwZXJzb25hbCBvYnNlcnZhdGlvbi4gCgoKMTQ1My7CoMKgwqDCoApBcGFydCBmcm9tIHRoZSBpbmZsdWVuY2UgYWNxdWlyZWQgYnkgYW4gaW5kaXZpZHVhbCBvdmVyIHRoZSBibGVuZGVkIApjb25zY2lvdXNuZXNzIG9mIGEgbWFjaGluZSwgdGhlIG1lcmUgYmxlbmRpbmcgaXRzZWxmIHByb2R1Y2VzIGFuIGVmZmVjdCB1cG9uIHRoZSAKbW9sZWN1bGVzIG9mIHRoZSBzdWJzdGFuY2Ugb2Ygd2hpY2ggaXQgaXMgbWFkZS4gSXJvbiB3aGljaCBoYXMgZm9ybWVkIHBhcnQgb2YgYSAKbWFjaGluZSwgYW5kIHNvIGhhcyBleHBlcmllbmNlZCB3aGF0IGlzIGZvciBpdCB0aGlzIGV4YWx0YXRpb24gb2YgY29uc2Npb3VzbmVzcywgCm1heSBiZSB0aG91Z2h0IG9mIGFzIHNvbWV3aGF0IG1vcmUgZGV2ZWxvcGVkIHRoYW4gaXJvbiB3aGljaCBoYXMgbm90IGJlZW4gdXNlZCAKaW4gdGhlIGJ1aWxkaW5nIG9mIGEgc2VsZi1jb250YWluZWQgc3lzdGVtLiBJdCBoYXMgYmVjb21lIGNhcGFibGUgb2YgcmVzcG9uZGluZyAKdG8gYWRkaXRpb25hbCBhbmQgbW9yZSBjb21wbGljYXRlZCB2aWJyYXRpb25zLCBhbmQgdGhhdCBmb3IgYSBtaW5lcmFsIGlzIApldm9sdXRpb24uIEl0IGlzIG1vcmUgYXdha2UgdGhhbiBvdGhlciBpcm9uLiBUaGlzIGNvbmRpdGlvbiBvZiBncmVhdGVyIHZpdGFsaXR5IAp3b3VsZCBiZSBlYXNpbHkgdmlzaWJsZSB0byBhIGNsYWlydm95YW50IHdobyBoYWQgbGVhcm50IGl0cyBpbmRpY2F0aW9ucywgYnV0IEkgCmRvIG5vdCBrbm93IG9mIGFueSBtZXRob2QgYnkgd2hpY2ggaXQgY291bGQgYmUgb2JzZXJ2ZWQgcGh5c2ljYWxseS4gCgoKMTQ1NC7CoMKgwqDCoApUaGUgYWRkaXRpb25hbCBwb3dlciBvZiByZXNwb25zZSBpcyBub3QgYWx3YXlzIG9mIHRoZSBzYW1lIGtpbmQsIGFuZCAKdmFyaWFudHMgb2YgaXQgbWF5IGJlIGFyb3VzZWQgaW4gZGlmZmVyZW50IHdheXMuIFdyb3VnaHQgaXJvbiwgZm9yIGV4YW1wbGUsIGlzIAptdWNoIG1vcmUgYWxpdmUgdGhhbiBjYXN0IGlyb24sIGFuZCB0aGlzIHJlc3VsdCBpcyBwcm9kdWNlZCBieSB0aGUgZnJlcXVlbnQgCmJsb3dzIHdoaWNoIGl0IHJlY2VpdmVzIGluIHRoZSBwcm9jZXNzIG9mIGl0cyB3b3JraW5nLiBUaGUgc2FtZSB0aGluZyBtYXkgYmUgCm9ic2VydmVkIHRvIGEgZ3JlYXRlciBkZWdyZWUgd2l0aCBhIGhvcnNlLXNob2UsIGZvciBub3Qgb25seSBoYXMgdGhhdCBiZWVuIAp3cm91Z2h0IGluIHRoZSBmaXJzdCBwbGFjZSwgYnV0IGl0IGhhcyBiZWVuIHN1YmplY3RlZCB0byBjb25zdGFudCBzdHJpa2luZyB1cG9uIAp0aGUgcm9hZCB3aGVuIGl0IHdhcyB3b3JuIGJ5IHRoZSBob3JzZS4gVGhpcyBsb25nLWNvbnRpbnVlZCBwcm9jZXNzIGhhcyBhd2FrZW5lZCAKaXQgaW4gYSBjZXJ0YWluIHdheSB3aGljaCBtYWtlcyBpdCBleGNlZWRpbmdseSByZXB1bHNpdmUgdG8gc29tZSBvZiB0aGUgbG93ZXN0IAphbmQgbW9zdCBtYWxpZ25hbnQgdHlwZXMgb2YgdGhlIGFzdHJhbCBhbmQgZXRoZXJpYyBlbnRpdGllczsgYW5kIHRoYXQgaXMgdGhlIApyZWFzb24gZm9yIHRoZSBvbGQgc3VwZXJzdGl0aW9uLCB0aGF0IHdoZW4gaHVuZyBvdmVyIHRoZSBkb29yIGl0IGtlcHQgYXdheSBldmlsIAphbmQgYnJvdWdodCBnb29kIGZvcnR1bmUgdG8gaXRzIHBvc3Nlc3Nvci4gCgoKMTQ1NS7CoMKgwqDCoApBbm90aGVyIGludGVyZXN0aW5nIHBvaW50IHdpdGggcmVnYXJkIHRvIHRoaXMgY3VyaW91cyBjb21wb3NpdGUgCmNvbnNjaW91c25lc3MgaXMgdGhhdCBhZnRlciBhIGNlcnRhaW4gdGltZSBpdCBnZXRzIHRpcmVkLS0gYSBmYWN0IHdoaWNoIGhhcyAKZnJlcXVlbnRseSBiZWVuIG9ic2VydmVkIGJ5IHRob3NlIHdobyBoYXZlIG11Y2ggdG8gZG8gd2l0aCBtYWNoaW5lcnkuIEFmdGVyIGEgCmNlcnRhaW4gdGltZSBhIG1hY2hpbmUsIHRob3VnaCBwZXJmZWN0bHkgaW4gb3JkZXIsIGdldHMgaW50byBhIGNvbmRpdGlvbiBpbiAKd2hpY2ggaXQgd2lsbCBub3Qgd29yayBwcm9wZXJseSwgYnV0IGJlY29tZXMgc2xhY2sgaW4gaXRzIGFjdGlvbi4gSXQgb2Z0ZW4gc2VlbXMgCmltcG9zc2libGUgdG8gZG8gYW55dGhpbmcgdG8gY3VyZSBpdCwgYnV0IGlmIGl0IGlzIGxlZnQgYWxvbmUgZm9yIGEgdGltZSBpdCAKcHJlc2VudGx5IHJlY292ZXJzIGl0cyB0b25lIGFuZCB3aWxsIGdvIG9uIHdvcmtpbmcgYXMgYmVmb3JlLiAKCgoxNDU2LsKgwqDCoMKgCk1ldGFscyBzaG93IHBsYWlubHkgdGhhdCB0aGV5IGFyZSBzdWJqZWN0IHRvIGZhdGlndWUuIEEgc3RlZWwgcGVuIHdpbGwgCnNvbWV0aW1lcyBzY3JhdGNoIGFuZCB3cml0ZSBiYWRseSB3aGVuIGl0IGhhcyBiZWVuIHVzZWQgY29udGludWFsbHkgZm9yIHNldmVyYWwgCmhvdXJzLCBidXQgdGhlIGNsZXJrIHdobyB1bmRlcnN0YW5kcyBuYXR1cmUgc28gZmFyLCB3aWxsIHB1dCB0aGUgcGVuIGFzaWRlLCAKaW5zdGVhZCBvZiB0aHJvd2luZyBpdCBhd2F5LCBhbmQgbWF5YmUgdGhlIG5leHQgZGF5IHdpbGwgZmluZCBpdCBldmVuIGJldHRlciAKdGhhbiBpdCB3YXMgYXQgZmlyc3QuIEEgYmFyYmVyIG9mdGVuIGZpbmRzIGhpcyByYXpvciByZWZ1c2luZyB0byB0YWtlIGEga2VlbiAKZWRnZSwgYW5kIGl0IGlzIHF1aXRlIGN1c3RvbWFyeSBmb3IgaGltIHRvIHNheSB0aGF0IGl0IGlzIO+/vWdldHRpbmcgdGlyZWTvv70gYW5kIHRvIApwdXQgaXQgYXNpZGUgdG8gcmVzdC4gU29tZSBkYXlzIGxhdGVyIHRoYXQgc2FtZSByYXpvciB3aWxsIGJlIGluIHBlcmZlY3Qgb3JkZXIsIAprZWVuIGFuZCBzaGFycCBhcyBldmVyLiAKCgoxNDU3LsKgwqDCoMKgClJhaWx3YXkgZW5naW5lcyBhcmUga25vd24gdG8gd2FudCByZWd1bGFyIHJlc3QsIGFuZCBhZnRlciBhIGNlcnRhaW4gCmFtb3VudCBvZiB3b3JrIGFyZSBwdXQgaW50byB0aGUgc2hlZCwgYW5kIGFsbG93ZWQgdG8gY29vbDsgYW5kIHNvIHRoZSBlbmdpbmUgaGFzIAppdHMgcmVzdCBqdXN0IGFzIHJlZ3VsYXJseSBhIGh1bWFuIGJlaW5nLiBTbyB3ZSBzZWUgdGhhdCBmYXRpZ3VlIGlzIG9uZSBvZiB0aGUgCmNvbmRpdGlvbnMgcG9zc2libGUgdG8gdGhlIG1pbmVyYWwga2luZ2RvbSBhbmQgbWF5IGJlIGZlbHQgYnkgbWV0YWxzIGFzIHdlbGwgYXMgCmJ5IG1lbiBpbiB0aGVpciBwaHlzaWNhbCBib2RpZXMuIChTZWUgUmVzcG9uc2UgaW4gdGhlIExpdmluZyBhbmQgTm9uLWxpdmluZywgCmJ5IFByb2Zlc3NvciBKLkMuIEJvc2UuKSBBcyBhIG1hdHRlciBvZiBmYWN0IGZhdGlndWUgaXMgbm90IGZlbHQgYW55d2hlcmUgZXhjZXB0IAppbiB0aGUgcGh5c2ljYWwgd29ybGQuIAoKCjE0NTguwqDCoMKgwqAKVGhlcmUgYXJlIG1lbiwgYnV0IHNvIGZhciBJIGtub3cgb25seSBmZXcsIHdobyBhcmUgdW51c3VhbGx5IGNoYXJnZWQgd2l0aCAKZWxlY3RyaWNpdHksIGFuZCB0aHVzIHByb2R1Y2UgYSBzcGVjaWFsIGVmZmVjdCB1cG9uIGFueSBtZXRhbCB3aXRoIHdoaWNoIHRoZXkgCmhhYml0dWFsbHkgY29tZSBpbnRvIGNvbnRhY3QuIEl0IGlzIHNhaWQsIGZvciBleGFtcGxlLCB0aGF0IHN1Y2ggcGVvcGxlIGNhdXNlIApxdWl0ZSBjb25zaWRlcmFibGUgZGVmbGVjdGlvbnMgb2YgYSBzaGlwJyBzIGNvbXBhc3Mgd2hlbiB0aGV5IGNvbWUgbmVhciBpdDsgYnV0IAp0aGlzIGlzIHBoeXNpY2FsLCBhbmQgaGFyZGx5IG9jY3VsdC4gCgoKMTQ1OS7CoMKgwqDCoApVTkxVQ0tZIFNISVBTIAoKCjE0NjAuwqDCoMKgwqAKQSBjdXJpb3VzIGluc3RhbmNlIG9mIHRoZSBpbnRlcnZlbnRpb24gb2YgdGhlIGhpZGRlbiBzaWRlIGluIHRoZSBvcmRpbmFyeSAKYWZmYWlycyBvZiBsaWZlIGlzIGZ1cm5pc2hlZCBieSB0aGUgZXhwZXJpZW5jZSBvZiBwcmFjdGljYWwgbWVuIGNvbm5lY3RlZCB3aXRoIApzdWNoIG1hdHRlcnMsIHRoYXQgY2VydGFpbiBzaGlwcyBvciBlbmdpbmVzIGFyZSB3aGF0IGlzIGNhbGxlZCB1bmx1Y2t5LS0gdGhhdCAKYWNjaWRlbnQgYWZ0ZXIgYWNjaWRlbnQgb2NjdXJzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVtLCB3aXRob3V0IGFueSBvYnZpb3VzIApuZWdsaWdlbmNlIHRvIGFjY291bnQgZm9yIGl0LiBOYXR1cmFsbHkgc29tZSBtYWNoaW5lcyBhcmUgYmV0dGVyIG1hZGUgdGhhbiAKb3RoZXJzOyBzb21lIG1lbiBhcmUgbW9yZSBjYXJlZnVsIHRoYW4gb3RoZXJzOyBidXQgSSBhbSBub3QgcmVmZXJyaW5nIHRvIGNhc2VzIAppbnRvIHdoaWNoIGVpdGhlciBvZiB0aGVzZSBmYWN0b3JzIGVudGVycy4gSW4gc29tZSBjYXNlcyB3aGVyZSB0d28gc2hpcHMgb3IgdHdvIAplbmdpbmVzIGFyZSBwcmVjaXNlbHkgc2ltaWxhciwgYW5kIHRoZSBtZW4gd2hvIG1hbmFnZSB0aGVtIGFyZSBvZiBlcXVhbCAKY2FwYWNpdHksIG9uZSBwcm92ZXMgYWx3YXlzIGZvcnR1bmF0ZSwgb3IgbWVldHMgd2l0aCBvbmx5IGFuIGF2ZXJhZ2UgcHJvcG9ydGlvbiAKb2YgYWNjaWRlbnRzLCB3aGlsZSB0aGUgb3RoZXIgaXMgcGVycGV0dWFsbHkgaW4gdHJvdWJsZSBmb3Igbm8gb2J2aW91cyByZWFzb24uCgoKMTQ2MS7CoMKgwqDCoApUaGVyZSBpcyBubyBxdWVzdGlvbiBhdCBhbGwgdGhhdCB0aGlzIGlzIHNvLCBhbmQgaXQgb2ZmZXJzIGFuIGludGVyZXN0aW5nIApwcm9ibGVtIHRvIHRoZSBvY2N1bHQgc3R1ZGVudC4gSSBhbSBpbmNsaW5lZCB0byB0aGluayB0aGF0IHZhcmlvdXMgcmVhc29ucyBtYXkgCnNvbWV0aW1lcyBjb21lcyBpbnRvIHBsYXkgaW4gcHJvZHVjaW5nIHRoZSByZXN1bHRzLiBJbiBvbmUgc3VjaCBjYXNlIGF0IGxlYXN0IGl0IAphcHBlYXJlZCB0byBiZSBkdWUgdG8gZmVlbGluZ3Mgb2YgaW50ZW5zZSBoYXRyZWQgbm91cmlzaGVkIGJ5IGFsbCB0aGUgbWVuIAphZ2FpbnN0IHRoZSBmaXJzdCBjYXB0YWluIG9mIHRoZSB2ZXNzZWwsIHdobyBzZWVtcyB0byBoYXZlIGJlZW4gYSBwZXR0eSB0eXJhbnQgCm9mIHRoZSBtb3N0IG9iamVjdGlvbmFibGUgZGVzY3JpcHRpb24uIEEgbGFyZ2UgbnVtYmVyIG9mIG1lbiBjb250aW51YWxseSBjdXJzZWQgCnRoZSBjYXB0YWluLCB0aGUgc2hpcCwgYW5kIGFsbCB0aGF0IGJlbG9uZ2VkIHRvIGhlciwgd2l0aCBhbGwgdGhlIHdpbGwtcG93ZXIgYXQgCnRoZWlyIGNvbW1hbmQ7IGFuZCB0aGUgc3RhdGUgb2YgdGhlaXIgZmVlbGluZyBwcm9kdWNlZCB0aGlzIGV2aWwgcmVzdWx0LCB0aGF0IApkaXNhc3RlciBhZnRlciBkaXNhc3RlciBvdmVydG9vayBoZXIuIEJ5IHRoZSB0aW1lIHRoYXQgdGhhdCBjYXB0YWluIHdhcyByZW1vdmVkLCAKdGhlIHNoaXAgaGFkIGFjcXVpcmVkIGEgZGVmaW5pdGUgcmVwdXRhdGlvbiBvZiBiZWluZyB1bmx1Y2t5LCBhbmQgc28gaGVyIApzdWNjZXNzaXZlIGNyZXdzIGhhdmUgc3Vycm91bmRlZCBoZXIgd2l0aCB0aG91Z2h0LWZvcm1zIHRvIHRoYXQgZWZmZWN0ICwgd2hpY2ggCm5hdHVyYWxseSBlbm91Z2gganVzdGlmeSB0aGVtc2VsdmVzIGJ5IGNvbnRpbnVpbmcgdGhlIHNlcmllcyBvZiBtaXNmb3J0dW5lcy4gCgoKMTQ2Mi7CoMKgwqDCoApJbiBvdGhlciBjYXNlcyBJIHRoaW5rIHRoYXQgaWxsLWZlZWxpbmcgZGlyZWN0ZWQgdG93YXJkcyB0aGUgYnVpbGRlciBvZiAKdGhlIHZlc3NlbCBoYXMgcHJvZHVjZWQgc2ltaWxhciByZXN1bHRzLiBJIGRvdWJ0IHdoZXRoZXIgYW55IHN1Y2ggZGlyZWN0aW9ucyBvZiAKZXZpbCBmb3JjZSB3b3VsZCBpbiB0aGVtc2VsdmVzIGJlIHN1ZmZpY2llbnQgYWN0dWFsbHkgdG8gY2F1c2Ugc2VyaW91cyAKbWlzZm9ydHVuZS4gQnV0IGluIHRoZSBsaWZlIG9mIGV2ZXJ5IHNoaXAgdGhlcmUgYXJlIGEgZ3JlYXQgbWFueSBvY2Nhc2lvbnMgb24gCndoaWNoIGFuIGFjY2lkZW50IGlzIG9ubHkganVzdCBhdmVydGVkIGJ5IHZpZ2lsYW5jZSBhbmQgcHJvbXB0aXR1ZGUtLSBpbiB3aGljaCBhIApzaW5nbGUgbW9tZW50JyBzIGRlbGF5IG9yIHNsYWNrbmVzcyB3b3VsZCBiZSBzdWZmaWNpZW50IHRvIHByZWNpcGl0YXRlIGEgCmNhdGFzdHJvcGhlLiBTdWNoIGEgbWFzcyBvZiB0aG91Z2h0LWZvcm1zIGFzIEkgaGF2ZSBkZXNjcmliZWQgd291bGQgYmUgYW1wbHkgCnN1ZmZpY2llbnQgdG8gY2F1c2UgdGhhdCBtb21lbnRhcnkgbGFjayBvZiB2aWdpbGFuY2Ugb3IgdGhhdCBtb21lbnRhcnkgCmhlc2l0YXRpb247IGFuZCB0aGF0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IGxpbmUgYWxvbmcgd2hpY2ggaXRzIG1hbGlnbml0eSBjb3VsZCAKd29yay4gCgoKMTQ2My7CoMKgwqDCoApTVE9ORSBVU0VEIElOIEJVSUxESU5HIAoKCjE0NjQuwqDCoMKgwqAKSW4gc3BlYWtpbmcgb2Ygb3VyIGhvdXNlcyBJIGhhdmUgYWxyZWFkeSBtZW50aW9uZWQgdGhlIGVmZmVjdCB3aGljaCB3ZSAKYXJlIGNvbnN0YW50bHkgcHJvZHVjaW5nIHVwb24gdGhlIHdhbGxzIHdoaWNoIHN1cnJvdW5kIHVzIGFuZCB0aGUgYXJ0aWNsZXMgb2YgCmZ1cm5pdHVyZSBpbiBvdXIgcm9vbXMuIEl0IG9idmlvdXNseSBmb2xsb3dzIHRoYXQgc3RvbmUgd2hpY2ggaGFzIGJlZW4gdXNlZCBmb3IgCmEgYnVpbGRpbmcgaXMgbmV2ZXIgYWZ0ZXJ3YXJkcyBpbiB0aGUgc2FtZSBjb25kaXRpb24gYXMgdGhlIHN0b25lIHdoaWNoIGlzIGFzIAp5ZXQgdW5xdWFycmllZC4gSXQgaGFzIGJlZW4gcGVybWVhdGVkLCBwcm9iYWJseSBmb3IgbWFueSB5ZWFycyBpbiBzdWNjZXNzaW9uLCAKd2l0aCBpbmZsdWVuY2VzIG9mIGEgY2VydGFpbiBraW5kLCBhbmQgdGhhdCBtZWFucyB0aGF0IGZvciBldmVyIGFmdGVyIGl0IGlzIApjYXBhYmxlIG9mIHJlc3BvbmRpbmcgdG8gc3VjaCBpbmZsdWVuY2VzIG1vcmUgcmVhZGlseSB0aGFuIGlzIHRoZSB1bnVzZWQgc3RvbmUuCgoKMTQ2NS7CoMKgwqDCoApXZSBhcmUgdGhlcmVmb3JlIGFjdHVhbGx5IGFzc2lzdGluZyBpbiB0aGUgZXZvbHV0aW9uIG9mIHRoZSBtaW5lcmFsIApraW5nZG9tIHdoZW4gd2UgdXNlIHRoZXNlIHZhcmlvdXMgbWF0ZXJpYWxzIGZvciBvdXIgYnVpbGRpbmdzLiBJIGhhdmUgYWxyZWFkeSAKZXhwbGFpbmVkIGhvdyB0aGUgZGlmZmVyZW50IGluZmx1ZW5jZXMgd2hpY2ggd2UgcHV0IGludG8gdGhlbSByZWFjdCB1cG9uIHVzOyBzbyAKdGhhdCBqdXN0IGFzIGEgY2h1cmNoIHJhZGlhdGVzIGRldm90aW9uLCBhbmQgYSBwcmlzb24gcmFkaWF0ZXMgZ2xvb20sIHNvIGVhY2ggCmhvdXNlIGluIHRoZSBidXNpbmVzcyBwYXJ0IG9mIGEgY2l0eSByYWRpYXRlcyBhbnhpZXR5IGFuZCBlZmZvcnQsIHRvbyBvZnRlbiAKY291cGxlZCBhbHNvIHdpdGggd2VhcmluZXNzIGFuZCBkZXNwYWlyLiBUaGVyZSBhcmUgaW5zdGFuY2VzIGluIHdoaWNoIGEgCmtub3dsZWRnZSBvZiB0aGVzZSBmYWN0cyBtYXkgcHJvdmUgdXNlZnVsIGluIHRoZSBwcm9zYWljIG1hdHRlcnMgb2YgcGh5c2ljYWwgCmxpZmUuIAoKCjE0NjYuwqDCoMKgwqAKU0VBLVNJQ0tORVNTIAoKCjE0NjcuwqDCoMKgwqAKV2Uga25vdywgZm9yIGV4YW1wbGUsIHRoYXQgbWFueSBzZW5zaXRpdmUgbGFkaWVzIGFyZSBvZnRlbiBzZWl6ZWQgd2l0aCAKdGhlIHBhbmdzIG9mIHNpY2tuZXNzIGFzIHNvb24gYXMgdGhleSBnbyBvbiBib2FyZCBhIHZlc3NlbCwgZXZlbiB0aG91Z2ggdGhlIHNlYSAKbWF5IGJlIHBlcmZlY3RseSBzbW9vdGggYW5kIHRoZXJlIG1heSBiZSBubyBwaHlzaWNhbCBleGN1c2UgZm9yIHRoZSBzZW5zYXRpb24uIApObyBkb3VidCB0aGlzIGlzIHBhcnRpYWxseSBhdXRvLXN1Z2dlc3Rpb24sIGJ1dCBtb3N0IG9mIGl0IGNvbWVzIGZyb20gb3V0c2lkZS4gCk1hbnkgYSBjYWJpbiBpcyBzbyB0aG9yb3VnaGx5IGxvYWRlZCB3aXRoIHRoaXMgc3VnZ2VzdGlvbiB0aGF0IGl0IHJlcXVpcmVzIApjb25zaWRlcmFibGUgbWVudGFsIGZvcmNlIGZvciBhIG5ld2NvbWVyIHRvIHJlc2lzdCBpdDsgc28gaXQgaXMgbm90IG9ubHkgdGhlIApwaHlzaWNhbCBjb25zaWRlcmF0aW9uIG9mIGZyZXNoIGFpciB3aGljaCBtYWtlcyBpdCBkZXNpcmFibGUgZm9yIGFueW9uZSB3aG8gaXMgCmxpa2VseSB0byBzdWZmZXIgaW4gdGhpcyB3YXkgdG8gYmUgb24gZGVjayBhcyBtdWNoIGFzIHBvc3NpYmxlLiAKCgoxNDY4LsKgwqDCoMKgCkZJRlRIIFNFQ1RJT04gCgoKMTQ2OS7CoMKgwqDCoApDT05DTFVTSU9OIAoKCjE0NzAuwqDCoMKgwqAKQ0hBUFRFUiBYWElWIAoKCjE0NzEuwqDCoMKgwqAKVEhFIFJFU1VMVFMgT0YgVEhFIEtOT1dMRURHRSAKCgoxNDcyLsKgwqDCoMKgCkEgU1VNTUFSWSAKCgoxNDczLsKgwqDCoMKgClRPIGtub3cgc29tZXRoaW5nIG9mIHRoZSBoaWRkZW4gc2lkZSBvZiBuYXR1cmUgbWFrZXMgbGlmZSBmYXIgbW9yZSAKaW50ZXJlc3RpbmcgZm9yIHVzOyBpbnRlcmVzdGluZyBtb3N0IG9mIGFsbCwgbmF0dXJhbGx5LCB0byB0aGUgY2xhaXJ2b3lhbnQgd2hvIApjYW4gc2VlIGl0LCBvciB0byB0aGUgc2Vuc2l0aXZlIHdobyBjYW4gZmVlbCBpdCwgYnV0IGludGVyZXN0aW5nIGluIGEgbGVzcyAKZGVncmVlIGV2ZW4gdG8gdGhvc2Ugd2hvIGNhbm5vdCBkaXJlY3RseSBzZWUgb3IgZmVlbCwgYW5kIGVxdWFsbHkgaW1wb3J0YW50IHRvIAphbGwsIGJlY2F1c2UgYWxsIGFyZSBpbmZsdWVuY2luZyBhbmQgYmVpbmcgaW5mbHVlbmNlZCwgZXZlbiB0aG91Z2ggaXQgYmUgCnVuY29uc2Npb3VzbHkgdG8gdGhlbXNlbHZlcyBzbyBmYXIgYXMgdGhlaXIgcGh5c2ljYWwgYnJhaW4gaXMgY29uY2VybmVkLiAKCgoxNDc0LsKgwqDCoMKgCkluIGVhY2ggY2FzZSwgYXMgd2UgaGF2ZSBjb25zaWRlcmVkIGl0LCBJIGhhdmUgdHJpZXMgdG8gaW5kaWNhdGUgdGhlIApsZXNzb24gdG8gYmUgbGVhcm50IGZyb20gaXQsIGJ1dCBJIHdpbGwgc3VtbWFyaXNlIHRoZSByZXN1bHRzIGhlcmUuIEZpcnN0IGFuZCAKZm9yZW1vc3Qgd2UgbGVhcm4gdGhlIGR1dHkgb2YgaGFwcGluZXNzLCB0aGUgbmVjZXNzaXR5IG9mIGNhc3RpbmcgYXdheSBmcm9tIHVzIApkZXByZXNzaW9uIGFuZCBzb3Jyb3csIGV2ZW4gdW5kZXIgdGhlIGNpcmN1bXN0YW5jZXMgd2hpY2ggbW9zdCByZWFkaWx5IHByb2R1Y2UgCml0IGluIHRob3NlIHdobyBkbyBub3Qga25vdy4gWWV0IGF0IHRoZSBzYW1lIHRpbWUgd2UgbGVhcm4gdGhhdCBsaWZlIG11c3QgYmUgCnRha2VuIHNlcmlvdXNseSwgYW5kIG11c3QgYmUgbGl2ZWQgbm90IGZvciBzZWxmaXNoIGVuam95bWVudCBidXQgZm9yIHRoZSBoZWxwaW5nIApvZiBvdXIgZmVsbG93LW1lbi4gV2Ugc2VlIHRoYXQgd2UgbXVzdCBiZSBvbiBvdXIgZ3VhcmQgYWdhaW5zdCB1bnN1c3BlY3RlZCAKaW5mbHVlbmNlcywgc3VjaCwgZm9yIGV4YW1wbGUsIGFzIHRoZSBwcmVqdWRpY2VzIGNvbm5lY3RlZCB3aXRoIHJhY2UsIHJlbGlnaW9uLCAKb3IgY2xhc3MsIGFuZCB0aGUgd2VpZ2h0IG9mIHB1YmxpYyBvcGluaW9uLCBuZXZlciBhbGxvd2luZyB0aGVzZSB0byBiaWFzIG91ciAKanVkZ21lbnQsIGJ1dCB0cnlpbmcgYWx3YXlzIHRvIGFycml2ZSBhdCB0aGUgdHJ1dGggYW5kIHRvIHdlaWdoIHRoZSBmYWN0cyBmb3IgCm91cnNlbHZlczsgdGhhdCB3ZSBtdXN0IG5vdCB5aWVsZCBvdXJzZWx2ZXMgdW5xdWVzdGlvbmluZ2x5IGV2ZW4gdG8gcHJlc3VtZWQgCnNwaXJpdHVhbCBpbnNwaXJhdGlvbiwgYnV0IGluIHRoYXQgY2FzZSBhbHNvIG11c3Qg77+9dHJ5IHRoZSBzcGlyaXRz77+9IGFuZCB1c2Ugb3VyIApjb21tb24gc2Vuc2UuIAoKCjE0NzUuwqDCoMKgwqAKV2UgbGVhcm4gZGVzaXJhYmlsaXR5IG9mIHN5c3RlbWF0aWMgd29yayBvciB0cmFpbmluZzsgdGhlIGZ1dGlsaXR5IG9mIAp0YWtpbmcgb2ZmZW5jZSwgb2YgYmVjb21pbmcgYW5ncnksIG9yIG9mIGFsbG93aW5nIG91ciBzZXJlbml0eSB0byBiZSBkaXN0dXJiZWQgCmluIGFueSB3YXkgd2hhdGV2ZXIsIGFuZCB0aGUgbmVjZXNzaXR5IG9mIG1haW50YWluaW5nIGEgY2Vhc2VsZXNzIHdhdGNoIG92ZXIgb3VyIAp0aG91Z2h0cyBhcyB3ZWxsIGFzIG91ciB3b3JkcyBhbmQgYWN0aW9ucywgbGVzdCB0aGV5IHNob3VsZCBkcmF3IHJvdW5kIHVzIAp1bnBsZWFzYW50IGluZmx1ZW5jZXMgYW5kIGFjdCBhcyB0ZW1wdGF0aW9ucyB0byBvdXIgbmVpZ2hib3Vycy4gQW5kIHdlIHNlZSB0aGF0IApmcm9tIHRob3NlIGluZmx1ZW5jZXMgd2hpY2ggd2UgaGF2ZSBtZW50aW9uZWQgYWJvdmUgYW5kIGZyb20gYWxsIG90aGVycyB3aGljaCAKYXJlIHVuZGVzaXJhYmxlLCB3ZSBjYW4gcmVhZGlseSBwcm90ZWN0IG91cnNlbHZlcyBieSB0aGUgZm9ybWF0aW9uIG9mIHNoZWxscywgCnRob3VnaCBhIGJldHRlciBwcm90ZWN0aW9uIHN0aWxsIGlzIHRvIGJlIHNvIGZ1bGwgb2YgdGhlIGRpdmluZSBMb3ZlLCB0aGF0IGl0IGlzIAphbHdheXMgcG91cmluZyBpdHNlbGYgb3V0IGZyb20gdXMgaW4gdGhlIHNoYXBlIG9mIGxvdmUgdG8gb3VyIGZlbGxvdy1tZW4uIAoKCjE0NzYuwqDCoMKgwqAKV2UgbGVhcm4gdGhlIGRhbmdlciBvZiBiZWNvbWluZyBzbGF2ZXMgdG8gdGhlIGFsY29ob2wsIGNvcnBzZS1lYXRpbmcgb3IgCnRvYmFjY28gaGFiaXRzOyB3ZSBsZWFybiB0byBrZWVwIG91cnNlbHZlcyBmcmVlIGZyb20gcGFydGljaXBhdGlvbiBpbiB0aGUgCmNydWVsdGllcyBzby1jYWxsZWQgc3BvcnQ7IHdlIHJlYWxpc2UgdGhhdCB3ZSBtdXN0IGJlIGNhcmVmdWwgb2YgdGhlIHNpdHVhdGlvbiAKYW5kIHRoZSBkZWNvcmF0aW9uIG9mIG91ciBob3VzZXMgb3Igcm9vbXMsIGF2b2lkaW5nIGhhcm1mdWwgaW5mbHVlbmNlcyBhbmQgCnRha2luZyBjYXJlIGFsd2F5cyB0byBmbG9vZCB0aGVtIHdpdGggc3VubGlnaHQgYW5kIGZyZXNoIGFpcjsgdGhhdCBvdXIgY2xvdGhpbmcgCnNob3VsZCBiZSBkaWN0YXRlZCBieSBjb25zaWRlcmF0aW9ucyBvZiBoZWFsdGggYW5kIGNvbW1vbiBzZW5zZSwgYW5kIG5vdCBtZXJlbHkgCmJ5IGZhc2hpb247IHRoYXQgdGhvc2Ugd2hvIGhhdmUgdGhlIGdvb2QgZm9ydHVuZSB0byBiZSBzcGVjaWFsbHkgaW4gY29udGFjdCB3aXRoIApjaGlsZHJlbiwgc2hvdWxkIHRyZWF0IHRoZW0gd2l0aCB0aGUgdXR0ZXJtb3N0IGxvdmUsIGdlbnRsZW5lc3MgYW5kIHBhdGllbmNlOyAKdGhhdCB3ZSBzaG91bGQgcmVjb2duaXNlIHRoZSBicm90aGVyaG9vZCBvZiBhbGwgZm9ybXMgb2YgdGhlIERpdmluZSBMaWZlIGluIG91ciAKdHJlYXRtZW50IG9mIGFuaW1hbHMgYW5kIHBsYW50czsgdGhhdCB3ZSBzaG91bGQgbmV2ZXIgd29yayB1bm5lY2Vzc2FyeSAKZGVzdHJ1Y3Rpb24gdXBvbiBhbnl0aGluZywgd2hldGhlciBpdCBiZSB3aGF0IHdlIGNhbGwgYW5pbWF0ZSBvciBpbmFuaW1hdGUsIApzaW5jZSB0aGUgb2NjdWx0aXN0IGtub3dzIHRoZSBEaXZpbmUgTGlmZSBpbiBldmVyeXRoaW5nLCBhbmQgcmVzcGVjdHMgaXQ7IHRoYXQgCndoYXQgd2UgYXJlLCB3aGF0IHdlIHRoaW5rIGFuZCB3aGF0IHdlIGRvIGFyZSBldmVuIG1vcmUgaW1wb3J0YW50IGluIHJlbGF0aW9uIHRvIAp0aGVpciBhY3Rpb24gdXBvbiBvdGhlcnMgdGhhbiB1cG9uIG91cnNlbHZlczsgdGhhdCB3ZSBtdXN0IHByZXNlcnZlIHRoZSAKdXR0ZXJtb3N0IHRydXRoIGluIHRob3VnaHQgYW5kIHNwZWVjaCwgYW5kIHV0dGVyIG5vIHdvcmQgdGhhdCBpcyBub3QgdHJ1ZSwga2luZCwgCnBsZWFzYW50IGFuZCBoZWxwZnVsOyB0aGF0IGV2ZXJ5IG1hbiBwb3NzZXNzZXMgYSBjZXJ0YWluIGFtb3VudCBvZiBmb3JjZSBhbmQgaXMgCnJlc3BvbnNpYmxlIGZvciBtYWtpbmcgdGhlIGJlc3QgdXNlIG9mIGl0LiBXZSBsZWFybiB0aGF0IGlnbm9yYW5jZSBvZiB0aGUgbGF3IGlzIApub3QgYWNjZXB0ZWQgYnkgTmF0dXJlIGFzIGFuIGV4Y3VzZSwgYmVjYXVzZSBpdCBkb2VzIG5vdCBhbHRlciB0aGUgZWZmZWN0IG9mIAp3aGF0IHdlIGRvOyB0aGF0IGV2aWwgaXMgYnV0IHRoZSBkYXJrIHNoYWRvdyBvZiBnb29kLCBhbmQgaXMgYWx3YXlzIHRlbXBvcmFyeSwgCndoaWxlIGdvb2QgaXMgZXRlcm5hbDsgYW5kIHRoYXQgd2hpbGUsIGluIGV2ZXJ5dGhpbmcgaHVtYW4sIGdvb2QgYW5kIGV2aWwgYXJlIAptaXhlZCwgeWV0IHRoZSBwb3dlcnMgYmVoaW5kIGFsd2F5cyB1c2UgdG8gdGhlIHV0bW9zdCB0aGUgZ29vZCBpbiBldmVyeXRoaW5nIGFuZCAKZXZlcnlib2R5LiAKCgoxNDc3LsKgwqDCoMKgClRoZXNlIHBvaW50cyBvbiB3aGljaCBJIGhhdmUgd3JpdHRlbiBhcmUgYnV0IHNwZWNpbWVucyBvZiBhIHZhc3QgaG9zdCwgCmZvciB0byBldmVyeXRoaW5nIHRoZXJlIGlzIGFuIHVuc2VlbiBzaWRlLCBhbmQgdG8gbGl2ZSB0aGUgbGlmZSBvZiB0aGUgb2NjdWx0aXN0IAppcyB0byBzdHVkeSB0aGlzIGhpZ2hlciwgaGlkZGVuIHNpZGUgb2YgTmF0dXJlLCBhbmQgdGhlbiBpbnRlbGxpZ2VudGx5IHRvIGFkYXB0IApvbmVzZWxmIHRvIGl0LiBUaGUgb2NjdWx0aXN0IGxvb2tzIGF0IHRoZSB3aG9sZSBvZiBlYWNoIHN1YmplY3Qgd2hpY2ggaXMgYnJvdWdodCAKYmVmb3JlIGhpbSwgaW5zdGVhZCBvZiBvbmx5IGF0IHRoZSBsb3dlc3QgYW5kIGxlYXN0IGltcG9ydGFudCBwYXJ0IG9mIGl0LCBhbmQgCnRoZW4gb3JkZXJzIGhpcyBhY3Rpb24gYWNjb3JkaW5nIHRvIHdoYXQgaGUgc2VlcywgaW4gb2JlZGllbmNlIHRvIHRoZSBkaWN0YXRlcyAKb2YgcGxhaW4gY29tbW9uIHNlbnNlLCBhbmQgdG8gdGhlIExhdyBvZiBMb3ZlIHdoaWNoIGd1aWRlcyB0aGUgVW5pdmVyc2UuIFRob3NlIAp0aGVyZWZvcmUgd2hvIHdvdWxkIHN0dWR5IGFuZCBwcmFjdGlzZSBvY2N1bHRpc20gbXVzdCBkZXZlbG9wIHdpdGhpbiB0aGVtc2VsdmVzIAp0aGVzZSB0aHJlZSBwcmljZWxlc3MgcG9zc2Vzc2lvbnMtLSBrbm93bGVkZ2UsIGNvbW1vbiBzZW5zZSBhbmQgbG92ZS4gCgoKMTQ3OC7CoMKgwqDCoApTdWNoIGlmIHRoZSBjb3Vyc2Ugb2YgYWN0aW9uIHN1Z2dlc3RlZCB0byB1cyBieSBhIHN0dWR5IG9mIHRoZSBoaWRkZW4gCnNpZGUgb2YgdGhpbmdzLiBCdXQgcmVtZW1iZXIgdGhhdCB0aGlzIGhpZGRlbiBzaWRlIHdpbGwgbm90IGFsd2F5cyByZW1haW4gCmhpZGRlbiwgZm9yIGV2ZXJ5IGRheSBtb3JlIGFuZCBtb3JlIG9mIG91ciBmZWxsb3ctbWVuIGxlYXJuaW5nIHRvIHVuZGVyc3RhbmQsIApiZWNhdXNlIG9uZSBieSBvbmUsIHNjYXR0ZXJlZCBoZXJlIGFuZCB0aGVyZSwgbW9yZSBhbmQgbW9yZSBhcmUgbGVhcm5pbmcgdG8gc2VlIAppdC4gU2luY2UgaXQgaXMgb2J2aW91cyB0aGF0IHRoaXMgaXMgdGhlIGxpbmUgb2YgZXZvbHV0aW9uIGFuZCB0aGF0IHRoZSBmZXcgd2hvIApzZWUgbm93IGFyZSBvbmx5IHByZWN1cnNvcnMgb2YgdGhlIG1hbnkgd2hvIHdpbGwgc2VlIGhlcmVhZnRlciwgd2hhdCBpbiB0aGUgCmxpZ2h0IG9mIHRoZXNlIGNvbnNpZGVyYXRpb25zIG1heSBiZSBwcmVkaWN0ZWQgYXMgdGhlIHByb2JhYmxlIGZ1dHVyZSBvZiAKaHVtYW5pdHk/IAoKCjE0NzkuwqDCoMKgwqAKVEhFIEZVVFVSRSAKCgoxNDgwLsKgwqDCoMKgCkluZ2VuaW91cyBzcGVjdWxhdGlvbiB1cG9uIHRoaXMgc3ViamVjdCBpcyBhIHByb21pbmVudCBmZWF0dXJlIG9mIG91ciAKbW9kZXJuIGZpY3Rpb24uIEl0IHdhcyBhdHRlbXB0ZWQgYnkgRWR3YXJkIEJlbGxhbXkgaW4gTG9va2luZyBCYWNrd2FyZCwgCmFuZCBtb3JlIHJlY2VudGx5IGJ5IE1yLiBILiBHLiBXZWxscyBpbiBhIG51bWJlciBvZiBxdWFpbnRseSBpbnRlcmVzdGluZyB3b3Jrcy4gClRoZSBsaW5lIG1vc3QgdXN1YWxseSB0YWtlbiBpcyB0byBwdXJzdWUgdG8gYSBsb2dpY2FsIGNvbmNsdXNpb24gc29tZSBvZiB0aGUgCm1hbnkgc29jaWFsaXN0aWMgdGhlb3JpZXMgd2hpY2ggYXJlIGF0IHByZXNlbnQgaW4gdGhlIGFpciwgYW5kIHRvIGVuZGVhdm91ciB0byAKY2FsY3VsYXRlIGhvdyB0aGVzZSB3aWxsIHdvcmsgaW4gcHJhY3RpY2UgYW1vbmcgbWVuIGFzIHdlIGtub3cgdGhlbS4gSW4gb25lIG9mIAp0aGUgcGxlYXNhbnRlc3Qgb2YgdGhlc2UgYm9va3MsIEluIHRoZSBEYXlzIG9mIHRoZSBDb21ldCwgTXIuIFdlbGxzIApib2xkbHkgaW50cm9kdWNlcyBhbiBlbnRpcmVseSBuZXcgZmFjdG9yLS0gYSBjaGFuZ2UgaW4gdGhlIGNvbnN0aXR1dGlvbiBvZiBvdXIgCmF0bW9zcGhlcmUgd2hpY2ggc3VkZGVubHkgaW5vY3VsYXRlcyBtYW5raW5kIHdpdGggY29tbW9uIHNlbnNlIGFuZCBmcmF0ZXJuYWwgCmZlZWxpbmcuIFdoZW4gdGhhdCBpcyBhY2hpZXZlZCwgbmF0dXJhbGx5IG1hbnkgb3RoZXIgb2J2aW91cyBjaGFuZ2VzIGltbWVkaWF0ZWx5IApmb2xsb3c6IHdhciBiZWNvbWVzIGEgcmlkaWN1bG91cyBpbXBvc3NpYmlsaXR5LCBvdXIgcHJlc2VudCBzb2NpYWwgc3lzdGVtIGlzIApyZWdhcmRlZCB3aXRoIGhvcnJvciBhbmQgYW1hemVtZW50LCBvdXIgYnVzaW5lc3MgbWV0aG9kcyBhcmUgdGhyb3duIGFzaWRlIGFzIAp1bndvcnRoeSBvZiBodW1hbiBiZWluZ3MsIGFuZCBzbyBvbi4gRm9yIHRoaXMgbXVjaCBvZiBjb21tb24gc2Vuc2Ugd2UgbWF5IHN1cmVseSAKcHJlc2VudGx5IGhvcGUgaW4gcmVhbCBsaWZlLCB0aG91Z2ggaXQgd2lsbCBwcm9iYWJseSBjb21lIG11Y2ggbW9yZSBzbG93bHkgdGhhbiAKaW4gTXIuIFdlbGxzJyBzdG9yeS4gCgoKMTQ4MS7CoMKgwqDCoApJdCBtYXkgYmUgb2YgaW50ZXJlc3QgdG8gc2VlIHdoYXQgbGlnaHQgaXMgdGhyb3duIHVwb24gdGhlIHByb2JsZW0gb2YgdGhlIApmdXR1cmUgYnkgdGhlIGhpZ2hlciBleHRlbnNpb25zIG9mIGh1bWFuIGNvbnNjaW91c25lc3Mgb2Ygd2hpY2ggd2UgaGF2ZSBzcG9rZW4gCmVsc2V3aGVyZS4gV2UgZmluZCB0aGF0IGZyb20gdGhpcyBwb2ludCBvZiB2aWV3IHRoZSBmdXR1cmUgZGl2aWRlcyBpdHNlbGYgaW50byAKdGhyZWUgcGFydHMtLSB0aGUgaW1tZWRpYXRlLCB0aGUgcmVtb3RlLCBhbmQgdGhlIHVsdGltYXRlOyBhbmQsIG9kZGx5IGVub3VnaCwgaXQgCmlzIG9mIHRoYXQgd2hpY2ggaXMgZnVydGhlc3QgZnJvbSB1cyB0aGF0IHdlIGFyZSBhYmxlIHRvIHNwZWFrIHdpdGggdGhlIGdyZWF0ZXN0IApjZXJ0YWludHksIGJlY2F1c2UgdGhlIHBsYW4gb2YgZXZvbHV0aW9uIGlzIHZpc2libGUgdG8gdGhlIGhpZ2hlciBzaWdodCwgYW5kIGl0cyAKZ29hbCBpcyBjbGVhci4gTm90aGluZyBjYW4gaW50ZXJmZXJlIHdpdGggdGhlIGF0dGFpbm1lbnQgb2YgdGhhdCBnb2FsLCBidXQgdGhlIApzdGFnZXMgdGhhdCBsZWFkIHVwIHRvIGl0IG1heSBiZSBsYXJnZWx5IG1vZGlmaWVkIGJ5IHRoZSBmcmVlLXdpbGwgb2YgdGhlIAppbmRpdmlkdWFscyBjb25jZXJuZWQsIGFuZCBjYW4sIHRoZXJlZm9yZSwgYmUgZm9yZXNlZW4gb25seSBpbiB0aGVpciBnZW5lcmFsIApvdXRsaW5lLiAKCgoxNDgyLsKgwqDCoMKgClRoZSBlbmQsIHNvIGZhciBhcyB0aGlzIGN5Y2xlIGlzIGNvbmNlcm5lZCwgaXMgdGhlIGFjY29tcGxpc2htZW50IG9mIHRoZSAKcGVyZmVjdGlvbiBvZiBtYW4uIEVhY2ggaW5kaXZpZHVhbCBpcyB0byBiZWNvbWUgc29tZXRoaW5nIG11Y2ggbW9yZSB0aGFuIHdoYXQgd2UgCm5vdyBtZWFuIGJ5IGEgZ3JlYXQgYW5kIGdvb2QgbWFuLCBmb3IgaGUgaXMgdG8gYmUgcGVyZmVjdCBpbiBpbnRlbGxlY3QgYW5kIApjYXBhY2l0eSBhcyB3ZWxsIGFzIHNwaXJpdHVhbGl0eS4gQWxsIHRoZSBpbnRlbGxlY3Qgb2YgdGhlIGdyZWF0ZXN0IHBoaWxvc29waGVyIApvciBtYW4gb2Ygc2NpZW5jZSwgYW5kIGZhciBtb3JlOyBhbGwgdGhlIGRldm90aW9uIGFuZCBzcGlyaXR1YWxpdHkgb2YgdGhlIApncmVhdGVzdCBvZiBzYWludHMsIGFuZCBmYXIgbW9yZTsgdGhlc2UgYXJlIHRvIGJlIHRoZSBwb3NzZXNzaW9ucyBvZiBldmVyeSB1bml0IApvZiBodW1hbml0eSBiZWZvcmUgb3VyIGN5Y2xlIGVuZHMuIAoKCjE0ODMuwqDCoMKgwqAKVG8gdW5kZXJzdGFuZCBob3cgc3VjaCBhIHN0dXBlbmRvdXMgcmVzdWx0IGNhbiBiZSBwb3NzaWJsZSwgd2UgbXVzdCBncmFzcCAKdGhlIHBsYW4gYnkgd2hpY2ggZXZvbHV0aW9uIHdvcmtzLiBPYnZpb3VzbHksIG9uIHRoZSBvcmRpbmFyeSB0aGVvcnkgb2Ygb25lIHBvb3IgCmxpdHRsZSBsaWZlIG9mIHNldmVudHkgeWVhcnMsIGZvbGxvd2VkIGJ5IGFuIGV0ZXJuaXR5IG9mIHB1cnBvc2VsZXNzIGpveSBvciAKc3VmZmVyaW5nLCBub3RoaW5nIG9mIHRoaXMgc29ydCBjb3VsZCBldmVyIGJlIGFjaGlldmVkOyBidXQgd2hlbiBvbmNlIHdlIHJlYWxpc2UgCnRoYXQgd2hhdCB3ZSBjb21tb25seSBjYWxsIG91ciBsaWZlIGlzIG9ubHkgb25lIGRheSBpbiB0aGUgcmVhbCBsaWZlLCBhbmQgdGhhdCAKd2UgbWF5IGhhdmUganVzdCBhcyBtYW55IG9mIHN1Y2ggZGF5cyBhcyBhcmUgbmVjZXNzYXJ5IGZvciBvdXIgZGV2ZWxvcG1lbnQsIHdlIApzZWUgdGhhdCB0aGUgY29tbWFuZCBvZiBDaHJpc3Q6IO+/vUJlIHllIHBlcmZlY3QgZXZlbiBhcyB5b3VyIEZhdGhlciBpbiBoZWF2ZW4gaXMgCnBlcmZlY3Qs77+9IGlzIG5vIHZhaW4gaHlwZXJib2xlLCBidXQgYSBwbGFpbiBkaXJlY3Rpb24gd2hpY2ggd2UgbWF5IHJlYXNvbmFibHkgCmV4cGVjdCB0byBiZSBhYmxlIGluIGR1ZSB0aW1lIHRvIG9iZXkuIAoKCjE0ODQuwqDCoMKgwqAKVGhlIHVsdGltYXRlIGZ1dHVyZSwgdGhlbiwgaXMgcGVyZmVjdGlvbiBmb3IgZXZlcnkgaHVtYW4gYmVpbmcsIG5vIG1hdHRlciAKaG93IGxvdyBvciB1bmRldmVsb3BlZCBoZSBtYXkgbm93IGJlLiBNYW4gd2lsbCBiZWNvbWUgbW9yZSB0aGFuIG1hbi4gVGhpcyBpcyAKd2hhdCB3YXMgbWVhbnQgaW4gdGhlIGVhcmx5IENodXJjaCBieSB0aGUgZG9jdHJpbmUgb2YgYCBkZWlmaWNhdGlvbicgdG8gd2hpY2ggCm1hbnkgb2YgdGhlIEZhdGhlcnMgcmVmZXIuIEl0IGlzIGEgbWF0dGVyIG5vdCBvZiBwaW91cyBvcGluaW9uIGJ1dCBvZiB1dHRlciAKY2VydGFpbnR5IHRvIHRob3NlIHdobyBzZWUgdGhlIHdvcmtpbmcgb2YgdGhlIHNjaGVtZS4gCgoKMTQ4NS7CoMKgwqDCoApPYnZpb3VzbHksIGhvd2V2ZXIsIHdlIGFyZSB5ZXQgdmVyeSBmYXIgZnJvbSB0aGlzIGF0dGFpbm1lbnQ7IGEgbG9uZyAKdXB3YXJkIHBhdGggbGllcyBiZWZvcmUgdXMgYmVmb3JlIHdlIGNhbiByZWFjaCB0aGF0IGZhci1kaXN0YW50IHN1bW1pdCwgYW5kIAp0aG91Z2ggb24gdGhlIHdob2xlIGl0IHJpc2VzIHN0ZWFkaWx5LCB0aGVyZSBtdXN0IG5lY2Vzc2FyaWx5IGJlIG1hbnkgbWlub3IgdXBzIAphbmQgZG93bnMgaW4gdGhlIGZ1dHVyZSBhcyB0aGVyZSBoYXZlIGJlZW4gaW4gdGhlIHBhc3QuIEhpc3Rvcnkgc2hvd3MgdXMgdGhhdCAKaGl0aGVydG8gdGhlIGFkdmFuY2VtZW50IG1hbmtpbmQgaGFzIGJlZW4gY3ljbGljIGluIGl0cyBjaGFyYWN0ZXIuIAoKCjE0ODYuwqDCoMKgwqAKRWFjaCB1bml0IGxpdmVzIGhpcyBsb25nIHNlcmllcyBvZiBwcm9ncmVzc2l2ZSBsaXZlcywgbm90IGluIG9uZSByYWNlIGJ1dCAKaW4gbWFueSBzdWNjZXNzaXZlIHJhY2VzLCBpbiBvcmRlciB0aGF0IGhlIG1heSBsZWFybiB0aGUgc3BlY2lhbCBsZXNzb25zIHdoaWNoIAplYWNoIGhhcyB0byB0ZWFjaC4gT25lIGNhbiBpbWFnZSBhIHNvdWwgaW5jYXJuYXRpbmcgaW4gYW5jaWVudCBJbmRpYSB0byBkZXZlbG9wIApyZWxpZ2lvdXMgZmVydm91ciwgaW4gY2xhc3NpY2FsIEdyZWVjZSB0byBnYWluIGFydGlzdGljIGNhcGFjaXR5LCBpbiB0aGUgUm9tZSBvZiAKdGhlIENhZXNhcnMgdG8gbGVhcm4gdGhlIGltbWVuc2UgcG93ZXIgb2YgZGlzY2lwbGluZSBhbmQgb3JkZXIsIGFtb25nIG91cnNlbHZlcyAKYXQgdGhlIHByZXNlbnQgZGF5IHRvIGFjcXVpcmUgdGhlIHNjaWVudGlmaWMgaGFiaXQgb2YgbWluZCwgYW5kIHNvIG9uLiAKCgoxNDg3LsKgwqDCoMKgClRoZSBzYW1lIGdyZWF0IGhvc3Qgb2Ygc291bHMgc3dlZXBzIG9uIHRocm91Z2ggYWxsIGFnZXMsIGFuaW1hdGluZyBhbGwgCnRoZSB0aGVzZSByYWNlcyBpbiB0dXJuLCBhbmQgbGVhcm5pbmcgZnJvbSBhbGw7IGJ1dCB0aGUgcmFjZXMgdGhlbXNlbHZlcyBhcmlzZSwgCmdyb3csIGRlY2F5IGFuZCBmYWxsIGFzIHRoZXkgYXJlIG5lZWRlZC4gU28gd2hlbiBhIG5hdGlvbiBsb3NlcyBpdHMgZm9ybWVyIGdsb3J5IAphbmQgZmFsbHMgYmVoaW5kIGluIHRoZSByYWNlIChhcywgZm9yIGV4YW1wbGUsIG1vZGVybiBHcmVlY2Ugc2VlbXMgdG8gaGF2ZSBkb25lIAppbiBjb21wYXJpc29uIHdpdGggYW5jaWVudCBHcmVlY2UpLCBpdCBkb2VzIG5vdCBtZWFuIHRoYXQgYSBjZXJ0YWluIGdyb3VwIG9mIG1lbiAKaXMgZGVjYWRlbnQsIGJ1dCB0aGF0IHRoZXJlIGFyZSBhdCB0aGUgbW9tZW50IG5vIHNvdWxzIHdobyBuZWVkIHByZWNpc2VseSB0aGUgCnR5cGUgb2YgdHJhaW5pbmcgd2hpY2ggdGhhdCByYWNlIGF0IGl0cyBiZXN0IHVzZWQgdG8gZ2l2ZSwgb3IgdGhhdCB0aGF0IHRyYWluaW5nIAppcyBub3cgYmVpbmcgZ2l2ZW4gZWxzZXdoZXJlLiAKCgoxNDg4LsKgwqDCoMKgCkNvbnNlcXVlbnRseSwgdGhlIHBoeXNpY2FsIGJvZGllcyBvZiB0aGUgZGVzY2VuZGFudHMgb2YgdGhvc2UgZ3JlYXQgbWVuIApvZiBvbGQgYXJlIG5vdyBhbmltYXRlZCBieSBzb3VscyBvZiBhIGxvd2VyIHR5cGUsIHdoaWxlIHRoZSBncmVhdCBtZW4gdGhlbXNlbHZlcyAKYXJlIG5vdyAoYXMgZXZlcikgaW4gdGhlIGZvcmVmcm9udCBvZiBldm9sdXRpb24sIGJ1dCBpbmNhcm5hdGVkIGluIHNvbWUgb3RoZXIgCnJhY2UgaW4gb3JkZXIgdG8gZ3JvdyBzdGlsbCBncmVhdGVyIGJ5IGRldmVsb3BpbmcgaW4gbmV3IGRpcmVjdGlvbnMuIEEgcmFjZSBkaWVzIApwcmVjaXNlbHkgYXMgYSBjbGFzcyBhdCBhIHVuaXZlcnNpdHkgbWlnaHQgZGllIGlmIHRoZXJlIHdlcmUgbm8gbG9uZ2VyIGFueSAKc3R1ZGVudHMgdGFraW5nIHVwIHRoYXQgcGFydGljdWxhciBzdWJqZWN0LiAKCgoxNDg5LsKgwqDCoMKgCkNsYWlydm95YW5jZSBlbmFibGVzIHVzIHRvIGV4YW1pbmUgYSBtdWNoIGxhcmdlciBzZWN0aW9uIG9mIHRoZSBlYXJ0aCcgcyAKcGFzdCBoaXN0b3J5IHRoYW4gY2FuIGJlIHJlYWNoZWQgYWxvbmcgb3JkaW5hcnkgbGluZXM7IGFuZCB0aGlzIGZ1bGxlciBzdHVkeSBvZiAKdGhlIHBhc3QgbWFrZXMgaXQgcG9zc2libGUsIHRvIHNvbWUgZXh0ZW50LCB0byBmb3JlY2FzdCBieSBhbmFsb2d5IHNvbWUgb2YgdGhlIApzdGVwcyBpbiB0aGUgbW9yZSBpbW1lZGlhdGUgZnV0dXJlLiBGcm9tIHN1Y2ggYSBzdHVkeSBvZiB0aGUgcmVjb3JkcyBpdCBhcHBlYXJzIApmYWlybHkgY2VydGFpbiB0aGF0IHdlIGFyZSBhdCB0aGUgbW9tZW50IHBhc3NpbmcgdGhyb3VnaCBhIHRyYW5zaXRpb24gcGVyaW9kLCAKYW5kIHRoYXQgaW5zdGVhZCBvZiByZXByZXNlbnRpbmcsIGFzIHdlIG9mdGVuIGZvbmRseSBpbWFnaW5lLCB0aGUgaGlnaGVzdCAKZGV2ZWxvcG1lbnQgeWV0IHNlZW4gb24gZWFydGgsIHdlIGFyZSBpbiByZWFsaXR5IGluIHRoZSB0cm91Z2ggYmV0d2VlbiB0d28gd2F2ZXMgCm9mIHByb2dyZXNzLiBUaGUgZGVtb2NyYXRpYyB0ZW5kZW5jeSBvZiB3aGljaCBzb21lIG9mIHVzIGFyZSBzbyBwcm91ZCBkb2VzIG5vdCAKcmVwcmVzZW50LCBhcyBpcyBnZW5lcmFsbHkgc3VwcG9zZWQsIHRoZSB1bHRpbWF0ZSBhY2hpZXZlbWVudCBvZiBodW1hbiB3aXNkb20sIApidXQgaXMgYW4gZXhwZXJpbWVudCB3aGljaCB3YXMgdHJpZWQgdGhvcm91Z2hseSBhbmQgY2FycmllZCBvdXQgdG8gaXRzIGxvZ2ljYWwgCmNvbmNsdXNpb24gdGhvdXNhbmRzIG9mIHllYXJzIGFnbywgYW5kIHRoZW4gYWJhbmRvbmVkIGluIHVuaXZlcnNhbCBkaXNndXN0IGFzIAppcnJhdGlvbmFsLCB1bndvcmthYmxlLCBhbmQgbGVhZGluZyB0byBlbmRsZXNzIGNvbmZ1c2lvbi4gSWYgd2UgYXJlIHRvIHJlcGVhdCAKdGhlIGNvdXJzZSBvZiB0aGF0IGV4cGVyaW1lbnQsIGl0IHNlZW1zIHVucGxlYXNhbnRseSBjZXJ0YWluIHRoYXQgd2Ugc2hhbGwgaGF2ZSAKdG8gcGFzcyB0aHJvdWdoIGEgZ29vZCBkZWFsIG9mIHRoaXMgY29uZnVzaW9uIGFuZCBzdWZmZXJpbmcgb25jZSBhZ2FpbiwgYmVmb3JlIAp3ZSBhcnJpdmUgYXQgdGhlIHN0YWdlIG9mIGNvbW1vbiBzZW5zZSB3aGljaCBNci4gV2VsbHMgc28gaGFwcGlseSBkZXNjcmliZXMgaW4gCnRoZSBzdG9yeSBwcmV2aW91c2x5IG1lbnRpb25lZC4gCgoKMTQ5MC7CoMKgwqDCoApCdXQgd2hlbiB0aGF0IG1hZG5lc3MgaXMgb3ZlciBhbmQgcmVhc29uIGJlZ2lucyB0byByZWFzc2VydCBpdHNlbGYsIGl0IGlzIAptYW5pZmVzdCB0aGF0IHRoZXJlIHdpbGwgYmUgYmVmb3JlIHVzIGEgcGVyaW9kIG9mIGZhciBtb3JlIHJhcGlkIHByb2dyZXNzLCBpbiAKd2hpY2ggd2Ugc2hhbGwgYmUgYWJsZSB0byBhdmFpbCBvdXJzZWx2ZXMgb2YgbWFueSBhaWRzIHdoaWNoIGFyZSBub3Qgbm93IGF0IG91ciAKZGlzcG9zYWwuIFRoZSBtZXJlIGZhY3QgdGhhdCB0aGUgdXNlIG9mIHRoZSBoaWdoZXIgZmFjdWx0aWVzIGlzIHNsb3dseSBzcHJlYWRpbmcgCmFtb25nIGh1bWFuaXR5LCB3aWxsIHByZXNlbnRseSBtYWtlIGFuIGFsbW9zdCBpbmNhbGN1bGFibGUgZGlmZmVyZW5jZSBpbiBtYW55IApkaXJlY3Rpb25zLiAKCgoxNDkxLsKgwqDCoMKgCkltYWdpbmUgYSBjb25kaXRpb24gaW4gd2hpY2ggYWxsIGRlY2VwdGlvbiBvciBmcmF1ZCB3aWxsIGJlIGltcG9zc2libGUsIAppbiB3aGljaCBtaXN1bmRlcnN0YW5kaW5ncyBjYW4gbm8gbG9uZ2VyIG9jY3VyLCBiZWNhdXNlIGVhY2ggbWFuIGNhbiByZWFkIHRoZSAKdGhvdWdodCBvZiB0aGUgb3RoZXItLSBpbiB3aGljaCBubyBvbmUgd2lsbCBldmVyIGFnYWluIGJlIHNldCB0byBkbyB3b3JrIGZvciAKd2hpY2ggaGUgaXMgdW5maXR0ZWQsIGJlY2F1c2UgZnJvbSB0aGUgZmlyc3QsIHBhcmVudHMgYW5kIHR1dG9ycyB3aWxsIGJlIGFibGUgdG8gCnNlZSBleGFjdGx5IHRoZSBjYXBhY2l0aWVzIG9mIHRob3NlIGNvbW1pdHRlZCB0byB0aGVpciBjYXJlLS0gaW4gd2hpY2ggYSBkb2N0b3IgCmNhbm5vdCBtYWtlIG1pc3Rha2VzLCBiZWNhdXNlIGhlIHdpbGwgc2VlIGZvciBoaW1zZWxmIGV4YWN0bHkgd2hhdCBpcyB0aGUgbWF0dGVyIAp3aXRoIGhpcyBwYXRpZW50LCBhbmQgY2FuIHdhdGNoIGluIGRldGFpbCB0aGUgYWN0aW9uIG9mIGhpcyByZW1lZGllcy4gVGhpbmsgd2hhdCAKYSBkaWZmZXJlbmNlIGl0IHdpbGwgbWFrZSBpbiBvdXIgbGl2ZXMgd2hlbiBkZWF0aCBubyBsb25nZXIgc2VwYXJhdGVzIHVzIGZyb20gCnRob3NlIHdob20gd2UgbG92ZSwgYmVjYXVzZSB0aGUgYXN0cmFsIHdvcmxkIGxpZXMgb3BlbiB0byB1cyBqdXN0IGFzIGRvZXMgdGhlIApwaHlzaWNhbDsgd2hlbiBpdCB3aWxsIGJlIGltcG9zc2libGUgZm9yIG1lbiBhbnkgbG9uZ2VyIHRvIGRvdWJ0IHRoZSByZWFsaXR5IG9mIAp0aGUgRGl2aW5lIHNjaGVtZSwgYmVjYXVzZSBpdHMgbG93ZXIgc3RhZ2VzIGFyZSB2aXNpYmx5IGJlZm9yZSB0aGVpciBleWVzLiBBcnQgCmFuZCBtdXNpYyB3aWxsIGJlIGZhciBncmFuZGVyIHRoZW4sIGZvciBhc3RyYWwgY29sb3VycyBhbmQgaGFybW9uaWVzIHdpbGwgYmUgYXQgCm91ciBjb21tYW5kIGFzIHdlbGwgYXMgdGhvc2Ugd2hpY2ggd2Ugbm93IGtub3cuIAoKCjE0OTIuwqDCoMKgwqAKVGhlIHByb2JsZW1zIG9mIHNjaWVuY2Ugd2lsbCBiZSBzb2x2ZWQsIGZvciB0aGUgdmFzdCBhZGRpdGlvbnMgdG8gaHVtYW4gCmtub3dsZWRnZSB3aWxsIGJsZW5kIGFsbCBpdHMgYnJhbmNoZXMgaW50byBvbmUgcGVyZmVjdCBzY2hlbWUuIEdlb21ldHJ5IGFuZCAKbWF0aGVtYXRpY3Mgd2lsbCBiZSBmYXIgbW9yZSBzYXRpc2ZhY3RvcnksIGJlY2F1c2Ugd2Ugc2hhbGwgdGhlbiBzZWUgd2hhdCB0aGV5IApyZWFsbHkgbWVhbiBhbmQgd2hhdCBwYXJ0IHRoZXkgcGxheSBpbiB0aGUgc3BsZW5kaWQgc3lzdGVtIG9mIHRoZSB3b3JsZHMuIAoKCjE0OTMuwqDCoMKgwqAKR2VvbWV0cnkgYXMgd2UgaGF2ZSBpdCBub3cgaXMgYnV0IGEgZnJhZ21lbnQ7IGl0IGlzIGFuIGV4b3RlcmljIApwcmVwYXJhdGlvbiBmb3IgdGhlIGVzb3RlcmljIHJlYWxpdHkuIEJlY2F1c2Ugd2UgaGF2ZSBsb3N0IHRoZSB0cnVlIHNlbnNlIG9mIApzcGFjZSwgdGhlIGZpcnN0IHN0ZXAgdG93YXJkcyB0aGF0IGtub3dsZWRnZSBpcyB0aGUgY29nbml0aW9uIG9mIHRoZSBmb3VydGggCmRpbWVuc2lvbi4gRm9yIGV4YW1wbGUsIHRoZXJlIGFyZSBmaXZlLCBhbmQgb25seSBmaXZlLCBwb3NzaWJsZSByZWd1bGFyIHNvbGlkcy0tIAp0aG9zZSB3aGljaCBhcmUgc29tZXRpbWVzIGNhbGxlZCB0aGUgUGxhdG9uaWMgU29saWRzOyB0byB1cywgdGhhdCBpcyBhbiAKaW50ZXJlc3RpbmcgZmFjdCBhbmQgbm8gbW9yZSwgYnV0IHRoZSBzdHVkZW50IHdobyBoYXMgYmVlbiBpbml0aWF0ZWQgaW50byB0aGUgCk15c3RlcmllcyBrbm93cyB0aGF0LCB3aXRoIGEgcG9pbnQgYXQgb25lIGVuZCBvZiB0aGUgc2VyaWVzIGFuZCBhIHNwaGVyZSBhdCB0aGUgCm90aGVyLCB0aGV5IG1ha2UgYSBzZXQgb2Ygc2V2ZW4gd2hpY2ggYmVhcnMgYSBteXN0aWMgbWVhbmluZywgZXhwbGFpbmluZyB0aGUgCnJlbGF0aW9ucyBvbmUgdG8gdGhlIG90aGVyIG9mIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2YgbWF0dGVyIGluIHRoZSBzZXZlbiBwbGFuZXMgCm9mIG91ciBTb2xhciBTeXN0ZW0sIGFuZCB0aGUgcG93ZXIgb2YgdGhlIGZvcmNlcyB0aGF0IHBsYXkgdGhyb3VnaCB0aGVtLiBUcmVhdGVkIApvbmx5IGZyb20gdGhlIHBoeXNpY2FsIHBsYW5lLCBzdHVkaWVkIGFzIGVuZHMgaW4gdGhlbXNlbHZlcywgaW5zdGVhZCBvZiBhcyBtZWFucyAKdG8gYW4gZW5kLCBnZW9tZXRyeSBhbmQgbWF0aGVtYXRpY3MgbXVzdCBhbHdheXMgcmVtYWluIGluY29tcGxldGUsIGxpa2UgCmJlYXV0aWZ1bCBhdmVudWVzIHRoYXQgbGVhZCBub3doZXJlLiAKCgoxNDk0LsKgwqDCoMKgCkV2ZXJ5IGZlYXR1cmUgb2YgbGlmZSB3aWxsIGJlIHdpZGVyIGFuZCBmdWxsZXIsIGJlY2F1c2Ugd2Ugc2hhbGwgc2VlIG11Y2ggCm1vcmUgdGhhbiB3ZSBkbyBub3cgb2YgdGhlIGJlYXV0aWZ1bCBhbmQgd29uZGVyZnVsIHdvcmxkIGluIHdoaWNoIG91ciBsb3QgaXMgCmNhc3Q7IHVuZGVyc3RhbmRpbmcgbW9yZSwgd2UgY2Fubm90IGJ1dCBhZG1pcmUgYW5kIGxvdmUgbW9yZSwgc28gd2Ugc2hhbGwgYmUgCmluZmluaXRlbHkgaGFwcGllciwgYXMgd2UgZHJhdyBzdGVhZGlseSBuZWFyZXIgdG8gdGhhdCB1bHRpbWF0ZSBwZXJmZWN0aW9uIHdoaWNoIAppcyBhYnNvbHV0ZSBoYXBwaW5lc3MsIGJlY2F1c2UgaXQgaXMgdW5pb24gd2l0aCB0aGUgRXRlcm5hbCBMb3ZlLiAKCgoxNDk1LsKgwqDCoMKgCkNIQVBURVIgWFhWIAoKCjE0OTYuwqDCoMKgwqAKVEhFIFdBWSBUTyBTRUVSU0hJUCAKCgoxNDk3LsKgwqDCoMKgCkkgSEFWRSBubyBkb3VidCB0aGF0IG1hbnkgcGVvcGxlIHdpbGwgZmluZCBpdCBkaWZmaWN1bHQgdG8gYmVsaWV2ZSBtdWNoIApvZiB3aGF0IEkgaGF2ZSB3cml0dGVuLiBJIHN5bXBhdGhpc2Ugd2l0aCB0aGVtLCBiZWNhdXNlIEkgcmVhbGlzZSBxdWl0ZSB3ZWxsIGhvdyAKZmFudGFzdGljIG11Y2ggb2YgaXQgd291bGQgaGF2ZSBhcHBlYXJlZCB0byBtZSBiZWZvcmUgSSBoYWQgc3R1ZGllZCAKdGhlc2UgbWF0dGVycyBvciB3YXMgYWJsZSB0byBzZWUgdGhlbSBmb3IgbXlzZWxmLiBJIGtub3cgYWxzbyB0aGF0LCB3aXRob3V0IAp0aHJvd2luZyB0aGUgc2xpZ2h0ZXN0IGltcHV0YXRpb24gdXBvbiBteSBnb29kIGZhaXRoLCBtYW55IHBlb3BsZSB3aWxsIAppbmV2aXRhYmx5IGRvdWJ0IHdoZXRoZXIgSSBoYXZlIHNlZW4gYWxsIHRoZXNlIHRoaW5ncyBjbGVhcmx5IGFuZCByZXBvcnRlZCB0aGVtIApleGFjdGx5LiBPbmUgcXVhaW50IGNyaXRpY2lzbSB3YXMgb2ZmZXJlZCBieSBhIGZyaWVuZCwgd2hvIHNhaWQ6IAoKCjE0OTguwqDCoMKgwqAK77+9SXQgc2VlbXMgYXMgdGhvdWdoIHlvdSBoYWQgd3JpdHRlbiB0aGlzIHRvIGp1c3RpZnkgeW91ciBvd24gCnBlY3VsaWFyaXRpZXMsIGZvciB0aGUgdGhpbmdzIHRoYXQgeW91IHJlY29tbWVuZCBoZXJlIGFyZSBqdXN0IHRob3NlIGluIHdoaWNoIAp5b3UgZGlmZmVyIGZyb20gbWFueSBvdGhlcnMu77+9IAoKCjE0OTkuwqDCoMKgwqAKVGhlIGZyaWVuZCB3YXMgY29uZnVzaW5nIGNhdXNlIGFuZCBlZmZlY3Q7IGlmIEkgZG8sIG9yIHRyeSB0byBkbywgdGhlc2UgCnZhcmlvdXMgdGhpbmdzIHdoaWNoIEkgaGF2ZSBwcmVzY3JpYmVkLCBpdCBpcyBqdXN0IGJlY2F1c2UgSSBoYXZlIHNlZW4gd2l0aCAKcmVnYXJkIHRvIHRoZW0gd2hhdCBJIGhhdmUgZGVzY3JpYmVkIGluIHRoZSBib29rLiBJZiwgaG93ZXZlciwgdGhlcmUgYXJlIHRob3NlLCAKYXMgdGhlcmUgd2VsbCBtYXkgYmUsIHdobyBmaW5kIHRoZXNlIHRoaW5ncyBoYXJkIHRvIGJlbGlldmUsIEkgY2FuIG9ubHkgc2F5IHRvIAp0aGVtIHRoYXQgdGhlIGJlc3Qgd2F5IHRvIGdldCBjb3Jyb2JvcmF0aW9uIG9mIGFueSBvZiB0aGUgVGhlb3NvcGhpY2FsIGlkZWFzIGlzIAp0byB0YWtlIHRoZW0gZm9yIGdyYW50ZWQgYW5kIHdvcmsgd2l0aCB0aGVtLCBmb3IgdGhlbiBpdCB3aWxsIHNvb24gYmUgZm91bmQgdGhhdCAKdGhleSBwcm92ZSB0aGVtc2VsdmVzLiAKCgoxNTAwLsKgwqDCoMKgCkl0IGlzIHdpdGhpbiB0aGUgcG93ZXIgb2YgZXZlcnkgbWFuIHRvIGRldmVsb3AgdGhlIGZhY3VsdGllcyBieSB3aGljaCBhbGwgCnRoaXMgaGFzIGJlZW4gc2Vlbiwgbm9yIGlzIHRoZXJlIGFueSBteXN0ZXJ5IGFzIHRvIHRoZSBtZXRob2QgYnkgd2hpY2ggc3VjaCAKZGV2ZWxvcG1lbnQgaXMgYWNoaWV2ZWQuIFRoZXNlIGZhY3VsdGllcyB3aWxsIGluZXZpdGFibHkgY29tZSB0byBldmVyeSBvbmUgaW4gCnRoZSBjb3Vyc2Ugb2YgaGlzIGV2b2x1dGlvbiwgYnV0IG1vc3QgbWVuIHN0aWxsIHN0YW5kIGEgbG9uZyB3YXkgZnJvbSB0aGUgcG9pbnQgCmF0IHdoaWNoIHRoZXkgYXJlIGxpa2VseSB0byB1bmZvbGQsIHRob3VnaCBzcG9yYWRpYyBmbGFzaGVzIG9mIGNsYWlydm95YW5jZSBhcmUgCmJ5IG5vIG1lYW5zIHVuY29tbW9uLCBhbmQgbWFueSBwZW9wbGUgaGF2ZSBhdCBsZWFzdCBhIGNlcnRhaW4gYW1vdW50IG9mIApzZW5zaXRpdmVuZXNzLiAKCgoxNTAxLsKgwqDCoMKgCkxldCBtZSBub3QgYmUgbWlzdW5kZXJzdG9vZCB3aGVuIEkgc2F5IHRoYXQgdGhlIG9yZGluYXJ5IG1hbiBpcyBzdGlsbCBmYXIgCmZyb20gdGhlIHByb2JhYmlsaXR5IG9mIHBvc3Nlc3NpbmcgdGhlc2Ugc2Vuc2VzLiBJIGRvIG5vdCBtZWFuIGJlY2F1c2UgaGUgaXMgbm90IApnb29kIGVub3VnaCwgZm9yIGl0IGlzIG5vdCBhIHF1ZXN0aW9uIG9mIGdvb2RuZXNzIGF0IGFsbC0tIGFsdGhvdWdoIGl0IGlzIApjZXJ0YWlubHkgdHJ1ZSB0aGF0IGlmIGEgbWFuIG9mIGltcHVyZSBvciBjcnVlbCB0ZW5kZW5jeSBzaG91bGQgYWNxdWlyZSBzdWNoIApmYWN1bHRpZXMgaGUgd291bGQgZG8gZmFyIG1vcmUgaGFybSB0aGFuIGdvb2Qgd2l0aCB0aGVtLCB0byBoaW1zZWxmIGFuZCB0byBldmVyeSAKb25lIGVsc2UuIEkgbWVhbiB0aGF0IHRoZSB3aG9sZSB0cmVuZCBvZiBtb2Rlcm4gbGlmZSBhbmQgdGhvdWdodCBpcyB1bmZhdm91cmFibGUgCnRvIHN1Y2ggdW5mb2xkaW5nLCBhbmQgdGhhdCB0aGUgbWFuIHdobyB3aXNoZXMgdG8gdW5kZXJ0YWtlIGl0IG11c3QgdG8gYSBncmVhdCAKZXh0ZW50IGFic3RyYWN0IGhpbXNlbGYgZnJvbSB0aGUgbGlmZSBvZiB0aGUgd29ybGQgYW5kIGdldCBoaW1zZWxmIGludG8gYW4gCmVudGlyZWx5IGRpZmZlcmVudCBhdG1vc3BoZXJlLiAKCgoxNTAyLsKgwqDCoMKgClN1Y2ggYSBsaWZlIGFzIEkgaGF2ZSBwcmVzY3JpYmVkIG9uIHRoaXMgYm9vayBpcyBwcmVjaXNlbHkgdGhhdCB3aGljaCAKd291bGQgcHV0IGEgbWFuIGludG8gYSBmYXZvdXJhYmxlIHBvc2l0aW9uIGZvciB0aGUgZ3Jvd3RoIG9mIHRoZXNlIGZhY3VsdGllczsgCmFuZCBpdCBpcyBub3QgZGlmZmljdWx0IHRvIHNlZSBob3cgZmFyIGZyb20gdGhpcyBpcyB0aGUgb3JkaW5hcnkgbGlmZSBvZiB0aGUgCnByZXNlbnQgZGF5LiBUaGF0IGlzIHdoeSBpdCBzZWVtcyB1bmhvcGVmdWwgdG8gc3VnZ2VzdCB0byB0aGUgYXZlcmFnZSBwZXJzb24gCnRoYXQgaGUgc2hvdWxkIHVuZGVydGFrZSB0aGUgdGFzayBvZiBvcGVuaW5nIG91dCB0aGVzZSBwb3dlcnMuIFRoZXkgYXJlIAp1bnF1ZXN0aW9uYWJseSB3aXRoaW4gaGlzIHJlYWNoOyBidXQgdG8gZ2V0IGhpbXNlbGYgaW50byBhIHBvc2l0aW9uIGZyb20gd2hpY2ggCmhlIGNvdWxkIGJlZ2luIGEgcmVhbCBlZmZvcnQgdG93YXJkcyB0aGVtIG1lYW5zIGFscmVhZHkgbXVjaCByYWRpY2FsIGFsdGVyYXRpb24gCmluIHRoZSBsaWZlIHdoaWNoIGhlIGhhcyBiZWVuIGFjY3VzdG9tZWQgdG8gbGl2ZS4gQW5kIHRoZW4sIGV2ZW4gd2hlbiBoZSBoYXMgCmdyYWR1YWxseSBlcmFkaWNhdGVkIGZyb20gaGlzIGJvZHkgYWxsIHRoZSBwb2lzb25vdXMgcHJvZHVjdHMgb2YgZmxlc2gsIGFsY29ob2wgCmFuZCB0b2JhY2NvLCB3aGVuIGhlIGhhcyByYWlzZWQgaGlzIGFzcGlyYXRpb25zIGZyb20gdGhlIGxvd2VyIHRvIHRoZSBoaWdoZXIsIAp3aGVuIGhlIGhhcyBjYXN0IG91dCBmcm9tIGhpbXNlbGYgYWxsIHRyYWNlcyBvZiBzZWxmLWNvbnNjaW91c25lc3Mgb3IgaW1wdXJpdHktLSAKZXZlbiB0aGVuIHRoZSBlZmZvcnQgcmVxdWlyZWQgaXMgZ3JlYXRlciB0aGVuIG1hbnkgbWVuIGNvdWxkIG1ha2UuIAoKCjE1MDMuwqDCoMKgwqAKVGhlIGV2ZW50dWFsIHJlc3VsdCBpcyBhcyBjZXJ0YWluIGFzIHRoZSB3b3JraW5nIG91dCBvZiBhIHByb2JsZW0gaW4gCkV1Y2xpZCwgYnV0IHRoZSB0aW1lIG9jY3VwaWVkIG1heSBiZSBsb25nLCBhbmQgaXJvbiBkZXRlcm1pbmF0aW9uIGFuZCBhbiAKaW5kb21pdGFibGUgd2lsbCBhcmUgcmVxdWlyZWQgZm9yIHRoZSB3b3JrOyBhbmQgdGhlc2UgYXJlIGZhY3VsdGllcyB3aGljaCBhdCAKcHJlc2VudCBhcmUgdGhlIHBvc3Nlc3Npb24gb2YgYnV0IGZldy4gTmV2ZXJ0aGVsZXNzIO+/vXdoYXQgbWFuIGhhcyBkb25lIG1hbiBjYW4gCmRv77+9IGlmIGhlIHdpbGw7IEkgd2hvIHdyaXRlIGhhdmUgc3VjY2VlZGVkIGluIHRoaXMgdGhpbmcsIGFuZCBJIGhhdmUga25vd24gCm90aGVycyB3aG8gaGF2ZSBzdWNjZWVkZWQ7IGFuZCBhbGwgd2hvIGhhdmUgZ2FpbmVkIHRoYXQgcHJpemUgZmVlbCBpdCB0byBiZSBmYXIgCm1vcmUgdGhhbiB3b3J0aCBhbGwgdGhlIGVmZm9ydHMgcHV0IGZvcnRoIGluIHRoZSBjb3Vyc2Ugb2YgaXRzIGF0dGFpbm1lbnQuIExldCAKbWUgdGhlbiBjb25jbHVkZSBteSBib29rIGJ5IGEgcGxhaW4gc3RhdGVtZW50LCBtYWRlIGFzIHNpbXBseSBhcyBwb3NzaWJsZSwgb2YgCndoYXQgdGhlc2UgcG93ZXJzIGFyZSwgYnkgbWVhbnMgb2Ygd2hpY2ggaXQgaGFzIGJlZW4gd3JpdHRlbiwgd2h5IHRoZXkgYXJlIApkZXNpcmFibGUsIGFuZCBob3cgdGhleSBtYXkgYmUgYWNxdWlyZWQuIAoKCjE1MDQuwqDCoMKgwqAKQSBmaXNoIGlzIGEgZGVuaXplbiBvZiBvdXIgd29ybGQsIGp1c3QgYXMgYSBtYW4gaXM7IGJ1dCBpdCBpcyBvYnZpb3VzIAp0aGF0IGhpcyBjb25jZXB0aW9uIG9mIHRoYXQgd29ybGQgbXVzdCBiZSBleGNlZWRpbmdseSBpbXBlcmZlY3QuIENvbmZpbmVkIGFzIGhlIAppcyB0byBoaXMgb25lIGVsZW1lbnQsIHdoYXQgY2FuIGhlIGtub3cgb2YgdGhlIGJlYXV0eSBvZiBsYW5kc2NhcGVzLCBvZiB0aGUgCmdsb3J5IG9mIHN1bnNldHMsIG9mIHRoZSBmYXItcmVhY2hpbmcgaW50ZXJlc3RzIG9mIG91ciB2YXJpZWQgYW5kIGNvbXBsZXggaHVtYW4gCmxpZmU/IEhlIGxpdmVzIG9uIGEgZ2xvYmUgb2Ygd2hpY2ggaGUga25vd3MgYWxtb3N0IG5vdGhpbmc7IHlldCBubyBkb3VidCBoZSBpcyAKcGVyZmVjdGx5IHNhdGlzZmllZCwgYW5kIHRoaW5rcyB0aGF0IHdoYXQgaGUga25vd3MgaXMgYWxsIHRoZXJlIGlzIHRvIGtub3cuIAoKCjE1MDUuwqDCoMKgwqAKSXQgaXMgbm90IGZsYXR0ZXJpbmcgdG8gb3VyIHNlbGYtY29uY2VpdCwgeWV0IGl0IGlzIGFuIGFic29sdXRlIGZhY3QsIAp0aGF0IHRoZSBtYWpvcml0eSBvZiBtYW5raW5kIGFyZSBwcmVjaXNlbHkgaW4gdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXNoLiBUaGV5IGFyZSAKbGl2aW5nIGluIGEgd29ybGQsIG9ubHkgb25lIHNtYWxsIGRlcGFydG1lbnQgb2Ygd2hpY2ggaXMgd2l0aGluIHRoZWlyIGtlbjsgeWV0IAp0aGV5IGFyZSBxdWl0ZSBjb250ZW50IHdpdGggdGhhdCwgYW5kIGFyZSB1c3VhbGx5IGJsYW5rbHkgaWdub3JhbnQgb3IgZmllcmNlbHkgCmluY3JlZHVsb3VzIGFzIHRvIHRoZSB3aWRlciBhbmQgZ3JhbmRlciBsaWZlIHdoaWNoIHN1cnJvdW5kcyB0aGVtIG9uIGV2ZXJ5IHNpZGUuCgoKMTUwNi7CoMKgwqDCoApIb3cgZG8gd2Uga25vdyBvZiB0aGlzIHdpZGVyIGxpZmU/IE5vdCBvbmx5IGJ5IHJlbGlnaW91cyByZXZlbGF0aW9uLCBidXQgCmJlY2F1c2UgdGhlcmUgYXJlIG1lbiB3aG8gaGF2ZSBsZWFybnQgaG93IHRvIHNlZSwgbm90IGluZGVlZCB0aGUgd2hvbGUgb2Ygb3VyIAp3b3JsZCwgYnV0IGF0IGxlYXN0IG11Y2ggbW9yZSBvZiBpdCB0aGFuIGlzIHNlZW4gYnkgbW9zdCBwZW9wbGUuIFRoZXNlIGFyZSB0aGUgCm1lbiB3aG9tIHdlIGNhbGwgc2VlcnMsIG9yIGNsYWlydm95YW50cy4gCgoKMTUwNy7CoMKgwqDCoApIb3cgZG8gdGhleSBzZWUgbW9yZSB0aGFuIG90aGVycz8gQnkgdGhlIG9wZW5pbmcgb2YgbGF0ZW50IGZhY3VsdGllcy0tIApmYWN1bHRpZXMgd2hpY2ggZXZlcnkgb25lIHBvc3Nlc3NlcywgYnV0IHdoaWNoIGZldyBhcyB5ZXQga25vdyBob3cgdG8gdXNlLiBFdmVyeSAKbWFuIGhhcyBvdGhlciB2ZWhpY2xlcyBvZiBtYXR0ZXIgZmluZXIgdGhhbiB0aGUgcGh5c2ljYWwtLSB3aGF0IFN0LiBQYXVsIGNhbGxzIGEgCu+/vXNwaXJpdHVhbCBib2R577+9IGFzIHdlbGwgYXMgYSDvv71uYXR1cmFsIGJvZHnvv70uIEp1c3QgYXMgdGhyb3VnaCB0aGUgc2Vuc2VzIG9mIHRoZSAKcGh5c2ljYWwgYm9keSB3ZSBiZWNvbWUgYXdhcmUgb2YgcGh5c2ljYWwgdGhpbmdzLCBzbyB0aHJvdWdoIHdoYXQgbWF5IGJlIGNhbGxlZCAKdGhlIHNlbnNlcyBvZiB0aGVzZSBmaW5lciBib2RpZXMgZG8gd2UgYmVjb21lIGF3YXJlIG9mIGhpZ2hlciB0aGluZ3MuIAoKCjE1MDguwqDCoMKgwqAKVGhlIGFkdmFudGFnZXMgb2Ygc3VjaCBzaWdodCBhcmUgbWFuaWZvbGQuIEZvciBpdHMgcG9zc2Vzc29yIG1vc3Qgb2YgdGhlIApwcm9ibGVtcyBvZiBsaWZlIGFyZSBzb2x2ZWQ7IGZvciBoaW0gaXQgaXMgbm90IGEgbWF0dGVyIG9mIGJlbGllZiBidXQgb2YgCmtub3dsZWRnZSB0aGF0IG1hbiBzdXJ2aXZlcyB3aGF0IGlzIGNhbGxlZCBkZWF0aCwgdGhhdCBldGVybmFsIEp1c3RpY2UgcnVsZXMgdGhlIAp3b3JsZCwgdGhhdCB0aGVyZSBpcyBubyBwb3NzaWJpbGl0eSBvZiBmaW5hbCBmYWlsdXJlIGZvciBhbnlvbmUsIGFuZCB0aGF0LCAKaG93ZXZlciBkZWNlcHRpdmUgYXBwZWFyYW5jZXMgbWF5IGJlLCBpbiByZWFsaXR5IGFsbCB0aGluZ3MgYXJlIHdvcmtpbmcgdG9nZXRoZXIgCmZvciBnb29kLiBUaGUgbWFuIHdobyBpcyBhIHNlZXIgY2FuIG5vdCBvbmx5IGxlYXJuIG11Y2ggbW9yZSB0aGFuIG90aGVyczsgaGUgY2FuIAphbHNvIGJlIG11Y2ggbW9yZSBoZWxwZnVsIHRvIGhpcyBmZWxsb3dzIHRoYW4gb3RoZXJzLiAKCgoxNTA5LsKgwqDCoMKgClNpbmNlIHRoaXMgc2VlcnNoaXAgaXMgc28gZGVzaXJhYmxlLCBzaW5jZSBpdCBsaWVzIGxhdGVudCBpbiBldmVyeSBvbmUgb2YgCnVzLCBpcyBpdCBwb3NzaWJsZSBmb3IgdXMgdG8gZGV2ZWxvcCBpdCA/IENlcnRhaW5seSBpdCBpcyBwb3NzaWJsZSwgaWYgd2UgYXJlIAp3aWxsaW5nIHRvIHRha2UgdGhlIHRyb3VibGU7IGJ1dCBmb3IgbW9zdCBtZW4gaXQgaXMgbm8gbGlnaHQgdGFzaywgZm9yIGl0IG1lYW5zIApzZWxmLWNvbnRyb2wgYW5kIHNlbGYtZGVuaWFsLCBwZXJzZXZlcmFuY2UgYW5kIHNpbmdsZS1taW5kZWRuZXNzLiBPdGhlciBtZW4gaGF2ZSAKZG9uZSBpdCwgc28geW91IGNhbiBkbyBpdDsgYnV0IHlvdSBjYW5ub3QgZG8gaXQgdW5sZXNzIHlvdSBhcmUgcHJlcGFyZWQgdG8gdGhyb3cgCmFsbCB5b3VyIHN0cmVuZ3RoIGludG8gdGhlIGVmZm9ydCwgd2l0aCBhbiBpcm9uIGRldGVybWluYXRpb24gdG8gc3VjY2VlZC4gCgoKMTUxMC7CoMKgwqDCoApUaGUgbW90aXZlIHRvbywgbXVzdCBiZSBwdXJlIGFuZCBnb29kLiBUaGUgbWFuIHdob3NlIGVucXVpcnkgaXMgcHJvbXB0ZWQgCm1lcmVseSBieSBjdXJpb3NpdHksIG9yIGJ5IGFuIGlnbm9ibGUgZGVzaXJlIHRvIG9idGFpbiBhZHZhbnRhZ2Ugb3Igd2VhbHRoIGZvciAKaGltc2VsZiwgd2lsbCBkbyB3ZWxsIHRvIHRha2Ugd2FybmluZyBpbiB0aW1lLCBhbmQgbGVhdmUgYW55IHNvcnQgb2Ygb2NjdWx0IAp0cmFpbmluZyBzZXZlcmVseSBhbG9uZSB1bnRpbCBtZW50YWwgYW5kIG1vcmFsIGdyb3d0aCBhcmUgZnVydGhlciBhZHZhbmNlZC4gRm9yIAphZGRlZCBwb3dlciBhbmQga25vd2xlZGdlIG1lYW4gYWRkZWQgcmVzcG9uc2liaWxpdHksIGFuZCB0aGUgaGlnaGVyIHNpZ2h0IG1heSBiZSAKYSBjdXJzZSBpbnN0ZWFkIG9mIGEgYmxlc3NpbmcgdG8gYSBtYW4gd2hvIGlzIG5vdCByZWFkeSBmb3IgaXQuIAoKCjE1MTEuwqDCoMKgwqAKVGhlcmUgYXJlIG1hbnkgd2F5cyBieSB3aGljaCB0aGUgaW5uZXIgc2lnaHQgbWF5IGJlIG9wZW5lZCwgYW5kIG1vc3Qgb2YgCnRoZW0gYXJlIGZ1bGwgb2YgZGFuZ2VyLCBhbmQgZGVjaWRlZGx5IHRvIGJlIGF2b2lkZWQuIEl0IG1heSBiZSBkb25lIGJ5IHRoZSB1c2UgCm9mIGNlcnRhaW4gZHJ1Z3MsIGJ5IHNlbGYtaHlwbm90aXNhdGlvbiwgb3IgYnkgbWVzbWVyaXNtOyBidXQgYWxsIHRoZXNlIG1ldGhvZHMgCm1heSBicmluZyB3aXRoIHRoZW0gZXZpbCByZXN1bHRzIHdoaWNoIGZhciBvdXR3ZWlnaCB0aGUgZ2Fpbi4gVGhlcmUgaXMsIGhvd2V2ZXIsIApvbmUgcHJvY2VzcyB3aGljaCBjYW4gYnkgbm8gcG9zc2liaWxpdHkgZG8gaGFybSwgYW5kIHRoYXQgaXMgdGhlIHdheSBvZiAKdGhvdWdodC1jb250cm9sIGFuZCBtZWRpdGF0aW9uLiBJIGRvIG5vdCBzYXkgdGhhdCB0aGUgdW5kZXJ0YWtpbmcgaXMgZWFzeTsgb24gCnRoZSBjb250cmFyeSwgaXQgaXMgZXhjZXNzaXZlbHkgZGlmZmljdWx0OyBidXQgSSBkbyBzYXkgdGhhdCBpdCBjYW4gYmUgZG9uZSBieSAKZGV0ZXJtaW5lZCBlZmZvcnQsIGJlY2F1c2UgaXQgaGFzIGJlZW4gZG9uZS4gCgoKMTUxMi7CoMKgwqDCoApUaGUgbWFuIHdobyB3aXNoZXMgdG8gYXR0ZW1wdCB0aGlzIG11c3QgYmVnaW4gYnkgYWNxdWlyaW5nIGNvbnRyb2wgb3ZlciAKaGlzIG1pbmQtLSBhIGhlcmN1bGVhbiB0YXNrIGluIGl0c2VsZi4gSGUgbXVzdCBsZWFybiB0byBjb25jZW50cmF0ZSBoaW1zZWxmIHVwb24gCndoYXRldmVyIGhlIG1heSBiZSBkb2luZywgc28gdGhhdCBpdCBzaGFsbCBiZSBhcyB3ZWxsIGRvbmUgYXMgaXMgcG9zc2libGUgZm9yIApoaW0gdG8gZG8gaXQuIEhlIG11c3QgbGVhcm4gdG8gd2llbGQgaGlzIG1pbmQgYXMgYSBza2lsZnVsIGZlbmNlciB3aWVsZHMgaGlzIAp3ZWFwb24sIHR1cm5pbmcgaXQgYXQgd2lsbCBpbiB0aGlzIGRpcmVjdGlvbiBvciB0aGF0LCBhbmQgYWJsZSB0byBob2xkIGl0IGFzIApmaXJtbHkgYXMgaGUgd2lzaGVzLiBUcnkgdG8ga2VlcCB5b3VyIG1pbmQgZml4ZWQgb24gb25lIGRlZmluaXRlIHN1YmplY3QgZm9yIApmaXZlIG1pbnV0ZXM7IGJlZm9yZSBoYWxmIHRoZSB0aW1lIGhhcyBwYXNzZWQgeW91IHdpbGwgZmluZCB0aGF0IHdhbmRlcmluZyAKdGhvdWdodHMgaGF2ZSBzbGlwcGVkIGluIHVuYXdhcmVzLCBhbmQgdGhhdCB0aGUgbWluZCBoYXMgc29hcmVkIGZhciBhd2F5IGJleW9uZCAKdGhlIGxpbWl0cyB3aGljaCB5b3Ugc2V0IGZvciBpdC4gVGhhdCBtZWFucyB0aGF0IGl0IGlzIG5vdCBwZXJmZWN0bHkgdW5kZXIgeW91ciAKY29udHJvbCwgYW5kIHRvIHJlbWVkeSB0aGlzIGNvbmRpdGlvbiBvZiBhZmZhaXJzIGlzIG91ciBmaXJzdCBzdGVwLS0gYnkgbm8gbWVhbnMgCmFuIGVhc3kgb25lLiAKCgoxNTEzLsKgwqDCoMKgCk5vdGhpbmcgYnV0IHN0ZWFkeSBwcmFjdGljZSB3aWxsIGdpdmUgeW91IHRoaXMgcG93ZXI7IGJ1dCBmb3J0dW5hdGVseSAKdGhhdCBwcmFjdGljZSBjYW4gYmUgaGFkIGFsbCBkYXkgbG9uZywgaW4gYnVzaW5lc3MgYXMgd2VsbCBhcyBkdXJpbmcgaG91cnMgb2YgCmxlaXN1cmUuIElmIHlvdSBhcmUgd3JpdGluZyBhIGxldHRlciwga2VlcCB5b3VyIG1pbmQgb24gdGhhdCBsZXR0ZXIsIHNvIHRoYXQgaXQgCm1heSBiZSB3cml0dGVuIHBlcmZlY3RseSwgY2xlYXJseSwgcXVpY2tseS4gSWYgeW91IGFyZSByZWFkaW5nIGEgYm9vaywga2VlcCB5b3VyIAptaW5kIG9uIHRoYXQgYm9vaywgc28gdGhhdCB5b3UgbWF5IGZ1bGx5IGdyYXNwIHRoZSBhdXRob3InIHMgbWVhbmluZywgYW5kIGdhaW4gCmZyb20gaXQgYWxsIHRoYXQgaGUgaW50ZW5kZWQgeW91IHRvIGdhaW4uIAoKCjE1MTQuwqDCoMKgwqAKSW4gYWRkaXRpb24gdG8gdGh1cyBwcmFjdGlzaW5nIGNvbmNlbnRyYXRpb24gaW4gdGhlIG9yZGluYXJ5IGNvdXJzZSBvZiAKbGlmZSwgaXQgd2lsbCBoZWxwIHlvdSBncmVhdGx5IGlmIHlvdSBzZXQgYXBhcnQgYSBjZXJ0YWluIHRpbWUgZWFjaCBkYXkgZm9yIApzcGVjaWFsIGVmZm9ydCBhbG9uZyB0aGVzZSBsaW5lcy4gRWFybHkgbW9ybmluZyBpcyB0aGUgbW9zdCBzdWl0YWJsZTsgYnV0LCBhdCAKYW55IHJhdGUsIGl0IHNob3VsZCBiZSBhdCB0aW1lIHdoZW4geW91IGNhbiBiZSBzdXJlIG9mIGJlaW5nIHVuZGlzdHVyYmVkLCBhbmQgaXQgCnNob3VsZCBhbHdheXMgYmUgYXQgdGhlIHNhbWUgaG91ciwgZm9yIHJlZ3VsYXJpdHkgaXMgb2YgdGhlIGVzc2VuY2Ugb2YgdGhlIApwcmVzY3JpcHRpb24uIFNpdCBkb3duIHF1aWV0bHkgYW5kIGdldCB5b3VyIG1pbmQgcGVyZmVjdGx5IGNhbG07IGFnaXRhdGlvbiBvciAKd29ycnkgb2YgYW55IHNvcnQgaXMgYWJzb2x1dGVseSBmYXRhbCB0byBzdWNjZXNzLiBUaGVuIHR1cm4gdGhlIG1pbmQgdXBvbiBzb21lIApzdWJqZWN0IHNlbGVjdGVkIGJlZm9yZWhhbmQsIGFuZCBjb25zaWRlciBpdCBhdHRlbnRpdmVseSBhbmQgZXhoYXVzdGl2ZWx5LCBuZXZlciAKYWxsb3dpbmcgeW91ciB0aG91Z2h0cyB0byBzdHJheSBhc2lkZSBmcm9tIGl0IGluIHRoZSBzbGlnaHRlc3QgZGVncmVlLCBldmVuIGZvciAKYSBtb21lbnQuIE9mIGNvdXJzZSBhdCBmaXJzdCB0aGV5IHdpbGwgc3RyYXk7IGJ1dCBlYWNoIHRpbWUgeW91IG11c3QgCmRyYWcgdGhlbSBiYWNrIGFnYWluIGFuZCBzdGFydCBhZnJlc2guIFlvdSB3aWxsIGZpbmQgaXQgYmVzdCB0byB0YWtlIGNvbmNyZXRlIApzdWJqZWN0cyBhdCBmaXJzdDsgaXQgaXMgb25seSBhZnRlciBtdWNoIHByYWN0aWNlIHRoYXQgdGhlIG1vcmUgYWJzdHJhY3QgY2FuIApwcm9maXRhYmx5IGJlIGNvbnNpZGVyZWQuIAoKCjE1MTUuwqDCoMKgwqAKV2hlbiB0aHJvdWdoIGxvbmcgaGFiaXR1ZGUgYWxsIHRoaXMgaGFzIGJlY29tZSB0aG9yb3VnaGx5IGZhbWlsaWFyIHRvIAp5b3UsIHdoZW4geW91IGhhdmUgYXR0YWluZWQgdGhlIHBvd2VyIG9mIGNvbmNlbnRyYXRpb24sIGFuZCB3aGVuIHRoZSBtaW5kIGlzIAp3ZWxsIHVuZGVyIHlvdXIgY29udHJvbCwgYW5vdGhlciBzdGVwIG1heSBiZSB0YWtlbi4gQmVnaW4gbm93IHRvIGNob29zZSBmb3IgdGhlIApzdWJqZWN0IG9mIHlvdXIgbW9ybmluZyBtZWRpdGF0aW9uIHRoZSBoaWdoZXN0IGlkZWFsIHRoYXQgeW91IGtub3cuIFdoYXQgdGhlIAppZGVhbCBpcyBkb2VzIG5vdCBtYXR0ZXIgaW4gdGhlIGxlYXN0LCBmb3Igd2UgYXJlIGRlYWxpbmcgbm93IHdpdGggYmFzaWMgZmFjdHMgCmFuZCBub3Qgd2l0aCBvdXRlciBmb3Jtcy4gVGhlIEhpbmR1IG1heSB0YWtlIFNocmkgS3Jpc2huYSwgdGhlIE11aGFtbWFkYW4sIApBbGxhaCwgdGhlIFBhcnNpLCBab3JvYXN0ZXIsIHRoZSBCdWRkaGlzdCwgdGhlIExvcmQgQlVEREhBLCBhbmQgdGhlIENocmlzdGlhbiwgCnRoZSBMb3JkIENocmlzdCwgb3IgaWYgaGUgYmUgYSBDYXRob2xpYywgcGVyaGFwcyB0aGUgQmxlc3NlZCBWaXJnaW4gb3Igb25lIG9mIAp0aGUgU2FpbnRzLiBJdCBtYXR0ZXJzIG5vdCBhdCBhbGwsIHNvIGxvbmcgYXMgdGhlIGNvbnRlbXBsYXRpb24gb2YgdGhhdCBpZGVhbCAKYXJvdXNlcyB3aXRoaW4gdGhlIG1hbiBhbGwgdGhlIGFyZG91ciwgZGV2b3Rpb24gYW5kIHJldmVyZW5jZSBvZiB3aGljaCBoZSBpcyAKY2FwYWJsZS4gTGV0IGhpbSBjb250ZW1wbGF0ZSBpdCB3aXRoIGVjc3Rhc3ksIHRpbGwgaGlzIHNvdWwgaXMgZmlsbGVkIHdpdGggaXRzIApnbG9yeSBhbmQgaXRzIGJlYXV0eTsgYW5kIHRoZW4sIHB1dHRpbmcgZm9ydGggYWxsIHRoZSBzdHJlbmd0aCB3aGljaCBoaXMgbG9uZyAKcHJhY3RpY2Ugb2YgY29uY2VudHJhdGlvbiBoYWQgZ2l2ZW4gaGltLCBsZXQgaGltIG1ha2UgYSBkZXRlcm1pbmVkIGVmZm9ydCB0byAKcmFpc2UgaGlzIGNvbnNjaW91c25lc3MgdG8gdGhhdCBpZGVhbCwgdG8gbWVyZ2UgaGltc2VsZiBpbiBpdCwgdG8gYmVjb21lIG9uZSAKd2l0aCBpdC4gCgoKMTUxNi7CoMKgwqDCoApIZSBtYXkgbWFrZSB0aGF0IGVuZGVhdm91ciBtYW55IHRpbWVzLCBhbmQgeWV0IGZhaWw7IGJ1dCBpZiBoZSAKcGVyc2V2ZXJlcywgYW5kIGlmIGhpcyBhdHRlbXB0IGlzIG1hZGUgaW4gYWxsIHRydXRoIGFuZCB1bnNlbGZpc2huZXNzLCB0aGVyZSAKd2lsbCBjb21lIGEgdGltZSB3aGVuIHN1ZGRlbmx5IGhlIGtub3dzIHRoYXQgaGUgaGFzIHN1Y2NlZWRlZCwgd2hlbiB0aGUgYmxpbmRpbmcgCmxpZ2h0IG9mIHRoZSBoaWdoZXIgbGlmZSBidXJzdHMgdXBvbiBoaW0sIGFuZCBoZSByZWFsaXNlcyB0aGF0IGlkZWFsIGEgCnRob3VzYW5kZm9sZCBtb3JlIHRoYW4gZXZlciBiZWZvcmUuIFRoZW4gaGUgc2lua3MgYmFjayBhZ2FpbiBpbnRvIHRoZSBsaWdodCBvZiAKY29tbW9uIGRheTsgeWV0IHRoYXQgb25lIG1vbWVudGFyeSBnbGltcHNlIGNhbiBuZXZlciBiZSBmb3Jnb3R0ZW4sIGFuZCBldmVuIGlmIApoZSBnb2VzIG5vIGZ1cnRoZXIsIGxpZmUgd2lsbCBuZXZlciBsb29rIHRoZSBzYW1lIHRvIGhpbSBhcyBpdCBkaWQgYmVmb3JlIGhlIApzYXcuIAoKCjE1MTcuwqDCoMKgwqAKQnV0IGlmIGhlIHBlcnNpc3RzIGluIGhpcyBlbmRlYXZvdXIsIHRoYXQgc3BsZW5kaWQgZmxhc2ggb2YgZ2xvcnkgd2lsbCAKY29tZSB0byBoaW0gYWdhaW4gYW5kIHlldCBhZ2FpbiwgZWFjaCB0aW1lIHN0YXlpbmcgd2l0aCBoaW0gbG9uZ2VyIGFuZCBsb25nZXIsIAp1bnRpbCBhdCBsYXN0IGhlIHdpbGwgZmluZCBoaW1zZWxmIGFibGUgdG8gcmFpc2UgaGlzIGNvbnNjaW91c25lc3MgdG8gdGhhdCAKaGlnaGVyIGxldmVsIHdoZW5ldmVyIGhlIHdpc2hlcy0tIHRvIG9ic2VydmUsIHRvIGV4YW1pbmUgYW5kIGV4cGxvcmUgdGhhdCBwaGFzZSAKb2YgbGlmZSBqdXN0IGFzIGhlIG5vdyBkb2VzIHRoaXM7IGFuZCB0aHVzIGhlIGpvaW5zIHRoZSByYW5rcyBvZiB0aG9zZSB3aG8gCmtub3csIGluc3RlYWQgb2YgZ3Vlc3Npbmcgb3IgdmFndWVseSBob3BpbmcsIGFuZCBoZSBiZWNvbWVzIGEgcG93ZXIgZm9yIApnb29kIGluIHRoZSB3b3JsZC4gCgoKwqAtLS0tLS0tLS0tLS0tLS0KCgrCoAoKCsKgQ29weXJpZ2h0IArvv70gCjIwMTYgYnkgQW5hbmQgR2hvbGFwLiBBbGwgcmlnaHRzIHJlc2VydmVkLsKgVGVybXMgCm9mwqAgVXNlIG9mIHRoaXMgd2ViLXNpdGU=

Nessun commento:

Posta un commento

[AL CORPUS] Occult Chemistry [2/2]

VGhlc2UgdW5pdHMgYXJlIGFsbCBhbGlrZSwgc3BoZXJpY2FsIGFuZCBhYnNvbHV0ZWx5IHNpbXBsZSBpbiAKY29uc3RydWN0aW9uLiBUaG91Z2ggdGhleSBhcmUgdGhlIGJhc2lzIG9m...