ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc3IuY3AxMjUwIGIvcnVudGltZS90dXRvci90dXRvci5zci5jcDEyNTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk5YWFjYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc3IuY3AxMjUwCkBAIC0wLDAgKzEsOTcxIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIEQgbyBiIHIgbyBkIG8gmiBsIGkgICB1ICAgVklNICAgcCByIGkgciB1IOggbiBpIGsgIC0gICAgVmVyemlqYSAxLjcgICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGplIG1v5mFuIGVkaXRvciBzYSBtbm9nbyBrb21hbmRpLCBzdXZpmmUgZGEgYmlzbW8gaWggb3ZkZSBzdmUKKyAgICAgb3Bpc2FsaS4gIFByaXJ16G5payBqZSB6YW1pmmxqZW4gZGEgb3BpmmUgZG92b2xqbm8ga29tYW5kaSBkYSBiaXN0ZQorICAgICBtb2dsaSBsYWdvZG5vIGRhIGtvcmlzdGl0ZSBWaW0ga2FvIGVkaXRvciBvcJp0ZSBuYW1lbmUuCisKKyAgICAgUHJpYmxpnm5vIHZyZW1lIHBvdHJlYm5vIHphIHVzcGWaYW4gemF2cppldGFrIHByaXJ16G5pa2EgamUgaXptZfB1CisgICAgIDI1IGkgMzAgbWludXRhLCB1IHphdmlzbm9zdGkgb2QgdnJlbWVuYSBwb3Ryb5plbm9nIG5hIHZlnmJ1LgorCisgICAgIFVQT1pPUkVOSkU6CisgICAgIEtvbWFuZGUgdSBsZWtjaWphbWEg5mUgbWVuamF0aSB0ZWtzdC4gIElza29waXJhanRlIG92YWogZmFqbCBpCisgICAgIHZlnmJhanRlIG5hIGtvcGlqaSAoYWtvIHN0ZSBwb2tyZW51bGkgInZpbXR1dG9yIiBvdm8gamUgdmXmIGtvcGlqYSkuCisKKyAgICAgVmGebm8gamUgdXBhbXRpdGkgZGEgamUgb3ZhaiBwcmlydehuaWsgemFtaZpsamVuIHphIGFrdGl2bnUgdmWeYnUuCisgICAgIFRvIHpuYehpIGRhIG1vcmF0ZSB1cG90cmVibGphdmF0aSBrb21hbmRlIG8ga29qaW1hIOhpdGF0ZSBkYSBiaXN0ZQorICAgICBpaCBuYXXoaWxpLiAgQWtvIHNhbW8g6Gl0YXRlIHRla3N0LCB6YWJvcmF2aeZldGUga29tYW5kZSEKKworICAgICBBa28gamUgQ2FwcyBMb2NrIHVrbGp16GVuIElTS0xKVchJVEUgZ2EuICBQcml0aXNuaXRlIHRhc3RlciAgaiAgZG92b2xqbm8KKyAgICAgcHV0YSBkYSBsZWtjaWphIDEuMSBjZWxhIHN0YW5lIG5hIGVrcmFuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lqYSAxLjE6ICBQT01FUkFOSkUgS1VSU09SQQorCisKKyAqKiBaYSBwb21lcmFuamUga3Vyc29yYSwgcHJpdGlza2FqdGUgdGFzdGVyZSBoLGosayxsIGtha28gamUgcHJpa2F6YW5vICoqCisJICAgICBeCisJICAgICBrCQkgICAgU2F2ZXQ6IGggamUgcyBsZXZlIHN0cmFuZSBpIHBvbWVyYSBrdXJzb3IgdSBsZXZvLgorICAgICAgIDwgaAkgbCA+CQkgICBsIGplIHMgZGVzbmUgc3RyYW5lIGkgcG9tZXJhIGt1cnNvciB1IGRlc25vLgorCSAgICAgaiAgICAgICAgICAgICAgICAgICAgIGogaXpnbGVkYSBrYW8gc3RyZWxpY2EgbmFuaZ5lLgorCSAgICAgdgorICAxLiBQb21lcmFqdGUga3Vyc29yIHBvIGVrcmFudSBkb2sgc2UgbmUgbmF2aWtuZXRlIG5hIGtvbWFuZGUuCisKKyAgMi4gUHJpdGlzbml0ZSB0YXN0ZXIgKGopIGRvayBuZSBwb+huZSBkYSBzZSBwb25hdmxqYS4KKyAgICAgU2FkYSB6bmF0ZSBrYWtvIGRhIGRv8GV0ZSBkbyBuYXJlZG5lIGxla2NpamUuCisKKyAgMy4gS29yaXN0ZeZpIHRhc3RlciBqIHByZfBpdGUgbmEgbGVrY2lqdSAxLjIuCisKK05BUE9NRU5BOiAgQWtvIG5pc3RlIHNpZ3VybmkgmnRhIHN0ZSB6YXByYXZvIHByaXRpc251bGksIHByaXRpc25pdGUgPEVTQz4KKyAgICAgICAgICAgemEgcHJlbGF6YWsgdSBOb3JtYWwgbW9kIGkgcG9rdZphanRlIHBvbm92by4KKworTkFQT01FTkE6ICBTdHJlbGljZSB0YWtv8GUgcG9tZXJhanUga3Vyc29yLCBhbGkga29yaZrmZW5qZSB0YXN0ZXJhIGhqa2wgamUKKyAgICAgICAgICAgem5hdG5vIGJynmUsIGthZCBzZSBqZWRub20gbmF2aWtuZXRlIG5hIG5qaWguICBaYWlzdGEhCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgTGVrY2lqYSAxLjI6IElaTEFaQUsgSVogVklNLWEKKworCisgICEhIFVQT1pPUkVOSkU6IFByZSBpenZv8GVuamEgYmlsbyBrb2cga29yYWthLCBwcm/oaXRhanRlIGNlbHUgbGVrY2lqdSEhCisKKyAgMS4gUHJpdGlzbml0ZSA8RVNDPiAoZWRpdG9yIGplIHNhZGEgdSBOb3JtYWwgbW9kdSkuCisKKyAgMi4gT3RrdWNhanRlOgk6cSEgPEVOVEVSPi4KKyAgICAgT3ZpbWUgc2UgaXpsYXppIGl6IGVkaXRvcmEsIHNhIEdVQklUS09NIHN2aWggaXptZW5hLgorCisgIDMuIEthZGEgc2UgcG9qYXZpIGtvbWFuZG5pIHByb21wdCwgdW5lc2l0ZSBrb21hbmR1IGtvamEgamUgcG9rcmVudWxhCisgICAgIG92YWogcHJpcnXobmlrOgkJdmltdHV0b3IgPEVOVEVSPgorCisgIDQuIEFrbyBzdGUgdXBhbXRpbGkgb3ZlIGtvcmFrZSwgaXp2cpppdGUgaWggcmVkb20gb2QgMSBkbyAzIGRhIGJpc3RlCisgICAgIGl6YZpsaSBpeiBlZGl0b3JhIGkgcG9ub3ZvIGdhIHBva3JlbnVsaS4KKworTkFQT01FTkE6ICA6cSEgPEVOVEVSPiAgcG9uaZp0YXZhIHN2ZSBpem1lbmUga29qZSBzdGUgbmFwcmF2aWxpLgorICAgICAgICAgICBVIG5hcmVkbmltIGxla2NpamFtYSBuYXXoaeZldGUga2FrbyBkYSBzYeh1dmF0ZSBpem1lbmUuCisKKyAgNS4gUG9tZXJpdGUga3Vyc29yIG5hIGxla2NpanUgMS4zLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lqYSAxLjM6IElaTUVOQSBURUtTVEEgLSBCUklTQU5KRQorCisKKwkgICAgICAqKiBQcml0aXNuaXRlICB4ICB6YSBicmlzYW5qZSB6bmFrYSBwb2Qga3Vyc29yb20uICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5h6GVuIHNhIC0tLT4uCisKKyAgMi4gRGEgYmlzdGUgaXNwcmF2aWxpIGdyZZprZSwgcG9tZXJhanRlIGt1cnNvciBkb2sgc2UKKyAgICAgbmUgbmHwZSBuYSBzbG92dSBrb2plIHRyZWJhIGl6YnJpc2F0aS4KKworICAzLiBQcml0aXNuaXRlIHRhc3RlciAgeCAgZGEgaXpicmmaZXRlIG5lnmVsamVubyBzbG92by4KKworICA0LiBQb25hdmxqYWp0ZSBrb3Jha2Ugb2QgMiBkbyA0IGRvayBuZSBpc3ByYXZpdGUgc3ZlIGdyZZprZS4KKworLS0tPiBSUlJpYmFhIHJpaWJpIGdyaXp6emUgcnJyZWVwcC4KKworICA1LiBLYWQgaXNwcmF2aXRlIHJlZCwgcHJl8Gl0ZSBuYSBsZWtjaWp1IDEuNC4KKworTkFQT01FTkE6ICBEb2sga29yaXN0aXRlIHByaXJ16G5paywgbmVtb2p0ZSB16Gl0aSBrb21hbmRlIG5hcGFtZXQsCisgICAgICAgICAgIHZl5iB2ZZ5iYWp0ZSBuamlob3Z1IHByaW1lbnUuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMZWtjaWphIDEuNDogSVpNRU5BIFRFS1NUQSAtIFVCQUNJVkFOSkUKKworCisJICAqKiBQcml0aXNuaXRlICBpICB6YSB1YmFjaXZhbmplIHRla3N0YSBpc3ByZWQga3Vyc29yYS4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZeZpIHJlZCBvem5h6GVuIHNhIC0tLT4uCisKKyAgMi4gRGEgYmlzdGUgdGVrc3QgcHJ2b2cgcmVkYSBpemplZG5h6GlsaSBzIHRla3N0b20gZHJ1Z29nLCBuYW1lc3RpdGUKKyAgICAga3Vyc29yIG5hIHBydmkgem5hayBQT1NMRSBrb2cg5mV0ZSB1YmFjaXRpIHBvdHJlYmFuIHRla3N0LgorCisgIDMuIFByaXRpc25pdGUgIGkgIHBhIHVuZXNpdGUgcG90cmVibmUgZG9wdW5lLgorCisgIDQuIFBvIGlzcHJhdmNpIHN2YWtlIGdyZZprZSBwcml0aXNuaXRlIDxFU0M+IGRhIHNlIHZyYXRpdGUgdSBOb3JtYWwgbW9kLgorICAgICBQb25vdml0ZSBrb3Jha2Ugb2QgMiBkbyA0IGRhIGJpc3RlIGlzcHJhdmlsaSBjZWx1IHJl6GVuaWN1LgorCistLS0+IERvIHRla2EgbmVvamUgdiByZWQuCistLS0+IERlbyB0ZWtzdGEgbmVkb3N0YWplIGl6IG92b2cgcmVkYS4KKworICA1LiBQcmXwaXRlIG5hIHNsZWRl5nUgbGVrY2lqdS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lqYSAxLjU6IElaTUVOQSBURUtTVEEgLSBET0RBVkFOSkUKKworCisJICAgICAgICAgICAqKiBQcml0aXNuaXRlICBBICB6YSBkb2RhdmFuamUgdGVrc3RhLiAqKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZpIHNsZWRl5mkgcmVkIG96bmHoZW4gc2EgLS0tPi4KKyAgICAgTmlqZSB2YZ5ubyBnZGUgc2UgbmFsYXppIGt1cnNvciB1IHRvbSByZWR1LgorCisgIDIuIFByaXRpc25pdGUgIEEgIGkgdW5lc2l0ZSBkb2RhdG5pIHRla3N0LgorCisgIDMuIFBvmnRvIHN0ZSBkb2RhbGkgdGVrc3QsIHByaXRpc25pdGUgPEVTQz4gemEgcG92cmF0YWsgdQorICAgICBOb3JtYWwgbW9kLgorCisgIDQuIFBvbWVyaXRlIGt1cnNvciBuYSBkcnVnaSByZWQgb3puYehlbiBzYSAtLS0+IGkgcG9uYXZsamFqdGUKKyAgICAga29yYWtlIDIgaSAzIGRvayBuZSBpc3ByYXZpdGUgdGVrc3QuCisKKy0tLT4gRGVvIHRla3N0YSBuZWRvc3RhamUgdQorICAgICBEZW8gdGVrc3RhIG5lZG9zdGFqZSB1IG92b20gcmVkdS4KKy0tLT4gRGVvIHRla3N0YSBuZWRvc3RhamUKKyAgICAgRGVvIHRla3N0YSBuZWRvc3RhamUgaSBvdmRlLgorCisgIDUuIFByZfBpdGUgbmEgbGVrY2lqdSAxLjYuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDEuNjogSVpNRU5BIEZBSkxBCisKKworICAgICAqKiBVcG90cmViaXRlICA6d3EgIHphIHNuaW1hbmplIHRla3N0YSBpIGl6bGF6YWsgaXogZWRpdG9yYS4gKioKKworICAhISBVUE9aT1JFTkpFOiBQcmUgaXp2b/BlbmphIGJpbG8ga29nIGtvcmFrYSwgcHJv6Gl0YWp0ZSBjZWx1IGxla2NpanUhIQorCisgIDEuIEl6YfBpdGUgaXogZWRpdG9yYSBrYW8gdSBsZWtjaWppIDEuMjogIDpxIQorCisgIDIuIE5hIGtvbWFuZG5vbSBwcm9tcHR1IHVuZXNpdGUgc2xlZGXmdSBrb21hbmR1OiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgamUga29tYW5kYSB6YSBwb2tyZXRhbmphIFZpbSBlZGl0b3JhLCAndHV0b3InIGplIGltZSBmYWpsYSBrb2ppCisgICAgIJ5lbGl0ZSBkYSBtZW5qYXRlLiAgS29yaXN0aXRlIGZhamwga29qaSBpbWF0ZSBwcmF2byBkYSBtZW5qYXRlLgorCisgIDMuIFViYWN1anRlIGkgYnJpmml0ZSB0ZWtzdCBrYW8gdSBwcmV0aG9kbmltIGxla2NpamFtYS4KKworICA0LiBTbmltaXRlIGl6bWVuamVuaSB0ZWtzdCBpIGl6YfBpdGUgaXogVmltLWE6ICA6d3EgPEVOVEVSPgorCisgIDUuIFBvbm92byBwb2tyZW5pdGUgdmltdHV0b3IgaSBwcm/oaXRhanRlIHJlemltZSBrb2ppIHNsZWRpLgorCisgIDYuIFBvmnRvIHByb+hpdGF0ZSBrb3Jha2UgaXpuYWQgaSB1IHBvdHB1bm9zdGkgaWggcmF6dW1ldGU6CisgICAgIGl6dnKaaXRlIGloLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIFJFWklNRSBsZWtjaWplIDEgCisKKworICAxLiBLdXJzb3Igc2UgcG9tZXJhIHN0cmVsaWNhbWEgaWxpIHBvbW/mdSB0YXN0ZXJhIGhqa2wgLgorCWggKGxldm8pCWogKGRvbGUpCWsgKGdvcmUpCWwgKGRlc25vKQorCisgIDIuIFphIHBva3JldGFuamUgVmltLWEgaXogc2hlbGwtYTogIHZpbSBJTUVfRkFKTEEgPEVOVEVSPgorCisgIDMuIEl6bGF6Ogk8RVNDPgk6cSEgPEVOVEVSPiAJc3ZlIHByb21lbmUgc3UgaXpndWJsamVuZS4KKyAgICAgICBJTEk6CTxFU0M+CTp3cSA8RU5URVI+IAlwcm9tZW5lIHN1IHNh6HV2YW5lLgorCisgIDQuIEJyaXNhbmplIHpuYWthIG5hIGtvbWUgc2UgbmFsYXppIGt1cnNvcjogIHgKKworICA1LiBVYmFjaXZhbmphIGlsaSBkb2RhdmFuamUgdGVrc3RhOgorCSBpICAgdW5lc2l0ZSB0ZWtzdCA8RVNDPgl1bm9zIGlzcHJlZCBrdXJzb3JhCisJIEEgICB1bmVzaXRlIHRla3N0IDxFU0M+CWRvZGF2YW5qZSBuYSBrcmFqdSByZWRhCisKK05BUE9NRU5BOiAgUHJpdGlza29tIG5hIDxFU0M+IHByZWJhY3VqZXRlIFZpbSB1IE5vcm1hbCBtb2QgaQorICAgICAgICAgICBwcmVraWRhdGUgbmWeZWxqZW51IGlsaSBkZWxpbWnobm8gaXp2cpplbnUga29tYW5kdS4KKworTmFzdGF2aXRlIHNhIGxla2Npam9tIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSAyLjE6IE5BUkVEQkUgQlJJU0FOSkEKKworCisJCSAqKiBPdGt1Y2FqdGUgIGR3ICB6YSBicmlzYW5qZSByZehpLiAqKgorCisgIDEuIFByaXRpc25pdGUgIDxFU0M+ICBkYSBiaXN0ZSBiaWxpIHNpZ3VybmkgZGEgc3RlIHUgTm9ybWFsIG1vZHUuCisKKyAgMi4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5h6GVuIHNhIC0tLT4uCisKKyAgMy4gUG9tZXJpdGUga3Vyc29yIG5hIHBv6GV0YWsgcmXoaSBrb2p1IHRyZWJhIGl6YnJpc2F0aS4KKworICA0LiBPdGt1Y2FqdGUgIGR3ICBkYSBiaXN0ZSB1a2xvbmlsaSByZeguCisKK05BUE9NRU5BOiAgU2xvdm8gIGQgIOZlIHNlIHBvamF2aXRpIG5hIGRudSBla3JhbmEga2FkIGdhIG90a3VjYXRlLiAgVmltIOhla2EKKwkgICBkYSBvdGt1Y2F0ZSAgdyAuICBBa28gamUgcHJpa2F6YW5vIG5la28gZHJ1Z28gc2xvdm8sIHBvZ3JlmmlsaSBzdGUgdQorCSAgIGt1Y2FuanU7IHByaXRpc25pdGUgPEVTQz4gaSBwb2t1mmFqdGUgcG9ub3ZvLiAgKEFrbyBzZSBuZSBwb2phdmkKKwkgICBuaZp0YSwgbW+eZGEgamUgaXNrbGp16GVuYSBvcGNpamEgJ3Nob3djbWQnOiB2aWRpIGxla2NpanUgNi41LikKKworLS0tPiBOZWtlIHJl6Gkgc21lmm5vIG5lIHByaXBhZGFqdSBuYSBwYXBpciBvdm9qIHJl6GVuaWNpLgorCisgIDUuIFBvbmF2bGphanRlIGtvcmFrZSAzIGkgNCBkb2sgbmUgaXNwcmF2aXRlIHJl6GVuaWN1LCBwYQorICAgICBwcmXwaXRlIG5hIGxla2NpanUgMi4yLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpamEgMi4yOiBKT4ogQlJJU0FOSkEKKworCisgICAgICAgKiogT3RrdWNhanRlICBkJCAgemEgYnJpc2FuamUgem5ha292YSBkbyBrcmFqYSByZWRhLiAqKgorCisgIDEuIFByaXRpc25pdGUgIDxFU0M+ICBkYSBiaXN0ZSBiaWxpIHNpZ3VybmkgZGEgc3RlIHUgTm9ybWFsIG1vZHUuCisKKyAgMi4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5h6GVuIHNhICAtLS0+LgorCisgIDMuIFBvbWVyaXRlIGt1cnNvciBkbyBrcmFqYSBpc3ByYXZub2cgZGVsYSByZehlbmljZQorICAgICAoUE9TTEUgcHJ2ZSAuICkuCisKKyAgNC4gT3RrdWNhanRlICBkJCAgemEgYnJpc2FuamUgb3N0YXRrYSByZWRhLgorCistLS0+IE5la28gamUgdW5lbyBrcmFqIG92b2cgcmVkYSBkdmFwdXQuIGtyYWogb3ZvZyByZWRhIGR2YXB1dC4KKworICA1LiBQcmXwaXRlIG5hIGxla2NpanUgMi4zIHphIHBvZHJvYm5pamUgb2JqYZpuamVuamUuCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICAgTGVrY2lqYSAyLjM6IE8gT1BFUkFUT1JJTUEgSSBQT0tSRVRJTUEKKworCisgIE1ub2dlIGtvbWFuZGUgemEgaXptZW51IHRla3N0YSBzYXN0b2plIHNlIG9kIG9wZXJhdG9yYSBpIHBva3JldGEuCisgIE9ibGlrIGtvbWFuZGUgYnJpc2FuamEgc2EgIGQgIG9wZXJhdG9yb20gamUgc2xlZGXmaToKKworICAJZCAgIHBva3JldAorCisgIFByaSDoZW11IGplOgorICAgIGQgICAgICAtIG9wZXJhdG9yIGJyaXNhbmphLgorICAgIHBva3JldCAtIG9ubyBuYSDoZW11IOZlIHNlIG9wZXJhY2lqYSBpenZymmF2YXRpIChvcGlzYW5vIHUgbmFzdGF2a3UpLgorCisgIEtyYXRhayBzcGlzYWsgcG9rcmV0YToKKyAgICB3IC0gc3ZlIGRvIHBv6GV0a2Egc2xlZGXmZSByZehpLCBORSBVS0xKVchVSlXGSSBwcnZvIHNsb3ZvLgorICAgIGUgLSBzdmUgZG8ga3JhamEgdGVrdeZlIHJl6GksIFVLTEpVyFVKVcZJIHBvc2xlZG5qZSBzbG92by4KKyAgICAkIC0gc3ZlIGRvIGtyYWplIHJlZGEsIFVLTEpVyFVKVcZJIHBvc2xlZG5qZSBzbG92by4KKworICBLdWNhbmplbSAgZGUgIGJyaXNh5mUgc2UgdGVrc3Qgb2Qga3Vyc29yYSBkbyBrcmFqYSByZehpLgorCitOQVBPTUVOQTogIFByaXRpc2tvbSBzYW1vIG5hIHRhc3RlciBwb2tyZXRhIGRvayBzdGUgdSBOb3JtYWwgbW9kdSwgYmV6CisgICAgICAgICAgIG9wZXJhdG9yYSwga3Vyc29yIHNlIHBvbWVyYSBrYW8gmnRvIGplIG9waXNhbm8uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgIExla2NpamEgMi40OiBLT1JJisZFTkpFIEJST0pBTkpBIFpBIFBPS1JFVEUKKworCisgICoqIFVub5plbmplbSBuZWtvZyBicm9qYSBwcmUgcG9rcmV0YSwgcG9rcmV0IHNlIGl6dnKaYXZhIHRhaiBicm9qIHB1dGEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5h6GVuIHNhIC0tLT4uCisKKyAgMi4gT3RrdWNhanRlICAydyAgZGEgcG9tZXJpdGUga3Vyc29yIGR2ZSByZehpIG5hcHJlZC4KKworICAzLiBPdGt1Y2FqdGUgIDNlICBkYSBwb21lcml0ZSBrdXJzb3IgbmEga3JhaiB0cmXmZSByZehpIG5hcHJlZC4KKworICA0LiBPdGt1Y2FqdGUgIDAgIChudWx1KSBkYSBwb21lcml0ZSBrdXJzb3IgbmEgcG/oZXRhayByZWRhLgorCisgIDUuIFBvbm92aXRlIGtvcmFrZSAyIGkgMyBzIG5la2ltIGRydWdpbSBicm9qZXZpbWEuCisKKy0tLT4gUmXoZW5pY2Egc2EgcmXoaW1hIHBvIGtvam9qIG1vnmV0ZSBwb21lcmF0aSBrdXJzb3IuCisKKyAgNi4gUHJl8Gl0ZSBuYSBsZWtjaWp1IDIuNS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgTGVrY2lqYSAyLjU6IEtPUkmKxkVOSkUgQlJPSkFOSkEgWkEgVkXGRSBCUklTQU5KRQorCisKKyAgKiogVW5vmmVuamUgbmVrb2cgYnJvamEgcyBvcGVyYXRvcm9tIHBvbmF2bGphIG9wZXJhdG9yIHRhaiBicm9qIHB1dGEuICoqCisKKyAgVSBrb21iaW5hY2lqaSBvcGVyYXRvcmEgYnJpc2FuamEgcyBwb2tyZXRpbWEgc3BvbWVudXRpbSBpem5hZAorICBtb55ldGUgdW5ldGkgYnJvaiBwcmUgcG9rcmV0YSBkYSBiaXN0ZSBpemJyaXNhbGkgdmmaZSB6bmFrb3ZhOgorCisJIGQgICBicm9qICAgcG9rcmV0CisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBydm8gc2xvdm8gdSByZehpIHMgVkVMSUtJTSBTTE9WSU1BIHUgcmVkdQorICAgICBvem5h6GVub20gc2EgLS0tPi4KKworICAyLiBPdGt1Y2FqdGUgIGQydyAgZGEgaXpicmmaZXRlIGR2ZSByZehpIHNhIFZFTElLSU0gU0xPVklNQQorCisgIDMuIFBvbm92aXRlIGtvcmFrZSAxIGkgMiBzYSByYXpsaehpdGltIGJyb2pldmltYSBkYSBpemJyaZpldGUKKyAgICAgdXphc3RvcG5lIHJl6Gkgc2EgVkVMSUtJTSBTTE9WSU1BIGtvcmma5mVuamVtIHNhbW8gamVkbmUga29tYW5kZS4KKworLS0tPiBvdmFqIEFCQ8jGIETQRSByZWQgRkdISSBKSyBMTU4gT1AgcyByZehpbWEgamUgUlOKIFRVVlqOIGlzcHJhdmxqZW4uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDIuNjogT1BFUkFDSUpFIE5BRCBSRURPVklNQQorCisKKwkgICAgICAgKiogT3RrdWNhanRlICBkZCAgemEgYnJpc2FuamUgY2Vsb2cgcmVkYS4gKioKKworICBaYm9nIHXoZXN0YWxvc3RpIGJyaXNhbmphIGNlbGloIHJlZG92YSwgYXV0b3JpIFZpLWphIG9kbHXoaWxpIHN1IGRhCisgIGplIGxha5plIGJyaXNhdGkgcmVkb3ZlIGFrbyBzZSBvdGt1Y2EgIGQgIGR2YXB1dC4KKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgZHJ1Z2kgcmVkIHUgZG9uam9qIHN0cm9maS4KKyAgMi4gT3RrdWNhanRlICBkZCAgZGEgZ2EgaXpicmmaZXRlLgorICAzLiBQb21lcml0ZSBrdXJzb3IgbmEg6GV0dnJ0aSByZWQuCisgIDQuIE90a3VjYWp0ZSAgIDJkZCAgIGRhIGJpc3RlIGl6YnJpc2FsaSBkdmEgcmVkYS4KKworLS0tPiAgMSkgIFNlZGxvIG1pIGplIG9kIG1hcmFtZSwKKy0tLT4gIDIpICBibGF0byBuYSBzdmUgc3RyYW5lLAorLS0tPiAgMykgIHV6ZGEgb2Qga2FuYXBhLAorLS0tPiAgNCkgIGF1dG8gbWkgamUgb3ZkZSwKKy0tLT4gIDUpICBzYXRvdmkgcG9rYXp1anUgdnJlbWUsCistLS0+ICA2KSAgYSBiaeggbWkgamUgb2Qgb+hpbmEKKy0tLT4gIDcpICBwcmViaWplbmEgmnRhcGEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpamEgMi43OiBQT05JilRBVkFOSkUgUFJPTUVOQQorCisKKyAgKiogUHJpdGlzbml0ZSAgdSAgemEgcG9uaZp0YXZhbmplIHBvc2xlZG5qZSBrb21hbmRlLCAgVSAgemEgY2VvIHJlZC4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcmVkIG96bmHoZW4gc2EgLS0tPiBpIHBvc3Rhdml0ZSBnYSBuYSBtZXN0bworICAgICBwcnZlIGdyZZprZS4KKyAgMi4gT3RrdWNhanRlICB4ICBkYSBpemJyaZpldGUgcHJ2aSBuZZ5lbGplbmkgem5hay4KKyAgMy4gT3RrdWNhanRlICB1ICBkYSBwb25pmnRpdGUgcG9zbGVkbmp1IGl6dnKaZW51IGtvbWFuZHUuCisgIDQuIFNhZCBpc3ByYXZpdGUgc3ZlIGdyZZprZSB1IHJlZHUga29yaXN0ZeZpIGtvbWFuZHUgIHggIC4KKyAgNS4gT3RrdWNhanRlIHZlbGlrbyAgVSAgZGEgYmlzdGUgdnJhdGlsaSBzYWRynmFqIHJlZGEgdSBwcnZvYml0bm8KKyAgICAgc3RhbmplLgorICA2LiBPbmRhIG90a3VjYWp0ZSAgdSAgbmVrb2xpa28gcHV0YSBkYSBiaXN0ZSBwb25pmnRpbGkgIFUKKyAgICAgaSBwcmV0aG9kbmUga29tYW5kZS4KKyAgNy4gU2FkIG90a3VjYWp0ZSBDVFJMLVIgKGRynmXmaSAgQ1RSTCAgZG9rIHByaXRpc2thdGUgUikKKyAgICAgbmVrb2xpa28gcHV0YSBkYSBiaXN0ZSB2cmF0aWxpIGl6bWVuZSAocG9uaZp0aWxpIHBvbmmadGF2YW5qYSkuCisKKy0tLT4gSWlpc3NwcmF2aXRlIGdyZZprZSB1dSBvdnZvbSByZWR1IGlpIHBvb25pmnRpdGVlZSBpaC4KKworICA4LiBPdm8gc3UgdmVvbWEga29yaXNuZSBrb21hbmRlLiAgUHJl8Gl0ZSBuYSByZXppbWUgbGVrY2lqZSAyLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgUkVaSU1FIGxla2NpamUgMgorCisKKyAgMS4gQnJpc2FuamUgb2Qga3Vyc29yYSBkbyBzbGVkZeZlIHJl6Gk6CWR3CisgIDIuIEJyaXNhbmplIG9kIGt1cnNvcmEgZG8ga3JhamEgcmVkYToJCWQkCisgIDMuIEJyaXNhbmplIGNlbG9nIHJlZGE6CQkJZGQKKworICA0LiBaYSBwb25hdmxqYW5qZSBwb2tyZXRhIHByZXRob2RubyB1bmVzaXRlIGJyb2o6ICAydworICA1LiBPYmxpayBrb21hbmRlIHphIGl6bWVudToKKyAgICAgICAgICAgICAgIG9wZXJhdG9yICAgW2Jyb2pdICAgcG9rcmV0CisgICAgIGdkZSBqZToKKyAgICAgICBvcGVyYXRvciAtIJp0YSB1cmFkaXRpLCByZWNpbW8gIGQgIHphIGJyaXNhbmplCisgICAgICAgW2Jyb2pdICAgLSBuZW9iYXZlemFuIGJyb2ogcG9uYXZsamFuamEgcG9rcmV0YQorICAgICAgIHBva3JldCAgIC0ga3JldGFuamUgcG8gdGVrc3R1IG5hIGtvbWUgc2UgcmFkaSwKKyAgICAgICAgICAgICAgICAgIGthbyCadG8gamU6IHcgKHJl6CksICQgKGtyYWogcmVkYSksIGl0ZC4KKworICA2LiBQb21lcmFuamUga3Vyc29yYSBuYSBwb+hldGFrIHJlZGE6ICAwCisKKyAgNy4gWmEgcG9uaZp0YXZhbmplIHByZXRob2RuaWggaXptZW5hLCBwcml0aXNuaXRlOgl1ICAobWFsbyB1KQorICAgICBaYSBwb25pmnRhdmFuamUgc3ZpaCBwcm9tZW5hIHUgcmVkdSwgcHJpdGlzbml0ZToJVSAgKHZlbGlrbyBVKQorICAgICBaYSB2cmHmYW5qYSBwcm9tZW5hLCBvdGt1Y2FqdGU6CQkJQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgTGVrY2lqYSAzLjE6IEtPTUFOREEgUE9TVEFWTEpBTkpBCisKKworICAqKiBPdGt1Y2FqdGUgIHAgIGRhIHBvc3Rhdml0ZSBwcmV0aG9kbm8gaXpicmlzYW4gdGVrc3QgaXphIGt1cnNvcmEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBydmkgc2xlZGXmaSByZWQgb3puYehlbiBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSAgZGQgIGRhIGl6YnJpmmV0ZSByZWQgaSBzbWVzdGl0ZSBnYSB1IFZpbSByZWdpc3Rhci4KKworICAzLiBQb21lcml0ZSBrdXJzb3IgbmEgcmVkIGMpLCBJWk5BRCBtZXN0YSBnZGUgdHJlYmEgcG9zdGF2aXRpIGl6YnJpc2FuIHJlZC4KKworICA0LiBPdGt1Y2FqdGUgIHAgIGRhIHBvc3Rhdml0ZSByZWQgaXNwb2Qga3Vyc29yYS4KKworICA1LiBQb25hdmxqYWp0ZSBrb3Jha2UgMiBkbyA0IGRhIGJpc3RlIHBvc3RhdmlsaSBzdmUgbGluaWplIHUgcHJhdmlsbm9tCisgICAgIHJlZG9zbGVkdS4KKworLS0tPiBkKSBwcmViaWplbmEgmnRhcGEuCistLS0+IGIpIHV6ZGEgb2Qga2FuYXBhLAorLS0tPiBjKSBhIGJp6CBtaSBqZSBvZCBv6GluYQorLS0tPiBhKSBTZWRsbyBtaSBqZSBvZCBtYXJhbWUsCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWtjaWphIDMuMjogS09NQU5EQSBaQU1FTkUKKworCisgICAgICAqKiBPdGt1Y2FqdGUgIHJ4ICBkYSB6YW1lbml0ZSB6bmFrIGlzcG9kIGt1cnNvcmEgc2xvdm9tICB4IC4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZeZpIHJlZCBvem5h6GVuIHNhIC0tLT4uCisKKyAgMi4gUG9tZXJpdGUga3Vyc29yIHRha28gZGEgc2UgbmFsYXppIG5hIHBydm9qIGdyZZpjaS4KKworICAzLiBPdGt1Y2FqdGUgIHIgIGkgb25kYSB6bmFrIGtvamkgdHJlYmEgZGEgdHUgc3RvamkuCisKKyAgNC4gUG9uYXZsamFqdGUga29yYWtlIDIgaSAzIHN2ZSBkb2sgcHJ2aSByZWQgbmUgYnVkZQorICAgICBpc3RpIGthbyBkcnVnaS4KKworLS0tPiAgS2VkaSBqdSBvdmVqIHJlZCB1Z2GaZW4sIG5ha28gamUgcHJvdHJlc2FvIHB1c3Rhmm5lIHRlc3RlcmUhCistLS0+ICBLYWRhIGplIG92YWogcmVkIHVub5plbiwgbmVrbyBqZSBwcml0aXNrYW8gcG9ncmWabmUgdGFzdGVyZSEKKworICA1LiBQcmXwaXRlIG5hIGxla2NpanUgMy4yLgorCitOQVBPTUVOQTogIFNldGl0ZSBzZSBkYSB0cmViYSBkYSB16Gl0ZSB2ZZ5iYW5qZW0sIG5lIHBhbeZlbmplbS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgMy4zOiBPUEVSQVRPUiBJWk1FTkUKKworCisJICAqKiBaYSBpem1lbnUgdGVrc3RhIGRvIGtyYWphIHJl6GksIG90a3VjYWp0ZSAgY2UgIC4qKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZpIHNsZWRl5mkgcmVkIG96bmHoZW4gc2EgLS0tPi4KKworICAyLiBQb3N0YXZpdGUga3Vyc29yIG5hICBhICB1ICByYWtkdXIuCisKKyAgMy4gT3RrdWNhanRlICBjZSAgaSBpc3ByYXZpdGUgcmXoICh1IG92b20gc2x16GFqdSBvdGt1Y2FqdGUgIGVkICApLgorCisgIDQuIFByaXRpc25pdGUgPEVTQz4gaSBwb21lcml0ZSBrdXJzb3IgbmEgc2xlZGXmaSB6bmFrIGtvamkKKyAgICAgdHJlYmEgaXNwcmF2aXRpLgorCisgIDUuIFBvbmF2bGphanRlIGtvcmFrZSAzIGkgNCBzdmUgZG9rIHBydmEgcmXoZW5pY2EgbmUgYnVkZSBpc3RhCisgICAgIGthbyBkcnVnYS4KKworLS0tPiBPdmFqIHJha2R1ciBpbWEgbmVrb2xpa28gcmVqZ2Ega29qZSB0cmVmbGphIGlzcHJwaWthdGkgb3BlcmFncm9tIGl6bWVuZS4KKy0tLT4gT3ZhaiByZWQgaW1hIG5la29saWtvIHJl6Gkga29qZSB0cmViYSBpc3ByYXZpdGkgb3BlcmF0b3JvbSBpem1lbmUuCisKK1Vv6Gl0ZSBkYSAgY2UgIGJyaZplIHJl6CBpIHBvc3RhdmxqYSBlZGl0b3IgdSBJbnNlcnQgbW9kLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkgICAgICAgICBMZWtjaWphIDMuNDogREFMSkUgSVpNRU5FIFVQT1RSRUJPTSBjCisKKworICAgICoqIEtvbWFuZGEgaXptZW5lIHNlIGtvcmlzdGkgc2EgaXN0aW0gcG9rcmV0aW1hIGthbyBpIGJyaXNhbmplLiAqKgorCisgIDEuIE9wZXJhdG9yIGl6bWVuZSBzZSBrb3Jpc3RpIG5hIGlzdGkgbmHoaW4ga2FvIGkgb3BlcmF0b3IgYnJpc2FuamE6CisKKyAgICAgICAgIGMgICAgW2Jyb2pdICAgcG9rcmV0CisKKyAgMi4gUG9rcmV0aSBzdSBpc3RpLCByZWNpbW86ICAgdyAocmXoKSBpICAkIChrcmFqIHJlZGEpLgorCisgIDMuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZpIHNsZWRl5mkgcmVkIG96bmHoZW4gc2EgLS0tPi4KKworICA0LiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2dSBncmWaa3UuCisKKyAgNS4gT3RrdWNhanRlICBjJCAgaSB1bmVzaXRlIG9zdGF0YWsgcmVkYSB0YWtvIGRhIGJ1ZGUgaXN0aSBrYW8KKyAgICAgZHJ1Z2kgcmVkLCBwYSBwcml0aXNuaXRlIDxFU0M+LgorCistLS0+IEtyYWogb3ZvZyByZWRhIHRyZWJhIGl6bWVuaXRpIHRha28gZGEgaXpnbGVkYSBrYW8gcmVkIGlzcG9kLgorLS0tPiBLcmFqIG92b2cgcmVkYSB0cmViYSBpc3ByYXZpdGkga29yaZrmZW5qZW0gYyQga29tYW5kZS4KKworTkFQT01FTkE6ICBaYSBpc3ByYXZsamFuamUgZ3JlmmFrYSBtb55ldGUga29yaXN0aXRpIEJhY2tzcGFjZSAuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIFJFWklNRSBsZWtjaWplIDMKKworCisgIDEuIFphIHBvc3RhdmxqYW5qZSB0ZWtzdGEga29qaSBzdGUgdXByYXZvIGl6YnJpc2FsaSwgcHJpdGlzbml0ZSAgcCAuIE92bworICAgICBwb3N0YXZsamEgdGVrc3QgSVpBIGt1cnNvcmEgKGFrbyBqZSBiaW8gaXpicmlzYW4gamVkYW4gaWxpIHZpmmUgcmVkb3ZhCisgICAgIHNhZHKeYWog5mUgZG/maSBuYSByZWQgaXNwb2Qga3Vyc29yYSkuCisKKyAgMi4gWmEgemFtZW51IHpuYWthIG5hIGtvbWUgc2UgbmFsYXppIGt1cnNvciwgcHJpdGlzbml0ZSAgciAgaSBvbmRhCisgICAgIJ5lbGplbmkgem5hay4KKworICAzLiBPcGVyYXRvciBpem1lbmUgZG96dm9samF2YSBwcm9tZW51IHRla3N0YSBvZCBrdXJzb3JhIGRvIHBvemljaWplIGdkZQorICAgICBzZSB6YXZymmF2YSBwb2tyZXQuICBQcmltZXJhIHJhZGksIGt1Y2FqdGUgIGNlICB6YSBpem1lbnUgb2Qga3Vyc29yYSBkbworICAgICBrcmFqYSByZehpLCBpbGkgIGMkICB6YSBpem1lbnUgb2Qga3Vyc29yYSBkbyBrcmFqYSByZWRhLgorCisgIDQuIE9ibGlrIG9wZXJhY2lqZSBpem1lbmUgamU6CisKKwkgYyAgIFticm9qXSAgIHBva3JldAorCitQcmXwaXRlIG5hIG5hcmVkbnUgbGVrY2lqdS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgIExla2NpamEgNC4xOiBQT1pJQ0lKQSBLVVJTT1JBIEkgU1RBVFVTIEZBSkxBCisKKyAgKiogUHJpdGlzbml0ZSBDVFJMLUcgemEgcHJpa2F6IHBvemljaWplIGt1cnNvcmEgdSB0ZWtzdHUgaSBzdGF0dXMgZmFqbGEuCisgICAgIFByaXRpc25pdGUgIEcgIHphIHBvbWVyYW5qZSBrdXJzb3JhIG5hIG5la2kgcmVkIHUgdGVrc3R1LiAqKgorCitOQVBPTUVOQTogIFByb+hpdGFqdGUgY2VsdSBsZWtjaWp1IHByZSBpenZv8GVuamEgYmlsbyBrb2cga29yYWthISEKKworICAxLiBEcp5pdGUgdGFzdGVyIENUUkwgaSBwcml0aXNuaXRlICBnIC4gIE92byB6b3ZlbW8gQ1RSTC1HLgorICAgICBFZGl0b3Ig5mUgbmEgZG51IGVrcmFuYSBpc3Bpc2F0aSBwb3J1a3Ugc2EgaW1lbm9tIGZhamxhIGkgcG96aWNpam9tCisgICAgIGt1cnNvcmEgdSB0ZWtzdHUuICBaYXBhbXRpdGUgYnJvaiByZWRhIHphIDMuIGtvcmFrLgorCitOQVBPTUVOQTogIFUgZG9uamVtIGRlc25vbSB1Z2x1IG1vnmUgc2UgdmlkZXRpIHBvemljaWp1IGt1cnNvcmEgYWtvIGplCisgICAgICAgICAgIHVrbGp16GVuYSBvcGNpamEgJ3J1bGVyJyAodmlkaSAgOmhlbHAgcnVsZXIgIGlsaSBsZWtjaWp1IDYuNS4pCisKKyAgMi4gUHJpdGlzbml0ZSAgRyAgemEgcG9tZXJhbmplIGt1cnNvcmEgbmEga3JhaiB0ZWtzdGEuCisgICAgIFByaXRpc25pdGUgIDFHICBpbGkgIGdnICB6YSBwb21yYW5qZSBrdXJzb3JhIG5hIHBv6GV0YWsgdGVrc3RhLgorCisgIDMuIE90a3VjYWp0ZSBicm9qIHJlZGEgbmEga29tZSBzdGUgbWFsb3ByZSBiaWxpIGkgb25kYSAgRyAuICBLdXJzb3IKKyAgICAg5mUgc2UgdnJhdGl0aSBuYSByZWQgbmEga29tZSBqZSBiaW8ga2FkIHN0ZSBvdGt1Y2FsaSBDVFJMLUcuCisKKyAgNC4gQWtvIHN0ZSBzcHJlbW5pLCBpenZymml0ZSBrb3Jha2Ugb2QgMSBkbyAzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgNC4yOiBLT01BTkRFIFBSRVRSQY5JVkFOSkEKKworICAgICAgICoqIE90a3VjYWp0ZSAgLyAgaSBvbmRhIGl6cmF6IGtvamkgnmVsaXRlIGRhIHBvdHJhnml0ZS4gKioKKworICAxLiBVIE5vcm1hbCBtb2R1IG90a3VjYWp0ZSB6bmFrICAvIC4gIFByaW1pZXRpdGUgZGEgc2Ugem5hayBwb2phdmlvCisgICAgIHphamVkbm8gc2Ega3Vyc29yb20gbmEgZG51IGVrcmFuYSBrYW8gaSBrb2Qga29tYW5kZSAgOiAuCisKKyAgMi4gU2FkYSBvdGt1Y2FqdGUgJ2dycnJlmmthJyA8RU5URVI+LiAgKEJleiByYXptYWthIGkgbmF2b2RuaWthLikKKyAgICAgVG8gamUgcmXoIGtvanUgdHJhnml0ZS4KKworICAzLiBaYSBwb25vdm5vIHRyYZ5lbmplIGlzdG9nIGl6cmF6YSwgb3RrdWNhanRlICBuIC4KKyAgICAgWmEgdHJhnmVuamUgaXN0b2cgaXpyYXphIHUgc3Vwcm90bm9tIHNtZXJ1LCBvdGt1Y2FqdGUgIE4gLgorCisgIDQuIFphIHRyYZ5lbmplIGl6cmF6YSB1bmF0cmFnLCBrb3Jpc3RpdGUgID8gIHVtZXN0byAgLyAuCisKKyAgNS4gWmEgcG92cmF0YWsgbmEgcHJldGhvZG51IHBvemljaWp1IG90a3VjYWp0ZSBDVFJMLU8gKGRynml0ZSBDVFJMIGRvaworICAgICBwcml0aXNrYXRlIE8gKS4gIFBvbmF2bGphanRlIHphIHJhbmlqZSBwb3ppY2lqZS4gIENUUkwtSSBpZGUgbmFwcmVkLgorCistLS0+ICJncnJyZZprYSIgamUgcG9ncmWabm87IHVtZXN0byBncnJyZZprYSB0cmViYSBkYSBzdG9qaSBncmWaa2EuCisKK05BUE9NRU5BOiAgQWtvIHByZXRyYWdhIGRv8GUgZG8ga3JhamEgdGVrc3RhIHRyYZ5lbmplIOZlIHNlIG5hc3Rhdml0aSBvZAorCSAgIG5qZWdvdm9nIHBv6GV0a2Egb3NpbSBha28gamUgb3BjaWphICd3cmFwc2NhbicgaXNrbGp16GVuYS4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgIExla2NpamEgNC4zOiBUUkGORU5KRSBQQVJBIFpBR1JBREUKKworCisJKiogT3RrdWNhanRlICAlICB6YSBuYWxhnmVuamUgcGFyYSApLCBdIGlsaSB9IC4gKioKKworICAxLiBQb3N0YXZpdGUga3Vyc29yIG5hIGJpbG8ga29qdSBvZCAgKCAsICBbICBpbGkgIHsKKyAgICAgb3R2b3JlbmloIHphZ3JhZGEgdSByZWR1IG96bmHoZW5vbSBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSB6bmFrICAlIC4KKworICAzLiBLdXJzb3Ig5mUgc2UgcG9tZXJpdGkgbmEgb2Rnb3ZhcmFqdeZ1IHphdHZvcmVudSB6YWdyYWR1LgorCisgIDQuIE90a3VjYWp0ZSAgJSAgZGEgcG9tZXJpdGUga3Vyc29yIG5hIHBydnUgemFncmFkdSB1IHBhcnUuCisKKyAgICAgIDUuIFBvbWVyaXRlIGt1cnNvciBuYSBuZWt1IG9kICgsKSxbLF0seyBpbGkgfSBpIHBvbm92aXRlIGtvbWFuZHUgICUgLgorCistLS0+IFJlZCAoIHRlc3RpcmFuamEgb2Jp6G5paCAoIFsgdWdsYXN0aWggXSBpIHsgdml0aehhc3RpaCB9IHphZ3JhZGEuKSkKKworCitOQVBPTUVOQTogIFZybG8ga29yaXNubyB1IGlzcHJhdmxqYW5qdSBrb2RhIHNhIHJhc3BhcmVuaW0gemFncmFkYW1hIQorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWtjaWphIDQuNDogS09NQU5EQSBaQU1FTkUKKworCisgICAgICAgKiogT3RrdWNhanRlICA6cy9zdGFyby9ub3ZvL2cgIGRhIHphbWVuaXRlICdzdGFybycgemEgJ25vdm8nLiAqKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSByZWQgb3puYehlbiBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSAgOnMvcmRpL3JpLyA8RU5URVI+IC4gIFByaW1ldGl0ZSBkYSBvdmEga29tYW5kYSB6YW1lbmp1amUKKyAgICAgc2FtbyBwcnZvICJyZGkiIHUgcmVkdS4KKworICAzLiBPdGt1Y2FqdGUgIDpzL3JkaS9yaS9nIC4gIERvZGF2YW5qZSBvcGNpamUgIGcgIHpuYehpIGRhIOZlIHNlIGtvbWFuZGEKKyAgICAgaXp2cpppdGkgdSBjZWxvbSByZWR1LCB6YW1lbm9tIHN2aWggcG9qYXZhIG5pemEgInJkaSIuCisKKy0tLT4gcmRpYmEgcmRpYmkgZ3JkaXplIHJlcC4KKworICA0LiBaYSB6YW1lbnUgc3ZpaCBpenJhemEgaXptZfB1IG5la2EgZHZhIHJlZGEsCisgICAgIG90a3VjYWp0ZSA6Iywjcy9zdGFyby9ub3ZvL2cgICBnZGUgc3UgIywjIGtyYWpuamkgYnJvamV2aSByZWRvdmEgdSBvcHNlZ3UgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1IGtvbWUg5mUgc2Ugb2Jhdml0aSB6YW1lbmEuCisgICAgIE90a3VjYWp0ZSA6JXMvc3Rhcm8vbm92by9nICAgICB6YSB6YW1lbnUgc3ZpaCBpenJhemEgdSBjZWxvbSB0ZWtzdHUuCisgICAgIE90a3VjYWp0ZSA6JXMvc3Rhcm8vbm92by9nYyAgICB6YSBuYWxhnmVuamUgc3ZpaCBpenJhemEgdSB0ZWtzdHUgaQorICAgICAJCQkgICAgICAgICAgICBwb3R2cmR1IHphbWVuZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA0CisKKworICAxLiBDVFJMLUcgIHByaWthenVqZSBwb3ppY2lqdSBrdXJzb3JhIHUgdGVrc3R1IGkgc3RhdHVzIGZhamxhLgorICAgICAgICAgICAgIEcgIHBvbWVyYSBrdXJzb3IgbmEga3JhaiB0ZWtzdGEuCisgICAgIGJyb2ogICAgRyAgcG9tZXJhIGt1cnNvciBuYSBuYXZlZGVuaSByZWQuCisgICAgICAgICAgICBnZyAgcG9tZXJhIGt1cnNvciBuYSBwcnZpIHJlZCB0ZWtzdGEuCisKKyAgMi4gS3VjYW5qZW0gIC8gIHNhIGl6cmF6b20gdGFqIGl6cmF6IHNlIHRyYZ5pIFVOQVBSRUQuCisgICAgIEt1Y2FuamVtICA/ICBzYSBpenJhem9tIHRhaiBpenJheiBzZSB0cmGeaSBVTkFaQUQuCisgICAgIFBvc2xlIGtvbWFuZGUgdHJhnmVuamEga29yaXN0aXRlICBuICB6YSBuYWxhnmVuamUgaXpyYXphIHUgaXN0b20KKyAgICAgc21lcnUsIGEgIE4gIHphIG5hbGGeZW5qZSB1IHN1cHJvdG5vbSBzbWVydS4KKyAgICAgQ1RSTC1PIHZyYeZhIGt1cnNvciBuYSBwcmV0aG9kbnUgcG96aWNpanUsIGEgQ1RSTC1JIG5hIG5hcmVkbnUuCisKKyAgMy4gS3VjYW5qZW0gICUgIGthZCBqZSBrdXJzb3IgbmEgemFncmFkaSBvbiBzZSBwb21lcmEgbmEgbmplbiBwYXIuCisKKyAgNC4gWmEgemFtZW51IHBydm9nIGl6cmF6YSBzdGFybyB6YSBpenJheiBub3ZvICAgICAgICAgICAgOnMvc3Rhcm8vbm92by8KKyAgICAgWmEgemFtZW51IHN2aWggaXpyYXphIHUgY2Vsb20gcmVkdSAgICAgICAgICAgICAgICAgICAgOnMvc3Rhcm8vbm92by9nCisgICAgIFphIHphbWVudSBzdmloIGl6cmF6YSB1IG9wc2VndSBsaW5pamEgIywjICAgICAgICAgICAgIDojLCNzL3N0YXJvL25vdm8vZworICAgICBaYSB6YW1lbnUgdSBjZWxvbSB0ZWtzdHUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6JXMvc3Rhcm8vbm92by9nCisgICAgIFphIHBvdHZyZHUgc3Zha2UgemFtZW5lIGRvZGFqdGUgJ2MnCQkgICA6JXMvc3Rhcm8vbm92by9nYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrY2lqYSA1LjE6IElaVlKKQVZBTkpFIFNQT0xKQYpOSklIIEtPTUFOREkKKworCisgICoqIE90a3VjYWp0ZSAgOiEgIHBhIHNwb2xqYZpuanUga29tYW5kdSBrb2p1IJ5lbGl0ZSBkYSBpenZymml0ZS4gKioKKworICAxLiBPdGt1Y2FqdGUgcG96bmF0dSBrb21hbmR1ICA6ICBkYSBiaXN0ZSBuYW1lc3RpbGkga3Vyc29yIG5hIGRubworICAgICBla3JhbmEuICBUaW1lIG9tb2d15mF2YXRlIHVub3Mga29tYW5kZSB1IGtvbWFuZG5vaiBsaW5pamkgZWRpdG9yYS4KKworICAyLiBPdGt1Y2FqdGUgem5hayAgISAgKHV6dmnobmlrKS4gIE92aW1lIG9tb2d15mF2YXRlCisgICAgIGl6dnKaYXZhbmplIGJpbG8ga29qZSBzcG9samGabmplIGtvbWFuZGUuCisKKyAgMy4gS2FvIHByaW1lciBvdGt1Y2FqdGUgICBscyAgIHBvc2xlICEgaSBwcml0aXNuaXRlIDxFTlRFUj4uICBPdm8g5mUKKyAgICAgcHJpa2F6YXRpIHNhZHKeYWogZGlyZWt0b3JpanVtYSwga2FvIGRhIHN0ZSBuYSBrb21hbmRub20gcHJvbXB0dS4KKyAgICAgT3RrdWNhanRlICAgOiFkaXIgICBha28gICA6IWxzICAgbmUgcmFkaS4KKworTkFQT01FTkE6ICBOYSBvdmFqIG5h6GluIG1vZ3XmZSBqZSBpenZymml0aSBiaWxvIGtvanUgc3BvbGphmm5qdSBrb21hbmR1LAorICAgICAgICAgICB6YWplZG5vIHNhIG5qZW5pbSBhcmd1bWVudGltYS4KKworTkFQT01FTkE6ICBTdmUgIDogIGtvbWFuZGUgc2UgaXp2cpphdmFqdSBwb5p0byBwcml0aXNuZXRlIDxFTlRFUj4gLgorCSAgIFUgZGFsamVtIHRla3N0dSB0byBuZeZlbW8gdXZlayBuYXBvbWluamF0aS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgTGVrY2lqYSA1LjI6IFZJikUgTyBTTklNQU5KVSBGQUpMT1ZBCisKKyAgICAgICAgICAgKiogWmEgc25pbWFuamUgcHJvbWVuYSwgb3RrdWNhanRlICA6dyBJTUVfRkFKTEEgLiAqKgorCisgIDEuIE90a3VjYWp0ZSAgOiFkaXIgIGlsaSAgOiFscyAgemEgcHJlZ2xlZCBzYWRynmFqYSBkaXJla3RvcmlqdW1hLgorICAgICBWZeYgem5hdGUgZGEgbW9yYXRlIHByaXRpc251dGkgPEVOVEVSPiBwb3NsZSB0b2dhLgorCisgIDIuIEl6YWJlcml0ZSBpbWUgZmFqbGEga29qaSBqb5ogbmUgcG9zdG9qaSwgbnByLiBURVNULgorCisgIDMuIE90a3VjYWp0ZToJIDp3IFRFU1QgICAoZ2RlIGplIFRFU1QgaW1lIGtvamUgc3RlIGl6YWJyYWxpLikKKworICA0LiBUaW1lIOZldGUgc25pbWl0aSBjZW8gZmFqbCAoVmltIFR1dG9yKSBwb2QgaW1lbm9tIFRFU1QuCisgICAgIFphIHByb3ZlcnUsIG90a3VjYWp0ZSBvcGV0ICA6IWRpciAgaWxpICA6IWxzIHphIHByZWdsZWQKKyAgICAgc2Fkcp5hamEgZGlyZWt0b3JpanVtYS4KKworTkFQT01FTkE6ICBBa28gYmlzdGUgbmFwdXN0aWxpIFZpbSBpIHBvbm92byBnYSBwb2tyZW51bGkgc2EgdmltIFRFU1QgLAorICAgICAgICAgICB0ZWtzdCBiaSBiaW8gdGHobmEga29waWphIG92b2cgZmFqbGEgdSB0cmVudXRrdSBrYWQgc3RlCisJICAgZ2Egc25pbWlsaS4KKworICA1LiBJemJyaZppdGUgZmFqbCB0YWtvIJp0byDmZXRlIG90a3VjYXRpIChNUy1ET1MpOgk6IWRlbCBURVNUCisJCQkJICAgICAgICAgaWxpIChVbml4KToJOiFybSBURVNUCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgIExla2NpamEgNS4zOiBTTklNQU5KRSBPWk5ByEVOT0cgVEVLU1RBCisKKworICAgKiogRGEgYmlzdGUgc25pbWlsaSBkZW8gdGVrc3RhLCBvdGt1Y2FqdGUgIHYgIHBva3JldCAgOncgSU1FX0ZBSkxBICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIG92dSBsaW5panUuCisKKyAgMi4gUHJpdGlzbml0ZSAgdiAgaSBwb21lcml0ZSBrdXJzb3IgcGV0IHJlZG92YSBpc3BvZC4gIFByaW1ldGl0ZSBkYSBqZQorICAgICB0ZWtzdCBvem5h6GVuIGludmVyem5vLgorCisgIDMuIFByaXRpc25pdGUgIDogLiAgTmEgZG51IGVrcmFuYSBwb2phdmnmZSBzZSAgOic8LCc+IC4KKworICA0LiBPdGt1Y2FqdGUgIHcgVEVTVCAgLCBnZGUgamUgVEVTVCBpbWUgZmFqbGEga29qaSBqb5ogbmUgcG9zdG9qaS4KKyAgICAgUHJvdmVyaXRlIGRhIHphaXN0YSBwaZplICA6JzwsJz53IFRFU1QgIHByZSBuZWdvIJp0byBwcml0aXNuZXRlIDxFTlRFUj4uCisKKyAgNS4gVmltIOZlIHNuaW1pdGkgb3puYehlbmkgdGVrc3QgdSBURVNULiAgUHJvdmVyaXRlIHNhICA6IWRpciAgaWxpICAhbHMgLgorICAgICBOZW1vanRlIGpvmiBicmlzYXRpIGZhamwhICBLb3Jpc3Rp5mVtbyBnYSB1IG5hcmVkbm9qIGxla2NpamkuCisKK05BUE9NRU5BOiAgS29tYW5kYSAgdiAgemFwb+hpbmplIHZpenVlbG5vIG96bmHoYXZhbmplLiAgTW+eZXRlIHBvbWVyYXRpIGt1cnNvcgorICAgICAgICAgICBpIHRha28gbWVuamF0aSB2ZWxp6GludSBvem5h6GVub2cgdGVrc3RhLiAgT25kYSBtb55ldGUgdXBvdHJlYml0aQorICAgICAgICAgICBvcGVyYXRvcmUgbmFkIHRla3N0b20uICBOYSBwcmltZXIsICBkICDmZSBpemJyaXNhdGkgb3puYehlbmkgdGVrc3QuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICBMZWtjaWphIDUuNDogVchJVEFWQU5KRSBGQUpMQSBVIFRFS1NUCisKKworICAgICAgICoqIFphIHViYWNpdmFuamUgc2Fkcp5hamEgZmFqbGEsIG90a3VjYWp0ZSAgOnIgSU1FX0ZBSkxBICAqKgorCisgIDEuIFBvc3Rhdml0ZSBrdXJzb3IgaXpuYWQgb3ZlIGxpbmlqZS4KKworTkFQT01FTkE6ICBQb5p0byBpenZymml0ZSAyLiBrb3JhayB2aWRl5mV0ZSB0ZWtzdCBpeiBsZWtjaWplIDUuMy4gIFRhZGEKKyAgICAgICAgICAgcG9tZXJpdGUga3Vyc29yIERPTEUgZGEgYmlzdGUgcG9ub3ZvIHZpZGVsaSBvdnUgbGVrY2lqdS4KKworICAyLiBV6Gl0YWp0ZSBmYWpsIFRFU1Qga29yaXN0ZeZpIGtvbWFuZHUgIDpyIFRFU1QgIGdkZSBqZSBURVNUIGltZSBmYWpsYQorICAgICBrb2plIHN0ZSBrb3Jpc3RpbGkgdSBwcmV0aG9kbm9qIGxla2NpamkuICBTYWRynmFqIHXoaXRhbm9nIGZhamxhIGplCisgICAgIHViYehlbiBpc3BvZCBrdXJzb3JhLgorCisgIDMuIERhIGJpc3RlIHByb3ZlcmlsaSBkYSBqZSBmYWpsIHXoaXRhbiwgdnJhdGl0ZSBrdXJzb3IgdW5hemFkIGkKKyAgICAgcHJpbWV0aXRlIGR2ZSBrb3BpamUgbGVrY2lqZSA1LjMsIG9yaWdpbmFsbnUgaSBvbnUgaXogZmFqbGEuCisKK05BUE9NRU5BOiAgVGFrb/BlIG1vnmV0ZSB16Gl0YXRpIGl6bGF6IHNwb2xqYZpuamUga29tYW5kZS4gIE5hIHByaW1lciwKKwkgICA6ciAhbHMgIOZlIHXoaXRhdGkgaXpsYXoga29tYW5kZSAgbHMgIGkgcG9zdGF2aXRpIGdhIGlzcG9kCisgICAgICAgICAgIGt1cnNvcmEuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA1CisKKworICAxLiAgOiFrb21hbmRhICBpenZymmF2YSBzcG9samGabmp1IGtvbWFuZHUuCisKKyAgICAgIEtvcmlzbmkgcHJpbWVyaToKKwkgKE1TLURPUykJICAoVW5peCkKKwkgIDohZGlyCQkgICA6IWxzCQkgICAtICBwcmVnbGVkIHNhZHKeYWphIGRpcmVrdG9yaWp1bWEuCisJICA6IWRlbCBGQUpMICAgICAgIDohcm0gRkFKTCAgICAgICAtICBicmmaZSBmYWpsIEZBSkwuCisKKyAgMi4gIDp3IEZBSkwgIHphcGlzdWplIHRyZW51dG5pIHRla3N0IG5hIGRpc2sgcG9kIGltZW5vbSBGQUpMLgorCisgIDMuICB2ICBwb2tyZXQgIDp3IElNRV9GQUpMQSAgc25pbWEgdml6dWVsbm8gb3puYehlbmUgcmVkb3ZlIHUgZmFqbAorICAgICAgSU1FX0ZBSkxBLgorCisgIDQuICA6ciBJTUVfRkFKTEEgIHXoaXRhdmEgZmFqbCBJTUVfRkFKTEEgc2EgZGlza2EgaSBzdGF2bGphCisgICAgICBuamVnb3Ygc2Fkcp5haiBpc3BvZCBrdXJzb3JhLgorCisgIDUuICA6ciAhZGlyICB16Gl0YXZhIGl6bGF6IGtvbWFuZGUgZGlyIGkgcG9zdGF2bGphIGdhIGlzcG9kIGt1cnNvcmEuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWtjaWphIDYuMTogS09NQU5EQSBPVFZPUkkKKworCisJKiogUHJpdGlzbml0ZSAgbyAgZGEgYmlzdGUgb3R2b3JpbGkgcmVkIGlzcG9kIGt1cnNvcmEKKwkgICBpIHByZZpsaSB1IEluc2VydCBtb2QuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHNsZWRl5mkgcmVkIG96bmHoZW4gc2EgLS0tPi4KKworICAyLiBPdGt1Y2FqdGUgbWFsbyAgbyAgZGEgYmlzdGUgb3R2b3JpbGkgbm92aSByZWQgSVNQT0Qga3Vyc29yYQorICAgICBpIHByZZpsaSB1IEluc2VydCBtb2QuCisKKyAgMy4gT3RrdWNhanRlIG5la2kgdGVrc3QgaSBvbmRhIHByaXRpc25pdGUgPEVTQz4gZGEgYmlzdGUgaXphmmxpCisgICAgIGl6IEluc2VydCBtb2RhLgorCistLS0+IEthZCBwcml0aXNuZXRlICBvICBrdXJzb3IgcHJlbGF6aSB1IG5vdm9vdHZvcmVuaSByZWQgdSBJbnNlcnQgbW9kdS4KKworICA0LiBaYSBvdHZhcmFuamUgcmVkYSBJWk5BRCBrdXJzb3JhLCB1bWVzdG8gbWFsb2cgb3RrdWNhanRlIHZlbGlrbyBPIC4KKyAgICAgSXNwcm9iYWp0ZSBuYSBkb25qZW0gcmVkdSBvem5h6GVub20gc2EgLS0tPi4KKworLS0tPiBPdHZvcml0ZSByZWQgaXpuYWQgb3ZvZyBrdWNhbmplbSB2ZWxpa29nICBPICBkb2sgamUga3Vyc29yIHUgb3ZvbSByZWR1LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSA2LjI6IEtPTUFOREEgRE9EQUoKKworCisJICAgICAqKiBPdGt1Y2FqdGUgIGEgIHphIGRvZGF2YW5qZSB0ZWtzdGEgSVpBIGt1cnNvcmEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBv6GV0YWsgc2xlZGXmZWcgcmVkYSBvem5h6GVub2cgc2EgLS0tPi4KKyAgCisgIDIuIEt1Y2FqdGUgIGUgIGRvayBrdXJzb3IgbmUgZG/wZSBuYSBrcmFqIHJl6GkgIHJlIC4KKworICAzLiBPdGt1Y2FqdGUgIGEgIChtYWxvKSBkYSBiaXN0ZSBkb2RhbGkgdGVrc3QgSVpBIGt1cnNvcmEuCisKKyAgNC4gRG9wdW5pdGUgcmXoIGthbyCadG8gamUgdSByZWR1IGlzcG9kLiAgUHJpdGlzbml0ZSA8RVNDPiB6YSBpemxhemFrCisgICAgIGl6IEluc2VydCBtb2RhLgorCisgIDUuIFNhICBlICBwcmXwaXRlIG5hIG5hcmVkbnUgbmVwb3RwdW51IHJl6CBpIHBvbm92aXRlIGtvcmFrZSAzIGkgNC4KKyAgCistLS0+IE92YWogcmUgb21vZ3XmYXZhIHZlIGRvZGF2IHRla3N0YSB1IG5la29tIHJlZHUuCistLS0+IE92YWogcmVkIG9tb2d15mF2YSB2ZZ5iYW5qZSBkb2RhdmFuamEgdGVrc3RhIHUgbmVrb20gcmVkdS4KKworTkFQT01FTkE6ICBLb21hbmRlIGEsIGksIGkgIEEgIGFrdGl2aXJhanUgaXN0aSBJbnNlcnQgbW9kLCBqZWRpbmEKKyAgICAgICAgICAgcmF6bGlrYSBqZSB1IHBvemljaWppIG9kIGtvamUg5mUgc2UgdGVrc3QgdWJhY2l2YXRpLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgNi4zOiBEUlVHSSBOQchJTiBaQU1FTkUKKworCisgICAgICAqKiBPdGt1Y2FqdGUgdmVsaWtvICBSICBkYSBiaXN0ZSB6YW1lbmlsaSB2aZplIG9kIGplZG5vZyB6bmFrYS4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZeZpIHJlZCBvem5h6GVuIHNhIC0tLT4uCisgICAgIFBvbWVyaXRlIGt1cnNvciBuYSBwb+hldGFrIHBydm9nICB4eHggLgorCisgIDIuIFByaXRpc25pdGUgIFIgIGkgb3RrdWNhanRlIGJyb2oga29qaSBqZSByZWQgaXNwb2QsCisgICAgIHRha28gZGEgemFtZW5pIHh4eCAuCisKKyAgMy4gUHJpdGlzbml0ZSA8RVNDPiB6YSBpemxhemFrIGl6IFJlcGxhY2UgbW9kYS4KKyAgICAgUHJpbWV0aXRlIGRhIGplIG9zdGF0YWsgcmVkYSBvc3RhbyBuZXByb21lbmplbi4KKworICA0LiBQb25vdml0ZSBrb3Jha2UgZGEgYmlzdGUgemFtZW5pbGkgZHJ1Z28geHh4LgorCistLS0+IERvZGF2YW5qZSAxMjMgbmEgeHh4IGRhamUgeHh4LgorLS0tPiBEb2RhdmFuamUgMTIzIG5hIDQ1NiBkYWplIDU3OS4KKworTkFQT01FTkE6ICBSZXBsYWNlIG1vZCBqZSBrYW8gSW5zZXJ0IG1vZCwgcyB0b20gcmF6bGlrb20gmnRvIHN2YWtpCisgICAgICAgICAgIHVuZXRpIHpuYWsgYnJpmmUgdmXmIHBvc3RvamXmaS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCUxla2NpamEgNi40OiBLT1BJUkFOSkUgSSBMRVBMSkVOSkUgVEVLU1RBCisKKworICAgICoqIEtvcmlzdGl0ZSBvcGVyYXRvciAgeSAgemEga29waXJhbmplIGEgIHAgIHphIGxlcGxqZW5qZSB0ZWtzdGEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBzYSAtLS0+ICBpIHBvc3Rhdml0ZSBrdXJzb3IgcG9zbGUgImEpIi4KKyAgCisgIDIuIEFrdGl2aXJhanRlIFZpc3VhbCBtb2Qgc2EgIHYgIGkgcG9tZXJpdGUga3Vyc29yIHN2ZSBkbyBpc3ByZWQgInBydmkiLgorICAKKyAgMy4gUHJpdGlzbml0ZSAgeSAgZGEgYmlzdGUga29waXJhbGkgb3puYehlbmkgdGVrc3QgdSBpbnRlcm5pIGJhZmVyLgorCisgIDQuIFBvbWVyaXRlIGt1cnNvciBkbyBrcmFqYSBzbGVkZeZlZyByZWRhOiAgaiQKKworICA1LiBQcml0aXNuaXRlICBwICBkYSBiaXN0ZSB6YWxlcGlsaSB0ZWtzdC4gIE9uZGEgb3RrdWNhanRlOiAgYSBkcnVnaSA8RVNDPiAuCisKKyAgNi4gVXBvdHJlYml0ZSBWaXN1YWwgbW9kIGRhIG96bmHoaXRlICIgcmVkLiIsIGtvcGlyYWp0ZSBzYSAgeSAsIGt1cnNvcgorICAgICBwb21lcml0ZSBuYSBrcmFqIHNsZWRl5mVnIHJlZGEgc2EgIGokICBpIHRhbW8gemFsZXBpdGUgdGVrc3Qgc2EgIHAgLgorCistLS0+ICBhKSBvdm8gamUgcHJ2aSByZWQuCisgICAgICBiKQorCitOQVBPTUVOQTogIHRha2/wZSBtb55ldGUga29yaXN0aXRpICB5ICBrYW8gb3BlcmF0b3I7ICB5dyAga29waXJhIGplZG51IHJl6C4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lqYSA2LjU6IFBPU1RBVkxKQU5KRSBPUENJSkEKKworCisgKiogUG9zdGF2aXRlIG9wY2lqdSB0YWtvIGRhIHRyYZ5lbmplIGkgemFtZW5hIGlnbm9yaZp1IHZlbGnoaW51IHNsb3ZhICoqCisKKyAgMS4gUG90cmGeaXRlIHJl6CAncmF6bGlrYSc6ICAvcmF6bGlrYSA8RU5URVI+CisgICAgIFBvbm92aXRlIG5la29saWtvIHB1dGEgcHJpdGlza29tIG5hICBuIC4KKworICAyLiBBa3RpdmlyYWp0ZSBvcGNpanUgJ2ljJyAoSWdub3JlIGNhc2UpOiAgOnNldCBpYworCisgIDMuIFBvbm92byBwb3RyYZ5pdGUgcmXoICdyYXpsaWthJyBwcml0aXNrb20gbmEgIG4KKyAgICAgUHJpbWV0aXRlIGRhIHN1IHNhZGEgcHJvbmHwZW5pIGkgUkFaTElLQSBpIFJhemxpa2EuCisKKyAgNC4gQWt0aXZpcmFqdGUgb3BjaWplICdobHNlYXJjaCcgaSAnaW5jc2VhcmNoJzogIDpzZXQgaGxzIGlzCisKKyAgNS4gUG9ub3ZvIG90a3VjYWp0ZSBrb21hbmR1IHRyYZ5lbmphIGkgdW/oaXRlIHJhemxpa2U6ICAvcmF6bGlrYSA8RU5URVI+CisKKyAgNi4gWmEgZGVha3RpdmlyYW5qZSBvcGNpamUgIGljICBrdWNhanRlOiAgOnNldCBub2ljCisKK05BUE9NRU5BOiAgWmEgbmVvem5h6GF2YW5qZSBwcm9uYfBlbmloIGl6cmF6YSBvdGt1Y2FqdGU6ICA6bm9obHNlYXJjaAorTkFQT01FTkE6ICBBa28gnmVsaXRlIGRhIG5lIHJhemxpa3VqZXRlIHZlbGnoaW51IHNsb3ZhIHUgc2FtbyBqZWRub2oga29tYW5kaQorCSAgIHRyYZ5lbmphLCBkb2RhanRlICBcYyAgdSBpenJhejogIC9yYXpsaWthXGMgPEVOVEVSPgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA2CisKKyAgMS4gUHJpdGlzbml0ZSAgbyAgemEgb3R2YXJhbmplIHJlZGEgSVNQT0Qga3Vyc29yYSBpIHByZWxhemFrIHUgSW5zZXJ0IG1vZC4KKyAgICAgUHJpdGlzbml0ZSAgTyAgemEgb3R2YXJhbmplIHJlZGEgSVpOQUQga3Vyc29yYS4KKworICAyLiBQcml0aXNuaXRlICBhICB6YSB1bm9zIHRla3N0YSBJWkEga3Vyc29yYS4KKyAgICAgUHJpdGlzbml0ZSAgQSAgemEgdW5vcyB0ZWtzdGEgbmEga3JhanUgcmVkYS4KKworICAzLiBLb21hbmRhICBlICBwb21lcmEga3Vyc29yIG5hIGtyYWogcmXoaS4KKworICA0LiBPcGVyYXRvciAgeSAga29waXJhIHRla3N0LCAgcCAgZ2EgbGVwaS4KKworICA1LiBLdWNhbmplIHZlbGlrb2cgIFIgIGFrdGl2aXJhIFJlcGxhY2UgbW9kIGRvayBuZSBwcml0aXNuZXRlIDxFU0M+IC4KKworICA2LiBLdWNhbmplICI6c2V0IHh4eCIgYWt0aXZpcmEgb3BjaWp1ICJ4eHgiLiAgTmVrZSBvcGNpamUgc3U6CisgIAknaWMnICdpZ25vcmVjYXNlJwluZSByYXpsaWt1amUgdmVsaWthL21hbGEgc2xvdmEgcHJpIHRyYZ5lbmp1CisJJ2lzJyAnaW5jc2VhcmNoJwlwcmlrYXp1amUgcHJvbmHwZW4gdGVrc3QgZG9rIGt1Y2F0ZSBpenJhegorCSdobHMnICdobHNlYXJjaCcJb3puYehhdmEgaW52ZXJ6bm8gc3ZlIHByb25h8GVuZSBpenJhemUKKyAgICAgTW+eZXRlIGtvcmlzdGl0ZSBkdWdvIGlsaSBrcmF0a28gaW1lIG9wY2lqZS4KKworICA3LiBJc3ByZWQgaW1lbmEgb3BjaWplIHN0YXZpdGUgIm5vIiBkYSBqZSBkZWFrdGl2aXJhdGU6ICA6c2V0IG5vaWMKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWtjaWphIDcuMTogRE9CSUpBTkpFIFBPTU/GSQorCisKKwkJICAgKiogS29yaXN0aXRlIG9uLWxpbmUgc2lzdGVtIHphIHBvbW/mICoqCisKKyAgVmltIGltYSBkZXRhbGphbiBvbi1saW5lIHNpc3RlbSB6YSBwb21v5i4gIFphIHBv6GV0YWssIHBva3WaYWp0ZSBuZZp0bworICBvZCBzbGVkZeZlZzoKKwktIHByaXRpc25pdGUgdGFzdGVyIDxIRUxQPiAoYWtvIGdhIGltYXRlIG5hIHRhc3RhdHVyaSkKKwktIHByaXRpc25pdGUgdGFzdGVyIDxGMT4gKGFrbyBnYSBpbWF0ZSBuYSB0YXN0YXR1cmkpCisJLSBvdGt1Y2FqdGUgIDpoZWxwIDxFTlRFUj4KKworICBQcm/oaXRhanRlIHRla3N0IHUgcHJvem9ydSBwb21v5mkgZGEgYmlzdGUgbmF16GlsaSBwb21v5iByYWRpLgorICBLdWNhbmplbSAgQ1RSTC1XIENUUkwtVyAgcHJlbGF6aXRlIGl6IGplZG5vZyBwcm96b3JhIHUgZHJ1Z2kuCisgIE90a3VjYWp0ZSAgOnEgPEVOVEVSPiAgZGEgemF0dm9yaXRlIHByb3pvciBwb21v5mkuCisKKyAgUG9tb+YgbyBwcmFrdGnobm8gYmlsbyBrb2pvaiB0ZW1pIG1vnmV0ZSBkb2JpdGkgZG9kYXZhbmplbSBhcmd1bWVudGEKKyAga29tYW5kaSAiOmhlbHAiLiAgUG9rdZphanRlIG92byAobmUgemFib3Jhdml0ZSA8RU5URVI+IG5hIGtyYWp1KToKKworCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrY2lqYSA3LjI6IFBSQVZMSkVOSkUgU1RBUlROT0cgU0tSSVBUQQorCisKKwkJICAgKiogQWt0aXZpcmFqdGUgbW9ndeZub3N0aSBlZGl0b3JhICoqCisKKyAgVmltIGltYSBtbm9nbyB2aZplIG1vZ3Xmbm9zdGkgbmVnbyBWaSwgYWxpIHZl5mluYSBuaWplIGF1dG9tYXRza2kKKyAgYWt0aXZpcmFuYS4gIFphIGRvZGF0bmUgbW9ndeZub3N0aSBuYXByYXZpdGUgInZpbXJjIiBmYWpsLgorCisgIDEuIE90dm9yaXRlICJ2aW1yYyIgZmFqbC4gIE92byB6YXZpc2kgb2QgdmGaZWcgc2lzdGVtYToKKwk6ZSB+Ly52aW1yYwkJemEgVW5peAorCTplICRWSU0vX3ZpbXJjCQl6YSBNUy1XaW5kb3dzCisKKyAgMi4gT25kYSB16Gl0YWp0ZSBwcmltZXIgc2Fkcp5hamEgInZpbXJjIiBmYWpsYToKKwk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFNuaW1pdGUgZmFqbCBzYToKKwk6dworCisgIFNsZWRl5mkgcHV0IGthZGEgcG9rcmVuZXRlIFZpbSwgYm9qZW5qZSBzaW50YWtzZSB0ZWtzdGEgYmnmZQorICBha3RpdmlyYW5vLiBTdmEgc3ZvamEgcG9kZZphdmFuamEgbW+eZXRlIGRvZGF0aSB1ICJ2aW1yYyIgZmFqbC4KKyAgWmEgdmmaZSBpbmZvcm1hY2lqYSBvdGt1Y2FqdGUgIDpoZWxwIHZpbXJjLWludHJvCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla2NpamEgNy4zOiBBVVRPTUFUU0tPIERPVlKKQVZBTkpFCisKKworCSoqIERvdnKaYXZhbmplIGtvbWFuZG5lIGxpbmlqZSBzYSBDVFJMLUQgaSA8VEFCPiAqKgorCisgIDEuIFBvZGVzaXRlIFZpbSBkYSBuZSBidWRlIHUgVmkta29tcGF0aWJpbG5vbSBtb2R1OiAgOnNldCBub2NwCisKKyAgMi4gUG9nbGVkYWp0ZSBrb2ppIGZhamxvdmkgcG9zdG9qZSB1IGRpcmVrdG9yaWp1bXU6ICA6IWxzICBpbGkgIDohZGlyCisKKyAgMy4gT3RrdWNhanRlIHBv6GV0YWsga29tYW5kZTogIDplCisKKyAgNC4gT3RrdWNhanRlICBDVFJMLUQgIGkgVmltIOZlIHByaWthemF0aSBzcGlzYWsga29tYW5kaSBrb2plIHBv6GluanUgc2EgImUiLgorCisgIDUuIFByaXRpc25pdGUgPFRBQj4gIGkgVmltIOZlIGRvcHVuaXRpIGltZSBrb21hbmRlIHUgIjplZGl0Ii4KKworICA2LiBEb2RhanRlIHJhem1hayBpIHBv6GV0YWsgaW1lbmEgcG9zdG9qZeZlZyBmYWpsYTogIDplZGl0IEZBCisKKyAgNy4gUHJpdGlzbml0ZSA8VEFCPi4gIFZpbSDmZSBkb3B1bml0aSBpbWUgZmFqbGEgKGFrbyBqZSBqZWRpbnN0dmVubykuCisKK05BUE9NRU5BOiAgTW9ndeZlIGplIGRvcHVuaXRpIG1ub2dlIGtvbWFuZGUuICBTYW1vIHByb2JhanRlIENUUkwtRCBpIDxUQUI+LgorICAgICAgICAgICBOYXJv6Gl0byBqZSBrb3Jpc25vIHphICA6aGVscCAga29tYW5kZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA3CisKKworICAxLiBPdGt1Y2FqdGUgIDpoZWxwICBpbGkgcHJpdGlzbml0ZSA8RjE+IGlsaSA8SGVscD4gIHphIHBvbW/mLgorCisgIDIuIE90a3VjYWp0ZSAgOmhlbHAga29tYW5kYSAgYmlzdGUgZG9iaWxpIHBvbW/mIHphIHR1IGtvbWFuZHUuCisKKyAgMy4gT3RrdWNhanRlICBDVFJMLVcgQ1RSTC1XICB6YSBwcmVsYXphayB1IGRydWdpIHByb3pvci4KKworICA0LiBPdGt1Y2FqdGUgIDpxICBkYSB6YXR2b3JpdGUgcHJvem9yIHBvbW/maS4KKworICA1LiBOYXByYXZpdGUgdmltcmMgc3RhcnRuaSBza3JpcHQgemEgYWt0aXZpcmFuamUgcG9kZZphdmFuamEga29qYQorICAgICB2YW0gb2Rnb3ZhcmFqdS4KKworICA2LiBEb2sga3VjYXRlIG5la3Ugb2QgIDogIGtvbWFuZGksIHByaXRpc25pdGUgQ1RSTC1EIGRhIGJpc3RlIHZpZGVsaSBtb2d15mUKKyAgICAgdnJlZG5vc3RpLiAgUHJpdGlzbml0ZSA8VEFCPiBkYSBvZGFiZXJldGUgamVkbnUgb2QgbmppaC4KKworCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICBPdmltIGplIHByaXJ16G5payB6YXZymmVuLiAgTmplZ292IGNpbGogamUgYmlvIGtyYXRhayBwcmVnbGVkIFZpbSBlZGl0b3JhLAorICBrb2xpa28gZGEgb21vZ3XmaSBuamVnb3ZvIHJlbGF0aXZubyBqZWRub3N0YXZubyBrb3JpmuZlbmplLiAgUHJpcnXobmlrIG5pamUKKyAgcG90cHVuLCBqZXIgVmltIGltYSBtbm9nbyB2aZplIGtvbWFuZGkuICBLYW8gc2xlZGXmZSwgcHJv6Gl0YWp0ZSBwcmlydehuaWs6CisgICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgWmEgZGFsamUg6Gl0YW5qZSBpIHXoZW5qZSwgcHJlcG9ydeh1amVtbyBrbmppZ3U6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCUl6ZGF2Yeg6IE5ldyBSaWRlcnMKKyAgUHJ2YSBrbmppZ2EgcG90cHVubyBwb3N2ZeZlbmEgVmltLXUuICBOYXJv6Gl0byBrb3Jpc25hIHphIHBv6GV0bmlrZS4KKyAgSW1hIG1ub5p0dm8gcHJpbWVyYSBpIHNsaWthLgorICBWaWRpdGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBTbGVkZeZhIGtuamlnYSBqZSBzdGFyaWphIGkgdmmaZSBnb3ZvcmkgbyBWaS11IG5lZ28gbyBWaW0tdSwgYWxpIGplIHRha2/wZQorICBwcmVwb3J16HVqZW1vOgorCUxlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBieSBMaW5kYSBMYW1iCisJSXpkYXZh6DogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgRG9icmEga25qaWdhIGl6IGtvamUgbW+eZXRlIHNhem5hdGkgc2tvcm8gc3ZlIJp0byBtb55ldGUgcmFkaXRpIHUgVmktanUuCisgIIplc3RvIGl6ZGFuamUgaW1hIGkgaW5mb3JtYWNpamEgbyBWaW0tdS4KKworICBPdmFqIHByaXJ16G5payBzdSBuYXBpc2FsaTogTWljaGFlbCBDLiBQaWVyY2UgaSBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIGtvcmlzdGXmaSBpZGVqZSBDaGFybGVzYSBTbWl0aGEsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBQcmlsYWdv8GF2YW5qZSB6YSBWaW0gdXJhZGlvIGplIEJyYW0gTW9vbGVuYWFyLgorCisgIFByZXZvZCBuYSBzcnBza2k6IEl2YW4gTmVqZ2ViYXVlciA8aWFuQHVucy5hYy5ycz4KKyAgVmVyemlqYSAxLjAsIG1hai9qdW5pIDIwMTQuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc3IudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLnNyLnV0Zi04Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MTE1ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnNyLnV0Zi04CkBAIC0wLDAgKzEsOTcxIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIEQgbyBiIHIgbyBkIG8gxaEgbCBpICAgdSAgIFZJTSAgIHAgciBpIHIgdSDEjSBuIGkgayAgLSAgICBWZXJ6aWphIDEuNyAgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0gamUgbW/Eh2FuIGVkaXRvciBzYSBtbm9nbyBrb21hbmRpLCBzdXZpxaFlIGRhIGJpc21vIGloIG92ZGUgc3ZlCisgICAgIG9waXNhbGkuICBQcmlydcSNbmlrIGplIHphbWnFoWxqZW4gZGEgb3BpxaFlIGRvdm9sam5vIGtvbWFuZGkgZGEgYmlzdGUKKyAgICAgbW9nbGkgbGFnb2RubyBkYSBrb3Jpc3RpdGUgVmltIGthbyBlZGl0b3Igb3DFoXRlIG5hbWVuZS4KKworICAgICBQcmlibGnFvm5vIHZyZW1lIHBvdHJlYm5vIHphIHVzcGXFoWFuIHphdnLFoWV0YWsgcHJpcnXEjW5pa2EgamUgaXptZcSRdQorICAgICAyNSBpIDMwIG1pbnV0YSwgdSB6YXZpc25vc3RpIG9kIHZyZW1lbmEgcG90cm/FoWVub2cgbmEgdmXFvmJ1LgorCisgICAgIFVQT1pPUkVOSkU6CisgICAgIEtvbWFuZGUgdSBsZWtjaWphbWEgxIdlIG1lbmphdGkgdGVrc3QuICBJc2tvcGlyYWp0ZSBvdmFqIGZhamwgaQorICAgICB2ZcW+YmFqdGUgbmEga29waWppIChha28gc3RlIHBva3JlbnVsaSAidmltdHV0b3IiIG92byBqZSB2ZcSHIGtvcGlqYSkuCisKKyAgICAgVmHFvm5vIGplIHVwYW10aXRpIGRhIGplIG92YWogcHJpcnXEjW5payB6YW1pxaFsamVuIHphIGFrdGl2bnUgdmXFvmJ1LgorICAgICBUbyB6bmHEjWkgZGEgbW9yYXRlIHVwb3RyZWJsamF2YXRpIGtvbWFuZGUgbyBrb2ppbWEgxI1pdGF0ZSBkYSBiaXN0ZQorICAgICBpaCBuYXXEjWlsaS4gIEFrbyBzYW1vIMSNaXRhdGUgdGVrc3QsIHphYm9yYXZpxIdldGUga29tYW5kZSEKKworICAgICBBa28gamUgQ2FwcyBMb2NrIHVrbGp1xI1lbiBJU0tMSlXEjElURSBnYS4gIFByaXRpc25pdGUgdGFzdGVyICBqICBkb3ZvbGpubworICAgICBwdXRhIGRhIGxla2NpamEgMS4xIGNlbGEgc3RhbmUgbmEgZWtyYW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICBMZWtjaWphIDEuMTogIFBPTUVSQU5KRSBLVVJTT1JBCisKKworICoqIFphIHBvbWVyYW5qZSBrdXJzb3JhLCBwcml0aXNrYWp0ZSB0YXN0ZXJlIGgsaixrLGwga2FrbyBqZSBwcmlrYXphbm8gKioKKwkgICAgIF4KKwkgICAgIGsJCSAgICBTYXZldDogaCBqZSBzIGxldmUgc3RyYW5lIGkgcG9tZXJhIGt1cnNvciB1IGxldm8uCisgICAgICAgPCBoCSBsID4JCSAgIGwgamUgcyBkZXNuZSBzdHJhbmUgaSBwb21lcmEga3Vyc29yIHUgZGVzbm8uCisJICAgICBqICAgICAgICAgICAgICAgICAgICAgaiBpemdsZWRhIGthbyBzdHJlbGljYSBuYW5pxb5lLgorCSAgICAgdgorICAxLiBQb21lcmFqdGUga3Vyc29yIHBvIGVrcmFudSBkb2sgc2UgbmUgbmF2aWtuZXRlIG5hIGtvbWFuZGUuCisKKyAgMi4gUHJpdGlzbml0ZSB0YXN0ZXIgKGopIGRvayBuZSBwb8SNbmUgZGEgc2UgcG9uYXZsamEuCisgICAgIFNhZGEgem5hdGUga2FrbyBkYSBkb8SRZXRlIGRvIG5hcmVkbmUgbGVrY2lqZS4KKworICAzLiBLb3Jpc3RlxIdpIHRhc3RlciBqIHByZcSRaXRlIG5hIGxla2NpanUgMS4yLgorCitOQVBPTUVOQTogIEFrbyBuaXN0ZSBzaWd1cm5pIMWhdGEgc3RlIHphcHJhdm8gcHJpdGlzbnVsaSwgcHJpdGlzbml0ZSA8RVNDPgorICAgICAgICAgICB6YSBwcmVsYXphayB1IE5vcm1hbCBtb2QgaSBwb2t1xaFhanRlIHBvbm92by4KKworTkFQT01FTkE6ICBTdHJlbGljZSB0YWtvxJFlIHBvbWVyYWp1IGt1cnNvciwgYWxpIGtvcmnFocSHZW5qZSB0YXN0ZXJhIGhqa2wgamUKKyAgICAgICAgICAgem5hdG5vIGJyxb5lLCBrYWQgc2UgamVkbm9tIG5hdmlrbmV0ZSBuYSBuamloLiAgWmFpc3RhIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgIExla2NpamEgMS4yOiBJWkxBWkFLIElaIFZJTS1hCisKKworICAhISBVUE9aT1JFTkpFOiBQcmUgaXp2b8SRZW5qYSBiaWxvIGtvZyBrb3Jha2EsIHByb8SNaXRhanRlIGNlbHUgbGVrY2lqdSEhCisKKyAgMS4gUHJpdGlzbml0ZSA8RVNDPiAoZWRpdG9yIGplIHNhZGEgdSBOb3JtYWwgbW9kdSkuCisKKyAgMi4gT3RrdWNhanRlOgk6cSEgPEVOVEVSPi4KKyAgICAgT3ZpbWUgc2UgaXpsYXppIGl6IGVkaXRvcmEsIHNhIEdVQklUS09NIHN2aWggaXptZW5hLgorCisgIDMuIEthZGEgc2UgcG9qYXZpIGtvbWFuZG5pIHByb21wdCwgdW5lc2l0ZSBrb21hbmR1IGtvamEgamUgcG9rcmVudWxhCisgICAgIG92YWogcHJpcnXEjW5pazoJCXZpbXR1dG9yIDxFTlRFUj4KKworICA0LiBBa28gc3RlIHVwYW10aWxpIG92ZSBrb3Jha2UsIGl6dnLFoWl0ZSBpaCByZWRvbSBvZCAxIGRvIDMgZGEgYmlzdGUKKyAgICAgaXphxaFsaSBpeiBlZGl0b3JhIGkgcG9ub3ZvIGdhIHBva3JlbnVsaS4KKworTkFQT01FTkE6ICA6cSEgPEVOVEVSPiAgcG9uacWhdGF2YSBzdmUgaXptZW5lIGtvamUgc3RlIG5hcHJhdmlsaS4KKyAgICAgICAgICAgVSBuYXJlZG5pbSBsZWtjaWphbWEgbmF1xI1pxIdldGUga2FrbyBkYSBzYcSNdXZhdGUgaXptZW5lLgorCisgIDUuIFBvbWVyaXRlIGt1cnNvciBuYSBsZWtjaWp1IDEuMy4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgMS4zOiBJWk1FTkEgVEVLU1RBIC0gQlJJU0FOSkUKKworCisJICAgICAgKiogUHJpdGlzbml0ZSAgeCAgemEgYnJpc2FuamUgem5ha2EgcG9kIGt1cnNvcm9tLiAqKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKworICAyLiBEYSBiaXN0ZSBpc3ByYXZpbGkgZ3JlxaFrZSwgcG9tZXJhanRlIGt1cnNvciBkb2sgc2UKKyAgICAgbmUgbmHEkWUgbmEgc2xvdnUga29qZSB0cmViYSBpemJyaXNhdGkuCisKKyAgMy4gUHJpdGlzbml0ZSB0YXN0ZXIgIHggIGRhIGl6YnJpxaFldGUgbmXFvmVsamVubyBzbG92by4KKworICA0LiBQb25hdmxqYWp0ZSBrb3Jha2Ugb2QgMiBkbyA0IGRvayBuZSBpc3ByYXZpdGUgc3ZlIGdyZcWha2UuCisKKy0tLT4gUlJSaWJhYSByaWliaSBncml6enplIHJycmVlcHAuCisKKyAgNS4gS2FkIGlzcHJhdml0ZSByZWQsIHByZcSRaXRlIG5hIGxla2NpanUgMS40LgorCitOQVBPTUVOQTogIERvayBrb3Jpc3RpdGUgcHJpcnXEjW5paywgbmVtb2p0ZSB1xI1pdGkga29tYW5kZSBuYXBhbWV0LAorICAgICAgICAgICB2ZcSHIHZlxb5iYWp0ZSBuamlob3Z1IHByaW1lbnUuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSBMZWtjaWphIDEuNDogSVpNRU5BIFRFS1NUQSAtIFVCQUNJVkFOSkUKKworCisJICAqKiBQcml0aXNuaXRlICBpICB6YSB1YmFjaXZhbmplIHRla3N0YSBpc3ByZWQga3Vyc29yYS4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZcSHaSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKworICAyLiBEYSBiaXN0ZSB0ZWtzdCBwcnZvZyByZWRhIGl6amVkbmHEjWlsaSBzIHRla3N0b20gZHJ1Z29nLCBuYW1lc3RpdGUKKyAgICAga3Vyc29yIG5hIHBydmkgem5hayBQT1NMRSBrb2cgxIdldGUgdWJhY2l0aSBwb3RyZWJhbiB0ZWtzdC4KKworICAzLiBQcml0aXNuaXRlICBpICBwYSB1bmVzaXRlIHBvdHJlYm5lIGRvcHVuZS4KKworICA0LiBQbyBpc3ByYXZjaSBzdmFrZSBncmXFoWtlIHByaXRpc25pdGUgPEVTQz4gZGEgc2UgdnJhdGl0ZSB1IE5vcm1hbCBtb2QuCisgICAgIFBvbm92aXRlIGtvcmFrZSBvZCAyIGRvIDQgZGEgYmlzdGUgaXNwcmF2aWxpIGNlbHUgcmXEjWVuaWN1LgorCistLS0+IERvIHRla2EgbmVvamUgdiByZWQuCistLS0+IERlbyB0ZWtzdGEgbmVkb3N0YWplIGl6IG92b2cgcmVkYS4KKworICA1LiBQcmXEkWl0ZSBuYSBzbGVkZcSHdSBsZWtjaWp1LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWtjaWphIDEuNTogSVpNRU5BIFRFS1NUQSAtIERPREFWQU5KRQorCisKKwkgICAgICAgICAgICoqIFByaXRpc25pdGUgIEEgIHphIGRvZGF2YW5qZSB0ZWtzdGEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBydmkgc2xlZGXEh2kgcmVkIG96bmHEjWVuIHNhIC0tLT4uCisgICAgIE5pamUgdmHFvm5vIGdkZSBzZSBuYWxhemkga3Vyc29yIHUgdG9tIHJlZHUuCisKKyAgMi4gUHJpdGlzbml0ZSAgQSAgaSB1bmVzaXRlIGRvZGF0bmkgdGVrc3QuCisKKyAgMy4gUG/FoXRvIHN0ZSBkb2RhbGkgdGVrc3QsIHByaXRpc25pdGUgPEVTQz4gemEgcG92cmF0YWsgdQorICAgICBOb3JtYWwgbW9kLgorCisgIDQuIFBvbWVyaXRlIGt1cnNvciBuYSBkcnVnaSByZWQgb3puYcSNZW4gc2EgLS0tPiBpIHBvbmF2bGphanRlCisgICAgIGtvcmFrZSAyIGkgMyBkb2sgbmUgaXNwcmF2aXRlIHRla3N0LgorCistLS0+IERlbyB0ZWtzdGEgbmVkb3N0YWplIHUKKyAgICAgRGVvIHRla3N0YSBuZWRvc3RhamUgdSBvdm9tIHJlZHUuCistLS0+IERlbyB0ZWtzdGEgbmVkb3N0YWplCisgICAgIERlbyB0ZWtzdGEgbmVkb3N0YWplIGkgb3ZkZS4KKworICA1LiBQcmXEkWl0ZSBuYSBsZWtjaWp1IDEuNi4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIExla2NpamEgMS42OiBJWk1FTkEgRkFKTEEKKworCisgICAgICoqIFVwb3RyZWJpdGUgIDp3cSAgemEgc25pbWFuamUgdGVrc3RhIGkgaXpsYXphayBpeiBlZGl0b3JhLiAqKgorCisgICEhIFVQT1pPUkVOSkU6IFByZSBpenZvxJFlbmphIGJpbG8ga29nIGtvcmFrYSwgcHJvxI1pdGFqdGUgY2VsdSBsZWtjaWp1ISEKKworICAxLiBJemHEkWl0ZSBpeiBlZGl0b3JhIGthbyB1IGxla2NpamkgMS4yOiAgOnEhCisKKyAgMi4gTmEga29tYW5kbm9tIHByb21wdHUgdW5lc2l0ZSBzbGVkZcSHdSBrb21hbmR1OiAgdmltIHR1dG9yIDxFTlRFUj4KKyAgICAgJ3ZpbScgamUga29tYW5kYSB6YSBwb2tyZXRhbmphIFZpbSBlZGl0b3JhLCAndHV0b3InIGplIGltZSBmYWpsYSBrb2ppCisgICAgIMW+ZWxpdGUgZGEgbWVuamF0ZS4gIEtvcmlzdGl0ZSBmYWpsIGtvamkgaW1hdGUgcHJhdm8gZGEgbWVuamF0ZS4KKworICAzLiBVYmFjdWp0ZSBpIGJyacWhaXRlIHRla3N0IGthbyB1IHByZXRob2RuaW0gbGVrY2lqYW1hLgorCisgIDQuIFNuaW1pdGUgaXptZW5qZW5pIHRla3N0IGkgaXphxJFpdGUgaXogVmltLWE6ICA6d3EgPEVOVEVSPgorCisgIDUuIFBvbm92byBwb2tyZW5pdGUgdmltdHV0b3IgaSBwcm/EjWl0YWp0ZSByZXppbWUga29qaSBzbGVkaS4KKworICA2LiBQb8WhdG8gcHJvxI1pdGF0ZSBrb3Jha2UgaXpuYWQgaSB1IHBvdHB1bm9zdGkgaWggcmF6dW1ldGU6CisgICAgIGl6dnLFoWl0ZSBpaC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSAxIAorCisKKyAgMS4gS3Vyc29yIHNlIHBvbWVyYSBzdHJlbGljYW1hIGlsaSBwb21vxId1IHRhc3RlcmEgaGprbCAuCisJaCAobGV2bykJaiAoZG9sZSkJayAoZ29yZSkJbCAoZGVzbm8pCisKKyAgMi4gWmEgcG9rcmV0YW5qZSBWaW0tYSBpeiBzaGVsbC1hOiAgdmltIElNRV9GQUpMQSA8RU5URVI+CisKKyAgMy4gSXpsYXo6CTxFU0M+CTpxISA8RU5URVI+IAlzdmUgcHJvbWVuZSBzdSBpemd1YmxqZW5lLgorICAgICAgIElMSToJPEVTQz4JOndxIDxFTlRFUj4gCXByb21lbmUgc3Ugc2HEjXV2YW5lLgorCisgIDQuIEJyaXNhbmplIHpuYWthIG5hIGtvbWUgc2UgbmFsYXppIGt1cnNvcjogIHgKKworICA1LiBVYmFjaXZhbmphIGlsaSBkb2RhdmFuamUgdGVrc3RhOgorCSBpICAgdW5lc2l0ZSB0ZWtzdCA8RVNDPgl1bm9zIGlzcHJlZCBrdXJzb3JhCisJIEEgICB1bmVzaXRlIHRla3N0IDxFU0M+CWRvZGF2YW5qZSBuYSBrcmFqdSByZWRhCisKK05BUE9NRU5BOiAgUHJpdGlza29tIG5hIDxFU0M+IHByZWJhY3VqZXRlIFZpbSB1IE5vcm1hbCBtb2QgaQorICAgICAgICAgICBwcmVraWRhdGUgbmXFvmVsamVudSBpbGkgZGVsaW1pxI1ubyBpenZyxaFlbnUga29tYW5kdS4KKworTmFzdGF2aXRlIHNhIGxla2Npam9tIDIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSAyLjE6IE5BUkVEQkUgQlJJU0FOSkEKKworCisJCSAqKiBPdGt1Y2FqdGUgIGR3ICB6YSBicmlzYW5qZSByZcSNaS4gKioKKworICAxLiBQcml0aXNuaXRlICA8RVNDPiAgZGEgYmlzdGUgYmlsaSBzaWd1cm5pIGRhIHN0ZSB1IE5vcm1hbCBtb2R1LgorCisgIDIuIFBvbWVyaXRlIGt1cnNvciBuYSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKworICAzLiBQb21lcml0ZSBrdXJzb3IgbmEgcG/EjWV0YWsgcmXEjWkga29qdSB0cmViYSBpemJyaXNhdGkuCisKKyAgNC4gT3RrdWNhanRlICBkdyAgZGEgYmlzdGUgdWtsb25pbGkgcmXEjS4KKworTkFQT01FTkE6ICBTbG92byAgZCAgxIdlIHNlIHBvamF2aXRpIG5hIGRudSBla3JhbmEga2FkIGdhIG90a3VjYXRlLiAgVmltIMSNZWthCisJICAgZGEgb3RrdWNhdGUgIHcgLiAgQWtvIGplIHByaWthemFubyBuZWtvIGRydWdvIHNsb3ZvLCBwb2dyZcWhaWxpIHN0ZSB1CisJICAga3VjYW5qdTsgcHJpdGlzbml0ZSA8RVNDPiBpIHBva3XFoWFqdGUgcG9ub3ZvLiAgKEFrbyBzZSBuZSBwb2phdmkKKwkgICBuacWhdGEsIG1vxb5kYSBqZSBpc2tsanXEjWVuYSBvcGNpamEgJ3Nob3djbWQnOiB2aWRpIGxla2NpanUgNi41LikKKworLS0tPiBOZWtlIHJlxI1pIHNtZcWhbm8gbmUgcHJpcGFkYWp1IG5hIHBhcGlyIG92b2ogcmXEjWVuaWNpLgorCisgIDUuIFBvbmF2bGphanRlIGtvcmFrZSAzIGkgNCBkb2sgbmUgaXNwcmF2aXRlIHJlxI1lbmljdSwgcGEKKyAgICAgcHJlxJFpdGUgbmEgbGVrY2lqdSAyLjIuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lqYSAyLjI6IEpPxaAgQlJJU0FOSkEKKworCisgICAgICAgKiogT3RrdWNhanRlICBkJCAgemEgYnJpc2FuamUgem5ha292YSBkbyBrcmFqYSByZWRhLiAqKgorCisgIDEuIFByaXRpc25pdGUgIDxFU0M+ICBkYSBiaXN0ZSBiaWxpIHNpZ3VybmkgZGEgc3RlIHUgTm9ybWFsIG1vZHUuCisKKyAgMi4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5hxI1lbiBzYSAgLS0tPi4KKworICAzLiBQb21lcml0ZSBrdXJzb3IgZG8ga3JhamEgaXNwcmF2bm9nIGRlbGEgcmXEjWVuaWNlCisgICAgIChQT1NMRSBwcnZlIC4gKS4KKworICA0LiBPdGt1Y2FqdGUgIGQkICB6YSBicmlzYW5qZSBvc3RhdGthIHJlZGEuCisKKy0tLT4gTmVrbyBqZSB1bmVvIGtyYWogb3ZvZyByZWRhIGR2YXB1dC4ga3JhaiBvdm9nIHJlZGEgZHZhcHV0LgorCisgIDUuIFByZcSRaXRlIG5hIGxla2NpanUgMi4zIHphIHBvZHJvYm5pamUgb2JqYcWhbmplbmplLgorCisKKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgIExla2NpamEgMi4zOiBPIE9QRVJBVE9SSU1BIEkgUE9LUkVUSU1BCisKKworICBNbm9nZSBrb21hbmRlIHphIGl6bWVudSB0ZWtzdGEgc2FzdG9qZSBzZSBvZCBvcGVyYXRvcmEgaSBwb2tyZXRhLgorICBPYmxpayBrb21hbmRlIGJyaXNhbmphIHNhICBkICBvcGVyYXRvcm9tIGplIHNsZWRlxIdpOgorCisgIAlkICAgcG9rcmV0CisKKyAgUHJpIMSNZW11IGplOgorICAgIGQgICAgICAtIG9wZXJhdG9yIGJyaXNhbmphLgorICAgIHBva3JldCAtIG9ubyBuYSDEjWVtdSDEh2Ugc2Ugb3BlcmFjaWphIGl6dnLFoWF2YXRpIChvcGlzYW5vIHUgbmFzdGF2a3UpLgorCisgIEtyYXRhayBzcGlzYWsgcG9rcmV0YToKKyAgICB3IC0gc3ZlIGRvIHBvxI1ldGthIHNsZWRlxIdlIHJlxI1pLCBORSBVS0xKVcSMVUpVxIZJIHBydm8gc2xvdm8uCisgICAgZSAtIHN2ZSBkbyBrcmFqYSB0ZWt1xIdlIHJlxI1pLCBVS0xKVcSMVUpVxIZJIHBvc2xlZG5qZSBzbG92by4KKyAgICAkIC0gc3ZlIGRvIGtyYWplIHJlZGEsIFVLTEpVxIxVSlXEhkkgcG9zbGVkbmplIHNsb3ZvLgorCisgIEt1Y2FuamVtICBkZSAgYnJpc2HEh2Ugc2UgdGVrc3Qgb2Qga3Vyc29yYSBkbyBrcmFqYSByZcSNaS4KKworTkFQT01FTkE6ICBQcml0aXNrb20gc2FtbyBuYSB0YXN0ZXIgcG9rcmV0YSBkb2sgc3RlIHUgTm9ybWFsIG1vZHUsIGJlegorICAgICAgICAgICBvcGVyYXRvcmEsIGt1cnNvciBzZSBwb21lcmEga2FvIMWhdG8gamUgb3Bpc2Fuby4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgTGVrY2lqYSAyLjQ6IEtPUknFoMSGRU5KRSBCUk9KQU5KQSBaQSBQT0tSRVRFCisKKworICAqKiBVbm/FoWVuamVtIG5la29nIGJyb2phIHByZSBwb2tyZXRhLCBwb2tyZXQgc2UgaXp2csWhYXZhIHRhaiBicm9qIHB1dGEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5hxI1lbiBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSAgMncgIGRhIHBvbWVyaXRlIGt1cnNvciBkdmUgcmXEjWkgbmFwcmVkLgorCisgIDMuIE90a3VjYWp0ZSAgM2UgIGRhIHBvbWVyaXRlIGt1cnNvciBuYSBrcmFqIHRyZcSHZSByZcSNaSBuYXByZWQuCisKKyAgNC4gT3RrdWNhanRlICAwICAobnVsdSkgZGEgcG9tZXJpdGUga3Vyc29yIG5hIHBvxI1ldGFrIHJlZGEuCisKKyAgNS4gUG9ub3ZpdGUga29yYWtlIDIgaSAzIHMgbmVraW0gZHJ1Z2ltIGJyb2pldmltYS4KKworLS0tPiBSZcSNZW5pY2Egc2EgcmXEjWltYSBwbyBrb2pvaiBtb8W+ZXRlIHBvbWVyYXRpIGt1cnNvci4KKworICA2LiBQcmXEkWl0ZSBuYSBsZWtjaWp1IDIuNS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgTGVrY2lqYSAyLjU6IEtPUknFoMSGRU5KRSBCUk9KQU5KQSBaQSBWRcSGRSBCUklTQU5KRQorCisKKyAgKiogVW5vxaFlbmplIG5la29nIGJyb2phIHMgb3BlcmF0b3JvbSBwb25hdmxqYSBvcGVyYXRvciB0YWogYnJvaiBwdXRhLiAqKgorCisgIFUga29tYmluYWNpamkgb3BlcmF0b3JhIGJyaXNhbmphIHMgcG9rcmV0aW1hIHNwb21lbnV0aW0gaXpuYWQKKyAgbW/FvmV0ZSB1bmV0aSBicm9qIHByZSBwb2tyZXRhIGRhIGJpc3RlIGl6YnJpc2FsaSB2acWhZSB6bmFrb3ZhOgorCisJIGQgICBicm9qICAgcG9rcmV0CisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBydm8gc2xvdm8gdSByZcSNaSBzIFZFTElLSU0gU0xPVklNQSB1IHJlZHUKKyAgICAgb3puYcSNZW5vbSBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSAgZDJ3ICBkYSBpemJyacWhZXRlIGR2ZSByZcSNaSBzYSBWRUxJS0lNIFNMT1ZJTUEKKworICAzLiBQb25vdml0ZSBrb3Jha2UgMSBpIDIgc2EgcmF6bGnEjWl0aW0gYnJvamV2aW1hIGRhIGl6YnJpxaFldGUKKyAgICAgdXphc3RvcG5lIHJlxI1pIHNhIFZFTElLSU0gU0xPVklNQSBrb3JpxaHEh2VuamVtIHNhbW8gamVkbmUga29tYW5kZS4KKworLS0tPiBvdmFqIEFCQ8SMxIYgRMSQRSByZWQgRkdISSBKSyBMTU4gT1AgcyByZcSNaW1hIGplIFJTxaAgVFVWWsW9IGlzcHJhdmxqZW4uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDIuNjogT1BFUkFDSUpFIE5BRCBSRURPVklNQQorCisKKwkgICAgICAgKiogT3RrdWNhanRlICBkZCAgemEgYnJpc2FuamUgY2Vsb2cgcmVkYS4gKioKKworICBaYm9nIHXEjWVzdGFsb3N0aSBicmlzYW5qYSBjZWxpaCByZWRvdmEsIGF1dG9yaSBWaS1qYSBvZGx1xI1pbGkgc3UgZGEKKyAgamUgbGFrxaFlIGJyaXNhdGkgcmVkb3ZlIGFrbyBzZSBvdGt1Y2EgIGQgIGR2YXB1dC4KKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgZHJ1Z2kgcmVkIHUgZG9uam9qIHN0cm9maS4KKyAgMi4gT3RrdWNhanRlICBkZCAgZGEgZ2EgaXpicmnFoWV0ZS4KKyAgMy4gUG9tZXJpdGUga3Vyc29yIG5hIMSNZXR2cnRpIHJlZC4KKyAgNC4gT3RrdWNhanRlICAgMmRkICAgZGEgYmlzdGUgaXpicmlzYWxpIGR2YSByZWRhLgorCistLS0+ICAxKSAgU2VkbG8gbWkgamUgb2QgbWFyYW1lLAorLS0tPiAgMikgIGJsYXRvIG5hIHN2ZSBzdHJhbmUsCistLS0+ICAzKSAgdXpkYSBvZCBrYW5hcGEsCistLS0+ICA0KSAgYXV0byBtaSBqZSBvdmRlLAorLS0tPiAgNSkgIHNhdG92aSBwb2thenVqdSB2cmVtZSwKKy0tLT4gIDYpICBhIGJpxI0gbWkgamUgb2Qgb8SNaW5hCistLS0+ICA3KSAgcHJlYmlqZW5hIMWhdGFwYS4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgTGVrY2lqYSAyLjc6IFBPTknFoFRBVkFOSkUgUFJPTUVOQQorCisKKyAgKiogUHJpdGlzbml0ZSAgdSAgemEgcG9uacWhdGF2YW5qZSBwb3NsZWRuamUga29tYW5kZSwgIFUgIHphIGNlbyByZWQuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5hxI1lbiBzYSAtLS0+IGkgcG9zdGF2aXRlIGdhIG5hIG1lc3RvCisgICAgIHBydmUgZ3JlxaFrZS4KKyAgMi4gT3RrdWNhanRlICB4ICBkYSBpemJyacWhZXRlIHBydmkgbmXFvmVsamVuaSB6bmFrLgorICAzLiBPdGt1Y2FqdGUgIHUgIGRhIHBvbmnFoXRpdGUgcG9zbGVkbmp1IGl6dnLFoWVudSBrb21hbmR1LgorICA0LiBTYWQgaXNwcmF2aXRlIHN2ZSBncmXFoWtlIHUgcmVkdSBrb3Jpc3RlxIdpIGtvbWFuZHUgIHggIC4KKyAgNS4gT3RrdWNhanRlIHZlbGlrbyAgVSAgZGEgYmlzdGUgdnJhdGlsaSBzYWRyxb5haiByZWRhIHUgcHJ2b2JpdG5vCisgICAgIHN0YW5qZS4KKyAgNi4gT25kYSBvdGt1Y2FqdGUgIHUgIG5la29saWtvIHB1dGEgZGEgYmlzdGUgcG9uacWhdGlsaSAgVQorICAgICBpIHByZXRob2RuZSBrb21hbmRlLgorICA3LiBTYWQgb3RrdWNhanRlIENUUkwtUiAoZHLFvmXEh2kgIENUUkwgIGRvayBwcml0aXNrYXRlIFIpCisgICAgIG5la29saWtvIHB1dGEgZGEgYmlzdGUgdnJhdGlsaSBpem1lbmUgKHBvbmnFoXRpbGkgcG9uacWhdGF2YW5qYSkuCisKKy0tLT4gSWlpc3NwcmF2aXRlIGdyZcWha2UgdXUgb3Z2b20gcmVkdSBpaSBwb29uacWhdGl0ZWVlIGloLgorCisgIDguIE92byBzdSB2ZW9tYSBrb3Jpc25lIGtvbWFuZGUuICBQcmXEkWl0ZSBuYSByZXppbWUgbGVrY2lqZSAyLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgUkVaSU1FIGxla2NpamUgMgorCisKKyAgMS4gQnJpc2FuamUgb2Qga3Vyc29yYSBkbyBzbGVkZcSHZSByZcSNaToJZHcKKyAgMi4gQnJpc2FuamUgb2Qga3Vyc29yYSBkbyBrcmFqYSByZWRhOgkJZCQKKyAgMy4gQnJpc2FuamUgY2Vsb2cgcmVkYToJCQlkZAorCisgIDQuIFphIHBvbmF2bGphbmplIHBva3JldGEgcHJldGhvZG5vIHVuZXNpdGUgYnJvajogIDJ3CisgIDUuIE9ibGlrIGtvbWFuZGUgemEgaXptZW51OgorICAgICAgICAgICAgICAgb3BlcmF0b3IgICBbYnJval0gICBwb2tyZXQKKyAgICAgZ2RlIGplOgorICAgICAgIG9wZXJhdG9yIC0gxaF0YSB1cmFkaXRpLCByZWNpbW8gIGQgIHphIGJyaXNhbmplCisgICAgICAgW2Jyb2pdICAgLSBuZW9iYXZlemFuIGJyb2ogcG9uYXZsamFuamEgcG9rcmV0YQorICAgICAgIHBva3JldCAgIC0ga3JldGFuamUgcG8gdGVrc3R1IG5hIGtvbWUgc2UgcmFkaSwKKyAgICAgICAgICAgICAgICAgIGthbyDFoXRvIGplOiB3IChyZcSNKSwgJCAoa3JhaiByZWRhKSwgaXRkLgorCisgIDYuIFBvbWVyYW5qZSBrdXJzb3JhIG5hIHBvxI1ldGFrIHJlZGE6ICAwCisKKyAgNy4gWmEgcG9uacWhdGF2YW5qZSBwcmV0aG9kbmloIGl6bWVuYSwgcHJpdGlzbml0ZToJdSAgKG1hbG8gdSkKKyAgICAgWmEgcG9uacWhdGF2YW5qZSBzdmloIHByb21lbmEgdSByZWR1LCBwcml0aXNuaXRlOglVICAodmVsaWtvIFUpCisgICAgIFphIHZyYcSHYW5qYSBwcm9tZW5hLCBvdGt1Y2FqdGU6CQkJQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgICAgTGVrY2lqYSAzLjE6IEtPTUFOREEgUE9TVEFWTEpBTkpBCisKKworICAqKiBPdGt1Y2FqdGUgIHAgIGRhIHBvc3Rhdml0ZSBwcmV0aG9kbm8gaXpicmlzYW4gdGVrc3QgaXphIGt1cnNvcmEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBydmkgc2xlZGXEh2kgcmVkIG96bmHEjWVuIHNhIC0tLT4uCisKKyAgMi4gT3RrdWNhanRlICBkZCAgZGEgaXpicmnFoWV0ZSByZWQgaSBzbWVzdGl0ZSBnYSB1IFZpbSByZWdpc3Rhci4KKworICAzLiBQb21lcml0ZSBrdXJzb3IgbmEgcmVkIGMpLCBJWk5BRCBtZXN0YSBnZGUgdHJlYmEgcG9zdGF2aXRpIGl6YnJpc2FuIHJlZC4KKworICA0LiBPdGt1Y2FqdGUgIHAgIGRhIHBvc3Rhdml0ZSByZWQgaXNwb2Qga3Vyc29yYS4KKworICA1LiBQb25hdmxqYWp0ZSBrb3Jha2UgMiBkbyA0IGRhIGJpc3RlIHBvc3RhdmlsaSBzdmUgbGluaWplIHUgcHJhdmlsbm9tCisgICAgIHJlZG9zbGVkdS4KKworLS0tPiBkKSBwcmViaWplbmEgxaF0YXBhLgorLS0tPiBiKSB1emRhIG9kIGthbmFwYSwKKy0tLT4gYykgYSBiacSNIG1pIGplIG9kIG/EjWluYQorLS0tPiBhKSBTZWRsbyBtaSBqZSBvZCBtYXJhbWUsCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICBMZWtjaWphIDMuMjogS09NQU5EQSBaQU1FTkUKKworCisgICAgICAqKiBPdGt1Y2FqdGUgIHJ4ICBkYSB6YW1lbml0ZSB6bmFrIGlzcG9kIGt1cnNvcmEgc2xvdm9tICB4IC4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZcSHaSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKworICAyLiBQb21lcml0ZSBrdXJzb3IgdGFrbyBkYSBzZSBuYWxhemkgbmEgcHJ2b2ogZ3JlxaFjaS4KKworICAzLiBPdGt1Y2FqdGUgIHIgIGkgb25kYSB6bmFrIGtvamkgdHJlYmEgZGEgdHUgc3RvamkuCisKKyAgNC4gUG9uYXZsamFqdGUga29yYWtlIDIgaSAzIHN2ZSBkb2sgcHJ2aSByZWQgbmUgYnVkZQorICAgICBpc3RpIGthbyBkcnVnaS4KKworLS0tPiAgS2VkaSBqdSBvdmVqIHJlZCB1Z2HFoWVuLCBuYWtvIGplIHByb3RyZXNhbyBwdXN0YcWhbmUgdGVzdGVyZSEKKy0tLT4gIEthZGEgamUgb3ZhaiByZWQgdW5vxaFlbiwgbmVrbyBqZSBwcml0aXNrYW8gcG9ncmXFoW5lIHRhc3RlcmUhCisKKyAgNS4gUHJlxJFpdGUgbmEgbGVrY2lqdSAzLjIuCisKK05BUE9NRU5BOiAgU2V0aXRlIHNlIGRhIHRyZWJhIGRhIHXEjWl0ZSB2ZcW+YmFuamVtLCBuZSBwYW3Eh2VuamVtLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgTGVrY2lqYSAzLjM6IE9QRVJBVE9SIElaTUVORQorCisKKwkgICoqIFphIGl6bWVudSB0ZWtzdGEgZG8ga3JhamEgcmXEjWksIG90a3VjYWp0ZSAgY2UgIC4qKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZpIHNsZWRlxIdpIHJlZCBvem5hxI1lbiBzYSAtLS0+LgorCisgIDIuIFBvc3Rhdml0ZSBrdXJzb3IgbmEgIGEgIHUgIHJha2R1ci4KKworICAzLiBPdGt1Y2FqdGUgIGNlICBpIGlzcHJhdml0ZSByZcSNICh1IG92b20gc2x1xI1hanUgb3RrdWNhanRlICBlZCAgKS4KKworICA0LiBQcml0aXNuaXRlIDxFU0M+IGkgcG9tZXJpdGUga3Vyc29yIG5hIHNsZWRlxIdpIHpuYWsga29qaQorICAgICB0cmViYSBpc3ByYXZpdGkuCisKKyAgNS4gUG9uYXZsamFqdGUga29yYWtlIDMgaSA0IHN2ZSBkb2sgcHJ2YSByZcSNZW5pY2EgbmUgYnVkZSBpc3RhCisgICAgIGthbyBkcnVnYS4KKworLS0tPiBPdmFqIHJha2R1ciBpbWEgbmVrb2xpa28gcmVqZ2Ega29qZSB0cmVmbGphIGlzcHJwaWthdGkgb3BlcmFncm9tIGl6bWVuZS4KKy0tLT4gT3ZhaiByZWQgaW1hIG5la29saWtvIHJlxI1pIGtvamUgdHJlYmEgaXNwcmF2aXRpIG9wZXJhdG9yb20gaXptZW5lLgorCitVb8SNaXRlIGRhICBjZSAgYnJpxaFlIHJlxI0gaSBwb3N0YXZsamEgZWRpdG9yIHUgSW5zZXJ0IG1vZC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJICAgICAgICAgTGVrY2lqYSAzLjQ6IERBTEpFIElaTUVORSBVUE9UUkVCT00gYworCisKKyAgICAqKiBLb21hbmRhIGl6bWVuZSBzZSBrb3Jpc3RpIHNhIGlzdGltIHBva3JldGltYSBrYW8gaSBicmlzYW5qZS4gKioKKworICAxLiBPcGVyYXRvciBpem1lbmUgc2Uga29yaXN0aSBuYSBpc3RpIG5hxI1pbiBrYW8gaSBvcGVyYXRvciBicmlzYW5qYToKKworICAgICAgICAgYyAgICBbYnJval0gICBwb2tyZXQKKworICAyLiBQb2tyZXRpIHN1IGlzdGksIHJlY2ltbzogICB3IChyZcSNKSBpICAkIChrcmFqIHJlZGEpLgorCisgIDMuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZpIHNsZWRlxIdpIHJlZCBvem5hxI1lbiBzYSAtLS0+LgorCisgIDQuIFBvbWVyaXRlIGt1cnNvciBuYSBwcnZ1IGdyZcWha3UuCisKKyAgNS4gT3RrdWNhanRlICBjJCAgaSB1bmVzaXRlIG9zdGF0YWsgcmVkYSB0YWtvIGRhIGJ1ZGUgaXN0aSBrYW8KKyAgICAgZHJ1Z2kgcmVkLCBwYSBwcml0aXNuaXRlIDxFU0M+LgorCistLS0+IEtyYWogb3ZvZyByZWRhIHRyZWJhIGl6bWVuaXRpIHRha28gZGEgaXpnbGVkYSBrYW8gcmVkIGlzcG9kLgorLS0tPiBLcmFqIG92b2cgcmVkYSB0cmViYSBpc3ByYXZpdGkga29yacWhxIdlbmplbSBjJCBrb21hbmRlLgorCitOQVBPTUVOQTogIFphIGlzcHJhdmxqYW5qZSBncmXFoWFrYSBtb8W+ZXRlIGtvcmlzdGl0aSBCYWNrc3BhY2UgLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSAzCisKKworICAxLiBaYSBwb3N0YXZsamFuamUgdGVrc3RhIGtvamkgc3RlIHVwcmF2byBpemJyaXNhbGksIHByaXRpc25pdGUgIHAgLiBPdm8KKyAgICAgcG9zdGF2bGphIHRla3N0IElaQSBrdXJzb3JhIChha28gamUgYmlvIGl6YnJpc2FuIGplZGFuIGlsaSB2acWhZSByZWRvdmEKKyAgICAgc2FkcsW+YWogxIdlIGRvxIdpIG5hIHJlZCBpc3BvZCBrdXJzb3JhKS4KKworICAyLiBaYSB6YW1lbnUgem5ha2EgbmEga29tZSBzZSBuYWxhemkga3Vyc29yLCBwcml0aXNuaXRlICByICBpIG9uZGEKKyAgICAgxb5lbGplbmkgem5hay4KKworICAzLiBPcGVyYXRvciBpem1lbmUgZG96dm9samF2YSBwcm9tZW51IHRla3N0YSBvZCBrdXJzb3JhIGRvIHBvemljaWplIGdkZQorICAgICBzZSB6YXZyxaFhdmEgcG9rcmV0LiAgUHJpbWVyYSByYWRpLCBrdWNhanRlICBjZSAgemEgaXptZW51IG9kIGt1cnNvcmEgZG8KKyAgICAga3JhamEgcmXEjWksIGlsaSAgYyQgIHphIGl6bWVudSBvZCBrdXJzb3JhIGRvIGtyYWphIHJlZGEuCisKKyAgNC4gT2JsaWsgb3BlcmFjaWplIGl6bWVuZSBqZToKKworCSBjICAgW2Jyb2pdICAgcG9rcmV0CisKK1ByZcSRaXRlIG5hIG5hcmVkbnUgbGVrY2lqdS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCSAgICAgIExla2NpamEgNC4xOiBQT1pJQ0lKQSBLVVJTT1JBIEkgU1RBVFVTIEZBSkxBCisKKyAgKiogUHJpdGlzbml0ZSBDVFJMLUcgemEgcHJpa2F6IHBvemljaWplIGt1cnNvcmEgdSB0ZWtzdHUgaSBzdGF0dXMgZmFqbGEuCisgICAgIFByaXRpc25pdGUgIEcgIHphIHBvbWVyYW5qZSBrdXJzb3JhIG5hIG5la2kgcmVkIHUgdGVrc3R1LiAqKgorCitOQVBPTUVOQTogIFByb8SNaXRhanRlIGNlbHUgbGVrY2lqdSBwcmUgaXp2b8SRZW5qYSBiaWxvIGtvZyBrb3Jha2EhIQorCisgIDEuIERyxb5pdGUgdGFzdGVyIENUUkwgaSBwcml0aXNuaXRlICBnIC4gIE92byB6b3ZlbW8gQ1RSTC1HLgorICAgICBFZGl0b3IgxIdlIG5hIGRudSBla3JhbmEgaXNwaXNhdGkgcG9ydWt1IHNhIGltZW5vbSBmYWpsYSBpIHBvemljaWpvbQorICAgICBrdXJzb3JhIHUgdGVrc3R1LiAgWmFwYW10aXRlIGJyb2ogcmVkYSB6YSAzLiBrb3Jhay4KKworTkFQT01FTkE6ICBVIGRvbmplbSBkZXNub20gdWdsdSBtb8W+ZSBzZSB2aWRldGkgcG96aWNpanUga3Vyc29yYSBha28gamUKKyAgICAgICAgICAgdWtsanXEjWVuYSBvcGNpamEgJ3J1bGVyJyAodmlkaSAgOmhlbHAgcnVsZXIgIGlsaSBsZWtjaWp1IDYuNS4pCisKKyAgMi4gUHJpdGlzbml0ZSAgRyAgemEgcG9tZXJhbmplIGt1cnNvcmEgbmEga3JhaiB0ZWtzdGEuCisgICAgIFByaXRpc25pdGUgIDFHICBpbGkgIGdnICB6YSBwb21yYW5qZSBrdXJzb3JhIG5hIHBvxI1ldGFrIHRla3N0YS4KKworICAzLiBPdGt1Y2FqdGUgYnJvaiByZWRhIG5hIGtvbWUgc3RlIG1hbG9wcmUgYmlsaSBpIG9uZGEgIEcgLiAgS3Vyc29yCisgICAgIMSHZSBzZSB2cmF0aXRpIG5hIHJlZCBuYSBrb21lIGplIGJpbyBrYWQgc3RlIG90a3VjYWxpIENUUkwtRy4KKworICA0LiBBa28gc3RlIHNwcmVtbmksIGl6dnLFoWl0ZSBrb3Jha2Ugb2QgMSBkbyAzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIExla2NpamEgNC4yOiBLT01BTkRFIFBSRVRSQcW9SVZBTkpBCisKKyAgICAgICAqKiBPdGt1Y2FqdGUgIC8gIGkgb25kYSBpenJheiBrb2ppIMW+ZWxpdGUgZGEgcG90cmHFvml0ZS4gKioKKworICAxLiBVIE5vcm1hbCBtb2R1IG90a3VjYWp0ZSB6bmFrICAvIC4gIFByaW1pZXRpdGUgZGEgc2Ugem5hayBwb2phdmlvCisgICAgIHphamVkbm8gc2Ega3Vyc29yb20gbmEgZG51IGVrcmFuYSBrYW8gaSBrb2Qga29tYW5kZSAgOiAuCisKKyAgMi4gU2FkYSBvdGt1Y2FqdGUgJ2dycnJlxaFrYScgPEVOVEVSPi4gIChCZXogcmF6bWFrYSBpIG5hdm9kbmlrYS4pCisgICAgIFRvIGplIHJlxI0ga29qdSB0cmHFvml0ZS4KKworICAzLiBaYSBwb25vdm5vIHRyYcW+ZW5qZSBpc3RvZyBpenJhemEsIG90a3VjYWp0ZSAgbiAuCisgICAgIFphIHRyYcW+ZW5qZSBpc3RvZyBpenJhemEgdSBzdXByb3Rub20gc21lcnUsIG90a3VjYWp0ZSAgTiAuCisKKyAgNC4gWmEgdHJhxb5lbmplIGl6cmF6YSB1bmF0cmFnLCBrb3Jpc3RpdGUgID8gIHVtZXN0byAgLyAuCisKKyAgNS4gWmEgcG92cmF0YWsgbmEgcHJldGhvZG51IHBvemljaWp1IG90a3VjYWp0ZSBDVFJMLU8gKGRyxb5pdGUgQ1RSTCBkb2sKKyAgICAgcHJpdGlza2F0ZSBPICkuICBQb25hdmxqYWp0ZSB6YSByYW5pamUgcG96aWNpamUuICBDVFJMLUkgaWRlIG5hcHJlZC4KKworLS0tPiAiZ3JycmXFoWthIiBqZSBwb2dyZcWhbm87IHVtZXN0byBncnJyZcWha2EgdHJlYmEgZGEgc3RvamkgZ3JlxaFrYS4KKworTkFQT01FTkE6ICBBa28gcHJldHJhZ2EgZG/EkWUgZG8ga3JhamEgdGVrc3RhIHRyYcW+ZW5qZSDEh2Ugc2UgbmFzdGF2aXRpIG9kCisJICAgbmplZ292b2cgcG/EjWV0a2Egb3NpbSBha28gamUgb3BjaWphICd3cmFwc2NhbicgaXNrbGp1xI1lbmEuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICBMZWtjaWphIDQuMzogVFJBxb1FTkpFIFBBUkEgWkFHUkFERQorCisKKwkqKiBPdGt1Y2FqdGUgICUgIHphIG5hbGHFvmVuamUgcGFyYSApLCBdIGlsaSB9IC4gKioKKworICAxLiBQb3N0YXZpdGUga3Vyc29yIG5hIGJpbG8ga29qdSBvZCAgKCAsICBbICBpbGkgIHsKKyAgICAgb3R2b3JlbmloIHphZ3JhZGEgdSByZWR1IG96bmHEjWVub20gc2EgLS0tPi4KKworICAyLiBPdGt1Y2FqdGUgem5hayAgJSAuCisKKyAgMy4gS3Vyc29yIMSHZSBzZSBwb21lcml0aSBuYSBvZGdvdmFyYWp1xId1IHphdHZvcmVudSB6YWdyYWR1LgorCisgIDQuIE90a3VjYWp0ZSAgJSAgZGEgcG9tZXJpdGUga3Vyc29yIG5hIHBydnUgemFncmFkdSB1IHBhcnUuCisKKyAgICAgIDUuIFBvbWVyaXRlIGt1cnNvciBuYSBuZWt1IG9kICgsKSxbLF0seyBpbGkgfSBpIHBvbm92aXRlIGtvbWFuZHUgICUgLgorCistLS0+IFJlZCAoIHRlc3RpcmFuamEgb2JpxI1uaWggKCBbIHVnbGFzdGloIF0gaSB7IHZpdGnEjWFzdGloIH0gemFncmFkYS4pKQorCisKK05BUE9NRU5BOiAgVnJsbyBrb3Jpc25vIHUgaXNwcmF2bGphbmp1IGtvZGEgc2EgcmFzcGFyZW5pbSB6YWdyYWRhbWEhCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIExla2NpamEgNC40OiBLT01BTkRBIFpBTUVORQorCisKKyAgICAgICAqKiBPdGt1Y2FqdGUgIDpzL3N0YXJvL25vdm8vZyAgZGEgemFtZW5pdGUgJ3N0YXJvJyB6YSAnbm92bycuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHJlZCBvem5hxI1lbiBzYSAtLS0+LgorCisgIDIuIE90a3VjYWp0ZSAgOnMvcmRpL3JpLyA8RU5URVI+IC4gIFByaW1ldGl0ZSBkYSBvdmEga29tYW5kYSB6YW1lbmp1amUKKyAgICAgc2FtbyBwcnZvICJyZGkiIHUgcmVkdS4KKworICAzLiBPdGt1Y2FqdGUgIDpzL3JkaS9yaS9nIC4gIERvZGF2YW5qZSBvcGNpamUgIGcgIHpuYcSNaSBkYSDEh2Ugc2Uga29tYW5kYQorICAgICBpenZyxaFpdGkgdSBjZWxvbSByZWR1LCB6YW1lbm9tIHN2aWggcG9qYXZhIG5pemEgInJkaSIuCisKKy0tLT4gcmRpYmEgcmRpYmkgZ3JkaXplIHJlcC4KKworICA0LiBaYSB6YW1lbnUgc3ZpaCBpenJhemEgaXptZcSRdSBuZWthIGR2YSByZWRhLAorICAgICBvdGt1Y2FqdGUgOiMsI3Mvc3Rhcm8vbm92by9nICAgZ2RlIHN1ICMsIyBrcmFqbmppIGJyb2pldmkgcmVkb3ZhIHUgb3BzZWd1IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSBrb21lIMSHZSBzZSBvYmF2aXRpIHphbWVuYS4KKyAgICAgT3RrdWNhanRlIDolcy9zdGFyby9ub3ZvL2cgICAgIHphIHphbWVudSBzdmloIGl6cmF6YSB1IGNlbG9tIHRla3N0dS4KKyAgICAgT3RrdWNhanRlIDolcy9zdGFyby9ub3ZvL2djICAgIHphIG5hbGHFvmVuamUgc3ZpaCBpenJhemEgdSB0ZWtzdHUgaQorICAgICAJCQkgICAgICAgICAgICBwb3R2cmR1IHphbWVuZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA0CisKKworICAxLiBDVFJMLUcgIHByaWthenVqZSBwb3ppY2lqdSBrdXJzb3JhIHUgdGVrc3R1IGkgc3RhdHVzIGZhamxhLgorICAgICAgICAgICAgIEcgIHBvbWVyYSBrdXJzb3IgbmEga3JhaiB0ZWtzdGEuCisgICAgIGJyb2ogICAgRyAgcG9tZXJhIGt1cnNvciBuYSBuYXZlZGVuaSByZWQuCisgICAgICAgICAgICBnZyAgcG9tZXJhIGt1cnNvciBuYSBwcnZpIHJlZCB0ZWtzdGEuCisKKyAgMi4gS3VjYW5qZW0gIC8gIHNhIGl6cmF6b20gdGFqIGl6cmF6IHNlIHRyYcW+aSBVTkFQUkVELgorICAgICBLdWNhbmplbSAgPyAgc2EgaXpyYXpvbSB0YWogaXpyYXogc2UgdHJhxb5pIFVOQVpBRC4KKyAgICAgUG9zbGUga29tYW5kZSB0cmHFvmVuamEga29yaXN0aXRlICBuICB6YSBuYWxhxb5lbmplIGl6cmF6YSB1IGlzdG9tCisgICAgIHNtZXJ1LCBhICBOICB6YSBuYWxhxb5lbmplIHUgc3Vwcm90bm9tIHNtZXJ1LgorICAgICBDVFJMLU8gdnJhxIdhIGt1cnNvciBuYSBwcmV0aG9kbnUgcG96aWNpanUsIGEgQ1RSTC1JIG5hIG5hcmVkbnUuCisKKyAgMy4gS3VjYW5qZW0gICUgIGthZCBqZSBrdXJzb3IgbmEgemFncmFkaSBvbiBzZSBwb21lcmEgbmEgbmplbiBwYXIuCisKKyAgNC4gWmEgemFtZW51IHBydm9nIGl6cmF6YSBzdGFybyB6YSBpenJheiBub3ZvICAgICAgICAgICAgOnMvc3Rhcm8vbm92by8KKyAgICAgWmEgemFtZW51IHN2aWggaXpyYXphIHUgY2Vsb20gcmVkdSAgICAgICAgICAgICAgICAgICAgOnMvc3Rhcm8vbm92by9nCisgICAgIFphIHphbWVudSBzdmloIGl6cmF6YSB1IG9wc2VndSBsaW5pamEgIywjICAgICAgICAgICAgIDojLCNzL3N0YXJvL25vdm8vZworICAgICBaYSB6YW1lbnUgdSBjZWxvbSB0ZWtzdHUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6JXMvc3Rhcm8vbm92by9nCisgICAgIFphIHBvdHZyZHUgc3Zha2UgemFtZW5lIGRvZGFqdGUgJ2MnCQkgICA6JXMvc3Rhcm8vbm92by9nYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrY2lqYSA1LjE6IElaVlLFoEFWQU5KRSBTUE9MSkHFoE5KSUggS09NQU5ESQorCisKKyAgKiogT3RrdWNhanRlICA6ISAgcGEgc3BvbGphxaFuanUga29tYW5kdSBrb2p1IMW+ZWxpdGUgZGEgaXp2csWhaXRlLiAqKgorCisgIDEuIE90a3VjYWp0ZSBwb3puYXR1IGtvbWFuZHUgIDogIGRhIGJpc3RlIG5hbWVzdGlsaSBrdXJzb3IgbmEgZG5vCisgICAgIGVrcmFuYS4gIFRpbWUgb21vZ3XEh2F2YXRlIHVub3Mga29tYW5kZSB1IGtvbWFuZG5vaiBsaW5pamkgZWRpdG9yYS4KKworICAyLiBPdGt1Y2FqdGUgem5hayAgISAgKHV6dmnEjW5paykuICBPdmltZSBvbW9ndcSHYXZhdGUKKyAgICAgaXp2csWhYXZhbmplIGJpbG8ga29qZSBzcG9samHFoW5qZSBrb21hbmRlLgorCisgIDMuIEthbyBwcmltZXIgb3RrdWNhanRlICAgbHMgICBwb3NsZSAhIGkgcHJpdGlzbml0ZSA8RU5URVI+LiAgT3ZvIMSHZQorICAgICBwcmlrYXphdGkgc2FkcsW+YWogZGlyZWt0b3JpanVtYSwga2FvIGRhIHN0ZSBuYSBrb21hbmRub20gcHJvbXB0dS4KKyAgICAgT3RrdWNhanRlICAgOiFkaXIgICBha28gICA6IWxzICAgbmUgcmFkaS4KKworTkFQT01FTkE6ICBOYSBvdmFqIG5hxI1pbiBtb2d1xIdlIGplIGl6dnLFoWl0aSBiaWxvIGtvanUgc3BvbGphxaFuanUga29tYW5kdSwKKyAgICAgICAgICAgemFqZWRubyBzYSBuamVuaW0gYXJndW1lbnRpbWEuCisKK05BUE9NRU5BOiAgU3ZlICA6ICBrb21hbmRlIHNlIGl6dnLFoWF2YWp1IHBvxaF0byBwcml0aXNuZXRlIDxFTlRFUj4gLgorCSAgIFUgZGFsamVtIHRla3N0dSB0byBuZcSHZW1vIHV2ZWsgbmFwb21pbmphdGkuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExla2NpamEgNS4yOiBWScWgRSBPIFNOSU1BTkpVIEZBSkxPVkEKKworICAgICAgICAgICAqKiBaYSBzbmltYW5qZSBwcm9tZW5hLCBvdGt1Y2FqdGUgIDp3IElNRV9GQUpMQSAuICoqCisKKyAgMS4gT3RrdWNhanRlICA6IWRpciAgaWxpICA6IWxzICB6YSBwcmVnbGVkIHNhZHLFvmFqYSBkaXJla3RvcmlqdW1hLgorICAgICBWZcSHIHpuYXRlIGRhIG1vcmF0ZSBwcml0aXNudXRpIDxFTlRFUj4gcG9zbGUgdG9nYS4KKworICAyLiBJemFiZXJpdGUgaW1lIGZhamxhIGtvamkgam/FoSBuZSBwb3N0b2ppLCBucHIuIFRFU1QuCisKKyAgMy4gT3RrdWNhanRlOgkgOncgVEVTVCAgIChnZGUgamUgVEVTVCBpbWUga29qZSBzdGUgaXphYnJhbGkuKQorCisgIDQuIFRpbWUgxIdldGUgc25pbWl0aSBjZW8gZmFqbCAoVmltIFR1dG9yKSBwb2QgaW1lbm9tIFRFU1QuCisgICAgIFphIHByb3ZlcnUsIG90a3VjYWp0ZSBvcGV0ICA6IWRpciAgaWxpICA6IWxzIHphIHByZWdsZWQKKyAgICAgc2FkcsW+YWphIGRpcmVrdG9yaWp1bWEuCisKK05BUE9NRU5BOiAgQWtvIGJpc3RlIG5hcHVzdGlsaSBWaW0gaSBwb25vdm8gZ2EgcG9rcmVudWxpIHNhIHZpbSBURVNUICwKKyAgICAgICAgICAgdGVrc3QgYmkgYmlvIHRhxI1uYSBrb3BpamEgb3ZvZyBmYWpsYSB1IHRyZW51dGt1IGthZCBzdGUKKwkgICBnYSBzbmltaWxpLgorCisgIDUuIEl6YnJpxaFpdGUgZmFqbCB0YWtvIMWhdG8gxIdldGUgb3RrdWNhdGkgKE1TLURPUyk6CTohZGVsIFRFU1QKKwkJCQkgICAgICAgICBpbGkgKFVuaXgpOgk6IXJtIFRFU1QKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgTGVrY2lqYSA1LjM6IFNOSU1BTkpFIE9aTkHEjEVOT0cgVEVLU1RBCisKKworICAgKiogRGEgYmlzdGUgc25pbWlsaSBkZW8gdGVrc3RhLCBvdGt1Y2FqdGUgIHYgIHBva3JldCAgOncgSU1FX0ZBSkxBICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIG92dSBsaW5panUuCisKKyAgMi4gUHJpdGlzbml0ZSAgdiAgaSBwb21lcml0ZSBrdXJzb3IgcGV0IHJlZG92YSBpc3BvZC4gIFByaW1ldGl0ZSBkYSBqZQorICAgICB0ZWtzdCBvem5hxI1lbiBpbnZlcnpuby4KKworICAzLiBQcml0aXNuaXRlICA6IC4gIE5hIGRudSBla3JhbmEgcG9qYXZpxIdlIHNlICA6JzwsJz4gLgorCisgIDQuIE90a3VjYWp0ZSAgdyBURVNUICAsIGdkZSBqZSBURVNUIGltZSBmYWpsYSBrb2ppIGpvxaEgbmUgcG9zdG9qaS4KKyAgICAgUHJvdmVyaXRlIGRhIHphaXN0YSBwacWhZSAgOic8LCc+dyBURVNUICBwcmUgbmVnbyDFoXRvIHByaXRpc25ldGUgPEVOVEVSPi4KKworICA1LiBWaW0gxIdlIHNuaW1pdGkgb3puYcSNZW5pIHRla3N0IHUgVEVTVC4gIFByb3Zlcml0ZSBzYSAgOiFkaXIgIGlsaSAgIWxzIC4KKyAgICAgTmVtb2p0ZSBqb8WhIGJyaXNhdGkgZmFqbCEgIEtvcmlzdGnEh2VtbyBnYSB1IG5hcmVkbm9qIGxla2NpamkuCisKK05BUE9NRU5BOiAgS29tYW5kYSAgdiAgemFwb8SNaW5qZSB2aXp1ZWxubyBvem5hxI1hdmFuamUuICBNb8W+ZXRlIHBvbWVyYXRpIGt1cnNvcgorICAgICAgICAgICBpIHRha28gbWVuamF0aSB2ZWxpxI1pbnUgb3puYcSNZW5vZyB0ZWtzdGEuICBPbmRhIG1vxb5ldGUgdXBvdHJlYml0aQorICAgICAgICAgICBvcGVyYXRvcmUgbmFkIHRla3N0b20uICBOYSBwcmltZXIsICBkICDEh2UgaXpicmlzYXRpIG96bmHEjWVuaSB0ZWtzdC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgIExla2NpamEgNS40OiBVxIxJVEFWQU5KRSBGQUpMQSBVIFRFS1NUCisKKworICAgICAgICoqIFphIHViYWNpdmFuamUgc2FkcsW+YWphIGZhamxhLCBvdGt1Y2FqdGUgIDpyIElNRV9GQUpMQSAgKioKKworICAxLiBQb3N0YXZpdGUga3Vyc29yIGl6bmFkIG92ZSBsaW5pamUuCisKK05BUE9NRU5BOiAgUG/FoXRvIGl6dnLFoWl0ZSAyLiBrb3JhayB2aWRlxIdldGUgdGVrc3QgaXogbGVrY2lqZSA1LjMuICBUYWRhCisgICAgICAgICAgIHBvbWVyaXRlIGt1cnNvciBET0xFIGRhIGJpc3RlIHBvbm92byB2aWRlbGkgb3Z1IGxla2NpanUuCisKKyAgMi4gVcSNaXRhanRlIGZhamwgVEVTVCBrb3Jpc3RlxIdpIGtvbWFuZHUgIDpyIFRFU1QgIGdkZSBqZSBURVNUIGltZSBmYWpsYQorICAgICBrb2plIHN0ZSBrb3Jpc3RpbGkgdSBwcmV0aG9kbm9qIGxla2NpamkuICBTYWRyxb5haiB1xI1pdGFub2cgZmFqbGEgamUKKyAgICAgdWJhxI1lbiBpc3BvZCBrdXJzb3JhLgorCisgIDMuIERhIGJpc3RlIHByb3ZlcmlsaSBkYSBqZSBmYWpsIHXEjWl0YW4sIHZyYXRpdGUga3Vyc29yIHVuYXphZCBpCisgICAgIHByaW1ldGl0ZSBkdmUga29waWplIGxla2NpamUgNS4zLCBvcmlnaW5hbG51IGkgb251IGl6IGZhamxhLgorCitOQVBPTUVOQTogIFRha2/EkWUgbW/FvmV0ZSB1xI1pdGF0aSBpemxheiBzcG9samHFoW5qZSBrb21hbmRlLiAgTmEgcHJpbWVyLAorCSAgIDpyICFscyAgxIdlIHXEjWl0YXRpIGl6bGF6IGtvbWFuZGUgIGxzICBpIHBvc3Rhdml0aSBnYSBpc3BvZAorICAgICAgICAgICBrdXJzb3JhLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgUkVaSU1FIGxla2NpamUgNQorCisKKyAgMS4gIDoha29tYW5kYSAgaXp2csWhYXZhIHNwb2xqYcWhbmp1IGtvbWFuZHUuCisKKyAgICAgIEtvcmlzbmkgcHJpbWVyaToKKwkgKE1TLURPUykJICAoVW5peCkKKwkgIDohZGlyCQkgICA6IWxzCQkgICAtICBwcmVnbGVkIHNhZHLFvmFqYSBkaXJla3RvcmlqdW1hLgorCSAgOiFkZWwgRkFKTCAgICAgICA6IXJtIEZBSkwgICAgICAgLSAgYnJpxaFlIGZhamwgRkFKTC4KKworICAyLiAgOncgRkFKTCAgemFwaXN1amUgdHJlbnV0bmkgdGVrc3QgbmEgZGlzayBwb2QgaW1lbm9tIEZBSkwuCisKKyAgMy4gIHYgIHBva3JldCAgOncgSU1FX0ZBSkxBICBzbmltYSB2aXp1ZWxubyBvem5hxI1lbmUgcmVkb3ZlIHUgZmFqbAorICAgICAgSU1FX0ZBSkxBLgorCisgIDQuICA6ciBJTUVfRkFKTEEgIHXEjWl0YXZhIGZhamwgSU1FX0ZBSkxBIHNhIGRpc2thIGkgc3RhdmxqYQorICAgICAgbmplZ292IHNhZHLFvmFqIGlzcG9kIGt1cnNvcmEuCisKKyAgNS4gIDpyICFkaXIgIHXEjWl0YXZhIGl6bGF6IGtvbWFuZGUgZGlyIGkgcG9zdGF2bGphIGdhIGlzcG9kIGt1cnNvcmEuCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSBMZWtjaWphIDYuMTogS09NQU5EQSBPVFZPUkkKKworCisJKiogUHJpdGlzbml0ZSAgbyAgZGEgYmlzdGUgb3R2b3JpbGkgcmVkIGlzcG9kIGt1cnNvcmEKKwkgICBpIHByZcWhbGkgdSBJbnNlcnQgbW9kLiAqKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSBzbGVkZcSHaSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKworICAyLiBPdGt1Y2FqdGUgbWFsbyAgbyAgZGEgYmlzdGUgb3R2b3JpbGkgbm92aSByZWQgSVNQT0Qga3Vyc29yYQorICAgICBpIHByZcWhbGkgdSBJbnNlcnQgbW9kLgorCisgIDMuIE90a3VjYWp0ZSBuZWtpIHRla3N0IGkgb25kYSBwcml0aXNuaXRlIDxFU0M+IGRhIGJpc3RlIGl6YcWhbGkKKyAgICAgaXogSW5zZXJ0IG1vZGEuCisKKy0tLT4gS2FkIHByaXRpc25ldGUgIG8gIGt1cnNvciBwcmVsYXppIHUgbm92b290dm9yZW5pIHJlZCB1IEluc2VydCBtb2R1LgorCisgIDQuIFphIG90dmFyYW5qZSByZWRhIElaTkFEIGt1cnNvcmEsIHVtZXN0byBtYWxvZyBvdGt1Y2FqdGUgdmVsaWtvIE8gLgorICAgICBJc3Byb2JhanRlIG5hIGRvbmplbSByZWR1IG96bmHEjWVub20gc2EgLS0tPi4KKworLS0tPiBPdHZvcml0ZSByZWQgaXpuYWQgb3ZvZyBrdWNhbmplbSB2ZWxpa29nICBPICBkb2sgamUga3Vyc29yIHUgb3ZvbSByZWR1LgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJTGVrY2lqYSA2LjI6IEtPTUFOREEgRE9EQUoKKworCisJICAgICAqKiBPdGt1Y2FqdGUgIGEgIHphIGRvZGF2YW5qZSB0ZWtzdGEgSVpBIGt1cnNvcmEuICoqCisKKyAgMS4gUG9tZXJpdGUga3Vyc29yIG5hIHBvxI1ldGFrIHNsZWRlxIdlZyByZWRhIG96bmHEjWVub2cgc2EgLS0tPi4KKyAgCisgIDIuIEt1Y2FqdGUgIGUgIGRvayBrdXJzb3IgbmUgZG/EkWUgbmEga3JhaiByZcSNaSAgcmUgLgorCisgIDMuIE90a3VjYWp0ZSAgYSAgKG1hbG8pIGRhIGJpc3RlIGRvZGFsaSB0ZWtzdCBJWkEga3Vyc29yYS4KKworICA0LiBEb3B1bml0ZSByZcSNIGthbyDFoXRvIGplIHUgcmVkdSBpc3BvZC4gIFByaXRpc25pdGUgPEVTQz4gemEgaXpsYXphaworICAgICBpeiBJbnNlcnQgbW9kYS4KKworICA1LiBTYSAgZSAgcHJlxJFpdGUgbmEgbmFyZWRudSBuZXBvdHB1bnUgcmXEjSBpIHBvbm92aXRlIGtvcmFrZSAzIGkgNC4KKyAgCistLS0+IE92YWogcmUgb21vZ3XEh2F2YSB2ZSBkb2RhdiB0ZWtzdGEgdSBuZWtvbSByZWR1LgorLS0tPiBPdmFqIHJlZCBvbW9ndcSHYXZhIHZlxb5iYW5qZSBkb2RhdmFuamEgdGVrc3RhIHUgbmVrb20gcmVkdS4KKworTkFQT01FTkE6ICBLb21hbmRlIGEsIGksIGkgIEEgIGFrdGl2aXJhanUgaXN0aSBJbnNlcnQgbW9kLCBqZWRpbmEKKyAgICAgICAgICAgcmF6bGlrYSBqZSB1IHBvemljaWppIG9kIGtvamUgxIdlIHNlIHRla3N0IHViYWNpdmF0aS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWtjaWphIDYuMzogRFJVR0kgTkHEjElOIFpBTUVORQorCisKKyAgICAgICoqIE90a3VjYWp0ZSB2ZWxpa28gIFIgIGRhIGJpc3RlIHphbWVuaWxpIHZpxaFlIG9kIGplZG5vZyB6bmFrYS4gKioKKworICAxLiBQb21lcml0ZSBrdXJzb3IgbmEgcHJ2aSBzbGVkZcSHaSByZWQgb3puYcSNZW4gc2EgLS0tPi4KKyAgICAgUG9tZXJpdGUga3Vyc29yIG5hIHBvxI1ldGFrIHBydm9nICB4eHggLgorCisgIDIuIFByaXRpc25pdGUgIFIgIGkgb3RrdWNhanRlIGJyb2oga29qaSBqZSByZWQgaXNwb2QsCisgICAgIHRha28gZGEgemFtZW5pIHh4eCAuCisKKyAgMy4gUHJpdGlzbml0ZSA8RVNDPiB6YSBpemxhemFrIGl6IFJlcGxhY2UgbW9kYS4KKyAgICAgUHJpbWV0aXRlIGRhIGplIG9zdGF0YWsgcmVkYSBvc3RhbyBuZXByb21lbmplbi4KKworICA0LiBQb25vdml0ZSBrb3Jha2UgZGEgYmlzdGUgemFtZW5pbGkgZHJ1Z28geHh4LgorCistLS0+IERvZGF2YW5qZSAxMjMgbmEgeHh4IGRhamUgeHh4LgorLS0tPiBEb2RhdmFuamUgMTIzIG5hIDQ1NiBkYWplIDU3OS4KKworTkFQT01FTkE6ICBSZXBsYWNlIG1vZCBqZSBrYW8gSW5zZXJ0IG1vZCwgcyB0b20gcmF6bGlrb20gxaF0byBzdmFraQorICAgICAgICAgICB1bmV0aSB6bmFrIGJyacWhZSB2ZcSHIHBvc3RvamXEh2kuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQlMZWtjaWphIDYuNDogS09QSVJBTkpFIEkgTEVQTEpFTkpFIFRFS1NUQQorCisKKyAgICAqKiBLb3Jpc3RpdGUgb3BlcmF0b3IgIHkgIHphIGtvcGlyYW5qZSBhICBwICB6YSBsZXBsamVuamUgdGVrc3RhLiAqKgorCisgIDEuIFBvbWVyaXRlIGt1cnNvciBuYSByZWQgc2EgLS0tPiAgaSBwb3N0YXZpdGUga3Vyc29yIHBvc2xlICJhKSIuCisgIAorICAyLiBBa3RpdmlyYWp0ZSBWaXN1YWwgbW9kIHNhICB2ICBpIHBvbWVyaXRlIGt1cnNvciBzdmUgZG8gaXNwcmVkICJwcnZpIi4KKyAgCisgIDMuIFByaXRpc25pdGUgIHkgIGRhIGJpc3RlIGtvcGlyYWxpIG96bmHEjWVuaSB0ZWtzdCB1IGludGVybmkgYmFmZXIuCisKKyAgNC4gUG9tZXJpdGUga3Vyc29yIGRvIGtyYWphIHNsZWRlxIdlZyByZWRhOiAgaiQKKworICA1LiBQcml0aXNuaXRlICBwICBkYSBiaXN0ZSB6YWxlcGlsaSB0ZWtzdC4gIE9uZGEgb3RrdWNhanRlOiAgYSBkcnVnaSA8RVNDPiAuCisKKyAgNi4gVXBvdHJlYml0ZSBWaXN1YWwgbW9kIGRhIG96bmHEjWl0ZSAiIHJlZC4iLCBrb3BpcmFqdGUgc2EgIHkgLCBrdXJzb3IKKyAgICAgcG9tZXJpdGUgbmEga3JhaiBzbGVkZcSHZWcgcmVkYSBzYSAgaiQgIGkgdGFtbyB6YWxlcGl0ZSB0ZWtzdCBzYSAgcCAuCisKKy0tLT4gIGEpIG92byBqZSBwcnZpIHJlZC4KKyAgICAgIGIpCisKK05BUE9NRU5BOiAgdGFrb8SRZSBtb8W+ZXRlIGtvcmlzdGl0aSAgeSAga2FvIG9wZXJhdG9yOyAgeXcgIGtvcGlyYSBqZWRudSByZcSNLgorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICBMZWtjaWphIDYuNTogUE9TVEFWTEpBTkpFIE9QQ0lKQQorCisKKyAqKiBQb3N0YXZpdGUgb3BjaWp1IHRha28gZGEgdHJhxb5lbmplIGkgemFtZW5hIGlnbm9yacWhdSB2ZWxpxI1pbnUgc2xvdmEgKioKKworICAxLiBQb3RyYcW+aXRlIHJlxI0gJ3Jhemxpa2EnOiAgL3Jhemxpa2EgPEVOVEVSPgorICAgICBQb25vdml0ZSBuZWtvbGlrbyBwdXRhIHByaXRpc2tvbSBuYSAgbiAuCisKKyAgMi4gQWt0aXZpcmFqdGUgb3BjaWp1ICdpYycgKElnbm9yZSBjYXNlKTogIDpzZXQgaWMKKworICAzLiBQb25vdm8gcG90cmHFvml0ZSByZcSNICdyYXpsaWthJyBwcml0aXNrb20gbmEgIG4KKyAgICAgUHJpbWV0aXRlIGRhIHN1IHNhZGEgcHJvbmHEkWVuaSBpIFJBWkxJS0EgaSBSYXpsaWthLgorCisgIDQuIEFrdGl2aXJhanRlIG9wY2lqZSAnaGxzZWFyY2gnIGkgJ2luY3NlYXJjaCc6ICA6c2V0IGhscyBpcworCisgIDUuIFBvbm92byBvdGt1Y2FqdGUga29tYW5kdSB0cmHFvmVuamEgaSB1b8SNaXRlIHJhemxpa2U6ICAvcmF6bGlrYSA8RU5URVI+CisKKyAgNi4gWmEgZGVha3RpdmlyYW5qZSBvcGNpamUgIGljICBrdWNhanRlOiAgOnNldCBub2ljCisKK05BUE9NRU5BOiAgWmEgbmVvem5hxI1hdmFuamUgcHJvbmHEkWVuaWggaXpyYXphIG90a3VjYWp0ZTogIDpub2hsc2VhcmNoCitOQVBPTUVOQTogIEFrbyDFvmVsaXRlIGRhIG5lIHJhemxpa3VqZXRlIHZlbGnEjWludSBzbG92YSB1IHNhbW8gamVkbm9qIGtvbWFuZGkKKwkgICB0cmHFvmVuamEsIGRvZGFqdGUgIFxjICB1IGl6cmF6OiAgL3Jhemxpa2FcYyA8RU5URVI+Cit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgIFJFWklNRSBsZWtjaWplIDYKKworICAxLiBQcml0aXNuaXRlICBvICB6YSBvdHZhcmFuamUgcmVkYSBJU1BPRCBrdXJzb3JhIGkgcHJlbGF6YWsgdSBJbnNlcnQgbW9kLgorICAgICBQcml0aXNuaXRlICBPICB6YSBvdHZhcmFuamUgcmVkYSBJWk5BRCBrdXJzb3JhLgorCisgIDIuIFByaXRpc25pdGUgIGEgIHphIHVub3MgdGVrc3RhIElaQSBrdXJzb3JhLgorICAgICBQcml0aXNuaXRlICBBICB6YSB1bm9zIHRla3N0YSBuYSBrcmFqdSByZWRhLgorCisgIDMuIEtvbWFuZGEgIGUgIHBvbWVyYSBrdXJzb3IgbmEga3JhaiByZcSNaS4KKworICA0LiBPcGVyYXRvciAgeSAga29waXJhIHRla3N0LCAgcCAgZ2EgbGVwaS4KKworICA1LiBLdWNhbmplIHZlbGlrb2cgIFIgIGFrdGl2aXJhIFJlcGxhY2UgbW9kIGRvayBuZSBwcml0aXNuZXRlIDxFU0M+IC4KKworICA2LiBLdWNhbmplICI6c2V0IHh4eCIgYWt0aXZpcmEgb3BjaWp1ICJ4eHgiLiAgTmVrZSBvcGNpamUgc3U6CisgIAknaWMnICdpZ25vcmVjYXNlJwluZSByYXpsaWt1amUgdmVsaWthL21hbGEgc2xvdmEgcHJpIHRyYcW+ZW5qdQorCSdpcycgJ2luY3NlYXJjaCcJcHJpa2F6dWplIHByb25hxJFlbiB0ZWtzdCBkb2sga3VjYXRlIGl6cmF6CisJJ2hscycgJ2hsc2VhcmNoJwlvem5hxI1hdmEgaW52ZXJ6bm8gc3ZlIHByb25hxJFlbmUgaXpyYXplCisgICAgIE1vxb5ldGUga29yaXN0aXRlIGR1Z28gaWxpIGtyYXRrbyBpbWUgb3BjaWplLgorCisgIDcuIElzcHJlZCBpbWVuYSBvcGNpamUgc3Rhdml0ZSAibm8iIGRhIGplIGRlYWt0aXZpcmF0ZTogIDpzZXQgbm9pYworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIExla2NpamEgNy4xOiBET0JJSkFOSkUgUE9NT8SGSQorCisKKwkJICAgKiogS29yaXN0aXRlIG9uLWxpbmUgc2lzdGVtIHphIHBvbW/EhyAqKgorCisgIFZpbSBpbWEgZGV0YWxqYW4gb24tbGluZSBzaXN0ZW0gemEgcG9tb8SHLiAgWmEgcG/EjWV0YWssIHBva3XFoWFqdGUgbmXFoXRvCisgIG9kIHNsZWRlxIdlZzoKKwktIHByaXRpc25pdGUgdGFzdGVyIDxIRUxQPiAoYWtvIGdhIGltYXRlIG5hIHRhc3RhdHVyaSkKKwktIHByaXRpc25pdGUgdGFzdGVyIDxGMT4gKGFrbyBnYSBpbWF0ZSBuYSB0YXN0YXR1cmkpCisJLSBvdGt1Y2FqdGUgIDpoZWxwIDxFTlRFUj4KKworICBQcm/EjWl0YWp0ZSB0ZWtzdCB1IHByb3pvcnUgcG9tb8SHaSBkYSBiaXN0ZSBuYXXEjWlsaSBwb21vxIcgcmFkaS4KKyAgS3VjYW5qZW0gIENUUkwtVyBDVFJMLVcgIHByZWxheml0ZSBpeiBqZWRub2cgcHJvem9yYSB1IGRydWdpLgorICBPdGt1Y2FqdGUgIDpxIDxFTlRFUj4gIGRhIHphdHZvcml0ZSBwcm96b3IgcG9tb8SHaS4KKworICBQb21vxIcgbyBwcmFrdGnEjW5vIGJpbG8ga29qb2ogdGVtaSBtb8W+ZXRlIGRvYml0aSBkb2RhdmFuamVtIGFyZ3VtZW50YQorICBrb21hbmRpICI6aGVscCIuICBQb2t1xaFhanRlIG92byAobmUgemFib3Jhdml0ZSA8RU5URVI+IG5hIGtyYWp1KToKKworCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJTGVrY2lqYSA3LjI6IFBSQVZMSkVOSkUgU1RBUlROT0cgU0tSSVBUQQorCisKKwkJICAgKiogQWt0aXZpcmFqdGUgbW9ndcSHbm9zdGkgZWRpdG9yYSAqKgorCisgIFZpbSBpbWEgbW5vZ28gdmnFoWUgbW9ndcSHbm9zdGkgbmVnbyBWaSwgYWxpIHZlxIdpbmEgbmlqZSBhdXRvbWF0c2tpCisgIGFrdGl2aXJhbmEuICBaYSBkb2RhdG5lIG1vZ3XEh25vc3RpIG5hcHJhdml0ZSAidmltcmMiIGZhamwuCisKKyAgMS4gT3R2b3JpdGUgInZpbXJjIiBmYWpsLiAgT3ZvIHphdmlzaSBvZCB2YcWhZWcgc2lzdGVtYToKKwk6ZSB+Ly52aW1yYwkJemEgVW5peAorCTplICRWSU0vX3ZpbXJjCQl6YSBNUy1XaW5kb3dzCisKKyAgMi4gT25kYSB1xI1pdGFqdGUgcHJpbWVyIHNhZHLFvmFqYSAidmltcmMiIGZhamxhOgorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU25pbWl0ZSBmYWpsIHNhOgorCTp3CisKKyAgU2xlZGXEh2kgcHV0IGthZGEgcG9rcmVuZXRlIFZpbSwgYm9qZW5qZSBzaW50YWtzZSB0ZWtzdGEgYmnEh2UKKyAgYWt0aXZpcmFuby4gU3ZhIHN2b2phIHBvZGXFoWF2YW5qYSBtb8W+ZXRlIGRvZGF0aSB1ICJ2aW1yYyIgZmFqbC4KKyAgWmEgdmnFoWUgaW5mb3JtYWNpamEgb3RrdWNhanRlICA6aGVscCB2aW1yYy1pbnRybworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICBMZWtjaWphIDcuMzogQVVUT01BVFNLTyBET1ZSxaBBVkFOSkUKKworCisJKiogRG92csWhYXZhbmplIGtvbWFuZG5lIGxpbmlqZSBzYSBDVFJMLUQgaSA8VEFCPiAqKgorCisgIDEuIFBvZGVzaXRlIFZpbSBkYSBuZSBidWRlIHUgVmkta29tcGF0aWJpbG5vbSBtb2R1OiAgOnNldCBub2NwCisKKyAgMi4gUG9nbGVkYWp0ZSBrb2ppIGZhamxvdmkgcG9zdG9qZSB1IGRpcmVrdG9yaWp1bXU6ICA6IWxzICBpbGkgIDohZGlyCisKKyAgMy4gT3RrdWNhanRlIHBvxI1ldGFrIGtvbWFuZGU6ICA6ZQorCisgIDQuIE90a3VjYWp0ZSAgQ1RSTC1EICBpIFZpbSDEh2UgcHJpa2F6YXRpIHNwaXNhayBrb21hbmRpIGtvamUgcG/EjWluanUgc2EgImUiLgorCisgIDUuIFByaXRpc25pdGUgPFRBQj4gIGkgVmltIMSHZSBkb3B1bml0aSBpbWUga29tYW5kZSB1ICI6ZWRpdCIuCisKKyAgNi4gRG9kYWp0ZSByYXptYWsgaSBwb8SNZXRhayBpbWVuYSBwb3N0b2plxIdlZyBmYWpsYTogIDplZGl0IEZBCisKKyAgNy4gUHJpdGlzbml0ZSA8VEFCPi4gIFZpbSDEh2UgZG9wdW5pdGkgaW1lIGZhamxhIChha28gamUgamVkaW5zdHZlbm8pLgorCitOQVBPTUVOQTogIE1vZ3XEh2UgamUgZG9wdW5pdGkgbW5vZ2Uga29tYW5kZS4gIFNhbW8gcHJvYmFqdGUgQ1RSTC1EIGkgPFRBQj4uCisgICAgICAgICAgIE5hcm/EjWl0byBqZSBrb3Jpc25vIHphICA6aGVscCAga29tYW5kZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICBSRVpJTUUgbGVrY2lqZSA3CisKKworICAxLiBPdGt1Y2FqdGUgIDpoZWxwICBpbGkgcHJpdGlzbml0ZSA8RjE+IGlsaSA8SGVscD4gIHphIHBvbW/Ehy4KKworICAyLiBPdGt1Y2FqdGUgIDpoZWxwIGtvbWFuZGEgIGJpc3RlIGRvYmlsaSBwb21vxIcgemEgdHUga29tYW5kdS4KKworICAzLiBPdGt1Y2FqdGUgIENUUkwtVyBDVFJMLVcgIHphIHByZWxhemFrIHUgZHJ1Z2kgcHJvem9yLgorCisgIDQuIE90a3VjYWp0ZSAgOnEgIGRhIHphdHZvcml0ZSBwcm96b3IgcG9tb8SHaS4KKworICA1LiBOYXByYXZpdGUgdmltcmMgc3RhcnRuaSBza3JpcHQgemEgYWt0aXZpcmFuamUgcG9kZcWhYXZhbmphIGtvamEKKyAgICAgdmFtIG9kZ292YXJhanUuCisKKyAgNi4gRG9rIGt1Y2F0ZSBuZWt1IG9kICA6ICBrb21hbmRpLCBwcml0aXNuaXRlIENUUkwtRCBkYSBiaXN0ZSB2aWRlbGkgbW9ndcSHZQorICAgICB2cmVkbm9zdGkuICBQcml0aXNuaXRlIDxUQUI+IGRhIG9kYWJlcmV0ZSBqZWRudSBvZCBuamloLgorCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgIE92aW0gamUgcHJpcnXEjW5payB6YXZyxaFlbi4gIE5qZWdvdiBjaWxqIGplIGJpbyBrcmF0YWsgcHJlZ2xlZCBWaW0gZWRpdG9yYSwKKyAga29saWtvIGRhIG9tb2d1xIdpIG5qZWdvdm8gcmVsYXRpdm5vIGplZG5vc3Rhdm5vIGtvcmnFocSHZW5qZS4gIFByaXJ1xI1uaWsgbmlqZQorICBwb3RwdW4sIGplciBWaW0gaW1hIG1ub2dvIHZpxaFlIGtvbWFuZGkuICBLYW8gc2xlZGXEh2UsIHByb8SNaXRhanRlIHByaXJ1xI1uaWs6CisgICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgWmEgZGFsamUgxI1pdGFuamUgaSB1xI1lbmplLCBwcmVwb3J1xI11amVtbyBrbmppZ3U6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCUl6ZGF2YcSNOiBOZXcgUmlkZXJzCisgIFBydmEga25qaWdhIHBvdHB1bm8gcG9zdmXEh2VuYSBWaW0tdS4gIE5hcm/EjWl0byBrb3Jpc25hIHphIHBvxI1ldG5pa2UuCisgIEltYSBtbm/FoXR2byBwcmltZXJhIGkgc2xpa2EuCisgIFZpZGl0ZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFNsZWRlxIdhIGtuamlnYSBqZSBzdGFyaWphIGkgdmnFoWUgZ292b3JpIG8gVmktdSBuZWdvIG8gVmltLXUsIGFsaSBqZSB0YWtvxJFlCisgIHByZXBvcnXEjXVqZW1vOgorCUxlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBieSBMaW5kYSBMYW1iCisJSXpkYXZhxI06IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIERvYnJhIGtuamlnYSBpeiBrb2plIG1vxb5ldGUgc2F6bmF0aSBza29ybyBzdmUgxaF0byBtb8W+ZXRlIHJhZGl0aSB1IFZpLWp1LgorICDFoGVzdG8gaXpkYW5qZSBpbWEgaSBpbmZvcm1hY2lqYSBvIFZpbS11LgorCisgIE92YWogcHJpcnXEjW5payBzdSBuYXBpc2FsaTogTWljaGFlbCBDLiBQaWVyY2UgaSBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIGtvcmlzdGXEh2kgaWRlamUgQ2hhcmxlc2EgU21pdGhhLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgUHJpbGFnb8SRYXZhbmplIHphIFZpbSB1cmFkaW8gamUgQnJhbSBNb29sZW5hYXIuCisKKyAgUHJldm9kIG5hIHNycHNraTogSXZhbiBOZWpnZWJhdWVyIDxpYW5AdW5zLmFjLnJzPgorICBWZXJ6aWphIDEuMCwgbWFqL2p1bmkgMjAxNC4KK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci52aW0gYi9ydW50aW1lL3R1dG9yL3R1dG9yLnZpbQppbmRleCBhNDhmZjZhLi5jMzE5ZTAwIDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL3R1dG9yLnZpbQorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHR1dG9yIHN1cHBvcnQgZmlsZQogIiBBdXRob3I6IEVkdWFyZG8gRi4gQW1hdHJpYSA8ZWZlcm5hMUBwbGF0ZWEucG50aWMubWVjLmVzPgogIiBNYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhcgotIiBMYXN0IENoYW5nZToJMjAxMiBTZXAgMjEKKyIgTGFzdCBDaGFuZ2U6CTIwMTQgSnVuIDI1CiAKICIgVGhpcyBWaW0gc2NyaXB0IGlzIHVzZWQgZm9yIGRldGVjdGluZyBpZiBhIHRyYW5zbGF0aW9uIG9mIHRoZQogIiB0dXRvciBmaWxlIGV4aXN0LCBpLmUuLCBhIHR1dG9yLnh4IGZpbGUsIHdoZXJlIHh4IGlzIHRoZSBsYW5ndWFnZS4KQEAgLTM2LDYgKzM2LDggQEAKICAgICAgIGxldCBzOmV4dCA9ICIucGwiCiAgICAgZWxzZWlmIHM6bGFuZyA9fiAiU2xvdmFrIgogICAgICAgbGV0IHM6ZXh0ID0gIi5zayIKKyAgICBlbHNlaWYgczpsYW5nID1+ICJTZXJiaWFuIgorICAgICAgbGV0IHM6ZXh0ID0gIi5zciIKICAgICBlbHNlaWYgczpsYW5nID1+ICJDemVjaCIKICAgICAgIGxldCBzOmV4dCA9ICIuY3MiCiAgICAgZWxzZWlmIHM6bGFuZyA9fiAiRHV0Y2giCkBAIC0xMjIsNiArMTI0LDE1IEBACiAgIGVuZGlmCiBlbmRpZgogCisiIFRoZSBTbG92YWsgdHV0b3IgaXMgYXZhaWxhYmxlIGluIHR3byBlbmNvZGluZ3MsIGd1ZXNzIHdoaWNoIG9uZSB0byB1c2UKKyIgTm90ZSB0aGF0IHRoZSB1dGYtOCB2ZXJzaW9uIGlzIHRoZSBvcmlnaW5hbCwgdGhlIGNwMTI1MCB2ZXJzaW9uIGlzIGNyZWF0ZWQKKyIgZnJvbSBpdC4KK2lmIHM6ZXh0ID1+PyAnXC5zcicKKyAgaWYgJmVuYyA9fiAxMjUwCisgICAgbGV0IHM6ZXh0ID0gIi5zci5jcDEyNTAiCisgIGVuZGlmCitlbmRpZgorCiAiIFRoZSBDemVjaCB0dXRvciBpcyBhdmFpbGFibGUgaW4gdGhyZWUgZW5jb2RpbmdzLCBndWVzcyB3aGljaCBvbmUgdG8gdXNlCiBpZiBzOmV4dCA9fj8gJ1wuY3MnCiAgIGlmICZlbmMgPX4gMTI1MAo=