ZGlmZiAtLWdpdCBhL2RvYy9kcml2ZXIvY29weXJpZ2h0LWlzc3VlIGIvZG9jL2RyaXZlci9jb3B5cmlnaHQtaXNzdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYwODZhNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9kcml2ZXIvY29weXJpZ2h0LWlzc3VlCkBAIC0wLDAgKzEsMjUyIEBACitUaGUgcXVlc3Rpb24gb2YgdGhlIENvcHlyaWdodCBhbmQgVGVybXMgb2YgVXNlIGZvciB0aGUgZHJpdmVyIGlzIGFuIG9sZAorb25lLiBIZXJlIGlzIHdoYXQgSSBjb3VsZCBzYWx2YWdlIGZyb20gdGhlIGFteWxhYXItdXNlcnMgbWFpbGluZyBsaXN0LgorSW1wb3J0YW50IGlzIEphY29iJ3MgbWFpbCBJIHJlY2VpdmVkIGluIDE5OTkgd2hpY2ggZXNzZW50aWFsbHkgY2FzdHMKK3RoZSBjdXJyZW50IGNvcHlyaWdodCB0ZXJtcyBpbiBzdG9uZS4KKworICAtLSBMYXJzIChub3QgL0xhcnMpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0RhdGU6IFNhdCwgMTMgTm92IDE5OTMgMDM6MTE6MjkgKzAxMDAgKE1FVCkKK0Zyb206IGFteWxhYXJAbWVvbHlvbi5oYW5zZS5kZSAoSm9lcm4gUmVubmVja2UpCitTdWJqZWN0OiBMUG11ZCBDb3B5cmlnaHQKK1RvOiBidXNleUB1eDEuY3NvLnVpdWMuZWR1IChidXNleSBhbmRyZXcpLCBsYXJzQGNkLmNoYWxtZXJzLnNlLAorICAgICAgICBjcm9lc0Bzd2kucHN5LnV2YS5ubCwgZ3VzYXJAdW5pd2EudXdhLk9aLkFVLCBkdWVuaW5nQGlici5jcy50dS1icy5kZSwKKyAgICAgICAgamFjb2JAY2QuY2hhbG1lcnMuc2UsIHJfYmVocmVuQGluZm9ybWF0aWsudW5pLWtsLmRlLAorICAgICAgICBtdWRAYWxpamt1MDUuZWR2ei51bmktbGluei5hYy5hdCwgYWxjYW1hbkBjcy50dS1iZXJsaW4uZGUKKworTW90aXZhdGlvbiBvZiB0aGlzIGxldHRlcjoKK1RoZXJlIHNlZW1zIHRvIGJlIGEgcG90ZW50aWFsIGZvciBtdWRzIHRoYXQgcnVuIG9uIGRlZGljYXRlZCBtYWNoaW5lcwordGhhdCBjaGFyZ2UgZmVlcyBmcm9tIHBsYXllciB0byBtYWtlIHRoZSBtdWQgZWNvbm9taWNhbGx5IGZlYXNpYmxlLgorVGhlIENvcHlyaWdodCBmaWxlIHNheXMgdGhhdCBMUG11ZCBjYW4gZnJlZWx5IHVzZWQgaWZmIGl0IGlzIG5vdCBmb3IKK21vbmV0YXJ5IGdhaW4uIE5vdyB0aGUgZGViYXRlIHdoYXQgY29uc3RpdHV0ZXMgbW9uZXRhcnkgZ2FpbiBhbmQgaWYKK2FuIGluZGl2aWR1YWwgbGljZW5zZSBpcyBhbiBsaWNlbnNlIHRvIGJyZWFrIHRoZSBjb3B5cmlnaHQsCitpcyBhbiBpbnRlcnByZXRhdGlvbiBvZiB0aGUgbGljZW5zZSBpbiBDb3B5cmlnaHQgb3IgZ2l2ZXMgcmlnaHRzCitpbmRlcGVuZGVudCB0aGUgcmVzdHJpY3Rpb25zIGluIENvcHlyaWdodCBoYXMgYmVjb21lIGEgbm9ybWFsIGZsYW1lCit3YXIgaW4gdGhlIHJlYy5nYW1lcy5tdWQuKiBncm91cHMuIFRoYXQgaXMgdG8gc2F5LCBvbmUgb2YgdGhlIHdvcnN0Cit0aGlua2FibGUuCisKK1RvIGFsbG93IG11ZHMgdG8gY2hhcmdlIGZlZXMgdG8gY292ZXIgY29zdHMsIHdpdGhvdXQgZ29pbmcgdGhyb3VnaAorc3VjaCBkZWJhdGVzIGV2ZXJ5IHRpbWUsIEkgc3VnZ2VzdCB0byBhbWVuZCB0aGUgQ29weXJpZ2h0IGZpbGUKK3dpdGggdGVybXMgdW5kZXIgd2l0Y2ggc3VjaCBhIG11ZCBpcyBjb25zaWRlcmVkIHRvIGNvbXBseSB0byB0aGUKKydubyBtb25ldGFyeSBnYWluIGNsYXVzZScgLgorCitFeHBsYW5hdGlvbiBvZiB0aGUgcmVjaXBpZW50IGxpc3QgYW5kIHNvbWUgaW5kaXZpZHVhbCBtZXNzYWdlczoKKworQnVzZXkgQW5kcmV3OiB3YW50cyB0byBzZXQgdXAgYSBtdWQgdGhhdCBjaGFyZ2VzIGZlZXMgdG8gY292ZXIgY29zdHMuCisgIElmIHRoZSBiZWxvdyBydWxlcyB3b24ndCBtYWtlIGl0IGludG8gdGhlIENvcHlyaWdodCwgeW91IGNhbiByZWdhcmQgdGhpcworICBhcyBhIGxpY2Vuc2UgLSBvZiBjb3Vyc2Ugb25seSBmb3IgdGhlIGNvZGUgd3JpdHRlbiBieSBtZS4KK0xhcnMgUGVuc2p8OiBvcmlnaW5hbCBhdXRob3IuCisgIFBsZWFzZSBmb3J3YXJkIHRoaXMgbGV0dGVyIHRvIG90aGVyIGF1dGhvcnMgdGhhdCBoYXZlIGNvbnRyaWJ1dGVkIHRvIDMuMS4yCisgIHdobyBoYXZlIGEgc2F5IGluIHRoZSBjb3B5cmlnaHQuCitGZWxpeCBBLiBDcm9lczogd3JvdGUgdGhlIG5vbi1jb3JydXB0aW5nIGluZGVudGF0aW9uIGNvZGUgZm9yIGVkLgorU2VhbiBBIFJlaXRoOiB3cm90ZSBNdWQtc3ByaW50ZigpIC4KK0xhcnMgRHVlbmluZzogd3JvdGUgdGhlIEFtaWdhIHBvcnQuCitSZWltZXIgQmVocmVuZHM6IHdyb3RlIG1lcmdlc29ydCBiYXNlZCBzb3J0X2FycmF5KCkgLgorSGVycDogd3JvdGUgZ2V0X29iamVjdF9hY3Rpb25zKCkgLgorSmFjb2IgSGFsbGVuOiBpcyBvbmUgb2YgdGhlIHBlb3BsZSBpbnZvbHZlZCB3aXRoIHRoZSBDRCBkcml2ZXI7IHRoZSBlbWFpbAorIGFkZHJlc3Mgd2FzIGluIHRoZSBuZXdzIHJlY2VudGx5Li4uCisgIFBsZWFzZSBmb3J3YXJkIHRoaXMgbGV0dGVyIHRvIHRoZSBwZXJzb24gaG9sZGluZyB0aGUgY29weXJpZ2h0IGZvciB0aGUKKyAgVURQIGNvbm5lY3Rpdml0eSh1bmxlc3MgaXQncyB5b3Vyc2VsZiA6LSkgLgorQWxleGFuZGVyIFdlaWR0OgorICBQbGVhc2UgdHJ5IHRvIGZvcndhcmQgdGhpcyBsZXR0ZXIgdG8gbXkgYnJvdGhlci4uLgorCitJIGhvcGUgdG8gZmluYWxseSBnZXQgdGVybXMgd2hpY2ggYWxsIGF1dG9ycyBjYW4gYWdyZWUgb24gdGhhdCBjYW4gYmUgaW5jbHVkZWQKK2ludG8gdGhlIENvcHlyaWdodCBmaWxlLiBJIHN1Z2dlc3QgZ3JvdXAgcmVwbGllcywgc28gdGhhdCB3ZSBjYW4gZ2V0IHNvbWUKK2tpbmQgb2YgZGlzY3Vzc2lvbiBnb2luZyAodW5sZXNzIHRoZXJlIGlzIGltbWVkaWF0ZSBhcHByb3ZhbCBmcm9tIGFsbAorYXV0aG9ycyA6LSkgLiBXaGVuIHlvdSBoYXZlIG9iamVjdGlvbnMsIHBsZWFzZSB0cnkgdG8gcG9pbnQgb3V0IHdoYXQgaXMKK3dyb25nIHdpdGggdGhlc2UgdGVybXMuIEV2ZW4gYmV0dGVyIHdvdWxkIGl0IGJlIGlmIHlvdSBoYWQgYSBzb2x1dGlvbgordG8gdGhlIHByb2JsZW0uCisKKyAgICAgICAgSm9lcm4gUmVubmVja2UgKEFteWxhYXIpCisKK1Byb3Bvc2VkIFRlcm1zOgorMS4gQSBMUG11ZCBtYXkgY2hhcmdlIGZlZXMgZnJvbSBwbGF5ZXJzIHRvIGNvdmVyIHJ1bm5pbmcgYW5kIG1hY2hpbmUgY29zdHMuCisyLiBSdW5uaW5nIGNvc3RzIGluIHRoZXNlIHRlcm1zIGFyZSB0aGUgY29zdCBmb3IgdGhlIG5ldHdvcmsgY29ubmVjdGlvbiwKKyAgIGVsZWN0cmljIHBvd2VyIHRvIG9wZXJhdGUgdGhlIGhvc3QgbWFjaGluZSwgd2VhciBvZiBiYWNrdXAgbWVkaWEsCisgICByZXBhaXIgY29zdHMgZm9yIHRoZSBob3N0IG1hY2hpbmUsIGFuZCBjb3N0IGZvciBhIGJhbmsgYWNjb3VudC4KKyAgIEZvciB0aGUgY29zdHMgb2YgYSBiYW5rIGFjY291bnQgdG8gYmUgY29uc2lkZXJlZCBydW5udW5nIGNvc3RzLAorICAgdGhleSBtdXN0IG5vdCBoYWJlIGJlZW4gY29uc2lkZXJlZCBhY2NvcmRpbmcgdG8gOC4gLCBhbmQgdGhlCisgICBpbnN0aXR1dGUgaGFzIHRvIGJlIGNob29zZW4gd2l0aCBhdCBsZWFzdCB1c3VhbCBjb25zaWRlcmF0aW9uIG9uCisgICB0ZXJtcyBhbmQgY29zdHMgb2YgdGhlIGFjY291bnQgYW5kIHRoYXQgdGhlcmUgbXVzdCBiZSBubyBhZmZpbGlhdG9uCisgICB3aXRoIHRoZSBpbnN0aXR1dGUuCiszLiBNb25leSB0byBjb3ZlciBydW5uaW5nIGNvc3RzIGZvciBhIG1heGltdW0gb2YgMTggbW9udGggbWF5IGJlIGFjY3VtdWxhdGVkCisgICBpbiBhZHZhbmNlIGZyb20gZmVlcyB0byBzbW9vdGhlIGZsdWN0YXRpb24gYW5kIHRvIGVuc3VyZSBzdGFiaWxpdHkgb2YKKyAgIHRoZSBtdWQuIFRoZSBzcGFyZSBtb25leSBoYXMgdG8gYmUga2VwdCBzZXBhcmF0ZSBmcm9tIHBlcnNvbmFsIG1vbmV5CisgICBhbmQgc2hvdWxkIGJlIGludmVzdGVkIGluIHRydXN0ZWUgaW52ZXN0bWVudCBpZiBsaXF1aWRpdHkgYWxsb3dzLgorICAgSWYgdGhlIG11ZCBpcyBwZXJtYW5lbnRseSBwdXQgZG93biwgdGhpcyBtb25leSBoYXMgdG8gYmUgcmVmb3VuZGVkIHRvIHRoZQorICAgcGxheWVyZXMuCis0LiBNYWNoaW5lIGNvc3RzIGFyZSBjb3N0cyBmb3IgYnV5aW5nLCBpbnN0YWxsYXRpb24gYW5kIHVwZ3JhZGUgb2YgdGhlIGhvc3QKKyAgIG1hY2hpbmUuIFRoZSBjb3N0cyBoYXZlIHRvIGFwcGVhciBvbiBhIGJvbmEgZmlkZSBwdXJjaGFzZSAvIHNlcnZpY2UKKyAgIGNvbnRyYWN0IHdpdGggYSBwZXJzb24vaW5zdGl0dXRpb24gdGhhdCBpcyBub3QgYWZmaWxpYXRlZCB3aXRoIHRoZQorICAgcGVyc29uIHdobyBzZXRzIHVwIHRoZSBtdWQuCisgICBXaGVuIHRoZSBob3N0IG1hY2hpbmUgaXMgcHV0IG91dCBvZiB1c2UsIG9yIHBhcnRzIG9mIGl0IGFyZSByZW1vdmVkIGZvcgorICAgb3RoZXIgdGhhbiB0ZWNobmljYWwgcmVhc29ucywgYXJlIHBhcnRzIGFyZSBub3IgcmUtaW5zZXJ0ZWQgYWZ0ZXIgdGhlCisgICB0ZWNobmljYWwgcmVzb25zIGZvciByZW1vdmFsIGFuZCBub3QgcmUtaW5zZXJ0aW5nIGhhdmUgYmVjb21lIHZvaWQsCisgICB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFjaGluZSB0aGF0IGhhcyBwdXQgb3V0IG9mIHVzZS90aGUgcmVtb3ZlZAorICAgcGFydHMgaXMgdG8gYmUgc3VidHJhY3RlZCBmcm9tIHRoZSBtYWNoaW5lIGNvc3RzLgorICAgSWYgdGh1cyBtb3JlIG1vbmV5IGhhcyBiZWVuIHBhaWQgZm9yIG1hY2hpbmUgY29zdHMgdGhhbiB0aGVyZSBhcmUKKyAgIGN1cnJlbnRseSwgdGhlIHN1cnBsdXMgYW1vdW50IGhhcyB0byBiZSByZWZvdW5kZWQgdG8gdGhlIG11ZCBwbGF5ZXJzLgorNS4gVGhlIG1hY2hpbmUgY29zdCBzaGFyZSBpbiB0aGUgZmVlIG1heSBub3QgYmUgbW9yZSB0aGFuIDEvMjQwMHRoCisgICBvZiB0aGUgbWFjaGluZSBjb3N0cyBwZXIgbW9udGguIElmIHRoZSBtdWQgaGFzIGxlc3MgdGhhbiAxMDAgcGxheWVycywKKyAgIGl0IG1heSBiZSB1cCB0byBtYWNoaW5lIGNvc3RzIC8gMjQgLyBudW1iZXIgb2YgcGxheWVycywgYnV0IG5vdCBtb3JlIHRoYW4KKyAgIDEvMTIwdGggb2YgdGhlIG1hY2hpbmUgY29zdHMgcGVyIG1vbnRoLgorNi4gV2hlbiBtb25leSBoYXMgdG8gYmUgcGF5ZWQgYmFjayB0byB0aGUgbXVkIHBsYXllcnMsIG9ubHkgdGhvc2UgdGhhdAorICAgaGF2ZSBwYXllZCBhdCBsZWFzdCBvbmNlIGEgZmVlIHdpdGhpbiB0aGUgbGFzdCAyNCBtb250aCBhcmUgdG8gYmUKKyAgIGNvbnNpZGVyZWQuIEZvciB0aGVzZSBwbGF5ZXJzLCB0aGUgbW9uZXkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIHJhdGlvCisgICBvZiB0aGUgYWxsIGZlZSBzaGFyZXMgZXZlciBwYXllZCB0byBjb3ZlciBtYWNoaW5lIGNvc3RzLgorNy4gQWxsIHBsYXllcnMgcGF5IGVxdWFsIGZlZXMuCis4LiBCYW5raW5nIGNvc3RzIHRoYXQgaGF2ZSB0byBiZSBwYWlkIGJ5IHRoZSBtdWQgYWRtaW5pc3RyYXRpb24gYW5kIGFyZQorICAgaW1tZWRpYXRlbHkgY29ubmVjdGVkIHRvIGluY29taW5nIG1vbmV5IHRyYW5zYWN0aW9ucyBjYW4gYmUgc3VidHJhY3RlZAorICAgZnJvbSB0aGUgdHJhbnNmZXJyZWQgYW1vdW50IGJlZm9yZSBjb3VudGluZyBpdCBhcyBwYXltZW50IG9mIGZlZXMsCisgICBwcm92aWRlZCB0aGF0IHRoZSBpbnN0aXR1dGUgd2FzIGNob29zZW4gd2l0aCBhdCBsZWFzdCB1c3VhbAorICAgY29uc2lkZXJhdGlvbiBvbiB0ZXJtcyBhbmQgY29zdHMgb2YgdGhlIGFjY291bnQsIGFuZCB0aGF0IHRoZXJlIGlzCisgICBubyBhZmZpbGlhdG9uIHdpdGggdGhlIGluc3RpdHV0ZS4KKzkuIFRoZSBhbW91bnQgb2Ygdm9sdW50YXJ5IGRvbmF0aW9ucyBpcyB1bmxpbWl0ZWQuIEEgZG9uYXRpb24gaXMgbm90CisgICBjb25zaWRlcmVkIHZvbHVudGFyeSBpZiBpdCBpcyBjb25uZWN0ZWQgd2l0aCBzcGVjaWFsIGZlYXR1cmVzIG9yCisgICBmYXZvdXJzIGluIHRoZSBtdWQgb3RoZXIgdGhhbiBhbiBob3VuYXJhcnkgbWVudGlvbmluZyBvZiB0aGUgZG9ub3IsCisgICBvciBpZiB0aGUgZG9ub3IgaXMgbWFkZSB0byBiZWxpZXZlIHRoYXQgc3VjaCBhIGNvbm5lY3Rpb24gZXhpc3RzLgorICAgUmVhc29uYWJsZSBtZWFzdXJlcyBoYXZlIHRvIGJlIHRha2VuIHRoYXQgdGhlcmUgaXMgbm8KKyAgIG1pc3VuZGVyc3RhbmRpbmcgb24gdGhpcyBwb2ludC4KKworQ29tbWVudHM6CiszLiBZb3UgbWF5IG5vdCB1c2UgdGhlIG1vbmV5IG9mIHRoZSBtdWQgdG8gYnJpZGdlIHBlcnNvbmFsIGlubGlxdWlkaXR5LgorICAgRG9uJ3QgZ2FtYmxlIHdpdGggb3RoZXIgcGVyc29ucyBtb25leSwgZS5nLiBpbnZlc3RpbmcgaXQgaW4ganVuayBib25kcy4KKzUuIEZlZXMgc2hvdWxkIG5vdCBiZSBhcmJpdHJhcmlseSByYWlzZWQgc28gdGhhdCBwbGF5ZXJzIGNhbiBiZSBkcml2ZW4KKyAgIG91dC4gSSBjb25zaWRlcmVkIGEgZml4ZWQgbWluaW1hbCBkaXN0cmlidXRlbiBvZiB0aGUgY29zdHMgdG8gYmUKKyAgIHRoZSBiZXN0IG1lYW5zIHRvIGNvZGlmeSB0aGlzLgorICAgQWJzb2x1dGUgZmlndXJlcyBhcmUgYm91bmQgdG8gYmVjb21lIHZvaWQgYnkgaW5mbGF0aW9uLgorNi4gVGhlIDI0IG1vbnRoIHBlcmlvZCBpcyBpbnRyb2R1Y2VkIHRvIGFsbG93IHRvIGVyZWFzZSByZWNvcmRzIG9mCisgICBjbGllbnRzIGFmdGVyIHR3byB5ZWFycywgYW5kIHRvIGtlZXAgb3ZlcmhlYWQgYWZmb3JkYWJsZS4KKzcuIFdlIGRvbid0IHdhbnQgZmF2b3VyaXRlcyB0byBnZXQgYSBmcmVlIGxpZnQsIGFuZCBvdGhlcnMgZ3J1ZGdpbmdseQorICAgcGF5aW5nIGV4dHJhLiBJZiB5b3UgdGhpbmsgc29tZWJvZHkgbmVlZHMgZnJlZSBhY2Nlc3MsIGZpbmQgc29tZW9uZQorICAgd2hvIHBheXMgZm9yIGl0LCBvciBtYWtlIGEgZm91bmQgcGF5ZWQgZnJvbSB2b2x1bnRhcnkgZG9uYXRpb25zLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitEYXRlOiBGcmksIDE5IE5vdiAxOTkzIDE3OjEwOjQ0ICswMTAwIChNRVQpCitGcm9tOiBMYXJzIFBlbnNqfCA8bGFyc0BjZC5jaGFsbWVycy5zZT4KK1N1YmplY3Q6IFJlOiBMUG11ZCBDb3B5cmlnaHQKK1RvOiBhbXlsYWFyQG1lb2x5b24uaGFuc2UuZGUgKEpvZXJuIFJlbm5lY2tlKQorQ2M6IGJ1c2V5QHV4MS5jc28udWl1Yy5lZHUsIGxhcnNAY2QuY2hhbG1lcnMuc2UsIGNyb2VzQHN3aS5wc3kudXZhLm5sLAorICAgICAgICBndXNhckB1bml3YS51d2EuT1ouQVUsIGR1ZW5pbmdAaWJyLmNzLnR1LWJzLmRlLCBqYWNvYkBjZC5jaGFsbWVycy5zZSwKKyAgICAgICAgcl9iZWhyZW5AaW5mb3JtYXRpay51bmkta2wuZGUsIG11ZEBhbGlqa3UwNS5lZHZ6LnVuaS1saW56LmFjLmF0LAorICAgICAgICBhbGNhbWFuQGNzLnR1LWJlcmxpbi5kZQorCitJIGFncmVlIHRoYXQgZml4IG9mIHRoZSBjb3B5cmlnaHQgaXMgbmVlZGVkLiBJIHdvdWxkIHByZWZlciB0byB1c2UgdGhlCitHbnUgQ29weWxlZnQsIGFzIEkgZG9uJ3QgY2FyZSBhbnkgbG9uZ2VyIGlmIGFueW9uZSBtYWtlcyBtb25leSBmcm9tIGl0LiBUaGUKK2ltcG9ydGFudCB0aGluZyBpcyB0aGF0IGl0IGlzIGZyZWUsIHdoaWNoIG1lYW5zIG5vb25lIHdpbGwgYmUgYWJsZSB0byBtYWtlCittdWNoIG1vbmV5IGFueXdheS4KKworQW55IHRob3VnaHRzIGFib3V0IGl0ID8KKworL0xhcnMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRGF0ZTogRnJpLCAxOSBOb3YgMTk5MyAyMDoxNDoxMCArMDEwMCAoTUVUKQorRnJvbTogSmFjb2IgSGFsbGVuIDxqYWNvYkBjZC5jaGFsbWVycy5zZT4KK1N1YmplY3Q6IFJlOiBMUG11ZCBDb3B5cmlnaHQKK1RvOiBhbXlsYWFyQG1lb2x5b24uaGFuc2UuZGUgKEpvZXJuIFJlbm5lY2tlKQorQ2M6IGJ1c2V5QHV4MS5jc28udWl1Yy5lZHUsIGxhcnNAY2QuY2hhbG1lcnMuc2UsIGNyb2VzQHN3aS5wc3kudXZhLm5sLAorICAgICAgICBndXNhckB1bml3YS51d2EuT1ouQVUsIGR1ZW5pbmdAaWJyLmNzLnR1LWJzLmRlLCBqYWNvYkBjZC5jaGFsbWVycy5zZSwKKyAgICAgICAgcl9iZWhyZW5AaW5mb3JtYXRpay51bmkta2wuZGUsIG11ZEBhbGlqa3UwNS5lZHZ6LnVuaS1saW56LmFjLmF0LAorICAgICAgICBhbGNhbWFuQGNzLnR1LWJlcmxpbi5kZQorCis+IEphY29iIEhhbGxlbjogaXMgb25lIG9mIHRoZSBwZW9wbGUgaW52b2x2ZWQgd2l0aCB0aGUgQ0QgZHJpdmVyOyB0aGUgZW1haWwKKz4gIGFkZHJlc3Mgd2FzIGluIHRoZSBuZXdzIHJlY2VudGx5Li4uCis+ICAgUGxlYXNlIGZvcndhcmQgdGhpcyBsZXR0ZXIgdG8gdGhlIHBlcnNvbiBob2xkaW5nIHRoZSBjb3B5cmlnaHQgZm9yIHRoZQorPiAgIFVEUCBjb25uZWN0aXZpdHkodW5sZXNzIGl0J3MgeW91cnNlbGYgOi0pIC4KKworSSByZXByZXNlbnQgZXZlcnlvbmUgaW52b2x2ZWQgaW4gdGhlIENEIGRyaXZlci4gVGhlIFVEUCBzdHVmZiBpcyB0byBiZQorY29uc2lkZXJlZCBwdWJsaWMgZG9tYWluLiBBbGwgb3RoZXIgcGFydHMgYXJlIGNvdmVyZWQgYnkgdGhlIG5vbi1wcm9maXQgY2xhdXNlLgorQ29kZSBvcmlnaW5hdGlvbiBmcm9tIG1lLCBKb2hhbiBBbmRlcnNzb24gKENvbW1hbmRlciksIFJvbm55IFdpa2ggKE1ycHIpLAorTGVubmFydCBBdWd1c3Rzc29uIChNYXJ2aW4pIGlzIGNvdmVyZWQgYnkgaXQuIFdlIGhhdmUgbm8gaW50ZW50aW9uIG9mCithbGxvd2luZyBwZW9wbGUgdG8gY2hhcmdlIG1vbmV5IGZvciB0aGUgdXNhZ2Ugb2Ygb3VyIGRyaXZlciwgb3IgYm9ycm93ZWQKK3BpZWNlcyB0aGVyZW9mLgorV2UgY29uc2lkZXIgdGhlIGFjY2VwdGFuY2Ugb2Ygdm9sb250YXJ5IGRvbmF0aW9ucyBhcyBmYWlyIHByYWN0aWNlLCBhbmQgd2UKK2NhbiBhY2NlcHQgdGhlIGNoYXJnaW5nIGZvciB0aGUgdXNlIG9mIGV4dHJhIGVxdWlwbWVudCBuZWVkZWQgdG8gYWxsb3cKK3Blb3BsZSB0byBhY2Nlc3MgdGhlIG11ZCwgYXMgbG9uZyBhcyB0aGVyZSBpcyBhIHJlYXNvbmFibGUgd2F5IHRvIGFjY2VzcyB0aGUKK211ZCB3aXRob3V0IGJlaW5nIGNoYXJnZWQuIChQcm92aWRpbmcgbW9kZW0gYWNjZXNzIGF0IGEgY29zdCB3aGlsZSBhbGxvd2luZworZnJlZSBhY2Nlc3Mgb3ZlciB0aGUgaW50ZXJuZXQgaXMgYW4gZXhhbXBsZSBvZiBzdWNoIGEgc2V0dXAuKQorCitNeSBwZXJzb25hbCB2aWV3IGlzIHRoYXQgYW4gZWxhYm9yYXRlIHNldHVwIG9mIHRlcm1zIGxpa2UgdGhlIG9uZSBpbiB0aGUKK29yaWdpbmFsIGxldHRlciBpcyB1bnJlYXNvbmFibGUuIEl0IGlzIGRlc2lnbmVkIGZvciBhIHZlcnkgc3BlY2lmaWMgc2V0IG9mCitjaXJjdW1zdGFuY2VzLiBJdCBpcyBpbXBvc3NpYmxlIHRvIGNoZWNrIGFuZCBpdCBpcyB2ZXJ5IGJ1cmVhdWNyYXRpYy4KK0l0IGRvZXMgbm90IGhhdmUgbXkgc3VwcG9ydC4KKworSmFjb2IgSGFsbGVuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0RhdGU6IFNhdCwgMjAgTm92IDE5OTMgMjM6MzU6MTIgKzAxMDAgKE1FVCkKK0Zyb206IE11bHRpIFVzZXIgRHVuZ2VvbiA8bXVkQGFsaWprdTA1LmVkdnoudW5pLWxpbnouYWMuYXQ+CitTdWJqZWN0OiBSZTogTFBtdWQgQ29weXJpZ2h0CitUbzogbGFyc0BjZC5jaGFsbWVycy5zZSAoTGFycyBQZW5zanwpCitDYzogYnVzZXlAdXgxLmNzby51aXVjLmVkdSwgY3JvZXNAc3dpLnBzeS51dmEubmwsIGd1c2FyQHVuaXdhLnV3YS5PWi5BVSwKKyAgICAgICAgZHVlbmluZ0BpYnIuY3MudHUtYnMuZGUsIGphY29iQGNkLmNoYWxtZXJzLnNlLAorICAgICAgICByX2JlaHJlbkBpbmZvcm1hdGlrLnVuaS1rbC5kZSwgYWxjYW1hbkBjcy50dS1iZXJsaW4uZGUKKworTGFycz4gaW1wb3J0YW50IHRoaW5nIGlzIHRoYXQgaXQgaXMgZnJlZSwgd2hpY2ggbWVhbnMgbm9vbmUgd2lsbCBiZSBhYmxlIHRvIG1ha2UKK0xhcnM+IG11Y2ggbW9uZXkgYW55d2F5LgorCitZb3UgYXJlIHNwZWFraW5nIGFib3V0IHRoZSBHRCxjb3JyZWN0ID8gTm9ybWFsbHksIG1hbnkgYSBzaXRlIHVzZXMgYW4gdW5tb2RpZmllZAorR0QgYmFzZWQgdXBvbiB3aGljaCBpcyBhIG1vcmUgb3IgbGVzcyBoZWF2aWx5IG9yIG5vdCBoZWF2aWx5IE11ZGxpYi4gQmFzZWQgdXBvbgordGhpcyBNdWRsaWIgaXMgdGhlIHdvcmsgb2YgdGhlIGB3aXphcmRzJyAuLi4gU29ycnkgZm9yIHJlcGVhdGluZyBrbm93biBzdHVmZi4KKworVGhpcyBtYWtlcyBtb3N0IE11ZHMgZGlmZmVyIGZyb20gZWFjaCBvdGhlci4gU28sIHRoZSBmYWN0IHRoYXQgdGhlIEdEIGl0c2VsZgoraXMgZnJlZSwgZG9lc24ndCBpbXBseSB0aGF0IHlvdSB3b24ndCBtYWtlIG1vbmV5LgorCitBbm90aGVyIHBvaW50IHRvIGFyZ3VlOiBtYWludGFpbmlnIGEgTXVkIHRha2VzIHRpbWUgLi4gYSBMT1Qgb2YgdGltZS4gVXN1YWxseSwKK2RvaW5nIHNvIGlzIG5vdCBmdW4gYXQgYWxsLiBJIGV4cGVyaWVuY2VkIHRoYXQgdGhlIG1vcmUgcGxheWVycyB5b3UgaGF2ZSwgdGhlCitsZXNzIGZ1biBpdCBpcyBmb3JlIHRoZSBhZG1pbnN0cmF0b3JzLiBZb3Ugc3BlbmQgYSBsb3Qgb2YgdGltZSBjb2RpbmcsCitzZWFyY2hpbmcgYW5kIGZpeGluZyBidWdzIC4uLiBhbmQgSSB0aGluaywgdGhpcyBjYW4gYmUgcmVnYXJkZWQgYXMgYQorc2VydmljZSBmb3IgcGxheWVycyAoLi4uIGFuZCBwbGF5ZXJzIHJlYWxseSBjYW4gYmUgYSBwYWluIHNvbWV0aW1lcyAuLi4pCitXb3VsZCBpdCBiZSBsZWdhbCB0byBjaGFyZ2UgbW9uZXkgZm9yIHRoYXQgPworCitBbm90aGVyIHRob3VnaHQ6IEludGVybmV0IE11ZHMuIFRoZXkgcnVuIG9uIGludGVybmV0LCB1c3VhbGx5IG9uIGNvbXB1dGVycworb3duZWQgYnkgYSBzY2hvb2wgb3IgdW5pdmVyc2l0eSwgc29tZSB3aXRoLCBzb21lIHdpdGhvdXQgdGhlIGtub3dsZWRnZSBvZgordGhlIHNpdGUgYWRtaW5zdHJhdG9ycy4gV291bGQgaXQgYmUgbGVnYWwgdG8gY2hhcmdlIG1vbmV5IHdoZW4geW91IHJ1bgorYSBNdWQgb24gZXF1aXBtZW50IG5vdCBvd25lZCBieSB5b3Vyc2VsZiA/IEFuZCwgZXZlbiBpZiB5b3Ugb3duIHRoZSBjb21wdXRlciwKK2RvIHlvdSBwYXkgZm9yIHRoZSBpbnRlcm5ldCBsaW5rID8gSWYgbm90LCBJIGZlYXIgeW91IG11c3Qgbm90IGNoYXJnZSBtb25leQorZm9yIGEgTXVkIHdpdGhvdXQgc3BlYWtpbmcgd2l0aCB0aGUgbmV0d29yayBhZG1pbnN0cmF0b3Igc2luY2UgeW91IGFyZSB1c2luZwordGhlIG5ldHdvcmsgY29tcG9uZW50cyAocm91dGVyL2JyaWRnZXMsIGV2ZW4gY2FibGVzIDotPiAuLi4pIGZvciBmcmVlLgorCitIb3cgZGlmZmljdWx0IGlzIGNoYXJnaW5nIG1vbmV5IGluIEV1cm9wZWFuIE11ZHMgPyBOb3QgdGhhdCBJIHBsYW4KK3RvIGRvIHNvIGZvciBITSAoaXQncyBjbG9zZWQgZm9yIHBsYXllcnMgY3VycmVudGx5IGFueXdheSksIGJ1dCBpc24ndCB0aGVyZSBhCitiaWcgZGlmZmVyZW5jZSBhY2NvcmRpbmcgdG8gdGhlICJhY2NvdW50aW5nIG1lY2hhbmlzbSIgKHVnaCwgYmFkIGVuZ2xpc2ggOi0pCit0aGF0IGlzIHVzZWQgaW4gdGhlIFN0YXRlcyA/IEkgaGVhcmQgdGhhdCBpdCBpcyBtdWNoIG1vcmUgZWFzeSB0byBtYWtlCitmaW5hbmNpYWwgdHJhbnNhY3Rpb25zIHdpdGhpbiB0aGUgU3RhdGVzLiBTbywgSSBzdXNwZWN0IHRoZSAiTXVkIG1vbmV5IGNoYXJnaW5nIgorZGlzY3Vzc2lvbiBhcnJpdmVzIGZyb20gdGhlIFVTIDotKQorCitHcmVldGluZ3MsIEhlcnAgKG11ZEBtdWQudW5pLWxpbnouYWMuYXQpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRnJvbSBqYWNvYkBjZC5jaGFsbWVycy5zZSBTdW4gT2N0IDI0IDE3OjAyOjUzIDE5OTkKK05ld3Nncm91cHM6IHJlYy5nYW1lcy5tdWQuYWRtaW4KK1N1YmplY3Q6IFJlOiBOZXdzZ3JvdXBzCitGcm9tOiBqYWNvYkBjZC5jaGFsbWVycy5zZSAoSmFjb2IgSGFsbGVuKQorRGF0ZTogMjQgT2N0IDE5OTkgMTY6MDI6NTMgR01UCisKK0luIGFydGljbGUgPDM4MGY4MTdkLjM1OTE2NTI4QG5ld3MuZWFydGhsaW5rLm5ldD4sCitMYXJzIER1ZW5pbmcgPGxhcnNAYmVhcm5pcC5jb20+IHdyb3RlOgorPk9uIFRodSwgMjEgT2N0IDE5OTkgMTI6MTE6MzYgLTA3MDAsIElseWEKKz48aWx5YUBzcGFtLmZyZWUuZ2FtZWNvbW1hbmRvcy5jb20+IHdyb3RlOgorPgorPj5IZXkgTGFycywgd2hhdCBob3BlIGlzIHRoZXJlLCBpZiBhbnksIG9mIGdldHRpbmcKKz4+c29tZXRoaW5nIGdvaW5nIGluIHRoZSBMUCB3b3JsZCwgdXNpbmcgTERtdWQgb3IKKz4+d2hhdGV2ZXIsICB0aGF0IGNhbiBiZSB1c2VkIGNvbW1lcmNpYWxseT8KKz4KKz5VbmZvcnR1bmF0ZWx5IG9ubHkgc2xpbSBob3BlOiB0aGUgcGFydHMgd3JpdHRlbiBieSB0aGUgR2VuZXNpcyBmb2xrcworPmFyZSBkZWZpbml0ZWx5IG5vbi1jb21tZXJjaWFsOyBidXQgcmV3cml0aW5nIGlzIGRpZmZpY3VsdCBiZWNhdXNlCis+bm9ib2R5IHJlbWVtYmVycyBfd2hpY2hfIHBhcnRzIGFyZSBjb25jZXJuZWQgKGFuZCBtYWlsZWQgcmVxdWVzdHMKKz5oYXZlbid0IGJlZW4gYW5zd2VyZWQpLiBBbmQgSSBoYXZlbid0IGFza2VkIHRoZSBvdGhlciBjb250cmlidXRvcnMKKz55ZXQsIGVpdGhlci4KKworSSBoYXZlIGEgcHJldHR5IGdvb2QgaWRlYSBvZiB3aG8gd3JvdGUgd2hhdCBwYXJ0cyBvZiB0aGUgZWFybHkgdmVyc2lvbiAzCitnYW1lZHJpdmVycy4gQWxsIGluIGFsbCB0aGVyZSBoYXZlIGJlZW4gYWJvdXQgMzAgcGVvcGxlIGludm9sdmVkLiBVbmxlc3MKK3lvdSByZWNvZGUgdGhlIGVudGlyZSBnYW1lZHJpdmVyIGZyb20gc2NyYXRjaCwgb3IgYnVpbGQgZnJvbSBhc3NlbWJsZWQgcGllY2VzCit3aXRoIGtub3duIGNvcHlyaWdodCByZXN0cmljdGlvbnMsIHRoZXJlIGlzIG5vIHdheSB5b3UgY2FuIGNvbWUgdXAgd2l0aAorc29tZXRoaW5nIHRoYXQgZG9lcyBub3QgaW5mcmluZ2Ugb24gdGhlIHJpZ2h0cyBvZiBzb21lb25lIHdobyB3aWxsIG5vdAorYWxsb3cgY29tbWVjaWFsIHVzZS4KKworSmFjb2IgSGFsbOluCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCg==