<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>ShopMadeSimple</name>
	<version>0.3.8</version>
  <mincmsversion>1.9.4</mincmsversion>
	<help><![CDATA[CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD4KQSB2aXNpdG9yIG9mIHRoZSB3ZWJzaXRlIHdpbGwgc2VlIGEgbGlzdCBvZiBjYXRlZ29yaWVzLiBZb3Ugd2lsbCBiZSBhYmxlIHRvIHNob3cgYSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIGJ5IHBsYWNpbmcgYSBzbWFydHkgdGFnIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyAmIzEyMztjbXNfbW9kdWxlIG1vZHVsZT1TaG9wTWFkZVNpbXBsZX0uPGJyPiAKVXNpbmcgdGhlIHBhcmFtZXRlciBjb25uZWN0ZWQgdG8gYSBjYXRlZ29yeSwgeW91IGFyZSBhYmxlIHRvIHNob3cgcHJvZHVjdHMgbGlua2VkIHRvIHRoYXQgY2F0ZWdvcnkuPGJyPgpBbiBleGFtcGxlIGlzOiB7Y21zX21vZHVsZSBtb2R1bGU9U2hvcE1hZGVTaW1wbGUgZGlzcGxheT0ncHJvZHVjdGxpc3QnIGNhdG5hbWU9J0dhcmRlbnRvb2xzJ30uIFRoaXMgd2lsbCBzaG93IGFsbCBwcm9kdWN0cyB0aGF0IGFyZSBjb25uZWN0ZWQgdG8gdGhlCmNhdGVnb3J5IG5hbWUgJ0dhcmRlbnRvb2xzJy4gVXNpbmcgdGhlIGRpc3BsYXk9J3Byb2R1Y3RsaXN0JyB3aXRob3V0IGEgY2F0ZWdvcnkgbmFtZSB3aWxsIHNob3cgdGhlIHByb2R1Y3RzIGluIHRoZSByb290Ljxicj4gCkFub3RoZXIgZXhhbXBsZSBpczoge2Ntc19tb2R1bGUgbW9kdWxlPVNob3BNYWRlU2ltcGxlIGRpc3BsYXk9J2NhdGVnb3J5bGlzdCd9LiBUaGlzIHdpbGwgc2hvdyB0aGUgdmFyaW91cyBjYXRlZ29yaWVzLiBJZiBvbmUgaXMgc2VsZWN0ZWQsIGFsbCB0aGUgY29ubmVjdGVkIHByb2R1Y3RzIGFyZSBzaG93bi48YnI+CklmIHlvdSBkb24ndCB3YW50IHRvIHNlZSBhbiBpbWFnZSBmb3IgYSBjYXRlZ29yeSBvbiB0aGUgZnJvbnQgZW5kLCBwbGFjZSAnbm9faW1hZ2UuanBnJyBpbiB0aGUgZmllbGQgJ0ltYWdlJy48YnI+PGJyPgpXaGVuIHRoZSBTZWFyY2ggbW9kdWxlIGlzIGluc3RhbGxlZCwgYWxsIHRoZSB3b3JkcyBhcyBlbnRlcmVkIGluIHRoZSBwcm9kdWN0IG5hbWUgYW5kIHByb2R1Y3QgZGVzY3JpcHRpb24gd2lsbCBiZSBwYXJ0IG9mIHRoZSBzZWFyY2ggaW5kZXguPGJyPgpJZiB0aGUgU2VhcmNoIG1vZHVsZSBpcyBpbnN0YWxsZWQgYWZ0ZXIgdGhpcyBtb2R1bGUsIG9uZSBjYW4gdXNlIHRoZSBidXR0b24gUmVpbmRleCBmb3IgU2VhcmNoIGZyb20gdGhlIG9wdGlvbnMgdGFiIGluIHRoZSBiYWNrIGVuZC48YnIgLz4KV2hlbiB5b3UgdXNlIGludmVudG9yeSB0cmFja2luZywgdGhlIHF1YW50aXR5IHNvbGQgd2lsbCBiZSBzdWJ0cmFjdGVkIGZyb20gdGhlIHF1YW50aXR5IG9uIHN0b2NrIGF0IHRoZSBtb21lbnQgdGhhdCBwYXltZW50IGhhcyBiZWVuIApyZWNlaXZlZC4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+V2hlbiB5b3UgaGF2ZSB1cGdyYWRlZCB0aGlzIG1vZHVsZSwgcGxlYXNlIHJlYWQgdGhlIEFib3V0IGluZm9ybWF0aW9uIGZvciBpbnN0YWxsYXRpb24vdXBncmFkZSBpc3N1ZXMuPC9wPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IHNlZSB0aGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9zbXMiPnByb2plY3RzIGhvbWVwYWdlPC9hPjs8L2xpPgo8bGk+Q29tbWVyY2lhbCBzdXBwb3J0IGlzIGF2YWlsYWJsZSB2aWEgRHVrZXRvd24ncyBtb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5kdWtldG93bi5ldSI+RHVrZXRvd248L2E+OzwvbGk+CjxsaT5CdXkgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZHVrZXRvd24uZXUvc2hvcCI+Q01TIE1hZGUgU2ltcGxlIGJvb2s8L2E+IGZyb20gRHVrZXRvd24sIHdoaWNoIGRlc2NyaWJlcyBpbiBkZXRhaWwgaG93IHRvIHVzZSB0aGlzIG1vZHVsZTs8L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LTIwMTEuPGJyPgpBdXRob3I6IER1a2V0b3duCjxwPk5vdyB0aGF0IHlvdSBhcmUgdXNpbmcgdGhpcyBmcmVlIG1vZHVsZSwgd2h5IG5vdCBzaGFyZSBhIHRpbnkgYml0IG9mIHlvdXIgZWFybmVkIG1vbmV5IHZpYSBhIGRvbmF0aW9uIHZpYSBEdWtldG93biEgVGhhbmtzIGluIGFkdmFuY2UuCjxmb3JtIHRhcmdldD0iX2JsYW5rIiBhY3Rpb249Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3IiIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNtZCIgdmFsdWU9Il9zLXhjbGljayI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSIyNEJFUERUM0RWTk1KIj4KPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfU00uZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSEiPgo8aW1nIGFsdD0iIiBib3JkZXI9IjAiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KPC9mb3JtPgo8L3A+CjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3RhcnQ9IiIgLSBUaGUgc3RhcnRpbmcgdmFsdWUgZm9yIHRoZSBwYWdlIG9mIHByb2R1Y3RzLiBJZiB5b3Ugd2FudCB0byBzaG93IGFsbCBwcm9kdWN0cyBzdGFydGluZyBhdCB0aGUgZm91cnRoLCB1c2UgJ3N0YXJ0PTQnLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcGFnZW51bWJlcj0iIiAtIEVudGVyIHRoZSBudW1iZXIgb2YgdGhlIHBhZ2UgdGhhdCB0aGUgcHJvZHVjdHMgc2hvdWxkIGJlIHNob3duLiAncGFnZW51bWJlcj0yJyB3aWxsIHNob3cgYWxsIHByb2R1Y3RzIGFzIG9mIHBhZ2UgMi4gClRoZSB2aXNpdG9yIHdpbGwgYmUgYWJsZSB0byB1c2UgdGhlIHByZXZpb3VzIHBhZ2UgYW5kIHRoZSBuZXh0IChpZiBhbnkpLiBJZiB0aGUgcGFnZW51bWJlciBpcyBub3QgcGFzc2VkLCBwYWdlIDEgd2lsbCBiZSBzaG93bi48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHByb2RwYWdlbGltaXQ9IiIgLSBUaGUgbnVtYmVyIG9mIHByb2R1Y3RzIHRoYXQgYXJlIHRvIGJlIHNob3duIG9uIG9uZSBwYWdlLiBUaGlzIG92ZXJyaWRlcyB0aGUgdmFsdWUgYXMgZW50ZXJlZCBpbiB0aGUgb3B0aW9ucy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHBhcmVudGNhdGVnb3J5PSIiIC0gSW50ZXJuYWwgbnVtYmVyIG9mIGNhdGVnb3J5LiBUaGlzIHdpbGwgc2hvdyBhIGxpc3Qgb2YgYWxsIHRoZSBjYXRlZ29yaWVzIHVzaW5nIHRoZSBwcm92aWRlZCBudW1iZXIgYXMgcGFyZW50LiAKVGhlIGludGVybmFsIG51bWJlciBjYW4gYmUgZm91bmQgb24gdGhlIGxlZnQgc2lkZSBvZiBlYWNoIGNhdGVnb3J5IGluIHRoZSBhZG1pbiBwYWdlIG9mIHRoaXMgbW9kdWxlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGlzcGxheT0iIiAtIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkaXNwbGF5IHlvdSB3YW50IHRvIHNob3cuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGF2YWlsYWJsZTo8dWw+Cgk8bGk+Y2F0ZWdvcnlsaXN0IChkZWZhdWx0KSAtIHNob3dzIGEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBhbmQgdGhlIG51bWJlciBvZiBwcm9kdWN0cyB3aXRoaW4gY2F0ZWdvcnkgKG9uZSBsZXZlbCBvbmx5ISk7PC9saT4KCTxsaT5jYXRsaXN0IC0gc2hvd3MgbGlzdCBvZiBjYXRlZ29yaWVzIHdpdGggbnVtYmVyIG9mIHByb2R1Y3RzLiBVc2UgdGhpcyBpZiBtdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgdXNlZDs8L2xpPgoJPGxpPmZlYXR1cmVkIC0gc2hvd3MgYSBsaXN0IG9mIHRoZSBwcm9kdWN0cyB0aGF0IGFyZSBtYXJrZWQgYXMgZmVhdHVyZWQ7PC9saT4KCTxsaT5wcm9kdWN0bGlzdCAtIHNob3cgcHJvZHVjdHMgZnJvbSBhIG5hbWVkIGNhdGVnb3J5LjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWxwYWdlPSIiIC0gVGhlIGFsaWFzIG9mIHRoZSBwYWdlIHRvIHVzZSB3aGVuIGRldGFpbCBpcyByZXF1ZXN0ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYXRuYW1lPSIiIC0gTmFtZSBvZiBjYXRlZ29yeS4gTXVzdCBleGFjdGx5IG1hdGNoLiBJZiBsZWZ0IGJsYW5rLCB0aGUgcHJvZHVjdHMgZnJvbSB0aGUgcm9vdCBjYXRlZ29yeSB3aWxsIGJlIHNob3duLiAKVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB1c2VkIGlmIHRoZSBwYXJhbWV0ZXIgZGlzcGxheSBjb250YWlucyBwcm9kdWN0bGlzdCAoc2VlIGV4YW1wbGUpLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnlfaWQ9IiIgLSBUaGUgY2F0ZWdvcnlfaWQgdG8gZGlyZWN0bHkgc2hvdyBhIGxpc3Qgb2Ygc3ViIGNhdGVnb3JpZXMuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBEdWtldG93bjxiciAvPjxiciAvPlZlcnNpb246IDAuMy44PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgoJPGxpPlZlcnNpb24gMC4zLjggMSBEZWNlbWJlciAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+QWRkZWQgcGFyYW1ldGVycyB0byBvdmVyY29tZSB3cm9uZ2x5IHBhc3NlZCBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPk9uIHRoZSBjYXRlZ29yeSBsaXN0LCBuZXcgZmllbGRzIGFyZSBtYWRlIGF2YWlsYWJsZTogZW50cnktPmNhdG5hbWUgYW5kIGVudHJ5LT5jYXRjb3VudDs8L2xpPgoJCQk8bGk+VHlwbyBjYXVzZWQgcHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeSBuZXZlciB0byBiZSBzaG93biBjb3JyZWN0bHkgd2hlbiB1c2luZyBkaXNwbGF5PWNhdGxpc3Q7PC9saT4KCQkJPGxpPlJlc29sdmVkIGVycm9yIHdoZW4gc2VhcmNoIGZvciBwcm9kdWN0IHdhcyB1c2VkIChidWcjIDcyMTApOzwvbGk+CgkJCTxsaT5NYWtlIHN1cmUgbm8gbG9nZ2luZyB0byBhZG1pbiBsb2cgaXMgZG9uZSBieSBzZXR0aW5nIHJlc3RyaWN0ZWQgcGFyYW1ldGVycy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjcgMjIgT2N0b2JlciAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+UHJpY2UgYW5kIHdlaWdodCB3ZXJlIG5vdCBzYXZlZCBjb3JyZWN0bHkgZHVlIHRvIG51bWJlciBmb3JtYXRpbmcuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy42IDEyIE9jdG9iZXIgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkFsbCBjaGVja3MsIGlmIHNlYXJjaCBtb2R1bGUgd2FzIGluc3RhbGxlZCwgYXJlIHJlbW92ZWQ7PC9saT4KCQkJPGxpPkl0ZW0gbnVtYmVyIGlzIG5vdyBzaG93biBvbiBsaXN0IG9mIGl0ZW1zOzwvbGk+CgkJCTxsaT5TZWFyY2ggYnkgaXRlbSBudW1iZXIgbm93IGF2YWlsYWJsZTs8L2xpPgoJCQk8bGk+V2hlbiBhZGRpbmcvY2hhbmdpbmcgYSBwcm9kdWN0IGFuZCBJbnZlbnRvcnkgTWFuYWdlbWVudCBpcyBpbnN0YWxsZWQsIHByb2R1Y3QgZXh0ZW5zaW9uIGluZm8gY2FuIGJlIGVudGVyZWQgb24gc2FtZSBwYWdlOzwvbGk+CgkJCTxsaT5OZXcgZnVuY3Rpb24gaW4gYmFjayBlbmQgYWRkZWQ6IHF1aWNrIHNlbGVjdG9yIGZvciBlYXN5IGxvY2F0aW5nIGEgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPlByaWNlIGZvcm1hdHRpbmcgZm9sbG93cyBydWxlcyBvZiBDYXJ0TVMgKGlmIG5vdCBpbnN0YWxsZWQgc2VlIG9wdGlvbnMpIChmZWF0dXJlIHJlcXVlc3Q6IzY2NTcpOzxiciAvPgoJCQlXZWlnaHQgZm9ybWF0dGluZyBpcyBub3cgY29udHJvbGxlZCBieSBudW1iZXIgZm9ybWF0dGluZyBpbiB0aGUgb3B0aW9ucy48YnIgLz4KCQkJWW91IHdpbGwgaGF2ZSB0byByZW1vdmUgYWxsICd8bnVtYmVyX2Zvcm1hdDoyJyByZWZlcmVuY2VzIGluIGFsbCBTaG9wTVMgdGVtcGxhdGVzLjwvbGk+CgkJCTxsaT5Pbmx5IGFjdGl2ZSBwcm9kdWN0cyBhcmUgc2hvd24gaW4gdGhlIGZlYXR1cmVkIGxpc3Qgb2YgcHJvZHVjdHM7PC9saT4KCQkJPGxpPlBhZ2luYXRpb24gYnVpbGQgaW4gZm9yIGxpc3Qgb2YgZmVhdHVyZWQgcHJvZHVjdHMgKGZlYXR1cmUgcmVxdWVzdDojNjcxMCk7PC9saT4KCQkJPGxpPkltcHJvdmVkIGZsb3cgYWZ0ZXIgcHJlc3NpbmcgY2FuY2VsIGluIHByb2R1Y3QgZWRpdCAoY29ycmVjdCBjYXRlZ29yeSBwYXRoIHNob3duIG5vdyk7PC9saT4KCQkJPGxpPlZlcnNpb24gcHJlcGFyZWQgZm9yIHVzZSB3aXRoIENNU01TIHZzIDEuOS40LnggYW5kIDEuMTAuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy41IDIgQXVndXN0IDIwMTE8YnIgLz4KCQk8dWw+CgkJCTxsaT5BZGQgdG8gY2FydCBmcm9tIHByb2R1Y3QgbGlzdCB3YXMgYWJsZSB0byBhZGQgc2Vjb25kIGxpbmUgd2l0aCBzYW1lIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk1pbm9yIGNoYW5nZXMgc28gbW9kdWxlIHdvcmtzIHdpdGggUG9zdGdyZXNzIGRhdGFiYXNlIGFzIHdlbGwgKHRoYW5rcyBnbyB0byBCcmV0dCBvZiBCaW5hcnlzdHVkaW9zLm5ldCkuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy40IDEyIEp1bmUgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPlRpbWUgb2YgZGVjcmVhc2luZyB0aGUgaW52ZW50b3J5IHN0b2NrIGxldmVsIGNhbiBub3cgYmUgc2V0IHZpYSBwcmVmZXJlbmNlczs8L2xpPgoJCQk8bGk+UGFnaW5hdGlvbiBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgb24gcHJvZHVjdCBsaXN0IHBhZ2UgKGFmdGVyIHNlbGVjdGluZyBjYXRlZ29yeSk7PC9saT4KCQkJPGxpPkF0dHJpYnV0ZSBpdGVtIG51bWJlcnMgd2VyZSBub3QgY2FwaXRhbGl6ZWQgYXV0b21hdGljYWxseSB3aGVuIG9wdGlvbiB0byBkbyBzbyB3YXMgb247PC9saT4KCQkJPGxpPlBhZ2luYXRpb24gZGlkbid0IHdvcmsgd2hlbiBvbmx5IG9uZSBpdGVtIHNob3VsZCBiZSBzaG93biBwZXIgcGFnZSAoYnVnIyAzODg3KTs8L2xpPgoJCQk8bGk+Q2FsY3VsYXRpb24gb2YgYXR0cmlidXRlIHByaWNlIHdhcyB3cm9uZyB3aGVuIHByaWNlIGFkanVzdG1lbnQgd2FzICcrJyBvciAnLSc7PC9saT4KCQkJPGxpPk5ldyB2YXJpYWJsZSBhdmFpbGFibGUgaW4gdGhlIHRoZSBwcm9kdWN0IGxpc3RpbmcgdGVtcGxhdGU6IGF2YWlsYWJsZXN0b2NrLiBUaGlzIGhvbGRzIHRoZSAKCQkJcXVhbnRpdHkgYXZhaWxhYmxlIG9mIHRoZSBwcm9kdWN0IHRoYXQgaXMgb24gc3RvY2s7PC9saT4KCQkJPGxpPklmIGludmVudG9yeSBtYW5hZ2VtZW50IG1vZHVsZSBpcyBpbiB1c2UsIHNhbGVzIHRyYW5zYWN0aW9ucyBhcmUgcGFzc2VkOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIHRoZSBtYXhpbXVtIHZlcnNpb24gb2YgQ01TTVMgdG8gbWFrZSBzdXJlIG5vIHByb2JsZW1zIHdpdGggdmVyc2lvbiAxLjEwIG9mIENNU01TLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMyAyNiBNYXkgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkV4dGVuZGVkIGxlbmdodCBvZiBuYW1lIG9mIHByb2R1Y3QgaW5wdXQgdG8gMjU1IGluIHRvdGFsOzwvbGk+CgkJCTxsaT5JZiBpbnZlbnRvcnkgdHlwZSBwcmVmZXJlbmNlIHNldCB0byAnTm90IHVzZWQnLCBhbGxvdyBhZGQgdG8gY2FydCBvcHRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4yIDIxIERlY2VtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5BdHRyaWJ1dGUgZGVzY3JpcHRpb24gd2FzIG5vdCBzYXZlZCB3aGVuIGF0dHJpYnV0ZSB3YXMgYWRkZWQ7PC9saT4KCQkJPGxpPldoZW4gZWRpdGluZyBhIGNhdGVnb3J5LCB0aGUgY2F0ZWdvcnkgdGhhdCBpcyBlZGl0ZWQgY2FuJ3QgYmUgc2V0IGFzIHRoZSBwYXJlbnQgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPkRlcGVuZGVudCBvbiBpbnZlbnRvcnkgc2V0dGluZ3MsIGxhYmVscyBvZiBmaWVsZHMgb24gcHJvZHVjdCBhbmQgYXR0cmlidXRlIGxldmVsIGFyZSBzaG93biBvciBoaWRkZW47PC9saT4KCQkJPGxpPklmIHByb2R1Y3QgaXMgZGVhY3RpdmF0ZWQsIGl0cyBzZWFyY2ggaW5kZXggZW50cmllcyBhcmUgcmVtb3ZlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjEgMTcgTm92ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPldoZW4gdW5pbnN0YWxsaW5nLCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMgb2YgdGhlIHByb2R1Y3RzIGFyZSByZW1vdmVkOzwvbGk+CgkJCTxsaT5QcmVmZXJlbmNlcyBub3cgaG9sZHMgZmllbGQgdGhhdCBhbGxvd3MgdHJhY2tpbmcgb2YgaW52ZW50b3J5IG9uIHByb2R1Y3Qgb3IgYXR0cmlidXRlIGxldmVsIChSZXF1ZXN0IyA0NTAxKTs8L2xpPgoJCQk8bGk+TWFrZSBtYXggYXR0cmlidXRlcyBvbiBwcm9kdWN0IGxldmVsIG1haW50YWluYWJsZTs8L2xpPgoJCQk8bGk+Tm90IGFjdGl2ZSBhdHRyaWJ1dGVzIHdoZXJlIHNob3duIG9uIGZyb250IGVuZCwgZnJvbSB0aGlzIG1vbWVudCBvbiB0aGlzIGlzIG5vdCB0aGUgY2FzZSBhbnltb3JlLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMCA2IE5vdmVtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5OYW1lIG9mIHNob3AgaW4gcHJlZmVyZW5jZXMgaXMgbm93IHVzZWQgaW4gZG9jdW1lbnQgcHJvcGVydGllcyBvZiBpbnZvaWNlIGdlbmVyYXRlZCBpbiBDYXJ0IE1hZGUgU2ltcGxlOzwvbGk+CgkJCTxsaT5CaWcgY2hhbmdlIG9uIHRoZSBwZXJtaXNzaW9uIHN5c3RlbS4gTm90ZSAtLT4gQWxsIHByZXZpb3VzIFNob3AgTWFkZSBTaW1wbGUgcGVybWlzc2lvbnMgYXJlIGdvbmUgd2hlbiB1cGdyYWRlZCEgU29ycnksIHRoaXMgY291bGQgbm90IGJlIGF2b2lkZWQ7PC9saT4KCQkJPGxpPlNob3dpbmcgbXVsdGlwbGUgbGV2ZWxzIGluIGNhdGVnb3JpZXMgbm93IHBvc2libGUgd2l0aCBwYXJtIGNhdGxpc3QgKHNlZSBoZWxwIHRleHQpOzwvbGk+CgkJCTxsaT5JbmNsdWRlIHByaWNlIGZvcm1hdGluZyBpbiBkZWZhdWx0IGNhdGVnb3J5L3Byb2R1Y3RzIHRlbXBsYXRlOzwvbGk+CgkJCTxsaT5HZXQgcmlkIG9mIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzIHN1Y2ggYXMgJ2dsb2JhbCAkZ0Ntcyc7PC9saT4KCQkJPGxpPk1pbmltdW0gdmVyc2lvbiBzZXQgdG8gMS44LjEgZHVlIHRvIHJlbW92YWwgcHVibGljIG1lbWJlciB2YXJpYWJsZXM7PC9saT4KCQkJPGxpPlJlbW92ZWQgY2FsbCB0byBzb21ldGltZXMgbm90IHdvcmtpbmcgZXhpZl9pbWFnZTs8L2xpPgoJCQk8bGk+TWFkZSBiZXR0ZXIgdXNlIG9mIHBhdGggZGlyZWN0b3J5IHNlcGFyYXRvcjs8L2xpPgoJCQk8bGk+SW50cm9kdWN0aW9uIG9mIG1heGltdW0gbnVtYmVyIG9mIGF0dHJpYnV0ZXMgcGVyIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk5ldyBwcmVmZXJlbmNlczogJ21heGltdW0gYXR0cmlidXRlcycgYW5kICdhbGxvdyBkdXBsaWNhdGUgaXRlbSBudW1iZXInIGFkZGVkIHRvIHByZWZlcmVuY2UgcGFnZTs8L2xpPgoJCQk8bGk+U2luY2UgaXQgaGFkIHRvdGFseSBubyBmdW5jdGlvbiwgZGVmYXVsdCBsYW5ndWFnZSBoYXMgYmVlbiByZW1vdmVkIGZyb20gcHJlZmVyZW5jZXMgcGFnZTs8L2xpPgoJCQk8bGk+Q2hhbmdlZCBkZWZhdWx0IHByb2R1Y3QgZGV0YWlsIHRlbXBsYXRlIHdpdGggcmVnYXJkcyB0byBudW1iZXIgb2YgZGVjaW1hbHMgb24gcHJpY2U7PC9saT4KCQkJPGxpPlRhYmxlIGF0dHJpYnV0ZV9vcHRpb25zIHJlbW92ZWQsIGNvbnRlbnQgd2FzIG5vdCBtYWludGFpbmFibGUsIGFsbCBmaWVsZHMgbm93IGluIHRhYmxlIHByb2R1Y3RfYXR0cmlidXRlczs8L2xpPgoJCQk8bGk+QXR0cmlidXRlcyBvZiBwcm9kdWN0IG5vdyBob2xkIHByaWNlIGZhY3RvciBhbmQgdmFyaW91cyBvdGhlciBmaWVsZHMgKFJlcXVlc3QjIDM4MjYpOzwvbGk+CgkJCTxsaT5Nb3ZlZCBmdW5jdGlvbnMgaW50ZXJuYWxseSBhcm91bmQsIHNvIG1vZHVsZSBiZWNvbWVzIGEgYml0IG1vcmUgbGlrZSBzdGFuZGFyZDs8L2xpPgoJCQk8bGk+VmVyc2lvbiAwLjIuOSBvbiBwdXJwb3NlIHNraXBwZWQsIHNpbmNlIHRoaXMgaXMgYSBtYWpvciByZWxlYXNlLiBTaW5jZSB0aGlzIHZlcnNpb24gYnJlYWtzIHdpdGggdGhlIG9yaWdpbmFsLCBEdWtldG93biB0aGFua3MgCgkJCUdhcnkgR3JleWxpbmcgKExhaHVpbmRhaSkgZm9yIGFsbCBoaXMgcGVyZmVjdCB3b3JrLiBUaW1lIHRvIG1vdmUgb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi44IDkgU2VwdGVtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5ObyBtb3JlIHByb2JsZW1zIHdpdGggcHJvZHVjdCBwcmljZXMgZ3JlYXRlciB0aGFuIDk5OSAoYnVnIyA0NTExKTs8L2xpPgoJCQk8bGk+QWxsb3cgbW9kdWxlIHRvIHJ1biBpbiAxLjggZW52aXJvbm1lbnQgb2YgQ01TTVM7PC9saT4KCQkJPGxpPlJlbmFtZSBvZiBjbGFzcyBQcm9kdWN0cyB0byBTTVNQcm9kdWN0cyBzbyBtb2R1bGUgY2FuIHJ1biBuZXh0IHRvIHByb2R1Y3RzIG1vZHVsZTs8L2xpPgoJCQk8bGk+TmFtZSBvZiBwcm9kdWN0IGhhcyBiZWVuIGluY3JlYXNlZCB3aXRoIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZyb20gMzAgdG8gMjU1OzwvbGk+CgkJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAoYnVnIyAzMTIyJjQwODEpIHNvbHZlZCBieSBkcnVtem9uZTs8L2xpPgoJCQk8bGk+TmV0d2VpZ2h0IG5vdyBhdmFpbGFibGUgYXMgdmFyaWFibGUgaW4gdGhlIHByb2R1Y3QgZGV0YWlsIG92ZXJ2aWV3LjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuNyAxIE1hcmNoIDIwMTA8YnI+CgkJPHVsPgoJCQk8bGk+SW5wdXQgcGFyYW1ldGVycyB3ZXJlIG5vdCBjbGVhbmVkIGF0IGNvcnJlY3QgbW9tZW50IGNhdXNpbmcgd2FybmluZ3M7PC9saT4KCQkJPGxpPkNhdGVnb3J5IGFuZCBwcm9kdWN0cyB0ZW1wbGF0ZSB0aGF0IGlzIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiBleHRlbmRlZCB0byBpbmNsdWRlIGhvdyB0byB1c2UgaW1hZ2Ugb2YgYWRkIHRvIGNhcnQ7PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi42IDEgTm92ZW1iZXIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5TZXQgbWF4aW11bSBDTVNNUyB2ZXJzaW9uIHRvIDEuNi45IHRvIG92ZXJjb21lIHByb2JsZW1zOzwvbGk+CgkJCTxsaT5DaGFuZ2UgbG9nIG5vdCBpbiB0cmFuc2xhdGlvbiBhbnltb3JlLCBzbyB0aGlzIGxvZyBpcyBvbmx5IGF2YWlsYWJsZSBpbiBFbmdsaXNoOzwvbGk+CgkJCTxsaT5QcmVwYXJlIGFkZCB0byBjYXJ0IGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkuIEltYWdlIHRha2VuIGlzIFNob3BNYWRlU2ltcGxlL2ltYWdlcy9hZGR0b2NhcnQuZ2lmLiBDaGFuZ2UgdGhpcyBpbWFnZSBpZiBuZWVkZWQuPGJyPgoJCQlVc2UgeyRhZGRwcm9kdWN0aW1hZ2V9IGluIHRoZSB0ZW1wbGF0ZSBpbiBzdGVhZCBvZiB7JGFkZHByb2R1Y3R9LCB3aGljaCBpcyB0aGUgdGV4dDs8L2xpPgoJCQk8bGk+UmVtb3ZlZCBwcm9kdWN0IGlkIG9uIGRlZmF1bHQgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi41IDEwIEF1Z3VzdCAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPk1pc3NpbmcgY29kZSBpbiBmcm9udCBlbmQgcHJvZHVjdCBkZXRhaWwuIChidWcjIDM4NTApIHNvbHZlZCBieSBOYU4uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi40IDI2IEp1bHkgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5BdXRvbWF0aWMgaW5zdGFsbGF0aW9uIG9mIHN0eWxlc2hlZXQgXCdNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGVcJyB3YXMgbm90IHdvcmtpbmcgKHN0eWxlc2hlZXQgd2lsbCBiZSBpbnNlcnRlZCBkdXJpbmcgdXBncmFkZSBmcm9tIHZlcnNpb24gMC4yLjMgdG8gMC4yLjQpOzwvbGk+CgkJCTxsaT5BY3RpdmF0aW5nIGFuZCBkZWFjdGl2YXRpbmcgd2FzIG5vdCB3b3JraW5nIGNvcnJlY3RseSBmb3IgY2F0ZWdvcmllcyBpbiBsaXN0IG9mIGNhdGVnb3JpZXMsIGNoYW5nZSBhbHNvIGFwcGxpZWQgZm9yIHByb2R1Y3RzOzwvbGk+CgkJCTxsaT5ObyB0ZXN0IGRhdGEgY3JlYXRlZCBhbnltb3JlIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPgoJCQk8bGk+T24gcHJvZHVjdCBkZXRhaWwgbmV3IHZhcmlhYmxlcyBpbnRyb2R1Y2VkOiB7aW1hZ2V0aHVtYn0gYW5kIHtmdWxscGF0aGltYWdlfSB0byBzdXBwb3J0IGltYWdlcyBiZXR0ZXI7PC9saT4KCQkJPGxpPk5vIGNhdGVnb3J5IGFuZCBwcm9kdWN0IGlkIHVzZWQgYW55bW9yZSBpbiBpbnN0YWxsZWQgdGVtcGxhdGUgb2YgY2F0YWdvcnkgbGlzdDs8L2xpPgoJCQk8bGk+RGVmYXVsdCBjdXJyZW5jeSBpcyBzZXQgdG8gRXVybzs8L2xpPgoJCQk8bGk+V29yayBkb25lIG9uIHByZXR0eSBVUkwgLS0+IG5vdCBmdWxseSBmdW5jdGlvbmFsOzwvbGk+CgkJCTxsaT5CdWcgc29sdmVkIChieSBGYXRsaXphcmQpIHRvIGhhbmRsZSBjb3JyZWN0IHByb2R1Y3RfaWQgaW4gZmUgcHJvZHVjdCBkZXRhaWwuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi4zIDE3IE1heSAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPkluaXRpYWxpemVkIHZhcmlhYmxlcyBjb3JyZWN0bHksIHNvIG5vIHdhcm5pbmcgYXBwZWFycyBmb3IgdGhlbSB3aGVuIHBocC5pbmkgc3RhdGVzIHRvIHNob3cgd2FybmluZ3M7PC9saT4KCQkJPGxpPk5ldyBwcmVmZXJlbmNlcyBmb3IgdGh1bWJuYWlsIGdlbmVyYXRpb24uIFVzZSB0aGUgcmVidWlsZCBidXR0b24gdG8gZ2VuZXJhdGUgdGh1bWJuYWlscyBmcm9tIGVhcmxpZXIgbG9hZGVkIGltYWdlcy48L2xpPgoJCQk8bGk+VGhlIGRldGFpbCB0ZW1wbGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGFsbG93IHN3aXRjaGluZyBpbWFnZXMuIEEgc2ltcGxlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSB0byBjb3B5IGZyb20gaW4gdGhlCgkJCXRlbXBsYXRlcyBkaXJlY3RvcnkuIFRoZSBuYW1lIGlzIGZlX3Byb2R1Y3RfZGV0YWlsMS50cGwuPGJyPgoJCQlJZiB5b3UgaGF2ZSB1cGdyYWRlZCBmcm9tIGFuIGVhcmxpZXIgdmVyc2lvbiB5b3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBzd2l0Y2hpbmcgb2YgaW1hZ2VzLiBMb29rIGluIHRlbXBsYXRlc1xmZV9wcm9kdWN0X2RldGFpbC50cGwuPC9saT4KCQkJPGxpPk9yaWdpbmFsIHRlbXBsYXRlIG9mIHByb2R1Y3RzIHBlciBjYXRlZ29yeSBjaGFuZ2VkIHRvIHNob3cgaW1hZ2Ugd2l0aCBsaW5rIG9uIHByb2R1Y3QgbGluZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjIgOCBNYXIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5TaG93IG5hbWUgd2l0aG91dCBsaW5rIHRvIGRldGFpbCBvbiBwcm9kdWN0IGxpc3RpbmcgKGZlYXR1cmUgcmVxdWVzdCMgMjk4Nik6IHVzZSBwcm9kbmFtZW5vbGluayBpbiBzdGVhZCBvZiBwcm9kbmFtZSBpbiB0aGUgdGVtcGxhdGUuPC9saT4KCQkJPGxpPkJ1aWxkIGluIGxpbmsgZnJvbSBpbWFnZSB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDMwODMpOiB1c2UgcHJvZGltYWdlbGluayBpbiBzdGVhZCBvZiBwcm9kaW1hZ2UgaW4gdGhlIHRlbXBsYXRlLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMSAxNSBKYW4gMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5UeXBvIGNhdXNlZCBkaXNwbGF5PXByb2R1Y3RsaXN0IGNhdG5hbWU9Li4uIG5vdCB0byB3b3JrIGNvcnJlY3RseS4gQnVnIHNvbHZlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjAgMTEgSmFuIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+Q3VycmVuY3kgc3ltYm9sIGF2YWlsYWJsZSBmb3IgY2F0ZWdvcnkgbGlzdCAodXNlICRlbnRyeS0+Y3Vyc3ltYm9sfTs8L2xpPgoJCQk8bGk+VGVtcGxhdGVzIGNhbiBub3cgYmUgYWRqdXN0ZWQgdG8gZGVjcmVhc2UgbGVuZ3RoIG9mIGRlc2NyaXB0aW9uICh3YXMgaGFyZGNvZGVkKSB1c2luZyB8dHJ1bmNhdGUgaW4gdGVtcGxhdGU7PC9saT4KCQkJPGxpPkhhcmRjb2RlZCBzaWduYWxpbmcgdGhhdCB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciBwcm9kdWN0cyBpcyByZW1vdmVkLCBub3cgcGFydCBvZiB0cmFuc2xhdGlvbjs8L2xpPgoJCQk8bGk+SWYgdGhlIG1vZHVsZSBTZWFyY2ggaGFzIGJlZW4gaW5zdGFsbGVkLCB0aGUgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHJvZHVjdHMgY2FuIGJlIHNlYXJjaGVkIHVwb247PC9saT4KCQkJPGxpPkJ1ZyBzb2x2ZWQgb24gdXBkYXRpbmcgY2F0ZWdvcnkgaW5mb3JtYXRpb24uIEVkaXRvciB3YXMgbm90IHdvcmtpbmcgd2VsbDs8L2xpPgoJCQk8bGk+RGVzY3JpcHRpb24gb2YgY2F0ZWdvcnkgYW5kIHByb2R1Y3QgY291bGQgc3BhbiB0d28gbGluZXMuIE5vdyBhbHdheXMgb25seSBvbmUgbGluZTs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2UgYWRkZWQgdG8gaG9sZCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlOzwvbGk+CgkJCTxsaT5Vc2luZyBwYXJhbWV0ZXIgcHJvZHBhZ2VsaW1pdCwgdGhlIG51bWJlciBvZiBwcm9kdWN0cyBwZXIgcGFnZSBjYW4gYmUgaW5mbHVlbmNlZCAob3ZlcnJpZGluZyB0aGUgcHJlZmVyZW5jZSkuPGJyPgoJCQlQYWdpbmcgaXMgcG9zc2libGUgdXNpbmcgdGhlIGZvbGxvd2luZyBpbiB0aGUgQ2F0ZWdvcmllcy9Qcm9kdWN0cyB0ZW1wbGF0ZTo8YnI+CgkJCXtpZiAkcGFnZWNvdW50ID4gMX08YnI+Jm5ic3A7eyRmaXJzdHBhZ2V9IHskcHJldnBhZ2V9IHskcGFnZXRleHR9OiAgeyRwYWdlbnVtYmVyfSB7JG9mdGV4dH06IHskcGFnZWNvdW50fSB7JG5leHRwYWdlfSB7JGxhc3RwYWdlfTxicj57L2lmfQoJCQk8YnI+PC9saT4KCQkJPGxpPkludGVybmFsIGNsZWFuIHVwIG9mIGZyb250IGVuZCBjYXRlZ29yeSBsaXN0aW5nIHByb2dyYW0uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS45IDI5IERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPlJlbW92ZWQgdHJhbnNsYXRpb24gYnVnIGR1cmluZyBpbnN0YWxsYXRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS44IDExIERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPlNvbHZlZCBpc3N1ZSB3aGVyZSBzd2l0Y2ggc3RhdHVzIG9uIHByb2R1Y3QgY2F1c2VkIGRlc2NyaXB0aW9uIHRvIGJlIGNsZWFyZWQ7PC9saT4KCQkJPGxpPkVkaXQgb2YgU3RvY2sgS2VlcGluZyBVbml0IHdhcyBub3Qgd29ya2luZzs8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjcgOSBEZWMgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5BZGQgdG8gY2FydCBhdmFpbGFibGUgYXQgbGlzdCBvZiBwcm9kdWN0cyBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPk5ldyBmaWVsZHM6IFN0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKSBhbmQgaXRlbW51bWJlciBhdmFpbGFibGUgcGVyIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk1haW50ZW5hbmNlIG9uIFNLVSBpcyBwb3NzaWJsZTs8L2xpPgoJCQk8bGk+QWRkaXRpb25hbCBwcmVmZXJlbmNlIHRvIGFsbG93IG9ubHkgY2FwaXRhbCBjaGFyYWN0ZXJzIGluIGl0ZW1udW1iZXI7PC9saT4KCQkJPGxpPkFkZGl0aW9uYWwgcHJlZmVyZW5jZSB0byBzZXQgZGVmYXVsdCBTS1UgZHVyaW5nIGFkZCBvZiBhIHByb2R1Y3QuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS42IDEyIE5vdiAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkltYWdlIG9mIGNhdGVnb3J5IGlzIG5vdyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgY2F0ZWdvcnkgbmFtZSBpbiBjYXRlZ29yeSBsaXN0aW5nOzwvbGk+CgkJCTxsaT5MZW5ndGggb2YgcHJvZHVjdCBhbmQgYXR0cmlidXRlIGRlc2NyaXB0aW9uIGVubGFyZ2VkOzwvbGk+CgkJCTxsaT5DaGVjayBidWlsZCBpbiBkdXJpbmcgaW5zdGFsbGF0aW9uIGlmIHRoZSBjb25mbGljdGluZyBtb2R1bGUgUHJvZHVjdHMgaGFzIGJlZW4gaW5zdGFsbGVkOzwvbGk+CgkJCTxsaT5CdWcgb24gYWRkaW5nIG5ldyBwcm9kdWN0cyBjb3JyZWN0ZWQgKHdhcyBhbHdheXMgcG9pbnRpbmcgdG8gcm9vdCBhZnRlciBhZGRpbmcpOzwvbGk+CgkJCTxsaT5EZWxldGlvbiBvZiBwcm9kdWN0IHJldHVybnMgdG8gbGFzdCB1c2VkIGNhdGVnb3J5OzwvbGk+CgkJCTxsaT5BZnRlciBTd2l0Y2ggb2Ygc3RhdHVzLCBsYXN0IHNob3duIGNhdGVnb3J5L3Byb2R1Y3RzIGxpc3QgaXMgc2hvd247PC9saT4KCQkJPGxpPkRlc2NyaXB0aW9uIGJveGVzIGZvciBwcm9kdWN0LCBhdHRyaWJ1dGVzIGFuZCBpbWFnZXMgaW1wcm92ZW1lbnRzOzwvbGk+CgkJCTxsaT5QcmVwYXJlIGNvcnJlY3QgY29ubmVjdGlvbiBvZiBtdWx0aXBsZSBjYXRlZ29yaWVzIHRvIG9uZSBwcm9kdWN0OzwvbGk+CgkJCTxsaT5WYXJpYWJsZSAkaW1hZ2UgaW4gZGV0YWlsIHRlbXBsYXRlIHJlbmFtZWQgdG8gJHByb2RpbWFnZSwgc2luY2UgaXQgbWlnaHQgYmUgaW4gdXNlIGluIG90aGVyIG1vZHVsZXMgKGxpa2UgcHJpbnRpbmcpOzwvbGk+CgkJCTxsaT5XaGVuIGxhc3QgY2F0ZWdvcnkgY29ubmVjdGlvbiB0byBwcm9kdWN0IGlzIGRlbGV0ZWQsIHRoZSBwcm9kdWN0IHdpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSByb290IChvdGhlcndpc2UgaXQgY2FuXCd0IGJlIHNlbGVjdGVkIGFueW1vcmUpOzwvbGk+CgkJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBpcyBhbGxvd2VkIGFzIG9mIHZlcnNpb24gMC4xLjUgYnV0IGlzIG5vdCBzdXBwb3J0ZWQgb24gZnJvbnQgZW5kISAoc29ycnkpLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNSBKdW5lIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+TXVsdGlwbGUgbGV2ZWxzIG9mIGNhdGVnb3JpZXMgYXJlIGFsbG93ZWQvcG9zc2libGU7PC9saT4KCQkJPGxpPk5ldyBwYXJhbWV0ZXIgZm9yIGZyb250ZW5kOiBwYXJlbnRjYXRlZ29yeS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjQgTWF5IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+VXBsb2FkIG9mIGltYWdlIGZvciBjYXRlZ29yeSBoYXMgYmVlbiBjaGFuZ2VkOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIGluc3RhbGwgc28gZGlyZWN0b3J5IHBhdGggY29ycmVjdCBmb3IgY2F0ZWdvcmllcyBhbmQgcHJvZHVjdHMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4zIE1heSAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkFsbCBmcm9udCBlbmQgcGFnZXMgYXJlIGhhbmRsZWQgYnkgdGVtcGxhdGVzIGRlcml2ZWQgZnJvbSBhZG1pbiBwYXJ0OzwvbGk+CgkJCTxsaT5BZG1pbmlzdHJhdG9yIG5vdyBoYXMgdGFiIGNvbnRhaW5pbmcgdGVtcGxhdGVzIGFzIHVzZWQgb24gZnJvbnQgZW5kOzwvbGk+CgkJCTxsaT5Gcm9udCBlbmQgc2hvd3Mgd2V0aGVyIHByaWNlcyBhcmUgaW5jbC4gb3IgZXhjbC4gVkFUIGRlcGVuZGVudCBvbiBwcmVmZXJlbmNlOzwvbGk+CgkJCTxsaT5Qcm9kdWN0cyBjb25uZWN0ZWQgdG8gY2F0ZWdvcnkgc29ydGVkIGJ5IGxpc3Qgb3JkZXI7PC9saT4KCQkJPGxpPk92ZXJ2aWV3IGNhdGVnb3JpZXMgaW4gYmFjayBlbmQgYW5kIGZyb250IGVuZCBub3cgc29ydGVkIGJ5IGxpc3Qgb3JkZXIuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4yIC0gTWF5IDFzdCAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPldoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLCBpdHMgY29ubmVjdGVkIHByb2R1Y3RzIHdpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSByb290IGNhdGVnb3J5LjwvbGk+CgkJCTxsaT5Tb21lIGJ1dHRvbnMgbGFja2VkIHByb3BlciB0cmFuc2xhdGlvbnMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4xIC0gQXByaWwgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5Ob3cgb3B0aW9uIHRvIHNob3cgcHJvZHVjdHMgb2Ygb25lIGNhdGVnb3J5IGluIHNpbmdsZSBwYWdlcyB1c2luZyBwYXJhbWV0ZXJzLjwvbGk+CgkJCTxsaT5Tb21lIGZpZWxkcyB0dXJuZWQgaW50byBmbG9hdCB0byBjb3JyZWN0bHkgaGFuZGxlIGRlY2ltYWxzLjwvbGk+CgkJCTxsaT5Ecm9wcGVkIGFkbWluIHByZWZlcmVuY2VzIHRvIGhvbGQgc2hvcCBwb2xpY2llcyAodXNlIGNvbnRlbnQgYmxvY2sgb3Igbm9ybWFsIENNU01TIHBhZ2Ugd2l0aCB0aGUgcG9saWNpZXMpLjwvbGk+CgkJCTxsaT5JbnRyb2R1Y3Rpb24gb2YgY2hlY2ttYXJrIGlmIHByaWNlcyBhcmUgaW5jbHVzaXZlIG9yIGV4bGN1c2l2ZSBWQVQgaW4gcHJlZmVyZW5jZXMuPC9saT4KCQkJPGxpPkFsc28gaW4gcHJlZmVyZW5jZXMgbm93IHVuaXQgb2YgbWVhc3VyZSBmb3Igd2VpZ2h0cyBvZiB0aGUgcHJvZHVjdHMuPC9saT4KCQkJPGxpPkludHJvZHVjdGlvbiBvZiBWQVQgY29kZSBhbmQgbmV0dCB3ZWlnaHQgcGVyIHByb2R1Y3QuIEZvciBjYWxjdWxhdGlvbiBvZiAoc2hpcHBpbmcpIGNvc3QgaW4gQ2FydCBtb2R1bGU8L2xpPiAgCgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuMCAtIEFwcmlsIDE4dGggMjAwOCBSb2xsIG91dCB2ZXJzaW9uPGJyPgoJCTx1bD4KCQkJPGxpPkxheW91dCBjaGFuZ2VzIG1hZGU8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjQgLSBJbXBvcnQgYW5kIEV4cG9ydCBSZWxlYXNlPGJyPgoJCTx1bD4KCQkJPGxpPkNhdGVnb3JpZXM8L2xpPgoJCQk8bGk+UHJvZHVjdHM8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjMgLSBDbGllbnQgSW50ZXJmYWNlIFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+Q2xpZW50IGludGVyZmFjZSB0YWdzPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMC4yIC0gQWRtaW5pc3RyYXRpb24gRXh0ZW5kZWQgUmVsZWFzZQoJCTx1bD4KCQkJPGxpPlRlbXBsYXRlcywgRXZlbnRzLCBPcmRlcnMsIFRyYW5zbGF0aW9uczwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuMSAtIEFkbWluaXN0cmF0aW9uIFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+UHJlZmVyZW5jZXMgLSBDb21wbGV0ZWQgb24gMjQvMTIvMjAwNzwvbGk+CgkJCTxsaT5DYXRlZ29yaWVzIC0gQ29tcGxldGVkIG9uIDI1LzEyLzIwMDc8L2xpPgoJCQk8bGk+UHJvZHVjdHM8L2xpPgoJCTwvdWw+Cgk8L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[This module forms the base of preparing a shop. It handles the products and their grouping. Images and attributes are available per product]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.category_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzU2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJLyogVE9ETzogU2NhbGUgYW5kIGRvIGNoZWNrcyBvbiBmaWxlbmFtZSBvbiB1cGxvYWRlZCBpbWFnZSAqLwoJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL0ZpbGVzLnBocCcpOwoJLyogQnVpbGQgdGhlIHBhdGggd2Ugd2lsbCBiZSB1cGxvYWRpbmcgdGhlIGltYWdlIHRvICovCgkkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoJJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5Jyk7CgkkZmlsZXMgPSBuZXcgRmlsZXM7CgkkZmlsZXMtPmNyZWF0ZUZvbGRlcigkcGF0aCk7Cglmb3JlYWNoICgkX0ZJTEVTIGFzICR1cGxvYWRmaWxlKSB7CgkJJGZpbGVzLT5jb3B5RmlsZSgkdXBsb2FkZmlsZVsndG1wX25hbWUnXSwgJHBhdGgsICR1cGxvYWRmaWxlWyduYW1lJ10sIHRydWUpOwoJCS8vcHJpbnRfcigkdXBsb2FkZmlsZSk7IAoJCSRwYXJhbXNbJ2ltYWdlJ10gPSAkdXBsb2FkZmlsZVsnbmFtZSddOwoJfQoJJHRoaXMtPmNhdGVnb3JpZXMtPkNyZWF0ZSgkcGFyYW1zKTsKCQoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLAoJICAgICAgICAgICAgICAgICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1sncGFyZW50X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCgkgICAgICAgICAgICAgICAgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydwYXJlbnRfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgokY2F0ZWdvcnkgPSBhcnJheSgpOwokY2F0ZWdvcnlbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnY2F0ZWdvcnlfYWRkJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7CiRjYXRlZ29yeVsnc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSk7CiRjYXRlZ29yeVsnY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRjYXRlZ29yeVsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKJGNhdGVnb3J5WydpZCddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnY2F0ZWdvcnlfaWQnLCAwKQopOwokY2F0ZWdvcnlbJ3BhcmVudF9pZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfcGFyZW50JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAncGFyZW50X2lkJywgJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkTGlzdCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICcnLCAwKSwgLTEsIGludHZhbCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pKQopOwokY2F0ZWdvcnlbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAnJywgNDAsIDQwKQopOwokY2F0ZWdvcnlbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9kZXNjcmlwdGlvbicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJycsICdkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCw0MCkKKTsKJGNhdGVnb3J5WydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfaW1hZ2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltYWdlJywgJycsIDQwKQopOwokY2F0ZWdvcnlbJ2FjdGl2ZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfYWN0aXZlJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSkKKTsKJGNhdGVnb3J5Wydwb3NpdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfcG9zaXRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3Bvc2l0aW9uJywgJycsIDQwLCA0MCkKKTsKCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCAkY2F0ZWdvcnkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5X2VkaXQudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.category_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRlbGV0ZV9jYXRlZ29yeSA9ICR0aGlzLT5jYXRlZ29yaWVzLT5HZXQoJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKTsgCi8qKgogKiBHZXQgQW55IFN1YmNhdGVnb3JpZXMgYW5kIFJlYXNzaWduIHRoZW0gdG8gdGhpcyBvbmVzIHBhcmVudAogKi8KZm9yZWFjaCAoJHRoaXMtPmNhdGVnb3JpZXMtPkdldExpc3QoJGRlbGV0ZV9jYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSkgYXMgJGNhdGVnb3J5KSB7CgkkY2F0ZWdvcnlbJ3BhcmVudF9pZCddID0gJGRlbGV0ZV9jYXRlZ29yeVsncGFyZW50X2lkJ107CgkkdGhpcy0+Y2F0ZWdvcmllcy0+VXBkYXRlKCRjYXRlZ29yeSk7IAp9Ci8qIFRPRE86IEdldCBhbnkgUHJvZHVjdHMgaW4gdGhpcyBDYXRlZ29yeSBhbmQgYXNzaWduIHRvIFVuYXNzaWduZWQuICovCgokdGhpcy0+Y2F0ZWdvcmllcy0+RGVsZXRlKCRkZWxldGVfY2F0ZWdvcnkpOwokcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCiAgICAgICAgICAgICAgICAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRkZWxldGVfY2F0ZWdvcnlbJ3BhcmVudF9pZCddKTsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.category_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzU2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvLi4vLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9DbGFzc2VzL0ZpbGVzLnBocCcpOwoJLy8gU2F2ZSB0aGUgaW1hZ2UgbmFtZSBmcm9tIGJlaW5nIG92ZXJ3cml0dGVuCgkkaW1hZ2UgPSAkcGFyYW1zWydpbWFnZSddOwoJCgkvKiBCdWlsZCB0aGUgcGF0aCB3ZSB3aWxsIGJlIHVwbG9hZGluZyB0aGUgaW1hZ2UgdG8gKi8KCSRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CgkkcGF0aCA9ICRjb25maWdbJ2ltYWdlX3VwbG9hZHNfcGF0aCddLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfY2F0ZWdvcnknKTsKCSRmaWxlcyA9IG5ldyBGaWxlczsKCgkkZmlsZXMtPmNyZWF0ZUZvbGRlcigkcGF0aCk7Cglmb3JlYWNoICgkX0ZJTEVTIGFzICR1cGxvYWRmaWxlKSB7CgkJLy8gUmVwbGFjZSBhbnkgbm9uLXdvcmQgY2hhcmFjdGVycyBieSB1bmRlcnNjb3JlcwoJCSR1cGxvYWRmaWxlWyduYW1lJ10gPSAkZmlsZXMtPmVzY2FwZSgkdXBsb2FkZmlsZVsnbmFtZSddKTsKCQkkZmlsZXMtPmNvcHlGaWxlKCR1cGxvYWRmaWxlWyd0bXBfbmFtZSddLCAkcGF0aCwgJHVwbG9hZGZpbGVbJ25hbWUnXSwgdHJ1ZSk7CgkJJHBhcmFtc1snaW1hZ2UnXSA9ICR1cGxvYWRmaWxlWyduYW1lJ107Cgl9CgkvLyBSZXN0b3JlIHRoZSBuYW1lIG9mIHRoZSBpbWFnZSBpZiBubyBuZXcgaW1hZ2UgaGFzIGJlZW4gdXBsb2FkZWQKCWlmICggJHBhcmFtc1snaW1hZ2UnXSA9PSAnJyApIHsKCQkkcGFyYW1zWydpbWFnZSddID0gJGltYWdlOwoJfQoKCSR0aGlzLT5jYXRlZ29yaWVzLT5VcGRhdGUoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywKCSAgICAgICAgICAgICAgICAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KLy8gQWxsIGFjdGlvbnMgaGFuZGxlZCwgbm93IGdldCBhbGwgdGhlIGluZm9ybWF0aW9uIGxpbmtlZCB0byB0aGUgcHJvZHVjdAppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKCSRjYXRlZ29yeV9kYXRhID0gJHRoaXMtPmNhdGVnb3JpZXMtPkdldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKTsKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsCgkgICAgICAgICAgICAgICAgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydwYXJlbnRfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgokY2F0ZWdvcnkgPSBhcnJheSgpOwokY2F0ZWdvcnlbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnY2F0ZWdvcnlfZWRpdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokY2F0ZWdvcnlbJ3N1Ym1pdCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JykpOwokY2F0ZWdvcnlbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokY2F0ZWdvcnlbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkKKTsKJGNhdGVnb3J5WydwYXJlbnRfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X3BhcmVudCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ3BhcmVudF9pZCcsICR0aGlzLT5jYXRlZ29yaWVzLT5CdWlsZFRvdGFsTGlzdCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSwgLTEsIGludHZhbCgkY2F0ZWdvcnlfZGF0YVsncGFyZW50X2lkJ10pKQopOwokY2F0ZWdvcnlbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkY2F0ZWdvcnlfZGF0YVsnbmFtZSddLCA0MCwgNDApCik7CiRjYXRlZ29yeVsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkY2F0ZWdvcnlfZGF0YVsnZGVzY3JpcHRpb24nXSwgJ2NkZXNjcmlwdGlvbicsJ3BhZ2VzbWFsbHRleHRhcmVhJywnJywnJywnJyw0MCw0MCkKKTsKJGNhdGVnb3J5WydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcnlfaW1hZ2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2ltYWdlJywgJGNhdGVnb3J5X2RhdGFbJ2ltYWdlJ10sIDQwLCA0MCkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ25ld19pbWFnZScsICcnLCA0MCkKKTsKJGNhdGVnb3J5WydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X2FjdGl2ZScpLAoJJ2lucHV0Jz0+JGNhdGVnb3J5X2FjdGl2ZSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkY2F0ZWdvcnlfZGF0YVsnYWN0aXZlJ10pCik7CiRjYXRlZ29yeVsncG9zaXRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2NhdGVnb3J5X3Bvc2l0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdwb3NpdGlvbicsICRjYXRlZ29yeV9kYXRhWydwb3NpdGlvbiddLCA0MCwgNDApCik7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCAkY2F0ZWdvcnkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5X2VkaXQudHBsJyk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.category_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2NhdGVnb3JpZXMnOwokdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQogIHsKICAgICRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYgKGlzc2V0KCRub2RlKSkKICAgICAgewoJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCSAgfQogICAgICB9CiAgfQoKJGRiID0mICRnQ21zLT5HZXREYigpOwokZGlzcGxheSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZGlzcGxheSddKSkgICAgICAgIAp7CgkkZGlzcGxheSA9ICRwYXJhbXNbJ2Rpc3BsYXknXTsKfQplbHNlCnsKCSRkaXNwbGF5ID0gJ2NhdGVnb3J5bGlzdCc7Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYXRuYW1lJ10pKSB7CgkkY2F0bmFtZSA9ICRwYXJhbXNbJ2NhdG5hbWUnXTsKfQplbHNlIHsKCSRjYXRuYW1lID0gJ3Jvb3QnOwp9CnN3aXRjaCgkZGlzcGxheSkKICB7CiAJY2FzZSAnY2F0bGlzdCc6CgkJLy8gUHJlcGFyZSBhIGNvbXBsZXRlIGxpc3Qgb2YgY2F0ZWdvcmllcyBzdGFydGluZyBhdCB0b3AgbGV2ZWwKCQkkZGlzcGxheSA9ICdmZV9jYXRfbGlzdCc7CgkJLy8gUHJlcGFyZSBhIGxpc3Qgb2YgcHJvZHVjdHMgZm9yIGdpdmVuIGNhdGVnb3J5CgkJaWYgKCRjYXRuYW1lID09ICdyb290JykgewoJCQkkcGFyYW1zWydwYXJlbnRjYXRlZ29yeSddID0gMDsKCQl9IGVsc2UgewoJCQkkY2F0aW5mbyA9IGFycmF5KCk7CgkJCSRjYXRpbmZvID0gJHRoaXMtPmNhdGVnb3JpZXMtPkdldENhdEJ5TmFtZSggJGNhdG5hbWUgKTsKCQkJJHBhcmFtc1sncGFyZW50Y2F0ZWdvcnknXSA9ICRjYXRpbmZvWydjYXRlZ29yeV9pZCddOwoJCX0KIAkJYnJlYWs7CiAJY2FzZSAnY2F0ZWdvcnlsaXN0JzoKCQkvLyBQcmVwYXJlIGEgbGlzdCBvZiBjYXRlZ29yaWVzIGF0IHRvcCBsZXZlbAoJCSRkaXNwbGF5ID0gJ2ZlX2NhdGVnb3J5X2xpc3QnOwogCQlicmVhazsKCWNhc2UgJ3Byb2R1Y3RsaXN0JzoKCQkvLyBQcmVwYXJlIGEgbGlzdCBvZiBwcm9kdWN0cyBmb3IgZ2l2ZW4gY2F0ZWdvcnkKCQlpZiAoJGNhdG5hbWUgPT0gJ3Jvb3QnKSB7CgkJCSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gPSAwOwoJCX0gZWxzZSB7CgkJCSRjYXRpbmZvID0gYXJyYXkoKTsKCQkJJGNhdGluZm8gPSAkdGhpcy0+Y2F0ZWdvcmllcy0+R2V0Q2F0QnlOYW1lKCAkY2F0bmFtZSApOwoJCQkkcGFyYW1zWydjYXRlZ29yeV9pZCddID0gJGNhdGluZm9bJ2NhdGVnb3J5X2lkJ107CgkJfQoJCSRkaXNwbGF5ID0gJ2ZlX3Byb2R1Y3RfbGlzdCc7CiAJCWJyZWFrOwoJY2FzZSAnZmVhdHVyZWQnOgoJCS8vIFByZXBhcmUgbGlzdCBvZiBhbGwgZmVhdHVyZWQgcHJvZHVjdHMKCQkkcGFyYW1zWydhY3Rpb24nXSA9ICcnOwoJCSRkaXNwbGF5ID0gJ2ZlX3Byb2R1Y3RzX2ZlYXR1cmVkJzsKIAkJYnJlYWs7CgljYXNlICdwcm9kdWN0ZGV0YWlsJzoKCQkvLyBQcmVwYXJlIGRldGFpbHMgZm9yIGdpdmVuIHByb2R1Y3QKIAkJYnJlYWs7CglkZWZhdWx0OgogCQllY2hvICR0aGlzLT5MYW5nKCd1bmtub3duX2Rpc3BsYXknLCAkZGlzcGxheSk7CiAJCXJldHVybjsKICB9CgpyZXF1aXJlKGRpcm5hbWUoX19GSUxFX18pLicvYWN0aW9uLicuJGRpc3BsYXkuJy5waHAnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gCiMKIyBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIHRoZSBhZG1pbiBwYXJ0IG9mIG1vZHVsZSBTaG9wIE1hZGUgU2ltcGxlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghIGlzc2V0KCRnQ21zKSkgZXhpdDsKCiRhY3RpdmVfdGFiID0gJ2NhdGVnb3JpZXMnOwppZiAoaXNzZXQoICRwYXJhbXNbJ2FjdGl2ZV90YWInXSApICkgewoJJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0KLy8gQ2hlY2sgaWYgYSBpdGVtIHNlYXJjaCBpcyByZXF1ZXN0ZWQKJGl0ZW1udW1iZXIgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2l0ZW1udW1iZXInXSkpIHsKCSRpdGVtbnVtYmVyID0gJHBhcmFtc1snaXRlbW51bWJlciddOwoJLy8gUmVzZXQgdGhlIGNhdGVnb3J5IHRvIHRoZSByb290CgkkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSAwOwp9Ci8vIFByZXBhcmUgY2F0ZWdvcmllcyBhbmQgcHJvZHVjdHMgb25seSBmb3IgYWxsb3dlZCB1c2VycwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykgfHwgCgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpKSB7CglpZiAoICEgaXNzZXQoICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkgKSB7CgkJJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddID0gMDsKCX0KCSRjdXJyZW50X2NhdGVnb3J5ID0gJHRoaXMtPmNhdGVnb3JpZXMtPkdldCgkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJG1lc3NhZ2UgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSApICkgewoJCSRtZXNzYWdlID0gJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXTsKCX0KCgkvKioKCSAqIFByZXBhcmUgdGhlIGNhdGVnb3JpZXMgdHJlZSBmb3IgcXVpY2sgc2VsZWN0b3IKCSAqLwoJJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9oaWRlJywgJHRoaXMtPkxhbmcoJ3RpdGxlX2hpZGUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3Nob3cnLCAkdGhpcy0+TGFuZygndGl0bGVfc2hvdycpKTsKCSRzbWFydHktPmFzc2lnbigndGl0bGVfcXVpY2tfc2VsZWN0b3InLCAkdGhpcy0+TGFuZygndGl0bGVfcXVpY2tfc2VsZWN0b3InKSk7CglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlxdWlja3NlbGVjdG9yJywgdHJ1ZSkpIHsKCQkkc21hcnR5LT5hc3NpZ24oJ2Rpc3BsYXlxcycsICdibG9jaycpOwoJfQoJZWxzZSB7CgkJJHNtYXJ0eS0+YXNzaWduKCdkaXNwbGF5cXMnLCAnbm9uZScpOwoJfQoJJHBhcmVudGNhdCA9ICcwJzsKCS8vIENyZWF0ZSBhIGNhdGVnb3J5IHRyZWUKCSRxc2MgPSAkdGhpcy0+RmlsbFFTQ2F0TGlzdCgkcGFyZW50Y2F0LCAwLCAkcmV0dXJuaWQpOwoJJHNtYXJ0eS0+YXNzaWduKCdxc2NhdHMnLCAkcXNjKTsKCgkvKioKCSAqIFByZXBhcmUgdGhlIENhdGVnb3JpZXMuCgkgKi8KCSRjYXRlZ29yaWVzID0gYXJyYXkoKTsKCSRjYXRlZ29yeV9wYXRoID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdyb290JyksIGFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gMCkpOwoJZm9yZWFjaCAoJHRoaXMtPmNhdGVnb3JpZXMtPkJ1aWxkUGF0aCgkY3VycmVudF9jYXRlZ29yeSkgYXMgJGNhdGVnb3J5KSB7CgkJJGNhdGVnb3J5X3BhdGggLj0gJyAvICcuJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICRjYXRlZ29yeVsnbmFtZSddLCAKCQkJYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10pKTsKCX0KCQoJaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSkgeyAKCQkkY2F0ZWdvcmllc1snY3VycmVudCddID0gYXJyYXkoCgkJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jdXJyZW50X2NhdGVnb3J5JyksCgkJCSd2YWx1ZSc9PiRjYXRlZ29yeV9wYXRoLAoJCQknbGlua19hZGQnPT4kdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnY2F0ZWdvcnlfYWRkJywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9hZGQnKS4nICcuJHRoaXMtPkxhbmcoJ3RleHRfY2F0ZWdvcnknKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykKCQkpOwoJfSAKCWVsc2UgewoJCSRjYXRlZ29yaWVzWydjdXJyZW50J10gPSBhcnJheSgKCQkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2N1cnJlbnRfY2F0ZWdvcnknKSwKCQkJJ3ZhbHVlJz0+JGNhdGVnb3J5X3BhdGgsCgkJCSdsaW5rX2FkZCc9PicmbmJzcDsnCgkJKTsKCX0KCSRjYXRlZ29yeV9saXN0ID0gYXJyYXkoKTsKCWZvcmVhY2ggKCR0aGlzLT5jYXRlZ29yaWVzLT5HZXRMaXN0KCRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkgYXMgJGNhdGVnb3J5KSB7CgkJaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykpIHsgCgkJCQkkY2F0ZWdvcnlbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdjYXRlZ29yeV9kZWxldGUnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSwgJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2FyZXlvdXN1cmVjYXRlZ29yeScsJGNhdGVnb3J5WyduYW1lJ10pKTsKCQkJCSRjYXRlZ29yeVsnbGlua19lZGl0J10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnY2F0ZWdvcnlfZWRpdCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9lZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddLCAncGFyZW50X2lkJyA9PiAkY2F0ZWdvcnlbJ3BhcmVudF9pZCddLCAnbmFtZScgPT4gJGNhdGVnb3J5WyduYW1lJ10sJ2Rlc2NyaXB0aW9uJyA9PiAkY2F0ZWdvcnlbJ2Rlc2NyaXB0aW9uJ10sJ2ltYWdlJyA9PiAkY2F0ZWdvcnlbJ2ltYWdlJ10sJ2FjdGl2ZScgPT4gJGNhdGVnb3J5WydhY3RpdmUnXSwncG9zaXRpb24nID0+ICRjYXRlZ29yeVsncG9zaXRpb24nXSwpKTsKCQkJCSRjYXRlZ29yeVsnbGlua19lbmFibGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3N3aXRjaHN0YXR1cycsICRyZXR1cm5pZCwgCgkJCQkJJGNhdGVnb3J5WydhY3RpdmUnXSA9PSAxID8gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2luYWN0aXZlJyksCgkJCQkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfYWN0aXZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQlhcnJheSgndGFibGUnPT4nQ2F0ZWdvcmllcycsJ2FjdGl2ZSc9PiRjYXRlZ29yeVsnYWN0aXZlJ10sJ2NhdGVnb3J5X2lkJz0+JGNhdGVnb3J5WydjYXRlZ29yeV9pZCddLAoJCQkJCSdwYXJlbnRfaWQnPT4kY2F0ZWdvcnlbJ3BhcmVudF9pZCddKSk7CgkJfQoJCSRjYXRlZ29yeVsnbmFtZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICRjYXRlZ29yeVsnbmFtZSddLCBhcnJheSAoJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSkpOwoJCSRjYXRlZ29yeV9saXN0W10gPSAkY2F0ZWdvcnk7Cgl9CgkkY2F0ZWdvcmllc1snc3ViY2F0ZWdvcmllcyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+YXJyYXkoCgkJCSdpZCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9pZCcpLAoJCQknbmFtZSc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9uYW1lJyksCgkJCSdkZXNjcmlwdGlvbic9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9kZXNjcmlwdGlvbicpCgkJKSwKCQknbGlzdCc9PiRjYXRlZ29yeV9saXN0CgkpOwoJLyoqCgkgKiBQcmVwYXJlIHRoZSBwcm9kdWN0cwoJICovCgkkcHJvZHVjdHMgPSBhcnJheSgpOwoJJHByb2R1Y3RzWydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2RlZmF1bHRhZG1pbicpOwoJJHByb2R1Y3RzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3NlYXJjaGl0ZW0nKSk7CgkkcHJvZHVjdHNbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgkkcHJvZHVjdHNbJ2l0ZW1zZWFyY2gnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1udW1iZXInLCAkaXRlbW51bWJlciwgMzAsIDMwKTsKCglpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpKSB7CgkJaWYgKCRpdGVtbnVtYmVyID09ICcnKSB7CgkJCSRwcm9kdWN0X2xpbmtfYWRkID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ3Byb2R1Y3RfYWRkJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9wcm9kdWN0JyksJycsJycsJ3N5c3RlbWljb24nKSwgCgkJCQlhcnJheSgnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJyk7CgkJfQoJCWVsc2UgewoJCQkkY3VycmVudF9jYXRlZ29yeVsnbmFtZSddID0gJHRoaXMtPkxhbmcoJ3ZhcmlvdXNjYXRlZ29yaWVzJyk7CgkJCSRwcm9kdWN0X2xpbmtfYWRkID0gJyc7CgkJfQoJCSRwcm9kdWN0c1snY2F0ZWdvcnknXSA9IGFycmF5KAoJCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9jYXRlZ29yeScpLAoJCQkndmFsdWUnPT4kY3VycmVudF9jYXRlZ29yeVsnbmFtZSddLAoJCQknbGlua19hZGQnPT4kcHJvZHVjdF9saW5rX2FkZAoJCSk7Cgl9CgllbHNlIHsKCQkkcHJvZHVjdHNbJ2NhdGVnb3J5J10gPSBhcnJheSgKCQkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfY2F0ZWdvcnknKSwKCQkJJ3ZhbHVlJz0+JGN1cnJlbnRfY2F0ZWdvcnlbJ25hbWUnXSwKCQkJJ2xpbmtfYWRkJz0+JyZuYnNwOycKCQkpOwoJfQoJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyB1c2UgZGlmZmVyZW50IGxhYmVsCgkkaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CglpZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnKSB7CgkJJGxhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCdsYWJlbF9vbnN0b2NrJyk7Cgl9CgllbHNlIHsKCQkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJyc7Cgl9CgkkcHJvZHVjdF9saXN0ID0gYXJyYXkoKTsKCWlmICgkaXRlbW51bWJlciA9PSAnJykgewoJCSRwcm9kdWN0c3Vic2V0ID0gJHRoaXMtPnByb2R1Y3RzLT5HZXRMaXN0KCRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7Cgl9CgllbHNlIHsKCQkkcHJvZHVjdHN1YnNldCA9IHNtc191dGlsczo6Z2V0X3Byb2R1Y3RzX3N1YnNldCgkaXRlbW51bWJlcik7Cgl9Cglmb3JlYWNoICgkcHJvZHVjdHN1YnNldCBhcyAkcHJvZHVjdCkgewoJCSRwcm9kdWN0bmFtZSA9ICRwcm9kdWN0WyduYW1lJ107CgkJaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsgCgkJCSRwcm9kdWN0WyduYW1lJ10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcHJvZHVjdFsnbmFtZSddLCAKCQkJCWFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLCAncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCQkjJHByb2R1Y3RbJ2Rlc2NyaXB0aW9uJ10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcHJvZHVjdFsnZGVzY3JpcHRpb24nXSwgCgkJCSMJYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJCSRwcm9kdWN0WydpbnZlbnRvcnl0eXBlJ10gPSAkaW52ZW50b3J5dHlwZTsKCQkJJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSA9ICRwcm9kdWN0WydpdGVtbnVtYmVyJ107CgkJCSRwcm9kdWN0WydvbnN0b2NrJ10gPSAkcHJvZHVjdFsnbWF4YXR0cmlidXRlcyddOwoJCQkkcHJvZHVjdFsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Byb2R1Y3RfZGVsZXRlJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCQkJYXJyYXkgKCdjdXJyZW50X3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10sICdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gKSwgCgkJCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZXByb2R1Y3QnLCRwcm9kdWN0bmFtZSkpOwoJCQkkcHJvZHVjdFsnbGlua19lZGl0J10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCQkJYXJyYXkgKCdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sICdwcm9kdWN0X2lkJyA9PiAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJCSRwcm9kdWN0WydsaW5rX2VuYWJsZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkJCSRwcm9kdWN0WydhY3RpdmUnXSA9PSAxID8gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2luYWN0aXZlJyksCgkJCQknJywnJywnc3lzdGVtaWNvbicpIDogJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9hY3RpdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJYXJyYXkoJ3RhYmxlJz0+J1Byb2R1Y3RzJywnYWN0aXZlJz0+JHByb2R1Y3RbJ2FjdGl2ZSddLCdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ3BhcmVudF9pZCc9PiRwcm9kdWN0WydwYXJlbnRfaWQnXSwgJ3Byb2R1Y3RfaWQnPT4kcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJCQoJCX0KCQllbHNlIHsKCQkJJHByb2R1Y3RbJ25hbWUnXSA9ICRwcm9kdWN0WyduYW1lJ107CgkJCSRwcm9kdWN0WydsaW5rX2RlbGV0ZSddID0gJyc7CgkJCSRwcm9kdWN0WydsaW5rX2VkaXQnXSA9ICcnOwoJCQkkcHJvZHVjdFsnbGlua19lbmFibGUnXSA9ICcnOwoJCX0KCQkkcHJvZHVjdF9saXN0W10gPSAkcHJvZHVjdDsKCX0KCSRwcm9kdWN0c1sncHJvZHVjdHMnXSA9IGFycmF5KAoJCSdsYWJlbCc9PmFycmF5KAoJCQknaWQnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdCcpLAoJCQknbmFtZSc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9uYW1lJyksCgkJCSdkZXNjcmlwdGlvbic9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yeV9kZXNjcmlwdGlvbicpLAoJCQknb25zdG9jayc9PiRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMsCgkJCSdpdGVtbnVtYmVyJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfaXRlbW51bWJlcicpCgkJKSwKCQknbGlzdCc9PiRwcm9kdWN0X2xpc3QKCSk7Cn0KLyoqCiAqIFByZXBhcmUgdGhlIFN0b2NrIEtlZXBpbmcgVW5pdHMKICovCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSB8fAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpKSB7Cgkkc2t1cyA9IGFycmF5KCk7CglpZiggaXNzZXQoICRwYXJhbXNbJ3NrdW1lc3NhZ2UnXSApICkgewoJCSRza3VzWydtZXNzYWdlJ10gPSAkcGFyYW1zWydza3VtZXNzYWdlJ107Cgl9Cglmb3JlYWNoICgkdGhpcy0+cHJvZHVjdHMtPkdldExpc3RTS1UoKSBhcyAkc2t1KSB7CgkJJHNrdVsnbmFtZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3NrdV9lZGl0JywgJHJldHVybmlkLCAkc2t1Wydza3UnXSwgYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnZGVzY3JpcHRpb24nXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdza3VfZWRpdCcsICRyZXR1cm5pZCwgJHNrdVsnZGVzY3JpcHRpb24nXSwgYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnbGlua19lZGl0J10gPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnc2t1X2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddKSk7CgkJJHNrdVsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3NrdV9kZWxldGUnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdza3UnID0+ICRza3VbJ3NrdSddICksIAoJCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZXNrdScsJHNrdVsnc2t1J10pKTsKCQkkc2t1X2xpc3RbXSA9ICRza3U7Cgl9Cgkkc2t1c1snc2t1cyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+YXJyYXkoCgkJCSdsaW5rX2FkZCc9PiR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdza3VfYWRkJywgJHJldHVybmlkLCAKCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9za3UnKSwnJywnJywnc3lzdGVtaWNvbicpKSwKCQkJJ3RleHRfYWRkJz0+JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ3NrdV9hZGQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCd0ZXh0X2FkZCcpLicgJy4kdGhpcy0+TGFuZygndGV4dF9za3UnKSksCgkJCSdza3UnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2t1X25hbWUnKSwKCQkJJ2Rlc2NyaXB0aW9uJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9kZXNjcmlwdGlvbicpCgkJKSwKCQknbGlzdCc9PiRza3VfbGlzdAoJKTsKfQovKioKICogUHJlcGFyZSB0aGUgdGVtcGxhdGVzIHRhYgogKi8KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKCSR0ZW1wbGF0ZXMgPSBhcnJheSgpOwoJJHRlbXBsYXRlc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICd0ZW1wbGF0ZXNfdXBkYXRlJyk7CgkkdGVtcGxhdGVzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKCSR0ZW1wbGF0ZXNbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CgkKCSR0ZW1wbGF0ZXNbJ2NhdGxpc3RfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRsaXN0X3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgnY2F0bGlzdF90ZW1wbGF0ZScpLCAnY2F0bGlzdF90ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ2NhdGVnb3JpZXNfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9jYXRlZ29yaWVzX3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgnY2F0ZWdvcmllc190ZW1wbGF0ZScpLCAnY2F0ZWdvcmllc190ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ3Byb2RkZXRhaWxfdGVtcGxhdGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kZGV0YWlsX3RlbXBsYXRlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLAkkaWQsICR0aGlzLT5HZXRUZW1wbGF0ZSgncHJvZGRldGFpbF90ZW1wbGF0ZScpLCAncHJvZGRldGFpbF90ZW1wbGF0ZScsICcnLCcnLCcnLCcnLDgwLDI1KQoJKTsKCSR0ZW1wbGF0ZXNbJ3Byb2RmZWF0X3RlbXBsYXRlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZGZlYXRfdGVtcGxhdGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsCSRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScpLCAncHJvZGZlYXRfdGVtcGxhdGUnLCAnJywnJywnJywnJyw4MCwyNSkKCSk7Cn0KLyoqCiAqIFByZXBhcmUgdGhlIG9wdGlvbnMgdGFiCiAqLwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykpIHsKCS8vIENoZWNrIGlmIENhcnRNUyBoYXMgYmVlbiBpbnN0YWxsZWQKCSRzbWFydHktPmFzc2lnbignQ2FydE1TSW5zdGFsbGVkJywgZmFsc2UpOwogICAgZ2xvYmFsICRDTVNfVkVSU0lPTjsKICAgIGlmICh2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjEwLWJldGEwJywnPicpICYmCiAgICAJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJCSRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CgkJJENhcnRNUyA9ICRtb2RvcHMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJ0NhcnRNYWRlU2ltcGxlJyk7Cgl9CgllbHNlIHsKCQkkQ2FydE1TID0mICRnQ21zLT5tb2R1bGVzWydDYXJ0TWFkZVNpbXBsZSddWydvYmplY3QnXTsKCX0KCWlmICgkQ2FydE1TKSB7CgkJJHNtYXJ0eS0+YXNzaWduKCdDYXJ0TVNJbnN0YWxsZWQnLCB0cnVlKTsKCX0KCgkkb3B0aW9ucyA9IGFycmF5KCk7Cgkkb3B0aW9uc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcmVmZXJlbmNlc191cGRhdGUnKTsKCSRvcHRpb25zWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKCSRvcHRpb25zWydyZWJ1aWxkcHJvZHVjdHRodW1ibmFpbHMnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdyZWJ1aWxkcHJvZHVjdHRodW1ibmFpbHMnLCAkdGhpcy0+TGFuZygncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJykpOwoJJG9wdGlvbnNbJ3NlYXJjaHJlaW5kZXgnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzZWFyY2hyZWluZGV4JywgJHRoaXMtPkxhbmcoJ3NlYXJjaHJlaW5kZXgnKSk7Cgkkb3B0aW9uc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCQoJJG9wdGlvbnNbJ2FkbWluX25hbWUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hZG1pbl9uYW1lJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnYWRtaW5fbmFtZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbl9uYW1lJywgJycpLCA0MCwgNDAgKQoJKTsgCgkkb3B0aW9uc1snc2hvcF9uYW1lJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2hvcF9uYW1lJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnc2hvcF9uYW1lJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Nob3BfbmFtZScsICcnKSwgNDAsIDQwICkKCSk7IAoJJG9wdGlvbnNbJ2RlZmF1bHRfbWF4YXR0cmlidXRlcyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2RlZmF1bHRfbWF4YXR0cmlidXRlcycpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlZmF1bHRfbWF4YXR0cmlidXRlcycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X21heGF0dHJpYnV0ZXMnLCAxKSwgMTAsIDEwKQoJKTsgCgkkb3B0aW9uc1sncHJpY2VzaW5jbHZhdCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3ByaWNlc19pbmNsX3ZhdCcpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwncHJpY2VzaW5jbHZhdCcsIDEsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnLCBmYWxzZSkpCgkpOyAKCSRvcHRpb25zWydwcmljZXNpbmNsdmF0J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJpY2VzX2luY2xfdmF0JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdwcmljZXNpbmNsdmF0JywgMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJpY2VzaW5jbHZhdCcsIGZhbHNlKSkKCSk7IAoJJG9wdGlvbnNbJ3dlaWdodHVuaXRtZWFzdXJlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfd2VpZ2h0X3VuaXRfbWVhc3VyZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3dlaWdodHVuaXRtZWFzdXJlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dlaWdodHVuaXRtZWFzdXJlJywgJ0tnJyksIDEwLCAxMCApCgkpOyAKCSRvcHRpb25zWydpdGVtY2FwaXRhbG9ubHknXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9pdGVtX2NhcGl0YWxfb25seScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnaXRlbWNhcGl0YWxvbmx5JywgMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpKQoJKTsgCgkkb3B0aW9uc1snYWxsb3dkb3VibGVpdGVtJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYWxsb3dkb3VibGVpdGVtJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdhbGxvd2RvdWJsZWl0ZW0nLCAxLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCBmYWxzZSkpCgkpOyAKCSRza3Vkcm9wZG93biA9ICR0aGlzLT5CdWlsZExpc3RTS1UoKTsKCSRvcHRpb25zWydkZWZhdWx0X3NrdSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2RlZmF1bHRfc2t1JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdkZWZhdWx0X3NrdScsICRza3Vkcm9wZG93biwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NrdScsICcnKSkKCSk7IAoJJG9wdGlvbnNbJ2RlZmF1bHRfY3VycmVuY3knXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kZWZhdWx0X2N1cnJlbmN5JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZGVmYXVsdF9jdXJyZW5jeScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2N1cnJlbmN5JywgJycpLCAxMCwgMTAgKQoJKTsgCgkkb3B0aW9uc1snZGVmYXVsdF9zeW1ib2wnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kZWZhdWx0X3N5bWJvbCcpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlZmF1bHRfc3ltYm9sJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJywgJycpLCAxMCwgNDAgKQoJKTsgCgkkb3B0aW9uc1snaW1hZ2VwYXRoX2NhdGVnb3J5J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaW1hZ2VwYXRoX2NhdGVnb3J5JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW1hZ2VwYXRoX2NhdGVnb3J5JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScsICcnKSwgNDAsIDQwICkKCSk7IAoJJG9wdGlvbnNbJ2ltYWdlcGF0aF9wcm9kdWN0J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaW1hZ2VwYXRoX3Byb2R1Y3QnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbWFnZXBhdGhfcHJvZHVjdCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcsICcnKSwgNDAsIDQwICkKCSk7Cgkkb3B0aW9uc1sndG5oZWlnaHRfcHJvZHVjdCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3RuaGVpZ2h0X3Byb2R1Y3QnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd0bmhlaWdodF9wcm9kdWN0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RuaGVpZ2h0X3Byb2R1Y3QnLCAnMTAwJyksIDUsIDUgKQoJKTsKCSRvcHRpb25zWyd0bndpZHRoX3Byb2R1Y3QnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF90bndpZHRoX3Byb2R1Y3QnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd0bndpZHRoX3Byb2R1Y3QnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndG53aWR0aF9wcm9kdWN0JywgJzAnKSwgNSwgNSApCgkpOwoJJG9wdGlvbnNbJ3Byb2R1Y3RwYWdlbGltaXQnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0cGFnZWxpbWl0JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJvZHVjdHBhZ2VsaW1pdCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKSwgMTAsIDEwICkKCSk7Cgkkb3B0aW9uc1snaW52ZW50b3J5c2V0dGluZ3MnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9pbnZlbnRvcnlzZXR0aW5ncycpCgkpOwoJJGludmVudG9yeXR5cGVzID0gJHRoaXMtPkJ1aWxkTGlzdEludmVudG9yeVR5cGVzKCk7CgkkdXNlZGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScsICdub25lJyk7Cgkkb3B0aW9uc1snaW52ZW50b3J5dHlwZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ludmVudG9yeXR5cGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRSYWRpb0dyb3VwKCAkaWQsICdpbnZlbnRvcnl0eXBlJywgJGludmVudG9yeXR5cGVzLCAkdXNlZGludmVudG9yeXR5cGUgKQoJKTsKCS8vIERlZmluZSBhdCB3aGF0IG1vbWVudCB0aGUgc2FsZXMgdHJhbnNhY3Rpb24gc2hvdWxkIGRlY3JlYXNlIGludmVudG9yeQoJJHNhbGVzaW52ZW50dGltaW5nID0gJHRoaXMtPkJ1aWxkTGlzdFNhbGVzSW52ZW50VGltaW5nKCk7CgkkdXNlZHNhbGVzaW52ZW50dGltaW5nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NhbGVzaW52ZW50dGltaW5nJywgJ0NORicpOwoJJG9wdGlvbnNbJ3NhbGVzaW52ZW50dGltaW5nJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2FsZXNpbnZlbnR0aW1pbmcnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3NhbGVzaW52ZW50dGltaW5nJywgJHNhbGVzaW52ZW50dGltaW5nLCAtMSwgJHVzZWRzYWxlc2ludmVudHRpbWluZykKCSk7Cgkkb3B0aW9uc1snbnVtYmVyZm9ybWF0dGluZyddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX251bWJlcmZvcm1hdHRpbmcnKQoJKTsKCSRvcHRpb25zWydkZWNpbWFscG9zaXRpb25zcHJpY2UnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kZWNpbWFscG9zaXRpb25zcHJpY2UnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdkZWNpbWFscG9zaXRpb25zcHJpY2UnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHBvc2l0aW9uc3ByaWNlJywgMiksIDEsIDEgKQoJKTsKCSRvcHRpb25zWydkZWNpbWFsc2VwYXJhdG9ycHJpY2UnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kZWNpbWFsc2VwYXJhdG9ycHJpY2UnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdkZWNpbWFsc2VwYXJhdG9ycHJpY2UnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHNlcGFyYXRvcnByaWNlJywgJywnKSwgMSwgMSApCgkpOwoJJG9wdGlvbnNbJ3Rob3VzYW5kc2VwYXJhdG9ycHJpY2UnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF90aG91c2FuZHNlcGFyYXRvcnByaWNlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAndGhvdXNhbmRzZXBhcmF0b3JwcmljZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aG91c2FuZHNlcGFyYXRvcnByaWNlJywgJy4nKSwgMSwgMSApCgkpOwoJJG9wdGlvbnNbJ2RlY2ltYWxwb3NpdGlvbnN3ZWlnaHQnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kZWNpbWFscG9zaXRpb25zd2VpZ2h0JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnZGVjaW1hbHBvc2l0aW9uc3dlaWdodCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFscG9zaXRpb25zd2VpZ2h0JywgMyksIDEsIDEgKQoJKTsKCSRvcHRpb25zWydkZWNpbWFsc2VwYXJhdG9yd2VpZ2h0J10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfZGVjaW1hbHNlcGFyYXRvcndlaWdodCcpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlY2ltYWxzZXBhcmF0b3J3ZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHNlcGFyYXRvcndlaWdodCcsICcsJyksIDEsIDEgKQoJKTsKCSRvcHRpb25zWyd0aG91c2FuZHNlcGFyYXRvcndlaWdodCddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Rob3VzYW5kc2VwYXJhdG9yd2VpZ2h0JyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAndGhvdXNhbmRzZXBhcmF0b3J3ZWlnaHQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGhvdXNhbmRzZXBhcmF0b3J3ZWlnaHQnLCAnLicpLCAxLCAxICkKCSk7Cgkkb3B0aW9uc1snZGlzcGxheXF1aWNrc2VsZWN0b3InXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9kaXNwbGF5cXVpY2tzZWxlY3RvcicpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZGlzcGxheXF1aWNrc2VsZWN0b3InLCAxLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5cXVpY2tzZWxlY3RvcicsIG5vbmUpKQoJKTsKfQplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpIHx8IAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluUHJvZHVjdHMnKSkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yaWVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9jYXRlZ29yaWVzJyksICgkYWN0aXZlX3RhYiA9PSAnY2F0ZWdvcmllcycpKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblNLVXMnKSkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdza3VzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9za3VzJyksICgkYWN0aXZlX3RhYiA9PSAnc2t1cycpKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0ZW1wbGF0ZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX3RlbXBsYXRlcycpLCAoJGFjdGl2ZV90YWIgPT0gJ3RlbXBsYXRlcycpKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignb3B0aW9ucycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfb3B0aW9ucycpLCAoJGFjdGl2ZV90YWIgPT0gJ29wdGlvbnMnKSk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKCi8vIFByZXBhcmUgdGhlIGNhdGVnb3JpZXMgYW5kIHByb2R1Y3RzIHRhYgplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5DYXRlZ29yeScpIHx8IAoJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluUHJvZHVjdHMnKSkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2NhdGVnb3JpZXMnLCAkcGFyYW1zKTsKCSRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsICRjYXRlZ29yaWVzKTsgCgkkc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3RzJywgJHByb2R1Y3RzKTsgCgkkc21hcnR5LT5hc3NpZ24oJ25vY2F0Zm91bmQnLCAkdGhpcy0+TGFuZygnbm9jYXRmb3VuZCcpKTsKCWlmICgkaXRlbW51bWJlciA9PSAnJyApIHsKCQkkc21hcnR5LT5hc3NpZ24oJ25vcHJvZGZvdW5kJywgJHRoaXMtPkxhbmcoJ25vcHJvZGZvdW5kJykpOwoJfQoJZWxzZSB7CgkJJHNtYXJ0eS0+YXNzaWduKCdub3Byb2Rmb3VuZCcsICR0aGlzLT5MYW5nKCdub3Byb2Rmb3VuZGZvcnNlYXJjaCcpKTsKCX0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgndGFiX2NhdGVnb3JpZXMudHBsJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQovLyBQcmVwYXJlIHRoZSB0YWIgY29udGFpbmluZyB0aGUgU0tVJ3MKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdza3VzJywgJHBhcmFtcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ3NrdXMnLCAkc2t1cyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfc2t1cy50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9Ci8vIFByZXBhcmUgdGhlIHRhYiBjb250YWluaW5nIHRoZSB0ZW1wbGF0ZXMKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0ZW1wbGF0ZXMnLCAkcGFyYW1zKTsKCSRzbWFydHktPmFzc2lnbigndGVtcGxhdGVzJywgJHRlbXBsYXRlcyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfdGVtcGxhdGVzLnRwbCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KLy8gUHJlcGFyZSBvcHRpb25zIHRhYgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJykgfHwKCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdvcHRpb25zJywgJHBhcmFtcyk7Cgkkc21hcnR5LT5hc3NpZ24oJ29wdGlvbnMnLCAkb3B0aW9ucyk7IAoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd0YWJfb3B0aW9ucy50cGwnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.fe_category_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKJHBhcmVudGNhdGVnb3J5ID0gJzAnOwppZiAoaXNzZXQoJHBhcmFtc1sncGFyZW50Y2F0ZWdvcnknXSkpIHsKCSRwYXJlbnRjYXRlZ29yeSA9ICRwYXJhbXNbJ3BhcmVudGNhdGVnb3J5J107Cn0KCi8vIFNlbGVjdCBhbGwgYWN0aXZlIGNhdGVnb3JpZXMgYW5kIHNob3cgdGhlbQpmb3JlYWNoICgkdGhpcy0+Y2F0ZWdvcmllcy0+R2V0TGlzdCggJHBhcmVudGNhdGVnb3J5ICkgYXMgJGNhdGVnb3J5KSB7CglpZiAoJGNhdGVnb3J5WydhY3RpdmUnXSA9PSAxKSB7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCSRvbmVyb3ctPmNhdG5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAKCQkJJGNhdGVnb3J5WyduYW1lJ10sICRzZW5kdG9kZXRhaWwsJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoKCQkvLyBDaGVjayB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBwcm9kdWN0cyBjb25uZWN0ZWQgdG8gdGhpcyBjYXRlZ29yeQoJCSRxdWVyeSA9ICdTRUxFQ1QgY291bnQoKikgYXMgbnVtX3Byb2R1Y3RzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBwYywKCQkJJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgcCBXSEVSRSBjYXRlZ29yeV9pZD0/IEFORCBwYy5wcm9kdWN0X2lkID0gcC5wcm9kdWN0X2lkIEFORCAKCQkJcC5hY3RpdmUgPSAxJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSkpOwoJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CgkJJG51bV9wcm9kdWN0cz0kcm93WydudW1fcHJvZHVjdHMnXTsKCQkvLyBJbmNsdWRlIHRoZSBudW1iZXIgb2YgcHJvZHVjdHMgaW4gdGhlIG5hbWUgb2YgdGhlIGNhdGVnb3J5CgkJaWYgKCRudW1fcHJvZHVjdHMgIT0gMCkgewoJCQkkY2F0ZWdvcnlbJ25hbWUnXSA9ICRjYXRlZ29yeVsnbmFtZSddIC4gJyAoJy4kbnVtX3Byb2R1Y3RzLicpJzsKCQl9CgkJJG9uZXJvdy0+Y2F0Y291bnQgPSAkbnVtX3Byb2R1Y3RzOwoJCSRzZW5kdG9kZXRhaWwgPSBhcnJheSgnY2F0ZWdvcnlfaWQnPT4kY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10pOwoJCSRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUvY2F0LycuJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddLicvJy4oJGRldGFpbHBhZ2UhPScnPyRkZXRhaWxwYWdlOiRyZXR1cm5pZCk7CgkJaWYgKGlzc2V0KCRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CgkJCSRwcmV0dHl1cmwgLj0gJy9kLCcgLiAkc2VuZHRvZGV0YWlsWydkZXRhaWx0ZW1wbGF0ZSddOwoJCX0KCQkvLyBQcmVwYXJlIGltYWdlIG9mIHRoZSBjYXRlZ29yeQoJCWlmIChpc3NldCgkY2F0ZWdvcnlbJ2ltYWdlJ10pICYmICRjYXRlZ29yeVsnaW1hZ2UnXSAhPSAnbm9faW1hZ2UuanBnJyAmJiAkY2F0ZWdvcnlbJ2ltYWdlJ10gIT0gJycpIHsKCQkJJG9uZXJvdy0+aW1hZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5JykuJGNhdGVnb3J5WydpbWFnZSddOwoJCQkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICRjYXRlZ29yeVsnbmFtZSddOwoJCX0KCQllbHNlIHsKCQkJJG9uZXJvdy0+aW1hZ2UgPSAnKm5vbmUnOwoJCX0KCQkkb25lcm93LT5jdXJzeW1ib2wgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnLCAnJyk7CgkJJG9uZXJvdy0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfbGlzdCcsICRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQsIAoJCQkkY2F0ZWdvcnlbJ25hbWUnXSwgJHNlbmR0b2RldGFpbCwnJywgZmFsc2UsIGZhbHNlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7CgkJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cgl9Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGcm9udGVuZEZvcm1TdGFydCgkaWQsICRyZXR1cm5pZCwgJ2ZlX2NhdGVnb3J5X2xpc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2NhdGVnb3JpZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcmllcycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yaWVzJywgJGNhdGVnb3JpZXMpOwovLyBEaXNwbGF5IHRlbXBsYXRlCiR0ZW1wbGF0ZSA9ICdjYXRlZ29yaWVzX3RlbXBsYXRlJzsKLy8gQ3VycmVudGx5IG9ubHkgb25lIHRlbXBsYXRlIGF2YWlsYWJsZSwgc28gbmV4dCBsaW5lcyB3aWxsIG5vdCBwZXJmb3JtIGFueXRoaW5nCmlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yaWVzdGVtcGxhdGUnXSkpIHsKCSR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ2NhdGVnb3JpZXN0ZW1wbGF0ZSddOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.fe_cat_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQp7CgkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgl7CgkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsKCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQoJCXsKCQkJJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCQl9Cgl9CgllbHNlCgl7CgkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJCWlmIChpc3NldCgkbm9kZSkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCQl9Cgl9Cn0KCiRwYXJlbnRjYXRlZ29yeSA9ICcwJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3BhcmVudGNhdGVnb3J5J10pKSB7CgkkcGFyZW50Y2F0ZWdvcnkgPSAkcGFyYW1zWydwYXJlbnRjYXRlZ29yeSddOwp9Ci8vIENoZWNrIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2R1Y3RzIGNvbm5lY3RlZCB0byB0aGUgcm9vdCBjYXRlZ29yeQokcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBhcyBudW1fcHJvZHVjdHMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IHBjLAoJJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgcCBXSEVSRSBjYXRlZ29yeV9pZDw9MCBBTkQgcGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCBBTkQgCglwYy5hY3RpdmUgPSAxIEFORCBwLmFjdGl2ZSA9IDEnOwokZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkyKTsKJG51bXByb2RzID0gMDsKaWYgKCRkYnJlc3VsdDIgJiYgJHByb2Ryb3cgPSAkZGJyZXN1bHQyLT5GZXRjaFJvdygpKSB7CgkkbnVtcHJvZHMgPSAkcHJvZHJvd1snbnVtX3Byb2R1Y3RzJ107Cn0KCiRkZXN0cGFnZSA9ICRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQ7CiRzZW5kdG9kZXRhaWwgPSBhcnJheSgnY2F0ZWdvcnlfaWQnPT4kcm93WzBdLAknZGV0YWlscGFnZSc9PiRkZXN0cGFnZSk7CiRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUvY2F0LycuJHJvd1swXS4nLycuJGRlc3RwYWdlOwppZiAoaXNzZXQoJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXSkpIHsKCSRwcmV0dHl1cmwgLj0gJy9kLCcgLiAkc2VuZHRvZGV0YWlsWydkZXRhaWx0ZW1wbGF0ZSddOwp9CmlmICgkbnVtcHJvZHMgIT0gMCkgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyb290Y2F0JywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9saXN0JywgJGRlc3RwYWdlLCAkcm93WzFdLAoJCSRzZW5kdG9kZXRhaWwsJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeScsICRudW1wcm9kcyk7Cn0gCgovLyBDcmVhdGUgYSBjYXRlZ29yeSB0cmVlCiRjID0gJHRoaXMtPkZpbGxDYXRMaXN0KCRwYXJlbnRjYXRlZ29yeSwgMCwgJHJldHVybmlkKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsICRjKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZyb250ZW5kRm9ybVN0YXJ0KCRpZCwgJHJldHVybmlkLCAnZmVfY2F0X2xpc3QnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmVsX2NhdGVnb3JpZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfY2F0ZWdvcmllcycpKTsKCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRlbXBsYXRlID0gJ2NhdGVnb3JpZXNfdGVtcGxhdGUnOwovLyBDdXJyZW50bHkgb25seSBvbmUgdGVtcGxhdGUgYXZhaWxhYmxlLCBzbyBuZXh0IGxpbmVzIHdpbGwgbm90IHBlcmZvcm0gYW55dGhpbmcKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXN0ZW1wbGF0ZSddKSkgewoJJHRlbXBsYXRlID0gJHBhcmFtc1snY2F0ZWdvcmllc3RlbXBsYXRlJ107Cn0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.fe_products_featured.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKLy8gUHJlcGFyZSBzZXR0aW5ncyBmb3IgdXNhZ2Ugb2YgY2FydApnbG9iYWwgJENNU19WRVJTSU9OOwppZiAodmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMC1iZXRhMCcsJz4nKSAmJgoJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKCSRDYXJ0TVMgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdDYXJ0TWFkZVNpbXBsZScpOwp9CmVsc2UgewoJJENhcnRNUyA9JiAkZ0Ntcy0+bW9kdWxlc1snQ2FydE1hZGVTaW1wbGUnXVsnb2JqZWN0J107Cn0KCiRwYXRocHJvZHVjdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcpOwoKLy8gRGlzcGxheSBpbmZvcm1hdGlvbiBvZiB0aGUgcHJvZHVjdAokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyAKCVdIRVJFIGFjdGl2ZSA9IDEgQU5EIGZlYXR1cmVkID0gMSAKCU9SREVSIEJZIHBvc2l0aW9uJzsKJHF1ZXJ5MiA9ICdTRUxFQ1QgY291bnQoKikgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyAKCVdIRVJFIGFjdGl2ZSA9IDEgQU5EIGZlYXR1cmVkID0gMSAKCU9SREVSIEJZIHBvc2l0aW9uJzsKLy8gU2V0IHRoZSBwYWdlIGh5cGVybGlua3MgaWYgbmVlZGVkCiRwYWdlbGltaXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHBhZ2VsaW1pdCcsIDEwMDAwMCk7CgppZiAoaXNzZXQoJHBhcmFtc1sncHJvZHBhZ2VsaW1pdCddKSkgewoJJHBhZ2VsaW1pdCA9IGludHZhbCgkcGFyYW1zWydwcm9kcGFnZWxpbWl0J10pOwp9CgkJCi8vIEdldCB0aGUgbnVtYmVyIG9mIHJvd3MgKHNvIHdlIGNhbiBkZXRlcm1pbmUgdGhlIG51bWVyIG9mIHBhZ2VzKQokcGFnZWNvdW50ID0gLTE7CiRzdGFydGVsZW1lbnQgPSAwOwokcGFnZW51bWJlciA9IDE7Ci8vIEdldCB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIHRoYXQgbWF0Y2ggdGhlIHF1ZXJ5Ci8vIGFuZCBkZXRlcm1pbmUgYSBudW1iZXIgb2YgcGFnZXMKJHJvdzIgPSAkZGItPkdldFJvdygkcXVlcnkyKTsKJGNvdW50ID0gaW50dmFsKCRyb3cyWydjb3VudCgqKSddKTsKCmlmIChpc3NldCggJHBhcmFtc1snc3RhcnQnXSApICkKewoJJGNvdW50IC09IChpbnQpJHBhcmFtc1snc3RhcnQnXTsKfQokcGFnZWNvdW50ID0gKGludCkoJGNvdW50IC8gJHBhZ2VsaW1pdCk7CmlmICggKCRjb3VudCAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7CgppZiAoaXNzZXQoICRwYXJhbXNbJ3BhZ2VudW1iZXInXSApICYmICRwYXJhbXNbJ3BhZ2VudW1iZXInXSAhPSAnJyApCnsKCS8vIElmIGdpdmVuIGEgcGFnZSBudW1iZXIsIGRldGVybWluZSBhIHN0YXJ0IGVsZW1lbnQKCSRwYWdlbnVtYmVyID0gKGludCkkcGFyYW1zWydwYWdlbnVtYmVyJ107Cgkkc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKfQppZiAoaXNzZXQoICRwYXJhbXNbJ3N0YXJ0J10gKSApCnsKCS8vIEdpdmVuIGEgc3RhcnQgZWxlbWVudCwgZGV0ZXJtaW5lIGEgcGFnZSBudW1iZXIKCSRzdGFydGVsZW1lbnQgPSAkc3RhcnRlbGVtZW50ICsgKGludCkkcGFyYW1zWydzdGFydCddOwp9CmlmICgkc3RhcnRlbGVtZW50ID09ICRwYWdlbGltaXQpIHsKCS8vIFRoaXMgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBsZXNzIHJlc3VsdHMgdGhlbiBvbmUgcGFnZS4gUmVzZXQgdG8gc3RhcnRpbmcgcG9zaXRpb24uCgkjJHN0YXJ0ZWxlbWVudCA9IDA7Cn0KLy8gQXNzaWduIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5CmlmICggJHBhZ2VudW1iZXIgPT0gMSApIHsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCR0aGlzLT5MYW5nKCdwcmV2cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOwp9IGVsc2UgewoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXItMTsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZmVfcHJvZHVjdHNfZmVhdHVyZWQnLCAkdGhpcy0+TGFuZygncHJldnBhZ2UnKSwgJHBhcmFtcykpOwoJJHBhcmFtc1sncGFnZW51bWJlciddID0gMTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywgJHRoaXMtPkNyZWF0ZUZyb250ZW5kTGluaygkaWQsICRyZXR1cm5pZCwgJ2ZlX3Byb2R1Y3RzX2ZlYXR1cmVkJywgJHRoaXMtPkxhbmcoJ2ZpcnN0cGFnZScpLCAkcGFyYW1zKSk7Cn0KICAgCmlmICggJHBhZ2VudW1iZXIgPj0gJHBhZ2Vjb3VudCApIHsKCSRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCR0aGlzLT5MYW5nKCduZXh0cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCR0aGlzLT5MYW5nKCdsYXN0cGFnZScpKTsKfSBlbHNlIHsKCS8vIE1ha2Ugc3VyZSBuZXh0IHBhZ2UgaXMgc2VsZWN0ZWQgKGFsc28gaWYgb25lIHByb2R1Y3QgcGVyIHBhZ2UpCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlcisxOwoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0c19mZWF0dXJlZCcsICR0aGlzLT5MYW5nKCduZXh0cGFnZScpLCAkcGFyYW1zKSk7CgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZWNvdW50OwoJJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0c19mZWF0dXJlZCcsICR0aGlzLT5MYW5nKCdsYXN0cGFnZScpLCAkcGFyYW1zKSk7Cn0KCiRzbWFydHktPmFzc2lnbigncGFnZW51bWJlcicsICRwYWdlbnVtYmVyKTsKJHNtYXJ0eS0+YXNzaWduKCdwYWdlY291bnQnLCAkcGFnZWNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCdvZnRleHQnLCAkdGhpcy0+TGFuZygncHJvbXB0X29mJykpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2V0ZXh0JywgJHRoaXMtPkxhbmcoJ3Byb21wdF9wYWdlJykpOwoKJGRicmVzdWx0ID0gJyc7CmlmICggJHBhZ2VsaW1pdCA8IDEwMDAwMCB8fCAkc3RhcnRlbGVtZW50ID4gMCApCnsKCSRkYnJlc3VsdCA9ICRkYi0+U2VsZWN0TGltaXQoICRxdWVyeSwgJHBhZ2VsaW1pdCwgJHN0YXJ0ZWxlbWVudCk7Cn0KZWxzZQp7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKfQoKJHJvdyA9IGFycmF5KCk7CiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQp7Cgkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7Cgkkb25lcm93LT5wcm9kaWQgPSAkcm93Wydwcm9kdWN0X2lkJ107Cgkkb25lcm93LT5wcm9kbmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfZGV0YWlsJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdwcm9kdWN0X2lkJz0+JHJvd1sncHJvZHVjdF9pZCddKSk7Cgkkb25lcm93LT5wcm9kZGVzYyA9IHN0cmlwX3RhZ3MoJHJvd1snZGVzY3JpcHRpb24nXSk7CglpZiAoJENhcnRNUykgewoJCSRvbmVyb3ctPnByaWNlID0gJENhcnRNUy0+b3JkZXJzLT5Gb3JtYXRBbW91bnQoJHJvd1sncHJpY2UnXSk7Cgl9CgllbHNlIHsKCQkkb25lcm93LT5wcmljZSA9ICR0aGlzLT5Gb3JtYXRQcmljZSgkcm93WydwcmljZSddKTsKCX0KCSRvbmVyb3ctPm5ldHdlaWdodCA9ICR0aGlzLT5Gb3JtYXRXZWlnaHQoJHJvd1snbmV0d2VpZ2h0J10pOwoJJG9uZXJvdy0+c2t1ID0gJHJvd1snc2t1J107CgoJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyBkb24ndCBzaG93IGFueSBhZGQgdG8gY2FydCBvcHRpb24KCSRpbnZlbnRvcnl0eXBlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ludmVudG9yeXR5cGUnKTsKCWlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcgJiYgJHJvd1snbWF4YXR0cmlidXRlcyddID4gMCB8fCAkaW52ZW50b3J5dHlwZSA9PSdub25lJykgewoJCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJCWlmICgkQ2FydE1TKSB7CgkJCSRvbmVyb3ctPmFkZHByb2R1Y3QgPSAkQ2FydE1TLT5DcmVhdGVMaW5rKCAkaWQsICdjYXJ0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkdG9jYXJ0JyksIAoJCQkJYXJyYXkgKCduYW1lJz0+JHJvd1snbmFtZSddLAoJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLAoJCQkJCSdjYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwKCQkJCQkncHJvZHVjdF9pZCcgPT4gJHJvd1sncHJvZHVjdF9pZCddLAoJCQkJCSdxdHknID0+IDEsCgkJCQkJJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJKSk7CgkJCS8vIFByZXBhcmUgbGluayB3aXRoIGltYWdlIChGZWF0IFJlcSMzMzI0KQoJCQkkaW1hZ2VzcmMgPSAkY29uZmlnWydyb290X3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ21vZHVsZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuCgkJCQkJJHRoaXMtPkdldE5hbWUoKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2FkZHRvY2FydC5naWYnOwoJCQkkb25lcm93LT5hZGRwcm9kdWN0aW1hZ2UgPSAkQ2FydE1TLT5DcmVhdGVMaW5rKCAkaWQsICdjYXJ0JywgCgkJCQkkcmV0dXJuaWQsICc8aW1nIHNyYz0iJy4kaW1hZ2VzcmMuJyIgYWx0PSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIiB0aXRsZT0iJy4kdGhpcy0+TGFuZygnYWRkdG9jYXJ0JykuJyI+JywgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjYXRlZ29yeV9pZCddLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcm93Wydwcm9kdWN0X2lkJ10sCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKTsKCQl9Cgl9CgoJLy8gR2V0IHRoZSBmaXJzdCBwaWN0dXJlIGF2YWlsYWJsZSBmb3IgdGhlIHByb2R1Y3QgZm91bmQKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSRwaWN0dXJlID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcm93Wydwcm9kdWN0X2lkJ10pKTsKCWlmICgkcGljdHVyZSkKCXsKCQlpZiAoaXNzZXQoJHBpY3R1cmVbJ2ltYWdlJ10pICYmICRwaWN0dXJlWydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnKSB7CgkJCSRvbmVyb3ctPnByb2RpbWFnZSA9ICRwYXRocHJvZHVjdC4kcGljdHVyZVsnaW1hZ2UnXTsKCQkJJG9uZXJvdy0+cHJvZGltYWdlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfZGV0YWlsJywgCgkJCQkkcmV0dXJuaWQsICc8aW1nIHNyYz1cJycuJGNvbmZpZ1sncm9vdF91cmwnXS4nL3VwbG9hZHMvaW1hZ2VzJy4kcGF0aHByb2R1Y3QuJ3RuXycuJHBpY3R1cmVbJ2ltYWdlJ10gLgoJCQkJJ1wnIHRpdGxlPVwnJy4kcGljdHVyZVsnZGVzY3JpcHRpb24nXS4nXCcgPicsIGFycmF5KCdwcm9kdWN0X2lkJz0+JHJvd1sncHJvZHVjdF9pZCddKSk7CgkJfQoJCWVsc2UgewoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3Byb2RpbWFnZScsICcqbm9uZScpOwoJCX0KCgl9CgoJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgoJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3Byb2R1Y3RzJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xhYmxlX3Byb2R1Y3RfY291bnQnLCAkdGhpcy0+TGFuZygndGV4dHByb2R1Y3Rjb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSkpOwoKLy8gU3RhdGUgdGhlIGN1cnJlbmN5IHN5bWJvbCBhbmQgdGhhdCBwcmljZXMgYXJlIGluL2V4IFZBVC9UQVgKJGluZXh2YXQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJpY2VzaW5jbHZhdCcpOwppZiAoICRpbmV4dmF0ICE9ICcnICkgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeScsICR0aGlzLT5MYW5nKCdwcmljZXNpbmN1cmludmF0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScpKSk7Cn0KZWxzZSB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cnJlbmN5JywgJHRoaXMtPkxhbmcoJ3ByaWNlc2luY3VyZXh2YXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2N1cnJlbmN5JykpKTsKfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cl9zeW1ib2wnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnKSk7CgovLyBEaXNwbGF5IHRlbXBsYXRlCiR0ZW1wbGF0ZSA9ICdwcm9kZmVhdF90ZW1wbGF0ZSc7Ci8vIEN1cnJlbnRseSBvbmx5IG9uZSB0ZW1wbGF0ZSBhdmFpbGFibGUsIHNvIG5leHQgbGluZXMgd2lsbCBub3QgcGVyZm9ybSBhbnl0aGluZwppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGZlYXR0ZW1wbGF0ZSddKSkgewoJJHRlbXBsYXRlID0gJHBhcmFtc1sncHJvZGZlYXR0ZW1wbGF0ZSddOwp9CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.fe_product_detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRnQ21zID0gY21zbXMoKTsgaWYoICFpc19vYmplY3QoJGdDbXMpICkgZXhpdDsKCiRkZXRhaWxwYWdlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKQp7CgkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpCgl7CgkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsKCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQoJCXsKCQkJJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCQl9Cgl9CgllbHNlCgl7CgkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJCWlmIChpc3NldCgkbm9kZSkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCQl9Cgl9Cn0KCi8vIFByZXBhcmUgc2V0dGluZ3MgZm9yIHVzYWdlIG9mIGNhcnQKZ2xvYmFsICRDTVNfVkVSU0lPTjsKaWYgKHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTAtYmV0YTAnLCc+JykgJiYKCXZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTEnLCc8JykpIHsKCSRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CgkkQ2FydE1TID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnQ2FydE1hZGVTaW1wbGUnKTsKfQplbHNlIHsKCSRDYXJ0TVMgPSYgJGdDbXMtPm1vZHVsZXNbJ0NhcnRNYWRlU2ltcGxlJ11bJ29iamVjdCddOwp9CgokcGF0aGNhdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfY2F0ZWdvcnknKTsKJHBhdGhwcm9kdWN0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0Jyk7CgovLyBTYXZlIHRoZSBwcm9kdWN0IGlkIGZvciBjb3JyZWN0IHVzYWdlIHRocm91Z2hvdXQgYWxsIHF1ZXJpZXMKJHByb2R1Y3RfaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkpICRwcm9kdWN0X2lkID0gJHBhcmFtc1sncHJvZHVjdF9pZCddOwokY2F0ZWdvcnlfaWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKSAkY2F0ZWdvcnlfaWQgPSAkcGFyYW1zWydjYXRlZ29yeV9pZCddOwoKLy8gRGlzcGxheSBpbmZvcm1hdGlvbiBvZiB0aGUgcHJvZHVjdAokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CgppZiAoJHJvdykKewoJJHByb2R1Y3RwcmljZSA9ICRyb3dbJ3ByaWNlJ107CgkkcXVhbnRpdHlvbnN0b2NrID0gJHJvd1snbWF4YXR0cmlidXRlcyddOwoJJHNtYXJ0eS0+YXNzaWduKCdpZCcsICRwcm9kdWN0X2lkKTsKCSRzbWFydHktPmFzc2lnbigncHJvZHVjdG5hbWUnLCAkcm93WyduYW1lJ10pOwoJJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsICRyb3dbJ2Rlc2NyaXB0aW9uJ10pOwoJaWYgKCRDYXJ0TVMpIHsKCQkkc21hcnR5LT5hc3NpZ24oJ3ByaWNlJywgJENhcnRNUy0+b3JkZXJzLT5Gb3JtYXRBbW91bnQoJHJvd1sncHJpY2UnXSkpOwoJfQoJZWxzZSB7CgkJJHNtYXJ0eS0+YXNzaWduKCdwcmljZScsICR0aGlzLT5Gb3JtYXRQcmljZSgkcm93WydwcmljZSddKSk7Cgl9Cgkkc21hcnR5LT5hc3NpZ24oJ3NrdScsICRyb3dbJ3NrdSddKTsKCSRzbWFydHktPmFzc2lnbignaXRlbW51bWJlcicsICRyb3dbJ2l0ZW1udW1iZXInXSk7Cgkkc21hcnR5LT5hc3NpZ24oJ25ldHdlaWdodCcsICR0aGlzLT5Gb3JtYXRXZWlnaHQoJHJvd1snbmV0d2VpZ2h0J10pKTsKCS8vIEdldCB0aGUgZmlyc3QgcGljdHVyZSBhdmFpbGFibGUgZm9yIHRoZSBwcm9kdWN0IGZvdW5kCgkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CgkkcGljdHVyZSA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKCWlmICgkcGljdHVyZSkKCXsKCQlpZiAoaXNzZXQoJHBpY3R1cmVbJ2ltYWdlJ10pICYmICRwaWN0dXJlWydpbWFnZSddICE9ICdub19pbWFnZS5qcGcnKSB7CgkJCSRzbWFydHktPmFzc2lnbigncHJvZGltYWdlJywgJHBhdGhwcm9kdWN0LiRwaWN0dXJlWydpbWFnZSddKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCdpbWFnZWRlc2MnLCAkcm93WydkZXNjcmlwdGlvbiddKTsKCQl9CgkJZWxzZSB7CgkJCSRzbWFydHktPmFzc2lnbigncHJvZGltYWdlJywgJypub25lJyk7CgkJfQoJfQoJLy8gV2hlbiB0aGUge2ltYWdlfSB0YWcgb2Ygc21hcnR5IGlzIG5vdCBpbiB1c2UsIHRoZSBjb21wbGV0ZSBwYXRoIG11c3QgYmUgcGFzc2VkCgkkc21hcnR5LT5hc3NpZ24oJ3BpbWFnZScsICRjb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4ndXBsb2FkcycuCgkJRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJy4kcGF0aHByb2R1Y3QuJHBpY3R1cmVbJ2ltYWdlJ10pOwoJLy8gQnVpbGQgYXJyYXkgdGhhdCBob2xkcyB0aGUgaW1hZ2VzIGNvbm5lY3RlZCB0byB0aGUgcHJvZHVjdAoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKCSRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCXsKCQkkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJaWYgKGlzc2V0KCRwaWN0dXJlWydpbWFnZSddKSAmJiAkcGljdHVyZVsnaW1hZ2UnXSAhPSAnbm9faW1hZ2UuanBnJykgewoJCQkkb25lcm93LT5pbWFnZSA9ICRwYXRocHJvZHVjdC4kcm93WydpbWFnZSddOwoJCQkkb25lcm93LT5pbWFnZXRodW1iID0gJHBhdGhwcm9kdWN0Lid0bl8nLiRyb3dbJ2ltYWdlJ107CgkJCSRvbmVyb3ctPmltYWdlZGVzYyA9ICRyb3dbJ2Rlc2NyaXB0aW9uJ107CgkJCSRvbmVyb3ctPmZ1bGxwYXRoaW1hZ2UgPSAkY29uZmlnWydyb290X3VybCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3VwbG9hZHMnLgoJCQkJRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJy4kcGF0aHByb2R1Y3QuJHJvd1snaW1hZ2UnXTsKCQl9CgoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJfQoJJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignaXRlbXMnLCAkZW50cnlhcnJheSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkvLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIGRvbid0IHNob3cgYW55IGFkZCB0byBjYXJ0IG9wdGlvbgoJJG9uc3RvY2sgPSAnTm8nOwoJJGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScpOwoJaWYgKCRpbnZlbnRvcnl0eXBlID09ICdwcm9kJyAmJiAkcXVhbnRpdHlvbnN0b2NrID4gMCB8fCAkaW52ZW50b3J5dHlwZSA9PSAnbm9uZScpIHsKCQkkb25zdG9jayA9ICdZZXMnOwoJfQoJaWYgKCRvbnN0b2NrID09ICdZZXMnKSB7CgkJLy8gQnVpbGQgbGluayB0byBjYXJ0CgkJaWYgKCRDYXJ0TVMpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCdhZGRwcm9kdWN0JywgJENhcnRNUy0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLCAKCQkJCWFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywKCQkJCQknY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCwKCQkJCQkncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RfaWQsCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKSk7CgkJCSRpbWFnZXNyYyA9ICR0aGlzLT5JbWFnZUFkZFRvQ2FydFNvdXJjZSgpOwoJCQkkc21hcnR5LT5hc3NpZ24oJ2FkZHByb2R1Y3RpbWFnZScsICRDYXJ0TVMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAKCQkJCSRyZXR1cm5pZCwgJzxpbWcgc3JjPSInLiRpbWFnZXNyYy4nIiBhbHQ9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIj4nLCAKCQkJCWFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywKCQkJCQknY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCwKCQkJCQkncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RfaWQsCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKSk7CgkJfQoJfQoKCSRwcm9kdWN0X2RhdGEgPSAkdGhpcy0+cHJvZHVjdHMtPkdldCgkcHJvZHVjdF9pZCk7CgkkYXR0cmlidXRlID0gYXJyYXkoKTsKCSRhdHRyaWJ1dGVzID0gYXJyYXkoKTsKCS8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgYXR0cmlidXRlcyBmb3IgdGhlIGN1cnJlbnQgcHJvZHVjdC4gSWYgbm90IGNoZWNrZWQsIHRoZSBmb3JlYWNoIHJ1bnMgaW50byBhbiBlcnJvcgoJJGF0dHJpYnV0ZXNbJ2l0ZW1jb3VudCddID0gY291bnQoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddKTsKCWlmICgkYXR0cmlidXRlc1snaXRlbWNvdW50J10gPiAwKSB7CgkJZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddIGFzICRhdHRyaWJ1dGUpIHsKCQkJaWYgKCRhdHRyaWJ1dGVbJ2FjdGl2ZSddKSB7CgkJCQkkYXR0cmlidXRlWyduYW1lJ10gPSAkYXR0cmlidXRlWyduYW1lJ107CgkJCQkkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddID0gc3RyaXBfdGFncygkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddKTsKCQkJCS8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gZG9uJ3Qgc2hvdyBhbnkgYWRkIHRvIGNhcnQgb3B0aW9uCgkJCQkkYXR0cmlidXRlWydvbnN0b2NrJ10gPSB0cnVlOwoJCQkJJGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScpOwoJCQkJaWYgKCgkaW52ZW50b3J5dHlwZSA9PSAnYXR0cicgJiYgJGF0dHJpYnV0ZVsnbWF4YWxsb3dlZCddID4gMCkKCQkJCQl8fCAkb25zdG9jayA9PSAnWWVzJykgewoJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAnJzsKCQkJCQkkcHJpY2UgPSAkdGhpcy0+Q2FsY3VsYXRlQXR0cmlidXRlUHJpY2UoJHByb2R1Y3RwcmljZSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sICRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddKTsKCQkJCQlpZiAoJENhcnRNUykgewoJCQkJCQkkYXR0cmlidXRlWydwcmljZSddID0gJENhcnRNUy0+b3JkZXJzLT5Gb3JtYXRBbW91bnQoJHByaWNlKTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByaWNlKTsKCQkJCQl9CgkJCQkJaWYgKCEkYXR0cmlidXRlWydkaXNwbGF5b25seSddKSB7CgkJCQkJCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJCQkJCQlpZiAoJENhcnRNUykgewoJCQkJCQkJJGF0dHJpYnV0ZVsnYWRkYXR0cmlidXRlJ10gPSAkQ2FydE1TLT5DcmVhdGVMaW5rKCAkaWQsIAoJCQkJCQkJCSdjYXJ0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkdG9jYXJ0JyksIGFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsICdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkLAoJCQkJCQkJCQkncHJvZHVjdF9pZCcgPT4gJHByb2R1Y3RfaWQsICdhdHRyaWJ1dGVfaWQnID0+ICRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLCAKCQkJCQkJCQkJJ3F0eScgPT4gMSwgJ3JldHVybm1vZCcgPT4gJ1Nob3BNYWRlU2ltcGxlJwoJCQkJCQkJCSkpOwoJCQkJCQkJJGltYWdlc3JjID0gJHRoaXMtPkltYWdlQWRkVG9DYXJ0U291cmNlKCk7CgkJCQkJCQkkYXR0cmlidXRlWydhZGRhdHRyaWJ1dGVpbWFnZSddID0gJENhcnRNUy0+Q3JlYXRlTGluayggJGlkLCAnY2FydCcsIAoJCQkJCQkJCSRyZXR1cm5pZCwgJzxpbWcgc3JjPSInLiRpbWFnZXNyYy4nIiBhbHQ9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIj4nLCAKCQkJCQkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJCQkJCSdwZXJmYWN0aW9uJyA9PiAnYWRkX3Byb2R1Y3QnLCAnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeV9pZCwKCQkJCQkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRwcm9kdWN0X2lkLCAnYXR0cmlidXRlX2lkJyA9PiAkYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSwgCgkJCQkJCQkJCSdxdHknID0+IDEsICdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCQkJCQkpKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCWVsc2UgewoJCQkJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+TGFuZygncHJvZHVjdHNvbGRvdXQnKTsKCQkJCQkkYXR0cmlidXRlWydvbnN0b2NrJ10gPSBmYWxzZTsKCQkJCQkkYXR0cmlidXRlWydhZGRhdHRyaWJ1dGUnXSA9ICcnOwoJCQkJfQoJCQkJJHByb2R1Y3RfYXR0cmlidXRlc19saXN0W10gPSAkYXR0cmlidXRlOwoJCQl9CgkJfQoJCSRhdHRyaWJ1dGVzWydsaXN0J10gPSAkcHJvZHVjdF9hdHRyaWJ1dGVzX2xpc3Q7CgkJLy8gTm93IGFsbCB0aGUgYXR0cmlidXRlcyBhcmUgZm91bmQsIGNvbm5lY3QgdGhlbSBmb3IgdGhlIGZyb250IGVuZAoJCSRhdHRyaWJ1dGVzWyduYW1lY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyk7CgkJJGF0dHJpYnV0ZXNbJ2Rlc2NyaXB0aW9uY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9kZXNjcmlwdGlvbicpOwoJCSRhdHRyaWJ1dGVzWydwcmljZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfcHJpY2UnKTsKCQkkYXR0cmlidXRlc1snYWRkYXR0cmlidXRlY29sdW1uJ10gPSAnJzsKCQkkc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdhdHRyaWJ1dGVzJywgJGF0dHJpYnV0ZXMpOwoKCX0KfQoKJGN1cl9zeW1ib2wgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zeW1ib2wnKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJfc3ltYm9sJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJykpOwoKLy8gRGlzcGxheSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAncHJvZGRldGFpbF90ZW1wbGF0ZSc7Ci8vIEN1cnJlbnRseSBvbmx5IG9uZSB0ZW1wbGF0ZSBhdmFpbGFibGUsIHNvIG5leHQgbGluZXMgd2lsbCBub3QgcGVyZm9ybSBhbnl0aGluZwppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGRldGFpbHRlbXBsYXRlJ10pKSB7CgkkdGVtcGxhdGUgPSAkcGFyYW1zWydwcm9kZGV0YWlsdGVtcGxhdGUnXTsKfQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.fe_product_list.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRldGFpbHBhZ2UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpCnsKCSRtYW5hZ2VyID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwoJaWYgKGlzc2V0KCRub2RlKSkKCXsKCQkkY29udGVudCA9JiAkbm9kZS0+R2V0Q29udGVudCgpOwoJCWlmIChpc3NldCgkY29udGVudCkpCgkJewoJCQkkZGV0YWlscGFnZSA9ICRjb250ZW50LT5JZCgpOwoJCX0KCX0KCWVsc2UKCXsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSk7CgkJaWYgKGlzc2V0KCRub2RlKSkKCQl7CgkJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOwoJCX0KCX0KfQoKLy8gUHJlcGFyZSBzZXR0aW5ncyBmb3IgdXNhZ2Ugb2YgY2FydApnbG9iYWwgJENNU19WRVJTSU9OOwppZiAodmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMC1iZXRhMCcsJz4nKSAmJgoJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKCSRDYXJ0TVMgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdDYXJ0TWFkZVNpbXBsZScpOwp9CmVsc2UgewoJJENhcnRNUyA9JiAkZ0Ntcy0+bW9kdWxlc1snQ2FydE1hZGVTaW1wbGUnXVsnb2JqZWN0J107Cn0KCiRjb25maWcgPSAkZ0Ntcy0+R2V0Q29uZmlnKCk7CiRwYXRoY2F0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9jYXRlZ29yeScpOwokcGF0aHByb2R1Y3QgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnKTsKCi8vIERpc3BsYXkgaW5mb3JtYXRpb24gb2YgdGhlIGNhdGVnb3J5CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBhY3RpdmUgPSAxIjsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwppZiAoJHJvdykKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpZCcsICRyb3dbJ2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeW5hbWUnLCAkcm93WyduYW1lJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsICRyb3dbJ2Rlc2NyaXB0aW9uJ10pOwoJaWYgKGlzc2V0KCRyb3dbJ2ltYWdlJ10pICYmICRyb3dbJ2ltYWdlJ10gIT0gJ25vX2ltYWdlLmpwZycgJiYgJHJvd1snaW1hZ2UnXSAhPSAnJykgewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW1hZ2UnLCAkcGF0aGNhdC4kcm93WydpbWFnZSddLiciIGFsdD0iJy4kcm93WydpbWFnZSddLiciJyk7Cgl9CgllbHNlIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ltYWdlJywgJypub25lJyk7Cgl9Cn0KCi8vIERpc3BsYXkgaW5mb3JtYXRpb24gb2YgdGhlIGNvbm5lY3RlZCBwcm9kdWN0cwokcXVlcnkgPSAnU0VMRUNUIHAubmFtZSBBUyBwcm9kbmFtZSwgcC5wcm9kdWN0X2lkLCBwLmRlc2NyaXB0aW9uIEFTIHByb2RkZXNjLCAKCXAucHJpY2UgQVMgcHJpY2UsIHAubmV0d2VpZ2h0LCBwLm1heGF0dHJpYnV0ZXMgRlJPTSAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgYyBMRUZUIE9VVEVSIEpPSU4gJwoJLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBwIE9OIGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCAKCVdIRVJFIGMuY2F0ZWdvcnlfaWQgPSA/IEFORCBwLmFjdGl2ZSA9IDEKCU9SREVSIEJZIHAucG9zaXRpb24nOwokcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBGUk9NICcKCS5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBjIExFRlQgT1VURVIgSk9JTiAnCgkuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIHAgT04gYy5wcm9kdWN0X2lkID0gcC5wcm9kdWN0X2lkIAoJV0hFUkUgYy5jYXRlZ29yeV9pZCA9ID8gQU5EIHAuYWN0aXZlID0gMSc7CgovLyBTZXQgdGhlIHBhZ2UgaHlwZXJsaW5rcyBpZiBuZWVkZWQKJHBhZ2VsaW1pdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKTsKCmlmIChpc3NldCgkcGFyYW1zWydwcm9kcGFnZWxpbWl0J10pKSB7CgkkcGFnZWxpbWl0ID0gaW50dmFsKCRwYXJhbXNbJ3Byb2RwYWdlbGltaXQnXSk7Cn0KCQkKLy8gR2V0IHRoZSBudW1iZXIgb2Ygcm93cyAoc28gd2UgY2FuIGRldGVybWluZSB0aGUgbnVtZXIgb2YgcGFnZXMpCiRwYWdlY291bnQgPSAtMTsKJHN0YXJ0ZWxlbWVudCA9IDA7CiRwYWdlbnVtYmVyID0gMTsKLy8gR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgdGhhdCBtYXRjaCB0aGUgcXVlcnkKLy8gYW5kIGRldGVybWluZSBhIG51bWJlciBvZiBwYWdlcwokcm93MiA9ICRkYi0+R2V0Um93KCRxdWVyeTIsIGFycmF5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKJGNvdW50ID0gaW50dmFsKCRyb3cyWydjb3VudCgqKSddKTsKCmlmIChpc3NldCggJHBhcmFtc1snc3RhcnQnXSApICkKewoJJGNvdW50IC09IChpbnQpJHBhcmFtc1snc3RhcnQnXTsKfQokcGFnZWNvdW50ID0gKGludCkoJGNvdW50IC8gJHBhZ2VsaW1pdCk7CmlmICggKCRjb3VudCAlICRwYWdlbGltaXQpICE9IDAgKSAkcGFnZWNvdW50Kys7CgppZiAoaXNzZXQoICRwYXJhbXNbJ3BhZ2VudW1iZXInXSApICYmICRwYXJhbXNbJ3BhZ2VudW1iZXInXSAhPSAnJyApCnsKCS8vIElmIGdpdmVuIGEgcGFnZSBudW1iZXIsIGRldGVybWluZSBhIHN0YXJ0IGVsZW1lbnQKCSRwYWdlbnVtYmVyID0gKGludCkkcGFyYW1zWydwYWdlbnVtYmVyJ107Cgkkc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKfQppZiAoaXNzZXQoICRwYXJhbXNbJ3N0YXJ0J10gKSApCnsKCS8vIEdpdmVuIGEgc3RhcnQgZWxlbWVudCwgZGV0ZXJtaW5lIGEgcGFnZSBudW1iZXIKCSRzdGFydGVsZW1lbnQgPSAkc3RhcnRlbGVtZW50ICsgKGludCkkcGFyYW1zWydzdGFydCddOwp9CmlmICgkc3RhcnRlbGVtZW50ID09ICRwYWdlbGltaXQpIHsKCS8vIFRoaXMgaGFwcGVucyB3aGVuIHRoZXJlIGFyZSBsZXNzIHJlc3VsdHMgdGhlbiBvbmUgcGFnZS4gUmVzZXQgdG8gc3RhcnRpbmcgcG9zaXRpb24uCgkjJHN0YXJ0ZWxlbWVudCA9IDA7Cn0KLy8gQXNzaWduIHNvbWUgcGFnaW5hdGlvbiB2YXJpYWJsZXMgdG8gc21hcnR5CmlmICggJHBhZ2VudW1iZXIgPT0gMSApIHsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCR0aGlzLT5MYW5nKCdwcmV2cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlJywkdGhpcy0+TGFuZygnZmlyc3RwYWdlJykpOwp9IGVsc2UgewoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXItMTsKCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZmVfcHJvZHVjdF9saXN0JywgJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJyksICRwYXJhbXMpKTsKCSRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9IDE7Cgkkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksICRwYXJhbXMpKTsKfQogICAKaWYgKCAkcGFnZW51bWJlciA+PSAkcGFnZWNvdW50ICkgewoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsJHRoaXMtPkxhbmcoJ25leHRwYWdlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJykpOwp9IGVsc2UgewoJLy8gTWFrZSBzdXJlIG5leHQgcGFnZSBpcyBzZWxlY3RlZCAoYWxzbyBpZiBvbmUgcHJvZHVjdCBwZXIgcGFnZSkgKEJ1ZyM6IDM4ODcpCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlcisxOwoJJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZScsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdmZV9wcm9kdWN0X2xpc3QnLCAkdGhpcy0+TGFuZygnbmV4dHBhZ2UnKSwgJHBhcmFtcykpOwoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2Vjb3VudDsKCSRzbWFydHktPmFzc2lnbignbGFzdHBhZ2UnLCAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZmVfcHJvZHVjdF9saXN0JywgJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJyksICRwYXJhbXMpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywgJHBhZ2VudW1iZXIpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsICRwYWdlY291bnQpOwokc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsICR0aGlzLT5MYW5nKCdwcm9tcHRfb2YnKSk7CiRzbWFydHktPmFzc2lnbigncGFnZXRleHQnLCAkdGhpcy0+TGFuZygncHJvbXB0X3BhZ2UnKSk7CgokZGJyZXN1bHQgPSAnJzsKaWYgKCAkcGFnZWxpbWl0IDwgMTAwMDAwIHx8ICRzdGFydGVsZW1lbnQgPiAwICkKewoJJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCggJHF1ZXJ5LCAkcGFnZWxpbWl0LCAkc3RhcnRlbGVtZW50LCBhcnJheSgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7Cn0KZWxzZQp7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7Cn0KCiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJ5YXJyYXkgPSBhcnJheSgpOwovLyBSZXRyaWV2ZSB0aGUgdHlwZSBvZiBpbnZlbnRvcnkgdGhhdCBpcyBpbiBwbGFjZQokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7Cgp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCnsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCgkkb25lcm93LT5wcm9kaWQgPSAkcm93Wydwcm9kdWN0X2lkJ107CgkkYWxpYXNlZF90aXRsZSA9IG11bmdlX3N0cmluZ190b191cmwoJHJvd1sncHJvZG5hbWUnXSk7IAkKCSRzZW5kdG9kZXRhaWwgPSBhcnJheSgnY2F0ZWdvcnlfaWQnID0+JHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwncHJvZHVjdF9pZCc9PiRyb3dbJ3Byb2R1Y3RfaWQnXSApOwoJCgkkcHJldHR5dXJsID0gJ1Nob3BNYWRlU2ltcGxlL3Byb2QvJy4kcGFyYW1zWydjYXRlZ29yeV9pZCddLicvJy4kcm93Wydwcm9kdWN0X2lkJ10uJy8nLgoJCSgkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkKS4nLycuJGFsaWFzZWRfdGl0bGU7CglpZiAoaXNzZXQoJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXSkpIHsKCQkkcHJldHR5dXJsIC49ICcvZCwnIC4gJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXTsKCX0KCSRvbmVyb3ctPnByb2RuYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9kZXRhaWwnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAKCQkJJHJvd1sncHJvZG5hbWUnXSwgJHNlbmR0b2RldGFpbCwgJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJLy8gU2hvdyBuYW1lIHdpdGhvdXQgbGluayB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDI5ODYpCgkkb25lcm93LT5wcm9kbmFtZW5vbGluayA9ICRyb3dbJ3Byb2RuYW1lJ107Cgkkb25lcm93LT5wcm9kZGVzYyA9IHN0cmlwX3RhZ3MoJHJvd1sncHJvZGRlc2MnXSk7Cgkkb25lcm93LT5wcmljZSA9ICRyb3dbJ3ByaWNlJ107CglpZiAoJENhcnRNUykgewoJCSRvbmVyb3ctPnByaWNlID0gJENhcnRNUy0+b3JkZXJzLT5Gb3JtYXRBbW91bnQoJHJvd1sncHJpY2UnXSk7Cgl9CgllbHNlIHsKCQkkb25lcm93LT5wcmljZSA9ICR0aGlzLT5Gb3JtYXRQcmljZSgkcm93WydwcmljZSddKTsKCX0KCSRvbmVyb3ctPm5ldHdlaWdodCA9ICR0aGlzLT5Gb3JtYXRXZWlnaHQoJHJvd1snbmV0d2VpZ2h0J10pOwoJLy8gQ2hlY2sgaWYgaW52ZW50b3J5IGluIHBsYWNlLiBJZiBzbyBzaG93IGFkZCB0byBjYXJ0IG9wdGlvbnMKCWlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcgJiYgJHJvd1snbWF4YXR0cmlidXRlcyddID4gMCB8fCAkaW52ZW50b3J5dHlwZSA9PSdub25lJykgewoJCSRvbmVyb3ctPmF2YWlsYWJsZXN0b2NrID0gJHJvd1snbWF4YXR0cmlidXRlcyddOwoJCS8vIEJ1aWxkIGxpbmsgdG8gY2FydAoJCWlmICgkQ2FydE1TKSB7CgkJCS8vIFByZXBhcmUgYSBoeXBlcmxpbmsgdG8gYWRkIHRoZSBwcm9kdWN0IHRvIHRoZSBjYXJ0CgkJCSRsaW5rbmFtZSA9ICR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKTsKCQkJJG9uZXJvdy0+YWRkcHJvZHVjdCA9ICRDYXJ0TVMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAkcmV0dXJuaWQsICRsaW5rbmFtZSwgCgkJCQlhcnJheSAoJ25hbWUnPT4kcm93WyduYW1lJ10sCgkJCQkJJ3BlcmZhY3Rpb24nID0+ICdhZGRfcHJvZHVjdCcsCgkJCQkJJ2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjYXRlZ29yeV9pZCddLAoJCQkJCSdwcm9kdWN0X2lkJyA9PiAkcm93Wydwcm9kdWN0X2lkJ10sCgkJCQkJJ3F0eScgPT4gMSwKCQkJCQkncmV0dXJubW9kJyA9PiAnU2hvcE1hZGVTaW1wbGUnCgkJCQkpKTsKCQkJLy8gUHJlcGFyZSBsaW5rIHdpdGggaW1hZ2UgKEZlYXQgUmVxIzMzMjQpCgkJCSRpbWFnZXNyYyA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sncm9vdF91cmwnXSwgJ21vZHVsZXMnLCAkdGhpcy0+R2V0TmFtZSgpLAoJCQkJJ2ltYWdlcycsICdhZGR0b2NhcnQuZ2lmJyk7CgkJCSRvbmVyb3ctPmFkZHByb2R1Y3RpbWFnZSA9ICRDYXJ0TVMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhcnQnLCAKCQkJCSRyZXR1cm5pZCwgJzxpbWcgc3JjPSInLiRpbWFnZXNyYy4nIiBhbHQ9IicuJHRoaXMtPkxhbmcoJ2FkZHRvY2FydCcpLiciIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdhZGR0b2NhcnQnKS4nIj4nLCAKCQkJCWFycmF5ICgnbmFtZSc9PiRyb3dbJ25hbWUnXSwKCQkJCQkncGVyZmFjdGlvbicgPT4gJ2FkZF9wcm9kdWN0JywKCQkJCQknY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10sCgkJCQkJJ3Byb2R1Y3RfaWQnID0+ICRyb3dbJ3Byb2R1Y3RfaWQnXSwKCQkJCQkncXR5JyA9PiAxLAoJCQkJCSdyZXR1cm5tb2QnID0+ICdTaG9wTWFkZVNpbXBsZScKCQkJCSkpOwoJCX0KCQkkb25lcm93LT5vbnN0b2NrID0gdHJ1ZTsKCX0KCWVsc2UgewoJCSRvbmVyb3ctPm9uc3RvY2sgPSBmYWxzZTsKCQkvLyAkb25lcm93LT5wcmljZSA9ICR0aGlzLT5MYW5nKCdwcm9kdWN0c29sZG91dCcpOwoJfQoKCS8vIEdldCB0aGUgZmlyc3QgcGljdHVyZSBhdmFpbGFibGUgZm9yIHRoZSBwcm9kdWN0IGZvdW5kCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyBXSEVSRSBwcm9kdWN0X2lkID0gPyc7CgkkcGljdHVyZSA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJHJvd1sncHJvZHVjdF9pZCddKSk7CglpZiAoJHBpY3R1cmUpCgl7CgkJaWYgKGlzc2V0KCRwaWN0dXJlWydpbWFnZSddKSAmJiAkcGljdHVyZVsnaW1hZ2UnXSAhPSAnbm9faW1hZ2UuanBnJyYmICRwaWN0dXJlWydpbWFnZSddICE9ICcnKSB7CgkJCSRvbmVyb3ctPnByb2RpbWFnZSA9ICRwYXRocHJvZHVjdC4ndG5fJy4kcGljdHVyZVsnaW1hZ2UnXTsKCQkJLy8gRm9yIGZlYXR1cmUgcmVxdWVzdCMgMzA4MzogcHJlcGFyZSBhbHNvIGEgbGluayBmcm9tIGltYWdlIHRvIGRldGFpbAoJCQkkb25lcm93LT5wcm9kaW1hZ2VsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZmVfcHJvZHVjdF9kZXRhaWwnLCAKCQkJCSRyZXR1cm5pZCwgJzxpbWcgc3JjPVwnJy4kY29uZmlnWydyb290X3VybCddLicvdXBsb2Fkcy9pbWFnZXMnLiRwYXRocHJvZHVjdC4ndG5fJy4kcGljdHVyZVsnaW1hZ2UnXSAuCgkJCQknXCcgdGl0bGU9XCcnLiRwaWN0dXJlWydkZXNjcmlwdGlvbiddLidcJyA+JywgYXJyYXkoJ3Byb2R1Y3RfaWQnPT4kcm93Wydwcm9kdWN0X2lkJ10pKTsKCQl9CgkJZWxzZSB7CgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncHJvZGltYWdlJywgJypub25lJyk7CgkJfQoJfQoJCgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCgkoJHJvd2NsYXNzPT0icm93MSI/JHJvd2NsYXNzPSJyb3cyIjokcm93Y2xhc3M9InJvdzEiKTsKfQoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZigncHJvZHVjdHMnLCAkZW50cnlhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignbGFibGVfcHJvZHVjdF9jb3VudCcsICR0aGlzLT5MYW5nKCd0ZXh0cHJvZHVjdGNvdW50JywgY291bnQoJGVudHJ5YXJyYXkpKSk7CgovLyBTdGF0ZSB0aGUgY3VycmVuY3kgc3ltYm9sIGFuZCB0aGF0IHByaWNlcyBhcmUgaW4vZXggVkFUL1RBWAokaW5leHZhdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmljZXNpbmNsdmF0Jyk7CmlmICggJGluZXh2YXQgIT0gJycgKSB7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1cnJlbmN5JywgJHRoaXMtPkxhbmcoJ3ByaWNlc2luY3VyaW52YXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2N1cnJlbmN5JykpKTsKfQplbHNlIHsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignY3VycmVuY3knLCAkdGhpcy0+TGFuZygncHJpY2VzaW5jdXJleHZhdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfY3VycmVuY3knKSkpOwp9CiR0aGlzLT5zbWFydHktPmFzc2lnbignY3VyX3N5bWJvbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N5bWJvbCcpKTsKCi8vIERpc3BsYXkgdGVtcGxhdGUKJHRlbXBsYXRlID0gJ2NhdGxpc3RfdGVtcGxhdGUnOwovLyBDdXJyZW50bHkgb25seSBvbmUgdGVtcGxhdGUgYXZhaWxhYmxlLCBzbyBuZXh0IGxpbmVzIHdpbGwgbm90IHBlcmZvcm0gYW55dGhpbmcKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGxpc3R0ZW1wbGF0ZSddKSkgewoJJHRlbXBsYXRlID0gJHBhcmFtc1snY2F0bGlzdHRlbXBsYXRlJ107Cn0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.preferences_update.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIFJlaW5kZXhpbmcgcmVxdWVzdGVkIG9mIHRoZSBwcm9kdWN0cyBpbiB0aGUgU2VhcmNoIE1vZHVsZQppZiAoaXNzZXQoJHBhcmFtc1snc2VhcmNocmVpbmRleCddKSkKewoJJHRoaXMtPlNlYXJjaFJlaW5kZXgoKTsKCSR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygncHJvZHVjdHNyZWluZGV4ZWQnKSk7CgkkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3Byb2R1Y3RzcmVpbmRleGVkJyk7CgkkcGFyYW1zWydhY3RpdmVfdGFiJ10gPSAnb3B0aW9ucyc7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgovLyBSZWJ1aWxkIHRoZSB0aHVtYm5haWxzCmlmIChpc3NldCgkcGFyYW1zWydyZWJ1aWxkcHJvZHVjdHRodW1ibmFpbHMnXSkpCnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0bmhlaWdodF9wcm9kdWN0JywgJHBhcmFtc1sndG5oZWlnaHRfcHJvZHVjdCddKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0bndpZHRoX3Byb2R1Y3QnLCAkcGFyYW1zWyd0bndpZHRoX3Byb2R1Y3QnXSk7CgkkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoJJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnKTsKCSR0aGlzLT5SZWJ1aWxkVGh1bWJuYWlscygkcGF0aCwgJ3Byb2R1Y3RzJyk7CgkkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3Byb2R1Y3R0aHVtYm5haWxzcmVidWlsZCcpOwoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ29wdGlvbnMnOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKLy8gSW4gb3RoZXIgY2FzZXMsIHRoZSBwcmVmZXJlbmNlcyBhcmUgc2F2ZWQKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluX25hbWUnLCAkcGFyYW1zWydhZG1pbl9uYW1lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9uYW1lJywgJHBhcmFtc1snc2hvcF9uYW1lJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJpY2VzaW5jbHZhdCcsIDApOwppZiAoaXNzZXQoJHBhcmFtc1sncHJpY2VzaW5jbHZhdCddKSkgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnLCAxKTsKfQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnd2VpZ2h0dW5pdG1lYXN1cmUnLCAkcGFyYW1zWyd3ZWlnaHR1bml0bWVhc3VyZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1jYXBpdGFsb25seScsIDApOwppZiAoaXNzZXQoJHBhcmFtc1snaXRlbWNhcGl0YWxvbmx5J10pKSB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgMSk7Cn0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93ZG91YmxlaXRlbScsIDApOwppZiAoaXNzZXQoJHBhcmFtc1snYWxsb3dkb3VibGVpdGVtJ10pKSB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dkb3VibGVpdGVtJywgMSk7Cn0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfc2t1JywgJHBhcmFtc1snZGVmYXVsdF9za3UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2N1cnJlbmN5JywgJHBhcmFtc1snZGVmYXVsdF9jdXJyZW5jeSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJywgJHBhcmFtc1snZGVmYXVsdF9zeW1ib2wnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfY2F0ZWdvcnknLCAkcGFyYW1zWydpbWFnZXBhdGhfY2F0ZWdvcnknXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcsICRwYXJhbXNbJ2ltYWdlcGF0aF9wcm9kdWN0J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgndG5oZWlnaHRfcHJvZHVjdCcsICRwYXJhbXNbJ3RuaGVpZ2h0X3Byb2R1Y3QnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0bndpZHRoX3Byb2R1Y3QnLCAkcGFyYW1zWyd0bndpZHRoX3Byb2R1Y3QnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgJHBhcmFtc1sncHJvZHVjdHBhZ2VsaW1pdCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfbWF4YXR0cmlidXRlcycsICRwYXJhbXNbJ2RlZmF1bHRfbWF4YXR0cmlidXRlcyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ludmVudG9yeXR5cGUnLCAkcGFyYW1zWydpbnZlbnRvcnl0eXBlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2FsZXNpbnZlbnR0aW1pbmcnLCAkcGFyYW1zWydzYWxlc2ludmVudHRpbWluZyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlY2ltYWxwb3NpdGlvbnNwcmljZScsICRwYXJhbXNbJ2RlY2ltYWxwb3NpdGlvbnNwcmljZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlY2ltYWxzZXBhcmF0b3JwcmljZScsICRwYXJhbXNbJ2RlY2ltYWxzZXBhcmF0b3JwcmljZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rob3VzYW5kc2VwYXJhdG9ycHJpY2UnLCAkcGFyYW1zWyd0aG91c2FuZHNlcGFyYXRvcnByaWNlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVjaW1hbHBvc2l0aW9uc3dlaWdodCcsICRwYXJhbXNbJ2RlY2ltYWxwb3NpdGlvbnN3ZWlnaHQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWNpbWFsc2VwYXJhdG9yd2VpZ2h0JywgJHBhcmFtc1snZGVjaW1hbHNlcGFyYXRvcndlaWdodCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Rob3VzYW5kc2VwYXJhdG9yd2VpZ2h0JywgJHBhcmFtc1sndGhvdXNhbmRzZXBhcmF0b3J3ZWlnaHQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5cXVpY2tzZWxlY3RvcicsIDApOwppZiAoaXNzZXQoJHBhcmFtc1snZGlzcGxheXF1aWNrc2VsZWN0b3InXSkpIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5cXVpY2tzZWxlY3RvcicsIDEpOwp9CgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ29wdGlvbnN1cGRhdGVkJykpOwokcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ29wdGlvbnN1cGRhdGVkJyk7CiRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdvcHRpb25zJzsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgSW52ZW50b3J5IE1hbmFnZW1lbnQgZmllbGRzCmdsb2JhbCAkQ01TX1ZFUlNJT047CmlmICh2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjEwLWJldGEwJywnPicpICYmCgl2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjExJywnPCcpKSB7CgkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwoJJENhcnRNUyA9ICRtb2RvcHMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJ0NhcnRNYWRlU2ltcGxlJyk7CgkkRFRJID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnRFRJbnZlbnRvcnknKTsKfQplbHNlIHsKCSRnQ21zID0gY21zbXMoKTsKCSRDYXJ0TVMgPSYgJGdDbXMtPm1vZHVsZXNbJ0NhcnRNYWRlU2ltcGxlJ11bJ29iamVjdCddOwoJJERUSSA9JiAkZ0Ntcy0+bW9kdWxlc1snRFRJbnZlbnRvcnknXVsnb2JqZWN0J107Cn0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKCSRkb3VibGVpdGVtID0gJHRoaXMtPnByb2R1Y3RzLT5DaGVja0RvdWJsZUl0ZW1OdW1iZXIoJHBhcmFtc1snaXRlbW51bWJlciddLCAtMSk7IAoJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dkb3VibGVpdGVtJywgMCkgJiYgJGRvdWJsZWl0ZW0gIT0gZmFsc2UpIHsKCQkkc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCAkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfZG91YmxlaXRlbW51bWJlcmZvdW5kJywgJGRvdWJsZWl0ZW0pKTsKCX0KCWVsc2UgewoJCS8vIFVzZXIgcHJlc3NlZCBjb250aW51ZSBzbyBzYXZlIHRoZSBwcm9kdWN0IGluZm9ybWF0aW9uIGFuZCBhZnRlciB0aGF0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBjYXRlZ29yeQoJCSR0aGlzLT5wcm9kdWN0cy0+Q3JlYXRlKCRwYXJhbXMpOwoJCSR0aGlzLT5wcm9kdWN0cy0+Q3JlYXRlQ2F0ZWdvcnlNYXAoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwgJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCQlpZiAoJERUSSkgewoJCQlkdGlfdXRpbHM6Omluc2VydF9pdGVtZXh0ZW5zaW9uKCRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSwgJHBhcmFtc1snY29zdF9wcmljZSddLCAKCQkJCSRwYXJhbXNbJ2l0ZW1fY2xhc3MnXSwgJHBhcmFtc1snYmFyY29kZSddKTsKCQl9CgkJCgkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CgkJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCX0KfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgokcHJvZHVjdCA9IGFycmF5KCk7CiRwcm9kdWN0WydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfYWRkJywgJHJldHVybmlkLCAncG9zdCcpOwokcHJvZHVjdFsnc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdjb250aW51ZScpKTsKJHByb2R1Y3RbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokcHJvZHVjdFsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCiRwcm9kdWN0WydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwoKJGNhdGVnb3J5ZHJvcGRvd24gPSAkdGhpcy0+Y2F0ZWdvcmllcy0+QnVpbGRMaXN0KCRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwgJycsIDApOwokcHJvZHVjdFsnY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfY2F0ZWdvcnlfaWQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdjYXRlZ29yeV9pZCcsICRjYXRlZ29yeWRyb3Bkb3duLCAtMSwgaW50dmFsKCRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkpCik7CgokcHJvZHVjdFsnbmFtZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9uYW1lJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICduYW1lJywgJHBhcmFtc1snbmFtZSddLCA0MCwgMjU1KQopOwokcHJvZHVjdFsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnZGVzY3JpcHRpb24nLCAncGFnZXNtYWxsdGV4dGFyZWEnLCAnJywgJycsICcnLCA0MCwgNDApCik7CiRwcm9kdWN0WydwcmljZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wcmljZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2UnLCAnJywgNDAsIDQwKQopOwokcHJvZHVjdFsnYWN0aXZlJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2FjdGl2ZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2FjdGl2ZScsIHRydWUsIHRydWUpCik7CiRwcm9kdWN0WydmZWF0dXJlZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9mZWF0dXJlZCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2ZlYXR1cmVkJywgdHJ1ZSkKKTsKJHByb2R1Y3RbJ25ldHdlaWdodCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9uZXR3ZWlnaHQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25ldHdlaWdodCcsICcnLCAxMCwgMjApLAoJJ3VuaXQnPT4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnd2VpZ2h0dW5pdG1lYXN1cmUnLCAnS2cnKQopOwovLyBQcmVwYXJlIGxpc3Qgb2YgcG9zc2libGUgVkFUIGNvZGVzIGFzIHNldCB1cCBpbiBDYXJ0IE1hZGUgU2ltcGxlCmlmKCAkQ2FydE1TICkgeyAKCSR2YXRjb2RlID0gJyc7CgkkbGlzdHZhdGNvZGVbJENhcnRNUy0+R2V0UHJlZmVyZW5jZSgndmF0MG5hbWUnLCAnJyldID0gJzAnOwoJJGxpc3R2YXRjb2RlWyRDYXJ0TVMtPkdldFByZWZlcmVuY2UoJ3ZhdDFuYW1lJywgJycpXSA9ICcxJzsKCSRsaXN0dmF0Y29kZVskQ2FydE1TLT5HZXRQcmVmZXJlbmNlKCd2YXQybmFtZScsICcnKV0gPSAnMic7CgkkbGlzdHZhdGNvZGVbJENhcnRNUy0+R2V0UHJlZmVyZW5jZSgndmF0M25hbWUnLCAnJyldID0gJzMnOwoJJGxpc3R2YXRjb2RlWyRDYXJ0TVMtPkdldFByZWZlcmVuY2UoJ3ZhdDRuYW1lJywgJycpXSA9ICc0JzsKCSRwcm9kdWN0Wyd2YXRjb2RlJ10gPSBhcnJheSgKCQknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF92YXRjb2RlJyksCgkJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oICRpZCwgJ3ZhdGNvZGUnLCAkbGlzdHZhdGNvZGUsIC0xLCAkdmF0Y29kZSkKCSk7Cn0KZWxzZSB7CgkkcHJvZHVjdFsndmF0Y29kZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfdmF0Y29kZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ZhdGNvZGUnLCAnJywgMSwgMSkKCSk7Cn0KCiRza3Vkcm9wZG93biA9ICR0aGlzLT5CdWlsZExpc3RTS1UoKTsKJHByb2R1Y3RbJ3NrdSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9za3UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdza3UnLCAkc2t1ZHJvcGRvd24sIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9za3UnLCAnJykpCik7CgokcHJvZHVjdFsnaXRlbW51bWJlciddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9pdGVtbnVtYmVyJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJycsIDMwLCAzMCkKKTsKCiRwcm9kdWN0Wydwb3NpdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wb3NpdGlvbicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncG9zaXRpb24nLCAnJywgMTAsIDEwKQopOwovLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHVzZSBkaWZmZXJlbnQgbGFiZWwKJGludmVudG9yeXR5cGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW52ZW50b3J5dHlwZScpOwppZiAoJGludmVudG9yeXR5cGUgPT0gJ3Byb2QnKSB7CgkkbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3F1YW50aXR5X29uc3RvY2snKTsKfQplbHNlIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzJyk7Cn0KJHByb2R1Y3RbJ21heGF0dHJpYnV0ZXMnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JGxhYmVsX3Byb2R1Y3RfbWF4YXR0cmlidXRlcywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ21heGF0dHJpYnV0ZXMnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9tYXhhdHRyaWJ1dGVzJywgMSksIDEwLCAxMCkKKTsKaWYgKCREVEkpIHsKCSRzbWFydHktPmFzc2lnbignRFRJYXZhaWxhYmxlJywgdHJ1ZSk7CgkkRFRJbnZlbnRvcnl2ZXJzaW9uID0gZHRpX3V0aWxzOjpnZXRfRFRJbnZlbnRvcnl2ZXJzaW9uKCk7Cgkkc21hcnR5LT5hc3NpZ24oJ0RUSW52ZW50b3J5dmVyc2lvbicsICREVEludmVudG9yeXZlcnNpb24pOwoJJGxhYmVsID0gZHRpX3V0aWxzOjpnZXRfZmllbGR0aXRsZSgndGl0bGVfY29zdF9wcmljZScpOwoJJHByb2R1Y3RbJ2Nvc3RfcHJpY2UnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiRsYWJlbCwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdjb3N0X3ByaWNlJywgJycsIDE1LCAxNSkKCSk7CgkkbGFiZWwgPSBkdGlfdXRpbHM6OmdldF9maWVsZHRpdGxlKCd0aXRsZV9iYXJjb2RlJyk7CgkkcHJvZHVjdFsnYmFyY29kZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JGxhYmVsLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2JhcmNvZGUnLCAnJywgMjUsIDI1KQoJKTsKCWlmICgkRFRJbnZlbnRvcnl2ZXJzaW9uICE9ICdmcmVlJykgewoJCSRsYWJlbCA9IGR0aV91dGlsczo6Z2V0X2ZpZWxkdGl0bGUoJ3RpdGxlX2l0ZW1fY2xhc3MnKTsKCQkkZGVmYXVsdF9pdGVtX2NsYXNzID0gZHRpX3V0aWxzOjpnZXRfZGVmYXVsdF9pdGVtX2NsYXNzKCk7CgkJJHByb2R1Y3RbJ2l0ZW1fY2xhc3MnXSA9IGFycmF5KAoJCQknbGFiZWwnPT4kbGFiZWwsCgkJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1fY2xhc3MnLCAkZGVmYXVsdF9pdGVtX2NsYXNzLCAzLCAzKQoJCSk7Cgl9Cn0KZWxzZSB7Cgkkc21hcnR5LT5hc3NpZ24oJ0RUSWF2YWlsYWJsZScsIGZhbHNlKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0JywgJHByb2R1Y3QpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3Byb2R1Y3RfYWRkLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_attributes.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBidXR0b24gYWRkIGF0dHJpYnV0ZSBpcyB1c2VkCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ2FkZGF0dHJpYnV0ZScpKSB7CgkkZXJyb3JmbmQgPSBmYWxzZTsKCSRkb3VibGVpdGVtID0gJHRoaXMtPnByb2R1Y3RzLT5DaGVja0RvdWJsZUl0ZW1OdW1iZXIoJHBhcmFtc1snaXRlbW51bWJlciddLCAtMSk7IAoJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dkb3VibGVpdGVtJywgMCkgJiYgJGRvdWJsZWl0ZW0gIT0gZmFsc2UpIHsKCQkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCWlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSB8fCAgJHBhcmFtc1snbmFtZSddID09ICcnKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ21lc3NhZ2Vfbm9hdHRyaWJ1dGVuYW1lZ2l2ZW4nKTsKCQkkZXJyb3JmbmQgPSB0cnVlOwoJfQoKCWlmICghJGVycm9yZm5kKSB7CgkJLy8gTm93IHRoYXQgYWxsIGluZm8gaXMga25vd24sIGluc2VydCBhIHJlY29yZCBpbiB0aGUgYXR0cmlidXRlcyBkYXRhYmFzZQoJCSR0aGlzLT5wcm9kdWN0cy0+Q3JlYXRlQXR0cmlidXRlKCRwYXJhbXMpOwoJCS8vIFByZXBhcmUgYSBtZXNzYWdlIHRvIGJlIHNob3duIG9uIHRvcCBvZiB0aGUgYXR0cmlidXRlcyBvdmVydmlldwoJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9hdHRyaWJ1dGVhZGRlZCcsJHBhcmFtc1snbmFtZSddKTsKCX0KfQplbHNlIHsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9ub2F0dHJpYnV0ZXRvc2F2ZScpOwp9Ci8vIFJlZGlyZWN0IGJhY2sgdG8gYXR0cmlidXRlcywgc28gd2UgY2FuIHNlZSB0aGUgcmVzdWx0CiRwYXJhbXMgPSBhcnJheSgncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgknYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnLAoJJ21lc3NhZ2UnID0+ICRwYXJhbXNbJ21lc3NhZ2UnXQopOwokdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwkKCgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICYmICRwYXJhbXNbJ2NhbmNlbCddID09ICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkgewoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAKCQknY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.product_attribute_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBpY29uIGRlbGV0ZSBhdHRyaWJ1dGUgaXMgdXNlZAoKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGVBdHRyaWJ1dGUoJHBhcmFtcyk7CiRwYXJhbXMgPSBhcnJheSgKCS8vIFByb2R1Y3QgaWQsIGFsd2F5cyBoYW5keSB0byBwYXNzLiBJbiB0aGlzIGNhc2UgbmVlZGVkIHRvIGdldCBhbGwgdGhlIGNvbm5lY3RlZCBpbmZvcm1hdGlvbgoJJ3Byb2R1Y3RfaWQnID0+ICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSwKCS8vIFBhc3MgdGhlIGN1cnJlbnQgY2F0ZWdvcnkgb3RoZXJ3aXNlIHVzZXIgd2lsbCBiZSBicm91Z2h0IHRvIHJvb3Qgb25jZSBjYW5jZWwgaXMgcHJlc3NlZAoJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCS8vIFByZXBhcmUgYSBtZXNzYWdlIHRvIGJlIHNob3duIG9uIHRvcCBvZiB0aGUgaW1hZ2VzIG92ZXJ2aWV3CgknbWVzc2FnZScgPT4gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2F0dHJpYnV0ZWRlbGV0ZWQnLCRwYXJhbXNbJ25hbWUnXSksCgkvLyBSZWRpcmVjdCBiYWNrIHRvIGltYWdlcywgc28gd2UgY2FuIHNlZSB0aGUgcmVzdWx0CgknYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnCQoJKTsKJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.product_attribute_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGFsbG93cyB0aGUgdXNlciB0byBjaGFuZ2UgYXR0cmlidXRlIGluZm9ybWF0aW9uCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgJiYgJHBhcmFtc1snY2FuY2VsJ10gPT0gJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSB7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwkKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnc3VibWl0JykpIHsKCSRlcnJvcmZuZCA9IGZhbHNlOwoJJGRvdWJsZWl0ZW0gPSAkdGhpcy0+cHJvZHVjdHMtPkNoZWNrRG91YmxlSXRlbU51bWJlcigkcGFyYW1zWydpdGVtbnVtYmVyJ10sICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKTsgCglpZiAoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCAwKSAmJiAkZG91YmxlaXRlbSAhPSBmYWxzZSkgewoJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCWlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSB8fCAgJHBhcmFtc1snbmFtZSddID09ICcnKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX25vYXR0cmlidXRlbmFtZWdpdmVuJyk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCglpZiAoISRlcnJvcmZuZCkgewoJCSR0aGlzLT5wcm9kdWN0cy0+VXBkYXRlQXR0cmlidXRlKCRwYXJhbXMpOwoJfQoJJHBhcmFtcyBbJ2FjdGl2ZV90YWInXSA9ICdhdHRyaWJ1dGVzJzsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQp9CmVsc2UgewoJLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gZm9yIHBhc3NlZCBhdHRyaWJ1dGUgaWQuIEFycmF5IHdpbGwgaG9sZCBpbmZvcm1hdGlvbiBhZnRlcndhcmRzCglpZiAoaXNzZXQoJHBhcmFtc1snYXR0cmlidXRlX2lkJ10pKSB7CgkJJHByb2R1Y3RfYXR0cmlidXRlX2RhdGEgPSAkdGhpcy0+cHJvZHVjdHMtPkdldEF0dHJpYnV0ZSgkcGFyYW1zWydhdHRyaWJ1dGVfaWQnXSk7Cgl9Cn0KLy8gUHJlcGFyZSBuZXh0IHNjcmVlbiBpbmZvcm1hdGlvbgokYXR0cmlidXRlID0gYXJyYXkoKTsKJGF0dHJpYnV0ZVsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICcnKTsKJGF0dHJpYnV0ZVsnc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSk7CiRhdHRyaWJ1dGVbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokYXR0cmlidXRlWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGF0dHJpYnV0ZVsncHJvZG5hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9wcm9kdWN0X25hbWUnKSwKCSdvdXRwdXQnPT4kcGFyYW1zWydwcm9kbmFtZSddCik7CiRhdHRyaWJ1dGVbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyksCgknaW5wdXQnID0+ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsnbmFtZSddLCA0MCwgNDApCik7CiRhdHRyaWJ1dGVbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydkZXNjcmlwdGlvbiddLCAnZGVzY3JpcHRpb24nLCdwYWdlc21hbGx0ZXh0YXJlYScsJycsJycsJycsNDAsNDApCik7CiRhdHRyaWJ1dGVbJ21pbmFsbG93ZWQnXSA9IGFycmF5KAoJJ2xhYmVsJyA9PiAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21pbmFsbG93ZWQnKSwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbWluYWxsb3dlZCcsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydtaW5hbGxvd2VkJ10sIDUsIDUpCik7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CmlmICgkaW52ZW50b3J5dHlwZSA9PSAnYXR0cicpIHsKCSRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCA9ICR0aGlzLT5MYW5nKCdsYWJlbF9xdWFudGl0eV9vbnN0b2NrJyk7Cn0KZWxzZSB7CgkkbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQgPSAkdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQnKTsKfQokYXR0cmlidXRlWydtYXhhbGxvd2VkJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhbGxvd2VkJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ21heGFsbG93ZWQnXSwgNSwgNSkKKTsKCi8vIFByZXBhcmUgdGhlIHZhcmlvdXMgcHJpY2luZyBhZGp1c3RtZW50IHR5cGVzCiRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0dHlwZSddID0gYXJyYXkoCgknbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3R0eXBlJyksCgknaW5wdXQnID0+ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3ByaWNlYWRqdXN0dHlwZScsICR0aGlzLT5CdWlsZExpc3RPZkFkanVzdFR5cGVzKCksIC0xLCAKCQkkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsncHJpY2VhZGp1c3R0eXBlJ10pCik7CiRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0bWVudCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX3ByaWNlYWRqdXN0bWVudCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncHJpY2VhZGp1c3RtZW50JywgbnVtYmVyX2Zvcm1hdCgkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsncHJpY2VhZGp1c3RtZW50J10sIDIsICIuIiwgIiIpLCAxMCwgNDApCik7CiRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGlzcGxheW9ubHknKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdkaXNwbGF5b25seScsIDEsICRwcm9kdWN0X2F0dHJpYnV0ZV9kYXRhWydkaXNwbGF5b25seSddKQopOwokYXR0cmlidXRlWydpdGVtbnVtYmVyJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfaXRlbW51bWJlcicpLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ2l0ZW1udW1iZXInXSwgMzAsIDMwKQopOwokYXR0cmlidXRlWydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkcHJvZHVjdF9hdHRyaWJ1dGVfZGF0YVsnYWN0aXZlJ10pCik7CgovLyBTdXBwb3J0aW5nIGZpZWxkcwokYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2F0dHJpYnV0ZV9pZCcsICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKQopOwokYXR0cmlidXRlWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokYXR0cmlidXRlWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHByb2R1Y3RfYXR0cmlidXRlX2RhdGFbJ3Byb2R1Y3RfaWQnXSkKKTsKCi8vIEJ1aWxkIHRoZSB0ZW1wbGF0ZSB0byBzaG93CiRzbWFydHktPmFzc2lnbignYXR0cmlidXRlJywgJGF0dHJpYnV0ZSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9hdHRyaWJ1dGVfZWRpdC50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGRlbGV0ZV9wcm9kdWN0ID0gJHRoaXMtPnByb2R1Y3RzLT5HZXQoJHBhcmFtc1snY3VycmVudF9wcm9kdWN0X2lkJ10pOyAKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGUoJGRlbGV0ZV9wcm9kdWN0KTsKJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.product_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgSW52ZW50b3J5IE1hbmFnZW1lbnQgZmllbGRzCmdsb2JhbCAkQ01TX1ZFUlNJT047CmlmICh2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjEwLWJldGEwJywnPicpICYmCgl2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjExJywnPCcpKSB7CgkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwoJJENhcnRNUyA9ICRtb2RvcHMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJ0NhcnRNYWRlU2ltcGxlJyk7CgkkRFRJID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnRFRJbnZlbnRvcnknKTsKfQplbHNlIHsKCSRnQ21zID0gY21zbXMoKTsKCSRDYXJ0TVMgPSYgJGdDbXMtPm1vZHVsZXNbJ0NhcnRNYWRlU2ltcGxlJ11bJ29iamVjdCddOwoJJERUSSA9JiAkZ0Ntcy0+bW9kdWxlc1snRFRJbnZlbnRvcnknXVsnb2JqZWN0J107Cn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgJiYgJHBhcmFtc1snY2FuY2VsJ10gPT0gJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKTsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygndXBkYXRlJykpIHsKCSRlcnJvcmZuZCA9IGZhbHNlOwoJJGRvdWJsZWl0ZW0gPSAkdGhpcy0+cHJvZHVjdHMtPkNoZWNrRG91YmxlSXRlbU51bWJlcigkcGFyYW1zWydpdGVtbnVtYmVyJ10sICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSk7CglpZiAoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2RvdWJsZWl0ZW0nLCAwKSAmJiAkZG91YmxlaXRlbSAhPSBmYWxzZSkgewoJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nICgnbWVzc2FnZV9kb3VibGVpdGVtbnVtYmVyZm91bmQnLCAkZG91YmxlaXRlbSk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCWlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSB8fCAgJHBhcmFtc1snbmFtZSddID09ICcnKSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX25vYXR0cmlidXRlbmFtZWdpdmVuJyk7CgkJJGVycm9yZm5kID0gdHJ1ZTsKCX0KCglpZiAoISRlcnJvcmZuZCkgewoJCSR0aGlzLT5wcm9kdWN0cy0+VXBkYXRlKCRwYXJhbXMpOwovLyAJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9PidjYXRlZ29yaWVzJywgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwovLyAJCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkJaWYgKCREVEkpIHsKCQkJZHRpX3V0aWxzOjp1cGRhdGVfaXRlbWV4dGVuc2lvbigtMSwgJHBhcmFtc1snY29zdF9wcmljZSddLCAKCQkJCSRwYXJhbXNbJ2l0ZW1fY2xhc3MnXSwgJHBhcmFtc1snYmFyY29kZSddLCAkcGFyYW1zWydwcm9kdWN0X2lkJ10pOwoJCX0KCX0KCSRwYXJhbXNbJ3N1Ym1pdCddID0gTlVMTDsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQp9CmVsc2UgewppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICRwYXJhbXNbJ3N1Ym1pdCddID09ICR0aGlzLT5MYW5nKCdhZGRpbWFnZScpKSB7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfaW1hZ2VzJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkYXR0cmlidXRlJykpIHsKCSR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9hdHRyaWJ1dGVzJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cn0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSkgewoJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVDYXRlZ29yeU1hcCgkcGFyYW1zWydjYXRlZ29yeV9pZCddLCAkcGFyYW1zWydwcm9kdWN0X2lkJ10pOwoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2NhdGVnb3JpZXMnOwp9CmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J10gPT0gJHRoaXMtPkxhbmcoJ2RlbGV0ZWNhdGVnb3J5JykpIHsKCSR0aGlzLT5wcm9kdWN0cy0+RGVsZXRlQ2F0ZWdvcnlNYXAoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwgJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCSRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdjYXRlZ29yaWVzJzsKfQovLyBBbGwgYWN0aW9ucyBoYW5kbGVkLCBub3cgZ2V0IGFsbCB0aGUgaW5mb3JtYXRpb24gbGlua2VkIHRvIHRoZSBwcm9kdWN0CmlmIChpc3NldCgkcGFyYW1zWydwcm9kdWN0X2lkJ10pKSB7CgkkcHJvZHVjdF9kYXRhID0gJHRoaXMtPnByb2R1Y3RzLT5HZXQoJHBhcmFtc1sncHJvZHVjdF9pZCddKTsKfQp9CiRhY3RpdmVfdGFiID0gJ3Byb2R1Y3QnOwppZiggaXNzZXQoICRwYXJhbXNbJ2FjdGl2ZV90YWInXSApICkgewoJJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0KCi8qKgogKiBQcmVwYXJlIFByb2R1Y3QgVGFiCiAqLwokcHJvZHVjdCA9IGFycmF5KCk7CiRwcm9kdWN0WydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCk7CiRwcm9kdWN0WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3VwZGF0ZScpKTsKJHByb2R1Y3RbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokcHJvZHVjdFsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KJHByb2R1Y3RbJ21lc3NhZ2UnXSA9ICRwYXJhbXNbJ21lc3NhZ2UnXTsKJHByb2R1Y3RbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRwcm9kdWN0Wydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwoKJHByb2R1Y3RbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfbmFtZScpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnbmFtZScsICRwcm9kdWN0X2RhdGFbJ25hbWUnXSwgNDAsIDI1NSkKKTsKJHByb2R1Y3RbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkcHJvZHVjdF9kYXRhWydkZXNjcmlwdGlvbiddLCAncGRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDQwKQopOwokcHJvZHVjdFsncHJpY2UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfcHJpY2UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ByaWNlJywgJHRoaXMtPkZvcm1hdFByaWNlKCRwcm9kdWN0X2RhdGFbJ3ByaWNlJ10pLCA0MCwgNDApCik7CiRwcm9kdWN0WydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfYWN0aXZlJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnYWN0aXZlJywgMSwgJHByb2R1Y3RfZGF0YVsnYWN0aXZlJ10pCik7CiRwcm9kdWN0WydmZWF0dXJlZCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9mZWF0dXJlZCcpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2ZlYXR1cmVkJywgMSwgJHByb2R1Y3RfZGF0YVsnZmVhdHVyZWQnXSkKKTsKJHByb2R1Y3RbJ25ldHdlaWdodCddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9uZXR3ZWlnaHQnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25ldHdlaWdodCcsICR0aGlzLT5Gb3JtYXRXZWlnaHQoJHByb2R1Y3RfZGF0YVsnbmV0d2VpZ2h0J10pLDEwLCAyMCksCgkndW5pdCc9PiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpCik7Ci8vIFByZXBhcmUgbGlzdCBvZiBwb3NzaWJsZSBWQVQgY29kZXMgYXMgc2V0IHVwIGluIENhcnQgTWFkZSBTaW1wbGUKaWYoICRDYXJ0TVMgKSB7IAoJJHZhdGNvZGUgPSAnJzsKCSRsaXN0dmF0Y29kZVskQ2FydE1TLT5HZXRQcmVmZXJlbmNlKCd2YXQwbmFtZScsICcnKV0gPSAnMCc7CgkkbGlzdHZhdGNvZGVbJENhcnRNUy0+R2V0UHJlZmVyZW5jZSgndmF0MW5hbWUnLCAnJyldID0gJzEnOwoJJGxpc3R2YXRjb2RlWyRDYXJ0TVMtPkdldFByZWZlcmVuY2UoJ3ZhdDJuYW1lJywgJycpXSA9ICcyJzsKCSRsaXN0dmF0Y29kZVskQ2FydE1TLT5HZXRQcmVmZXJlbmNlKCd2YXQzbmFtZScsICcnKV0gPSAnMyc7CgkkbGlzdHZhdGNvZGVbJENhcnRNUy0+R2V0UHJlZmVyZW5jZSgndmF0NG5hbWUnLCAnJyldID0gJzQnOwoJJHByb2R1Y3RbJ3ZhdGNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X3ZhdGNvZGUnKSwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAndmF0Y29kZScsICRsaXN0dmF0Y29kZSwgJHByb2R1Y3RfZGF0YVsndmF0Y29kZSddLCAkdmF0Y29kZSkKCSk7Cn0KZWxzZSB7CgkkcHJvZHVjdFsndmF0Y29kZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3Byb2R1Y3RfdmF0Y29kZScpLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ZhdGNvZGUnLCAnJywgMSwgMSkKCSk7Cn0KCiRza3Vkcm9wZG93biA9ICR0aGlzLT5CdWlsZExpc3RTS1UoKTsKJHByb2R1Y3RbJ3NrdSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9za3UnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAkaWQsICdza3UnLCAkc2t1ZHJvcGRvd24sIC0xLCAkcHJvZHVjdF9kYXRhWydza3UnXSkKKTsKCiRwcm9kdWN0WydpdGVtbnVtYmVyJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9wcm9kdWN0X2l0ZW1udW1iZXInKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1udW1iZXInLCAkcHJvZHVjdF9kYXRhWydpdGVtbnVtYmVyJ10sIDMwLCAzMCkKKTsKCiRwcm9kdWN0Wydwb3NpdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9wb3NpdGlvbicpLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAncG9zaXRpb24nLCAkcHJvZHVjdF9kYXRhWydwb3NpdGlvbiddLCAxMCwgMTApCik7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAokaW52ZW50b3J5dHlwZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbnZlbnRvcnl0eXBlJyk7CmlmICgkaW52ZW50b3J5dHlwZSA9PSAncHJvZCcpIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcXVhbnRpdHlfb25zdG9jaycpOwoJJHRvb2x0aXBfbWF4YXR0cmlidXRlcyA9ICR0aGlzLT5MYW5nKCd0b29sdGlwX3F1YW50aXR5X29uc3RvY2snKTsKfQplbHNlIHsKCSRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMgPSAkdGhpcy0+TGFuZygnbGFiZWxfcHJvZHVjdF9tYXhhdHRyaWJ1dGVzJyk7CgkkdG9vbHRpcF9tYXhhdHRyaWJ1dGVzID0gJHRoaXMtPkxhbmcoJ3Rvb2x0aXBfbWF4YXR0cmlidXRlcycpOwp9CiRwcm9kdWN0WydtYXhhdHRyaWJ1dGVzJ10gPSBhcnJheSgKCSdsYWJlbCc9PiRsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhdHRyaWJ1dGVzJywgJHByb2R1Y3RfZGF0YVsnbWF4YXR0cmlidXRlcyddLCAxMCwgMTAsIAoJCSd0aXRsZT0iJy4kdG9vbHRpcF9tYXhhdHRyaWJ1dGVzLiciJykKKTsKaWYgKCREVEkpIHsKCSRzbWFydHktPmFzc2lnbignRFRJYXZhaWxhYmxlJywgdHJ1ZSk7CgkkRFRJbnZlbnRvcnl2ZXJzaW9uID0gZHRpX3V0aWxzOjpnZXRfRFRJbnZlbnRvcnl2ZXJzaW9uKCk7Cgkkc21hcnR5LT5hc3NpZ24oJ0RUSW52ZW50b3J5dmVyc2lvbicsICREVEludmVudG9yeXZlcnNpb24pOwoJJGl0ZW1fZXh0X2luZm8gPSBhcnJheSgpOwoJJGl0ZW1fZXh0X2luZm8gPSBkdGlfdXRpbHM6OmdldF9pdGVtZXh0ZW5zaW9uKCRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSk7CgkkbGFiZWwgPSBkdGlfdXRpbHM6OmdldF9maWVsZHRpdGxlKCd0aXRsZV9jb3N0X3ByaWNlJyk7CgkkcHJvZHVjdFsnY29zdF9wcmljZSddID0gYXJyYXkoCgkJJ2xhYmVsJz0+JGxhYmVsLAoJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2Nvc3RfcHJpY2UnLCAkaXRlbV9leHRfaW5mb1snY29zdF9wcmljZSddLCAxNSwgMTUpCgkpOwoJJGxhYmVsID0gZHRpX3V0aWxzOjpnZXRfZmllbGR0aXRsZSgndGl0bGVfYmFyY29kZScpOwoJJHByb2R1Y3RbJ2JhcmNvZGUnXSA9IGFycmF5KAoJCSdsYWJlbCc9PiRsYWJlbCwKCQknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdiYXJjb2RlJywgJGl0ZW1fZXh0X2luZm9bJ2JhcmNvZGUnXSwgMjUsIDI1KQoJKTsKCWlmICgkRFRJbnZlbnRvcnl2ZXJzaW9uICE9ICdmcmVlJykgewoJCSRsYWJlbCA9IGR0aV91dGlsczo6Z2V0X2ZpZWxkdGl0bGUoJ3RpdGxlX2l0ZW1fY2xhc3MnKTsKCQkkZGVmYXVsdF9pdGVtX2NsYXNzID0gZHRpX3V0aWxzOjpnZXRfZGVmYXVsdF9pdGVtX2NsYXNzKCk7CgkJJHByb2R1Y3RbJ2l0ZW1fY2xhc3MnXSA9IGFycmF5KAoJCQknbGFiZWwnPT4kbGFiZWwsCgkJCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2l0ZW1fY2xhc3MnLCAkaXRlbV9leHRfaW5mb1snaXRlbV9jbGFzcyddLCAzLCAzKQoJCSk7Cgl9Cn0KZWxzZSB7Cgkkc21hcnR5LT5hc3NpZ24oJ0RUSWF2YWlsYWJsZScsIGZhbHNlKTsKfQoKLyoqCiAqIFByZXBhcmUgQ2F0ZWdvcmllcyBUYWIKICovCiRjYXRlZ29yaWVzWydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokY2F0ZWdvcmllc1snc3VibWl0J10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdkb25lJykpOwokY2F0ZWdvcmllc1snY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRjYXRlZ29yaWVzWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGNhdGVnb3JpZXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRjYXRlZ29yaWVzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwoKJGNhdGVnb3J5X2xpc3QgPSBhcnJheSgpOwpmb3JlYWNoICgkcHJvZHVjdF9kYXRhWydjYXRlZ29yaWVzJ10gYXMgJGNhdGVnb3J5KSB7CglpZiAoJGNhdGVnb3J5WyduYW1lJ10gPT0gJycpIHsKCQkkY2F0ZWdvcnlbJ25hbWUnXSA9ICR0aGlzLT5MYW5nKCdyb290Jyk7Cgl9IGVsc2UgewoJCSRjYXRlZ29yeVsnbmFtZSddID0gJGNhdGVnb3J5WyduYW1lJ107Cgl9CgkkY2F0ZWdvcnlbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsIAoJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCWFycmF5ICgnY2F0ZWdvcnlfaWQnID0+ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSwgJ3Byb2R1Y3RfaWQnPT4kcHJvZHVjdF9kYXRhWydwcm9kdWN0X2lkJ10sICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLCAnc3VibWl0Jz0+JHRoaXMtPkxhbmcoJ2RlbGV0ZWNhdGVnb3J5JykpLCAKCQkkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfYXJleW91c3VyZXByb2RjYXQnLCAkcHJvZHVjdF9kYXRhWyduYW1lJ10sICRjYXRlZ29yeVsnbmFtZSddKSk7CgkkY2F0ZWdvcnlfbGlzdFtdID0gJGNhdGVnb3J5Owp9CiRjYXRlZ29yaWVzWydsaXN0J10gPSAkY2F0ZWdvcnlfbGlzdDsKCiRjYXRlZ29yaWVzWydjYXRlZ29yaWVzJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpLAoJJ3N1Ym1pdCc9PiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JykpLAoJJ2xpc3QnPT4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93biggJGlkLCAnY2F0ZWdvcnlfaWQnLCAkdGhpcy0+Y2F0ZWdvcmllcy0+QnVpbGRUb3RhbExpc3QoKSwgLTEsICcnKQopOwovKioKICogUHJlcGFyZSBBdHRyaWJ1dGVzIFRhYgogKi8KJGF0dHJpYnV0ZXNbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJyk7CiRhdHRyaWJ1dGVzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGF0dHJpYnV0ZScpKTsKJGF0dHJpYnV0ZXNbJ2NhbmNlbCddID0gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpOwokYXR0cmlidXRlc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KaWYgKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpIHsKCSRhdHRyaWJ1dGVzWydtZXNzYWdlJ10gPSAkcGFyYW1zWydtZXNzYWdlJ107Cn0KLy8gUHJlcGFyZSBuYW1lIG9mIHByb2R1Y3Qgc28gdGhhdCBjYW4gYmUgc2hvd24gYWJvdmUgaW1hZ2VzLiBJcyBlYXN5IGZvciB1c2VyIHRvIHNlZSBmb3Igd2hpY2ggcHJvZHVjdCBvbmUgaXMgYnVzeQokYXR0cmlidXRlc1sncHJvZG5hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZXNfcHJvZHVjdF9uYW1lJyksCgknb3V0cHV0Jz0+JHByb2R1Y3RfZGF0YVsnbmFtZSddIC4gJyAnIC4KCQkkdGhpcy0+TGFuZygnYmFzZXByb2R1Y3RwcmljZScsICR0aGlzLT5Gb3JtYXRQcmljZSgkcHJvZHVjdF9kYXRhWydwcmljZSddKSApCik7CiRhdHRyaWJ1dGVzWyduYW1lJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ25hbWUnLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWyduYW1lJ10sIDQwLCA0MCkKKTsKJGF0dHJpYnV0ZXNbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnYWRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDEwKQopOwovLyBQcmVwYXJlIHNvbWUgZGVmYXVsdCB2YWx1ZXMgZm9yIGEgbmV3IGF0dHJpYnV0ZQppZiAoIWlzc2V0KCRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ2F0dHJpYnV0ZV9pZCddKSkgewoJJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWluYWxsb3dlZCddID0gJzAnOwoJJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnYWN0aXZlJ10gPSB0cnVlOwp9IAokYXR0cmlidXRlc1snbWluYWxsb3dlZCddID0gYXJyYXkoCgknbGFiZWwnID0+ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfbWluYWxsb3dlZCcpLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtaW5hbGxvd2VkJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWluYWxsb3dlZCddLCA1LCA1KQopOwovLyBDaGVjayBpZiBpbnZlbnRvcnkgaW4gcGxhY2UuIElmIHNvIHVzZSBkaWZmZXJlbnQgbGFiZWwKaWYgKCRpbnZlbnRvcnl0eXBlID09ICdhdHRyJykgewoJJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkID0gJHRoaXMtPkxhbmcoJ2xhYmVsX3F1YW50aXR5X29uc3RvY2snKTsKfQplbHNlIHsKCSRsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCA9ICR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfbWF4YWxsb3dlZCcpOwp9CiRhdHRyaWJ1dGVzWydtYXhhbGxvd2VkJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJGxhYmVsX2F0dHJpYnV0ZV9tYXhhbGxvd2VkLAoJJ2lucHV0JyA9PiAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdtYXhhbGxvd2VkJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnbWF4YWxsb3dlZCddLCA1LCA1KQopOwovLyBQcmVwYXJlIHRoZSB2YXJpb3VzIHByaWNpbmcgYWRqdXN0bWVudCB0eXBlcwokYXR0cmlidXRlc1sncHJpY2VhZGp1c3R0eXBlJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9wcmljZWFkanVzdHR5cGUnKSwKCSdpbnB1dCcgPT4gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncHJpY2VhZGp1c3R0eXBlJywgJHRoaXMtPkJ1aWxkTGlzdE9mQWRqdXN0VHlwZXMoKSwgLTEsIAoJCSRwcm9kdWN0WydhdHRyaWJ1dGVzJ11bJ3ByaWNlYWRqdXN0dHlwZSddKQopOwokYXR0cmlidXRlc1sncHJpY2VhZGp1c3RtZW50J10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3RtZW50JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdwcmljZWFkanVzdG1lbnQnLCAkdGhpcy0+Rm9ybWF0UHJpY2UoJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsncHJpY2VhZGp1c3RtZW50J10pLCAxMCwgNDApCik7CiRhdHRyaWJ1dGVzWydkaXNwbGF5b25seSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfYXR0cmlidXRlX2Rpc3BsYXlvbmx5JyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAnZGlzcGxheW9ubHknLCAxLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWydkaXNwbGF5b25seSddKQopOwokYXR0cmlidXRlc1snaXRlbW51bWJlciddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9pdGVtbnVtYmVyJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpdGVtbnVtYmVyJywgJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVsnaXRlbW51bWJlciddLCAzMCwgMzApCik7CiRhdHRyaWJ1dGVzWydhY3RpdmUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2F0dHJpYnV0ZV9hY3RpdmUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdhY3RpdmUnLCAxLCAkcHJvZHVjdFsnYXR0cmlidXRlcyddWydhY3RpdmUnXSkKKTsKJGF0dHJpYnV0ZXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnLCAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pCik7CiRhdHRyaWJ1dGVzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwovLyBCdWlsZCBsaXN0IG9mIGF2YWlsYWJsZSBhdHRyaWJ1dGVzCiRhdHRyaWJ1dGVzWyduYW1lY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9uYW1lJyk7CiRhdHRyaWJ1dGVzWydkZXNjcmlwdGlvbmNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfZGVzY3JpcHRpb24nKTsKJGF0dHJpYnV0ZXNbJ2FkanVzdG1lbnRjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2FkanVzdG1lbnQnKTsKJGF0dHJpYnV0ZXNbJ3ByaWNlY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9wcmljZScpOwokYXR0cmlidXRlc1snZGlzcGxheWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9hdHRyaWJ1dGVfZGlzcGxheScpOwokYXR0cmlidXRlc1snYWN0aXZlY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnYWN0aXZlJyk7CiRhdHRyaWJ1dGVzWydtaW5hbGxvd2VkY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9taW5hbGxvd2VkJyk7Ci8vIENoZWNrIGlmIGludmVudG9yeSBpbiBwbGFjZS4gSWYgc28gdXNlIGRpZmZlcmVudCBsYWJlbAppZiAoJGludmVudG9yeXR5cGUgPT0gJ2F0dHInKSB7CgkkYXR0cmlidXRlc1snbWF4YWxsb3dlZGNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2xhYmVsX29uc3RvY2snKTsKfQplbHNlIHsKCSRhdHRyaWJ1dGVzWydtYXhhbGxvd2VkY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2F0dHJpYnV0ZV9tYXhhbGxvd2VkJyk7Cn0KJGF0dHJpYnV0ZXNbJ2l0ZW1udW1iZXJjb2x1bW4nXSA9ICR0aGlzLT5MYW5nKCdjb2x1bW5fYXR0cmlidXRlX2l0ZW1udW1iZXInKTsKJGF0dHJpYnV0ZXNbJ25vX2F0dHJpYnV0ZXNfYXZhaWxhYmxlJ10gPSAkdGhpcy0+TGFuZygnbm9fYXR0cmlidXRlc19hdmFpbGFibGUnKTsKJGRlc2NsZW5ndGggPSA4MDsKJHByb2R1Y3RfYXR0cmlidXRlX2xpc3QgPSBhcnJheSgpOwovLyBDaGVjayBpZiB0aGVyZSBhcmUgYW55IGF0dHJpYnV0ZXMgZm9yIHRoZSBjdXJyZW50IHByb2R1Y3QuIElmIG5vdCBjaGVja2VkLCB0aGUgZm9yZWFjaCBydW5zIGludG8gYW4gZXJyb3IKJGF0dHJpYnV0ZXNbJ2l0ZW1jb3VudCddID0gY291bnQoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddKTsKaWYgKCRhdHRyaWJ1dGVzWydpdGVtY291bnQnXSA+IDApIHsKZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnYXR0cmlidXRlcyddIGFzICRhdHRyaWJ1dGUpIHsKCSRhdHRyaWJ1dGVuYW1lID0gJGF0dHJpYnV0ZVsnbmFtZSddOwoJJGF0dHJpYnV0ZVsnbmFtZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3Byb2R1Y3RfYXR0cmlidXRlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkYXR0cmlidXRlbmFtZSwgCgkJCWFycmF5ICgnY3VycmVudF9hdHRyaWJ1dGVfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfYXR0cmlidXRlX2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ3Byb2RuYW1lJyA9PiAkcHJvZHVjdF9kYXRhWyduYW1lJ10sCgkJCQknYXR0cmlidXRlX2lkJyA9PiAkYXR0cmlidXRlWydhdHRyaWJ1dGVfaWQnXSkpOwoJaWYgKHN0cmxlbigkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddKSA+ICRkZXNjbGVuZ3RoKSB7CgkJJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXSA9IHN1YnN0cigkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddLCAwLCAkZGVzY2xlbmd0aCkuJy4uLic7Cgl9CgllbHNlIHsKCQkkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddID0gJGF0dHJpYnV0ZVsnZGVzY3JpcHRpb24nXTsKCX0KCWlmICgkYXR0cmlidXRlWydkaXNwbGF5b25seSddKSB7CgkJJGF0dHJpYnV0ZVsnYWRqdXN0bWVudCddID0gJy0tLSc7CgkJJGF0dHJpYnV0ZVsncHJpY2UnXSA9ICctLS0nOwoJCSRhdHRyaWJ1dGVbJ21pbmFsbG93ZWQnXSA9ICctLS0nOwoJCSRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSA9ICctLS0nOwoJfQoJZWxzZSB7CgkJc3dpdGNoICgkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSkgewoJCQljYXNlICdQJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcrICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdNJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICctICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdUJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcqICcgLiAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXTsKCQkJCWJyZWFrOwoJCQljYXNlICdWJzoKCQkJCSRhdHRyaWJ1dGVbJ2FkanVzdG1lbnQnXSA9ICcnOwoJCQkJYnJlYWs7CgkJfQoJCSRhdHRyaWJ1dGVbJ3ByaWNlJ10gPSAkdGhpcy0+Rm9ybWF0UHJpY2UoJHRoaXMtPkNhbGN1bGF0ZUF0dHJpYnV0ZVByaWNlKCRwcm9kdWN0X2RhdGFbJ3ByaWNlJ10sCgkJCSRhdHRyaWJ1dGVbJ3ByaWNlYWRqdXN0dHlwZSddLCAkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXSkpOwoJfQoJJGF0dHJpYnV0ZVsnbGlua19kaXNwbGF5J10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hzdGF0dXMnLCAkcmV0dXJuaWQsIAoJCSRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10gPT0gMCA/ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9ub2NhbGN1bGF0aW9uJyksCgkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfY2FsY3VsYXRpb24nKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCWFycmF5KCd0YWJsZSc9PidBdHRyaWJ1dGVzRGlzcGxheScsJ2Rpc3BsYXlvbmx5Jz0+JGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSwgJ2F0dHJpYnV0ZV9pZCc9PiRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLAoJCSdwcm9kdWN0X2lkJz0+JHBhcmFtc1sncHJvZHVjdF9pZCddKSk7CgkkYXR0cmlidXRlWydsaW5rX2VuYWJsZSddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoc3RhdHVzJywgJHJldHVybmlkLCAKCQkkYXR0cmlidXRlWydhY3RpdmUnXSA9PSAxID8gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2luYWN0aXZlJyksCgkJJycsJycsJ3N5c3RlbWljb24nKSA6ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfYWN0aXZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQlhcnJheSgndGFibGUnPT4nQXR0cmlidXRlcycsJ2FjdGl2ZSc9PiRhdHRyaWJ1dGVbJ2FjdGl2ZSddLCAnYXR0cmlidXRlX2lkJz0+JGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10sCgkJJ3Byb2R1Y3RfaWQnPT4kcGFyYW1zWydwcm9kdWN0X2lkJ10pKTsKCSRhdHRyaWJ1dGVbJ2xpbmtfZWRpdCddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3Byb2R1Y3RfYXR0cmlidXRlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIAoJCQlhcnJheSAoJ2N1cnJlbnRfYXR0cmlidXRlX2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2F0dHJpYnV0ZV9pZCddLAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnID0+ICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSwKCQkJCSdwcm9kbmFtZScgPT4gJHByb2R1Y3RfZGF0YVsnbmFtZSddLAoJCQkJJ2F0dHJpYnV0ZV9pZCcgPT4gJGF0dHJpYnV0ZVsnYXR0cmlidXRlX2lkJ10pKTsKCSRhdHRyaWJ1dGVbJ2xpbmtfZGVsZXRlJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdwcm9kdWN0X2F0dHJpYnV0ZV9kZWxldGUnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygndGV4dF9kZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdhdHRyaWJ1dGVfaWQnID0+ICRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddLAoJCQkJJ3Byb2R1Y3RfaWQnID0+ICRhdHRyaWJ1dGVbJ3Byb2R1Y3RfaWQnXSwKCQkJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJCQknbmFtZScgPT4gJGF0dHJpYnV0ZW5hbWUpLCAKCQkJCSR0aGlzLT5MYW5nICgnbWVzc2FnZV9hcmV5b3VzdXJlYXR0cmlidXRlJywkYXR0cmlidXRlbmFtZSkpOwoJJHByb2R1Y3RfYXR0cmlidXRlc19saXN0W10gPSAkYXR0cmlidXRlOwp9CiRhdHRyaWJ1dGVzWydsaXN0J10gPSAkcHJvZHVjdF9hdHRyaWJ1dGVzX2xpc3Q7Cn0KLyoqCiAqIFByZXBhcmUgSW1hZ2VzIFRhYgogKi8KJGltYWdlc1snc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdwcm9kdWN0X2ltYWdlcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOwokaW1hZ2VzWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2FkZGltYWdlJykpOwokaW1hZ2VzWydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJGltYWdlc1snZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCi8vIE1lc3NhZ2VzIGNvbWUgZnJvbSBkZWxldGlvbiAob3Igb3RoZXIgcGxhY2VzKS4gU28gc2hvdyBpdC4KJGltYWdlc1snbWVzc2FnZSddID0gJHBhcmFtc1snbWVzc2FnZSddOwovLyBQcmVwYXJlIG5hbWUgb2YgcHJvZHVjdCBzbyB0aGF0IGNhbiBiZSBzaG93biBhYm92ZSBpbWFnZXMuIElzIGVhc3kgZm9yIHVzZXIgdG8gc2VlIGZvciB3aGljaCBwcm9kdWN0IG9uZSBpcyBidXN5CiRpbWFnZXNbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlX3Byb2R1Y3RfbmFtZScpLAoJJ291dHB1dCc9PiRwcm9kdWN0X2RhdGFbJ25hbWUnXQopOwokaW1hZ2VzWydpbWFnZSddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnY29sdW1uX2ltYWdlX25hbWUnKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltYWdlJywgJycsIDQwKQopOwokaW1hZ2VzWydkZXNjcmlwdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfaW1hZ2VfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICcnLCAnaWRlc2NyaXB0aW9uJywncGFnZXNtYWxsdGV4dGFyZWEnLCcnLCcnLCcnLDQwLDQwKQopOwokaW1hZ2VzWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjdXJyZW50X2NhdGVnb3J5X2lkJywgJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddKQopOwokaW1hZ2VzWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHBhcmFtc1sncHJvZHVjdF9pZCddKQopOwovLyBCdWlsZCBsaXN0IG9mIGF2YWlsYWJsZSBpbWFnZXMKJGltYWdlc1snbmFtZWNvbHVtbiddID0gJHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9uYW1lJyk7CiRpbWFnZXNbJ2Rlc2NyaXB0aW9uY29sdW1uJ10gPSAkdGhpcy0+TGFuZygnY29sdW1uX2ltYWdlX2Rlc2NyaXB0aW9uJyk7CiRpbWFnZXNbJ25vX2ltYWdlc19hdmFpbGFibGUnXSA9ICR0aGlzLT5MYW5nKCdub19pbWFnZXNfYXZhaWxhYmxlJyk7CgokcHJvZHVjdF9pbWFnZV9saXN0ID0gYXJyYXkoKTsKLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIGFueSBpbWFnZXMgZm9yIHRoZSBjdXJyZW50IHByb2R1Y3QuIElmIG5vdCBjaGVja2VkLCB0aGUgZm9yZWFjaCBydW5zIGludG8gYW4gZXJyb3IKJGltYWdlc1snaXRlbWNvdW50J10gPSBjb3VudCgkcHJvZHVjdF9kYXRhWydpbWFnZXMnXSk7CmlmICgkaW1hZ2VzWydpdGVtY291bnQnXSA+IDApIHsKZm9yZWFjaCAoJHByb2R1Y3RfZGF0YVsnaW1hZ2VzJ10gYXMgJGltYWdlKSB7CgkkaW1hZ2VbJ3Byb2R1Y3RpbWFnZSddID0gJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlcGF0aF9wcm9kdWN0JykuJGltYWdlWydpbWFnZSddOwoJJGltYWdlWydpbWFnZWhlaWdodCddID0gJzcwJzsgLy8gPC0tIFNob3VsZCBiZSBtb3ZlZCBpbnRvIGEgcHJlZmVyZW5jZQoJJGltYWdlWydpbWFnZSddID0gJGltYWdlWydpbWFnZSddOwoJJGltYWdlWydkZXNjcmlwdGlvbiddID0gJGltYWdlWydkZXNjcmlwdGlvbiddOwoJJGltYWdlWydsaW5rX2VkaXQnXSA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdwcm9kdWN0X2ltYWdlX2VkaXQnLCAkcmV0dXJuaWQsIAoJCQkkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nKCd0ZXh0X2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCAKCQkJYXJyYXkgKCdjdXJyZW50X3Byb2R1Y3RfaW1hZ2VzX2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X3Byb2R1Y3RfaW1hZ2VzX2lkJ10sCgkJCQknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ3Byb2R1Y3RfaW1hZ2VzX2lkJyA9PiAkaW1hZ2VbJ3Byb2R1Y3RfaW1hZ2VzX2lkJ10pKTsKCSRpbWFnZVsnbGlua19kZWxldGUnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3Byb2R1Y3RfaW1hZ2VfZGVsZXRlJywgJHJldHVybmlkLCAKCQkJJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ3RleHRfZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgCgkJCWFycmF5ICgncHJvZHVjdF9pbWFnZXNfaWQnID0+ICRpbWFnZVsncHJvZHVjdF9pbWFnZXNfaWQnXSwKCQkJCSdwcm9kdWN0X2lkJyA9PiAkaW1hZ2VbJ3Byb2R1Y3RfaWQnXSwKCQkJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJCQknaW1hZ2UnID0+ICRpbWFnZVsnaW1hZ2UnXSksIAoJCQkJJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2FyZXlvdXN1cmVpbWFnZScsJGltYWdlWydpbWFnZSddKSk7CgkkcHJvZHVjdF9pbWFnZXNfbGlzdFtdID0gJGltYWdlOwp9CiRpbWFnZXNbJ2xpc3QnXSA9ICRwcm9kdWN0X2ltYWdlc19saXN0Owp9CgovKioKICogU2hvdyBwYWdlcwogKi8KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJvZHVjdCcsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfcHJvZHVjdCcpLCAoJGFjdGl2ZV90YWIgPT0gJ3Byb2R1Y3QnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcmllcycsICR0aGlzLT5MYW5nKCdsYWJlbF90YWJfcHJvZHVjdF9jYXRlZ29yaWVzJyksICgkYWN0aXZlX3RhYiA9PSAnY2F0ZWdvcmllcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhdHRyaWJ1dGVzJywgJHRoaXMtPkxhbmcoJ2xhYmVsX3RhYl9hdHRyaWJ1dGVzJyksICgkYWN0aXZlX3RhYiA9PSAnYXR0cmlidXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpbWFnZXMnLCAkdGhpcy0+TGFuZygnbGFiZWxfdGFiX2ltYWdlcycpLCAoJGFjdGl2ZV90YWIgPT0gJ2ltYWdlcycpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmVjaG8gIlxuPCEtLSBGcm9tIHByb2R1Y3QgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYigncHJvZHVjdCcsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ3Byb2R1Y3QnLCAkcHJvZHVjdCk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9lZGl0LnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGNhdGVnb3JpZXMgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCAkY2F0ZWdvcmllcyk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9jYXRlZ29yaWVzLnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGF0dHJpYnV0ZXMgLS0+XG4iOwplY2hvICR0aGlzLT5TdGFydFRhYignYXR0cmlidXRlcycsICRwYXJhbXMpOwokc21hcnR5LT5hc3NpZ24oJ2F0dHJpYnV0ZXMnLCAkYXR0cmlidXRlcyk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9hdHRyaWJ1dGVzLnRwbCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gIlxuPCEtLSBGcm9tIGltYWdlcyAtLT5cbiI7CmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdpbWFnZXMnLCAkcGFyYW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZXMnLCAkaW1hZ2VzKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdwcm9kdWN0X2ltYWdlcy50cGwnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.product_images.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBidXR0b24gYWRkIGltYWdlIGlzIHVzZWQKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnYWRkaW1hZ2UnKSkgewoJCglyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy8uLi8uLi9saWIvZmlsZW1hbmFnZXIvSW1hZ2VNYW5hZ2VyL0NsYXNzZXMvRmlsZXMucGhwJyk7CgoJLy8gQnVpbGQgdGhlIHBhdGggd2Ugd2lsbCBiZSB1cGxvYWRpbmcgdGhlIGltYWdlIHRvCgkkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoJJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4kdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnKTsKCSRmaWxlcyA9IG5ldyBGaWxlczsKCQoJLy8gTWFrZSBzdXJlIHRoZSBkaXJlY3RvcnkgY2FuIGJlIGZvdW5kLiBDcmVhdGUgaXQsIGVycm9yIGhhbmRsaW5nIHdpbGwgY292cmUgYW55IHByb2JsZW1zIGZvdW5kCgkkZm9sZGVyZXhpc3RzID0gJGZpbGVzLT5jcmVhdGVGb2xkZXIoJHBhdGgpOwoJaWYgKCRmb2xkZXJleGlzdHMpIHsKCQlmb3JlYWNoICgkX0ZJTEVTIGFzICR1cGxvYWRmaWxlKSB7CgkJCS8vIFJlcGxhY2UgYW55IG5vbi13b3JkIGNoYXJhY3RlcnMgYnkgdW5kZXJzY29yZXMKCQkJJHVwbG9hZGZpbGVbJ25hbWUnXSA9ICRmaWxlcy0+ZXNjYXBlKCR1cGxvYWRmaWxlWyduYW1lJ10pOwoJCQkkZmlsZXMtPmNvcHlGaWxlKCR1cGxvYWRmaWxlWyd0bXBfbmFtZSddLCAkcGF0aCwgJHVwbG9hZGZpbGVbJ25hbWUnXSwgdHJ1ZSk7CgkJCSRwYXJhbXNbJ2ltYWdlJ10gPSAkdXBsb2FkZmlsZVsnbmFtZSddOwoJCQlpZiAoJHVwbG9hZGZpbGVbJ25hbWUnXSAhPSAnJykgewoJCQkJLy8gTm93IHRoYXQgYWxsIGluZm8gaXMga25vd24sIGluc2VydCBhIHJlY29yZCBpbiB0aGUgaW1hZ2VzIGRhdGFiYXNlCgkJCQkkdGhpcy0+cHJvZHVjdHMtPkNyZWF0ZUltYWdlKCRwYXJhbXMpOwoJCQkJLy8gUHJlcGFyZSB0aGUgY29ubmVjdGVkIHRodW1ibmFpbCBzbyBpdCBjYW4gYmUgcmVxdWVzdGVkIGF0IGZyb250IGVuZC4KCQkJCSR0aHVtYndpZHRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rud2lkdGhfcHJvZHVjdCcsICcxMDAnKTsKCQkJCSR0aHVtYmhlaWdodCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0bmhlaWdodF9wcm9kdWN0JywgJzEwMCcpOwoJCQkJJHRoaXMtPkJ1aWxkVGh1bWIgKCR1cGxvYWRmaWxlWyduYW1lJ10sICRwYXRoLCAkdGh1bWJ3aWR0aCwgICR0aHVtYmhlaWdodCk7CgkJCQkvLyBQcmVwYXJlIGEgbWVzc2FnZSB0byBiZSBzaG93biBvbiB0b3Agb2YgdGhlIGltYWdlcyBvdmVydmlldwoJCQkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX2ltYWdlYWRkZWQnLCR1cGxvYWRmaWxlWyduYW1lJ10pOwoJCQl9CgkJCWVsc2UgewoJCQkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcgKCdtZXNzYWdlX25vaW1hZ2V0b3VwbG9hZCcpOwoJCQl9CgkJfQoJfQoJZWxzZSB7CgkJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ25vX2ZvbGRlcl9hdmFpbGFibGUnLCRwYXRoKTsKCX0KCS8vIFJlZGlyZWN0IGJhY2sgdG8gaW1hZ2VzLCBzbyB3ZSBjYW4gc2VlIHRoZSByZXN1bHQKCSRwYXJhbXMgPSBhcnJheSgncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJCSdjdXJyZW50X2NhdGVnb3J5X2lkJyA9PiAkcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10sCgkJJ2FjdGl2ZV90YWInID0+ICdpbWFnZXMnLAoJCSdtZXNzYWdlJyA9PiAkcGFyYW1zWydtZXNzYWdlJ10KCQkpOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCn0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgJiYgJHBhcmFtc1snY2FuY2VsJ10gPT0gJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsIAoJCQkJJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnPT4kcGFyYW1zWydjdXJyZW50X2NhdGVnb3J5X2lkJ10pOwoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_image_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGlzIGNhbGxlZCBmcm9tIHByb2R1Y3RfZWRpdCwgd2hlbiBpY29uIGRlbGV0ZSBpbWFnZSBpcyB1c2VkCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nLy4uLy4uL2xpYi9maWxlbWFuYWdlci9JbWFnZU1hbmFnZXIvQ2xhc3Nlcy9GaWxlcy5waHAnKTsKLy8gQnVpbGQgdGhlIHBhdGggdGhlIGltYWdlIHdhcyB1cGxvYWRlZCB0byAKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKJHBhdGggPSAkY29uZmlnWydpbWFnZV91cGxvYWRzX3BhdGgnXS4nXFwnLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZXBhdGhfcHJvZHVjdCcpOwokZmlsZXMgPSBuZXcgRmlsZXM7CiRuYW1lID0gJHBhdGggLiAkcGFyYW1zWydpbWFnZSddOwovLyBTaXRlIHVtYXNrIHNldCB0byAwMDIyIHdvcmtzIG9rIGR1cmluZyB0ZXN0cywgd2hlbiBwZXJtaXNzaW9uIGRlbmllZCB3YXMgc3RhdGVkLgppZiAoJGZpbGVzLT5kZWxGaWxlKCRuYW1lKSApIHsKCWVjaG8gJ0ZpbGUgJy4kbmFtZS4nIGRlbGV0ZWQ8YnI+JzsKfQplbHNlIHsKCWVjaG8gJ0Vycm9yIGR1cmluZyBkZWxldGlvbiBvZiBmaWxlOiAnLiRuYW1lLic8YnI+JzsKfQkKJG5hbWUgPSAkcGF0aCAuICd0bl8nIC4gJHBhcmFtc1snaW1hZ2UnXTsKaWYgKCRmaWxlcy0+ZGVsRmlsZSgkbmFtZSkgKSB7CgllY2hvICdUaHVtYm5haWwgJy4kbmFtZS4nIGRlbGV0ZWQ8YnI+JzsKfQplbHNlIHsKCWVjaG8gJ0Vycm9yIGR1cmluZyBkZWxldGlvbiBvZiB0aHVtYm5haWw6ICcuJG5hbWUuJzxicj4nOwp9CgovLyBOb3cgdGhhdCBhbGwgaW5mbyBpcyBrbm93biwgaW5zZXJ0IGEgcmVjb3JkIGluIHRoZSBpbWFnZXMgZGF0YWJhc2UKJHRoaXMtPnByb2R1Y3RzLT5EZWxldGVJbWFnZSgkcGFyYW1zKTsKJHBhcmFtcyA9IGFycmF5KAoJLy8gUHJvZHVjdCBpZCwgYWx3YXlzIGhhbmR5IHRvIHBhc3MuIEluIHRoaXMgY2FzZSBuZWVkZWQgdG8gZ2V0IGFsbCB0aGUgY29ubmVjdGVkIGluZm9ybWF0aW9uCgkncHJvZHVjdF9pZCcgPT4gJHBhcmFtc1sncHJvZHVjdF9pZCddLAoJLy8gUGFzcyB0aGUgY3VycmVudCBjYXRlZ29yeSBvdGhlcndpc2UgdXNlciB3aWxsIGJlIGJyb3VnaHQgdG8gcm9vdCBvbmNlIGNhbmNlbCBpcyBwcmVzc2VkCgknY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJLy8gUHJlcGFyZSBhIG1lc3NhZ2UgdG8gYmUgc2hvd24gb24gdG9wIG9mIHRoZSBpbWFnZXMgb3ZlcnZpZXcKCSdtZXNzYWdlJyA9PiAkdGhpcy0+TGFuZyAoJ21lc3NhZ2VfaW1hZ2VkZWxldGVkJywkcGFyYW1zWydpbWFnZSddKSwKCS8vIFJlZGlyZWN0IGJhY2sgdG8gaW1hZ2VzLCBzbyB3ZSBjYW4gc2VlIHRoZSByZXN1bHQKCSdhY3RpdmVfdGFiJyA9PiAnaW1hZ2VzJwkKCSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAncHJvZHVjdF9lZGl0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.product_image_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gVGhpcyBwcm9ncmFtIGFsbG93cyB0aGUgdXNlciB0byBjaGFuZ2UgaW1hZ2UgaW5mb3JtYXRpb24KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXSA9PSAkdGhpcy0+TGFuZygnc3VibWl0JykpIHsKCSR0aGlzLT5wcm9kdWN0cy0+VXBkYXRlSW1hZ2UoJHBhcmFtcyk7CgkkcGFyYW1zIFsnYWN0aXZlX3RhYiddID0gJ2ltYWdlcyc7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ3Byb2R1Y3RfZWRpdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwkKfQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICYmICRwYXJhbXNbJ2NhbmNlbCddID09ICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkgewoJJHRoaXMtPlJlZGlyZWN0KCAkaWQsICdwcm9kdWN0X2VkaXQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsJCn0KLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gZm9yIHBhc3NlZCBpbWFnZSBpZC4gQXJyYXkgd2lsbCBob2xkIGluZm9ybWF0aW9uIGFmdGVyd2FyZHMKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfaW1hZ2VzX2lkJ10pKSB7CgkkcHJvZHVjdF9pbWFnZV9kYXRhID0gJHRoaXMtPnByb2R1Y3RzLT5HZXRJbWFnZSgkcGFyYW1zWydwcm9kdWN0X2ltYWdlc19pZCddKTsKfQoKLy8gUHJlcGFyZSBuZXh0IHNjcmVlbiBpbmZvcm1hdGlvbgokaW1hZ2UgPSBhcnJheSgpOwokaW1hZ2VbJ3N0YXJ0Zm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAncHJvZHVjdF9pbWFnZV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcsICcnKTsKJGltYWdlWydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKTsKJGltYWdlWydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJGltYWdlWydlbmRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKJGltYWdlWyduYW1lJ10gPSBhcnJheSgKCSdsYWJlbCcgPT4gJHRoaXMtPkxhbmcoJ2NvbHVtbl9pbWFnZV9uYW1lJyksCgknb3V0cHV0JyA9PiAkcHJvZHVjdF9pbWFnZV9kYXRhWydpbWFnZSddCik7CiRpbWFnZVsnZGVzY3JpcHRpb24nXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX2ltYWdlX2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkcHJvZHVjdF9pbWFnZV9kYXRhWydkZXNjcmlwdGlvbiddLCAnZGVzY3JpcHRpb24nLCdwYWdlc21hbGx0ZXh0YXJlYScsJycsJycsJycsNDAsNDApCik7CiRpbWFnZVsncHJvZHVjdF9pbWFnZXNfaWQnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JycsCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ3Byb2R1Y3RfaW1hZ2VzX2lkJywgJHBhcmFtc1sncHJvZHVjdF9pbWFnZXNfaWQnXSkKKTsKJGltYWdlWydjdXJyZW50X2NhdGVnb3J5X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2ltYWdlc19pZCcsICRwYXJhbXNbJ2N1cnJlbnRfY2F0ZWdvcnlfaWQnXSkKKTsKJGltYWdlWydwcm9kdWN0X2lkJ10gPSBhcnJheSgKCSdsYWJlbCc9PicnLAoJJ2lucHV0Jz0+JHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdwcm9kdWN0X2lkJywgJHByb2R1Y3RfaW1hZ2VfZGF0YVsncHJvZHVjdF9pZCddKQopOwoKLy8gQnVpbGQgdGhlIHRlbXBsYXRlIHRvIHNob3cKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZScsICRpbWFnZSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdF9pbWFnZV9lZGl0LnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.sku_add.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJLy8gVXNlciBwcmVzc2VkIGNvbnRpbnVlIHNvIHNhdmUgdGhlIHNrdSBpbmZvcm1hdGlvbgoJJHRoaXMtPnByb2R1Y3RzLT5DcmVhdGVTS1UoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nc2t1cycsICk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Cgokc2t1ID0gYXJyYXkoKTsKJHNrdVsnc3RhcnRmb3JtJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdza3VfYWRkJywgJHJldHVybmlkLCAncG9zdCcpOwokc2t1WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ2NvbnRpbnVlJykpOwokc2t1WydjYW5jZWwnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKTsKJHNrdVsnZW5kZm9ybSddID0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCgokc2t1Wydza3UnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9uYW1lJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdza3UnLCAnJywgMjAsIDIwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKQopOwokc2t1WydkZXNjcmlwdGlvbiddID0gYXJyYXkoCgknbGFiZWwnPT4kdGhpcy0+TGFuZygnbGFiZWxfc2t1X2Rlc2NyaXB0aW9uJyksCgknaW5wdXQnPT4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2Rlc2NyaXB0aW9uJywgJycsIDYwLCAxMDApCik7Cgokc21hcnR5LT5hc3NpZ24oJ3NrdScsICRza3UpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NrdV9hZGQudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sku_delete.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHNrdW1lc3NhZ2UgPSAkdGhpcy0+cHJvZHVjdHMtPkRlbGV0ZVNLVSgkcGFyYW1zWydza3UnXSk7CiRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJywgJ3NrdW1lc3NhZ2UnPT4kc2t1bWVzc2FnZSk7CiR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.sku_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewoJJHRoaXMtPnByb2R1Y3RzLT5VcGRhdGVTS1UoJHBhcmFtcyk7CgkKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9CmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYic9Pidza3VzJyk7CgkkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOwp9Ci8vIEFsbCBhY3Rpb25zIGhhbmRsZWQsIG5vdyBnZXQgYWxsIHRoZSBpbmZvcm1hdGlvbiBsaW5rZWQgdG8gdGhlIFN0b2NrIEtlZXBpbmcgVW5pdAppZiAoaXNzZXQoJHBhcmFtc1snc2t1J10pKSB7Cgkkc2t1X2RhdGEgPSAkdGhpcy0+cHJvZHVjdHMtPkdldFNLVSgkcGFyYW1zWydza3UnXSk7Cn0KCiRza3UgPSBhcnJheSgpOwokc2t1WydzdGFydGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3NrdV9lZGl0JywgJHJldHVybmlkLCAncG9zdCcpOwokc2t1WydzdWJtaXQnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKTsKJHNrdVsnY2FuY2VsJ10gPSAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSk7CiRza3VbJ2VuZGZvcm0nXSA9ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CiRza3VbJ3NrdSddID0gYXJyYXkoCgknbGFiZWwnPT4nJywKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnc2t1JywgJHBhcmFtc1snc2t1J10pCik7CiRza3VbJ25hbWUnXSA9IGFycmF5KAoJJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2xhYmVsX3NrdV9uYW1lJyksCgknaW5wdXQnPT4kc2t1X2RhdGFbJ3NrdSddCik7CiRza3VbJ2Rlc2NyaXB0aW9uJ10gPSBhcnJheSgKCSdsYWJlbCc9PiR0aGlzLT5MYW5nKCdsYWJlbF9za3VfZGVzY3JpcHRpb24nKSwKCSdpbnB1dCc9PiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2Rlc2NyaXB0aW9uJywgJHNrdV9kYXRhWydkZXNjcmlwdGlvbiddLCA2MCwgMTAwLCAnY2xhc3M9ImRlZmF1bHRmb2N1cyInKQopOwokc21hcnR5LT5hc3NpZ24oJ3NrdScsICRza3UpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NrdV9lZGl0LnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.switchstatus.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIE5vIGRpcmVjdCBhY2Nlc3MKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLy8gQ2hlY2sgcGVybWlzc2lvbgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKSAmJgoJISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpIHsKICAvLyBTaG93IGFuIGVycm9yIG1lc3NhZ2UKICBlY2hvICR0aGlzLT5TaG93RXJyb3IoJHRoaXMtPkxhbmcoJ2FjY2Vzc19kZW5pZWQnKSk7Cn0KLy8gVXNlciBoYXMgc3VmZmljaWVudCBwcml2aWxlZ2VzCmVsc2UKewoJJHJlZGlyZWN0dG8gPSAnZGVmYXVsdGFkbWluJzsKCXN3aXRjaCAoJHBhcmFtc1sndGFibGUnXSkKCXsKCQljYXNlICdBdHRyaWJ1dGVzJzoKCQkJJGFjdGl2ZSA9ICgkcGFyYW1zWydhY3RpdmUnXSA9PSAwKT8xOjA7CgkJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzIFNFVCBhY3RpdmUgPSA/IAoJCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRhY3RpdmUsICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddKSk7CgkJCSRyZWRpcmVjdHRvID0gJ3Byb2R1Y3RfZWRpdCc7CgkJCSRwYXJhbXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ2F0dHJpYnV0ZXMnLCAncHJvZHVjdF9pZCc9PiRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSk7CgkJCWJyZWFrOwoJCWNhc2UgJ0F0dHJpYnV0ZXNEaXNwbGF5JzsKCQkJJGRpc3BsYXlvbmx5ID0gKCRwYXJhbXNbJ2Rpc3BsYXlvbmx5J10gPT0gMCk/MTowOwoJCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyBTRVQgZGlzcGxheW9ubHkgPSA/IAoJCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRkaXNwbGF5b25seSwgJHBhcmFtc1snYXR0cmlidXRlX2lkJ10pKTsKCQkJJHJlZGlyZWN0dG8gPSAncHJvZHVjdF9lZGl0JzsKCQkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnYXR0cmlidXRlcycsICdwcm9kdWN0X2lkJz0+JHBhcmFtc1sncHJvZHVjdF9pZCddKTsKCQkJYnJlYWs7CgkJY2FzZSAnQ2F0ZWdvcmllcyc6CgkJCSRhY3RpdmUgPSAoJHBhcmFtc1snYWN0aXZlJ10gPT0gMCk/MTowOwoJCQkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMgU0VUIGFjdGl2ZSA9ID8gCgkJCQlXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRhY3RpdmUsICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKCQkJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJz0+J2NhdGVnb3JpZXMnLCAnY3VycmVudF9jYXRlZ29yeV9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCQkJYnJlYWs7CgkJY2FzZSAnUHJvZHVjdHMnOgoJCQkkYWN0aXZlID0gKCRwYXJhbXNbJ2FjdGl2ZSddID09IDApPzE6MDsKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBTRVQgYWN0aXZlID0gPyAKCQkJCVdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRhY3RpdmUsICRwYXJhbXNbJ3Byb2R1Y3RfaWQnXSkpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInPT4nY2F0ZWdvcmllcycsICdjdXJyZW50X2NhdGVnb3J5X2lkJz0+JHBhcmFtc1snY3VycmVudF9jYXRlZ29yeV9pZCddLAoJCQkJJ2N1cnJlbnRfcHJvZHVjdF9pZCc9PiRwYXJhbXNbJ3BhcmVudF9pZCddKTsKCQkJYnJlYWs7CgkJZGVmYXVsdDoKCQkJYnJlYWs7Cgl9CgogIC8vIFJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoZSBhZG1pbiBzY3JlZW4gdGhhdCBvbmUgY2FtZSBmcm9tCiAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJHJlZGlyZWN0dG8sICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/action.templates_update.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIwojIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIHRlbXBsYXRlcyBhcyBzZXQgaW4gdGhlIGFkbWluIHBhcnQgb2YgbW9kdWxlIFNob3AgTWFkZSBTaW1wbGUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdBZG1pbmlzdGVyIFNob3BNYWRlU2ltcGxlJykpCgl7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCX0KCmlmIChpc3NldCgkcGFyYW1zWydjYXRsaXN0X3RlbXBsYXRlJ10pICYmICEgZW1wdHkoJHBhcmFtc1snY2F0bGlzdF90ZW1wbGF0ZSddKSkKCXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0bGlzdF90ZW1wbGF0ZScsJHBhcmFtc1snY2F0bGlzdF90ZW1wbGF0ZSddKTsKCX0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXNfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydjYXRlZ29yaWVzX3RlbXBsYXRlJ10pKQoJewoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yaWVzX3RlbXBsYXRlJywkcGFyYW1zWydjYXRlZ29yaWVzX3RlbXBsYXRlJ10pOwoJfQppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGRldGFpbF90ZW1wbGF0ZSddKSAmJiAhIGVtcHR5KCRwYXJhbXNbJ3Byb2RkZXRhaWxfdGVtcGxhdGUnXSkpCgl7CQoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZGV0YWlsX3RlbXBsYXRlJywkcGFyYW1zWydwcm9kZGV0YWlsX3RlbXBsYXRlJ10pOwoJfQppZiAoaXNzZXQoJHBhcmFtc1sncHJvZGZlYXRfdGVtcGxhdGUnXSkgJiYgISBlbXB0eSgkcGFyYW1zWydwcm9kZmVhdF90ZW1wbGF0ZSddKSkKCXsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJvZGZlYXRfdGVtcGxhdGUnLCRwYXJhbXNbJ3Byb2RmZWF0X3RlbXBsYXRlJ10pOwoJfQoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd0ZW1wbGF0ZXN1cGRhdGVkJykpOwokcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ3RlbXBsYXRlc3VwZGF0ZWQnKTsKJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ3RlbXBsYXRlcyc7CiR0aGlzLT5Eb0FjdGlvbignZGVmYXVsdGFkbWluJywgJGlkLCAkcGFyYW1zKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgoJPGxpPlZlcnNpb24gMC4zLjggMSBEZWNlbWJlciAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+QWRkZWQgcGFyYW1ldGVycyB0byBvdmVyY29tZSB3cm9uZ2x5IHBhc3NlZCBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPk9uIHRoZSBjYXRlZ29yeSBsaXN0LCBuZXcgZmllbGRzIGFyZSBtYWRlIGF2YWlsYWJsZTogZW50cnktPmNhdG5hbWUgYW5kIGVudHJ5LT5jYXRjb3VudDs8L2xpPgoJCQk8bGk+VHlwbyBjYXVzZWQgcHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeSBuZXZlciB0byBiZSBzaG93biBjb3JyZWN0bHkgd2hlbiB1c2luZyBkaXNwbGF5PWNhdGxpc3Q7PC9saT4KCQkJPGxpPlJlc29sdmVkIGVycm9yIHdoZW4gc2VhcmNoIGZvciBwcm9kdWN0IHdhcyB1c2VkIChidWcjIDcyMTApOzwvbGk+CgkJCTxsaT5NYWtlIHN1cmUgbm8gbG9nZ2luZyB0byBhZG1pbiBsb2cgaXMgZG9uZSBieSBzZXR0aW5nIHJlc3RyaWN0ZWQgcGFyYW1ldGVycy48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjcgMjIgT2N0b2JlciAyMDExPGJyIC8+CgkJPHVsPgoJCQk8bGk+UHJpY2UgYW5kIHdlaWdodCB3ZXJlIG5vdCBzYXZlZCBjb3JyZWN0bHkgZHVlIHRvIG51bWJlciBmb3JtYXRpbmcuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy42IDEyIE9jdG9iZXIgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkFsbCBjaGVja3MsIGlmIHNlYXJjaCBtb2R1bGUgd2FzIGluc3RhbGxlZCwgYXJlIHJlbW92ZWQ7PC9saT4KCQkJPGxpPkl0ZW0gbnVtYmVyIGlzIG5vdyBzaG93biBvbiBsaXN0IG9mIGl0ZW1zOzwvbGk+CgkJCTxsaT5TZWFyY2ggYnkgaXRlbSBudW1iZXIgbm93IGF2YWlsYWJsZTs8L2xpPgoJCQk8bGk+V2hlbiBhZGRpbmcvY2hhbmdpbmcgYSBwcm9kdWN0IGFuZCBJbnZlbnRvcnkgTWFuYWdlbWVudCBpcyBpbnN0YWxsZWQsIHByb2R1Y3QgZXh0ZW5zaW9uIGluZm8gY2FuIGJlIGVudGVyZWQgb24gc2FtZSBwYWdlOzwvbGk+CgkJCTxsaT5OZXcgZnVuY3Rpb24gaW4gYmFjayBlbmQgYWRkZWQ6IHF1aWNrIHNlbGVjdG9yIGZvciBlYXN5IGxvY2F0aW5nIGEgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPlByaWNlIGZvcm1hdHRpbmcgZm9sbG93cyBydWxlcyBvZiBDYXJ0TVMgKGlmIG5vdCBpbnN0YWxsZWQgc2VlIG9wdGlvbnMpIChmZWF0dXJlIHJlcXVlc3Q6IzY2NTcpOzxiciAvPgoJCQlXZWlnaHQgZm9ybWF0dGluZyBpcyBub3cgY29udHJvbGxlZCBieSBudW1iZXIgZm9ybWF0dGluZyBpbiB0aGUgb3B0aW9ucy48YnIgLz4KCQkJWW91IHdpbGwgaGF2ZSB0byByZW1vdmUgYWxsICd8bnVtYmVyX2Zvcm1hdDoyJyByZWZlcmVuY2VzIGluIGFsbCBTaG9wTVMgdGVtcGxhdGVzLjwvbGk+CgkJCTxsaT5Pbmx5IGFjdGl2ZSBwcm9kdWN0cyBhcmUgc2hvd24gaW4gdGhlIGZlYXR1cmVkIGxpc3Qgb2YgcHJvZHVjdHM7PC9saT4KCQkJPGxpPlBhZ2luYXRpb24gYnVpbGQgaW4gZm9yIGxpc3Qgb2YgZmVhdHVyZWQgcHJvZHVjdHMgKGZlYXR1cmUgcmVxdWVzdDojNjcxMCk7PC9saT4KCQkJPGxpPkltcHJvdmVkIGZsb3cgYWZ0ZXIgcHJlc3NpbmcgY2FuY2VsIGluIHByb2R1Y3QgZWRpdCAoY29ycmVjdCBjYXRlZ29yeSBwYXRoIHNob3duIG5vdyk7PC9saT4KCQkJPGxpPlZlcnNpb24gcHJlcGFyZWQgZm9yIHVzZSB3aXRoIENNU01TIHZzIDEuOS40LnggYW5kIDEuMTAuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy41IDIgQXVndXN0IDIwMTE8YnIgLz4KCQk8dWw+CgkJCTxsaT5BZGQgdG8gY2FydCBmcm9tIHByb2R1Y3QgbGlzdCB3YXMgYWJsZSB0byBhZGQgc2Vjb25kIGxpbmUgd2l0aCBzYW1lIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk1pbm9yIGNoYW5nZXMgc28gbW9kdWxlIHdvcmtzIHdpdGggUG9zdGdyZXNzIGRhdGFiYXNlIGFzIHdlbGwgKHRoYW5rcyBnbyB0byBCcmV0dCBvZiBCaW5hcnlzdHVkaW9zLm5ldCkuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy40IDEyIEp1bmUgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPlRpbWUgb2YgZGVjcmVhc2luZyB0aGUgaW52ZW50b3J5IHN0b2NrIGxldmVsIGNhbiBub3cgYmUgc2V0IHZpYSBwcmVmZXJlbmNlczs8L2xpPgoJCQk8bGk+UGFnaW5hdGlvbiBkaWRuJ3Qgd29yayBjb3JyZWN0bHkgb24gcHJvZHVjdCBsaXN0IHBhZ2UgKGFmdGVyIHNlbGVjdGluZyBjYXRlZ29yeSk7PC9saT4KCQkJPGxpPkF0dHJpYnV0ZSBpdGVtIG51bWJlcnMgd2VyZSBub3QgY2FwaXRhbGl6ZWQgYXV0b21hdGljYWxseSB3aGVuIG9wdGlvbiB0byBkbyBzbyB3YXMgb247PC9saT4KCQkJPGxpPlBhZ2luYXRpb24gZGlkbid0IHdvcmsgd2hlbiBvbmx5IG9uZSBpdGVtIHNob3VsZCBiZSBzaG93biBwZXIgcGFnZSAoYnVnIyAzODg3KTs8L2xpPgoJCQk8bGk+Q2FsY3VsYXRpb24gb2YgYXR0cmlidXRlIHByaWNlIHdhcyB3cm9uZyB3aGVuIHByaWNlIGFkanVzdG1lbnQgd2FzICcrJyBvciAnLSc7PC9saT4KCQkJPGxpPk5ldyB2YXJpYWJsZSBhdmFpbGFibGUgaW4gdGhlIHRoZSBwcm9kdWN0IGxpc3RpbmcgdGVtcGxhdGU6IGF2YWlsYWJsZXN0b2NrLiBUaGlzIGhvbGRzIHRoZSAKCQkJcXVhbnRpdHkgYXZhaWxhYmxlIG9mIHRoZSBwcm9kdWN0IHRoYXQgaXMgb24gc3RvY2s7PC9saT4KCQkJPGxpPklmIGludmVudG9yeSBtYW5hZ2VtZW50IG1vZHVsZSBpcyBpbiB1c2UsIHNhbGVzIHRyYW5zYWN0aW9ucyBhcmUgcGFzc2VkOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIHRoZSBtYXhpbXVtIHZlcnNpb24gb2YgQ01TTVMgdG8gbWFrZSBzdXJlIG5vIHByb2JsZW1zIHdpdGggdmVyc2lvbiAxLjEwIG9mIENNU01TLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMyAyNiBNYXkgMjAxMTxiciAvPgoJCTx1bD4KCQkJPGxpPkV4dGVuZGVkIGxlbmdodCBvZiBuYW1lIG9mIHByb2R1Y3QgaW5wdXQgdG8gMjU1IGluIHRvdGFsOzwvbGk+CgkJCTxsaT5JZiBpbnZlbnRvcnkgdHlwZSBwcmVmZXJlbmNlIHNldCB0byAnTm90IHVzZWQnLCBhbGxvdyBhZGQgdG8gY2FydCBvcHRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMy4yIDIxIERlY2VtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5BdHRyaWJ1dGUgZGVzY3JpcHRpb24gd2FzIG5vdCBzYXZlZCB3aGVuIGF0dHJpYnV0ZSB3YXMgYWRkZWQ7PC9saT4KCQkJPGxpPldoZW4gZWRpdGluZyBhIGNhdGVnb3J5LCB0aGUgY2F0ZWdvcnkgdGhhdCBpcyBlZGl0ZWQgY2FuJ3QgYmUgc2V0IGFzIHRoZSBwYXJlbnQgY2F0ZWdvcnk7PC9saT4KCQkJPGxpPkRlcGVuZGVudCBvbiBpbnZlbnRvcnkgc2V0dGluZ3MsIGxhYmVscyBvZiBmaWVsZHMgb24gcHJvZHVjdCBhbmQgYXR0cmlidXRlIGxldmVsIGFyZSBzaG93biBvciBoaWRkZW47PC9saT4KCQkJPGxpPklmIHByb2R1Y3QgaXMgZGVhY3RpdmF0ZWQsIGl0cyBzZWFyY2ggaW5kZXggZW50cmllcyBhcmUgcmVtb3ZlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4zLjEgMTcgTm92ZW1iZXIgMjAxMDxiciAvPgoJCTx1bD4KCQkJPGxpPldoZW4gdW5pbnN0YWxsaW5nLCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMgb2YgdGhlIHByb2R1Y3RzIGFyZSByZW1vdmVkOzwvbGk+CgkJCTxsaT5QcmVmZXJlbmNlcyBub3cgaG9sZHMgZmllbGQgdGhhdCBhbGxvd3MgdHJhY2tpbmcgb2YgaW52ZW50b3J5IG9uIHByb2R1Y3Qgb3IgYXR0cmlidXRlIGxldmVsIChSZXF1ZXN0IyA0NTAxKTs8L2xpPgoJCQk8bGk+TWFrZSBtYXggYXR0cmlidXRlcyBvbiBwcm9kdWN0IGxldmVsIG1haW50YWluYWJsZTs8L2xpPgoJCQk8bGk+Tm90IGFjdGl2ZSBhdHRyaWJ1dGVzIHdoZXJlIHNob3duIG9uIGZyb250IGVuZCwgZnJvbSB0aGlzIG1vbWVudCBvbiB0aGlzIGlzIG5vdCB0aGUgY2FzZSBhbnltb3JlLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjMuMCA2IE5vdmVtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5OYW1lIG9mIHNob3AgaW4gcHJlZmVyZW5jZXMgaXMgbm93IHVzZWQgaW4gZG9jdW1lbnQgcHJvcGVydGllcyBvZiBpbnZvaWNlIGdlbmVyYXRlZCBpbiBDYXJ0IE1hZGUgU2ltcGxlOzwvbGk+CgkJCTxsaT5CaWcgY2hhbmdlIG9uIHRoZSBwZXJtaXNzaW9uIHN5c3RlbS4gTm90ZSAtLT4gQWxsIHByZXZpb3VzIFNob3AgTWFkZSBTaW1wbGUgcGVybWlzc2lvbnMgYXJlIGdvbmUgd2hlbiB1cGdyYWRlZCEgU29ycnksIHRoaXMgY291bGQgbm90IGJlIGF2b2lkZWQ7PC9saT4KCQkJPGxpPlNob3dpbmcgbXVsdGlwbGUgbGV2ZWxzIGluIGNhdGVnb3JpZXMgbm93IHBvc2libGUgd2l0aCBwYXJtIGNhdGxpc3QgKHNlZSBoZWxwIHRleHQpOzwvbGk+CgkJCTxsaT5JbmNsdWRlIHByaWNlIGZvcm1hdGluZyBpbiBkZWZhdWx0IGNhdGVnb3J5L3Byb2R1Y3RzIHRlbXBsYXRlOzwvbGk+CgkJCTxsaT5HZXQgcmlkIG9mIHB1YmxpYyBtZW1iZXIgdmFyaWFibGVzIHN1Y2ggYXMgJ2dsb2JhbCAkZ0Ntcyc7PC9saT4KCQkJPGxpPk1pbmltdW0gdmVyc2lvbiBzZXQgdG8gMS44LjEgZHVlIHRvIHJlbW92YWwgcHVibGljIG1lbWJlciB2YXJpYWJsZXM7PC9saT4KCQkJPGxpPlJlbW92ZWQgY2FsbCB0byBzb21ldGltZXMgbm90IHdvcmtpbmcgZXhpZl9pbWFnZTs8L2xpPgoJCQk8bGk+TWFkZSBiZXR0ZXIgdXNlIG9mIHBhdGggZGlyZWN0b3J5IHNlcGFyYXRvcjs8L2xpPgoJCQk8bGk+SW50cm9kdWN0aW9uIG9mIG1heGltdW0gbnVtYmVyIG9mIGF0dHJpYnV0ZXMgcGVyIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk5ldyBwcmVmZXJlbmNlczogJ21heGltdW0gYXR0cmlidXRlcycgYW5kICdhbGxvdyBkdXBsaWNhdGUgaXRlbSBudW1iZXInIGFkZGVkIHRvIHByZWZlcmVuY2UgcGFnZTs8L2xpPgoJCQk8bGk+U2luY2UgaXQgaGFkIHRvdGFseSBubyBmdW5jdGlvbiwgZGVmYXVsdCBsYW5ndWFnZSBoYXMgYmVlbiByZW1vdmVkIGZyb20gcHJlZmVyZW5jZXMgcGFnZTs8L2xpPgoJCQk8bGk+Q2hhbmdlZCBkZWZhdWx0IHByb2R1Y3QgZGV0YWlsIHRlbXBsYXRlIHdpdGggcmVnYXJkcyB0byBudW1iZXIgb2YgZGVjaW1hbHMgb24gcHJpY2U7PC9saT4KCQkJPGxpPlRhYmxlIGF0dHJpYnV0ZV9vcHRpb25zIHJlbW92ZWQsIGNvbnRlbnQgd2FzIG5vdCBtYWludGFpbmFibGUsIGFsbCBmaWVsZHMgbm93IGluIHRhYmxlIHByb2R1Y3RfYXR0cmlidXRlczs8L2xpPgoJCQk8bGk+QXR0cmlidXRlcyBvZiBwcm9kdWN0IG5vdyBob2xkIHByaWNlIGZhY3RvciBhbmQgdmFyaW91cyBvdGhlciBmaWVsZHMgKFJlcXVlc3QjIDM4MjYpOzwvbGk+CgkJCTxsaT5Nb3ZlZCBmdW5jdGlvbnMgaW50ZXJuYWxseSBhcm91bmQsIHNvIG1vZHVsZSBiZWNvbWVzIGEgYml0IG1vcmUgbGlrZSBzdGFuZGFyZDs8L2xpPgoJCQk8bGk+VmVyc2lvbiAwLjIuOSBvbiBwdXJwb3NlIHNraXBwZWQsIHNpbmNlIHRoaXMgaXMgYSBtYWpvciByZWxlYXNlLiBTaW5jZSB0aGlzIHZlcnNpb24gYnJlYWtzIHdpdGggdGhlIG9yaWdpbmFsLCBEdWtldG93biB0aGFua3MgCgkJCUdhcnkgR3JleWxpbmcgKExhaHVpbmRhaSkgZm9yIGFsbCBoaXMgcGVyZmVjdCB3b3JrLiBUaW1lIHRvIG1vdmUgb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi44IDkgU2VwdGVtYmVyIDIwMTA8YnIgLz4KCQk8dWw+CgkJCTxsaT5ObyBtb3JlIHByb2JsZW1zIHdpdGggcHJvZHVjdCBwcmljZXMgZ3JlYXRlciB0aGFuIDk5OSAoYnVnIyA0NTExKTs8L2xpPgoJCQk8bGk+QWxsb3cgbW9kdWxlIHRvIHJ1biBpbiAxLjggZW52aXJvbm1lbnQgb2YgQ01TTVM7PC9saT4KCQkJPGxpPlJlbmFtZSBvZiBjbGFzcyBQcm9kdWN0cyB0byBTTVNQcm9kdWN0cyBzbyBtb2R1bGUgY2FuIHJ1biBuZXh0IHRvIHByb2R1Y3RzIG1vZHVsZTs8L2xpPgoJCQk8bGk+TmFtZSBvZiBwcm9kdWN0IGhhcyBiZWVuIGluY3JlYXNlZCB3aXRoIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZyb20gMzAgdG8gMjU1OzwvbGk+CgkJCTxsaT5Xb3JrIGRvbmUgb24gcHJldHR5IFVSTCAoYnVnIyAzMTIyJjQwODEpIHNvbHZlZCBieSBkcnVtem9uZTs8L2xpPgoJCQk8bGk+TmV0d2VpZ2h0IG5vdyBhdmFpbGFibGUgYXMgdmFyaWFibGUgaW4gdGhlIHByb2R1Y3QgZGV0YWlsIG92ZXJ2aWV3LjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuNyAxIE1hcmNoIDIwMTA8YnI+CgkJPHVsPgoJCQk8bGk+SW5wdXQgcGFyYW1ldGVycyB3ZXJlIG5vdCBjbGVhbmVkIGF0IGNvcnJlY3QgbW9tZW50IGNhdXNpbmcgd2FybmluZ3M7PC9saT4KCQkJPGxpPkNhdGVnb3J5IGFuZCBwcm9kdWN0cyB0ZW1wbGF0ZSB0aGF0IGlzIHVzZWQgZHVyaW5nIGluc3RhbGxhdGlvbiBleHRlbmRlZCB0byBpbmNsdWRlIGhvdyB0byB1c2UgaW1hZ2Ugb2YgYWRkIHRvIGNhcnQ7PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi42IDEgTm92ZW1iZXIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5TZXQgbWF4aW11bSBDTVNNUyB2ZXJzaW9uIHRvIDEuNi45IHRvIG92ZXJjb21lIHByb2JsZW1zOzwvbGk+CgkJCTxsaT5DaGFuZ2UgbG9nIG5vdCBpbiB0cmFuc2xhdGlvbiBhbnltb3JlLCBzbyB0aGlzIGxvZyBpcyBvbmx5IGF2YWlsYWJsZSBpbiBFbmdsaXNoOzwvbGk+CgkJCTxsaT5QcmVwYXJlIGFkZCB0byBjYXJ0IGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkuIEltYWdlIHRha2VuIGlzIFNob3BNYWRlU2ltcGxlL2ltYWdlcy9hZGR0b2NhcnQuZ2lmLiBDaGFuZ2UgdGhpcyBpbWFnZSBpZiBuZWVkZWQuPGJyPgoJCQlVc2UgeyRhZGRwcm9kdWN0aW1hZ2V9IGluIHRoZSB0ZW1wbGF0ZSBpbiBzdGVhZCBvZiB7JGFkZHByb2R1Y3R9LCB3aGljaCBpcyB0aGUgdGV4dDs8L2xpPgoJCQk8bGk+UmVtb3ZlZCBwcm9kdWN0IGlkIG9uIGRlZmF1bHQgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi41IDEwIEF1Z3VzdCAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPk1pc3NpbmcgY29kZSBpbiBmcm9udCBlbmQgcHJvZHVjdCBkZXRhaWwuIChidWcjIDM4NTApIHNvbHZlZCBieSBOYU4uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi40IDI2IEp1bHkgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5BdXRvbWF0aWMgaW5zdGFsbGF0aW9uIG9mIHN0eWxlc2hlZXQgXCdNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGVcJyB3YXMgbm90IHdvcmtpbmcgKHN0eWxlc2hlZXQgd2lsbCBiZSBpbnNlcnRlZCBkdXJpbmcgdXBncmFkZSBmcm9tIHZlcnNpb24gMC4yLjMgdG8gMC4yLjQpOzwvbGk+CgkJCTxsaT5BY3RpdmF0aW5nIGFuZCBkZWFjdGl2YXRpbmcgd2FzIG5vdCB3b3JraW5nIGNvcnJlY3RseSBmb3IgY2F0ZWdvcmllcyBpbiBsaXN0IG9mIGNhdGVnb3JpZXMsIGNoYW5nZSBhbHNvIGFwcGxpZWQgZm9yIHByb2R1Y3RzOzwvbGk+CgkJCTxsaT5ObyB0ZXN0IGRhdGEgY3JlYXRlZCBhbnltb3JlIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPgoJCQk8bGk+T24gcHJvZHVjdCBkZXRhaWwgbmV3IHZhcmlhYmxlcyBpbnRyb2R1Y2VkOiB7aW1hZ2V0aHVtYn0gYW5kIHtmdWxscGF0aGltYWdlfSB0byBzdXBwb3J0IGltYWdlcyBiZXR0ZXI7PC9saT4KCQkJPGxpPk5vIGNhdGVnb3J5IGFuZCBwcm9kdWN0IGlkIHVzZWQgYW55bW9yZSBpbiBpbnN0YWxsZWQgdGVtcGxhdGUgb2YgY2F0YWdvcnkgbGlzdDs8L2xpPgoJCQk8bGk+RGVmYXVsdCBjdXJyZW5jeSBpcyBzZXQgdG8gRXVybzs8L2xpPgoJCQk8bGk+V29yayBkb25lIG9uIHByZXR0eSBVUkwgLS0+IG5vdCBmdWxseSBmdW5jdGlvbmFsOzwvbGk+CgkJCTxsaT5CdWcgc29sdmVkIChieSBGYXRsaXphcmQpIHRvIGhhbmRsZSBjb3JyZWN0IHByb2R1Y3RfaWQgaW4gZmUgcHJvZHVjdCBkZXRhaWwuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMi4zIDE3IE1heSAyMDA5PGJyPgoJCTx1bD4KCQkJPGxpPkluaXRpYWxpemVkIHZhcmlhYmxlcyBjb3JyZWN0bHksIHNvIG5vIHdhcm5pbmcgYXBwZWFycyBmb3IgdGhlbSB3aGVuIHBocC5pbmkgc3RhdGVzIHRvIHNob3cgd2FybmluZ3M7PC9saT4KCQkJPGxpPk5ldyBwcmVmZXJlbmNlcyBmb3IgdGh1bWJuYWlsIGdlbmVyYXRpb24uIFVzZSB0aGUgcmVidWlsZCBidXR0b24gdG8gZ2VuZXJhdGUgdGh1bWJuYWlscyBmcm9tIGVhcmxpZXIgbG9hZGVkIGltYWdlcy48L2xpPgoJCQk8bGk+VGhlIGRldGFpbCB0ZW1wbGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIGFsbG93IHN3aXRjaGluZyBpbWFnZXMuIEEgc2ltcGxlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSB0byBjb3B5IGZyb20gaW4gdGhlCgkJCXRlbXBsYXRlcyBkaXJlY3RvcnkuIFRoZSBuYW1lIGlzIGZlX3Byb2R1Y3RfZGV0YWlsMS50cGwuPGJyPgoJCQlJZiB5b3UgaGF2ZSB1cGdyYWRlZCBmcm9tIGFuIGVhcmxpZXIgdmVyc2lvbiB5b3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBzd2l0Y2hpbmcgb2YgaW1hZ2VzLiBMb29rIGluIHRlbXBsYXRlc1xmZV9wcm9kdWN0X2RldGFpbC50cGwuPC9saT4KCQkJPGxpPk9yaWdpbmFsIHRlbXBsYXRlIG9mIHByb2R1Y3RzIHBlciBjYXRlZ29yeSBjaGFuZ2VkIHRvIHNob3cgaW1hZ2Ugd2l0aCBsaW5rIG9uIHByb2R1Y3QgbGluZS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjIgOCBNYXIgMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5TaG93IG5hbWUgd2l0aG91dCBsaW5rIHRvIGRldGFpbCBvbiBwcm9kdWN0IGxpc3RpbmcgKGZlYXR1cmUgcmVxdWVzdCMgMjk4Nik6IHVzZSBwcm9kbmFtZW5vbGluayBpbiBzdGVhZCBvZiBwcm9kbmFtZSBpbiB0aGUgdGVtcGxhdGUuPC9saT4KCQkJPGxpPkJ1aWxkIGluIGxpbmsgZnJvbSBpbWFnZSB0byBkZXRhaWwgb24gcHJvZHVjdCBsaXN0aW5nIChmZWF0dXJlIHJlcXVlc3QjIDMwODMpOiB1c2UgcHJvZGltYWdlbGluayBpbiBzdGVhZCBvZiBwcm9kaW1hZ2UgaW4gdGhlIHRlbXBsYXRlLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjIuMSAxNSBKYW4gMjAwOTxicj4KCQk8dWw+CgkJCTxsaT5UeXBvIGNhdXNlZCBkaXNwbGF5PXByb2R1Y3RsaXN0IGNhdG5hbWU9Li4uIG5vdCB0byB3b3JrIGNvcnJlY3RseS4gQnVnIHNvbHZlZC48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4yLjAgMTEgSmFuIDIwMDk8YnI+CgkJPHVsPgoJCQk8bGk+Q3VycmVuY3kgc3ltYm9sIGF2YWlsYWJsZSBmb3IgY2F0ZWdvcnkgbGlzdCAodXNlICRlbnRyeS0+Y3Vyc3ltYm9sfTs8L2xpPgoJCQk8bGk+VGVtcGxhdGVzIGNhbiBub3cgYmUgYWRqdXN0ZWQgdG8gZGVjcmVhc2UgbGVuZ3RoIG9mIGRlc2NyaXB0aW9uICh3YXMgaGFyZGNvZGVkKSB1c2luZyB8dHJ1bmNhdGUgaW4gdGVtcGxhdGU7PC9saT4KCQkJPGxpPkhhcmRjb2RlZCBzaWduYWxpbmcgdGhhdCB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciBwcm9kdWN0cyBpcyByZW1vdmVkLCBub3cgcGFydCBvZiB0cmFuc2xhdGlvbjs8L2xpPgoJCQk8bGk+SWYgdGhlIG1vZHVsZSBTZWFyY2ggaGFzIGJlZW4gaW5zdGFsbGVkLCB0aGUgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHJvZHVjdHMgY2FuIGJlIHNlYXJjaGVkIHVwb247PC9saT4KCQkJPGxpPkJ1ZyBzb2x2ZWQgb24gdXBkYXRpbmcgY2F0ZWdvcnkgaW5mb3JtYXRpb24uIEVkaXRvciB3YXMgbm90IHdvcmtpbmcgd2VsbDs8L2xpPgoJCQk8bGk+RGVzY3JpcHRpb24gb2YgY2F0ZWdvcnkgYW5kIHByb2R1Y3QgY291bGQgc3BhbiB0d28gbGluZXMuIE5vdyBhbHdheXMgb25seSBvbmUgbGluZTs8L2xpPgoJCQk8bGk+TmV3IHByZWZlcmVuY2UgYWRkZWQgdG8gaG9sZCB0aGUgbnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlOzwvbGk+CgkJCTxsaT5Vc2luZyBwYXJhbWV0ZXIgcHJvZHBhZ2VsaW1pdCwgdGhlIG51bWJlciBvZiBwcm9kdWN0cyBwZXIgcGFnZSBjYW4gYmUgaW5mbHVlbmNlZCAob3ZlcnJpZGluZyB0aGUgcHJlZmVyZW5jZSkuPGJyPgoJCQlQYWdpbmcgaXMgcG9zc2libGUgdXNpbmcgdGhlIGZvbGxvd2luZyBpbiB0aGUgQ2F0ZWdvcmllcy9Qcm9kdWN0cyB0ZW1wbGF0ZTo8YnI+CgkJCXtpZiAkcGFnZWNvdW50ID4gMX08YnI+Jm5ic3A7eyRmaXJzdHBhZ2V9IHskcHJldnBhZ2V9IHskcGFnZXRleHR9OiAgeyRwYWdlbnVtYmVyfSB7JG9mdGV4dH06IHskcGFnZWNvdW50fSB7JG5leHRwYWdlfSB7JGxhc3RwYWdlfTxicj57L2lmfQoJCQk8YnI+PC9saT4KCQkJPGxpPkludGVybmFsIGNsZWFuIHVwIG9mIGZyb250IGVuZCBjYXRlZ29yeSBsaXN0aW5nIHByb2dyYW0uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS45IDI5IERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPlJlbW92ZWQgdHJhbnNsYXRpb24gYnVnIGR1cmluZyBpbnN0YWxsYXRpb24uPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS44IDExIERlYyAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPlNvbHZlZCBpc3N1ZSB3aGVyZSBzd2l0Y2ggc3RhdHVzIG9uIHByb2R1Y3QgY2F1c2VkIGRlc2NyaXB0aW9uIHRvIGJlIGNsZWFyZWQ7PC9saT4KCQkJPGxpPkVkaXQgb2YgU3RvY2sgS2VlcGluZyBVbml0IHdhcyBub3Qgd29ya2luZzs8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjcgOSBEZWMgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5BZGQgdG8gY2FydCBhdmFpbGFibGUgYXQgbGlzdCBvZiBwcm9kdWN0cyBvbiBmcm9udCBlbmQ7PC9saT4KCQkJPGxpPk5ldyBmaWVsZHM6IFN0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKSBhbmQgaXRlbW51bWJlciBhdmFpbGFibGUgcGVyIHByb2R1Y3Q7PC9saT4KCQkJPGxpPk1haW50ZW5hbmNlIG9uIFNLVSBpcyBwb3NzaWJsZTs8L2xpPgoJCQk8bGk+QWRkaXRpb25hbCBwcmVmZXJlbmNlIHRvIGFsbG93IG9ubHkgY2FwaXRhbCBjaGFyYWN0ZXJzIGluIGl0ZW1udW1iZXI7PC9saT4KCQkJPGxpPkFkZGl0aW9uYWwgcHJlZmVyZW5jZSB0byBzZXQgZGVmYXVsdCBTS1UgZHVyaW5nIGFkZCBvZiBhIHByb2R1Y3QuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS42IDEyIE5vdiAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkltYWdlIG9mIGNhdGVnb3J5IGlzIG5vdyBkaXNwbGF5ZWQgaW4gZnJvbnQgb2YgY2F0ZWdvcnkgbmFtZSBpbiBjYXRlZ29yeSBsaXN0aW5nOzwvbGk+CgkJCTxsaT5MZW5ndGggb2YgcHJvZHVjdCBhbmQgYXR0cmlidXRlIGRlc2NyaXB0aW9uIGVubGFyZ2VkOzwvbGk+CgkJCTxsaT5DaGVjayBidWlsZCBpbiBkdXJpbmcgaW5zdGFsbGF0aW9uIGlmIHRoZSBjb25mbGljdGluZyBtb2R1bGUgUHJvZHVjdHMgaGFzIGJlZW4gaW5zdGFsbGVkOzwvbGk+CgkJCTxsaT5CdWcgb24gYWRkaW5nIG5ldyBwcm9kdWN0cyBjb3JyZWN0ZWQgKHdhcyBhbHdheXMgcG9pbnRpbmcgdG8gcm9vdCBhZnRlciBhZGRpbmcpOzwvbGk+CgkJCTxsaT5EZWxldGlvbiBvZiBwcm9kdWN0IHJldHVybnMgdG8gbGFzdCB1c2VkIGNhdGVnb3J5OzwvbGk+CgkJCTxsaT5BZnRlciBTd2l0Y2ggb2Ygc3RhdHVzLCBsYXN0IHNob3duIGNhdGVnb3J5L3Byb2R1Y3RzIGxpc3QgaXMgc2hvd247PC9saT4KCQkJPGxpPkRlc2NyaXB0aW9uIGJveGVzIGZvciBwcm9kdWN0LCBhdHRyaWJ1dGVzIGFuZCBpbWFnZXMgaW1wcm92ZW1lbnRzOzwvbGk+CgkJCTxsaT5QcmVwYXJlIGNvcnJlY3QgY29ubmVjdGlvbiBvZiBtdWx0aXBsZSBjYXRlZ29yaWVzIHRvIG9uZSBwcm9kdWN0OzwvbGk+CgkJCTxsaT5WYXJpYWJsZSAkaW1hZ2UgaW4gZGV0YWlsIHRlbXBsYXRlIHJlbmFtZWQgdG8gJHByb2RpbWFnZSwgc2luY2UgaXQgbWlnaHQgYmUgaW4gdXNlIGluIG90aGVyIG1vZHVsZXMgKGxpa2UgcHJpbnRpbmcpOzwvbGk+CgkJCTxsaT5XaGVuIGxhc3QgY2F0ZWdvcnkgY29ubmVjdGlvbiB0byBwcm9kdWN0IGlzIGRlbGV0ZWQsIHRoZSBwcm9kdWN0IHdpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSByb290IChvdGhlcndpc2UgaXQgY2FuXCd0IGJlIHNlbGVjdGVkIGFueW1vcmUpOzwvbGk+CgkJCTxsaT5NdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBpcyBhbGxvd2VkIGFzIG9mIHZlcnNpb24gMC4xLjUgYnV0IGlzIG5vdCBzdXBwb3J0ZWQgb24gZnJvbnQgZW5kISAoc29ycnkpLjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuNSBKdW5lIDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+TXVsdGlwbGUgbGV2ZWxzIG9mIGNhdGVnb3JpZXMgYXJlIGFsbG93ZWQvcG9zc2libGU7PC9saT4KCQkJPGxpPk5ldyBwYXJhbWV0ZXIgZm9yIGZyb250ZW5kOiBwYXJlbnRjYXRlZ29yeS48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4xLjQgTWF5IDIwMDg8YnI+CgkJPHVsPgoJCQk8bGk+VXBsb2FkIG9mIGltYWdlIGZvciBjYXRlZ29yeSBoYXMgYmVlbiBjaGFuZ2VkOzwvbGk+CgkJCTxsaT5DaGFuZ2VkIGluc3RhbGwgc28gZGlyZWN0b3J5IHBhdGggY29ycmVjdCBmb3IgY2F0ZWdvcmllcyBhbmQgcHJvZHVjdHMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4zIE1heSAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPkFsbCBmcm9udCBlbmQgcGFnZXMgYXJlIGhhbmRsZWQgYnkgdGVtcGxhdGVzIGRlcml2ZWQgZnJvbSBhZG1pbiBwYXJ0OzwvbGk+CgkJCTxsaT5BZG1pbmlzdHJhdG9yIG5vdyBoYXMgdGFiIGNvbnRhaW5pbmcgdGVtcGxhdGVzIGFzIHVzZWQgb24gZnJvbnQgZW5kOzwvbGk+CgkJCTxsaT5Gcm9udCBlbmQgc2hvd3Mgd2V0aGVyIHByaWNlcyBhcmUgaW5jbC4gb3IgZXhjbC4gVkFUIGRlcGVuZGVudCBvbiBwcmVmZXJlbmNlOzwvbGk+CgkJCTxsaT5Qcm9kdWN0cyBjb25uZWN0ZWQgdG8gY2F0ZWdvcnkgc29ydGVkIGJ5IGxpc3Qgb3JkZXI7PC9saT4KCQkJPGxpPk92ZXJ2aWV3IGNhdGVnb3JpZXMgaW4gYmFjayBlbmQgYW5kIGZyb250IGVuZCBub3cgc29ydGVkIGJ5IGxpc3Qgb3JkZXIuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4yIC0gTWF5IDFzdCAyMDA4PGJyPgoJCTx1bD4KCQkJPGxpPldoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkLCBpdHMgY29ubmVjdGVkIHByb2R1Y3RzIHdpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSByb290IGNhdGVnb3J5LjwvbGk+CgkJCTxsaT5Tb21lIGJ1dHRvbnMgbGFja2VkIHByb3BlciB0cmFuc2xhdGlvbnMuPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMS4xIC0gQXByaWwgMjAwODxicj4KCQk8dWw+CgkJCTxsaT5Ob3cgb3B0aW9uIHRvIHNob3cgcHJvZHVjdHMgb2Ygb25lIGNhdGVnb3J5IGluIHNpbmdsZSBwYWdlcyB1c2luZyBwYXJhbWV0ZXJzLjwvbGk+CgkJCTxsaT5Tb21lIGZpZWxkcyB0dXJuZWQgaW50byBmbG9hdCB0byBjb3JyZWN0bHkgaGFuZGxlIGRlY2ltYWxzLjwvbGk+CgkJCTxsaT5Ecm9wcGVkIGFkbWluIHByZWZlcmVuY2VzIHRvIGhvbGQgc2hvcCBwb2xpY2llcyAodXNlIGNvbnRlbnQgYmxvY2sgb3Igbm9ybWFsIENNU01TIHBhZ2Ugd2l0aCB0aGUgcG9saWNpZXMpLjwvbGk+CgkJCTxsaT5JbnRyb2R1Y3Rpb24gb2YgY2hlY2ttYXJrIGlmIHByaWNlcyBhcmUgaW5jbHVzaXZlIG9yIGV4bGN1c2l2ZSBWQVQgaW4gcHJlZmVyZW5jZXMuPC9saT4KCQkJPGxpPkFsc28gaW4gcHJlZmVyZW5jZXMgbm93IHVuaXQgb2YgbWVhc3VyZSBmb3Igd2VpZ2h0cyBvZiB0aGUgcHJvZHVjdHMuPC9saT4KCQkJPGxpPkludHJvZHVjdGlvbiBvZiBWQVQgY29kZSBhbmQgbmV0dCB3ZWlnaHQgcGVyIHByb2R1Y3QuIEZvciBjYWxjdWxhdGlvbiBvZiAoc2hpcHBpbmcpIGNvc3QgaW4gQ2FydCBtb2R1bGU8L2xpPiAgCgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjEuMCAtIEFwcmlsIDE4dGggMjAwOCBSb2xsIG91dCB2ZXJzaW9uPGJyPgoJCTx1bD4KCQkJPGxpPkxheW91dCBjaGFuZ2VzIG1hZGU8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjQgLSBJbXBvcnQgYW5kIEV4cG9ydCBSZWxlYXNlPGJyPgoJCTx1bD4KCQkJPGxpPkNhdGVnb3JpZXM8L2xpPgoJCQk8bGk+UHJvZHVjdHM8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPlZlcnNpb24gMC4wLjMgLSBDbGllbnQgSW50ZXJmYWNlIFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+Q2xpZW50IGludGVyZmFjZSB0YWdzPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT5WZXJzaW9uIDAuMC4yIC0gQWRtaW5pc3RyYXRpb24gRXh0ZW5kZWQgUmVsZWFzZQoJCTx1bD4KCQkJPGxpPlRlbXBsYXRlcywgRXZlbnRzLCBPcmRlcnMsIFRyYW5zbGF0aW9uczwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+VmVyc2lvbiAwLjAuMSAtIEFkbWluaXN0cmF0aW9uIFJlbGVhc2U8YnI+CgkJPHVsPgoJCQk8bGk+UHJlZmVyZW5jZXMgLSBDb21wbGV0ZWQgb24gMjQvMTIvMjAwNzwvbGk+CgkJCTxsaT5DYXRlZ29yaWVzIC0gQ29tcGxldGVkIG9uIDI1LzEyLzIwMDc8L2xpPgoJCQk8bGk+UHJvZHVjdHM8L2xpPgoJCTwvdWw+Cgk8L2xpPgo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/css/stylesheet.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ2F0ZWdvcnkgcmVsYXRlZCBzZXR0aW5ncyAqLwouY2F0ZGVzY3JpcHRpb24KewogIG1hcmdpbi1sZWZ0OiAwLjVlbTsKICB3aWR0aDogMjUwcHg7Cn0KCiNjYXRpZAp7CiAgZGlzcGxheTogbm9uZTsKfQoKI2NhdGluZm8KewogIG1hcmdpbi1ib3R0b206IDFlbTsKICBib3JkZXItc3R5bGUKICB3aWR0aDogNDUwcHg7Cn0KCiNjYXRpbWFnZXRodW1iCnsKICBtYXJnaW46IDVweCAwIDAgMDsKICB3aWR0aDogNTBweDsKfQoKI2NhdGxpc3RoZWFkZXIKewogIGNvbG9yOiAjMjk0QjVGOwogIGZvbnQtc2l6ZTogMTMwJTsKICBtYXJnaW4tbGVmdDogMC41ZW07CiAgbWFyZ2luLXRvcDogMC41ZW07CiAgbWFyZ2luLWJvdHRvbTogMC41ZW07CiAgbWFyZ2luLXJpZ2h0OiAxZW07Cn0KCi5jYXRsaXN0bGluZQp7CiAgdGV4dC1pbmRlbnQ6IDVtbTsKfQoKLyogUHJvZHVjdCByZWxhdGVkIHNldHRpbmdzICovCiNwcm9kdWN0Y291bnQKewogIG1hcmdpbi10b3A6IDAuNWVtOwogIG1hcmdpbi1ib3R0b206IDAuNWVtOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjk0QjVGOwp9CgojcHJvZHVjdGlkIHsKICBkaXNwbGF5OiBub25lOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCi5pbWcKewogIG1hcmdpbjogMnB4OwogIGJvcmRlcjogMXB4IHNvbGlkICMyOTRCNUY7CiAgZmxvYXQ6IGxlZnQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CQouaW1nIGltZwp7CiAgZGlzcGxheTogaW5saW5lOwogIGhlaWdodDogYXV0bzsKICB3aWR0aDogNDBweDsKICBtYXJnaW46IDNweDsKICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOwp9Ci5pbWcgYTpob3ZlciBpbWcKewogIGJvcmRlcjogMXB4IHNvbGlkICMyOTRCNUY7Cn0KCi5wcm9kdWN0ZGVzYwp7CiAgdmVydGljYWwtYWxpZ246IHRvcDsKICBtYXJnaW4tbGVmdDogMC41ZW07CiAgd2lkdGg6IDUwMHB4Owp9CgpkaXYucHJvZHVjdGxpc3QKewogIHdpZHRoOiA2MDBweDsKfQoKLnByb2R1Y3RuYW1lCnsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogIHBhZGRpbmctYm90dG9tOiAzcHg7CiAgd2lkdGg6IDMwMHB4Owp9CgoucHJvZHVjdHByaWNlCnsKICBjb2xvcjogIzI5NEI1RjsKICB3aWR0aDogMzBweDsKICB0ZXh0LWFsaWduOiByaWdodDsKfQoKLnByb2R1Y3RhbW91bnQKewogIHdpZHRoOiA1MHB4OwogIHRleHQtYWxpZ246IHJpZ2h0Owp9CgoucHJvZHVjdHJlbW92ZQp7CiAgcGFkZGluZy1sZWZ0OiA1cHg7Cn0KCi50b3RhbGFtb3VudAp7CiAgZm9udC1zaXplOiAxOHB4OwogIHRleHQtYWxpZ246IHJpZ2h0Owp9CgojcHJvZHVjdHByaWNlc2luCnsKICBwYWRkaW5nLXRvcDogMzBweDsKfQoKZGl2LmF0dHJpYnV0ZWxpc3QKewogIHBhZGRpbmctYm90dG9tOiAzcHg7Cn0KdHIucm93MQp7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKdHIucm93Mgp7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsKfQoKdGFibGUucHJvZHVjdGF0dHIKewogIHRhYmxlLWxheW91dDogYXV0b21hdGljOwp9CgouYXR0cm5hbWUKewogIG1hcmdpbi1ib3R0b206IDAuMmVtOwogIHdpZHRoOiAyMCU7Cn0KCi5hdHRyZGVzYwp7CiAgbWFyZ2luLWJvdHRvbTogMC4yZW07CiAgdGV4dC1pbmRlbnQ6IDFjbQp9CgouYXR0cnByaWNlCnsKICBtYXJnaW4tYm90dG9tOiAwLjJlbTsKICB0ZXh0LWluZGVudDogMWNtCn0=]]></data>
	</file>
	<file>
	  <filename>/desktop.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W1ZpZXdTdGF0ZV0NCk1vZGU9DQpWaWQ9DQpGb2xkZXJUeXBlPURvY3VtZW50cw0K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/addtocart.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAAAAAAUHBhUVFRscGzwcHyMiISkjJCsrKzgsLjIyMT0yMzw9PUotL0EuMEg+P0NDQ0pFRktLS09PUVNNTltISlNTU1xWVlhYVlpaWmdeX21QUndbXWRkZGZmaGthYmtra3VtbnBwbnNzc3t7e36Af4J5eoOCg42Cg4qKi5GLi5KNjZOPj5SUlJuWl5ubmrOdnqWmpqmnqKurq7ipqr2ur7Ozs7e5uLm3uLm5ucPDw8vLy9LJytXV1dzb297b3OPGyOLR0+Lc3eDg3uLh4uXl5efn6enp6e7p6e3t7fTg4fvr7Pnu7f7s7vPz8/7w8v/y9Pj49vn5+f7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAgACAAAAj/AP8JHEiwoMGDCBMqXMiwocOHAoeMqIADosIaKDgICFDBiEWBP16c8ADhwYEEHw4UGIHEIZAZKjZoIMBAwYcWNSp8QKIjh5GWCH3cWAFiAoIGFCAUcJBhAgYRKWso7IHDRAUIBhKYiGEiRZAgGXoMMQGjh4wERBA24bCgAoYIFTkIrMFC4AeBKCqyuAAFoZEIImS0qFCjRgQZVUPUsCFBho0PJnBUQBEFIZIIHVB8eIDCxAISGSejWIACRQUOIw5UtFzBxj8dJgTK/UdXYAeBLGrAiCAkIRLC/3KMkD237r/ZKGqQ4NDXcgSdFxZ0CJGAw4cIDz58QCnigUkcTRIa4gGeQwTxfzKMIx+dVjz54cfnurCLOwKG8L4Bs5jIggVpFx9wwIILDwzIQQEoLNSECdpZ1+CDD3ZgnQ6VKdQEEk1kqCGGRuTgAg5FHLGEEkw88ZFAUeiQ0gADiJDEiQM1oQMHJ5nAAwpZ9XBiFDyIcMABI+gQXhM8tPhREx8UoNUQBTnRgwEG6PgQEagJiVAPHEjlUBM1tJDDQjVk2VAULDxQwQNSHkQDCwKmmZ8MPWBg3EER7NDDAFpaiMEHNTwgQ0IWlNCCAm4iJEUOHFRgAn4H1YBBBfMxhAQSRrQH46UNBQQAOw==]]></data>
	</file>
	<file>
	  <filename>/images/bg_button_a.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEgAwANUAAPj4+PX19dnZ2fLy8tHR0fv7++7u7re3t9jY2NbW1tPT09fX1/39/dDQ0Obm5uzs7Onp6c/Pz8zMzM7Oztzc3MXFxa+vr6ysrK2trc3NzcnJycLCwtLS0sjIyODg4L+/v/Dw8MrKytXV1cTExPz8/Lq6ut7e3tra2vr6+u/v79TU1Nvb2+Li4uvr66qqqurq6uHh4efn5+Tk5N/f393d3f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAASADAAAAb/QJdwiDlUFo+acslckgYyjkXSalqZKNqBcu3WQJeF9xq4cMdN0KGKZtIkNYZ8Tq8DLI+Cfs/vFxoLAIKDhIUAMxUBiouMjQEvBwOSk5SVAykYBpqbnJ0GLRgvoqOkpS8eBzGqq6ytMSoVMrKztLUyRzC5uru8JngzwMHCwyFwNMfIyckqazXKz8cLZkrQyiphS9XHJx1bbsorIhkbU2xLQ0RGSFfoQkVHSVYZ8/QSHRsl5U0T/P3+Eh+8LYlAsKBBghqwKWnAsKHDhhKm1SBAsaJFiyGaKdjIsaPHDXBUiBxJsiQBPAlSqlzJMsGHBQhiypxJE4GGCgJy6tzJUwCHXgMrggodSnSFAAzaoK3AMKzpsAUHeEnl1aACi6tYs2plMWKBra+yPOBxQLas2bMT4LhaG4NCMwhw48qNy0KiKVMzFNZowbev3xgEBCp5QLgwBBYLNOhj0s7Fu3VWggAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/bg_button_span.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhLAEwANUAANbW1tjY2NHR0e7u7vv7+9DQ0NPT0+bm5v39/ezs7Onp6c/Pz87Ozs3Nzbe3t9fX18zMzNzc3MXFxaysrK2tra+vr8nJycLCwsrKytLS0r+/v/Dw8ODg4MjIyNra2tXV1d7e3rq6usTExO/v7/z8/Pr6+vj4+PX19fLy8tnZ2dTU1Nvb2+Li4uvr6+rq6uHh4efn5+Tk5N/f36qqqt3d3f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAsATAAAAb/wJpwWEs8JA7KbMlsOp/QqHRKrVqv2Kx2y+16v+AqsdaCVDIxFGnMbrvf8Lh8Tq/b7/i8fs/v+4URDjQlf4WGh4iJiouMjQ8TG42Sk5SVlpeUERMnmJ2en6Chki0OkaKnqKmqqhA0q6+wsbKGCRUmCLi5uru8vb6/wMHCw8TFxsfIycrLzM3LDwUE0tPU1dbX2Nna29zd3t/g4eLj5OXm5+YSMibs7e7v8PHy8/T19vf4+fr7/P3+/wADAnTg4oTBgwgTKlzIsKHDhxAjSpxIsaLFixgzatyokcIIFCBDihxJsqTJkyhTqlzJsqXLlzBjypxJsyZNCi0G6NzJs6fP/59AgwodSrSo0aNIkypdyrSp06dOHXBwQbWq1atYs2rdyrWr169gw4odS7as2bNo06KVoAKG27dw48qdS7eu3bt48+rdy7ev37+AAwseLPhIjMOIEytezLix48eQI0ueTLmy5cuYM2vezHlzLRAvQoseTbq06dOoU6tezbq169ewY8ueTbu2bdo1IGCQwbu379/AgwsfTry48ePIkytfzry58+fQoz8n40AFjevYs2vfzr279+/gw4sfT768+fPo06tfzz49oAkP2sufT7++/fv48+v/PuSR9f0ABijggAQWuB8RgXTggYEMNujggxDiN0YZFVzQwAcrRKjhhhx22P9gG0YgoUQYJJZo4okopqjiiiwuAeIRSbQo44w01mjjjShOaEYIF3QAQQNABinkkEQWaeSRSCap5JJMNunkk1BGKeWUVFapJIIOaAABA1x26eWXYIYp5phklmnmmWimqeaabLbp5ptwxqlmfxNYsMCdeOap55589unnn4AGKuighBZq6KGIJqrooowe+h4EBUQq6aSUVmrppZhmqummnHbq6aeghirqqKSWaqqo1GEgwKqsturqq7DGKuustNZq66245qrrrrz26uuvwPaa2wUGFGvsscgmq+yyzDbr7LPQRivttNRWa+212GarLba1CKDCt+CGK+645JZr7rnopqv/7rrstuvuu/DGK++89Mr7gAYA5Kvvvvz26++/AAcs8MAEF2zwwQgnrPDCDDfscMMSWBDAxBRXbPHFGGes8cYcd+zxxyCHLPLIJJds8skon+xABim07PLLMMcs88w012zzzTjnrPPOPPfs889ABy100BSksMLRSCet9NJMN+3001BHLfXUVFdt9dVYZ6311lxvTUGGHoYt9thk0+fAA9KlrfbabLft9ttwx32cBAXcZvfdeOet99589+03aw+IwMLghBdu+OGIJ6744ow37vjjkEcu+eSUV2755ZhfXgsHnXXu+eeghy766KSXHlluDByg+uqst+7667DHLvvstNduqPvtuOeu++689+77771TFwFhxBdv/PHIJ6/88szf9R4LCkQv/fTUV2/99dhnr/323Hfv/ffghy/++OSXb774dMqg1vrst+/++/DHL//8W2EpAAwt5K///vz37///AAygAAdIwAIa8IAITKACF8jABjrwgDqqgAUeAL0EWPCCGMygBjfIwQ568IMgDKEIR0jCEprwhChMoQpXCMIXiQhHMIyhDGdIQxMFAQA7]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAAUHBhUVFRscGzwcHyMiISkjJCsrKzgsLjIyMT0yMzw9PUEYHEotL0EuMEg+P1o9P0NDQ0pFRktLS09PUVNNTltISlNTU1xWVlhYVlpaWmVFSGdeX21QUnVXWX5QU2RkZGZmaGpgYWtra3VsbXBwbnNzc3t7e36Af6U4PYxFSYdPUo9YXYJ5epJucJl1d7hRVbtfZKxgZKpvc7Zqbrdyd8JdY8Vka8tudsFwdsdxeMZ6fsl0e85zes92fNBnbthlbNFsctdvdtJ1etB1fNV0eNV1fNF4ftd4fthzed5wed92feRtdJt+grN8gb58gMd8gcl8gcx6gM59hNJ8gdh5geN/h4OCg4qKi5GLi5SUlJuWl5ubmreOkqWmpqenqaqhoqmnqKurq7Gjo7Ozs7e5uLq0trm5ucGDiMeKj8+AhcuFicqJjc+Kj8WRlc6RltGDidOIjd2Ch9iCiN2Eit2GjtiJjtSPkt+NkdCQkdGZn9qUmt6ZntGfos+5u9qwstqxtd6ys9m8vuOEieSFi+aFjOuCieuIjeqLkeuMlO6KkuyPl+CRluWUmuOYneyTmeqYnu6ZnPOCifKNk/aRl/qRlvmWm/+Sm/+UmvyepeOlqOmkp+6mquqtsuS7v+m7vv+gqP+kqf+nrv+orfarsP+rsPyts/Oytva1u/+yuP+1uv64vf+5wP+7xP+8wv++xMPDw8vLy9rQz9XV1dnZ19zb2+zDxuHO0OLc3ezS1ffFyP/Axf/Cyf7Eyf/GzfrIy//Jzv7Mz/PP0f/K0f/N0f/P1PPR1PDX2vnR0v7Q0v/R1f/U1//S2P7U2f3Z3P/e5ODg3uLh4uXl4+Xl5efn6enl5unp6e7p6e3r7Ozs6u3t7e/x8PTg4ffj5PDu7/ft7P/g5f/k5//l6f/n7Pjo6fvr7Pnu7f/p6//q7f7s7vHv8P/t8fHw7vPz8/f5+Pnx8vn19P7w8v/y9P/19fn3+P/2+Pj49vn5+fv7/fr8+//5+v/7/P78+/7+/gAAAAAAAAAAACH5BAEAAP8ALAAAAAAgACAAAAj/AHlJSiKIly88yJgBypOs1aEgR0YBa0VnjpxHybZJmyatWrd7/AhNYjWIUzId38xlWhPOUZxdqaD86mVkVaocvfLx22kvXTZ+g4h8UvUtGZBQpATJSSZEFzx4dyrtoiJMFw9d9HiyY3dtnitRhYSYSuYjUiQicoQh4RUvHiRKvW68UaMnHD170ExYMJOOnSFXzjC96dXD2TlNapwpASXu2xRRvaQoAxfO1pgrHwIAsFCN3aI0dZ6cSnbmnDo/bdSh2sFmjZ1fm2QwCREBggEEIgwQMJGNXbNitY7Fg1dMnj5uxtSdq8WlRQcOAxgkEKFljAUR2WC9qtabWr7v+vbJ/3N3q8yXERQONKgQgYCDDRQylMg9ZufOrdTu0zJjxUKEAghYAYYVWNxyywa0QGNFF7SEgYA09vGzFYTsfKCABRlIYEY1H3Q2Rhb2sCNCOu9cYUY9WWBQT4S9VcNPNRKUEIYWFowxhgRh8EfCGGRMEAYZIlhhhgVX2BOhNu1AmI0EIFwhAgRXWKHACZgReYUCV1xhwQcmGGBGhPxow46SFpDRDixWsFPPB9LY82GIIGyVxRhdSPDMPhFu5WI2NbLzignsZPMBNOx8uFWH7FwxxgkfrJjnmPwseR0GCoBAAgIfiCABBCKIgFsJENhmBjtgtvhijeu8UgI2HNLCThhZZP/D4TPZZKkAhGBOeOoY9vwZIpuFbrGVCOzYk4UEGZCaKzt7xpiFXllkgeUWInyQxRYQXPsBAVeAeR+k7FjRaabjllsuCJnCYmSpkErY21bwtvjKFmZMY0055KATz3f8flfOOy56a589sOQmgAAlbNMMMOjAwwwy6qgzjCrDgANPwN6yA8sHt1khyxUFaNDEDLqE4wQNzZQyhSJQ/HGxt/bIUoIBBpgAS7HsiLFACjVc8ssQOTCDSCLL6NKJOhjfJwIBARIaITyexIDCEpYUUsQyu1QhxBu5oJM0P9JwebO3+agDxws/LIHJ1csIswsjiSVdqBavCMxP2W7gAIMNu0STwcweerTSCBrf4MqPsRBYAAEtdqvjggcrqMALH+A0w8cabgSDjuFLhgFNBlnYXU4FfeDyQCDy0EOPPPGoM447bd6XgQhjQBCG3etcwIIWCcSS1d3fWQOvPUa+8oEFadqtzxgZWLCFo1plg0+IvWUjqzSBVh9o9txVU806W1nPbDbrHr5ViMOnv1U77LyjJrzn2xcQADs=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Nob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1snYWRtaW5fZGVzY3JpcHRpb24nXSA9ICdUaGlzIG1vZHVsZSBmb3JtcyB0aGUgYmFzZSBvZiBwcmVwYXJpbmcgYSBzaG9wLiBJdCBoYW5kbGVzIHRoZSBwcm9kdWN0cyBhbmQgdGhlaXIgZ3JvdXBpbmcuIEltYWdlcyBhbmQgYXR0cmlidXRlcyBhcmUgYXZhaWxhYmxlIHBlciBwcm9kdWN0JzsKJGxhbmdbJ21lc3NhZ2VfcG9zdGluc3RhbGwnXSA9ICdCZSBzdXJlIHRvIHNldCBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUuJzsKJGxhbmdbJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCddID0gJ0lmIGltYWdlcyBoYXZlIGJlZW4gYWRkZWQsIHRoZXkgYXJlIG5vdCByZW1vdmVkIGR1cmluZyB1bmluc3RhbGwuJzsKJGxhbmdbJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCddID0gJ1JlYWxseT8gWW91XCdyZSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8nOwoKLy8gQ29tbW9uIHRyYW5zbGF0aW9ucwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpb24gJXMgaW5zdGFsbGVkLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBVbmluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwoKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snZG9uZSddID0gJ0RvbmUnOwokbGFuZ1sndXBkYXRlJ10gPSAnVXBkYXRlJzsKJGxhbmdbJ2NvbnRpbnVlJ10gPSAnQ29udGludWUnOwokbGFuZ1snbW9kdWxlX2V4YW1wbGVfc3R5bGVzaGVldCddPSdNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUnOwokbGFuZ1sncm9vdCddID0gJ1Jvb3QnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwoKLy8gVHJhbnNsYXRpb25zIGluIGFscGhhYmV0aWMgb3JkZXIKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOwokbGFuZ1snYWRkYXR0cmlidXRlJ10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBDYXRlZ29yeSc7CiRsYW5nWydhZGRpbWFnZSddID0gJ0FkZCBJbWFnZSc7CiRsYW5nWydhZGR0b2NhcnQnXSA9ICdBZGQgdG8gQ2FydCc7CiRsYW5nWydhZGp1c3R0eXBlbWluJ10gPSAnLSBNaW4nOwokbGFuZ1snYWRqdXN0dHlwZXBsdXMnXSA9ICcrIFBsdXMnOwokbGFuZ1snYWRqdXN0dHlwZXRpbWVzJ10gPSAnKiBUaW1lcyc7CiRsYW5nWydhZGp1c3R0eXBldmFsdWUnXSA9ICdWYWx1ZSc7CiRsYW5nWydiYXNlcHJvZHVjdHByaWNlJ10gPSAnKFByb2R1Y3QgYmFzZSBwcmljZTogJXMpJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfYWRqdXN0bWVudCddID0gJ0FkanVzdG1lbnQnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfZGlzcGxheSddID0gJ0NhbGN1bGF0ZSB3aXRoPyc7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX2l0ZW1udW1iZXInXSA9ICdJdGVtIG51bWJlcic7CiRsYW5nWydjb2x1bW5fYXR0cmlidXRlX21heGFsbG93ZWQnXSA9ICdNYXgnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9taW5hbGxvd2VkJ10gPSAnTWluJzsKJGxhbmdbJ2NvbHVtbl9hdHRyaWJ1dGVfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snY29sdW1uX2F0dHJpYnV0ZV9wcmljZSddID0gJ1ByaWNlJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2NvbHVtbl9pbWFnZV9uYW1lJ10gPSAnSW1hZ2UgZmlsZSc7CiRsYW5nWydkZWxldGVjYXRlZ29yeSddID0gJ0RlbGV0ZSBDYXRlZ29yeSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX25vbmUnXSA9ICdOb3QgdXNlZCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX3Byb2QnXSA9ICdQZXIgcHJvZHVjdCc7CiRsYW5nWydpbnZlbnRvcnl0eXBlX2F0dHInXSA9ICdQZXIgYXR0cmlidXRlJzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZSddID0gJ0F0dHJpYnV0ZSc7CiRsYW5nWydsYWJlbF9hZG1pbl9lbWFpbCddID0gJ0FkbWluaXN0cmF0b3IgRW1haWwnOwokbGFuZ1snbGFiZWxfYWRtaW5fbmFtZSddID0gJ0FkbWluaXN0cmF0b3IgTmFtZSc7CiRsYW5nWydsYWJlbF9hbGxvd2RvdWJsZWl0ZW0nXSA9ICdBbGxvdyBkb3VibGUgaXRlbSBudW1iZXJzPyc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfYWN0aXZlJ10gPSAnQXR0cmlidXRlIGlzIGFjdGl2ZT8nOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX2Rpc3BsYXlvbmx5J10gPSAnT25seSBkaXNwbGF5IHRoZSBhdHRyaWJ1dGU/JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9pdGVtbnVtYmVyJ10gPSAnSXRlbSBudW1iZXInOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX21heGFsbG93ZWQnXSA9ICdNYXhpbXVtIGFsbG93ZWQnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX21pbmFsbG93ZWQnXSA9ICdNaW5pbXVtIGFsbG93ZWQnOwokbGFuZ1snbGFiZWxfYXR0cmlidXRlX25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZV9wcmljZWFkanVzdHR5cGUnXSA9ICdQcmljZSBhZGp1c3QgdHlwZSc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfcHJpY2VhZGp1c3RtZW50J10gPSAnUHJpY2UgYWRqdXN0bWVudCc7CiRsYW5nWydsYWJlbF9hdHRyaWJ1dGVfcHJvZHVjdF9uYW1lJ10gPSAnQXR0cmlidXRlIGZvciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2F0dHJpYnV0ZXNfcHJvZHVjdF9uYW1lJ10gPSAnQXR0cmlidXRlcyBmb3IgcHJvZHVjdCc7CiRsYW5nWydsYWJlbF9jYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydsYWJlbF9jYXRlZ29yaWVzX3RlbXBsYXRlJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9hY3RpdmUnXSA9ICdDYXRlZ29yeSBpcyBhY3RpdmU/JzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfY2F0ZWdvcnlfaWQnXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9pbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX2NhdGVnb3J5X3BhcmVudCddID0gJ1BhcmVudCBDYXRlZ29yeSc7CiRsYW5nWydsYWJlbF9jYXRlZ29yeV9wb3NpdGlvbiddID0gJ0xpc3QgT3JkZXInOwokbGFuZ1snbGFiZWxfY2F0bGlzdF90ZW1wbGF0ZSddID0gJ0NhdGVnb3J5ICYgUHJvZHVjdHMnOwokbGFuZ1snbGFiZWxfY3VycmVudF9jYXRlZ29yeSddID0gJ0N1cnJlbnQgQ2F0ZWdvcnknOwokbGFuZ1snbGFiZWxfZGVjaW1hbHBvc2l0aW9uc3ByaWNlJ10gPSAnRGVjaW1hbHMgdG8gdXNlIGluIHByaWNlcyc7CiRsYW5nWydsYWJlbF9kZWNpbWFsc2VwYXJhdG9ycHJpY2UnXSA9ICdEZWNpbWFsIHBvaW50IGNoYXJhY3Rlcic7CiRsYW5nWydsYWJlbF9kZWNpbWFscG9zaXRpb25zd2VpZ2h0J10gPSAnRGVjaW1hbHMgdG8gdXNlIGluIHdlaWdodHMnOwokbGFuZ1snbGFiZWxfZGVjaW1hbHNlcGFyYXRvcndlaWdodCddID0gJ0RlY2ltYWwgcG9pbnQgY2hhcmFjdGVyJzsKJGxhbmdbJ2xhYmVsX2RlZmF1bHRfY3VycmVuY3knXSA9ICdEZWZhdWx0IEN1cnJlbmN5JzsKJGxhbmdbJ2xhYmVsX2RlZmF1bHRfbGFuZ3VhZ2UnXSA9ICdEZWZhdWx0IExhbmd1YWdlJzsKJGxhbmdbJ2xhYmVsX2RlZmF1bHRfbWF4YXR0cmlidXRlcyddID0gJ0RlZmF1bHQgbWF4aW11bSBhdHRyaWJ1dGVzIHBlciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2RlZmF1bHRfc2t1J10gPSAnRGVmYXVsdCBTdG9jayBLZWVwaW5nIFVuaXQnOwokbGFuZ1snbGFiZWxfZGVmYXVsdF9zeW1ib2wnXSA9ICdEZWZhdWx0IEN1cnJlbmN5IFN5bWJvbCc7CiRsYW5nWydsYWJlbF9kaXNwbGF5cXVpY2tzZWxlY3RvciddID0gJ0Rpc3BsYXkgdGhlIHF1aWNrIHNlbGVjdG9yJzsKJGxhbmdbJ2xhYmVsX2ltYWdlX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbGFiZWxfaW1hZ2VfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGFiZWxfaW1hZ2VfcHJvZHVjdF9uYW1lJ10gPSAnSW1hZ2VzIGZvciBwcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX2ltYWdlcGF0aF9jYXRlZ29yeSddID0gJ1BhdGggdG8gY2F0ZWdvcnkgaW1hZ2VzJzsKJGxhbmdbJ2xhYmVsX2ltYWdlcGF0aF9wcm9kdWN0J10gPSAnUGF0aCB0byBwcm9kdWN0IGltYWdlcyc7CiRsYW5nWydsYWJlbF9pbnZlbnRvcnlzZXR0aW5ncyddID0gJ0ludmVudG9yeSBTZXR0aW5ncyc7CiRsYW5nWydsYWJlbF9pbnZlbnRvcnl0eXBlJ10gPSAnSW52ZW50b3J5IHRvIHRyYWNrJzsKJGxhbmdbJ2xhYmVsX2l0ZW1fY2FwaXRhbF9vbmx5J10gPSAnSXRlbW51bWJlciBjYXBpdGFscyBvbmx5JzsKJGxhbmdbJ2xhYmVsX251bWJlcmZvcm1hdHRpbmcnXSA9ICdOdW1iZXIgRm9ybWF0dGluZyc7CiRsYW5nWydsYWJlbF9vbnN0b2NrJ10gPSAnT24gc3RvY2snOwokbGFuZ1snbGFiZWxfcHJpY2VzX2luY2xfdmF0J10gPSAnUHJpY2VzIGFyZSBpbmNsdXNpdmUgVkFUJzsKJGxhbmdbJ2xhYmVsX3Byb2RkZXRhaWxfdGVtcGxhdGUnXSA9ICdQcm9kdWN0IGRldGFpbCc7CiRsYW5nWydsYWJlbF9wcm9kZmVhdF90ZW1wbGF0ZSddID0gJ0ZlYXR1cmVkIHByb2R1Y3RzJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3QnXSA9ICdQcm9kdWN0JzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfYWN0aXZlJ10gPSAnUHJvZHVjdCBpcyBhY3RpdmU/JzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfY2F0ZWdvcnknXSA9ICdQcm9kdWN0cyBmb3InOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9jYXRlZ29yeV9pZCddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2ZlYXR1cmVkJ10gPSAnRmVhdHVyZSB0aGlzIHByb2R1Y3QnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9pZCddID0gJ0lEJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X2l0ZW1udW1iZXInXSA9ICdJdGVtIG51bWJlcic7CiRsYW5nWydsYWJlbF9wcm9kdWN0X21heGF0dHJpYnV0ZXMnXSA9ICdNYXhpbXVtIGFsbG93ZWQgYXR0cmlidXRlcyc7CiRsYW5nWydsYWJlbF9wcm9kdWN0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfbmV0d2VpZ2h0J10gPSAnTmV0dCBXZWlnaHQnOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9wb3NpdGlvbiddID0gJ0xpc3QgT3JkZXInOwokbGFuZ1snbGFiZWxfcHJvZHVjdF9wcmljZSddID0gJ1ByaWNlJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3Rfc2t1J10gPSAnU3RvY2sgS2VlcGluZyBVbml0IChTS1UpJzsKJGxhbmdbJ2xhYmVsX3Byb2R1Y3RfdmF0Y29kZSddID0gJ1ZBVCc7CiRsYW5nWydsYWJlbF9wcm9kdWN0cGFnZWxpbWl0J10gPSAnTnVtYmVyIG9mIHByb2R1Y3RzIHBlciBwYWdlJzsKJGxhbmdbJ2xhYmVsX3F1YW50aXR5X29uc3RvY2snXSA9ICdRdWFudGl0eSBvbiBzdG9jayc7CiRsYW5nWydsYWJlbF9zYWxlc2ludmVudHRpbWluZyddID0gJ1doZW4gc2hvdWxkIGludmVudG9yeSBiZSBkZWNyZWFzZWQnOwokbGFuZ1snbGFiZWxfc2hvcF9uYW1lJ10gPSAnU2hvcCBOYW1lJzsKJGxhbmdbJ2xhYmVsX3Nob3Bfb25saW5lJ10gPSAnU2hvcCBPbmxpbmUnOwokbGFuZ1snbGFiZWxfc2hvcF9waG9uZSddID0gJ1Nob3AgRW1lcmdlbmN5IFBob25lJzsKJGxhbmdbJ2xhYmVsX3NrdV9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2xhYmVsX3NrdV9uYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydsYWJlbF90YWJfYXR0cmlidXRlcyddID0gJ0F0dHJpYnV0ZXMnOwokbGFuZ1snbGFiZWxfdGFiX2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzIGFuZCBQcm9kdWN0cyc7CiRsYW5nWydsYWJlbF90YWJfaW1hZ2VzJ10gPSAnSW1hZ2VzJzsKJGxhbmdbJ2xhYmVsX3RhYl9vcHRpb25zJ10gPSAnT3B0aW9ucyc7CiRsYW5nWydsYWJlbF90YWJfcHJvZHVjdCddID0gJ1Byb2R1Y3QgRGV0YWlscyc7CiRsYW5nWydsYWJlbF90YWJfcHJvZHVjdF9jYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydsYWJlbF90YWJfc2t1cyddID0gJ1NLVVwncyc7CiRsYW5nWydsYWJlbF90YWJfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZXMnOwokbGFuZ1snbGFiZWxfdGFiX3RlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyc7CiRsYW5nWydsYWJlbF90aG91c2FuZHNlcGFyYXRvcnByaWNlJ10gPSAnVGhvdXNhbmRzIHNlcGFyYXRvcic7CiRsYW5nWydsYWJlbF90aG91c2FuZHNlcGFyYXRvcndlaWdodCddID0gJ1Rob3VzYW5kcyBzZXBhcmF0b3InOwokbGFuZ1snbGFiZWxfdG5oZWlnaHRfcHJvZHVjdCddID0gJ1Byb2R1Y3QgdGh1bWJuYWlsIGhlaWdodCc7CiRsYW5nWydsYWJlbF90bndpZHRoX3Byb2R1Y3QnXSA9ICdXaWR0aCc7CiRsYW5nWydsYWJlbF93ZWlnaHRfdW5pdF9tZWFzdXJlJ10gPSAnUHJvZHVjdCB3ZWlnaHQgaW4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVhdHRyaWJ1dGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGF0dHJpYnV0ZTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZWNhdGVnb3J5J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBjYXRlZ29yeTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZWltYWdlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBpbWFnZTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZXByb2RjYXQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzY29ubmVjdCB0aGlzIHByb2R1Y3Q6ICVzIGZyb20gY2F0ZWdvcnkgJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXJleW91c3VyZXByb2R1Y3QnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHByb2R1Y3Q6ICVzPyc7CiRsYW5nWydtZXNzYWdlX2FyZXlvdXN1cmVza3UnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIFNLVTogJXM/JzsKJGxhbmdbJ21lc3NhZ2VfYXR0cmlidXRlYWRkZWQnXSA9ICdBdHRyaWJ1dGU6ICVzIGhhcyBiZWVuIGFkZGVkJzsKJGxhbmdbJ21lc3NhZ2VfYXR0cmlidXRlZGVsZXRlZCddID0gJ0F0dHJpYnV0ZTogJXMgaGFzIGJlZW4gZGVsZXRlZCc7CiRsYW5nWydtZXNzYWdlX2RvdWJsZWl0ZW1udW1iZXJmb3VuZCddID0gJ0RvdWJsZSBpdGVtIG51bWJlciBmb3VuZCwgc2VlIHByb2R1Y3QgXCclc1wnJzsKJGxhbmdbJ21lc3NhZ2VfaW1hZ2VhZGRlZCddID0gJ0ltYWdlOiAlcyBoYXMgYmVlbiBhZGRlZCc7CiRsYW5nWydtZXNzYWdlX2ltYWdlZGVsZXRlZCddID0gJ0ltYWdlOiAlcyBoYXMgYmVlbiBkZWxldGVkJzsKJGxhbmdbJ21lc3NhZ2Vfbm9hdHRyaWJ1dGVuYW1lZ2l2ZW4nXSA9ICdObyBhdHRyaWJ1dGUgbmFtZSBnaXZlbiwgd2hpbGUgdGhpcyBpcyBtYW5kYXRvcnknOwokbGFuZ1snbWVzc2FnZV9ub2F0dHJpYnV0ZXRvc2F2ZSddID0gJ05vIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiB0byBzYXZlLiBObyBhdHRyaWJ1dGUgYWRkZWQnOwokbGFuZ1snbWVzc2FnZV9ub2ltYWdldG91cGxvYWQnXSA9ICdObyBpbWFnZSB0byB1cGxvYWQuIE5vIGltYWdlIGFkZGVkJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydub19hdHRyaWJ1dGVzX2F2YWlsYWJsZSddID0gJ05vIGF0dHJpYnV0ZXMgYXZhaWxhYmxlJzsKJGxhbmdbJ25vX2ZvbGRlcl9hdmFpbGFibGUnXSA9ICdGb2xkZXIgJXMgdG8gaG9sZCBpbWFnZXMgbm90IGF2YWlsYWJsZSAoc2VjdXJpdHkgcHJvYmxlbT8pJzsKJGxhbmdbJ25vX2ltYWdlc19hdmFpbGFibGUnXSA9ICdObyBpbWFnZXMgYXZhaWxhYmxlJzsKJGxhbmdbJ25vY2F0Zm91bmQnXSA9ICdObyBjYXRlZ29yaWVzIGZvdW5kJzsKJGxhbmdbJ25vcHJvZGZvdW5kJ10gPSAnTm8gcHJvZHVjdHMgZm91bmQnOwokbGFuZ1snbm9wcm9kZm91bmRmb3JzZWFyY2gnXSA9ICdObyBwcm9kdWN0cyBmb3VuZCB3aXRoIGdpdmVuIHNlYXJjaCBjcml0ZXJpYSc7CiRsYW5nWydwaWVjZSddID0gJ1BpZWNlJzsKJGxhbmdbJ29wdGlvbnN1cGRhdGVkJ10gPSAnT3B0aW9ucyBoYXZlIGJlZW4gdXBkYXRlZCc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJpY2VzaW5jdXJleHZhdCddID0gJ0FsbCBwcmljZXMgaW4gJXMsIGV4Y2x1ZGluZyBUQVgvVkFUJzsKJGxhbmdbJ3ByaWNlc2luY3VyaW52YXQnXSA9ICdBbGwgcHJpY2VzIGluICVzLCBpbmNsdWRpbmcgVEFYL1ZBVCc7CiRsYW5nWydwcmludCddID0gJ1ByaW50IHRoaXMgcGFnZSc7CiRsYW5nWydwcmludF9wYWdlJ10gPSAnUHJpbnQnOwokbGFuZ1sncHJvZHVjdHNvbGRvdXQnXSA9ICdTb2xkIG91dCc7CiRsYW5nWydwcm9kdWN0c3JlaW5kZXhlZCddID0gJ1Byb2R1Y3RzIGhhdmUgYmVlbiByZWluZGV4ZWQgZm9yIHRoZSBTZWFyY2ggbW9kdWxlJzsKJGxhbmdbJ3Byb2R1Y3R0aHVtYm5haWxzcmVidWlsZCddID0gJ1RodW1ibmFpbHMgb2YgcHJvZHVjdHMgaGF2ZSBiZWVuIHJlYnVpbGQnOwokbGFuZ1sncHJvbXB0X29mJ10gPSAnb2YnOwokbGFuZ1sncHJvbXB0X3BhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ3Byb3BlcnRpZXNfdXBkYXRlZCddID0gJ1Byb3BlcnRpZXMgaGF2ZSBiZWVuIHVwZGF0ZWQnOwokbGFuZ1sncmVidWlsZHByb2R1Y3R0aHVtYm5haWxzJ10gPSAnUmVidWlsZCc7CiRsYW5nWydzYWxlc2ludmVudHRpbWluZ19jbmYnXSA9ICdTdGF0dXMgY2hhbmdlcyB0byBjb25maXJtZWQnOwokbGFuZ1snc2FsZXNpbnZlbnR0aW1pbmdfaW50J10gPSAnU3RhdHVzIGNoYW5nZXMgdG8gY29uZmlybWVkJzsKJGxhbmdbJ3NhbGVzaW52ZW50dGltaW5nX2ludiddID0gJ0ludm9pY2UgaXMgc2VuZCc7CiRsYW5nWydzYWxlc2ludmVudHRpbWluZ19wYXknXSA9ICdTdGF0dXMgY2hhbmdlcyB0byBwYWlkJzsKJGxhbmdbJ3NhbGVzaW52ZW50dGltaW5nX3NocCddID0gJ1N0YXR1cyBjaGFuZ2VzIHRvIHNoaXBwZWQnOwokbGFuZ1snc2VhcmNoaXRlbSddID0gJ1NlYXJjaCc7CiRsYW5nWydzZWFyY2hyZWluZGV4J10gPSAnUmVpbmRleCBmb3IgU2VhcmNoJzsKJGxhbmdbJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5J10gPSAnU2hvcCBNYWRlIFNpbXBsZTogTWFpbnRhaW4gQ2F0ZWdvcmllcyc7CiRsYW5nWydTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cyddID0gJ1Nob3AgTWFkZSBTaW1wbGU6IE1haW50YWluIFByb2R1Y3RzJzsKJGxhbmdbJ1Nob3BNU19NYWludGFpblNLVXMnXSA9ICdTaG9wIE1hZGUgU2ltcGxlOiBNYWludGFpbiBTdG9jayBLZWVwaW5nIFVuaXRzJzsKJGxhbmdbJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZSddID0gJ1Nob3AgTWFkZSBTaW1wbGU6IEFsbCBwZXJtaXNzaW9ucyc7CiRsYW5nWydza3VkZWxldGVkJ10gPSAnU3RvY2sga2VlcGluZyB1bml0ICVzIGRlbGV0ZWQnOwokbGFuZ1snc2t1aW51c2UnXSA9ICdDYW5cJ3QgZGVsZXRlLCBzdG9jayBrZWVwaW5nIHVuaXQgaXMsIGF0IGxlYXN0LCBpbiB1c2UgaW4gcHJvZHVjdDogJXMnOwokbGFuZ1sndGVtcGxhdGVzdXBkYXRlZCddID0gJ1RlbXBsYXRlcyBoYXZlIGJlZW4gdXBkYXRlZCc7CiRsYW5nWyd0ZXh0X2FjdGl2ZSddID0gJ1NldCBBY3RpdmUnOwokbGFuZ1sndGV4dF9hZGQnXSA9ICdBZGQnOwokbGFuZ1sndGV4dF9jYWxjdWxhdGlvbiddID0gJ1VzZSBjYWxjdWxhdGlvbic7CiRsYW5nWyd0ZXh0X2NhdGVnb3J5J10gPSAnQ2F0ZWdvcnknOwokbGFuZ1sndGV4dF9kZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1sndGV4dF9lZGl0J10gPSAnRWRpdCc7CiRsYW5nWyd0ZXh0X2luYWN0aXZlJ10gPSAnU2V0IEluYWN0aXZlJzsKJGxhbmdbJ3RleHRfbm9jYWxjdWxhdGlvbiddID0gJ0p1c3Qgc2hvdyB0aGUgYXR0cmlidXRlcyBuYW1lJzsKJGxhbmdbJ3RleHRfcHJvZHVjdCddID0gJ1Byb2R1Y3QnOwokbGFuZ1sndGV4dF9za3UnXSA9ICdTdG9jayBLZWVwaW5nIFVuaXQnOwokbGFuZ1sndGV4dG1vcmUnXSA9ICcgLi4uJzsKJGxhbmdbJ3RleHRwcm9kdWN0Y291bnQnXSA9ICdUb3RhbCAlcyBwcm9kdWN0KHMpIGZvdW5kOic7CiRsYW5nWyd0aXRsZV9oaWRlJ10gPSAnSGlkZSc7CiRsYW5nWyd0aXRsZV9zaG93J10gPSAnU2hvdyc7CiRsYW5nWyd0aXRsZV9xdWlja19zZWxlY3RvciddID0gJ1F1aWNrIHNlbGVjdG9yJzsKJGxhbmdbJ3Rvb2x0aXBfbWF4YXR0cmlidXRlcyddID0gJ1RoaXMgZmllbGQgYWxsb3dzIHlvdSB0byBoYXZlIHRoZSB2aXNpdG9yIHRvIHNlbGVjdCB1cCB0byBnaXZlbiBudW1iZXIgb2YgYXR0cmlidXRlcy4gCkJsYW5rIG9yIHplcm8gbWVhbnMgbm8gbGltaXQuJzsKJGxhbmdbJ3Rvb2x0aXBfcXVhbnRpdHlfb25zdG9jayddID0gJ0VudGVyIGhlcmUgdGhlIHF1YW50aXR5IG9mIHN0b2NrIHRoYXQgeW91IGhhdmUuJzsKJGxhbmdbJ3Vua25vd25fZGlzcGxheSddID0gJ1BhcmFtZXRlciBcJ2Rpc3BsYXlcJyBub3QgZGVmaW5lZCBpbiBhY3Rpb24uZGVmYXVsdC5waHAnOwokbGFuZ1sndmFyaW91c2NhdGVnb3JpZXMnXSA9ICdPbmUgb3IgbW9yZSBjYXRlZ29yaWVzJzsKCi8vIEFkbWluCiRsYW5nWydoZWxwY2F0ZWdvcnlfaWQnXSA9ICdUaGUgY2F0ZWdvcnlfaWQgdG8gZGlyZWN0bHkgc2hvdyBhIGxpc3Qgb2Ygc3ViIGNhdGVnb3JpZXMuJzsKJGxhbmdbJ2hlbHBjYXRuYW1lJ10gPSAnTmFtZSBvZiBjYXRlZ29yeS4gTXVzdCBleGFjdGx5IG1hdGNoLiBJZiBsZWZ0IGJsYW5rLCB0aGUgcHJvZHVjdHMgZnJvbSB0aGUgcm9vdCBjYXRlZ29yeSB3aWxsIGJlIHNob3duLiAKVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB1c2VkIGlmIHRoZSBwYXJhbWV0ZXIgZGlzcGxheSBjb250YWlucyBwcm9kdWN0bGlzdCAoc2VlIGV4YW1wbGUpLic7CiRsYW5nWydoZWxwZGV0YWlscGFnZSddID0gJ1RoZSBhbGlhcyBvZiB0aGUgcGFnZSB0byB1c2Ugd2hlbiBkZXRhaWwgaXMgcmVxdWVzdGVkLic7CiRsYW5nWydoZWxwZGlzcGxheSddID0gJ1NwZWNpZmllcyB0aGUgdHlwZSBvZiBkaXNwbGF5IHlvdSB3YW50IHRvIHNob3cuIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGF2YWlsYWJsZTo8dWw+Cgk8bGk+Y2F0ZWdvcnlsaXN0IChkZWZhdWx0KSAtIHNob3dzIGEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBhbmQgdGhlIG51bWJlciBvZiBwcm9kdWN0cyB3aXRoaW4gY2F0ZWdvcnkgKG9uZSBsZXZlbCBvbmx5ISk7PC9saT4KCTxsaT5jYXRsaXN0IC0gc2hvd3MgbGlzdCBvZiBjYXRlZ29yaWVzIHdpdGggbnVtYmVyIG9mIHByb2R1Y3RzLiBVc2UgdGhpcyBpZiBtdWx0aXBsZSBsZXZlbHMgb2YgY2F0ZWdvcmllcyBhcmUgdXNlZDs8L2xpPgoJPGxpPmZlYXR1cmVkIC0gc2hvd3MgYSBsaXN0IG9mIHRoZSBwcm9kdWN0cyB0aGF0IGFyZSBtYXJrZWQgYXMgZmVhdHVyZWQ7PC9saT4KCTxsaT5wcm9kdWN0bGlzdCAtIHNob3cgcHJvZHVjdHMgZnJvbSBhIG5hbWVkIGNhdGVnb3J5LjwvbGk+CjwvdWw+JzsKJGxhbmdbJ2hlbHBwYWdlbnVtYmVyJ10gPSAnRW50ZXIgdGhlIG51bWJlciBvZiB0aGUgcGFnZSB0aGF0IHRoZSBwcm9kdWN0cyBzaG91bGQgYmUgc2hvd24uIFwncGFnZW51bWJlcj0yXCcgd2lsbCBzaG93IGFsbCBwcm9kdWN0cyBhcyBvZiBwYWdlIDIuIApUaGUgdmlzaXRvciB3aWxsIGJlIGFibGUgdG8gdXNlIHRoZSBwcmV2aW91cyBwYWdlIGFuZCB0aGUgbmV4dCAoaWYgYW55KS4gSWYgdGhlIHBhZ2VudW1iZXIgaXMgbm90IHBhc3NlZCwgcGFnZSAxIHdpbGwgYmUgc2hvd24uJzsKJGxhbmdbJ2hlbHBwYXJlbnRjYXRlZ29yeSddID0gJ0ludGVybmFsIG51bWJlciBvZiBjYXRlZ29yeS4gVGhpcyB3aWxsIHNob3cgYSBsaXN0IG9mIGFsbCB0aGUgY2F0ZWdvcmllcyB1c2luZyB0aGUgcHJvdmlkZWQgbnVtYmVyIGFzIHBhcmVudC4gClRoZSBpbnRlcm5hbCBudW1iZXIgY2FuIGJlIGZvdW5kIG9uIHRoZSBsZWZ0IHNpZGUgb2YgZWFjaCBjYXRlZ29yeSBpbiB0aGUgYWRtaW4gcGFnZSBvZiB0aGlzIG1vZHVsZS4nOwokbGFuZ1snaGVscHByb2RwYWdlbGltaXQnXSA9ICdUaGUgbnVtYmVyIG9mIHByb2R1Y3RzIHRoYXQgYXJlIHRvIGJlIHNob3duIG9uIG9uZSBwYWdlLiBUaGlzIG92ZXJyaWRlcyB0aGUgdmFsdWUgYXMgZW50ZXJlZCBpbiB0aGUgb3B0aW9ucy4nOwokbGFuZ1snaGVscHN0YXJ0J10gPSAnVGhlIHN0YXJ0aW5nIHZhbHVlIGZvciB0aGUgcGFnZSBvZiBwcm9kdWN0cy4gSWYgeW91IHdhbnQgdG8gc2hvdyBhbGwgcHJvZHVjdHMgc3RhcnRpbmcgYXQgdGhlIGZvdXJ0aCwgdXNlIFwnc3RhcnQ9NFwnLic7CgokbGFuZ1snaGVscCddID0gJwo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+CkEgdmlzaXRvciBvZiB0aGUgd2Vic2l0ZSB3aWxsIHNlZSBhIGxpc3Qgb2YgY2F0ZWdvcmllcy4gWW91IHdpbGwgYmUgYWJsZSB0byBzaG93IGEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBieSBwbGFjaW5nIGEgc21hcnR5IHRhZyBpbiBhIHBhZ2Ugb3IgdGVtcGxhdGUgdXNpbmcgJiMxMjM7Y21zX21vZHVsZSBtb2R1bGU9U2hvcE1hZGVTaW1wbGV9Ljxicj4gClVzaW5nIHRoZSBwYXJhbWV0ZXIgY29ubmVjdGVkIHRvIGEgY2F0ZWdvcnksIHlvdSBhcmUgYWJsZSB0byBzaG93IHByb2R1Y3RzIGxpbmtlZCB0byB0aGF0IGNhdGVnb3J5Ljxicj4KQW4gZXhhbXBsZSBpczoge2Ntc19tb2R1bGUgbW9kdWxlPVNob3BNYWRlU2ltcGxlIGRpc3BsYXk9XCdwcm9kdWN0bGlzdFwnIGNhdG5hbWU9XCdHYXJkZW50b29sc1wnfS4gVGhpcyB3aWxsIHNob3cgYWxsIHByb2R1Y3RzIHRoYXQgYXJlIGNvbm5lY3RlZCB0byB0aGUKY2F0ZWdvcnkgbmFtZSBcJ0dhcmRlbnRvb2xzXCcuIFVzaW5nIHRoZSBkaXNwbGF5PVwncHJvZHVjdGxpc3RcJyB3aXRob3V0IGEgY2F0ZWdvcnkgbmFtZSB3aWxsIHNob3cgdGhlIHByb2R1Y3RzIGluIHRoZSByb290Ljxicj4gCkFub3RoZXIgZXhhbXBsZSBpczoge2Ntc19tb2R1bGUgbW9kdWxlPVNob3BNYWRlU2ltcGxlIGRpc3BsYXk9XCdjYXRlZ29yeWxpc3RcJ30uIFRoaXMgd2lsbCBzaG93IHRoZSB2YXJpb3VzIGNhdGVnb3JpZXMuIElmIG9uZSBpcyBzZWxlY3RlZCwgYWxsIHRoZSBjb25uZWN0ZWQgcHJvZHVjdHMgYXJlIHNob3duLjxicj4KSWYgeW91IGRvblwndCB3YW50IHRvIHNlZSBhbiBpbWFnZSBmb3IgYSBjYXRlZ29yeSBvbiB0aGUgZnJvbnQgZW5kLCBwbGFjZSBcJ25vX2ltYWdlLmpwZ1wnIGluIHRoZSBmaWVsZCBcJ0ltYWdlXCcuPGJyPjxicj4KV2hlbiB0aGUgU2VhcmNoIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFsbCB0aGUgd29yZHMgYXMgZW50ZXJlZCBpbiB0aGUgcHJvZHVjdCBuYW1lIGFuZCBwcm9kdWN0IGRlc2NyaXB0aW9uIHdpbGwgYmUgcGFydCBvZiB0aGUgc2VhcmNoIGluZGV4Ljxicj4KSWYgdGhlIFNlYXJjaCBtb2R1bGUgaXMgaW5zdGFsbGVkIGFmdGVyIHRoaXMgbW9kdWxlLCBvbmUgY2FuIHVzZSB0aGUgYnV0dG9uIFJlaW5kZXggZm9yIFNlYXJjaCBmcm9tIHRoZSBvcHRpb25zIHRhYiBpbiB0aGUgYmFjayBlbmQuPGJyIC8+CldoZW4geW91IHVzZSBpbnZlbnRvcnkgdHJhY2tpbmcsIHRoZSBxdWFudGl0eSBzb2xkIHdpbGwgYmUgc3VidHJhY3RlZCBmcm9tIHRoZSBxdWFudGl0eSBvbiBzdG9jayBhdCB0aGUgbW9tZW50IHRoYXQgcGF5bWVudCBoYXMgYmVlbiAKcmVjZWl2ZWQuCgo8aDM+U3VwcG9ydDwvaDM+CjxwPldoZW4geW91IGhhdmUgdXBncmFkZWQgdGhpcyBtb2R1bGUsIHBsZWFzZSByZWFkIHRoZSBBYm91dCBpbmZvcm1hdGlvbiBmb3IgaW5zdGFsbGF0aW9uL3VwZ3JhZGUgaXNzdWVzLjwvcD4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBzZWUgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc21zIj5wcm9qZWN0cyBob21lcGFnZTwvYT47PC9saT4KPGxpPkNvbW1lcmNpYWwgc3VwcG9ydCBpcyBhdmFpbGFibGUgdmlhIER1a2V0b3duXCdzIG1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmR1a2V0b3duLmV1Ij5EdWtldG93bjwvYT47PC9saT4KPGxpPkJ1eSB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5kdWtldG93bi5ldS9zaG9wIj5DTVMgTWFkZSBTaW1wbGUgYm9vazwvYT4gZnJvbSBEdWtldG93biwgd2hpY2ggZGVzY3JpYmVzIGluIGRldGFpbCBob3cgdG8gdXNlIHRoaXMgbW9kdWxlOzwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgtMjAxMS48YnI+CkF1dGhvcjogRHVrZXRvd24KPHA+Tm93IHRoYXQgeW91IGFyZSB1c2luZyB0aGlzIGZyZWUgbW9kdWxlLCB3aHkgbm90IHNoYXJlIGEgdGlueSBiaXQgb2YgeW91ciBlYXJuZWQgbW9uZXkgdmlhIGEgZG9uYXRpb24gdmlhIER1a2V0b3duISBUaGFua3MgaW4gYWR2YW5jZS4KPGZvcm0gdGFyZ2V0PSJfYmxhbmsiIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IjI0QkVQRFQzRFZOTUoiPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vZW5fVVMvaS9idG4vYnRuX2RvbmF0ZV9TTS5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lISI+CjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9lbl9VUy9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgo8L2Zvcm0+CjwvcD4KPC9wPgonOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.sms_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSAKIyBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgRHVrZXRvd24gCiMKIyBUaGlzIGZ1bmN0aW9uIHN1cHBvcnRzIHRoZSBhZG1pbiBwYXJ0IG9mIG1vZHVsZSBTaG9wIE1hZGUgU2ltcGxlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3NtcwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNsYXNzIHNtc191dGlscwp7CglmdW5jdGlvbiBnZXRfcHJvZHVjdHNfc3Vic2V0KCRpdGVtbnVtYmVyID0gLTEpIHsKCQlpZiAoJGl0ZW1udW1iZXIgPT0gLTEpIHJldHVybiBmYWxzZTsKCQkKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzCgkJCVdIRVJFIFVQUEVSKGl0ZW1udW1iZXIpIGxpa2UgIiUnIC4gc3RydG91cHBlcigkaXRlbW51bWJlcikgLiclIic7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJJHByb2R1Y3RzdWJzZXQgPSBhcnJheSgpOwoJCXdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgewoJCQkvLyBNYWtlIHN1cmUgdGhhdCB0aGUgZGVzY3JpcHRpb24gZG9lc24ndCBzcGFuIG11bHRpcGxlIGxpbmVzCgkJCSRyb3dbJ2Rlc2NyaXB0aW9uJ10gPSBzdHJpcF90YWdzKCRyb3dbJ2Rlc2NyaXB0aW9uJ10pOwoJCQkkcHJvZHVjdHN1YnNldFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRwcm9kdWN0c3Vic2V0OwkKCgl9Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/library/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/library/categories.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgQ2F0ZWdvcmllcyB7CgkKCXZhciAkbW9kdWxlOwoJdmFyICR0YWJvcHRhcnJheTsKCQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIENhdGVnb3JpZXMoKQoJICAgVGhpcyBmdW5jdGlvbiBkZWZpbmVzIHRoZSBjbGFzcyBDYXRlZ29yaWVzCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBDYXRlZ29yaWVzKCYkbW9kdWxlKSB7CgkJJHRoaXMtPm1vZHVsZSA9ICRtb2R1bGU7CgkJJHRoaXMtPnRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0KCkKCSAgIFRoaXMgZnVuY3Rpb24gcmV0cmlldmVzIGNhdGVnb3J5IGluZm9ybWF0aW9uIGJhc2VkIHVwb24gcGFzc2VkIGNhdGVnb3J5IGlkCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXQoJGNhdGVnb3J5X2lkKSB7CgkJLy8gUmV0cmlldmUgaW5mb3JtYXRpb24gb24gdGhlIGNhdGVnb3J5IGJ5IGlkCgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLAoJCSAgICAgICAgICAgICAgIHBhcmVudF9pZCwKCQkgICAgICAgICAgICAgICBuYW1lLAoJCSAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLAoJCSAgICAgICAgICAgICAgIGltYWdlLAoJCSAgICAgICAgICAgICAgIGFjdGl2ZSwKCQkgICAgICAgICAgICAgICBwb3NpdGlvbgoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzCgkJICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfaWQgKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0Q2F0QnlOYW1lKCkKCSAgIFRoaXMgZnVuY3Rpb24gcmV0cmlldmVzIHRoZSBjYXRlZ29yaWVzIHRoYXQgaGF2ZSBhIHBhc3NlZCBuYW1lLiBUaGUgZmlyc3QgcmV0cmlldmVkIHdpbGwgYmUgcmV0dXJuZWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldENhdEJ5TmFtZSgkY2F0ZWdvcnlfbmFtZSkgewoJCS8vIFJldHJpZXZlIGluZm9ybWF0aW9uIG9uIHRoZSBjYXRlZ29yeSBieSBjYXRlZ29yeSBuYW1lCgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUICoKCQkgICAgICAgIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcwoJCSAgICAgICAgV0hFUkUgbmFtZT0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfbmFtZSApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRMaXN0KCkKCSAgIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gYXJyYXkgZmlsbGVkIHdpdGggY2F0ZWdvcmllcyB0aGF0IGJlbG9uZyB0byB0aGUgcGFzc2VkIHBhcmVudCBpZC4KCSAgIFJvb3QgaWQgaXMgdGFrZW4gaWYgbm8gcGFyZW50IGlkIHBhc3NlZC4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldExpc3QoJHBhcmVudF9pZD0wKSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLAoJCSAgICAgICAgICAgICAgIHBhcmVudF9pZCwKCQkgICAgICAgICAgICAgICBuYW1lLAoJCSAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLAoJCSAgICAgICAgICAgICAgIGltYWdlLAoJCSAgICAgICAgICAgICAgIGFjdGl2ZSwKCQkgICAgICAgICAgICAgICBwb3NpdGlvbgoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19jYXRlZ29yaWVzCgkJICAgICAgICBXSEVSRSBwYXJlbnRfaWQ9PyBPUkRFUiBCWSBwb3NpdGlvbiI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmVudF9pZCApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGRvZXNuJ3Qgc3BhbiBtdWx0aXBsZSBsaW5lcwoJCQkkcm93WydkZXNjcmlwdGlvbiddID0gc3RyaXBfdGFncygkcm93WydkZXNjcmlwdGlvbiddKTsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBFbmFibGVDYXRlZ29yeSgpCgkgICBUaGlzIGZ1bmN0aW9uIHdpbGwgc2F2ZSBhIHJvdyB3aXRoIHBhc3NlZCBjYXRlZ29yeSBpbmZvcm1hdGlvbiAKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIENyZWF0ZSgmJGNhdGVnb3J5KSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCWlmICghaXNfbnVtZXJpYygkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10pKSAkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10gPSAwOwoJCSRzcWwgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcyhwYXJlbnRfaWQsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSwgCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUsIAoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24pIAoJCSAgICAgICAgVkFMVUVTKD8sPyw/LD8sPyw/KSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydwYXJlbnRfaWQnXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WyduYW1lJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydkZXNjcmlwdGlvbiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXRlZ29yeVsnaW1hZ2UnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ2FjdGl2ZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjYXRlZ29yeVsncG9zaXRpb24nXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBVcGRhdGUoKQoJICAgVGhpcyBmdW5jdGlvbiB3aWxsIHVzZSB0aGUgcGFzc2VkIGNhdGVnb3J5IGluZm9ybWF0aW9uIGFuZCBzYXZlIHRoZSB2YWx1ZXMgZm9yIHRoZSBwYXNzZWQgY2F0ZWdvcnkgaWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIFVwZGF0ZSgmJGNhdGVnb3J5KSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMKCQkgICAgICAgIFNFVCBwYXJlbnRfaWQ9PywgCgkJICAgICAgICAgICAgbmFtZT0/LAoJCSAgICAgICAgICAgIGRlc2NyaXB0aW9uPT8sIAoJCSAgICAgICAgICAgIGltYWdlPT8sIAoJCSAgICAgICAgICAgIGFjdGl2ZT0/LCAKCQkgICAgICAgICAgICBwb3NpdGlvbj0/IAoJCSAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydwYXJlbnRfaWQnXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WyduYW1lJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydjZGVzY3JpcHRpb24nXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ2ltYWdlJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydhY3RpdmUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2F0ZWdvcnlbJ3Bvc2l0aW9uJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERlbGV0ZSgpCgkgICBUaGlzIGZ1bmN0aW9uIHJlc2V0IGNoaWxkIGNhdGVnb3JpZXMgdG8gdGhlIHJvb3QgYXMgcGFyZW50LiBOZXh0IHRoZSBjYXRlZ29yeSBpcyBkZWxldGVkCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBEZWxldGUoJiRjYXRlZ29yeSkgewoJCSRkYiA9JiAkdGhpcy0+bW9kdWxlLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkvLyBGaXJzdCByZXNldCBhbGwgY29ubmVjdGVkIHByb2R1Y3RzIHRvIHJvb3Qgb3RoZXJ3aXNlIHRoZXkgYXJlIGxvc3QgaW4gJ3NwYWNlJwoJCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgU0VUIGNhdGVnb3J5X2lkPSAwIFdIRVJFIGNhdGVnb3J5X2lkPT8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCkpOwoJCS8vIE5vdyB0aGF0IHRoZSBjYXRlZ29yeSBoYXMgbm8gY29ubmVjdGlvbnMgYW55bW9yZSBpdCBjYW4gYmUgcmVtb3ZlZAoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcwoJCSAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEJ1aWxkTGlzdCgpCgkgICBUaGlzIGZ1bmN0aW9uIGJ1aWxkIHJlY3Vyc2l2ZWx5IGEgcGF0aCB0byB0aGUgY2F0ZWdvcnkKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEJ1aWxkTGlzdCgkY2F0ZWdvcnlfaWQ9MCwgJGNhdGVnb3J5X2xpc3Q9JycsICRsZXZlbD0wKSB7CgkJJHBhZCA9IHN0cl9wYWQoIiIsICRsZXZlbCwiLSIsU1RSX1BBRF9MRUZUKTsKCQlpZiAoJGNhdGVnb3J5X2xpc3QgPT0gJycpICRjYXRlZ29yeV9saXN0ID0gYXJyYXkoJHRoaXMtPm1vZHVsZS0+TGFuZygncm9vdCcpID0+ICcwJyk7CgkJJGNhdGVnb3J5ID0gJHRoaXMtPkdldCgkY2F0ZWdvcnlfaWQpOwoJCWlmICggJGNhdGVnb3J5WyduYW1lJ10gIT0gJycgKSB7CgkJCSRjYXRlZ29yeV9saXN0WyRjYXRlZ29yeVsnbmFtZSddXSA9ICRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXTsKCQl9CgkJZm9yZWFjaCAoJHRoaXMtPkdldExpc3QoJGNhdGVnb3J5X2lkKSBhcyAkY2F0ZWdvcnkpIHsKCQkgICAgJG5hbWUgPSAkcGFkLiIgIi4kY2F0ZWdvcnlbJ25hbWUnXTsKCQkJJGNhdGVnb3J5X2xpc3RbJG5hbWVdID0gJGNhdGVnb3J5WydjYXRlZ29yeV9pZCddOwoJCQkkdGhpcy0+QnVpbGRMaXN0KCRjYXRlZ29yeVsnY2F0ZWdvcnlfaWQnXSwgJGNhdGVnb3J5X2xpc3QsICRsZXZlbCsxKTsKCQl9CgkJcmV0dXJuICRjYXRlZ29yeV9saXN0OwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBCdWlsZFRvdGFsTGlzdCgpCgkgICBUaGlzIGZ1bmN0aW9uIHNlbGVjdHMgYWxsIHRoZSBjYXRlZ29yaWVzIGFuZCBidWlsZCBhIGxpc3Qgb2YgdGhlaXIgbmFtZXMKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEJ1aWxkVG90YWxMaXN0KCRjYXRlZ29yeV9pZCA9IC0xKSB7CgkJJGRiID0mICR0aGlzLT5tb2R1bGUtPkdldERiKCk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRzcWwgPSAnU0VMRUNUIGNhdGVnb3J5X2lkLCBwYXJlbnRfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLAoJCQlpbWFnZSwgYWN0aXZlLCBwb3NpdGlvbgoJCQlGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMKCQkJV0hFUkUgY2F0ZWdvcnlfaWQgPD4gPwoJCQlPUkRFUiBCWSBuYW1lJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRjYXRlZ29yeV9pZCkgKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkY2F0ZWdvcnlfbGlzdCA9IGFycmF5KCk7CgkJJGNhdGVnb3J5X2xpc3RbJHRoaXMtPm1vZHVsZS0+TGFuZygncm9vdCcpXSA9ICcwJzsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJGNhdGVnb3J5X2xpc3RbJHJvd1snbmFtZSddXSA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkJfQoJCXJldHVybiAkY2F0ZWdvcnlfbGlzdDsJCgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEJ1aWxkUGF0aCgpCgkgICBUaGlzIGZ1bmN0aW9uIGJ1aWxkcyBhbiBhcnJheSB3aXRoIGFsbCBpbmZvcm1hdGlvbiBvZiBjYXRlZ29yaWVzIGluIGEgcGF0aAoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gQnVpbGRQYXRoKCRjYXRlZ29yeSkgewoJCSRwYXRoX2FycmF5ID0gYXJyYXkoKTsKCQkkcGF0aF9hcnJheVtdID0gJGNhdGVnb3J5OwoJCXdoaWxlICgkY2F0ZWdvcnlbJ2NhdGVnb3J5X2lkJ10gIT0gMCkgewoJCQkkY2F0ZWdvcnkgPSAkdGhpcy0+R2V0KCRjYXRlZ29yeVsncGFyZW50X2lkJ10pOwoJCQlpZiAoJGNhdGVnb3J5KSB7CgkJCQkkcGF0aF9hcnJheVtdID0gJGNhdGVnb3J5OwoJCQl9CgkJfQoJCXJldHVybiBhcnJheV9yZXZlcnNlKCRwYXRoX2FycmF5KTsKCX19Cj8+]]></data>
	</file>
	<file>
	  <filename>/library/products.api.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKY2xhc3MgU01TUHJvZHVjdHMgewoJCgl2YXIgJG1vZHVsZTsKCXZhciAkdGFib3B0YXJyYXk7CgkKCWZ1bmN0aW9uIFNNU1Byb2R1Y3RzKCRtb2R1bGUpIHsKCQkkdGhpcy0+bW9kdWxlID0gJG1vZHVsZTsKCQkkdGhpcy0+dGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJfQoKCWZ1bmN0aW9uIEdldCgkcHJvZHVjdF9pZCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICJTRUxFQ1QgcHJvZHVjdF9pZCwgbmFtZSwgZGVzY3JpcHRpb24sIHByaWNlLAoJCQkJYWN0aXZlLCBmZWF0dXJlZCwgbmV0d2VpZ2h0LCB2YXRjb2RlLCBza3UsCgkJCQlpdGVtbnVtYmVyLCBwb3NpdGlvbiwgbWF4YXR0cmlidXRlcwoJCSAgICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzCgkJCQlXSEVSRSBwcm9kdWN0X2lkPT8iOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0X2lkICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRwcm9kdWN0ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJCS8qKgoJCSAqIEdldCB0aGUgY2F0ZWdvcmllcyB0aGlzIHByb2R1Y3QgYmVsb25ncyB0by4KCQkgKi8KCQkkcHJvZHVjdFsnY2F0ZWdvcmllcyddID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkdGhpcy0+R2V0Q2F0ZWdvcnlNYXAoJHByb2R1Y3RfaWQpIGFzICRjYXRlZ29yeV9tYXApIHsKCQkJJHByb2R1Y3RbJ2NhdGVnb3JpZXMnXVtdID0gJHRoaXMtPm1vZHVsZS0+Y2F0ZWdvcmllcy0+R2V0KCRjYXRlZ29yeV9tYXBbJ2NhdGVnb3J5X2lkJ10pOwoJCX0KCQkvKioKCQkgKiBHZXQgdGhlIGltYWdlcyBmb3IgdGhlIHByb2R1Y3QuCgkJICovCgkJJHNxbCA9ICJTRUxFQ1QgcHJvZHVjdF9pbWFnZXNfaWQsIHByb2R1Y3RfaWQsIGltYWdlLCBkZXNjcmlwdGlvbgoJCSAgICAgICAgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcwoJCSAgICAgICAgV0hFUkUgcHJvZHVjdF9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdF9pZCApKTsKCQkKCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJJHByb2R1Y3RbJ2ltYWdlcyddW10gPSAkcm93OwoJCX0KCQkvKioKCQkgKiBHZXQgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHByb2R1Y3QuCgkJICovCgkJJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcwoJCQlXSEVSRSBwcm9kdWN0X2lkPT8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0X2lkICkpOwoKCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJJHByb2R1Y3RbJ2F0dHJpYnV0ZXMnXVtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRwcm9kdWN0OwkJCgl9CgoJZnVuY3Rpb24gR2V0TGlzdCgkY2F0ZWdvcnlfaWQ9MCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICJTRUxFQ1QgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMucHJvZHVjdF9pZCwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5uYW1lLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLmRlc2NyaXB0aW9uLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLnByaWNlLAoJCSAgICAgICAgICAgICAgICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLmFjdGl2ZSwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5mZWF0dXJlZCwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5uZXR3ZWlnaHQsCgkJICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMudmF0Y29kZSwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5za3UsCgkJICAgICAgICAgICAgICAgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdHMuaXRlbW51bWJlciwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5wb3NpdGlvbiwKCQkgICAgICAgICAgICAgICAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5tYXhhdHRyaWJ1dGVzCgkJCQlGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5CgkJCQlXSEVSRSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5wcm9kdWN0X2lkID0gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeS5wcm9kdWN0X2lkCgkJCQlBTkQgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeS5jYXRlZ29yeV9pZCA9ID8gCgkJCQlPUkRFUiBCWSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cy5wb3NpdGlvbiI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGNhdGVnb3J5X2lkKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCS8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBkb2Vzbid0IHNwYW4gbXVsdGlwbGUgbGluZXMKCQkJJHJvd1snZGVzY3JpcHRpb24nXSA9IHN0cmlwX3RhZ3MoJHJvd1snZGVzY3JpcHRpb24nXSk7CgkJCSRyZXN1bHRbXSA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmVzdWx0OwkKCX0KCWZ1bmN0aW9uIENyZWF0ZSgmJHByb2R1Y3QpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSA9IHN0cnRvdXBwZXIoJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSk7CgkJfQoJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMobmFtZSwgZGVzY3JpcHRpb24sIAoJCQlwcmljZSwgYWN0aXZlLCBmZWF0dXJlZCwgbmV0d2VpZ2h0LCB2YXRjb2RlLCBza3UsIGl0ZW1udW1iZXIsIHBvc2l0aW9uLCAKCQkJbWF4YXR0cmlidXRlcykgCgkJCVZBTFVFUyg/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsnbmFtZSddLCAkcHJvZHVjdFsnZGVzY3JpcHRpb24nXSwKCQkJJHByb2R1Y3RbJ3ByaWNlJ10sICRwcm9kdWN0WydhY3RpdmUnXSwgJHByb2R1Y3RbJ2ZlYXR1cmVkJ10sICRwcm9kdWN0WyduZXR3ZWlnaHQnXSwKCQkJJHByb2R1Y3RbJ3ZhdGNvZGUnXSwgJHByb2R1Y3RbJ3NrdSddLCAkcHJvZHVjdFsnaXRlbW51bWJlciddLCAkcHJvZHVjdFsncG9zaXRpb24nXSwKCQkJJHByb2R1Y3RbJ21heGF0dHJpYnV0ZXMnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRwcm9kdWN0Wydwcm9kdWN0X2lkJ10gPSAkZGItPkluc2VydF9JRCgpOwoKCQkvLyBBZGQgdG8gc2VhcmNoIGluZGV4CgkJZ2xvYmFsICRDTVNfVkVSU0lPTjsKCQlpZiAodmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMC1iZXRhMCcsJz4nKSAmJgoJCQl2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjExJywnPCcpKSB7CgkJCSRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CgkJCSRzZWFyY2htb2R1bGUgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdTZWFyY2gnKTsKCQl9CgkJZWxzZSB7CgkJCSRnQ21zID0gY21zbXMoKTsKCQkJJHNlYXJjaG1vZHVsZSA9JiAkZ0Ntcy0+bW9kdWxlc1snU2VhcmNoJ11bJ29iamVjdCddOwoJCX0KCQlpZiAoJHNlYXJjaG1vZHVsZSAhPSBGQUxTRSkKCQl7CgkJCSR0ZXh0ID0gJHByb2R1Y3RbJ25hbWUnXS4nICcuJHByb2R1Y3RbJ2Rlc2NyaXB0aW9uJ107CgkJCSRzZWFyY2htb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKSwgJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSwgJ3Byb2R1Y3QnLCAkdGV4dCk7CgkJfQoKCQlyZXR1cm4gdHJ1ZTsKCX0KCWZ1bmN0aW9uIENyZWF0ZUNhdGVnb3J5TWFwKCRjYXRlZ29yeV9pZCwgJHByb2R1Y3RfaWQpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIERvbid0IGFsbG93IHR3aWNlIHRoZSBzYW1lIGVudHJ5LCBzaW5jZSBkZWxldGlvbiBvZiBvbmUgb2YgdGhlIGNhdGVnb3J5L3Byb2R1Y3RzIGlzIG5vdCBwb3NzaWJsZSBhbnltb3JlCgkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgV0hFUkUgY2F0ZWdvcnlfaWQ9PyBBTkQgcHJvZHVjdF9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfaWQsICRwcm9kdWN0X2lkKSk7CgkJaWYgKCAhJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkJCSRzcWwgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeShjYXRlZ29yeV9pZCwgcHJvZHVjdF9pZCkgCgkJCSAgICAgICAgVkFMVUVTKD8sPykiOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkY2F0ZWdvcnlfaWQsICRwcm9kdWN0X2lkKSk7CgkJCWlmKCAhJGRicmVzdWx0ICkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCXJldHVybiB0cnVlOwoJfQoJZnVuY3Rpb24gRGVsZXRlQ2F0ZWdvcnlNYXAoJGNhdGVnb3J5X2lkLCAkcHJvZHVjdF9pZCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgbGFzdCBjYXRlZ29yeSB0aGF0IGlzIGNvbm5lY3RlZC4KCQkvLyBJZiB0aGF0IGlzIHRydWUsIHJlc2V0IGNhdGVnb3J5IHRvIHJvb3QsIGVsc2UgcHJvZHVjdCBjYW4ndCBiZSBmb3VuZCBhbnltb3JlCgkJJHNxbCA9ICJTRUxFQ1QgQ09VTlQoY2F0ZWdvcnlfaWQpIGFzIGNudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgV0hFUkUgcHJvZHVjdF9pZD0/IjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRwcm9kdWN0X2lkKSk7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQlpZiAoJHJvd1snY250J10gPT0gMSkgewoJCQkvLyBSZXNldCB0byByb290CgkJCSRzcWwgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfY2F0ZWdvcnkgU0VUIGNhdGVnb3J5X2lkID0gMCBXSEVSRSBwcm9kdWN0X2lkPT8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCRwcm9kdWN0X2lkKSk7CgkJfSBlbHNlIHsKCQkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkPT8gQU5EIHByb2R1Y3RfaWQ9PyI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRjYXRlZ29yeV9pZCwKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2R1Y3RfaWQpKTsKCQkJaWYoICEkZGJyZXN1bHQgKSByZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCWZ1bmN0aW9uIEdldENhdGVnb3J5TWFwKCRwcm9kdWN0X2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkc3FsID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCAKCQkgICAgICAgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeQoJCSAgICAgICAgV0hFUkUgcHJvZHVjdF9pZD0/JzsJCQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0X2lkKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCSRyZXN1bHRbXSA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmVzdWx0OwkKCX0KCglmdW5jdGlvbiBVcGRhdGUoJHByb2R1Y3QpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSA9IHN0cnRvdXBwZXIoJHByb2R1Y3RbJ2l0ZW1udW1iZXInXSk7CgkJfQoJCSRwcm9kdWN0WydwcmljZSddID0gc3RydHIoJHByb2R1Y3RbJ3ByaWNlJ10sICcsJywgJy4nKTsKCQkkcHJvZHVjdFsnbmV0d2VpZ2h0J10gPSBzdHJ0cigkcHJvZHVjdFsnbmV0d2VpZ2h0J10sICcsJywgJy4nKTsKCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBTRVQgbmFtZSA9ID8sIAoJCQlkZXNjcmlwdGlvbiA9ID8sIHByaWNlID0gPywJYWN0aXZlID0gPywJZmVhdHVyZWQgPSA/LCBuZXR3ZWlnaHQgPSA/LCAKCQkJdmF0Y29kZSA9ID8sIHNrdSA9ID8sIGl0ZW1udW1iZXIgPSA/LCBwb3NpdGlvbiA9ID8sIG1heGF0dHJpYnV0ZXMgPSA/IAoJCQlXSEVSRSBwcm9kdWN0X2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSgJJHByb2R1Y3RbJ25hbWUnXSwgJHByb2R1Y3RbJ3BkZXNjcmlwdGlvbiddLAoJCQkkcHJvZHVjdFsncHJpY2UnXSwgJHByb2R1Y3RbJ2FjdGl2ZSddLCAkcHJvZHVjdFsnZmVhdHVyZWQnXSwKCQkJJHByb2R1Y3RbJ25ldHdlaWdodCddLCAkcHJvZHVjdFsndmF0Y29kZSddLCAkcHJvZHVjdFsnc2t1J10sCgkJCSRwcm9kdWN0WydpdGVtbnVtYmVyJ10sICRwcm9kdWN0Wydwb3NpdGlvbiddLCAkcHJvZHVjdFsnbWF4YXR0cmlidXRlcyddLAoJCQkkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJLy8gVXBkYXRlIHNlYXJjaCBpbmRleCAoQWRkV29yZHMgZmlyc3QgZGVsZXRlcyB0aGUgb2xkIG9uZXMpCgkJZ2xvYmFsICRDTVNfVkVSU0lPTjsKCQlpZiAodmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMC1iZXRhMCcsJz4nKSAmJgoJCQl2ZXJzaW9uX2NvbXBhcmUoJENNU19WRVJTSU9OLCcxLjExJywnPCcpKSB7CgkJCSRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CgkJCSRzZWFyY2htb2R1bGUgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdTZWFyY2gnKTsKCQl9CgkJZWxzZSB7CgkJCSRnQ21zID0gY21zbXMoKTsKCQkJJHNlYXJjaG1vZHVsZSA9JiAkZ0Ntcy0+bW9kdWxlc1snU2VhcmNoJ11bJ29iamVjdCddOwoJCX0KCQlpZiAoJHNlYXJjaG1vZHVsZSAhPSBGQUxTRSkKCQl7CgkJCWlmICgkcHJvZHVjdFsnYWN0aXZlJ10gPT0gMCkgewoJCQkJJHNlYXJjaG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpLCAkcHJvZHVjdFsncHJvZHVjdF9pZCddKTsKCQkJfQoJCQllbHNlIHsKCQkJCSR0ZXh0ID0gJHByb2R1Y3RbJ25hbWUnXS4nICcuJHByb2R1Y3RbJ3BkZXNjcmlwdGlvbiddOwoJCQkJJHNlYXJjaG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpLCAkcHJvZHVjdFsncHJvZHVjdF9pZCddLCAncHJvZHVjdCcsICR0ZXh0KTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBEZWxldGUoJHByb2R1Y3QpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIERlbGV0ZSB0aGUgdXBsb2FkZWQgcGljdHVyZShzKSBmb3IgdGhpcyBwcm9kdWN0CgkJLy8gRGVsZXRlIHRoZSBwaWN0dXJlKHMpCgkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyAKCQkJCVdIRVJFIHByb2R1Y3RfaWQgPSA/IjsJCQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwcm9kdWN0Wydwcm9kdWN0X2lkJ10pKTsKCQkvLyBEZWxldGUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGNhdGVnb3J5CgkJJHNxbCA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5CgkJCQlXSEVSRSBwcm9kdWN0X2lkID0gPyI7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJLy8gRGVsZXRlIHRoZSBhdHRyaWJ1dGVzIG9mIHRoaXMgcHJvZHVjdAoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzCgkJCQlXSEVSRSBwcm9kdWN0X2lkID0gPyI7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkcHJvZHVjdFsncHJvZHVjdF9pZCddKSk7CgkJLy8gTm93IGl0IGlzIHBvc3NpYmxlIHRvIGRlbGV0ZSB0aGUgcHJvZHVjdCBpdCBzZWxmCgkJLy8gU2hvdWxkIGEgY2hlY2sgYmVlbiBkb25lIHRvIHRoZSBDYXJ0IE1hZGUgU2ltcGxlIHRhYmxlcz8gU28gZGVsZXRlIG9yZGVycz8/Pz8KCQkkc3FsID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RzIAoJCQkJV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwkJCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHByb2R1Y3RbJ3Byb2R1Y3RfaWQnXSkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCS8vIERlbGV0ZSBmcm9tIHNlYXJjaCBpbmRleAoJCWdsb2JhbCAkQ01TX1ZFUlNJT047CgkJaWYgKHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTAtYmV0YTAnLCc+JykgJiYKCQkJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwoJCQkkc2VhcmNobW9kdWxlID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnU2VhcmNoJyk7CgkJfQoJCWVsc2UgewoJCQkkZ0NtcyA9IGNtc21zKCk7CgkJCSRzZWFyY2htb2R1bGUgPSYgJGdDbXMtPm1vZHVsZXNbJ1NlYXJjaCddWydvYmplY3QnXTsKCQl9CgkJaWYgKCRzZWFyY2htb2R1bGUgIT0gRkFMU0UpIHsKCQkJJHNlYXJjaG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpLCAkcHJvZHVjdFsncHJvZHVjdF9pZCddLCAncHJvZHVjdCcpOwoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgoJLy8gQ2hlY2sgaWYgaXRlbSBudW1iZXIgaGFzIGJlZW4gdXNlZAoJLy8gVGhlIGludGVybmFsIGlkIGlzIGVpdGhlciB0aGUgcHJvZHVjdCBvciB0aGUgYXR0cmlidXRlIGlkCgkvLyBJbiBjYXNlIGl0IGlzIGEgbmV3IHByb2R1Y3Qgb3IgYXR0cmljdXRlLCB0aGUgaW50ZXJuYWwgaWQgcGFzc2VkIGlzIC0xCglmdW5jdGlvbiBDaGVja0RvdWJsZUl0ZW1OdW1iZXIoJGl0ZW1udW1iZXIsICRpbnRlcm5hbF9pZCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJaWYgKCRpdGVtbnVtYmVyID09ICcnKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJLy8gRGVmaW5pdGlvbiBvZiBhIGRvdWJsZSBudW1iZXIgaXMgdGhhdCB0aGUgcGFzc2VkIGl0ZW0gbnVtYmVyIGRvZXNuJ3QgZXhpc3QgCgkJLy8gZXhlcHQgd2l0aCB0aGUgc2FtZSBwcm9kdWN0L2F0dHJpYnV0ZSBpZAoJCSRpdGVtY2FwaXRhbG9ubHkgPSAkdGhpcy0+bW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpdGVtY2FwaXRhbG9ubHknLCBmYWxzZSk7CgkJaWYgKCRpdGVtY2FwaXRhbG9ubHkgPT0gMSkgewoJCQkkcXVlcnkgPSAnU0VMRUNUIGl0ZW1udW1iZXIsIG5hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyAKCQkJCVdIRVJFIFVQUEVSKGl0ZW1udW1iZXIpID0gVVBQRVIoPykgQU5EIHByb2R1Y3RfaWQgPD4gPyc7CgkJfQoJCWVsc2UgewoJCQkkcXVlcnkgPSAnU0VMRUNUIGl0ZW1udW1iZXIsIG5hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyAKCQkJCVdIRVJFIGl0ZW1udW1iZXIgPSA/IEFORCBwcm9kdWN0X2lkIDw+ID8nOwoJCX0KCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkaXRlbW51bWJlciwgJGludGVybmFsX2lkKSk7CgkJaWYgKCEkcm93KSB7CgkJCS8vIE5vIHByb2R1Y3QgZm91bmQgd2l0aCB0aGUgc2FtZSBudW1iZXIsIGxldCdzIGNoZWNrIHRoZSBhdHRyaWJ1dGVzCgkJCWlmICgkaXRlbWNhcGl0YWxvbmx5ID09IDEpIHsKCQkJCSRxdWVyeSA9ICdTRUxFQ1QgaXRlbW51bWJlciwgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJCQlXSEVSRSBVUFBFUihpdGVtbnVtYmVyKSA9IFVQUEVSKD8pIEFORCBhdHRyaWJ1dGVfaWQgPD4gPyc7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcXVlcnkgPSAnU0VMRUNUIGl0ZW1udW1iZXIsIG5hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgCgkJCQkJV0hFUkUgaXRlbW51bWJlciA9ID8gQU5EIGF0dHJpYnV0ZV9pZCA8PiA/JzsKCQkJfQoJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkaXRlbW51bWJlciwgJGludGVybmFsX2lkKSk7CgkJCWlmICghJHJvdykgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCWVsc2UgewoJCQkJcmV0dXJuICRyb3dbJ25hbWUnXSAgLiAnICgnIC4gJHRoaXMtPm1vZHVsZS0+TGFuZygnbGFiZWxfYXR0cmlidXRlJykgLiAnKSc7CgkJCX0KCQl9CgkJZWxzZSB7CgkJCS8vIFBhcnQgb2YgbWVzc2FnZSBzZW5kIGJhY2suIENhbGxpbmcgcm91dGluZSB3aWxsIHByZXBhcmUgbWVzc2FnZSB0byBkaXNwbGF5CgkJCXJldHVybiAkcm93WyduYW1lJ10gLiAnICgnIC4gJHRoaXMtPm1vZHVsZS0+TGFuZygnbGFiZWxfcHJvZHVjdCcpIC4gJyknOwoJCX0KCX0KCgkKCS8vIEF0dHJpYnV0ZXMgcmVsYXRlZCBmdW5jdGlvbnMJCgkvLyBSZXRyaWV2ZSB0aGUgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBhIHByb2R1Y3QgYXR0cmlidXRlCglmdW5jdGlvbiBHZXRBdHRyaWJ1dGUoJGF0dHJpYnV0ZV9pZCkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcwoJCSAgICAgICAgV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkYXR0cmlidXRlX2lkICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRyZXN1bHQgPSAnJzsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJHJlc3VsdCA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmVzdWx0OwkKCX0KCgkvLyBTYXZlIG5ldyBwcm9kdWN0IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gQ3JlYXRlQXR0cmlidXRlKCRhdHRyaWJ1dGUpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddID0gc3RydG91cHBlcigkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10pOwoJCX0KCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJKHByb2R1Y3RfaWQsIG5hbWUsIGRlc2NyaXB0aW9uLCBtaW5hbGxvd2VkLCBtYXhhbGxvd2VkLAoJCQlwcmljZWFkanVzdHR5cGUsIHByaWNlYWRqdXN0bWVudCwgZGlzcGxheW9ubHksIGl0ZW1udW1iZXIsIGFjdGl2ZSkKCQkJVkFMVUVTKD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkYXR0cmlidXRlWydwcm9kdWN0X2lkJ10sCgkJCSRhdHRyaWJ1dGVbJ25hbWUnXSwgJGF0dHJpYnV0ZVsnYWRlc2NyaXB0aW9uJ10sICRhdHRyaWJ1dGVbJ21pbmFsbG93ZWQnXSwKCQkJJGF0dHJpYnV0ZVsnbWF4YWxsb3dlZCddLCAkYXR0cmlidXRlWydwcmljZWFkanVzdHR5cGUnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3RtZW50J10sCgkJCSRhdHRyaWJ1dGVbJ2Rpc3BsYXlvbmx5J10sICRhdHRyaWJ1dGVbJ2l0ZW1udW1iZXInXSwgJGF0dHJpYnV0ZVsnYWN0aXZlJ10gICAKCQkJKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLy8gRGVsZXRlIHByb2R1Y3QgYXR0cmlidXRlIGluZm9ybWF0aW9uCglmdW5jdGlvbiBEZWxldGVBdHRyaWJ1dGUoJHBhcmFtcykgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgCgkJCVdIRVJFIGF0dHJpYnV0ZV9pZCA9ID8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwYXJhbXNbJ2F0dHJpYnV0ZV9pZCddICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCS8vIFNhdmUgY2hhbmdlZCBwcm9kdWN0IGF0dHJpYnV0ZSBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gVXBkYXRlQXR0cmlidXRlKCRhdHRyaWJ1dGUpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCS8vIElmIGFjY29yZGluZyB0byBwcmVmZXJlbmNlcyBvbmx5IHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGluIGl0ZW0gbnVtYmVyLCB0cmFuc2Zvcm0gaXQKCQlpZiAoJHRoaXMtPm1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaXRlbWNhcGl0YWxvbmx5JywgZmFsc2UpID09IDEpIHsKCQkJJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddID0gc3RydG91cHBlcigkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10pOwoJCX0KCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMgU0VUIG5hbWUgPSA/LCAKCQkJZGVzY3JpcHRpb24gPSA/LCBtaW5hbGxvd2VkID0gPywgbWF4YWxsb3dlZCA9ID8sIHByaWNlYWRqdXN0dHlwZSA9ID8sCgkJCXByaWNlYWRqdXN0bWVudCA9ID8sIGRpc3BsYXlvbmx5ID0gPywgaXRlbW51bWJlciA9ID8sIGFjdGl2ZSA9ID8gCQkKCQkJV0hFUkUgYXR0cmlidXRlX2lkID0gPyc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGF0dHJpYnV0ZVsnbmFtZSddLCAkYXR0cmlidXRlWydkZXNjcmlwdGlvbiddLAoJCQkkYXR0cmlidXRlWydtaW5hbGxvd2VkJ10sICRhdHRyaWJ1dGVbJ21heGFsbG93ZWQnXSwgJGF0dHJpYnV0ZVsncHJpY2VhZGp1c3R0eXBlJ10sIAoJCQkkYXR0cmlidXRlWydwcmljZWFkanVzdG1lbnQnXSwgJGF0dHJpYnV0ZVsnZGlzcGxheW9ubHknXSwgJGF0dHJpYnV0ZVsnaXRlbW51bWJlciddLAoJCQkkYXR0cmlidXRlWydhY3RpdmUnXSwgCgkJCSRhdHRyaWJ1dGVbJ2F0dHJpYnV0ZV9pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgkKCS8vIEltYWdlcyByZWxhdGVkIGZ1bmN0aW9ucwkKCS8vIFJldHJpZXZlIHRoZSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGEgcHJvZHVjdCBpbWFnZQoJZnVuY3Rpb24gR2V0SW1hZ2UoJHByb2R1Y3RfaW1hZ2VzX2lkKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkc3FsID0gIlNFTEVDVCBwcm9kdWN0X2lkLCBpbWFnZSwgZGVzY3JpcHRpb24gCgkJICAgICAgICBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzCgkJICAgICAgICBXSEVSRSBwcm9kdWN0X2ltYWdlc19pZCA9ID8iOwkJCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHByb2R1Y3RfaW1hZ2VzX2lkICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRyZXN1bHQgPSAnJzsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJHJlc3VsdCA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmVzdWx0OwkKCQoJfQoKCS8vIFNhdmUgbmV3IHByb2R1Y3QgaW1hZ2UgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIENyZWF0ZUltYWdlKCRpbWFnZSkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0X2ltYWdlcyhwcm9kdWN0X2lkLCAKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlLCAKCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKQoJCSAgICAgICAgVkFMVUVTKD8sPyw/KSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJGltYWdlWydwcm9kdWN0X2lkJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltYWdlWydpbWFnZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZVsnaWRlc2NyaXB0aW9uJ10pKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJZWNobyAiRkFMU0UiOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJCQoJfQoKCS8vIERlbGV0ZSBpbWFnZSBmcm9tIGZvbGRlciBhbmQgaXRzIHByb2R1Y3QgaW1hZ2UgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIERlbGV0ZUltYWdlKCRwYXJhbXMpIHsKCQkvLyBOb3cgZGVsZXRlIHRoZSBpbWFnZSByZWNvcmQKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRzcWwgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9pbWFnZXMgV0hFUkUgcHJvZHVjdF9pbWFnZXNfaWQgPSA/ICI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1sncHJvZHVjdF9pbWFnZXNfaWQnXSApKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJZWNobyAiRkFMU0UiOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJCQoJfQoJLy8gU2F2ZSBjaGFuZ2VkIHByb2R1Y3QgaW1hZ2UgaW5mb3JtYXRpb24KCWZ1bmN0aW9uIFVwZGF0ZUltYWdlKCRwYXJhbXMpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRzcWwgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIFNFVCBkZXNjcmlwdGlvbiA9ID8gV0hFUkUgcHJvZHVjdF9pbWFnZXNfaWQgPSA/ICI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHBhcmFtc1snZGVzY3JpcHRpb24nXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydwcm9kdWN0X2ltYWdlc19pZCddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCWVjaG8gIkZBTFNFIjsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCQkKCX0KCgkvLyBTYXZlIG5ldyBwcm9kdWN0IFN0b2NrIEtlZXBpbmcgVW5pdCBpbmZvcm1hdGlvbgoJZnVuY3Rpb24gQ3JlYXRlU0tVKCRza3UpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzIChza3UsIGRlc2NyaXB0aW9uKQoJCSAgICAgICAgVkFMVUVTKD8sPyknOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRza3VbJ3NrdSddLCAkc2t1WydkZXNjcmlwdGlvbiddKSk7CgkJaWYoICEkZGJyZXN1bHQgKSB7CgkJCWVjaG8gIkZBTFNFIjsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCQkKCX0KCgkvLyBEZWxldGUgU3RvY2sgS2VlcGluZyBVbml0IGluZm9ybWF0aW9uCglmdW5jdGlvbiBEZWxldGVTS1UoJHNrdSkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJLy8gSXQgaXMgbm90IHZhbGlkIHRvIGRlbGV0ZSBpZiBpbiB1c2Ugc28gY2hlY2sgdXNhZ2UKCQkkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgV0hFUkUgc2t1ID0gPyAnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRza3UgKSk7CgkJJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCQlpZiAoIWlzc2V0KCRyb3dbJ25hbWUnXSkpIHsKCQkJJHNxbCA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X3NrdXMgV0hFUkUgc2t1ID0gPyAnOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRzcWwsIGFycmF5KCAkc2t1ICkpOwoJCQlpZiggISRkYnJlc3VsdCApIHsKCQkJCSRtZXNzYWdlID0gJHRoaXMtPm1vZHVsZS0+U2hvd0Vycm9ycygnU2VyaW91cyBlcnJvciBmb3VuZCBpbiBjbGFzcyBTTVNQcm9kdWN0cyBmdW5jdGlvbiBEZWxldGVTS1U6IG5vdGlmeSBhZG1pbmlzdHJhdG9yJyk7CgkJCQlyZXR1cm4gJG1lc3NhZ2U7CgkJCX0KCQl9IGVsc2UgewoJCQkvLyBMZXQgdXNlciBrbm93IHdoaWNoIHByb2R1Y3QgaXMgdGhlIGZpcnN0IHRoYXQgdXNlcyB0aGlzIFNLVQoJCQkkbWVzc2FnZSA9ICR0aGlzLT5tb2R1bGUtPlNob3dFcnJvcnMoJHRoaXMtPm1vZHVsZS0+TGFuZygnc2t1aW51c2UnLCAkcm93WyduYW1lJ10pKTsKCQkJcmV0dXJuICRtZXNzYWdlOwoJCX0KCQkkbWVzc2FnZSA9ICR0aGlzLT5tb2R1bGUtPkxhbmcoJ3NrdWRlbGV0ZWQnLCAkc2t1KTsKCQlyZXR1cm4gJG1lc3NhZ2U7CgkJCgl9CgkvLyBTYXZlIGNoYW5nZWQgU3RvY2sgS2VlcGluZyBVbml0IGluZm9ybWF0aW9uCglmdW5jdGlvbiBVcGRhdGVTS1UoJHBhcmFtcykgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzIFNFVCBkZXNjcmlwdGlvbiA9ID8gV0hFUkUgc2t1ID0gPyAnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCwgYXJyYXkoICRwYXJhbXNbJ2Rlc2NyaXB0aW9uJ10sICRwYXJhbXNbJ3NrdSddICkpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQllY2hvICJGQUxTRSI7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7CgkJCgl9CglmdW5jdGlvbiBHZXRTS1UoJHNrdSkgewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHNxbCA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyBXSEVSRSBza3UgPSA/ICc7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsLCBhcnJheSggJHNrdSApKTsKCQkkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiAkcm93OwkKCX0KCWZ1bmN0aW9uIEdldExpc3RTS1UoKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkc3FsID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9za3VzIE9SREVSIEJZIHNrdSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkc3FsKTsKCQlpZiggISRkYnJlc3VsdCApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApIHsKCQkJJHJlc3VsdFtdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRyZXN1bHQ7CQoJfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLyoqCiAqIENyZWF0ZSBhbGwgdGFibGVzCiAqLwokZGIgPSBjbXNtcygpLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Ci8qKgogKiBDcmVhdGUgYWxsIENhdGVnb3J5IHJlbGF0ZWQgdGFibGVzCiAqLwovKioKICogUHJpbWFyeSBDYXRlZ29yeSB0YWJsZQogKi8KJGZpZWxkcyA9ICJjYXRlZ29yeV9pZCBJIFBSSU1BUlkgQVVUTywKCXBhcmVudF9pZCBJLAoJbmFtZSBDKDMwKSwKCWRlc2NyaXB0aW9uIEMoMjU1KSwKCWltYWdlIEMoNjApLAoJYWN0aXZlIEkyLAoJcG9zaXRpb24gSTIiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMiLCAkZmllbGRzLCAkdGhpcy0+dGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQkKCi8qKgogKiBDcmVhdGUgYWxsIFByb2R1Y3QgcmVsYXRlZCB0YWJsZXMKICovCi8qKgogKiBQcmltYXJ5IFByb2R1Y3QgVGFibGUKICovCiRmaWVsZHMgPSAicHJvZHVjdF9pZCBJIFBSSU1BUlkgQVVUTywKCW5hbWUgQygyNTUpLAoJZGVzY3JpcHRpb24gWCwKCXByaWNlIEYsCglhY3RpdmUgSTIsCglmZWF0dXJlZCBJMiwKCW5ldHdlaWdodCBGLAoJdmF0Y29kZSBDKDEpLAoJc2t1IEMoMjApLAoJaXRlbW51bWJlciBDKDMwKSwKCXBvc2l0aW9uIEksCgltYXhhdHRyaWJ1dGVzIEkyIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cyIsICRmaWVsZHMsICR0aGlzLT50YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKLyoqCiAqIFByb2R1Y3QgSW1hZ2VzCiAqLwokZmllbGRzID0gInByb2R1Y3RfaW1hZ2VzX2lkIEkgUFJJTUFSWSBBVVRPLAoJcHJvZHVjdF9pZCBJLAoJaW1hZ2UgQygzMCksCglkZXNjcmlwdGlvbiBDKDI1NSkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwovKioKICogUHJvZHVjdCBBdHRyaWJ1dGVzCiAqLyAgICAgICAgICAgCiRmaWVsZHMgPSAiYXR0cmlidXRlX2lkIEkgUFJJTUFSWSBBVVRPLAoJcHJvZHVjdF9pZCBJLAoJbmFtZSBDKDI1NSksCglkZXNjcmlwdGlvbiBYLAoJbWluYWxsb3dlZCBJMiwKCW1heGFsbG93ZWQgSTIsCglwcmljZWFkanVzdHR5cGUgQygxKSwKCXByaWNlYWRqdXN0bWVudCBGLAoJZGlzcGxheW9ubHkgSTIsCglpdGVtbnVtYmVyIEMoMzApLAoJYWN0aXZlIEwiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyIsICRmaWVsZHMsICR0aGlzLT50YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKLyoqCiAqIFByb2R1Y3QgPC0+IENhdGVnb3J5IE1hcCBUYWJsZQogKi8KJGZpZWxkcyA9ICJjYXRlZ29yeV9wcm9kdWN0X2lkIEkgUFJJTUFSWSBBVVRPLAoJY2F0ZWdvcnlfaWQgSSwKCXByb2R1Y3RfaWQgSSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSIsICRmaWVsZHMsICR0aGlzLT50YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKLyoqCiAqIFByb2R1Y3QgU3RvY2sgS2VlcGluZyBVbml0IChTS1UpCiAqLyAgICAgICAgICAgCiRmaWVsZHMgPSAic2t1IEMoMjApIEtFWSwKCWRlc2NyaXB0aW9uIEMoMTAwKSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9za3VzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzIChza3UsIGRlc2NyaXB0aW9uKSBWQUxVRVMoID8sID8pJzsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdQQycsICdQaWVjZScpKTsKCi8qKgogKiBDcmVhdGUgYWxsIHByZWZlcmVuY2VzCiAqLwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWRtaW5fbmFtZScsICc8QWRtaW5pc3RyYXRvciBOYW1lPicpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2hvcF9uYW1lJywgJzxUaGUgbmFtZSBvZiB0aGUgc2hvcD4nKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfbGFuZ3VhZ2UnLCAnZW5fVVMnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ByaWNlc2luY2x2YXQnLCBmYWxzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9jdXJyZW5jeScsICdFVVInKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3ltYm9sJywgJyZldXJvOycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX2NhdGVnb3J5JywgJy9jYXRlZ29yaWVzLycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VwYXRoX3Byb2R1Y3QnLCAnL3Byb2R1Y3RzLycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZHVjdHBhZ2VsaW1pdCcsIDEwMDAwMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkaXNwbGF5cXVpY2tzZWxlY3RvcicsIHRydWUpOwovKioKICogQ3JlYXRlIGFuIGV4YW1wbGUgc3R5bGVzaGVldCBmb3IgU2hvcCBNYWRlIFNpbXBsZSB0YWdzCiAqLwokY3NzX25hbWUgPSAkdGhpcy0+TGFuZygnbW9kdWxlX2V4YW1wbGVfc3R5bGVzaGVldCcpOyAvLyBSZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgbmV3IHN0eWxlc2hlZXQgbG9jYXRlIGluIHRoZSBjc3MgZGlyZWN0b3J5Ci8vIENoZWNrIGlmIHRoaXMgbW9kZWwgc3R5bGUgc2hlZXQgYWxscmVhZHkgZXhpc3RzCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuIGNtc19kYl9wcmVmaXgoKSAuJ2NzcyBXSEVSRSBjc3NfbmFtZSA9ID8nOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3NzX25hbWUpKTsKaWYoICEkZGJyZXN1bHQgfHwgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDAgKSB7CgkkbmV3X2Nzc19pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpIC4gImNzc19zZXEiKTsKCSRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksICdjc3MnLCAnc3R5bGVzaGVldC5jc3MnKTsKCSRjc3NfdGV4dCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJG1lZGlhX3R5cGUgPSAnc2NyZWVuJzsKCS8vIEFkZCB0aGUgc3R5bGVzaGVldCB0byB0aGUgZGF0YWJhc2UKCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNzcyAoY3NzX2lkLCBjc3NfbmFtZSwgY3NzX3RleHQsIG1lZGlhX3R5cGUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8pIjsKCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmV3X2Nzc19pZCwgJGNzc19uYW1lLCAkY3NzX3RleHQsICRtZWRpYV90eXBlLCAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSkpOwp9CgovKioKICogQ3JlYXRlIHNlY3VyaXR5IHBlcm1pc3Npb25zCiAqLwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluUHJvZHVjdHMnLCAkdGhpcy0+TGFuZygnU2hvcE1TX01haW50YWluUHJvZHVjdHMnKSk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblNLVXMnKSk7CgovKioKICogQ3JlYXRlIHZhcmlvdXMgdGVtcGxhdGVzCiAqLwojIFNldHVwIGNhdGVnb3J5IGxpc3QgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ3RlbXBsYXRlcycsICdmZV9jYXRlZ29yeV9saXN0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGxpc3RfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7Cn0KCiMgU2V0dXAgY2F0ZWdvcmllcyB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ2ZlX2NhdGVnb3JpZXMudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQp7CgkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcmllc190ZW1wbGF0ZScsJHRlbXBsYXRlKTsKfQoKIyBTZXR1cCBwcm9kdWN0IGRldGFpbCB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCAndGVtcGxhdGVzJywgJ2ZlX3Byb2R1Y3RfZGV0YWlsLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3Byb2RkZXRhaWxfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7Cn0KCiMgU2V0dXAgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUKJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwgJ3RlbXBsYXRlcycsICdmZV9wcm9kdWN0c19mZWF0dXJlZC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCnsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKfQoKLyoqCiAqIENyZWF0ZSBkaXJlY3RvcmllcyB0byBob2xkIGltYWdlcwogKi8KJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwokcGF0aCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICdpbWFnZXMnLCAnY2F0ZWdvcmllcycpOwovLyBNYWtlIHN1cmUgdGhlIGRpcmVjdG9yeSBjYW4gYmUgZm91bmQuIENyZWF0ZSBpdCwgZXJyb3IgaGFuZGxpbmcgd2lsbCBjb3ZlciBhbnkgcHJvYmxlbXMgZm91bmQKaWYgKCAhZmlsZV9leGlzdHMoICRwYXRoICkgKSBta2RpcigkcGF0aCwgMDc3Nyk7CiRwYXRoID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJ2ltYWdlcycsICdwcm9kdWN0cycpOwovLyBNYWtlIHN1cmUgdGhlIGRpcmVjdG9yeSBjYW4gYmUgZm91bmQuIENyZWF0ZSBpdCwgZXJyb3IgaGFuZGxpbmcgd2lsbCBjb3ZlciBhbnkgcHJvYmxlbXMgZm91bmQKaWYgKCAhZmlsZV9leGlzdHMoICRwYXRoICkgKSBta2RpcigkcGF0aCwgMDc3Nyk7CgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGdDbXMgPSBjbXNtcygpOyBpZiggIWlzX29iamVjdCgkZ0NtcykgKSBleGl0OwoKLy8gRHJvcCBhbGwgdGFibGVzCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2NhdGVnb3JpZXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfaW1hZ2VzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsJCQkJCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQkJCQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X3NrdXMnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCQkKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CQkJCQoKLy8gUmVtb3ZlIGFsbCBwcmVmZXJlbmNlcwokdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOwoKLy8gUmVtb3ZlIHNlY3VyaXR5IHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTaG9wTVNfVXNlU2hvcE1hZGVTaW1wbGUnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5Jyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5Qcm9kdWN0cycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluU0tVcycpOwoKLy8gUmVtb3ZlIHN0eWxlIHNoZWV0IHRoYXQgYmVsb25nIHRvIHRoaXMgbW9kdWxlCiRjc3NfbmFtZSA9ICR0aGlzLT5MYW5nKCdtb2R1bGVfZXhhbXBsZV9zdHlsZXNoZWV0Jyk7IC8vIFJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGVzaGVldCBsb2NhdGUgaW4gdGhlIGNzcyBkaXJlY3RvcnkKJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjc3MgV0hFUkUgY3NzX25hbWUgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNzc19uYW1lKSk7CgovLyBSZW1vdmUgYWxsIHRoZSBzZWFyY2ggaW5kZXggZW50cmllcwpnbG9iYWwgJENNU19WRVJTSU9OOwppZiAodmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMC1iZXRhMCcsJz4nKSAmJgoJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKCSRzZWFyY2htb2R1bGUgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCdTZWFyY2gnKTsKfQplbHNlIHsKCSRzZWFyY2htb2R1bGUgPSYgJGdDbXMtPm1vZHVsZXNbJ1NlYXJjaCddWydvYmplY3QnXTsKfQokc2VhcmNobW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpKTsKCi8vIFJlbW92ZSB0ZW1wbGF0ZXMgdGhhdCBiZWxvbmcgdG8gdGhpcyBtb2R1bGUKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCcnLCAnU2hvcE1hZGVTaW1wbGUnKTsKCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndW5pbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBNb2R1bGU6IFNob3AgTWFkZSBTaW1wbGUgLSBBIHByb2R1Y3QgbWFpbnRlbmFuY2UgbW9kdWxlIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIyBDb3B5cmlnaHQgKGMpIDIwMDggYnkgRHVrZXRvd24gPGR1a2V0b3duQG1hbnRveC5ubD4KIwojIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGdyYWRlIHRoZSBtb2R1bGUgU2hvcCBNYWRlIFNpbXBsZQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojIFRoZSBtb2R1bGUncyBob21lcGFnZSBpczogaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9zbXMKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pCnsKCWNhc2UgJzAuMS4wJzoKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdwcmljZSBGJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICduZXR3ZWlnaHQgRicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMnLCAndmF0Y29kZSBDKDEpJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX29wdGlvbnMnLCAncHJpY2UgRicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJLy8gU2hvcCBwb2xpY3kgdG8gYmUgdGFrZW4gZnJvbSBwYWdlIG9yIGNvbnRlbnQgYmxvY2sKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnc2hvcF9kZXNjcmlwdGlvbicpOwoJCS8vIEludHJvZHVjZSBjaGVja21hcmsgdG8gc3RhdGUgaWYgcHJpY2VzIGFyZSBpbi0gb3IgZXhjbHVkaW5nIFZBVAoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcmljZXNpbmNsdmF0JywgZmFsc2UpOwoJCS8vIEFsbCB3ZWlnaHQgYXJlIGluIHVuaXQgb2YgbWVhc3VyZSBhcyBwcmVwYXJlZCBpbiBwcmVmZXJlbmNlcwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd3ZWlnaHR1bml0bWVhc3VyZScsICdLZycpOwoKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuMSc7CgkJCgljYXNlICcwLjEuMSc6CQkKCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjInOwoJCQoJY2FzZSAnMC4xLjInOgoKCQkvKioKCQkgKiBDcmVhdGUgdmFyaW91cyB0ZW1wbGF0ZXMKCQkgKi8KCQkjIFNldHVwIGNhdGVnb3J5IGxpc3QgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX2NhdGVnb3J5X2xpc3QudHBsJzsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGxpc3RfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7CgkJfQoKCQkjIFNldHVwIGNhdGVnb3JpZXMgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX2NhdGVnb3JpZXMudHBsJzsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGVnb3JpZXNfdGVtcGxhdGUnLCR0ZW1wbGF0ZSk7CgkJfQoKCQkjIFNldHVwIHByb2R1Y3QgZGV0YWlsIHRlbXBsYXRlCgkJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidmZV9wcm9kdWN0X2RldGFpbC50cGwnOwoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgncHJvZGRldGFpbF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKCQl9CgoJCSMgU2V0dXAgZmVhdHVyZWQgcHJvZHVjdHMgdGVtcGxhdGUKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ZlX3Byb2R1Y3RzX2ZlYXR1cmVkLnRwbCc7CgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCQkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkJJHRoaXMtPlNldFRlbXBsYXRlKCdwcm9kZmVhdF90ZW1wbGF0ZScsJHRlbXBsYXRlKTsKCQl9CgkJCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjMnOwoJCQoJY2FzZSAnMC4xLjMnOgoJCQogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMS40JzsKCQkKCWNhc2UgJzAuMS40JzoKCQkKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuNSc7CgkJCgljYXNlICcwLjEuNSc6CgkJLy8gQWx0ZXIgY29sdW1uIHRvIG5ldyB0eXBlCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdkZXNjcmlwdGlvbiBYJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdkZXNjcmlwdGlvbiBYJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX2F0dHJpYnV0ZV9vcHRpb25zJywgJ2Rlc2NyaXB0aW9uIFgnICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuNic7CgkJCgljYXNlICcwLjEuNic6CgkJLy8gQWRkIHR3byBuZXcgZmllbGRzIHRvIHByb2R1Y3RzIHRhYmxlCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMnLCAnc2t1IEMoMjApJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cycsICdpdGVtbnVtYmVyIEMoMzApJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkvKioKCQkgKiBQcm9kdWN0IFN0b2NrIEtlZXBpbmcgVW5pdCAoU0tVKQoJCSAqLyAgICAgICAgICAgCgkJJGZpZWxkcyA9ICJza3UgQygyMCkgS0VZLAoJCQlkZXNjcmlwdGlvbiBDKDEwMCkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfcHJvZHVjdF9za3VzIiwgJGZpZWxkcywgJHRoaXMtPnRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3Rfc2t1cyAoc2t1LCBkZXNjcmlwdGlvbikgVkFMVUVTKCA/LCA/KSc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdQQycsICR0aGlzLT5MYW5nKCdwaWVjZScpKSk7CgkJJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBTRVQgc2t1ID0gPyc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdQQycpKTsKCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4xLjcnOwoJCQoJY2FzZSAnMC4xLjcnOgoJCS8vIE5vIGRhdGFiYXNlIGNoYW5nZXMgb25seSBjaGFuZ2UgaW4gcHJvZ3JhbXMgdGhlbXNlbHZlcwogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMS44JzsKCQkKCWNhc2UgJzAuMS44JzoKCQkvLyBObyBkYXRhYmFzZSBjaGFuZ2VzIG9ubHkgY2hhbmdlIGluIHByb2dyYW1zIHRoZW1zZWx2ZXMKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjEuOSc7CgoJY2FzZSAnMC4xLjknOgoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0cGFnZWxpbWl0JywgMTAwMDAwKTsKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuMCc7CgoJY2FzZSAnMC4yLjAnOgoJCS8vIE5vIGRhdGFiYXNlIGNoYW5nZXMgb25seSBjaGFuZ2UgaW4gcHJvZ3JhbXMgdGhlbXNlbHZlcwogCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMi4xJzsKCgljYXNlICcwLjIuMSc6CgkJLy8gVmVyc2lvbiBjaGFuZ2VzIGhhdmUgbm90IGJlZW4gcHVibGlzaGVkIHNpbmNlIHRlc3Rpbmcgd2FzIG5vdCBkb25lCiAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjInOwoKCWNhc2UgJzAuMi4yJzoKCQkvLyBObyBkYXRhYmFzZSBjaGFuZ2VzIG9ubHkgY2hhbmdlIGluIHByb2dyYW1zIHRoZW1zZWx2ZXMKIAkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuMyc7CgoJY2FzZSAnMC4yLjMnOgoJCSRjc3NfbmFtZSA9ICR0aGlzLT5MYW5nKCdtb2R1bGVfZXhhbXBsZV9zdHlsZXNoZWV0Jyk7IC8vIFJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBuZXcgc3R5bGVzaGVldCBsb2NhdGUgaW4gdGhlIGNzcyBkaXJlY3RvcnkKCQkvLyBDaGVjayBpZiB0aGlzIG1vZGVsIHN0eWxlIHNoZWV0IGFsbHJlYWR5IGV4aXN0cwoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuIGNtc19kYl9wcmVmaXgoKSAuJ2NzcyBXSEVSRSBjc3NfbmFtZSA9ID8nOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjc3NfbmFtZSkpOwoJCWlmKCAhJGRicmVzdWx0IHx8ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAwICkgewoJCQkkbmV3X2Nzc19pZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpIC4gImNzc19zZXEiKTsKCQkJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nY3NzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidzdHlsZXNoZWV0LmNzcyc7CgkJCSRjc3NfdGV4dCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkkbWVkaWFfdHlwZSA9ICdzY3JlZW4nOwoJCQkvLyBBZGQgdGhlIHN0eWxlc2hlZXQgdG8gdGhlIGRhdGFiYXNlCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNzcyAoY3NzX2lkLCBjc3NfbmFtZSwgY3NzX3RleHQsIG1lZGlhX3R5cGUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8pIjsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuZXdfY3NzX2lkLCAkY3NzX25hbWUsICRjc3NfdGV4dCwgJG1lZGlhX3R5cGUsICRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7CgkJfQoKICAJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjQnOwoKCWNhc2UgJzAuMi40JzoKCQkvLyBCdWcgY2hhbmdlIG9ubHkKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuNSc7CgoJY2FzZSAnMC4yLjUnOgoJCS8vIEluY2x1ZGVkIG9ubHkgZmVhdHVyZSByZXF1ZXN0CiAgCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4yLjYnOwoKCWNhc2UgJzAuMi42JzoKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuNyc7CgoJY2FzZSAnMC4yLjcnOgoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWx0ZXJDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJywgJ25hbWUgQygyNTUpJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjIuOCc7CgoJY2FzZSAnMC4yLjgnOgoJCS8vIEksIER1a2V0b3duLCBoYXZlIGRlY2lkZWQgdGhhdCBhdHRyaWJ1dGVzIGFyZSB0byBiZSBleHRlbmRlZCB3aXRoIHByaWNlCgkJLy8gYW5kIG5vdCBhIHN1YiB0YWJsZSB0aGF0IGhvbGRzIHByaWNlcyBwZXIgYXR0cmlidXRlLCB0aGVyZWZvciBhZGRpbmcgY29sdW1ucwoJCS8vIHRvIGF0dHJpYnV0ZXMgdGFibGUgYW5kIGRyb3BwaW5nIG9mIGF0dHJpYnV0ZSBvcHRpb25zIAoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnbWluYWxsb3dlZCBJMicgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ21heGFsbG93ZWQgSTInICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdwcmljZWFkanVzdHR5cGUgQygxKScgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ3ByaWNlYWRqdXN0bWVudCBGJyApOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnZGlzcGxheW9ubHkgTCcgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9hdHRyaWJ1dGVzJywgJ2l0ZW1udW1iZXIgQygzMCknICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcycsICdhY3RpdmUgTCcgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkFsdGVyQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2F0dHJpYnV0ZXMnLCAnbmFtZSBDKDI1NSknICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzJywgJ21heGF0dHJpYnV0ZXMgSTInKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfYXR0cmlidXRlX29wdGlvbnMnKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJLy8gUmVtb3ZlIHBlcm1pc3Npb24gdGhhdCB3ZXJlIG5vdCB3b3JraW5nL25lZWRlZAoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdVc2UgU2hvcE1hZGVTaW1wbGUnLCAnVXNlIFNob3BNYWRlU2ltcGxlJyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0VkaXQgUHJlZmVyZW5jZXMnLCAnRWRpdCBQcmVmZXJlbmNlcycpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBZGQvRGVsZXRlIENhdGVnb3J5JywgJ0FkZC9EZWxldGUgQ2F0ZWdvcnknKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBDYXRlZ29yeScsICdFZGl0IENhdGVnb3J5Jyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0FkZC9EZWxldGUgUHJvZHVjdHMnLCAnQWRkL0RlbGV0ZSBQcm9kdWN0cycpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdFZGl0IFByb2R1Y3RzJywgJ0VkaXQgUHJvZHVjdHMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignQWRkL0RlbGV0ZSBUcmFuc2xhdGlvbnMnLCAnQWRkL0RlbGV0ZSBUcmFuc2xhdGlvbnMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBUcmFuc2xhdGlvbnMnLCAnRWRpdCBUcmFuc2xhdGlvbnMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignQWRkL0RlbGV0ZSBUZW1wbGF0ZXMnLCAnQWRkL0RlbGV0ZSBUZW1wbGF0ZXMnKTsKCQkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBUZW1wbGF0ZXMnLCAnRWRpdCBUZW1wbGF0ZXMnKTsKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX1VzZVNob3BNYWRlU2ltcGxlJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignU2hvcE1TX01haW50YWluQ2F0ZWdvcnknLCAkdGhpcy0+TGFuZygnU2hvcE1TX01haW50YWluQ2F0ZWdvcnknKSk7CgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblByb2R1Y3RzJykpOwoJCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJywgJHRoaXMtPkxhbmcoJ1Nob3BNU19NYWludGFpblNLVXMnKSk7CgkJLy8gRGVmYXVsdCBsYW5ndWFnZSBmb3IgdGhlIHNob3Agd2FzIG5vdCB1c2VkLCBzbyByZW1vdmUgaXQgZHVyaW5nIHRoaXMgbWFqb3IgcmVsZWFzZQoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdkZWZhdWx0X2xhbmd1YWdlJyk7CgoJCS8vIE1ham9yIHN0ZXBzIHRha2VuIGhlcmUsIHNpbmNlIGV4dGVuc2lvbiB0byBhdHRyaWJ1dGVzIGlzIGh1Z2UuCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMCc7CgoJY2FzZSAnMC4zLjAnOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjEnOwoKCWNhc2UgJzAuMy4xJzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMy4yJzsKCgljYXNlICcwLjMuMic6CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMyc7CgoJY2FzZSAnMC4zLjMnOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjQnOwoKCWNhc2UgJzAuMy40JzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMy41JzsKCgljYXNlICcwLjMuNSc6CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Rpc3BsYXlxdWlja3NlbGVjdG9yJywgdHJ1ZSk7CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuNic7CgoJY2FzZSAnMC4zLjYnOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjcnOwoKCWNhc2UgJzAuMy43JzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuMy44JzsKCn0KCi8vIExvZyB0aGUgdXBncmFkZSBpbiB0aGUgYWRtaW4gYXVkaXQgdHJhaWwKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/ShopMadeSimple.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidsaWJyYXJ5Jy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjYXRlZ29yaWVzLmFwaS5waHAnKTsKaW5jbHVkZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xpYnJhcnknLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3Byb2R1Y3RzLmFwaS5waHAnKTsKCmNsYXNzIFNob3BNYWRlU2ltcGxlIGV4dGVuZHMgQ01TTW9kdWxlIHsKCQoJdmFyICRjYXRlZ29yaWVzOwoJdmFyICRwcm9kdWN0czsKCQoJZnVuY3Rpb24gU2hvcE1hZGVTaW1wbGUoKSB7CgkJcGFyZW50OjpDTVNNb2R1bGUoKTsKCQkkdGhpcy0+Y2F0ZWdvcmllcyA9IG5ldyBDYXRlZ29yaWVzKCR0aGlzKTsKCQkkdGhpcy0+cHJvZHVjdHMgPSBuZXcgU01TUHJvZHVjdHMoJHRoaXMpOwoJfQoJZnVuY3Rpb24gR2V0TmFtZSgpIHsKCQlyZXR1cm4gJ1Nob3BNYWRlU2ltcGxlJzsKCX0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpOwoJfQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsKCQlyZXR1cm4gJzAuMy44JzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvcigpIHsKCQlyZXR1cm4gJ0R1a2V0b3duJzsKCX0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgewoJCS8vIFRvIHJlZHVjZSBzcGFtIHRoaXMgZW1haWwgZmllbGQgbGVmdCBibGFuawoJCXJldHVybiAnJzsKCX0KCWZ1bmN0aW9uIEdldEhlbHAoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CglmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQl7CgkJcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NoYW5nZWxvZy5pbmMnKTsKCX0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgewoJCXJldHVybiB0cnVlOwoJfQoJZnVuY3Rpb24gSGFzQWRtaW4oKQl7CgkJcmV0dXJuIHRydWU7Cgl9CglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7CglnbG9iYWwgJENNU19WRVJTSU9OOwoJaWYoIHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuOCcsJzwnKSApIHJldHVybiAnZXh0ZW5zaW9ucyc7CglyZXR1cm4gJ2Vjb21tZXJjZSc7Cgl9CglmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnYWRtaW5fZGVzY3JpcHRpb24nKTsKCX0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglWaXNpYmxlVG9BZG1pblVzZXIoKQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CglpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgTW9kdWxlcycpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19Vc2VTaG9wTWFkZVNpbXBsZScpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1Nob3BNU19NYWludGFpbkNhdGVnb3J5JykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignU2hvcE1TX01haW50YWluUHJvZHVjdHMnKSB8fAoJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTaG9wTVNfTWFpbnRhaW5TS1VzJykKCQkJKSB7CgkJCQlyZXR1cm4gdHJ1ZTsKCSAgfQoJcmV0dXJuIGZhbHNlOwoJfQoKCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsKCX0JCglmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsKCQlyZXR1cm4gJzEuOS40JzsKCX0KCglmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjEwLjknOwoJfQoKCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKSB7CgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoKCQkjJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bc1NdaG9wW21NXWFkZVtzU11pbXBsZVwvKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZmVfY2F0ZWdvcnlfbGlzdCcpKTsKCQkvLyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcLyg/UDxwcm9kdWN0X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfZGV0YWlsJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWhvcFttTV1hZGVbc1NdaW1wbGVcL2NhdFwvKD9QPGNhdGVnb3J5X2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCBhcnJheSgnYWN0aW9uJz0+J2ZlX3Byb2R1Y3RfbGlzdCcpKTsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnL1tzU11ob3BbbU1dYWRlW3NTXWltcGxlXC9wcm9kXC8oP1A8Y2F0ZWdvcnlfaWQ+WzAtOV0rKVwvKD9QPHByb2R1Y3RfaWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsYXJyYXkoJ2FjdGlvbic9PidmZV9wcm9kdWN0X2RldGFpbCcpKTsKCQkjIFRoZSB0b3AgbW9zdCBwYXJhbWV0ZXIgd2lsbCBiZSBzaG93biBpbiB0aGUgYm90dG9tIGFuZCB2aWNlIHZlcnNhCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3RhcnQnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBzdGFydCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYWdlbnVtYmVyJywgJycsICR0aGlzLT5MYW5nKCdoZWxwcGFnZW51bWJlcicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9kcGFnZWxpbWl0JywgJycsICR0aGlzLT5MYW5nKCdoZWxwcHJvZHBhZ2VsaW1pdCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYXJlbnRjYXRlZ29yeScsICcnLCAkdGhpcy0+TGFuZygnaGVscHBhcmVudGNhdGVnb3J5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2Rpc3BsYXknLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBkaXNwbGF5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHBhZ2UnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBkZXRhaWxwYWdlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdG5hbWUnLCAnJywgJHRoaXMtPkxhbmcoJ2hlbHBjYXRuYW1lJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5X2lkJywgJycsICR0aGlzLT5MYW5nKCdoZWxwY2F0ZWdvcnlfaWQnKSk7CgkJCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N0YXJ0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbnVtYmVyJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9kdWN0X2lkJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwcm9kcGFnZWxpbWl0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJlbnRjYXRlZ29yeScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGlzcGxheScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlscGFnZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0bmFtZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlfaWQnLENMRUFOX1NUUklORyk7CgoJfQoKCWZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24gKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaW5mb18nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkgewoJCXJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKCX0KCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtZXNzYWdlX3Bvc3RpbnN0YWxsJyk7Cgl9CglmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfcG9zdHVuaW5zdGFsbCcpOwoJfQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ21lc3NhZ2VfY29uZmlybXVuaW5zdGFsbCcpOwoJfQoKCS8vIFByZXBhcmUgYSBsaXN0IG9mIHRoZSBwb3NzaWJsZSBwcmljZSBhZGp1c3RtZW50IHR5cGVzCglmdW5jdGlvbiBCdWlsZExpc3RPZkFkanVzdFR5cGVzKCkgewoJCS8qCVAgLSBBZGRzIHRoZSBhZGp1c3RtZW50IHRvIHRoZSBwcm9kdWN0IHByaWNlCgkJCU0gLSBTdWJ0cmFjdHMgdGhlIGFkanVzdG1lbnQgZnJvbSB0aGUgcHJvZHVjdCBwcmljZQoJCQlUIC0gTXVsdGlwbGllcyB0aGUgcHJvZHVjdCBwcmljZSB0aW1lIHRoZSBhZGp1c3RtZW50IGZhY3RvciAobWlnaHQgYmUgbWludXMgZmFjdG9yISkKCQkJViAtIE92ZXJyaWRlcyB0aGUgcHJvZHVjdCBwcmljZSB3aXRoIGdpdmVuIGZhY3RvcgoJCSovCgkJJGFkanVzdHR5cGVkcm9wZG93biA9IGFycmF5KCk7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXBsdXMnKV0gPSAnUCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZW1pbicpXSA9ICdNJzsKCQkkYWRqdXN0dHlwZWRyb3Bkb3duWyR0aGlzLT5MYW5nKCdhZGp1c3R0eXBldGltZXMnKV0gPSAnVCc7CgkJJGFkanVzdHR5cGVkcm9wZG93blskdGhpcy0+TGFuZygnYWRqdXN0dHlwZXZhbHVlJyldID0gJ1YnOwoKCQlyZXR1cm4gJGFkanVzdHR5cGVkcm9wZG93bjsKCX0KCglmdW5jdGlvbiBCdWlsZExpc3RJbnZlbnRvcnlUeXBlcygpIHsKCQkkaW52ZW50b3J5dHlwZXMgPSBhcnJheSgpOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9ub25lJyldID0gJ25vbmUnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9wcm9kJyldID0gJ3Byb2QnOwoJCSRpbnZlbnRvcnl0eXBlc1skdGhpcy0+TGFuZygnaW52ZW50b3J5dHlwZV9hdHRyJyldID0gJ2F0dHInOwoKCQlyZXR1cm4gJGludmVudG9yeXR5cGVzOwoJfQoKCWZ1bmN0aW9uIEJ1aWxkTGlzdFNLVSgpIHsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCQkkc3FsID0gJ1NFTEVDVCBza3UsIGRlc2NyaXB0aW9uIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9za3VzCgkJICAgICAgICBPUkRFUiBCWSBza3UnOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHNxbCApOwoJCWlmKCAhJGRicmVzdWx0ICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRza3VfbGlzdCA9IGFycmF5KCk7CgkJd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCSRza3VfbGlzdFskcm93Wydza3UnXS4nIC0gJy4kcm93WydkZXNjcmlwdGlvbiddXSA9ICRyb3dbJ3NrdSddOwoJCX0KCQlyZXR1cm4gJHNrdV9saXN0OwkKCX0KCQoJZnVuY3Rpb24gQnVpbGRMaXN0U2FsZXNJbnZlbnRUaW1pbmcoKSB7CgkJJHNhbGVzaW52ZW50dGltaW5nID0gYXJyYXkoKTsKCQkvLyRzYWxlc2ludmVudHRpbWluZ1skdGhpcy0+TGFuZygnc2FsZXNpbnZlbnR0aW1pbmdfaW50JyldID0gJ0lOVCc7CgkJJHNhbGVzaW52ZW50dGltaW5nWyR0aGlzLT5MYW5nKCdzYWxlc2ludmVudHRpbWluZ19jbmYnKV0gPSAnQ05GJzsKCQkkc2FsZXNpbnZlbnR0aW1pbmdbJHRoaXMtPkxhbmcoJ3NhbGVzaW52ZW50dGltaW5nX3BheScpXSA9ICdQQVknOwoJCSRzYWxlc2ludmVudHRpbWluZ1skdGhpcy0+TGFuZygnc2FsZXNpbnZlbnR0aW1pbmdfc2hwJyldID0gJ1NIUCc7CgkJJHNhbGVzaW52ZW50dGltaW5nWyR0aGlzLT5MYW5nKCdzYWxlc2ludmVudHRpbWluZ19pbnYnKV0gPSAnSU5WJzsKCgkJcmV0dXJuICRzYWxlc2ludmVudHRpbWluZzsKCX0KCQoJZnVuY3Rpb24gQnVpbGRUaHVtYiAoJGltYWdlLCAkc291cmNlZGlyLCAkdGh1bWJ3aWR0aCA9IDAsICAkdGh1bWJoZWlnaHQ9MCkgewoKCQlpbmlfc2V0KCJtZW1vcnlfbGltaXQiLCIzME0iKTsKCQkkaW1nc2l6ZSA9IGdldGltYWdlc2l6ZSgkc291cmNlZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGltYWdlKTsKCQlpZiAoISRpbWdzaXplKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkdGh1bWJ3aWR0aCA9PSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSB7CgkJCSR0YXJnZXRzaXplWzBdID0gJGltZ3NpemVbMF07CS8vIFRhcmdldCBIZWlnaHQKCQkJJHRhcmdldHNpemVbMV0gPSAkaW1nc2l6ZVsxXTsJLy8gVGFyZ2V0IFdpZHRoCgkJfSBlbHNlaWYgKCR0aHVtYndpZHRoID09IDAgJiYgJHRodW1iaGVpZ2h0ICE9IDApIAl7CgkJCSR0YXJnZXRzaXplWzBdID0gcm91bmQoJHRodW1iaGVpZ2h0KigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJJHRhcmdldHNpemVbMV0gPSAkdGh1bWJoZWlnaHQ7IAoJCX0gZWxzZWlmICgkdGh1bWJ3aWR0aCAhPSAwICYmICR0aHVtYmhlaWdodCA9PSAwKSAJewoJCQkkdGFyZ2V0c2l6ZVswXSA9ICR0aHVtYndpZHRoOyAKCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJ3aWR0aCooJGltZ3NpemVbMF0vJGltZ3NpemVbMV0pKTsgCgkJfQoJCWVsc2UgewoJCQlpZiAocm91bmQoJHRodW1id2lkdGgqKCRpbWdzaXplWzBdLyRpbWdzaXplWzFdKSkgPiAkdGh1bWJoZWlnaHQpCgkJCQl7CgkJCQkJJHRhcmdldHNpemVbMF0gPSAkdGh1bWJoZWlnaHQ7CgkJCQkJJHRhcmdldHNpemVbMV0gPSByb3VuZCgkdGh1bWJoZWlnaHQqKCRpbWdzaXplWzFdLyRpbWdzaXplWzBdKSk7IAoJCQkJfSBlbHNlIHsKCQkJCQkkdGFyZ2V0c2l6ZVswXSA9IHJvdW5kKCR0aHVtYndpZHRoKigkaW1nc2l6ZVswXS8kaW1nc2l6ZVsxXSkpOyAKCQkJCQkkdGFyZ2V0c2l6ZVsxXSA9ICR0aHVtYndpZHRoOwoJCQkJfQoJCX0KCQkkaW1hZ2V0eXBlID0gJGltZ3NpemVbMl07CgkJLy8gVHlwZSBvZiBpbWFnZSBjYW4gaGF2ZSB0aGUgZm9sbG93aW5nIHZhbHVlcyAKCQkvLyAxID0gR0lGIDIgPSBKUEcgMyA9IFBORwoJCS8vIEZvciBvdGhlciB0eXBlcyBzZWUgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5leGlmLWltYWdldHlwZS5waHAjCgoJCSRwcm9wZXJ0aWVzID0gYXJyYXkgKCR0YXJnZXRzaXplWzBdLCAkdGFyZ2V0c2l6ZVsxXSwgJGltZ3NpemVbMF0sICRpbWdzaXplWzFdKTsKCgkJc3dpdGNoKCRpbWFnZXR5cGUpIHsKCQkJCWNhc2UgMToKCQkJCQkkc3JjaW1nID0gaW1hZ2VjcmVhdGVmcm9tZ2lmKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAyOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21qcGVnKCRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2UpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAzOgoJCQkJCSRzcmNpbWcgPSBpbWFnZWNyZWF0ZWZyb21wbmcoJHNvdXJjZWRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRpbWFnZSk7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRkZXN0aW5hdGlvbmltZyA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCRwcm9wZXJ0aWVzWzBdLCAkcHJvcGVydGllc1sxXSk7CQkJCgoJCWlmICgKCQkJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRkZXN0aW5hdGlvbmltZywgJHNyY2ltZywgMCwgMCwgMCwgMCwgJHByb3BlcnRpZXNbMF0sICRwcm9wZXJ0aWVzWzFdLCAkcHJvcGVydGllc1syXSwgJHByb3BlcnRpZXNbM10pCgkJCSYmCgkJCWltYWdlanBlZygkZGVzdGluYXRpb25pbWcsICRzb3VyY2VkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4ndG5fJy4kaW1hZ2UpCgkJKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCQoJZnVuY3Rpb24gQ2FsY3VsYXRlQXR0cmlidXRlUHJpY2UoJHByaWNlLCAkcHJpY2VhZGp1c3R0eXBlLCAkcHJpY2VhZGp1c3RtZW50KSB7CgkJc3dpdGNoICgkcHJpY2VhZGp1c3R0eXBlKSB7CgkJCWNhc2UgJ1AnOgoJCQkJJHByaWNlID0gJHByaWNlICsgJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCQljYXNlICdNJzoKCQkJCSRwcmljZSA9ICRwcmljZSAtICRwcmljZWFkanVzdG1lbnQ7CgkJCQlicmVhazsKCQkJY2FzZSAnVCc6CgkJCQkkcHJpY2UgPSAkcHJpY2UgKiAkcHJpY2VhZGp1c3RtZW50OwoJCQkJYnJlYWs7CgkJCWNhc2UgJ1YnOgoJCQkJJHByaWNlID0gJHByaWNlYWRqdXN0bWVudDsKCQkJCWJyZWFrOwoJCX0KCQlyZXR1cm4gJHByaWNlOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJIENoZWNrSXRlbU9uU3RvY2soJGl0ZW1udW1iZXIsICRpdGVtdHlwZSkKCQkgVXNpbmcgdGhpcyBmdW5jdGlvbiBhIGNoZWNrIGlzIGRvbmUgaWYgaW52ZW50b3J5IGlzIGF2YWlsYWJsZQoJCSB1c2U6IGlmICgkdGhpcy0+Q2hlY2tJdGVtT25TdG9jaygkYXR0cmlidXRlWydpdGVtbnVtYmVyJ10sICdhdHRyJykpIHsKCSAgICAgICAgfQoJICAgICBBbiBhcnJheSBpcyByZXR1cm5lZCB3aXRoIGJvb2xlYW4gaWYgc3RvY2sgaXMgYXZhaWxhYmxlIGFuZCAKCSAgICAgcXVhbnRpdHkgYXZhaWxhYmxlIGlzIGFsc28gaW5jbHVkZWQKCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIENoZWNrSXRlbU9uU3RvY2soJGl0ZW1udW1iZXIsICRpdGVtdHlwZSkgewoJCS8vIEluaXRpYWxpemUgdGhlIERhdGFiYXNlCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkSXRlbU9uU3RvY2sgPSBhcnJheSgpOwoJCSRJdGVtT25TdG9ja1snb25zdG9jayddID0gZmFsc2U7CgkJCgkvLyBGdW5jdGlvbiBub3QgaW4gdXNlLiBXaWxsIGJlIHVzZWQgaWYgaW52ZW50b3J5IGZpbGUgd2lsbCBiZSBpbmNsdWRlZAoJCXN3aXRjaCAoJGl0ZW10eXBlKSB7CgkJCWNhc2UgJ3Byb2QnOgoJCQkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdHMgCgkJCQkJV0hFUkUgaXRlbW51bWJlciA9ID8nOwoJCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGl0ZW1udW1iZXIpKTsKCQkJCWlmICgkcm93ICYmICRyb3dbJ21heGF0dHJpYnV0ZXMnXSA+IDApIHsKCQkJCQkkSXRlbU9uU3RvY2tbJ29uc3RvY2snXSA9IHRydWU7CgkJCQkJJEl0ZW1PblN0b2NrWydxdWFudGl0eW9uc3RvY2snXSA9ICRyb3dbJ21heGF0dHJpYnV0ZXMnXTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdhdHRyJzoKCQkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RfYXR0cmlidXRlcyAKCQkJCQlXSEVSRSBpdGVtbnVtYmVyID0gPyc7CgkJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkaXRlbW51bWJlcikpOwoJCQkJaWYgKCRyb3cgJiYgJHJvd1snbWF4YWxsb3dlZCddID4gMCkgewoJCQkJCSRJdGVtT25TdG9ja1snb25zdG9jayddID0gdHJ1ZTsKCQkJCQkkSXRlbU9uU3RvY2tbJ3F1YW50aXR5b25zdG9jayddID0gJHJvd1snbWF4YWxsb3dlZCddOwoJCQkJfQoJCQkJYnJlYWs7CgkJfSAKCQlyZXR1cm4gJEl0ZW1PblN0b2NrOwoJfQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIERpc3BsYXlFcnJvclBhZ2UoKQoJICAgVGhpcyBpcyBhIHNpbXBsZSBmdW5jdGlvbiBmb3IgZ2VuZXJhdGluZyBlcnJvciBwYWdlcy4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIERpc3BsYXlFcnJvclBhZ2UoJGlkLCAmJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2U9JycpCgl7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwoKCSAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKCSAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2Vycm9yLnRwbCcpOwoJfQoJCgkvLyBDb21wbGV0ZWx5IGV4cGFuZCBjYXRlZ29yeSB0cmVlCglmdW5jdGlvbiBGaWxsQ2F0TGlzdCgkcGFyZW50LCAkbGV2ZWwsICRyZXR1cm5pZCkgCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkb2xkX2ZldGNobW9kZSA9ICRkYi0+U2V0RmV0Y2hNb2RlKCdBRE9EQl9GRVRDSF9OVU0nKTsKCQkKCQkkcXVlcnkgPSAiU0VMRUNUIGNhdGVnb3J5X2lkLCBuYW1lLCBwYXJlbnRfaWQgCgkJCUZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zbXNfY2F0ZWdvcmllcyAKCQkJV0hFUkUgY2F0ZWdvcnlfaWQ8PjAgQU5EIHBhcmVudF9pZCA9ID8gQU5EIGFjdGl2ZSA9IDEgCgkJCU9SREVSIEJZIHBvc2l0aW9uLCBuYW1lIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJHBhcmVudCkgKTsKCQkkYSA9IGFycmF5KCk7CgkJaWYgKCEkZGJyZXN1bHQpIHsKCQkJZWNobyAnRXJyb3IgZm91bmQ6IHJlc3VsdCA9ICcuJGRiLT5FcnJvck1zZygpLic8YnIvPiZuYnNwOyZuYnNwOycuJGRiLT5zcWwuJzxici8+JzsgI2RpZSgpOwoJCX0KCQllbHNlIHsKCQkJJHJvdyA9IGFycmF5KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJCS8vIENoZWNrIHRoZSBudW1iZXIgb2YgYWN0aXZlIHByb2R1Y3RzIGNvbm5lY3RlZCB0byB0aGlzIGNhdGVnb3J5CgkJCQkkcXVlcnkyID0gJ1NFTEVDVCBjb3VudCgqKSBhcyBudW1fcHJvZHVjdHMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0X2NhdGVnb3J5IHBjLAoJCQkJCScuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzIHAgV0hFUkUgY2F0ZWdvcnlfaWQ9PyBBTkQgcGMucHJvZHVjdF9pZCA9IHAucHJvZHVjdF9pZCBBTkQgCgkJCQkJcC5hY3RpdmUgPSAxJzsKCQkJCSRkYnJlc3VsdDIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeTIsIGFycmF5KCAkcm93WzBdICkpOwoJCQkJJHByb2Ryb3cgPSAkZGJyZXN1bHQyLT5GZXRjaFJvdygpOwoJCQkJJHJvd1s0XSA9ICRwcm9kcm93WydudW1fcHJvZHVjdHMnXTsKCgkgICAgICAkZGVzdHBhZ2UgPSAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkOwoJCQkJJHNlbmR0b2RldGFpbCA9IGFycmF5KCdjYXRlZ29yeV9pZCc9PiRyb3dbMF0sCSdkZXRhaWxwYWdlJz0+JGRlc3RwYWdlKTsKCQkJCSRwcmV0dHl1cmwgPSAnU2hvcE1hZGVTaW1wbGUvY2F0LycuJHJvd1swXS4nLycuJGRlc3RwYWdlOwoJCQkJaWYgKGlzc2V0KCRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CgkJCQkJJHByZXR0eXVybCAuPSAnL2QsJyAuICRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ107CgkJCQl9CgkJCQlpZiAoJHJvd1s0XSAhPSAwKSB7CgkJCQkJJHJvd1sxXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ZlX3Byb2R1Y3RfbGlzdCcsICRkZXN0cGFnZSwgJHJvd1sxXSwKCQkJCQkJJHNlbmR0b2RldGFpbCwnJywgZmFsc2UsIGZhbHNlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7CgkJCQl9IAoJCQkJJHJvd1szXSA9ICRsZXZlbDsKCQoJCQkJJGFbXSA9ICRyb3c7CgkJCQkKCQkJCS8vIFByb2Nlc3Mgc3ViY2F0ZWdvcmllcwoJCQkJJGIgPSAkdGhpcy0+RmlsbENhdExpc3QoJHJvd1swXSwgJGxldmVsKzEsICRyZXR1cm5pZCk7CgkJCQkvLyBBZGQgJGJbXSB0byB0aGUgZW5kIG9mICRhW10KCQkJCWZvciAoJGo9MDsgJGo8Y291bnQoJGIpOyAkaisrKSB7CgkJCQkJJGFbXSA9ICRiWyRqXTsKCQkJCX0KCQkJfQkJCgkgIH0KCQoJCSRkYi0+U2V0RmV0Y2hNb2RlKCRvbGRfZmV0Y2htb2RlKTsKCQlyZXR1cm4gJGE7CgkJCgl9CgkKCS8vIENvbXBsZXRlbHkgZXhwYW5kIGNhdGVnb3J5IHRyZWUgZm9yIHVzZSBpbiB0aGUgUXVpY2sgU2VsZWN0b3IKCWZ1bmN0aW9uIEZpbGxRU0NhdExpc3QoJHBhcmVudCwgJGxldmVsLCAkcmV0dXJuaWQpIAoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJG9sZF9mZXRjaG1vZGUgPSAkZGItPlNldEZldGNoTW9kZSgnQURPREJfRkVUQ0hfTlVNJyk7CgkJCgkJJHF1ZXJ5ID0gIlNFTEVDVCBjYXRlZ29yeV9pZCwgbmFtZSwgcGFyZW50X2lkIAoJCQlGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc21zX2NhdGVnb3JpZXMgCgkJCVdIRVJFIGNhdGVnb3J5X2lkPD4wIEFORCBwYXJlbnRfaWQgPSA/IEFORCBhY3RpdmUgPSAxIAoJCQlPUkRFUiBCWSBwb3NpdGlvbiwgbmFtZSI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCRwYXJlbnQpICk7CgkJJGEgPSBhcnJheSgpOwoJCWlmICghJGRicmVzdWx0KSB7CgkJCWVjaG8gJ0Vycm9yIGZvdW5kOiByZXN1bHQgPSAnLiRkYi0+RXJyb3JNc2coKS4nPGJyLz4mbmJzcDsmbmJzcDsnLiRkYi0+c3FsLic8YnIvPic7ICNkaWUoKTsKCQl9CgkJZWxzZSB7CgkJCSRyb3cgPSBhcnJheSgpOwoJCQkkaWQgPSAnbTFfJzsKCQkJd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkJCQkvLyBDaGVjayB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBwcm9kdWN0cyBjb25uZWN0ZWQgdG8gdGhpcyBjYXRlZ29yeQoJCQkJJHF1ZXJ5MiA9ICdTRUxFQ1QgY291bnQoKikgYXMgbnVtX3Byb2R1Y3RzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zbXNfcHJvZHVjdF9jYXRlZ29yeSBwYywKCQkJCQknLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Ntc19wcm9kdWN0cyBwIFdIRVJFIGNhdGVnb3J5X2lkPT8gQU5EIHBjLnByb2R1Y3RfaWQgPSBwLnByb2R1Y3RfaWQgQU5EIAoJCQkJCXAuYWN0aXZlID0gMSc7CgkJCQkkZGJyZXN1bHQyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkyLCBhcnJheSggJHJvd1swXSApKTsKCQkJCSRwcm9kcm93ID0gJGRicmVzdWx0Mi0+RmV0Y2hSb3coKTsKCQkJCSRyb3dbNF0gPSAkcHJvZHJvd1snbnVtX3Byb2R1Y3RzJ107CgkJCQkkcm93WzFdID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2NhdGVnb3J5X2xpc3QnLCAkcmV0dXJuaWQsICRyb3dbMV0sIAoJCQkJCWFycmF5ICgnY3VycmVudF9jYXRlZ29yeV9pZCcgPT4gJHJvd1swXSkpOwoJCQkJJHJvd1szXSA9ICRsZXZlbDsKCQoJCQkJJGFbXSA9ICRyb3c7CgkJCQkvLyBQcm9jZXNzIHN1YmNhdGVnb3JpZXMKCQkJCSRiID0gJHRoaXMtPkZpbGxRU0NhdExpc3QoJHJvd1swXSwgJGxldmVsKzEsICRyZXR1cm5pZCk7CgkJCQkvLyBBZGQgJGJbXSB0byB0aGUgZW5kIG9mICRhW10KCQkJCWZvciAoJGo9MDsgJGo8Y291bnQoJGIpOyAkaisrKSB7CgkJCQkJJGFbXSA9ICRiWyRqXTsKCQkJCX0KCQkJfQkJCgkgIH0KCQoJCSRkYi0+U2V0RmV0Y2hNb2RlKCRvbGRfZmV0Y2htb2RlKTsKCQlyZXR1cm4gJGE7CgkJCgl9CgoJZnVuY3Rpb24gRm9ybWF0UHJpY2UoJHByaWNlKSB7CgkJLy8gQ2hlY2sgaWYgQ2FydE1TIGhhcyBiZWVuIGluc3RhbGxlZAoJCWdsb2JhbCAkQ01TX1ZFUlNJT047CgkJaWYgKHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTAtYmV0YTAnLCc+JykgJiYKCQkJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwoJCQkkQ2FydE1TID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnQ2FydE1hZGVTaW1wbGUnKTsKCQl9CgkJZWxzZSB7CgkJCSRnQ21zID0gY21zbXMoKTsKCQkJJENhcnRNUyA9JiAkZ0Ntcy0+bW9kdWxlc1snQ2FydE1hZGVTaW1wbGUnXVsnb2JqZWN0J107CgkJfQoJCWlmICgkQ2FydE1TKSB7CgkJCSRkZWNpbWFscG9zaXRpb25zID0gJENhcnRNUy0+R2V0UHJlZmVyZW5jZSgnbnVtYmVyZm9ybWF0ZGVjaW1hbHMnLCAyKTsKCQkJJGRlY2ltYWxzZXBlcmF0b3IgPSAkQ2FydE1TLT5HZXRQcmVmZXJlbmNlKCdudW1iZXJmb3JtYXRkZWNfcG9pbnQnLCAnLicpOwoJCQkkdGhvdXNhbmRzZXBlcmF0b3IgPSAkQ2FydE1TLT5HZXRQcmVmZXJlbmNlKCdudW1iZXJmb3JtYXR0aG91c2FuZF9zZXAnLCAnJyk7CgkJfQoJCWVsc2UgewoJCQkkZGVjaW1hbHBvc2l0aW9ucyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFscG9zaXRpb25zcHJpY2UnLCAyKTsKCQkJJGRlY2ltYWxzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVjaW1hbHNlcGFyYXRvcnByaWNlJywgJy4nKTsKCQkJJHRob3VzYW5kc2VwZXJhdG9yID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rob3VzYW5kc2VwYXJhdG9ycHJpY2UnLCAnJyk7CgkJfQoJCXJldHVybiBudW1iZXJfZm9ybWF0KCRwcmljZSwgJGRlY2ltYWxwb3NpdGlvbnMsICRkZWNpbWFsc2VwZXJhdG9yLCAkdGhvdXNhbmRzZXBlcmF0b3IpOwoJfQkKCglmdW5jdGlvbiBGb3JtYXRXZWlnaHQoJHdlaWdodCkgewoJCSRkZWNpbWFscG9zaXRpb25zID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlY2ltYWxwb3NpdGlvbnN3ZWlnaHQnLCAzKTsKCQkkZGVjaW1hbHNlcGVyYXRvciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWNpbWFsc2VwYXJhdG9yd2VpZ2h0JywgJy4nKTsKCQkkdGhvdXNhbmRzZXBlcmF0b3IgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGhvdXNhbmRzZXBhcmF0b3J3ZWlnaHQnLCAnJyk7CgkJcmV0dXJuIG51bWJlcl9mb3JtYXQoJHdlaWdodCwgJGRlY2ltYWxwb3NpdGlvbnMsICRkZWNpbWFsc2VwZXJhdG9yLCAkdGhvdXNhbmRzZXBlcmF0b3IpOwoJfQkKCglmdW5jdGlvbiBJbWFnZUFkZFRvQ2FydFNvdXJjZSAoKSB7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCS8vJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCQkvLyBQcmVwYXJlIGxpbmsgd2l0aCBpbWFnZSAoRmVhdCBSZXEjMzMyNCkKCQlyZXR1cm4gJGNvbmZpZ1sncm9vdF91cmwnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLidtb2R1bGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLgoJCQkJJHRoaXMtPkdldE5hbWUoKS5ESVJFQ1RPUllfU0VQQVJBVE9SLidpbWFnZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2FkZHRvY2FydC5naWYnOwoKCX0KCQoJZnVuY3Rpb24gUmVidWlsZFRodW1ibmFpbHMoJHNvdXJjZWRpciwgJHR5cGU9J3Byb2R1Y3RzJykgewoJCSRpbWFnZXMgPSBhcnJheSgpOwoJCS8vIFNldCBwYXR0ZXJuIAoJCSRwYXR0ZXJuID0gInRuXyoiOyAKCQkvLyBDaGFuZ2UgdG8gbmFtZWQgZGlyZWN0b3J5IAoJCWNoZGlyKCRzb3VyY2VkaXIpOyAKCQkvLyBGaW5kIGZpbGVzIG1hdGNoaW5nIHBhdHRlcm4gCgkJJGltYWdlcyA9IGdsb2IoJHBhdHRlcm4pOyAKCQkvLyBJdGVyYXRlIG92ZXIgZmlsZXMgYXJyYXkgYW5kIGRlbGV0ZSBleGlzdGluZyB0aHVtYm5haWxzCgkJZm9yZWFjaCAoJGltYWdlcyBhcyAkZikgeyAKCQkJdW5saW5rKCRmKTsKCQl9IAoJCQoJCS8vIFByZXBhcmUgYW4gYXJyYXkgd2l0aCB0aGUgYXZhaWxhYmxlIGltYWdlcwoJCSRwYXR0ZXJuID0gIioiOyAKCQkkaW1hZ2VzID0gZ2xvYigkcGF0dGVybik7IAoJCSR0aHVtYndpZHRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Rud2lkdGhfcHJvZHVjdCcsICcxMDAnKTsKCQkkdGh1bWJoZWlnaHQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndG5oZWlnaHRfcHJvZHVjdCcsICcxMDAnKTsKCQkvLyBVc2UgbmV4dCBpbWFnZSBmb3VuZCBpbiBsaXN0IG9mIGF2YWlsYWJsZSBpbWFnZXMgYW5kIHByZXBhcmUgdGh1bWJuYWlsCgkJZm9yZWFjaCAoJGltYWdlcyBhcyAkZikgeyAKCQkJJHRoaXMtPkJ1aWxkVGh1bWIgKCRmLCAkc291cmNlZGlyLCAkdGh1bWJ3aWR0aCwgJHRodW1iaGVpZ2h0KTsKCQl9CgoJCXJldHVybjsKCX0KCgkvLyBGdW5jdGlvbiB0aGF0IGlzIHVzZWQgYnkgdGhlIHNlYXJjaCBtb2R1bGUKCWZ1bmN0aW9uIFNlYXJjaFJlc3VsdFdpdGhQYXJhbXMoICRyZXR1cm5pZCwgJHByb2R1Y3RfaWQsICRhdHRyPScnLCAkcGFybXMpICAgewoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCWlmICgkYXR0ciA9PSAncHJvZHVjdCcpIHsKCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJJHEgPSAiU0VMRUNUIG5hbWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Ntc19wcm9kdWN0cyBXSEVSRSBwcm9kdWN0X2lkID0gPyI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcHJvZHVjdF9pZCApICk7CgkJCWlmICgkZGJyZXN1bHQpIHsKCQkJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7IAoJCQkJLy8gMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKCgkJCQkvLyAxIHBvc2l0aW9uIGlzIHRoZSB0aXRsZQoJCQkJJHJlc3VsdFsxXSA9ICRyb3dbJ25hbWUnXTsKCgoJCQkJLy8gUGFnZSB0byB1c2UgZm9yIHRoZSBwcm9kdWN0LWRldGFpbHM6CgkJCQlpZiAoaXNzZXQoJHBhcm1zWydkZXRhaWxwYWdlJ10pKSB7ICAgIAoJCQkJCSRtYW5hZ2VyID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCQkJCQkkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCQkJCQlpZiAoaXNzZXQoJG5vZGUpKSB7CgkJCQkJCSRkZXRhaWxwYWdlID0gJG5vZGUtPmdldElEKCk7CgkJCQkJfQoJCQkJCWVsc2UgewoJCQkJCQkkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHBhcmFtc1snZGV0YWlscGFnZSddKTsKCQkJCQkJaWYgKGlzc2V0KCRub2RlKSkgewoJCQkJCQkJJGRldGFpbHBhZ2UgPSAkcGFyYW1zWydkZXRhaWxwYWdlJ107CgkJCQkJCX0KCQkJCQl9CgkJCQl9ICAKCQkJCWlmKCAkZGV0YWlscGFnZSA9PSAnJyApICRkZXRhaWxwYWdlID0gJHJldHVybmlkOwoJCQkJJGFsaWFzZWRfdGl0bGUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRyb3dbJ25hbWUnXSk7CgkJCQkkcHJldHR5dXJsID0gJ1Nob3BNYWRlU2ltcGxlJy5ESVJFQ1RPUllfU0VQQVJBVE9SLiRwcm9kdWN0X2lkLkRJUkVDVE9SWV9TRVBBUkFUT1IuCgkJCQkJJGRldGFpbHBhZ2UuIi8kYWxpYXNlZF90aXRsZSI7CgoJCQkJLy8gMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSB0aXRsZS4gCgkJCQkkcGFybXMgPSBhcnJheSgpOwoJCQkJJHBhcm1zWydwcm9kdWN0X2lkJ10gPSAkcHJvZHVjdF9pZDsKCQkJCQoJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCdjbnRudDAxJywgJ2ZlX3Byb2R1Y3RfZGV0YWlsJywgJGRldGFpbHBhZ2UsICcnLCAkcGFybXMgLCcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJCQl9CgkJfQoJCXJldHVybiAkcmVzdWx0OwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJVGhpcyBmdW5jdGlvbiB3aWxsIHJlbW92ZSBhbGwgdGhlIHNlYXJjaCBpbmRleCBlbnRyaWVzIG9mIHRoaXMgbW9kdWxlCgkJYW5kIGFmdGVyIHJlYnVpbGQgdGhlIGluZGV4CgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCkgewoJCWdsb2JhbCAkQ01TX1ZFUlNJT047CgkJaWYgKHZlcnNpb25fY29tcGFyZSgkQ01TX1ZFUlNJT04sJzEuMTAtYmV0YTAnLCc+JykgJiYKCQkJdmVyc2lvbl9jb21wYXJlKCRDTVNfVkVSU0lPTiwnMS4xMScsJzwnKSkgewoJCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwoJCQkkc2VhcmNobW9kdWxlID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgnU2VhcmNoJyk7CgkJfQoJCWVsc2UgewoJCQkkZ0NtcyA9IGNtc21zKCk7CgkJCSRzZWFyY2htb2R1bGUgPSYgJGdDbXMtPm1vZHVsZXNbJ1NlYXJjaCddWydvYmplY3QnXTsKCQl9CgkJaWYgKCRzZWFyY2htb2R1bGUgIT0gRkFMU0UpIHsKCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJLy8gRmlyc3QgcmVtb3ZlIGFsbCB0aGUgc2VhcmNoIGluZGV4IGVudHJpZXMKCQkJJHNlYXJjaG1vZHVsZS0+RGVsZXRlV29yZHMoJHRoaXMtPkdldE5hbWUoKSk7CgkJCS8vIEFkZCBpbmRleCBlbnRyaWVzIGZvciB0aGUgYWN0aXZlIHByb2R1Y3RzCgkJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc21zX3Byb2R1Y3RzCgkJCQlXSEVSRSBhY3RpdmUgPSAxJzsKCQkJJGRicmVzdWx0ID0gJiRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CgkJCQkkc2VhcmNobW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkcm93Wydwcm9kdWN0X2lkJ10sICdwcm9kdWN0JywgJHJvd1snbmFtZSddIC4gJyAnIC4gJHJvd1snZGVzY3JpcHRpb24nXSk7CgkJCX0KCQkJLy8gQXR0cmlidXRlcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBzZWFyY2ggc2luY2UgdGhleSBhcmUgb25seSBhdmFpbGFibGUKCQkJLy8gdmlhIHByb2R1Y3RzICh0aGVyZSBkb2Vzbid0IGV4aXN0IGEgYXR0cmlidXRlIGRldGFpbCBwYWdlKQoJCX0KCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCVRoaXMgZnVuY3Rpb24gYWxsb3cgcmV0cmlldmFsIGZyb20gcHJlZmVyZW5jZXMgZnJvbSB0aGlzIG1vZHVsZQoJCXdoZW4gbmVlZGVkIGluIGFub3RoZXIgbW9kdWxlCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCQoJZnVuY3Rpb24gR2V0U01TUHJlZmVyZW5jZSgkcHJlZmVyZW5jZSwgJGRlZmF1bHQ9JycpIHsKCQlyZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJHByZWZlcmVuY2UsICRkZWZhdWx0KTsKCX0KfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/category_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRjYXRlZ29yeS5zdGFydGZvcm19DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5LnBhcmVudF9pZC5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnBhcmVudF9pZC5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5Lm5hbWUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskY2F0ZWdvcnkuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGNhdGVnb3J5LmltYWdlLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcnkuaW1hZ2UuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yeS5hY3RpdmUubGFiZWx9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5hY3RpdmUuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yeS5wb3NpdGlvbi5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnBvc2l0aW9uLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS5jYXRlZ29yeV9pZC5pbnB1dH17JGNhdGVnb3J5LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNhdGVnb3J5LnN1Ym1pdH17JGNhdGVnb3J5LmNhbmNlbH08L3A+DQogICAgPC9kaXY+DQp7JGNhdGVnb3J5LmVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/example_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/fe_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogRnJvbnQgRW5kOiBMaXN0IG9mIGFwZXggY2F0ZWdvcmllcyAqfQ0KPGRpdiBjbGFzcz0iY2F0bGlzdGhlYWRlciAiPg0KCXskbGFiZWxfY2F0ZWdvcmllc30NCjwvZGl2Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCiAge2lmICRlbnRyeS0+aW1hZ2UhPScqbm9uZSd9DQogICAgPGRpdiBjbGFzcz0iY2F0aW1hZ2V0aHVtYiI+DQogICAgICAge2ltYWdlIHNyYz0kZW50cnktPmltYWdlIGFsdD0kZW50cnktPmRlc2NyaXB0aW9ufSZuYnNwO3skZW50cnktPm5hbWV9DQogICAgPC9kaXY+DQogIHtlbHNlfQ0KICAgICAgICA8ZGl2IGNsYXNzPSJjYXRsaXN0bGluZSI+DQogICAgICAgICAgICB7JGVudHJ5LT5uYW1lfQ0KICAgICAgICA8L2Rpdj4NCiAgey9pZn0NCnsvZm9yZWFjaH0NCg0KeyogTmV3IGNhdGVnb3J5IGxpc3RpbmcgKn0NCjx0YWJsZSB3aWR0aD0xMDAlIGJvcmRlcj0wPg0Ke2lmICRwcm9kdWN0c19pbl9yb290X2NhdGVnb3J5ICE9IDB9DQogPHRyPg0KICA8dGQgY29sc3Bhbj0yPnskcm9vdGNhdH0gKHskcHJvZHVjdHNfaW5fcm9vdF9jYXRlZ29yeX0pPC90ZD4NCiA8L3RyPg0Key9pZn0NCntzZWN0aW9uIG5hbWU9aSBsb29wPSRjYXRlZ29yaWVzfQ0KIDx0cj4NCiAgPHRkPntzZWN0aW9uIG5hbWU9aiBsb29wPSRjYXRlZ29yaWVzW2ldWzNdIG1heD0kY2F0ZWdvcmllc1tpXVszXX0mbmJzcDsmbmJzcDt7L3NlY3Rpb259eyRjYXRlZ29yaWVzW2ldWzFdfXtpZiAkY2F0ZWdvcmllc1tpXVs0XSA+IDB9Jm5ic3A7KHskY2F0ZWdvcmllc1tpXVs0XX0pey9pZn0NCiAgPC90ZD4NCiA8L3RyPg0Key9zZWN0aW9ufQ0KPC90YWJsZT4=]]></data>
	</file>
	<file>
	  <filename>/templates/fe_category_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBjYXRlZ29yeSBkYXRhICp9CjxkaXYgSUQ9ImNhdGxpc3RoZWFkZXIiPnskY2F0ZWdvcnluYW1lfTwvZGl2Pgo8dGFibGUgSUQ9ImNhdGluZm8iPgoJPHRyPgoJCXtpZiAkaW1hZ2UhPScqbm9uZSd9PHRkIElEPSJjYXRpbWFnZXRodW1iIj4KCQkJe2ltYWdlIHNyYz0kaW1hZ2UgYWx0PSRkZXNjcmlwdGlvbn08L3RkPgoJCXsvaWZ9CgkJPHRkIGNsYXNzPSJjYXRkZXNjcmlwdGlvbiI+eyRkZXNjcmlwdGlvbn08L3RkPgoJPC90cj4KPC90YWJsZT4KPGRpdiBjbGFzcz0icHJvZHVjdGxpc3QiPgo8ZGl2IElEPSJwcm9kdWN0Y291bnQiPnskbGFibGVfcHJvZHVjdF9jb3VudH08L2Rpdj4KPHRhYmxlPgoJe2ZvcmVhY2ggZnJvbT0kcHJvZHVjdHMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQgY2xhc3M9InByb2R1Y3RuYW1lIj57JGVudHJ5LT5wcm9kbmFtZX08L3RkPgoJCQl7KiBVc2UgdGhlIGZvbGxvd2luZyBpZiB5b3Ugb25seSB3YW50IHRvIHNob3cgdGhlIG5hbWUgb2YgcHJvZHVjdCAobm8gbGluayk6CgkJCTx0ZCBjbGFzcz0icHJvZHVjdG5hbWUiPnskZW50cnktPnByb2RuYW1lbm9saW5rfTwvdGQ+CgkJCSp9CgkJCTx0ZCBjbGFzcz0icHJvZHVjdGRlc2MiPnskZW50cnktPnByb2RkZXNjfHRydW5jYXRlfTwvdGQ+CgkJCTx0ZCBjbGFzcz0icHJvZHVjdHByaWNlIj57JGVudHJ5LT5wcmljZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+YWRkcHJvZHVjdH08L3RkPgoJCQl7KiB1c2UgPHRkPnskZW50cnktPmFkZHByb2R1Y3RpbWFnZX08L3RkPiBpZiB5b3Ugd2FudCBhbiBpbWFnZSBhcyB0aGUgYWRkIHRvIGNhcnQgbGluayAqfQoJCQl7aWYgJHByb2RpbWFnZSE9Jypub25lJ308dGQgY2xhc3M9ImltZyI+CgkJCQl7aW1hZ2Ugc3JjPSRlbnRyeS0+cHJvZGltYWdlIGFsdD0kZW50cnktPnByb2RkZXNjfTwvdGQ+CgkJCQl7KiBvciB1c2UgdGhlIGZvbGxvd2luZy4gVGhlIGltYWdlIGlzIHRoZW4gYSBsaW5rIHRvIHRoZSBkZXRhaWwgcGFnZQoJCQkJeyRlbnRyeS0+cHJvZGltYWdlbGlua308L3RkPgoJCQkJKn0KCQkJey9pZn0KCQk8L3RyPgoJey9mb3JlYWNofQo8L3RhYmxlPgp7aWYgJHBhZ2Vjb3VudCA+IDF9Cgl7JGZpcnN0cGFnZX0geyRwcmV2cGFnZX0geyRwYWdldGV4dH06IHskcGFnZW51bWJlcn0geyRvZnRleHR9OiB7JHBhZ2Vjb3VudH0geyRuZXh0cGFnZX0geyRsYXN0cGFnZX0Key9pZn0gCjxkaXYgSUQ9InByb2R1Y3RwcmljZXNpbiI+eyRjdXJyZW5jeX08L2Rpdj4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/fe_products_featured.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBmZWF0dXJlZCBwcm9kdWN0cyAqfQo8ZGl2IGNsYXNzPSJwcm9kdWN0bGlzdCI+CjxkaXYgSUQ9InByb2R1Y3Rjb3VudCI+eyRsYWJsZV9wcm9kdWN0X2NvdW50fTwvZGl2Pgo8dGFibGU+Cgl7Zm9yZWFjaCBmcm9tPSRwcm9kdWN0cyBpdGVtPWZlYXRlbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPgoJCQk8dGQgY2xhc3M9InByb2R1Y3RuYW1lIj57JGZlYXRlbnRyeS0+cHJvZG5hbWV9PC90ZD4KCQkJPHRkIGNsYXNzPSJwcm9kdWN0ZGVzYyI+eyRmZWF0ZW50cnktPnByb2RkZXNjfHRydW5jYXRlfTwvdGQ+CgkJCTx0ZCBjbGFzcz0icHJvZHVjdHByaWNlIj57JGZlYXRlbnRyeS0+cHJpY2V9PC90ZD4KCQkJPHRkPnskZmVhdGVudHJ5LT5uZXR3ZWlnaHR9PC90ZD4KCQkJPHRkPnskZmVhdGVudHJ5LT5za3V9PC90ZD4KCQkJPHRkPnskZmVhdGVudHJ5LT5hZGRwcm9kdWN0fTwvdGQ+CgkJCXtpZiAkcHJvZGltYWdlIT0nKm5vbmUnfTx0ZCBjbGFzcz0iaW1nIj4KCQkJCXtpbWFnZSBzcmM9JGZlYXRlbnRyeS0+cHJvZGltYWdlIGFsdD0kZmVhdGVudHJ5LT5wcm9kZGVzY308L3RkPgoJCQl7L2lmfQoJCTwvdHI+Cgl7L2ZvcmVhY2h9CjwvdGFibGU+CntpZiAkcGFnZWNvdW50ID4gMX0KCXskZmlyc3RwYWdlfSB7JHByZXZwYWdlfSB7JHBhZ2V0ZXh0fTogeyRwYWdlbnVtYmVyfSB7JG9mdGV4dH06IHskcGFnZWNvdW50fSB7JG5leHRwYWdlfSB7JGxhc3RwYWdlfQp7L2lmfSAKPGRpdiBJRD0icHJvZHVjdHByaWNlc2luIj57JGN1cnJlbmN5fTwvZGl2Pgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/fe_product_detail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlzdCBvZiBwcm9kdWN0IGRhdGEgKn0KPGRpdiBJRD0icHJvZHVjdGhlYWRlciI+eyRwcm9kdWN0bmFtZX0mbmJzcDt7JGRlc2NyaXB0aW9ufSZuYnNwO3skbmV0d2VpZ2h0fG51bWJlcl9mb3JtYXQ6Mn08L2Rpdj4KCntsaXRlcmFsfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIHJlcGwoaW1nLCB0aXRsZSkKICAgewogICBkb2N1bWVudC5pdGVtX2ltYWdlLnNyYz1pbWc7CiAgIGRvY3VtZW50Lml0ZW1faW1hZ2UudGl0bGU9dGl0bGU7CiAgIH0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIElEPSJjYXRpbmZvIj4KPHRyPgo8dGQ+CiA8aW1nIG5hbWU9Iml0ZW1faW1hZ2UiIGlkPSJpdGVtX2ltYWdlIiBzcmM9InskcGltYWdlfSIgdGl0bGU9InskaW1hZ2VkZXNjfSI+CiA8ZGl2IGNsYXNzPSJQcm9kVGh1bWJuYWlscyI+CiAge3NlY3Rpb24gbmFtZT1pbmQgbG9vcD0kZW50cnlhcnJheX0KICAgPGEgaHJlZj0iamF2YXNjcmlwdDpyZXBsKCd7JGl0ZW1zfScsJ3skaW1hZ2VkZXNjfScpIj57aW1hZ2Ugc3JjPSRlbnRyeWFycmF5W2luZF0tPmltYWdldGh1bWIgdGl0bGU9JGVudHJ5YXJyYXlbaW5kXS0+aW1hZ2VkZXNjfTwvYT4KICB7L3NlY3Rpb259Cjxicj4Ke2lmICRpdGVtY291bnQgPiAxfQoge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICA8YSBocmVmPSJqYXZhc2NyaXB0OnJlcGwoJ3skZW50cnktPmZ1bGxwYXRoaW1hZ2V9JywneyRlbnRyeS0+aW1hZ2VkZXNjfScpIj57aW1hZ2Ugc3JjPSRlbnRyeS0+aW1hZ2V0aHVtYiAgdGl0bGU9JGVudHJ5LT5pbWFnZWRlc2MgfTwvYT4mbmJzcDsKIHsvZm9yZWFjaH0KIDwvZGl2Pgp7L2lmfQo8L3RkPgo8L3RyPgp7L2lmfQo8L3RhYmxlPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgPHRib2R5PgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkPjxkaXYgY2xhc3M9InByb2R1Y3RwcmljZSI+eyRjdXJfc3ltYm9sfSZuYnNwO3skcHJpY2V9PC9kaXY+PC90ZD4KICAgICAgICAgICAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgIDx0ZD48ZGl2IGNsYXNzPSJhZGRwcm9kdWN0Ij57JGFkZHByb2R1Y3R9PC9kaXY+PC90ZD4KICAgICAgICA8L3RyPgogICAgPC90Ym9keT4KPC90YWJsZT4KPGJyPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwcm9kdWN0YXR0ciI+CiA8dGhlYWQ+CiAgPHRyPgogICA8dGg+eyRhdHRyaWJ1dGVzLm5hbWVjb2x1bW59PC90aD4KICAgPHRoPnskYXR0cmlidXRlcy5kZXNjcmlwdGlvbmNvbHVtbn08L3RoPgogICA8dGg+eyRhdHRyaWJ1dGVzLnByaWNlY29sdW1ufTwvdGg+CiAgIDx0aD57JGF0dHJpYnV0ZXMuYWRkYXR0cmlidXRlY29sdW1ufTwvdGg+CiAgPC90cj4KIDwvdGhlYWQ+CiA8dGJvZHk+CiAge2lmICRhdHRyaWJ1dGVzLml0ZW1jb3VudCA+IDB9CiAgIHtmb3JlYWNoIGZyb209JGF0dHJpYnV0ZXMubGlzdCBpdGVtPWVudHJ5fQogICAgPHRyPgogICAgIDx0ZD48ZGl2IGNsYXNzPSJhdHRybmFtZSI+eyRlbnRyeS5uYW1lfTwvZGl2PjwvdGQ+CiAgICAgPHRkPjxkaXYgY2xhc3M9ImF0dHJkZXNjIj57JGVudHJ5LmRlc2NyaXB0aW9ufTwvZGl2PjwvdGQ+CiAgICAgPHRkPjxkaXYgY2xhc3M9ImF0dHJwcmljZSI+CgkJIAl7aWYgJGVudHJ5LmRpc3BsYXlvbmx5fSZuYnNwO3tlbHNlfXskZW50cnkucHJpY2V9ey9pZn08L2Rpdj48L3RkPgogICAgIDx0ZD48ZGl2IGNsYXNzPSJhZGRhdHRyIj57JGVudHJ5LmFkZGF0dHJpYnV0ZX08L2Rpdj48L3RkPgogICAgPC90cj4KICAgey9mb3JlYWNofQogIHsvaWZ9CiA8L3Rib2R5Pgo8L3RhYmxlPg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_add.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JHByb2R1Y3Quc3RhcnRmb3JtfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5jYXRlZ29yeV9pZC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5jYXRlZ29yeV9pZC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QubmFtZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5uYW1lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5kZXNjcmlwdGlvbi5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QucHJpY2UubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QucHJpY2UuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmFjdGl2ZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5hY3RpdmUuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmZlYXR1cmVkLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmZlYXR1cmVkLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5uZXR3ZWlnaHQubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QubmV0d2VpZ2h0LmlucHV0fSZuYnNwO3skcHJvZHVjdC5uZXR3ZWlnaHQudW5pdH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QudmF0Y29kZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC52YXRjb2RlLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5za3UubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3Quc2t1LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5pdGVtbnVtYmVyLmxhYmVsfTo8L3A+CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuaXRlbW51bWJlci5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QucG9zaXRpb24ubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QucG9zaXRpb24uaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0Lm1heGF0dHJpYnV0ZXMubGFiZWx9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm1heGF0dHJpYnV0ZXMuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICB7aWYgJERUSWF2YWlsYWJsZX0gCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuY29zdF9wcmljZS5sYWJlbH06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuY29zdF9wcmljZS5pbnB1dH08L3A+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuYmFyY29kZS5sYWJlbH06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuYmFyY29kZS5pbnB1dH08L3A+CgkJPC9kaXY+CgkJe2lmICREVEludmVudG9yeXZlcnNpb24gIT0gJ2ZyZWUnfSAKCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0Lml0ZW1fY2xhc3MubGFiZWx9OjwvcD4KCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5pdGVtX2NsYXNzLmlucHV0fTwvcD4KCQkJPC9kaXY+CgkJey9pZn0KICAgIHsvaWZ9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5zdWJtaXR9eyRwcm9kdWN0LmNhbmNlbH0KCQkJCXskcHJvZHVjdC5wcm9kdWN0X2lkLmlucHV0fXskcHJvZHVjdC5jdXJyZW50X2NhdGVnb3J5X2lkLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAge2ZvcmVhY2ggZnJvbT0kcHJvZHVjdC5jYXRlZ29yaWVzLmxpc3QgaXRlbT1lbnRyeX0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGVudHJ5LmxhYmVsfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGVudHJ5LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgey9mb3JlYWNofQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuY2F0ZWdvcmllcy5zdWJtaXR9PC9wPgogICAgPC9kaXY+CiAgICB7Zm9yZWFjaCBmcm9tPSRwcm9kdWN0LmF0dHJpYnV0ZXMubGlzdCBpdGVtPWVudHJ5fQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZW50cnkubGFiZWx9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZW50cnkuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICB7L2ZvcmVhY2h9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5hdHRyaWJ1dGVzLnN1Ym1pdH08L3A+CiAgICA8L2Rpdj4KICAgIHtmb3JlYWNoIGZyb209JHByb2R1Y3QuaW1hZ2VzLmxpc3QgaXRlbT1lbnRyeX0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW1nIHNyYz0iL3VwbG9hZHMvaW1hZ2VzL3Byb2R1Y3RzL3skZW50cnkuaW1hZ2V9Ij48L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRlbnRyeS5kZXNjcmlwdGlvbn08L3A+CiAgICA8L2Rpdj4KICAgIHsvZm9yZWFjaH0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmltYWdlcy5zdWJtaXR9PC9wPgogICAgPC9kaXY+CnskcHJvZHVjdC5lbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/product_attributes.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhdHRyaWJ1dGVzLm1lc3NhZ2UpIH08cD57JGF0dHJpYnV0ZXMubWVzc2FnZX08L3A+ey9pZn0NCnskYXR0cmlidXRlcy5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMucHJvZG5hbWUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0IiBzdHlsZT0id2lkdGg6IDUwZW07Ij57JGF0dHJpYnV0ZXMucHJvZG5hbWUub3V0cHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5uYW1lLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5uYW1lLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMuZGVzY3JpcHRpb24uaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGVzLnByaWNlYWRqdXN0dHlwZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMucHJpY2VhZGp1c3R0eXBlLmlucHV0fSZuYnNwOw0KCQkJeyRhdHRyaWJ1dGVzLnByaWNlYWRqdXN0bWVudC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMubWluYWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMubWluYWxsb3dlZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZXMuZGlzcGxheW9ubHkubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGVzLmRpc3BsYXlvbmx5LmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlcy5hY3RpdmUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGVzLmFjdGl2ZS5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlcy5zdWJtaXR9eyRhdHRyaWJ1dGVzLmNhbmNlbH0NCgkJCQl7JHByb2R1Y3QucHJvZHVjdF9pZC5pbnB1dH17JHByb2R1Y3QuY3VycmVudF9jYXRlZ29yeV9pZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoNCjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+DQogICAgPHRoZWFkPg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLm5hbWVjb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMuZGVzY3JpcHRpb25jb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMuYWRqdXN0bWVudGNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5wcmljZWNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5kaXNwbGF5Y29sdW1ufTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLm1pbmFsbG93ZWRjb2x1bW59PC90aD4NCiAgICAgICAgICAgIDx0aD57JGF0dHJpYnV0ZXMubWF4YWxsb3dlZGNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoPnskYXR0cmlidXRlcy5pdGVtbnVtYmVyY29sdW1ufTwvdGg+DQogICAgICAgICAgICA8dGg+eyRhdHRyaWJ1dGVzLmFjdGl2ZWNvbHVtbn08L3RoPg0KICAgICAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4NCiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQogICAgICAgIDwvdHI+DQogICAgPC90aGVhZD4NCiAgICA8dGJvZHk+DQoJe2lmICRhdHRyaWJ1dGVzLml0ZW1jb3VudCA+IDB9DQoJCXtmb3JlYWNoIGZyb209JGF0dHJpYnV0ZXMubGlzdCBpdGVtPWVudHJ5fQ0KCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9Ij4NCgkJCTx0ZD57JGVudHJ5Lm5hbWV9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS5hZGp1c3RtZW50fTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS5wcmljZX08L3RkPg0KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2Rpc3BsYXl9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lm1pbmFsbG93ZWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lm1heGFsbG93ZWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5Lml0ZW1udW1iZXJ9PC90ZD4NCgkJCTx0ZCBjbGFzcz0icGFnZWljb24iPnskZW50cnkubGlua19lbmFibGV9PC90ZD4NCgkJCTx0ZCBjbGFzcz0icGFnZWljb24iPnskZW50cnkubGlua19lZGl0fTwvdGQ+DQoJCQk8dGQgY2xhc3M9InBhZ2VpY29uIj57JGVudHJ5LmxpbmtfZGVsZXRlfTwvdGQ+DQoJCTwvdHI+DQoJICAgICAgICB7L2ZvcmVhY2h9DQoJe2Vsc2V9DQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPg0KCQkJPHRkIGNvbHNwYW49JzUnIGFsaWduPSdjZW50ZXInPnskYXR0cmlidXRlcy5ub19hdHRyaWJ1dGVzX2F2YWlsYWJsZX08L3RkPg0KCQk8L3RyPg0KCXsvaWZ9DQogICAgPC90Ym9keT4NCjwvdGFibGU+DQp7JGF0dHJpYnV0ZXMuZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/product_attribute_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRhdHRyaWJ1dGUubWVzc2FnZSkgfTxwPnskYXR0cmlidXRlLm1lc3NhZ2V9PC9wPnsvaWZ9DQp7JGF0dHJpYnV0ZS5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5wcm9kbmFtZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLnByb2RuYW1lLm91dHB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5uYW1lLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLm5hbWUuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuZGVzY3JpcHRpb24uaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUucHJpY2VhZGp1c3R0eXBlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLnByaWNlYWRqdXN0dHlwZS5pbnB1dH0mbmJzcDsNCgkJCXskYXR0cmlidXRlLnByaWNlYWRqdXN0bWVudC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5taW5hbGxvd2VkLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLm1pbmFsbG93ZWQuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRhdHRyaWJ1dGUubWF4YWxsb3dlZC5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGF0dHJpYnV0ZS5tYXhhbGxvd2VkLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLmRpc3BsYXlvbmx5LmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYXR0cmlidXRlLmRpc3BsYXlvbmx5LmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskYXR0cmlidXRlLml0ZW1udW1iZXIubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuaXRlbW51bWJlci5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGF0dHJpYnV0ZS5hY3RpdmUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuYWN0aXZlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRhdHRyaWJ1dGUuc3VibWl0fXskYXR0cmlidXRlLmNhbmNlbH0NCgkJCXskYXR0cmlidXRlLnByb2R1Y3RfaWQuaW5wdXR9DQoJCQl7JGF0dHJpYnV0ZS5jdXJyZW50X2NhdGVnb3J5X2lkLmlucHV0fQ0KCQkJeyRhdHRyaWJ1dGUuYXR0cmlidXRlX2lkLmlucHV0fTwvcD4NCgk8L2Rpdj4NCnskYXR0cmlidXRlLmVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/product_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JGNhdGVnb3JpZXMuc3RhcnRmb3JtfQogICAge2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcy5saXN0IGl0ZW09ZW50cnl9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRlbnRyeS5uYW1lfTwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGVudHJ5LmxpbmtfZGVsZXRlfTwvcD4KICAgIDwvZGl2PgogICAge2ZvcmVhY2hlbHNlfQogICAgICBObyBDYXRlZ29yaWVzCiAgICB7L2ZvcmVhY2h9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yaWVzLmNhdGVnb3JpZXMubGFiZWx9IHskY2F0ZWdvcmllcy5jYXRlZ29yaWVzLmxpc3R9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcmllcy5jYXRlZ29yaWVzLnN1Ym1pdH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnByb2R1Y3RfaWQuaW5wdXR9eyRwcm9kdWN0LmN1cnJlbnRfY2F0ZWdvcnlfaWQuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcmllcy5zdWJtaXR9eyRjYXRlZ29yaWVzLmNhbmNlbH08L3A+CiAgICA8L2Rpdj4KeyRjYXRlZ29yaWVzLmVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JHByb2R1Y3Quc3RhcnRmb3JtfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5uYW1lLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lm5hbWUuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmRlc2NyaXB0aW9uLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5wcmljZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5wcmljZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuYWN0aXZlLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmFjdGl2ZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb2R1Y3QuZmVhdHVyZWQubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuZmVhdHVyZWQuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0Lm5ldHdlaWdodC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5uZXR3ZWlnaHQuaW5wdXR9Jm5ic3A7eyRwcm9kdWN0Lm5ldHdlaWdodC51bml0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC52YXRjb2RlLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnZhdGNvZGUuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnNrdS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5za3UuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0Lml0ZW1udW1iZXIubGFiZWx9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0Lml0ZW1udW1iZXIuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LnBvc2l0aW9uLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LnBvc2l0aW9uLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5tYXhhdHRyaWJ1dGVzLmxhYmVsfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvZHVjdC5tYXhhdHRyaWJ1dGVzLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAge2lmICREVElhdmFpbGFibGV9IAoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmNvc3RfcHJpY2UubGFiZWx9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmNvc3RfcHJpY2UuaW5wdXR9PC9wPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9kdWN0LmJhcmNvZGUubGFiZWx9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcm9kdWN0LmJhcmNvZGUuaW5wdXR9PC9wPgoJCTwvZGl2PgoJCXtpZiAkRFRJbnZlbnRvcnl2ZXJzaW9uICE9ICdmcmVlJ30gCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvZHVjdC5pdGVtX2NsYXNzLmxhYmVsfTo8L3A+CgkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QuaXRlbV9jbGFzcy5pbnB1dH08L3A+CgkJCTwvZGl2PgoJCXsvaWZ9CiAgICB7L2lmfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3Quc3VibWl0fXskcHJvZHVjdC5jYW5jZWx9CgkJCQl7JHByb2R1Y3QucHJvZHVjdF9pZC5pbnB1dH17JHByb2R1Y3QuY3VycmVudF9jYXRlZ29yeV9pZC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KeyRwcm9kdWN0LmVuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/product_images.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRpbWFnZXMubWVzc2FnZSkgfTxwPnskaW1hZ2VzLm1lc3NhZ2V9PC9wPnsvaWZ9DQp7JGltYWdlcy5zdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2VzLm5hbWUubGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpbWFnZXMubmFtZS5vdXRwdXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRpbWFnZXMuaW1hZ2UubGFiZWx9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1hZ2VzLmltYWdlLmlucHV0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2VzLmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGltYWdlcy5kZXNjcmlwdGlvbi5pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb2R1Y3QucHJvZHVjdF9pZC5pbnB1dH17JHByb2R1Y3QuY3VycmVudF9jYXRlZ29yeV9pZC5pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGltYWdlcy5zdWJtaXR9eyRpbWFnZXMuY2FuY2VsfTwvcD4KPC9kaXY+Cgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aD57JGltYWdlcy5uYW1lY29sdW1ufTwvdGg+CiAgICAgICAgICAgIDx0aD57JGltYWdlcy5kZXNjcmlwdGlvbmNvbHVtbn08L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgoJe2lmICRpbWFnZXMuaXRlbWNvdW50ID4gMH0KCQl7Zm9yZWFjaCBmcm9tPSRpbWFnZXMubGlzdCBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQk8dGQ+PGltZyBzcmM9InskZW50cnkucHJvZHVjdGltYWdlfSIgaGVpZ2h0PSJ7JGVudHJ5LmltYWdlaGVpZ2h0fSI+PC90ZD4KCQkJPHRkPnskZW50cnkuaW1hZ2V9PC90ZD4KCQkJPHRkPnskZW50cnkuZGVzY3JpcHRpb259PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2VkaXR9PC90ZD4KCQkJPHRkIGNsYXNzPSJwYWdlaWNvbiI+eyRlbnRyeS5saW5rX2RlbGV0ZX08L3RkPgoJCTwvdHI+CgkgICAgICAgIHsvZm9yZWFjaH0KCXtlbHNlfQoJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQk8dGQgY29sc3Bhbj0nNScgYWxpZ249J2NlbnRlcic+eyRpbWFnZXMubm9faW1hZ2VzX2F2YWlsYWJsZX08L3RkPgoJCTwvdHI+Cgl7L2lmfQogICAgPC90Ym9keT4KPC90YWJsZT4KeyRpbWFnZXMuZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/product_image_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRpbWFnZS5tZXNzYWdlKSB9PHA+eyRpbWFnZS5tZXNzYWdlfTwvcD57L2lmfQ0KeyRpbWFnZS5zdGFydGZvcm19DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGltYWdlLm5hbWUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGltYWdlLm5hbWUub3V0cHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaW1hZ2UuZGVzY3JpcHRpb24ubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbWFnZS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KCQkJeyRpbWFnZS5wcm9kdWN0X2lkLmlucHV0fQ0KCQkJeyRpbWFnZS5jdXJyZW50X2NhdGVnb3J5X2lkLmlucHV0fQ0KCQkJeyRpbWFnZS5wcm9kdWN0X2ltYWdlc19pZC5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1hZ2Uuc3VibWl0fXskaW1hZ2UuY2FuY2VsfTwvcD4NCgk8L2Rpdj4NCnskaW1hZ2UuZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/sku_add.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRza3Uuc3RhcnRmb3JtfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3Uuc2t1LmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LnNrdS5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHNrdS5kZXNjcmlwdGlvbi5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNrdS5kZXNjcmlwdGlvbi5pbnB1dH08L3A+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LnN1Ym1pdH08L3A+DQogICAgPC9kaXY+DQp7JHNrdS5lbmRmb3JtfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/sku_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtZXNzYWdlKSB9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQ0KeyRza3Uuc3RhcnRmb3JtfQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3UubmFtZS5sYWJlbH06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHNrdS5uYW1lLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskc2t1LmRlc2NyaXB0aW9uLmxhYmVsfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc2t1LmRlc2NyaXB0aW9uLmlucHV0fTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRza3Uuc3VibWl0fXskc2t1LmNhbmNlbH17JHNrdS5za3UuaW5wdXR9PC9wPg0KICAgIDwvZGl2Pg0KeyRza3UuZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/tab_categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWZ1bmN0aW9uIHNob3dRdWlja1NlbGVjdG9yKGlkKSB7CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJfQoJZnVuY3Rpb24gaGlkZVF1aWNrU2VsZWN0b3IoaWQpIHsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCX0KPC9zY3JpcHQ+CnsvbGl0ZXJhbH0Ke2lmICRtZXNzYWdlIT0nJ30KCTxwPnskbWVzc2FnZX08L3A+CnsvaWZ9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSIgc3R5bGU9ImJvcmRlcjogMHB4OyI+Cgk8dHIgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3A7Ij4KCTx0ZCBpZD0icXMiIHN0eWxlPSJkaXNwbGF5OiB7JGRpc3BsYXlxc307IG92ZXJmbG93LXk6aGlkZGVuOyBvdmVyZmxvdy14OnNjcm9sbDsiPgoJPGZpZWxkc2V0PgoJCTxsZWdlbmQ+eyR0aXRsZV9xdWlja19zZWxlY3Rvcn08L2xlZ2VuZD4KCQk8ZGl2IHN0eWxlPSJib3JkZXI6MHB4IHNvbGlkIGJsYWNrO3dpZHRoOjE5MHB4O2hlaWdodDo0MDBweDtvdmVyZmxvdy15OnNjcm9sbDtvdmVyZmxvdy14OnNjcm9sbDsiPgoJCTxwIHN0eWxlPSJ3aWR0aDoyNTAlOyI+CgkJPHRhYmxlIHdpZHRoPTEwMCUgYm9yZGVyPTA+CgkJe3NlY3Rpb24gbmFtZT1pIGxvb3A9JHFzY2F0c30KCQkgPHRyIHN0eWxlPSJoZWlnaHQ6IDFlbTsiPgoJCSAgPHRkPntzZWN0aW9uIG5hbWU9aiBsb29wPSRxc2NhdHNbaV1bM10gbWF4PSRxc2NhdHNbaV1bM119Jm5ic3A7Jm5ic3A7ey9zZWN0aW9ufQoJCSAgCXskcXNjYXRzW2ldWzFdfXtpZiAkcXNjYXRzW2ldWzRdID4gMH0mbmJzcDsoeyRxc2NhdHNbaV1bNF19KXsvaWZ9CgkJICA8L3RkPgoJCSA8L3RyPgoJCXsvc2VjdGlvbn0KCQk8L3RhYmxlPgoJCTwvcD4KCQk8L2Rpdj4KCTwvZmllbGRzZXQ+Cgk8L3RkPgoJPHRkIHN0eWxlPSJ3aWR0aDogODAlOyI+CgkJPHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4KCQl7JGNhdGVnb3JpZXMuY3VycmVudC5sYWJlbH06Jm5ic3A7eyRjYXRlZ29yaWVzLmN1cnJlbnQudmFsdWV9Jm5ic3A7eyRjYXRlZ29yaWVzLmN1cnJlbnQubGlua19hZGR9CgkJPC9zcGFuPgoJCTxzcGFuIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4KCQkJPGEgaHJlZj0iIyIgb25jbGljaz0ic2hvd1F1aWNrU2VsZWN0b3IoJ3FzJyk7IHJldHVybiBmYWxzZTsiPnskdGl0bGVfc2hvd308L2E+CgkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9ImhpZGVRdWlja1NlbGVjdG9yKCdxcycpOyByZXR1cm4gZmFsc2U7Ij57JHRpdGxlX2hpZGV9PC9hPiZuYnNwOwoJCQl7JHRpdGxlX3F1aWNrX3NlbGVjdG9yfQoJCTwvc3Bhbj4KCQk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoIHdpZHRoPSI1JSI+eyRjYXRlZ29yaWVzLnN1YmNhdGVnb3JpZXMubGFiZWwuaWR9PC90aD4KCQkJCQk8dGg+eyRjYXRlZ29yaWVzLnN1YmNhdGVnb3JpZXMubGFiZWwubmFtZX08L3RoPgoJCQkJCTx0aD57JGNhdGVnb3JpZXMuc3ViY2F0ZWdvcmllcy5sYWJlbC5kZXNjcmlwdGlvbn08L3RoPgoJCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5PgoJCQkJe2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcy5zdWJjYXRlZ29yaWVzLmxpc3QgaXRlbT1lbnRyeX0KCQkJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQkJCTx0ZD57JGVudHJ5LmNhdGVnb3J5X2lkfTwvdGQ+CgkJCQkJPHRkPnskZW50cnkubmFtZX08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufHRydW5jYXRlfTwvdGQ+CgkJCQkJPHRkPnskZW50cnkubGlua19lbmFibGV9PC90ZD4KCQkJCQk8dGQ+eyRlbnRyeS5saW5rX2VkaXR9PC90ZD4KCQkJCQk8dGQ+eyRlbnRyeS5saW5rX2RlbGV0ZX08L3RkPgoJCQkJPC90cj4KCQkJCXtmb3JlYWNoZWxzZX0KCQkJCTx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIn0iPgoJCQkJCTx0ZCBjb2xzcGFuPSc2JyBhbGlnbj0nY2VudGVyJz57JG5vY2F0Zm91bmR9PC90ZD4KCQkJCTwvdHI+CgkJCQl7L2ZvcmVhY2h9CgkJCTwvdGJvZHk+CgkJPC90YWJsZT4KCQkKCQl7JHByb2R1Y3RzLnN0YXJ0Zm9ybX0KCQl7JHByb2R1Y3RzLmNhdGVnb3J5LmxhYmVsfTombmJzcDt7JHByb2R1Y3RzLmNhdGVnb3J5LnZhbHVlfSZuYnNwOwoJCXskcHJvZHVjdHMuY2F0ZWdvcnkubGlua19hZGR9Jm5ic3A7eyRwcm9kdWN0cy5pdGVtc2VhcmNofXskcHJvZHVjdHMuc3VibWl0fQoJCXskcHJvZHVjdHMuZW5kZm9ybX0KCQkKCQk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoIHdpZHRoPSI1JSI+eyRwcm9kdWN0cy5wcm9kdWN0cy5sYWJlbC5pZH08L3RoPgoJCQkJCTx0aD57JHByb2R1Y3RzLnByb2R1Y3RzLmxhYmVsLm5hbWV9PC90aD4KCQkJCQk8dGg+eyRwcm9kdWN0cy5wcm9kdWN0cy5sYWJlbC5kZXNjcmlwdGlvbn08L3RoPgoJCQkJCTx0aD57JHByb2R1Y3RzLnByb2R1Y3RzLmxhYmVsLml0ZW1udW1iZXJ9PC90aD4KCQkJCQk8dGg+eyRwcm9kdWN0cy5wcm9kdWN0cy5sYWJlbC5vbnN0b2NrfTwvdGg+CgkJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHk+CgkJCQl7Zm9yZWFjaCBmcm9tPSRwcm9kdWN0cy5wcm9kdWN0cy5saXN0IGl0ZW09ZW50cnl9CgkJCQk8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9Ij4KCQkJCQk8dGQ+eyRlbnRyeS5wcm9kdWN0X2lkfTwvdGQ+CgkJCQkJPHRkPnskZW50cnkubmFtZX08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufHRydW5jYXRlfTwvdGQ+CgkJCQkJPHRkPnskZW50cnkuaXRlbW51bWJlcn08L3RkPgoJCQkJCXtpZiAkZW50cnkuaW52ZW50b3J5dHlwZSA9PSAncHJvZCd9CgkJCQkJCTx0ZD57JGVudHJ5Lm9uc3RvY2t9PC90ZD4KCQkJCQl7ZWxzZX0KCQkJCQkJPHRkPiZuYnNwOzwvdGQ+CgkJCQkJey9pZn0KCQkJCQk8dGQ+eyRlbnRyeS5saW5rX2VuYWJsZX08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LmxpbmtfZWRpdH08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LmxpbmtfZGVsZXRlfTwvdGQ+CgkJCQk8L3RyPgoJCQkJe2ZvcmVhY2hlbHNlfQoJCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+CgkJCQkJPHRkIGNvbHNwYW49JzcnIGFsaWduPSdjZW50ZXInPnskbm9wcm9kZm91bmR9PC90ZD4KCQkJCTwvdHI+CgkJCQl7L2ZvcmVhY2h9CgkJCTwvdGJvZHk+CgkJPC90YWJsZT4KCTwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/tab_options.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30KCTxwPnskbWVzc2FnZX08L3A+CnsvaWZ9Cnskb3B0aW9ucy5zdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5zdWJtaXR9PC9wPgoJPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLmFkbWluX25hbWUubGFiZWx9PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5hZG1pbl9uYW1lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5zaG9wX25hbWUubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuc2hvcF9uYW1lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5wcmljZXNpbmNsdmF0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRvcHRpb25zLnByaWNlc2luY2x2YXQuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLndlaWdodHVuaXRtZWFzdXJlLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRvcHRpb25zLndlaWdodHVuaXRtZWFzdXJlLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5pdGVtY2FwaXRhbG9ubHkubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuaXRlbWNhcGl0YWxvbmx5LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5hbGxvd2RvdWJsZWl0ZW0ubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuYWxsb3dkb3VibGVpdGVtLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5kZWZhdWx0X21heGF0dHJpYnV0ZXMubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuZGVmYXVsdF9tYXhhdHRyaWJ1dGVzLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5kZWZhdWx0X3NrdS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5kZWZhdWx0X3NrdS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG9wdGlvbnMuZGVmYXVsdF9jdXJyZW5jeS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5kZWZhdWx0X2N1cnJlbmN5LmlucHV0fSZuYnNwOwogICAgICAgIHskb3B0aW9ucy5kZWZhdWx0X3N5bWJvbC5sYWJlbH06Jm5ic3A7CiAgICAgICAgeyRvcHRpb25zLmRlZmF1bHRfc3ltYm9sLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5pbWFnZXBhdGhfY2F0ZWdvcnkubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuaW1hZ2VwYXRoX2NhdGVnb3J5LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5pbWFnZXBhdGhfcHJvZHVjdC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5pbWFnZXBhdGhfcHJvZHVjdC5pbnB1dH0mbmJzcDsKCQkJeyRvcHRpb25zLnRuaGVpZ2h0X3Byb2R1Y3QubGFiZWx9OiZuYnNwO3skb3B0aW9ucy50bmhlaWdodF9wcm9kdWN0LmlucHV0fSZuYnNwOwoJCQl7JG9wdGlvbnMudG53aWR0aF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JG9wdGlvbnMudG53aWR0aF9wcm9kdWN0LmlucHV0fQoJCQkmbmJzcDt7JG9wdGlvbnMucmVidWlsZHByb2R1Y3R0aHVtYm5haWxzfTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5wcm9kdWN0cGFnZWxpbWl0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRvcHRpb25zLnByb2R1Y3RwYWdlbGltaXQuaW5wdXR9PC9wPgogICAgPC9kaXY+Cgk8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskb3B0aW9ucy5pbnZlbnRvcnlzZXR0aW5ncy5sYWJlbH08L2xlZ2VuZD4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG9wdGlvbnMuaW52ZW50b3J5dHlwZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5pbnZlbnRvcnl0eXBlLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy5zYWxlc2ludmVudHRpbWluZy5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5zYWxlc2ludmVudHRpbWluZy5pbnB1dH08L3A+CiAgICA8L2Rpdj4KCTwvZmllbGRzZXQ+Cgk8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskb3B0aW9ucy5udW1iZXJmb3JtYXR0aW5nLmxhYmVsfTwvbGVnZW5kPgoJe2lmICRDYXJ0TVNJbnN0YWxsZWQgPT0gZmFsc2V9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLmRlY2ltYWxwb3NpdGlvbnNwcmljZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5kZWNpbWFscG9zaXRpb25zcHJpY2UuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLmRlY2ltYWxzZXBhcmF0b3JwcmljZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5kZWNpbWFsc2VwYXJhdG9ycHJpY2UuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLnRob3VzYW5kc2VwYXJhdG9ycHJpY2UubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMudGhvdXNhbmRzZXBhcmF0b3JwcmljZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIHsvaWZ9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLmRlY2ltYWxwb3NpdGlvbnN3ZWlnaHQubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuZGVjaW1hbHBvc2l0aW9uc3dlaWdodC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG9wdGlvbnMuZGVjaW1hbHNlcGFyYXRvcndlaWdodC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy5kZWNpbWFsc2VwYXJhdG9yd2VpZ2h0LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskb3B0aW9ucy50aG91c2FuZHNlcGFyYXRvcndlaWdodC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskb3B0aW9ucy50aG91c2FuZHNlcGFyYXRvcndlaWdodC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KCTwvZmllbGRzZXQ+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRvcHRpb25zLmRpc3BsYXlxdWlja3NlbGVjdG9yLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRvcHRpb25zLmRpc3BsYXlxdWlja3NlbGVjdG9yLmlucHV0fTwvcD4KICAgIDwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG9wdGlvbnMuc3VibWl0fXskb3B0aW9ucy5zZWFyY2hyZWluZGV4fTwvcD4KCTwvZGl2Pgp7JG9wdGlvbnMuZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/tab_preferences.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30KCTxwPnskbWVzc2FnZX08L3A+CnsvaWZ9CnskcHJlZmVyZW5jZXMuc3RhcnRmb3JtfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWRtaW5fbmFtZS5sYWJlbH08L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hZG1pbl9uYW1lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWRtaW5fZW1haWwubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmFkbWluX2VtYWlsLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuc2hvcF9uYW1lLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX25hbWUuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5zaG9wX3Bob25lLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zaG9wX3Bob25lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuc2hvcF9vbmxpbmUubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLnNob3Bfb25saW5lLmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMucHJpY2VzaW5jbHZhdC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMucHJpY2VzaW5jbHZhdC5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLndlaWdodHVuaXRtZWFzdXJlLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy53ZWlnaHR1bml0bWVhc3VyZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLml0ZW1jYXBpdGFsb25seS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuaXRlbWNhcGl0YWxvbmx5LmlucHV0fTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuYWxsb3dkb3VibGVpdGVtLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5hbGxvd2RvdWJsZWl0ZW0uaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X21heGF0dHJpYnV0ZXMubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfbWF4YXR0cmlidXRlcy5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfc2t1LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X3NrdS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfY3VycmVuY3kubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmRlZmF1bHRfY3VycmVuY3kuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5kZWZhdWx0X3N5bWJvbC5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuZGVmYXVsdF9zeW1ib2wuaW5wdXR9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfY2F0ZWdvcnkubGFiZWx9OjwvcD4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByZWZlcmVuY2VzLmltYWdlcGF0aF9jYXRlZ29yeS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLmltYWdlcGF0aF9wcm9kdWN0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5pbWFnZXBhdGhfcHJvZHVjdC5pbnB1dH0mbmJzcDsKCQkJeyRwcmVmZXJlbmNlcy50bmhlaWdodF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JHByZWZlcmVuY2VzLnRuaGVpZ2h0X3Byb2R1Y3QuaW5wdXR9Jm5ic3A7CgkJCXskcHJlZmVyZW5jZXMudG53aWR0aF9wcm9kdWN0LmxhYmVsfTombmJzcDt7JHByZWZlcmVuY2VzLnRud2lkdGhfcHJvZHVjdC5pbnB1dH0KCQkJJm5ic3A7eyRwcmVmZXJlbmNlcy5yZWJ1aWxkcHJvZHVjdHRodW1ibmFpbHN9PC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcmVmZXJlbmNlcy5wcm9kdWN0cGFnZWxpbWl0LmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5wcm9kdWN0cGFnZWxpbWl0LmlucHV0fTwvcD4KICAgIDwvZGl2PgoJPGZpZWxkc2V0PgoJPGxlZ2VuZD57JHByZWZlcmVuY2VzLmludmVudG9yeXNldHRpbmdzLmxhYmVsfTwvbGVnZW5kPgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJlZmVyZW5jZXMuaW52ZW50b3J5dHlwZS5sYWJlbH06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuaW52ZW50b3J5dHlwZS5pbnB1dH08L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByZWZlcmVuY2VzLnNhbGVzaW52ZW50dGltaW5nLmxhYmVsfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmVmZXJlbmNlcy5zYWxlc2ludmVudHRpbWluZy5pbnB1dH08L3A+CiAgICA8L2Rpdj4KCTwvZmllbGRzZXQ+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJlZmVyZW5jZXMuc3VibWl0fXskcHJlZmVyZW5jZXMuc2VhcmNocmVpbmRleH08L3A+Cgk8L2Rpdj4KeyRwcmVmZXJlbmNlcy5lbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/tab_skus.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRza3VzLm1lc3NhZ2UhPScnfQ0KCTxwPnskc2t1cy5tZXNzYWdlfTwvcD4NCnsvaWZ9DQp7JHNrdXMuc3RhcnRmb3JtfQ0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgkgICAgPHRoZWFkPg0KCSAgICAgICAgPHRyPg0KCSAgICAgICAgICAgIDx0aD57JHNrdXMuc2t1cy5sYWJlbC5za3V9PC90aD4NCgkgICAgICAgICAgICA8dGg+eyRza3VzLnNrdXMubGFiZWwuZGVzY3JpcHRpb259PC90aD4NCgkgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KCSAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQoJICAgICAgICA8L3RyPg0KCSAgICA8L3RoZWFkPg0KCSAgICA8dGJvZHk+DQoJICAgICAgICB7Zm9yZWFjaCBmcm9tPSRza3VzLnNrdXMubGlzdCBpdGVtPWVudHJ5fQ0KCSAgICAgICAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubmFtZX08L3RkPg0KCSAgICAgICAgICAgIDx0ZD57JGVudHJ5LmRlc2NyaXB0aW9ufTwvdGQ+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubGlua19lZGl0fTwvdGQ+DQoJICAgICAgICAgICAgPHRkPnskZW50cnkubGlua19kZWxldGV9PC90ZD4NCgkgICAgICAgIDwvdHI+DQoJICAgICAgICB7Zm9yZWFjaGVsc2V9DQoJICAgICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9InJvdzEscm93MiJ9Ij4NCgkgICAgICAgICAgICA8dGQgY29sc3Bhbj0nMicgYWxpZ249J2NlbnRlcic+eyRub3NrdXNmb3VuZH08L3RkPg0KCSAgICAgICAgPC90cj4NCgkgICAgICAgIHsvZm9yZWFjaH0NCgkgICAgPC90Ym9keT4NCgk8L3RhYmxlPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRza3VzLnNrdXMubGFiZWwubGlua19hZGR9Jm5ic3A7eyRza3VzLnNrdXMubGFiZWwudGV4dF9hZGR9PC9wPg0KCTwvZGl2Pg0KeyRza3VzLmVuZGZvcm19DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/tab_templates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ30NCgk8cD57JG1lc3NhZ2V9PC9wPg0Key9pZn0NCnskdGVtcGxhdGVzLnN0YXJ0Zm9ybX0NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGVtcGxhdGVzLmNhdGxpc3RfdGVtcGxhdGUubGFiZWx9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuY2F0bGlzdF90ZW1wbGF0ZS5pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLnN1Ym1pdH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHRlbXBsYXRlcy5jYXRlZ29yaWVzX3RlbXBsYXRlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLmNhdGVnb3JpZXNfdGVtcGxhdGUuaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlcy5zdWJtaXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0ZW1wbGF0ZXMucHJvZGRldGFpbF90ZW1wbGF0ZS5sYWJlbH06PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlcy5wcm9kZGV0YWlsX3RlbXBsYXRlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuc3VibWl0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdGVtcGxhdGVzLnByb2RmZWF0X3RlbXBsYXRlLmxhYmVsfTo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVzLnByb2RmZWF0X3RlbXBsYXRlLmlucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZXMuc3VibWl0fTwvcD4NCgk8L2Rpdj4NCnskdGVtcGxhdGVzLmVuZGZvcm19DQo=]]></data>
	</file>
</module>
