QXV0aG9yOiBK9nJuIEhhcnRyb3RoCgpERVNDUklQVElPTgoKKElmIHlvdSdyZSBvbmx5IGxvb2tpbmcgZm9yIHByZWNvbXBpbGVkIHdpbjMyIGJpbmFyaWVzLCBnbyB2aXNpdApodHRwOi8vY3VybC5oYXh4LnNlL2Rvd25sb2FkLmh0bWwpCgpQYWNrYWdpbmcgb2YgdGhlIGN1cmwgYmluYXJpZXMgZm9yIFdpbjMyIHNob3VsZCBhdCB0aGlzIHBvaW50IGluIHRpbWUgYmUgYmFzZWQKb24gdGhlIEluZm9aaXAgKHppcC91bnppcCkgYXJjaGl2ZXIgZmFtaWx5IGFzIHRoZSBkZS1mYWN0byBzdGFuZGFyZCBmb3IKV2luZG93cyBhcmNoaXZlcy4gQSBwYWNrYWdlIHNob3VsZCBjb250YWluIHRoZSBtYWluIGJpbmFyeSBjdXJsLmV4ZSBhbG9uZyB3aXRoCnRoZSBhcHByb3ByaWF0ZSBkb2N1bWVudGF0aW9uIGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uIGZpbGVzLiBGb3IgZGV2ZWxvcG1lbnQKcmVsZWFzZXMsIHlvdSBzaG91bGQgYWxzbyBpbmNsdWRlIHRoZSBoZWFkZXIgZGlyZWN0b3J5IGFuZCBwcm9iYWJseSB0aGUKY29tcGlsZWQgYmluYXJpZXMgb2YgbGliY3VybCBhbmQgdGhlIGFwcHJvcHJpYXRlIE1ha2VmaWxlcy9wcm9qZWN0IGRlZmluaXRpb24KZmlsZXMgZm9yIHRoZSBjb21waWxlciB1c2VkLgoKQSBzaW1wbGUgcGFja2FnaW5nIG1lY2hhbmlzbSBjYW4gYmUgYmFzZWQgb24gYSBzZXQgb2YgYmF0Y2ggZmlsZXMgd2hpY2ggY2FsbAp6aXAuZXhlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGZpbGVzIGZyb20gdGhlIGN1cmwgZGlzdHJpYnV0aW9uIC0gc2VlIHRoZQpzYW1wbGVzIGluY2x1ZGVkIGJlbG93IChMb25nIGxpbmVzIGhhdmUgYmVlbiBzcGxpdCB3aXRoICJcIiBhcyB0aGUgc3BsaXQKbWFya2VyLCB5b3UnbGwgd2FudCB0byByZWpvaW4gdGhlIHBpZWNlcyB0byBiZSBhbGwgb24gb25lIGxpbmUgaW4gdGhlIGJhdGNoCmZpbGUpLiBDYWxsIGFueSBvZiB0aGVzZSBiYXRjaCBmaWxlcyAtIGFmdGVyIGNvbXBpbGluZyB0aGUgY3VybCBiaW5hcmllcyAtCndpdGggYSBzaW5nbGUgcGFyYW1ldGVyIHNwZWNpZnlpbmcgdGhlIG5hbWUgb2YgdGhlIGFyY2hpdmUgZmlsZSB0byBiZSBjcmVhdGVkLgoKSXQgaXMgaW1wbGljaXRlbHkgYXNzdW1lZCB0aGF0IGFsbCBvZiB0aGUgYmluYXJ5IGZpbGVzIChjdXJsLmV4ZSwgbGliY3VybC5hLApldGMpIGhhdmUgcHJldmlvdXNseSBiZWVuIGNvcGllZCB0byB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhlIGN1cmwgc291cmNlCnBhY2thZ2UgKHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIG1haW4gUkVBRE1FIHJlc2lkZXMpLCBiZWNhdXNlIHRoYXQgaXMgd2hlcmUKdGhleSBzaG91bGQgZW5kIHVwIGluIHRoZSB6aXAgYXJjaGl2ZS4gVGhlIGFyY2hpdmUgc2hvdWxkICpub3QqIGJlIGJ1aWx0IHdpdGgKYWJzb2x1dGUgcGF0aCBpbmZvcm1hdGlvbiBiZWNhdXNlIHRoZSB1c2VyIHdpbGwgd2FudCB0byBsb2NhbGx5IGV4dHJhY3QgdGhlCmFyY2hpdmUgY29udGVudHMgYW5kIHNoaWZ0IHRoZSBiaW5hcmllcyB0byBoaXMgZXhlY3V0YWJsZSBkaXJlY3RvcnkuCgpTQ1JJUFRfVEVNUExBVEVTCgpjdXJscGtnLmJhdDoKCXppcCAtOSAlMSBjdXJsLmV4ZSBDSEFOR0VTIExFR0FMIE1QTC0xLjAudHh0IFJFQURNRSBcCgkgZG9jcy9GQVEgZG9jcy9GRUFUVVJFUyBkb2NzL1JFQURNRS5jdXJsIGRvY3MvUkVBRE1FLndpbjMyIGRvY3MvVE9ETwoKY3VybGRldnBrZy5iYXQ6Cgl6aXAgLTkgJTEgY3VybC5leGUgaW5jbHVkZVxSRUFETUUgaW5jbHVkZVxjdXJsXCouaCBDSEFOR0VTIGRvY3NcKiBcCgkgIGN1cmwuc3BlYyBjdXJsLXNzbC5zcGVjIExFR0FMIGxpYi9NYWtlZmlsZS5tMzIgc3JjL01ha2VmaWxlLm0zMiBcCgkgIGxpYmN1cmwuYSBsaWJjdXJsLmRsbCBsaWJjdXJsZGxsLmEgTVBMLTEuMC50eHQgUkVBRE1FCgpQUk9DRURVUkVfRVhBTVBMRQoKQSBzdGFuZGFyZCBwYWNrYWdpbmcgcm91dGluZSAoZm9yIE1pbmdXMzIpIHVzaW5nIHRoZSBhYm92ZSBiYXRjaCBmaWxlcyBjb3VsZApnbyBsaWtlIHRoaXM6CihObyBTU0wpCQkJCQkoV2l0aCBTU0wpCmNkIDxjdXJsLXNvdXJjZWRpcj5cbGliCQkJY2QgPGN1cmwtc291cmNlZGlyPlxsaWIKbWFrZSAtZiBNYWtlZmlsZS5tMzIJCQltYWtlIC1mIE1ha2VmaWxlLm0zMiBTU0w9MQpjZCAuLlxzcmMJCQkJCWNkIC4uXHNyYwptYWtlIC1mIE1ha2VmaWxlLm0zMgkJCW1ha2UgLWYgTWFrZWZpbGUubTMyIFNTTD0xCmNkIC4uCQkJCQkJY2QgLi4KY29weSBsaWJcbGliY3VybC5hIC4JCQljb3B5IGxpYlxsaWJjdXJsLmEgLgpjb3B5IHNyY1xjdXJsLmV4ZSAuCQkJY29weSBzcmNcY3VybC5leGUgLgpjdXJscGtnIGN1cmwtd2luMzItbm9zc2wuemlwCQljdXJscGtnIGN1cmwtd2luMzItc3NsLnppcAo=