看板 FB_announce 關於我們 聯絡資訊
RnJlZUJTRCBRdWFydGVybHkgU3RhdHVzIFJlcG9ydCBBcHJpbC1KdW5lLCAyMDEyCgpJbnRyb2R1 Y3Rpb24KCiAgIFRoaXMgcmVwb3J0IGNvdmVycyBGcmVlQlNELXJlbGF0ZWQgcHJvamVjdHMgYmV0 d2VlbiBBcHJpbCBhbmQgSnVuZQogICAyMDEyLiBUaGlzIHF1YXJ0ZXIgd2FzIGhpZ2hsaWdodGVk IGJ5IGhhdmluZyBhIG5ldyBDb3JlIFRlYW0gZWxlY3RlZCwKICAgd2hpY2ggdG9vayBvZmZpY2Ug b24gSnVseSAxMXRoIHRvIHN0YXJ0IGl0cyB3b3JrIHdpdGggYSByZWxhdGl2ZWx5IGhpZ2gKICAg bnVtYmVyIG9mIG5ldyBtZW1iZXJzLiBOb3RlIHRoYXQgdGhpcyBpcyB0aGUgc2Vjb25kIG9mIHRo ZSB0aHJlZQogICByZXBvcnRzIHBsYW5uZWQgZm9yIDIwMTIuCgogICBUaGFua3MgdG8gYWxsIHRo ZSByZXBvcnRlcnMgZm9yIHRoZSBleGNlbGxlbnQgd29yayEgVGhpcyByZXBvcnQKICAgY29udGFp bnMgMTcgZW50cmllcyBhbmQgd2UgaG9wZSB5b3UgZW5qb3kgcmVhZGluZyBpdC4KCiAgIFBsZWFz ZSBub3RlIHRoYXQgdGhlIGRlYWRsaW5lIGZvciBzdWJtaXNzaW9ucyBjb3ZlcmluZyB0aGUgcGVy aW9kCiAgIGJldHdlZW4gSnVseSBhbmQgRGVjZW1iZXIgMjAxMiBpcyBGZWJydWFyeSAxN3RoLCAy MDEzLgogICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwoKUHJvamVjdHMKClVzZXJsYW5kIFByb2dyYW1zCgogICAgICog RnJlZUJTRCBTZXJ2aWNlcyBDb250cm9sIChmc2MpCiAgICAgKiBSZXBsYWNpbmcgdGhlIFJlZ3Vs YXIgRXhwcmVzc2lvbiBDb2RlCgpGcmVlQlNEIFRlYW0gUmVwb3J0cwoKICAgICAqIEZyZWVCU0Qg RG9jdW1lbnRhdGlvbiBQcm9qZWN0CiAgICAgKiBUaGUgRnJlZUJTRCBDb3JlIFRlYW0KICAgICAq IFRoZSBGcmVlQlNEIFBvcnQgTWFuYWdlbWVudCBUZWFtCgpLZXJuZWwKCiAgICAgKiBGcmVlQlNE L2F0OTEgSW1wcm92ZW1lbnRzCgpOZXR3b3JrIEluZnJhc3RydWN0dXJlCgogICAgICogTXVsdGlw YXRoIFRDUCAoTVBUQ1ApIGZvciBGcmVlQlNECiAgICAgKiBTTVAtRnJpZW5kbHkgcGYoNCkKCkRv Y3VtZW50YXRpb24KCiAgICAgKiBUaGUgRnJlZUJTRCBKYXBhbmVzZSBEb2N1bWVudGF0aW9uIFBy b2plY3QKCkFyY2hpdGVjdHVyZXMKCiAgICAgKiBGcmVlQlNEL2FybSBvbiBBUk0gRmFzdCBNb2Rl bHMgU2ltdWxhdG9yIGZvciBDb3J0ZXgtQTE1IE1QQ29yZQogICAgICAgUHJvY2Vzc29yCgpQb3J0 cwoKICAgICAqIEJTRC1saWNlbnNlZCBTb3J0IFV0aWxpdHkgKEdOVSBzb3J0KDEpIFJlcGxhY2Vt ZW50KQogICAgICogRnJlZUJTRCBIYXNrZWxsIFBvcnRzCiAgICAgKiBLREUvRnJlZUJTRAogICAg ICogUG9ydGJ1aWxkZXIKICAgICAqIFJlZHBvcnRzCiAgICAgKiBYb3JnIG9uIEZyZWVCU0QKCk1p c2NlbGxhbmVvdXMKCiAgICAgKiBCU0QtRGF5IDIwMTIKICAgICBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCkJTRC1EYXkg MjAxMgoKICAgVVJMOiBodHRwOi8vYnNkZGF5LmV1LzIwMTIKICAgVVJMOiBodHRwOi8vd3d3Lnlv dXR1YmUuY29tL3BsYXlsaXN0P2xpc3Q9UEwxM0Q1NDcxRDhFQ0YwOEM5CiAgIFVSTDogaHR0cHM6 Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS8xMTY0NTI4NDg4ODA3NDY1NjAxNzAvQlNERGF5MjAxMj9h dXRoa2V5PUd2MXNSZ0NOM3R3THJ4dWFlb25nRQoKICAgQ29udGFjdDogR8OhYm9yIFDDoWxpIDxw Z2pARnJlZUJTRC5vcmc+CgogICBGb3IgdGhpcyB5ZWFyLCB3ZSBtb3ZlZCB0aGUgdGltZSBvZiB0 aGUgZXZlbnQgZWFybGllciBieSBzaXggbW9udGhzLCBzbwogICBpdCB3YXMgaGVsZCBvbiBNYXkg NSwgMjAxMiBhbmQgaXQgd2FzIGNvLWxvY2F0ZWQgd2l0aCB0aGUgQXVzdHJpYW4KICAgTGludXh3 ZWVrcyAoTGludXh3b2NoZW4gw5ZzdGVycmVpY2gpIGluIFZpZW5uYS4gV2UgaGFkIG1hbnkgc3Bv bnNvcnMsCiAgIGxpa2UgdGhlIGZyZXNobHkgam9pbmVkIEZyZWVCU0QgRm91bmRhdGlvbiwgaVhz eXN0ZW1zLCBGcmVlQlNETWFsbCwgQlNECiAgIE1hZ2F6aW5lLCBhbGxCU0QuZGUgUHJvamVrdCwg dGhhdCBlbmFibGVkIHVzIHRvIGNvbnRpbnVlIG91ciBwcmV2aW91c2x5CiAgIGxhdW5jaGVkIHNl cmllcyBvZiBtdWx0aS1wcm9qZWN0IEJTRCBkZXZlbG9wZXIgc3VtbWl0cyBhbGwgYXJvdW5kCiAg IENlbnRyYWwgRXVyb3BlLgoKICAgVG8ga2ljayBvZmYsIHRoZXJlIHdhcyBhICJzdGFtbXRpc2No IiAobG9jYWwgYmVlciBtZWV0dXApIG9yZ2FuaXplZCBpbgogICB0aGUgZG93bnRvd24gb2YgVmll bm5hLCBhdCBLb2xhciBvbiB0aGUgRnJpZGF5IGV2ZW5pbmcgYmVmb3JlIHRoZSBldmVudAogICAt LSBhcyB1c3VhbC4gVGhlbiBpdCB3YXMgZm9sbG93ZWQgYnkgdGhlIGV2ZW50IG9uIFNhdHVyZGF5 IHRoYXQgYnJvdWdodAogICBtYW55IGludGVyZXN0aW5nIHRvcGljcyBmcm9tIHRoZSB3b3JsZCBv ZiBGcmVlQlNELCBPcGVuQlNEIGFuZCBOZXRCU0Q6CiAgIHJ1bm5pbmcgTmV0QlNEIGFzIGFuIGVt YmVkZGVkIHN5c3RlbSBmb3IgbWFuYWdpbmcgVk9JUCBhcHBsaWNhdGlvbnMsCiAgIGludHJvZHVj dGlvbiB0byB0aGUgQ2Fwc2ljdW0gc2VjdXJpdHkgZnJhbWV3b3JrLCByZWxheWQoOCksIHRoZSBs b2FkCiAgIGJhbGFuY2VyIGFuZCBwcm94eSBzb2x1dGlvbiBmb3IgT3BlbkJTRCwgc3RhdHVzIHVw ZGF0ZSBvZiB0aGUKICAgZGV2ZWxvcG1lbnRzIGFyb3VuZCB0aGUgRnJlZUJTRCBwb3J0cyB0cmVl LCB1c2luZyBEVkNTcyBpbiBjbG91ZHMsCiAgIGZpcmV3YWxsaW5nIHdpdGggcGZTZW5zZSwgYW5k IG1mc0JTRC4gUGxlYXNlIGNvbnN1bHQgdGhlIGxpbmtzIGluIHRoZQogICByZXBvcnQgZm9yIHRo ZSBkZXRhaWxzLgogICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwoKQlNELWxpY2Vuc2VkIFNvcnQgVXRpbGl0eSAoR05V IHNvcnQoMSkgUmVwbGFjZW1lbnQpCgogICBVUkw6IGh0dHA6Ly93d3cuZnJlZWJzZC5vcmcvY2dp L2N2c3dlYi5jZ2kvcG9ydHMvdGV4dHByb2MvYnNkc29ydC8KICAgVVJMOiBodHRwOi8vcHVicy5v cGVuZ3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS91dGlsaXRpZXMvc29ydC5odG1sCgog ICBDb250YWN0OiBPbGVnIE1vc2thbGVua28gPG9sZWcubW9za2FsZW5rb0BjaXRyaXguY29tPgog ICBDb250YWN0OiBHw6Fib3IgS8O2dmVzZMOhbiA8Z2Fib3JARnJlZUJTRC5vcmc+CgogICBCU0Qg c29ydCgxKSBoYXMgYmVlbiBtYWRlIHRoZSBkZWZhdWx0IHNvcnQgdXRpbGl0eSBpbiAxMC1DVVJS RU5ULiBJdCBpcwogICBjb21wYXRpYmxlIHdpdGggdGhlIGxhdGVzdCBHTlUgc29ydCgxKSwgdmVy c2lvbiA4LjE1LCBleGNlcHQgdGhhdCB0aGUKICAgbXVsdGktdGhyZWFkZWQgbW9kZSBpcyBub3Qg ZW5hYmxlZCBieSBkZWZhdWx0LgoKT3BlbiB0YXNrczoKCiAgICAxLiBXaGVuIHRoZSB0cmFjayBy ZWNvcmQgb2YgdGhlIEJTRCBzb3J0KDEpIGFsbG93cywgcmVtb3ZlIEdOVSBzb3J0KDEpCiAgICAg ICBmcm9tIC1DVVJSRU5ULgogICAgMi4gSW1wcm92ZSByZWxpYWJpbGl0eSBvZiB0aGUgbXVsdGkt dGhyZWFkZWQgc29ydCBhbmQgaW52ZXN0aWdhdGUgdGhlCiAgICAgICBwb3NzaWJpbGl0eSBvZiBt YWtpbmcgaXQgdGhlIGRlZmF1bHQgY29tcGlsYXRpb24gbW9kZS4KICAgIDMuIEludmVzdGlnYXRl IHBvc3NpYmlsaXR5IG9mIGZhY3RvcmluZyBvdXQgdGhlIHNvcnQgZnVuY3Rpb25hbGl0eQogICAg ICAgaW50byBhIHN0YW5kYWxvbmUgbGlicmFyeSBzbyB0aGF0IG90aGVyIHV0aWxpdGllcyBjYW4g YWxzbyBtYWtlIHVzZQogICAgICAgb2YgaXQuCiAgICAgX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpGcmVlQlNEIERvY3Vt ZW50YXRpb24gUHJvamVjdAoKICAgVVJMOiBodHRwOi8vd2lraS5mcmVlYnNkLm9yZy9Hb29nbGVD b2RlSW4vMjAxMVN0YXR1cwogICBVUkw6IGh0dHA6Ly93aWtpLmZyZWVic2Qub3JnLzIwMTIwOERl dlN1bW1pdAogICBVUkw6IGh0dHA6Ly93aWtpLmZyZWVic2Qub3JnL0RvY0lkZWFMaXN0CgogICBD b250YWN0OiA8ZnJlZWJzZC1kb2NARnJlZUJTRC5vcmc+CgogICBXZSBjb250aW51ZSB0byBtYWtl IHByb2dyZXNzIGluIGNvbW1pdHRpbmcgdGhlIHdvcmsgcHJvZHVjZWQgYXMgcGFydCBvZgogICBH b29nbGUgQ29kZS1JbiAyMDExOyBhbiBvdmVydmlldyBvZiB0aGUgc3RhdHVzIGlzIGF0CiAgIGh0 dHA6Ly93aWtpLmZyZWVic2Qub3JnL0dvb2dsZUNvZGVJbi8yMDExU3RhdHVzLiBEb2MgY29tbWl0 dGVycyBhbmQKICAgR0NJTiBtZW50b3JzIGFyZSBlbmNvdXJhZ2VkIHRvIGdvIHRocm91Z2ggdGhl IGxpc3QgYW5kIGhlbHAgc2hlcGhlcmQKICAgb3V0c3RhbmRpbmcgdGFza3MgaW50byB0aGUgdHJl ZS4KCiAgIFdlIGFyZSBwbGFubmluZyBhIGZ1bGwgZGF5IG9mIERvY3VtZW50YXRpb24gU3VtbWl0 IG9uIHRoZSBkYXkgcHJlY2VkaW5nCiAgIHRoZSBBdWd1c3QgMjAxMiBEZXZTdW1taXQgaW4gQ2Ft YnJpZGdlLCBVSy4gVGhpcyBmb2xsb3dzIGEgc3VjY2Vzc2Z1bAogICBEb2NTdW1taXQgZGF5IGhl bGQgYXQgQlNEQ2FuIGluIE1heSAyMDEyLiBGdXJ0aGVyIGRldGFpbHMgYXJlIGF2YWlsYWJsZQog ICBhdDogaHR0cDovL3dpa2kuZnJlZWJzZC5vcmcvMjAxMjA4RGV2U3VtbWl0LgoKICAgQSBkb2Mg c3ByaW50IHRvb2sgcGxhY2Ugb3ZlciBJUkMgKCNic2Rkb2NzIG9uIEVGbmV0KSBpbiBlYXJseSBK dWx5LAogICBzZXR0aW5nIG91dCBwbGFucyBmb3IgcmV2aXZpbmcgdGhlIG1hcmtldGluZyB0ZWFt IGFuZCBhIHN0cm9uZyBkZXNpcmUKICAgZm9yIGEgbmV3LCBtb3JlIG9yZ2FuaXplZCB3ZWJzaXRl LgoKICAgQSBsb3Qgb2YgcHJvZ3Jlc3MgYW5kIG1vbWVudHVtIGhhcyBidWlsdCB1cCB3aXRoIGNy ZWF0aW5nIGFuZCB1cGRhdGluZwogICBkb2N1bWVudGF0aW9uIGFuZCB3ZWJzaXRlIGNvbnRlbnQg b3ZlciB0aGUgbGFzdCBmZXcgbW9udGhzLiBBbHNvIHJlYWQKICAgdGhlIGRvY2VuZyByZXBvcnQg Zm9yIHRoZSByZWNlbnQgaW5mcmFzdHJ1Y3R1cmUgaW1wcm92ZW1lbnRzLgoKICAgQW55b25lIHdp c2hpbmcgdG8gaGVscCB3aXRoIHRoaXMgZWZmb3J0IGlzIHdlbGNvbWUgdG8gam9pbiB1cyBhbmQg c2F5CiAgIGhlbGxvIGVpdGhlciBvbiB0aGUgZnJlZWJzZC1kb2MgbWFpbGluZyBsaXN0LCBvciAj YnNkZG9jcyBvbiBFRm5ldCBJUkMuCgpPcGVuIHRhc2tzOgoKICAgIDEuIFJldmlldyB0aGUgd2Vi c2l0ZSBjb250ZW50IGFuZCByZW1vdmUgb3V0ZGF0ZWQgcGFydHMgb3IgdXBkYXRlIHdoZW4KICAg ICAgIGFwcGxpY2FibGUuCiAgICAyLiBHbyB0aHJvdWdoIHRoZSBkb2MgaWRlYSBsaXN0IG9uIHRo ZSB3aWtpIGFuZCBzdGFydCB3b3JraW5nIHRoZW0KICAgICAgIG91dC4KICAgICBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K CkZyZWVCU0QgSGFza2VsbCBQb3J0cwoKICAgVVJMOiBodHRwOi8vd2lraS5mcmVlYnNkLm9yZy9I YXNrZWxsCiAgIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL2ZyZWVic2QtaGFza2VsbC9mcmVlYnNk LWhhc2tlbGwvCgogICBDb250YWN0OiBHw6Fib3IgUMOBTEkgPHBnakBGcmVlQlNELm9yZz4KICAg Q29udGFjdDogQXNoaXNoIFNIVUtMQSA8YXNoaXNoQEZyZWVCU0Qub3JnPgoKICAgV2UgYXJlIHBy b3VkIHRvIGFubm91bmNlIHRoYXQgdGhlIEZyZWVCU0QgSGFza2VsbCBUZWFtIGhhcyB1cGRhdGVk IHRoZQogICBIYXNrZWxsIFBsYXRmb3JtIHRvIDIwMTIuMi4wLjAsIEdIQyB0byA3LjQuMSBhcyB3 ZWxsIGFzIHVwZGF0ZWQKICAgZXhpc3RpbmcgcG9ydHMgdG8gdGhlaXIgbGF0ZXN0IHN0YWJsZSB2 ZXJzaW9ucy4gV2UgYWxzbyBhZGRlZCBhIG51bWJlcgogICBvZiBuZXcgSGFza2VsbCBwb3J0cywg YW5kIHRoZWlyIGNvdW50IGluIEZyZWVCU0QgUG9ydHMgdHJlZSBpcyBub3cgMzM2LgoKT3BlbiB0 YXNrczoKCiAgICAxLiBUZXN0IEdIQyB0byB3b3JrIHdpdGggY2xhbmcvTExWTS4KICAgIDIuIEFk ZCBhbiBvcHRpb24gdG8gdGhlIGxhbmcvZ2hjIHBvcnQgdG8gYmUgYWJsZSB0byBidWlsZCBpdCB3 aXRoCiAgICAgICBhbHJlYWR5IGluc3RhbGxlZCBHSEMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBz ZXBhcmF0ZSBHSEMgYm9vdHN0cmFwCiAgICAgICB0YXJiYWxsLgogICAgMy4gQ29tbWl0IHBlbmRp bmcgSGFza2VsbCBwb3J0cyB0byB0aGUgRnJlZUJTRCBQb3J0cyB0cmVlLgogICAgNC4gQWRkIG1v cmUgcG9ydHMgdG8gdGhlIFBvcnRzIENvbGxlY3Rpb24uCiAgICAgX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpGcmVlQlNE IFNlcnZpY2VzIENvbnRyb2wgKGZzYykKCiAgIENvbnRhY3Q6IFRvbSBSaG9kZXMgPHRyaG9kZXNA RnJlZUJTRC5vcmc+CgogICBGU0MgaGFzIGJlZW4gbW92ZWQgaW50byB0aGUgcG9ydHMgc3lzdGVt IChzZWUgc3lzdXRpbHMvZnNjKSBhbmQKICAgY29udGludWVzIHRvIGltcHJvdmUgb3V0c2lkZSBv ZiB0aGUgcG9ydHMgdHJlZS4gU29tZSBpbnRlcmVzdGluZyB3b3JrCiAgIGlzIGJlaW5nIGRvbmUg aW4gdGhlIGFyZWEgb2Ygc2VydmljZXMgY29udHJvbCwgc3lzdGVtIGJvb3QsIGFuZCBhCiAgIHNp bXBsaWZpY2F0aW9uIG9mIHRoZSBwcm9jZXNzLiBTdGF5IHR1bmVkIGZvciBtb3JlIGluZm9ybWF0 aW9uIGluCiAgIHN0YXR1cyByZXBvcnRzIHRoYXQgZm9sbG93LgoKT3BlbiB0YXNrczoKCiAgICAx LiBUZXN0LCB0ZXN0LCB0ZXN0LiBGZWVkYmFjayBpcyByZWFsbHkgaW1wb3J0YW50IHRvIHRoaXMg cHJvamVjdC4KICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KCkZyZWVCU0QvYXJtIG9uIEFSTSBGYXN0IE1vZGVscyBT aW11bGF0b3IgZm9yIENvcnRleC1BMTUgTVBDb3JlIFByb2Nlc3NvcgoKICAgVVJMOiBodHRwOi8v d3d3LmFybS5jb20vcHJvZHVjdHMvcHJvY2Vzc29ycy9jb3J0ZXgtYS9jb3J0ZXgtYTE1LnBocAog ICBVUkw6IGh0dHA6Ly93d3cuYXJtLmNvbS9wcm9kdWN0cy90b29scy9tb2RlbHMvZmFzdC1tb2Rl bHMucGhwCgogICBDb250YWN0OiBaYmlnbmlldyBCb2RlayA8emJiQHNlbWloYWxmLmNvbT4KICAg Q29udGFjdDogUmFmYWwgSmF3b3Jvd3NraSA8cmFqQHNlbWloYWxmLmNvbT4KICAgQ29udGFjdDog VG9tYXN6IE5vd2lja2kgPHRuQHNlbWloYWxmLmNvbT4KCiAgIEFSTSBGYXN0IE1vZGVscyBpcyBw bGF0Zm9ybSB3aGljaCBoZWxwcyBzb2Z0d2FyZSBkZXZlbG9wZXJzIGRlYnVnCiAgIHN5c3RlbXMg aW4gcGFyYWxsZWwgd2l0aCBTb0MgZGVzaWduLCBzcGVlZGluZyB1cCBhbmQgaW1wcm92aW5nIHN5 c3RlbQogICBkZXZlbG9wbWVudC4gVGhpcyB3b3JrIGlzIGJyaW5naW5nIHVwIEZyZWVCU0Qgb24g QVJNIEZhc3QgTW9kZWxzIHN5c3RlbQogICBiYXNlZCBvbiBBUk0gQ29ydGV4LUExNSBhbmQgcGVy aXBoZXJhbCBjb21wb25lbnRzLiBJdCB3b3JrcyBpbiBzaW5nbGUKICAgdXNlciBtb2RlLCB1c2lu ZyBhIGNvbXBpbGVkLWluIGtlcm5lbCBSQU0gZGlzayBtaW5pbWFsIHJvb3QgZmlsZQogICBzeXN0 ZW0uCgogICBDdXJyZW50IEZyZWVCU0Qgc3VwcG9ydCBpbmNsdWRlczoKICAgICAqIEwxLCBMMiBj YWNoZSwgQnJhbmNoIFByZWRpY3RvcgogICAgICogRHVhbC1jb3JlIChTTVApIHN1cHBvcnQgc2V0 dXAgaW4gV0IgY2FjaGUgbW9kZQogICAgICogQ29ydGV4LUExNSBpbnRlZ3JhdGVkIEdlbmVyaWMg VGltZXIKICAgICAqIERyaXZlcnMgZm9yIEFSTSBwZXJpcGhlcmFsIGNvbXBvbmVudHM6CiAgICAg ICAgICArIFBMMDExIFVBUlQgY29udHJvbGxlcgogICAgICAgICAgKyBQTDM5MCBHSUMgLSBHZW5l cmljIEludGVycnVwdCBDb250cm9sbGVyCiAgICAgICAgICArIFNQODA0IER1YWwgVGltZXIKCiAg IE5leHQgc3RlcHM6CiAgICAgKiBRdWFkLWNvcmUgKFNNUCkgc3VwcG9ydAogICAgICogTXVsdGkt dXNlciBtb2RlCiAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCgpGcmVlQlNEL2F0OTEgSW1wcm92ZW1lbnRzCgogICBV Ukw6IGh0dHA6Ly93aWtpLmZyZWVic2Qub3JnL0ZyZWVCU0RBdG1lbAoKICAgQ29udGFjdDogV2Fy bmVyIExvc2ggPGltcEBGcmVlQlNELm9yZz4KCiAgIEZyZWVCU0QncyBBdG1lbCBzdXBwb3J0IGhh cyBsYW5ndWlzaGVkIGZvciBzb21lIHRpbWUuIEEgbnVtYmVyIG9mCiAgIGltcHJvdmVtZW50cyB3 ZXJlIHVyZ2VudGx5IG5lZWRlZCBhcyBkZW1hbmQgZm9yIG5ld2VyIFNvQ3MgaGFzCiAgIG1hdGVy aWFsaXplZC4gTmV3IFNvQyBzdXBwb3J0IGlzIG5vdCBoYXJkLCBidXQgaXQgZG9lcyB3aW5kIHVw IGNvcHlpbmcKICAgYSBsb3Qgb2YgY29kZS4gSSBoYXZlIHN0YXJ0ZWQgZG93biB0aGUgcGF0aCB0 byBtYWtlIGl0IGVhc2llciB0byBkby4gSQogICBoYWQgcGxhbm5lZCBvbiBtYWtpbmcgaXQgdGFi bGUgZHJpdmVuLiBCdXQgdGhlbiBJIGRpc2NvdmVyZWQgd2l0aCBkdHMKICAgZmlsZXMgdGhhdCBB dG1lbCB3YXMgcHJvZHVjaW5nLgoKICAgU28sIEkgcGxhbiBvbiBtb3ZpbmcgdG8gdXNpbmcgQXRt ZWwncyAuZHN0aSBmaWxlcywgb3IgdmFyaWF0aW9ucyBvbgogICB0aGVtLiBUaGV5IGhhdmUgLmRz dGkgZmlsZXMgZm9yIGFsbCB0aGUgQVQ5MVNBTTkgcGFydHMuIFRoaXMgc2hvdWxkCiAgIGFsbG93 IHVzIHRvIHN1cHBvcnQgbmV3IFNvQ3MgYW5kIGJvYXJkcyBmYXN0ZXIuCgogICBIb3dldmVyLCB0 aGVyZSBhcmUgc29tZSBjaGFsbGVuZ2VzIHdpdGggdGhpcyBhcHByb2FjaC4gUGluIG11bHRpcGxl eGluZwogICBzZWVtcyB1bmRlZmluZWQgaW4gQXRtZWwncyBkdHMgZmlsZS4gT25seSBhIGZldyBv ZiB0aGUgZGV2aWNlcyBhcmUKICAgd2VsbC1kZWZpbmVkIGF0IHRoZSBwcmVzZW50IHRpbWUuIEFu ZCB0aGUgZW5jb2Rpbmcgc2VlbXMgdG8gYmUKICAgaW1tYXR1cmUuCgogICBTbyB3ZSBoYXZlIGEg dGFyZ2V0LXJpY2ggcG9ydCB0aGF0IGlzIHF1aXRlIHJpcGUgZm9yIHJlZmFjdG9yaW5nLgoKT3Bl biB0YXNrczoKCiAgICAxLiBVcGRhdGUgdGhlIGJhc2Ugc3lzdGVtIGxpYmZkdCB0byBhIHZlcnNp b24gdGhhdCBzdXBwb3J0cyBpbmNsdWRlLgogICAgMi4gV3JpdGUgYSAuZHRzaSBmb3IgQXRtZWwg QVQ5MVJNOTIwMC4KICAgIDMuIFdyaXRlIC5kdGkgZmlsZXMgZm9yIGFsbCBzdXBwb3J0ZWQgYm9h cmRzLgogICAgNC4gSGVscCBzb3J0IG91dCB0aGUgcGluIG11bHRpcGxleGluZyBpc3N1ZS4KICAg IDUuIFJlZmFjdG9yIGV4aXN0aW5nIGJvYXJkIGZpbGVzIHRvIG1ha2UgbmV3IG9uZXMgZWFzaWVy IGluIHRoZQogICAgICAgaW50ZXJpbS4KICAgIDYuIEtub2NrIHlvdXJzZWxmIG91dCBhbmQgaW1w bGVtZW50IGJvYXJkIHN1cHBvcnQgZm9yIG5ldyBDUFVzLgogICAgIF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKS0RFL0Zy ZWVCU0QKCiAgIFVSTDogaHR0cDovL0ZyZWVCU0Qua2RlLm9yZwogICBVUkw6IGh0dHA6Ly9GcmVl QlNELmtkZS5vcmcvYXJlYTUxLnBocAoKICAgQ29udGFjdDogS0RFIEZyZWVCU0QgPGtkZUBGcmVl QlNELm9yZz4KCiAgIFRoZSB0ZWFtIGhhcyBtYWRlIG1hbnkgcmVsZWFzZXMgYW5kIHVwc3RyZWFt ZWQgbWFueSBmaXhlcyBhbmQgcGF0Y2hlcy4KICAgVGhlIGxhdGVzdCByb3VuZCBvZiByZWxlYXNl cyBpbmNsdWRlOgogICAgICogS0RFIFNDOiA0LjguMywgNC44LjQgKGluIHBvcnRzKSBhbmQgNC44 Ljk1IChpbiBhcmVhNTEpCiAgICAgKiBRdDogNC44LjEsIDQuOC4yCiAgICAgKiBQeVF0OiA0Ljku MTsgU0lQOiA0LjEzLjI7IFFTY2ludGlsbGEgMi42LjEKICAgICAqIEtEZXZlbG9wOiAyLjMuMTsg S0RldlBsYXRmb3JtOiAxLjMuMQogICAgICogQ2FsbGlncmE6IDIuNC4yLCAyLjQuMwogICAgICog QW1hcm9rOiAyLjUuOTAgKGluIGFyZWE1MSkKICAgICAqIENNYWtlOiAyLjguOAogICAgICogRGln aWthbSAoYW5kIEtJUEktcGx1Z2lucyk6IDIuNi4wCgogICBBcyBhIHJlc3VsdCAtLSBhY2NvcmRp bmcgdG8gUG9ydFNjb3V0IC0tIGtkZUAgaGFzIDM5MyBwb3J0cywgb2Ygd2hpY2gKICAgOTElIGFy ZSB1cC10by1kYXRlLgoKICAgVGhlIHRlYW0gaXMgYWx3YXlzIGxvb2tpbmcgZm9yIG1vcmUgdGVz dGVycyBhbmQgcG9ydGVycyBzbyBwbGVhc2UKICAgY29udGFjdCB1cyBhbmQgdmlzaXQgb3VyIGhv bWUgcGFnZS4KCk9wZW4gdGFza3M6CgogICAgMS4gVGVzdCBLREUgU0MgNC44Ljk1LgogICAgMi4g VGVzdCBLREUgUElNIDQuOC45NS4KICAgIDMuIFVwZGF0ZSBvdXQtb2YtZGF0ZSBwb3J0cywgc2Vl IFBvcnRTY291dCBmb3IgYSBsaXN0LgogICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTXVsdGlwYXRoIFRDUCAoTVBU Q1ApIGZvciBGcmVlQlNECgogICBVUkw6IGh0dHA6Ly9jYWlhLnN3aW4uZWR1LmF1L25ld3RjcC9t cHRjcC8KICAgVVJMOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW1wdGNw LW11bHRpYWRkcmVzc2VkLTA5CiAgIFVSTDogaHR0cDovL21wdGNwLmluZm8udWNsLmFjLmJlLwoK ICAgQ29udGFjdDogTmlnZWwgV2lsbGlhbXMgPG5qd2lsbGlhbXNAc3dpbi5lZHUuYXU+CiAgIENv bnRhY3Q6IExhd3JlbmNlIFN0ZXdhcnQgPGxhc3Rld2FydEBzd2luLmVkdS5hdT4KICAgQ29udGFj dDogR3JlbnZpbGxlIEFybWl0YWdlIDxnYXJtaXRhZ2VAc3dpbi5lZHUuYXU+CgogICBXb3JrIGlz IHVuZGVyd2F5IHRvIGNyZWF0ZSBhbiBJRVRGIGRyYWZ0LWNvbXBhdGlibGUgTXVsdGlwYXRoIFRD UAogICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIEZyZWVCU0Qga2VybmVsLgoKICAgQSBrZXkgZ29h bCBvZiB0aGUgcHJvamVjdCBpcyB0byBjcmVhdGUgYSByZXNlYXJjaCBwbGF0Zm9ybSB0bwogICBp bnZlc3RpZ2F0ZSBhIHJhbmdlIG9mIG11bHRpcGF0aCByZWxhdGVkIHRyYW5zcG9ydCBpc3N1ZXMg aW5jbHVkaW5nCiAgIGNvbmdlc3Rpb24gY29udHJvbCwgcmV0cmFuc21pc3Npb24gc3RyYXRlZ3kg YW5kIHBhY2tldCBzY2hlZHVsaW5nCiAgIHBvbGljeS4gV2UgYWxzbyBhaW0gdG8gcHJvdmlkZSBm dWxsIGludGVyb3BlcmFiaWxpdHkgd2l0aCB0aGUgTGludXgKICAga2VybmVsIGltcGxlbWVudGF0 aW9uIGJlaW5nIGRldmVsb3BlZCBhdCBVbml2ZXJzaXTDqSBjYXRob2xpcXVlIGRlCiAgIExvdXZh aW4uCgogICBXZSBleHBlY3QgdG8gcmVsZWFzZSBjb2RlIGFuZCByZXN1bHRzIGF0IHRoZSBwcm9q ZWN0J3MgaG9tZSBwYWdlIGFzIGl0CiAgIHByb2dyZXNzZXMuCiAgICAgX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpQb3J0 YnVpbGRlcgoKICAgVVJMOiBodHRwczovL2dpdGh1Yi5jb20vRHJhZ29uU0EvcG9ydGJ1aWxkZXIK ICAgVVJMOiBodHRwczovL2dpdGh1Yi5jb20vRHJhZ29uU0EvcG9ydGJ1aWxkZXIvYmxvYi8wLjEu NS4yL1JFQURNRQogICBVUkw6IGh0dHBzOi8vZ2l0aHViLmNvbS9EcmFnb25TQS9wb3J0YnVpbGRl ci9ibG9iLzAuMS41LjIvVE9ETwoKICAgQ29udGFjdDogRGF2aWQgTmF5bG9yIDxuYXlsb3IuYi5k YXZpZEBnbWFpbC5jb20+CgogICBTaW5jZSB0aGUgbGFzdCB1cGRhdGUgdGhlcmUgaGFzIGJlZW4g MiBmZWF0dXJlIHJlbGVhc2VzIGFuZCA0IGJ1Zy1maXgKICAgcmVsZWFzZXMuIEEgaGlnaGxpZ2h0 IG9mIHRoZSBjaGFuZ2VzIG1hZGU6CiAgICAgKiBTdXBwb3J0IGhhcyBiZWVuIGFkZGVkIGZvcjoK CiAgICAgKiAtajogY29udHJvbGxpbmcgY29uY3VycmVuY3kgcGVyIHN0YWdlCiAgICAgKiBwa2du ZzogbmV4dCBnZW5lcmF0aW9uIHBhY2thZ2UgbWFuYWdlcgogICAgICogaW5zdGFsbGluZyBwYWNr YWdlcyB2aWEgcmVwb3NpdG9yeQogICAgICogZHluYW1pYyBkZWZhdWx0cyAobG9hZGVkIGZyb20g L2V0Yy9tYWtlLmNvbmYpCiAgICAgKiBuZXcgb3B0aW9ucyBmcmFtZXdvcmsgKGFrYSBPcHRpb25z TkcpCgogICAgIFNvbWUgb2YgdGhlIGZpeGVzIGluY2x1ZGU6CiAgICAgKiBjb3JyZWN0IGFzc2Vy dGlvbnMKICAgICAqIGNvcnJlY3QgYnVpbGQgbG9naWMKICAgICAqIHJldHJ5IHdoZW4ga2V2ZW50 IHJlY2VpdmVzIEVJTlRSCiAgICAgKiBjb3JyZWN0bHkgZGV0ZWN0aW5nIGluc3RhbGxlZCBwb3J0 cwogICAgICogbWFueSBmaXhlcyBpbiB0aGUgYnVpbGQgbG9naWMKCiAgIEEgYmVuY2htYXJrIHdh cyBydW4gdGltaW5nIHBvcnRidWlsZGVyIGFnYWluc3QgYSBzdGFuZGFyZCBwb3J0cyBidWlsZAog ICBvZiBLREUgKHgxMS9rZGU0KSBpbiBhIGNsZWFuIGNocm9vdCg4KSBlbnZpcm9ubWVudC4gUG9y dGJ1aWxkZXIKICAgYWNoaWV2ZWQgYSBidWlsZCB0aW1lIG9mIDI6MjE6MTYgY29tcGFyZWQgdG8g cG9ydHMgYnVpbGQgdGltZSBvZgogICA0OjQ3OjIxIGZvciBhbiBkZWNyZWFzZWQgYnVpbGQgdGlt ZSBvZiA1MSUgZnJvbSB1c2luZyBwb3J0YnVpbGRlci4KICAgICBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KClJlZHBvcnRz CgogICBVUkw6IGh0dHA6Ly93d3cucmVkcG9ydHMub3JnLwoKICAgQ29udGFjdDogQmVybmhhcmQg RnJvZWhsaWNoIDxkZWNrZUBGcmVlQlNELm9yZz4KCiAgIFRoZXJlIHdhcyBnb29kIHByb2dyZXNz IGluIHRoZSBsYXN0IGhhbGYgYSB5ZWFyIGFuZCBhIGxvdCBvZiBzdXBwb3J0CiAgIGZyb20gZGlm ZmVyZW50IHBhcnRpZXMgdG8gbWFrZSByZWRwb3J0cyBhIHN0YWJsZSBhbmQgZmFzdCBzZXJ2aWNl LgoKICAgQSBsb25nIGtub3duIHNlY3VyaXR5IGNvbmNlcm4gd2l0aGluIHRpbmRlcmJveCB3YXMg cmFpc2VkIGF0IHRoZQogICBCU0QtRGF5IGluIFZpZW5uYSB3aGljaCB3YXMgYWRkcmVzc2VkIGJ5 IGJlYXQuIFRoYXQgaW1wcm92ZXMgc2VjdXJpdHkKICAgYW5kIGlzb2xhdGlvbiBvZiB0aGUgY29u Y3VycmVudCBydW5uaW5nIGpvYnMgYSBsb3QgYW5kIGdpdmVzIG1lIHBlYWNlCiAgIG9mIG1pbmQu CgogICBXZSBhbHNvIHJlY2VudGx5IGdvdCB0d28gYmVlZnkgbWFjaGluZXMgZnJvbSB0aGUgRnJl ZUJTRCBGb3VuZGF0aW9uCiAgIHdoaWNoIGluY3JlYXNlcyBjb21wdXRpbmcgcG93ZXIgYSBsb3Qu IFNvIG5vIG1vcmUgYmFja2xvZ3MgYW5kIHlvdXIKICAgam9icyBmaW5pc2ggbXVjaCBxdWlja2Vy LgoKICAgQnV0IGFzIHVzdWFsIG5vdyB0aGF0IHdlIGhhdmUgZW5vdWdoIHBvd2VyIEkgd2FzIGFi bGUgdG8gbWFrZSBhbm90aGVyCiAgIHByb21pc2UgY29tZSB0cnVlIGFuZCBpbnRlZ3JhdGVkIFBv cnRzIFFBVCBmdW5jdGlvbmFsaXR5IGludG8gcmVkcG9ydHMuCiAgIFBvcnRzIFFBVCB3YXMgYW4g YXV0b21hdGVkIHNlcnZpY2VzIHRoYXQgZGlkIGEgYnVpbGR0ZXN0IGFmdGVyIGVhY2gKICAgY29t bWl0IHRvIHRoZSBvZmZpY2lhbCBGcmVlQlNEIHBvcnRzIHRyZWUuIElmIGEgYnVpbGQgZmFpbHMg aXQgc2VuZHMKICAgb3V0IG1haWxzIGFuZCBsb2dmaWxlcyB0byB0aGUgY29tbWl0dGVyLiBUaGF0 IGZpbmRzIGJhZCBjb21taXRzIHF1aWNrbHkKICAgYW5kIGFsbG93cyB0aGUgY29tbWl0dGVyIHRv IGZpeCBpdCBiZWZvcmUgdGhlIGZpcnN0IHVzZXIgbm90aWNlcy4gVGhlCiAgIGZvcm1lciBzZXJ2 aWNlIHN0b3BwZWQgYWJvdXQgMiB5ZWFycyBhZ28gYW5kIHdlIGhhZCBubyBwcm9wZXIKICAgcmVw bGFjZW1lbnQgZm9yIHRoYXQgdGFzayBhdCBoYW5kLiBOb3cgdGhhdCB0aGlzIGlzIGZ1bGx5IGlu dGVncmF0ZWQKICAgaW50byByZWRwb3J0cyBpdCBhbHNvIGdpdmVzIHVzIGFsbCB0aGUgbmljZSBi ZW5lZml0cyBvZiBhIGNvbW1vbgogICBwbGF0Zm9ybS4KCk9wZW4gdGFza3M6CgogICAgMS4gQXV0 b21hdGljIGJ1aWxkIGluY29taW5nIHBhdGNoZXMgZnJvbSBQb3J0cyBQUnMgaW4gcmVkcG9ydHMg YW5kCiAgICAgICBzZW5kIHJlc3VsdHMgdG8gR05BVFMgZGF0YWJhc2UuCiAgICAyLiBQZW9wbGUg d2FudCBhbiBHQ0MgdGVzdGluZyBlbnZpcm9ubWVudCBvbiByZWRwb3J0cyB3aGVyZSBhbGwgcG9y dHMKICAgICAgIGFyZSBidWlsZCB3aXRoIGxhbmcvZ2NjNDcuIFRvIG1ha2UgdGhhdCBoYXBwZW4g d2UgbmVlZCB0byBwYXRjaCB0aGUKICAgICAgIHBvcnRzIGZyYW1ld29yayB0byBoYW5kbGUgdGhh dCBhbmQgY29ycmVjdGx5IGJvb3RzdHJhcCB3aXRoIGJhc2UKICAgICAgIEdDQy4gVGhpcyBhbHNv IGdpdmVzIHVzIHRoZSBwb3NzaWJpbGl0eSB0byBidWlsZCBhbGwgb3VyIGJpbmFyeQogICAgICAg cGFja2FnZXMgd2l0aCBhIG1vZGVybiBnY2MgYW5kIGlzIGVhc3kgdG8gdXNlIGZvciByZWd1bGFy IHVzZXJzLgogICAgICAgQ29udHJpYnV0b3JzPwogICAgIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKUmVwbGFjaW5nIHRo ZSBSZWd1bGFyIEV4cHJlc3Npb24gQ29kZQoKICAgVVJMOiBodHRwOi8vbGF1cmlrYXJpLm5ldC90 cmUvCgogICBDb250YWN0OiBHw6Fib3IgS8O2dmVzZMOhbiA8Z2Fib3JARnJlZUJTRC5vcmc+Cgog ICBJdCBoYXMgYmVlbiBkZWNpZGVkIHRvIGltcGxlbWVudCB0aGUgb3B0aW1pemF0aW9ucyBhbmQg ZXh0ZW5zaW9ucyBhcyBhCiAgIG1vcmUgaXNvbGF0ZWQgbGF5ZXIgYW5kIG5vdCBkaXJlY3RseSBp biBUUkUgaXRzZWxmLiBTaW5jZSB0aGUgbGFzdAogICByZXBvcnQgdGhlcmUgaGFzIGJlZW4gc29t ZSBwcm9ncmVzcyBpbiB0aGlzIGRpcmVjdGlvbiBhbmQgdGhlIGNvZGUgaGFzCiAgIGJlZW4gc2ln bmlmaWNhbnRseSByZWZhY3RvcmVkLiBJdCBkb2VzIG5vdCB3b3JrIHlldCBpbiB0aGlzIG5ldyBm b3JtCiAgIGJ1dCBpdCBpcyBjbG9zZSB0byBhIHdvcmtpbmcgc3RhdGUuIEFwYXJ0IGZyb20gdGhp cywgdGhlIG11bHRpcGxlCiAgIHBhdHRlcm4gbWF0Y2hpbmcgbmVlZHMgc29tZSBkZWJ1Z2dpbmcg YW5kIHNvbWUgbWlub3IgZmVhdHVyZXMgYXJlCiAgIG1pc3NpbmcuCgpPcGVuIHRhc2tzOgoKICAg IDEuIEZpbmlzaCBtdWx0aXBsZSBwYXR0ZXJuIGhldXJpc3RpYyByZWdleCBtYXRjaGluZy4KICAg IDIuIEltcGxlbWVudCBHTlUtc3BlY2lmaWMgcmVnZXggZXh0ZW5zaW9ucy4KICAgIDMuIFRlc3Qg cGVyZm9ybWFuY2UsIHN0YW5kYXJkLWNvbXBsaWFuY2UgYW5kIGNvcnJlY3QgYmVoYXZpb3IuCiAg ICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCgpTTVAtRnJpZW5kbHkgcGYoNCkKCiAgIFVSTDogaHR0cDovL3N2bndlYi5m cmVlYnNkLm9yZy9iYXNlL3Byb2plY3RzL3BmL2hlYWQvCiAgIFVSTDogaHR0cDovL2xpc3RzLmZy ZWVic2Qub3JnL3BpcGVybWFpbC9mcmVlYnNkLXBmLzIwMTItSnVuZS8wMDY2NDMuaHRtbAoKICAg Q29udGFjdDogR2xlYiBTbWlybm9mZiA8Z2xlYml1c0BGcmVlQlNELm9yZz4KCiAgIFRoZSBwcm9q ZWN0IGlzIGFpbWVkIGF0IG1vdmluZyB0aGUgcGYoNCkgcGFja2V0IGZpbHRlciBvdXQgb2Ygc2lu Z2xlCiAgIG11dGV4LCBhcyB3ZWxsIGFzIGluIGdlbmVyYWwgaW1wcm92aW5nIG9mIGl0cyBGcmVl QlNEIHBvcnQuCgogICBUaGUgcHJvamVjdCBpcyBuZWFyIGl0cyBmaW5pc2gsIHRoZSBjb2RlIGlz IHBsYW5uZWQgdG8gZ28gaW50byBoZWFkCiAgIGFmdGVyIG1vcmUgdGVzdGluZyBhbmQgYmVuY2ht YXJraW5nLiBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gZGV0YWlscywKICAgcGxlYXNlIHNlZSB0 aGUgY29ycmVzcG9uZGluZyBlbWFpbCB0aHJlYWQgb24gZnJlZWJzZC1wZiAoc2VlIGxpbmtzKS4K Ck9wZW4gdGFza3M6CgogICAgMS4gUmV3cml0ZSB0aGUgcGYoNCkgaW9jdGwoKSBpbnRlcmZhY2Ug c28gdGhhdCBpdCBkb2VzIG5vdCB1dGlsaXplCiAgICAgICBpbi1rZXJuZWwgc3RydWN0dXJlcy4g VGhhdCB3b3VsZCBtYWtlIEFCSSBtb3JlIHN0YWJsZSBhbmQgZWFzZQogICAgICAgZnV0dXJlIGRl dmVsb3BtZW50LgogICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwoKVGhlIEZyZWVCU0QgQ29yZSBUZWFtCgogICBVUkw6 IGh0dHA6Ly9kb2NzLkZyZWVCU0Qub3JnL2NnaS9taWQuY2dpPzEzNDIwMzAyOTEuNjAwMS44MC5j YW1lbAoKICAgQ29udGFjdDogQ29yZSBUZWFtIDxjb3JlQEZyZWVCU0Qub3JnPgoKICAgVGhlIEZy ZWVCU0QgUHJvamVjdCBpcyBwbGVhc2VkIHRvIGFubm91bmNlIHRoZSBjb21wbGV0aW9uIG9mIHRo ZSAyMDEyCiAgIENvcmUgVGVhbSBlbGVjdGlvbi4gVGhlIEZyZWVCU0QgQ29yZSBUZWFtIGFjdHMg YXMgdGhlIHByb2plY3QncyAiQm9hcmQKICAgb2YgRGlyZWN0b3JzIiBhbmQgaXMgcmVzcG9uc2li bGUgZm9yIGFwcHJvdmluZyBuZXcgc3JjIGNvbW1pdHRlcnMsCiAgIHJlc29sdmluZyBkaXNwdXRl cyBiZXR3ZWVuIGRldmVsb3BlcnMsIGFwcG9pbnRpbmcgc3ViLWNvbW1pdHRlZXMgZm9yCiAgIHNw ZWNpZmljIHB1cnBvc2VzIChzZWN1cml0eSBvZmZpY2VyLCByZWxlYXNlIGVuZ2luZWVyaW5nLCBw b3J0CiAgIG1hbmFnZXJzLCB3ZWJtYXN0ZXIsIGV0IGNldGVyYSksIGFuZCBtYWtpbmcgYW55IG90 aGVyIGFkbWluaXN0cmF0aXZlIG9yCiAgIHBvbGljeSBkZWNpc2lvbnMgYXMgbmVlZGVkLiBUaGUg Q29yZSBUZWFtIGhhcyBiZWVuIGVsZWN0ZWQgYnkgRnJlZUJTRAogICBkZXZlbG9wZXJzIGV2ZXJ5 IDIgeWVhcnMgc2luY2UgMjAwMC4KCiAgIFBldGVyIFdlbW0gcmVqb2lucyB0aGUgQ29yZSBUZWFt IGFmdGVyIGEgdHdvLXllYXIgaGlhdHVzLCB3aXRoIG5ldwogICBtZW1iZXJzIFRob21hcyBBYnRo b3JwZSwgR2F2aW4gQXRraW5zb24sIERhdmlkIENoaXNuYWxsLCBBdHRpbGlvIFJhbwogICBhbmQg TWFydGluIFdpbGtlIGpvaW5pbmcgaW5jdW1iZW50cyBKb2huIEJhbGR3aW4sIEtvbnN0YW50aW4g QmVsb3Vzb3YKICAgYW5kIEhpcm9raSBTYXRvLgoKICAgVGhlIGNvbXBsZXRlIG5ld2x5IGVsZWN0 ZWQgY29yZSB0ZWFtIGlzOgogICAgICogVGhvbWFzIEFidGhvcnBlIDx0YWJ0aG9ycGVARnJlZUJT RC5vcmc+CiAgICAgKiBHYXZpbiBBdGtpbnNvbiA8Z2F2aW5ARnJlZUJTRC5vcmc+CiAgICAgKiBK b2huIEJhbGR3aW4gPGpoYkBGcmVlQlNELm9yZz4KICAgICAqIEtvbnN0YW50aW4gQmVsb3Vzb3Yg PGtpYkBGcmVlQlNELm9yZz4KICAgICAqIERhdmlkIENoaXNuYWxsIDx0aGVyYXZlbkBGcmVlQlNE Lm9yZz4KICAgICAqIEF0dGlsaW8gUmFvIDxhdHRpbGlvQEZyZWVCU0Qub3JnPgogICAgICogSGly b2tpIFNhdG8gPGhyc0BGcmVlQlNELm9yZz4KICAgICAqIFBldGVyIFdlbW0gPHBldGVyQEZyZWVC U0Qub3JnPgogICAgICogTWFydGluIFdpbGtlIDxtaXdpQEZyZWVCU0Qub3JnPgoKICAgVGhlIG5l dyBDb3JlIFRlYW0gd291bGQgbGlrZSB0byB0aGFuayBvdXRnb2luZyBtZW1iZXJzIFdpbGtvIEJ1 bHRlLAogICBCcm9va3MgRGF2aXMsIFdhcm5lciBMb3NoLCBQYXYgTHVjaXN0bmlrLCBDb2xpbiBQ ZXJjaXZhbCBhbmQgUm9iZXJ0CiAgIFdhdHNvbiBmb3IgdGhlaXIgc2VydmljZSBvdmVyIHRoZSBw YXN0IHR3byAoYW5kIGluIHNvbWUgY2FzZXMsIG1hbnkKICAgbW9yZSkgeWVhcnMuCgogICBUaGUg Q29yZSBUZWFtIHdvdWxkIGFsc28gZXNwZWNpYWxseSBsaWtlIHRvIHRoYW5rIERhZy1Fcmxpbmcg U23DuHJncmF2CiAgIGZvciBydW5uaW5nIHRoZSBlbGVjdGlvbi4KICAgICBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KClRo ZSBGcmVlQlNEIEphcGFuZXNlIERvY3VtZW50YXRpb24gUHJvamVjdAoKICAgVVJMOiBodHRwOi8v d3d3LkZyZWVCU0Qub3JnL2phLwogICBVUkw6IGh0dHA6Ly93d3cuanAuRnJlZUJTRC5vcmcvZG9j LWpwLwoKICAgQ29udGFjdDogSGlyb2tpIFNhdG8gPGhyc0BGcmVlQlNELm9yZz4KICAgQ29udGFj dDogUnl1c3VrZSBTdXp1a2kgPHJ5dXN1a2VARnJlZUJTRC5vcmc+CgogICBPdXIgdHJhbnNsYXRp b24gd29yayBoYXMgc2xpZ2h0bHkgbW92ZWQgb24gdG8gaGFuZGJvb2sgZnJvbSB0aGUgd3d3L2ph CiAgIChDVlMpIG9yIGh0ZG9jcyAoU1ZOKSBzdWJ0cmVlLCBzaW5jZSBhbG1vc3QgdHJhbnNsYXRl ZCB3ZWIgcGFnZQogICBjb250ZW50cyB3ZXJlIHVwZGF0ZWQgdG8gdGhlIGxhdGVzdCBFbmdsaXNo IGNvdW50ZXJwYXJ0cy4KCiAgIER1cmluZyB0aGlzIHBlcmlvZCwgd2UgdHJhbnNsYXRlZCB0aGUg OC4zLVJFTEVBU0UgYW5ub3VuY2VtZW50IGFuZAogICBwdWJsaXNoZWQgaXQgaW4gYSB0aW1lbHkg bWFubmVyLiBOZXdzZmxhc2ggYW5kIHNvbWUgb3RoZXIgdXBkYXRlcyBpbgogICB0aGUgRW5nbGlz aCB2ZXJzaW9uIHdlcmUgYWxzbyB0cmFuc2xhdGVkIGFzIHNvb24gYXMgcG9zc2libGUuCgogICBG b3IgRnJlZUJTRCBIYW5kYm9vaywgdHJhbnNsYXRpb24gd29yayBvZiB0aGUgImN1dHRpbmctZWRn ZSIgYW5kCiAgICJwcmludGluZyIgc2VjdGlvbnMgaGF2ZSBiZWVuIGNvbXBsZXRlZC4gU29tZSB1 cGRhdGVzIGluIHRoZSAibGludXhlbXUiCiAgIGFuZCAic2VyaWFsY29tbXMiIHNlY3Rpb24gd2Vy ZSBkb25lLiBBdCB0aGlzIG1vbWVudCwgImJzZGluc3RhbGwiLAogICAiY3V0dGluZy1lZGdlIiwg ImRlc2t0b3AiLCAiaW5zdGFsbCIsICJpbnRyb2R1Y3Rpb24iLCAia2VybmVsY29uZmlnIiwKICAg Im1pcnJvcnMiLCAibXVsdGltZWRpYSIsICJwZ3BrZXlzIiwgInBvcnRzIiwgInByaW50aW5nIiwg YW5kICJ4MTEiCiAgIGNoYXB0ZXJzIGFyZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgRW5nbGlzaCB2 ZXJzaW9ucy4KCk9wZW4gdGFza3M6CgogICAgMS4gRnVydGhlciB0cmFuc2xhdGlvbiB3b3JrIG9m IG91dGRhdGVkIGRvY3VtZW50cyBpbiBqYV9KUC5ldWNKUAogICAgICAgc3VidHJlZS4KICAgICBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KClRoZSBGcmVlQlNEIFBvcnQgTWFuYWdlbWVudCBUZWFtCgogICBVUkw6IGh0dHA6 Ly93d3cuRnJlZUJTRC5vcmcvcG9ydHMvCiAgIFVSTDogaHR0cDovL3d3dy5mcmVlYnNkLm9yZy9k b2MvZW5fVVMuSVNPODg1OS0xL2FydGljbGVzL2NvbnRyaWJ1dGluZy1wb3J0cy8KICAgVVJMOiBo dHRwOi8vcG9ydHNtb24uZnJlZWJzZC5vcmcvaW5kZXguaHRtbAogICBVUkw6IGh0dHA6Ly93d3cu ZnJlZWJzZC5vcmcvcG9ydG1nci9pbmRleC5odG1sCiAgIFVSTDogaHR0cDovL2Jsb2dzLmZyZWVi c2Rpc2gub3JnL3BvcnRtZ3IvCiAgIFVSTDogaHR0cDovL3d3dy50d2l0dGVyLmNvbS9mcmVlYnNk X3BvcnRtZ3IvCiAgIFVSTDogaHR0cDovL3d3dy5mYWNlYm9vay5jb20vcG9ydG1ncgoKICAgQ29u dGFjdDogVGhvbWFzIEFidGhvcnBlIDxwb3J0bWdyLXNlY3JldGFyeUBGcmVlQlNELm9yZz4KICAg Q29udGFjdDogUG9ydCBNYW5hZ2VtZW50IFRlYW0gPHBvcnRtZ3JARnJlZUJTRC5vcmc+CgogICBU aGUgcG9ydHMgdHJlZSBzbG93bHkgYXBwcm9hY2hlcyAyNCwwMDAgcG9ydHMuIFRoZSBQUiBjb3Vu dCBzdGlsbCBpcwogICBjbG9zZSB0byAxMjAwLgoKICAgSW4gUTIgd2UgYWRkZWQgNyBuZXcgY29t bWl0dGVycyBhbmQgdG9vayBpbiBvbmUgY29tbWl0IGJpdCBmb3Igc2FmZQogICBrZWVwaW5nLgoK ICAgVGhlIFBvcnRzIE1hbmFnZW1lbnQgdGVhbSBoYXZlIGJlZW4gcnVubmluZyAtZXhwIHJ1bnMg b24gYW4gb25nb2luZwogICBiYXNpcywgdmVyaWZ5aW5nIGhvdyBiYXNlIHN5c3RlbSB1cGRhdGVz IG1heSBhZmZlY3QgdGhlIHBvcnRzIHRyZWUsIGFzCiAgIHdlbGwgYXMgcHJvdmlkaW5nIFFBIHJ1 bnMgZm9yIG1ham9yIHBvcnRzIHVwZGF0ZXMuIE9mIG5vdGUsIC1leHAgcnVucwogICB3ZXJlIGRv bmUgZm9yOgogICAgICogYXV0b21ha2UgdXBkYXRlCiAgICAgKiBjbWFrZSB1cGRhdGUKICAgICAq IHhvcmcgdXBkYXRlCiAgICAgKiBwbmcgdXBkYXRlCiAgICAgKiBGaXggbWFrZSByZWluc3RhbGwK ICAgICAqIEltcGxlbWVudCBVU0VfUVQ0IGluIGJzZC5wb3J0cy5tawogICAgICogS0RFNCB1cGRh dGUKICAgICAqIFhGQ0U0IHVwZGF0ZQogICAgICogYmlzb24gdXBkYXRlCiAgICAgKiBwZXJsNS4x NCBhcyBkZWZhdWx0CiAgICAgKiBydWJ5MS45IGFzIGRlZmF1bHQKICAgICAqIHJ1YnkxLjggdXBk YXRlCiAgICAgKiBic2Rzb3J0IHJlZ3Jlc3Npb24gdGVzdAoKICAgQSBsb3Qgb2YgZm9jdXMgZHVy aW5nIHRoaXMgcGVyaW9kIHdhcyBwdXQgaW50byBnZXR0aW5nIHRoZSBwb3J0cyB0cmVlCiAgIGlu dG8gYSByZWFkeSBzdGF0ZSBmb3IgRnJlZUJTRCA5LjEuCgogICBBIHNpZ25pZmljYW50IHN0ZXAg Zm9yd2FyZCB3YXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIE9wdGlvbnNORy4KCiAgIEEgcmVjb3Jk IG51bWJlciBvZiBQb3J0IE1hbmFnZXJzIGF0dGVuZGVkIEJTRENhbiAyMDEyLCB3aXRoIGZpdmUg YmVpbmcKICAgcHJlc2VudCB0byBwYXJ0YWtlIGluIHRoZSB3ZWVrIG9mIGV2ZW50cywgY3VsbWlu YXRpbmcgaW4gYSBwb3J0bWdyIFBSCiAgIGNsb3Npbmcgc2Vzc2lvbiB0aGF0IGRlYWx0IHdpdGgg MTggUFJzIGluIG9uZSBkYXkuIFlvdSBjYW4gc2VlIGEgZ3JvdXAKICAgcGhvdG8gYXQgLiBXaGls ZSB5b3UgYXJlIHRoZXJlLCBwbGVhc2UgY2xpY2sgb24gdGhlICJMaWtlIiBpY29uLgoKICAgQmVh dCBHYWV0emkgaGFzIGJlZW4gZG9pbmcgb25nb2luZyB0ZXN0cyB3aXRoIHRoZSBwb3J0cyB0cmVl IHRvIGVuc3VyZQogICBhIHNtb290aCB0cmFuc2l0aW9uIGZyb20gQ1ZTIHRvIFN1YnZlcnNpb24u IFRoZSB0cmVlIHdhcyBzdWNjZXNzZnVsbHkKICAgbWlncmF0ZWQgdGhlIHdlZWtlbmQgb2YgSnVu ZSAxNCwgMjAxMi4KCk9wZW4gdGFza3M6CgogICAgMS4gTG9va2luZyBmb3IgaGVscCBnZXR0aW5n IHBvcnRzIHRvIGJ1aWxkIHdpdGggY2xhbmcuCiAgICAyLiBMb29raW5nIGZvciBoZWxwIGZpeGlu ZyBwb3J0cyBicm9rZW4gb24gQ1VSUkVOVC4gKExpc3QgbmVlZHMKICAgICAgIHVwZGF0aW5nLCB0 b28uKQogICAgMy4gTG9va2luZyBmb3IgaGVscCB3aXRoIFRpZXItMiBhcmNoaXRlY3R1cmVzLgog ICAgNC4gcG9ydHMgYnJva2VuIGJ5IHNyYyBjaGFuZ2VzLgogICAgNS4gcG9ydHMgZmFpbGluZyBv biBwb2ludHloYXQuCiAgICA2LiBwb3J0cyBmYWlsaW5nIG9uIHBvaW50eWhhdC13ZXN0LgogICAg Ny4gcG9ydHMgdGhhdCBhcmUgbWFya2VkIGFzIEJST0tFTi4KICAgIDguIFdoZW4gZGlkIHRoYXQg cG9ydCBicmVhaz8KICAgIDkuIE1vc3QgcG9ydHMgUFJzIGFyZSBhc3NpZ25lZCwgd2Ugbm93IG5l ZWQgdG8gZm9jdXMgb24gdGVzdGluZywKICAgICAgIGNvbW1pdHRpbmcgYW5kIGNsb3NpbmcuCiAg ICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCgpYb3JnIG9uIEZyZWVCU0QKCiAgIFVSTDogaHR0cDovL3dpa2kuZnJlZWJz ZC5vcmcvWG9yZwogICBVUkw6IGh0dHA6Ly90cmlsbGlhbi5jaHJ1ZXRlcnRlZS5jaC9wb3J0cy9i cm93c2VyL3RydW5rCgogICBDb250YWN0OiBNYXJ0aW4gV2lsa2UgPG1pd2lARnJlZUJTRC5vcmc+ CiAgIENvbnRhY3Q6IEtvb3AgTWFzdCA8a3dtQEZyZWVCU0Qub3JnPgogICBDb250YWN0OiBOaWNs YXMgWmVpc2luZyA8emVpc2luZ0BGcmVlQlNELm9yZz4KICAgQ29udGFjdDogRWl0YW4gQWRsZXIg PGVhZGxlckBGcmVlQlNELm9yZz4KCiAgIER1cmluZyB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgcGVy aW9kLCBhbiB1cGRhdGUgdG8gdGhlIHhvcmcgZGlzdHJpYnV0aW9uCiAgIGZvciBGcmVlQlNEIHdh cyBtYWRlLCBkdWJiZWQgeG9yZyA3LjUuMi4gVGhpcyB1cGRhdGUgaW5jbHVkZWQgYSBuZXcKICAg ZmxhZywgV0lUSF9ORVdfWE9SRywgdG8gZ2V0IGEgbW9yZSByZWNlbnQgeG9yZyBkaXN0cmlidXRp b24gZm9yIHRob3NlCiAgIHdpdGggbW9kZXJuIGhhcmR3YXJlLiBUbyBnZXQgS01TIHN1cHBvcnQg Zm9yIHJlY2VudCBJbnRlbCBncmFwaGljcwogICBjaGlwc2V0cyBXSVRIX0tNUyBtdXN0IGFsc28g YmUgc2V0LiBUaGlzIHJlcXVpcmVzIGEgcmVjZW50IEZyZWVCU0QKICAgMTAtQ1VSUkVOVCBvciBG cmVlQlNEIDktU1RBQkxFLgoKT3BlbiB0YXNrczoKCiAgICAxLiBTd2l0Y2ggdG8gdXNlIEZyZWVH TFVUIGluc3RlYWQgb2YgbGliR0xVVCwgc2luY2UgdGhlIGxhdHRlciBpcyBvbGQKICAgICAgIGFu ZCBoYXMgdGhlcmUgaXMgbm8gdXBzdHJlYW0gc3VwcG9ydCBvciByZWxlYXNlcyBhbnkgbW9yZS4g V29yayBvbgogICAgICAgdGhpcyBpcyBtb3N0bHkgZG9uZS4KICAgIDIuIFVwZGF0ZSB0aGUgeG9y ZyBkaXN0cmlidXRpb24gdG8gd2hhdCBpcyBpbiB0aGUgZGV2ZWxvcG1lbnQKICAgICAgIHJlcG9z aXRvcnkuIFRoZSB4b3JnIHByb2plY3QgcmVjZW50bHkgZGlkIGEgbmV3IHJlbGVhc2UsIGFuZCB0 aGUKICAgICAgIGRldmVsb3BtZW50IHJlcG9zaXRvcnkgY29udGFpbnMgdGhpcyByZWxlYXNlLiBJ dCBuZWVkcyBtb3JlIHRlc3RpbmcKICAgICAgIGJlZm9yZSBpdCBjYW4gYmUgbWVyZ2VkLCBhbmQg YSBDRlQgd2FzIHNlbnQgb3V0IGluIHRoZSBiZWdpbm5pbmcgb2YKICAgICAgIEp1bmUuIFdvcmsg b24gdGhpcyBpcyBvbmdvaW5nLgogICAgMy4gRGVjaWRlIGhvdyB0byBoYW5kbGUgdGhlIG5ldyBh bmQgb2xkIHhvcmcgZGlzdHJpYnV0aW9ucy4gSW4gcmVjZW50CiAgICAgICB4b3JnLCBhIGxvdCBv ZiBsZWdhY3kgZHJpdmVyIHN1cHBvcnQgaGFzIGJlZW4gZHJvcHBlZCwgdGhlcmVmb3JlIHdlCiAg ICAgICBuZWVkIHRvIG1haW50YWluIHR3byB4b3JnIGRpc3RyaWJ1dGlvbnMgdG8gbm90IGxvb3Nl IGEgbG90IG9mCiAgICAgICBoYXJkd2FyZSBkcml2ZXJzLiBDdXJyZW50bHksIHRoaXMgaXMgZG9u ZSBieSBzZXR0aW5nIHRoZSBmbGFnCiAgICAgICBXSVRIX05FV19YT1JHIGluIC9ldGMvbWFrZS5j b25mLCBidXQgYSBtb3JlIHByYWN0aWNhbCBzb2x1dGlvbiBpcwogICAgICAgbmVlZGVkLiBUaGlz IGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHNpbmNlIHRoZSBmbGFnIGlzIG5vdCB2ZXJ5CiAgICAg ICB1c2VyIGZyaWVuZGx5LCBhbmQgc2luY2UgdGhlcmUgY3VycmVudGx5IHdpbGwgYmUgbm8gb2Zm aWNpYWwKICAgICAgIHBhY2thZ2VzIGZvciB0aGUgbmV3IGRpc3RyaWJ1dGlvbi4KICAgICBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KCiAgIChjKSAxOTk1LTIwMTMgVGhlIEZyZWVCU0QgUHJvamVjdC4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZnJlZWJzZC1hbm5vdW5jZUBmcmVlYnNkLm9yZyBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmZy ZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWJzZC1hbm5vdW5jZQpUbyB1bnN1YnNjcmli ZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1hbm5vdW5jZS11bnN1YnNjcmliZUBmcmVlYnNk Lm9yZyI=