ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc2sgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnNrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyOTFhYWQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnNrCkBAIC0wLDAgKzEsMTAwOCBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICBWIGkgdCBhIGogdCBlICAgdiBvICAgViBJIE0gICBUIHUgdCBvIHIgaSBhIGwgaSAgICAtICAgIFZlcnppYSAxLjcgICAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIFZpbSBqZSB2ZbVtaSB2/Wtvbm79IGVkaXRvciwga3Rvcv0gbeEgcHLtbGm+IHZltWEgcHLta2F6b3YgbmEgdG8gYWJ5CisgICAgIG1vaGxpIGJ5dCB2uWV0a3kgcG9w7XNhbukgdm8gdv11a2UgYWtvdSBqZSB04XRvLiBU4XRvIHb9dWthCisgICAgIHBvcGlzdWplIGRvc3RhdG/obukgbW5vvnN0dm8gcHLta2F6b3YgbmF0byBhYnkgYm9sbyBtb75u6SBwb3W+7XZhuworICAgICBWaW0gYWtvIHZpYWP66GVsb3b9IGVkaXRvci4KKworICAgICBQcmlibGm+bv0g6GFzIHBvdHJlYm79IG5hIHByZWJyYXRpZSB0ZWp0byB2/XVreSBqZSAyNS0zMCBtaW76dCwKKyAgICAgeuF2aXPtIG5hIHRvbSwga2+1a28gamUgc3Ry4XZlbulobyDoYXN1IHMgcHJlc2v6uWF2YW7tbS4KKworICAgICBVUE9aT1JORU5JRToKKyAgICAgUHLta2F6eSB2IGxla2Np4WNoIG1vZGlmaWt1avogdGV4dC4gVnl0dm9yIGvzcGl1IHRvaHRvIHP6Ym9ydSBhYnkKKyAgICAgc2EgbW9obG8gcHJlY3Zp6G92YbsgbmEg8m9tIChwcmkguXRhcnRlICJ2aW10dXRvciIgamUgdG90byBr83BpYSkuCisKKyAgICAgSmUgZPRsZb5pdOkgemFwYW3kdGG7IHNpLCC+ZSB04XRvIHb9dWthIGplIHZ5dHZvcmVu4SBwcmUgdv11a3UKKyAgICAgcG91vu12YW7tbS4gVG8gem5hbWVu4SwgvmUgamUgcG90cmVibukgc2kgcHLta2F6eSB2eXNr+rlhuywgYWJ5IGJvbG8KKyAgICAgdehlbmllIHNwcuF2bmUuIEFrIGxlbiDoaXRhcyB0ZXh0LCBwcu1rYXp5IHphYnVkbmW5IQorCisgICAgIFByZXN2ZWToIHNhLCC+ZSBTaGlmdC1Mb2NrIE5JRUpFIHN0bGHoZW79IGEgc3RsYeh0IGts4XZlc3UKKyAgICAgaiAgbmlla2+1a28ga3LhdCwgYWJ5IHNhIGt1cnpvciBwb3N1bnVsIG5hdG+1a28sIL5lIGxla2NpYSAxLjEKKyAgICAgY2Vsa29tIHphcGxu7SBvYnJhem92a3UuCisKK35+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+fgorCQkJTGVrY2lhIDEuMTogIFBPSFlCIEtVUlpPUk9NCisKKworICAgKiogUHJlIHBvaHliIGt1cnpvcnVtIHN0bGHoIGts4XZlc3kgaCxqLGssbCBha28gamUgem7hem9ybmVu6S4gKioKKyAgICAgICAgXgorICAgICAgICBrICAgICAgICBGdW5rY2lhOiBLbOF2ZXNhIGggamUgbmG1YXZvIGEgdnlrb27hIHBvaHliIGRvtWF2YS4KKyAgIDwgaCAgICAgbCA+ICAgS2zhdmVzYSBsIGplIG5hcHJhdm8gYSB2eWtvbuEgcG9oeWIgZG9wcmF2YS4KKyAgICAgICAgaiAgICAgICAgS2zhdmVzYSBqIHZ5emVy4SBha28gue1wa2EgZG9sZQorCSAgICAgIHYKKyAgMS4gUG9oeWJ1aiBrdXJ6b3JvbSBwbyBvYnJhem92a2UsIGv9bSBzaSBuYSB0byBuZXp2eWtuZbkuCisKKyAgMi4gRHK+IHN0bGHoZW76IGts4XZlc3UgcHJlIHBvaHliIGRvbGUgKGopLCBr/W0gc2EgamVqIGZ1bmtjaWEgbmV6b3Bha3VqZS4KKy0tLT4gVGVyYXogc2Egdb4gdmlluSBwb2h5Ym92YbsgbmEgbmFzbGVkdWr6Y3UgbGVrY2l1LgorCisgIDMuIFBvdb5pdO1tIGts4XZlc3kgcHJlIHBvaHliIGRvbGUgcHJlamRpIG5hIExla2NpdSAxLjIuCisKK1Bvem7hbWthOiBBayBzaSBuaWVzaSBpc3T9IHT9bSDobyBzaSBuYXDtc2FsLCBzdGxh6CA8RVNDPgorCSAgICAgICAgbmEgcHJlY2hvZCBkbyBub3Jt4WxuZWhvIG3zZHUuCisKK1Bvem7hbWthOiBLdXJ6b3Jvdukga2zhdmVzeSBz+iB0aWW+IGZ1bmvobukuIEFsZSBwb3W+7XZhbu1tIGhqa2wgc2EgYnVkZbkKKwkgICAgICAgIHNjaG9wbv0gcG9oeWJvdmG7IHL9Y2hsZWq5aWUsIGtl7yBzaSB6dnlrbmW5IGljaCBwb3W+7XZhuy4gTmFvemFqIQorCit+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+fn4KKwkJICAgICBMRUtDSUEgMS4yOiBaQVRWwVJBTklFIFZJTVUKKworCisgICEhIFBPWk7BTUtBOiBQcmVkIHZ5a29uYW7tbSB0/WNodG8ga3Jva292IHNpIHByZejtdGFqIGNlbPogdPp0byBsZWtjaXUgISEKKworICAxLiBTdGxh6CBrbOF2ZXN1IDxFU0M+IChhYnkgc2kgc2EgdehpdGUgbmFjaOFkemFsIHYgbm9ybeFsbm9tIG3zZGUpCisKKyAgMi4gTmFw7bk6ICAgOnEhIDxFTlRFUj4uCisgICAgIFT9bSB1a29u6O25IHBy4WN1IHMgZWRpdG9yb20gQkVaIHVsb75lbmlhIHptaWVuLCBrdG9y6SBzaSB2eWtvbmFsLgorCisgIDMuIEtl7yBzYSBkb3N0YW5luSBuYSBwcu1rYXpvdv0gcmlhZG9rLCBuYXDtuSBwcu1rYXosIGt0b3L9bSBzYSBkb3N0YW5luQorICAgICBzcGW7IGRvIHRlanRvIHb9dWt5LiBUbyBt9L5lIGJ5uzoJdmltdHV0b3IgPEVOVEVSPgorCisgIDQuIEFrIHNpIHNpIHRpZXRvIGtyb2t5IHNwb7VhaGxpdm8gemFwYW3kdGFsLCB2eWtvbmFqIGtyb2t5IDEgYb4gMywgcHJlCisgICAgIHVrb27oZW5pZSBhIHpub3Z1IHNwdXN0ZW5pZSBlZGl0b3JhLgorCitQT1pOwU1LQTogOnEhIDxFTlRFUj4gbmV1bG++7SB6bWVueSwga3Rvcukgc2kgdnlrb25hbC4gTyBuaWVrb7VrbyBsZWtjae0KKyAgICAgICAgICBzYSBuYXXo7bkgYWtvIHVsb75puyB6bWVueSBkbyBz+mJvcnUKKworICA1LiBwcmVzdfIga3Vyem9yIGRvbGUgbmEgbGVrY2l1IDEuMy4KKworfn5+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+CisJCSAgICAgIExla2NpYSAxLjM6IEVESVTBQ0lBIFRFWFRVIC0gTUFaQU5JRQorCisKKyoqIFN0bGHoZW5pZSBrbOF2ZXN5ICB4ICB2IG5vcm3hbG5vbSBt82RlIHptYb5lIHpuYWsgbmEgbWllc3RlIGt1cnpvcmEuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworICAyLiBBYnkgc2kgbW9ob2wgb2RzdHLhbmm7IGNoeWJ5LCBwb2h5YnVqIGt1cnpvcm9tIGv9bSBuZXByZWpkZSBuYSB6bmFrLAorICAgICBrdG9y/SBjaGNluSB6bWF6YbsuCisKKyAgMy4gU3RsYegga2zhdmVzdSAgeCAgYWJ5IHNhIHptYXphbCBuZWNoY2Vu/SB6bmFrLgorCisgIDQuIFpvcGFrdWoga3Jva3kgMiBhviA0IGG+IGv9bSB2ZXRhIG5pZWplIHNwcuF2bmEuCisKKy0tLT4gS3JhYXZhIHNrb2/oaWxsYSBjY2V6eiBtZXNpaWFjLgorCisgIDUuIEFrIGplIHZldGEgc3By4XZuYSwgcHJlamRpIG5hIGxla2NpdSAxLjQuCisKK1BPWk7BTUtBOiBOZXNr+rlhaiBzaSB6YXBhbeR0Ybsgb2JzYWggdGVqdG8gdv11a3ksIGFsZSBzYSB16CBwb3W+7XZhbu1tLgorCisKKworfn5+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+CisJCSAgICAgTGVrY2lhIDEuNDogRURJVMFDSUEgVEVYVFUgLSBWS0xBREFOSUUKKworCisgICAgKiogU3RsYehlbmllIGts4XZlc3kgIGkgIHVtb77ydWplIHZrbGFkYW5pZSB0ZXh0dS4gKioKKworICAxLiBQcmVzdfIga3Vyem9yIG5pvrlpZSBuYSBwcnb9IHJpYWRvayB6YSB6bmHoa3UgLS0tPi4KKworICAyLiBQcmUgdXByYXZlbmllIHBydulobyByaWFka3UgZG8gcm92bmFr6WhvIHR2YXJ1IGFrbyBqZSBkcnVo/SByaWFkb2ssCisgICAgIHByZXN18iBrdXJ6b3IgbmEgcHJ2/SB6bmFrIHphIG1pc3RvLCBrZGUgbeEgYnm7IHRleHQgdmxvvmVu/S4KKworICAzLiBTdGxh6CBrbOF2ZXN1ICBpICBhIG5hcO25IHBvdHJlYm79IHRleHQuCisKKyAgNC4gUG8gb3ByYXZlbu0ga2G+ZGVqIGNoeWJ5LCBzdGxh6CA8RVNDPiBwcmUgbuF2cmF0IGRvIG5vcm3hbG5laG8gbfNkdS4KKyAgICAgWm9wYWt1aiBrcm9reSAyIGG+IDQga/1tIG5pZWplIHZldGEgc3By4XZuYS4KKworLS0tPiBUdSBqZSB0ZXh0IGNo/WJhavpjaSB0ZWp0by4KKy0tLT4gVHUgamUgbmVqYWv9IHRleHQgY2j9YmFq+mNpIG9kIHRlanRvIOhpYXJ5LgorCisgIDUuIEtl7yBzYSBkb3N0YXRv6G5lIG5hdejtuSB2a2xhZGG7IHRleHQsIHByZWpkaSBuYSBuYXNsZWR1avpjZSB6aHJudXRpZS4KKworCit+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+fn4KKyAgICAgICAgTGVrY2lhIDEuNTogRURJVMFDSUEgVEVYVFUgLSBQUklEwVZBTklFCisKKworICAgICAqKiBTdGxh6GVuaWUga2zhdmVzeSAgQSAgdW1vvvJ1amUgcHJpZOF2YbsgdGV4dC4gKioKKworICAxLiBQcmVzdfIga3Vyb3pyIG5pvrlpZSBuYSBwcnb9IHJpYWRvayB6YSB6bmHoa291IC0tLT4uCisgICAgIE5leuFsZb7tIG5hIHRvbSwgbmEga3Rvcm9tIHpuYWt1IHNhIGt1cnpvciB2IHRvbSByaWFka3UgbmFjaOFkemEuCisKKyAgMi4gU3RsYegga2zhdmVzdSAgQSAgYSBuYXDtuSBwb3RyZWJu/SB0ZXh0LgorCisgIDMuIFBvIHByaWRhbu0gdGV4dHUgc3RsYegga2zhdmVzdSA8RVNDPiBwcmUgbuF2cmF0IGRvIE5vcm3hbG5laG8gbfNkdS4KKworICA0LiBQcmVzdfIga3Vyb3pyIG5hIGRydWj9IHJpYWRvayBvem5h6GVu/SAtLS0+IGEgem9wYWt1agorICAgICBrcm9reSAyIGEgMyBr/W0gbmllamUgdmV0YSBzcHLhdm5hLgorCistLS0+IFR1IGplIG5lamFr/SB0ZXh0IGNo/WJhavpjaSBvCisgICAgIFR1IGplIG5lamFr/SB0ZXh0IGNo/WJhavpjaSBvZCB0aWG1dG8uCistLS0+IFR1IHRpZb4gY2j9YmEgbmVqCisgICAgIFR1IHRpZb4gY2j9YmEgbmVqYWv9IHRleHQuCisKKyAgNS4gS2XvIHNhIGRvc3RhdG/obmUgbmF16O25IHByaWThdmG7IHRleHQsIHByZWpkaSBuYSBsZWtjaXUgMS42LgorCisKK35+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+fgorICAgICAgIExla2NpYSAxLjY6IEVESVTBQ0lBIFPaQk9SVQorCisKKyAgICAqKiBOYXDtc2Fu7W0gIDp3cSAgc2Egc/pib3IgdWxvvu0gYSB6YXZyaWUgKioKKworISEgUE9aTsFNS0E6IFByZWQgdnlrb25hbu1tIHT9Y2h0byBrcm9rb3Ygc2kgcHJl6O10YWogY2Vs+iBsZWtjaXUhIQorCisxLiBPcHVzdGkgdPp0byB2/XVrdSwgYWtvIHNpIHRvIHVyb2JpbCB2IGxla2NpaSAxLjI6ICA6cSEKKworMi4gRG8gcHLta2F6b3bpaG8gcmlhZGt1IG5hcO25IHBy7WthejogIHZpbSB0dXRvciA8RU5URVI+CisgICAndmltJyBqZSBwcu1rYXosIGt0b3L9IHNwdXN07SBlZGl0b3IgVmltLCAndHV0b3InIGplIG1lbm8gc/pib3J1LAorICAga3Rvcv0gY2hjZbkgZWRpdG92YbsuIFBvdb5pIHRha/0gc/pib3IsIGt0b3L9IG30vmW5IG1lbmm7LgorCiszLiBWbG++IGEgem1hviB0ZXh0IHRhaywgYWtvIHNpIHNhIG5hdehpbCB2IHByZWRvuWz9Y2ggbGVrY2lhY2guCisKKzQuIFVsb74gc/pib3Igc28gem1lbmFtaSBhIG9wdXN0aSBWaW0gcHLta2F6b206ICA6d3EgIDxFTlRFUj4KKworNS4gUmW5dGFydHVqIHZpbXR1dG9yIGEgcHJlc3XyIHNhIGRvbGUgbmEgbmFzbGVkdWr6Y2UgemhybnV0aWUuCisKKzYuIFVyb2IgdGFrIHBvIHByZejtdGFu7SBwcmVkb7ls/WNoIGtyb2tvdiBhIHBvcm96dW1lbml1IGltLgorCisKK35+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+fgorCQkJICAgICAgIFpIUk5VVElFIExFS0NJRSAxCisKKworICAxLiBLdXJ6b3Igc2EgcG9oeWJ1amUgcG91vml07W0ga2zhdmVzIHNvILntcGthbWkgYWxlYm8ga2zhdmVzbWkgaGprbC4KKwkgIGggKGRvIGxhdmEpICAgIGogKGRvbGUpICAgIGsgKGhvcmUpICAgIGwgKGRvcHJhdmEpCisKKyAgMi4gUHJlIHNwdXN0ZW5pZSBWaW11ICh6IHBy7Wthem926WhvIHJpYWRrdSkgbmFw7bk6IHZpbSBGSUxFTkFNRSA8RU5URVI+CisKKyAgMy4gTmEgdWtvbuhlbmllIFZpbXUgbmFw7bk6IDxFU0M+ICA6cSEgIDxFTlRFUj4gcHJlIHpydbllbmllIHa5ZXRr/WNoIHptaWVuCisgICAgICAgYWxlYm8gbmFw7bk6ICAgPEVTQz4gICA6d3EgICA8RU5URVI+ICAgIHByZSB1bG++ZW5pZSB6bWllbi4KKworICA0LiBOYSB6bWF6YW5pZSB6bmFrdSBuYSBtaWVzdGUga3Vyem9yYSBuYXDtuTogIHgKKworICA1LiBQcmUgdmxvvmVuaWUgdGV4dHUgbmEgbWllc3RlIGt1cnpvcmEgdiBub3Jt4Wxub20gbfNkZSBuYXDtuToKKwkgaSAgICAgbmFw7bkgdmtsYWRhbv0gdGV4dCAgIDxFU0M+ICB2a2xhZGFuaWUgcHJlZCBrdXJ6b3IKKyAgIEEgICAgIG5hcO25IHByaWThdmFu/SB0ZXh0ICA8RVhDPiAgdmtsYWRhbmllIHphIHJpYWRvaworCitQT1pOwU1LQTogU3RsYehlbmllIDxFU0M+ILthIHByZW1pZXN0bu0gZG8gbm9ybeFsbmVobyBt82R1IGFsZWJvIHpydbntCisJICAgICAgICBuZWpha/0gbmVjaGNlbv0gYSDoaWFzdG/obmUgZG9rb27oZW79IHBy7Wthei4KKworVGVyYXogcG9rcmHodWogbGVrY2lvdSAyLgorCisKK35+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+fgorCQkJTGVrY2lhIDIuMTogTWF6YWNpZSBwcu1rYXp5CisKKworCSAqKiBOYXDtc2FuaWUgcHLta2F6dSAgZHcgIHptYb5lIHpuYWt5IGRvIGtvbmNhIHNsb3ZhLiAqKgorCisxLiBTdGxh6CAgPEVTQz4gIGFieSBzaSBib2wgYmV6cGXobmUgdiBub3Jt4Wxub20gbfNkZS4KKworMi4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPi4KKworMy4gUHJlc3XyIGt1cnpvciBuYSB6YehpYXRvayBzbG92YSwga3RvcukgamUgcG90cmVibukgem1hemG7LgorCis0LiBOYXDtuSAgZHcgIGFieSBzbG92byB6bWl6bG8uCisKK1BPWk7BTUtBOiBQ7XNtZW5vIGQgc2Egem9icmF67SBuYSBwb3NsZWRub20gcmlhZGt1IG9icmF6b3ZreSBrZe8gaG8KKwkgICAgICAgIG5hcO25ZbkuIFZpbSBuYSB0ZWJhIHBv6GvhLCBhYnkgc2kgbW9ob2wgbmFw7XNhuworICAgICAgICAgIHDtc21lbm8gdy4gQWsgdmlk7bkgbmll6G8gaW7pIGFrbyAgZCAsIHRhayBzaSBuYXDtc2FsCisgICAgICAgICAgbmVzcHLhdm55IHpuYWs7IHN0bGHoICA8RVNDPiAgYSB6YehuaSB6bm92YS4KKworLS0tPiBUdSBqZSBuaWVrb7VrbyBzbG92IHrhYmF2YSwga3RvcukgbmllIHBhdHJpYSBsaXN0IGRvIHRlanRvIHZldHkuCisKKzUuIFpvcGFrdWoga3Jva3kgMyBhviA0IGv9bSB2ZXRhIG5pZWplIHNwcuF2bmEgYSBwcmVqZGkgbmEgbGVrY2l1IDIuMi4KKworCisKK35+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+fgorCQkgICAgICBMZWtjaWEgMi4yOiBWSUFDIE1BWkFDzUNIIFBSzUtBWk9WCisKKworCSAqKiBOYXDtc2FuaWUgcHLta2F6dSBkJCAgem1hvmUgem5ha3kgZG8ga29uY2EgcmlhZGt1ICoqCisKKzEuIFN0bGHoICA8RVNDPiAgYWJ5IHNpIGJvbCBiZXpwZehuZSB2IG5vcm3hbG5vbSBt82RlLgorCisyLiBQcmVzdfIga3Vyem9yIG5pvrlpZSBuYSByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LgorCiszLiBQcmVzdfIga3Vyem9yIG5hIGtvbmllYyBzcHLhdm5laiB2ZXR5IChaQSBwcnb6IGJvZGt1KS4KKworNC4gTmFw7bkgICAgZCQgICAgYWJ5IHNhIHptYXphbGkgem5ha3kgZG8ga29uY2EgcmlhZGt1LgorCistLS0+IE5pZWt0byBuYXDtc2FsIGtvbmllYyB0b2h0byByaWFka3UgZHZha3LhdC4ga29uaWVjIHRvaG90IHJpYWRrdSBkdmFrcuF0LgorCisKKzUuIFByZWpkaSBuYSBsZWtjaXUgMi4zIHByZSBwb2Nob3BlbmllIHRvaG8g6G8gc2Egc3RhbG8uCisKKworfn5+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+CisJCSAgICAgTGVrY2lhIDIuMzogT1BFUsFUT1JZIEEgUE9IWUJZCisKKyAgVmW1YSBwcu1rYXpvdiwga3RvcukgbWVuaWEgdGV4dCBz+iBvZHZvZGVu6SBvZCBvcGVy4XRvcm92IGEgcG9oeWJvdi4KKyAgRm9ybeF0IHByZSBwcu1rYXogbWF6YW5pYSBrbOF2ZXNvdSAgZCAgamUgbmFzbGVkb3Zu/ToKKworICAgIGQgICBwb2h5YgorCisgIGtkZToKKyAgICBkICAgICAtIGplIG1hemFj7SBvcGVy4XRvcgorICAgIHBvaHliIC0gamUgdG8g6G8gb3BlcuF0b3Igdnlrb27hdmEgKHZ5cO1zYW7pIG5pvrlpZSkKKworICBLcuF0a3kgbGlzdCBwb2h5Ym92OgorICAgIHcgLSBkbyB6YehpYXRrdSDvYWy5aWVobyBzbG92YSwgb2tyZW0gamVobyBwcnbpaG8gcO1zbWVuYS4KKyAgICBlIC0gZG8ga29uY2EgdGVyYWq5aWVobyBzbG92YSwgdnLhdGFuZSBwb3NsZWRu6WhvIHpuYWt1LgorICAgICQgLSBkbyBrb25jYSByaWFka3UsIHZy4XRhbmUgcG9zbGVkbulobyB6bmFrdQorCisgIFRha75lIG5hcO1zYW7tbSAgZGUgIHNhIHptYb5lIHa5ZXRrbyBvZCBrdXJ6b3JhIGRvIGtvbmNhIHNsb3ZhLgorCitQT1pOwU1LQTogU3RsYehlbu1tIGliYSBwb2h5YnUgdiBub3Jt4Wxub20gbfNkZSBiZXogb3BlcuF0b3JhCisgICAgICAgICAgc2EgcHJlc3VuaWUga3Vyem9yIHRhayBha28gamUgdG8guXBlY2l2aWtvdmFu6S4KKworfn5+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+CisJCUxla2NpYSAyLjQ6IFBvdb5pdGllIHZpYWNu4XNvYm7paG8gcG9oeWJ1CisKKworICAgKiogTmFw7XNhbu1tIOjtc2xhIHByZWQgcG9oeWIgaG8gem9wYWt1amUgemFkbv0gcG/oZXQga3LhdCAqKgorCisgIDEuIFByZXN18iBrdXJvenIgbmm+uWllIG5hIHph6GlhdG9rIHJpYWRrdSBvem5h6GVu6WhvIC0tLT4uCisKKyAgMi4gTmFw7bkgIDJ3ICBhIGt1cm96ciBzYSBwcmVzdW5pZSBvIGR2ZSBzbG924SB2cHJlZC4KKworICAzLiBOYXDtuSAgM2UgIGEga3Vyb3pyIHNhIHByZXN1bmllIHZwcmVkIG5hIGtvbmllYyB0cmV0aWVobyBzbG92YS4KKworICA0LiBOYXDtuSAgMCAgKG51bGEpIGEga3Vyb3pyIHNhIHByZXN1bmllIG5hIHph6GlhdG9rIHJpYWRrdS4KKworICA1LiBab3Bha3VqIGtyb2t5IDIgYSAzIHMgcvR6bnltaSDo7XNsYW1pLgorCistLS0+IFRvdG8gamUgcmlhZG9rIHNvIHNsb3ZhbWkgcG8ga290cv1jaCBzYSBt9L5ldGUgcG9oeWJvdmG7LgorCisgIDYuIFByZWpkaSBuYSBsZWtjaXUgMi41LgorCisKK35+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+fgorCQkgIExla2NpYSAyLjU6IFBPVa5JVElFIFZJQUNOwVNPQk7JSE8gTUFaQU5JQSBQUkUgSFJPTUFETskgTUFaQU5JRQorCisKKyAgICAqKiBOYXDtc2FuaWUg6O1zbGEgc3BvbHUgcyBvcGVy4XRvcm9tIGhvIHpvcGFrdWplIHphZGFu/SBwb+hldCBrcuF0ICoqCisKKyAgViBrb21iaW7hY2lpIG9wZXLhdG9yb3YgbWF6YW5pYSBhIHBvaHlidSBzcG9t7W5hbulobyB2ebm5aWUgdmxvviBwb+hldAorICBwcmVkIHBvaHliIHByZSBkb2NpZWxlbmllIGhyb21hZG7paG8gbWF6YW5pYToKKyAgICBkICAg6O1zbG8gICBwb2h5YgorCisgIDEuIFByZXN18iBrdXJ6b3IgbmEgcHJ26SBzbG92byBw7XNhbukgVkWlS91NSSBQzVNNRU5BTUkKKyAgICAgdiByaWFka3Ugb3puYehlbm9tIC0tLT4uCisKKyAgMi4gTmFw7bkgIDJkdyAgYSB6bWG+ZbkgZHZlIHNsb3bhIHDtc2Fu6SBWRaVL3U1JIFDNU01FTkFNSQorCisgIDMuIFpvcGFrdWoga3Jva3kgMSBhIDIgcyBwb3W+aXTtbSBy9HpuZWhvIOjtc2xhIHRhayBhYnkgc2kgem1hemFsIHNsb3bhCisgICAgIHDtc2Fu6SB2ZbVr/W1pIHDtc21lbmFtaSBqZWRu/W0gcHLta2F6b20uCisKKy0tLT4gVGVudG8gQUJDIERFIHJpYWRvayBGR0hJIEpLIExNTiBPUCBzbyBzbG92YW1JIGplIFEgUlMgVFVWIHZ5Y2lzdGVueS4KKworUE9aTsFNS0E6IMjtc2xvIG1lZHppIG9wZXLhdG9yb20gIGQgIGEgcG9oeWJvbSBmdW5ndWplIHBvZG9ibmUgYWtvIHByaQorICAgICAgICAgIHBvdb5pdO0gcyBwb2h5Ym9tIGJleiBvcGVy4XRvcmEuCisKKworfn5+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+CisgICAgCQlMZWtjaWEgMi42OiBPUEVSwUNJRSBTIFJJQURLQU1JCisKKworCSAgICAqKiBOYXDtc2FuaWUgcHLta2F6dSAgIGRkICAgem1hvmUgY2Vs/SByaWFkb2suICoqCisKK1Z6aLVhZG9tIG5hIGZyZWt2ZW5jaXUgbWF6YW5pYSBjZWzpaG8gcmlhZGt1LCBzYSBhdXRvcmkgVmltdSByb3pob2RsaSwKK75lIGJ1ZGUgamVkbm9kdWNouWllIG1hemG7IGNlbP0gcmlhZG9rIG5hcO1zYW7tbSBkdm9jaCBw7XNtZW4gZC4KKworMS4gUHJlc3XyIGt1cnpvciBuYSBkcnVo/SByaWFkb2sgdiB0ZXh0ZSBuYSBzcG9kdS4KKzIuIE5hcO25ICBkZCAgYWJ5IHNpIHptYXphbCByaWFkb2suCiszLiBQcmVqZGkgbmEguXR2cnT9IHJpYWRvay4KKzQuIE5hcO25ICAgMmRkICAgYWJ5IHNpIHptYXphbCBkdmEgcmlhZGt5LgorCisgICAgMSkgIFJ1vmUgc/og6GVydmVu6SwKKyAgICAyKSAgQmxhdG8gamUgeuFiYXZu6SwKKyAgICAzKSAgRmlhbGt5IHP6IG1vZHLpLAorICAgIDQpICBN4W0gYXV0bywKKyAgICA1KSAgSG9kaW5reSB1a2F6dWr6IOhhcywKKyAgICA2KSAgQ3Vrb3IgamUgc2xhZGv9LAorICAgIDcpICBBIHRvIHNpIHR5LgorCisKK35+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+fgorCQkJTGVrY2lhIDIuNzogUFLNS0FaIFVORE8KKworCisqKiBTdGxh6CAgdSAgcHJlIHZy4XRlbmllIHBvc2xlZG7paG8gcHLta2F6dSwgIFUgIHByZSD6cHJhdnUgY2Vs6WhvIHJpYWRrdS4gKioKKworMS4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcmlhZG9rIG96bmHoZW79IHpuYehrb3UgLS0tPiBhIHByZW1pZXN0bmkgaG8gbmEKKyAgIHBydvogY2h5YnUuCisyLiBOYXDtuSAgeCAgcHJlIHptYXphbmllIHBydulobyBuZWNoY2Vu6WhvIHJpYWRrdS4KKzMuIFRlcmF6IG5hcO25ICB1ICDo7W0gdnLhdO25IHNw5LsgcG9zbGVkbmUgdnlrb25hbv0gcHLta2F6LgorNC4gVGVyYXogb3ByYXYgdrlldGt5IGNoeWJ5IG5hIHJpYWRrdSBwb3W+aXTtbSBwcu1rYXp1ICB4ICAuCis1LiBUZXJheiBuYXDtuSB2ZbVr6SAgIFUgIOjtbSB2cuF07bkgcmlhZG9rIGRvIHD0dm9kbulobyBzdGF2dS4KKzYuIFRlcmF6IG5hcO25ICB1ICBuaWVrb7VrbyBrcuF0LCDo7W0gdnLhdO25IHNw5LsgcHLta2F6IFUuCis3LiBUZXJheiBuYXDtuSBDVFJMLVIgKGRyviBrbOF2ZXN1IENUUkwgc3RsYehlbvoga/1tIHN0bOHoYbkgUikgbmlla2+1a28KKyAgIGty4XQsIOjtbSB2cuF07bkgc3DkuyBwcmVkdP1tIHZy4XRlbukgcHLta2F6eSAodW5kbyB6IHVuZG8pLgorCistLS0+IE9wcHJhdiBjaHliYnkgbm5hIHRvb210byByaWFka3UgYSB6bWVl8iBpY2ggcG9tbW9jb3UgdW5kby4KKworICA4LiBUaWV0byBwcu1rYXp5IHP6IOhhc3RvIHBvdb7tdmFu6S4gVGVyYXogcHJlamRpIG5hIHpocm51dGllIGxla2NpZSAyLgorCisKKworCit+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+fn4KKwkJCSAgICAgICBMRUtDSUEgMiBaSFJOVVRJRQorCisKKyAgMS4gUHJlIHptYXphbmllIHpuYWtvdiBvZCBrdXJ6b3JhIGRvIGtvbmNhIHNsb3ZhIG5hcO25OiAgIGR3CisKKyAgMi4gUHJlIHptYXphbmllIHpuYWtvdiBvZCBrdXJ6b3JhIGRvIGtvbmNhIHJpYWRrdSBuYXDtuTogICBkJAorCisgIDMuIFByZSB6bWF6YW5pZSBjZWzpaG8gcmlhZGt1IG5hcO25OiAgIGRkCisKKyAgNC4gUHJlIHpvcGFrb3ZhbmllIHBvaHlidSwgbmFw7bkgcHJlZCBuZWhvIOjtc2xvOiAgIDJ3CisKKyAgNS4gRm9ybeF0IHByZSBw7WthejoKKworICAgICAgIG9wZXLhdG9yICAgW+jtc2xvXSAgIHBvaHliCisgICAgIGtkZToKKyAgICAgICBvcGVy4XRvciAtIOhvIHRyZWJhIHJvYmm7LCBuYXBy7WtsYWQgIGQgIHByZSB6bWF6YW5pZQorICAgICAgIFvo7XNsb10gLSBqZSB2b2xpdGW1bv0gcG/oZXQgcHJlIG9wYWtvdmFuaWUgcG9oeWJ1CisgICAgICAgcG9oeWIgLSBwb2h5YiBwbyB0ZXh0ZSB2emi1YWRvbSBuYSBvcGVy4XRvciwgbmFwcu1rbGFkIHcgKHNsb3ZvKSwKKwkJJCAoZG8ga29uY2EgcmlhZGt1KSwgYXTvLgorCisgIDYuIFByZSBwb2h5YiBuYSB6YehpYXRvayByaWFka3UgcG91vmkgbnVsdTogIDAKKworICA3LiBQcmUgdnLhdGVuaWUgc3DkuyBwcmVkb7lsZWogb3BlcuFjaWUgbmFw7bk6CXUgICAobWFs6SB1KQorICAgICBQcmUgdnLhdGVuaWUgdrlldGv9Y2gg+nByYXYgbmEgcmlhZGt1IG5hcO25OiAgICBVICAgKHZltWvpIFUpCisgICAgIFByZSB2cuF0ZW5pZSB2cuF0ZW79Y2gg+nByYXYgbmFw7bk6CSAgICAgIENUUkwtUgorCit+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+fn4KKwkJCSBMZWtjaWEgMy4xOiBQUs1LQVogVkxPrkmrCisKKworCSAgKiogTmFw7XNhbmllIHBy7WthenUgIHAgIHZsb77tIHBzbGVkbv0gdv1tYXogemEga3Vyem9yLiAqKgorCisgIDEuIFByZXN18iBrdXJ6b3Igbmm+uWllIG5hIHBydv0gcmlhZG9rIHRleHR1LgorCisgIDIuIE5hcO25ICBkZCAg6O1tIHptYb5luSByaWFkb2sgYSB1bG++7bkgaG8gZG8gYnVmZmVyYSBlZGl0b3JhIFZpbS4KKworICAzLiBQcmVzdfIga3Vyem9yIHZ5ublpZSB0YW0sIGthbSB6bWF6YW79IHJpYWRvayBwYXRy7S4KKworICA0LiBBayBuYXDtuWW5IHYgbm9ybeFsbm9tIG3zZGUgICBwICAgem1hemFu/SByaWFkayBzYSB2bG++7S4KKworICA1LiBab3Bha3VqIGtyb2t5IDIgYb4gNCwga/1tIHJpYWRreSBuaWVz+iB2IHNwcuF2bm9tIHBvcmFk7S4KKworLS0tPiBkKSBUaWW+IHNhIGRva+G+ZbkgdnpkZWzhdmG7PworLS0tPiBiKSBGaWFsa3kgc/ogbW9kcuksCistLS0+IGMpIEludGVsaWdlbmNpYSBzYSB2emRlbOF2YSwKKy0tLT4gYSkgUnW+ZSBz+iDoZXJ2ZW7pLAorCisKKworfn5+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+CisJCSAgICAgICBMZWtjaWEgMy4yOiBQUs1LQVogTkFIUkFERU5JQQorCisKKyAgICAgKiogTmFw7XNhbu1tICByeCAgc2EgbmFocmFk7SB6bmFrIG5hIG1pZXN0ZSBrdXJ6b3JhIHpuYWtvbSAgeCAuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcHJ27SByaWFkb2sgdGV4dHUgb3puYehlbulobyB6bmHoa291IC0tLT4uCisKKyAgMi4gUHJlc3XyIGt1cnpvciBuYSB6YehpYXRvayBwcnZlaiBjaHlieS4KKworICAzLiBuYXDtuSAgciAgYSBwb3RvbSB6bmFrLCBrdG9y/SB0YW0gbeEgYnm7LgorCisgIDQuIFpvcGFrdWoga3Jva3kgMiBhIDMsIGv9bSBwcnb9IHJpYWRvayBuaWVqZSB6aG9kbv0gcyBkcnVo/W0uCisKKy0tLT4gS2HvIGJvbCB0ZW50byByaWFzb2sgcO1hYW79LCBuaWVrcm8gc3RsYblpbCBuZXNwcuFibmUga2zhdmVzeSEKKy0tLT4gS2XvIGJvbCB0ZW50byByaWFkb2sgcO1zYW79LCBuaWVrdG8gc3RsYehpbCBuZXNwcuF2bmUga2zhdmVzeSEKKworICA1LiBUZXJheiBwcmVqZGkgbmEgbGVrY2l1IDMuMi4KKworUE9aTsFNS0E6IFBhbeR0YWogc2ksIL5lIG5hdehpuyBzYSBt9L5luSBsZW4gcG91vu12YW5pbSwgbmllIHBhbeR0YW7tbS4KKworCisKK35+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+fgorCQkgICAgICAgTGVrY2lhIDMuMy4gUFLNS0FaINpQUkFWWQorCisKKyAgICAgKiogQWsgY2hjZbkgem1lbmm7IOhhc7sgc2xvdmEgZG8ga29uY2Egc2xvdmEsIG5hcO25ICBjZSAuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcHJ2/SByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LgorCisgIDIuIFVtaWVzdG5pIGt1cnpvciBuYSBw7XNtZW5vIG8gdiBzbG92ZSByb3NmcGwuCisKKyAgMy4gTmFw7bkgIGNlICBhIG9wcmF2IHNsb3ZvICh2IHRvbXRvIHBy7XBhZGUgbmFw7bkgJ2lhZG9rJy4pCisKKyAgNC4gU3RsYeggPEVTQz4gYSBwcmVqZGkgbmEg72Fsue0gem5haywga3Rvcv0gdHJlYmEgem1lbmm7LgorCisgIDUuIFpvcGFrdWoga3Jva3kgMyBhIDQsIGv9bSBwcnbhIHZldGEgbmllamUgcm92bmFr4SBha28gZHJ1aOEuCisKKy0tLT4gVGVudG8gcm9zZnBsIG3hIG5pZWtvtWtvIHNraWMsIGt0b3LpIGplIHBpcmV3dmLtIHptZW5puyBwaXm7dejhbiBwcu1rYXp1LgorLS0tPiBUZW50byByaWFkb2sgbeEgbmlla2+1a28gc2xvdiwga3RvcukgamUgcG90cmVibukgem1lbmm7IHBvdb5pdO1tIHBy7WthenUuCisKK1Bvem7hbWthLCC+ZSAgY2UgIHptYb5lIHNsb3ZvIGEgbmFzdGF27SB2a2xhZGFj7SBt82QuCisKKworCit+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+fn4KKwkJICAgICAgIExla2NpYSAzLjQ6IFZJQUMgWk1JRU4gUE9VrklUzU0gYworCisKKyAgICoqIFBy7WtheiBwcmUg+nByYXZ5IHNhIHBvdb7tdmEgcyByb3ZuYWv9bWkgcG9oeWJtaSBha28gcHJlIG1hemFuaWUgKioKKworICAxLiBQcu1rYXogcHJlIPpwcmF2eSBwcmFjdWplIHJvdm5ha28gYWtvIHByZSBtYXphbmllLiBGb3Jt4XQgamU6CisKKyAgICAgICAgYyAgICBb6O1zbG9dICAgIHBvaHliCisKKyAgMi4gUG9oeWJ5IHP6IHJvdm5ha+ksIGFrbyBuYXBy7WtsYWQgICB3IChzbG92bykgYSAgJCAoa29uaWVjIHJpYWRrdSkuCisKKyAgMy4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcHJ2/SByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LgorCisgIDQuIFByZXN18iBrdXJ6b3IgbmEgcHJ2+iBjaHlidS4KKworICA1LiBuYXDtuSAgYyQgIGFieSBzaSBtb2hvbCB1cHJhdmm7IHp2eblvayByaWFka3UgcG9ktWEgZHJ1aOlobworICAgICBhIHN0bGHoIDxFU0M+LgorCistLS0+IEtvbmllYyB0b2h0byByaWFka3UgcG90cmVidWplIHBvbW9jLCBhYnkgYm9sIGFrbyBkcnVoeS4KKy0tLT4gS29uaWVjIHRvaHRvIHJpYWRrdSBwb3RyZWJ1amUgb3ByYXZpuyBwb3W+aXTtbSBwcu1rYXp1ICBjJCAuCisKK1BPWk7BTUtBOiBN9L5luSBwb3W+absga2zhdmVzdSBiYWNrc3BhY2UgbmEg+nByYXZ1IHptaWVuIHBv6GFzIHDtc2FuaWEuCisKKworfn5+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+CisJCQkgICAgICAgTEVLQ0lBIDMgWkhSTlVUSUUKKworCisgIDEuIE5hIHZsb75lbmllIHRleHR1LCBrdG9y/SB1viBib2wgem1hemFu/SwgbmFw7bkgIHAgLiBUbyB2bG++7SB6bWF6YW79CisgICAgIHRleHQgWkEga3Vyem9yIChhayBib2wgcmlhZG9rIHptYXphbv0gcHJlamRlIG5hIHJpYWRvayBwb2Qga3Vyem9yb20pLgorCisgIDIuIFByZSBuYXJhZGVuaWUgem5ha3UgbmEgbWllc3RlIGt1cnpvcmEsIG5hcO25ICByICBhIHBvdG9tIHpuYWssIGt0b3L9CisgICAgIG5haHJhZO0gcPR2b2Ru/SB6bmFrLgorCisgIDMuIFBy7WtheiBuYSB1cHJhdmVuaWUgdW1vvvJ1amUgem1lbmm7IG9kIGt1cnpvcmEgYb4gcG8gbWllc3RvLCBrdG9y6QorICAgICB1cuh1amUgcG9oeWIuICBuYXByLiBOYXDtuSAgY2UgIOjtbSB6bW7tuSB0ZXh0IG9kIHBveu1jaWUKKyAgICAga3Vyem9yYSBkbyBrb25jYSBzbG92YSwgYyQgIHptZW7tIHRleHQgZG8ga29uY2EgcmlhZGt1LgorCisgIDQuIEZvcm3hdCBwcmUgbmFocmFkZW5pZSBqZToKKworCSAgICBjICAgIFvo7XNsb10gICAgcG9oeWIKKworCitUZXJheiBwcmVqZGkgbmEgbmFsc2VkdWr6Y3UgbGVrY2l1LgorCisKKworfn5+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+CisJCSAgICAgTGVrY2lhIDQuMTogUE9azUNJQSBBIFNUQVRVUyBT2kJPUlUKKworCisgICoqIFN0bGHoIENUUkwtZyBwcmUgem9icmF6ZW5pZSBzdm9qZWogcG967WNpZSB2IHP6Ym9yZSBhIHN0YXR1c3Ugc/pib3J1LgorICAgICBOYXDtuSAgRyAgcHJlIHByZXN1biBuYSByaWFkb2sgdiBz+mJvcmUuICoqCisKKyAgUG96buFta2E6IFByZejtdGFqIHNpIGNlbPogdPp0byBsZWtjaXUgc2v0ciBha28gemHobmW5IHZ5a29u4XZhuyBrcm9reSEhCisKKyAgMS4gRHK+IHN0bGHoZW76IGts4XZlc3UgQ3RybCBhIHN0bGHoICBnIC4gVG90byBuYXr9dmFtZSBDVFJMLUcuCisgICAgIE5hIHNwb2R1IG9icmF6b3ZreSBzYSB6b2JyYXrtIHNwcuF2YSBzIG7henZvbSBz+mJvcnUgYSBwb3rtY2lvdQorICAgICB2IHP6Ym9yZS4gWmFwYW3kdGFqc2kgc2kg6O1zbG8gcmlhZGt1IHByZSBwb3W+aXRpZSB2IGtyb2t1IDMuCisKKyAgMi4gU3RsYeggIEcgIOjtbSBzYSBkb3N0YW5luSBuYSBzcG9kb2sgc/pib3J1LgorICAgICBOYXDtuSAgZ2cgIOjtbSBzYSBkb3N0YW5luSBuYSB6YehpYXRvayBz+mJvcnUuCisKKyAgMy4gTmFw7bkg6O1zbG8gcmlhZGt1IG5hIGt0b3JvbSBzaSBzYSBuYWNo4WR6YWwgYSBzdGxh6CAgRy4gVG8gu2EKKyAgICAgdnLhdGkgbmEgcmlhZG9rLCBuYSBrdG9yb20gc2kgcHJ2/SBrcuF0IHN0bGHoaWwgQ1RSTC1HLgorCisgIDQuIEFrIHNhIGPtdO25IHNjaG9wbv0gdnlrb25huyB0ZXRvIGtyb2t5LCB2eWtvbmFqIGtyb2t5IDEgYb4gMy4KKworCisKK35+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+fgorCQkJTGVrY2lhIDQuMjogUFLNS0FaIFZZSKVBRMFWQU5JQQorCisKKyAgKiogTmFw7bkgIC8gIG5hc2xlZG92YW7pIHJlu2F6Y29tIHByZSB2eWi1YWRhbmllIHBy7XNsdblu6WhvIHJlu2F6Y2EuICoqCisKKyAgMS4gTmFw7bkgem5hayAgLyAgdiBub3Jt4Wxub20gbfNkZS4gUG96buFta2EsIL5lIHRlbnRvIHpuYWsgc2Egc3BvbHUKKyAgICAgcyBrdXJ6b3JvbSB6b2JyYXrtIHYgZG9sbmVqIOhhc3RpIG9icmF6b3ZreSBzICA6ICBwcu1rYXpvbS4KKworICAyLiBUZXJheiBuYXDtuSAnZXJycm9vcicgPEVOVEVSPi4gVG8gamUgc2xvdm8sIGt0b3LpIGNoY2W5IHZ5aLVhZGG7LgorCisgIDMuIFByZSB2eWi1YWRhbmllIO9hbLlpZWhvIHb9c2t5dHUgcm92bmFr6WhvIHJlu2F6Y2EsIHN0bGHoIGplZG5vZHVjaG8gIG4uCisgICAgIFByZSB2eWi1YWRhbmllIO9hbLlpZWhvIHb9c2t5dHUgcm92bmFr6WhvIHJlu2F6Y2Egb3Bh6G79bSBzbWVyb20sCisgICAgIE4uCisKKyAgNC4gQWsgY2hjZbkgdnlotWFkYbsgcmW7YXplYyB2IHNw5HRub20gc21lcmUsIHBvdb7tIHBy7WtheiAgPyAgbWllc3RvCisgICAgIHBy7WthenUgLy4KKworICA1LiBQcmUgbuF2cmF0IG5hIG1pZXN0byB6IGt0b3LpaG8gc2kgcHJpuWllbCBzdGxh6CBDVFJMLU8gKGRyviBzdGxh6GVu+gorICAgICBrbOF2ZXN1IEN0cmwgcG/oYXMgc3RsYehlbmlhIGts4XZlc3kgbykuIFpvcGFrdWogcHJlIO9hbLntIG7hdnJhdAorICAgICBzcOS7LiBDVFJMLUkgaWRlIHZwcmVkLgorCitQT1pOwU1LQTogImVycnJvb3IiIG5pZWplIHNw9HNvYiBobOFza292YW5pYSBlcnJvcjsgZXJycm9vciBqZSBlcnJvci4KK1BPWk7BTUtBOiBLZe8gdnlotWFk4XZhbmllIGRvc2lhaG5lIGtvbmllYyB0b2h0byBz+mJvcnUsIGJ1ZGUgcG9rcmHob3ZhuyBuYQorICAgICAgemHoaWF0a3UsIGRva2lhtSBuaWVqZSByZXNldG92YW7pIG5hc3RhdmVuaWUgJ3dyYXBzY2FuJyAuCisKKworfn5+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+CisJICAgICBMZWtjaWEgNC4zOiBWWUilQUTBVkFOSUUgWk9EUE9WRURBStpDSUNIIFrBVEFWT1JJRUsKKworCisJICoqIE5hcO25ICAlICBwcmUgdnlotWFkYW5pZSBwcu1zbHW5bulobyB6bmFrdSApLF0sIGFsZWJvIH0gLiAqKgorCisgIDEuIFByZW1pZXN0bmkga3Vyem9yIG5hIGhvY2Fr/SB6byB6bmFrb3YgKCwgWywgYWxlYm8geyB2IHJpYWRrdSBuab65aWUKKyAgICAgb3puYehlbulobyB6bmHoa291IC0tLT4uCisKKyAgMi4gVGVyYXogbmFw7bkgem5hayAgJSAuCisKKyAgMy4gS3Vyem9yIHNhIHByZW1pZXN0bmkgbmEgem9kcG92ZWRhavpjdSB64XR2b3JrdS4KKworICA0LiBOYXDtuSAgJSAgcHJlIHByZXN1biBrdXJ6b3J1IHNw5LsgbmEgb3R24XJhavpjdSB64XR2b3JrdS4KKworICA1LiBQcmVzdfIga3Vyem9yIG5hIGlu/SB6byB6bmFrb3YgKCwpLFssXSx7IGFsZWJvIH0gYSB2uWltbmkgc2kKKyAgICAg6G8gJSB2eWtvbuF2YS4KKworLS0tPiBUb3RvICggamUgdGVzdG92YWPtIHJpYWRvayBzICgncywgWydzIF0gYSB7J3MgfSB2IHJpYWRrdS4gKSkKKworUG96buFta2E6IFRvdG8gamUgdmW1bWkgdv1ob2Ru6SBwb3W+7bsgcHJpIGxhZGVu7SBwcm9ncmFtdSBzIGNo/WJhavpjaW1pCisJICB1emF0duFyYWr6Y2ltaSB64XR2b3JrYW1pIQorCisKKworfn5+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+CisJCSAgICAgIExla2NpYSA0LjQ6IFBSzUtBWiBOQUhSQURFTklBCisKKworICoqIE5hcO25ICAgOnMvc3Rhcv0vbm92/S9nICBwcmUgbmFocmFkZW5pZSBzbG92YSAnc3Rhcv0nIHphIHNsb3ZvICdub3b9Jy4gKioKKworICAxLiBQcmVzdfIga3Vyem9yIG5pvrlpZSBuYSByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LgorCisgIDIuIE5hcO25ICA6cy90aGVlL3RoZSA8RU5URVI+IC4gUG96bmFta2EsIL5lIHRlbnRvIHBy7WtheiB6bWVu7SBsZW4gcHJ2/QorICAgICB2/XNreXQgInRoZWUiIHYgcmlhZGt1LgorCisgIDMuIFRlcmF6IG5hcO25ICAgOnMvdGhlZS90aGUvZyAgIOhvIHpuYW1lbuEgY2Vsa2926SBuYWhyYWRlbmllIHYgcmlhZGt1LgorICAgICBUb3RvIG5haHJhZO0gdrlldGt5IHb9c2t5dHkgdiByaWFka3UuCisKKy0tLT4gVGhlZSBiZXN0IHRpbWUgdG8gc2VlIHRoZWUgZmxvd2VycyBpbiB0aGVlIHNwcmluZy4KKworICA0LiBQcmUgem1lbnUgdrlldGv9Y2ggdv1za3l0b3YgZGFu6WhvIHJlu2F6Y2EgbWVkemkgZHZvbWkgcmlkYWthbWksCisgICAgIG5hcO25ICA6Iywjcy9zdGFy/S9ub3b9L2cgIGtkZSAjLCMgc/og6O1zbGEgZHZvY2ggcmlhZGtvdiwgdiByb3pzYWh1CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt0b3L9Y2ggc2EgbmFocmFkZW5pZSB2eWtvbuEuCisgICAgIG5hcO25ICA6JXMvc3Rhcv0vbm92/S9nICAgIHByZSB6bWVudSB2uWV0a/1jaCB2/XNreXRvdiB2IGNlbG9tIHJpYWRrdQorICAgICBuYXDtuSAgOiVzL3N0YXL9L25vdv0vZ2MgICBu4WpkZSB2uWV0a3kgdv1za3l0eSB2IGNlbG9tIHP6Ym9yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcyBvdOF6a291IOhpIG5haHJhZGm7IGFsZWJvIG5pZQorCisKKworfn5+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+CisJCQkgICAgICAgTEVLQ0lBIDQgWkhSTlVUSUUKKworCisgIDEuIENUUkwtZyAgICB2eXDtuWUgdHZvanUgcG967WNpdSB2IHP6Ym9yZSBhIHN0YXR1cyBz+mJvcnUuCisgICAgICAgICAgICBHICC7YSBwcmVtaWVzdG5pIG5hIGtvbmllYyByaWFka3UuCisgICAgIOjtc2xvICBHICC7YSBwcmVtaWVzdG5pIG5hIHJpYWRvayBzIOjtc2xvbS4KKyAgICAgICAgICAgZ2cgILthIHByZXN1bmllIG5hIHBydv0gcmlhZG9rCisKKyAgMi4gTmFw7XNhbmllICAvICBuYXNsZWRvdmFu6SByZbthemNvbSB2eWi1YWThIHJlu2F6ZWMgc21lcm9tIERPUFJFRFUuCisgICAgIE5hcO1zYW5pZSAgPyAgbmFzbGVkb3ZhbukgcmW7YXpjb20gdnlotWFkYSByZbthemVjIHNtZXJvbSBET1pBRFUuCisgICAgIE5hcO1zYW5pZSAgbiAgcG8gdnlotWFk4XZhbu0sIHZ5aLVhZOEgbmFzbGVkdWr6Y2kgdv1za3l0IHJlu2F6Y2EKKyAgICAgdiByb3ZuYWtvbSBzbWVyZSwgcHJp6G9tICBOICB2eWi1YWThIHYgb3Bh6G5vbSBzbWVyZS4KKyAgICAgQ1RSTC1PILthIHZy4XRpIHNw5LsgbmEgc3RhcrlpdSBwb3rtY2l1LCBDVFJMLUkgbmEgbm92uWl1IHBveu1jaXUuCisKKyAgMy4gTmFw7XNhbmllICAlICBrZe8ga3Vyem9yIGplIG5hICgsKSxbLF0seywgYWxlYm8gfSBu4WpkZSB6b2Rwb3ZkYWr6Y3UKKyAgICAgcOFybnUgeuF0dm9ya3UuCisKKyAgNC4gUHJlIG5haHJhZGVuaWUgbm926WhvIHphIHBydv0gc3Rhcv0gdiByaWFka3UgbmFw7bkgICAgOnMvc3Rhcv0vbm92/QorICAgICBQcmUgbmFocmFkZW5pZSBub3bpaG8gemEgdrlldGt5IHN0YXLpIHYgcmlhZGt1IG5hcO25ICA6cy9zdGFy/S9ub3b9L2cKKyAgICAgUHJlIG5haHJhZGVuaWUgcmW7YXpjb3YgbWVkemkgZHZvbWEgcmlhZGthbWkgMyBuYXDtuSAgOiMsIy9zdGFy/S9ub3b9L2cKKyAgICAgUHJlIG5haHJhZGVuaWUgdrlldGv9Y2ggdv1za3l0b3YgdiBz+mJvcmUgbmFw7bkgICAgICAgOiVzL3N0YXL9L25vdv0vZworICAgICBQcmUgcG90dnJkZW5pZSBrYb5k6WhvIG5haHJhZGVuaWEgcHJpZGFqICdjJwkgICAgICAgICA6JXMvc3Rhcv0vbm92/S9nYworCisKK35+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+fgorCQlMZWtjaWEgNS4xIEFLTyBTUFVTVEmrIFZPTktBSqnNIFBSzUtBWgorCisKKyAqKiBOYXDtuSBwcu1rYXogIDohICBuYXNsZWRvdmFu/SB2b25rYWq57W0gcHLta2F6b20gcHJlIHNwdXN0ZW5pZSBwcu1rYXp1ICoqCisKKyAgMS4gTmFw7bkgb2J2eWts/SBw7WtheiAgOiAga3Rvcv0gbmFzdGF27SBrdXJ6b3IgbmEgc3BvZG9rIG9icmF6b3ZreS4KKyAgICAgVG8gdW1vvm7tIG5hcO1zYbsgcHLta2F6LgorCisgIDIuIFRlcmF6IG5hcO25ICAhICAodv1rcmnobu1rKS4gVG8gdW1vvm7tIHNwdXN0absgaG9jaWFr/SB2b25rYWq57SBwcu1rYXoKKyAgICAgeiBwcu1rYXpvdulobyByaWFka3UuCisKKyAgMy4gQWtvIHBy7WtsYWQgbmFw7bkgIGxzICB6YSAhIGEgc3RsYeggPEVOVEVSPi4gVGVudG8gcHLta2F6CisgICAgIHpvYnJheu0gb2JzYWggdHZvamhvIGFkcmVz4XJhIHJvdm5ha28gYWtvIG5hIHBy7Wthem92b20gcmlhZGt1LgorICAgICBBbGVibyBwb3W+aSAgOiFkaXIgIGFrIGxzIG5lZnVuZ3VqZS4KKworUG96buFta2E6ICBUYWt0byBqZSBtb75u6SBzcHVzdGm7IGhvY2lha/0gdm9ua2Fque0gcHLta2F6IHMgYXJndW1lbnRhbWkuCitQb3pu4W1rYTogIFa5ZXRreSBwcu1rYXp5ICA6ICBtdXNpYSBiebsgZG9rb27oZW7pIHN0bGHoZW7tbSA8RU5URVI+CisKKworCisKK35+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+fgorCQkgICAgICBMZWtjaWEgNS4yOiBWSUFDIE8gVUtMQURBTs0gU9pCT1JPVgorCisKKyAgICAgKiogUHJlIHVsb75lbmllIHptaWVuIHYgc/pib3JlLCBuYXDtuSAgOncgRklMRU5BTUUuICoqCisKKyAgMS4gTmFw7bkgIDohZGlyICBhbGVibyAgOiFscyAgcHJlIHb9cGlzIGFrdHXhbG5laG8gYWRyZXPhcmEuCisgICAgIFW+IHZpZbksIL5lIG11c+25IHphIHT9bXRvIHN0bGHoabsgPEVOVEVSPiAuCisKKyAgMi4gVnliZXIgbuF6b3Ygc/pib3J1LCBrdG9y/SBluXRlIG5lZXhpc3R1amUsIGFrbyBuYXByLiBURVNULgorCisgIDMuIFRlcmF6IG5hcO25OiAgIDp3IFRFU1QgICAoa2RlIFRFU1QgamUgbuF6b3YgdnlicmF06WhvIHP6Ym9ydS4pCisKKyAgNC4gVG8gdWxvvu0gY2Vs/SBz+mJvciAgKFZpbSBUdXRvcikgIHBvZCBu4Xpvdm0gVEVTVC4KKyAgICAgUHJlIG92ZXJlbmllIG5hcO25ICAgOiFkaXIgICAsIOjtbSAgem9icmF67bkgb2JzYWggYWRyZXPhcmEuCisKK1Bvem7hbWthOiC+ZSBhayB1a29u6O25IHBy4WN1IHMgZWRpdG9yb20gVmltIGEgem5vdnUgaG8gc3B1c3TtuSBwcu1rYXpvbQorCSAgICAgICAgdmltIFRFU1QsIHP6Ym9yIGJ1ZGUga/NwaWEgdv11a3ksIGtl7yBzaSBobyB1bG++aWwuCisKKyAgNS4gVGVyYXogb2RzdHLh8iBz+mJvciBuYXDtc2Fu7W0gKE1TLURPUyk6ICAgOiFkZWwgVEVTVAorCQkJICAgICBhbGVibyAoVW5peCk6ICAgICA6IXJtIFRFU1QKKworCit+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+fn4KKwkJICAgIExla2NpYSA1LjMgVt1CRVIgVEVYVFUgUFJFIFVMT65FTklFCisKKworICAqKiBQcmUgdWxvvmVuaWUg6GFzdGkgc/pib3J1LCBuYXDtuSAgdiAgcG9oeWIgOncgRklMRU5BTUUgKioKKworICAxLiBQcmVzdfIga3Vyb3pyIG5hIHRlbnRvIHJpYWRvay4KKworICAyLiBTdGxh6CAgdiAgYSBwcmVzdfIga3Vyb3pyIG5hIHBpYXR1IHBvbG++a3UgZG9sZS4gUG96buFta2EsIL5lCisgICAgIHRlbnRvIHRleHQgamUgdnl6bmHoZW79IChoaWdobGlnaHRlZCkuCisKKyAgMy4gU3RsYegga2zhdmVzdSAgOiAuIFYgc3BvZG5laiDoYXN0aSBva25hIHNhIG9iamF27SAgOic8LCc+LgorCisgIDQuIE5hcO25IHcgVEVTVCAgLCBrZGUgVEVTVCBqZSBtZW5vIHP6Ym9ydSwga3Rvcv0gemF0aWFsIG5lZXhpc3R1amUuCisgICAgIFNrb250cm9sdWosIGUgdmlk7bkgIDonPCwnPncgVEVTVCAgcHJlZHT9bSBuZb4gc3RsYejtuSBFbnRlci4KKworICA1LiBWaW0gemFw7bllIG96bmHoZW7pIHJpYWRreSBkbyBz+mJvcnUgVEVTVC4gUG91vmkgOiFkaXIgIGFsZWJvICAhbHMKKyAgICAgcHJlIG92ZXJlbmllLiBaYXRpYWwgaG8gZbl0ZSBuZW1hviEgUG91vmlqZW1lIGhvIHYg72FsuWVqIGxla2NpaS4KKworUE9aTsFNS0E6IFN0bGHoZW7tbSBrbOF2ZXN5ICB2ICBzYSBzcHVzdO0gdml6deFsbmUgb3puYehvdmFuaWUuCisgICAgICAgICAgTfS+ZbkgcG9oeWJvdmG7IGt1cnpvcm9tIHByZSB1cHJlc25lbmllIHZ5em5h6GVu6WhvIHRleHR1LgorICAgICAgICAgIFBvdG9tIG30vmW5IHBvdb5puyBvcGVy4XRvciBwcmUgdnlrb25hbmllIG5lamFrZWogYWtjaWUKKyAgICAgICAgICBzIHRleHRvbS4gTmFwcu1rbGFkICBkICB6bWG+ZSB2eXpuYehlbv0gdGV4dC4KKworCit+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+fn4KKwkJICAgTGVrY2lhIDUuNDogVt1CRVIgQSBaTFXIT1ZBTklFIFPaQk9ST1YKKworCisJKiogUHJlIHZsb75lbmllIG9ic2FodSBz+mJvcnUsIG5hcO25ICAgOnIgRklMRU5BTUUgKioKKworICAxLiBQcmVtaWVzdG5pIGt1cnpvciBuYWQgdGVudG8gcmlhZG9rLgorCitQT1pOwU1LQTogUG8gdnlrb25hbu0ga3Jva3UgMiB1dmlk7bkgdGV4dCB6IGxla2NpZSA1LjMuIFBvdG9tIHNhIHByZXN18gorICAgICAgICAgIGRvbGUsIGFieSBzaSB2aWRlbCB0+nRvIGxla2NpdS4KKworICAzLiBUZXJheiB2bG++IHP6Ym9yIFRFU1QgcG91vml07W0gcHLta2F6dSAgIDpyIFRFU1QgICBrZGUgVEVTVCBqZSBu4XpvdgorICAgICBz+mJvcnUuIFP6Ym9yLCBrdG9y/SBzaSBwb3W+aWwgamUgdW1pZXN0bmVu/SBwb2QgcmlhZGtvbSBzIGt1cnpvcm9tLgorCitQT1pOwU1LQTogTfS+ZbkgdGllviBuYejtdGG7IHb9c3R1cCB2b25rYWq5aWVobyBwcu1rYXp1LiBOYXBy7WtsYWQgOnIgIWxzCisgICAgICAgICAgbmHo7XRhIHb9c3R1cCBwcu1rYXp1IGxzIGEgdW1pZXN0bmkgaG8gemEgcG967WNpdSBrdXJ6b3JhLgorCisKK35+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+fgorCQkJICAgICAgIExFS0NJQSA1IFpIUk5VVElFCisKKworICAxLiAgOiFwcu1rYXogIHNwdXN07SB2b25rYWq57SBwcu1rYXouCisKKyAgICAgIE5pZWt0b3LpIHZ5db5pdGW1bukgcHLta2xhZHkgc/o6CisJKE1TX0RPUykgICAgKFVOSVgpCisJIDohZGlyICAgICAgIDohbHMJICAgIC0gIHpvYnJheu0gb2JzYWggYWRyZXPhcmEKKwkgOiFkZWwgRklMRU5BTUUgICAgOiFybSBGSUxFTkFNRSAgICAtICBvZHN0cuFuaSBz+mJvciBGSUxFTkFNRQorCisgIDIuICA6dyBGSUxFTkFNRSAgdWxvvu0gYWt0deFsbnkgc/pib3IgbmEgZGlzayBwb2QgbWVub20gRklMRU5BTUUuCisKKyAgMy4gIHYgIHBvaHliICA6dyBGSUxFTkFNRSAgdWxvvu0gdml6deFsbmUgb3puYehlbukgcmlhZGt5IGRvCisgICAgICBz+mJvcnUgRklMRU5BTUUuCisKKyAgNC4gIDpyIEZJTEVOQU1FICB2eWJlcmllIHogZGlza3Ugc/pib3IgRklMRU5BTUUgYSB2bG++7SBobyBkbyBha3R14WxuZWhvCisgICAgICBz+mJvcnUgemEgcG967WNpb3Uga3Vyem9yYS4KKworICA1LiA6ciAhZGlyICBuYejtdGEgdv1zdHVwIHogcHLta2F6dSBkaXIgYSB2bG++7SBobyB6YSBwb3rtY2l1IGt1cnpvcmEuCisKKworCit+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+fn4KKwkJCSBMZWtjaWEgNi4xOiBQUs1LQVogT1RWT1JJqworCisKKyoqIE5hcO25ICBvICBwcmUgdmxvvmVuaWUgcmlhZGt1IHBvZCBrdXJ6b3IgYSBwcmVwbnV0aWUgZG8gdmtsYWRhY2llaG8gbfNkdSAqKgorCisgIDEuIFByZXN18iBrdXJ6b3Igbmm+uWllIG5hIHJpYWRvayBvem5h6GVu/SB6bmHoa291IC0tLT4uCisKKyAgMi4gTmFw7bkgbyAobWFs6SBw7XNtZW5vKSBwcmUgdmxvvmVuaWUg6GlzdOlobyByaWFka3UgcG9kIGt1cnpvcm0KKyAgICAgYSBwcmVwbnV0aWUgZG8gdmtsYWRhY2llaG8gbfNkdS4KKworICAzLiBUZXJheiBza29w7XJ1aiByaWFkb2sgb3puYehlbv0gLS0tPiBhIHN0bGHoIDxFU0M+IHByZSB1a29u6GVuaWUKKyAgICAgdmtsYWRhY2llaG8gbfNkdS4KKworLS0tPiBQbyBuYXDtc2Fu7SAgbyAgc2Ega3Vyem9yIHByZW1pZXN0bu0gbmEgdmxvvmVu/SByaWFkb2sgZG8gdmtsYWRhY2llaG8KKyAgICAgbfNkdS4KKworICA0LiBQcmUgb3R2b3JlbmllIHJpYWRrdSBuYWQga3Vyem9yb20sIGplZG5vdHVjaG8gbmFw7bkgdmW1a+kgIE8gLAorICAgICBuYW1pZXN0byBtYWzpaG8gIG8uIFZ5c2v6uWFqIHNpIHRvIG5hIHJpYWRrdSBkb2xlLgorCistLS0+IFZsb74gcmlhZG9rIG5hZCB0/W10byBuYXDtc2Fu7W0gTywga2XvIGt1cnpvciBqZSBuYSB0b210byByaWFka3UuCisKKworCit+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+fgorCQkJTGVrY2lhIDYuMjogUFLNS0FaIFBSSURBqworCisKKwkgICAqKiBOYXDtuSAgYSAgcHJlIHZsb75lbmllIHRleHR1IFpBIGt1cnpvci4gKioKKworICAxLiBQcmVzdfIga3Vyem9yIG5pvrlpZSBuYSBrb25pZWMgcHJ26WhvIHJpYWRrdSBvem5h6GVu6WhvIHpuYehrb3UgLS0tPgorCisgIDIuIFN0bGHoIGts4XZlc3UgIGUgIGRva2lhtSBrdXJvenIgbmllamUgbmEga29uY2kgcmlhZGt1LgorCisgIDMuIE5hcO25ICBhICAobWFs6SBw7XNtZW5vKSBwcmUgcHJpZGFuaWUgdGV4dHUgWkEga3Vyem9yb20uCisKKyAgNC4gRG9rb27o7SBzbG92byB0YWsgYWtvIGplIHRvIHYgZHJ1aG9tIHJpYWRrdS4gU3RsYbkgPEVTQz4gcHJlCisgICAgIG9wdXN0ZW5pZSB2a2xhZGFjaWVobyBt82R1LgorCisgIDUuIFBvdb5pICBlICBuYSBwcmVzdW4gbmEg72FsuWllIG5lZG9rb27oZW7pIHNsb3ZvIGEgem9wYWt1aiBrcm9reSAzIGEgNC4KKworLS0tPiBUZW50byByaSB0aSBkb3ZvtXVqZSBu4WN2IHByaeF2YW4gdGVzdHUgbmEga29uaWVjIHJpYWRrdS4KKy0tLT4gVGVudG8gcmlhZG9rIHRpIGRvdm+1dWplIG7hY3ZpayBwcmlk4XZhbmlhIHRleHR1IG5hIGtvbmllYyByaWFka3UuCisKK1BPWk7BTUtBOiBhLCBpLCBBILl0YXJ0dWr6IHJvdm5ha/0gdmtsYWRhY+0gbfNkLCBqZWRpbv0gcm96aWRlbCBqZSwga2RlCisgICAgICAgICAgc2Egem5ha3kgdmtsYWRhavouCisKKworfn5+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+CisJCSAgICBMZWtjaWEgNi4zOiBJTt0gU1BPU09CIE5BSFJBRFpPVkFOSUEKKworCisgICAgICAqKiBOYXDtuSB2ZbVr6SBSIHByZSBuYWhyYWRlbmllIHZpYWMgYWtvIGplZG7paG8gem5ha3UuICoqCisKKyAgMS4gUHJlc3XyIGt1cnpvciBuab65aWUgbmEgcHJ2/SByaWFkb2sgb3puYehlbv0gem5h6GtvdSAtLS0+LiBQcmVtaWVzdG5pCisgICAgIGt1cnpvciBuYSB6YehpYXRvayBwcnbpaG8gdv1za3l0dSAgeHh4LgorCisgIDIuIFRlcmF6IG5hcO25ICBSICBhICBuYXDtuSAg6O1zbG8gdXZlZGVu6SB2IGRydWhvbSByaWFka3UsIHRha75lCisgICAgIHNhIG7tbSBuYWhyYWTtIHD0dm9kbukgeHh4LgorCisgIDMuIFN0bGHoIDxFU0M+IHByZSBvcHVzdGVuaWUgbmFocmFkem92YWNpZWhvIG3zZHUuIFBvem7hbWthLCC+ZSB6dnm5b2sKKyAgICAgcmlhZGt1IHpvc3RhbmUgbmV6bWVuZW79LgorCisgIDQuIFpvcGFrdWogdGlldG8ga3Jva3kgcHJlIG5haHJhZGVuaWUgenZ5uW79Y2ggeHh4LgorCistLS0+IFByaWRhbu1tIDEyMyBrdSB4eHggZG9zdGFuZbkgeHh4LgorLS0tPiBQcmlkYW7tbSAxMjMga3UgNDU2IGRvc3RhbmW5IDU3OS4KKworUE9aTsFNS0E6ICBOYWhyYWR6b3ZhY+0gbfNkIGplIGFrbyB2a2xhZGFj7SBt82QsIGFsZSBrYb5k/SBuYXDtc2Fu/SB6bmFrCisgICAgICAgICAgIHptYb5lIGV4aXN0dWr6Y2kgem5hay4KKworCit+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+fn4KKworICAgICAgICAgIExla2NpYSA2LjQ6IENvcHkgUGFzdGUgdGV4dHUKKworICAgICoqIHBvdb7tIG9wZXLhdG9yICB5ICBwcmUgY29weSB0ZXh0a3UgYSAgcCAgcHJlIGplaG8gcGFzdGUgKioKKworICAxLiBDaG/vIG5pvrlpZSBuYSByaWFkb2sgb3puYehlbv0gLS0tPiBhIHVtaWVzdG5pIGt1cm96ciB6YSAiYSkiLgorCisgIDIuIE5huXRhcnR1aiB2aXp14WxueSBt82QgcG91vml07W0gIHYgIGEgcHJlc3XyIGt1cm96ciBwcmVkICJmaXJzdCIuCisKKyAgMy4gTmFw7bkgIHkgIHByZSAgdnlzdHJpaG51dGllIChjb3B5KSBvem5h6GVu6WhvIHRleHR1LgorCisgIDQuIFByZXN18iBrdXJvenIgbmEga29uaWVjIO9hbLlpZWhvIHJpYWRrdTogaiQKKworICA1LiBOYXDtuSAgcCAgcHJlIHZsb75uaWUgKHBhc3RlKSB0ZXh0dS4gUG90b20gbmFw7bk6ICBhIGRydWhhIDxFU0M+LgorCisgIDYuIFBvdb5pIHZpenXhbG55IG3zZCBwcmUgb3puYehlbmllICJwb2xvvmthLiIsIHZ5c3RyaWhuaSB0bworICAgICBwb3W+aXTtbSAgeSwgcHJlc3XyIHNhIG5hIGtvbmllYyBuYXNsZWR1avpjZWhvIHJpYWRrdSBwb3W+aXTtbSAgaiQKKyAgICAgYSB2bG++IHNlbSB0ZXh0IHBvdb5pdO1tICBwLgorCistLS0+IGEpIHRvdG8gamUgcHJ24SBwb2xvvmthCistLS0+IGIpCisKK1BPWk7BTUtBOiBN9L5luSBwb3W+absgdGllviAgeSAgYWtvIG9wZXLhdG9yOyB5dyAgdnlzdHJpaG5lIGplZG5vIHNsb3ZvLgorCisKK35+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+fgorCQkJIExla2NpYSA2LjU6IE5BU1RBVkVOSUUgTU+uTk9TVM0KKworCisqKiBOYXN0YXYgbW++bm9zdGksIHRha75lIHZ5aLVhZOF2YW5pZSBhbGVibyBuYWhyYWR6b3ZhbmllIGlnbm9ydWplCisgICByb3psablvdmFuaWUgKioKKworCisgIDEuIFZ5aLVhZGFqIHJlu2F6ZWMgJ2lnbm9yZScgbmFw7XNhbu1tOgorICAgICAvaWdub3JlIDxFTlRFUj4KKyAgICAgWm9wYWt1aiB2eWi1YWThdmFuaWUgbmlla2+1a28ga3LhdCBzdGxh6GVu7W0ga2zhdmVzeSAgbiAuCisKKyAgMi4gTmFzdGF2IG1vvm5vc7sgJ2ljJyAoSWdub3JlIGNhc2UpIG5hcO1zYW7tbSBwcu1rYXp1OgorICAgICA6c2V0IGljCisKKyAgMy4gVGVyYXogdnlotWFkYWogcmW7YXplYyAnaW5nb3JlJyB6bm92YSBzdGxh6GVu7W0ga2zhdmVzeSAgbgorICAgICBQb3pu4W1rYSwgvmUgdGVyYXogc/ogdnlotWFkYW7pIGFqIElnbm9yZSBhIElHTk9SRS4KKworICA0LiBOYXN0YXYgbW++bm9zu2kgJ2hsc2VhcmNoJyBhICdpbmNzZWFyY2gnOgorICAgICA6c2V0IGhscyBpcworCisgIDUuIFRlcmF6IHNwdXN0aSB2eWi1YWThdmFj7SBwcu1rYXogem5vdnUsIGEgcG96cmkg6G8gc2Egc3RhbG86CisgICAgIC9pZ25vcmUgPEVOVEVSPgorCisgIDYuIFByZSBvcGV0b3Zu6SB6YXBudXRpZSByb3pseblvdmFuaWEgdmW1a/1jaCBhIG1hbP1jaCBw7XNtZW4KKyAgICAgbmFw7bk6ICA6c2V0IG5vaWMKKworUE9aTsFNS0E6IE5hIG9kc3Ry4W5lbmllIHp2/XJhem5lbmlhIHb9cmF6b3YgbmFw7bk6ICA6bm9obHNlYXJjaAorUE9aTsFNS0E6IEFrIGNoY2W5IG5lcm96bHm5b3ZhuyB2ZbVrb3O7IHDtc21lbiBsZW4gcHJlIGplZG5vCisgICAgICAgICAgcG91vml0aWUgdnlotWFk4XZhY2llaG8gcHLta2F6dSwgcG91vmkgXGM6ICAvaWdub3JlXGMgPEVOVEVSPgorCit+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+fn4KKwkJCSAgICAgIExFS0NJQSA2IFpIUk5VVElFCisKKworICAxLiBOYXDtuSAgbyAgcHJlIG90dm9yZW5pZSByaWFka3UgcG9kIGt1cnpvcm9tIGEguXRhcnQgdmtsYWRhY2llaG8gbfNkdS4KKyAgICAgTmFw7bkgIE8gIHByZSBvdHZvcmVuaWUgcmlhZGt1IG5hZCBrdXJ6b3JvbS4KKworICAyLiBOYXDtuSAgYSAgcHJlIHZrbGFkYW5pZSB0ZXh0dSBaQSBrdXJ6b3IuCisgICAgIE5hcO25ICBBICBwcmUgdmtsYWRhbmllIHRleHR1IHphIGtvbmNvbSByaWFka3UuCisKKyAgMy4gUHLta2F6ICBlICBwcmVzdW5pZSBrdXJvenIgbmEga29uaWVjIHNsb3ZhCisKKyAgNC4gT3BlcuF0b3IgIHkgIHZ5c3RyaWhuZSAoc2tvcO1ydWplKSB0ZXh0LCAgcCAgaG8gdmxvvu0uCisKKyAgNS4gTmFw7XNhbmllIHZltWvpaG8gIFIgIHByZXBuZSBkbyBuYWhyYWR6b3ZhY2llaG8gbfNkdSwga/1tIG5pZWplCisgICAgIHN0bGHoZW7pIDxFU0M+LgorCisgIDYuIE5hcO1zYW5pZSAiOnNldCB4eHgiIG5hc3Rhdu0gbW++bm9zuyAieHh4Ii4gTmlla3RvcukgbmFzdGF2ZW5pYSBz+joKKyAgICAgJ2ljJyAnaWdub3JlY2FzZScgaWdub3J1amUgdmW1a+kgYSBtYWzpIHDtc21lbuEgcG/oYXMgdnlotWFk4XZhbmlhLgorICAgICAnaXMnICdpbmNzZWFyY2gnIHpvYnJhenVqZSDoaWFzdG/obukgcmW7YXpjZSB2eWi1YWThdmFu6WhvIHJlu2F6Y2EuCisgICAgICdobHMnICdobHNlYXJjaCcgdnl6bmHo7SB2uWV0a3kgdnlotWFk4XZhbukgcmW7YXpjZS4KKyAgICAgIE30vmW5IHBvdb5puyBob2Npa3Rvcv0geiBkbGj9Y2ggYSBrcuF0a3ljaCBu4Xp2b3YgbW++bm9zdO0uCisKKyAgNy4gVmxvviAibm8iIHByZWQgbmFzdGF2ZW5pZSBwcmUgamVobyB2eXBudXRpZTogIDpzZXQgbm9pYworCisKKworCisKKworCit+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+fn4KKwkJICAgIExFS0NJQSA3LjE6IFrNU0tBTklFIE7BUE9WRURZCisKKworCSAgKiogUG91vu12YWogb24tbGluZSBzeXN06W0gbuFwb3ZlZHkgKioKKworICBWaW0gbeEgb2JzaWFobHkgb24tbGluZSBzeXN06W0gbuFwb3ZlZHkuIFByZSBvZLl0YXJ0b3ZhbmllLCB2eXNr+rlhaiBqZWRlbgorICB6IHT9Y2h0byB0cm9jaDoKKwktIHN0bGHoIGts4XZlc3UgPEhFTFA+IChhayBuZWpha/ogbeG5KQorCS0gc3RsYegga2zhdmVzdSA8RjE+IChhayBuZWpha/ogbeG5KQorCS0gbmFw7bkgIDpoZWxwIDxFTlRFUj4KKworICDI7XRhaiB0ZXh0IHYgb2tuZSBu4XBvdmVkeSBwcmUgeu1za2FuaWUgcHJlZHN0YXZ5IGFrbyBu4XBvdmVkYSBmdW5ndWplLgorICBOYXDtuSAgIENUUkwtVyBDVFJMLVcgIHByZSBza29rIHogamVkbulobyBva25hIGRvIGRydWjpaG8uCisgIE5hcO25ICAgIDpxIDxFTlRFUj4gICAg6O1tIHphdHZvcu25IG9rbm8gbuFwb3ZlZHkuCisKKyAgTfS+ZbkgbuFqc7sgaGVscCBrdSBob2NpYWtlaiB06W1lIHByaWRhbu1tIGFyZ3VtZW50dSBrdSBwcu1rYXp1ICI6aGVscCIuCisgIFZ5c2v6uWFqIHRpZXRvIChuZXphYnVkbmkgc3RsYehpuyA8RU5URVI+KToKKworCTpoZWxwIHcKKwk6aGVscCBjX0NUUkwtRAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCisKKworfn5+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+CisJCSBMRUtDSUEgNy4yOiBWWVRWT1JFTklFIKlUQVJUT1ZBQ0lFSE8gU0tSSVBUVQorCisJCSAgICAgICAqKiBaYXBuaSBmdW5rY2llIGVkaXRvcmEgVmltICoqCisKKyAgVmltIG3hIG9tbm9obyB2aWFjIGZ1bmtjaWkgbmW+IFZpLCBhbGUgdmXouWluYSB6IG5pY2ggamUgaW1wbGljaXRuZQorICB2eXBudXThLiBQcmUgcG91vu12YW5pZSB2aWFjIFZpbSBmdW5rY2lpIHZ5dHZvciAidmltcmMiIHP6Ym9yLgorCisgIDEuIFph6G5pIGVkaXRvdmG7ICJ2aW1yYyIgc/pib3IsIHRvIHrhdmlz7SBuYSBwb3W+aXRvbSBzeXN06W1lOgorCTplIH4vLnZpbXJjICAgICAgcHJlIFVuaXgKKwk6ZSAkVklNL192aW1yYyAgIHByZSBNUy1XaW5kb3dzCisKKyAgMi4gVGVyYXogc2kgcHJl6O10YWogdGV4dCBwcu1rbGFkdSAidmltcmMiIHP6Ym9ydToKKworCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gVWxvviBz+mJvcjoKKwk6dworCisgIFByaSBuYXNsZWR1avpjb20guXRhcnRlIGVkaXRvcmEgVmltIHNhIHBvdb5pamUgenb9cmF68m92YW5pZSBzeW50YXhlLgorICBEbyAidmltcmMiIHP6Ym9ydSBt9L5luSBwcmlkYbsgdrlldGt5IHN2b2plIHVwcmVkbm9zdPJvdmFu6SBuYXN0YXZlbmlhLgorICBQcmUgdmlhYyBpbmZvcm3hY2lpIG5hcO25ICA6aGVscCB2aW1yYy1pbnRybworCit+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+fn4KKworICAgICAgICAgICAgICAgICAgIExFS0NJQSA3LjMgRE9LT07IRU5JRQorCisgICAgICoqIERva29u6GkgcHLta2F6IG5hIHBy7Wthem92b20gcmlhZGt1IHBvdb5pdO1tIENUUkwtRCBhIDxUQUI+ICoqCisKKyAgMS4gVWlzdGkgc2EsIL5lIFZpbSBuaWVqZSB2IGtvbXBhdGliaWxub20gbfNkZTogIDpzZXQgbm9jcAorCisgIDIuIFBvenJpIHNhIGFr6SBz+mJvcnkgc2EgbmFjaOFkemFq+iB2IGFkcmVz4XJpOiAgOiFscyAgYWxlYm8gIDohZGlyCisKKyAgMy4gTmFw7bkgemHoaWF0b2sgcHLta2F6dTogIDplCisKKyAgNC4gU3RsYeggIENUUkwtRCAgYSBWaW0gem9icmF67SB6b3puYW0gcHLta2F6b3YgemHo7W5havpjaWNoICJlIi4KKworICA1LiBTdGxh6CA8VEFCPiBhIFZpbSBkb2tvbujtIG1lbm8gcHLta2F6dSBuYSAiOmVkaXQiLgorCisgIDYuIFRlcmF6IHByaWRhaiBtZWR6ZXJu7WsgYSB6YehpYXRvayBtZW5hIGV4aXN0dWr6Y2VobyBz+mJvcnU6CisgICAgIDplZGl0IEZJTAorCisgIDcuIFN0bGHoIDxUQUI+LiBWaW0gZG9rb27o7SBtZW5vIChhayBqZSBqZWRpbmXobukpLgorCitQT1pOwU1LQTogRG9rb27ob3ZhbmllIGZ1bmd1amUgcHJlIHZltWEgcHLta2F6b3YuIFZ5c2v6uWFqIHN0bGHoZW5pZQorICAgICAgICAgIENUUkwtRCBhIDxUQUI+LiCpcGVjaeFsbmUgamUgdG8gdb5pdG/obukgcHJlIHBy7WtheiAgOmhlbHAuCisKKworfn5+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+CisKKyAgICAgICAgICAgIExFS0NJQSA3IFpIUk5VVElFCisKKyAgMS4gTmFw7bkgIDpoZWxwICBhbGVibyBzdGxh6CA8RjE+IGFsZWJvIDxIZWxwPiBwcmUgb3R2b3JlbmllIG9rbmEgbuFwb3ZlZHkuCisKKyAgMi4gTmFw7bkgIDpoZWxwIHBy7WtheiAgcHJlIHZ5aLVhZGFuaWUgbuFwb3ZlZHkga3UgcHLta2F6dSBwcu1rYXouCisKKyAgMy4gTmFw7bkgIENUUkwtVyBDVFJMLVcgIG5hIHByZXNrb+hlbmllIGRvIGlu6WhvIG9rbmEuCisKKyAgNC4gTmFw7bkgIDpxICBwcmUgemF0dm9yZW5pZSBva25hIG7hcG92ZWR5CisKKyAgNS4gVnl0dm9yILl0YXJ0b3ZhY+0gc2tyaXB0IHZpbXJjIHByZSB1ZHK+YW5pZSB1cHJlZG5vc3Tyb3Zhbv1jaCBuYXN0YXZlbu0uCisKKyAgNi4gUG/oYXMgcO1zYW5pYSBwcu1rYXp1ICA6ICBzdGxh6CBDVFJMLUQgcHJlIHpvYnJhemVuaWUgZG9rb27oZW7tLgorICAgICBTdGxh6CA8VEFCPiBwcmUgcG91vml0aWUgamVkbulobyB6IGRva29u6GVu7S4KKworCit+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+fn4KKworCisKKyAgVG90byB2eW1lZHp1amUgdv11a3UgVmltdS4gVG90byBqZSB1cuhlbukgcHJlIHN0cnVjbv0gcHJlaLVhZCBvIGVkaXRvcmUKKyAgVmltLCD6cGxuZSBwb3N0Yeh1avpjZSBwcmUgtWFoa+kgYSBvYnN0b2pu6SBwb3W+7XZhbmllIHRvaHRvIGVkaXRvcmEuCisgIFThdG8gdv11a2EgamUg72FsZWtvIG9kIGtvbXBsZXRub3N0aSwgcHJldG++ZSBWaW0gbeEgb21ub2hvIHZpYWNlaiBwcu1rYXpvdi4KKyAgQWtvIO9hbLlpZSBzaSBwcmXo7XRhaiB1vu12YXS1c2v9IG1hbnXhbDogIjpoZWxwIHVzZXItbWFudWFsIi4KKworICBQcmUg72FsuWllIOjtdGFuaWUgYSC5dPpkaXVtIGplIG9kcG9y+uhhbuEga25paGE6CisgIFZpbSAtIFZpIEltcHJvdmVkIC0gb2QgU3RldmUgT3VhbGxpbmUKKyAgVnlkYXZhdGW1OiBOZXcgUmlkZXJzCisgIFByduEga25paGEgdXLoZW7hIHByZSBWaW0uIKlwZWNp4WxuZSB2aG9kbuEgcHJlIHph6GlhdG/obu1rb3YuCisgIE9ic2FodWplIG1ub75zdHZvIHBy7WtsYWRvdiBhIG9icuF6a292LgorICBQb3pyaSBuYSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFThdG8ga25paGEgamUgc3RhcrlpYSBhIGplIHZpYWMgbyBWaSBha28gbyBWaW0sIGFsZSBqZSB0aWW+IG9kcG9y+uhhbuE6CisgIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBvZCBMaW5kYSBMYW1iCisgIFZ5ZGF2YXRltTogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgSmUgdG8gZG9icuEga25paGEgcHJlIHrtc2thbmllIHZlZG9tb3N07SBvIHBy4WNpIHMgZWRpdG9yb20gVmkuCisgIKlpZXN0ZSB2eWRhbmllIG9ic2FodWplIHRpZb4gaW5mb3Jt4WNpZSBvIGVkaXRvcmUgVmltLgorCisgIFThdG8gdv11a2EgYm9sYSBuYXDtc2Fu4SBhdXRvcm1pIE1pY2hhZWwgQy4gUGllcmNlIGEgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBzIHBvdb5pdO1tIG15uWxpZW5vayBkb2Rhbv1taSBvZCBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgTW9kaWZpa292YW7pIHByZSBWaW0gb2QgQnJhbSBNb29sZW5hYXIuCisKK35+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+fgorCisgIFByZWtsYWQgZG8gU2xvdmVu6GlueTogpXVib7kgyGVsa28KKyAgZS1tYWlsOiAgICAgICBjZWxib3NAaW5tYWlsLnNrCisgIExhc3QgQ2hhbmdlOiAgMjAwNiBBcHIgMTgKKyAgZW5jb2Rpbmc6ICAgICBpc284ODU5LTIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3Iuc3YgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnN2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ZjBmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnN2CkBAIC0wLDAgKzEsODMwIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9IFYg5CBsIGsgbyBtIG0gZSBuICB0IGkgbCBsICBoIGEgbiBkIGwgZSBkIG4gaSBuIGcgZSBuICBpICBWIGkgbSAgLSBWZXIuIDEuNSA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIORyIGVuIHbkbGRpZ3Qga3JhZnRmdWxsIHJlZGlnZXJhcmUgc29tIGhhciBt5W5nYSBrb21tYW5kb24sIGFsbHRm9nIKKyAgICAgbeVuZ2EgYXR0IGb2cmtsYXJhIGkgZW4gaGFuZGxlZG5pbmcgc29tIGRlbm5hLiBEZW4gaORyIGhhbmRsZWRuaW5nZW4g5HIKKyAgICAgZ2pvcmQgZvZyIGF0dCBm9nJrbGFyYSB0aWxscuRja2xpZ3QgbeVuZ2Ega29tbWFuZG9uIHPlIGF0dCBkdSBlbmtlbHQgc2thCisgICAgIGt1bm5hIGFuduRuZGEgVmltIHNvbSBlbiByZWRpZ2VyYXJlIGb2ciBhbGxhIORuZGFt5WwuCisKKyAgICAgRGVuIGJlcuRrbmFkZSB0aWRlbiBm9nIgYXR0IHNsdXRm9nJhIGRlbm5hIGhhbmRsZWRuaW5nIORyIDI1LTMwIG1pbnV0ZXIsCisgICAgIGJlcm9lbmRlIHDlIGh1ciBteWNrZXQgdGlkIHNvbSBs5GdncyBuZWQgcOUgZXhwZXJpbWVudGVyaW5nLgorCisgICAgIEtvbW1hbmRvbmEgaSBsZWt0aW9uZXJuYSBrb21tZXIgYXR0IG1vZGlmaWVyYSB0ZXh0ZW4uIEf2ciBlbiBrb3BpYSBhdiBkZW4KKyAgICAgaORyIGZpbGVuIGF0dCD2dmEgcOUgKG9tIGR1IHN0YXJ0YWRlICJ2aW10dXRvciDkciBkZXQgaORyIHJlZGFuIGVuIGtvcGlhKS4KKworICAgICBEZXQg5HIgdmlrdGlndCBhdHQga29tbWEgaWjlZyBhdHQgZGVuIGjkciBoYW5kbGVkbmluZ2VuIORyIGtvbnN0cnVlcmFkCisgICAgIGF0dCBs5HJhIHZpZCBhbnbkbmRuaW5nLiBEZXQgYmV0eWRlciBhdHQgZHUgbeVzdGUga/ZyYSBrb21tYW5kb25hIGb2ciBhdHQKKyAgICAgbORyYSBkaWcgZGVtIG9yZGVudGxpZ3QuIE9tIGR1IGJhcmEgbORzZXIgdGV4dGVuIHPlIGtvbW1lciBkdSBhdHQgZ2z2bW1hCisgICAgIGtvbW1hbmRvbmEhCisKKyAgICAgRvZyc+RrcmEgZGlnIG51IG9tIGF0dCBkaW4gQ2Fwcy1Mb2NrIHRhbmdlbnQgSU5URSDkciBha3RpdiBvY2ggdHJ5Y2sgcOUKKyAgICAgai10YW5nZW50ZW4gdGlsbHLkY2tsaWd0IG3lbmdhIGflbmdlciBm9nIgYXR0IGb2cmZseXR0YSBtYXJr9nJlbiBz5SBhdHQKKyAgICAgTGVrdGlvbiAxLjEgZnlsbGVyIHNr5HJtZW4gaGVsdC4KK35+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+fgorCQkJTGVrdGlvbiAxLjE6IEZMWVRUQSBNQVJL1lJFTgorCisKKyAgICoqIEb2ciBhdHQgZmx5dHRhIG1hcmv2cmVuLCB0cnljayBw5SB0YW5nZW50ZXJuYSBoLGosayxsIHNvbSBpbmRpa2VyYXQuICoqCisJICAgICBeCisJICAgICBrCQlUaXBzOgorICAgICAgIDwgaAkgbCA+CWgtdGFuZ2VudGVuIORyIHRpbGwgduRuc3RlciBvY2ggZmx5dHRhciB0aWxsIHbkbnN0ZXIuCisJICAgICBqCQlsLXRhbmdlbnRlbiDkciB0aWxsIGj2Z2VyIG9jaCBmbHl0dGFyIHRpbGwgaPZnZXIuCisJICAgICB2CQlqLXRhbmdlbnRlbiBzZXIgdXQgc29tIGVuIHBpbCBuZWQuCisgIDEuIEZseXR0YSBydW50IG1hcmv2cmVuIHDlIHNr5HJtZW4gdGlsbHMgZHUga+RubmVyIGRpZyBiZWt25G0uCisKKyAgMi4gSOVsbCBuZWQgdGFuZ2VudGVuIHBpbCBuZWQgKGopIHRpbGxzIGF0dCBkZW4gcmVwZXRlcmFyLgorLS0tPiBOdSB2ZXQgZHUgaHVyIGR1IHRhciBkaWcgdGlsbCBu5HN0YSBsZWt0aW9uLgorCisgIDMuIEZseXR0YSB0aWxsIExla3Rpb24gMS4yLCBtZWQgaGrkbHAgYXYgbmVkIHRhbmdlbnRlbi4KKworTm90ZXJhOiBPbSBkdSDkciBvc+RrZXIgcOUgbuVnb250aW5nIGR1IHNrcmV2LCB0cnljayA8RVNDPiBm9nIgYXR0IHBsYWNlcmEgZGlnCisJZGlnIGkgTm9ybWFsLWzkZ2UuIFNrcml2IHNlZGFuIG9tIGtvbW1hbmRvdC4KKworTm90ZXJhOiBQaWx0YW5nZW50ZXJuYSBib3JkZSBvY2tz5SBmdW5nZXJhLiAgTWVuIG9tIGR1IGFuduRuZGVyIGhqa2wgc+Uga29tbWVyCisJZHUgYXR0IGt1bm5hIGZseXR0YSBvbWtyaW5nIG15Y2tldCBzbmFiYmFyZSwgbuRyIGR1IHbkbCB2YW50IGRpZyB2aWQKKwlkZXQuCisKK35+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+fgorCQkgICAgIExla3Rpb24gMS4yOiBTVEFSVEEgT0NIIEFWU0xVVEEgVklNCisKKworICAhISBOT1RFUkE6IElubmFuIGR1IHV0ZvZyIG7lZ29uIGF2IHB1bmt0ZXJuYSBuZWRhbiwgbORzIGhlbGEgbGVrdGlvbmVuISEKKworICAxLiBUcnljayA8RVNDPi10YW5nZW50ZW4gKGb2ciBhdHQgc2UgdGlsbCBhdHQgZHUg5HIgaSBOb3JtYWwtbORnZSkuCisKKyAgMi4gU2tyaXY6CQkJOnEhIDxFTlRFUj4uCisKKy0tLT4gRGV0dGEgYXZzbHV0YXIgcmVkaWdlcmFyZW4gVVRBTiBhdHQgc3BhcmEgbuVncmEg5G5kcmluZ2FyIGR1IGdqb3J0LgorICAgICBPbSBkdSB2aWxsIHNwYXJhIORuZHJpbmdhcm5hIG9jaCBhdnNsdXRhIHNrcml2OgorCQkJCTp3cSAgPEVOVEVSPgorCisgIDMuIE7kciBkdSBzZXIgc2thbC1wcm9tcHRlbiwgc2tyaXYga29tbWFuZG90IHNvbSB0b2cgZGlnIGluIGkgZGVuIGjkcgorICAgICBoYW5kbGVkbmluZ2VuLiAgRGV0IGthbiB2YXJhOgl2aW10dXRvciA8RU5URVI+CisgICAgIE5vcm1hbHQgdmlsbCBkdSBhbnbkbmRhOgkJdmltIHR1dG9yIDxFTlRFUj4KKworLS0tPiAndmltJyBiZXR5ZGVyIPZwcG5hIHJlZGlnZXJhcmVuIHZpbSwgJ3R1dG9yJyDkciBmaWxlbiBkdSB2aWxsIHJlZGlnZXJhLgorCisgIDQuIE9tIGR1IGhhciBtZW1vcmVyYXQgZGVzc2Egc3RlZyBvY2gga+RubmVyIGRpZyBzauRsdnPka2VyLCBr9nIgZOUgc3RlZ2VuCisgICAgIDEgdGlsbCAzIGb2ciBhdHQgYXZzbHV0YSBvY2ggc3RhcnRhIG9tIHJlZGlnZXJhcmVuLiBGbHl0dGEgc2VkYW4gbmVkCisgICAgIG1hcmv2cmVuIHRpbGwgTGVrdGlvbiAxLjMuCit+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+fn4KKwkJICAgICBMZWt0aW9uIDEuMzogVEVYVCBSRURJR0VSSU5HIC0gQk9SVFRBR05JTkcKKworCisqKiBO5HIgZHUg5HIgaSBOb3JtYWwtbORnZSB0cnljayAgeCAgZvZyIGF0dCB0YSBib3J0IHRlY2tuZXQgdW5kZXIgbWFya/ZyZW4uICoqCisKKyAgMS4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gbmVkYW4gbWVkIG1hcmtlcmluZ2VuIC0tLT4uCisKKyAgMi4gRvZyIGF0dCBy5HR0YSBmZWxlbiwgZmx5dHRhIG1hcmv2cmVuIHRpbGxzIGRlbiBzdOVyIHDlIHRlY2tuZXQgc29tIHNrYQorICAgICB0YXMgYm9ydC4gZml4IHRoZSBlcnJvcnMsIG1vdmUgdGhlIGN1cnNvciB1bnRpbCBpdCBpcyBvbiB0b3Agb2YgdGhlCisKKyAgMy4gVHJ5Y2sgcOUJeC10YW5nZW50ZW4gZvZyIGF0dCB0YSBib3J0IGRldCBmZWxha3RpZ2EgdGVja25ldC4KKworICA0LiBVcHByZXBhIHN0ZWcgMiB0aWxsIDQgdGlsbHMgbWVuaW5nZW4g5HIga29ycmVrdC4KKworLS0tPiBLa29uIGhvcHBhZGVlIPZ2dmVyciBt5eVuZW4uCisKKyAgNS4gTnUgbuRyIHJhZGVuIORyIGtvcnJla3QsIGflIHRpbGwgTGVrdGlvbiAxLjQuCisKK05PVEVSQTogTuRyIGR1IGflciBpZ2Vub20gZGVuIGjkciBoYW5kbGVkbmluZ2VuLCBm9nJz9msgaW50ZSBhdHQgbWVtb3JlcmEsIGzkcgorCWdlbm9tIGFuduRuZG5pbmcuCisKKworCit+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+fn4KKwkJICAgICBMZWt0aW9uIDEuNDogVEVYVCBSRURJR0VSSU5HIC0gSU5GT0dOSU5HCisKKworCSAqKiBO5HIgZHUg5HIgaSBOb3JtYWwtbORnZSB0cnljayAgaSAgZvZyIGF0dCBpbmZvZ2EgdGV4dC4gKioKKworICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1lZCBtYXJrZXJpbmdlbiAtLS0+LgorCisgIDIuIEb2ciBhdHQgZ/ZyYSBkZW4gZvZyc3RhIHJhZGVuIGxpa2FkYW4gc29tIGRlbiBhbmRyYSwgZmx5dHRhIG1hcmv2cmVuIHRpbGwKKyAgICAgZGV0IGb2cnN0YSB0ZWNrbmV0IEVGVEVSIGTkciB0ZXh0IHNrYSBpbmZvZ2FzLgorCisgIDMuIFRyeWNrICBpICBvY2ggc2tyaXYgaW4gZGV0IHNvbSBzYWtuYXMuCisKKyAgNC4gTuRyIGR1IHLkdHRhdCBldHQgZmVsIHRyeWNrIDxFU0M+IGb2ciBhdHQg5XRlcmflIHRpbGwgTm9ybWFsLWzkZ2UuCisgICAgIFVwcHJlcGEgc3RlZyAyIHRpbGwgNCBm9nIgYXR0IHLkdHRhIG1lbmluZ2VuLgorCistLS0+IERldCBzYWtucyBo5HIgLgorLS0tPiBEZXQgc2FrbmFzIGxpdGUgdGV4dCBmcuVuIGRlbiBo5HIgcmFkZW4uCisKKyAgNS4gTuRyIGR1IGvkbm5lciBkaWcgYmVrduRtIG1lZCBhdHQgaW5mb2dhIHRleHQsIGflIHRpbGwgc2FtbWFuZmF0dG5pbmdlbgorICAgICBuZWRhbi4KKworCisKK35+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+fgorCQkJICAgICAgIExFS1RJT04gMSBTQU1NQU5GQVRUTklORworCisKKyAgMS4gTWFya/ZyZW4gZmx5dHRhcyBnZW5vbSBhdHQgYW525G5kYSBwaWx0YW5nZW50ZXJuYSBlbGxlciBoamtsLXRhbmdlbnRlcm5hLgorCSBoICh25G5zdGVyKQlqIChuZWQpICAgICAgIGsgKHVwcCkJICAgIGwgKGj2Z2VyKQorCisgIDIuIEb2ciBhdHQgc3RhcnRhIFZpbSAoZnLlbiAlLXByb21wdGVuKSBza3JpdjogIHZpbSBGSUxOQU1OIDxFTlRFUj4KKworICAzLiBG9nIgYXR0IGF2c2x1dGEgVmltIHNrcml2OiAgPEVTQz4gIDpxISAgPEVOVEVSPiAgZvZyIGF0dCBrYXN0YSDkbmRyaW5nYXIuCisJCSAgIEVMTEVSIHNrcml2OiAgPEVTQz4JOndxICA8RU5URVI+ICBm9nIgYXR0IHNwYXJhIORuZHJpbmdhci4KKworICA0LiBG9nIgYXR0IHRhIGJvcnQgdGVja25ldCB1bmRlciBtYXJr9nJlbiBpIE5vcm1hbC1s5GdlIHNrcml2OiAgeAorCisgIDUuIEb2ciBhdHQgaW5mb2dhIHRleHQgdmlkIG1hcmv2cmVuIGkgTm9ybWFsLWzkZ2Ugc2tyaXY6CisJIGkgICAgIHNrcml2IGluIHRleHQJPEVTQz4KKworTk9URVJBOiBHZW5vbSBhdHQgdHJ5Y2thIDxFU0M+IGtvbW1lciBkdSBhdHQgcGxhY2VyYXMgaSBOb3JtYWwtbORnZSBlbGxlcgorCWF2YnJ5dGEgZXR0IGRlbHZpcyBm5HJkaWdza3JpdmV0IGtvbW1hbmRvLgorCitGb3J0c+R0dCBudSBtZWQgTGVrdGlvbiAyLgorCisKK35+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+fgorCQkJTGVrdGlvbiAyLjE6IEJPUlRUQUdOSU5HU0tPTU1BTkRPTgorCisKKwkgICAgKiogU2tyaXYgIGR3ICBm9nIgYXR0IHJhZGVyYSB0aWxsIHNsdXRldCBhdiBldHQgb3JkLiAqKgorCisgIDEuIFRyeWNrICA8RVNDPiAgZvZyIGF0dCBm9nJz5GtyYSBkaWcgb20gYXR0IGR1IORyIGkgTm9ybWFsLWzkZ2UuCisKKyAgMi4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KKworICAzLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBi9nJqYW4gYXYgZXR0IG9yZCBzb20gbeVzdGUgcmFkZXJhcy4KKworICA0LiBTa3JpdiAgIGR3CSBm9nIgYXR0IHJhZGVyYSBvcmRldC4KKworICBOT1RFUkE6IEJva3N05HZlcm5hIGR3IGtvbW1lciBhdHQgc3luYXMgcOUgZGVuIHNpc3RhIHJhZGVuIHDlIHNr5HJtZW4gbuRyCisJZHUgc2tyaXZlciBkZW0uIE9tIGR1IHNrcmV2IG7lZ290IGZlbCwgdHJ5Y2sgIDxFU0M+ICBvY2ggYvZyamEgb20uCisKKy0tLT4gRGV0IORyIGV0dCBu5WdyYSBvcmQgcm9saWdhIGF0dCBzb20gaW50ZSBo9nIgaGVtbWEgaSBkZW4gaORyIG1lbmluZ2VuLgorCisgIDUuIFVwcHJlcGEgc3RlZ2VuIDMgb2NoIDQgdGlsbHMgbWVuaW5nZW4g5HIga29ycmVrdCBvY2ggZ+UgdGlsbCBMZWt0aW9uIDIuMi4KKworCisKK35+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+fgorCQkgICAgICBMZWt0aW9uIDIuMjogRkxFUiBCT1JUVEFHTklOR1NLT01NQU5ET04KKworCisJICAgKiogU2tyaXYgIGQkCWb2ciBhdHQgcmFkZXJhIHRpbGwgc2x1dGV0IHDlIHJhZGVuLiAqKgorCisgIDEuIFRyeWNrICA8RVNDPiAgZvZyIGF0dCBm9nJz5GtyYSBkaWcgb20gYXR0IGR1IORyIGkgTm9ybWFsLWzkZ2UuCisKKyAgMi4gRmx5dHRhIG1hcmv2cmVuIHRpbGwgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KKworICAzLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBzbHV0ZXQgcOUgZGVuIHLkdHRhIHJhZGVuIChFRlRFUiBkZW4gZvZyc3RhIC4gKS4KKworICA0LiBTa3JpdiAgICBkJCAgICBm9nIgYXR0IHJhZGVyYSB0aWxsIHNsdXRldCBw5SByYWRlbi4KKworLS0tPiBO5WdvbiBza3JldiBzbHV0ZXQgcOUgZGVuIGjkciByYWRlbiB0duUgZ+VuZ2VyLiBkZW4gaORyIHJhZGVuIHR25SBn5W5nZXIuCisKKworICA1LiBH5SB2aWRhcmUgdGlsbCBMZWt0aW9uIDIuMyBm9nIgYXR0IGb2cnN05SB2YWQgZGV0IORyIHNvbSBo5G5kZXIuCisKKworCisKKworfn5+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+CisJCSAgICAgTGVzc29uIDIuMzogS09NTUFORE9OIE9DSCBPQkpFS1QKKworCisgIFN5bnRheGVuIGb2ciAgZCAgcmFkZXJpbmdza29tbWFuZG90IORyIGb2bGphbmRlOgorCisJIFtudW1tZXJdICAgZAlvYmpla3QJICAgIEVMTEVSCSAgICAgZAkgW251bW1lcl0gICBvYmpla3QKKyAgVmFyOgorICAgIG51bW1lciAtIORyIGFudGFsZXQgdXBwcmVwbmluZ2FyIGF2IGtvbW1hbmRvdCAodmFsZnJpdHQsIHN0YW5kYXJkPTEpLgorICAgIGQgLSDkciBrb21tYW5kb3QgZvZyIGF0dCByYWRlcmEuCisgICAgb2JqZWt0IC0g5HIgdmFkIGtvbW1hbmRvdCBrb21tZXIgYXR0IG9wZXJlcmEgcOUgKGxpc3RhZGUgbmVkYW4pLgorCisgIEVuIGtvcnQgbGlzdGEg9nZlciBvYmpla3Q6CisgICAgdyAtIGZy5W4gbWFya/ZyZW4gdGlsbCBzbHV0ZXQgYXYgb3JkZXQsIGlua2x1c2l2ZSBibGFua3N0ZWdldC4KKyAgICBlIC0gZnLlbiBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBvcmRldCwgRUogaW5rbHVzaXZlIGJsYW5rc3RlZ2V0LgorICAgICQgLSBmcuVuIG1hcmv2cmVuIHRpbGwgc2x1dGV0IHDlIHJhZGVuLgorCitOT1RFUkE6ICBG9nIgZGVuIOR2ZW50eXJzbHlzdG5lLCBnZW5vbSBhdHQgYmFyYSB0cnlja2EgcOUgb2JqZWt0ZXQgaQorCSBOb3JtYWwtbORnZSAodXRhbiBrb21tYW5kbykgc+Uga29tbWVyIG1hcmv2cmVuIGF0dCBmbHl0dGFzIHNvbQorCSBhbmdpdmV0IGkgb2JqZWt0bGlzdGFuLgorCisKKworCit+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+fn4KKwkJTGVrdGlvbiAyLjQ6IEVUVCBVTkRBTlRBRyBUSUxMICdLT01NQU5ETy1PQkpFS1QnCisKKworCSAgICAgICAqKiBTa3JpdgkgZGQgICBm9nIgYXR0IHJhZGVyYSBoZWxhIHJhZGVuLiAqKgorCisgIFDlIGdydW5kIGF2IGh1ciB2YW5saWd0IGRldCDkciBhdHQgdGEgYm9ydCBoZWxhIHJhZGVyLCB2YWxkZSB1cHBob3ZzbWFubmVuCisgIHRpbGwgVmkgYXR0IGRldCBza3VsbGUgdmFyYSBlbmtsYXJlIGF0dCBiYXJhIHRyeWNrYSBkIHR25SBn5W5nZXIgaSByYWQgZvZyCisgIGF0dCB0YSBib3J0IGVuIHJhZC4KKworICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZW4gYW5kcmEgcmFkZW4gaSBmcmFzZW4gbmVkYW4uCisgIDIuIFNrcml2ICBkZCAgZvZyIGF0dCByYWRlcmEgcmFkZW4uCisgIDMuIEZseXR0YSBudSB0aWxsIGRlbiBmauRyZGUgcmFkZW4uCisgIDQuIFNrcml2ICAgMmRkICAgKGtvbSBpaOVnOiAgbnVtbWVyLWtvbW1hbmRvLW9iamVrdCkgZvZyIGF0dCByYWRlcmEgZGUgdHblCisgICAgIHJhZGVybmEuCisKKyAgICAgIDEpICBSb3NlcyBhcmUgcmVkLAorICAgICAgMikgIE11ZCBpcyBmdW4sCisgICAgICAzKSAgVmlvbGV0cyBhcmUgYmx1ZSwKKyAgICAgIDQpICBJIGhhdmUgYSBjYXIsCisgICAgICA1KSAgQ2xvY2tzIHRlbGwgdGltZSwKKyAgICAgIDYpICBTdWdhciBpcyBzd2VldAorICAgICAgNykgIEFuZCBzbyBhcmUgeW91LgorCisKK35+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+fgorCQkJIExla3Rpb24gMi41OiDFTkdSQS1LT01NQU5ET1QKKworCisqKiBTa3JpdiAgdSBm9nIgYXR0IOVuZ3JhIGRldCBzZW5hc3RlIGtvbW1hbmRvbmEsICBVIGb2ciBhdHQgZml4YSBlbiBoZWwgcmFkLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiByYWRlbiBuZWRhbiBtYXJrZXJhZCAtLS0+IG9jaCBwbGFjZXJhIGRlbgorICAgICBw5SBkZXQgZvZyc3RhIGZlbGV0LgorICAyLiBTa3JpdiAgeCAgZvZyIGF0dCByYWRlcmEgZGVuIGb2cnN0YSBmZWxha3RpZ2EgdGVja25ldC4KKyAgMy4gU2tyaXYgbnUgIHUgIGb2ciBhdHQg5W5ncmEgZGV0IHNlbmFzdGUga/ZyZGEga29tbWFuZG90LgorICA0LiBS5HR0YSBkZW4gaORyIGflbmdlbiBhbGxhIGZlbGVuIHDlIHJhZGVuIG1lZCAgeC1rb21tYW5kb3QuCisgIDUuIFNrcml2IG51ICBVICBm9nIgYXR0IOV0ZXJzdORsbGEgcmFkZW4gdGlsbCBkZXNzIHVyc3BydW5nbGlnYSB1dHNlZW5kZS4KKyAgNi4gU2tyaXYgbnUgIHUgIG7lZ3JhIGflbmdlciBm9nIgYXR0IOVuZ3JhICBVICBvY2ggdGlkaWdhcmUga29tbWFuZG9uLgorICA3LiBUcnljayBudSBDVFJMLVIgKGjlbGwgaW5uZSBDVFJMIHNhbXRpZGlndCBzb20gZHUgdHJ5Y2tlciBSKSBu5WdyYSBn5W5nZXIKKyAgICAgZvZyIGF0dCB1cHByZXBhIGtvbW1hbmRvbmEgKOVuZ3JhIOVuZ3Jpbmdhcm5hKS4KKworLS0tPiBGaWl4YSBmZWxlbiBwcOUgZGVlbiBo5ORyIG1lbmluZ2VuIG9jaCDldGVyc2thcGEgZGVtIG1lZCDlbmdyYS4KKworICA4LiBEZXQgaORyIORyIHbkbGRpZ3QgYW525G5kYmFyYSBrb21tYW5kb24uICBH5SBudSB2aWRhcmUgdGlsbAorICAgICBMZWt0aW9uIDIgU2FtbWFuZmF0dG5pbmcuCisKKworCisKK35+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+fgorCQkJICAgICAgIExFS1RJT04gMiBTQU1NQU5GQVRUTklORworCisKKyAgMS4gRvZyIGF0dCByYWRlcmEgZnLlbiBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBldHQgb3JkIHNrcml2OiAgICBkdworCisgIDIuIEb2ciBhdHQgcmFkZXJhIGZy5W4gbWFya/ZyZW4gdGlsbCBzbHV0ZXQgYXYgZW4gcmFkIHNrcml2OiAgICBkJAorCisgIDMuIEb2ciBhdHQgcmFkZXJhIGVuIGhlbCByYWQgc2tyaXY6ICAgIGRkCisKKyAgNC4gU3ludGF4ZW4gZvZyIGV0dCBrb21tYW5kbyBpIE5vcm1hbC1s5GdlIORyOgorCisgICAgICAgW251bW1lcl0gICBrb21tYW5kbyAgIG9iamVrdCAgIEVMTEVSICAga29tbWFuZG8gICBbbnVtbWVyXSAgIG9iamVrdAorICAgICBk5HI6CisgICAgICAgbnVtbWVyIC0g5HIgaHVyIG3lbmdhIGflbmdlciBrb21tYW5kb3Qga29tbWFuZG90IHNrYSByZXBldGVyYXMKKyAgICAgICBrb21tYW5kbyAtIORyIHZhZCBzb20gc2thIGf2cmFzLCB0LmV4LiAgZCAgZvZyIGF0dCByYWRlcmEKKyAgICAgICBvYmpla3QgLSDkciB2YWQga29tbWFuZG90IHNrYSBvcGVyZXJhIHDlLCBzb20gdC5leC4gIHcgKG9yZCksCisJCSQgKHRpbGwgc2x1dGV0IGF2IHJhZGVuKSwgZXRjLgorCisgIDUuIEb2ciBhdHQg5W5ncmEgdGlkaWdhcmUga29tbWFuZG9uLCBza3JpdjogIHUgKGxpdGV0IHUpCisgICAgIEb2ciBhdHQg5W5ncmEgYWxsYSB0aWRpZ2FyZSDkbmRyaW5nYXIgcOUgZW4gcmFkIHNrcml2OiAgVSAoc3RvcnQgVSkKKyAgICAgRvZyIGF0dCDlbmdyYSDlbmdyaW5nYXIgdHJ5Y2s6ICBDVFJMLVIKKworfn5+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+CisJCQkgTGVrdGlvbiAzLjE6IEtMSVNUUkEgSU4tS09NTUFORE9UCisKKworICAgKiogU2tyaXYgIHAgIGb2ciBhdHQga2xpc3RyYSBpbiBkZW4gc2VuYXN0ZSByYWRlcmluZ2VuIGVmdGVyIG1hcmv2cmVuLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gaSBsaXN0YW4gbmVkYW4uCisKKyAgMi4gU2tyaXYgIGRkICBm9nIgYXR0IHJhZGVyYSByYWRlbiBvY2ggbGFncmEgZGVuIGkgVmltcyBidWZmZXJ0LgorCisgIDMuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHJhZGVuIE9WQU5G1lIgZORyIGRlbiByYWRlcmFkZSByYWRlbiBib3JkZSB2YXJhLgorCisgIDQuIE7kciBkdSDkciBpIE5vcm1hbC1s5GdlLCBza3JpdiAgICBwCSBm9nIgYXR0IGJ5dGEgdXQgcmFkZW4uCisKKyAgNS4gUmVwZXRlcmEgc3RlZ2VuIDIgdGlsbCA0IGb2ciBhdHQga2xpc3RyYSBpbiBhbGxhIHJhZGVyIGkgcuR0dCBvcmRuaW5nLgorCisgICAgIGQpIEthbiBkdSBs5HJhIGRpZyBvY2tz5T8KKyAgICAgYikgVmlvbGV0dGVyIORyIGJs5SwKKyAgICAgYykgSW50ZWxsaWdlbnMgZuVzIGdlbm9tIGzkcmRvbSwKKyAgICAgYSkgUm9zb3Ig5HIgcvZkYSwKKworCisKK35+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+fgorCQkgICAgICAgTGVzc29uIDMuMjogRVJTxFRULUtPTU1BTkRPVAorCisKKyAgKiogU2tyaXYgIHIgIG9jaCBldHQgdGVja2VuIGb2ciBhdHQgZXJz5HR0YSB0ZWNrbmV0IHVuZGVyIG1hcmv2cmVuLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KKworICAyLiBGbHl0dGEgbWFya/ZyZW4gc+UgYXR0IGRlbiBzdOVyIHDlIGRldCBm9nJzdGEgZmVsZXQuCisKKyAgMy4gU2tyaXYgICByCW9jaCBzZWRhbiBkZXQgdGVja2VuIHNvbSBib3JkZSBlcnPkdHRhIGZlbGV0LgorCisgIDQuIFJlcGV0ZXJhIHN0ZWcgMiBvY2ggMyB0aWxscyBkZW4gZvZyc3RhIHJhZGVuIORyIGtvcnJla3QuCisKKy0tLT4gIE7kciBkcm4gaORyIHJ1ZGVuIHNrcmV2cywgdHJpY2t0ZSBu5WdvbiBw5SBmaWwga25hcHBhciEKKy0tLT4gIE7kciBkZW4gaORyIHJhZGVuIHNrcmV2cywgdHJ5Y2t0ZSBu5WdvbiBw5SBmZWwga25hcHBhciEKKworICA1LiBH5SBudSB2aWRhcmUgdGlsbCBMZWt0aW9uIDMuMi4KKworTk9URVJBOiBLb20gaWjlZyBhdHQgZHUgc2thbGwgbORyYSBkaWcgZ2Vub20gYW525G5kbmluZywgaW50ZSBnZW5vbSBtZW1vcmVyaW5nLgorCisKKworfn5+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+CisJCQlMZWt0aW9uIDMuMzogxE5EUkEtS09NTUFORE9UCisKKworCSAgICoqIEb2ciBhdHQg5G5kcmEgZW4gZGVsIGVsbGVyIGV0dCBoZWx0IG9yZCwgc2tyaXYgIGN3IC4gKioKKworICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZW4gZvZyc3RhIHJlZGFuIG5lZGFuIG1hcmtlcmFkIC0tLT4uCisKKyAgMi4gUGxhY2VyYSBtYXJr9nJlbiBw5SBkIGkgcmRydG4uCisKKyAgMy4gU2tyaXYgIGN3ICBvY2ggZGV0IHLkdHRhIG9yZGV0IChpIGRldCBo5HIgZmFsbGV0LCBza3JpdiAiYWRlbiIuKQorCisgIDQuIFRyeWNrIDxFU0M+IG9jaCBmbHl0dGEgbWFya/ZyZW4gdGlsbCBu5HN0YSBmZWwgKGRldCBm9nJzdGEgdGVja25ldCBzb20KKyAgICAgc2thIORuZHJhcy4pCisKKyAgNS4gUmVwZXRlcmEgc3RlZyAzIG9jaCA0IHRpbGxzIGRlbiBm9nJzdGEgcmFkZW4g5HIgbGlrYWRhbiBzb20gZGVuIGFuZHJhLgorCistLS0+IERlbiBo5HIgcmRydG4gaGFyIG7lZ3JhIG90ZiBzb20gYnJob3RydCDkbmRyYXMgbXJmIORuZHJhLWtvbWplbmRpdC4KKy0tLT4gRGVuIGjkciByYWRlbiBoYXIgbuVncmEgb3JkIHNvbSBiZWj2dmVyIORuZHJhcyBtZWQg5G5kcmEta29tbWFuZG90LgorCitOb3RlcmEgYXR0ICBjdyAgaW50ZSBiYXJhIORuZHJhciBvcmRldCwgdXRhbiDkdmVuIHBsYWNlcmFyIGRpZyBpIGluZm9nbmluZ3Ns5GdlLgorCisKKworfn5+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+CisJCSAgICAgICBMZWt0aW9uIDMuNDogRkxFUiDETkRSSU5HQVIgTUVEIGMKKworCisgICAgICoqIMRuZHJhLWtvbW1hbmRvdCBhbnbkbmRzIHDlIHNhbW1hIG9iamVrdCBzb20gcmFkZXJhLiAqKgorCisgIDEuIMRuZHJhLWtvbW1hbmRvdCBmdW5nZXJhciBw5SBzYW1tYSBz5HR0IHNvbSByYWRlcmEuIFN5bnRheGVuIORyOgorCisgICAgICAgW251bW1lcl0gICBjICAgb2JqZWt0CSAgIEVMTEVSCSAgICBjCVtudW1tZXJdICAgb2JqZWt0CisKKyAgMi4gT2JqZWt0ZW4g5HIgb2Nrc+UgZGUgc2FtbWEsIHNvbSB0LmV4LiAgIHcgKG9yZCksICQgKHNsdXRldCBhdiByYWRlbiksIGV0Yy4KKworICAzLiBGbHl0dGEgdGlsbCBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tPi4KKworICA0LiBGbHl0dGEgbWFya/ZyZW4gdGlsbCBkZXQgZvZyc3RhIGZlbGV0LgorCisgIDUuIFNrcml2ICBjJCAgZvZyIGF0dCBn9nJhIHJlc3RlbiBhdiByYWRlbiBsaWthZGFuIHNvbSBkZW4gYW5kcmEgb2NoIHRyeWNrCisgICAgIDxFU0M+LgorCistLS0+IFNsdXRldCBw5SBkZW4gaORyIHJhZGVuIGJlaPZ2ZXIgaGrkbHAgbWVkIGF0dCBm5SBkZW4gYXR0IGxpa25hIGRlbiBhbmRyYS4KKy0tLT4gU2x1dGV0IHDlIGRlbiBo5HIgcmFkZW4gYmVo9nZlciBy5HR0YXMgdGlsbCBtZWQgIGMkLWtvbW1hbmRvdC4KKworCisKK35+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+fgorCQkJICAgICAgIExFS1RJT04gMyBTQU1NQU5GQVRUTklORworCisKKyAgMS4gRvZyIGF0dCBlcnPkdHRhIHRleHQgc29tIHJlZGFuIGhhciBibGl2aXQgcmFkZXJhZCwgc2tyaXYgICBwIC4KKyAgICAgRGV0dGEga2xpc3RyYXIgaW4gZGVuIHJhZGVyYWRlIHRleHRlbiBFRlRFUiBtYXJr9nJlbiAob20gZW4gcmFkIHJhZGVyYWRlcworICAgICBrb21tZXIgZGVuIGF0dCBoYW1uYSBw5SByYWRlbiB1bmRlciBtYXJr9nJlbi4KKworICAyLiBG9nIgYXR0IGVyc+R0dGEgdGVja25ldCB1bmRlciBtYXJr9nJlbiwgc2tyaXYgICByICAgb2NoIHNlZGFuIHRlY2tuZXQgc29tCisgICAgIGtvbW1lciBhdHQgZXJz5HR0YSBvcmdpbmFsZXQuCisKKyAgMy4gxG5kcmEta29tbWFuZG90IGzldGVyIGRpZyDkbmRyYSBkZXQgYW5naXZuYSBvYmpla3RldCBmcuVuIG1hcmv2cmVuIHRpbGwKKyAgICAgc2x1dGV0IHDlIG9iamVrdGV0LiBlZy4gU2tyaXYgIGN3ICBm9nIgYXR0IORuZHJhIGZy5W4gbWFya/ZyZW4gdGlsbCBzbHV0ZXQKKyAgICAgcOUgb3JkZXQsIGMkCWb2ciBhdHQg5G5kcmEgdGlsbCBzbHV0ZXQgcOUgZW4gcmFkLgorCisgIDQuIFN5bnRheGVuIGb2ciDkbmRyYS1rb21tYW5kb3Qg5HI6CisKKwkgW251bW1lcl0gICBjCW9iamVrdAkgICAgICBFTExFUgljICAgW251bW1lcl0gICBvYmpla3QKKworR+UgbnUgdGlsbCBu5HN0YSBsZWt0aW9uLgorCisKKworfn5+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+CisJCSAgICAgTGVrdGlvbiA0LjE6IFBPU0lUSU9OIE9DSCBGSUxTVEFUVVMKKworCisgICoqIFRyeWNrIENUUkwtZyBm9nIgYXR0IHZpc2EgZGluIHBvc2l0aW9uIGkgZmlsZW4gb2NoIGZpbHN0YXR1c2VuLgorICAgICBUcnljayBTSElGVC1HIGb2ciBhdHQgZmx5dHRhIHRpbGwgZW4gcmFkIGkgZmlsZW4uICoqCisKKyAgTm90ZXJhOiBM5HNhIGhlbGEgZGVuIGxla3Rpb24gaW5uYW4gZHUgdXRm9nIgbuVnb3QgYXYgc3RlZ2VuISEKKworICAxLiBI5WxsIG5lZCBDdHJsLXRhbmdlbnRlbiBvY2ggdHJ5Y2sgIGcgLiBFbiBzdGF0dXNyYWQgbWVkIGZpbG5hbW4gb2NoIHJhZGVuCisgICAgIGR1IGJlZmlubmVyIGRpZyBw5SBrb21tZXIgYXR0IHN5bmFzLiBLb20gaWjlZyByYWRudW1tcmV0IHRpbGwgU3RlZyAzLgorCisgIDIuIFRyeWNrIHNoaWZ0LUcgZvZyIGF0dCBmbHl0dGEgbWFya/ZyZW4gdGlsbCBzbHV0ZXQgcOUgZmlsZW4uCisKKyAgMy4gU2tyaXYgaW4gbnVtbXJldCBw5SByYWRlbiBkdSB2YXIgcOUgb2NoIHRyeWNrIHNlZGFuIHNoaWZ0LUcuIERldHRhIGtvbW1lcgorICAgICBhdHQgdGEgZGlnIHRpbGxiYWthIHRpbGwgcmFkZW4gZHUgdmFyIHDlIG7kciBkdSBm9nJzdCB0cnlja3RlIEN0cmwtZy4KKyAgICAgKE7kciBkdSBza3JpdmVyIGluIG51bW1yZW4sIGtvbW1lciBkZSBJTlRFIGF0dCB2aXNhcyBw5SBza+RybWVuLikKKworICA0LiBPbSBkdSBr5G5uZXIgZGlnIHPka2VyIHDlIGRldCBo5HIsIHV0ZvZyIHN0ZWcgMSB0aWxsIDMuCisKKworCit+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+fn4KKwkJCUxla3Rpb24gNC4yOiBT1kstS09NTUFORE9UCisKKworICAgICAqKiBTa3JpdiAgLyAgZvZsanQgYXYgZW4gZnJhcyBm9nIgYXR0IHP2a2EgZWZ0ZXIgZnJhc2VuLiAqKgorCisgIDEuIEkgTm9ybWFsLWzkZ2Ugc2tyaXYgLy10ZWNrbmV0LiBOb3RlcmEgYXR0IGRldCBvY2ggbWFya/ZyZW4gYmxpciBzeW5saWcKKyAgICAgbORuZ3N0IG5lZCBw5SBza+RybWVuIHByZWNpcyBzb20gbWVkIDota29tbWFuZG90LgorCisgIDIuIFNrcml2IG51ICJmZWVlbCIgPEVOVEVSPi4gRGV0IGjkciDkciBvcmRldCBkdSB2aWxsIHP2a2EgZWZ0ZXIuCisKKyAgMy4gRvZyIGF0dCBz9mthIGVmdGVyIHNhbW1hIGZyYXMgaWdlbiwgdHJ5Y2sgaGVsdCBlbmtlbHQgIG4gLgorICAgICBG9nIgYXR0IHP2a2EgZWZ0ZXIgc2FtbWEgZnJhcyBpZ2VuIGkgbW90c2F0dCByaWt0bmluZywgdHJ5Y2sgIFNoaWZ0LU4gLgorCisgIDQuIE9tIGR1IHZpbGwgc/ZrYSBlZnRlciBlbiBmcmFzIGJha+V0IGkgZmlsZW4sIGFuduRuZCBrb21tYW5kb3QgID8gIGlzdORsbGV0CisgICAgIGb2ciAvLgorCistLS0+ICJmZWVlbCIg5HIgaW50ZSBy5HR0IHPkdHQgYXR0IHN0YXZhIGZlbDogZmVlZWwg5HIgZXR0IGZlbC4KKworTm90ZXJhOiBO5HIgc/ZrbmluZ2VuIG7lciBzbHV0ZXQgcOUgZmlsZW4ga29tbWVyIGRlbiBhdHQgZm9ydHPkdHRhIHZpZCBi9nJqYW4uCisKKworfn5+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+CisJCSAgIExla3Rpb24gNC4zOiBT1ktOSU5HIEVGVEVSIE1BVENIQU5ERSBQQVJFTlRFU0VSCisKKworCSAgICAgICoqIFNrcml2ICAlICBm9nIgYXR0IGhpdHRhIGVuIG1hdGNoYW5kZSApLF0sIG9yIH0gLiAqKgorCisgIDEuIFBsYWNlcmEgbWFya/ZyZW4gcOUgbuVnb24gYXYgKCwgWywgb3IgeyBw5SByYWRlbiBuZWRhbiBtYXJrZXJhZCAtLS0+LgorCisgIDIuIFNrcml2IG51ICUtdGVja25ldC4KKworICAzLiBNYXJr9nJlbiBib3JkZSB2YXJhIHDlIGRlbiBtYXRjaGFuZGUgcGFyZW50ZXNlbiBlbGxlciBoYWtwYXJlbnRlc2VuLgorCisgIDQuIFNrcml2ICAlICBm9nIgYXR0IGZseXR0YSBtYXJr9nJlbiB0aWxsYmFrYSB0aWxsIGRlbiBm9nJzdGEgaGFrcGFyZW50ZXNlbgorICAgICAobWVkIG1hdGNobmluZykuCisKKy0tLT4gRGV0ICggaORyIORyIGVuIHRlc3RyYWQgbWVkICgsIFsgXSBvY2ggeyB9IGkgZGVuLiApKQorCitOb3RlcmE6IERldCBo5HIg5HIgduRsZGlndCBhbnbkbmRiYXJ0IHZpZCBhdmx1c25pbmcgYXYgZXR0IHByb2dyYW0gbWVkIGlja2UKKwltYXRjaGFuZGUgcGFyZW50ZXNlciEKKworCisKKworCisKK35+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+fgorCQkgICAgICBMZWt0aW9uIDQuNDogRVRUIFPEVFQgQVRUIMRORFJBIEZFTAorCisKKwkqKiBTa3JpdiAgOnMvZ2FtbWFsdC9ueXR0L2cgIGb2ciBhdHQgZXJz5HR0YSAiZ2FtbWFsdCIgbWVkICJueXR0Ii4gKioKKworICAxLiBGbHl0dGEgbWFya/ZyZW4gdGlsbCByYWRlbiBuZWRhbiBtYXJrZXJhZCAtLS0+LgorCisgIDIuIFNrcml2ICA6cy9kZW5uL2RlbiA8RU5URVI+IC4gTm90ZXJhIGF0dCBkZXQgaORyIGtvbW1hbmRvdCBiYXJhIORuZHJhciBkZW4KKyAgICAgZvZyc3RhIGb2cmVrb21zdGVuIHDlIHJhZGVuLgorCisgIDMuIFNrcml2IG51CSA6cy9kZW5uL2Rlbi9nCSAgIHZpbGtldCBiZXR5ZGVyIGVyc+R0dCBnbG9iYWx0IHDlIHJhZGVuLgorICAgICBEZXQg5G5kcmFyIGFsbGEgZvZyZWtvbXN0ZXIgcOUgcmFkZW4uCisKKy0tLT4gZGVubiBi5HN0YSB0aWRlbiBhdHQgc2UgYmxvbW1vciBibG9tbWEg5HIgZGVubiBw5SB25XJlbi4KKworICA0LiBG9nIgYXR0IORuZHJhIGFsbGEgZvZyZWtvbXN0ZXIgYXYgZW4gdGVja2Vuc3Ry5G5nIG1lbGxhbiB0duUgcmFkZXIsCisgICAgIHNrcml2ICA6Iywjcy9nYW1tYWx0L255dHQvZyAgICBk5HIgIywjIORyIGRlIHR25SByYWRlcm5hcyByYWRudW1tZXIuCisgICAgIFNrcml2ICA6JXMvZ2FtbXRsL255dHQvZyAgICBm9nIgYXR0IORuZHJhIHZhcmplIGb2cmVrb21zdCBpIGhlbGEgZmlsZW4uCisKKworCisKK35+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+fgorCQkJICAgICAgIExFS1RJT04gNCBTQU1NQU5GQVRUTklORworCisKKyAgMS4gQ3RybC1nICB2aXNhciBkaW4gcG9zaXRpb24gaSBmaWxlbiBvY2ggZmlsc3RhdHVzZW4uCisgICAgIFNoaWZ0LUcgIGZseXR0YXIgdGlsbCBzbHV0ZXQgYXYgZmlsZW4uIEV0dCByYWRudW1tZXIgZvZsanQgIFNoaWZ0LUcKKyAgICAgZmx5dHRhciB0aWxsIGRldCByYWRudW1tcmV0LgorCisgIDIuIFNrcml2ZXIgbWFuICAvCWb2bGp0IGF2IGVuIGZyYXMgc/ZrcyBkZXQgRlJBTU3FVCBlZnRlciBmcmFzZW4uCisgICAgIFNrcml2ZXIgbWFuICA/CWb2bGp0IGF2IGVuIGZyYXMgc/ZrcyBkZXQgQkFLxVQgZWZ0ZXIgZnJhc2VuLgorICAgICBFZnRlciBlbiBz9mtuaW5nIHNrcml2ICBuICBm9nIgYXR0IGhpdHRhIG7kc3RhIGb2cmVrb21zdCBpIHNhbW1hIHJpa3RuaW5nCisgICAgIGVsbGVyICBTaGlmdC1OICBm9nIgYXR0IHP2a2EgaSBkZW4gbW90c2F0dGEgcmlrdG5pbmdlbi4KKworICAzLiBTa3JpdmVyIG1hbiAgJQlu5HIgbWFya/ZyZW4g5HIgcOUgZXR0ICAoLCksWyxdLHssIGVsbGVyIH0gIGhpdHRhcyBkZXNzCisgICAgIG1hdGNoYW5kZSBwYXIuCisKKyAgNC4gRvZyIGF0dCBlcnPkdHRhIGRlbiBm9nJzdGEgZ2FtbWFsdCBtZWQgbnl0dCBw5SBlbiByYWQgc2tyaXYgIDpzL2dhbW1sdC9ueXR0CisgICAgIEb2ciBhdHQgZXJz5HR0YSBhbGxhIGdhbW1sdCBtZWQgbnl0dCBw5SBlbiByYWQgc2tyaXYgIDpzL2dhbW1sdC9ueXR0L2cKKyAgICAgRvZyIGF0dCBlcnPkdHRhIGZyYXNlciBtZWxsYW4gcmFkICMgb2NoIHJhZCAjIHNrcml2ICA6Iywjcy9nYW1tbHQvbnl0dC9nCisgICAgIEb2ciBhdHQgZXJz5HR0YSBhbGxhIGb2cmVrb21zdGVyIGkgZmlsZW4gc2tyaXYgIDolcy9nYW1tbHQvbnl0dC9nCisgICAgIEb2ciBhdHQgYmVrcuRmdGEgdmFyamUgZ+VuZyBs5GdnIHRpbGwgImMiICA6JXMvZ2FtbWx0L255dHQvZ2MKKworCit+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+fn4KKwkJTGVrdGlvbiA1LjE6IEhVUiBNQU4gS9ZSIEVUVCBFWFRFUk5UIEtPTU1BTkRPCisKKworICAgKiogU2tyaXYgIDohCWb2bGp0IGF2IGV0dCBleHRlcm50IGtvbW1hbmRvIGb2ciBhdHQga/ZyYSBkZXQga29tbWFuZG90LiAqKgorCisgIDEuIFNrcml2IGRldCB25GxiZWthbnRhIGtvbW1hbmRvdAk6ICBm9nIgYXR0IHBsYWNlcmEgbWFya/ZyZW4gbORuZ3N0IG5lZAorICAgICBw5SBza+RybWVuIHDlIHNr5HJtZW4uIERldHRhIGzldGVyIGRpZyBza3JpdmEgaW4gZXR0IGtvbW1hbmRvLgorCisgIDIuIFNrcml2IG51ICAhICAodXRyb3BzdGVja2VuKS4gIERldHRhIGzldGVyIGRpZyBr9nJhIGV0dCBnb2R0eWNrbGlndCBleHRlcm50CisgICAgIHNrYWxrb21tYW5kby4KKworICAzLiBTb20gZXR0IGV4ZW1wZWwgc2tyaXYgICBscyAgIGVmdGVyICEgb2NoIHRyeWNrIHNlZGFuIDxFTlRFUj4uIERldHRhIGtvbW1lcgorICAgICBhdHQgdmlzYSBkaWcgZW4gbGlzdG5pbmcgYXYgZGluIGthdGFsb2csIHByZWNpcyBzb20gb20gZHUga/ZydCBkZXQgdmlkCisgICAgIHNrYWxwcm9tcHRlbi4gQW525G5kICA6IWRpciAgb20gbHMgaW50ZSBmdW5nZXJhci4KKworTm90ZXJhOiAgRGV0IORyIG32amxpZ3QgYXR0IGv2cmEgdmlsa2V0IGV4dGVybnQga29tbWFuZG8gc29tIGhlbHN0IHDlIGRldCBo5HIKKwkgc+R0dGV0LgorCitOb3RlcmE6ICBBbGxhICA6LWtvbW1hbmRvbiBt5XN0ZSBhdnNsdXRhcyBtZWQgYXR0IHRyeWNrYSBw5SA8RU5URVI+CisKKworCisKK35+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+fgorCQkgICAgICBMZWt0aW9uIDUuMjogTUVSIE9NIEFUVCBTUEFSQSBGSUxFUgorCisKKyAgICAgKiogRvZyIGF0dCBzcGFyYSDkbmRyaW5nYXIgZ2pvcmRhIGkgZW4gZmlsLCBza3JpdiAgOncgRklMTkFNTi4gKioKKworICAxLiBTa3JpdiAgOiFkaXIgIGVsbGVyICA6IWxzICBm9nIgYXR0IGblIGVuIGxpc3RuaW5nIGF2IGRpbiBrYXRhbG9nLgorICAgICBEdSB2ZXQgcmVkYW4gYXR0IGR1IG3lc3RlIHRyeWNrYSA8RU5URVI+IGVmdGVyIGRldCBo5HIuCisKKyAgMi4gVuRsaiBldHQgZmlsbmFtbiBzb20gaW50ZSByZWRhbiBleGlzdGVyYXIsIHNvbSB0LmV4LiBURVNULgorCisgIDMuIFNrcml2IG51OgkgOncgVEVTVCAgIChk5HIgVEVTVCDkciBmaWxuYW1uZXQgZHUgdmFsdC4pCisKKyAgNC4gRGV0IGjkciBzcGFyYXIgaGVsYSBmaWxlbgkoVmltIGhhbmRsZWRuaW5nZW4pICB1bmRlciBuYW1uZXQgVEVTVC4KKyAgICAgRvZyIGF0dCB2ZXJpZmllcmEgZGV0dGEsIHNrcml2ICAgIDohZGlyICAgaWdlbiBm9nIgYXR0IHNlIGRpbiBrYXRhbG9nCisKK05vdGVyYTogT20gZHUgc2t1bGxlIGF2c2x1dGEgVmltIG9jaCBzZWRhbiD2cHBuYSBpZ2VuIG1lZCBmaWxuYW1uZXQgVEVTVCBz5QorCXNrdWxsZSBmaWxlbiB2YXJhIGVuIGV4YWt0IGtvcGlhIGF2IGhhbmRsZWRuaW5nZW4gbuRyIGR1IHNwYXJhZGUgZGVuLgorCisgIDUuIFRhIG51IGJvcnQgZmlsZW4gZ2Vub20gYXR0IHNrcml2YSAoTVMtRE9TKTogIDohZGVsIFRFU1QKKwkJCQkgICBlbGxlciAoVW5peCk6ICA6IXJtIFRFU1QKKworCit+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+fn4KKwkJICAgIExla3Rpb24gNS4zOiBFVFQgU0VMRUtUSVZUIFNQQVJBLUtPTU1BTkRPCisKKworCSoqIEb2ciBhdHQgc3BhcmEgZW4gZGVsIGF2IGVuIGZpbCwgc2tyaXYgICA6IywjIHcgRklMTkFNTiAqKgorCisgIDEuIMRubnUgZW4gZ+VuZywgc2tyaXYgIDohZGlyICBlbGxlciAgOiFscyAgZvZyIGF0dCBm5SBlbiBsaXN0bmluZyBhdiBkaW4KKyAgICAga2F0YWxvZyBvY2ggduRsaiBldHQgcGFzc2FuZGUgZmlsbmFtbiBzb20gdC5leC4gVEVTVC4KKworICAyLiBGbHl0dGEgbWFya/ZyZW4gaPZnc3QgdXBwIHDlIGRlbiBo5HIgc2lkYW4gb2NoIHRyeWNrICBDdHJsLWcgIGb2ciBhdHQgZuUKKyAgICAgcmVkYSBw5SByYWRudW1yZXQgcOUgZGVuIHJhZGVuLiBLT00gSUjFRyBERVQgTlVNTVJFVCEKKworICAzLiBGbHl0dGEgbnUgbORuZ3N0IG5lZCBw5SBzaWRhbiBvY2ggc2tyaXYgIEN0cmwtZyBpZ2VuLgorICAgICBLT00gSUjFRyBERVQgUkFETlVNTVJFVCBPQ0tTxSEKKworICA0LiBG9nIgYXR0IEJBUkEgc3BhcmEgZW4gc2VrdGlvbiB0aWxsIGVuIGZpbCwgc2tyaXYgICA6IywjIHcgVEVTVAorICAgICBk5HIgIywjIORyIGRlIHR25SBudW1tcmVuIGR1IGtvbSBpaOVnICh0b3BwZW4sIGJvdHRlbikgb2NoIFRFU1Qg5HIKKyAgICAgZGl0dCBmaWxuYW1uLgorCisgIDUuIMRubnUgZW4gZ+VuZywga29sbGEgc+UgYXR0IGZpbGVuIORyIGTkciBtZWQgIDohZGlyICBtZW4gcmFkZXJhIGRlbiBJTlRFLgorCisKKworCit+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+fn4KKwkJICAgTGVrdGlvbiA1LjQ6IFRBIEVNT1QgT0NIIEbWUkVOQSBGSUxFUgorCisKKyAgICAgICAqKiBG9nIgYXR0IGluZm9nYSBpbm5laOVsbGV0IGF2IGVuIGZpbCwgc2tyaXYgICA6ciBGSUxOQU1OICoqCisKKyAgMS4gU2tyaXYgICA6IWRpciAgIGb2ciBhdHQgZvZyc+RrcmEgZGlnIG9tIGF0dCBURVNULWZpbGVuIGZy5W4gdGlkaWdhcmUKKyAgICAgZm9ydGZhcmFuZGUg5HIga3Zhci4KKworICAyLiBQbGFjZXJhIG1hcmv2cmVuIGj2Z3N0IHVwcCBw5SBkZW4gaORyIHNpZGFuLgorCitOT1RFUkE6ICBFZnRlciBhdHQgZHUga/ZydCBTdGVnIDMga29tbWVyIGR1IGF0dCBzZSBMZWt0aW9uIDUuMy4KKwkgRmx5dHRhIGTlIE5FRCB0aWxsIGRlbiBo5HIgbGVrdGlvbmVuIGlnZW4uCisKKyAgMy4gVGEgbnUgZW1vdCBkaW4gVEVTVC1maWwgbWVkIGtvbW1hbmRvdCAgIDpyIFRFU1QgICBk5HIgVEVTVCDkciBuYW1uZXQgcOUKKyAgICAgZmlsZW4uCisKK05PVEVSQTogIEZpbGVuIGR1IHRhciBlbW90IHBsYWNlcmFzIGTkciBtYXJr9nJlbiDkciBwbGFjZXJhZC4KKworICA0LiBG9nIgYXR0IHZlcmlmaWVyYSBhdHQgZmlsZW4gdG9ncyBlbW90LCBn5SB0aWxsYmFrYSBvY2ggbm90ZXJhIGF0dCBkZXQgbnUKKyAgICAgZmlubnMgdHblIGtvcGlvciBhdiBMZWt0aW9uIDUuMywgb3JnaW5hbGV0IG9jaCBmaWx2ZXJzaW9uZW4uCisKKworCit+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+fn4KKwkJCSAgICAgICBMRUtUSU9OIDUgU0FNTUFORkFUVE5JTkcKKworCisgIDEuICA6IWtvbW1hbmRvICBr9nIgZXR0IGV4dGVybnQga29tbWFuZG8uCisKKyAgICAgIE7lZ3JhIGFuduRuZGJhcmEgZXhlbXBlbCDkcjoKKwkgKE1TLURPUykJICAoVW5peCkKKwkgIDohZGlyCQkgICA6IWxzCQkgIC0gIHZpc2FyIGVuIGthdGFsb2dsaXN0bmluZy4KKwkgIDohZGVsIEZJTE5BTU4gICAgOiFybSBGSUxOQU1OICAgLSAgdGFyIGJvcnQgZmlsZW4gRklMTkFNTi4KKworICAyLiAgOncgRklMTkFNTiAgc3BhcmFyIGRlbiBha3R1ZWxsYSBWaW0tZmlsZW4gbWVkIG5hbW5ldCBGSUxOQU1OLgorCisgIDMuICA6IywjdyBGSUxOQU1OICBzcGFyYXIgcmFkZXJuYSAjIHRpbGwgIyAgaSBmaWxlbiBGSUxOQU1OLgorCisgIDQuICA6ciBGSUxOQU1OICB0YXIgZW1vdCBmaWxlbiBGSUxOQU1OIG9jaCBpbmZvZ2FyIGRlbiBpIGRlbiBha3R1ZWxsYSBmaWxlbgorICAgICAgZWZ0ZXIgbWFya/ZyZW4uCisKKworCisKKworCit+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+fn4KKwkJCSBMZWt0aW9uIDYuMTog1lBQTkEtS09NTUFORE9UCisKKworICoqIFNrcml2ICBvICBm9nIgYXR0IPZwcG5hIGVuIHJhZCB1bmRlciBtYXJr9nJlbiBvY2ggcGxhY2VyYSBkaWcgaQorICAgIEluZm9nYS1s5GdlLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4uCisKKyAgMi4gU2tyaXYgIG8gKGxpdGV0IG8pIGb2ciBhdHQg9nBwbmEgdXBwIGVuIHJhZCBORURBTkbWUiBtYXJr9nJlbiBvY2ggcGxhY2VyYQorICAgICBkaWcgaSBJbmZvZ2EtbW9kZS4KKworICAzLiBLb3BpZXJhIG51IHJhZGVuIG1hcmtlcmFkIC0tLT4gb2NoIHRyeWNrIDxFU0M+IGb2ciBhdHQgYXZzbHV0YQorICAgICBJbmZvZ2EtbORnZXQuCisKKy0tLT4gRWZ0ZXIgZHUgc2tyaXZpdCAgbyAgcGxhY2VyYWQgbWFya/ZyZW4gcOUgZW4g9nBwZW4gcmFkIGkgSW5mb2dhLWzkZ2UuCisKKyAgNC4gRvZyIGF0dCD2cHBuYSB1cHAgZW4gcmFkIE9WQU5G1lIgbWFya/ZyZW4sIHNrcml2IGV0dCBzdG9ydCAgTyAsIGlzdORsbGV0CisgICAgIGb2ciBldHQgbGl0ZXQgIG8uIFBy9nZhIGRldHRhIHDlIHJhZGVuIG5lZGFuLgor1nBwbmEgdXBwIGVuIHJhZCBvdmFuZvZyIGRlbm5hIGdlbm9tIGF0dCB0cnlja2EgU2hpZnQtTyBu5HIgbWFya/ZyZW4gc3TlciBo5HIuCisKKworCisKKworfn5+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+CisJCQlMZWt0aW9uIDYuMjogTMRHRyBUSUxMLUtPTU1BTkRPVAorCisKKwkgICAgICoqIFNrcml2ICBhICBm9nIgYXR0IGluZm9nYSB0ZXh0IEVGVEVSIG1hcmv2cmVuLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIHNsdXRldCBhdiBkZW4gZvZyc3RhIHJhZGVuIG5lZGFuIG1hcmtlcmFkIC0tLT4gZ2Vub20KKyAgICAgYXR0IHNrcml2ICAkCWkgTm9ybWFsLWzkZ2UuCisKKyAgMi4gU2tyaXYgZXR0ICBhICAobGl0ZXQgYSkgZvZyIGF0dCBs5GdnYSB0aWxsIHRleHQgRUZURVIgdGVja25ldCB1bmRlcgorICAgICBtYXJr9nJlbi4gIChTdG9ydCAgQSAgbORnZ2VyIHRpbGwgaSBzbHV0ZXQgYXYgcmFkZW4uKQorCitOb3RlcmE6IERldHRhIHVuZHZpa2VyIGF0dCBiZWj2dmEgc2tyaXZhICBpICwgZGV0IHNpc3RhIHRlY2tuZXQsIHRleHRlbiBhdHQKKwlpbmZvZ2EsIDxFU0M+LCBo9mdlcnBpbCwgb2NoIHNsdXRsaWdlbiwgeCwgYmFyYSBm9nIgYXR0IGzkZ2dhIHRpbGwgaQorCXNsdXRldCBw5SBlbiByYWQhCisKKyAgMy4gR/ZyIG51IGbkcmRpZ3QgZGVuIGb2cnN0YSByYWRlbi4gTm90ZXJhIG9ja3PlIGF0dCBs5GdnYSB0aWxsIORyIGxpa2FkYW50CisgICAgICBzb20gSW5mb2dhLWzkZ2UsIGVuZGEgc2tpbGxuYWRlbiDkciBwb3NpdGlvbmVuIGTkciB0ZXh0ZW4gYmxpciBpbmZvZ2FkLgorCistLS0+IEjkciBrYW4gZHUgdHLkbmEKKy0tLT4gSORyIGthbiBkdSB0cuRuYSBw5SBhdHQgbORnZ2EgdGlsbCB0ZXh0IGkgc2x1dGV0IHDlIGVuIHJhZC4KKworCisKK35+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+fgorCQkgICAgTGVrdGlvbiA2LjM6IEVOIEFOTkFOIFZFUlNJT04gQVYgRVJTxFRUCisKKworICAgICAgKiogU2tyaXYgZXR0IHN0b3J0ICBSICBm9nIgYXR0IGVyc+R0dGEgZmxlciDkbiBldHQgdGVja2VuLiAqKgorCisgIDEuIEZseXR0YSBtYXJr9nJlbiB0aWxsIGRlbiBm9nJzdGEgcmFkZW4gbmVkYW4gbWFya2VyYWQgLS0tPi4KKworICAyLiBQbGFjZXJhIG1hcmv2cmVuIHZpZCBi9nJqYW4gYXYgZGV0IGb2cnN0YSBvcmRldCBzb20g5HIgYW5ub3JsdW5kYSBq5G1m9nJ0CisgICAgIG1lZCBkZW4gYW5kcmEgcmFkZW4gbWFya2VyYWQgLS0tPiAob3JkZXQgInNpc3RhIikuCisKKyAgMy4gU2tyaXYgbnUgIFIgIG9jaCBlcnPkdHQgcmVzdGVuIGF2IHRleHRlbiBw5SBkZW4gZvZyc3RhIHJhZGVuIGdlbm9tIGF0dAorICAgICBza3JpdmEg9nZlciBkZW4gZ2FtbGEgdGV4dGVuIHPlIGF0dCBkZW4gZvZyc3RhIHJhZGVuIGJsaXIgbGlrYWRhbiBzb20KKyAgICAgZGVuIGFuZHJhLgorCistLS0+IEb2ciBhdHQgZuUgZGVuIGb2cnN0YSByYWRlbiBsaWthIHNvbSBkZW4gc2lzdGEsIGFuduRuZCB0YW5nZW50ZXJuYS4KKy0tLT4gRvZyIGF0dCBm5SBkZW4gZvZyc3RhIHJhZGVuIGxpa2Egc29tIGRlbiBhbmRyYSwgc2tyaXYgUiBvY2ggZGVuIG55YSB0ZXh0ZW4uCisKKyAgNC4gTm90ZXJhIGF0dCBu5HIgZHUgdHJ5Y2tlciA8RVNDPiBm9nIgYXR0IGF2c2x1dGEsIHPlIGJsaXIgZXZlbnR1ZWxsCisgICAgIG9m9nLkbmRyYWQgdGV4dCBrdmFyLgorCisKKworCisKK35+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+fgorCQkJICAgIExla3Rpb24gNi40OiBTxFRUIEZMQUdHT1IKKworICAqKiBT5HR0IGVuIGZsYWdnYSBz5SBhdHQgZW4gc/ZrbmluZyBlbGxlciBlcnPkdHRuaW5nIGlnbm9yZXJhciBzdG9ybGVrICoqCisKKyAgMS4gU/ZrIGVmdGVyICJpZ25vcmUiIGdlbm9tIGF0dCBza3JpdmE6CisgICAgIC9pZ25vcmUKKyAgICAgUmVwZXRlcmEgZmxlcmEgZ+VuZ2VyIGdlbm9tIGF0dCB0cnlja2EgcOUgbi10YW5nZW50ZW4KKworICAyLiBT5HR0ICdpYycgKElnbm9yZSBDYXNlKSBmbGFnZ2FuIGdlbm9tIGF0dCBza3JpdmE6CisgICAgIDpzZXQgaWMKKworICAzLiBT9msgbnUgZWZ0ZXIgImlnbm9yZSIgaWdlbiBnZW5vbSBhdHQgdHJ5Y2thOiBuCisgICAgIFJlcGVhdCBzZWFyY2ggc2V2ZXJhbCBtb3JlIHRpbWVzIGJ5IGhpdHRpbmcgdGhlIG4ga2V5CisKKyAgNC4gU+R0dCAnaGxzZWFyY2gnIGFuZCAnaW5jc2VhcmNoJyBmbGFnZ29ybmE6CisgICAgIDpzZXQgaGxzIGlzCisKKyAgNS4gU2tyaXYgbnUgaW4gc/ZrLWtvbW1hbmRvdCBpZ2VuLCBvY2ggc2UgdmFkIHNvbSBo5G5kZXI6CisgICAgIC9pZ25vcmUKKworICA2LiBG9nIgYXR0IHRhIGJvcnQgZnJhbWjkdm5pbmdlbiBhdiB0cuRmZmFyLCBza3JpdgorICAgICA6bm9obHNlYXJjaAorfn5+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+CisJCQkgICAgICAgTEVLVElPTiA2IFNBTU1BTkZBVFROSU5HCisKKworICAxLiBHZW5vbSBhdHQgc2tyaXZhICBvICD2cG5uYXMgZW4gcmFkIE5FREFORtZSIG1hcmv2cmVuIG9jaCBtYXJr9nJlbiBwbGFjZXJhcworICAgICBw5SBkZW4g9nBwbmEgcmFkZW4gaSBJbmZvZ2EtbORnZS4KKyAgICAgR2Vub20gYXR0IHNrcml2YSBldHQgc3RvcnQgIE8gIPZwcG5hcyByYWRlbiBPVkFORtZSIHJhZGVuIHNvbSBtYXJr9nJlbiDkcgorICAgICBw5S4KKworICAyLiBTa3JpdiBldHQgIGEgIGb2ciBhdHQgaW5mb2dhIHRleHQgRUZURVIgdGVja25ldCBzb20gbWFya/ZyZW4gc3TlciBw5S4KKyAgICAgR2Vub20gYXR0IHNrcml2YSBldHQgc3RvcnQgIEEgIGzkZ2dzIHRleHQgYXV0b21hdGlza3QgdGlsbCBpIHNsdXRldCBw5QorICAgICByYWRlbi4KKworICAzLiBHZW5vbSBhdHQgc2tyaXZhIGV0dCBzdG9ydCAgUiAgaGFtbmFyIGR1IGkgRXJz5HR0LWzkZ2UgdGlsbCAgPEVTQz4gIHRyeWNrcworICAgICBm9nIgYXR0IGF2c2x1dGEuCisKKyAgNC4gR2Vub20gYXR0IHNrcml2YSAiOnNldCB4eHgiIHPkdHRzIGZsYWdnYW4gInh4eCIKKworCisKKworCisKKworCisKK35+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+fgorCQkgICAgICAgTEVLVElPTiA3OiBPTi1MSU5FIEhKxExQLUtPTU1BTkRPTgorCisKKwkJICAgICAgKiogQW525G5kIG9uLWxpbmUgaGrkbHBzeXN0ZW1ldCAqKgorCisgIFZpbSBoYXIgZXR0IG9tZmF0dGFuZGUgb24tbGluZSBoauRscHN5c3RlbS4gRvZyIGF0dCBrb21tYSBpZ+VuZyBwcvZ2YSBldHQgYXYKKyAgZGVzc2EgdHJlOgorCS0gdHJ5Y2sgPEhFTFA+IHRhbmdlbnRlbiAob20gZHUgaGFyIG7lZ29uKQorCS0gdHJ5Y2sgPEYxPiB0YW5nZW50ZW4gKG9tIGR1IGhhciBu5WdvbikKKwktIHNrcml2ICAgOmhlbHAgPEVOVEVSPgorCisgIFNrcml2ICAgOnEgPEVOVEVSPiAgIGb2ciBhdHQgc3Ry5G5nYSBoauRscGb2bnN0cmV0LgorCisgIER1IGthbiBoaXR0YSBoauRscCBvbSBu5HN0YW4gYWxsdGluZywgZ2Vub20gYXR0IGdlIGV0dCBhcmd1bWVudCB0aWxsCisgICI6aGVscCIga29tbWFuZG90LiBQcvZ2YSBkZXNzYSAoZ2z2bSBpbnRlIGF0dCB0cnlja2EgPEVOVEVSPik6CisKKwk6aGVscCB3CisJOmhlbHAgY188VAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCisKKworfn5+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+CisJCSAgICAgICBMRUtUSU9OIDg6IFNLQVBBIEVUVCBVUFBTVEFSVFNTS1JJUFQKKworCQkJICAqKiBBa3RpdmVyYSBWaW0tIGZ1bmt0aW9uZXIgKioKKworICBWaW0gaGFyIG3lbmdhIGZsZXIgZnVua3Rpb25lciDkbiBWaSwgbWVuIGRlIGZsZXN0YSBhdiBkZW0g5HIgaW5ha3RpdmVyYWRlIHNvbQorICBzdGFuZGFyZC4gRvZyIGF0dCBi9nJqYSBhbnbkbmRhIGZsZXIgZnVua3Rpb25lciBt5XN0ZSBkdSBza2FwYSBlbiAidmltcmMiLWZpbC4KKworICAxLiBC9nJqYSByZWRpZ2VyYSAidmltcmMiLWZpbGVuLCBkZXR0YSBiZXJvciBw5SBkaXR0IHN5c3RlbToKKwk6ZWRpdCB+Ly52aW1yYwkJCWb2ciBVbml4CisJOmVkaXQgJFZJTS9fdmltcmMJCWb2ciBNUy1XaW5kb3dzCisKKyAgMi4gTORzIG51IHRleHRlbiBpIGV4ZW1wZWwgInZpbXJjIi1maWxlbjoKKworCTpyZWFkICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU3BhcmEgZmlsZW4gbWVkOgorCisJOndyaXRlCisKKyAgTuRzdGEgZ+VuZyBkdSBzdGFydGFyIFZpbSBrb21tZXIgZGVuIGF0dCBhbnbkbmRhIHN5bnRheGZyYW1o5HZuaW5nLgorICBEdSBrYW4gbORnZ2EgdGlsbCBhbGxhIGluc3TkbGxuaW5nYXIgZHUgZvZyZWRyYXIgdGlsbCBkZW4gaORyICJ2aW1yYyItZmlsZW4uCisKK35+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+fgorCisgIERldHRhIGF2c2x1dGFyIGhhbmRsZWRuaW5nZW4gaSBWaW0uIERlbiB2YXIgYXZzZWRkIGF0dCBnZSBlbiBrb3J0IPZ2ZXJzaWt0IGF2CisgIHJlZGlnZXJhcmVuIFZpbSwgYmFyYSB0aWxscuRja2xpZ3QgZvZyIGF0dCBkdSBza2Ega3VubmEgYW525G5kYSByZWRpZ2VyYXJlbgorICByZWxhdGl2dCBlbmtlbHQuIERlbiDkciBs5W5ndCBpZnLlbiBrb21wbGV0dCBlZnRlcnNvbSBWaW0gaGFyIG3lbmdhIG3lbmdhIGZsZXIKKyAga29tbWFuZG9uLiBM5HMgYW525G5kYXJtYW51YWxlbiBo5HJu5HN0OiAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIEb2ciB2aWRhcmUgbORzbmluZyByZWtvbW1lbmRlcmFzIGRlbiBo5HIgYm9rZW46CisJVmltIC0gVmkgSW1wcm92ZWQgLSBhdiBTdGV2ZSBPdWFsbGluZQorCUb2cmxhZzogTmV3IFJpZGVycworICBEZW4gZvZyc3RhIGJva2VuIHNvbSDkciBlbmRhc3QgYmVoYW5kbGFyIFZpbS4gU3BlY2llbGx0IGFuduRuZGJhciBm9nIKKyAgbnli9nJqYXJlLiBEZXQgZmlubnMgbeVuZ2EgZXhlbXBlbCBvY2ggYmlsZGVyLgorICBTZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIERlbiBo5HIgYm9rZW4g5HIg5GxkcmUgb2NoIGJlaGFuZGxhciBtZXIgVmkg5G4gVmltLCBtZW4gcmVrb21tZW5kZXJhcyBvY2tz5ToKKwlMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gYXYgTGluZGEgTGFtYgorCUb2cmxhZzogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgRGV0IORyIGVuIGJyYSBib2sgZvZyIGF0dCBs5HJhIHNpZyBu5HN0YW4gYWxsdCBzb20gZHUgdmlsbCBrdW5uYSBn9nJhIG1lZCBWaS4KKyAgRGVuIHNq5HR0ZSB1cHBsYWdhbiBpbmtsdWRlcmFyIG9ja3PlIGluZm9ybWF0aW9uIG9tIFZpbS4KKworICBEZW4gaORyIGhhbmRsZWRuaW5nZW4g5HIgc2tyaXZlbiBhdiBNaWNoYWVsIEMuIFBpZXJjZSBvY2ggUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBtZWQgaWTpZXIgZnLlbiBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1wb3N0OiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgTW9kaWZpZXJhZCBm9nIgVmltIGF2IEJyYW0gTW9vbGVuYWFyLgorICDWdmVyc2F0dCBhdiBKb2hhbiBTdmVkYmVyZyA8am9oYW5Ac3ZlZGJlcmcuY29tPgorCit+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+fn4K