PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IURPQ1RZUEUgYm9vayBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBWNC4xLjIvL0VOIgogICAgICAgICAgICAgICAgICAgICAgImZpbGU6Ly8vdXNyL3NoYXJlL3NnbWwvZG9jYm9vay9kdGQveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIgWwo8IS0tIDwhQVRUTElTVCBib29rICB4bWw6bGFuZyBOTVRPS0VOICdlbic+IC0tPgo8IS0tIDwhQVRUTElTVCBib29rICB4bWw6bGFuZyBOTVRPS0VOICdkZSc+IC0tPgo8IUVOVElUWSBrcHAtaW50cm8gU1lTVEVNICJrcHAtaW50cm8ueG1sIj4KPCFFTlRJVFkga3BwLW1hbnVhbCBTWVNURU0gImtwcC1tYW51YWwueG1sIj4KPCFFTlRJVFkga3BwLWNvb2sgU1lTVEVNICJrcHAtY29vay54bWwiPgo8IUVOVElUWSBhcHAtZmRsIFNZU1RFTSAiZmRsLnhtbCI+CjwhRU5USVRZIGFwcC1ycG4gU1lTVEVNICJrcHAtcnBuLnhtbCI+CjwhRU5USVRZIGtwcCAiPGFwcGxpY2F0aW9uPktpbXdpdHUrKzwvYXBwbGljYXRpb24+Ij4KPCFFTlRJVFkgY3BwICI8YXBwbGljYXRpb24+QysrPC9hcHBsaWNhdGlvbj4iPgo8IUVOVElUWSB5YWNjICI8YXBwbGljYXRpb24+WWFjYzwvYXBwbGljYXRpb24+Ij4KPCFFTlRJVFkgYmlzb24gIjxhcHBsaWNhdGlvbj5CaXNvbjwvYXBwbGljYXRpb24+Ij4KPCFFTlRJVFkgd2l0aCAiPGNvbnN0YW50PndpdGg8L2NvbnN0YW50PiI+CjwhRU5USVRZIGZvcmVhY2ggIjxjb25zdGFudD5mb3JlYWNoPC9jb25zdGFudD4iPgo8IUVOVElUWSBhcml0aGVybSAiPGNsYXNzbmFtZT5hcml0aGVybTwvY2xhc3NuYW1lPiI+CjwhRU5USVRZIHNpbXBsZXRlcm0gIjxjbGFzc25hbWU+c2ltcGxldGVybTwvY2xhc3NuYW1lPiI+CjwhRU5USVRZIGtpbmQgImtpbmQiPgo8IUVOVElUWSBLaW5kICJLaW5kIj4KXT4KCjwhLS0gVGhpcyBpcyB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHRlcm0gcHJvY2Vzc29yIEtpbXdpdHUrKyAtLT4KCjxib29rIHhtbDpsYW5nPSJlbiI+Cjw/bGF0ZXggXGJlZ2lue3RpdGxlcGFnZX1cbm9pbmRlbnRcdnNwYWNlKntcZmlsbH1cYmVnaW57Zmx1c2hyaWdodH0KXGZvbnRzaXplezQ4fXs1Nn1cZm9udHNoYXBle3NsfVxzZWxlY3Rmb250IEtpbXdpdHUrK1xcClxmb250c2l6ZXsyNH17Mjh9XHNlbGVjdGZvbnQgQSBUZXJtIFByb2Nlc3NvclxcClx2ZmlsbFxmb250c2l6ZXsxMn17Mjh9XHNlbGVjdGZvbnQgVG9ieSBOZXVtYW5uLCBNaWNoYWVsIFBpZWZlbApcZW5ke2ZsdXNocmlnaHR9XHZmaWxsXGVuZHt0aXRsZXBhZ2V9Clx0aGlzcGFnZXN0eWxle2VtcHR5fVxjbGVhcmRvdWJsZXBhZ2VcbHN0c2V0e2xhbmd1YWdlPUMrK30/Pgo8Ym9va2luZm8+CiAgPHRpdGxlPiZrcHA7PC90aXRsZT4KICA8c3VidGl0bGU+QSBUZXJtIFByb2Nlc3Nvcjwvc3VidGl0bGU+CiAgPGF1dGhvcj4KICAgIDxmaXJzdG5hbWU+VG9ieTwvZmlyc3RuYW1lPgogICAgPHN1cm5hbWU+TmV1bWFubjwvc3VybmFtZT4KICAgIDxhZmZpbGlhdGlvbj4KICAgICAgPG9yZ25hbWU+SHVtYm9sZHQtVW5pdmVyc2l05HQgenUgQmVybGluPC9vcmduYW1lPgogICAgICA8b3JnZGl2Pkluc3RpdHV0ZSBmb3IgSW5mb3JtYXRpY3M8L29yZ2Rpdj4KICAgIDwvYWZmaWxpYXRpb24+CiAgPC9hdXRob3I+CiAgPGF1dGhvcj4KICAgIDxmaXJzdG5hbWU+TWljaGFlbDwvZmlyc3RuYW1lPgogICAgPHN1cm5hbWU+UGllZmVsPC9zdXJuYW1lPgogICAgPGFmZmlsaWF0aW9uPgogICAgICA8b3JnbmFtZT5IdW1ib2xkdC1Vbml2ZXJzaXTkdCB6dSBCZXJsaW48L29yZ25hbWU+CiAgICAgIDxvcmdkaXY+SW5zdGl0dXRlIGZvciBJbmZvcm1hdGljczwvb3JnZGl2PgogICAgPC9hZmZpbGlhdGlvbj4KICA8L2F1dGhvcj4KICA8ZWRpdGlvbj5Vc2VyJ3MgZ3VpZGUgMS4wMTwvZWRpdGlvbj4KICA8cHViZGF0ZT4yMDAyPC9wdWJkYXRlPgogIDxwcmludGhpc3Rvcnk+CiAgICA8cGFyYT5Jbml0aWFsIHZlcnNpb24gaW4gRGVjZW1iZXIgMjAwMTwvcGFyYT4KICAgIDxwYXJhPkZpcnN0IGRyYWZ0IGluIEZlYnJ1YXJ5IDIwMDI8L3BhcmE+CiAgICA8cGFyYT5VbmFtZW5kZWQgdmVyc2lvbiBtaXNzaW5nIHBhcnQgSUlJIGluIE1heSAyMDAyPC9wYXJhPgogICAgPHBhcmE+QW1lbmRlZCB2ZXJzaW9uIG1pc3NpbmcgcGFydCBJSUkgaW4gSnVseSAyMDAyPC9wYXJhPgogIDwvcHJpbnRoaXN0b3J5PgogIDxyZWxlYXNlaW5mbz5UaGlzIGRvY3VtZW50IGlzIHN0aWxsIG1pc3NpbmcgaXRzIHRoaXJkIHBhcnQuPC9yZWxlYXNlaW5mbz4KICA8cHVibGlzaGVyPgogICAgPHB1Ymxpc2hlcm5hbWU+SHVtYm9sZHQtVW5pdmVyc2l05HQgenUgQmVybGluPC9wdWJsaXNoZXJuYW1lPgogICAgPGFkZHJlc3M+CiAgICAgIDxzdHJlZXQ+VW50ZXIgZGVuIExpbmRlbiA2PC9zdHJlZXQ+CiAgICAgIDxwb3N0Y29kZT4xMDA5OTwvcG9zdGNvZGU+IDxjaXR5PkJlcmxpbjwvY2l0eT4KICAgICAgPGNvdW50cnk+R2VybWFueTwvY291bnRyeT4KICAgIDwvYWRkcmVzcz4KICA8L3B1Ymxpc2hlcj4KICA8Y29weXJpZ2h0PgogICAgPHllYXI+MjAwMTwveWVhcj4KICAgIDx5ZWFyPjIwMDI8L3llYXI+CiAgICA8aG9sZGVyPlRvYnkgTmV1bWFubiwgSW5zdGl0dXQgZvxyIEluZm9ybWF0aWssIEh1bWJvbGR0LVVuaXZlcnNpdOR0IHp1IEJlcmxpbjwvaG9sZGVyPgogIDwvY29weXJpZ2h0PgogIDxsZWdhbG5vdGljZT4KICAgIDxwYXJhPlRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSB0ZXJtIHByb2Nlc3NvciAma3BwOy4gJmtwcDsgaXMgZnJlZSBzb2Z0d2FyZTsKICAgICAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwogICAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbmNlLAogICAgICBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcGFyYT4KICAgIDxwYXJhPkxpa2V3aXNlIHRoaXMgZG9jdW1lbnRhdGlvbiBpcyBmcmVlLiAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUKICAgICAgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLAogICAgICBWZXJzaW9uIDEuMSBvciBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2l0aCBubwogICAgICBJbnZhcmlhbnQgU2VjdGlvbnMsIHdpdGggbm8gRnJvbnQtQ292ZXIgVGV4dHMsIGFuZCB3aXRoIG5vIEJhY2stQ292ZXIgVGV4dHMuICBBIGNvcHkgb2YKICAgICAgdGhlIGxpY2Vuc2UgaXMgaW5jbHVkZWQgaW4gdGhlIHNlY3Rpb24gZW50aXRsZWQgJmxzcXVvO0dOVSBGcmVlIERvY3VtZW50YXRpb24KICAgICAgTGljZW5zZSZyc3F1bzsuPC9wYXJhPgogIDwvbGVnYWxub3RpY2U+CiAgPGxlZ2Fsbm90aWNlPgogICAgPHBhcmE+VGhlIHByb2dyYW0gJmtwcDsgaXMgYmFzZWQgb24gS2ltd2l0dSAod2l0aCBpdHMgb3duIDx1bGluawogICAgICAgIHVybD0iaHR0cDovL3B1cmwub2NsYy5vcmcvbmV0L2tpbXdpdHUiPndlYiBzaXRlPC91bGluaz4pLCB3cml0dGVuIGJ5CiAgICAgIEF4ZWwgQmVsaW5mYW50ZSAoPGVtYWlsPmJlbGluZmFuQHV0d2VudGUubmw8L2VtYWlsPikuIEtpbXdpdHUgaXMgYWxzbyBmcmVlIHNvZnR3YXJlLAogICAgICBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLCBzaW5jZSBpdHMgNC42LjEgcmVsZWFzZS48L3BhcmE+CiAgPC9sZWdhbG5vdGljZT4KPC9ib29raW5mbz4KCjwhLS0gVGFibGUgb2YgY29udGVudHMgLS0+Cjx0b2MgLz4KCjwhLS0gQmVnaW4gdGhlIGRvY3VtZW50IC0tPgoKPHBhcnQ+PHRpdGxlPkludHJvZHVjdGlvbiB0byAma3BwOzwvdGl0bGU+CiAgPHBhcnRpbnRybz4KICAgIDxwYXJhPlRoaXMgcGFydCBleHBsYWlucyB3aGF0IGVzc2VudGlhbGx5ICZrcHA7IGlzIGFuZCB3aGF0IGFkdmFudGFnZXMgaXQKICAgICAgcHJvdmlkZXMuIEl0IGdpdmVzIGFuIG92ZXJ2aWV3IG9mIHRoZSBmdW5jdGlvbmFsaXR5IG9mCiAgICAgICZrcHA7LCB3aGljaCBpcyBkZW1vbnN0cmF0ZWQgd2l0aCBleGFtcGxlLiBEZXRhaWxlZCBkaXNjdXNzaW9uIG9mIGNvbmNlcHRzCiAgICAgIGlzIGxlZnQgdG8gdGhlIHJlZmVyZW5jZSBwYXJ0IGxhdGVyIGluIHRoaXMgYm9vay48L3BhcmE+CiAgPC9wYXJ0aW50cm8+CiAgJmtwcC1pbnRybzsKPC9wYXJ0PgoKCjxwYXJ0Pjx0aXRsZT5SZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KICA8cGFydGludHJvPgogICAgPHBhcmE+VGhpcyBwYXJ0IGxpc3RzIGFsbCBjb25jZXB0cyBvZiAma3BwOyBhbmQgZXhwbGFpbnMgdGhlbSBpbiBkZXRhaWwuCiAgICAgIEl0IGlzIG1lYW50IGFzIGEgY29tcGxldGUgZG9jdW1lbnRhdGlvbiBvZiBhbGwgZmVhdHVyZXMgYW5kIGNvbnRhaW5zCiAgICAgIGFkdmljZXMgb2YgZG8ncyBhbmQgZG9uJ3RzLiBUbyB0aGUgYWR2YW5jZWQgdXNlciBpdCBzaG91bGQgc2VydmUgYXMKICAgICAgYSBwcm9ncmFtbWluZyByZWZlcmVuY2UuPC9wYXJhPgogIDwvcGFydGludHJvPgogICZrcHAtbWFudWFsOwo8L3BhcnQ+Cgo8IS0tcGFydD48dGl0bGU+Q29vayBCb29rPC90aXRsZT4KICA8cGFydGludHJvPgogICAgPHBhcmE+VGhpcyBwYXJ0IGlzIG5vdCB3cml0dGVuIHlldC4gSXQgc2hvdWxkIGNvbnRhaW4gYSBidW5jaCBvZiBleGFtcGxlcwogICAgICBkZW1vbnN0cmF0aW5nIHRoZSBhYmlsaXRpZXMgb2YgJmtwcDsgYXBwbGllZCB0byBwcm9ibGVtcyBhY3R1YWxseSBvY2N1cnJlZC4KICAgICAgRGVhciBleHBlcmllbmNlZCA8YXBwbGljYXRpb24+S2ltd2l0dTwvYXBwbGljYXRpb24+LyZrcHA7IHVzZXJzLCBwbGVhc2UgbWFrZSBzdWdnZXN0aW9ucyB0byB3aGljaAogICAgICBpbnRlcmVzdGluZyBvciB1c2VmdWwgc29sdXRpb25zIHNob3VsZCBhcHBlYXIgaGVyZSE8L3BhcmE+CiAgPC9wYXJ0aW50cm8+CiAgJmtwcC1jb29rOwo8L3BhcnQtLT4KCjwhLS0gQXBwZW5kaXggLS0+CgomYXBwLXJwbjsKJmFwcC1mZGw7Cgo8L2Jvb2s+Cgo8IS0tIHZpbTpzZXQgc3c9MiB0cz04IHR3PTgwOiAtLT4K