<?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>PicasaBrowser</name>
	<version>2.0</version>
  <mincmsversion>1.6</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgZGlzcGxheXMgYSBsaXN0IG9mIHB1YmxpYyBQaWNhc2EgV2ViIEFsYnVtcyBvbiBhIHBhZ2UgaW4gQ01TTVMuICBZb3UgY2FuIGFsc28gc2hvdyB0aGUgY29udGVudHMgb2YgYSBzaW5nbGUgYWxidW0gb24gYSBwYWdlLiAgVGhlIGFsYnVtIHZpZXcgc2hvd3MgdGh1bWJuYWlscyBhbmQgd2hlbiBhIHRodW1ibmFpbCBpcyBzZWxlY3RlZCB0aGUgcGljdHVyZSBpcyBzaG93biBpbiBhIHBvcC11cCBib3guICBUaGUgc2xpZGUgc2hvdyBmdW5jdGlvbmFsaXR5IGFsbG93cyB0aGUgdXNlciB0byBtb3ZlIGZvcndhcmQgYW5kIGJhY2sgdGhyb3VnaCB0aGUgcGljdHVyZXMgaW4gYW4gYWxidW0gdXNpbmcgdGhlIGFycm93IGtleXMgb3IgdGhlIG1vdXNlLiAgT3B0aW9uYWxseSB5b3UgY2FuIGNvbmZpZ3VyZSBhIHBhZ2UgdG8gc2hvdyBhIHNldCBvZiBhbGJ1bXMgdXNpbmcgdGhlIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgYXR0cmlidXRlcy4gIFRoZXJlIGFyZSBwYXJhbWV0ZXJzIGZvciBhbGJ1bSB0aHVtYm5haWwsIGltYWdlIHRodW1ibmFpbCBhbmQgcGljdHVyZSBpbWFnZSBzaXplcy4gPC9wPgo8cD5UaGUgYWR2YW50YWdlIG9mIHVzaW5nIHRoaXMgbW9kdWxlIG92ZXIgdGhlIEFsYnVtIG1vZHVsZSBpcyB5b3UgY2FuIHVzZSB0aGUgUGljYXNhIGRlc2t0b3AgYXBwbGljYXRpb24gdG8gY3JvcCwgYmFsYW5jZSwgYW5ub3RhdGUsIG9yZ2FuaXplIGFuZCB1cGxvYWQgeW91ciBwaWN0dXJlcy4gIEdvb2dsZSBnaXZlcyB5b3UgMSBnYiBvZiBzcGFjZSB0byBzdG9yZSBwaG90b3MsIGFuZCBpZiB5b3UgaGF2ZSBhIGdtYWlsIGFjY291bnQsIHlvdSBhbHJlYWR5IGhhdmUgYSBsb2dpbi4gIFlvdSBjYW4gdXNlIFBpY2FzYSBvciB0aGUgUGljYXNhIFdlYiBBbGJ1bXMgKGh0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbSkgdG8gbWFuYWdlIG9yZGVyLCBhbGJ1bSBuYW1lcywgYW5kIHBpY3R1cmUgY2FwdGlvbnMuPC9wPgo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4KPHA+MS4gUGxhY2UgdGhlIHNtYXJ0eSB0YWcge1BpY2FzYUJyb3dzZXIgdXNlcj0idXNlcm5hbWUifSBvbiB0aGUgcGFnZS4gIFRvIHNob3cgYSBwYXJ0aWN1bGFyIGFsYnVtIGluY2x1ZGUgdGhlIGFsYnVtIHBhcmFtZXRlci48L3A+CjxwPjEuIFBsYWNlIHRoZSBzbWFydHkgdGFnIHtQaWNhc2FCcm93c2VyIGhlYWRlcj0xfSBpbiB5b3VyIHRlbXBsYXRlIG9yIG1ldGFkYXRhLiBUaGlzIGluc2VydHMgdGhlIHJlbGV2YW50IGhlYWRlci1pbmNsdXNpb25zLCBsaWtlIExpZ2h0Qm94LWphdmFzY3JpcHQgZXRjLjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPlRoZSBtb2R1bGUgZGV2ZWxvcG1lbnQgcGFnZSBhdDogPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9wd2Ficm93c2VyLyI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9wd2Ficm93c2VyLzwvYT48L2xpPgo8bGk+WW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5IGF0IHJvcmlrLm1lbGJlcmdAZ21haWwuY29tPC9saT4KPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxwPkJlY2F1c2UgdGhpcyBtb2R1bGUgbWFrZXMgd2ViIHJlcXVlc3RzIHRvIEdvb2dsZSwgeW91IG11c3QgaGF2ZSBlaXRoZXIgY1VSTCBvciB0aGUgImFsbG93X3VybF9mb3BlbiIgc2V0dGluZyBpbiB5b3VyIHBocC5pbmkgdHVybmVkIG9uLiAgY1VSTCBpcyB0aGUgcHJlZmZlcmVkIG1ldGhvZCBiZWNhdXNlIGl0IGFsbG93cyBjb21wcmVzc29uIGluIHRoZSByZXF1ZXN0IHdoaWNoIEdvb2dsZSB0YWtlcyBhZHZhbmFnZSBvZiBhbmQgYmVjYXVzZSBvZiB0aGUgc2l6ZSBvZiB0aGUgWE1MIGRvY3MsIHRoaXMgY2FuIGRyYXN0aWNhbGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIG1ha2UgYSByZXF1ZXN0IGVzcGVjaWFsbHkgd2hlbiB5b3UgaGF2ZSBtYW55IGFsYnVtcyBpbiB5b3VyIGxpYnJhcnkuPC9wPgo8cD5QaWNhc2EgeG1sIHN0cmVhbSBwcm9jZXNzaW5nIGlzIGRvbmUgd2l0aCB0aGUgU2ltcGxlWE1MIGxpYnJhcnksIHdoaWNoIHNob3VsZCBiZSBpbmNsdWRlZCBpbiBhIGRlZmF1bHQgUEhQIDUuMCBpbnN0YWxsLiBJZiB0aGlzIGlzIG5vdCBpbnN0YWxsZWQsIHRoaXMgbW9kdWxlIHdpbGwgbm90IHdvcmsuICBUaGlzIGFsc28gcmVzdHJpY3RzIHRoaXMgbW9kdWxlIHRvIFBIUCA1IG1hY2hpbmVzIG9ubHkuPC9wPgo8aDM+T3RoZXIgUGljYXNhIFdlYiBBbGJ1bSBoaW50czwvaDM+CjxwPklmIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYSBzaW5nbGUgcGljdHVyZSBmcm9tIHlvdXIgd2ViIGFsYnVtLCB5b3UgY2FuIGdldCB0aGUgbGluayBmcm9tIHRoZSB3ZWIgYWxidW0gaW50ZXJmYWNlIGl0c2VsZi4gIEdvIHRvIHlvdXIgd2ViYWxidW0gcGFnZSAocGljYXNhd2ViLmdvb2dsZS5jb20vdXNlcm5hbWUpIGFuZCBicm93c2UgdG8gdGhlIHBpY3R1cmUgeW91IHdvdWxkIGxpa2UgdG8gc2hvdy4gIFRoZXJlIGlzIGFuIGV4cGFuZGFibGUgYm94IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgdGhhdCBzYXlzICJsaW5rIHRvIHRoaXMgcGhvdG8iLiAgWW91IGNhbiBzZWxlY3QgdGhlIHNpemUgb2YgdGhlIHBpY3R1cmUgYW5kIHRoZW4gY29weSB0aGUgbGluayBmcm9tIHRoZSAiSFRNTCB0byBlbWJlZCBpbiB3ZWJzaXRlIiBib3guICBJIHVzdWFsbHkgcHVsbCB0aGUgc3JjIGF0dHJpYnV0ZSB2YWx1ZSBmcm9tIHRoZSBpbWFnZSB0YWcgYW5kIHVzZSBpdCB0byByZWZlcmVuY2UgdGhlIHBob3RvLjwvcD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdXNlcj0iIiAtIFJlcXVpcmVkLiBUaGUgZ29vZ2xlIHVzZXIgbmFtZSBvZiB0aGUgcGVyc29uIHdobyBoYXMgdGhlIGFsYnVtcyB0byBiZSBkaXNwbGF5ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhbGJ1bT0iIiAtIFRoZSBuYW1lIG9mIHRoZSBhbGJ1bSB5b3Ugd291bGQgbGlrZSB0byBzZWUuICBUaGlzIG5hbWUgaXMgd2hhdCBQaWNhc2EgdXNlcyB0byByZWZlcmVuY2UgYW4gYWxidW0gd2hpY2ggaXMgd2hhdCB5b3UgbmFtZWQgdGhlIGFsYnVtIHdpdGggc3BhY2VzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMgc3RyaXBwZWQgb3V0LiAgSWYgYW4gYWxidW0gbmFtZSBkb3NlbnQgd29yaywgcHVsbCB1cCB0aGF0IGFsYnVtIGluIHBpY2FzYSB3ZWIgYWxidW1zIGFuZCBsb29rIGF0IHRoZSBjb21tYW5kIGxpbmUuICBGb3IgZXhhbXBsZSwgbXkgYWxidW0gY2FsbGVkICJNRy00IiB1cmwgbG9va3MgbGlrZSB0aGlzOiAiaHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL3JvcmlrLm1lbGJlcmcvTUc0Ii4gIFRoZSBoeXBoZW4gaXMgc3RyaXBwZWQgb3V0LCBzbyBpZiBJIHdhbnQgdG8gc2hvdyBvbmx5IHRoaXMgYWxidW0sIHRoZSBhbGJ1bSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IHRvICJNRzQiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZXhjbHVkZT0iIiAtIExpc3Qgb2YgbWFza3MgdG8gZXhjbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGV4Y2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgZXhjbHVkZSBpcyAiZG9vO2RhaDsiICBBbGwgYWxidW1zIHdpdGggZG9vIGFuZCBkYWggYXBwZWFyaW5nIGluIHRoZW0gd2lsbCBub3QgYmUgc2hvd248L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGluY2x1ZGU9IiIgLSBMaXN0IG9mIG1hc2tzIHRvIGluY2x1ZGUsIGRlbGltaXRlZCBieSBzZW1pY29sb25zLiBUaGlzIGlzIGEgc2ltcGxlIHN0cmluZyBjb21wYXJlLCBpZiB0aGUgZW50aXJlIHN0cmluZyBpcyBhbnl3aGVyZSBpbiB0aGUgQWxidW0gbmFtZSwgaXQgd2lsbCBiZSBpbmNsdWRlZC4gQm90aCB0aGUgaW5jbHVkZSBhbmQgZXhjbHVkZSBjYW4gYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLiAgRXhjbHVkZSB3aWxsIG92ZXJycmlkZSBpbmNsdWRlcy4gIEZvciBleGFtcGxlLCBpZiB0aGUgdmFsdWUgZm9yIGluY2x1ZGUgaXMgImRvbztkYWg7IiBvbmx5IGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGluIHRoZW0gd2lsbCBiZSBkaXNwbGF5ZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGltYWdlc2l6ZT0iNTEyIiAtIFRoZSBzaXplIG9mIHRoZSBpbWFnZSByZXF1ZXN0ZWQuICBHb29nbGUgb25seSBhbGxvd3MgcGFydGljdWxhciB2YWx1ZXMgZm9yIHRoaXMuICBTZWUgaW1hZ2V0aHVtYnNpemUgZW50cnkgb3IgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT4gZm9yIHRoaXMgdGFibGUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBpbWFnZXRodW1ic2l6ZT0iNjQiIC0gVGhlIHNpemUgb2YgdGhlIGltYWdlIHJlcXVlc3RlZC4gIEdvb2dsZSBvbmx5IGFsbG93cyBwYXJ0aWN1bGFyIHZhbHVlcyBmb3IgdGhpcy4gIFNlZSBiZWxvdyBvciA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sIj5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPiBmb3IgdGhpcyB0YWJsZS4gIENyb3BwZWQgbWVhbnMgdGhlIHRodW1ibmFpbCB5b3UgZ2V0IGlzIHNxdWFyZS4gIE9ubHkgZW1iZWRkYWJsZSBzaXplcyBhcmUgdmFsaWQgZm9yIHRoaXMgbW9kdWxlLiAgSWYgeW91IGdldCBkb3dubG9hZCBwcm9tcHRzIGZyb20gdGhlIGJyb3dzZXIsIHlvdSBoYXZlIHByb2JhYmx5IHBpY2tlZCBhIHNpemUgdGhhdCBpcyB0b28gYmlnLgogICAgPHRhYmxlPgogICAgIDx0Ym9keT48dHI+CiAgICAgICAgPHRoPlNpemU8L3RoPgogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+CiAgICAgICAgPHRoPlNpemU8L3RoPgogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KCiAgICAgICAgPHRkPjxjb2RlPjMyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjU3NjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjQ4PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjY0MDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjY0PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjcyMDwvY29kZT48L3RkPgoKICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjcyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgICA8dGQ+WWVzPC90ZD4KCiAgICAgICAgPHRkPjxjb2RlPjgwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQ+PGNvZGU+MTQ0PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KCiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjkxMjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4xNjA8L2NvZGU+PC90ZD4KCiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjEwMjQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgIDwvdHI+CgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjIwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZT4xMTUyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KCiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4yODg8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZT4xMjgwPC9jb2RlPjwvdGQ+CgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4zMjA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgoKICAgICAgICA8dGQ+PGNvZGU+MTQ0MDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT40MDA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgoKICAgICAgICA8dGQ+WWVzPC90ZD4KICAgICAgICA8dGQ+PGNvZGU+MTYwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT41MTI8L2NvZGU+PC90ZD4KCiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgICA8dGQ+WWVzPC90ZD4KICAgICAgICA8dGQ+PGNvZGU+ZDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgIDwvdGJvZHk+PC90YWJsZT48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFsYnVtdGh1bWJzaXplPSIyMDAiIC0gVGhlIHNpemUgb2YgdGhlIGFsYnVtIHRodW1ibmFpbCByZXF1ZXN0ZWQuICBHb29nbGUgb25seSBhbGxvd3MgcGFydGljdWxhciB2YWx1ZXMgZm9yIHRoaXMuICBTZWUgaW1hZ2V0aHVtYnNpemUgZW50cnkgb3IgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT5mb3IgdGhpcyB0YWJsZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGhlYWRlcj0iMCIgLSBJZiBzZXQgdG8gMSB0aGUgbW9kdWxlIHdpbGwgb3V0cHV0IGFueSBoZWFkZXItaW5mbyByZXF1aXJlZCBmb3IgaW1hZ2VzIHZpZXc8L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBSb3JpayBKLiBNZWxiZXJnL01vcnRlbiBQb3Vsc2VuICZsdDtyb3Jpay5tZWxiZXJnQGdtYWlsLmNvbS9tb3J0ZW5wb3Vsc2VuQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAyLjA8YnIgLz4=]]></about>
	<description><![CDATA[Shows Picasa Web Albums inside CMS Made Simple.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmIChpc3NldCgkcGFyYW1zWyJoZWFkZXIiXSkpIHsKICAkdGhpcy0+T3V0cHV0SW1hZ2VzSGVhZGVyKCk7CiAgcmV0dXJuOwp9CgppZiAoZW1wdHkoJHBhcmFtc1snYWxidW0nXSkgJiYgZW1wdHkoJHBhcmFtc1snYWxidW1pZCddKSkgewogIGlmICgkcGFyYW1zWydkZWJ1ZyddID09IHRydWUpIGVjaG8gIkRpc3BsYXkgQWxidW1zIjsKCiAgJHRoaXMtPmRpc3BsYXlBbGJ1bXMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwp9CmVsc2UgewogIGlmICgkcGFyYW1zWydkZWJ1ZyddID09IHRydWUpIGVjaG8gIkRpc3BsYXkgQWxidW0iOwoKICAkdGhpcy0+ZGlzcGxheUFsYnVtKCRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghJHRoaXMtPlZpc2libGVUb0FkbWluVXNlcigpKSB7CiAgcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwp9CgokdGhlbWVPYmplY3QgPSAmJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwoKLy8gVGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CiRhY3RpdmVfdGFiID0gaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSA/ICRwYXJhbXNbJ2FjdGl2ZV90YWInXSA6IEZBTFNFOwovLyBUYWIgaGVhZGVycwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiTW9kaWZ5IFRlbXBsYXRlcyIpKSB7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhbGJ1bXNfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygiYWxidW1zdGVtcGxhdGUiKSwgKCdhbGJ1bXNfdGVtcGxhdGUnID09ICRhY3RpdmVfdGFiKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpbWFnZXNfdGVtcGxhdGUnLCAkdGhpcy0+TGFuZygiaW1hZ2VzdGVtcGxhdGUiKSwgKCdpbWFnZXNfdGVtcGxhdGUnID09ICRhY3RpdmVfdGFiKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBTaXRlIFByZWZlcmVuY2VzIikpIHsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3NldHRpbmdzJywgJHRoaXMtPkxhbmcoInNldHRpbmdzIiksICgnc2V0dGluZ3MnID09ICRhY3RpdmVfdGFiKSk7Cn0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJNb2RpZnkgVGVtcGxhdGVzIikpIHsKICBlY2hvICR0aGlzLT5TdGFydFRhYignYWxidW1zX3RlbXBsYXRlJywgJHBhcmFtcyk7IHsKICAgICR0aGlzLT5fQWRtaW5FZGl0RGVmYXVsdFRlbXBsYXRlRm9ybSgkaWQsICRyZXR1cm5pZCwKICAgICAgICAgICAgJ2FsYnVtcycsCiAgICAgICAgICAgICdhbGJ1bXNfdGVtcGxhdGUnLAogICAgICAgICAgICAkdGhpcy0+TGFuZygndGl0bGVfZWRpdF9hbGJ1bV90ZW1wbGF0ZScpLAogICAgICAgICAgICAnb3JpZ19hbGJ1bXMudHBsJywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ2luZm9fcmVjaXBlX3RlbXBsYXRlJykpOwogIH0KICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLy9yZWNpcGVfZGV0YWlsX3RlbXBsYXRlCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ltYWdlc190ZW1wbGF0ZScsICRwYXJhbXMpOyB7CiAgICAkdGhpcy0+X0FkbWluRWRpdERlZmF1bHRUZW1wbGF0ZUZvcm0oJGlkLCAkcmV0dXJuaWQsCiAgICAgICAgICAgICdpbWFnZXMnLAogICAgICAgICAgICAnaW1hZ2VzX3RlbXBsYXRlJywKICAgICAgICAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2VkaXRfZGV0YWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICdvcmlnX2ltYWdlcy50cGwnLAogICAgICAgICAgICAkdGhpcy0+TGFuZygnaW5mb19lZGl0X2RldGFpbF90ZW1wbGF0ZScpKTsKICB9CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBTaXRlIFByZWZlcmVuY2VzIikpIHsKICBlY2hvICR0aGlzLT5TdGFydFRhYignc2V0dGluZ3MnLCAkcGFyYW1zKTsKICBpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pIC4gIi9mdW5jdGlvbi5zZXR0aW5ncy5waHAiKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.savesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpKSB7CiAgcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1siZmlsZW5hbWVkZXNjcmlwdGlvbiJdKSkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJmaWxlbmFtZWRlc2NyaXB0aW9uIiwkcGFyYW1zWyJmaWxlbmFtZWRlc2NyaXB0aW9uIl0pOwp9IGVsc2UgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJmaWxlbmFtZWRlc2NyaXB0aW9uIiwiMCIpOwp9CgppZiAoaXNzZXQoJHBhcmFtc1siZGVmYXVsdHVzZXIiXSkpICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0dXNlciIsJHBhcmFtc1siZGVmYXVsdHVzZXIiXSk7CmlmIChpc3NldCgkcGFyYW1zWyJkZWZhdWx0YWxidW0iXSkpICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0YWxidW0iLCRwYXJhbXNbImRlZmF1bHRhbGJ1bSJdKTsKaWYgKGlzc2V0KCRwYXJhbXNbImRlZmF1bHRpbWFnZXNpemUiXSkpICR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0aW1hZ2VzaXplIiwkcGFyYW1zWyJkZWZhdWx0aW1hZ2VzaXplIl0pOwppZiAoaXNzZXQoJHBhcmFtc1siZGVmYXVsdHRodW1ic2l6ZSJdKSkgJHRoaXMtPlNldFByZWZlcmVuY2UoImRlZmF1bHR0aHVtYnNpemUiLCRwYXJhbXNbImRlZmF1bHR0aHVtYnNpemUiXSk7CgoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZScgPT4gInNldHRpbmdzc2F2ZWQiLCAnYWN0aXZlX3RhYicgPT4gJHBhcmFtc1snYWN0aXZlX3RhYiddKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.updatetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpKSB7CiAgcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1sncmVzZXR0b2RlZmF1bHQnXSkpIHsKICAvLyBSZXNldCB0ZW1wbGF0ZSB0byBvcmlnaW5hbAogICRmbiA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICd0ZW1wbGF0ZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdvcmlnaW5hbCcgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHBhcmFtc1snc3lzdGVtdGVtcGxhdGUnXTsgIAogIGlmIChmaWxlX2V4aXN0cygkZm4pKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10sICR0ZW1wbGF0ZSk7CiAgfQp9IGVsc2UgewogICR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZV9uYW1lJ10sICRwYXJhbXNbJ2lucHV0X3RlbXBsYXRlJ10pOwp9CgokcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJyA9PiAidGVtcGxhdGV1cGRhdGVkIiwgJ2FjdGl2ZV90YWInID0+ICRwYXJhbXNbJ2FjdGl2ZV90YWInXSk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.settings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdzYXZlc2V0dGluZ3MnLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnICcsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAic2V0dGluZ3MiKSkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiRzbWFydHktPmFzc2lnbignbW9kdWxlJywgJHRoaXMpOwoKLy8kc21hcnR5LT5hc3NpZ24oJ2ZpbGVuYW1lZGVzY3JpcHRpb250ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpbGVuYW1lZGVzY3JpcHRpb24nKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2ZpbGVuYW1lZGVzY3JpcHRpb25pbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgImZpbGVuYW1lZGVzY3JpcHRpb24iLCAiMSIsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmaWxlbmFtZWRlc2NyaXB0aW9uIiwgMCkpKTsKCiRzbWFydHktPmFzc2lnbignZGVmYXVsdHVzZXJpbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAiZGVmYXVsdHVzZXIiLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdHVzZXIiKSkpOwokc2l6ZXM9YXJyYXkoCiAgICAiMzJweCI9PjMyLAogICAgIjQ4cHgiPT40OCwKICAgICI2NHB4Ij0+NjQsCiAgICAiNzJweCI9PjcyLAogICAgIjE0NHB4Ij0+MTQ0LAogICAgIjE1MHB4Ij0+MTUwLAogICAgIjE2MHB4Ij0+MTYwLAogICAgIjk0cHgiPT45NCwKICAgICIxMTBweCI9PjExMCwKICAgICIxMjhweCI9PjEyOCwKICAgICIyMDBweCI9PjIwMCwKICAgICIyMjBweCI9PjIyMCwKICAgICIyODhweCI9PjI4OCwKICAgICIzMjBweCI9PjMyMCwKICAgICI0MDBweCI9PjQwMCwKICAgICI1MTJweCI9PjUxMiwKICAgICI1NzZweCI9PjU3NiwKICAgICI2NDBweCI9PjY0MCwKICAgICI3MjBweCI9PjcyMCwKICAgICI4MDBweCI9PjgwMCwKICAgICI5MTJweCI9PjkxMiwKICAgICIxMDI0cHgiPT4xMDI0LAogICAgIjExNTJweCI9PjExNTIsCiAgICAiMTI4MHB4Ij0+MTI4MCwKICAgICIxNDQwcHgiPT4xNDQwLAogICAgIjE2MDBweCI9PjE2MDApOwokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHRpbWFnZXNpemVpbnB1dCcsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgImRlZmF1bHRpbWFnZXNpemUiLCAkc2l6ZXMsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0aW1hZ2VzaXplIikpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZWZhdWx0dGh1bWJzaXplaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICJkZWZhdWx0dGh1bWJzaXplIiwgJHNpemVzLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdHRodW1ic2l6ZSIpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2RlZmF1bHR1c2VyaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgImRlZmF1bHR1c2VyIiwgJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHR1c2VyIikpKTsKCgovLyRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZV9uYW1lKSwgJ2lucHV0X3RlbXBsYXRlJywnJywgJycsICcnLCAnJywgJzgwJywgJzE1JywnJywnaHRtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3NhdmVzZXR0aW5ncycpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3NldHRpbmdzLnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3Nlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxlZCEgIENvbmdyYXR1bGF0aW9ucyEnOwokbGFuZ1sncG9zdGluc3RhbGxfZm9wZW5fb2ZmJ10gPSAnUGljYXNhIFdlYiBBbGJ1bSBCcm93c2VyIHJlcXVpcmVzIGVpdGhlciBjVVJMIHRvIGJlIGluc3RhbGxlZCBvciB0aGUgImFsbG93X3VybF9mb3BlbiIgcGhwLmluaSBzZXR0aW5nIHRvIGJlIHNldCB0byB0cnVlLiAgSWYgdGhlc2UgY29uZGl0aW9ucyBhcmUgbm90IG1ldCAod2hpY2ggdGhleSBhcmUgY3VycmVudGx5IG5vdCkgdGhlIFBpY2FzYSBXZWIgQWxidW0gQnJvd3NlciB3aWxsIG5vdCB3b3JrLiAgQ29udGFjdCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yLCBvciB1c2VkIGZvciBpbnN0YW5jZSBwaHBpbmZvIHRvIGRpYWdub3NlIHRoZSBwcm9ibGVtJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdVbmluc3RhbGxlZCc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnUmVhbGx5PyBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoaXMgZmluZSBtb2R1bGU/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnU2V0dGluZ3Mgc2F2ZWQnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnU2hvd3MgUGljYXNhIFdlYiBBbGJ1bXMgaW5zaWRlIENNUyBNYWRlIFNpbXBsZS4nOwoKLy9Vc2VyIEludGVyZmFjZQokbGFuZ1snbGlua19iYWNrX3RleHQnXSA9ICJCYWNrIHRvIEFsYnVtIExpc3QiOyAgLy9MaW5rIFRleHQgZm9yICJCYWNrIiBidXR0b24gb24gSW1hZ2UgVmlld2VyCgokbGFuZ1siYWxidW1zdGVtcGxhdGUiXT0nQWxidW1zIHRlbXBsYXRlJzsKJGxhbmdbImltYWdlc3RlbXBsYXRlIl09J0ltYWdlcyB0ZW1wbGF0ZSc7CiRsYW5nWyJzZXR0aW5ncyJdPSdTZXR0aW5ncyc7CiRsYW5nWyJzYXZlc2V0dGluZ3MiXT0nU2F2ZSBzZXR0aW5ncyc7CiRsYW5nWyJzZXR0aW5nc3NhdmVkIl09J1NldHRpbmdzIHNhdmVkJzsKJGxhbmdbImJhc2ljYWxidW10ZW1wbGF0ZSJdPSJCYXNpYyBhbGJ1bSB0ZW1wbGF0ZSI7CgovL1NldHRpbmdzCiRsYW5nWyJmaWxlbmFtZWRlc2NyaXB0aW9uIl09IlVzZSBmaWxlbmFtZSB3aGVuIGxhY2tpbmcgYSBkZXNjcmlwdGlvbiI7CgovL0FkbWluIFRhZ3MgZm9yIGFkbWluIHBhZ2VzCiRsYW5nWyd0aXRsZV9lZGl0X2FsYnVtX3RlbXBsYXRlJ10gPSAnRWRpdCBBbGJ1bSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3JlY2lwZV90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgd2lsbCBkaXNwbGF5IHdoZW4gYWxidW1zIGFyZSBiZWluZyB2aWV3ZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdSZXNldCB0byBzeXN0ZW0gdGVtcGxhdGUnOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGVtcGxhdGUgdXBkYXRlZCc7CiRsYW5nWydjb25maXJtcmVzZXR0b2RlZmF1bHQnXSA9ICdBcmUgeW91IHN1cmUgdGhpcyB0ZW1wbGF0ZSBzaG91bGQgYmUgcmVzZXQgdG8gdGhlIHNlbGVjdGVkIHN5c3RlbSB0ZW1wbGF0ZT8nOwokbGFuZ1sndGl0bGVfZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdFZGl0IEltYWdlcyBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX2VkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnVGhpcyB0ZW1wbGF0ZSB3aWxsIGRpc3BsYXkgd2hlbiB2aWV3aW5nIHRoZSBkZXRhaWwgb2YgYW4gYWxidW0nOwoKLy8gUHJvcGVydHkgaGVscAokbGFuZ1snaGVscF9hbGJ1bSddID0gJ1RoZSBuYW1lIG9mIHRoZSBhbGJ1bSB5b3Ugd291bGQgbGlrZSB0byBzZWUuICBUaGlzIG5hbWUgaXMgd2hhdCBQaWNhc2EgdXNlcyB0byByZWZlcmVuY2UgYW4gYWxidW0gd2hpY2ggaXMgd2hhdCB5b3UgbmFtZWQgdGhlIGFsYnVtIHdpdGggc3BhY2VzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMgc3RyaXBwZWQgb3V0LiAgSWYgYW4gYWxidW0gbmFtZSBkb3NlbnQgd29yaywgcHVsbCB1cCB0aGF0IGFsYnVtIGluIHBpY2FzYSB3ZWIgYWxidW1zIGFuZCBsb29rIGF0IHRoZSBjb21tYW5kIGxpbmUuICBGb3IgZXhhbXBsZSwgbXkgYWxidW0gY2FsbGVkICJNRy00IiB1cmwgbG9va3MgbGlrZSB0aGlzOiAiaHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL3JvcmlrLm1lbGJlcmcvTUc0Ii4gIFRoZSBoeXBoZW4gaXMgc3RyaXBwZWQgb3V0LCBzbyBpZiBJIHdhbnQgdG8gc2hvdyBvbmx5IHRoaXMgYWxidW0sIHRoZSBhbGJ1bSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IHRvICJNRzQiLic7CiRsYW5nWydoZWxwX3VzZXInXSA9ICdSZXF1aXJlZC4gVGhlIGdvb2dsZSB1c2VyIG5hbWUgb2YgdGhlIHBlcnNvbiB3aG8gaGFzIHRoZSBhbGJ1bXMgdG8gYmUgZGlzcGxheWVkLic7CiRsYW5nWydoZWxwX2hlYWRlciddID0gJ0lmIHNldCB0byAxIHRoZSBtb2R1bGUgd2lsbCBvdXRwdXQgYW55IGhlYWRlci1pbmZvIHJlcXVpcmVkIGZvciBpbWFnZXMgdmlldyc7CiRsYW5nWydoZWxwX2V4Y2x1ZGUnXSA9ICdMaXN0IG9mIG1hc2tzIHRvIGV4Y2x1ZGUsIGRlbGltaXRlZCBieSBzZW1pY29sb25zLiBUaGlzIGlzIGEgc2ltcGxlIHN0cmluZyBjb21wYXJlLCBpZiB0aGUgZW50aXJlIHN0cmluZyBpcyBhbnl3aGVyZSBpbiB0aGUgQWxidW0gbmFtZSwgaXQgd2lsbCBiZSBleGNsdWRlZC4gQm90aCB0aGUgaW5jbHVkZSBhbmQgZXhjbHVkZSBjYW4gYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLiAgRXhjbHVkZSB3aWxsIG92ZXJycmlkZSBpbmNsdWRlcy4gIEZvciBleGFtcGxlLCBpZiB0aGUgdmFsdWUgZm9yIGV4Y2x1ZGUgaXMgImRvbztkYWg7IiAgQWxsIGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGFwcGVhcmluZyBpbiB0aGVtIHdpbGwgbm90IGJlIHNob3duJzsKJGxhbmdbJ2hlbHBfaW5jbHVkZSddID0gJ0xpc3Qgb2YgbWFza3MgdG8gaW5jbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGluY2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgaW5jbHVkZSBpcyAiZG9vO2RhaDsiIG9ubHkgYWxidW1zIHdpdGggZG9vIGFuZCBkYWggaW4gdGhlbSB3aWxsIGJlIGRpc3BsYXllZCc7CiRsYW5nWydoZWxwX2FsYnVtdGh1bWJzaXplJ10gPSAnVGhlIHNpemUgb2YgdGhlIGFsYnVtIHRodW1ibmFpbCByZXF1ZXN0ZWQuICBHb29nbGUgb25seSBhbGxvd3MgcGFydGljdWxhciB2YWx1ZXMgZm9yIHRoaXMuICBTZWUgaW1hZ2V0aHVtYnNpemUgZW50cnkgb3IgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT5mb3IgdGhpcyB0YWJsZS4nOwokbGFuZ1snaGVscF9pbWFnZXNpemUnXSA9ICdUaGUgc2l6ZSBvZiB0aGUgaW1hZ2UgcmVxdWVzdGVkLiAgR29vZ2xlIG9ubHkgYWxsb3dzIHBhcnRpY3VsYXIgdmFsdWVzIGZvciB0aGlzLiAgU2VlIGltYWdldGh1bWJzaXplIGVudHJ5IG9yIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWwiPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWw8L2E+IGZvciB0aGlzIHRhYmxlLic7CiRsYW5nWydoZWxwX2ltYWdldGh1bWJzaXplJ10gPSAnVGhlIHNpemUgb2YgdGhlIGltYWdlIHJlcXVlc3RlZC4gIEdvb2dsZSBvbmx5IGFsbG93cyBwYXJ0aWN1bGFyIHZhbHVlcyBmb3IgdGhpcy4gIFNlZSBiZWxvdyBvciA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sIj5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPiBmb3IgdGhpcyB0YWJsZS4gIENyb3BwZWQgbWVhbnMgdGhlIHRodW1ibmFpbCB5b3UgZ2V0IGlzIHNxdWFyZS4gIE9ubHkgZW1iZWRkYWJsZSBzaXplcyBhcmUgdmFsaWQgZm9yIHRoaXMgbW9kdWxlLiAgSWYgeW91IGdldCBkb3dubG9hZCBwcm9tcHRzIGZyb20gdGhlIGJyb3dzZXIsIHlvdSBoYXZlIHByb2JhYmx5IHBpY2tlZCBhIHNpemUgdGhhdCBpcyB0b28gYmlnLgogICAgPHRhYmxlPgogICAgIDx0Ym9keT48dHI+CiAgICAgICAgPHRoPlNpemU8L3RoPgogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+CiAgICAgICAgPHRoPlNpemU8L3RoPgogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KCiAgICAgICAgPHRkPjxjb2RlPjMyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjU3NjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjQ4PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjY0MDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjY0PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjcyMDwvY29kZT48L3RkPgoKICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICA8L3RyPgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjcyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgICA8dGQ+WWVzPC90ZD4KCiAgICAgICAgPHRkPjxjb2RlPjgwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0cj4KICAgICAgICA8dGQ+PGNvZGU+MTQ0PC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KCiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjkxMjwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4xNjA8L2NvZGU+PC90ZD4KCiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPlllczwvdGQ+CiAgICAgICAgPHRkPjxjb2RlPjEwMjQ8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgIDwvdHI+CgogICAgICA8dHI+CiAgICAgICAgPHRkPjxjb2RlPjIwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZT4xMTUyPC9jb2RlPjwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KCiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4yODg8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZT4xMjgwPC9jb2RlPjwvdGQ+CgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT4zMjA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgogICAgICAgIDx0ZD5ZZXM8L3RkPgoKICAgICAgICA8dGQ+PGNvZGU+MTQ0MDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT40MDA8L2NvZGU+PC90ZD4KICAgICAgICA8dGQ+Tm88L3RkPgoKICAgICAgICA8dGQ+WWVzPC90ZD4KICAgICAgICA8dGQ+PGNvZGU+MTYwMDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgICAgPHRyPgogICAgICAgIDx0ZD48Y29kZT41MTI8L2NvZGU+PC90ZD4KCiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgICA8dGQ+WWVzPC90ZD4KICAgICAgICA8dGQ+PGNvZGU+ZDwvY29kZT48L3RkPgogICAgICAgIDx0ZD5ObzwvdGQ+CiAgICAgICAgPHRkPk5vPC90ZD4KICAgICAgPC90cj4KICAgIDwvdGJvZHk+PC90YWJsZT4nOwoKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KPHA+VGhpcyBkaXNwbGF5cyBhIGxpc3Qgb2YgcHVibGljIFBpY2FzYSBXZWIgQWxidW1zIG9uIGEgcGFnZSBpbiBDTVNNUy4gIFlvdSBjYW4gYWxzbyBzaG93IHRoZSBjb250ZW50cyBvZiBhIHNpbmdsZSBhbGJ1bSBvbiBhIHBhZ2UuICBUaGUgYWxidW0gdmlldyBzaG93cyB0aHVtYm5haWxzIGFuZCB3aGVuIGEgdGh1bWJuYWlsIGlzIHNlbGVjdGVkIHRoZSBwaWN0dXJlIGlzIHNob3duIGluIGEgcG9wLXVwIGJveC4gIFRoZSBzbGlkZSBzaG93IGZ1bmN0aW9uYWxpdHkgYWxsb3dzIHRoZSB1c2VyIHRvIG1vdmUgZm9yd2FyZCBhbmQgYmFjayB0aHJvdWdoIHRoZSBwaWN0dXJlcyBpbiBhbiBhbGJ1bSB1c2luZyB0aGUgYXJyb3cga2V5cyBvciB0aGUgbW91c2UuICBPcHRpb25hbGx5IHlvdSBjYW4gY29uZmlndXJlIGEgcGFnZSB0byBzaG93IGEgc2V0IG9mIGFsYnVtcyB1c2luZyB0aGUgaW5jbHVkZSBhbmQgZXhjbHVkZSBhdHRyaWJ1dGVzLiAgVGhlcmUgYXJlIHBhcmFtZXRlcnMgZm9yIGFsYnVtIHRodW1ibmFpbCwgaW1hZ2UgdGh1bWJuYWlsIGFuZCBwaWN0dXJlIGltYWdlIHNpemVzLiA8L3A+CjxwPlRoZSBhZHZhbnRhZ2Ugb2YgdXNpbmcgdGhpcyBtb2R1bGUgb3ZlciB0aGUgQWxidW0gbW9kdWxlIGlzIHlvdSBjYW4gdXNlIHRoZSBQaWNhc2EgZGVza3RvcCBhcHBsaWNhdGlvbiB0byBjcm9wLCBiYWxhbmNlLCBhbm5vdGF0ZSwgb3JnYW5pemUgYW5kIHVwbG9hZCB5b3VyIHBpY3R1cmVzLiAgR29vZ2xlIGdpdmVzIHlvdSAxIGdiIG9mIHNwYWNlIHRvIHN0b3JlIHBob3RvcywgYW5kIGlmIHlvdSBoYXZlIGEgZ21haWwgYWNjb3VudCwgeW91IGFscmVhZHkgaGF2ZSBhIGxvZ2luLiAgWW91IGNhbiB1c2UgUGljYXNhIG9yIHRoZSBQaWNhc2EgV2ViIEFsYnVtcyAoaHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tKSB0byBtYW5hZ2Ugb3JkZXIsIGFsYnVtIG5hbWVzLCBhbmQgcGljdHVyZSBjYXB0aW9ucy48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD4xLiBQbGFjZSB0aGUgc21hcnR5IHRhZyB7UGljYXNhQnJvd3NlciB1c2VyPSJ1c2VybmFtZSJ9IG9uIHRoZSBwYWdlLiAgVG8gc2hvdyBhIHBhcnRpY3VsYXIgYWxidW0gaW5jbHVkZSB0aGUgYWxidW0gcGFyYW1ldGVyLjwvcD4KPHA+MS4gUGxhY2UgdGhlIHNtYXJ0eSB0YWcge1BpY2FzYUJyb3dzZXIgaGVhZGVyPTF9IGluIHlvdXIgdGVtcGxhdGUgb3IgbWV0YWRhdGEuIFRoaXMgaW5zZXJ0cyB0aGUgcmVsZXZhbnQgaGVhZGVyLWluY2x1c2lvbnMsIGxpa2UgTGlnaHRCb3gtamF2YXNjcmlwdCBldGMuPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+VGhlIG1vZHVsZSBkZXZlbG9wbWVudCBwYWdlIGF0OiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3B3YWJyb3dzZXIvIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL3B3YWJyb3dzZXIvPC9hPjwvbGk+CjxsaT5Zb3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkgYXQgcm9yaWsubWVsYmVyZ0BnbWFpbC5jb208L2xpPgo8L3VsPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+UmVxdWlyZW1lbnRzPC9oMz4KPHA+QmVjYXVzZSB0aGlzIG1vZHVsZSBtYWtlcyB3ZWIgcmVxdWVzdHMgdG8gR29vZ2xlLCB5b3UgbXVzdCBoYXZlIGVpdGhlciBjVVJMIG9yIHRoZSAiYWxsb3dfdXJsX2ZvcGVuIiBzZXR0aW5nIGluIHlvdXIgcGhwLmluaSB0dXJuZWQgb24uICBjVVJMIGlzIHRoZSBwcmVmZmVyZWQgbWV0aG9kIGJlY2F1c2UgaXQgYWxsb3dzIGNvbXByZXNzb24gaW4gdGhlIHJlcXVlc3Qgd2hpY2ggR29vZ2xlIHRha2VzIGFkdmFuYWdlIG9mIGFuZCBiZWNhdXNlIG9mIHRoZSBzaXplIG9mIHRoZSBYTUwgZG9jcywgdGhpcyBjYW4gZHJhc3RpY2FsbHkgcmVkdWNlIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gbWFrZSBhIHJlcXVlc3QgZXNwZWNpYWxseSB3aGVuIHlvdSBoYXZlIG1hbnkgYWxidW1zIGluIHlvdXIgbGlicmFyeS48L3A+CjxwPlBpY2FzYSB4bWwgc3RyZWFtIHByb2Nlc3NpbmcgaXMgZG9uZSB3aXRoIHRoZSBTaW1wbGVYTUwgbGlicmFyeSwgd2hpY2ggc2hvdWxkIGJlIGluY2x1ZGVkIGluIGEgZGVmYXVsdCBQSFAgNS4wIGluc3RhbGwuIElmIHRoaXMgaXMgbm90IGluc3RhbGxlZCwgdGhpcyBtb2R1bGUgd2lsbCBub3Qgd29yay4gIFRoaXMgYWxzbyByZXN0cmljdHMgdGhpcyBtb2R1bGUgdG8gUEhQIDUgbWFjaGluZXMgb25seS48L3A+CjxoMz5PdGhlciBQaWNhc2EgV2ViIEFsYnVtIGhpbnRzPC9oMz4KPHA+SWYgeW91IHdvdWxkIGxpa2UgdG8gc2hvdyBhIHNpbmdsZSBwaWN0dXJlIGZyb20geW91ciB3ZWIgYWxidW0sIHlvdSBjYW4gZ2V0IHRoZSBsaW5rIGZyb20gdGhlIHdlYiBhbGJ1bSBpbnRlcmZhY2UgaXRzZWxmLiAgR28gdG8geW91ciB3ZWJhbGJ1bSBwYWdlIChwaWNhc2F3ZWIuZ29vZ2xlLmNvbS91c2VybmFtZSkgYW5kIGJyb3dzZSB0byB0aGUgcGljdHVyZSB5b3Ugd291bGQgbGlrZSB0byBzaG93LiAgVGhlcmUgaXMgYW4gZXhwYW5kYWJsZSBib3ggb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSB0aGF0IHNheXMgImxpbmsgdG8gdGhpcyBwaG90byIuICBZb3UgY2FuIHNlbGVjdCB0aGUgc2l6ZSBvZiB0aGUgcGljdHVyZSBhbmQgdGhlbiBjb3B5IHRoZSBsaW5rIGZyb20gdGhlICJIVE1MIHRvIGVtYmVkIGluIHdlYnNpdGUiIGJveC4gIEkgdXN1YWxseSBwdWxsIHRoZSBzcmMgYXR0cmlidXRlIHZhbHVlIGZyb20gdGhlIGltYWdlIHRhZyBhbmQgdXNlIGl0IHRvIHJlZmVyZW5jZSB0aGUgcGhvdG8uPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BpY2FzYSBXZWIgQWxidW0gZnJlbXZpc2VyJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGVyZXQhICBUaWxseWtrZSEnOwokbGFuZ1sncG9zdGluc3RhbGxfZm9wZW5fb2ZmJ10gPSAnUGljYXNhIFdlYiBBbGJ1bSBmcmVtdmlzZXJlbiBlbnRlbiBhdCBjVVJMIGVyIG1lZCBpIGRpbiBQSFAtaW5zdGFsbGF0aW9uIGVsbGVyIGF0ICZxdW90O2FsbG93X3VybF9mb3BlbiZxdW90OyBpbmRzdGlsbGluZ2VuIGkgcGhwLmluaSBlciBzYXQgdGlsICZxdW90O3RydWUmcXVvdDsuICBIdmlzIGluZ2VuIGFmIGRpc3NlIGtyYXYgZXIgb3BmeWxkIChvZyBkZXQgZXIgZGUgcHQuIGlra2UpIHZpcmtlciBQaWNhc2EgV2ViIEFsYnVtIGZyZW12aXNlcmVuIGlra2UuIFNuYWsgbWVkIGRpbiBzeXN0ZW0gYW5zdmFybGlnZSBvZyBiZW55dCBldnQuIHBocGluZm8gZm9yIGF0IGRpYWdub3N0aWNlcmUgcHJvYmxlbWV0Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQWZpbnN0YWxsZXJldCc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGR1IHZpbCBhZmluc3RhbGxlcmUgZGV0dGUgZmluZSBtb2R1bD8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGV0IGJsZXYgYWZpbnN0YWxsZXJldC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2lvbiAlcyBibGV2IGluc3RhbGxlcmV0JzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ0luZHN0aWxsaW5nZXJuZSBibGV2IGdlbXQnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWRnYW5nIG4mYWVsaWc7Z3RldC4gVGplayBkaW5lIHRpbGxhZGVsc2VyLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1Nob3dzIFBpY2FzYSBXZWIgQWxidW1zIGluc2lkZSBDTVMgTWFkZSBTaW1wbGUuJzsKJGxhbmdbJ2xpbmtfYmFja190ZXh0J10gPSAnQmFjayB0byBBbGJ1bSBMaXN0JzsKJGxhbmdbJ2FsYnVtc3RlbXBsYXRlJ10gPSAnQWxidW1zIHRlbXBsYXRlJzsKJGxhbmdbJ2ltYWdlc3RlbXBsYXRlJ10gPSAnSW1hZ2VzIHRlbXBsYXRlJzsKJGxhbmdbJ3NldHRpbmdzJ10gPSAnU2V0dGluZ3MnOwokbGFuZ1snc2F2ZXNldHRpbmdzJ10gPSAnR2VtIGluZHN0aWxsaW5nZXInOwokbGFuZ1snc2V0dGluZ3NzYXZlZCddID0gJ0luZHN0aWxsaW5nZXJuZSBibGV2IGdlbXQnOwokbGFuZ1snYmFzaWNhbGJ1bXRlbXBsYXRlJ10gPSAnQmFzaWMgYWxidW0gdGVtcGxhdGUnOwokbGFuZ1snZmlsZW5hbWVkZXNjcmlwdGlvbiddID0gJ1VzZSBmaWxlbmFtZSB3aGVuIGxhY2tpbmcgYSBkZXNjcmlwdGlvbic7CiRsYW5nWyd0aXRsZV9lZGl0X2FsYnVtX3RlbXBsYXRlJ10gPSAnRWRpdCBBbGJ1bSBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3JlY2lwZV90ZW1wbGF0ZSddID0gJ1RoaXMgdGVtcGxhdGUgd2lsbCBkaXNwbGF5IHdoZW4gYWxidW1zIGFyZSBiZWluZyB2aWV3ZWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTa2FiZWxvbic7CiRsYW5nWydzdWJtaXQnXSA9ICdTZW5kJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnR2Vuc2thYiBzdGFuZGFyZCc7CiRsYW5nWyd0ZW1wbGF0ZXVwZGF0ZWQnXSA9ICdTa2FiZWxvbmVuIGJsZXYgb3BkYXRlcmV0JzsKJGxhbmdbJ2NvbmZpcm1yZXNldHRvZGVmYXVsdCddID0gJ0FyZSB5b3Ugc3VyZSB0aGlzIHRlbXBsYXRlIHNob3VsZCBiZSByZXNldCB0byB0aGUgc2VsZWN0ZWQgc3lzdGVtIHRlbXBsYXRlPyc7CiRsYW5nWyd0ZW1wbGF0ZV91cGRhdGVkJ10gPSAnU2thYmVsb25lbiBibGV2IG9wZGF0ZXJldCc7CiRsYW5nWyd0aXRsZV9lZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0VkaXQgSW1hZ2VzIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdUaGlzIHRlbXBsYXRlIHdpbGwgZGlzcGxheSB3aGVuIHZpZXdpbmcgdGhlIGRldGFpbCBvZiBhbiBhbGJ1bSc7CiRsYW5nWydoZWxwX2FsYnVtJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGFsYnVtIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4gIFRoaXMgbmFtZSBpcyB3aGF0IFBpY2FzYSB1c2VzIHRvIHJlZmVyZW5jZSBhbiBhbGJ1bSB3aGljaCBpcyB3aGF0IHlvdSBuYW1lZCB0aGUgYWxidW0gd2l0aCBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBzdHJpcHBlZCBvdXQuICBJZiBhbiBhbGJ1bSBuYW1lIGRvc2VudCB3b3JrLCBwdWxsIHVwIHRoYXQgYWxidW0gaW4gcGljYXNhIHdlYiBhbGJ1bXMgYW5kIGxvb2sgYXQgdGhlIGNvbW1hbmQgbGluZS4gIEZvciBleGFtcGxlLCBteSBhbGJ1bSBjYWxsZWQgJnF1b3Q7TUctNCZxdW90OyB1cmwgbG9va3MgbGlrZSB0aGlzOiAmcXVvdDtodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vcm9yaWsubWVsYmVyZy9NRzQmcXVvdDsuICBUaGUgaHlwaGVuIGlzIHN0cmlwcGVkIG91dCwgc28gaWYgSSB3YW50IHRvIHNob3cgb25seSB0aGlzIGFsYnVtLCB0aGUgYWxidW0gcHJvcGVydHkgc2hvdWxkIGJlIHNldCB0byAmcXVvdDtNRzQmcXVvdDsuJzsKJGxhbmdbJ2hlbHBfdXNlciddID0gJ1JlcXVpcmVkLiBUaGUgZ29vZ2xlIHVzZXIgbmFtZSBvZiB0aGUgcGVyc29uIHdobyBoYXMgdGhlIGFsYnVtcyB0byBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ2hlbHBfaGVhZGVyJ10gPSAnSWYgc2V0IHRvIDEgdGhlIG1vZHVsZSB3aWxsIG91dHB1dCBhbnkgaGVhZGVyLWluZm8gcmVxdWlyZWQgZm9yIGltYWdlcyB2aWV3JzsKJGxhbmdbJ2hlbHBfZXhjbHVkZSddID0gJ0xpc3Qgb2YgbWFza3MgdG8gZXhjbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGV4Y2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgZXhjbHVkZSBpcyAmcXVvdDtkb287ZGFoOyZxdW90OyAgQWxsIGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGFwcGVhcmluZyBpbiB0aGVtIHdpbGwgbm90IGJlIHNob3duJzsKJGxhbmdbJ2hlbHBfaW5jbHVkZSddID0gJ0xpc3Qgb2YgbWFza3MgdG8gaW5jbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGluY2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgaW5jbHVkZSBpcyAmcXVvdDtkb287ZGFoOyZxdW90OyBvbmx5IGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGluIHRoZW0gd2lsbCBiZSBkaXNwbGF5ZWQnOwokbGFuZ1snaGVscF9hbGJ1bXRodW1ic2l6ZSddID0gJ1RoZSBzaXplIG9mIHRoZSBhbGJ1bSB0aHVtYm5haWwgcmVxdWVzdGVkLiAgR29vZ2xlIG9ubHkgYWxsb3dzIHBhcnRpY3VsYXIgdmFsdWVzIGZvciB0aGlzLiAgU2VlIGltYWdldGh1bWJzaXplIGVudHJ5IG9yIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWwiPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWw8L2E+Zm9yIHRoaXMgdGFibGUuJzsKJGxhbmdbJ2hlbHBfaW1hZ2VzaXplJ10gPSAnVGhlIHNpemUgb2YgdGhlIGltYWdlIHJlcXVlc3RlZC4gIEdvb2dsZSBvbmx5IGFsbG93cyBwYXJ0aWN1bGFyIHZhbHVlcyBmb3IgdGhpcy4gIFNlZSBpbWFnZXRodW1ic2l6ZSBlbnRyeSBvciA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sIj5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPiBmb3IgdGhpcyB0YWJsZS4nOwokbGFuZ1snaGVscF9pbWFnZXRodW1ic2l6ZSddID0gJ1RoZSBzaXplIG9mIHRoZSBpbWFnZSByZXF1ZXN0ZWQuICBHb29nbGUgb25seSBhbGxvd3MgcGFydGljdWxhciB2YWx1ZXMgZm9yIHRoaXMuICBTZWUgYmVsb3cgb3IgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT4gZm9yIHRoaXMgdGFibGUuICBDcm9wcGVkIG1lYW5zIHRoZSB0aHVtYm5haWwgeW91IGdldCBpcyBzcXVhcmUuICBPbmx5IGVtYmVkZGFibGUgc2l6ZXMgYXJlIHZhbGlkIGZvciB0aGlzIG1vZHVsZS4gIElmIHlvdSBnZXQgZG93bmxvYWQgcHJvbXB0cyBmcm9tIHRoZSBicm93c2VyLCB5b3UgaGF2ZSBwcm9iYWJseSBwaWNrZWQgYSBzaXplIHRoYXQgaXMgdG9vIGJpZy4NCiAgICA8dGFibGU+DQogICAgIDx0Ym9keT48dHI+DQogICAgICAgIDx0aD5TaXplPC90aD4NCiAgICAgICAgPHRoPkNyb3BwZWQ8L3RoPg0KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+DQogICAgICAgIDx0aD5TaXplPC90aD4NCiAgICAgICAgPHRoPkNyb3BwZWQ8L3RoPg0KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KDQogICAgICAgIDx0ZD48Y29kZT4zMjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT41NzY8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQoNCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT40ODwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT42NDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT42NDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT43MjA8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT43MjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCg0KICAgICAgICA8dGQ+PGNvZGU+ODAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjE0NDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+OTEyPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MTYwPC9jb2RlPjwvdGQ+DQoNCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTAyNDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MjAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjExNTI8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjI4ODwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjEyODA8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjMyMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCg0KICAgICAgICA8dGQ+PGNvZGU+MTQ0MDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjQwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTYwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjUxMjwvY29kZT48L3RkPg0KDQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+ZDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICA8L3Rib2R5PjwvdGFibGU+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgZGlzcGxheXMgYSBsaXN0IG9mIHB1YmxpYyBQaWNhc2EgV2ViIEFsYnVtcyBvbiBhIHBhZ2UgaW4gQ01TTVMuICBZb3UgY2FuIGFsc28gc2hvdyB0aGUgY29udGVudHMgb2YgYSBzaW5nbGUgYWxidW0gb24gYSBwYWdlLiAgVGhlIGFsYnVtIHZpZXcgc2hvd3MgdGh1bWJuYWlscyBhbmQgd2hlbiBhIHRodW1ibmFpbCBpcyBzZWxlY3RlZCB0aGUgcGljdHVyZSBpcyBzaG93biBpbiBhIHBvcC11cCBib3guICBUaGUgc2xpZGUgc2hvdyBmdW5jdGlvbmFsaXR5IGFsbG93cyB0aGUgdXNlciB0byBtb3ZlIGZvcndhcmQgYW5kIGJhY2sgdGhyb3VnaCB0aGUgcGljdHVyZXMgaW4gYW4gYWxidW0gdXNpbmcgdGhlIGFycm93IGtleXMgb3IgdGhlIG1vdXNlLiAgT3B0aW9uYWxseSB5b3UgY2FuIGNvbmZpZ3VyZSBhIHBhZ2UgdG8gc2hvdyBhIHNldCBvZiBhbGJ1bXMgdXNpbmcgdGhlIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgYXR0cmlidXRlcy4gIFRoZXJlIGFyZSBwYXJhbWV0ZXJzIGZvciBhbGJ1bSB0aHVtYm5haWwsIGltYWdlIHRodW1ibmFpbCBhbmQgcGljdHVyZSBpbWFnZSBzaXplcy4gPC9wPg0KPHA+VGhlIGFkdmFudGFnZSBvZiB1c2luZyB0aGlzIG1vZHVsZSBvdmVyIHRoZSBBbGJ1bSBtb2R1bGUgaXMgeW91IGNhbiB1c2UgdGhlIFBpY2FzYSBkZXNrdG9wIGFwcGxpY2F0aW9uIHRvIGNyb3AsIGJhbGFuY2UsIGFubm90YXRlLCBvcmdhbml6ZSBhbmQgdXBsb2FkIHlvdXIgcGljdHVyZXMuICBHb29nbGUgZ2l2ZXMgeW91IDEgZ2Igb2Ygc3BhY2UgdG8gc3RvcmUgcGhvdG9zLCBhbmQgaWYgeW91IGhhdmUgYSBnbWFpbCBhY2NvdW50LCB5b3UgYWxyZWFkeSBoYXZlIGEgbG9naW4uICBZb3UgY2FuIHVzZSBQaWNhc2Egb3IgdGhlIFBpY2FzYSBXZWIgQWxidW1zIChodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20pIHRvIG1hbmFnZSBvcmRlciwgYWxidW0gbmFtZXMsIGFuZCBwaWN0dXJlIGNhcHRpb25zLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+MS4gUGxhY2UgdGhlIHNtYXJ0eSB0YWcge1BpY2FzYUJyb3dzZXIgdXNlcj0mcXVvdDt1c2VybmFtZSZxdW90O30gb24gdGhlIHBhZ2UuICBUbyBzaG93IGEgcGFydGljdWxhciBhbGJ1bSBpbmNsdWRlIHRoZSBhbGJ1bSBwYXJhbWV0ZXIuPC9wPg0KPHA+MS4gUGxhY2UgdGhlIHNtYXJ0eSB0YWcge1BpY2FzYUJyb3dzZXIgaGVhZGVyPTF9IGluIHlvdXIgdGVtcGxhdGUgb3IgbWV0YWRhdGEuIFRoaXMgaW5zZXJ0cyB0aGUgcmVsZXZhbnQgaGVhZGVyLWluY2x1c2lvbnMsIGxpa2UgTGlnaHRCb3gtamF2YXNjcmlwdCBldGMuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPlRoZSBtb2R1bGUgZGV2ZWxvcG1lbnQgcGFnZSBhdDogPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9wd2Ficm93c2VyLyI+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9wd2Ficm93c2VyLzwvYT48L2xpPg0KPGxpPllvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseSBhdCByb3Jpay5tZWxiZXJnQGdtYWlsLmNvbTwvbGk+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+QmVjYXVzZSB0aGlzIG1vZHVsZSBtYWtlcyB3ZWIgcmVxdWVzdHMgdG8gR29vZ2xlLCB5b3UgbXVzdCBoYXZlIGVpdGhlciBjVVJMIG9yIHRoZSAmcXVvdDthbGxvd191cmxfZm9wZW4mcXVvdDsgc2V0dGluZyBpbiB5b3VyIHBocC5pbmkgdHVybmVkIG9uLiAgY1VSTCBpcyB0aGUgcHJlZmZlcmVkIG1ldGhvZCBiZWNhdXNlIGl0IGFsbG93cyBjb21wcmVzc29uIGluIHRoZSByZXF1ZXN0IHdoaWNoIEdvb2dsZSB0YWtlcyBhZHZhbmFnZSBvZiBhbmQgYmVjYXVzZSBvZiB0aGUgc2l6ZSBvZiB0aGUgWE1MIGRvY3MsIHRoaXMgY2FuIGRyYXN0aWNhbGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIG1ha2UgYSByZXF1ZXN0IGVzcGVjaWFsbHkgd2hlbiB5b3UgaGF2ZSBtYW55IGFsYnVtcyBpbiB5b3VyIGxpYnJhcnkuPC9wPg0KPHA+UGljYXNhIHhtbCBzdHJlYW0gcHJvY2Vzc2luZyBpcyBkb25lIHdpdGggdGhlIFNpbXBsZVhNTCBsaWJyYXJ5LCB3aGljaCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gYSBkZWZhdWx0IFBIUCA1LjAgaW5zdGFsbC4gSWYgdGhpcyBpcyBub3QgaW5zdGFsbGVkLCB0aGlzIG1vZHVsZSB3aWxsIG5vdCB3b3JrLiAgVGhpcyBhbHNvIHJlc3RyaWN0cyB0aGlzIG1vZHVsZSB0byBQSFAgNSBtYWNoaW5lcyBvbmx5LjwvcD4NCjxoMz5PdGhlciBQaWNhc2EgV2ViIEFsYnVtIGhpbnRzPC9oMz4NCjxwPklmIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYSBzaW5nbGUgcGljdHVyZSBmcm9tIHlvdXIgd2ViIGFsYnVtLCB5b3UgY2FuIGdldCB0aGUgbGluayBmcm9tIHRoZSB3ZWIgYWxidW0gaW50ZXJmYWNlIGl0c2VsZi4gIEdvIHRvIHlvdXIgd2ViYWxidW0gcGFnZSAocGljYXNhd2ViLmdvb2dsZS5jb20vdXNlcm5hbWUpIGFuZCBicm93c2UgdG8gdGhlIHBpY3R1cmUgeW91IHdvdWxkIGxpa2UgdG8gc2hvdy4gIFRoZXJlIGlzIGFuIGV4cGFuZGFibGUgYm94IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgdGhhdCBzYXlzICZxdW90O2xpbmsgdG8gdGhpcyBwaG90byZxdW90Oy4gIFlvdSBjYW4gc2VsZWN0IHRoZSBzaXplIG9mIHRoZSBwaWN0dXJlIGFuZCB0aGVuIGNvcHkgdGhlIGxpbmsgZnJvbSB0aGUgJnF1b3Q7SFRNTCB0byBlbWJlZCBpbiB3ZWJzaXRlJnF1b3Q7IGJveC4gIEkgdXN1YWxseSBwdWxsIHRoZSBzcmMgYXR0cmlidXRlIHZhbHVlIGZyb20gdGhlIGltYWdlIHRhZyBhbmQgdXNlIGl0IHRvIHJlZmVyZW5jZSB0aGUgcGhvdG8uPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIwMzk4ODY1ODUuMTIzMTcxMzYxOC4xMjg0MTQ5NzkzLjEyODQxNTI1MzYuMTU0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4NDE1MDEzNi4xNTMuNDUudXRtY3NyPWZlZWRidXJuZXJ8dXRtY2NuPUZlZWQ6IGNtc21hZGVzaW1wbGUvYmxvZyAoQ01TIE1hZGUgU2ltcGxlKXx1dG1jbWQ9ZmVlZCc7CiRsYW5nWydxY2EnXSA9ICcxMjI5NjAxNzkwLTg1MjQzMTk3LTQzMjYwNzEzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3NlciAnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMZSBtb2R1bGUgZXN0IGluc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsX2ZvcGVuX29mZiddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3NlciByZXF1aXJlcyBlaXRoZXIgY1VSTCB0byBiZSBpbnN0YWxsZWQgb3IgdGhlICZxdW90O2FsbG93X3VybF9mb3BlbiZxdW90OyBwaHAuaW5pIHNldHRpbmcgdG8gYmUgc2V0IHRvIHRydWUuICBJZiB0aGVzZSBjb25kaXRpb25zIGFyZSBub3QgbWV0ICh3aGljaCB0aGV5IGFyZSBjdXJyZW50bHkgbm90KSB0aGUgUGljYXNhIFdlYiBBbGJ1bSBCcm93c2VyIHdpbGwgbm90IHdvcmsuICBVc2UgcGhwaW5mbyB0byB2ZXJpZnkgdGhlIHJlc3VsdHMgb2YgdGhpcyBjaGVjay4gIFRoZSB3YXkgeW91ciBtYWNoaW5lIGlzIGN1cnJlbmx0eSBjb25maWd1cmVkIHRoaXMgbW9kdWxlIHdpbGwgbm90IG9wZXJhdGUgcHJvcGVybHkuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7JzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdFdGVzLXZvdXMgcyZ1Y2lyYztyIGRlIHZvdWxvaXIgZCZlYWN1dGU7c2luc3RhbGxlciBjZSBtb2R1bGUmbmJzcDs/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTGUgbW9kdWxlIGEgJmVhY3V0ZTt0JmVhY3V0ZTsgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTGUgbW9kdWxlIGVzdCBpbnN0YWxsJmVhY3V0ZTsgZW4gdmVyc2lvbiAlcy4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTGEgY29uZmlndXJhdGlvbiBkdSBtb2R1bGUgYSAmZWFjdXRlO3QmZWFjdXRlOyBtaXNlICZhZ3JhdmU7IGpvdXIuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjYyZlZ3JhdmU7cyByZWZ1cyZlYWN1dGU7LiBWJmVhY3V0ZTtyaWZpZXogdm9zIGRyb2l0cyBkJiMwMzk7YWNjJmVncmF2ZTtzLic7CiRsYW5nWydlcnJvciddID0gJ0VycmV1ciZuYnNwOyEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdMZSBtb2R1bGUgYSAmZWFjdXRlO3QmZWFjdXRlOyBtaXMgJmFncmF2ZTsgam91ciB2ZXJzIGxhIHZlcnNpb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQWZmaWNoZSBsZXMgYWxidW1zIHdlYiBQaWNhc2EgJmFncmF2ZTsgbCYjMDM5O2ludCZlYWN1dGU7cmlldXIgZGUgQ01TIE1hZGUgU2ltcGxlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgMiBBdWd1c3QgMjAwNy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+PC91bD4NCjxsaT5WZXJzaW9uIDEuMCA3IEF1Z3VzdCAyMDA3LiBBZGRlZCBleGNsdWRlIGFuZCBpbmNsdWRlIHBhcmFtZXRlcnMuIEFsc28gYWRkZWQgYWRtaW4gcGFuZWwgZm9yIGVkaXRpbmcgdGVtcGxhdGVzIGZyb20gdGhlIGFkbWluIHBhbmVsLjwvbGk+PC91bD4gJzsKJGxhbmdbJ2xpbmtfYmFja190ZXh0J10gPSAnUmV0b3VyICZhZ3JhdmU7IGxhIGxpc3RlIGRlcyBhbGJ1bXMnOwokbGFuZ1sndGl0bGVfZWRpdF9hbGJ1bV90ZW1wbGF0ZSddID0gJ01vZGlmaWVyIGxlIGdhYmFyaXQgZGVzIGFsYnVtcyc7CiRsYW5nWydpbmZvX3JlY2lwZV90ZW1wbGF0ZSddID0gJ0NlIGdhYmFyaXQgZXN0IHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBkZXMgYWxidW1zJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnR2FiYXJpdCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTb3VtZXR0cmUnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdSJmVhY3V0ZTtpbml0aWFsaXNlciAmYWdyYXZlOyBsYSBjb25maWd1cmF0aW9uIHBhciBkJmVhY3V0ZTtmYXV0JzsKJGxhbmdbJ3RlbXBsYXRlX3VwZGF0ZWQnXSA9ICdMZSBnYWJhcml0IGEgJmVhY3V0ZTt0JmVhY3V0ZTsgbWlzICZhZ3JhdmU7IGpvdXInOwokbGFuZ1sndGl0bGVfZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdNb2RpZmllciBsZSBnYWJhcml0IGRlcyBpbWFnZXMnOwokbGFuZ1snaW5mb19lZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0NlIGdhYmFyaXQgZXN0IHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBkZXMgaW1hZ2VzIGNvbnRlbnVlcyBkYW5zIHVuIGFsYnVtJzsKJGxhbmdbJ2hlbHBfYWxidW0nXSA9ICdMZSBub20gZGUgbCYjMDM5O2FsYnVtICZhZ3JhdmU7IGFmZmljaGVyLiBDZSBub24gZXN0IGNlbHVpIHV0aWxpcyZlYWN1dGU7IHBhciBQaWNhc2EgcG91ciByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXIgdW4gYWxidW0gZXQgY29ycmVzcG9uZCBhdSBub20gZGUgdXN1ZWwgZGUgbCYjMDM5O2FsYnVtIHNhbnMgbGVzIGVzcGFjZXMgZXQgbmkgY2FyYWN0JmVncmF2ZTtyZXMgc3AmZWFjdXRlO2NpYXV4LiBTaSBsZSBub20gZCYjMDM5O2FsYnVtIG5lIGZvbmN0aW9ubmUgcGFzLCBhZmZpY2hlciBjZXQgYWxidW0gZGFucyBQaWNhc2EgZXQgcmVnYXJkZXIgbGUgY29udGVudSBkZSBsYSBsaWduZSBkZSBjb21tYW5kZSBkZSB2b3RyZSBuYXZpZ2F0ZXVyLiBQYXIgZXhlbXBsZSwgcG91ciB1biBhbGJ1bSBub21tJmVhY3V0ZTsgJnF1b3Q7TUctNCZxdW90OywgbCYjMDM5O1VSTCBlc3QgbGUgc3VpdmFudCAmcXVvdDtodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vbm9tX3V0aWxpc2F0ZXVyX2dvb2dsZS9NRzQmcXVvdDsuIExlIHRyYWl0IGQmIzAzOTt1bmlvbiBlc3Qgc3VwcHJpbSZlYWN1dGU7LCBkb25jIHNpIHZvdXMgdm91bGV6IGFmZmljaGVyIGNldCBhbGJ1bSwgbGUgcGFyYW0mZWdyYXZlO3RyZSBhbGJ1bSBkb2l0ICZlY2lyYzt0cmUgY29uZmlndXImZWFjdXRlOyAmYWdyYXZlOyAmcXVvdDtNRzQmcXVvdDsuJzsKJGxhbmdbJ2hlbHBfdXNlciddID0gJ09ibGlnYXRvaXJlLiBMZSBub20gZGUgbCYjMDM5O3V0aWxpc2F0ZXVyIEdvb2dsZSAmYWdyYXZlOyBxdWkgYXBwYXJ0aWVudCBsJiMwMzk7YWxidW0gJmFncmF2ZTsgYWZmaWNoZXIgKGNvbXB0ZSBHb29nbGUpLic7CiRsYW5nWydoZWxwX2V4Y2x1ZGUnXSA9ICdMaXN0ZSBkZXMgbWFzcXVlcyAmYWdyYXZlOyBleGNsdXJlLCBkJmVhY3V0ZTtsaW1pdCZlYWN1dGU7cyBwYXIgdW4gcG9pbnQtdmlyZ3VsZS4gQyYjMDM5O2VzdCB1bmUgc2ltcGxlIGNvbXBhcmFpc29uIGRlIGNoYSZpY2lyYztuZSBkZSBjYXJhY3QmZWdyYXZlO3JlcyZuYnNwOzogc2kgbGEgY2hhJmljaXJjO25lIGVzdCBxdWVscXVlIHBhcnQgZGFucyB1biBub20gZCYjMDM5O2FsYnVtLCBjZWx1aS1jaSBzZXJhIGV4Y2x1LiBMZXMgZGV1eCBwYXJhbSZlZ3JhdmU7dHJlcyBpbmNsdWRlIGV0IGV4Y2x1ZGUgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7cyBlbiBtJmVjaXJjO21lIHRlbXBzLiBQYXIgZXhlbXBsZSwgc2kgbGEgdmFsZXVyIHBvdXIgZXhjbHVkZSBlc3QgJnF1b3Q7ZG9vO2RhaDsmcXVvdDssIHRvdXMgbGVzIGFsYnVtcyBhdmVjIGRvbyBldCBkYWggZGFucyBsZXVyIG5vbSBuZSBzZXJvbnQgcGFzIGFmZmljaCZlYWN1dGU7cy4nOwokbGFuZ1snaGVscF9pbmNsdWRlJ10gPSAnTGlzdGUgZGVzIG1hc3F1ZXMgJmFncmF2ZTsgaW5jbHVyZSwgZCZlYWN1dGU7bGltaXQmZWFjdXRlO3MgcGFyIHVuIHBvaW50LXZpcmd1bGUuIEMmIzAzOTtlc3QgdW5lIHNpbXBsZSBjb21wYXJhaXNvbiBkZSBjaGEmaWNpcmM7bmUgZGUgY2FyYWN0JmVncmF2ZTtyZXMmbmJzcDs6IHNpIGxhIGNoYSZpY2lyYztuZSBlc3QgcXVlbHF1ZSBwYXJ0IGRhbnMgdW4gbm9tIGQmIzAzOTthbGJ1bSwgY2VsdWktY2kgc2VyYSBpbmNsdXMuIExlcyBkZXV4IHBhcmFtJmVncmF2ZTt0cmVzIGluY2x1ZGUgZXQgZXhjbHVkZSBwZXV2ZW50ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTtzIGVuIG0mZWNpcmM7bWUgdGVtcHMuIFBhciBleGVtcGxlLCBzaSBsYSB2YWxldXIgcG91ciBpbmNsdWRlIGVzdCAmcXVvdDtkb287ZGFoOyZxdW90Oywgc2V1bHMgbGVzIGFsYnVtcyBhdmVjIGRvbyBldCBkYWggZGFucyBsZXVyIG5vbSBzZXJvbnQgYWZmaWNoJmVhY3V0ZTtzLic7CiRsYW5nWydoZWxwX2FsYnVtdGh1bWJzaXplJ10gPSAnTGEgdGFpbGxlIGQmIzAzOTthZmZpY2hhZ2UgZGVzIHZpZ25ldHRlcyBkZXMgYWxidW1zLiBHb29nbGUgbiYjMDM5O2F1dG9yaXNlIHF1ZSBjZXJ0YWluZXMgdGFpbGxlcyBwb3VyIGxlcyB2aWduZXR0ZXMgOiBjZiBwYXJhbSZlZ3JhdmU7dHJlIHRodW1ic2l6ZSBzdXIgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT4uJzsKJGxhbmdbJ2hlbHBfaW1hZ2VzaXplJ10gPSAnTGEgdGFpbGxlIGQmIzAzOTthZmZpY2hhZ2UgZGVzIGltYWdlcy4gR29vZ2xlIG4mIzAzOTthdXRvcmlzZSBxdWUgY2VydGFpbmVzIHRhaWxsZXMgcG91ciBsZXMgaW1hZ2VzIDogY2YgbGUgcGFyYW0mZWdyYXZlO3RyZSBpbWFnZW1heCBzdXIgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT4uJzsKJGxhbmdbJ2hlbHBfaW1hZ2V0aHVtYnNpemUnXSA9ICdMYSB0YWlsbGUgZCYjMDM5O2FmZmljaGFnZSBkZXMgaW1hZ2VzLiBHb29nbGUgbiYjMDM5O2F1dG9yaXNlIHF1ZSBjZXJ0YWluZXMgdGFpbGxlcyBwb3VyIGxlcyBpbWFnZXMgOiBjZiBsZSBwYXJhbSZlZ3JhdmU7dHJlIGltYWdlbWF4IHN1ciA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sIj5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPi4gICZxdW90O0Nyb3BwZWQmcXVvdDsgc2lnbmlmaWUgcXVlIGxhIHZpZ25ldHRlIG9idGVudWUgc2VyYSBkZSBmb3JtZSBjYXJyJmVhY3V0ZTsuICBTZXVsZXMgbGVzIHRhaWxsZXMgZGl0ZXMgJnF1b3Q7ZW1iZWRkYWJsZSZxdW90OyAoY2YgIFVSTCBjaS1kZXNzdXMpIHNvbnQgc3VwcG9ydCZlYWN1dGU7ZXMgcGFyIGNlIG1vZHVsZS4gU2kgdm91cyBvYnRlbmV6IHVuIGFmZmljaGFnZSB2b3VzIGRlbWFuZGFudCBzaSB2b3VzIHZvdWxleiBmYWlyZSB1biB0JmVhY3V0ZTtsJmVhY3V0ZTtjaGFyZ2VtZW50LCBjJiMwMzk7ZXN0IHByb2JhYmxlbWVudCBxdWUgdm91cyBlc3NheWV6IGQmIzAzOTthZmZpY2hlciB1bmUgaW1hZ2UgdHJvcCBncmFuZGUuDQogICAgPHRhYmxlPg0KICAgICA8dGJvZHk+PHRyPg0KICAgICAgICA8dGg+VGFpbGxlPC90aD4NCiAgICAgICAgPHRoPkNyb3BwZWQ8L3RoPg0KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+DQogICAgICAgIDx0aD5UYWlsbGU8L3RoPg0KICAgICAgICA8dGg+Q3JvcHBlZDwvdGg+DQogICAgICAgIDx0aD5FbWJlZGRhYmxlPC90aD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQoNCiAgICAgICAgPHRkPjxjb2RlPjMyPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjU3NjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjQ4PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjY0MDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjY0PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjcyMDwvY29kZT48L3RkPg0KDQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjcyPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KDQogICAgICAgIDx0ZD48Y29kZT44MDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MTQ0PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQoNCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT45MTI8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT4xNjA8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT4xMDI0PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KDQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT4yMDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTE1MjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+Mjg4PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTI4MDwvY29kZT48L3RkPg0KDQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MzIwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KDQogICAgICAgIDx0ZD48Y29kZT4xNDQwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+NDAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQoNCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT4xNjAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+NTEyPC9jb2RlPjwvdGQ+DQoNCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT5kPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgIDwvdGJvZHk+PC90YWJsZT4nOwokbGFuZ1snaGVscCddID0gJzxoMz5RdWUgZmFpdCBjZSBtb2R1bGUgPzwvaDM+DQo8cD5DZSBtb2R1bGUgYWZmaWNoZSBsYSBsaXN0ZSBkZXMgYWxidW1zIHB1YmxpY3MgUGljYXNhIGRhbnMgQ01TTVMgZXQgcGVybWV0ICZlYWN1dGU7Z2FsZW1lbnQgZCYjMDM5O2FmZmljaGVyIGxlIGNvbnRlbnUgZCYjMDM5O3VuIGFsYnVtIHN1ciB1bmUgcGFnZS4gTGEgdnVlIGFsYnVtIGFmZmljaGUgbGVzIG1pbmlhdHVyZXMgZXQgbG9yc3F1JiMwMzk7dW5lIGQmIzAzOTtlbGxlcyBlc3QgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlO2UsIGwmIzAzOTtpbWFnZSBjb3JyZXNwb25kYW50ZSBlc3QgYWZmaWNoJmVhY3V0ZTtlIGVuIGdyYW5kIGZvcm1hdCBkYW5zIHVuZSBibyZpY2lyYzt0ZSBkZSB0eXBlIHBvcC11cC4gTGEgZm9uY3Rpb25uYWxpdCZlYWN1dGU7IGRpYXBvcmFtYSBwZXJtZXQgJmFncmF2ZTsgbCYjMDM5O3V0aWxpc2F0ZXVyIGRlIG5hdmlndWVyIHBhcm1pIGxlcyBwaG90b3MgZCYjMDM5O3VuIGFsYnVtIGF2ZWMgbGVzIHRvdWNoZXMgZmwmZWFjdXRlO2NoJmVhY3V0ZTtlcyBkdSBjbGF2aWVyIG91IGxhIHNvdXJpcy4gT3B0aW9ubmVsbGVtZW50IGlsIGVzdCBwb3NzaWJsZSBkZSBjb25maWd1cmVyIHVuZSBwYWdlIHBvdXIgYWZmaWNoZXIgdW5lIGxpc3RlIHImZWFjdXRlO2R1aXRlIGQmIzAzOTthbGJ1bXMgZW4gdXRpbGlzYW50IGxlcyBhdHRyaWJ1dHMgaW5jbHVyZSBvdSBleGNsdXJlLiBDZXMgcGFyYW0mZWdyYXZlO3RyZXMgc29udCB2YWxhYmxlcyBwb3VyIGxlcyBtaW5pYXR1cmVzIGRlcyBhbGJ1bXMsIGxlcyBtaW5pYXR1cmVzIGRlcyBpbWFnZXMgZXQgcG91ciBsYSB0YWlsbGUgZGVzIHBob3Rvcy48L3A+DQo8cD5MJiMwMzk7YXZhbnRhZ2UgZCYjMDM5O3V0aWxpc2VyIGNlIG1vZHVsZSBwYXIgcmFwcG9ydCBhdSBtb2R1bGUgQWxidW0gY2xhc3NpcXVlLCBlc3QgcXUmIzAzOTtpbCBlc3QgcG9zc2libGUgZCYjMDM5O3V0aWxpc2VyIGF1IHByJmVhY3V0ZTthbGFibGUgbCYjMDM5O2FwcGxpY2F0aW9uIFBpY2FzYSBzdXIgdW4gUEMgZW4gbG9jYWwgcG91ciByJmVhY3V0ZTtkdWlyZSwgdHJhaXRlciwgYW5ub3Rlciwgb3JnYW5pc2VyIHB1aXMgdCZlYWN1dGU7bCZlYWN1dGU7Y2hhcmdlciBsZXMgaW1hZ2VzIHZlcnMgbGUgbCYjMDM5O2FsYnVtIHdlYiBQaWNhc2EuIEdvb2dsZSBvZmZyZSAxR0IgcyYjMDM5O2VzcGFjZSBkZSBzdG9ja2FnZSBkZSBwaG90b3MsIGV0IHNpIHZvdXMgYXZleiB1biBjb21wdGUgZ21haWwsIHZvdXMgcG91dmV6IHV0aWxpc2VyIGxlIG0mZWNpcmM7bWUgY29tcHRlIHBvdXIgY3ImZWFjdXRlO2VyIHVuIGFsYnVtIHdlYiBQaWNhc2EgKGh0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbSk8L3A+DQo8aDM+Q29tbWVudCBsJiMwMzk7dXRpbGlzZXIgPzwvaDM+DQo8cD5JbCBzdWZmaXQgZCYjMDM5O2lucyZlYWN1dGU7cmVyIGxhIGJhbGlzZSBzbWFydHkge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O1BpY2FzYVdlYkFsYnVtQnJvd3NlciYjMDM5OyB1c2VyPSYjMDM5O25vbV91dGlsaXNhdGV1cl9nb29nbGUmIzAzOTt9IGRhbnMgdW5lIHBhZ2UuICBQb3VyIGFmZmljaGVyIHVuIGFsYnVtIGVuIHBhcnRpY3VsaWVyLCBpbCBmYXV0IHJham91dGVyIGxlIHBhcmFtJmVncmF2ZTt0cmUgYWxidW0uPC9wPg0KDQo8aDM+RXhpZ2VuY2VzPC9oMz4NCjxwPlB1aXNxdWUgY2UgbW9kdWxlIGVudm9pZSBkZXMgcmVxdSZlY2lyYzt0ZXMgd2ViIHZlcnMgR29vZ2xlLCBpbCBmYXV0IGF2b2lyIGNVUkwgb3UgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDthbGxvd191cmxfZm9wZW4mcXVvdDsgYWN0aXYmZWFjdXRlOyBkYW5zIHZvdHJlIHBocC5pbmkuICBVdGlsaXNlciBwciZlYWN1dGU7ZiZlYWN1dGU7cmVudGllbGxlbWVudCBjVVJMIHBhcmNlIHF1JiMwMzk7aWwgcGVybWV0IHVuZSBjb21wcmVzc2lvbiBkYW5zIGxlcyByZXF1JmVjaXJjO3RlcyAoY2UgcXVpIGVzdCBzdXBwb3J0JmVhY3V0ZTsgcGFyIEdvb2dsZSkgZXQgZG9ubmUgYXVzc2kgdW4gYXZhbnRhZ2Ugc3VyIGxhIHRhaWxsZSBkZXMgZG9ubiZlYWN1dGU7ZXMgWE1MLiBDZWNpIHBldXQgciZlYWN1dGU7ZHVpcmUgZGUgbWFuaSZlZ3JhdmU7cmUgdHImZWdyYXZlO3Mgc2Vuc2libGUgbGUgdGVtcHMgbiZlYWN1dGU7Y2Vzc2FpcmUgcG91ciB1bmUgcmVxdSZlY2lyYzt0ZSwgc3VydG91dCBsb3JzcXUmIzAzOTtpbCB5IGEgZGUgbm9tYnJldXggYWxidW1zIGRhbnMgbGEgbGlicmFpcmllLjwvcD4NCjxwPkxlIHRyYWl0ZW1lbnQgZHUgZmx1eCBYTUwgaXNzdSBkZSBQaWNhc2EgZXN0IHImZWFjdXRlO2FsaXMmZWFjdXRlOyBwYXIgbGEgbGlicmFpcmllIFNpbXBsZVhNTCBxdWkgZXN0IG5vcm1hbGVtZW50IGluc3RhbGwmZWFjdXRlO2UgcGFyIGQmZWFjdXRlO2ZhdXQgYXZlYyBQSFA1LiBTaSBjZSBuJiMwMzk7ZXN0IHBhcyBsZSBjYXMsIGNlIG1vZHVsZSBuZSBmb25jdGlvbm5lcmEgcGFzLiBDZWxhIGltcGxpcXVlIGRvbmMgcXVlIGNlIG1vZHVsZSBuZSBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcXVlIHN1ciB1bmUgcGxhdGVmb3JtZSBmb25jdGlvbm5hbnQgYXZlYyBQSFA1LjwvcD4NCjxoMz5EJiMwMzk7YXV0cmVzIGZvbmN0aW9ubmFsaXQmZWFjdXRlO3MgZGUgUGljYXNhIFdlYiBBbGJ1bTwvaDM+DQo8cD5TaSB2b3VzIHZvdWxleiBhZmZpY2hlciB1bmUgc2V1bGUgaW1hZ2UgZGUgdm90cmUgYWxidW0gd2ViLCB2b3VzIHBvdXZleiB1dGlsaXNlciBsZSBsaWVuIGRpcmVjdCBpbmRpcXUmZWFjdXRlOyBzdXIgbGUgc2l0ZSB3ZWIgUGljYXNhLiBSZW5kZXotdm91cyBkb25jIHN1ciBsYSBwYWdlIHdlYiBQaWNhc2EgZGUgdm90cmUgYWxidW0gKHBpY2FzYXdlYi5nb29nbGUuY29tL25vbV91dGlsaXNhdGV1cikgZXQgcGFyY291cmV6IGxlcyBwaG90b3MgcXVlIHZvdXMgdm91ZHJpZXogYWZmaWNoZXIuIFN1ciBsZSBjJm9jaXJjO3QmZWFjdXRlOyBkcm9pdCBkZSBsYSBwYWdlIHdlYiwgaWwgeSBhIHVuIHVuZSBibyZpY2lyYzt0ZSBpbmRpcXVhbnQgJnF1b3Q7bGllbiB2ZXJzIGNldHRlIHBob3RvJnF1b3Q7LiBWb3VzIHBvdXZleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIGxhIHRhaWxsZSBkZSBsJiMwMzk7aW1hZ2UgZXQgY29waWVyIGVuc3VpdGUgbGUgbGllbiBpbmRpcXUmZWFjdXRlOyBwYXIgJnF1b3Q7SW5zJmVhY3V0ZTtyZXIgbCZyc3F1bztpbWFnZSBkYW5zIHVuZSBwYWdlIFdlYiZxdW90OyAmYWdyYXZlOyBsJiMwMzk7aW50JmVhY3V0ZTtyaWV1ciBkZSB2b3RyZSBwYWdlLjwvcD4NCjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQo8cD5DZSBtb2R1bGUgZXN0IHNvdW1pcyAmYWdyYXZlOyBsYSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFZvdXMgZGV2ZXogYXBwcm91dmVyIGNldHRlIGxpY2VuY2UgcG91ciB1dGlsaXNlciBjZSBtb2R1bGUuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQxMTM4MjE2Ny4xMjMzNTYzMTkxLjEyMzM1NzIzNjkuMTIzMzU3NjU0MS40JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjMzNTYzMTkxLjEuMS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvYm9hcmQsMTAuMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3NlciAnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsZXJ0IC0gZ3JhdHVsZXJlciEnOwokbGFuZ1sncG9zdGluc3RhbGxfZm9wZW5fb2ZmJ10gPSAnUGljYXNhIFdlYiBBbGJ1bSBCcm93c2VyIHJlcXVpcmVzIGVpdGhlciBjVVJMIHRvIGJlIGluc3RhbGxlZCBvciB0aGUgJnF1b3Q7YWxsb3dfdXJsX2ZvcGVuJnF1b3Q7IHBocC5pbmkgc2V0dGluZyB0byBiZSBzZXQgdG8gdHJ1ZS4gIElmIHRoZXNlIGNvbmRpdGlvbnMgYXJlIG5vdCBtZXQgKHdoaWNoIHRoZXkgYXJlIGN1cnJlbnRseSBub3QpIHRoZSBQaWNhc2EgV2ViIEFsYnVtIEJyb3dzZXIgd2lsbCBub3Qgd29yay4gIFVzZSBwaHBpbmZvIHRvIHZlcmlmeSB0aGUgcmVzdWx0cyBvZiB0aGlzIGNoZWNrLiAgVGhlIHdheSB5b3VyIG1hY2hpbmUgaXMgY3VycmVubHR5IGNvbmZpZ3VyZWQgdGhpcyBtb2R1bGUgd2lsbCBub3Qgb3BlcmF0ZSBwcm9wZXJseS4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0F2aW5zdGFsbGVydCc7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnVmlya2VsaWc/IER1IGVyIHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgYXZpbnN0YWxsZXJlIGRlbm5lIGZpbmUgbW9kdWxlbj8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBhdmluc3RhbGxlcnQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnNqb24gJXMgaW5uc3RhbGxlcnQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsaW5uc3RpbGxpbmdlciBvcHBkYXRlcnQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RpbGdhbmcgbmVrdGV0LiBWZW5ubGlnc3Qgc2pla2sgZGluZSByZXR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWlsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVmlzZXIgUGljYXNhIFdlYiBBbGJ1bSBpbm5lIGkgQ01TIE1hZGUgU2ltcGxlLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjEgMiBBdWd1c3QgMjAwNy4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+PC91bD4NCjxsaT5WZXJzaW9uIDEuMCA3IEF1Z3VzdCAyMDA3LiBBZGRlZCBleGNsdWRlIGFuZCBpbmNsdWRlIHBhcmFtZXRlcnMuIEFsc28gYWRkZWQgYWRtaW4gcGFuZWwgZm9yIGVkaXRpbmcgdGVtcGxhdGVzIGZyb20gdGhlIGFkbWluIHBhbmVsLjwvbGk+PC91bD4nOwokbGFuZ1snbGlua19iYWNrX3RleHQnXSA9ICdUaWxiYWtlIHRpbCBhbGJ1bWxpc3Rlbic7CiRsYW5nWyd0aXRsZV9lZGl0X2FsYnVtX3RlbXBsYXRlJ10gPSAnUmVkaWdlciBhbGJ1bSBtYWxlbic7CiRsYW5nWydpbmZvX3JlY2lwZV90ZW1wbGF0ZSddID0gJ0Rlbm5lIG1hbGVuIGJlbnl0dGVzIG4mYXJpbmc7ciBhbGJ1bSB2aXNlcyc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01hbCc7CiRsYW5nWydzdWJtaXQnXSA9ICdVdGYmb3NsYXNoO3InOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdUaWxiYWtlc2F0dCB0aWwgc3RhbmRhcmQnOwokbGFuZ1sndGVtcGxhdGVfdXBkYXRlZCddID0gJ01hbCBvcHBkYXRlcnQnOwokbGFuZ1sndGl0bGVfZWRpdF9kZXRhaWxfdGVtcGxhdGUnXSA9ICdSZWRpZ2VyIGJpbGRlIG1hbCc7CiRsYW5nWydpbmZvX2VkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnRGVubmUgbWFsIGJlbnl0dGVzIG4mYXJpbmc7ciBkZXRhbGogaSBhbGJ1bSB2aXNlcyc7CiRsYW5nWydoZWxwX2FsYnVtJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGFsYnVtIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4gIFRoaXMgbmFtZSBpcyB3aGF0IFBpY2FzYSB1c2VzIHRvIHJlZmVyZW5jZSBhbiBhbGJ1bSB3aGljaCBpcyB3aGF0IHlvdSBuYW1lZCB0aGUgYWxidW0gd2l0aCBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBzdHJpcHBlZCBvdXQuICBJZiBhbiBhbGJ1bSBuYW1lIGRvc2VudCB3b3JrLCBwdWxsIHVwIHRoYXQgYWxidW0gaW4gcGljYXNhIHdlYiBhbGJ1bXMgYW5kIGxvb2sgYXQgdGhlIGNvbW1hbmQgbGluZS4gIEZvciBleGFtcGxlLCBteSBhbGJ1bSBjYWxsZWQgJnF1b3Q7TUctNCZxdW90OyB1cmwgbG9va3MgbGlrZSB0aGlzOiAmcXVvdDtodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vcm9yaWsubWVsYmVyZy9NRzQmcXVvdDsuICBUaGUgaHlwaGVuIGlzIHN0cmlwcGVkIG91dCwgc28gaWYgSSB3YW50IHRvIHNob3cgb25seSB0aGlzIGFsYnVtLCB0aGUgYWxidW0gcHJvcGVydHkgc2hvdWxkIGJlIHNldCB0byAmcXVvdDtNRzQmcXVvdDsuJzsKJGxhbmdbJ2hlbHBfdXNlciddID0gJ0tyZXZlcy4gR29vZ2xlIGJydWtlciBuYXZuZXQgdGlsIHBlcnNvbmVuIHNvbSBoYXIgYWxidW1lbmUgc29tIHNrYWwgdmlzZXMuJzsKJGxhbmdbJ2hlbHBfZXhjbHVkZSddID0gJ0xpc3Qgb2YgbWFza3MgdG8gZXhjbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGV4Y2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgZXhjbHVkZSBpcyAmcXVvdDtkb287ZGFoOyZxdW90OyAgQWxsIGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGFwcGVhcmluZyBpbiB0aGVtIHdpbGwgbm90IGJlIHNob3duJzsKJGxhbmdbJ2hlbHBfaW5jbHVkZSddID0gJ0xpc3Qgb2YgbWFza3MgdG8gaW5jbHVkZSwgZGVsaW1pdGVkIGJ5IHNlbWljb2xvbnMuIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIGNvbXBhcmUsIGlmIHRoZSBlbnRpcmUgc3RyaW5nIGlzIGFueXdoZXJlIGluIHRoZSBBbGJ1bSBuYW1lLCBpdCB3aWxsIGJlIGluY2x1ZGVkLiBCb3RoIHRoZSBpbmNsdWRlIGFuZCBleGNsdWRlIGNhbiBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuICBFeGNsdWRlIHdpbGwgb3ZlcnJyaWRlIGluY2x1ZGVzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSBmb3IgaW5jbHVkZSBpcyAmcXVvdDtkb287ZGFoOyZxdW90OyBvbmx5IGFsYnVtcyB3aXRoIGRvbyBhbmQgZGFoIGluIHRoZW0gd2lsbCBiZSBkaXNwbGF5ZWQnOwokbGFuZ1snaGVscF9hbGJ1bXRodW1ic2l6ZSddID0gJ1RoZSBzaXplIG9mIHRoZSBhbGJ1bSB0aHVtYm5haWwgcmVxdWVzdGVkLiAgR29vZ2xlIG9ubHkgYWxsb3dzIHBhcnRpY3VsYXIgdmFsdWVzIGZvciB0aGlzLiAgU2VlIGltYWdldGh1bWJzaXplIGVudHJ5IG9yIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbCZxdW90Oz5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPmZvciB0aGlzIHRhYmxlLic7CiRsYW5nWydoZWxwX2ltYWdlc2l6ZSddID0gJ1RoZSBzaXplIG9mIHRoZSBpbWFnZSByZXF1ZXN0ZWQuICBHb29nbGUgb25seSBhbGxvd3MgcGFydGljdWxhciB2YWx1ZXMgZm9yIHRoaXMuICBTZWUgaW1hZ2V0aHVtYnNpemUgZW50cnkgb3IgPGEgaHJlZj0mcXVvdDtodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sJnF1b3Q7Pmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWw8L2E+IGZvciB0aGlzIHRhYmxlLic7CiRsYW5nWydoZWxwX2ltYWdldGh1bWJzaXplJ10gPSAnVGhlIHNpemUgb2YgdGhlIGltYWdlIHJlcXVlc3RlZC4gIEdvb2dsZSBvbmx5IGFsbG93cyBwYXJ0aWN1bGFyIHZhbHVlcyBmb3IgdGhpcy4gIFNlZSBiZWxvdyBvciA8YSBocmVmPSZxdW90O2h0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWwmcXVvdDs+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3BpY2FzYXdlYi9yZWZlcmVuY2UuaHRtbDwvYT4gZm9yIHRoaXMgdGFibGUuICBDcm9wcGVkIG1lYW5zIHRoZSB0aHVtYm5haWwgeW91IGdldCBpcyBzcXVhcmUuICBPbmx5IGVtYmVkZGFibGUgc2l6ZXMgYXJlIHZhbGlkIGZvciB0aGlzIG1vZHVsZS4gIElmIHlvdSBnZXQgZG93bmxvYWQgcHJvbXB0cyBmcm9tIHRoZSBicm93c2VyLCB5b3UgaGF2ZSBwcm9iYWJseSBwaWNrZWQgYSBzaXplIHRoYXQgaXMgdG9vIGJpZy4NCiAgICA8dGFibGU+DQogICAgIDx0Ym9keT48dHI+DQogICAgICAgIDx0aD5TaXplPC90aD4NCiAgICAgICAgPHRoPkNyb3BwZWQ8L3RoPg0KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+DQogICAgICAgIDx0aD5TaXplPC90aD4NCiAgICAgICAgPHRoPkNyb3BwZWQ8L3RoPg0KICAgICAgICA8dGg+RW1iZWRkYWJsZTwvdGg+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KDQogICAgICAgIDx0ZD48Y29kZT4zMjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT41NzY8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQoNCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT40ODwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT42NDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT42NDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT43MjA8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT43MjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCg0KICAgICAgICA8dGQ+PGNvZGU+ODAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjE0NDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+OTEyPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MTYwPC9jb2RlPjwvdGQ+DQoNCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTAyNDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+MjAwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjExNTI8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjI4ODwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjEyODA8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjMyMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCg0KICAgICAgICA8dGQ+PGNvZGU+MTQ0MDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjQwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+MTYwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjUxMjwvY29kZT48L3RkPg0KDQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+ZDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICA8L3Rib2R5PjwvdGFibGU+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgZGlzcGxheXMgYSBsaXN0IG9mIHB1YmxpYyBQaWNhc2EgV2ViIEFsYnVtcyBvbiBhIHBhZ2UgaW4gQ01TTVMuICBZb3UgY2FuIGFsc28gc2hvdyB0aGUgY29udGVudHMgb2YgYSBzaW5nbGUgYWxidW0gb24gYSBwYWdlLiAgVGhlIGFsYnVtIHZpZXcgc2hvd3MgdGh1bWJuYWlscyBhbmQgd2hlbiBhIHRodW1ibmFpbCBpcyBzZWxlY3RlZCB0aGUgcGljdHVyZSBpcyBzaG93biBpbiBhIHBvcC11cCBib3guICBUaGUgc2xpZGUgc2hvdyBmdW5jdGlvbmFsaXR5IGFsbG93cyB0aGUgdXNlciB0byBtb3ZlIGZvcndhcmQgYW5kIGJhY2sgdGhyb3VnaCB0aGUgcGljdHVyZXMgaW4gYW4gYWxidW0gdXNpbmcgdGhlIGFycm93IGtleXMgb3IgdGhlIG1vdXNlLiAgT3B0aW9uYWxseSB5b3UgY2FuIGNvbmZpZ3VyZSBhIHBhZ2UgdG8gc2hvdyBhIHNldCBvZiBhbGJ1bXMgdXNpbmcgdGhlIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgYXR0cmlidXRlcy4gIFRoZXJlIGFyZSBwYXJhbWV0ZXJzIGZvciBhbGJ1bSB0aHVtYm5haWwsIGltYWdlIHRodW1ibmFpbCBhbmQgcGljdHVyZSBpbWFnZSBzaXplcy4gPC9wPg0KPHA+VGhlIGFkdmFudGFnZSBvZiB1c2luZyB0aGlzIG1vZHVsZSBvdmVyIHRoZSBBbGJ1bSBtb2R1bGUgaXMgeW91IGNhbiB1c2UgdGhlIFBpY2FzYSBkZXNrdG9wIGFwcGxpY2F0aW9uIHRvIGNyb3AsIGJhbGFuY2UsIGFubm90YXRlLCBvcmdhbml6ZSBhbmQgdXBsb2FkIHlvdXIgcGljdHVyZXMuICBHb29nbGUgZ2l2ZXMgeW91IDEgZ2Igb2Ygc3BhY2UgdG8gc3RvcmUgcGhvdG9zLCBhbmQgaWYgeW91IGhhdmUgYSBnbWFpbCBhY2NvdW50LCB5b3UgYWxyZWFkeSBoYXZlIGEgbG9naW4uICBZb3UgY2FuIHVzZSBQaWNhc2Egb3IgdGhlIFBpY2FzYSBXZWIgQWxidW1zIChodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20pIHRvIG1hbmFnZSBvcmRlciwgYWxidW0gbmFtZXMsIGFuZCBwaWN0dXJlIGNhcHRpb25zLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+UGxhY2UgdGhlIHNtYXJ0eSB0YWcge2Ntc19tb2R1bGUgbW9kdWxlPSYjMDM5O1BpY2FzYVdlYkFsYnVtQnJvd3NlciYjMDM5OyB1c2VyPSYjMDM5O3VzZXJuYW1lJiMwMzk7fSBvbiB0aGUgcGFnZS4gIFRvIHNob3cgYSBwYXJ0aWN1bGFyIGFsYnVtIGluY2x1ZGUgdGhlIGFsYnVtIHBhcmFtZXRlci48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+VGhlIG1vZHVsZSBkZXZlbG9wbWVudCBwYWdlIGF0OiA8YSBocmVmPSZxdW90O2h0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcHdhYnJvd3Nlci8mcXVvdDs+aHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9wd2Ficm93c2VyLzwvYT48L2xpPg0KPGxpPllvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseSBhdCByb3Jpay5tZWxiZXJnQGdtYWlsLmNvbTwvbGk+DQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCjxoMz5SZXF1aXJlbWVudHM8L2gzPg0KPHA+QmVjYXVzZSB0aGlzIG1vZHVsZSBtYWtlcyB3ZWIgcmVxdWVzdHMgdG8gR29vZ2xlLCB5b3UgbXVzdCBoYXZlIGVpdGhlciBjVVJMIG9yIHRoZSAmcXVvdDthbGxvd191cmxfZm9wZW4mcXVvdDsgc2V0dGluZyBpbiB5b3VyIHBocC5pbmkgdHVybmVkIG9uLiAgY1VSTCBpcyB0aGUgcHJlZmZlcmVkIG1ldGhvZCBiZWNhdXNlIGl0IGFsbG93cyBjb21wcmVzc29uIGluIHRoZSByZXF1ZXN0IHdoaWNoIEdvb2dsZSB0YWtlcyBhZHZhbmFnZSBvZiBhbmQgYmVjYXVzZSBvZiB0aGUgc2l6ZSBvZiB0aGUgWE1MIGRvY3MsIHRoaXMgY2FuIGRyYXN0aWNhbGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIG1ha2UgYSByZXF1ZXN0IGVzcGVjaWFsbHkgd2hlbiB5b3UgaGF2ZSBtYW55IGFsYnVtcyBpbiB5b3VyIGxpYnJhcnkuPC9wPg0KPHA+UGljYXNhIHhtbCBzdHJlYW0gcHJvY2Vzc2luZyBpcyBkb25lIHdpdGggdGhlIFNpbXBsZVhNTCBsaWJyYXJ5LCB3aGljaCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gYSBkZWZhdWx0IFBIUCA1LjAgaW5zdGFsbC4gSWYgdGhpcyBpcyBub3QgaW5zdGFsbGVkLCB0aGlzIG1vZHVsZSB3aWxsIG5vdCB3b3JrLiAgVGhpcyBhbHNvIHJlc3RyaWN0cyB0aGlzIG1vZHVsZSB0byBQSFAgNSBtYWNoaW5lcyBvbmx5LjwvcD4NCjxoMz5PdGhlciBQaWNhc2EgV2ViIEFsYnVtIGhpbnRzPC9oMz4NCjxwPklmIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cgYSBzaW5nbGUgcGljdHVyZSBmcm9tIHlvdXIgd2ViIGFsYnVtLCB5b3UgY2FuIGdldCB0aGUgbGluayBmcm9tIHRoZSB3ZWIgYWxidW0gaW50ZXJmYWNlIGl0c2VsZi4gIEdvIHRvIHlvdXIgd2ViYWxidW0gcGFnZSAocGljYXNhd2ViLmdvb2dsZS5jb20vdXNlcm5hbWUpIGFuZCBicm93c2UgdG8gdGhlIHBpY3R1cmUgeW91IHdvdWxkIGxpa2UgdG8gc2hvdy4gIFRoZXJlIGlzIGFuIGV4cGFuZGFibGUgYm94IG9uIHRoZSByaWdodCBoYW5kIHNpZGUgdGhhdCBzYXlzICZxdW90O2xpbmsgdG8gdGhpcyBwaG90byZxdW90Oy4gIFlvdSBjYW4gc2VsZWN0IHRoZSBzaXplIG9mIHRoZSBwaWN0dXJlIGFuZCB0aGVuIGNvcHkgdGhlIGxpbmsgZnJvbSB0aGUgJnF1b3Q7SFRNTCB0byBlbWJlZCBpbiB3ZWJzaXRlJnF1b3Q7IGJveC4gIEkgdXN1YWxseSBwdWxsIHRoZSBzcmMgYXR0cmlidXRlIHZhbHVlIGZyb20gdGhlIGltYWdlIHRhZyBhbmQgdXNlIGl0IHRvIHJlZmVyZW5jZSB0aGUgcGhvdG8uPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41MjU0MDY4MTIuMTE4ODA3NzQxNy4xMjA1OTY0OTExLjEyMDYwMTYwNzAuNDA0JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIwNTY4NjIzMy4zOTQuMjcudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWNtczEuaGVsbWluaWtvbi5ub3x1dG1jY3Q9L2FkbWluL2xpc3Rtb2R1bGVzLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3NlciAnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdHZSZpdW1sO25zdGFsbGVlcmQhIEdlZmVsaWNpdGVlcmQhJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsX2ZvcGVuX29mZiddID0gJ1BpY2FzYSBXZWIgQWxidW0gQnJvd3NlciByZXF1aXJlcyBlaXRoZXIgY1VSTCB0byBiZSBpbnN0YWxsZWQgb3IgdGhlICZxdW90O2FsbG93X3VybF9mb3BlbiZxdW90OyBwaHAuaW5pIHNldHRpbmcgdG8gYmUgc2V0IHRvIHRydWUuICBJZiB0aGVzZSBjb25kaXRpb25zIGFyZSBub3QgbWV0ICh3aGljaCB0aGV5IGFyZSBjdXJyZW50bHkgbm90KSB0aGUgUGljYXNhIFdlYiBBbGJ1bSBCcm93c2VyIHdpbGwgbm90IHdvcmsuICBVc2UgcGhwaW5mbyB0byB2ZXJpZnkgdGhlIHJlc3VsdHMgb2YgdGhpcyBjaGVjay4gVGhlIHdheSB5b3VyIG1hY2hpbmUgaXMgY3VycmVubHR5IGNvbmZpZ3VyZWQgdGhpcyBtb2R1bGUgd2lsbCBub3Qgb3BlcmF0ZSBwcm9wZXJseS4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0dlZGUmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydyZWFsbHlfdW5pbnN0YWxsJ10gPSAnRWNodD8gV2VldCB1IHpla2VyIGRhdCB1IGRlemUgbW9vaWUgbW9kdWxlIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGdlZGUmaXVtbDtuc3RhbGxlZXJkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2llICVzIGdlaW5zdGFsbGVlcmQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsZSB2b29ya2V1cmVuIGJpamdld2Vya3QuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkLiBDb250cm9sZWVyIG9mIHUgYmVzY2hpa3Qgb3ZlciBkZSBqdWlzdGUgcmVjaHRlbi4nOwokbGFuZ1snZXJyb3InXSA9ICdGb3V0ISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBnZXVwZ3JhZGUgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVG9vbnQgUGljYXNhIFdlYiBBbGJ1bXMgYmlubmVuIENNUyBNYWRlIFNpbXBsZS4nOwokbGFuZ1snbGlua19iYWNrX3RleHQnXSA9ICdUZXJ1ZyBuYWFyIEFsYnVtIExpanN0JzsKJGxhbmdbJ3RpdGxlX2VkaXRfYWxidW1fdGVtcGxhdGUnXSA9ICdXaWp6aWcgYWxidW0gU2phYmxvb24nOwokbGFuZ1snaW5mb19yZWNpcGVfdGVtcGxhdGUnXSA9ICdEaXQgc2phYmxvb24gd29yZHQgZ2VicnVpa3QgYWxzIGVyIGFsYnVtcyB3b3JkZW4gYmVrZWtlbic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1NqYWJsb29uJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1RvZXZvZWdlbic7CiRsYW5nWydyZXNldHRvZGVmYXVsdCddID0gJ1Jlc2V0IG5hYXIgc3RhbmRhYXJkJzsKJGxhbmdbJ2NvbmZpcm1yZXNldHRvZGVmYXVsdCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgc2phYmxvb24gd2lsdCB3aWp6aWdlbiBpbiBoZXQgc3RhbmRhYXJkIHR5cGU/JzsKJGxhbmdbJ3RlbXBsYXRlX3VwZGF0ZWQnXSA9ICdTamFibG9vbiBiaWpnZXdlcmt0JzsKJGxhbmdbJ3RpdGxlX2VkaXRfZGV0YWlsX3RlbXBsYXRlJ10gPSAnV2lqemlnIGFmYmVlbGRpbmdzc2phYmxvb24nOwokbGFuZ1snaW5mb19lZGl0X2RldGFpbF90ZW1wbGF0ZSddID0gJ0RlemUgdGVtcGxhdGUgd29yZHQgZ2V0b29uZCBhbHMgdSBlZW4gYWxidW0gYmVraWprdCc7CiRsYW5nWydoZWxwX2FsYnVtJ10gPSAnVGhlIG5hbWUgb2YgdGhlIGFsYnVtIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4gIFRoaXMgbmFtZSBpcyB3aGF0IFBpY2FzYSB1c2VzIHRvIHJlZmVyZW5jZSBhbiBhbGJ1bSB3aGljaCBpcyB3aGF0IHlvdSBuYW1lZCB0aGUgYWxidW0gd2l0aCBzcGFjZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBzdHJpcHBlZCBvdXQuICBJZiBhbiBhbGJ1bSBuYW1lIGRvc2VudCB3b3JrLCBwdWxsIHVwIHRoYXQgYWxidW0gaW4gcGljYXNhIHdlYiBhbGJ1bXMgYW5kIGxvb2sgYXQgdGhlIGNvbW1hbmQgbGluZS4gIEZvciBleGFtcGxlLCBteSBhbGJ1bSBjYWxsZWQgJnF1b3Q7TUctNCZxdW90OyB1cmwgbG9va3MgbGlrZSB0aGlzOiAmcXVvdDtodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vcm9yaWsubWVsYmVyZy9NRzQmcXVvdDsuICBUaGUgaHlwaGVuIGlzIHN0cmlwcGVkIG91dCwgc28gaWYgSSB3YW50IHRvIHNob3cgb25seSB0aGlzIGFsYnVtLCB0aGUgYWxidW0gcHJvcGVydHkgc2hvdWxkIGJlIHNldCB0byAmcXVvdDtNRzQmcXVvdDsuJzsKJGxhbmdbJ2hlbHBfdXNlciddID0gJ1ZlcnBsaWNodC4gRGUgR29vZ2xlIGdlYnJ1aWtlcnNuYWFtIHZhbiBkZSBwZXJzb29uIHZhbiB3aWUgZGV6ZSBhbGJ1bXMgemlqbi4nOwokbGFuZ1snaGVscF9leGNsdWRlJ10gPSAnTGlzdCBvZiBtYXNrcyB0byBleGNsdWRlLCBkZWxpbWl0ZWQgYnkgc2VtaWNvbG9ucy4gVGhpcyBpcyBhIHNpbXBsZSBzdHJpbmcgY29tcGFyZSwgaWYgdGhlIGVudGlyZSBzdHJpbmcgaXMgYW55d2hlcmUgaW4gdGhlIEFsYnVtIG5hbWUsIGl0IHdpbGwgYmUgZXhjbHVkZWQuIEJvdGggdGhlIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgY2FuIGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZS4gIEV4Y2x1ZGUgd2lsbCBvdmVycnJpZGUgaW5jbHVkZXMuICBGb3IgZXhhbXBsZSwgaWYgdGhlIHZhbHVlIGZvciBleGNsdWRlIGlzICZxdW90O2RvbztkYWg7JnF1b3Q7ICBBbGwgYWxidW1zIHdpdGggZG9vIGFuZCBkYWggYXBwZWFyaW5nIGluIHRoZW0gd2lsbCBub3QgYmUgc2hvd24nOwokbGFuZ1snaGVscF9pbmNsdWRlJ10gPSAnTGlzdCBvZiBtYXNrcyB0byBpbmNsdWRlLCBkZWxpbWl0ZWQgYnkgc2VtaWNvbG9ucy4gVGhpcyBpcyBhIHNpbXBsZSBzdHJpbmcgY29tcGFyZSwgaWYgdGhlIGVudGlyZSBzdHJpbmcgaXMgYW55d2hlcmUgaW4gdGhlIEFsYnVtIG5hbWUsIGl0IHdpbGwgYmUgaW5jbHVkZWQuIEJvdGggdGhlIGluY2x1ZGUgYW5kIGV4Y2x1ZGUgY2FuIGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZS4gIEV4Y2x1ZGUgd2lsbCBvdmVycnJpZGUgaW5jbHVkZXMuICBGb3IgZXhhbXBsZSwgaWYgdGhlIHZhbHVlIGZvciBpbmNsdWRlIGlzICZxdW90O2RvbztkYWg7JnF1b3Q7IG9ubHkgYWxidW1zIHdpdGggZG9vIGFuZCBkYWggaW4gdGhlbSB3aWxsIGJlIGRpc3BsYXllZCc7CiRsYW5nWydoZWxwX2FsYnVtdGh1bWJzaXplJ10gPSAnRGUgZ3Jvb3R0ZSB2YW4gaGV0IGFsYnVtIHRodW1ibmFpbCBpcyB2ZXJwbGljaHQuICBHb29nbGUgYWNjZXB0ZWVyZCBhbGxlZW4gY2lqZmVycy4gWmllIGltYWdldGh1bWJzaXplIHZlbGRlbiBvZiA8YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sIj5odHRwOi8vY29kZS5nb29nbGUuY29tL2FwaXMvcGljYXNhd2ViL3JlZmVyZW5jZS5odG1sPC9hPnZvb3IgZGV6ZSB0YWJlbC4nOwokbGFuZ1snaGVscF9pbWFnZXNpemUnXSA9ICdEZSBncm9vdHRlIHZhbiBkZSBhZmJlZWxkaW5nIGlzIHZlcnBsaWNodC4gIEdvb2dsZSBhY2NlcHRlZXJkIGFsbGVlbiBjaWpmZXJzLiBaaWUgaW1hZ2V0aHVtYnNpemUgdmVsZGVuIG9mIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWwiPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWw8L2E+dm9vciBkZXplIHRhYmVsLic7CiRsYW5nWydoZWxwX2ltYWdldGh1bWJzaXplJ10gPSAnVGhlIHNpemUgb2YgdGhlIGltYWdlIHJlcXVlc3RlZC4gR29vZ2xlIG9ubHkgYWxsb3dzIHBhcnRpY3VsYXIgdmFsdWVzIGZvciB0aGlzLiAgU2VlIGJlbG93IG9yIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWwiPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vYXBpcy9waWNhc2F3ZWIvcmVmZXJlbmNlLmh0bWw8L2E+IGZvciB0aGlzIHRhYmxlLiAgQ3JvcHBlZCBtZWFucyB0aGUgdGh1bWJuYWlsIHlvdSBnZXQgaXMgc3F1YXJlLiAgT25seSBlbWJlZGRhYmxlIHNpemVzIGFyZSB2YWxpZCBmb3IgdGhpcyBtb2R1bGUuICBJZiB5b3UgZ2V0IGRvd25sb2FkIHByb21wdHMgZnJvbSB0aGUgYnJvd3NlciwgeW91IGhhdmUgcHJvYmFibHkgcGlja2VkIGEgc2l6ZSB0aGF0IGlzIHRvbyBiaWcuDQogICAgPHRhYmxlPg0KICAgICA8dGJvZHk+PHRyPg0KICAgICAgICA8dGg+U2l6ZTwvdGg+DQogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4NCiAgICAgICAgPHRoPkVtYmVkZGFibGU8L3RoPg0KICAgICAgICA8dGg+U2l6ZTwvdGg+DQogICAgICAgIDx0aD5Dcm9wcGVkPC90aD4NCiAgICAgICAgPHRoPkVtYmVkZGFibGU8L3RoPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCg0KICAgICAgICA8dGQ+PGNvZGU+MzI8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+NTc2PC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KDQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+NDg8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+NjQwPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQoNCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+NjQ8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+PGNvZGU+NzIwPC9jb2RlPjwvdGQ+DQoNCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQ+PGNvZGU+NzI8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQoNCiAgICAgICAgPHRkPjxjb2RlPjgwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT4xNDQ8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjkxMjwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjE2MDwvY29kZT48L3RkPg0KDQogICAgICAgIDx0ZD5ZZXM8L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjEwMjQ8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQoNCiAgICAgIDx0cj4NCiAgICAgICAgPHRkPjxjb2RlPjIwMDwvY29kZT48L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT4xMTUyPC9jb2RlPjwvdGQ+DQogICAgICAgIDx0ZD5ObzwvdGQ+DQoNCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT4yODg8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQogICAgICAgIDx0ZD48Y29kZT4xMjgwPC9jb2RlPjwvdGQ+DQoNCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT4zMjA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPlllczwvdGQ+DQoNCiAgICAgICAgPHRkPjxjb2RlPjE0NDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT40MDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPjE2MDA8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZD48Y29kZT41MTI8L2NvZGU+PC90ZD4NCg0KICAgICAgICA8dGQ+Tm88L3RkPg0KICAgICAgICA8dGQ+WWVzPC90ZD4NCiAgICAgICAgPHRkPjxjb2RlPmQ8L2NvZGU+PC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgICAgPHRkPk5vPC90ZD4NCiAgICAgIDwvdHI+DQogICAgPC90Ym9keT48L3RhYmxlPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPyA8L2gzPg0KPHA+VGhpcyBkaXNwbGF5cyBhIGxpc3Qgb2YgcHVibGljIFBpY2FzYSBXZWIgQWxidW1zIG9uIGEgcGFnZSBpbiBDTVNNUy4gIFlvdSBjYW4gYWxzbyBzaG93IHRoZSBjb250ZW50cyBvZiBhIHNpbmdsZSBhbGJ1bSBvbiBhIHBhZ2UuICBUaGUgYWxidW0gdmlldyBzaG93cyB0aHVtYm5haWxzIGFuZCB3aGVuIGEgdGh1bWJuYWlsIGlzIHNlbGVjdGVkIHRoZSBwaWN0dXJlIGlzIHNob3duIGluIGEgcG9wLXVwIGJveC4gIFRoZSBzbGlkZSBzaG93IGZ1bmN0aW9uYWxpdHkgYWxsb3dzIHRoZSB1c2VyIHRvIG1vdmUgZm9yd2FyZCBhbmQgYmFjayB0aHJvdWdoIHRoZSBwaWN0dXJlcyBpbiBhbiBhbGJ1bSB1c2luZyB0aGUgYXJyb3cga2V5cyBvciB0aGUgbW91c2UuICBPcHRpb25hbGx5IHlvdSBjYW4gY29uZmlndXJlIGEgcGFnZSB0byBzaG93IGEgc2V0IG9mIGFsYnVtcyB1c2luZyB0aGUgaW5jbHVkZSBhbmQgZXhjbHVkZSBhdHRyaWJ1dGVzLiAgVGhlcmUgYXJlIHBhcmFtZXRlcnMgZm9yIGFsYnVtIHRodW1ibmFpbCwgaW1hZ2UgdGh1bWJuYWlsIGFuZCBwaWN0dXJlIGltYWdlIHNpemVzLiA8L3A+DQo8cD5UaGUgYWR2YW50YWdlIG9mIHVzaW5nIHRoaXMgbW9kdWxlIG92ZXIgdGhlIEFsYnVtIG1vZHVsZSBpcyB5b3UgY2FuIHVzZSB0aGUgUGljYXNhIGRlc2t0b3AgYXBwbGljYXRpb24gdG8gY3JvcCwgYmFsYW5jZSwgYW5ub3RhdGUsIG9yZ2FuaXplIGFuZCB1cGxvYWQgeW91ciBwaWN0dXJlcy4gIEdvb2dsZSBnaXZlcyB5b3UgMSBnYiBvZiBzcGFjZSB0byBzdG9yZSBwaG90b3MsIGFuZCBpZiB5b3UgaGF2ZSBhIGdtYWlsIGFjY291bnQsIHlvdSBhbHJlYWR5IGhhdmUgYSBsb2dpbi4gIFlvdSBjYW4gdXNlIFBpY2FzYSBvciB0aGUgUGljYXNhIFdlYiBBbGJ1bXMgKGh0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbSkgdG8gbWFuYWdlIG9yZGVyLCBhbGJ1bSBuYW1lcywgYW5kIHBpY3R1cmUgY2FwdGlvbnMuPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5QbGFjZSB0aGUgc21hcnR5IHRhZyB7Y21zX21vZHVsZSBtb2R1bGU9JiMwMzk7UGljYXNhV2ViQWxidW1Ccm93c2VyJiMwMzk7IHVzZXI9JiMwMzk7dXNlcm5hbWUmIzAzOTt9IG9uIHRoZSBwYWdlLiAgVG8gc2hvdyBhIHBhcnRpY3VsYXIgYWxidW0gaW5jbHVkZSB0aGUgYWxidW0gcGFyYW1ldGVyLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5UaGUgbW9kdWxlIGRldmVsb3BtZW50IHBhZ2UgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcHdhYnJvd3Nlci8iPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvcHdhYnJvd3Nlci88L2E+PC9saT4NCjxsaT5Zb3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkgYXQgcm9yaWsubWVsYmVyZ0BnbWFpbC5jb208L2xpPg0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPkJlY2F1c2UgdGhpcyBtb2R1bGUgbWFrZXMgd2ViIHJlcXVlc3RzIHRvIEdvb2dsZSwgeW91IG11c3QgaGF2ZSBlaXRoZXIgY1VSTCBvciB0aGUgJnF1b3Q7YWxsb3dfdXJsX2ZvcGVuJnF1b3Q7IHNldHRpbmcgaW4geW91ciBwaHAuaW5pIHR1cm5lZCBvbi4gIGNVUkwgaXMgdGhlIHByZWZmZXJlZCBtZXRob2QgYmVjYXVzZSBpdCBhbGxvd3MgY29tcHJlc3NvbiBpbiB0aGUgcmVxdWVzdCB3aGljaCBHb29nbGUgdGFrZXMgYWR2YW5hZ2Ugb2YgYW5kIGJlY2F1c2Ugb2YgdGhlIHNpemUgb2YgdGhlIFhNTCBkb2NzLCB0aGlzIGNhbiBkcmFzdGljYWxseSByZWR1Y2UgdGhlIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBtYWtlIGEgcmVxdWVzdCBlc3BlY2lhbGx5IHdoZW4geW91IGhhdmUgbWFueSBhbGJ1bXMgaW4geW91ciBsaWJyYXJ5LjwvcD4NCjxwPlBpY2FzYSB4bWwgc3RyZWFtIHByb2Nlc3NpbmcgaXMgZG9uZSB3aXRoIHRoZSBTaW1wbGVYTUwgbGlicmFyeSwgd2hpY2ggc2hvdWxkIGJlIGluY2x1ZGVkIGluIGEgZGVmYXVsdCBQSFAgNS4wIGluc3RhbGwuIElmIHRoaXMgaXMgbm90IGluc3RhbGxlZCwgdGhpcyBtb2R1bGUgd2lsbCBub3Qgd29yay4gIFRoaXMgYWxzbyByZXN0cmljdHMgdGhpcyBtb2R1bGUgdG8gUEhQIDUgbWFjaGluZXMgb25seS48L3A+DQo8aDM+T3RoZXIgUGljYXNhIFdlYiBBbGJ1bSBoaW50czwvaDM+DQo8cD5JZiB5b3Ugd291bGQgbGlrZSB0byBzaG93IGEgc2luZ2xlIHBpY3R1cmUgZnJvbSB5b3VyIHdlYiBhbGJ1bSwgeW91IGNhbiBnZXQgdGhlIGxpbmsgZnJvbSB0aGUgd2ViIGFsYnVtIGludGVyZmFjZSBpdHNlbGYuICBHbyB0byB5b3VyIHdlYmFsYnVtIHBhZ2UgKHBpY2FzYXdlYi5nb29nbGUuY29tL3VzZXJuYW1lKSBhbmQgYnJvd3NlIHRvIHRoZSBwaWN0dXJlIHlvdSB3b3VsZCBsaWtlIHRvIHNob3cuICBUaGVyZSBpcyBhbiBleHBhbmRhYmxlIGJveCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIHRoYXQgc2F5cyAmcXVvdDtsaW5rIHRvIHRoaXMgcGhvdG8mcXVvdDsuICBZb3UgY2FuIHNlbGVjdCB0aGUgc2l6ZSBvZiB0aGUgcGljdHVyZSBhbmQgdGhlbiBjb3B5IHRoZSBsaW5rIGZyb20gdGhlICZxdW90O0hUTUwgdG8gZW1iZWQgaW4gd2Vic2l0ZSZxdW90OyBib3guICBJIHVzdWFsbHkgcHVsbCB0aGUgc3JjIGF0dHJpYnV0ZSB2YWx1ZSBmcm9tIHRoZSBpbWFnZSB0YWcgYW5kIHVzZSBpdCB0byByZWZlcmVuY2UgdGhlIHBob3RvLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNzM4ODk2MDM5LjEyNzg4NDAwMDAuMTI4MjMyMDMwNC4xMjgyMzc2NDM1LjIyNSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODIyOTY3MDguMjE5LjQ5LnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAvYm9hcmQsMTMuMC5odG1sJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTg1NDM4NzA0My0xMjc4ODQwMDAwOTE3JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjgyMzc2NDM1JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0FkbWluIFBXQUJyb3dzZXInLCAnQWRtaW4gUFdBQnJvd3NlcicpOwoKJHRoaXMtPkluc3RhbGxUZW1wbGF0ZXMoKTsKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0FkbWluIFBXQUJyb3dzZXInKTsKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcpKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKc3dpdGNoICgkY3VycmVudF92ZXJzaW9uKSB7CiAgY2FzZSAiMC4xIjoKICAgICR0aGlzLT5JbnN0YWxsVGVtcGxhdGVzKCk7CiAgICBicmVhazsKfQokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignQWRtaW4gUFdBQnJvd3NlcicpOwovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VwZ3JhZGVkJywgJHRoaXMtPkdldFZlcnNpb24oKSkpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/PicasaBrowser.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIE1vZHVsZTogUGljYXNhV2ViQWxidW1Ccm93c2VyCiAgIyBWZXJzaW9uOiAxLjAsIFJKTQogICMKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKICAjIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiAgIyBUaGUgbW9kdWxlJ3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2tlbGV0b24vCiAgIwogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIwogICMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgogICMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAjCiAgIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAgIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAgIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQogICMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAogICMKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICovCgpjbGFzcyBQaWNhc2FCcm93c2VyIGV4dGVuZHMgQ01TTW9kdWxlIHsKICB2YXIgJGhlYWRib2R5c2VwYXJhdG9yPSAieyogSEVBRC9CT0RZIERJVklERVIgKn0iOwogIAogIGZ1bmN0aW9uIEdldE5hbWUoKSB7CiAgICByZXR1cm4gJ1BpY2FzYUJyb3dzZXInOwogIH0KCiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBHZXRGcmllbmRseU5hbWUoKQogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIEdldFZlcnNpb24oKQogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKSB7CiAgICByZXR1cm4gJzIuMCc7CiAgfQoKICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIEdldEhlbHAoKQogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgogIGZ1bmN0aW9uIEdldEhlbHAoKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgogIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgR2V0QXV0aG9yKCkKICAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCiAgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7CiAgICByZXR1cm4gJ1JvcmlrIEouIE1lbGJlcmcvTW9ydGVuIFBvdWxzZW4nOwogIH0KCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKSB7CiAgICByZXR1cm4gJ3JvcmlrLm1lbGJlcmdAZ21haWwuY29tL21vcnRlbnBvdWxzZW5AZ21haWwuY29tJzsKICB9CgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2hhbmdlbG9nLnRwbCcpOwogIH0KCiAgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEhhc0FkbWluKCkgewogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsKICAgIHJldHVybiAiMS42IjsKICB9CgogIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oJGV2ZW50bmFtZSkgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycgLiAkZXZlbnRuYW1lKTsKICB9CgogIGZ1bmN0aW9uIEdldEV2ZW50SGVscCgkZXZlbnRuYW1lKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2V2ZW50X2hlbHBfJyAuICRldmVudG5hbWUpOwogIH0KCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKICAgICR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndXNlcicsICcnLCAkdGhpcy0+bGFuZygnaGVscF91c2VyJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWxidW0nLCAnJywgJHRoaXMtPmxhbmcoJ2hlbHBfYWxidW0nKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdleGNsdWRlJywgJycsICR0aGlzLT5sYW5nKCdoZWxwX2V4Y2x1ZGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbmNsdWRlJywgJycsICR0aGlzLT5sYW5nKCdoZWxwX2luY2x1ZGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbWFnZXNpemUnLCAnNTEyJywgJHRoaXMtPmxhbmcoJ2hlbHBfaW1hZ2VzaXplJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW1hZ2V0aHVtYnNpemUnLCAnNjQnLCAkdGhpcy0+bGFuZygnaGVscF9pbWFnZXRodW1ic2l6ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FsYnVtdGh1bWJzaXplJywgJzIwMCcsICR0aGlzLT5sYW5nKCdoZWxwX2FsYnVtdGh1bWJzaXplJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGVhZGVyJywnMCcsICR0aGlzLT5sYW5nKCdoZWxwX2hlYWRlcicpKTsKICB9CgogIC8vQWRkIFRlbXBsYXRlcyB0byB0aGUgZGF0YWJhc2UKICBmdW5jdGlvbiBJbnN0YWxsVGVtcGxhdGVzKCkgewogICAgLy8gU2V0dXAgYWxidW1zIHRlbXBsYXRlCiAgICAkZm4gPSBkaXJuYW1lKF9fRklMRV9fKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAndGVtcGxhdGVzJyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnb3JpZ2luYWwnLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2FsYnVtcy50cGwnOwogICAgaWYgKGZpbGVfZXhpc3RzKCRmbikpIHsKICAgICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnYWxidW1zJywgJHRlbXBsYXRlKTsKICAgIH0KCiAgICAvLyBTZXR1cCBpbWFnZXMgdGVtcGxhdGUKICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICd0ZW1wbGF0ZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdvcmlnaW5hbCcuIERJUkVDVE9SWV9TRVBBUkFUT1IgLidsaWdodGJveC50cGwnOwogICAgaWYgKGZpbGVfZXhpc3RzKCRmbikpIHsKICAgICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnaW1hZ2VzJywgJHRlbXBsYXRlKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpIHsKICAgIGlmICghZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2luaXQnKSAmJiAhaW5pX2dldCgnYWxsb3dfdXJsX2ZvcGVuJykpCiAgICAgIHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGxfZm9wZW5fb2ZmJyk7CgogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwogIH0KCiAgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIFVuaW5zdGFsbFByZU1lc3NhZ2UoKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICB9CgogIC8vQWRtaW4gZnVuY3Rpb25zCiAgCiAgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgewogICAgcmV0dXJuICdjb250ZW50JzsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQoKICBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKSB7CiAgICByZXR1cm4gKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcyIpKTsKICB9CgogIGZ1bmN0aW9uIF9BZG1pbkVkaXREZWZhdWx0VGVtcGxhdGVGb3JtKCRpZCwgJHJldHVybmlkLCAkdGVtcGxhdGVfbmFtZSwgJGFjdGl2ZV90YWIsICR0aXRsZSwgJGZpbGVuYW1lLCAkaW5mbykgewogICAgJHNtYXJ0eSA9ICYgJHRoaXMtPnNtYXJ0eTsKICAgICRzbWFydHktPmFzc2lnbignZGVmYXVsdHRlbXBsYXRlZm9ybV90aXRsZScsICR0aXRsZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2luZm9fdGl0bGUnLCAkaW5mbyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAndXBkYXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnICcsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAkYWN0aXZlX3RhYiwgJ3RlbXBsYXRlX25hbWUnID0+ICR0ZW1wbGF0ZV9uYW1lLCAnZmlsZW5hbWUnID0+ICRmaWxlbmFtZSkpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3RlbXBsYXRlJywgJHRoaXMtPkxhbmcoJ3RlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlX25hbWUpLCAnaW5wdXRfdGVtcGxhdGUnLCcnLCAnJywgJycsICcnLCAnODAnLCAnMTUnLCcnLCdodG1sJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2V0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3Jlc2V0dG9kZWZhdWx0JywgJHRoaXMtPkxhbmcoJ3Jlc2V0dG9kZWZhdWx0JyksICIiLCAiIiwgJHRoaXMtPkxhbmcoJ2NvbmZpcm1yZXNldHRvZGVmYXVsdCcpKSk7CiAgICAkc3lzdGVtdHRlbXBsYXRlcz1hcnJheSgpOwogICAgaWYgKCRhY3RpdmVfdGFiPT0iaW1hZ2VzX3RlbXBsYXRlIikgewogICAgICAkc3lzdGVtdHRlbXBsYXRlcz1hcnJheSgiTGlnaHRCb3giPT4ibGlnaHRib3gudHBsIiwialF1ZXJ5IEZhbmN5Qm94Ij0+ImZhbmN5Ym94LnRwbCIpOwogICAgfSBlbHNlIHsKICAgICAgJHN5c3RlbXR0ZW1wbGF0ZXM9YXJyYXkoJHRoaXMtPkxhbmcoImJhc2ljYWxidW10ZW1wbGF0ZSIpPT4iYWxidW1zLnRwbCIpOwogICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdzeXN0ZW10ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3N5c3RlbXRlbXBsYXRlJywgJHN5c3RlbXR0ZW1wbGF0ZXMpKTsKICAgICRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0ZGVmYXVsdHRlbXBsYXRlLnRwbCcpOwogICAgCiAgfQoKCgogIGZ1bmN0aW9uIGRpc3BsYXlBbGJ1bSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpIHsKICAgICR1c2VyID0gJHBhcmFtc1sndXNlciddOwogICAgJGFsYnVtID0gJHBhcmFtc1snYWxidW0nXTsKICAgICRhbGJ1bUlkID0gJHBhcmFtc1snYWxidW1pZCddOwogICAgJGltYWdlU2l6ZSA9ICRwYXJhbXNbJ2ltYWdlc2l6ZSddOwoKICAgIC8vU2V0IGRlZmF1bHRzIGZvciBpbWFnZSBzaXplIGFuZCB0aHVtYnNpemUKICAgIGlmIChlbXB0eSgkaW1hZ2VTaXplKSkgJGltYWdlU2l6ZSA9ICc1MTInOwoKICAgICR0aHVtYlNpemUgPSAkcGFyYW1zWydpbWFnZXRodW1ic2l6ZSddOwogICAgaWYgKGVtcHR5KCR0aHVtYlNpemUpKQogICAgICAkdGh1bWJTaXplID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHR0aHVtYnNpemUiLCI2NCIpOwoKICAgICR4bWwgPSAkdGhpcy0+Z2V0QWxidW1Db250ZW50KCR1c2VyLCAkYWxidW0sICRhbGJ1bUlkLCAkaW1hZ2VTaXplLCAkdGh1bWJTaXplKTsKCiAgICB0cnkgewogICAgICAkc3hEb2MgPSBuZXcgU2ltcGxlWE1MRWxlbWVudCgkeG1sKTsKCiAgICAgICRhbGJ1bU5hbWUgPSAoc3RyaW5nKSAkc3hEb2MtPnRpdGxlWzBdOwoKICAgICAgLyokaW1nX2ZpbGVzID0gYXJyYXkoKTsKICAgICAgJGltZ190aHVtYnMgPSBhcnJheSgpOwogICAgICAkaW1nX2tleXdvcmRzID0gYXJyYXkoKTsKICAgICAgJGltZ190aXRsZXMgPSBhcnJheSgpOyovCiAgICAgICRpbWFnZXM9YXJyYXkoKTsKCiAgICAgIGZvcmVhY2ggKCRzeERvYy0+eHBhdGgoJy8vZW50cnknKSBhcyAkaXRlbSkgewogICAgICAgIC8vb3JpZ2luYWwgJHBpY2FzYV9rZXl3b3JkcyA9ICRwaWNhc2F3ZWJfeHBhdGgtPnF1ZXJ5KCcuLy9tZWRpYTprZXl3b3JkcycsICRwaWNhc2Ffbm9kZSktPml0ZW0oMCktPmZpcnN0Q2hpbGQtPmRhdGE7CgogICAgICAgICRpbWFnZSA9IG5ldyBzdGRDbGFzcygpOwogICAgICAgICRhcnJheSA9ICRpdGVtLT54cGF0aCgnLi8vbWVkaWE6Y29udGVudCcpOwogICAgICAgIC8vJGltYWdlVXJsID0gJGFycmF5WzBdWyd1cmwnXTsKICAgICAgICAkaW1hZ2UtPnVybCA9ICRhcnJheVswXVsndXJsJ107CgogICAgICAgICRhcnJheSA9ICRpdGVtLT54cGF0aCgnLi8vbWVkaWE6dGh1bWJuYWlsJyk7CiAgICAgICAgLy8kdGh1bWJVcmwgPSAkYXJyYXlbMF1bJ3VybCddOwogICAgICAgICRpbWFnZS0+dGh1bWJ1cmwgPSAkYXJyYXlbMF1bJ3VybCddOwoKICAgICAgICAkYXJyYXkgPSAkaXRlbS0+eHBhdGgoJy4vL21lZGlhOmtleXdvcmRzJyk7CiAgICAgICAgLy8ka2V5d29yZHMgPSAkYXJyYXlbMF07CiAgICAgICAgJGltYWdlLT5rZXl3b3JkcyA9ICRhcnJheVswXTsKCiAgICAgICAgJGFycmF5ID0gJGl0ZW0tPnhwYXRoKCcuLy9ncGhvdG86dGltZXN0YW1wJyk7CiAgICAgICAgJGltYWdlLT50aW1lc3RhbXAgPSAkYXJyYXlbMF07CiAgICAgICAgCgoKICAgICAgICAkYXJyYXkgPSAkaXRlbS0+eHBhdGgoJy4vL21lZGlhOmRlc2NyaXB0aW9uJyk7CiAgICAgICAgLy8kbWVkaWF0aXRsZSA9ICRhcnJheVswXTsKICAgICAgICAkaW1hZ2UtPnRpdGxlID0gJGFycmF5WzBdOwogICAgICAgIGlmICgkaW1hZ2UtPnRpdGxlID09ICIiKSB7CiAgICAgICAgICBpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoImZpbGVuYW1lZGVzY3JpcHRpb24iLDApPT0iMSIpIHsKICAgICAgICAgICAgJGFycmF5ID0gJGl0ZW0tPnhwYXRoKCcuLy9tZWRpYTp0aXRsZScpOwogICAgICAgICAgICAkaW1hZ2UtPnRpdGxlICA9ICRhcnJheVswXTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vZWNobyAiZGF0YTogJGltYWdlVXJsIDxici8+ICR0aHVtYlVybCA8YnIvPiAka2V5d29yZHMgPGJyLz4gJG1lZGlhdGl0bGUgPGJyLz4iOwogICAgICAgIC8qIGFycmF5X3B1c2goJGltZ19maWxlcywgaHRtbGVudGl0aWVzKCRpbWFnZVVybCkpOwogICAgICAgICAgYXJyYXlfcHVzaCgkaW1nX3RodW1icywgaHRtbGVudGl0aWVzKCR0aHVtYlVybCkpOwogICAgICAgICAgYXJyYXlfcHVzaCgkaW1nX2tleXdvcmRzLCBodG1sZW50aXRpZXMoJGtleXdvcmRzKSk7CiAgICAgICAgICBhcnJheV9wdXNoKCRpbWdfdGl0bGVzLCBodG1sZW50aXRpZXMoJG1lZGlhdGl0bGUpKTsgKi8KICAgICAgICAvKmFycmF5X3B1c2goJGltZ19maWxlcywgaHRtbHNwZWNpYWxjaGFycygkaW1hZ2VVcmwpKTsKICAgICAgICBhcnJheV9wdXNoKCRpbWdfdGh1bWJzLCBodG1sc3BlY2lhbGNoYXJzKCR0aHVtYlVybCkpOwogICAgICAgIGFycmF5X3B1c2goJGltZ19rZXl3b3JkcywgaHRtbHNwZWNpYWxjaGFycygka2V5d29yZHMpKTsKICAgICAgICBhcnJheV9wdXNoKCRpbWdfdGl0bGVzLCBodG1sc3BlY2lhbGNoYXJzKCRtZWRpYXRpdGxlKSk7Ki8KICAgICAgICBhcnJheV9wdXNoKCRpbWFnZXMsICRpbWFnZSk7CiAgICAgIH0KCiAgICAgIC8vQXR0YWNoIHZhcnMgdG8gc21hcnR5IHRlbXBsYXRlCiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignYWxidW0nLCAkYWxidW1OYW1lKTsKICAgICAgLyoKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbWFnZXMnLCAkaW1nX2ZpbGVzKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aHVtYm5haWxzJywgJGltZ190aHVtYnMpOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlcycsICRpbWdfdGl0bGVzKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhbGJ1bURyaWxsRG93bicsIGVtcHR5KCRwYXJhbXNbJ2FsYnVtJ10pKTsqLwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpbWFnZXMnLCAkaW1hZ2VzKTsKCiAgICAgIC8vQ3JlYXRlIExpbmsKICAgICAgJHBhcmFtZXRlcnMgPSBBcnJheSgndXNlcicgPT4gJHVzZXIsICdpbWFnZXRodW1ic2l6ZScgPT4gJHBhcmFtc1snaW1hZ2V0aHVtYnNpemUnXSwgJ2FsYnVtdGh1bWJzaXplJyA9PiAkcGFyYW1zWydhbGJ1bXRodW1ic2l6ZSddLCAnaW1hZ2VzaXplJyA9PiAkcGFyYW1zWydpbWFnZXNpemUnXSwgJ2luY2x1ZGUnID0+ICRwYXJhbXNbJ2luY2x1ZGUnXSwgJ2V4Y2x1ZGUnID0+ICRwYXJhbXNbJ2V4Y2x1ZGUnXSk7CiAgICAgICRsaW5rQmFjayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCAkcGFyYW1ldGVycywgJycsIHRydWUpOwogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtCYWNrJywgJGxpbmtCYWNrKTsKCiAgICAgIC8vQXR0YWNoIFRleHQgZm9yIGxpbmsgYmFjayB0byBBbGJ1bQogICAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmtCYWNrVGV4dCcsICR0aGlzLT5MYW5nKCdsaW5rX2JhY2tfdGV4dCcpKTsKCiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kdWxlcGF0aCcsICR0aGlzLT5HZXRNb2R1bGVVUkxQYXRoKCkpOwoKICAgICAgLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCiAgICAgICR0ZW1wbGF0ZT0kdGhpcy0+R2V0VGVtcGxhdGUoJ2ltYWdlcycpOwogICAgICAkdGVtcGxhdGU9JHRoaXMtPkdldEJvZHlQYXJ0KCR0ZW1wbGF0ZSk7CiAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CiAgICB9IGNhdGNoIChFeGNlcHRpb24gJGV4KSB7CiAgICAgIGVjaG8gIkVycm9yIGdldHRpbmcgb3IgcGFyc2luZyBYTUwgZG9jdW1lbnQuPGJyLz4iOwogICAgICBlY2hvICRleC0+ZGVzY3JpcHRpb247CiAgICAgIGVjaG8gIkRvYzoiIC4gJHhtbDsKICAgIH0KICB9CgogIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKICBmdW5jdGlvbiBkaXNwbGF5QWxidW1zKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCkgewogICAgJHVzZXIgPSAiIjsKICAgIGlmIChpc3NldCgkcGFyYW1zWyd1c2VyJ10pKSB7CiAgICAgICR1c2VyID0gIiI7CiAgICB9IGVsc2UgewoKICAgIH0KCiAgICAvL0luY2x1ZGUgUGFyYW0KICAgIGlmICghZW1wdHkoJHBhcmFtc1snaW5jbHVkZSddKSkgewogICAgICAkaW5jbHVkZSA9IHNwbGl0KCI7IiwgJHBhcmFtc1snaW5jbHVkZSddKTsKICAgIH0KCiAgICAvL0V4Y2x1ZGUgUGFyYW0KICAgIGlmICghZW1wdHkoJHBhcmFtc1snZXhjbHVkZSddKSkgewogICAgICAkZXhjbHVkZSA9IHNwbGl0KCI7IiwgJHBhcmFtc1snZXhjbHVkZSddKTsKICAgIH0KCiAgICAkeG1sID0gJHRoaXMtPmdldEFsYnVtcygkdXNlciwgJHBhcmFtc1snYWxidW10aHVtYnNpemUnXSk7CiAgICAvL2VjaG8gJHhtbDsgZGllKCk7CiAgICAKICAgIHRyeSB7CiAgICAgICRzeERvYyA9IG5ldyBTaW1wbGVYTUxFbGVtZW50KCR4bWwpOwoKICAgICAgLyokaW1nX3RodW1icyA9IGFycmF5KCk7CiAgICAgICRpbWdfdGl0bGVzID0gYXJyYXkoKTsKICAgICAgJGFsYnVtX2xpbmtzID0gYXJyYXkoKTsqLwogICAgICAkYWxidW1zPWFycmF5KCk7CiAgICAgIGZvcmVhY2ggKCRzeERvYy0+eHBhdGgoJy8vZW50cnknKSBhcyAkaXRlbSkgewogICAgICAgICRhcnJheSA9ICRpdGVtLT54cGF0aCgnLi8vZ3Bob3RvOm5hbWUnKTsKICAgICAgICAkZ25hbWUgPSAkYXJyYXlbMF07CiAgICAgICAgaWYgKCFlbXB0eSgkaW5jbHVkZSkgJiYgISR0aGlzLT5jb21wYXJlQXJyYXkoJGluY2x1ZGUsICRnbmFtZSkpIHsgLy9DaGVjayBJbmNsdWRlIG1hc2sKICAgICAgICAgIGlmICghZW1wdHkoJGV4Y2x1ZGUpICYmICR0aGlzLT5jb21wYXJlQXJyYXkoJGV4Y2x1ZGUsICRnbmFtZSkpIHsgLy9DaGVjayBFeGNsdWRlIG1hc2sKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIC8qIGFycmF5X3B1c2goJGltZ190aHVtYnMsIGh0bWxlbnRpdGllcygkdGh1bWJVcmwpKTsKICAgICAgICAgICAgICBhcnJheV9wdXNoKCRpbWdfdGl0bGVzLCBodG1sZW50aXRpZXMoJG1lZGlhdGl0bGUpKTsgKi8KICAgICAgICAgICAgLyphcnJheV9wdXNoKCRpbWdfdGh1bWJzLCBodG1sc3BlY2lhbGNoYXJzKCR0aHVtYlVybCkpOwogICAgICAgICAgICBhcnJheV9wdXNoKCRpbWdfdGl0bGVzLCBodG1sc3BlY2lhbGNoYXJzKCRtZWRpYXRpdGxlKSk7CiAgICAgICAgICAgIGFycmF5X3B1c2goJGFsYnVtX2xpbmtzLCAkYWxidW1JZCk7Ki8KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRhbGJ1bSA9IG5ldyBzdGRDbGFzcygpOwogICAgICAgICRhcnJheSA9ICRpdGVtLT54cGF0aCgnLi8vbWVkaWE6Z3JvdXAvbWVkaWE6dGl0bGUnKTsKICAgICAgICAvLyRtZWRpYXRpdGxlID0gJGFycmF5WzBdOwogICAgICAgICRhbGJ1bS0+dGl0bGU9JGFycmF5WzBdOwoKICAgICAgICAkYXJyYXkgPSAkaXRlbS0+eHBhdGgoJy4vL21lZGlhOmdyb3VwL21lZGlhOnRodW1ibmFpbCcpOwogICAgICAgIC8vJHRodW1iVXJsID0gJGFycmF5WzBdWyd1cmwnXTsKICAgICAgICAkYWxidW0tPnRodW1idXJsPSRhcnJheVswXVsndXJsJ107CiAgICAgICAKICAgICAgICAkYXJyYXkgPSAkaXRlbS0+eHBhdGgoJy4vL2dwaG90bzp0aW1lc3RhbXAnKTsKICAgICAgICAvLyRhbGJ1bVRpbWUgPSAkYXJyYXlbMF07CiAgICAgICAgJGFsYnVtLT50aW1lc3RhbXA9ICRhcnJheVswXTsKICAgICAgICAvL2VjaG8gJGFsYnVtLT50aW1lc3RhbXA7CiAgICAgICAgJGFsYnVtLT55ZWFyID0gZGF0ZSgiWSIsICRhbGJ1bS0+dGltZXN0YW1wLzEwMDApOwogICAgICAgIC8vZWNobyBkYXRlKCJZIiwgJGFsYnVtLT50aW1lc3RhbXAvMTAwMCk7CiAgICAgICAgICAgICAgCiAgICAgICAgLy9DcmVhdGUgTGluayB0byBhbGJ1bSBwYWdlCiAgICAgICAgJGFycmF5ID0gJGl0ZW0tPnhwYXRoKCcuLy9ncGhvdG86aWQnKTsKICAgICAgICAvLyRhbGJ1bUlkID0gJGFycmF5WzBdOwogICAgICAgICRhbGJ1bWlkPSAkYXJyYXlbMF07CiAgICAgICAgJHBhcmFtZXRlcnMgPSBBcnJheSgndXNlcicgPT4gJHVzZXIsICdhbGJ1bWlkJyA9PiAkYWxidW1pZCwgJ2ltYWdldGh1bWJzaXplJyA9PiAkcGFyYW1zWydpbWFnZXRodW1ic2l6ZSddLCAnYWxidW10aHVtYnNpemUnID0+ICRwYXJhbXNbJ2FsYnVtdGh1bWJzaXplJ10sICdpbWFnZXNpemUnID0+ICRwYXJhbXNbJ2ltYWdlc2l6ZSddLCAnaW5jbHVkZScgPT4gJHBhcmFtc1snaW5jbHVkZSddLCAnZXhjbHVkZScgPT4gJHBhcmFtc1snZXhjbHVkZSddKTsKICAgICAgICAvLyRhbGJ1bUlkID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJycsICRwYXJhbWV0ZXJzLCAnJywgdHJ1ZSk7CiAgICAgICAgJGFsYnVtLT5saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJycsICRwYXJhbWV0ZXJzLCAnJywgdHJ1ZSk7CgoKICAgICAgICBhcnJheV9wdXNoKCRhbGJ1bXMsICRhbGJ1bSk7CiAgICAgICAgCiAgICAgIH0KCiAgICAgIC8qJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsaW5rcycsICRhbGJ1bV9saW5rcyk7CiAgICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGh1bWJuYWlscycsICRpbWdfdGh1bWJzKTsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZXMnLCAkaW1nX3RpdGxlcyk7Ki8KICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignYWxidW1zJywgJGFsYnVtcyk7CgoKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVwYXRoJywgJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSk7CgogICAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUgICAgICAKICAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCJhbGJ1bXMiKTsKICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZXgpIHsKICAgICAgZWNobyAiZXJyb3IiOwogICAgfQogIH0KCiAgZnVuY3Rpb24gR2V0SGVhZGVyUGFydCgkdGVtcGxhdGUpIHsKICAgICRwb3M9IHN0cmlwb3MoJHRlbXBsYXRlLCAkdGhpcy0+aGVhZGJvZHlzZXBhcmF0b3IpOwogICAgaWYgKCRwb3M9PT1mYWxzZSkgcmV0dXJuICR0ZW1wbGF0ZTsKICAgIHJldHVybiBzdWJzdHIoJHRlbXBsYXRlLDAsJHBvcyk7CiAgfQoKICBmdW5jdGlvbiBHZXRCb2R5UGFydCgkdGVtcGxhdGUpIHsKICAgIC8vZWNobyAkdGVtcGxhdGU7CiAgICAkcG9zID0gc3RyaXBvcygkdGVtcGxhdGUsICR0aGlzLT5oZWFkYm9keXNlcGFyYXRvcik7CiAgICAvL2VjaG8gJHBvczsgZWNobyAkdGhpcy0+aGVhZGJvZHlzZXBhcmF0b3I7IGRpZSgpOwogICAgaWYgKCRwb3M9PT1mYWxzZSkgcmV0dXJuICR0ZW1wbGF0ZTsKICAgIAogICAgcmV0dXJuIHN1YnN0cigkdGVtcGxhdGUsJHBvcytzdHJsZW4oJHRoaXMtPmhlYWRib2R5c2VwYXJhdG9yKSk7CiAgfQoKICBmdW5jdGlvbiBjb21wYXJlQXJyYXkoJGFycmF5LCAkc3RyaW5nKSB7CiAgICBmb3JlYWNoICgkYXJyYXkgYXMgJGNvbXBhcmUpIHsKICAgICAgLy9lY2hvICRjb21wYXJlIC4gIjoiIC4gJHN0cmluZzsKICAgICAgaWYgKHN0cmlzdHIoJHN0cmluZywgJGNvbXBhcmUpKSB7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGdldEFsYnVtQ29udGVudCgkdXNlcklkLCAkYWxidW1OYW1lLCAkYWxidW1JZCwgJGltYWdlU2l6ZSwgJGltYWdlVGh1bWJTaXplKSB7CiAgICBpZiAoaXNzZXQoJGFsYnVtTmFtZSkpCiAgICAgICR1cmwgPSAnaHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZmVlZC9hcGkvdXNlci8nIC4gdXJsZW5jb2RlKCR1c2VySWQpIC4gJy9hbGJ1bS8nIC4gdXJsZW5jb2RlKCRhbGJ1bU5hbWUpIC4gJz9raW5kPXBob3RvJmltZ21heD0nIC4gJGltYWdlU2l6ZSAuICcmdGh1bWJzaXplPScgLiAkaW1hZ2VUaHVtYlNpemU7CgogICAgaWYgKGlzc2V0KCRhbGJ1bUlkKSkKICAgICAgJHVybCA9ICdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9mZWVkL2FwaS91c2VyLycgLiB1cmxlbmNvZGUoJHVzZXJJZCkgLiAnL2FsYnVtaWQvJyAuIHVybGVuY29kZSgkYWxidW1JZCkgLiAnP2tpbmQ9cGhvdG8maW1nbWF4PScgLiAkaW1hZ2VTaXplIC4gJyZ0aHVtYnNpemU9JyAuICRpbWFnZVRodW1iU2l6ZTsKCiAgICAkeG1sID0gJHRoaXMtPmdldFJlbW90ZUZpbGUoJHVybCk7CgogICAgJHhtbCA9IHN0cl9yZXBsYWNlKCJ4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwNS9BdG9tJyIsICcnLCAkeG1sKTsKCiAgICByZXR1cm4gJHhtbDsKICB9CgogIGZ1bmN0aW9uIGdldEFsYnVtcygkdXNlcklkLCAkYWxidW1UaHVtYnNpemUpIHsKICAgIGlmIChlbXB0eSgkYWxidW1UaHVtYnNpemUpKQogICAgICAkYWxidW1UaHVtYnNpemUgPSAxNjA7CgogICAgJHVybCA9ICdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9mZWVkL2FwaS91c2VyLycgLiB1cmxlbmNvZGUoJHVzZXJJZCkgLiAnP2tpbmQ9YWxidW0mdGh1bWJzaXplPScgLiAkYWxidW1UaHVtYnNpemU7CiAgICAkeG1sID0gJHRoaXMtPmdldFJlbW90ZUZpbGUoJHVybCk7CgogICAgJHhtbCA9IHN0cl9yZXBsYWNlKCJ4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwNS9BdG9tJyIsICcnLCAkeG1sKTsKCiAgICByZXR1cm4gJHhtbDsKICB9CgogIC8qCiAgICBUaGlzIGZ1bmN0aW9uIHJldHJlaXZlcyBhIHJlbW90ZSBkb2N1bWVudCBhdHRlbXB0aW5nIHR3byBkaWZmZXJlbnQgd2F5czoKICAgIGNVUkwgLSBUaGlzIGlzIGZpcnN0IGJlY2F1c2UgaXQgYWxsb3dzIGNvbXByZXNzaW9uIGFuZCBpcyBtdWNoIGZhc3RlciBvbiBzaXRlcyBsaWtlIGdvb2dsZS4KICAgIGZpbGVfZ2V0X2NvbnRlbnRzIC0gY2FuIG9ubHkgYmUgdXNlZCBpZiAnYWxsb3dfdXJsX29wZW4nIG9wdGlvbiBpcyBzZXQgb24gaW4gdGhlIFBIUC5pbmkuCgogICAgSWYgbmVpdGhlciBmdW5jdGlvbiB3b3JrcywgYW4gZXJyb3IgaXMgcmV0dXJuZWQgdG8gdGhlIGRlc2t0b3AgdG8gYWxlcnQgdGhlIHVzZXIKICAgKi8KCiAgZnVuY3Rpb24gZ2V0UmVtb3RlRmlsZSgkdXJsKSB7CiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2luaXQnKSkgewogICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CgogICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsgICAvL3JldHVybiBkb2MgYXMgc3RyaW5nCiAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsgICAgICAgICAgLy9kb250IHJldHVybiBoZWFkZXIKCiAgICAgICRyZXR1cm4gPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgY3VybF9jbG9zZSgkY2gpOwogICAgfSBlbHNlaWYgKGluaV9nZXQoJ2FsbG93X3VybF9mb3BlbicpKSB7CiAgICAgICRyZXR1cm4gPSBmaWxlX2dldF9jb250ZW50cygkdXJsKTsKICAgIH0gZWxzZSB7CiAgICAgIGVjaG8gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsX2ZvcGVuX29mZicpOwogICAgfQoKICAgIHJldHVybiAkcmV0dXJuOwogIH0KCiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkbWVzc2FnZSkKICAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCgogICAgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgc2ltcGxlIG1ldGhvZCB0byBkaXNwbGF5CiAgICBlcnJvciBpbmZvcm1hdGlvbiBvbiB0aGUgYWRtaW4gc2lkZS4KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKICBmdW5jdGlvbiBEaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2U9JycpIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGVfZXJyb3InLCAkdGhpcy0+TGFuZygnZXJyb3InKSk7CiAgICBpZiAoJG1lc3NhZ2UgIT0gJycpIHsKICAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbWVzc2FnZScsICRtZXNzYWdlKTsKICAgIH0KCiAgICAvLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgfQoKICBmdW5jdGlvbiBPdXRwdXRJbWFnZXNIZWFkZXIoKSB7CiAgICAgJHRlbXBsYXRlPSR0aGlzLT5HZXRUZW1wbGF0ZSgnaW1hZ2VzJyk7CiAgICAgJHRlbXBsYXRlPSR0aGlzLT5HZXRIZWFkZXJQYXJ0KCR0ZW1wbGF0ZSk7CiAgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVwYXRoJywgJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKSk7CiAgICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsKICB9CgogIAp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/changelog.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+VmVyc2lvbiAyLjAgMjAxMCAtIEZpeGVkIGZvcmVpZ24gY2hhcnMgaW4gYWxidW1uYW1lcywgZXh0ZXJuYWxpemVkIGNoYW5nZWxvZywgaW1wcm92ZWQganVzdCBhYm91dCBhbnl0aGluZywgYnV0IHNob3VsZCBiZSByZWFzb25hYmx5IGJhY2t3YXJkcyBjb21wYXRpYmxlLiBCdXQgY2hlY2sgb3V0IHRoZSBoZWFkZXItcGFyYW1ldGVyIGZvciBpbmNsdWRpbmcgc3R1ZmYgaW4gdGhlIDxoZWFkPi1wYXJ0LjwvbGk+CjxsaT5WZXJzaW9uIDEuMCA3IEF1Z3VzdCAyMDA3LiBBZGRlZCBleGNsdWRlIGFuZCBpbmNsdWRlIHBhcmFtZXRlcnMuIEFsc28gYWRkZWQgYWRtaW4gcGFuZWwgZm9yIGVkaXRpbmcgdGVtcGxhdGVzIGZyb20gdGhlIGFkbWluIHBhbmVsLjwvbGk+CjxsaT5WZXJzaW9uIDAuMSAyIEF1Z3VzdCAyMDA3LiBJbml0aWFsIFJlbGVhc2UuPC9saT4KCjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/templates/editdefaulttemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgk8aDQ+eyRkZWZhdWx0dGVtcGxhdGVmb3JtX3RpdGxlfTwvaDQ+CiAgICAgICAgPGVtPnskaW5mb190aXRsZX08L2VtPjxici8+CQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90ZW1wbGF0ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRyZXNldH17JHN5c3RlbXRlbXBsYXRlfTwvcD4KCTwvZGl2Pgp7JGVuZGZvcm19Cjxici8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancybox-x.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABICAYAAAA3Qp8tAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG1JREFUeNq0jzEOgDAMA90WChMDUsXKp3kcTwFRQp0hUR9AhpPtJo0CEQG2UkIEIMRAqAUR+0xVNpt7eLNPjES171U9ptzexGXZa5nbYM2KpA/QE1pNtAutLtI67Y5/0G87UsNOrMRMgKifAAMA8xojdBZ1K0cAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancybox-y.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNpMjF0OgCAMg4eAegLC/U9HOIEJutnGPtjkS/fTLUWEUb21BMuAvtmnojqLQ875qR2putsBH97AwQKPWD+YuZRx9a471jHmZG+vAAMAMUgY/0A1OZkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancybox.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEYAAAHgCAYAAAAYHBvDAAA7fklEQVR42u2dCXhcZfX/p0napk330kKBtkDZQVlkUaGKK7uIylZksy6AICJYdmRTQEFAFgWUXZRdEEEUUZAlmWnSJumaPU3TJV3ovrDU3/nc/3nn/+b2zsy9k5nmzvTO87xPkpuZSe53znve5XzOeWOx7o/dpU2R9pS0t6S9uYXaW/o3p+j/4PfRR1oJ7Ygjjij71Kc+1Xefffbpt+uuu/b/1a9+VXHvvfcO4mcav+M55vn6Wl+Pb0h7V1qztHpptVu41evfflf/l0yClErrK618jz32GHzuueeOvuOOO3a6+eabd73wwgsn/PrXvz7o/vvvP/Tggw8ee84554y97rrrdpSvo+QxiNfoa0szCXSGtA5pM6UlpE3tpZbQ/4H/5dtpROGT789NfvWrXx1911137fvGG28cs2TJkls/+OCD9/7nenz44YfTli9f/sC//vWv47/xjW+M33HHHUeoQP31vTzF2cf6xHpTFFsc/pfp0vZ2/a8leiMDdtppp2EnnXTSuD/84Q+Hr169+jm3GIsWLfq4ra3tY/f1lStX/lksbOcDDjhg++HDhw/lvfQ9S9zCXCGtKSSi2OLwP13uYSkD+cS//e1v7/riiy9+7eOPP27jhsVSNknX+UAsaJ08Z7XdpDutvf322z9Yv379Jn3udLGe08TvjBs6dOhw3tPLcp6XVhciUUzjf3rGJcqAIUOGjDjyyCN3ffrpp0+Ue9zIjb722msfjR8/fo1bEHfbc889106dOvUjYz3yutPl2k4qzgC3OG9qV+rpjcSlVeVYmNf1fyxVfzD0k5/85M6//OUvj/roo4/aubmHH374g9LS0tWZRDGN5/785z/faMT57W9/e+L2228/lvfWv5F0yG/lQJjE2LFja8U0Z/bp0ydXwtTq/9ZHR5BB22yzzfbnn3/+4eJIXzaWEkQUu913330f8B7in95VX7Ydf0P/Vkm2FpOwfBJf49K/F7W0tKwTpzYjR/6qVv83/slyutDnPve5vR555JFzuKG1a9d+LL6mW/c58MAD1x522GGb+ZjRo0evmTx58oaBAwcmr/Xr1291Z2fnh7zXm2+++TN5r93k+ggdykuDCpPo379/jcwJ5kvr6Nu3r9OFBgwYUPP8888vlT+04dhjj51rhJGbqZG+X1tRUVHTQ2Eq5Ka2l1Ho8NbW1ke5mbvvvvsD++b33XfftaZ7XH/99RvN9V122WWt/F+O08U526/5/ve/v4HrS5cu/bf8/ElpY9RqyoIKEx8zZsx0REgkEivFCSJC5aBBg2rkk1xcV1e35stf/vIcnldSUlK988471+699971I0aMmNYDYfj0xD8O3eWYY445at26ddO5mU9/+tPdLAPnK7/7ny3ObrvtlhSFh8yGN9qvGTly5BrxVc7vhg0b9jm5trO0YdL6+RXG7jpVZ599drOY3/sPPPDAIrGWajHLaoSpra1dbYSRCdQ08fj1Mt+o5fc9EIZPb+S222677wknnDCJm1i1atXHXn5DrHWdLY48LymKfJgfevkj+Z8dR3zZZZddOHjw4D3l2jbanTILI92nWiZDNTrqJKSLTJN1yKK33nprxamnnsp8o+qZZ55xutLRRx89VxxwQtYrdTKRqpdPOmktcr1aul91QGH6ikWOlvXOwd/97nd/xE00NDR8lMqpIs6GDRu6TepSiUJ76aWXNurodKt0+f3k2rY6dGcW5sc//nGbCLEA/6E3VimOcPbbb7+94rnnnlsqJlkjincglHSdGfgWupAMg8n3xc/gb8S867GyIMKIfxkjPuSzstaZwk3MnDnzo3RzFfEZm2xhbrjhho2pnv/CCy84wsj93Sk/Hyhte3yaH2ESF198cZsIsOTxxx9ffM0113R84hOfqGdYvvTSS9tuvfXWTrGmaThgblw+man4FHF6tXJDNWVlZdXSDaaJ9dTJzdXvtdde9T6dcVIY/lkZWT47ceLEC7mJZcuWfZRKFFkKJEUx/sPtkO1WVVW1nt//9Kc/vVHu4RC5toNfYfi0q4866qg5v/jFL+aLOF1PPvnkkkmTJjXRxbh5nbskdJI3VcSYikBYzu677+4IIv90ncx1pvP8oF0JYcRSDxVnPlmm813ciHuoli67xhaF7nP88cd38zkXXHDBBvdkT9ZOzpAtE8fz5G8EEsY4Xseh4lN+//vfL8KKLEE8X4flYCE4YESy3i+oMGPknz5Y/MxZzc3Nb3EjF110UbebZJTy8im2Q5ZlxIf2a1hX6YKTRetp0j7ltyslbAswP8unVetnCOY1dBt7VEJMn7NjW5jRIsz+Yn2nyD7L7/VmPrQnbGZeglW4HS2LSLqS28rEJzpzn7/KQ/eAfDnfBHMWGQlafvjDH7Z+5zvfaRHn1yxT8tYvfOELs/k9o0+mG5T5wbQJEybUic9xGqMVDtiHsN2Ga2l7Sdc9Rm5uiox+07zmJUGaTDnW65JggQwel8m1o/gbfobrOPMQ+YQWyM5Ypyy85t90003zZVNoAaMUztZPt9hhhx2myzJhpjjsGdKPncaaCn8TZILH5Essd6IIOlk+rPtNt+EGg4rCskE2rz7W0egFuXaOtIm+J3gMzdKvZxx66KEz5WZmyFpkJo5UfM10vxM13oOZsTjHGkYvLIWG4w6yJNDp+v7STU6UUe5yWQQmN6euvfZa35ZzxhlnrJd5jiPKO++8E9d95hN476BLgoQ14sRxol/84hfn7LfffjMy+QoEYVSSoXaal+PN8Ppui0hd4O0q7XMizlki8k2yXnrRiDNnzpwNp5xyynq337Ed7XvvvZd00CIKFn+jtDN5T33vwIvIBJMy8fyz8DnSrTrEhJtcS4XNuqJM8KbLzvzsww8/fBajE/4mi1Epue2gWwP7SjtSxPm+WOEtsgn+4vz58xvMDWMNTPNly3MDTdZ0G8yQrHOgzttuu41F4y3Svs976XsG33ZgFnvmmWc2XX755W0/+clP2r7+9a83cNP4Dxyq27roNjLZc+YsOHC64Wc+85mZhxxyyEwmfj6XBUaYbhtV0thUOkDaMYgjf4NP/aE777zz7aampjn/S/Fob29vlk2tuPzth9VSEOUYfS/Pjaq0wjDksmiU4a4DcXCeDN/MaGVO08g11kN0FwRkaMYPfe1rX5vLsI5QDNkIgjCylJilc5pEAGGSW5vS2IYcpz7hSO0KU8Sib0Mg+V+e/9KXvvTfq666agZNVuTvyAf4Ir+Tdpv6lDP1tfvrewXf2sQPsARgbSQ7aMbpxqVbzfzBD37QwowYMbCIk08+uVGeMw0rkS2JOZ/97Gdn6boogcAi3nR2+nw4Xrcw3TbD9UbGahdgNPm6tO9I+4m0a+VDu1nar+T7X/G9bIFcq7/7jj53or52rL6X52Z4WmHYV3F9ugkZFaaffvrpjeLhm+hOXMOPYCWIggh0H8Rh3uIldhbCdAufqOnjFyboJ8/NHi3tm9ImaazsDP3+m/q7ifrcCfratOGTQFubfNpYCU4YKzLWYIQRoZzuw/Lh85///CycL1bUg/2YVFHI/jqMD9ebHK/h3X315g/Utr9e212fs52+psLtU3oiDHsxNbKAbJS4TpPOXpPCyEZSUhjjtGV/Zg5rpRwKY8TpY1lQX73JAdotKlxtoP6uvz63zIpfpwzRBrIYugE3as1cHWHEMmbJnmyDvQcjI0Y1XcunTwkiTDqxMjXfj55GCRyx8CVM9QNsK+RCmLzSDj0OuLFlidUYp5qj2FKmrpR32iEXAbd8NBNw6zXa4T8hFYZh/o3epB1eKICgfq/QDleFGAO5ojdph3300wkbOFSr/1uv0Q48zpI2L2So2RmWtWRNO4gfWZMt7eCGExuk1fSCKDX6t91wom/awUsUiad/fOONN262w+eHdrAfxFQukcau+bQtKMo0/ZuX6P/gHoky0g7uBhIiezCbdC9mk9dzMtEOXsK8uIWtpkb/ppcwvmgHtygyLG/S4XkTP3s9LxPtEPau5Jt2cItCN0rlY/zQDmHnfH3TDkFFyUQ7hJ3z9U07GJ/CQyIZ6/wM3+loh7Bzvr5pB7++xS/tEHbO1xft4B6i/YjTU9qhtzlfX7RDNuJkoh1ywvmyU0d8Og+cr2/aIZU4qeYx2dIOgThfAv7//ve/VxDrdv0ukaX/6jHtYMSB8c0l7ZCK860GC5FdsjaCbojCNRnuFko8eAVRARWiCmZPIJ5lslE+Owtxwks7ePkRQiEyHV8Ak6c3XEVQDRbv5ZdfXiYjxyzgRZlJVvOzfCIfyifWYjC0bAHoMNIOm3Ud2R5sfOKJJxbL4mx+eXm5g3oYYQj8y3Pew6o6OjrWP/vss0vxPz2wmPDSDnQVjTfHTWwJZF4gxS5F5KuwIroScWvxA3WgrfLPrtPfx02YRbtfcdAOZ511VrMIMQ//ofkDlcBECHPPPfcsBI4+77zzWh577LEurONnP/tZh/Thj4RAWKA4mpNvQNxasLPagJxvOGkHI8xvfvObhaJ0J10EGIhhWZxg85QpU9rBPrAqYtoIwXNef/319yEjEAXOFw4PdA3e12fsKdy0g4ko4lQFeG5HHNpxxx03FzGwBAtrTejzaxQnc/APoCHEBACwnl/YtIM9V+Fm8RkQVRCcGTjfuIxMNVgJxDh+KeDkL/S0Q8LN+UJT0X0y3RyO1ovzLXTaIcGcRbYTGyGnZIhu+OY3v9lw2mmnNUFG6U1mHILJVJHgGLg8IEAt1iOLwTrl8QqSdojjMGVnq12W5O0/+tGP2mhXXHHFPPAyQ0plEgaHDA5Cl+Ir/oY1lc5tCpN2kC7gUAyMLtwUcxR+NlyMny5BN5IdOGcehJXA6/HVR3JX6GkHeyHocL7MbknS8tGNnFHJIqqy4Xx7jXbwzfmSIfutb32rQbpUqyCtjZk4X3Az/BGvo1v6pDX9ON8tQjtktBicJRgZEzqZ7DVBhkNg0hRZ3YwIh6xiHsNz6IaII12yHgecBefbK7RDRpz1xBNPbJDZbAvwIRM1w/nKrHIugiEEfgerwHfwleUDjhdhmfAhiGD29VBXVu5SVhO8LUU7ZBQGf8INkSRhugm5BDB3zIixAH6Wf2oOzyEJA+53//33n6H8XcKkBDIa+cyq9VwShKa2g8fs1pnfMANmWaAJFAlEwErwK4jAsAzJ6UVsZrEk6BXaIdDWJkM4N4wTxooQBUgaH0KCFz7FpP3heGUVPquHCemBaQe2NDMF23Jd24G8AMe34G9YCxlhIMHFKSf9Cs9nzkPugJeDzkdtB9OgGzJFInNd28HpBtttt12tNXN1/Ic4uJkg8iqM81yGeCyoh5xvYNrBb5g2l7UdPP0D11gDMTPOA+fba7RDLjjfboxvjjnfQLRDUHHS0Q5h53wD1Xawm0xM12aKSKajHcLO+Qaq7eBuUA/Wvu+mILRD2Dlf37RDJl4GCwpCO4Sd8w1EOwSBiDLRDmHnfAPTDn7Jqky0Q9g538C0g995TCbaoSDgxCC0wyWXXLJB7vXDdKL4oR3Czvn2Gu0Qds6312iHgkDme4N2CDvn22u0QyHU8+0V2qEQ6vn2Cu1QCPV8Q0s7+P2U47Hcc769RjvkhPNlU9wARVsgvTh0tR1ShnApuENlRa3+kUiV1V+stR0SxIRkktRMiRSb84W7+9Of/tQFm2c4XyKW8L/WtaKt7eBQVYgApXnQQQfB2FUhDKjIgw8+uIhoAddkdKimwqIs5FbD2ORZGNuCSi0rMtZR6sdCsgrq25wv0QA4POrhEWfCcowwWhq7kjIq4K0ydV+osaagDjoIBlKm65ty7TpDdM0zTL+v0N/1c3WjngmjjEuS8yW2JKhFK8UDJfpIYeMEVVvBW/ExhFf+/Oc/d0FuypxijulaxLw1zJvIgY8x1tFPfchQKaO7x4oVKy7fuHHjX2SRWE/je67xOx2FBuprSjMJlDFESxUzEFViR+pXqoCJqKhItyJID4ImodNO4tZY0uzZs9deeeWV81SESixJZp5dEtwyiRjxWPYYSIl2kwFqEaMlrPLH/2V48Byeq68ZYE3/sxuVoB1kFjmP7oIApm4vxbpAQxAG5IPiXlzHMUvEsAvqgaAbAskCbpWsadZTV1y7WzbC2KLwyY+QHb1jxSocJmbTpk3/k2XB6qeeemqBRCPbaXzPNX7Hg+fyGl0wDkwnTkZhYHPF0c6i7BvFjQV6biNOnYrz5Ro5BlQ+k12ylQsWLNhQX1+/GlIcRqYHnK8RBZ8xUt73u8Ya3n///Y1Sb7hdrs/1avyO55jn81rdAKtIJY5v54t/gGgAUoTizHCDVbIN0CQh1XWk5kBG4GN64HxtUbaRBI7vmZuUFfRyKS3XkEoU03gOzzWv4z10x67Cq3RBYM4XP6LOOG10EieN1Uice5px3AAAWViMvYgcIZTDoQIMreTm/vnPf3ZlEsTdeA2v5T14L+1WvvkYx0Jkg2c2nzZQEKX14WKAhGL+qjknDBJCtTOoB8P6+qCqbGFKrG2HHYV0+Ds3Nnfu3FVBRTGN1yo18Xfe09p2KMkoDJXLcK6SiMVMt5m5iRACzTJKzTWkVKZPHpCIxAqKG0Nm8RWoiMSLAHxMmZr76FdfffUI/bQ3SfHl5myF4bW8B+/Fe+poVWFbTdp6vny63BjzE9BUftazBnzNZHkPsHkshNeZFoDz7aPzDj7R8RIhuIWbkelA1tZiGu/Be/GeusAcqn/LF1HVjfPlJpnDgJBl8hUGSrSIqkTMf+1wd4bbKGl7yDbl69wMw3BPheE9NODP9sYe+jfKgxBVTpIo2wr4GroU/kZzCdJWmccfgbOOGzeuTs8jCMr5lqqJEyHcT+Yh8zXW3NpTYXgPndvM12CbiUL6IqoSOE7mLTJEO/gqZLgpce2VE4AAkFWIySkXdEOgInwMz/eZ/mfzMUN0C/IQ8QvOTr+UqmzsqTC8h/orIKRD9G8M8UVUMUzD1pGBgjj4GYZcbo4ipFyjy+A38D/GLzFM43iV860mlYdECxIsAp5kUaaLwV2kHZZHYQ7TvzHMlzBaW9P5xK0cpTgOmVU2BdYRyeCrPAdLYtrPNaXAk5wvK22d6AU5l2C4bkdOlPDIglx3Jd5Ttz0n6N/q65fz3Wx+A41pStJSUhIRwFdJHEUE1knszdhFSbPkfLsJIyDhe7l2vrxnYGG8hl/4XiZ+WJGZzSIMO3UmZYfUGz2HoN5PNpzfrjRjxoyHcz1c856Bu5JHFkqNFDCejbWYbBIshENfLGGSXRCrscrvZytM0vlKNu95ZoIn56+0ZCsKrzUTPN4zsPP1csasleyqzlyjrjg+xqbAGZX4mcmcrrWyxVmTw7W042RlXJWrJQHvxXtmM1z74nwZ0pnnZAk7+57gSfuCVB75iezOrVNsPvAiktdoHtM63ov3zHaCl9GKLM4318J0WxJIO1jaiZJW87DZnJK95WXiyzJuO/Acnms2rXgP3kvfc7MlQdg5X3sRCQYGpMyi74x58+bFs92o4rUaqTxC33Nb9yIy7Jyve9thrEYXQcMmy6b7w11dXZ3GehobG1f98Y9/TG5t8j3XjJXwXF7Da/U99nfRDslth0Ko52tvVI1UJOwgxTi4watkH7c+02Y4z1F8d7K+9iB9r5FeG1WFUM/XvbU5Succn1KcA8hIRuCL7xQf8qZ0k9bl+uB7rvE7nqPPPVJfu4u+l+fWZiHU87WD+f2UfOKGdtJh9vOKdwAZXqQf9s+1XaXXztHnfF5fs5O+xyArzrRZpCDMnG8shTgV2gV2VOd5kDpS5iQnWRjISXrtCH3OnvoaEyHolyn/OqxwYqaA21Ddlhync5H9dBZ7uLZD9Noe+pzRFhfT12+4Noycr5+Y9UC92W109jpeF4QT9Pvt9Xd2iNZ3DDusnG+vBfULrSttMQwk7Jxvt4dMR/LSvB6h53y3HTUqm9bH+kor4ecgwoSe8w0ggv1ziSVKUhy/ohQE5+tTlBLrq7lWqi0pkl9RCoLzTSGGu6v0URFscUq0GYFK/QiSU86XHT3JWazNB+frw2JKXM0Wip/7SuvH13xRm5sd+WzCtwTJARbZ543ltp5vKkuxW6mH5RgxyvR75+d8CeNwvlLwooGiFxpRdK4BK8LkKSLidCsilhQrJVLQE5w1haXY3SVmWUtfFaaffl9ufR2YN2EIhVB96Oqrr24XyLDOcL7gIlRUZFOca1Qy4yhoyU1cyvGJeRDGtDLXkNzPspAB0vrr1wrE8etfsuJ8iQbA4VEPD86XuJIRhvgSlCakpwS0uqA6rfJwWXG+Hk62xOVDjIMtUyFMNxqgljJIhRnsd0QKwvkaUMiJLUE8UJkVaJFr4K50JfAQCa/UyvcLhNxcrIWPnSOh2TQnUhmU8/WYq9gjUJnVffqrIOUqxAAVZSiiSBsSZB6TURggZo5YpZtofMiJXVNVkaPkCbyBoyEU1gF99fe//3251PhtVVEqiVrCAct+6xKoqiA4q4dviVkO1nSffla3GahtsLYR2rYJMvPNKIywMLM5kJeRBwYPcgGBxHfMpYCXcr5OcI3rdCNEgHqA80UgqTG+FIT+lVdeWaah3aDCuOcm7hGo3BJkkAqCpQyXNlrbtkHWS75KY4NvgLDC4yEQ4Viu09ycr7lOQS/xM0sqKytXigUtkzRgfFBdUGrTNbst0e5TZoliHK3ddWjbIIa07bRtH2Qx6dv5MiJBNNBVvvKVr8zOEHatYkiXswrelxp0nThsk1PQQx/Tx3K0ZZbDtUXBSkYaMaSNlTaOllNhEMAWgS7jh/MFGIKiUscd5xqjmFpMNl3J7k5llqWUW/5kqIoyStoYFWa8tF2kTQiyBZESZ8VC+KQ5nplDvWlwMeo8/XC+cagI8gokwWKx5EEv5uszzzyzFD+U4fVezte2lL76tdzlU7ZRf4IgO0jbSUWh7ZETYeDl8Cs02Du6Bs4W9Exx1IzCyESwQyp3bBQGZY1pixcv3oi/yWA1jjD8ox5dqcQahfpbI9AwtRYsZUftPgiym7Tdpe0ZZOMqZVdiyo84jC5gqZDd/OyzVqbTyF2ibh4WwlKCwx74XmvjJQIIY6+JjOUMsEahISrKaPUtO6q1TFBh9qHlRBivbQWGX/wGQmV6DRNBoCGLIu/W/HC+LmFi1mhk5i4DVZQRKsy22oXGqyh7SttbhTkg18IkQMzYVsDPMJeByszgZxzOlzkLPonS+1ojLxDnawlT4uFjytVqButINMLVjSaYLqTCfDKnwsDsMm+B0sS/UH4Wxo6Skoqsbsb56rkEzqRPEFjnsAbAInIIfNJVtjAlruVAX8u/VGhXGqbijLK6Ev5lV8tqcicM5o4o4ifm8JUuZIZvIEUsh2EZv8OMGFRV/Md0JnemzC1dCnERBgsKwvmqMPYEr8z6Wm7NXwZb3WmMdqexKo6xmr1yKgwOFDzVmrskcMh0K27UdDNARC2aXmMKr5tkCoSkFD8+R89PyaYr2UsDM7EzC8YK9TXDrRmvPYfJ3aiUKhmCGyTn2i5+jHAsG5j7IIKpvYmoPeF8PUYle5O7n0ucIZavGe2a9e6MQPkYlZJOmKQJqfA8i65hbhQ/AterBzFw1BB5Ss55BEGGdx8WU+qay5Tr10GWOMPU14xyLQt2ypcwTila0oxZM2nXcjhfc36BfUIFJCfbmj0pdOyymBJXVypz7cGYnbphajWjrHnNGD+LyKyFwTrkRqdb9cMd/8H+DD7Gvs6ohFB8zZbzdTnfmCsc0tfliPtb/maoNRM22w5j8iqM1zVmxOze5ZrzdS0JSlKsm+xNqgH2VqZlPTjkEXkTJt3qG4Fs5jcPwnhFCcqsbU33BvgAa7mAQMOCCBNqztdDGHdM2h06Mf7G7OhV2N0riDCh53w9qIUSj2t9rK2IUmt2XG5PBINsO4Se801BMaSa25RaDtoOujniBBEm9JyvR4i2xCM0G3PFm+wQbTKKEGRrM/Scr0/0o8RlOW7f44xgQcmqUHO+GTAQt8+xu5N9zZOP8RN4Cy2cGICi6mP5Fy8n3SeoKKHmfLPg7tzDenJimI0ooeV8s4QTPec/QQUpaM43F+hqwXO+W/IRas7XtXBM53wztqCPUHO+HivrElfwLW/ChJrz9ZjIlXoI5cuagj5Czfm6kI/SNGKU5NpicsL5gpARNsk152stBEtcC0WvGW5JLoXJST1fTjaWsiNt7PN6cL5Zb1RZG1B9rV27vq7ZbYnLovp4ccH5FIYogVNoh4I6pjYesSNgxcsvv7ydqIDpVtSQEf63jf3gbHFWi3/pZ62YS12Bt9IU66Y+W8piCIvUACrC5ElMmtfFEUaOR2yU4qOtGlKpIjpJVWg57XMRlYl6IEyFtZ/S34oK9LVWze68Aa98g7wJk+weRAPg8MA6CMnC+SKMHO3TSuANYSjuJbU1O8FcTawpYNcywpjwa4VuVQ6whLLFKUmxmZW/rsTNWwd/OxXOgIgAFYklcW3SpEl0pTYqDBFeEWBo3i233DJfupOZTcc1TFsTUJjhupk9yGpGpHJrI6rU2hx3J17kXhhGGQL3BPXpJobzJVSCMJSxpduAlPEzcSXK3ApWtkjEMiWx43Q7OGADSfuwHCPMNhanO0TjRYMsaGiA1b28HHH+fAx0N4gZN0y1IYNyCJ83m7p4CIOfobIZtfEApqW8bTv0A9aFY5aqPguAn6V8tlcl+nTCbKvNCGRbkKG/7S3MMpcoSavJuTDcNNYCCI04NAL4XPfifLlOI6hPDV85aXgJhdXxN5SL08KCfrvSDhpi3VajiaNUnGHqewZZ3aq/1a1K3Hsz+XC+zk3DtSAI/oVjm+1DM704X4b1Rx99dDFovR7oOzUo56sc3VgFgbZXgUZaXWuwZTV9ra9lefUxJmhv5iyIwChD90k3y+V3OGz8CXV9Lc63Ogjnq/jGeBVnrIpjSIYhVgLFACsaUGLNlpOjU66EceYsTNKgG/hqvucoeb35jPV88U9y1lonuQUySnXy/T333LOI4dwPtanAz65qOeOVdRmj3Wq4tgorJOueAJbkuis5eY7cAI2ZLo4XZ8soZSoiZhJG6v+2vPvuu+QSLDctHo+vlPLarT6F2VPFmaDNWM9odcjD1GoGunKV3PlMuetKcL6UgIS4hGaAo+PnTLi8DUBjdaTzQJQzWgE4IrR9/HMGYfZV4nJPFWYny9+MdvmaQdbywQ005nXmSxKXw9uBkGVYSSeY/EkC6QJmyOpT3gvK+coN7a/C7AXyrj5nnFqN7YiHuiZ97gVmfoSh60Bs4mfoUlbd8FStUtZTrXKe9IdSDmn9Aw88sJiRLItR6QAwVBVnN/U3Y10WM9Sa17hHpdK8TfDwNXz63BiIGXMaugicnRdGxtyG/RleRxKXpOaskHyCDXLo3GpyCLT2pt8JnrEW42t21q40Rn3MSO1KQyxh7PlMaV4meAzTMLuskBEH38A11k9M4LhG98LvMCPmOjNe/Iqur+LAjFJ6rUOOY14j9bQ2irizAgzXe2oX2l2x1HE66bO70SDLv/S3ZsB5Ga6T8xHEAE/V+YjjP9itY5XNGohuRulrhCI3Cc6XbFpITvUjVezjMGOW2W+b1un0azGm+5gRaUedCY9Si7HXTv09Vtx98raIdIGFCayDGTDWYkrSajV6B11lG4LsEizFGn2y3Xaw5zA7WNYyQofqIRYx1d+Vy1Sa17WSewsCK8EJI4aK55TDJt/RlLJFPBaLxh/1YGvTDM87qiijtAsN01bhshib5twiw3XSscLuMiqZPRosBGHY1tQzC5KJYGTz94TztQQZbfmVoVYXsid2Za6owhbb2pyqSeVO5omZhyAMcxutKz7NXpX7PJwhnTCG0R1pOdvB1l7MQGuNVLpF92NScb726hqrwK94cb5ZhlSMMKbrDFcrGeLaqCp3hVj6pNre3OIBNywmX5yv5UvMXGWga/+3zLVw7JMCKuqVgFveOF8rcaLCihi4S6DYvsWr4E5WXSnUnK9r87ufNSSXWd2nr0d0sqSnPibUnK9rs9u9DurrykiJucIoPRIm1JyvRXjbG95ei8SSdDGlbIQJNefr0VX6eEQASj18S4+FCTXn6zEEl3mI4YWB9LgrhRpOTJFg4ZVTUJJrcCjUnK8HUZWqnmbOUbNQc76urtQj5reoulJvPyLOt9A4394UJvT1fHvrEfp6vr31yCXnm8ixMK/3pjA54XyJMbHxnY96voVmMbZ1JAj2AyxqVCAR81f1LJuj48MpDFECKbAziyI7Nud7/PHHN1ChFWLKcHeEU8DMFBtJFLMwUFXVVCkTJq9RwycO50vNXqmo2KTgoVPk65xzzmm+/vrr58HUFLMwye5BlBFEHpTMnJ4O3oF1aLWzOPVlIMW5ZmJN2QTcQi0MnIzs/ifLMBEJEJBoDoUDTRVFKp1xSDg+htCKBPNbhBRv18LHSc43AFsTfmEIroGuUijdcL6ESsRqGuF/4fHoLkKHOyVsKVBKNWhq/BpR6GLf+973Wq688sp2VyJGYQrD8AvtIF1lNjgr9KWp28v31OLEnxDYxxrg8riGI4a+0uLrc6+55pp5VIVGMPVNhS0MAnBzcjPT4WOwBpAxRhyuI4gZnWIuzpfY9VVXXTXvrrvuQpD5+BtECcL5FoTzpcvgU6jWihVlmMw5DhhaE0DRHOirXExRCGNzvk7Xwo/QfTKdIoqThqMxR8bzWkYxiyQvSGEcC4Fx4dOGWqDxPTcbywwXOu+B4ya5gkZ+gWTBtYObWRWhC08YqAZT4Bj2jpGHGwID0VMsMgpzyimnNElyRRfZKOQT8FUKHS+hvHahCuOYPSMQnIvgYdPJQ+JnrbLqa6bMSKWl4GbicxAWoTkauphmvs7kjtktQmXifBm5ZN4yjwWmvj4w5xt6YYALsRx8Dt1Kk0JTjkhsarOeamhoWPv222+vkNOD5wMzFtOo5BBUHA3PjQEkslqmi7AHYxNUxlLESc8466yzmkgDZHb85JNPLqmqqlopB8QskxyCNmvtVNgTPETB8eIrQFEBhXC+WA1rIboXQpGuI9cTzHDlvPqPSSCl+0gCaS0ZtXKKxfLq6upVmkcZL3hhcLhAzQojOtfpVkDOzGR5DkO4SeljxOno6Fj/xhtvvM/r5FolQsqyYi6/83kwTPjXSi4nmTAHMWAtZrUsDnm6SSaF/X3ooYcWL1y4cKNsPcxz+ZXi2XZwWxArZSZ6pOvELJyVrqb+o5JEjOnTp6+pr69fM3HiRD+IfGELw+LQFDA2XQthGMLpSiqMc54SC0dyB2Sl3VL0wmhXmWbT3sZi6FrWKBXHotgLZvuh6DfDUzXjoF2wc5DVdPEJow66OoWzLtjwSag5394U5j+xkNfz7a1H6Ov59tYj9PV8e+sR+nq+vfkIdT3f3n5EcGKaRyjr+YZJmFDV8426UsT5RpxvxPnGIs434nwjzjcHwiTM2ZDFtO3QY86XjSmgIsqguMTZujhf0A6CZoak4hq1NmHw9PBd5zr1Y8DMfBzIW/icLzElQiPgqxpMc4SBYkAEwrIxDf5zSjFlJKk1E9saOF9q9sLiGTpcC5LOgtIkQskGOCgaYROu2SeSxoqM851qV/kgEkAsG3GUBJ9KDSu4X3wMwX4BhhqEDG+SWFM3zjcAWxP+EC3BNcAf+FzjV4gVUeiPwn8E3ugu/Ix14IipjIjfMaIQYwILoaS2KxGjsIWhq1A3E8QDLITrsDKUZMKasCKGbMMF44ixHq5TjvLcc89tBaGnrrgJ7cYKnXaA5cXRMhphDTQqDHHd4nyTfoiuB2hEdBILgQYXQdqMDwpySG9BOF8sg5sVpzsDK7IRV4/nO+X3L7nkkja6kCIiQRxw+IVxVxHCj3C4dywznlZN0UCGeNuaCp7zxalCQ0GDM0QzYYOB0SHZ17wHPwQZToKFZMC1MIQzt9GK0IXJ+QIAaYHjmcx0GXkOPPBAwMQ6v5wvSV+gZzfffHMHgKK0Dgqrs3woVGGcLgRXB3fHCMP3iOWnG9lWB8yIqMCNptnHP8eKhfOlKyFUJs6X7kdCF8Czvr7Sdr7FwvniSB3ODmRezz1JJ+J7Rx999Jx//OMfy8FZoTbJRYgVE+dL98EJw93hX8DKmMwxOpkipLH/DwnFEY+cSWbHUOG3335751NPPdXFATFnnnlmExVci2KChyhYCV3DZLeBlwEjGoQVVBW4mZuWTJN5TU1N6ySzltS/SuY+Z599dgtJFn/5y1+Wap5kYXO+plwk3cjN+WJBmlOQ4PgOwVc3sByQ7Nq5VJZ//PHHu5jHIA5dkbxKtiKCVIAOtcW4OV9yr5nbYC2yFnJW3o899tjiWbNmrWGVXV5eniCzrbKyciWlsd2z3WJbEiSFwsewJDB7Lwjz8MMPL54xY8YaPYihkr2av/3tb8s4h6DYE9KTezHGWkw9X74+8sgjjsWQsW+cMGe6kTsgezONRS+MHh41DSdr1jxYzLPPPrsUH2PlJjmFjsnm1xrhxbsZ7kZVre8TMgy3yLkmCzxO/dt6Od8chEoizjcWcb4R5xtxvrGI8404X/OION80jwhOTPOION8MwkScb9SV0j8izjfFcB1xvh6PiPNN8Yg43y2w7RBxvjGPUKwBimJbOedr7+Q51cvYCPcRky5ezpdoJIUvDI9H8A2sA2EsRCRB6RQwswDYSOFyvmx8m7JvWszCCDMDEQx4yPPYCJ80aZKhqYo7ShDTwzI585qoI6LgV4wwWsYtTtyJ+DWwtFZOLErOt1qrfBhczMFXgRQ1KjD1oIMOmgH3C0ODEMSXCMdauLxjWVZd4MLnfKkDTpxaus4041eIZyMM3YqbpbvwM4AzliSVWJsVJ3NARbodYgEqaiJG4ceuYe/oKtwwXIw5bxYxYOxAV7EiRDFcMI5Yq5xV0+1OPfXURmr8Ulfc+KZYMXC+WAs3zLAMl8eIYwRxWxjXeQ3djPAsYCJcDKQ4PqjoOF/8DCC0KRJonyzq9XyG9cmTJzfByZgDfWPFxPnaFYVMooQfJ4rVELfWBI3iqedrSHCKqIN+0Mg2sZxwRiuDwsLhklvA8M1Xmds04Ztihcr54mQZluUmZoCH4WO4IZwxztePMMxjrrjiCieXwDRyC5SjKVzOF+RDj3F2Co4CJHqdUJxupsxcBmDRVJPmqwU1Fhfn62Ml7ayVWBJAk+u1qlixcb50HUBEuhGfuh7+Eteb9RKRspKzhLRaJMh8Jyfp6JqpeDhffI3W0qynSzA/EQDRyYOUXAGTE2BuOMFQLmTVbGa4kJr4mDvvvLPzxhtv7JD0wEY7G6WglwTmWHhGJ91vcVL/EonEKoBEStYyK+Z0HBA0Mkxef/315YiCRZHRRm1fam/ed999C8Xa6otCGBwvQlhOt4ojOxYvXrzhiSeeWIL1yE07+CqOlRRBuF9BzzqVv6tihsxCk1MwiqICtEeJyCqcKdZSV1e3WhIosIo4IpA3gCgIxfkDlNmXNVJTrPsRQoli5HyZ20x99NFHl1DhGcgZUZjh3nrrrZ0wvXoQQ6WsqWY+8MADnEOwWEthF/VGFWnCtVIYfXVNTc1qHWWq2AhHpFdffXUZ6cbGEeNrnn/++SUkc8W2Bs5XtizJtzY51c7i8p577lkogq2wju5I4F/YctAa4VsFzhqPdc8eSZClz7DscepftvGm4qjnG8sPzhpxvrGI840434jzjUWcb8T5Rpyv9YjgxDSPiPPNIEzE+UZdKf0j4nxTDNcR5+vxiDjfFI+I883XtkMs4nzTcr419ildsa2R8/U6XIqgP6iZhziJ2NbA+bLnSwCOEK0Rh2sE5KhFZdVxcGo7cDxrlpWhC47zBQ2ptyqTOQeFi8XUURpFhWGDfCob4ccee+xchNwq9nwJucLhUYrJ1POlKyGMITJNzV8sRmPVQbtW4XG+BNgQBXEMDk9XInSCj4Hz5dBMyHD9fcJYVgC2JvwhWjgXSAe6ieF86UYIQ7fiZkHQ+JngG9YjlVjnIJYJtyj5MIuS2qYLFoUwhoTCX2AVXAcNwQnjT0BY8T/KBddyGjrUFNZFRTSikTB4lK4tCgDadJ2RI0c69DcC0egiXKeb2TyeITO5znMoEgicSKF144OKLqiPnwEHAVI0xzmnCbg55ffJJ6ALaUX64uJ8TYaJmbMwy3UdrZpSSCzEOFwzghW683VARMP2Ql5COmApgr375nx5Pt0Jp0thL74yt/GRwxReYUBXGWFolHijgcEzjyHdz48wZKdIoeNmcglMo444y4dYoXO+oGZ8tRAxAyP64nwpK4nVMekje4WvPhac4RXGjZhJq6QLwNtJVkmTCJfuE0/gcBmNrPlMVcx/acmCGJWqxGqqzz///Nb//Oc/Kz6SB+Ui1WoqU+zNVNKNIDUvu+yydjBWzUApGs43gbMUZGwp3N2cOXPWQk+Rt0QjD9I1DEOE14KcQVKx2MTHkD9AWVtyCLS0duEncv31r39dtmrVqg9eeOGFpUzWqL7KbPe5555bCpDIRA4HDVXFgpFsNohwTf2rMgWPOfYDDFYtp/CXBDKVb5TS1u0W8l5JCf14PL7qtttu6wRfvfjii9uefvrpJTwHGPquu+5awJEeyt/FmQvhaxiNrNNzCt7H2CxdFTdIJeeXX355mSZQJPAjgq4uonuxbqL7UGYf5+t6fcJnSk9hbVQNHjx4KsVG33nnnRViERAScdZGl156qSMMPgXx6FqSO+CcQ8ASIlbsnK/MSWrFES/D7+jOXBVzFUhwhLGKGsfxRzhq6zih4t7zZUuBnbmYxflee+21HSDy1tEdzp6N+JuZPpK2igZn3awGOKMOU30tYRBxvipMdQ9DJRHnG4s434jzjTjfWMT5RpyveUScb5pHBCemeUScbwZhIs436krpHxHnm2K4jjhfj0fE+aZ4RJxvvrYdYvk5SqgoOF8HIWP3f6uu5+t1MhfxaLYxPUIjWwfnS+iDSCPFdGxmBkaPU46tQsdObQcqgWRZ/LjwTv0DBSG2RJWzmNKYBNooDQcZwTUwNGJMlHsDG9kq9nwJuVIbDwjRUFJ0JYQBF4kpMHTYYYfNREAXwlo8nC/dBwuwf0YIbhq6imtYDDirqZNH4A0y3Eboi5Lz5cYt4tI5PR1hoKy0CKAT2Od7oEQAaI11O8+XLgb54JTULpqzaHG23DQ0uDnSmev4jnHjxtUp1prkfBHJWI/xSRTiAQGBFkekWDHQDjC7WAuWQByaGwUf4zrNBhVtzpduhOUAJFKliBEK51wsnG+3aCLsHDFrKM5MnC+WgyAM41r1ubpYnK8TnKc7YAXgHSaXgJ8z3RxWwyiljtsp8+ZxTHTBCRPHeXJcswBBS+V08y5KtwkXs0xqUc2zs1HSWRu0Fd0Jp0uiF40anD6oqtAKUwlHB3fX3t6+XooBrqmtrV3NCcUvvfTSMh1ZMiGtCUYuihsDEJnGz0z+ClWYBDwdJSBPPvnkRnIC5KYa+NmiL31xvjhhQVudCtK8lq8+FpwF43wdzpeuccEFF7RBcmbgfKcy+YPqtPD4eCxNwmkhLgmqxIlWn3766c2PPfbYkrlz567B31iCeYlZRZKXlMJupYIiaYCagVI8nC9D7u9+97tFcHevvfba+zfccEMHSV00yUGa5R7WsSoqsTIi4WNAzjibQE63aGKZAOVZ8BM8huUHH3xwMY5XxFkomWpzuDE437vvvnshlkOXkbVTLVQVfolstptvvnk+i0osx6T9ySkWzUKXt1h5koU985WZ61y6A4kSppvw6QsAvYShG6HIKpEqzwt4DrPjq6++uh0r0WSKuNmagAEmb7IohHF1FWd+c++99y6kLK0mUCSE621RdJW101S6D6KxH+N25EVZz1cWkNVTpkyZJxWeu7AIMwvmexFmvgpVxboKRB5inJLaxb5RxXFA07AWnDFrId2tm8pJOPgVq6hxgmODyB0QRzwrtjVwviwKbQGwGHILQOQZos11ZsdsV/jMHSg+zpfvGXWoD+7Kqe5JTZnC53xj+antW/icbx4LHUecbyzifCPON+J8YxHnG3G+EZzoekScbwZhIs436krpHxHnm2K4jjhfj0fE+aZ4RJzvFth2iDjfmAfnC1C0VXO+HvsxzinHBOCy3MYsDs4XxIxwq7EOrgET6eG7SRiR2jHgada14uZ8zUnEhvNFGCyGQJu5RuSAGBNAoqngWozCdCMVTFlJoo6GkALtQAhTEg4xQFoRMQDCWljCEGQjnhRTsgF0DFFMKVuuYTEE2xAGehOLIhxrI7CI6KcUZaEIkyC4JmdArpo8eXIrXQSBJHjvxIwI12IRWBHF/0wZSurL2BFIDu9FOKyI72PFULYWYeSxobm5eR08HjAQnz5nQkJvYgVKfTucr6lyBvlAMA7ropYVsSdK1/os0x9+iyGiyJHNcqTq8paWlnUweRJ67TB5BB6cr1Pjl6wTLARBxIIcfwMzU0ycr3MSOrFqalEJK7MG0sHGVGMpiE1OM95nn33qrBL8RcP5OsUAlet1RGJu4gf+4TUm6SL2/+DnqVapt4L1MXFGGo5rpjLZLbfc0ik0QyeB+9NOO61JLSXjp49TZi5DlyK/gK/8bFWELjhhqnCUb7/99goa/kUKAi6X0Wnl/fffv8iQUpmEYdQyyRU4bUAikDStjVe4FaAp7QZTx83B+OJIGYli/jhfZ95CYgWcHqMYXZDGcF8MzjdZzxcnKpBhkxmy090cz8XqFJg2x0EXVz1fJmXHH398g5ST5Ij4ZVKntyOWuhK0AzDSjQRibOQ8AixPs+GKp8o8Q66wvfOFu1tC0sWFF17YRuofTXMCuo1iCADKyojEc8hXMvkELBN8JmiEWxiG15tuumm+JFYsBXymbqaeXFF93XXXzQNIpMvQXfA/oKokZ0CEs5bCopggMiKRi0CtX81dKnyclbQ9qRHeQPl9001IuhAAesF5553XgpM+8cQTG6jyzF4NMDSwolhJo25cOQtIxGOpoBWgiwtnxQJY+4i1dFAPnGRRfkeGClbChhULTYhN2F+rWmvxpRfbja7CDd9xxx2ddIuYVnfGOqRKdKupEo11MHrRtoaE9AT+BGu5/vrrO3SPJo6/gQRXv2JScCA5Z9PVNKeg+DlfsvStqs5wvtXkFggi327lJiXMqET0ILaVcr5TWf+Q3KU51bk4O7Io6vlGnG8s4nwjzjfifFM8Is43xSPifNM8Is43zSOCE9M8Is43gzAR5xt1pfSPiPNNMVxHnK/HI+J8Uzwizjdf2w6xiPNNfyY2YdetnfN1n8hlSkqyjVkd2wo53wRRAkFBFklbaCKKFs7a7fBdtjl9Hshb8MJUEQqprKxc1dXVtYHzZeVapSl+zEa4wVnZIKesLcUx9Fy3ouZ8nSikhEna5LFOjkRcTrAfgAiLQRiNCCQIrUBpSgCuLgDCWlgYCCFYZeicY5mBDjm0F3E4OFMtifBrnanISnwJ1lcrQidDL3Zd4IK3GEgH6lERedRP/z3qVmlFxdWEbBEPf0K9KjAyupAdgcSSsCisCMy1KISBdpADeVe++eab71PJjFJuDMsweQ899NBiAyoazhdyChEI3uNrGLEQBOIBDKRoDunFjxCbRgQ5CPx9EWjFueee22pylNyhFC18XG3q4AEkwtHgb3DOPiu0FgznG8cyCOi/8sorEFXzTY5AqteRZ4CFYD12Wf5YkXC+xgKSEztQD1NEPZYhzk23AQuxa/lmEDT81CZOFBIcPJ6DwBmB+J4Ydcwn58toRndihGLUghLnZ/xQoQpTxcjy5JNPdklbAiJP4xR0RikdWTIKYxA0slFoUJz8rEdCFy7nS9YI3B3UJY2f9dP25SsY3nG4WI74nOm8FgbPR3JXwdTzdRItuMETTjhhLiRnJs7XjErWfCYR8w8DFMSSIM6qGTJcjot3TkIXn9MWS82/OELSjSA1QeRNtlusmBg8buqiiy5qvf322xdIssV8ys9y0yZB1D2KIQDZboxIHOhAAXURZzb0J4irz7VT+E+ywDqo5cviEefJ8GvKSFJklO0FaoLjf7hp6CqgRFPmFoEYkcDsjz766Lk+LSf8nC9IKokWVo5SnGwSuF7hfxtxpCRhyOSvmeewBQEJDhFuVtsmJZD1FEuHgrcYDwcZZyUt1tJCWVqTECoizMZKEAVrYkhGHC1Wmg2BVVgMHtahRYzbKZNtdvCwDqpAm4MYtttuu9rjjjtuDokZir0W99Ymmfj4Fkm0aDW+giUDJLgtDI3FI6i9dZxQcXO+3CgVno1YdB0yS/AxtjD4F85mInqQac4TK0bOlzUTEznS+jw2vrdqzrc6FnG+W6xFnG8s4nwjzjfifGMR5xtxvs3WJ7YlW73+7VByvrtLm6JO7786j9gS7b/6N6fo/9Drj/8DVPtb5/3mkvkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_close.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFtElEQVRIx51Xa0yTVxiGllLLxXJb0QJCsVycDeMyJhEhJCaCJYzBQohMFMQQZ2QmS4QlJkxwBuWiGAIEMwf7t5AMgtsff+gCGyMImZqNhBAJkMhi5iVRKC296J63eb/m60cr4pc8ab9z3vd9znlv53w+Pm9/fAEZIS8vzy8jI0Oxd+9ef71er2xrawvs7u4OoncCzZGMIM+6W35ISQ4ogG1JSUnBp06d0ly7di2upaVFX1dXt/vq1asf9/X17cvMzIyprq6OuXDhQjR+P8ATRDqsK9/KAkiQVq4kI4cOHdJcv37dcPfuXePTp0+vWK3WiTeSx2az3X/x4sWNO3fuFJWWlsZGR0eH8QKUbGtTchkLquLi4kLKysp23bx588DKysrPUrInT544FhcXHdLxly9f/gQP6dLS0rShoaFqssU2ZZvtNIBWfPToUf3IyMinDodjkQxip6/hWis8sAaZFTHgblNHR4fVbDa/ZtkH2P0RxH2XWq0OJZvedi6QqrZv3x6Wn5+vHxwcLIGNdTJ0+/Zte2xs7KqUUIrk5GTT9PS0Xdg99L7AWByTqzyRyzke6pSUFF1ra2uB3W5fIuX+/n6rXC5f2YxUAMleunRpXSDv7e0t0Wq1MWSbOVwJ58sZGBQREaE9ffr0ASTKr8JOt0IqRk9Pj5VsID/+xPuHwA7iYC6ZkFDbyMW5ubl7BgYGqknBZDI5EGs396anp5uys7M3xFij0azW1NRYAgICXGP+/v4ry8vLNrI1Ojr6LWwlYDyMS00uEAdCSYssPrCwsPAjCXd1dVnFxg0Gg0lwX1NT07owHh8fbwKBM6ko+cQ6tbW1Fhp/9uzZb3hPAXbyrv2E+CL+6nij0Viwtrb2gISzsrLcdkbJhbk3YvKEhAQXKT3oZutinfDw8FXkinMuJCQkF2M6IATw92H28MjISENxcXEFCb169crhKW6FhYVrYnLIuUiHhoZsnvLh4cOHzkRraGioCw4OTsZYBLvbRxEUFKRBv808efLkVyQ0Nzdn95Y0RG6xWNyahjdSwq1bt9Y5u68EBgZ+hLFILi0fBeK7EzHcj15bT0IzMzP2t9UqYvZaTNzc3LzuTX54eNhJjAOlE+/pgJZyyofTW4vM3J+Tk1NHQs+fP7d7I0WrdJEK8ZMmnBiTk5Nmmj937txFlUr1Ccai3IgVCsU+nU5Xg3b3HwlKSwnJtyomJfcWFRW5xfzMmTMWaTNB73aWFBrTl+DYQLwTg5mI8/H5+fkxEjx79qybEcpyTzEVJxzarE2sQ32dD5S/8X4EyJC6WgPi1MTExHKcs9+zsE3cEIS6pF1JE4kOCXK11EtjY2PO2v8FD95LAbfkcpYTsEepVBqhXI/avO+pLreCqqoqM7fMf1HPDRgrIA5xOcm5gev8/PxywsLCalBWfYJbycBWSamt4nLg4Gwexlg1kCNtIDL2ObWzVLixBM3kGzR51+Hf2Nj4zjuvrKw0o86dpOPj4/cwVg8Uk21py5Tx1qmB64FckB/H7eE79OsRgXx2dtZSXl5ulsZdnEgTExOuBATpXxi/CBwjm2zb7ZBwHYt8dBmAfJDXooQu45I38vjx4znBIO2G2iCuRBbC1NSURSgZ7gHL7e3tdChcBmrJFtvccCy6XQQAOrTTACORY4e06h86Ozv/ePTo0ewbL8/S0tI8Lg33UB39vFMiNbItjxcBt6sPQNeUXRyTfHZVPbpOOy0AXhg6ePDg7+fPn/+HgBNtPCoqaoTmgHaO6THWTWVbXq8+bpc9FoxhF1E2fgacAL4GGpH9LUAb/rfRf5lM1shzJ1g2h3Vj2FbAZtdcmWjnao7Lbl45GTsMfA5UAJWMCh47zDKprLODbWx6vZV+RSi5zELZSCyQyDtJ5ZMmnf8beC6WZUNZV/k+XxO+Ig8o2IiK3RYoQQDPKVnWT/T99F7fUJ4Wsxne6fkftA8qZnEtbWkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_loading.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAHgCAYAAADXMi8AAAAnmklEQVR42u3dB3RlZdU38LH33nvH3nvvBRt2RcVeEVREUWyABcGuCBYUFVlWQF9FrEsFBCa5SWaSaZmSTMn0xjCDiC98a337d9bz5DtzCXNPknPv5FueWeusJGducvbZz95P+f93mTdv738HxHVUXL+I6/y4zuvRdX565lFJhin/vSKui+Iai2tRXMM9vhalZ1+UZNnr3yFxTcS1JK5WXAP76WolGcjyxizcg0tvsD+FKwtJloVxPYiAR8e1ao4IVxaSTB8j4Nlxjcwh4fJFpl/NS140XMMf7I+rr2YB/zovufhsBWzd7W53G370ox+95FrXulZdAg4n2WakwVbJZn3t/+53v7t5fHz88kc+8pGLa7Ln4STbtARs3fCGNxw69thj18c1cb3rXa8Y2hvd6EZDZ5999vYNGzZc8aIXvWh5FvDmN7/50D3ucY/hm9zkJkO9ErD/jne840LCtFqtS5///OcTZv5Nb3rToR/96EdbRkZGLnvuc5876nPXuc51Bu91r3sNP+hBD1p0m9vcZkG3BSwPad9b3vKWsfPOO++S733ve5tDe4PXv/71Bwk4PDy8Jwt4u9vdbsEDHvCARfe85z2H/X9XBYxhHbzVrW41lLy0FUO34OSTT958/vnn73rd615nvur71a9+VQzxgQceuDwcpXXf+9535P73v/+iW9ziFpPai/uDYRaDtQv4gQ98YE0ItJF9pQfMf9rTnrbsggsu2HXWWWdtjyEc+uhHPzpB4BjSxWzP0N75znee/LvskD0ecMABi2i9TgFbRxxxxJozzzxz209+8pMtn/rUpyYe+tCHLjKdfPjDH15z4oknbgjtLuAoBAjbG2Bz9773vYdvfOMbD133utcdDLtdENocechDHrLogQ984KKKTlNdg/EHB1/wgheMHn/88evPOOOMrT/96U+3vf71r191gxvcYJAQae5rpcl6IIQaIOjNbnazodBYIVjY40jMlQt9vu4hzg5SGD6b+/73v7+ZVkuCTfl7t771rRfQGEchbOnv1SZgK2vk2te+9uTPd73rXYc9vNNDaNFwlr3YS1VcbToK2DLnveMd7xg/7LDDVr/tbW8bf+tb3zp26KGHrn7mM5+5zP/z1k4PuuUtb7ngPve5z0jYZHHxbo5SYW7s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]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_nav_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFbUlEQVRIx61Xa0ibVxjWxJjGS+NtscZr1szaNTgvc5W2SlHQNrA5HSLtaqtVxAlOGKgDwQlObL20irTFMav7N4RN7PbHHzp0c2Jb1tatIKKooENWFWrMxZjYPW94P9GYmLTbgYfknPOe9znnvZ3zeXgc3jwBEeH8+fNeycnJklOnTnmr1Wppa2ur7507d/yoT6A5khHkee1rN1okBiTAkRMnTviXl5crbt++HdPc3KyurKw8fuvWrfe7u7tPp6SkRBYXF0c2NDRE4PctND9aw2vFr7MBEqSdS0lJVlaWorOzUzMyMqJ98eLFTbPZPPHKrm1vbz9ZX1//Znh4+MO8vLzoiIiIIN6AlHW5JBexoCwmJiYgPz8/qqen55xOp/vBnmxlZcW6sLBgtR9/+fLl97CQKjExURkYGCgnXaxT5OqkPrTjK1euqAcHBz+yWq0LpBAn3YFpzbCAATK6vYC59e3t7Waj0bjDsk9x+kvwe5RcLg8knc5OLpDKjh49GpSdna3u7+/PhY4tUjQ0NGSJjo7etCe0R1xcnP7x48cW4fRY9ynGYphc5ohczP6Qx8fHq1paWi5YLJZFWtzb22sWi8U6V6QCSLapqWlLIL93716uUqmMJN3MsRtwnhyBfiEhIcqKiopzCJSfhZO6IoUfHVri7t27ZtKB+Pgd/XeBY8TBXCIhoI6QidPT00/29fUV0wK9Xm+FrzddkU5NTVkbGxu37Oe8vb11y8vL26RrdHT0K+h6B+NBnGpigdjXx8dHiSg+Nz8//x0Jd3V1mQ8jTUpK0i8uLtqCiX4dyZSVlZlofnV19Rf044EwPrWX4F/4X/62Vqu9YDAYnpJwamqq4TBSpM0Op88O9R3JBQcHbyJWbL4OCAhIx5gKCAC8PZg9ODQ0VJOTk3OZhDY2NqzukJKZnflYwLNnz2yBVltbW+nv7x+HsRA2t4fEz89PgXqbUlpa+jkJzczMWP4PUsKDBw+2OLpv+vr6voexUE4tDwn8G6bRaM6g1taQ0PPnzx0SCz6llpGRYXAnvQYGBmzEuFA60E8ClBRTHhzeSoVCcSYtLa2ShNbW1iz/xbd7MTk5aST56urqRplM9gHGwvcRSySS0yqVqgTl7h8SdJZKQgq5Q041ADK2lEJh+gwcB4jDMJgCP1+bm5sbI8GqqiqTq/x1RU51nS+UP9G/BCTbm1oB4oTY2NgC3LPfsvA2fK9zh9xZHo+Njelp/ic09POAfcFlSyfgpFQq1cLENag4T2gBXhlb7lSukpKSA9YpKioycsn8G/lci7ELxLE3ncRcwFVeXl5pQUFBJUirbiF6SYG7F4SAs2fPGvA4sHI0D2CsGEizLyAitjmVswQERC6KyZco8ruXf319/Za7pIWFhUaTyWQjHR8ff4ixGiCHdNuXTBEfnQq4GkgH+TWY8WvU60GBfHp62lRQUGB05ncKpImJCYMgD9I/MN4IXCWdrHvfJbF7LfLVpQGyQV6G+n0Dj7zBpaWlGUEhnYbKIJ5EJsKjR49MQspwDVhua2ujS+EGUEa6WOeBa3HfQwCgSzsR0BI5Tki7vt/R0fHb7Ozs9CsnDZE9h0fDQ2RHL5+USLWsy+FDYN/TB6BnShT7JJtNVYOq00YbgBV+zMzM/LWuru4vAm608fDw8EGaA9rYp1d5bQLrcvr02ffYY8FINhFF48fAdeALoB7R3wy04n8r/ReJRPU8d51l03htJOvycfXMFe05uZz9cpx3TsouAp8Al4FCxmUeu8gyCbzmGOtw+by1/4qQcpoFspJoIJZPksA3TRL/1/BcNMsG8lrpm3xNeO6xgISVyNhsvnbw4Tkpy3rt+X56o28oR5txBbfavx4m6rAPnooRAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_nav_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFdUlEQVRIx6VXbUibVxS2iTGN0cZEF2v8zJqpncH5MVepVUoLagObq6NInba1LeIEJ0zUQcEVXLH1u4iKo53u3xA2sduf/tBRNyf9YK1ugoiiQh0yq1A1H8ak3XPCeUXTxKTtCw/Jve+5z3Pvueece18fn72ffYCIcPz4cd/U1FRJQkKCn06nkzY1Nck7OzsDqE2gd2Qj2PPY135okBiQAPvj4uICy8rK1G1tbTENDQ26ioqKQ62trR/29PQcSUtLiywpKYm8evVqBH7fwRNAY3is+HUmQIY0cymRZGdnq2/evKkfHh42LC8v37BarWMvnZ6tra3Hq6ur3w0NDX2cn58fHRERoeIJSJnLo7iIDWUxMTFBZ86cibp9+/ax9fX1n5zFlpaW7PPz83bn/ufPn/8ID2mTk5M1SqVSQVzMKfK0Un+acVFRkW5wcPATu90+T4RY6Qu41goPmGCzvhNwt7GlpcVqNptfsO0TrP4s9j1KoVAoidPdygVR2YEDB1Q5OTm6/v7+0+DYJKK7d+/aoqOjN5wFnREfH2989OiRTVg9xn2OvhgWl7kSF/N+KBITE7WNjY25NpttgQb39vZaxWLxuidRAWR77dq1TUG8u7v7tEajiSRu1tgOuH0cgQEhISGa8vLyYwiUX4WVuhLF3m0Q9ppAV1eXlTgQH3+i/T5wkDRYSyQE1H5ycVZW1uG+vr4SGmA0Gu3Ya5fk9fX1mxMTE/a9xP38/NYXFxe3iOvevXvfgOs99Ks41cSCsNzf31+DKD42Nzf3Axl3dHRY3ZEich1B5Em8tLTUQnbPnj37De1EIIxX7SvsL/Zf8a7BYMg1mUxPyDg9Pd3kjjAlJcUoiNMvtV3ZBQcHbyBWHHsdFBSUhT4tEAT4+bB6cGhoqD4vL6+QjNbW1uyegshb8fHxcUeg1dbWVgQGBsajL4Td7SMJCAhQo96mXb58+Usymp6etnkTwVqt1kju3kv8zp07mxzdN+Ry+QfoC+XU8pFgf8P0ev1R1NoaMpqcnLR5mz4nTpwwCamzsLDwwvn9wMCAQxgHSjvaKYCGYsqHw1ujVquPZmZmVpDRysqKV8I73U0rJw8429y/f99M76urq+tlMtlH6AvfJSyRSI5g4CWUu//I0F0quRN1Fd1UA2DjSCkUpi+g8YpwGDrTsM/nZ2dnR8iwsrLS8jaiBKrrfKD8jfZZINXZ1WoIJ8XGxhbgnL3FxlvY+7fK45GRESPZ/YIH7XxgV3A50gk4LJVKDXBxDSrOYxqAW8amK8KqqioLuLb2Er1w4YKZS+a/yOda9OWSxs50EnMB1/r6+maqVKpLSKseIVKJwNsIF5CRkWHC5cDO0TyAvhIg07mAiNjnVM6SEBCnUUy+RpHfPvzr6uo2vRUtLi42WywWh+jo6OgD9NUAecTtXDJFvHQq4DogC+Ln4cZvUa8HBfGpqSlLQUGB2d2+UyCNjY1t5zRE/0J/PXCOOJl71yGxfSzy0aUHciBeivp9HZe8wadPn04LhLQaKoO4ElkIDx8+tAgpwzVgsbm5mQ6F60ApcTHnK8firosAQId2MmAgcayQZv19e3v7HzMzM1Mv3TyoWrO4NDxAdvTySknUwFwuLwK7rj4AXVOieE9y2FU1qDrNNAF44eeTJ0/+fuXKlX8IONFGw8PDB+kd0Mx7eo7HJjGX26vPrsseG0ayiygaPwUuAl8BdYj+BqAJ/5vov0gkquN3F9k2k8dGMpe/p2uuaMfKFbwvh3jmRHYK+AwoBIoZhdx3im2SeMxB5vB4vXX+ipBymimZJBqI5ZUk8UmTwv/1/C6abZU8VvomXxP7dnhAwiQydpvcCf78Tsq2vju+n97oG8rVZDzBq+d/BnPq5aM0EKUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_e.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAAMklEQVQI12MUFxW1YGBg+APE/4D4NxD/heLfSPg/EP+AqvkH5f+D6gOx/7949QrEZwAA7SMU/wl/9ugAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_n.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAMUlEQVQI11XLwQkAIBTD0GdRNxD3n/R7U7wUElJVxV6rBRX0oAWC/K4H8+L858XvMQ6htwScSSgzAAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_ne.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIklEQVQ4y62Ua47DMAiEB5wcoer9b7fqGYLZP6b6FrlVK20kK37gYWDAlpn6z8/ut5tLmrszSV95+3k8VGAmyde+A8y+ZehgMwFWZwmbzn77HWvQKBZIpWHCQc3zHUNv+RprPdZwgPgnIRuA1PKZG8dqf9sxHACiUHQaYEnBcgfYWTBsQbBXghhFMUnnupQYJVABz1ZiCaZJwBMXGUYZXS3M8cL+CThwcCFfFWaxH+siw49dHQ54PRo7pmCu80pNtOaYLOxAzbFUGNqEyix+dlhWDh0soq2FeTZR1Lrpieyb7hiw6bmOjSBGlecShGUQAL3QTdFKxbj21i1VlwcAEvsV9mgsRcBiebaH9YCzAjlbzwec/MmPwMxafxvAd08a21e/OepnxlCGJoQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_nw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABC0lEQVQ4y62UAQqDMAxFmzT1CLL731O7Kf3yCHXIWKHUlubn/US13nv557BD8LWuP8V+Zh+r9vtTQQVzn8/O8yeCCvSDYKx9zDruaH9r2XDRcH6IbRC1dL88JbR01pFApKeTLGgpQKMOuyR1NYKk3whpS7WjeAXdNlZ/YjlGgBwEHASSnfWloN10tqdaVtgUpZJ4FmSwOhqwHUhE61eSmWXHRYoykaGex2iKpWB+t3rqaEVjHOIOwYuQNStYeRagIlkFxLSG2VYBXcWzyJyi2XKZiKoRDfSB1Uiam1LT96lXIpCkTcQE0+4sGwJYN80F1gMgPiPcYbdNukmhwH65+9tE+tdFsh1pNgAsb+/rdlTpwE+hAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_s.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAANklEQVQI10XKwQ2AMBDEwGGpIaIT+m8LFHL8Lj/bsmuMO6jgC2bT1jd4uq1uW4+eZ3AGS1X5AXa8E2Tq43WHAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_se.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABJ0lEQVQ4y41UUW5DMQgzvF6h2jl6/wtNvcHaBPYDnefypEaKoiTYsQHFvq7XG4Bd8wEgAfzUftXs+wTwrDUBBACrO3zf7/AiedahEZABCcDxN7ym0R4AcBGCRfsQYtCjep99roS7AjepW0TG5DqyFbayJDCTJ1kOUgNZowkXEaFyGoPNTY+ZxBjncFH1OlBtLlHXq5GDF+GDwKA87YFALacm8kIEcVK5ILDemTyKS1kFAZcELyqIk5Ox2k14SGArPUil2jQ6CyY0Sb5JhXcR99lBpDEp5H7joCgwpPldFP8bLj0YZMWpB0MsmlT7TSEre5Jap1xuwtnUMk0IUmmULxMSl7YaSX1IrIKmcarQh4AYfhWTfZ489PoocwAx8JTgTXrmx7EfjV9rMblEHBbT2AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_sw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABG0lEQVQ4y62TUW4DIQxEn2E3uUHU+99zcX/saDolaSs1EvKKwGOYMZGZfDweAAOIGlSdVY8aAdxrfgCnfE9gRgEHsAR01CIEpHVWvdW6Xn80MICsyYYPgbTSs+pN1p4CjLArNyj7CgJE5nScongosDdcBgiBzo2veuhW4ayqXq66ZlogvAqlFXYQaSpTuqBhQ9Q9O8RD0fbp70sCyqpYYM/DVWF7tcw/TJ2rntodDmyVWNqtbEkd5uEA2AGHgdM2q1K1B21s7MkhSeth7aM+gi9P1VMO2ZwverNVh9jR/8UOiIQzJSS1Q9Wpn9+A2BWHbVii5tqkzjugB7IskLS59Q64a6PY+OzhvQX+dIi2V/xG4V8PGUBGZvKfv08j7HxbBtCVPwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_shadow_w.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAALklEQVQI12P8//8/AwhIiIkxAilmIAbRTAwQwAJlM0MxO5QGiXNA5UCYFaqPDQAGHwN8eWM6AwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_title_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABvklEQVQoz42TTSjDcRjHv/ZmTGYbU8K8HEYS5a28ZE5eDxzcKLIdnMRpNVJKccHNcSflJEqhXHbQ4mg5jFgrVsS0qclLHs/f/+9l+/9Xfr/b//N7nv/zfJ/vA8hPBl8V1NBAK0cq/qyDHgbkIi8VqRllw7hsD7lj28+BZKhFFsdY7zdIOskwG+b9/rif6J32npyR1vBfaIDF7xRiLl86wgh+3a8jwvwjlwDXo4ZzCQbFWA3/0zzX8hYjmr/7QRJWIRNGFN/uE+3Ek2BQjDXA6nYQvX7YLuVYx7G2oyWirdTYoJBajwLYw4dEzogcqzl1Eeri10S1ITnWsE6laH5NEJkulHAeKtCWDmthQiU6HiPKySV85lcuTUq+6VVuTCqtd1KQpfoqTWMYODlWElWSBV3tMwmufvZOUVQ0YWjBKxhh5SHzPHUkhaiCA6O+E7kdxIGWoB49mHB5T2+EHLvxMclMoh0sKEcj+jABz0Eg2YqimQq4/wZ0YwTTNWurPl/oIvptRcHfOfygjFvsxCDGMQUPFn+NLDxgr6KYi2zkMgcwjFH5GhhhZRXtnKUZ7Ur7xUuEfFbSxqP6/woqLPAnWuESyIO/rbkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_title_main.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAQAAAB57NqRAAAAJ0lEQVQI12NgYGdgEGX4/x+EGG6Sj6AmTGVgyGJgcGdg0AYZy8AOAFcCGpZWWVPyAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_title_over.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQI12NgYGBYDAAAqACkxaGYIAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/fancy_title_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABwUlEQVQoz31TSyiEURg9ZsZjjLyHEsZjgSTKqzwyVp4LFnYUGQsrsVJIKcUGO8tZKStRCmUzC00syWKIaYop8siokUeuc80/+mf+f9xvec733XvOPR8QDxOMMCCOpXPSkQoLkpBAmkFDeTt72fZOL5chDcmkGKMoQjkPG8jhHDMvUxOafA7/3usXCQH3fg8yOSOC4JHV6rt6lzPcDmTxJSqCJ1SWi/UnSTgaQ7ZCUMOy5u+F+HyZa+QVZuqIi4Lh2QkIcbePfOpIDPVHwLarj28hpu1UYQn1eyJri/1HS7CxP0EHdviF8B2iDFY6adDAVV46cINq5HG8UQNnXArxEUQDCumhKRbcjBJ+lkl3+LMfrShFBs3Re9q5OyYshW06YwyvuJa2dI3HeJo09eQYvbrCZvklwWDLFNo1tiRerDzKUCw40Y/6KFPDcXCdYAh2lCNX+ZIm37B/NyD7Tm/HnBhFJ2pQ8Peh4SgenGGGYDfqUMxAheNw+eTyrroq1zCJQXSglnqt6jAtsmsCI+hDG+UUEUz5zbsSxSEMUKedQ8sZIplTFQi00KFq6ixkgNI0a0DrbXQoW1kizZ79v4L/L/APa0QSyMrM1Z0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/jquery.easing-1.3.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnaC5pW1wnMWFcJ109aC5pW1wnelwnXTtoLk8oaC5pLHt5OlwnRFwnLHo6OSh4LHQsYixjLGQpezYgaC5pW2guaS55XSh4LHQsYixjLGQpfSwxNzo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0K2J9LEQ6OSh4LHQsYixjLGQpezYtYyoodC89ZCkqKHQtMikrYn0sMTM6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQrYjs2LWMvMiooKC0tdCkqKHQtMiktMSkrYn0sWDo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0KnQrYn0sVTo5KHgsdCxiLGMsZCl7NiBjKigodD10L2QtMSkqdCp0KzEpK2J9LFI6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCtiOzYgYy8yKigodC09MikqdCp0KzIpK2J9LE46OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQrYn0sTTo5KHgsdCxiLGMsZCl7Ni1jKigodD10L2QtMSkqdCp0KnQtMSkrYn0sTDo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYgYy8yKnQqdCp0KnQrYjs2LWMvMiooKHQtPTIpKnQqdCp0LTIpK2J9LEs6OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQqdCtifSxKOjkoeCx0LGIsYyxkKXs2IGMqKCh0PXQvZC0xKSp0KnQqdCp0KzEpK2J9LEk6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCp0KnQrYjs2IGMvMiooKHQtPTIpKnQqdCp0KnQrMikrYn0sRzo5KHgsdCxiLGMsZCl7Ni1jKjguQyh0L2QqKDguZy8yKSkrYytifSwxNTo5KHgsdCxiLGMsZCl7NiBjKjgubih0L2QqKDguZy8yKSkrYn0sMTI6OSh4LHQsYixjLGQpezYtYy8yKig4LkMoOC5nKnQvZCktMSkrYn0sWjo5KHgsdCxiLGMsZCl7Nih0PT0wKT9iOmMqOC5qKDIsMTAqKHQvZC0xKSkrYn0sWTo5KHgsdCxiLGMsZCl7Nih0PT1kKT9iK2M6YyooLTguaigyLC0xMCp0L2QpKzEpK2J9LFc6OSh4LHQsYixjLGQpe2UodD09MCk2IGI7ZSh0PT1kKTYgYitjO2UoKHQvPWQvMik8MSk2IGMvMio4LmooMiwxMCoodC0xKSkrYjs2IGMvMiooLTguaigyLC0xMCotLXQpKzIpK2J9LFY6OSh4LHQsYixjLGQpezYtYyooOC5vKDEtKHQvPWQpKnQpLTEpK2J9LFM6OSh4LHQsYixjLGQpezYgYyo4Lm8oMS0odD10L2QtMSkqdCkrYn0sUTo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYtYy8yKig4Lm8oMS10KnQpLTEpK2I7NiBjLzIqKDgubygxLSh0LT0yKSp0KSsxKStifSxQOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYtKGEqOC5qKDIsMTAqKHQtPTEpKSo4Lm4oKHQqZC1zKSooMio4LmcpL3ApKStifSxIOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYgYSo4LmooMiwtMTAqdCkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKStjK2J9LFQ6OSh4LHQsYixjLGQpe2Ygcz0xLmw7ZiBwPTA7ZiBhPWM7ZSh0PT0wKTYgYjtlKCh0Lz1kLzIpPT0yKTYgYitjO2UoIXApcD1kKiguMyoxLjUpO2UoYTw4LncoYykpe2E9YztmIHM9cC80fW0gZiBzPXAvKDIqOC5nKSo4LnIoYy9hKTtlKHQ8MSk2LS41KihhKjguaigyLDEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSkrYjs2IGEqOC5qKDIsLTEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSouNStjK2J9LEY6OSh4LHQsYixjLGQscyl7ZShzPT11KXM9MS5sOzYgYyoodC89ZCkqdCooKHMrMSkqdC1zKStifSxFOjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDs2IGMqKCh0PXQvZC0xKSp0KigocysxKSp0K3MpKzEpK2J9LDE2OjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDtlKCh0Lz1kLzIpPDEpNiBjLzIqKHQqdCooKChzKj0oMS5CKSkrMSkqdC1zKSkrYjs2IGMvMiooKHQtPTIpKnQqKCgocyo9KDEuQikpKzEpKnQrcykrMikrYn0sQTo5KHgsdCxiLGMsZCl7NiBjLWguaS52KHgsZC10LDAsYyxkKStifSx2OjkoeCx0LGIsYyxkKXtlKCh0Lz1kKTwoMS8yLmspKXs2IGMqKDcucSp0KnQpK2J9bSBlKHQ8KDIvMi5rKSl7NiBjKig3LnEqKHQtPSgxLjUvMi5rKSkqdCsuaykrYn1tIGUodDwoMi41LzIuaykpezYgYyooNy5xKih0LT0oMi4xNC8yLmspKSp0Ky4xMSkrYn1tezYgYyooNy5xKih0LT0oMi4xOC8yLmspKSp0Ky4xOSkrYn19LDFiOjkoeCx0LGIsYyxkKXtlKHQ8ZC8yKTYgaC5pLkEoeCx0KjIsMCxjLGQpKi41K2I7NiBoLmkudih4LHQqMi1kLDAsYyxkKSouNStjKi41K2J9fSk7Jyw2Miw3NCwnfHx8fHx8cmV0dXJufHxNYXRofGZ1bmN0aW9ufHx8fHxpZnx2YXJ8UEl8alF1ZXJ5fGVhc2luZ3xwb3d8NzV8NzAxNTh8ZWxzZXxzaW58c3FydHx8NTYyNXxhc2lufHx8dW5kZWZpbmVkfGVhc2VPdXRCb3VuY2V8YWJzfHxkZWZ8c3dpbmd8ZWFzZUluQm91bmNlfDUyNXxjb3N8ZWFzZU91dFF1YWR8ZWFzZU91dEJhY2t8ZWFzZUluQmFja3xlYXNlSW5TaW5lfGVhc2VPdXRFbGFzdGljfGVhc2VJbk91dFF1aW50fGVhc2VPdXRRdWludHxlYXNlSW5RdWludHxlYXNlSW5PdXRRdWFydHxlYXNlT3V0UXVhcnR8ZWFzZUluUXVhcnR8ZXh0ZW5kfGVhc2VJbkVsYXN0aWN8ZWFzZUluT3V0Q2lyY3xlYXNlSW5PdXRDdWJpY3xlYXNlT3V0Q2lyY3xlYXNlSW5PdXRFbGFzdGljfGVhc2VPdXRDdWJpY3xlYXNlSW5DaXJjfGVhc2VJbk91dEV4cG98ZWFzZUluQ3ViaWN8ZWFzZU91dEV4cG98ZWFzZUluRXhwb3x8OTM3NXxlYXNlSW5PdXRTaW5lfGVhc2VJbk91dFF1YWR8MjV8ZWFzZU91dFNpbmV8ZWFzZUluT3V0QmFja3xlYXNlSW5RdWFkfDYyNXw5ODQzNzV8anN3aW5nfGVhc2VJbk91dEJvdW5jZScuc3BsaXQoJ3wnKSwwLHt9KSkKCi8qCiAqCiAqIFRFUk1TIE9GIFVTRSAtIEVBU0lORyBFUVVBVElPTlMKICogCiAqIE9wZW4gc291cmNlIHVuZGVyIHRoZSBCU0QgTGljZW5zZS4gCiAqIAogKiBDb3B5cmlnaHQgwqkgMjAwMSBSb2JlcnQgUGVubmVyCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIAogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAKICogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgogKiAKICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgCiAqIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3QgCiAqIG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIAogKiBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAqIAogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSAKICogb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICogCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIAogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiAqICBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCiAqICBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUKICogIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCAKICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKICogIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIAogKiBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogKgogKi8K]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/jquery.fancybox-1.3.1.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKiANCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzDQogKg0KICogVmVyc2lvbjogMS4zLjEgKDA1LzAzLzIwMTApDQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrDQogKg0KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KICovDQoNCiNmYW5jeWJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCWhlaWdodDogNDBweDsNCgl3aWR0aDogNDBweDsNCgltYXJnaW4tdG9wOiAtMjBweDsNCgltYXJnaW4tbGVmdDogLTIwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJei1pbmRleDogMTEwNDsNCglkaXNwbGF5OiBub25lOw0KfQ0KDQoqIGh0bWwgI2ZhbmN5Ym94LWxvYWRpbmcgewkvKiBJRTYgKi8NCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbWFyZ2luLXRvcDogMDsNCn0NCg0KI2ZhbmN5Ym94LWxvYWRpbmcgZGl2IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDQwcHg7DQoJaGVpZ2h0OiA0ODBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KfQ0KDQojZmFuY3lib3gtb3ZlcmxheSB7DQoJcG9zaXRpb246IGZpeGVkOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWJvdHRvbTogMDsNCglyaWdodDogMDsNCgliYWNrZ3JvdW5kOiAjMDAwOw0KCXotaW5kZXg6IDExMDA7DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KKiBodG1sICNmYW5jeWJveC1vdmVybGF5IHsJLyogSUU2ICovDQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQojZmFuY3lib3gtdG1wIHsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJb3ZlcmZsb3c6IGF1dG87DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94LXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMjBweDsNCgl6LWluZGV4OiAxMTAxOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1vdXRlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjRkZGOw0KfQ0KDQojZmFuY3lib3gtaW5uZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMXB4Ow0KCWhlaWdodDogMXB4Ow0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KCW91dGxpbmU6IG5vbmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KI2ZhbmN5Ym94LWhpZGUtc2VsLWZyYW1lIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiAxMDAlOw0KCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KfQ0KDQojZmFuY3lib3gtY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC0xNXB4Ow0KCXJpZ2h0OiAtMTVweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDM7DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94X2Vycm9yIHsNCgljb2xvcjogIzQ0NDsNCglmb250OiBub3JtYWwgMTJweC8yMHB4IEFyaWFsOw0KCXBhZGRpbmc6IDdweDsNCgltYXJnaW46IDA7DQp9DQoNCiNmYW5jeWJveC1jb250ZW50IHsNCgloZWlnaHQ6IGF1dG87DQoJd2lkdGg6IGF1dG87DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQp9DQoNCiNmYW5jeWJveC1pbWcgew0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IG5vbmU7DQoJb3V0bGluZTogbm9uZTsNCglsaW5lLWhlaWdodDogMDsNCgl2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KCS1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7DQp9DQoNCiNmYW5jeWJveC1mcmFtZSB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCglib3JkZXI6IG5vbmU7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCiNmYW5jeWJveC10aXRsZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCWZvbnQtZmFtaWx5OiBBcmlhbDsNCglmb250LXNpemU6IDEycHg7DQoJei1pbmRleDogMTEwMjsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLWluc2lkZSB7DQoJcGFkZGluZzogMTBweCAwOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgljb2xvcjogIzMzMzsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUgew0KCXBhZGRpbmctdG9wOiA1cHg7DQoJY29sb3I6ICNGRkY7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtb3ZlciB7DQoJY29sb3I6ICNGRkY7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLW92ZXIgew0KCXBhZGRpbmc6IDEwcHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeV90aXRsZV9vdmVyLnBuZycpOw0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQojZmFuY3lib3gtdGl0bGUtd3JhcCB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KDQojZmFuY3lib3gtdGl0bGUtd3JhcCBzcGFuIHsNCgloZWlnaHQ6IDMycHg7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoNCiNmYW5jeWJveC10aXRsZS1sZWZ0IHsNCglwYWRkaW5nLWxlZnQ6IDE1cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtOTBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KfQ0KDQojZmFuY3lib3gtdGl0bGUtbWFpbiB7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJbGluZS1oZWlnaHQ6IDI5cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDBweDsNCgljb2xvcjogI0ZGRjsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLXJpZ2h0IHsNCglwYWRkaW5nLWxlZnQ6IDE1cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAtOTBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KfQ0KDQojZmFuY3lib3gtbGVmdCwgI2ZhbmN5Ym94LXJpZ2h0IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwcHg7DQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAzNSU7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW91dGxpbmU6IG5vbmU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdibGFuay5naWYnKTsNCgl6LWluZGV4OiAxMTAyOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1sZWZ0IHsNCglsZWZ0OiAwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodCB7DQoJcmlnaHQ6IDBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQtaWNvLCAjZmFuY3lib3gtcmlnaHQtaWNvIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogLTk5OTlweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJbWFyZ2luLXRvcDogLTE1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDI7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCiNmYW5jeWJveC1sZWZ0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMzBweDsNCn0NCg0KI2ZhbmN5Ym94LXJpZ2h0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNjBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQ6aG92ZXIsICNmYW5jeWJveC1yaWdodDpob3ZlciB7DQoJdmlzaWJpbGl0eTogdmlzaWJsZTsgICAgLyogSUU2ICovDQp9DQoNCiNmYW5jeWJveC1sZWZ0OmhvdmVyIHNwYW4gew0KCWxlZnQ6IDIwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodDpob3ZlciBzcGFuIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZmFuY3ktYmcgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDIwcHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCXotaW5kZXg6IDEwMDE7DQp9DQoNCiNmYW5jeS1iZy1uIHsNCgl0b3A6IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KfQ0KDQojZmFuY3ktYmctbmUgew0KCXRvcDogLTIwcHg7DQoJcmlnaHQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE2MnB4Ow0KfQ0KDQojZmFuY3ktYmctZSB7DQoJdG9wOiAwOw0KCXJpZ2h0OiAtMjBweDsNCgloZWlnaHQ6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC15LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDBweDsNCn0NCg0KI2ZhbmN5LWJnLXNlIHsNCglib3R0b206IC0yMHB4Ow0KCXJpZ2h0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xODJweDsgDQp9DQoNCiNmYW5jeS1iZy1zIHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjBweDsNCn0NCg0KI2ZhbmN5LWJnLXN3IHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE0MnB4Ow0KfQ0KDQojZmFuY3ktYmctdyB7DQoJdG9wOiAwOw0KCWxlZnQ6IC0yMHB4Ow0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LXkucG5nJyk7DQp9DQoNCiNmYW5jeS1iZy1udyB7DQoJdG9wOiAtMjBweDsNCglsZWZ0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjJweDsNCn0NCg0KLyogSUUgKi8NCg0KI2ZhbmN5Ym94LWxvYWRpbmcuZmFuY3lib3gtaWUgZGl2CXsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9sb2FkaW5nLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1jbG9zZQkJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X2Nsb3NlLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KDQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLW92ZXIJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3RpdGxlX292ZXIucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB6b29tOiAxOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLWxlZnQJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3RpdGxlX2xlZnQucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLW1haW4JeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3RpdGxlX21haW4ucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLXJpZ2h0CXsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV90aXRsZV9yaWdodC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCg0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1sZWZ0LWljbwkJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X25hdl9sZWZ0LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1yaWdodC1pY28JeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X25hdl9yaWdodC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCg0KLmZhbmN5Ym94LWllIC5mYW5jeS1iZyB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH0NCg0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1uCXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd19uLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1uZQl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9zaGFkb3dfbmUucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5LWJnLWUJeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfc2hhZG93X2UucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5LWJnLXNlCXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd19zZS5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3ktYmctcwl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9zaGFkb3dfcy5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3ktYmctc3cJeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lib3gvZmFuY3lfc2hhZG93X3N3LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy13CXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5Ym94L2ZhbmN5X3NoYWRvd193LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1udwl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeWJveC9mYW5jeV9zaGFkb3dfbncucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/jquery.fancybox-1.3.1.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKiANCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzDQogKg0KICogVmVyc2lvbjogMS4zLjEgKDA1LzAzLzIwMTApDQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrDQogKg0KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KICovDQoNCihmdW5jdGlvbigkKSB7DQoNCgl2YXIgdG1wLCBsb2FkaW5nLCBvdmVybGF5LCB3cmFwLCBvdXRlciwgaW5uZXIsIGNsb3NlLCBuYXZfbGVmdCwgbmF2X3JpZ2h0LA0KDQoJCXNlbGVjdGVkSW5kZXggPSAwLCBzZWxlY3RlZE9wdHMgPSB7fSwgc2VsZWN0ZWRBcnJheSA9IFtdLCBjdXJyZW50SW5kZXggPSAwLCBjdXJyZW50T3B0cyA9IHt9LCBjdXJyZW50QXJyYXkgPSBbXSwNCg0KCQlhamF4TG9hZGVyID0gbnVsbCwgaW1nUHJlbG9hZGVyID0gbmV3IEltYWdlKCksIGltZ1JlZ0V4cCA9IC9cLihqcGd8Z2lmfHBuZ3xibXB8anBlZykoLiopPyQvaSwgc3dmUmVnRXhwID0gL1teXC5dXC4oc3dmKVxzKiQvaSwNCg0KCQlsb2FkaW5nVGltZXIsIGxvYWRpbmdGcmFtZSA9IDEsDQoNCgkJc3RhcnRfcG9zLCBmaW5hbF9wb3MsIGJ1c3kgPSBmYWxzZSwgc2hhZG93ID0gMjAsIGZ4ID0gJC5leHRlbmQoJCgnPGRpdi8+JylbMF0sIHsgcHJvcDogMCB9KSwgdGl0bGVoID0gMCwgDQoNCgkJaXNJRTYgPSAhJC5zdXBwb3J0Lm9wYWNpdHkgJiYgIXdpbmRvdy5YTUxIdHRwUmVxdWVzdCwNCg0KCQkvKg0KCQkgKiBQcml2YXRlIG1ldGhvZHMgDQoJCSAqLw0KDQoJCWZhbmN5Ym94X2Fib3J0ID0gZnVuY3Rpb24oKSB7DQoJCQlsb2FkaW5nLmhpZGUoKTsNCg0KCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBpbWdQcmVsb2FkZXIub25sb2FkID0gbnVsbDsNCg0KCQkJaWYgKGFqYXhMb2FkZXIpIHsNCgkJCQlhamF4TG9hZGVyLmFib3J0KCk7DQoJCQl9DQoNCgkJCXRtcC5lbXB0eSgpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2Vycm9yID0gZnVuY3Rpb24oKSB7DQoJCQkkLmZhbmN5Ym94KCc8cCBpZD0iZmFuY3lib3hfZXJyb3IiPlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiciAvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicsIHsNCgkJCQknc2Nyb2xsaW5nJwkJOiAnbm8nLA0KCQkJCSdwYWRkaW5nJwkJOiAyMCwNCgkJCQkndHJhbnNpdGlvbkluJwk6ICdub25lJywNCgkJCQkndHJhbnNpdGlvbk91dCcJOiAnbm9uZScNCgkJCX0pOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF92aWV3cG9ydCA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIFsgJCh3aW5kb3cpLndpZHRoKCksICQod2luZG93KS5oZWlnaHQoKSwgJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLCAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSBdOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF96b29tX3RvID0gZnVuY3Rpb24gKCkgew0KCQkJdmFyIHZpZXcJPSBmYW5jeWJveF9nZXRfdmlld3BvcnQoKSwNCgkJCQl0bwkJPSB7fSwNCg0KCQkJCW1hcmdpbiA9IGN1cnJlbnRPcHRzLm1hcmdpbiwNCgkJCQlyZXNpemUgPSBjdXJyZW50T3B0cy5hdXRvU2NhbGUsDQoNCgkJCQlob3Jpem9udGFsX3NwYWNlCT0gKHNoYWRvdyArIG1hcmdpbikgKiAyLA0KCQkJCXZlcnRpY2FsX3NwYWNlCQk9IChzaGFkb3cgKyBtYXJnaW4pICogMiwNCgkJCQlkb3VibGVfcGFkZGluZwkJPSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLA0KCQkJCQ0KCQkJCXJhdGlvOw0KDQoJCQlpZiAoY3VycmVudE9wdHMud2lkdGgudG9TdHJpbmcoKS5pbmRleE9mKCclJykgPiAtMSkgew0KCQkJCXRvLndpZHRoID0gKCh2aWV3WzBdICogcGFyc2VGbG9hdChjdXJyZW50T3B0cy53aWR0aCkpIC8gMTAwKSAtIChzaGFkb3cgKiAyKSA7DQoJCQkJcmVzaXplID0gZmFsc2U7DQoNCgkJCX0gZWxzZSB7DQoJCQkJdG8ud2lkdGggPSBjdXJyZW50T3B0cy53aWR0aCArIGRvdWJsZV9wYWRkaW5nOw0KCQkJfQ0KDQoJCQlpZiAoY3VycmVudE9wdHMuaGVpZ2h0LnRvU3RyaW5nKCkuaW5kZXhPZignJScpID4gLTEpIHsNCgkJCQl0by5oZWlnaHQgPSAoKHZpZXdbMV0gKiBwYXJzZUZsb2F0KGN1cnJlbnRPcHRzLmhlaWdodCkpIC8gMTAwKSAtIChzaGFkb3cgKiAyKTsNCgkJCQlyZXNpemUgPSBmYWxzZTsNCg0KCQkJfSBlbHNlIHsNCgkJCQl0by5oZWlnaHQgPSBjdXJyZW50T3B0cy5oZWlnaHQgKyBkb3VibGVfcGFkZGluZzsNCgkJCX0NCg0KCQkJaWYgKHJlc2l6ZSAmJiAodG8ud2lkdGggPiAodmlld1swXSAtIGhvcml6b250YWxfc3BhY2UpIHx8IHRvLmhlaWdodCA+ICh2aWV3WzFdIC0gdmVydGljYWxfc3BhY2UpKSkgew0KCQkJCWlmIChzZWxlY3RlZE9wdHMudHlwZSA9PSAnaW1hZ2UnIHx8IHNlbGVjdGVkT3B0cy50eXBlID09ICdzd2YnKSB7DQoJCQkJCWhvcml6b250YWxfc3BhY2UJKz0gZG91YmxlX3BhZGRpbmc7DQoJCQkJCXZlcnRpY2FsX3NwYWNlCQkrPSBkb3VibGVfcGFkZGluZzsNCg0KCQkJCQlyYXRpbyA9IE1hdGgubWluKE1hdGgubWluKCB2aWV3WzBdIC0gaG9yaXpvbnRhbF9zcGFjZSwgY3VycmVudE9wdHMud2lkdGgpIC8gY3VycmVudE9wdHMud2lkdGgsIE1hdGgubWluKCB2aWV3WzFdIC0gdmVydGljYWxfc3BhY2UsIGN1cnJlbnRPcHRzLmhlaWdodCkgLyBjdXJyZW50T3B0cy5oZWlnaHQpOw0KDQoJCQkJCXRvLndpZHRoCT0gTWF0aC5yb3VuZChyYXRpbyAqICh0by53aWR0aAktIGRvdWJsZV9wYWRkaW5nKSkgKyBkb3VibGVfcGFkZGluZzsNCgkJCQkJdG8uaGVpZ2h0CT0gTWF0aC5yb3VuZChyYXRpbyAqICh0by5oZWlnaHQJLSBkb3VibGVfcGFkZGluZykpICsgZG91YmxlX3BhZGRpbmc7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQl0by53aWR0aAk9IE1hdGgubWluKHRvLndpZHRoLAkodmlld1swXSAtIGhvcml6b250YWxfc3BhY2UpKTsNCgkJCQkJdG8uaGVpZ2h0CT0gTWF0aC5taW4odG8uaGVpZ2h0LAkodmlld1sxXSAtIHZlcnRpY2FsX3NwYWNlKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0by50b3AJPSB2aWV3WzNdICsgKCh2aWV3WzFdIC0gKHRvLmhlaWdodAkrIChzaGFkb3cgKiAyICkpKSAqIDAuNSk7DQoJCQl0by5sZWZ0CT0gdmlld1syXSArICgodmlld1swXSAtICh0by53aWR0aAkrIChzaGFkb3cgKiAyICkpKSAqIDAuNSk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy5hdXRvU2NhbGUgPT09IGZhbHNlKSB7DQoJCQkJdG8udG9wCT0gTWF0aC5tYXgodmlld1szXSArIG1hcmdpbiwgdG8udG9wKTsNCgkJCQl0by5sZWZ0CT0gTWF0aC5tYXgodmlld1syXSArIG1hcmdpbiwgdG8ubGVmdCk7DQoJCQl9DQoNCgkJCXJldHVybiB0bzsNCgkJfSwNCg0KCQlmYW5jeWJveF9mb3JtYXRfdGl0bGUgPSBmdW5jdGlvbih0aXRsZSkgew0KCQkJaWYgKHRpdGxlICYmIHRpdGxlLmxlbmd0aCkgew0KCQkJCXN3aXRjaCAoY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbikgew0KCQkJCQljYXNlICdpbnNpZGUnOg0KCQkJCQkJcmV0dXJuIHRpdGxlOw0KCQkJCQljYXNlICdvdmVyJzoNCgkJCQkJCXJldHVybiAnPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW92ZXIiPicgKyB0aXRsZSArICc8L3NwYW4+JzsNCgkJCQkJZGVmYXVsdDoNCgkJCQkJCXJldHVybiAnPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLXdyYXAiPjxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS1sZWZ0Ij48L3NwYW4+PHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW1haW4iPicgKyB0aXRsZSArICc8L3NwYW4+PHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLXJpZ2h0Ij48L3NwYW4+PC9zcGFuPic7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0sDQoNCgkJZmFuY3lib3hfcHJvY2Vzc190aXRsZSA9IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHRpdGxlCT0gY3VycmVudE9wdHMudGl0bGUsDQoJCQkJd2lkdGgJPSBmaW5hbF9wb3Mud2lkdGggLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLA0KCQkJCXRpdGxlYwk9ICdmYW5jeWJveC10aXRsZS0nICsgY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbjsNCgkJCQkNCgkJCSQoJyNmYW5jeWJveC10aXRsZScpLnJlbW92ZSgpOw0KDQoJCQl0aXRsZWggPSAwOw0KDQoJCQlpZiAoY3VycmVudE9wdHMudGl0bGVTaG93ID09PSBmYWxzZSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdGl0bGUgPSAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMudGl0bGVGb3JtYXQpID8gY3VycmVudE9wdHMudGl0bGVGb3JtYXQodGl0bGUsIGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cykgOiBmYW5jeWJveF9mb3JtYXRfdGl0bGUodGl0bGUpOw0KDQoJCQlpZiAoIXRpdGxlIHx8IHRpdGxlID09PSAnJykgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJJCgnPGRpdiBpZD0iZmFuY3lib3gtdGl0bGUiIGNsYXNzPSInICsgdGl0bGVjICsgJyIgLz4nKS5jc3Moew0KCQkJCSd3aWR0aCcJCQk6IHdpZHRoLA0KCQkJCSdwYWRkaW5nTGVmdCcJOiBjdXJyZW50T3B0cy5wYWRkaW5nLA0KCQkJCSdwYWRkaW5nUmlnaHQnCTogY3VycmVudE9wdHMucGFkZGluZw0KCQkJfSkuaHRtbCh0aXRsZSkuYXBwZW5kVG8oJ2JvZHknKTsNCg0KCQkJc3dpdGNoIChjdXJyZW50T3B0cy50aXRsZVBvc2l0aW9uKSB7DQoJCQkJY2FzZSAnaW5zaWRlJzoNCgkJCQkJdGl0bGVoID0gJCgiI2ZhbmN5Ym94LXRpdGxlIikub3V0ZXJIZWlnaHQodHJ1ZSkgLSBjdXJyZW50T3B0cy5wYWRkaW5nOw0KCQkJCQlmaW5hbF9wb3MuaGVpZ2h0ICs9IHRpdGxlaDsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ292ZXInOg0KCQkJCQkkKCcjZmFuY3lib3gtdGl0bGUnKS5jc3MoJ2JvdHRvbScsIGN1cnJlbnRPcHRzLnBhZGRpbmcpOw0KCQkJCWJyZWFrOw0KDQoJCQkJZGVmYXVsdDoNCgkJCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuY3NzKCdib3R0b20nLCAkKCIjZmFuY3lib3gtdGl0bGUiKS5vdXRlckhlaWdodCh0cnVlKSAqIC0xKTsNCgkJCQlicmVhazsNCgkJCX0NCg0KCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuYXBwZW5kVG8oIG91dGVyICkuaGlkZSgpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X3NldF9uYXZpZ2F0aW9uID0gZnVuY3Rpb24oKSB7DQoJCQkkKGRvY3VtZW50KS51bmJpbmQoJ2tleWRvd24uZmInKS5iaW5kKCdrZXlkb3duLmZiJywgZnVuY3Rpb24oZSkgew0KCQkJCWlmIChlLmtleUNvZGUgPT0gMjcgJiYgY3VycmVudE9wdHMuZW5hYmxlRXNjYXBlQnV0dG9uKSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQkJJC5mYW5jeWJveC5jbG9zZSgpOw0KDQoJCQkJfSBlbHNlIGlmIChlLmtleUNvZGUgPT0gMzcpIHsNCgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkkLmZhbmN5Ym94LnByZXYoKTsNCg0KCQkJCX0gZWxzZSBpZiAoZS5rZXlDb2RlID09IDM5KSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQkJJC5mYW5jeWJveC5uZXh0KCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCWlmICgkLmZuLm1vdXNld2hlZWwpIHsNCgkJCQl3cmFwLnVuYmluZCgnbW91c2V3aGVlbC5mYicpOw0KDQoJCQkJaWYgKGN1cnJlbnRBcnJheS5sZW5ndGggPiAxKSB7DQoJCQkJCXdyYXAuYmluZCgnbW91c2V3aGVlbC5mYicsIGZ1bmN0aW9uKGUsIGRlbHRhKSB7DQoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJCWlmIChidXN5IHx8IGRlbHRhID09PSAwKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KDQoJCQkJCQlpZiAoZGVsdGEgPiAwKSB7DQoJCQkJCQkJJC5mYW5jeWJveC5wcmV2KCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCSQuZmFuY3lib3gubmV4dCgpOw0KCQkJCQkJfQ0KCQkJCQl9KTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICghY3VycmVudE9wdHMuc2hvd05hdkFycm93cykgeyByZXR1cm47IH0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPT0gMCkgew0KCQkJCW5hdl9sZWZ0LnNob3coKTsNCgkJCX0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPSAoY3VycmVudEFycmF5Lmxlbmd0aCAtMSkpIHsNCgkJCQluYXZfcmlnaHQuc2hvdygpOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X3ByZWxvYWRfaW1hZ2VzID0gZnVuY3Rpb24oKSB7DQoJCQl2YXIgaHJlZiwgDQoJCQkJb2JqTmV4dDsNCgkJCQkNCgkJCWlmICgoY3VycmVudEFycmF5Lmxlbmd0aCAtMSkgPiBjdXJyZW50SW5kZXgpIHsNCgkJCQlocmVmID0gY3VycmVudEFycmF5WyBjdXJyZW50SW5kZXggKyAxIF0uaHJlZjsNCg0KCQkJCWlmICh0eXBlb2YgaHJlZiAhPT0gJ3VuZGVmaW5lZCcgJiYgaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQkJb2JqTmV4dC5zcmMgPSBocmVmOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKGN1cnJlbnRJbmRleCA+IDApIHsNCgkJCQlocmVmID0gY3VycmVudEFycmF5WyBjdXJyZW50SW5kZXggLSAxIF0uaHJlZjsNCg0KCQkJCWlmICh0eXBlb2YgaHJlZiAhPT0gJ3VuZGVmaW5lZCcgJiYgaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQkJb2JqTmV4dC5zcmMgPSBocmVmOw0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQlfZmluaXNoID0gZnVuY3Rpb24gKCkgew0KCQkJaW5uZXIuY3NzKCdvdmVyZmxvdycsIChjdXJyZW50T3B0cy5zY3JvbGxpbmcgPT0gJ2F1dG8nID8gKGN1cnJlbnRPcHRzLnR5cGUgPT0gJ2ltYWdlJyB8fCBjdXJyZW50T3B0cy50eXBlID09ICdpZnJhbWUnIHx8IGN1cnJlbnRPcHRzLnR5cGUgPT0gJ3N3ZicgPyAnaGlkZGVuJyA6ICdhdXRvJykgOiAoY3VycmVudE9wdHMuc2Nyb2xsaW5nID09ICd5ZXMnID8gJ2F1dG8nIDogJ3Zpc2libGUnKSkpOw0KDQoJCQlpZiAoISQuc3VwcG9ydC5vcGFjaXR5KSB7DQoJCQkJaW5uZXIuZ2V0KDApLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnZmlsdGVyJyk7DQoJCQkJd3JhcC5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCdmaWx0ZXInKTsNCgkJCX0NCg0KCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuc2hvdygpOw0KDQoJCQlpZiAoY3VycmVudE9wdHMuaGlkZU9uQ29udGVudENsaWNrKQl7DQoJCQkJaW5uZXIub25lKCdjbGljaycsICQuZmFuY3lib3guY2xvc2UpOw0KCQkJfQ0KCQkJaWYgKGN1cnJlbnRPcHRzLmhpZGVPbk92ZXJsYXlDbGljaykJew0KCQkJCW92ZXJsYXkub25lKCdjbGljaycsICQuZmFuY3lib3guY2xvc2UpOw0KCQkJfQ0KDQoJCQlpZiAoY3VycmVudE9wdHMuc2hvd0Nsb3NlQnV0dG9uKSB7DQoJCQkJY2xvc2Uuc2hvdygpOw0KCQkJfQ0KDQoJCQlmYW5jeWJveF9zZXRfbmF2aWdhdGlvbigpOw0KDQoJCQkkKHdpbmRvdykuYmluZCgicmVzaXplLmZiIiwgJC5mYW5jeWJveC5jZW50ZXIpOw0KDQoJCQlpZiAoY3VycmVudE9wdHMuY2VudGVyT25TY3JvbGwpIHsNCgkJCQkkKHdpbmRvdykuYmluZCgic2Nyb2xsLmZiIiwgJC5mYW5jeWJveC5jZW50ZXIpOw0KCQkJfSBlbHNlIHsNCgkJCQkkKHdpbmRvdykudW5iaW5kKCJzY3JvbGwuZmIiKTsNCgkJCX0NCg0KCQkJaWYgKCQuaXNGdW5jdGlvbihjdXJyZW50T3B0cy5vbkNvbXBsZXRlKSkgew0KCQkJCWN1cnJlbnRPcHRzLm9uQ29tcGxldGUoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKTsNCgkJCX0NCg0KCQkJYnVzeSA9IGZhbHNlOw0KDQoJCQlmYW5jeWJveF9wcmVsb2FkX2ltYWdlcygpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2RyYXcgPSBmdW5jdGlvbihwb3MpIHsNCgkJCXZhciB3aWR0aAk9IE1hdGgucm91bmQoc3RhcnRfcG9zLndpZHRoCSsgKGZpbmFsX3Bvcy53aWR0aAktIHN0YXJ0X3Bvcy53aWR0aCkJKiBwb3MpLA0KCQkJCWhlaWdodAk9IE1hdGgucm91bmQoc3RhcnRfcG9zLmhlaWdodAkrIChmaW5hbF9wb3MuaGVpZ2h0CS0gc3RhcnRfcG9zLmhlaWdodCkJKiBwb3MpLA0KDQoJCQkJdG9wCQk9IE1hdGgucm91bmQoc3RhcnRfcG9zLnRvcAkrIChmaW5hbF9wb3MudG9wCS0gc3RhcnRfcG9zLnRvcCkJKiBwb3MpLA0KCQkJCWxlZnQJPSBNYXRoLnJvdW5kKHN0YXJ0X3Bvcy5sZWZ0CSsgKGZpbmFsX3Bvcy5sZWZ0CS0gc3RhcnRfcG9zLmxlZnQpCSogcG9zKTsNCg0KCQkJd3JhcC5jc3Moew0KCQkJCSd3aWR0aCcJCTogd2lkdGgJCSsgJ3B4JywNCgkJCQknaGVpZ2h0Jwk6IGhlaWdodAkrICdweCcsDQoJCQkJJ3RvcCcJCTogdG9wCQkrICdweCcsDQoJCQkJJ2xlZnQnCQk6IGxlZnQJCSsgJ3B4Jw0KCQkJfSk7DQoNCgkJCXdpZHRoCT0gTWF0aC5tYXgod2lkdGggLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMiwgMCk7DQoJCQloZWlnaHQJPSBNYXRoLm1heChoZWlnaHQgLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIgKyAodGl0bGVoICogcG9zKSksIDApOw0KDQoJCQlpbm5lci5jc3Moew0KCQkJCSd3aWR0aCcJCTogd2lkdGgJCSsgJ3B4JywNCgkJCQknaGVpZ2h0Jwk6IGhlaWdodAkrICdweCcNCgkJCX0pOw0KDQoJCQlpZiAodHlwZW9mIGZpbmFsX3Bvcy5vcGFjaXR5ICE9PSAndW5kZWZpbmVkJykgew0KCQkJCXdyYXAuY3NzKCdvcGFjaXR5JywgKHBvcyA8IDAuNSA/IDAuNSA6IHBvcykpOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF9vYmpfcG9zID0gZnVuY3Rpb24ob2JqKSB7DQoJCQl2YXIgcG9zCQk9IG9iai5vZmZzZXQoKTsNCg0KCQkJcG9zLnRvcAkJKz0gcGFyc2VGbG9hdCggb2JqLmNzcygncGFkZGluZ1RvcCcpICkJfHwgMDsNCgkJCXBvcy5sZWZ0CSs9IHBhcnNlRmxvYXQoIG9iai5jc3MoJ3BhZGRpbmdMZWZ0JykgKQl8fCAwOw0KDQoJCQlwb3MudG9wCQkrPSBwYXJzZUZsb2F0KCBvYmouY3NzKCdib3JkZXItdG9wLXdpZHRoJykgKQl8fCAwOw0KCQkJcG9zLmxlZnQJKz0gcGFyc2VGbG9hdCggb2JqLmNzcygnYm9yZGVyLWxlZnQtd2lkdGgnKSApCXx8IDA7DQoNCgkJCXBvcy53aWR0aAk9IG9iai53aWR0aCgpOw0KCQkJcG9zLmhlaWdodAk9IG9iai5oZWlnaHQoKTsNCg0KCQkJcmV0dXJuIHBvczsNCgkJfSwNCg0KCQlmYW5jeWJveF9nZXRfem9vbV9mcm9tID0gZnVuY3Rpb24oKSB7DQoJCQl2YXIgb3JpZyA9IHNlbGVjdGVkT3B0cy5vcmlnID8gJChzZWxlY3RlZE9wdHMub3JpZykgOiBmYWxzZSwNCgkJCQlmcm9tID0ge30sDQoJCQkJcG9zLA0KCQkJCXZpZXc7DQoNCgkJCWlmIChvcmlnICYmIG9yaWcubGVuZ3RoKSB7DQoJCQkJcG9zID0gZmFuY3lib3hfZ2V0X29ial9wb3Mob3JpZyk7DQoNCgkJCQlmcm9tID0gew0KCQkJCQl3aWR0aAk6IChwb3Mud2lkdGgJKyAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpKSwNCgkJCQkJaGVpZ2h0CTogKHBvcy5oZWlnaHQJKyAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpKSwNCgkJCQkJdG9wCQk6IChwb3MudG9wCQktIGN1cnJlbnRPcHRzLnBhZGRpbmcgLSBzaGFkb3cpLA0KCQkJCQlsZWZ0CTogKHBvcy5sZWZ0CQktIGN1cnJlbnRPcHRzLnBhZGRpbmcgLSBzaGFkb3cpDQoJCQkJfTsNCgkJCQkNCgkJCX0gZWxzZSB7DQoJCQkJdmlldyA9IGZhbmN5Ym94X2dldF92aWV3cG9ydCgpOw0KDQoJCQkJZnJvbSA9IHsNCgkJCQkJd2lkdGgJOiAxLA0KCQkJCQloZWlnaHQJOiAxLA0KCQkJCQl0b3AJCTogdmlld1szXSArIHZpZXdbMV0gKiAwLjUsDQoJCQkJCWxlZnQJOiB2aWV3WzJdICsgdmlld1swXSAqIDAuNQ0KCQkJCX07DQoJCQl9DQoNCgkJCXJldHVybiBmcm9tOw0KCQl9LA0KDQoJCWZhbmN5Ym94X3Nob3cgPSBmdW5jdGlvbigpIHsNCgkJCWxvYWRpbmcuaGlkZSgpOw0KDQoJCQlpZiAod3JhcC5pcygiOnZpc2libGUiKSAmJiAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMub25DbGVhbnVwKSkgew0KCQkJCWlmIChjdXJyZW50T3B0cy5vbkNsZWFudXAoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKSA9PT0gZmFsc2UpIHsNCgkJCQkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jYW5jZWwnKTsNCg0KCQkJCQlidXN5ID0gZmFsc2U7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQl9DQoNCgkJCWN1cnJlbnRBcnJheQk9IHNlbGVjdGVkQXJyYXk7DQoJCQljdXJyZW50SW5kZXgJPSBzZWxlY3RlZEluZGV4Ow0KCQkJY3VycmVudE9wdHMJCT0gc2VsZWN0ZWRPcHRzOw0KDQoJCQlpbm5lci5nZXQoMCkuc2Nyb2xsVG9wCT0gMDsNCgkJCWlubmVyLmdldCgwKS5zY3JvbGxMZWZ0CT0gMDsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLm92ZXJsYXlTaG93KSB7DQoJCQkJaWYgKGlzSUU2KSB7DQoJCQkJCSQoJ3NlbGVjdDpub3QoI2ZhbmN5Ym94LXRtcCBzZWxlY3QpJykuZmlsdGVyKGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIHRoaXMuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7DQoJCQkJCX0pLmNzcyh7J3Zpc2liaWxpdHknOidoaWRkZW4nfSkub25lKCdmYW5jeWJveC1jbGVhbnVwJywgZnVuY3Rpb24oKSB7DQoJCQkJCQl0aGlzLnN0eWxlLnZpc2liaWxpdHkgPSAnaW5oZXJpdCc7DQoJCQkJCX0pOw0KCQkJCX0NCg0KCQkJCW92ZXJsYXkuY3NzKHsNCgkJCQkJJ2JhY2tncm91bmQtY29sb3InCTogY3VycmVudE9wdHMub3ZlcmxheUNvbG9yLA0KCQkJCQknb3BhY2l0eScJCQk6IGN1cnJlbnRPcHRzLm92ZXJsYXlPcGFjaXR5DQoJCQkJfSkudW5iaW5kKCkuc2hvdygpOw0KCQkJfQ0KDQoJCQlmaW5hbF9wb3MgPSBmYW5jeWJveF9nZXRfem9vbV90bygpOw0KDQoJCQlmYW5jeWJveF9wcm9jZXNzX3RpdGxlKCk7DQoNCgkJCWlmICh3cmFwLmlzKCI6dmlzaWJsZSIpKSB7DQoJCQkJJCggY2xvc2UuYWRkKCBuYXZfbGVmdCApLmFkZCggbmF2X3JpZ2h0ICkgKS5oaWRlKCk7DQoNCgkJCQl2YXIgcG9zID0gd3JhcC5wb3NpdGlvbigpLA0KCQkJCQllcXVhbDsNCg0KCQkJCXN0YXJ0X3BvcyA9IHsNCgkJCQkJdG9wCQk6CXBvcy50b3AgLA0KCQkJCQlsZWZ0CToJcG9zLmxlZnQsDQoJCQkJCXdpZHRoCToJd3JhcC53aWR0aCgpLA0KCQkJCQloZWlnaHQJOgl3cmFwLmhlaWdodCgpDQoJCQkJfTsNCg0KCQkJCWVxdWFsID0gKHN0YXJ0X3Bvcy53aWR0aCA9PSBmaW5hbF9wb3Mud2lkdGggJiYgc3RhcnRfcG9zLmhlaWdodCA9PSBmaW5hbF9wb3MuaGVpZ2h0KTsNCg0KCQkJCWlubmVyLmZhZGVPdXQoY3VycmVudE9wdHMuY2hhbmdlRmFkZSwgZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBmaW5pc2hfcmVzaXppbmcgPSBmdW5jdGlvbigpIHsNCgkJCQkJCWlubmVyLmh0bWwoIHRtcC5jb250ZW50cygpICkuZmFkZUluKGN1cnJlbnRPcHRzLmNoYW5nZUZhZGUsIF9maW5pc2gpOw0KCQkJCQl9Ow0KCQkJCQkNCgkJCQkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jaGFuZ2UnKTsNCg0KCQkJCQlpbm5lci5lbXB0eSgpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7DQoNCgkJCQkJaWYgKGVxdWFsKSB7DQoJCQkJCQlpbm5lci5jc3Moew0KCQkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQlsZWZ0CQk6IGN1cnJlbnRPcHRzLnBhZGRpbmcsDQoJCQkJCQkJd2lkdGgJCTogTWF0aC5tYXgoZmluYWxfcG9zLndpZHRoCS0gKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwgMSksDQoJCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KGZpbmFsX3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpIC0gdGl0bGVoLCAxKQ0KCQkJCQkJfSk7DQoJCQkJCQkNCgkJCQkJCWZpbmlzaF9yZXNpemluZygpOw0KDQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlpbm5lci5jc3Moew0KCQkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQlsZWZ0CQk6IGN1cnJlbnRPcHRzLnBhZGRpbmcsDQoJCQkJCQkJd2lkdGgJCTogTWF0aC5tYXgoc3RhcnRfcG9zLndpZHRoCS0gKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwgMSksDQoJCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLCAxKQ0KCQkJCQkJfSk7DQoJCQkJCQkNCgkJCQkJCWZ4LnByb3AgPSAwOw0KDQoJCQkJCQkkKGZ4KS5hbmltYXRlKHsgcHJvcDogMSB9LCB7DQoJCQkJCQkJIGR1cmF0aW9uCTogY3VycmVudE9wdHMuY2hhbmdlU3BlZWQsDQoJCQkJCQkJIGVhc2luZwkJOiBjdXJyZW50T3B0cy5lYXNpbmdDaGFuZ2UsDQoJCQkJCQkJIHN0ZXAJCTogZmFuY3lib3hfZHJhdywNCgkJCQkJCQkgY29tcGxldGUJOiBmaW5pc2hfcmVzaXppbmcNCgkJCQkJCX0pOw0KCQkJCQl9DQoJCQkJfSk7DQoNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXdyYXAuY3NzKCdvcGFjaXR5JywgMSk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy50cmFuc2l0aW9uSW4gPT0gJ2VsYXN0aWMnKSB7DQoJCQkJc3RhcnRfcG9zID0gZmFuY3lib3hfZ2V0X3pvb21fZnJvbSgpOw0KDQoJCQkJaW5uZXIuY3NzKHsNCgkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCWxlZnQJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCXdpZHRoCQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy53aWR0aAktIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksIDEpLA0KCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLCAxKQ0KCQkJCQl9KQ0KCQkJCQkuaHRtbCggdG1wLmNvbnRlbnRzKCkgKTsNCg0KCQkJCXdyYXAuY3NzKHN0YXJ0X3Bvcykuc2hvdygpOw0KDQoJCQkJaWYgKGN1cnJlbnRPcHRzLm9wYWNpdHkpIHsNCgkJCQkJZmluYWxfcG9zLm9wYWNpdHkgPSAwOw0KCQkJCX0NCg0KCQkJCWZ4LnByb3AgPSAwOw0KDQoJCQkJJChmeCkuYW5pbWF0ZSh7IHByb3A6IDEgfSwgew0KCQkJCQkgZHVyYXRpb24JOiBjdXJyZW50T3B0cy5zcGVlZEluLA0KCQkJCQkgZWFzaW5nCQk6IGN1cnJlbnRPcHRzLmVhc2luZ0luLA0KCQkJCQkgc3RlcAkJOiBmYW5jeWJveF9kcmF3LA0KCQkJCQkgY29tcGxldGUJOiBfZmluaXNoDQoJCQkJfSk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJaW5uZXIuY3NzKHsNCgkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCWxlZnQJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCXdpZHRoCQk6IE1hdGgubWF4KGZpbmFsX3Bvcy53aWR0aAktIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksIDEpLA0KCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KGZpbmFsX3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpIC0gdGl0bGVoLCAxKQ0KCQkJCQl9KQ0KCQkJCQkuaHRtbCggdG1wLmNvbnRlbnRzKCkgKTsNCg0KCQkJCXdyYXAuY3NzKCBmaW5hbF9wb3MgKS5mYWRlSW4oIGN1cnJlbnRPcHRzLnRyYW5zaXRpb25JbiA9PSAnbm9uZScgPyAwIDogY3VycmVudE9wdHMuc3BlZWRJbiwgX2ZpbmlzaCApOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X3Byb2Nlc3NfaW5saW5lID0gZnVuY3Rpb24oKSB7DQoJCQl0bXAud2lkdGgoCXNlbGVjdGVkT3B0cy53aWR0aCApOw0KCQkJdG1wLmhlaWdodCgJc2VsZWN0ZWRPcHRzLmhlaWdodCApOw0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLndpZHRoCT09ICdhdXRvJykgew0KCQkJCXNlbGVjdGVkT3B0cy53aWR0aCA9IHRtcC53aWR0aCgpOw0KCQkJfQ0KCQkJaWYgKHNlbGVjdGVkT3B0cy5oZWlnaHQJPT0gJ2F1dG8nKSB7DQoJCQkJc2VsZWN0ZWRPcHRzLmhlaWdodAk9IHRtcC5oZWlnaHQoKTsNCgkJCX0NCg0KCQkJZmFuY3lib3hfc2hvdygpOw0KCQl9LA0KCQkNCgkJZmFuY3lib3hfcHJvY2Vzc19pbWFnZSA9IGZ1bmN0aW9uKCkgew0KCQkJYnVzeSA9IHRydWU7DQoNCgkJCXNlbGVjdGVkT3B0cy53aWR0aAk9IGltZ1ByZWxvYWRlci53aWR0aDsNCgkJCXNlbGVjdGVkT3B0cy5oZWlnaHQJPSBpbWdQcmVsb2FkZXIuaGVpZ2h0Ow0KDQoJCQkkKCI8aW1nIC8+IikuYXR0cih7DQoJCQkJJ2lkJwk6ICdmYW5jeWJveC1pbWcnLA0KCQkJCSdzcmMnCTogaW1nUHJlbG9hZGVyLnNyYywNCgkJCQknYWx0Jwk6IHNlbGVjdGVkT3B0cy50aXRsZQ0KCQkJfSkuYXBwZW5kVG8oIHRtcCApOw0KDQoJCQlmYW5jeWJveF9zaG93KCk7DQoJCX0sDQoNCgkJZmFuY3lib3hfc3RhcnQgPSBmdW5jdGlvbigpIHsNCgkJCWZhbmN5Ym94X2Fib3J0KCk7DQoNCgkJCXZhciBvYmoJPSBzZWxlY3RlZEFycmF5WyBzZWxlY3RlZEluZGV4IF0sDQoJCQkJaHJlZiwgDQoJCQkJdHlwZSwgDQoJCQkJdGl0bGUsDQoJCQkJc3RyLA0KCQkJCWVtYiwNCgkJCQlzZWxlY3RvciwNCgkJCQlkYXRhOw0KDQoJCQlzZWxlY3RlZE9wdHMgPSAkLmV4dGVuZCh7fSwgJC5mbi5mYW5jeWJveC5kZWZhdWx0cywgKHR5cGVvZiAkKG9iaikuZGF0YSgnZmFuY3lib3gnKSA9PSAndW5kZWZpbmVkJyA/IHNlbGVjdGVkT3B0cyA6ICQob2JqKS5kYXRhKCdmYW5jeWJveCcpKSk7DQoJCQl0aXRsZSA9IG9iai50aXRsZSB8fCAkKG9iaikudGl0bGUgfHwgc2VsZWN0ZWRPcHRzLnRpdGxlIHx8ICcnOw0KCQkJDQoJCQlpZiAob2JqLm5vZGVOYW1lICYmICFzZWxlY3RlZE9wdHMub3JpZykgew0KCQkJCXNlbGVjdGVkT3B0cy5vcmlnID0gJChvYmopLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKS5sZW5ndGggPyAkKG9iaikuY2hpbGRyZW4oImltZzpmaXJzdCIpIDogJChvYmopOw0KCQkJfQ0KDQoJCQlpZiAodGl0bGUgPT09ICcnICYmIHNlbGVjdGVkT3B0cy5vcmlnKSB7DQoJCQkJdGl0bGUgPSBzZWxlY3RlZE9wdHMub3JpZy5hdHRyKCdhbHQnKTsNCgkJCX0NCg0KCQkJaWYgKG9iai5ub2RlTmFtZSAmJiAoL14oPzpqYXZhc2NyaXB0fCMpL2kpLnRlc3Qob2JqLmhyZWYpKSB7DQoJCQkJaHJlZiA9IHNlbGVjdGVkT3B0cy5ocmVmIHx8IG51bGw7DQoJCQl9IGVsc2Ugew0KCQkJCWhyZWYgPSBzZWxlY3RlZE9wdHMuaHJlZiB8fCBvYmouaHJlZiB8fCBudWxsOw0KCQkJfQ0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLnR5cGUpIHsNCgkJCQl0eXBlID0gc2VsZWN0ZWRPcHRzLnR5cGU7DQoNCgkJCQlpZiAoIWhyZWYpIHsNCgkJCQkJaHJlZiA9IHNlbGVjdGVkT3B0cy5jb250ZW50Ow0KCQkJCX0NCgkJCQkNCgkJCX0gZWxzZSBpZiAoc2VsZWN0ZWRPcHRzLmNvbnRlbnQpIHsNCgkJCQl0eXBlCT0gJ2h0bWwnOw0KDQoJCQl9IGVsc2UgaWYgKGhyZWYpIHsNCgkJCQlpZiAoaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCXR5cGUgPSAnaW1hZ2UnOw0KDQoJCQkJfSBlbHNlIGlmIChocmVmLm1hdGNoKHN3ZlJlZ0V4cCkpIHsNCgkJCQkJdHlwZSA9ICdzd2YnOw0KDQoJCQkJfSBlbHNlIGlmICgkKG9iaikuaGFzQ2xhc3MoImlmcmFtZSIpKSB7DQoJCQkJCXR5cGUgPSAnaWZyYW1lJzsNCg0KCQkJCX0gZWxzZSBpZiAoaHJlZi5tYXRjaCgvIy8pKSB7DQoJCQkJCW9iaiA9IGhyZWYuc3Vic3RyKGhyZWYuaW5kZXhPZigiIyIpKTsNCg0KCQkJCQl0eXBlID0gJChvYmopLmxlbmd0aCA+IDAgPyAnaW5saW5lJyA6ICdhamF4JzsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0eXBlID0gJ2FqYXgnOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJdHlwZSA9ICdpbmxpbmUnOw0KCQkJfQ0KDQoJCQlzZWxlY3RlZE9wdHMudHlwZQk9IHR5cGU7DQoJCQlzZWxlY3RlZE9wdHMuaHJlZgk9IGhyZWY7DQoJCQlzZWxlY3RlZE9wdHMudGl0bGUJPSB0aXRsZTsNCg0KCQkJaWYgKHNlbGVjdGVkT3B0cy5hdXRvRGltZW5zaW9ucyAmJiBzZWxlY3RlZE9wdHMudHlwZSAhPT0gJ2lmcmFtZScgJiYgc2VsZWN0ZWRPcHRzLnR5cGUgIT09ICdzd2YnKSB7DQoJCQkJc2VsZWN0ZWRPcHRzLndpZHRoCQk9ICdhdXRvJzsNCgkJCQlzZWxlY3RlZE9wdHMuaGVpZ2h0CQk9ICdhdXRvJzsNCgkJCX0NCg0KCQkJaWYgKHNlbGVjdGVkT3B0cy5tb2RhbCkgew0KCQkJCXNlbGVjdGVkT3B0cy5vdmVybGF5U2hvdwkJPSB0cnVlOw0KCQkJCXNlbGVjdGVkT3B0cy5oaWRlT25PdmVybGF5Q2xpY2sJPSBmYWxzZTsNCgkJCQlzZWxlY3RlZE9wdHMuaGlkZU9uQ29udGVudENsaWNrCT0gZmFsc2U7DQoJCQkJc2VsZWN0ZWRPcHRzLmVuYWJsZUVzY2FwZUJ1dHRvbgk9IGZhbHNlOw0KCQkJCXNlbGVjdGVkT3B0cy5zaG93Q2xvc2VCdXR0b24JPSBmYWxzZTsNCgkJCX0NCg0KCQkJaWYgKCQuaXNGdW5jdGlvbihzZWxlY3RlZE9wdHMub25TdGFydCkpIHsNCgkJCQlpZiAoc2VsZWN0ZWRPcHRzLm9uU3RhcnQoc2VsZWN0ZWRBcnJheSwgc2VsZWN0ZWRJbmRleCwgc2VsZWN0ZWRPcHRzKSA9PT0gZmFsc2UpIHsNCgkJCQkJYnVzeSA9IGZhbHNlOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0bXAuY3NzKCdwYWRkaW5nJywgKHNoYWRvdyArIHNlbGVjdGVkT3B0cy5wYWRkaW5nICsgc2VsZWN0ZWRPcHRzLm1hcmdpbikpOw0KDQoJCQkkKCcuZmFuY3lib3gtaW5saW5lLXRtcCcpLnVuYmluZCgnZmFuY3lib3gtY2FuY2VsJykuYmluZCgnZmFuY3lib3gtY2hhbmdlJywgZnVuY3Rpb24oKSB7DQoJCQkJJCh0aGlzKS5yZXBsYWNlV2l0aChpbm5lci5jaGlsZHJlbigpKTsNCgkJCX0pOw0KDQoJCQlzd2l0Y2ggKHR5cGUpIHsNCgkJCQljYXNlICdodG1sJyA6DQoJCQkJCXRtcC5odG1sKCBzZWxlY3RlZE9wdHMuY29udGVudCApOw0KCQkJCQlmYW5jeWJveF9wcm9jZXNzX2lubGluZSgpOw0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaW5saW5lJyA6DQoJCQkJCSQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWlubGluZS10bXAiIC8+JykuaGlkZSgpLmluc2VydEJlZm9yZSggJChvYmopICkuYmluZCgnZmFuY3lib3gtY2xlYW51cCcsIGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5yZXBsYWNlV2l0aChpbm5lci5jaGlsZHJlbigpKTsNCgkJCQkJfSkuYmluZCgnZmFuY3lib3gtY2FuY2VsJywgZnVuY3Rpb24oKSB7DQoJCQkJCQkkKHRoaXMpLnJlcGxhY2VXaXRoKHRtcC5jaGlsZHJlbigpKTsNCgkJCQkJfSk7DQoNCgkJCQkJJChvYmopLmFwcGVuZFRvKHRtcCk7DQoNCgkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ2ltYWdlJzoNCgkJCQkJYnVzeSA9IGZhbHNlOw0KDQoJCQkJCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5KCk7DQoNCgkJCQkJaW1nUHJlbG9hZGVyID0gbmV3IEltYWdlKCk7DQoNCgkJCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsNCgkJCQkJCWZhbmN5Ym94X2Vycm9yKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBudWxsOw0KCQkJCQkJaW1nUHJlbG9hZGVyLm9ubG9hZCA9IG51bGw7DQoJCQkJCQlmYW5jeWJveF9wcm9jZXNzX2ltYWdlKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLnNyYyA9IGhyZWY7DQoJCQ0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnc3dmJzoNCgkJCQkJc3RyID0gJzxvYmplY3QgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iJyArIHNlbGVjdGVkT3B0cy53aWR0aCArICciIGhlaWdodD0iJyArIHNlbGVjdGVkT3B0cy5oZWlnaHQgKyAnIj48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInICsgaHJlZiArICciPjwvcGFyYW0+JzsNCgkJCQkJZW1iID0gJyc7DQoJCQkJCQ0KCQkJCQkkLmVhY2goc2VsZWN0ZWRPcHRzLnN3ZiwgZnVuY3Rpb24obmFtZSwgdmFsKSB7DQoJCQkJCQlzdHIgKz0gJzxwYXJhbSBuYW1lPSInICsgbmFtZSArICciIHZhbHVlPSInICsgdmFsICsgJyI+PC9wYXJhbT4nOw0KCQkJCQkJZW1iICs9ICcgJyArIG5hbWUgKyAnPSInICsgdmFsICsgJyInOw0KCQkJCQl9KTsNCg0KCQkJCQlzdHIgKz0gJzxlbWJlZCBzcmM9IicgKyBocmVmICsgJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSInICsgc2VsZWN0ZWRPcHRzLndpZHRoICsgJyIgaGVpZ2h0PSInICsgc2VsZWN0ZWRPcHRzLmhlaWdodCArICciJyArIGVtYiArICc+PC9lbWJlZD48L29iamVjdD4nOw0KDQoJCQkJCXRtcC5odG1sKHN0cik7DQoNCgkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ2FqYXgnOg0KCQkJCQlzZWxlY3Rvcgk9IGhyZWYuc3BsaXQoJyMnLCAyKTsNCgkJCQkJZGF0YQkJPSBzZWxlY3RlZE9wdHMuYWpheC5kYXRhIHx8IHt9Ow0KDQoJCQkJCWlmIChzZWxlY3Rvci5sZW5ndGggPiAxKSB7DQoJCQkJCQlocmVmID0gc2VsZWN0b3JbMF07DQoNCgkJCQkJCWlmICh0eXBlb2YgZGF0YSA9PSAic3RyaW5nIikgew0KCQkJCQkJCWRhdGEgKz0gJyZzZWxlY3Rvcj0nICsgc2VsZWN0b3JbMV07DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWRhdGEuc2VsZWN0b3IgPSBzZWxlY3RvclsxXTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCWJ1c3kgPSBmYWxzZTsNCgkJCQkJJC5mYW5jeWJveC5zaG93QWN0aXZpdHkoKTsNCg0KCQkJCQlhamF4TG9hZGVyID0gJC5hamF4KCQuZXh0ZW5kKHNlbGVjdGVkT3B0cy5hamF4LCB7DQoJCQkJCQl1cmwJCTogaHJlZiwNCgkJCQkJCWRhdGEJOiBkYXRhLA0KCQkJCQkJZXJyb3IJOiBmYW5jeWJveF9lcnJvciwNCgkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhLCB0ZXh0U3RhdHVzLCBYTUxIdHRwUmVxdWVzdCkgew0KCQkJCQkJCWlmIChhamF4TG9hZGVyLnN0YXR1cyA9PSAyMDApIHsNCgkJCQkJCQkJdG1wLmh0bWwoIGRhdGEgKTsNCgkJCQkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0pKTsNCg0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaWZyYW1lJyA6DQoJCQkJCSQoJzxpZnJhbWUgaWQ9ImZhbmN5Ym94LWZyYW1lIiBuYW1lPSJmYW5jeWJveC1mcmFtZScgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSArICciIGZyYW1lYm9yZGVyPSIwIiBoc3BhY2U9IjAiIHNjcm9sbGluZz0iJyArIHNlbGVjdGVkT3B0cy5zY3JvbGxpbmcgKyAnIiBzcmM9IicgKyBzZWxlY3RlZE9wdHMuaHJlZiArICciPjwvaWZyYW1lPicpLmFwcGVuZFRvKHRtcCk7DQoJCQkJCWZhbmN5Ym94X3Nob3coKTsNCgkJCQlicmVhazsNCgkJCX0NCgkJfSwNCg0KCQlmYW5jeWJveF9hbmltYXRlX2xvYWRpbmcgPSBmdW5jdGlvbigpIHsNCgkJCWlmICghbG9hZGluZy5pcygnOnZpc2libGUnKSl7DQoJCQkJY2xlYXJJbnRlcnZhbChsb2FkaW5nVGltZXIpOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJJCgnZGl2JywgbG9hZGluZykuY3NzKCd0b3AnLCAobG9hZGluZ0ZyYW1lICogLTQwKSArICdweCcpOw0KDQoJCQlsb2FkaW5nRnJhbWUgPSAobG9hZGluZ0ZyYW1lICsgMSkgJSAxMjsNCgkJfSwNCg0KCQlmYW5jeWJveF9pbml0ID0gZnVuY3Rpb24oKSB7DQoJCQlpZiAoJCgiI2ZhbmN5Ym94LXdyYXAiKS5sZW5ndGgpIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCSQoJ2JvZHknKS5hcHBlbmQoDQoJCQkJdG1wCQkJPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC10bXAiPjwvZGl2PicpLA0KCQkJCWxvYWRpbmcJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtbG9hZGluZyI+PGRpdj48L2Rpdj48L2Rpdj4nKSwNCgkJCQlvdmVybGF5CQk9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLA0KCQkJCXdyYXAJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtd3JhcCI+PC9kaXY+JykNCgkJCSk7DQoNCgkJCWlmICghJC5zdXBwb3J0Lm9wYWNpdHkpIHsNCgkJCQl3cmFwLmFkZENsYXNzKCdmYW5jeWJveC1pZScpOw0KCQkJCWxvYWRpbmcuYWRkQ2xhc3MoJ2ZhbmN5Ym94LWllJyk7DQoJCQl9DQoNCgkJCW91dGVyID0gJCgnPGRpdiBpZD0iZmFuY3lib3gtb3V0ZXIiPjwvZGl2PicpDQoJCQkJLmFwcGVuZCgnPGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1uIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLW5lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLWUiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctc2UiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctcyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1zdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy13Ij48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLW53Ij48L2Rpdj4nKQ0KCQkJCS5hcHBlbmRUbyggd3JhcCApOw0KDQoJCQlvdXRlci5hcHBlbmQoDQoJCQkJaW5uZXIJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtaW5uZXIiPjwvZGl2PicpLA0KCQkJCWNsb3NlCQk9ICQoJzxhIGlkPSJmYW5jeWJveC1jbG9zZSI+PC9hPicpLA0KDQoJCQkJbmF2X2xlZnQJPSAkKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1sZWZ0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtbGVmdC1pY28iPjwvc3Bhbj48L2E+JyksDQoJCQkJbmF2X3JpZ2h0CT0gJCgnPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iZmFuY3lib3gtcmlnaHQiPjxzcGFuIGNsYXNzPSJmYW5jeS1pY28iIGlkPSJmYW5jeWJveC1yaWdodC1pY28iPjwvc3Bhbj48L2E+JykNCgkJCSk7DQoNCgkJCWNsb3NlLmNsaWNrKCQuZmFuY3lib3guY2xvc2UpOw0KCQkJbG9hZGluZy5jbGljaygkLmZhbmN5Ym94LmNhbmNlbCk7DQoNCgkJCW5hdl9sZWZ0LmNsaWNrKGZ1bmN0aW9uKGUpIHsNCgkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJJC5mYW5jeWJveC5wcmV2KCk7DQoJCQl9KTsNCg0KCQkJbmF2X3JpZ2h0LmNsaWNrKGZ1bmN0aW9uKGUpIHsNCgkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJJC5mYW5jeWJveC5uZXh0KCk7DQoJCQl9KTsNCg0KCQkJaWYgKGlzSUU2KSB7DQoJCQkJb3ZlcmxheS5nZXQoMCkuc3R5bGUuc2V0RXhwcmVzc2lvbignaGVpZ2h0JywJImRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgPyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCA6IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ICsgJ3B4JyIpOw0KCQkJCWxvYWRpbmcuZ2V0KDApLnN0eWxlLnNldEV4cHJlc3Npb24oJ3RvcCcsCQkiKC0yMCArIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yIDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQvMiApICsgKCBpZ25vcmVNZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKSkgKyAncHgnIik7DQoNCgkJCQlvdXRlci5wcmVwZW5kKCc8aWZyYW1lIGlkPSJmYW5jeWJveC1oaWRlLXNlbC1mcmFtZSIgc3JjPSJqYXZhc2NyaXB0OlwnXCc7IiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgPjwvaWZyYW1lPicpOw0KCQkJfQ0KCQl9Ow0KDQoJLyoNCgkgKiBQdWJsaWMgbWV0aG9kcyANCgkgKi8NCg0KCSQuZm4uZmFuY3lib3ggPSBmdW5jdGlvbihvcHRpb25zKSB7DQoJCSQodGhpcykNCgkJCS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRpb25zLCAoJC5tZXRhZGF0YSA/ICQodGhpcykubWV0YWRhdGEoKSA6IHt9KSkpDQoJCQkudW5iaW5kKCdjbGljay5mYicpLmJpbmQoJ2NsaWNrLmZiJywgZnVuY3Rpb24oZSkgew0KCQkJCWUucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCWlmIChidXN5KSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQlidXN5ID0gdHJ1ZTsNCg0KCQkJCSQodGhpcykuYmx1cigpOw0KDQoJCQkJc2VsZWN0ZWRBcnJheQk9IFtdOw0KCQkJCXNlbGVjdGVkSW5kZXgJPSAwOw0KDQoJCQkJdmFyIHJlbCA9ICQodGhpcykuYXR0cigncmVsJykgfHwgJyc7DQoNCgkJCQlpZiAoIXJlbCB8fCByZWwgPT0gJycgfHwgcmVsID09PSAnbm9mb2xsb3cnKSB7DQoJCQkJCXNlbGVjdGVkQXJyYXkucHVzaCh0aGlzKTsNCg0KCQkJCX0gZWxzZSB7DQoJCQkJCXNlbGVjdGVkQXJyYXkJPSAkKCJhW3JlbD0iICsgcmVsICsgIl0sIGFyZWFbcmVsPSIgKyByZWwgKyAiXSIpOw0KCQkJCQlzZWxlY3RlZEluZGV4CT0gc2VsZWN0ZWRBcnJheS5pbmRleCggdGhpcyApOw0KCQkJCX0NCg0KCQkJCWZhbmN5Ym94X3N0YXJ0KCk7DQoNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9KTsNCg0KCQlyZXR1cm4gdGhpczsNCgl9Ow0KDQoJJC5mYW5jeWJveCA9IGZ1bmN0aW9uKG9iaikgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJdmFyIG9wdHMgPSB0eXBlb2YgYXJndW1lbnRzWzFdICE9PSAndW5kZWZpbmVkJyA/IGFyZ3VtZW50c1sxXSA6IHt9Ow0KDQoJCXNlbGVjdGVkQXJyYXkJPSBbXTsNCgkJc2VsZWN0ZWRJbmRleAk9IG9wdHMuaW5kZXggfHwgMDsNCg0KCQlpZiAoJC5pc0FycmF5KG9iaikpIHsNCgkJCWZvciAodmFyIGkgPSAwLCBqID0gb2JqLmxlbmd0aDsgaSA8IGo7IGkrKykgew0KCQkJCWlmICh0eXBlb2Ygb2JqW2ldID09ICdvYmplY3QnKSB7DQoJCQkJCSQob2JqW2ldKS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRzLCBvYmpbaV0pKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlvYmpbaV0gPSAkKHt9KS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHtjb250ZW50IDogb2JqW2ldfSwgb3B0cykpOw0KCQkJCX0NCgkJCX0NCg0KCQkJc2VsZWN0ZWRBcnJheSA9IGpRdWVyeS5tZXJnZShzZWxlY3RlZEFycmF5LCBvYmopOw0KDQoJCX0gZWxzZSB7DQoJCQlpZiAodHlwZW9mIG9iaiA9PSAnb2JqZWN0Jykgew0KCQkJCSQob2JqKS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRzLCBvYmopKTsNCgkJCX0gZWxzZSB7DQoJCQkJb2JqID0gJCh7fSkuZGF0YSgnZmFuY3lib3gnLCAkLmV4dGVuZCh7Y29udGVudCA6IG9ian0sIG9wdHMpKTsNCgkJCX0NCg0KCQkJc2VsZWN0ZWRBcnJheS5wdXNoKG9iaik7DQoJCX0NCg0KCQlpZiAoc2VsZWN0ZWRJbmRleCA+IHNlbGVjdGVkQXJyYXkubGVuZ3RoIHx8IHNlbGVjdGVkSW5kZXggPCAwKSB7DQoJCQlzZWxlY3RlZEluZGV4ID0gMDsNCgkJfQ0KDQoJCWZhbmN5Ym94X3N0YXJ0KCk7DQoJfTsNCg0KCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5ID0gZnVuY3Rpb24oKSB7DQoJCWNsZWFySW50ZXJ2YWwobG9hZGluZ1RpbWVyKTsNCg0KCQlsb2FkaW5nLnNob3coKTsNCgkJbG9hZGluZ1RpbWVyID0gc2V0SW50ZXJ2YWwoZmFuY3lib3hfYW5pbWF0ZV9sb2FkaW5nLCA2Nik7DQoJfTsNCg0KCSQuZmFuY3lib3guaGlkZUFjdGl2aXR5ID0gZnVuY3Rpb24oKSB7DQoJCWxvYWRpbmcuaGlkZSgpOw0KCX07DQoNCgkkLmZhbmN5Ym94Lm5leHQgPSBmdW5jdGlvbigpIHsNCgkJcmV0dXJuICQuZmFuY3lib3gucG9zKCBjdXJyZW50SW5kZXggKyAxKTsNCgl9Ow0KCQ0KCSQuZmFuY3lib3gucHJldiA9IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gJC5mYW5jeWJveC5wb3MoIGN1cnJlbnRJbmRleCAtIDEpOw0KCX07DQoNCgkkLmZhbmN5Ym94LnBvcyA9IGZ1bmN0aW9uKHBvcykgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJcG9zID0gcGFyc2VJbnQocG9zLCAxMCk7DQoNCgkJaWYgKHBvcyA+IC0xICYmIGN1cnJlbnRBcnJheS5sZW5ndGggPiBwb3MpIHsNCgkJCXNlbGVjdGVkSW5kZXggPSBwb3M7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJaWYgKGN1cnJlbnRPcHRzLmN5Y2xpYyAmJiBjdXJyZW50QXJyYXkubGVuZ3RoID4gMSAmJiBwb3MgPCAwKSB7DQoJCQlzZWxlY3RlZEluZGV4ID0gY3VycmVudEFycmF5Lmxlbmd0aCAtIDE7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJaWYgKGN1cnJlbnRPcHRzLmN5Y2xpYyAmJiBjdXJyZW50QXJyYXkubGVuZ3RoID4gMSAmJiBwb3MgPj0gY3VycmVudEFycmF5Lmxlbmd0aCkgew0KCQkJc2VsZWN0ZWRJbmRleCA9IDA7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJcmV0dXJuOw0KCX07DQoNCgkkLmZhbmN5Ym94LmNhbmNlbCA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jYW5jZWwnKTsNCg0KCQlmYW5jeWJveF9hYm9ydCgpOw0KDQoJCWlmIChzZWxlY3RlZE9wdHMgJiYgJC5pc0Z1bmN0aW9uKHNlbGVjdGVkT3B0cy5vbkNhbmNlbCkpIHsNCgkJCXNlbGVjdGVkT3B0cy5vbkNhbmNlbChzZWxlY3RlZEFycmF5LCBzZWxlY3RlZEluZGV4LCBzZWxlY3RlZE9wdHMpOw0KCQl9DQoNCgkJYnVzeSA9IGZhbHNlOw0KCX07DQoNCgkvLyBOb3RlOiB3aXRoaW4gYW4gaWZyYW1lIHVzZSAtIHBhcmVudC4kLmZhbmN5Ym94LmNsb3NlKCk7DQoJJC5mYW5jeWJveC5jbG9zZSA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoYnVzeSB8fCB3cmFwLmlzKCc6aGlkZGVuJykpIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWJ1c3kgPSB0cnVlOw0KDQoJCWlmIChjdXJyZW50T3B0cyAmJiAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMub25DbGVhbnVwKSkgew0KCQkJaWYgKGN1cnJlbnRPcHRzLm9uQ2xlYW51cChjdXJyZW50QXJyYXksIGN1cnJlbnRJbmRleCwgY3VycmVudE9wdHMpID09PSBmYWxzZSkgew0KCQkJCWJ1c3kgPSBmYWxzZTsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCX0NCg0KCQlmYW5jeWJveF9hYm9ydCgpOw0KDQoJCSQoY2xvc2UuYWRkKCBuYXZfbGVmdCApLmFkZCggbmF2X3JpZ2h0ICkpLmhpZGUoKTsNCg0KCQkkKCcjZmFuY3lib3gtdGl0bGUnKS5yZW1vdmUoKTsNCg0KCQl3cmFwLmFkZChpbm5lcikuYWRkKG92ZXJsYXkpLnVuYmluZCgpOw0KDQoJCSQod2luZG93KS51bmJpbmQoInJlc2l6ZS5mYiBzY3JvbGwuZmIiKTsNCgkJJChkb2N1bWVudCkudW5iaW5kKCdrZXlkb3duLmZiJyk7DQoNCgkJZnVuY3Rpb24gX2NsZWFudXAoKSB7DQoJCQlvdmVybGF5LmZhZGVPdXQoJ2Zhc3QnKTsNCg0KCQkJd3JhcC5oaWRlKCk7DQoNCgkJCSQuZXZlbnQudHJpZ2dlcignZmFuY3lib3gtY2xlYW51cCcpOw0KDQoJCQlpbm5lci5lbXB0eSgpOw0KDQoJCQlpZiAoJC5pc0Z1bmN0aW9uKGN1cnJlbnRPcHRzLm9uQ2xvc2VkKSkgew0KCQkJCWN1cnJlbnRPcHRzLm9uQ2xvc2VkKGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cyk7DQoJCQl9DQoNCgkJCWN1cnJlbnRBcnJheQk9IHNlbGVjdGVkT3B0cwk9IFtdOw0KCQkJY3VycmVudEluZGV4CT0gc2VsZWN0ZWRJbmRleAk9IDA7DQoJCQljdXJyZW50T3B0cwkJPSBzZWxlY3RlZE9wdHMJPSB7fTsNCg0KCQkJYnVzeSA9IGZhbHNlOw0KCQl9DQoNCgkJaW5uZXIuY3NzKCdvdmVyZmxvdycsICdoaWRkZW4nKTsNCg0KCQlpZiAoY3VycmVudE9wdHMudHJhbnNpdGlvbk91dCA9PSAnZWxhc3RpYycpIHsNCgkJCXN0YXJ0X3BvcyA9IGZhbmN5Ym94X2dldF96b29tX2Zyb20oKTsNCg0KCQkJdmFyIHBvcyA9IHdyYXAucG9zaXRpb24oKTsNCg0KCQkJZmluYWxfcG9zID0gew0KCQkJCXRvcAkJOglwb3MudG9wICwNCgkJCQlsZWZ0CToJcG9zLmxlZnQsDQoJCQkJd2lkdGgJOgl3cmFwLndpZHRoKCksDQoJCQkJaGVpZ2h0CToJd3JhcC5oZWlnaHQoKQ0KCQkJfTsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLm9wYWNpdHkpIHsNCgkJCQlmaW5hbF9wb3Mub3BhY2l0eSA9IDE7DQoJCQl9DQoNCgkJCWZ4LnByb3AgPSAxOw0KDQoJCQkkKGZ4KS5hbmltYXRlKHsgcHJvcDogMCB9LCB7DQoJCQkJIGR1cmF0aW9uCTogY3VycmVudE9wdHMuc3BlZWRPdXQsDQoJCQkJIGVhc2luZwkJOiBjdXJyZW50T3B0cy5lYXNpbmdPdXQsDQoJCQkJIHN0ZXAJCTogZmFuY3lib3hfZHJhdywNCgkJCQkgY29tcGxldGUJOiBfY2xlYW51cA0KCQkJfSk7DQoNCgkJfSBlbHNlIHsNCgkJCXdyYXAuZmFkZU91dCggY3VycmVudE9wdHMudHJhbnNpdGlvbk91dCA9PSAnbm9uZScgPyAwIDogY3VycmVudE9wdHMuc3BlZWRPdXQsIF9jbGVhbnVwKTsNCgkJfQ0KCX07DQoNCgkkLmZhbmN5Ym94LnJlc2l6ZSA9IGZ1bmN0aW9uKCkgew0KCQl2YXIgYywgaDsNCgkJDQoJCWlmIChidXN5IHx8IHdyYXAuaXMoJzpoaWRkZW4nKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJYyA9IGlubmVyLndyYXBJbm5lcigiPGRpdiBzdHlsZT0nb3ZlcmZsb3c6YXV0byc+PC9kaXY+IikuY2hpbGRyZW4oKTsNCgkJaCA9IGMuaGVpZ2h0KCk7DQoNCgkJd3JhcC5jc3Moe2hlaWdodDoJaCArIChjdXJyZW50T3B0cy5wYWRkaW5nICogMikgKyB0aXRsZWh9KTsNCgkJaW5uZXIuY3NzKHtoZWlnaHQ6CWh9KTsNCg0KCQljLnJlcGxhY2VXaXRoKGMuY2hpbGRyZW4oKSk7DQoNCgkJJC5mYW5jeWJveC5jZW50ZXIoKTsNCgl9Ow0KDQoJJC5mYW5jeWJveC5jZW50ZXIgPSBmdW5jdGlvbigpIHsNCgkJYnVzeSA9IHRydWU7DQoNCgkJdmFyIHZpZXcJPSBmYW5jeWJveF9nZXRfdmlld3BvcnQoKSwNCgkJCW1hcmdpbgk9IGN1cnJlbnRPcHRzLm1hcmdpbiwNCgkJCXRvCQk9IHt9Ow0KDQoJCXRvLnRvcAk9IHZpZXdbM10gKyAoKHZpZXdbMV0gLSAoKHdyYXAuaGVpZ2h0KCkgLSB0aXRsZWgpICsgKHNoYWRvdyAqIDIgKSkpICogMC41KTsNCgkJdG8ubGVmdAk9IHZpZXdbMl0gKyAoKHZpZXdbMF0gLSAod3JhcC53aWR0aCgpICsgKHNoYWRvdyAqIDIgKSkpICogMC41KTsNCg0KCQl0by50b3AJPSBNYXRoLm1heCh2aWV3WzNdICsgbWFyZ2luLCB0by50b3ApOw0KCQl0by5sZWZ0CT0gTWF0aC5tYXgodmlld1syXSArIG1hcmdpbiwgdG8ubGVmdCk7DQoNCgkJd3JhcC5jc3ModG8pOw0KDQoJCWJ1c3kgPSBmYWxzZTsNCgl9Ow0KDQoJJC5mbi5mYW5jeWJveC5kZWZhdWx0cyA9IHsNCgkJcGFkZGluZwkJCQk6CTEwLA0KCQltYXJnaW4JCQkJOgkyMCwNCgkJb3BhY2l0eQkJCQk6CWZhbHNlLA0KCQltb2RhbAkJCQk6CWZhbHNlLA0KCQljeWNsaWMJCQkJOglmYWxzZSwNCgkJc2Nyb2xsaW5nCQkJOgknYXV0bycsCS8vICdhdXRvJywgJ3llcycgb3IgJ25vJw0KDQoJCXdpZHRoCQkJCToJNTYwLA0KCQloZWlnaHQJCQkJOgkzNDAsDQoNCgkJYXV0b1NjYWxlCQkJOgl0cnVlLA0KCQlhdXRvRGltZW5zaW9ucwkJOgl0cnVlLA0KCQljZW50ZXJPblNjcm9sbAkJOglmYWxzZSwNCg0KCQlhamF4CQkJCToJe30sDQoJCXN3ZgkJCQkJOgl7IHdtb2RlOiAndHJhbnNwYXJlbnQnIH0sDQoNCgkJaGlkZU9uT3ZlcmxheUNsaWNrCToJdHJ1ZSwNCgkJaGlkZU9uQ29udGVudENsaWNrCToJZmFsc2UsDQoNCgkJb3ZlcmxheVNob3cJCQk6CXRydWUsDQoJCW92ZXJsYXlPcGFjaXR5CQk6CTAuMywNCgkJb3ZlcmxheUNvbG9yCQk6CScjNjY2JywNCg0KCQl0aXRsZVNob3cJCQk6CXRydWUsDQoJCXRpdGxlUG9zaXRpb24JCToJJ291dHNpZGUnLAkvLyAnb3V0c2lkZScsICdpbnNpZGUnIG9yICdvdmVyJw0KCQl0aXRsZUZvcm1hdAkJCToJbnVsbCwNCg0KCQl0cmFuc2l0aW9uSW4JCToJJ2ZhZGUnLAkvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCgkJdHJhbnNpdGlvbk91dAkJOgknZmFkZScsCS8vICdlbGFzdGljJywgJ2ZhZGUnIG9yICdub25lJw0KDQoJCXNwZWVkSW4JCQkJOgkzMDAsDQoJCXNwZWVkT3V0CQkJOgkzMDAsDQoNCgkJY2hhbmdlU3BlZWQJCQk6CTMwMCwNCgkJY2hhbmdlRmFkZQkJCToJJ2Zhc3QnLA0KDQoJCWVhc2luZ0luCQkJOgknc3dpbmcnLA0KCQllYXNpbmdPdXQJCQk6CSdzd2luZycsDQoNCgkJc2hvd0Nsb3NlQnV0dG9uCQk6CXRydWUsDQoJCXNob3dOYXZBcnJvd3MJCToJdHJ1ZSwNCgkJZW5hYmxlRXNjYXBlQnV0dG9uCToJdHJ1ZSwNCg0KCQlvblN0YXJ0CQkJCToJbnVsbCwNCgkJb25DYW5jZWwJCQk6CW51bGwsDQoJCW9uQ29tcGxldGUJCQk6CW51bGwsDQoJCW9uQ2xlYW51cAkJCToJbnVsbCwNCgkJb25DbG9zZWQJCQk6CW51bGwNCgl9Ow0KDQoJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoJCWZhbmN5Ym94X2luaXQoKTsNCgl9KTsNCg0KfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/jquery.fancybox-1.3.1.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogRmFuY3lCb3ggLSBqUXVlcnkgUGx1Z2luCiAqIFNpbXBsZSBhbmQgZmFuY3kgbGlnaHRib3ggYWx0ZXJuYXRpdmUKICoKICogRXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXQ6IGh0dHA6Ly9mYW5jeWJveC5uZXQKICogCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzCiAqCiAqIFZlcnNpb246IDEuMy4xICgwNS8wMy8yMDEwKQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqLwoKKGZ1bmN0aW9uKGIpe3ZhciBtLHUseCxnLEQsaSx6LEEsQixwPTAsZT17fSxxPVtdLG49MCxjPXt9LGo9W10sRT1udWxsLHM9bmV3IEltYWdlLEc9L1wuKGpwZ3xnaWZ8cG5nfGJtcHxqcGVnKSguKik/JC9pLFM9L1teXC5dXC4oc3dmKVxzKiQvaSxILEk9MSxrLGwsaD1mYWxzZSx5PWIuZXh0ZW5kKGIoIjxkaXYvPiIpWzBdLHtwcm9wOjB9KSx2PTAsTz0hYi5zdXBwb3J0Lm9wYWNpdHkmJiF3aW5kb3cuWE1MSHR0cFJlcXVlc3QsSj1mdW5jdGlvbigpe3UuaGlkZSgpO3Mub25lcnJvcj1zLm9ubG9hZD1udWxsO0UmJkUuYWJvcnQoKTttLmVtcHR5KCl9LFA9ZnVuY3Rpb24oKXtiLmZhbmN5Ym94KCc8cCBpZD0iZmFuY3lib3hfZXJyb3IiPlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiciAvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicse3Njcm9sbGluZzoibm8iLHBhZGRpbmc6MjAsdHJhbnNpdGlvbkluOiJub25lIix0cmFuc2l0aW9uT3V0OiJub25lIn0pfSwKSz1mdW5jdGlvbigpe3JldHVybltiKHdpbmRvdykud2lkdGgoKSxiKHdpbmRvdykuaGVpZ2h0KCksYihkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLGIoZG9jdW1lbnQpLnNjcm9sbFRvcCgpXX0sVD1mdW5jdGlvbigpe3ZhciBhPUsoKSxkPXt9LGY9Yy5tYXJnaW4sbz1jLmF1dG9TY2FsZSx0PSgyMCtmKSoyLHc9KDIwK2YpKjIscj1jLnBhZGRpbmcqMjtpZihjLndpZHRoLnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xKXtkLndpZHRoPWFbMF0qcGFyc2VGbG9hdChjLndpZHRoKS8xMDAtNDA7bz1mYWxzZX1lbHNlIGQud2lkdGg9Yy53aWR0aCtyO2lmKGMuaGVpZ2h0LnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xKXtkLmhlaWdodD1hWzFdKnBhcnNlRmxvYXQoYy5oZWlnaHQpLzEwMC00MDtvPWZhbHNlfWVsc2UgZC5oZWlnaHQ9Yy5oZWlnaHQrcjtpZihvJiYoZC53aWR0aD5hWzBdLXR8fGQuaGVpZ2h0PmFbMV0tdykpaWYoZS50eXBlPT0iaW1hZ2UifHxlLnR5cGU9PSJzd2YiKXt0Kz1yOwp3Kz1yO289TWF0aC5taW4oTWF0aC5taW4oYVswXS10LGMud2lkdGgpL2Mud2lkdGgsTWF0aC5taW4oYVsxXS13LGMuaGVpZ2h0KS9jLmhlaWdodCk7ZC53aWR0aD1NYXRoLnJvdW5kKG8qKGQud2lkdGgtcikpK3I7ZC5oZWlnaHQ9TWF0aC5yb3VuZChvKihkLmhlaWdodC1yKSkrcn1lbHNle2Qud2lkdGg9TWF0aC5taW4oZC53aWR0aCxhWzBdLXQpO2QuaGVpZ2h0PU1hdGgubWluKGQuaGVpZ2h0LGFbMV0tdyl9ZC50b3A9YVszXSsoYVsxXS0oZC5oZWlnaHQrNDApKSowLjU7ZC5sZWZ0PWFbMl0rKGFbMF0tKGQud2lkdGgrNDApKSowLjU7aWYoYy5hdXRvU2NhbGU9PT1mYWxzZSl7ZC50b3A9TWF0aC5tYXgoYVszXStmLGQudG9wKTtkLmxlZnQ9TWF0aC5tYXgoYVsyXStmLGQubGVmdCl9cmV0dXJuIGR9LFU9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGgpc3dpdGNoKGMudGl0bGVQb3NpdGlvbil7Y2FzZSAiaW5zaWRlIjpyZXR1cm4gYTtjYXNlICJvdmVyIjpyZXR1cm4nPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW92ZXIiPicrCmErIjwvc3Bhbj4iO2RlZmF1bHQ6cmV0dXJuJzxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS13cmFwIj48c3BhbiBpZD0iZmFuY3lib3gtdGl0bGUtbGVmdCI+PC9zcGFuPjxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS1tYWluIj4nK2ErJzwvc3Bhbj48c3BhbiBpZD0iZmFuY3lib3gtdGl0bGUtcmlnaHQiPjwvc3Bhbj48L3NwYW4+J31yZXR1cm4gZmFsc2V9LFY9ZnVuY3Rpb24oKXt2YXIgYT1jLnRpdGxlLGQ9bC53aWR0aC1jLnBhZGRpbmcqMixmPSJmYW5jeWJveC10aXRsZS0iK2MudGl0bGVQb3NpdGlvbjtiKCIjZmFuY3lib3gtdGl0bGUiKS5yZW1vdmUoKTt2PTA7aWYoYy50aXRsZVNob3chPT1mYWxzZSl7YT1iLmlzRnVuY3Rpb24oYy50aXRsZUZvcm1hdCk/Yy50aXRsZUZvcm1hdChhLGosbixjKTpVKGEpO2lmKCEoIWF8fGE9PT0iIikpe2IoJzxkaXYgaWQ9ImZhbmN5Ym94LXRpdGxlIiBjbGFzcz0iJytmKyciIC8+JykuY3NzKHt3aWR0aDpkLHBhZGRpbmdMZWZ0OmMucGFkZGluZywKcGFkZGluZ1JpZ2h0OmMucGFkZGluZ30pLmh0bWwoYSkuYXBwZW5kVG8oImJvZHkiKTtzd2l0Y2goYy50aXRsZVBvc2l0aW9uKXtjYXNlICJpbnNpZGUiOnY9YigiI2ZhbmN5Ym94LXRpdGxlIikub3V0ZXJIZWlnaHQodHJ1ZSktYy5wYWRkaW5nO2wuaGVpZ2h0Kz12O2JyZWFrO2Nhc2UgIm92ZXIiOmIoIiNmYW5jeWJveC10aXRsZSIpLmNzcygiYm90dG9tIixjLnBhZGRpbmcpO2JyZWFrO2RlZmF1bHQ6YigiI2ZhbmN5Ym94LXRpdGxlIikuY3NzKCJib3R0b20iLGIoIiNmYW5jeWJveC10aXRsZSIpLm91dGVySGVpZ2h0KHRydWUpKi0xKTticmVha31iKCIjZmFuY3lib3gtdGl0bGUiKS5hcHBlbmRUbyhEKS5oaWRlKCl9fX0sVz1mdW5jdGlvbigpe2IoZG9jdW1lbnQpLnVuYmluZCgia2V5ZG93bi5mYiIpLmJpbmQoImtleWRvd24uZmIiLGZ1bmN0aW9uKGEpe2lmKGEua2V5Q29kZT09MjcmJmMuZW5hYmxlRXNjYXBlQnV0dG9uKXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5jbG9zZSgpfWVsc2UgaWYoYS5rZXlDb2RlPT0KMzcpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94LnByZXYoKX1lbHNlIGlmKGEua2V5Q29kZT09Mzkpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94Lm5leHQoKX19KTtpZihiLmZuLm1vdXNld2hlZWwpe2cudW5iaW5kKCJtb3VzZXdoZWVsLmZiIik7ai5sZW5ndGg+MSYmZy5iaW5kKCJtb3VzZXdoZWVsLmZiIixmdW5jdGlvbihhLGQpe2EucHJldmVudERlZmF1bHQoKTtofHxkPT09MHx8KGQ+MD9iLmZhbmN5Ym94LnByZXYoKTpiLmZhbmN5Ym94Lm5leHQoKSl9KX1pZihjLnNob3dOYXZBcnJvd3Mpe2lmKGMuY3ljbGljJiZqLmxlbmd0aD4xfHxuIT09MClBLnNob3coKTtpZihjLmN5Y2xpYyYmai5sZW5ndGg+MXx8biE9ai5sZW5ndGgtMSlCLnNob3coKX19LFg9ZnVuY3Rpb24oKXt2YXIgYSxkO2lmKGoubGVuZ3RoLTE+bil7YT1qW24rMV0uaHJlZjtpZih0eXBlb2YgYSE9PSJ1bmRlZmluZWQiJiZhLm1hdGNoKEcpKXtkPW5ldyBJbWFnZTtkLnNyYz1hfX1pZihuPjApe2E9Cmpbbi0xXS5ocmVmO2lmKHR5cGVvZiBhIT09InVuZGVmaW5lZCImJmEubWF0Y2goRykpe2Q9bmV3IEltYWdlO2Quc3JjPWF9fX0sTD1mdW5jdGlvbigpe2kuY3NzKCJvdmVyZmxvdyIsYy5zY3JvbGxpbmc9PSJhdXRvIj9jLnR5cGU9PSJpbWFnZSJ8fGMudHlwZT09ImlmcmFtZSJ8fGMudHlwZT09InN3ZiI/ImhpZGRlbiI6ImF1dG8iOmMuc2Nyb2xsaW5nPT0ieWVzIj8iYXV0byI6InZpc2libGUiKTtpZighYi5zdXBwb3J0Lm9wYWNpdHkpe2kuZ2V0KDApLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7Zy5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKX1iKCIjZmFuY3lib3gtdGl0bGUiKS5zaG93KCk7Yy5oaWRlT25Db250ZW50Q2xpY2smJmkub25lKCJjbGljayIsYi5mYW5jeWJveC5jbG9zZSk7Yy5oaWRlT25PdmVybGF5Q2xpY2smJngub25lKCJjbGljayIsYi5mYW5jeWJveC5jbG9zZSk7Yy5zaG93Q2xvc2VCdXR0b24mJnouc2hvdygpO1coKTtiKHdpbmRvdykuYmluZCgicmVzaXplLmZiIiwKYi5mYW5jeWJveC5jZW50ZXIpO2MuY2VudGVyT25TY3JvbGw/Yih3aW5kb3cpLmJpbmQoInNjcm9sbC5mYiIsYi5mYW5jeWJveC5jZW50ZXIpOmIod2luZG93KS51bmJpbmQoInNjcm9sbC5mYiIpO2IuaXNGdW5jdGlvbihjLm9uQ29tcGxldGUpJiZjLm9uQ29tcGxldGUoaixuLGMpO2g9ZmFsc2U7WCgpfSxNPWZ1bmN0aW9uKGEpe3ZhciBkPU1hdGgucm91bmQoay53aWR0aCsobC53aWR0aC1rLndpZHRoKSphKSxmPU1hdGgucm91bmQoay5oZWlnaHQrKGwuaGVpZ2h0LWsuaGVpZ2h0KSphKSxvPU1hdGgucm91bmQoay50b3ArKGwudG9wLWsudG9wKSphKSx0PU1hdGgucm91bmQoay5sZWZ0KyhsLmxlZnQtay5sZWZ0KSphKTtnLmNzcyh7d2lkdGg6ZCsicHgiLGhlaWdodDpmKyJweCIsdG9wOm8rInB4IixsZWZ0OnQrInB4In0pO2Q9TWF0aC5tYXgoZC1jLnBhZGRpbmcqMiwwKTtmPU1hdGgubWF4KGYtKGMucGFkZGluZyoyK3YqYSksMCk7aS5jc3Moe3dpZHRoOmQrInB4IixoZWlnaHQ6ZisKInB4In0pO2lmKHR5cGVvZiBsLm9wYWNpdHkhPT0idW5kZWZpbmVkIilnLmNzcygib3BhY2l0eSIsYTwwLjU/MC41OmEpfSxZPWZ1bmN0aW9uKGEpe3ZhciBkPWEub2Zmc2V0KCk7ZC50b3ArPXBhcnNlRmxvYXQoYS5jc3MoInBhZGRpbmdUb3AiKSl8fDA7ZC5sZWZ0Kz1wYXJzZUZsb2F0KGEuY3NzKCJwYWRkaW5nTGVmdCIpKXx8MDtkLnRvcCs9cGFyc2VGbG9hdChhLmNzcygiYm9yZGVyLXRvcC13aWR0aCIpKXx8MDtkLmxlZnQrPXBhcnNlRmxvYXQoYS5jc3MoImJvcmRlci1sZWZ0LXdpZHRoIikpfHwwO2Qud2lkdGg9YS53aWR0aCgpO2QuaGVpZ2h0PWEuaGVpZ2h0KCk7cmV0dXJuIGR9LFE9ZnVuY3Rpb24oKXt2YXIgYT1lLm9yaWc/YihlLm9yaWcpOmZhbHNlLGQ9e307aWYoYSYmYS5sZW5ndGgpe2E9WShhKTtkPXt3aWR0aDphLndpZHRoK2MucGFkZGluZyoyLGhlaWdodDphLmhlaWdodCtjLnBhZGRpbmcqMix0b3A6YS50b3AtYy5wYWRkaW5nLTIwLGxlZnQ6YS5sZWZ0LWMucGFkZGluZy0KMjB9fWVsc2V7YT1LKCk7ZD17d2lkdGg6MSxoZWlnaHQ6MSx0b3A6YVszXSthWzFdKjAuNSxsZWZ0OmFbMl0rYVswXSowLjV9fXJldHVybiBkfSxOPWZ1bmN0aW9uKCl7dS5oaWRlKCk7aWYoZy5pcygiOnZpc2libGUiKSYmYi5pc0Z1bmN0aW9uKGMub25DbGVhbnVwKSlpZihjLm9uQ2xlYW51cChqLG4sYyk9PT1mYWxzZSl7Yi5ldmVudC50cmlnZ2VyKCJmYW5jeWJveC1jYW5jZWwiKTtoPWZhbHNlO3JldHVybn1qPXE7bj1wO2M9ZTtpLmdldCgwKS5zY3JvbGxUb3A9MDtpLmdldCgwKS5zY3JvbGxMZWZ0PTA7aWYoYy5vdmVybGF5U2hvdyl7TyYmYigic2VsZWN0Om5vdCgjZmFuY3lib3gtdG1wIHNlbGVjdCkiKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHlsZS52aXNpYmlsaXR5IT09ImhpZGRlbiJ9KS5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KS5vbmUoImZhbmN5Ym94LWNsZWFudXAiLGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS52aXNpYmlsaXR5PSJpbmhlcml0In0pOwp4LmNzcyh7ImJhY2tncm91bmQtY29sb3IiOmMub3ZlcmxheUNvbG9yLG9wYWNpdHk6Yy5vdmVybGF5T3BhY2l0eX0pLnVuYmluZCgpLnNob3coKX1sPVQoKTtWKCk7aWYoZy5pcygiOnZpc2libGUiKSl7Yih6LmFkZChBKS5hZGQoQikpLmhpZGUoKTt2YXIgYT1nLnBvc2l0aW9uKCksZDtrPXt0b3A6YS50b3AsbGVmdDphLmxlZnQsd2lkdGg6Zy53aWR0aCgpLGhlaWdodDpnLmhlaWdodCgpfTtkPWsud2lkdGg9PWwud2lkdGgmJmsuaGVpZ2h0PT1sLmhlaWdodDtpLmZhZGVPdXQoYy5jaGFuZ2VGYWRlLGZ1bmN0aW9uKCl7dmFyIGY9ZnVuY3Rpb24oKXtpLmh0bWwobS5jb250ZW50cygpKS5mYWRlSW4oYy5jaGFuZ2VGYWRlLEwpfTtiLmV2ZW50LnRyaWdnZXIoImZhbmN5Ym94LWNoYW5nZSIpO2kuZW1wdHkoKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7aWYoZCl7aS5jc3Moe3RvcDpjLnBhZGRpbmcsbGVmdDpjLnBhZGRpbmcsd2lkdGg6TWF0aC5tYXgobC53aWR0aC1jLnBhZGRpbmcqCjIsMSksaGVpZ2h0Ok1hdGgubWF4KGwuaGVpZ2h0LWMucGFkZGluZyoyLXYsMSl9KTtmKCl9ZWxzZXtpLmNzcyh7dG9wOmMucGFkZGluZyxsZWZ0OmMucGFkZGluZyx3aWR0aDpNYXRoLm1heChrLndpZHRoLWMucGFkZGluZyoyLDEpLGhlaWdodDpNYXRoLm1heChrLmhlaWdodC1jLnBhZGRpbmcqMiwxKX0pO3kucHJvcD0wO2IoeSkuYW5pbWF0ZSh7cHJvcDoxfSx7ZHVyYXRpb246Yy5jaGFuZ2VTcGVlZCxlYXNpbmc6Yy5lYXNpbmdDaGFuZ2Usc3RlcDpNLGNvbXBsZXRlOmZ9KX19KX1lbHNle2cuY3NzKCJvcGFjaXR5IiwxKTtpZihjLnRyYW5zaXRpb25Jbj09ImVsYXN0aWMiKXtrPVEoKTtpLmNzcyh7dG9wOmMucGFkZGluZyxsZWZ0OmMucGFkZGluZyx3aWR0aDpNYXRoLm1heChrLndpZHRoLWMucGFkZGluZyoyLDEpLGhlaWdodDpNYXRoLm1heChrLmhlaWdodC1jLnBhZGRpbmcqMiwxKX0pLmh0bWwobS5jb250ZW50cygpKTtnLmNzcyhrKS5zaG93KCk7aWYoYy5vcGFjaXR5KWwub3BhY2l0eT0KMDt5LnByb3A9MDtiKHkpLmFuaW1hdGUoe3Byb3A6MX0se2R1cmF0aW9uOmMuc3BlZWRJbixlYXNpbmc6Yy5lYXNpbmdJbixzdGVwOk0sY29tcGxldGU6TH0pfWVsc2V7aS5jc3Moe3RvcDpjLnBhZGRpbmcsbGVmdDpjLnBhZGRpbmcsd2lkdGg6TWF0aC5tYXgobC53aWR0aC1jLnBhZGRpbmcqMiwxKSxoZWlnaHQ6TWF0aC5tYXgobC5oZWlnaHQtYy5wYWRkaW5nKjItdiwxKX0pLmh0bWwobS5jb250ZW50cygpKTtnLmNzcyhsKS5mYWRlSW4oYy50cmFuc2l0aW9uSW49PSJub25lIj8wOmMuc3BlZWRJbixMKX19fSxGPWZ1bmN0aW9uKCl7bS53aWR0aChlLndpZHRoKTttLmhlaWdodChlLmhlaWdodCk7aWYoZS53aWR0aD09ImF1dG8iKWUud2lkdGg9bS53aWR0aCgpO2lmKGUuaGVpZ2h0PT0iYXV0byIpZS5oZWlnaHQ9bS5oZWlnaHQoKTtOKCl9LFo9ZnVuY3Rpb24oKXtoPXRydWU7ZS53aWR0aD1zLndpZHRoO2UuaGVpZ2h0PXMuaGVpZ2h0O2IoIjxpbWcgLz4iKS5hdHRyKHtpZDoiZmFuY3lib3gtaW1nIiwKc3JjOnMuc3JjLGFsdDplLnRpdGxlfSkuYXBwZW5kVG8obSk7TigpfSxDPWZ1bmN0aW9uKCl7SigpO3ZhciBhPXFbcF0sZCxmLG8sdCx3O2U9Yi5leHRlbmQoe30sYi5mbi5mYW5jeWJveC5kZWZhdWx0cyx0eXBlb2YgYihhKS5kYXRhKCJmYW5jeWJveCIpPT0idW5kZWZpbmVkIj9lOmIoYSkuZGF0YSgiZmFuY3lib3giKSk7bz1hLnRpdGxlfHxiKGEpLnRpdGxlfHxlLnRpdGxlfHwiIjtpZihhLm5vZGVOYW1lJiYhZS5vcmlnKWUub3JpZz1iKGEpLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKS5sZW5ndGg/YihhKS5jaGlsZHJlbigiaW1nOmZpcnN0Iik6YihhKTtpZihvPT09IiImJmUub3JpZylvPWUub3JpZy5hdHRyKCJhbHQiKTtkPWEubm9kZU5hbWUmJi9eKD86amF2YXNjcmlwdHwjKS9pLnRlc3QoYS5ocmVmKT9lLmhyZWZ8fG51bGw6ZS5ocmVmfHxhLmhyZWZ8fG51bGw7aWYoZS50eXBlKXtmPWUudHlwZTtpZighZClkPWUuY29udGVudH1lbHNlIGlmKGUuY29udGVudClmPSJodG1sIjtlbHNlIGlmKGQpaWYoZC5tYXRjaChHKSlmPQoiaW1hZ2UiO2Vsc2UgaWYoZC5tYXRjaChTKSlmPSJzd2YiO2Vsc2UgaWYoYihhKS5oYXNDbGFzcygiaWZyYW1lIikpZj0iaWZyYW1lIjtlbHNlIGlmKGQubWF0Y2goLyMvKSl7YT1kLnN1YnN0cihkLmluZGV4T2YoIiMiKSk7Zj1iKGEpLmxlbmd0aD4wPyJpbmxpbmUiOiJhamF4In1lbHNlIGY9ImFqYXgiO2Vsc2UgZj0iaW5saW5lIjtlLnR5cGU9ZjtlLmhyZWY9ZDtlLnRpdGxlPW87aWYoZS5hdXRvRGltZW5zaW9ucyYmZS50eXBlIT09ImlmcmFtZSImJmUudHlwZSE9PSJzd2YiKXtlLndpZHRoPSJhdXRvIjtlLmhlaWdodD0iYXV0byJ9aWYoZS5tb2RhbCl7ZS5vdmVybGF5U2hvdz10cnVlO2UuaGlkZU9uT3ZlcmxheUNsaWNrPWZhbHNlO2UuaGlkZU9uQ29udGVudENsaWNrPWZhbHNlO2UuZW5hYmxlRXNjYXBlQnV0dG9uPWZhbHNlO2Uuc2hvd0Nsb3NlQnV0dG9uPWZhbHNlfWlmKGIuaXNGdW5jdGlvbihlLm9uU3RhcnQpKWlmKGUub25TdGFydChxLHAsZSk9PT1mYWxzZSl7aD1mYWxzZTsKcmV0dXJufW0uY3NzKCJwYWRkaW5nIiwyMCtlLnBhZGRpbmcrZS5tYXJnaW4pO2IoIi5mYW5jeWJveC1pbmxpbmUtdG1wIikudW5iaW5kKCJmYW5jeWJveC1jYW5jZWwiKS5iaW5kKCJmYW5jeWJveC1jaGFuZ2UiLGZ1bmN0aW9uKCl7Yih0aGlzKS5yZXBsYWNlV2l0aChpLmNoaWxkcmVuKCkpfSk7c3dpdGNoKGYpe2Nhc2UgImh0bWwiOm0uaHRtbChlLmNvbnRlbnQpO0YoKTticmVhaztjYXNlICJpbmxpbmUiOmIoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWlubGluZS10bXAiIC8+JykuaGlkZSgpLmluc2VydEJlZm9yZShiKGEpKS5iaW5kKCJmYW5jeWJveC1jbGVhbnVwIixmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgoaS5jaGlsZHJlbigpKX0pLmJpbmQoImZhbmN5Ym94LWNhbmNlbCIsZnVuY3Rpb24oKXtiKHRoaXMpLnJlcGxhY2VXaXRoKG0uY2hpbGRyZW4oKSl9KTtiKGEpLmFwcGVuZFRvKG0pO0YoKTticmVhaztjYXNlICJpbWFnZSI6aD1mYWxzZTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpOwpzPW5ldyBJbWFnZTtzLm9uZXJyb3I9ZnVuY3Rpb24oKXtQKCl9O3Mub25sb2FkPWZ1bmN0aW9uKCl7cy5vbmVycm9yPW51bGw7cy5vbmxvYWQ9bnVsbDtaKCl9O3Muc3JjPWQ7YnJlYWs7Y2FzZSAic3dmIjp0PSc8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIgd2lkdGg9IicrZS53aWR0aCsnIiBoZWlnaHQ9IicrZS5oZWlnaHQrJyI+PHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJytkKyciPjwvcGFyYW0+Jzt3PSIiO2IuZWFjaChlLnN3ZixmdW5jdGlvbihyLFIpe3QrPSc8cGFyYW0gbmFtZT0iJytyKyciIHZhbHVlPSInK1IrJyI+PC9wYXJhbT4nO3crPSIgIityKyc9IicrUisnIid9KTt0Kz0nPGVtYmVkIHNyYz0iJytkKyciIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiB3aWR0aD0iJytlLndpZHRoKyciIGhlaWdodD0iJytlLmhlaWdodCsnIicrdysiPjwvZW1iZWQ+PC9vYmplY3Q+IjttLmh0bWwodCk7CkYoKTticmVhaztjYXNlICJhamF4IjphPWQuc3BsaXQoIiMiLDIpO2Y9ZS5hamF4LmRhdGF8fHt9O2lmKGEubGVuZ3RoPjEpe2Q9YVswXTtpZih0eXBlb2YgZj09InN0cmluZyIpZis9IiZzZWxlY3Rvcj0iK2FbMV07ZWxzZSBmLnNlbGVjdG9yPWFbMV19aD1mYWxzZTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpO0U9Yi5hamF4KGIuZXh0ZW5kKGUuYWpheCx7dXJsOmQsZGF0YTpmLGVycm9yOlAsc3VjY2VzczpmdW5jdGlvbihyKXtpZihFLnN0YXR1cz09MjAwKXttLmh0bWwocik7RigpfX19KSk7YnJlYWs7Y2FzZSAiaWZyYW1lIjpiKCc8aWZyYW1lIGlkPSJmYW5jeWJveC1mcmFtZSIgbmFtZT0iZmFuY3lib3gtZnJhbWUnKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyciIGZyYW1lYm9yZGVyPSIwIiBoc3BhY2U9IjAiIHNjcm9sbGluZz0iJytlLnNjcm9sbGluZysnIiBzcmM9IicrZS5ocmVmKyciPjwvaWZyYW1lPicpLmFwcGVuZFRvKG0pO04oKTticmVha319LCQ9ZnVuY3Rpb24oKXtpZih1LmlzKCI6dmlzaWJsZSIpKXtiKCJkaXYiLAp1KS5jc3MoInRvcCIsSSotNDArInB4Iik7ST0oSSsxKSUxMn1lbHNlIGNsZWFySW50ZXJ2YWwoSCl9LGFhPWZ1bmN0aW9uKCl7aWYoIWIoIiNmYW5jeWJveC13cmFwIikubGVuZ3RoKXtiKCJib2R5IikuYXBwZW5kKG09YignPGRpdiBpZD0iZmFuY3lib3gtdG1wIj48L2Rpdj4nKSx1PWIoJzxkaXYgaWQ9ImZhbmN5Ym94LWxvYWRpbmciPjxkaXY+PC9kaXY+PC9kaXY+JykseD1iKCc8ZGl2IGlkPSJmYW5jeWJveC1vdmVybGF5Ij48L2Rpdj4nKSxnPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LXdyYXAiPjwvZGl2PicpKTtpZighYi5zdXBwb3J0Lm9wYWNpdHkpe2cuYWRkQ2xhc3MoImZhbmN5Ym94LWllIik7dS5hZGRDbGFzcygiZmFuY3lib3gtaWUiKX1EPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LW91dGVyIj48L2Rpdj4nKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctbiI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1uZSI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLXNlIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLXMiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctc3ciPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1udyI+PC9kaXY+JykuYXBwZW5kVG8oZyk7CkQuYXBwZW5kKGk9YignPGRpdiBpZD0iZmFuY3lib3gtaW5uZXIiPjwvZGl2PicpLHo9YignPGEgaWQ9ImZhbmN5Ym94LWNsb3NlIj48L2E+JyksQT1iKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1sZWZ0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtbGVmdC1pY28iPjwvc3Bhbj48L2E+JyksQj1iKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1yaWdodCI+PHNwYW4gY2xhc3M9ImZhbmN5LWljbyIgaWQ9ImZhbmN5Ym94LXJpZ2h0LWljbyI+PC9zcGFuPjwvYT4nKSk7ei5jbGljayhiLmZhbmN5Ym94LmNsb3NlKTt1LmNsaWNrKGIuZmFuY3lib3guY2FuY2VsKTtBLmNsaWNrKGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94LnByZXYoKX0pO0IuY2xpY2soZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2IuZmFuY3lib3gubmV4dCgpfSk7aWYoTyl7eC5nZXQoMCkuc3R5bGUuc2V0RXhwcmVzc2lvbigiaGVpZ2h0IiwKImRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgPyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCA6IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ICsgJ3B4JyIpO3UuZ2V0KDApLnN0eWxlLnNldEV4cHJlc3Npb24oInRvcCIsIigtMjAgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMiA6IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LzIgKSArICggaWdub3JlTWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICkpICsgJ3B4JyIpO0QucHJlcGVuZCgnPGlmcmFtZSBpZD0iZmFuY3lib3gtaGlkZS1zZWwtZnJhbWUiIHNyYz0iamF2YXNjcmlwdDpcJ1wnOyIgc2Nyb2xsaW5nPSJubyIgZnJhbWVib3JkZXI9IjAiID48L2lmcmFtZT4nKX19fTsKYi5mbi5mYW5jeWJveD1mdW5jdGlvbihhKXtiKHRoaXMpLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7fSxhLGIubWV0YWRhdGE/Yih0aGlzKS5tZXRhZGF0YSgpOnt9KSkudW5iaW5kKCJjbGljay5mYiIpLmJpbmQoImNsaWNrLmZiIixmdW5jdGlvbihkKXtkLnByZXZlbnREZWZhdWx0KCk7aWYoIWgpe2g9dHJ1ZTtiKHRoaXMpLmJsdXIoKTtxPVtdO3A9MDtkPWIodGhpcykuYXR0cigicmVsIil8fCIiO2lmKCFkfHxkPT0iInx8ZD09PSJub2ZvbGxvdyIpcS5wdXNoKHRoaXMpO2Vsc2V7cT1iKCJhW3JlbD0iK2QrIl0sIGFyZWFbcmVsPSIrZCsiXSIpO3A9cS5pbmRleCh0aGlzKX1DKCk7cmV0dXJuIGZhbHNlfX0pO3JldHVybiB0aGlzfTtiLmZhbmN5Ym94PWZ1bmN0aW9uKGEsZCl7aWYoIWgpe2g9dHJ1ZTtkPXR5cGVvZiBkIT09InVuZGVmaW5lZCI/ZDp7fTtxPVtdO3A9ZC5pbmRleHx8MDtpZihiLmlzQXJyYXkoYSkpe2Zvcih2YXIgZj0wLG89YS5sZW5ndGg7ZjxvO2YrKylpZih0eXBlb2YgYVtmXT09CiJvYmplY3QiKWIoYVtmXSkuZGF0YSgiZmFuY3lib3giLGIuZXh0ZW5kKHt9LGQsYVtmXSkpO2Vsc2UgYVtmXT1iKHt9KS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe2NvbnRlbnQ6YVtmXX0sZCkpO3E9alF1ZXJ5Lm1lcmdlKHEsYSl9ZWxzZXtpZih0eXBlb2YgYT09Im9iamVjdCIpYihhKS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe30sZCxhKSk7ZWxzZSBhPWIoe30pLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7Y29udGVudDphfSxkKSk7cS5wdXNoKGEpfWlmKHA+cS5sZW5ndGh8fHA8MClwPTA7QygpfX07Yi5mYW5jeWJveC5zaG93QWN0aXZpdHk9ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKEgpO3Uuc2hvdygpO0g9c2V0SW50ZXJ2YWwoJCw2Nil9O2IuZmFuY3lib3guaGlkZUFjdGl2aXR5PWZ1bmN0aW9uKCl7dS5oaWRlKCl9O2IuZmFuY3lib3gubmV4dD1mdW5jdGlvbigpe3JldHVybiBiLmZhbmN5Ym94LnBvcyhuKzEpfTtiLmZhbmN5Ym94LnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gYi5mYW5jeWJveC5wb3Mobi0KMSl9O2IuZmFuY3lib3gucG9zPWZ1bmN0aW9uKGEpe2lmKCFoKXthPXBhcnNlSW50KGEsMTApO2lmKGE+LTEmJmoubGVuZ3RoPmEpe3A9YTtDKCl9aWYoYy5jeWNsaWMmJmoubGVuZ3RoPjEmJmE8MCl7cD1qLmxlbmd0aC0xO0MoKX1pZihjLmN5Y2xpYyYmai5sZW5ndGg+MSYmYT49ai5sZW5ndGgpe3A9MDtDKCl9fX07Yi5mYW5jeWJveC5jYW5jZWw9ZnVuY3Rpb24oKXtpZighaCl7aD10cnVlO2IuZXZlbnQudHJpZ2dlcigiZmFuY3lib3gtY2FuY2VsIik7SigpO2UmJmIuaXNGdW5jdGlvbihlLm9uQ2FuY2VsKSYmZS5vbkNhbmNlbChxLHAsZSk7aD1mYWxzZX19O2IuZmFuY3lib3guY2xvc2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7eC5mYWRlT3V0KCJmYXN0Iik7Zy5oaWRlKCk7Yi5ldmVudC50cmlnZ2VyKCJmYW5jeWJveC1jbGVhbnVwIik7aS5lbXB0eSgpO2IuaXNGdW5jdGlvbihjLm9uQ2xvc2VkKSYmYy5vbkNsb3NlZChqLG4sYyk7aj1lPVtdO249cD0wO2M9ZT17fTtoPWZhbHNlfQppZighKGh8fGcuaXMoIjpoaWRkZW4iKSkpe2g9dHJ1ZTtpZihjJiZiLmlzRnVuY3Rpb24oYy5vbkNsZWFudXApKWlmKGMub25DbGVhbnVwKGosbixjKT09PWZhbHNlKXtoPWZhbHNlO3JldHVybn1KKCk7Yih6LmFkZChBKS5hZGQoQikpLmhpZGUoKTtiKCIjZmFuY3lib3gtdGl0bGUiKS5yZW1vdmUoKTtnLmFkZChpKS5hZGQoeCkudW5iaW5kKCk7Yih3aW5kb3cpLnVuYmluZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpO2IoZG9jdW1lbnQpLnVuYmluZCgia2V5ZG93bi5mYiIpO2kuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO2lmKGMudHJhbnNpdGlvbk91dD09ImVsYXN0aWMiKXtrPVEoKTt2YXIgZD1nLnBvc2l0aW9uKCk7bD17dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0LHdpZHRoOmcud2lkdGgoKSxoZWlnaHQ6Zy5oZWlnaHQoKX07aWYoYy5vcGFjaXR5KWwub3BhY2l0eT0xO3kucHJvcD0xO2IoeSkuYW5pbWF0ZSh7cHJvcDowfSx7ZHVyYXRpb246Yy5zcGVlZE91dCxlYXNpbmc6Yy5lYXNpbmdPdXQsCnN0ZXA6TSxjb21wbGV0ZTphfSl9ZWxzZSBnLmZhZGVPdXQoYy50cmFuc2l0aW9uT3V0PT0ibm9uZSI/MDpjLnNwZWVkT3V0LGEpfX07Yi5mYW5jeWJveC5yZXNpemU9ZnVuY3Rpb24oKXt2YXIgYSxkO2lmKCEoaHx8Zy5pcygiOmhpZGRlbiIpKSl7aD10cnVlO2E9aS53cmFwSW5uZXIoIjxkaXYgc3R5bGU9J292ZXJmbG93OmF1dG8nPjwvZGl2PiIpLmNoaWxkcmVuKCk7ZD1hLmhlaWdodCgpO2cuY3NzKHtoZWlnaHQ6ZCtjLnBhZGRpbmcqMit2fSk7aS5jc3Moe2hlaWdodDpkfSk7YS5yZXBsYWNlV2l0aChhLmNoaWxkcmVuKCkpO2IuZmFuY3lib3guY2VudGVyKCl9fTtiLmZhbmN5Ym94LmNlbnRlcj1mdW5jdGlvbigpe2g9dHJ1ZTt2YXIgYT1LKCksZD1jLm1hcmdpbixmPXt9O2YudG9wPWFbM10rKGFbMV0tKGcuaGVpZ2h0KCktdis0MCkpKjAuNTtmLmxlZnQ9YVsyXSsoYVswXS0oZy53aWR0aCgpKzQwKSkqMC41O2YudG9wPU1hdGgubWF4KGFbM10rZCxmLnRvcCk7Zi5sZWZ0PU1hdGgubWF4KGFbMl0rCmQsZi5sZWZ0KTtnLmNzcyhmKTtoPWZhbHNlfTtiLmZuLmZhbmN5Ym94LmRlZmF1bHRzPXtwYWRkaW5nOjEwLG1hcmdpbjoyMCxvcGFjaXR5OmZhbHNlLG1vZGFsOmZhbHNlLGN5Y2xpYzpmYWxzZSxzY3JvbGxpbmc6ImF1dG8iLHdpZHRoOjU2MCxoZWlnaHQ6MzQwLGF1dG9TY2FsZTp0cnVlLGF1dG9EaW1lbnNpb25zOnRydWUsY2VudGVyT25TY3JvbGw6ZmFsc2UsYWpheDp7fSxzd2Y6e3dtb2RlOiJ0cmFuc3BhcmVudCJ9LGhpZGVPbk92ZXJsYXlDbGljazp0cnVlLGhpZGVPbkNvbnRlbnRDbGljazpmYWxzZSxvdmVybGF5U2hvdzp0cnVlLG92ZXJsYXlPcGFjaXR5OjAuMyxvdmVybGF5Q29sb3I6IiM2NjYiLHRpdGxlU2hvdzp0cnVlLHRpdGxlUG9zaXRpb246Im91dHNpZGUiLHRpdGxlRm9ybWF0Om51bGwsdHJhbnNpdGlvbkluOiJmYWRlIix0cmFuc2l0aW9uT3V0OiJmYWRlIixzcGVlZEluOjMwMCxzcGVlZE91dDozMDAsY2hhbmdlU3BlZWQ6MzAwLGNoYW5nZUZhZGU6ImZhc3QiLAplYXNpbmdJbjoic3dpbmciLGVhc2luZ091dDoic3dpbmciLHNob3dDbG9zZUJ1dHRvbjp0cnVlLHNob3dOYXZBcnJvd3M6dHJ1ZSxlbmFibGVFc2NhcGVCdXR0b246dHJ1ZSxvblN0YXJ0Om51bGwsb25DYW5jZWw6bnVsbCxvbkNvbXBsZXRlOm51bGwsb25DbGVhbnVwOm51bGwsb25DbG9zZWQ6bnVsbH07Yihkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXthYSgpfSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/fancybox/jquery.mousewheel-3.0.2.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAwOSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCkKICogYW5kIEdQTCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHApIGxpY2Vuc2VzLgogKiBUaGFua3MgdG86IGh0dHA6Ly9hZG9tYXMub3JnL2phdmFzY3JpcHQtbW91c2Utd2hlZWwvIGZvciBzb21lIHBvaW50ZXJzLgogKiBUaGFua3MgdG86IE1hdGhpYXMgQmFuayhodHRwOi8vd3d3Lm1hdGhpYXMtYmFuay5kZSkgZm9yIGEgc2NvcGUgYnVnIGZpeC4KICoKICogVmVyc2lvbjogMy4wLjIKICogCiAqIFJlcXVpcmVzOiAxLjIuMisKICovCgooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChhKXt2YXIgZj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPTA7YT1iLmV2ZW50LmZpeChhfHx3aW5kb3cuZXZlbnQpO2EudHlwZT0ibW91c2V3aGVlbCI7aWYoYS53aGVlbERlbHRhKWU9YS53aGVlbERlbHRhLzEyMDtpZihhLmRldGFpbCllPS1hLmRldGFpbC8zO2YudW5zaGlmdChhLGUpO3JldHVybiBiLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGYpfXZhciBjPVsiRE9NTW91c2VTY3JvbGwiLCJtb3VzZXdoZWVsIl07Yi5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZH0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sCmQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9bnVsbH19O2IuZm4uZXh0ZW5kKHttb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiBhP3RoaXMuYmluZCgibW91c2V3aGVlbCIsYSk6dGhpcy50cmlnZ2VyKCJtb3VzZXdoZWVsIil9LHVubW91c2V3aGVlbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bmJpbmQoIm1vdXNld2hlZWwiLGEpfX0pfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/lightbox/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/lightbox/css/lightbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I2xpZ2h0Ym94ewoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMDsKCXdpZHRoOiAxMDAlOwoJei1pbmRleDogMTAwOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6IDA7Cgl9CgojbGlnaHRib3ggYSBpbWd7IGJvcmRlcjogbm9uZTsgfQoKI291dGVySW1hZ2VDb250YWluZXJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwoJd2lkdGg6IDI1MHB4OwoJaGVpZ2h0OiAyNTBweDsKCW1hcmdpbjogMCBhdXRvOwoJfQoKI2ltYWdlQ29udGFpbmVyewoJcGFkZGluZzogMTBweDsKCX0KCiNsb2FkaW5newoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiA0MCU7CglsZWZ0OiAwJTsKCWhlaWdodDogMjUlOwoJd2lkdGg6IDEwMCU7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CglsaW5lLWhlaWdodDogMDsKCX0KI2hvdmVyTmF2ewoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiAwOwoJbGVmdDogMDsKCWhlaWdodDogMTAwJTsKCXdpZHRoOiAxMDAlOwoJei1pbmRleDogMTA7Cgl9CiNpbWFnZUNvbnRhaW5lcj4jaG92ZXJOYXZ7IGxlZnQ6IDA7fQojaG92ZXJOYXYgYXsgb3V0bGluZTogbm9uZTt9CgojcHJldkxpbmssICNuZXh0TGlua3sKCXdpZHRoOiA0OSU7CgloZWlnaHQ6IDEwMCU7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1hZ2VzL2JsYW5rLmdpZikgbm8tcmVwZWF0OyAvKiBUcmljayBJRSBpbnRvIHNob3dpbmcgaG92ZXIgKi8KCWRpc3BsYXk6IGJsb2NrOwoJfQojcHJldkxpbmsgeyBsZWZ0OiAwOyBmbG9hdDogbGVmdDt9CiNuZXh0TGluayB7IHJpZ2h0OiAwOyBmbG9hdDogcmlnaHQ7fQojcHJldkxpbms6aG92ZXIsICNwcmV2TGluazp2aXNpdGVkOmhvdmVyIHsgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2bGFiZWwuZ2lmKSBsZWZ0IDE1JSBuby1yZXBlYXQ7IH0KI25leHRMaW5rOmhvdmVyLCAjbmV4dExpbms6dmlzaXRlZDpob3ZlciB7IGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmV4dGxhYmVsLmdpZikgcmlnaHQgMTUlIG5vLXJlcGVhdDsgfQoKCiNpbWFnZURhdGFDb250YWluZXJ7Cglmb250OiAxMHB4IFZlcmRhbmEsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKCWJhY2tncm91bmQtY29sb3I6ICNmZmY7CgltYXJnaW46IDAgYXV0bzsKCWxpbmUtaGVpZ2h0OiAxLjRlbTsKCW92ZXJmbG93OiBhdXRvOwoJd2lkdGg6IDEwMCUJCgl9CgojaW1hZ2VEYXRhewlwYWRkaW5nOjAgMTBweDsgY29sb3I6ICM2NjY7IH0KI2ltYWdlRGF0YSAjaW1hZ2VEZXRhaWxzeyB3aWR0aDogNzAlOyBmbG9hdDogbGVmdDsgdGV4dC1hbGlnbjogbGVmdDsgfQkKI2ltYWdlRGF0YSAjY2FwdGlvbnsgZm9udC13ZWlnaHQ6IGJvbGQ7CX0KI2ltYWdlRGF0YSAjbnVtYmVyRGlzcGxheXsgZGlzcGxheTogYmxvY2s7IGNsZWFyOiBsZWZ0OyBwYWRkaW5nLWJvdHRvbTogMS4wZW07CX0JCQkKI2ltYWdlRGF0YSAjYm90dG9tTmF2Q2xvc2V7IHdpZHRoOiA2NnB4OyBmbG9hdDogcmlnaHQ7ICBwYWRkaW5nLWJvdHRvbTogMC43ZW07CX0JCgkJCiNvdmVybGF5ewoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiAwOwoJbGVmdDogMDsKCXotaW5kZXg6IDkwOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDUwMHB4OwoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDsKCX0=]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/lightbox/images/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGgAaALMJAHt7e8jIyJycnPT09JiYmL29vWVlZd7e3lpaWv///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAAAaABoAAASLMEl5pr0YH1PzDZxmIEjnJQUZThtJmljqrsnovpl8r8HtwigfbqKbmYq/mDCEHCp9AIKwdApOd8DcVZX1NEmA7kmwHFQxA5tPcLYcANtCO9HaIuTV+k6IzxymAgNwPn1uU3h6LoV0h25qiiyNF39CAXSPJIuRPgYUj5qGRiw2oJNckwaWcxticywWEQA7]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/closelabel.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWAOYAAMDAwMHBwZ2dnVlZWdLS0oODg6+vr/X19eTk5FBQULi4uIyMjJSUlFRUVFZWVtzc3FJSUsnJyVFRUVhYWFVVVezs7FNTU/b29v39/erq6vr6+qampldXV6KiokxMTE9PT2ZmZvf3993d3czMzGBgYHt7e6Ghofz8/PDw8N7e3mxsbLW1tfv7+5WVlc3NzcrKynh4eOvr60tLS+Dg4F9fX7m5ud/f37S0tIaGhnBwcGNjY+Xl5ZKSkoiIiKmpqW5ubpeXl29vb9XV1Y6Oju3t7WVlZXZ2dpiYmG1tbXx8fO/v7+fn57GxsbOzs/Hx8Xl5eVpaWmRkZE1NTXNzc2dnZ5aWloeHh+Pj405OTmlpadvb23p6ev////7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABCABYAAAf/gFyCg4SFhoeIiYqLjI2Oj4xdkpOUlZaXl5BcJ42Ynp+YkZJcLEdCXJZcIwIaqKCvoKJdIUAeUSKuXYIuNB5VF5QVWgiwXQjDlwdaWrqLo00yAxZFWq6qJA0DHj6SBAtb4AsEXQBbzJUABeBbBQCUCusFL1wB6+uDoxlbHwMJVDaCRtCwMAALDhRdImxZEEFLhAIGyJmrZGALAwJaCDDYElGigYwbLtDjGKBkAHz5SiQY0EDFDBfYBkixEgJVgQIHJuWUeE4Sgi0CKgmYOJSSoHoPDhmtUIIfBSTYJiToIbKLli3uLJXrybPSVQVdKirYeXRLUkOVuMRIAmGAAw4D/yAMqSlp6yW7k4paAtqlgrotGxCUbSGgsAKURlEYoTBgQoMOrSbhRTcx75ZLfLscAPDN7EjChhFP4qIkCGOWDHRNIoD1bmVJ8MZRYp1VMseRZwulnTElGwUHcU1gcHXg5k5jOSdbzWyZmOZJQHErHZ1ChQRpWUA4mAChw3BJChk6LLBgM0cA6JlVvJhxI9iw7DdsOVnPgMkARARRB3E9AYwrLziwnQTCueJNPOOUY09W6ayzQG0NgnPYSPZ4Zo0IIEAARQIlZCBIDQJOIEEHJ1ByjHOvnHjJMjlFwsUDOqzkXwyoCLKCBBxwIMMNxfSYijNcOMEABB9s4aFRK1iQQDAOIvjo5CjO6MICD09UkAuUTPyww5VPwiILFxpUdQkGS3DZ5SuyNOOJfmf6mGaPgQAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/image-1.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhLQAtAMQQAPT09LGxsWJiYunp6dLS0oSEhG1tbd3d3aWlpZqamry8vI+Pj8fHx3l5eVdXV////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAtAC0AAAWuIAQ9ZGmeaKqm4+q+cCzPdG3feK7vfO//wNIAEIwhHI7EoLgCIJGCADNFeD4NhKlpYLUmiNpHofuMhgEL8rNwCBMaaiQCPA0I4gbGORF3FJZaB2NqZmEKBnELYQ8AAXFZiwNwXVJhA3xklXV3ZAJ0QQSIhJBBA4Nqc0WNfWxMCpydmkCCfV+ufVhasFaFU1Vkf4sHXXmLJaIOqcYkAwgBgMvR0tPU1dbXNC3VItYhADs=]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/nextlabel.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAPeDAP39/enp6UdHR6mpqY+Pj+bm5tDQ0MLCwuzs7O/v76qqqvHx8fb29vr6+v7+/lxcXPf39+3t7WdnZ2VlZV9fX0lJSc3Nze7u7ltbW/v7+7y8vKampurq6qenp3BwcPDw8FpaWoCAgLGxsWNjY2BgYPn5+ejo6ExMTFRUVE5OTqOjo9LS0mJiYufn52hoaI6OjldXV2FhYVFRUaioqNXV1d/f38HBwfz8/Pj4+JGRkbS0tF1dXd7e3oODg3p6eoGBgfLy8mZmZoKCgs/Pz1JSUllZWaurq4WFhW1tbWRkZOLi4srKylZWVqSkpLW1tbKysre3t0VFRV5eXqKiovPz88vLy8bGxmtra3V1dcjIyJqamlVVVXh4eIiIiEhISHd3d9jY2I2Njbq6upmZmeDg4G5ubktLS9bW1tzc3FNTU6WlpWpqap2dnU9PT66urr6+voyMjE1NTYaGhuTk5OHh4dfX16ysrOvr68PDw0JCQlhYWH5+fnNzc3l5eZubm+Pj42xsbPT09P///zMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIMALAAAAAA/ACAAAAj/AAcNEkSwoMGDCBMqXMgQ4cCGECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKEECsDLDQsEbNkQICuREwYCbHZTQaOKSIAIFeOaoGGDEjYIOOiB4BECgQgweBBvseSDIBAsUE0aM2GGhxRUMZAQ5IHCiigEYIzAQIUHiy4KlOVCkOIJDUIMQUgQFeNAjggkTLZQuiQPHQZYUWhyUKMCBTYUVHDgAWErARZg2OgRl+EFBL4gXCcekeeKhTAKDRgQECMl0TQEuRf4I4qw3BhIFalTYYUAQQh8ZIFYcHCCgAGsCEnDU2SIHgpDOAZJg4OMBSYi3ggD08LKjxvDixyUAwXEw5YSCLiT0PjiSIAICBJMFiSCygYUPIAaJG1eJ/IMgBoA8MEEQnuWAEA96hCAIFBV0kB94/EngnyBDMCGDC3pRgIUGHIpBRwlCwICGXT6gAEZB+rH2wgQTCuJHBQQGMMEJAtSYxwYimLFBQTQU4QF2M0SxH0hUJBCfZgicBkB7FzQZAQML3HGkIAsEkAFBDCBwQ0pcVtTAEAaEKaYBFnjXJUQl2HDAmmwe8MYZZ8Yp55x01mnnnQo9hCdEAu0JUUAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhLQAtAMQQALGxsWJiYvT09G1tbdLS0t3d3YSEhOnp6cfHx5qamqWlpXl5eby8vI+Pj1dXV////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAtAC0AAAWw4COOZGme6AlBaeu+IgvPdG3feK7vfO//wCCtIHwJAAHHophCDBxQB4JZOhiiUQB1hMRGGVvC0wsNCJiCBDm6IBa76wC4WLiuHYqzUKC4OwxuQk53A1NMAHcBAHpFAklkDQdbDwRkAQSTIgVrBpiZdmQJjEwHC4lak3BkA55UaX6Rk2J+i6mPq4ZUVn4JmYNrga59ZKiZdV7FmQ+qksojRwqtztPU1dbX2NnaDzLWKyEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/prevlabel.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAPeJANzc3P39/fb29rq6utra2v7+/ltbW8HBwfX19fz8/F5eXk1NTV9fX/r6+uDg4NXV1djY2ICAgGBgYFFRUVRUVEpKSt3d3eLi4tnZ2cDAwOPj4/n5+cLCwsPDw/Dw8PLy8ru7u6CgoN/f34ODg0JCQktLS11dXVpaWnJycmpqar6+vpCQkJSUlMzMzPj4+KSkpFJSUmVlZcbGxsTExGxsbIGBgba2tuXl5WNjY3BwcHZ2dmZmZufn5+vr687OztfX18rKysnJyejo6FxcXFBQUKGhoY2NjZubm3h4eHt7e5iYmN7e3tPT00BAQLi4uEdHR39/f3p6evPz89bW1qenp+bm5k9PT3d3d2RkZEhISHl5eby8vPT09HR0dG9vb62traOjo/v7+66urr+/v25ubmFhYWlpadTU1I6OjrW1tb29vaKiourq6p2dnbm5uVVVVZqamqampvHx8ff396qqqtDQ0IyMjMjIyKioqKurq2JiYoaGhklJSVhYWLOzs+Hh4UFBQXFxcc/Pz8vLy3Nzc+/v71dXV+7u7v///zMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAIkALAAAAAA/ACAAAAj/ABEJHEiwoMGDCBMqNJgo0cKHECM+dCixosWLGDNq3Mixo8ePIEOKHEmypMmTKFNubOBjTAYOU1wIJJAhg4oWQgR+6HCg5wEOPAbJKDBwQ5A7IhHUmMCgaRIHiIrAUKCgTIw8iCwYMGTgxAkFddBMADCQgAkjIgVA8SLgQ5oSdhKsMQBgg4UcfX5osLJCBIS/BQ4sCDEQTwUfaSMQSoCowAkdUl4ouCEwDhEOVRZQKeghBQ0EiBBcCUQ0pIAIOTwgsJHFSAAwBrZgUINDgoMLFEaocOOkA2M4FIAgYlIBxEgBI4iYGCIBCQZEL2DEGEIBxQxEAAyYMLMDx4gGiDAszVCCSIkEHsdr7Ogw48ccgUUMAPlSYoBAABNYaBCx5ELpJGQ4gAULjCXWhUEhMNBDAjro8QF2C9BxkAwL7CGBICSdhgJ4BIWgwAWIgFBCG1lNsMIDKJ5xiECF0FBBFAFkqEUKHA50xBsiIMIFEnwE8QcFT5AgZBN+CFTAEYCIUVIAGjhQ2kBsACATIj08IMQGABCgpZYeDCQHBKCpJOZFNxAAwJlonhnjmA+1YMMAcMY5AAhhsPlQAQHkqaeedvbp55+ABiqonxQNulBDAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/images/thumb-1.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiI+CjxoZWFkPgoJCgk8dGl0bGU+TGlnaHRib3ggSlMgdjIuMCB8IFRlc3QgUGFnZTwvdGl0bGU+CgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvbGlnaHRib3guY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4KCQoJPHNjcmlwdCBzcmM9ImpzL3Byb3RvdHlwZS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCTxzY3JpcHQgc3JjPSJqcy9zY3JpcHRhY3Vsb3VzLmpzP2xvYWQ9ZWZmZWN0cyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCTxzY3JpcHQgc3JjPSJqcy9saWdodGJveC5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJCWJvZHl7IGNvbG9yOiAjMzMzOyBmb250OiAxM3B4ICdMdWNpZGEgR3JhbmRlJywgVmVyZGFuYSwgc2Fucy1zZXJpZjsJfQoJPC9zdHlsZT4KCjwvaGVhZD4KPGJvZHk+CgoKPGgxPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8iPkxpZ2h0Ym94IEpTIDxlbT52Mi4wPC9lbT48L2E+PC9oMT4KPHA+PGEgaHJlZj0iaHR0cDovL3d3dy5odWRkbGV0b2dldGhlci5jb20iPmJ5IExva2VzaCBEaGFrYXI8L2E+PC9wPgoKPGgyPkV4YW1wbGU8L2gyPgoKPGEgaHJlZj0iaW1hZ2VzL2ltYWdlLTEuanBnIiByZWw9ImxpZ2h0Ym94Ij48aW1nIHNyYz0iaW1hZ2VzL3RodW1iLTEuanBnIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjQwIiBhbHQ9IiIgLz48L2E+CgoKCgo8aDI+SG93IHRvIFVzZTo8L2gyPgo8aDM+UGFydCAxIC0gU2V0dXA8L2gzPgo8b2w+CjxsaT5MaWdodGJveCB2Mi4wIHVzZXMgdGhlIFByb3RvdHlwZSBGcmFtZXdvcmsgYW5kIFNjcmlwdGFjdWxvdXMgRWZmZWN0cyBMaWJyYXJ5LiBZb3Ugd2lsbCBuZWVkIHRvIGluY2x1ZGUgdGhlc2UgdGhyZWUgSmF2YXNjcmlwdCBmaWxlcyBpbiB5b3VyIGhlYWRlci4KPHByZT48Y29kZT4mbHQ7c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7IHNyYz0mcXVvdDtqcy9wcm90b3R5cGUuanMmcXVvdDsmZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7CiZsdDtzY3JpcHQgdHlwZT0mcXVvdDt0ZXh0L2phdmFzY3JpcHQmcXVvdDsgc3JjPSZxdW90O2pzL3NjcmlwdGFjdWxvdXMuanM/bG9hZD1lZmZlY3RzJnF1b3Q7Jmd0OyZsdDsvc2NyaXB0Jmd0OwombHQ7c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7IHNyYz0mcXVvdDtqcy9saWdodGJveC5qcyZxdW90OyZndDsmbHQ7L3NjcmlwdCZndDsKPC9jb2RlPjwvcHJlPgo8L2xpPgo8bGk+SW5jbHVkZSB0aGUgTGlnaHRib3ggQ1NTIGZpbGUgKG9yIGFwcGVuZCB5b3VyIGFjdGl2ZSBzdHlsZXNoZWV0IHdpdGggdGhlIExpZ2h0Ym94IHN0eWxlcykuCjxwcmU+PGNvZGU+Jmx0O2xpbmsgcmVsPSZxdW90O3N0eWxlc2hlZXQmcXVvdDsgaHJlZj0mcXVvdDtjc3MvbGlnaHRib3guY3NzJnF1b3Q7IHR5cGU9JnF1b3Q7dGV4dC9jc3MmcXVvdDsgbWVkaWE9JnF1b3Q7c2NyZWVuJnF1b3Q7IC8mZ3Q7CjwvY29kZT48L3ByZT4KPC9saT4KPGxpPkNoZWNrIHRoZSBDU1MgYW5kIG1ha2Ugc3VyZSB0aGUgcmVmZXJlbmNlZCA8Y29kZT5wcmV2bGFiZWwuZ2lmPC9jb2RlPiBhbmQgPGNvZGU+bmV4dGxhYmVsLmdpZjwvY29kZT4gZmlsZXMgYXJlIGluIHRoZSByaWdodCBsb2NhdGlvbi4gQWxzbywgbWFrZSBzdXJlIHRoZSA8Y29kZT5sb2FkaW5nLmdpZjwvY29kZT4gYW5kIDxjb2RlPmNsb3NlbGFiZWwuZ2lmPC9jb2RlPiBmaWxlcyBhcyByZWZlcmVuY2VkIG5lYXIgdGhlIHRvcCBvZiB0aGUgPGNvZGU+bGlnaHRib3guanM8L2NvZGU+IGZpbGUgYXJlIGluIHRoZSByaWdodCBsb2NhdGlvbi48L2xpPgo8L29sPgo8aDM+UGFydCAyIC0gQWN0aXZhdGU8L2gzPgo8b2w+CjxsaT5BZGQgYSA8Y29kZT5yZWw9ImxpZ2h0Ym94IjwvY29kZT4gYXR0cmlidXRlIHRvIGFueSBsaW5rIHRhZyB0byBhY3RpdmF0ZSB0aGUgbGlnaHRib3guIEZvciBleGFtcGxlOgo8cHJlPjxjb2RlPiZsdDthIGhyZWY9JnF1b3Q7aW1hZ2VzL2ltYWdlLTEuanBnJnF1b3Q7IHJlbD0mcXVvdDtsaWdodGJveCZxdW90OyB0aXRsZT0mcXVvdDtteSBjYXB0aW9uJnF1b3Q7Jmd0O2ltYWdlICMxJmx0Oy9hJmd0Owo8L2NvZGU+PC9wcmU+CjxlbT5PcHRpb25hbDogPC9lbT5Vc2UgdGhlIDxjb2RlPnRpdGxlPC9jb2RlPiBhdHRyaWJ1dGUgaWYgeW91IHdhbnQgdG8gc2hvdyBhIGNhcHRpb24uCQk8L2xpPgo8bGk+SWYgeW91IGhhdmUgYSBzZXQgb2YgcmVsYXRlZCBpbWFnZXMgdGhhdCB5b3Ugd291bGQgbGlrZSB0byBncm91cCwgZm9sbG93IHN0ZXAgb25lIGJ1dCBhZGRpdGlvbmFsbHkgaW5jbHVkZSBhIGdyb3VwIG5hbWUgYmV0d2VlbiBzcXVhcmUgYnJhY2tldHMgaW4gdGhlIHJlbCBhdHRyaWJ1dGUuIEZvciBleGFtcGxlOiAKPHByZT48Y29kZT4mbHQ7YSBocmVmPSZxdW90O2ltYWdlcy9pbWFnZS0xLmpwZyZxdW90OyByZWw9JnF1b3Q7bGlnaHRib3hbcm9hZHRyaXBdJnF1b3Q7Jmd0O2ltYWdlICMxJmx0Oy9hJmd0OwombHQ7YSBocmVmPSZxdW90O2ltYWdlcy9pbWFnZS0yLmpwZyZxdW90OyByZWw9JnF1b3Q7bGlnaHRib3hbcm9hZHRyaXBdJnF1b3Q7Jmd0O2ltYWdlICMyJmx0Oy9hJmd0OwombHQ7YSBocmVmPSZxdW90O2ltYWdlcy9pbWFnZS0zLmpwZyZxdW90OyByZWw9JnF1b3Q7bGlnaHRib3hbcm9hZHRyaXBdJnF1b3Q7Jmd0O2ltYWdlICMzJmx0Oy9hJmd0Owo8L2NvZGU+PC9wcmU+Ck5vIGxpbWl0cyB0byB0aGUgbnVtYmVyIG9mIGltYWdlIHNldHMgcGVyIHBhZ2Ugb3IgaG93IG1hbnkgaW1hZ2VzIGFyZSBhbGxvd2VkIGluIGVhY2ggc2V0LiBHbyBudXRzITwvbGk+Cjwvb2w+CQoKCjwvYm9keT4KPC9odG1sPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/lightbox/js/effects.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ29weXJpZ2h0IChjKSAyMDA1IFRob21hcyBGdWNocyAoaHR0cDovL3NjcmlwdC5hY3Vsby51cywgaHR0cDovL21pci5hY3Vsby51cykKLy8gQ29udHJpYnV0b3JzOgovLyAgSnVzdGluIFBhbG1lciAoaHR0cDovL2VuY3l0ZW1lZGlhLmNvbS8pCi8vICBNYXJrIFBpbGdyaW0gKGh0dHA6Ly9kaXZlaW50b21hcmsub3JnLykKLy8gIE1hcnRpbiBCaWFsYXNpbmtpCi8vIAovLyBTZWUgc2NyaXB0YWN1bG91cy5qcyBmb3IgZnVsbCBsaWNlbnNlLiAgCgovKiAtLS0tLS0tLS0tLS0tIGVsZW1lbnQgZXh0IC0tLS0tLS0tLS0tLS0tICovICAKIAovLyBjb252ZXJ0cyByZ2IoKSBhbmQgI3h4eCB0byAjeHh4eHh4IGZvcm1hdCwgIAovLyByZXR1cm5zIHNlbGYgKG9yIGZpcnN0IGFyZ3VtZW50KSBpZiBub3QgY29udmVydGFibGUgIApTdHJpbmcucHJvdG90eXBlLnBhcnNlQ29sb3IgPSBmdW5jdGlvbigpIHsgIAogIHZhciBjb2xvciA9ICcjJzsgIAogIGlmKHRoaXMuc2xpY2UoMCw0KSA9PSAncmdiKCcpIHsgIAogICAgdmFyIGNvbHMgPSB0aGlzLnNsaWNlKDQsdGhpcy5sZW5ndGgtMSkuc3BsaXQoJywnKTsgIAogICAgdmFyIGk9MDsgZG8geyBjb2xvciArPSBwYXJzZUludChjb2xzW2ldKS50b0NvbG9yUGFydCgpIH0gd2hpbGUgKCsraTwzKTsgIAogIH0gZWxzZSB7ICAKICAgIGlmKHRoaXMuc2xpY2UoMCwxKSA9PSAnIycpIHsgIAogICAgICBpZih0aGlzLmxlbmd0aD09NCkgZm9yKHZhciBpPTE7aTw0O2krKykgY29sb3IgKz0gKHRoaXMuY2hhckF0KGkpICsgdGhpcy5jaGFyQXQoaSkpLnRvTG93ZXJDYXNlKCk7ICAKICAgICAgaWYodGhpcy5sZW5ndGg9PTcpIGNvbG9yID0gdGhpcy50b0xvd2VyQ2FzZSgpOyAgCiAgICB9ICAKICB9ICAKICByZXR1cm4oY29sb3IubGVuZ3RoPT03ID8gY29sb3IgOiAoYXJndW1lbnRzWzBdIHx8IHRoaXMpKTsgIAp9CgpFbGVtZW50LmNvbGxlY3RUZXh0Tm9kZXMgPSBmdW5jdGlvbihlbGVtZW50KSB7ICAKICByZXR1cm4gJEEoJChlbGVtZW50KS5jaGlsZE5vZGVzKS5jb2xsZWN0KCBmdW5jdGlvbihub2RlKSB7CiAgICByZXR1cm4gKG5vZGUubm9kZVR5cGU9PTMgPyBub2RlLm5vZGVWYWx1ZSA6IAogICAgICAobm9kZS5oYXNDaGlsZE5vZGVzKCkgPyBFbGVtZW50LmNvbGxlY3RUZXh0Tm9kZXMobm9kZSkgOiAnJykpOwogIH0pLmZsYXR0ZW4oKS5qb2luKCcnKTsKfQoKRWxlbWVudC5jb2xsZWN0VGV4dE5vZGVzSWdub3JlQ2xhc3MgPSBmdW5jdGlvbihlbGVtZW50LCBjbGFzc05hbWUpIHsgIAogIHJldHVybiAkQSgkKGVsZW1lbnQpLmNoaWxkTm9kZXMpLmNvbGxlY3QoIGZ1bmN0aW9uKG5vZGUpIHsKICAgIHJldHVybiAobm9kZS5ub2RlVHlwZT09MyA/IG5vZGUubm9kZVZhbHVlIDogCiAgICAgICgobm9kZS5oYXNDaGlsZE5vZGVzKCkgJiYgIUVsZW1lbnQuaGFzQ2xhc3NOYW1lKG5vZGUsY2xhc3NOYW1lKSkgPyAKICAgICAgICBFbGVtZW50LmNvbGxlY3RUZXh0Tm9kZXMobm9kZSkgOiAnJykpOwogIH0pLmZsYXR0ZW4oKS5qb2luKCcnKTsKfQoKRWxlbWVudC5zZXRTdHlsZSA9IGZ1bmN0aW9uKGVsZW1lbnQsIHN0eWxlKSB7CiAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgZm9yKGsgaW4gc3R5bGUpIGVsZW1lbnQuc3R5bGVbay5jYW1lbGl6ZSgpXSA9IHN0eWxlW2tdOwp9CgpFbGVtZW50LnNldENvbnRlbnRab29tID0gZnVuY3Rpb24oZWxlbWVudCwgcGVyY2VudCkgeyAgCiAgRWxlbWVudC5zZXRTdHlsZShlbGVtZW50LCB7Zm9udFNpemU6IChwZXJjZW50LzEwMCkgKyAnZW0nfSk7ICAgCiAgaWYobmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignQXBwbGVXZWJLaXQnKT4wKSB3aW5kb3cuc2Nyb2xsQnkoMCwwKTsgIAp9CgpFbGVtZW50LmdldE9wYWNpdHkgPSBmdW5jdGlvbihlbGVtZW50KXsgIAogIHZhciBvcGFjaXR5OwogIGlmIChvcGFjaXR5ID0gRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAnb3BhY2l0eScpKSAgCiAgICByZXR1cm4gcGFyc2VGbG9hdChvcGFjaXR5KTsgIAogIGlmIChvcGFjaXR5ID0gKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwgJ2ZpbHRlcicpIHx8ICcnKS5tYXRjaCgvYWxwaGFcKG9wYWNpdHk9KC4qKVwpLykpICAKICAgIGlmKG9wYWNpdHlbMV0pIHJldHVybiBwYXJzZUZsb2F0KG9wYWNpdHlbMV0pIC8gMTAwOyAgCiAgcmV0dXJuIDEuMDsgIAp9CgpFbGVtZW50LnNldE9wYWNpdHkgPSBmdW5jdGlvbihlbGVtZW50LCB2YWx1ZSl7ICAKICBlbGVtZW50PSAkKGVsZW1lbnQpOyAgCiAgaWYgKHZhbHVlID09IDEpewogICAgRWxlbWVudC5zZXRTdHlsZShlbGVtZW50LCB7IG9wYWNpdHk6IAogICAgICAoL0dlY2tvLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEvS29ucXVlcm9yfFNhZmFyaXxLSFRNTC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgPyAKICAgICAgMC45OTk5OTkgOiBudWxsIH0pOwogICAgaWYoL01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpICAKICAgICAgRWxlbWVudC5zZXRTdHlsZShlbGVtZW50LCB7ZmlsdGVyOiBFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsJ2ZpbHRlcicpLnJlcGxhY2UoL2FscGhhXChbXlwpXSpcKS9naSwnJyl9KTsgIAogIH0gZWxzZSB7ICAKICAgIGlmKHZhbHVlIDwgMC4wMDAwMSkgdmFsdWUgPSAwOyAgCiAgICBFbGVtZW50LnNldFN0eWxlKGVsZW1lbnQsIHtvcGFjaXR5OiB2YWx1ZX0pOwogICAgaWYoL01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpICAKICAgICBFbGVtZW50LnNldFN0eWxlKGVsZW1lbnQsIAogICAgICAgeyBmaWx0ZXI6IEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwnZmlsdGVyJykucmVwbGFjZSgvYWxwaGFcKFteXCldKlwpL2dpLCcnKSArCiAgICAgICAgICAgICAgICAgJ2FscGhhKG9wYWNpdHk9Jyt2YWx1ZSoxMDArJyknIH0pOyAgCiAgfSAgIAp9ICAKIApFbGVtZW50LmdldElubGluZU9wYWNpdHkgPSBmdW5jdGlvbihlbGVtZW50KXsgIAogIHJldHVybiAkKGVsZW1lbnQpLnN0eWxlLm9wYWNpdHkgfHwgJyc7Cn0gIAoKRWxlbWVudC5jaGlsZHJlbldpdGhDbGFzc05hbWUgPSBmdW5jdGlvbihlbGVtZW50LCBjbGFzc05hbWUpIHsgIAogIHJldHVybiAkQSgkKGVsZW1lbnQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCcqJykpLnNlbGVjdCgKICAgIGZ1bmN0aW9uKGMpIHsgcmV0dXJuIEVsZW1lbnQuaGFzQ2xhc3NOYW1lKGMsIGNsYXNzTmFtZSkgfSk7Cn0KCkFycmF5LnByb3RvdHlwZS5jYWxsID0gZnVuY3Rpb24oKSB7CiAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7CiAgdGhpcy5lYWNoKGZ1bmN0aW9uKGYpeyBmLmFwcGx5KHRoaXMsIGFyZ3MpIH0pOwp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCnZhciBFZmZlY3QgPSB7CiAgdGFnaWZ5VGV4dDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgdmFyIHRhZ2lmeVN0eWxlID0gJ3Bvc2l0aW9uOnJlbGF0aXZlJzsKICAgIGlmKC9NU0lFLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB0YWdpZnlTdHlsZSArPSAnO3pvb206MSc7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgICRBKGVsZW1lbnQuY2hpbGROb2RlcykuZWFjaCggZnVuY3Rpb24oY2hpbGQpIHsKICAgICAgaWYoY2hpbGQubm9kZVR5cGU9PTMpIHsKICAgICAgICBjaGlsZC5ub2RlVmFsdWUudG9BcnJheSgpLmVhY2goIGZ1bmN0aW9uKGNoYXJhY3RlcikgewogICAgICAgICAgZWxlbWVudC5pbnNlcnRCZWZvcmUoCiAgICAgICAgICAgIEJ1aWxkZXIubm9kZSgnc3Bhbicse3N0eWxlOiB0YWdpZnlTdHlsZX0sCiAgICAgICAgICAgICAgY2hhcmFjdGVyID09ICcgJyA/IFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSA6IGNoYXJhY3RlciksIAogICAgICAgICAgICAgIGNoaWxkKTsKICAgICAgICB9KTsKICAgICAgICBFbGVtZW50LnJlbW92ZShjaGlsZCk7CiAgICAgIH0KICAgIH0pOwogIH0sCiAgbXVsdGlwbGU6IGZ1bmN0aW9uKGVsZW1lbnQsIGVmZmVjdCkgewogICAgdmFyIGVsZW1lbnRzOwogICAgaWYoKCh0eXBlb2YgZWxlbWVudCA9PSAnb2JqZWN0JykgfHwgCiAgICAgICAgKHR5cGVvZiBlbGVtZW50ID09ICdmdW5jdGlvbicpKSAmJiAKICAgICAgIChlbGVtZW50Lmxlbmd0aCkpCiAgICAgIGVsZW1lbnRzID0gZWxlbWVudDsKICAgIGVsc2UKICAgICAgZWxlbWVudHMgPSAkKGVsZW1lbnQpLmNoaWxkTm9kZXM7CiAgICAgIAogICAgdmFyIG9wdGlvbnMgPSBPYmplY3QuZXh0ZW5kKHsKICAgICAgc3BlZWQ6IDAuMSwKICAgICAgZGVsYXk6IDAuMAogICAgfSwgYXJndW1lbnRzWzJdIHx8IHt9KTsKICAgIHZhciBtYXN0ZXJEZWxheSA9IG9wdGlvbnMuZGVsYXk7CgogICAgJEEoZWxlbWVudHMpLmVhY2goIGZ1bmN0aW9uKGVsZW1lbnQsIGluZGV4KSB7CiAgICAgIG5ldyBlZmZlY3QoZWxlbWVudCwgT2JqZWN0LmV4dGVuZChvcHRpb25zLCB7IGRlbGF5OiBpbmRleCAqIG9wdGlvbnMuc3BlZWQgKyBtYXN0ZXJEZWxheSB9KSk7CiAgICB9KTsKICB9LAogIFBBSVJTOiB7CiAgICAnc2xpZGUnOiAgWydTbGlkZURvd24nLCdTbGlkZVVwJ10sCiAgICAnYmxpbmQnOiAgWydCbGluZERvd24nLCdCbGluZFVwJ10sCiAgICAnYXBwZWFyJzogWydBcHBlYXInLCdGYWRlJ10KICB9LAogIHRvZ2dsZTogZnVuY3Rpb24oZWxlbWVudCwgZWZmZWN0KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGVmZmVjdCA9IChlZmZlY3QgfHwgJ2FwcGVhcicpLnRvTG93ZXJDYXNlKCk7CiAgICB2YXIgb3B0aW9ucyA9IE9iamVjdC5leHRlbmQoewogICAgICBxdWV1ZTogeyBwb3NpdGlvbjonZW5kJywgc2NvcGU6KGVsZW1lbnQuaWQgfHwgJ2dsb2JhbCcpIH0KICAgIH0sIGFyZ3VtZW50c1syXSB8fCB7fSk7CiAgICBFZmZlY3RbRWxlbWVudC52aXNpYmxlKGVsZW1lbnQpID8gCiAgICAgIEVmZmVjdC5QQUlSU1tlZmZlY3RdWzFdIDogRWZmZWN0LlBBSVJTW2VmZmVjdF1bMF1dKGVsZW1lbnQsIG9wdGlvbnMpOwogIH0KfTsKCnZhciBFZmZlY3QyID0gRWZmZWN0OyAvLyBkZXByZWNhdGVkCgovKiAtLS0tLS0tLS0tLS0tIHRyYW5zaXRpb25zIC0tLS0tLS0tLS0tLS0gKi8KCkVmZmVjdC5UcmFuc2l0aW9ucyA9IHt9CgpFZmZlY3QuVHJhbnNpdGlvbnMubGluZWFyID0gZnVuY3Rpb24ocG9zKSB7CiAgcmV0dXJuIHBvczsKfQpFZmZlY3QuVHJhbnNpdGlvbnMuc2lub2lkYWwgPSBmdW5jdGlvbihwb3MpIHsKICByZXR1cm4gKC1NYXRoLmNvcyhwb3MqTWF0aC5QSSkvMikgKyAwLjU7Cn0KRWZmZWN0LlRyYW5zaXRpb25zLnJldmVyc2UgID0gZnVuY3Rpb24ocG9zKSB7CiAgcmV0dXJuIDEtcG9zOwp9CkVmZmVjdC5UcmFuc2l0aW9ucy5mbGlja2VyID0gZnVuY3Rpb24ocG9zKSB7CiAgcmV0dXJuICgoLU1hdGguY29zKHBvcypNYXRoLlBJKS80KSArIDAuNzUpICsgTWF0aC5yYW5kb20oKS80Owp9CkVmZmVjdC5UcmFuc2l0aW9ucy53b2JibGUgPSBmdW5jdGlvbihwb3MpIHsKICByZXR1cm4gKC1NYXRoLmNvcyhwb3MqTWF0aC5QSSooOSpwb3MpKS8yKSArIDAuNTsKfQpFZmZlY3QuVHJhbnNpdGlvbnMucHVsc2UgPSBmdW5jdGlvbihwb3MpIHsKICByZXR1cm4gKE1hdGguZmxvb3IocG9zKjEwKSAlIDIgPT0gMCA/IAogICAgKHBvcyoxMC1NYXRoLmZsb29yKHBvcyoxMCkpIDogMS0ocG9zKjEwLU1hdGguZmxvb3IocG9zKjEwKSkpOwp9CkVmZmVjdC5UcmFuc2l0aW9ucy5ub25lID0gZnVuY3Rpb24ocG9zKSB7CiAgcmV0dXJuIDA7Cn0KRWZmZWN0LlRyYW5zaXRpb25zLmZ1bGwgPSBmdW5jdGlvbihwb3MpIHsKICByZXR1cm4gMTsKfQoKLyogLS0tLS0tLS0tLS0tLSBjb3JlIGVmZmVjdHMgLS0tLS0tLS0tLS0tLSAqLwoKRWZmZWN0LlNjb3BlZFF1ZXVlID0gQ2xhc3MuY3JlYXRlKCk7Ck9iamVjdC5leHRlbmQoT2JqZWN0LmV4dGVuZChFZmZlY3QuU2NvcGVkUXVldWUucHJvdG90eXBlLCBFbnVtZXJhYmxlKSwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5lZmZlY3RzICA9IFtdOwogICAgdGhpcy5pbnRlcnZhbCA9IG51bGw7CiAgfSwKICBfZWFjaDogZnVuY3Rpb24oaXRlcmF0b3IpIHsKICAgIHRoaXMuZWZmZWN0cy5fZWFjaChpdGVyYXRvcik7CiAgfSwKICBhZGQ6IGZ1bmN0aW9uKGVmZmVjdCkgewogICAgdmFyIHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgCiAgICB2YXIgcG9zaXRpb24gPSAodHlwZW9mIGVmZmVjdC5vcHRpb25zLnF1ZXVlID09ICdzdHJpbmcnKSA/IAogICAgICBlZmZlY3Qub3B0aW9ucy5xdWV1ZSA6IGVmZmVjdC5vcHRpb25zLnF1ZXVlLnBvc2l0aW9uOwogICAgCiAgICBzd2l0Y2gocG9zaXRpb24pIHsKICAgICAgY2FzZSAnZnJvbnQnOgogICAgICAgIC8vIG1vdmUgdW5zdGFydGVkIGVmZmVjdHMgYWZ0ZXIgdGhpcyBlZmZlY3QgIAogICAgICAgIHRoaXMuZWZmZWN0cy5maW5kQWxsKGZ1bmN0aW9uKGUpeyByZXR1cm4gZS5zdGF0ZT09J2lkbGUnIH0pLmVhY2goIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgZS5zdGFydE9uICArPSBlZmZlY3QuZmluaXNoT247CiAgICAgICAgICAgIGUuZmluaXNoT24gKz0gZWZmZWN0LmZpbmlzaE9uOwogICAgICAgICAgfSk7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgJ2VuZCc6CiAgICAgICAgLy8gc3RhcnQgZWZmZWN0IGFmdGVyIGxhc3QgcXVldWVkIGVmZmVjdCBoYXMgZmluaXNoZWQKICAgICAgICB0aW1lc3RhbXAgPSB0aGlzLmVmZmVjdHMucGx1Y2soJ2ZpbmlzaE9uJykubWF4KCkgfHwgdGltZXN0YW1wOwogICAgICAgIGJyZWFrOwogICAgfQogICAgCiAgICBlZmZlY3Quc3RhcnRPbiAgKz0gdGltZXN0YW1wOwogICAgZWZmZWN0LmZpbmlzaE9uICs9IHRpbWVzdGFtcDsKICAgIHRoaXMuZWZmZWN0cy5wdXNoKGVmZmVjdCk7CiAgICBpZighdGhpcy5pbnRlcnZhbCkgCiAgICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCh0aGlzLmxvb3AuYmluZCh0aGlzKSwgNDApOwogIH0sCiAgcmVtb3ZlOiBmdW5jdGlvbihlZmZlY3QpIHsKICAgIHRoaXMuZWZmZWN0cyA9IHRoaXMuZWZmZWN0cy5yZWplY3QoZnVuY3Rpb24oZSkgeyByZXR1cm4gZT09ZWZmZWN0IH0pOwogICAgaWYodGhpcy5lZmZlY3RzLmxlbmd0aCA9PSAwKSB7CiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7CiAgICAgIHRoaXMuaW50ZXJ2YWwgPSBudWxsOwogICAgfQogIH0sCiAgbG9vcDogZnVuY3Rpb24oKSB7CiAgICB2YXIgdGltZVBvcyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgdGhpcy5lZmZlY3RzLmludm9rZSgnbG9vcCcsIHRpbWVQb3MpOwogIH0KfSk7CgpFZmZlY3QuUXVldWVzID0gewogIGluc3RhbmNlczogJEgoKSwKICBnZXQ6IGZ1bmN0aW9uKHF1ZXVlTmFtZSkgewogICAgaWYodHlwZW9mIHF1ZXVlTmFtZSAhPSAnc3RyaW5nJykgcmV0dXJuIHF1ZXVlTmFtZTsKICAgIAogICAgaWYoIXRoaXMuaW5zdGFuY2VzW3F1ZXVlTmFtZV0pCiAgICAgIHRoaXMuaW5zdGFuY2VzW3F1ZXVlTmFtZV0gPSBuZXcgRWZmZWN0LlNjb3BlZFF1ZXVlKCk7CiAgICAgIAogICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzW3F1ZXVlTmFtZV07CiAgfQp9CkVmZmVjdC5RdWV1ZSA9IEVmZmVjdC5RdWV1ZXMuZ2V0KCdnbG9iYWwnKTsKCkVmZmVjdC5EZWZhdWx0T3B0aW9ucyA9IHsKICB0cmFuc2l0aW9uOiBFZmZlY3QuVHJhbnNpdGlvbnMuc2lub2lkYWwsCiAgZHVyYXRpb246ICAgMS4wLCAgIC8vIHNlY29uZHMKICBmcHM6ICAgICAgICAyNS4wLCAgLy8gbWF4LiAyNWZwcyBkdWUgdG8gRWZmZWN0LlF1ZXVlIGltcGxlbWVudGF0aW9uCiAgc3luYzogICAgICAgZmFsc2UsIC8vIHRydWUgZm9yIGNvbWJpbmluZwogIGZyb206ICAgICAgIDAuMCwKICB0bzogICAgICAgICAxLjAsCiAgZGVsYXk6ICAgICAgMC4wLAogIHF1ZXVlOiAgICAgICdwYXJhbGxlbCcKfQoKRWZmZWN0LkJhc2UgPSBmdW5jdGlvbigpIHt9OwpFZmZlY3QuQmFzZS5wcm90b3R5cGUgPSB7CiAgcG9zaXRpb246IG51bGwsCiAgc3RhcnQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgIHRoaXMub3B0aW9ucyAgICAgID0gT2JqZWN0LmV4dGVuZChPYmplY3QuZXh0ZW5kKHt9LEVmZmVjdC5EZWZhdWx0T3B0aW9ucyksIG9wdGlvbnMgfHwge30pOwogICAgdGhpcy5jdXJyZW50RnJhbWUgPSAwOwogICAgdGhpcy5zdGF0ZSAgICAgICAgPSAnaWRsZSc7CiAgICB0aGlzLnN0YXJ0T24gICAgICA9IHRoaXMub3B0aW9ucy5kZWxheSoxMDAwOwogICAgdGhpcy5maW5pc2hPbiAgICAgPSB0aGlzLnN0YXJ0T24gKyAodGhpcy5vcHRpb25zLmR1cmF0aW9uKjEwMDApOwogICAgdGhpcy5ldmVudCgnYmVmb3JlU3RhcnQnKTsKICAgIGlmKCF0aGlzLm9wdGlvbnMuc3luYykKICAgICAgRWZmZWN0LlF1ZXVlcy5nZXQodHlwZW9mIHRoaXMub3B0aW9ucy5xdWV1ZSA9PSAnc3RyaW5nJyA/IAogICAgICAgICdnbG9iYWwnIDogdGhpcy5vcHRpb25zLnF1ZXVlLnNjb3BlKS5hZGQodGhpcyk7CiAgfSwKICBsb29wOiBmdW5jdGlvbih0aW1lUG9zKSB7CiAgICBpZih0aW1lUG9zID49IHRoaXMuc3RhcnRPbikgewogICAgICBpZih0aW1lUG9zID49IHRoaXMuZmluaXNoT24pIHsKICAgICAgICB0aGlzLnJlbmRlcigxLjApOwogICAgICAgIHRoaXMuY2FuY2VsKCk7CiAgICAgICAgdGhpcy5ldmVudCgnYmVmb3JlRmluaXNoJyk7CiAgICAgICAgaWYodGhpcy5maW5pc2gpIHRoaXMuZmluaXNoKCk7IAogICAgICAgIHRoaXMuZXZlbnQoJ2FmdGVyRmluaXNoJyk7CiAgICAgICAgcmV0dXJuOyAgCiAgICAgIH0KICAgICAgdmFyIHBvcyAgID0gKHRpbWVQb3MgLSB0aGlzLnN0YXJ0T24pIC8gKHRoaXMuZmluaXNoT24gLSB0aGlzLnN0YXJ0T24pOwogICAgICB2YXIgZnJhbWUgPSBNYXRoLnJvdW5kKHBvcyAqIHRoaXMub3B0aW9ucy5mcHMgKiB0aGlzLm9wdGlvbnMuZHVyYXRpb24pOwogICAgICBpZihmcmFtZSA+IHRoaXMuY3VycmVudEZyYW1lKSB7CiAgICAgICAgdGhpcy5yZW5kZXIocG9zKTsKICAgICAgICB0aGlzLmN1cnJlbnRGcmFtZSA9IGZyYW1lOwogICAgICB9CiAgICB9CiAgfSwKICByZW5kZXI6IGZ1bmN0aW9uKHBvcykgewogICAgaWYodGhpcy5zdGF0ZSA9PSAnaWRsZScpIHsKICAgICAgdGhpcy5zdGF0ZSA9ICdydW5uaW5nJzsKICAgICAgdGhpcy5ldmVudCgnYmVmb3JlU2V0dXAnKTsKICAgICAgaWYodGhpcy5zZXR1cCkgdGhpcy5zZXR1cCgpOwogICAgICB0aGlzLmV2ZW50KCdhZnRlclNldHVwJyk7CiAgICB9CiAgICBpZih0aGlzLnN0YXRlID09ICdydW5uaW5nJykgewogICAgICBpZih0aGlzLm9wdGlvbnMudHJhbnNpdGlvbikgcG9zID0gdGhpcy5vcHRpb25zLnRyYW5zaXRpb24ocG9zKTsKICAgICAgcG9zICo9ICh0aGlzLm9wdGlvbnMudG8tdGhpcy5vcHRpb25zLmZyb20pOwogICAgICBwb3MgKz0gdGhpcy5vcHRpb25zLmZyb207CiAgICAgIHRoaXMucG9zaXRpb24gPSBwb3M7CiAgICAgIHRoaXMuZXZlbnQoJ2JlZm9yZVVwZGF0ZScpOwogICAgICBpZih0aGlzLnVwZGF0ZSkgdGhpcy51cGRhdGUocG9zKTsKICAgICAgdGhpcy5ldmVudCgnYWZ0ZXJVcGRhdGUnKTsKICAgIH0KICB9LAogIGNhbmNlbDogZnVuY3Rpb24oKSB7CiAgICBpZighdGhpcy5vcHRpb25zLnN5bmMpCiAgICAgIEVmZmVjdC5RdWV1ZXMuZ2V0KHR5cGVvZiB0aGlzLm9wdGlvbnMucXVldWUgPT0gJ3N0cmluZycgPyAKICAgICAgICAnZ2xvYmFsJyA6IHRoaXMub3B0aW9ucy5xdWV1ZS5zY29wZSkucmVtb3ZlKHRoaXMpOwogICAgdGhpcy5zdGF0ZSA9ICdmaW5pc2hlZCc7CiAgfSwKICBldmVudDogZnVuY3Rpb24oZXZlbnROYW1lKSB7CiAgICBpZih0aGlzLm9wdGlvbnNbZXZlbnROYW1lICsgJ0ludGVybmFsJ10pIHRoaXMub3B0aW9uc1tldmVudE5hbWUgKyAnSW50ZXJuYWwnXSh0aGlzKTsKICAgIGlmKHRoaXMub3B0aW9uc1tldmVudE5hbWVdKSB0aGlzLm9wdGlvbnNbZXZlbnROYW1lXSh0aGlzKTsKICB9LAogIGluc3BlY3Q6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuICcjPEVmZmVjdDonICsgJEgodGhpcykuaW5zcGVjdCgpICsgJyxvcHRpb25zOicgKyAkSCh0aGlzLm9wdGlvbnMpLmluc3BlY3QoKSArICc+JzsKICB9Cn0KCkVmZmVjdC5QYXJhbGxlbCA9IENsYXNzLmNyZWF0ZSgpOwpPYmplY3QuZXh0ZW5kKE9iamVjdC5leHRlbmQoRWZmZWN0LlBhcmFsbGVsLnByb3RvdHlwZSwgRWZmZWN0LkJhc2UucHJvdG90eXBlKSwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVmZmVjdHMpIHsKICAgIHRoaXMuZWZmZWN0cyA9IGVmZmVjdHMgfHwgW107CiAgICB0aGlzLnN0YXJ0KGFyZ3VtZW50c1sxXSk7CiAgfSwKICB1cGRhdGU6IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CiAgICB0aGlzLmVmZmVjdHMuaW52b2tlKCdyZW5kZXInLCBwb3NpdGlvbik7CiAgfSwKICBmaW5pc2g6IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CiAgICB0aGlzLmVmZmVjdHMuZWFjaCggZnVuY3Rpb24oZWZmZWN0KSB7CiAgICAgIGVmZmVjdC5yZW5kZXIoMS4wKTsKICAgICAgZWZmZWN0LmNhbmNlbCgpOwogICAgICBlZmZlY3QuZXZlbnQoJ2JlZm9yZUZpbmlzaCcpOwogICAgICBpZihlZmZlY3QuZmluaXNoKSBlZmZlY3QuZmluaXNoKHBvc2l0aW9uKTsKICAgICAgZWZmZWN0LmV2ZW50KCdhZnRlckZpbmlzaCcpOwogICAgfSk7CiAgfQp9KTsKCkVmZmVjdC5PcGFjaXR5ID0gQ2xhc3MuY3JlYXRlKCk7Ck9iamVjdC5leHRlbmQoT2JqZWN0LmV4dGVuZChFZmZlY3QuT3BhY2l0eS5wcm90b3R5cGUsIEVmZmVjdC5CYXNlLnByb3RvdHlwZSksIHsKICBpbml0aWFsaXplOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgLy8gbWFrZSB0aGlzIHdvcmsgb24gSUUgb24gZWxlbWVudHMgd2l0aG91dCAnbGF5b3V0JwogICAgaWYoL01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgKCF0aGlzLmVsZW1lbnQuaGFzTGF5b3V0KSkKICAgICAgRWxlbWVudC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsIHt6b29tOiAxfSk7CiAgICB2YXIgb3B0aW9ucyA9IE9iamVjdC5leHRlbmQoewogICAgICBmcm9tOiBFbGVtZW50LmdldE9wYWNpdHkodGhpcy5lbGVtZW50KSB8fCAwLjAsCiAgICAgIHRvOiAgIDEuMAogICAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KTsKICAgIHRoaXMuc3RhcnQob3B0aW9ucyk7CiAgfSwKICB1cGRhdGU6IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CiAgICBFbGVtZW50LnNldE9wYWNpdHkodGhpcy5lbGVtZW50LCBwb3NpdGlvbik7CiAgfQp9KTsKCkVmZmVjdC5Nb3ZlID0gQ2xhc3MuY3JlYXRlKCk7Ck9iamVjdC5leHRlbmQoT2JqZWN0LmV4dGVuZChFZmZlY3QuTW92ZS5wcm90b3R5cGUsIEVmZmVjdC5CYXNlLnByb3RvdHlwZSksIHsKICBpbml0aWFsaXplOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIG9wdGlvbnMgPSBPYmplY3QuZXh0ZW5kKHsKICAgICAgeDogICAgMCwKICAgICAgeTogICAgMCwKICAgICAgbW9kZTogJ3JlbGF0aXZlJwogICAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KTsKICAgIHRoaXMuc3RhcnQob3B0aW9ucyk7CiAgfSwKICBzZXR1cDogZnVuY3Rpb24oKSB7CiAgICAvLyBCdWcgaW4gT3BlcmE6IE9wZXJhIHJldHVybnMgdGhlICJyZWFsIiBwb3NpdGlvbiBvZiBhIHN0YXRpYyBlbGVtZW50IG9yCiAgICAvLyByZWxhdGl2ZSBlbGVtZW50IHRoYXQgZG9lcyBub3QgaGF2ZSB0b3AvbGVmdCBleHBsaWNpdGx5IHNldC4KICAgIC8vID09PiBBbHdheXMgc2V0IHRvcCBhbmQgbGVmdCBmb3IgcG9zaXRpb24gcmVsYXRpdmUgZWxlbWVudHMgaW4geW91ciBzdHlsZXNoZWV0cyAKICAgIC8vICh0byAwIGlmIHlvdSBkbyBub3QgbmVlZCB0aGVtKSAKICAgIEVsZW1lbnQubWFrZVBvc2l0aW9uZWQodGhpcy5lbGVtZW50KTsKICAgIHRoaXMub3JpZ2luYWxMZWZ0ID0gcGFyc2VGbG9hdChFbGVtZW50LmdldFN0eWxlKHRoaXMuZWxlbWVudCwnbGVmdCcpIHx8ICcwJyk7CiAgICB0aGlzLm9yaWdpbmFsVG9wICA9IHBhcnNlRmxvYXQoRWxlbWVudC5nZXRTdHlsZSh0aGlzLmVsZW1lbnQsJ3RvcCcpICB8fCAnMCcpOwogICAgaWYodGhpcy5vcHRpb25zLm1vZGUgPT0gJ2Fic29sdXRlJykgewogICAgICAvLyBhYnNvbHV0ZSBtb3ZlbWVudCwgc28gd2UgbmVlZCB0byBjYWxjIGRlbHRhWCBhbmQgZGVsdGFZCiAgICAgIHRoaXMub3B0aW9ucy54ID0gdGhpcy5vcHRpb25zLnggLSB0aGlzLm9yaWdpbmFsTGVmdDsKICAgICAgdGhpcy5vcHRpb25zLnkgPSB0aGlzLm9wdGlvbnMueSAtIHRoaXMub3JpZ2luYWxUb3A7CiAgICB9CiAgfSwKICB1cGRhdGU6IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CiAgICBFbGVtZW50LnNldFN0eWxlKHRoaXMuZWxlbWVudCwgewogICAgICBsZWZ0OiB0aGlzLm9wdGlvbnMueCAgKiBwb3NpdGlvbiArIHRoaXMub3JpZ2luYWxMZWZ0ICsgJ3B4JywKICAgICAgdG9wOiAgdGhpcy5vcHRpb25zLnkgICogcG9zaXRpb24gKyB0aGlzLm9yaWdpbmFsVG9wICArICdweCcKICAgIH0pOwogIH0KfSk7CgovLyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKRWZmZWN0Lk1vdmVCeSA9IGZ1bmN0aW9uKGVsZW1lbnQsIHRvVG9wLCB0b0xlZnQpIHsKICByZXR1cm4gbmV3IEVmZmVjdC5Nb3ZlKGVsZW1lbnQsIAogICAgT2JqZWN0LmV4dGVuZCh7IHg6IHRvTGVmdCwgeTogdG9Ub3AgfSwgYXJndW1lbnRzWzNdIHx8IHt9KSk7Cn07CgpFZmZlY3QuU2NhbGUgPSBDbGFzcy5jcmVhdGUoKTsKT2JqZWN0LmV4dGVuZChPYmplY3QuZXh0ZW5kKEVmZmVjdC5TY2FsZS5wcm90b3R5cGUsIEVmZmVjdC5CYXNlLnByb3RvdHlwZSksIHsKICBpbml0aWFsaXplOiBmdW5jdGlvbihlbGVtZW50LCBwZXJjZW50KSB7CiAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpCiAgICB2YXIgb3B0aW9ucyA9IE9iamVjdC5leHRlbmQoewogICAgICBzY2FsZVg6IHRydWUsCiAgICAgIHNjYWxlWTogdHJ1ZSwKICAgICAgc2NhbGVDb250ZW50OiB0cnVlLAogICAgICBzY2FsZUZyb21DZW50ZXI6IGZhbHNlLAogICAgICBzY2FsZU1vZGU6ICdib3gnLCAgICAgICAgLy8gJ2JveCcgb3IgJ2NvbnRlbnRzJyBvciB7fSB3aXRoIHByb3ZpZGVkIHZhbHVlcwogICAgICBzY2FsZUZyb206IDEwMC4wLAogICAgICBzY2FsZVRvOiAgIHBlcmNlbnQKICAgIH0sIGFyZ3VtZW50c1syXSB8fCB7fSk7CiAgICB0aGlzLnN0YXJ0KG9wdGlvbnMpOwogIH0sCiAgc2V0dXA6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5yZXN0b3JlQWZ0ZXJGaW5pc2ggPSB0aGlzLm9wdGlvbnMucmVzdG9yZUFmdGVyRmluaXNoIHx8IGZhbHNlOwogICAgdGhpcy5lbGVtZW50UG9zaXRpb25pbmcgPSBFbGVtZW50LmdldFN0eWxlKHRoaXMuZWxlbWVudCwncG9zaXRpb24nKTsKICAgIAogICAgdGhpcy5vcmlnaW5hbFN0eWxlID0ge307CiAgICBbJ3RvcCcsJ2xlZnQnLCd3aWR0aCcsJ2hlaWdodCcsJ2ZvbnRTaXplJ10uZWFjaCggZnVuY3Rpb24oaykgewogICAgICB0aGlzLm9yaWdpbmFsU3R5bGVba10gPSB0aGlzLmVsZW1lbnQuc3R5bGVba107CiAgICB9LmJpbmQodGhpcykpOwogICAgICAKICAgIHRoaXMub3JpZ2luYWxUb3AgID0gdGhpcy5lbGVtZW50Lm9mZnNldFRvcDsKICAgIHRoaXMub3JpZ2luYWxMZWZ0ID0gdGhpcy5lbGVtZW50Lm9mZnNldExlZnQ7CiAgICAKICAgIHZhciBmb250U2l6ZSA9IEVsZW1lbnQuZ2V0U3R5bGUodGhpcy5lbGVtZW50LCdmb250LXNpemUnKSB8fCAnMTAwJSc7CiAgICBbJ2VtJywncHgnLCclJ10uZWFjaCggZnVuY3Rpb24oZm9udFNpemVUeXBlKSB7CiAgICAgIGlmKGZvbnRTaXplLmluZGV4T2YoZm9udFNpemVUeXBlKT4wKSB7CiAgICAgICAgdGhpcy5mb250U2l6ZSAgICAgPSBwYXJzZUZsb2F0KGZvbnRTaXplKTsKICAgICAgICB0aGlzLmZvbnRTaXplVHlwZSA9IGZvbnRTaXplVHlwZTsKICAgICAgfQogICAgfS5iaW5kKHRoaXMpKTsKICAgIAogICAgdGhpcy5mYWN0b3IgPSAodGhpcy5vcHRpb25zLnNjYWxlVG8gLSB0aGlzLm9wdGlvbnMuc2NhbGVGcm9tKS8xMDA7CiAgICAKICAgIHRoaXMuZGltcyA9IG51bGw7CiAgICBpZih0aGlzLm9wdGlvbnMuc2NhbGVNb2RlPT0nYm94JykKICAgICAgdGhpcy5kaW1zID0gW3RoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQsIHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aF07CiAgICBpZigvXmNvbnRlbnQvLnRlc3QodGhpcy5vcHRpb25zLnNjYWxlTW9kZSkpCiAgICAgIHRoaXMuZGltcyA9IFt0aGlzLmVsZW1lbnQuc2Nyb2xsSGVpZ2h0LCB0aGlzLmVsZW1lbnQuc2Nyb2xsV2lkdGhdOwogICAgaWYoIXRoaXMuZGltcykKICAgICAgdGhpcy5kaW1zID0gW3RoaXMub3B0aW9ucy5zY2FsZU1vZGUub3JpZ2luYWxIZWlnaHQsCiAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuc2NhbGVNb2RlLm9yaWdpbmFsV2lkdGhdOwogIH0sCiAgdXBkYXRlOiBmdW5jdGlvbihwb3NpdGlvbikgewogICAgdmFyIGN1cnJlbnRTY2FsZSA9ICh0aGlzLm9wdGlvbnMuc2NhbGVGcm9tLzEwMC4wKSArICh0aGlzLmZhY3RvciAqIHBvc2l0aW9uKTsKICAgIGlmKHRoaXMub3B0aW9ucy5zY2FsZUNvbnRlbnQgJiYgdGhpcy5mb250U2l6ZSkKICAgICAgRWxlbWVudC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsIHtmb250U2l6ZTogdGhpcy5mb250U2l6ZSAqIGN1cnJlbnRTY2FsZSArIHRoaXMuZm9udFNpemVUeXBlIH0pOwogICAgdGhpcy5zZXREaW1lbnNpb25zKHRoaXMuZGltc1swXSAqIGN1cnJlbnRTY2FsZSwgdGhpcy5kaW1zWzFdICogY3VycmVudFNjYWxlKTsKICB9LAogIGZpbmlzaDogZnVuY3Rpb24ocG9zaXRpb24pIHsKICAgIGlmICh0aGlzLnJlc3RvcmVBZnRlckZpbmlzaCkgRWxlbWVudC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsIHRoaXMub3JpZ2luYWxTdHlsZSk7CiAgfSwKICBzZXREaW1lbnNpb25zOiBmdW5jdGlvbihoZWlnaHQsIHdpZHRoKSB7CiAgICB2YXIgZCA9IHt9OwogICAgaWYodGhpcy5vcHRpb25zLnNjYWxlWCkgZC53aWR0aCA9IHdpZHRoICsgJ3B4JzsKICAgIGlmKHRoaXMub3B0aW9ucy5zY2FsZVkpIGQuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JzsKICAgIGlmKHRoaXMub3B0aW9ucy5zY2FsZUZyb21DZW50ZXIpIHsKICAgICAgdmFyIHRvcGQgID0gKGhlaWdodCAtIHRoaXMuZGltc1swXSkvMjsKICAgICAgdmFyIGxlZnRkID0gKHdpZHRoICAtIHRoaXMuZGltc1sxXSkvMjsKICAgICAgaWYodGhpcy5lbGVtZW50UG9zaXRpb25pbmcgPT0gJ2Fic29sdXRlJykgewogICAgICAgIGlmKHRoaXMub3B0aW9ucy5zY2FsZVkpIGQudG9wID0gdGhpcy5vcmlnaW5hbFRvcC10b3BkICsgJ3B4JzsKICAgICAgICBpZih0aGlzLm9wdGlvbnMuc2NhbGVYKSBkLmxlZnQgPSB0aGlzLm9yaWdpbmFsTGVmdC1sZWZ0ZCArICdweCc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYodGhpcy5vcHRpb25zLnNjYWxlWSkgZC50b3AgPSAtdG9wZCArICdweCc7CiAgICAgICAgaWYodGhpcy5vcHRpb25zLnNjYWxlWCkgZC5sZWZ0ID0gLWxlZnRkICsgJ3B4JzsKICAgICAgfQogICAgfQogICAgRWxlbWVudC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsIGQpOwogIH0KfSk7CgpFZmZlY3QuSGlnaGxpZ2h0ID0gQ2xhc3MuY3JlYXRlKCk7Ck9iamVjdC5leHRlbmQoT2JqZWN0LmV4dGVuZChFZmZlY3QuSGlnaGxpZ2h0LnByb3RvdHlwZSwgRWZmZWN0LkJhc2UucHJvdG90eXBlKSwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHRoaXMuZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB2YXIgb3B0aW9ucyA9IE9iamVjdC5leHRlbmQoeyBzdGFydGNvbG9yOiAnI2ZmZmY5OScgfSwgYXJndW1lbnRzWzFdIHx8IHt9KTsKICAgIHRoaXMuc3RhcnQob3B0aW9ucyk7CiAgfSwKICBzZXR1cDogZnVuY3Rpb24oKSB7CiAgICAvLyBQcmV2ZW50IGV4ZWN1dGluZyBvbiBlbGVtZW50cyBub3QgaW4gdGhlIGxheW91dCBmbG93CiAgICBpZihFbGVtZW50LmdldFN0eWxlKHRoaXMuZWxlbWVudCwgJ2Rpc3BsYXknKT09J25vbmUnKSB7IHRoaXMuY2FuY2VsKCk7IHJldHVybjsgfQogICAgLy8gRGlzYWJsZSBiYWNrZ3JvdW5kIGltYWdlIGR1cmluZyB0aGUgZWZmZWN0CiAgICB0aGlzLm9sZFN0eWxlID0gewogICAgICBiYWNrZ3JvdW5kSW1hZ2U6IEVsZW1lbnQuZ2V0U3R5bGUodGhpcy5lbGVtZW50LCAnYmFja2dyb3VuZC1pbWFnZScpIH07CiAgICBFbGVtZW50LnNldFN0eWxlKHRoaXMuZWxlbWVudCwge2JhY2tncm91bmRJbWFnZTogJ25vbmUnfSk7CiAgICBpZighdGhpcy5vcHRpb25zLmVuZGNvbG9yKQogICAgICB0aGlzLm9wdGlvbnMuZW5kY29sb3IgPSBFbGVtZW50LmdldFN0eWxlKHRoaXMuZWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InKS5wYXJzZUNvbG9yKCcjZmZmZmZmJyk7CiAgICBpZighdGhpcy5vcHRpb25zLnJlc3RvcmVjb2xvcikKICAgICAgdGhpcy5vcHRpb25zLnJlc3RvcmVjb2xvciA9IEVsZW1lbnQuZ2V0U3R5bGUodGhpcy5lbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicpOwogICAgLy8gaW5pdCBjb2xvciBjYWxjdWxhdGlvbnMKICAgIHRoaXMuX2Jhc2UgID0gJFIoMCwyKS5tYXAoZnVuY3Rpb24oaSl7IHJldHVybiBwYXJzZUludCh0aGlzLm9wdGlvbnMuc3RhcnRjb2xvci5zbGljZShpKjIrMSxpKjIrMyksMTYpIH0uYmluZCh0aGlzKSk7CiAgICB0aGlzLl9kZWx0YSA9ICRSKDAsMikubWFwKGZ1bmN0aW9uKGkpeyByZXR1cm4gcGFyc2VJbnQodGhpcy5vcHRpb25zLmVuZGNvbG9yLnNsaWNlKGkqMisxLGkqMiszKSwxNiktdGhpcy5fYmFzZVtpXSB9LmJpbmQodGhpcykpOwogIH0sCiAgdXBkYXRlOiBmdW5jdGlvbihwb3NpdGlvbikgewogICAgRWxlbWVudC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQse2JhY2tncm91bmRDb2xvcjogJFIoMCwyKS5pbmplY3QoJyMnLGZ1bmN0aW9uKG0sdixpKXsKICAgICAgcmV0dXJuIG0rKE1hdGgucm91bmQodGhpcy5fYmFzZVtpXSsodGhpcy5fZGVsdGFbaV0qcG9zaXRpb24pKS50b0NvbG9yUGFydCgpKTsgfS5iaW5kKHRoaXMpKSB9KTsKICB9LAogIGZpbmlzaDogZnVuY3Rpb24oKSB7CiAgICBFbGVtZW50LnNldFN0eWxlKHRoaXMuZWxlbWVudCwgT2JqZWN0LmV4dGVuZCh0aGlzLm9sZFN0eWxlLCB7CiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5vcHRpb25zLnJlc3RvcmVjb2xvcgogICAgfSkpOwogIH0KfSk7CgpFZmZlY3QuU2Nyb2xsVG8gPSBDbGFzcy5jcmVhdGUoKTsKT2JqZWN0LmV4dGVuZChPYmplY3QuZXh0ZW5kKEVmZmVjdC5TY3JvbGxUby5wcm90b3R5cGUsIEVmZmVjdC5CYXNlLnByb3RvdHlwZSksIHsKICBpbml0aWFsaXplOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB0aGlzLmVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdGhpcy5zdGFydChhcmd1bWVudHNbMV0gfHwge30pOwogIH0sCiAgc2V0dXA6IGZ1bmN0aW9uKCkgewogICAgUG9zaXRpb24ucHJlcGFyZSgpOwogICAgdmFyIG9mZnNldHMgPSBQb3NpdGlvbi5jdW11bGF0aXZlT2Zmc2V0KHRoaXMuZWxlbWVudCk7CiAgICBpZih0aGlzLm9wdGlvbnMub2Zmc2V0KSBvZmZzZXRzWzFdICs9IHRoaXMub3B0aW9ucy5vZmZzZXQ7CiAgICB2YXIgbWF4ID0gd2luZG93LmlubmVySGVpZ2h0ID8gCiAgICAgIHdpbmRvdy5oZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQgOgogICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCAtIAogICAgICAgIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gCiAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpOwogICAgdGhpcy5zY3JvbGxTdGFydCA9IFBvc2l0aW9uLmRlbHRhWTsKICAgIHRoaXMuZGVsdGEgPSAob2Zmc2V0c1sxXSA+IG1heCA/IG1heCA6IG9mZnNldHNbMV0pIC0gdGhpcy5zY3JvbGxTdGFydDsKICB9LAogIHVwZGF0ZTogZnVuY3Rpb24ocG9zaXRpb24pIHsKICAgIFBvc2l0aW9uLnByZXBhcmUoKTsKICAgIHdpbmRvdy5zY3JvbGxUbyhQb3NpdGlvbi5kZWx0YVgsIAogICAgICB0aGlzLnNjcm9sbFN0YXJ0ICsgKHBvc2l0aW9uKnRoaXMuZGVsdGEpKTsKICB9Cn0pOwoKLyogLS0tLS0tLS0tLS0tLSBjb21iaW5hdGlvbiBlZmZlY3RzIC0tLS0tLS0tLS0tLS0gKi8KCkVmZmVjdC5GYWRlID0gZnVuY3Rpb24oZWxlbWVudCkgewogIHZhciBvbGRPcGFjaXR5ID0gRWxlbWVudC5nZXRJbmxpbmVPcGFjaXR5KGVsZW1lbnQpOwogIHZhciBvcHRpb25zID0gT2JqZWN0LmV4dGVuZCh7CiAgZnJvbTogRWxlbWVudC5nZXRPcGFjaXR5KGVsZW1lbnQpIHx8IDEuMCwKICB0bzogICAwLjAsCiAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgeyAKICAgIGlmKGVmZmVjdC5vcHRpb25zLnRvIT0wKSByZXR1cm47CiAgICBoaWRlKGVmZmVjdC5lbGVtZW50KTsKICAgIHNldFN0eWxlKGVmZmVjdC5lbGVtZW50LCB7b3BhY2l0eTogb2xkT3BhY2l0eX0pOyB9fQogIH0sIGFyZ3VtZW50c1sxXSB8fCB7fSk7CiAgcmV0dXJuIG5ldyBFZmZlY3QuT3BhY2l0eShlbGVtZW50LG9wdGlvbnMpOwp9CgpFZmZlY3QuQXBwZWFyID0gZnVuY3Rpb24oZWxlbWVudCkgewogIHZhciBvcHRpb25zID0gT2JqZWN0LmV4dGVuZCh7CiAgZnJvbTogKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwgJ2Rpc3BsYXknKSA9PSAnbm9uZScgPyAwLjAgOiBFbGVtZW50LmdldE9wYWNpdHkoZWxlbWVudCkgfHwgMC4wKSwKICB0bzogICAxLjAsCiAgYmVmb3JlU2V0dXA6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgIHNldE9wYWNpdHkoZWZmZWN0LmVsZW1lbnQsIGVmZmVjdC5vcHRpb25zLmZyb20pOwogICAgc2hvdyhlZmZlY3QuZWxlbWVudCk7IH19CiAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KTsKICByZXR1cm4gbmV3IEVmZmVjdC5PcGFjaXR5KGVsZW1lbnQsb3B0aW9ucyk7Cn0KCkVmZmVjdC5QdWZmID0gZnVuY3Rpb24oZWxlbWVudCkgewogIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogIHZhciBvbGRTdHlsZSA9IHsgb3BhY2l0eTogRWxlbWVudC5nZXRJbmxpbmVPcGFjaXR5KGVsZW1lbnQpLCBwb3NpdGlvbjogRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nKSB9OwogIHJldHVybiBuZXcgRWZmZWN0LlBhcmFsbGVsKAogICBbIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwgMjAwLCAKICAgICAgeyBzeW5jOiB0cnVlLCBzY2FsZUZyb21DZW50ZXI6IHRydWUsIHNjYWxlQ29udGVudDogdHJ1ZSwgcmVzdG9yZUFmdGVyRmluaXNoOiB0cnVlIH0pLCAKICAgICBuZXcgRWZmZWN0Lk9wYWNpdHkoZWxlbWVudCwgeyBzeW5jOiB0cnVlLCB0bzogMC4wIH0gKSBdLCAKICAgICBPYmplY3QuZXh0ZW5kKHsgZHVyYXRpb246IDEuMCwgCiAgICAgIGJlZm9yZVNldHVwSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICBzZXRTdHlsZShlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LCB7cG9zaXRpb246ICdhYnNvbHV0ZSd9KTsgfX0sCiAgICAgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICAgaGlkZShlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50KTsKICAgICAgICAgc2V0U3R5bGUoZWZmZWN0LmVmZmVjdHNbMF0uZWxlbWVudCwgb2xkU3R5bGUpOyB9fQogICAgIH0sIGFyZ3VtZW50c1sxXSB8fCB7fSkKICAgKTsKfQoKRWZmZWN0LkJsaW5kVXAgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgRWxlbWVudC5tYWtlQ2xpcHBpbmcoZWxlbWVudCk7CiAgcmV0dXJuIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwgMCwgCiAgICBPYmplY3QuZXh0ZW5kKHsgc2NhbGVDb250ZW50OiBmYWxzZSwgCiAgICAgIHNjYWxlWDogZmFsc2UsIAogICAgICByZXN0b3JlQWZ0ZXJGaW5pc2g6IHRydWUsCiAgICAgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICBbaGlkZSwgdW5kb0NsaXBwaW5nXS5jYWxsKGVmZmVjdC5lbGVtZW50KTsgfX0gCiAgICB9LCBhcmd1bWVudHNbMV0gfHwge30pCiAgKTsKfQoKRWZmZWN0LkJsaW5kRG93biA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICBlbGVtZW50ID0gJChlbGVtZW50KTsKICB2YXIgb2xkSGVpZ2h0ID0gRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAnaGVpZ2h0Jyk7CiAgdmFyIGVsZW1lbnREaW1lbnNpb25zID0gRWxlbWVudC5nZXREaW1lbnNpb25zKGVsZW1lbnQpOwogIHJldHVybiBuZXcgRWZmZWN0LlNjYWxlKGVsZW1lbnQsIDEwMCwgCiAgICBPYmplY3QuZXh0ZW5kKHsgc2NhbGVDb250ZW50OiBmYWxzZSwgCiAgICAgIHNjYWxlWDogZmFsc2UsCiAgICAgIHNjYWxlRnJvbTogMCwKICAgICAgc2NhbGVNb2RlOiB7b3JpZ2luYWxIZWlnaHQ6IGVsZW1lbnREaW1lbnNpb25zLmhlaWdodCwgb3JpZ2luYWxXaWR0aDogZWxlbWVudERpbWVuc2lvbnMud2lkdGh9LAogICAgICByZXN0b3JlQWZ0ZXJGaW5pc2g6IHRydWUsCiAgICAgIGFmdGVyU2V0dXA6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICBtYWtlQ2xpcHBpbmcoZWZmZWN0LmVsZW1lbnQpOwogICAgICAgIHNldFN0eWxlKGVmZmVjdC5lbGVtZW50LCB7aGVpZ2h0OiAnMHB4J30pOwogICAgICAgIHNob3coZWZmZWN0LmVsZW1lbnQpOyAKICAgICAgfX0sICAKICAgICAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgIHVuZG9DbGlwcGluZyhlZmZlY3QuZWxlbWVudCk7CiAgICAgICAgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQsIHtoZWlnaHQ6IG9sZEhlaWdodH0pOwogICAgICB9fQogICAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KQogICk7Cn0KCkVmZmVjdC5Td2l0Y2hPZmYgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgdmFyIG9sZE9wYWNpdHkgPSBFbGVtZW50LmdldElubGluZU9wYWNpdHkoZWxlbWVudCk7CiAgcmV0dXJuIG5ldyBFZmZlY3QuQXBwZWFyKGVsZW1lbnQsIHsgCiAgICBkdXJhdGlvbjogMC40LAogICAgZnJvbTogMCwKICAgIHRyYW5zaXRpb246IEVmZmVjdC5UcmFuc2l0aW9ucy5mbGlja2VyLAogICAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7CiAgICAgIG5ldyBFZmZlY3QuU2NhbGUoZWZmZWN0LmVsZW1lbnQsIDEsIHsgCiAgICAgICAgZHVyYXRpb246IDAuMywgc2NhbGVGcm9tQ2VudGVyOiB0cnVlLAogICAgICAgIHNjYWxlWDogZmFsc2UsIHNjYWxlQ29udGVudDogZmFsc2UsIHJlc3RvcmVBZnRlckZpbmlzaDogdHJ1ZSwKICAgICAgICBiZWZvcmVTZXR1cDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgICAgW21ha2VQb3NpdGlvbmVkLG1ha2VDbGlwcGluZ10uY2FsbChlZmZlY3QuZWxlbWVudCk7CiAgICAgICAgfX0sCiAgICAgICAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgICAgW2hpZGUsdW5kb0NsaXBwaW5nLHVuZG9Qb3NpdGlvbmVkXS5jYWxsKGVmZmVjdC5lbGVtZW50KTsKICAgICAgICAgIHNldFN0eWxlKGVmZmVjdC5lbGVtZW50LCB7b3BhY2l0eTogb2xkT3BhY2l0eX0pOwogICAgICAgIH19CiAgICAgIH0pCiAgICB9CiAgfSk7Cn0KCkVmZmVjdC5Ecm9wT3V0ID0gZnVuY3Rpb24oZWxlbWVudCkgewogIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogIHZhciBvbGRTdHlsZSA9IHsKICAgIHRvcDogRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAndG9wJyksCiAgICBsZWZ0OiBFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsICdsZWZ0JyksCiAgICBvcGFjaXR5OiBFbGVtZW50LmdldElubGluZU9wYWNpdHkoZWxlbWVudCkgfTsKICByZXR1cm4gbmV3IEVmZmVjdC5QYXJhbGxlbCgKICAgIFsgbmV3IEVmZmVjdC5Nb3ZlKGVsZW1lbnQsIHt4OiAwLCB5OiAxMDAsIHN5bmM6IHRydWUgfSksIAogICAgICBuZXcgRWZmZWN0Lk9wYWNpdHkoZWxlbWVudCwgeyBzeW5jOiB0cnVlLCB0bzogMC4wIH0pIF0sCiAgICBPYmplY3QuZXh0ZW5kKAogICAgICB7IGR1cmF0aW9uOiAwLjUsCiAgICAgICAgYmVmb3JlU2V0dXA6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICAgIG1ha2VQb3NpdGlvbmVkKGVmZmVjdC5lZmZlY3RzWzBdLmVsZW1lbnQpOyB9fSwKICAgICAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgICAgICBbaGlkZSwgdW5kb1Bvc2l0aW9uZWRdLmNhbGwoZWZmZWN0LmVmZmVjdHNbMF0uZWxlbWVudCk7CiAgICAgICAgICBzZXRTdHlsZShlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LCBvbGRTdHlsZSk7IH19IAogICAgICB9LCBhcmd1bWVudHNbMV0gfHwge30pKTsKfQoKRWZmZWN0LlNoYWtlID0gZnVuY3Rpb24oZWxlbWVudCkgewogIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogIHZhciBvbGRTdHlsZSA9IHsKICAgIHRvcDogRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAndG9wJyksCiAgICBsZWZ0OiBFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsICdsZWZ0JykgfTsKCSAgcmV0dXJuIG5ldyBFZmZlY3QuTW92ZShlbGVtZW50LCAKCSAgICB7IHg6ICAyMCwgeTogMCwgZHVyYXRpb246IDAuMDUsIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgewoJICBuZXcgRWZmZWN0Lk1vdmUoZWZmZWN0LmVsZW1lbnQsCgkgICAgeyB4OiAtNDAsIHk6IDAsIGR1cmF0aW9uOiAwLjEsICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsKCSAgbmV3IEVmZmVjdC5Nb3ZlKGVmZmVjdC5lbGVtZW50LAoJICAgIHsgeDogIDQwLCB5OiAwLCBkdXJhdGlvbjogMC4xLCAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7CgkgIG5ldyBFZmZlY3QuTW92ZShlZmZlY3QuZWxlbWVudCwKCSAgICB7IHg6IC00MCwgeTogMCwgZHVyYXRpb246IDAuMSwgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgewoJICBuZXcgRWZmZWN0Lk1vdmUoZWZmZWN0LmVsZW1lbnQsCgkgICAgeyB4OiAgNDAsIHk6IDAsIGR1cmF0aW9uOiAwLjEsICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsKCSAgbmV3IEVmZmVjdC5Nb3ZlKGVmZmVjdC5lbGVtZW50LAoJICAgIHsgeDogLTIwLCB5OiAwLCBkdXJhdGlvbjogMC4wNSwgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgIHVuZG9Qb3NpdGlvbmVkKGVmZmVjdC5lbGVtZW50KTsKICAgICAgICBzZXRTdHlsZShlZmZlY3QuZWxlbWVudCwgb2xkU3R5bGUpOwogIH19fSkgfX0pIH19KSB9fSkgfX0pIH19KTsKfQoKRWZmZWN0LlNsaWRlRG93biA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICBlbGVtZW50ID0gJChlbGVtZW50KTsKICBFbGVtZW50LmNsZWFuV2hpdGVzcGFjZShlbGVtZW50KTsKICAvLyBTbGlkZURvd24gbmVlZCB0byBoYXZlIHRoZSBjb250ZW50IG9mIHRoZSBlbGVtZW50IHdyYXBwZWQgaW4gYSBjb250YWluZXIgZWxlbWVudCB3aXRoIGZpeGVkIGhlaWdodCEKICB2YXIgb2xkSW5uZXJCb3R0b20gPSBFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQuZmlyc3RDaGlsZCwgJ2JvdHRvbScpOwogIHZhciBlbGVtZW50RGltZW5zaW9ucyA9IEVsZW1lbnQuZ2V0RGltZW5zaW9ucyhlbGVtZW50KTsKICByZXR1cm4gbmV3IEVmZmVjdC5TY2FsZShlbGVtZW50LCAxMDAsIE9iamVjdC5leHRlbmQoeyAKICAgIHNjYWxlQ29udGVudDogZmFsc2UsIAogICAgc2NhbGVYOiBmYWxzZSwgCiAgICBzY2FsZUZyb206IDAsCiAgICBzY2FsZU1vZGU6IHtvcmlnaW5hbEhlaWdodDogZWxlbWVudERpbWVuc2lvbnMuaGVpZ2h0LCBvcmlnaW5hbFdpZHRoOiBlbGVtZW50RGltZW5zaW9ucy53aWR0aH0sCiAgICByZXN0b3JlQWZ0ZXJGaW5pc2g6IHRydWUsCiAgICBhZnRlclNldHVwOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgIG1ha2VQb3NpdGlvbmVkKGVmZmVjdC5lbGVtZW50KTsKICAgICAgbWFrZVBvc2l0aW9uZWQoZWZmZWN0LmVsZW1lbnQuZmlyc3RDaGlsZCk7CiAgICAgIGlmKHdpbmRvdy5vcGVyYSkgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQsIHt0b3A6ICcnfSk7CiAgICAgIG1ha2VDbGlwcGluZyhlZmZlY3QuZWxlbWVudCk7CiAgICAgIHNldFN0eWxlKGVmZmVjdC5lbGVtZW50LCB7aGVpZ2h0OiAnMHB4J30pOwogICAgICBzaG93KGVsZW1lbnQpOyB9fSwKICAgIGFmdGVyVXBkYXRlSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQuZmlyc3RDaGlsZCwge2JvdHRvbToKICAgICAgICAoZWZmZWN0LmRpbXNbMF0gLSBlZmZlY3QuZWxlbWVudC5jbGllbnRIZWlnaHQpICsgJ3B4JyB9KTsgfX0sCiAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgIHVuZG9DbGlwcGluZyhlZmZlY3QuZWxlbWVudCk7IAogICAgICB1bmRvUG9zaXRpb25lZChlZmZlY3QuZWxlbWVudC5maXJzdENoaWxkKTsKICAgICAgdW5kb1Bvc2l0aW9uZWQoZWZmZWN0LmVsZW1lbnQpOwogICAgICBzZXRTdHlsZShlZmZlY3QuZWxlbWVudC5maXJzdENoaWxkLCB7Ym90dG9tOiBvbGRJbm5lckJvdHRvbX0pOyB9fQogICAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KQogICk7Cn0KICAKRWZmZWN0LlNsaWRlVXAgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgRWxlbWVudC5jbGVhbldoaXRlc3BhY2UoZWxlbWVudCk7CiAgdmFyIG9sZElubmVyQm90dG9tID0gRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LmZpcnN0Q2hpbGQsICdib3R0b20nKTsKICByZXR1cm4gbmV3IEVmZmVjdC5TY2FsZShlbGVtZW50LCAwLCAKICAgT2JqZWN0LmV4dGVuZCh7IHNjYWxlQ29udGVudDogZmFsc2UsIAogICAgc2NhbGVYOiBmYWxzZSwgCiAgICBzY2FsZU1vZGU6ICdib3gnLAogICAgc2NhbGVGcm9tOiAxMDAsCiAgICByZXN0b3JlQWZ0ZXJGaW5pc2g6IHRydWUsCiAgICBiZWZvcmVTdGFydEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgIG1ha2VQb3NpdGlvbmVkKGVmZmVjdC5lbGVtZW50KTsKICAgICAgbWFrZVBvc2l0aW9uZWQoZWZmZWN0LmVsZW1lbnQuZmlyc3RDaGlsZCk7CiAgICAgIGlmKHdpbmRvdy5vcGVyYSkgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQsIHt0b3A6ICcnfSk7CiAgICAgIG1ha2VDbGlwcGluZyhlZmZlY3QuZWxlbWVudCk7CiAgICAgIHNob3coZWxlbWVudCk7IH19LCAgCiAgICBhZnRlclVwZGF0ZUludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgIHNldFN0eWxlKGVmZmVjdC5lbGVtZW50LmZpcnN0Q2hpbGQsIHtib3R0b206CiAgICAgICAgKGVmZmVjdC5kaW1zWzBdIC0gZWZmZWN0LmVsZW1lbnQuY2xpZW50SGVpZ2h0KSArICdweCcgfSk7IH19LAogICAgYWZ0ZXJGaW5pc2hJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgIFtoaWRlLCB1bmRvQ2xpcHBpbmddLmNhbGwoZWZmZWN0LmVsZW1lbnQpOyAKICAgICAgICB1bmRvUG9zaXRpb25lZChlZmZlY3QuZWxlbWVudC5maXJzdENoaWxkKTsKICAgICAgICB1bmRvUG9zaXRpb25lZChlZmZlY3QuZWxlbWVudCk7CiAgICAgICAgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQuZmlyc3RDaGlsZCwge2JvdHRvbTogb2xkSW5uZXJCb3R0b219KTsgfX0KICAgfSwgYXJndW1lbnRzWzFdIHx8IHt9KQogICk7Cn0KCi8vIEJ1ZyBpbiBvcGVyYSBtYWtlcyB0aGUgVEQgY29udGFpbmluZyB0aGlzIGVsZW1lbnQgZXhwYW5kIGZvciBhIGluc3RhbmNlIGFmdGVyIGZpbmlzaCAKRWZmZWN0LlNxdWlzaCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICByZXR1cm4gbmV3IEVmZmVjdC5TY2FsZShlbGVtZW50LCB3aW5kb3cub3BlcmEgPyAxIDogMCwgCiAgICB7IHJlc3RvcmVBZnRlckZpbmlzaDogdHJ1ZSwKICAgICAgYmVmb3JlU2V0dXA6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICBtYWtlQ2xpcHBpbmcoZWZmZWN0LmVsZW1lbnQpOyB9fSwgIAogICAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgICAgaGlkZShlZmZlY3QuZWxlbWVudCk7IAogICAgICAgIHVuZG9DbGlwcGluZyhlZmZlY3QuZWxlbWVudCk7IH19CiAgfSk7Cn0KCkVmZmVjdC5Hcm93ID0gZnVuY3Rpb24oZWxlbWVudCkgewogIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogIHZhciBvcHRpb25zID0gT2JqZWN0LmV4dGVuZCh7CiAgICBkaXJlY3Rpb246ICdjZW50ZXInLAogICAgbW92ZVRyYW5zaXN0aW9uOiBFZmZlY3QuVHJhbnNpdGlvbnMuc2lub2lkYWwsCiAgICBzY2FsZVRyYW5zaXRpb246IEVmZmVjdC5UcmFuc2l0aW9ucy5zaW5vaWRhbCwKICAgIG9wYWNpdHlUcmFuc2l0aW9uOiBFZmZlY3QuVHJhbnNpdGlvbnMuZnVsbAogIH0sIGFyZ3VtZW50c1sxXSB8fCB7fSk7CiAgdmFyIG9sZFN0eWxlID0gewogICAgdG9wOiBlbGVtZW50LnN0eWxlLnRvcCwKICAgIGxlZnQ6IGVsZW1lbnQuc3R5bGUubGVmdCwKICAgIGhlaWdodDogZWxlbWVudC5zdHlsZS5oZWlnaHQsCiAgICB3aWR0aDogZWxlbWVudC5zdHlsZS53aWR0aCwKICAgIG9wYWNpdHk6IEVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0eShlbGVtZW50KSB9OwoKICB2YXIgZGltcyA9IEVsZW1lbnQuZ2V0RGltZW5zaW9ucyhlbGVtZW50KTsgICAgCiAgdmFyIGluaXRpYWxNb3ZlWCwgaW5pdGlhbE1vdmVZOwogIHZhciBtb3ZlWCwgbW92ZVk7CiAgCiAgc3dpdGNoIChvcHRpb25zLmRpcmVjdGlvbikgewogICAgY2FzZSAndG9wLWxlZnQnOgogICAgICBpbml0aWFsTW92ZVggPSBpbml0aWFsTW92ZVkgPSBtb3ZlWCA9IG1vdmVZID0gMDsgCiAgICAgIGJyZWFrOwogICAgY2FzZSAndG9wLXJpZ2h0JzoKICAgICAgaW5pdGlhbE1vdmVYID0gZGltcy53aWR0aDsKICAgICAgaW5pdGlhbE1vdmVZID0gbW92ZVkgPSAwOwogICAgICBtb3ZlWCA9IC1kaW1zLndpZHRoOwogICAgICBicmVhazsKICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzoKICAgICAgaW5pdGlhbE1vdmVYID0gbW92ZVggPSAwOwogICAgICBpbml0aWFsTW92ZVkgPSBkaW1zLmhlaWdodDsKICAgICAgbW92ZVkgPSAtZGltcy5oZWlnaHQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnYm90dG9tLXJpZ2h0JzoKICAgICAgaW5pdGlhbE1vdmVYID0gZGltcy53aWR0aDsKICAgICAgaW5pdGlhbE1vdmVZID0gZGltcy5oZWlnaHQ7CiAgICAgIG1vdmVYID0gLWRpbXMud2lkdGg7CiAgICAgIG1vdmVZID0gLWRpbXMuaGVpZ2h0OwogICAgICBicmVhazsKICAgIGNhc2UgJ2NlbnRlcic6CiAgICAgIGluaXRpYWxNb3ZlWCA9IGRpbXMud2lkdGggLyAyOwogICAgICBpbml0aWFsTW92ZVkgPSBkaW1zLmhlaWdodCAvIDI7CiAgICAgIG1vdmVYID0gLWRpbXMud2lkdGggLyAyOwogICAgICBtb3ZlWSA9IC1kaW1zLmhlaWdodCAvIDI7CiAgICAgIGJyZWFrOwogIH0KICAKICByZXR1cm4gbmV3IEVmZmVjdC5Nb3ZlKGVsZW1lbnQsIHsKICAgIHg6IGluaXRpYWxNb3ZlWCwKICAgIHk6IGluaXRpYWxNb3ZlWSwKICAgIGR1cmF0aW9uOiAwLjAxLCAKICAgIGJlZm9yZVNldHVwOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgIGhpZGUoZWZmZWN0LmVsZW1lbnQpOwogICAgICBtYWtlQ2xpcHBpbmcoZWZmZWN0LmVsZW1lbnQpOwogICAgICBtYWtlUG9zaXRpb25lZChlZmZlY3QuZWxlbWVudCk7CiAgICB9fSwKICAgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgewogICAgICBuZXcgRWZmZWN0LlBhcmFsbGVsKAogICAgICAgIFsgbmV3IEVmZmVjdC5PcGFjaXR5KGVmZmVjdC5lbGVtZW50LCB7IHN5bmM6IHRydWUsIHRvOiAxLjAsIGZyb206IDAuMCwgdHJhbnNpdGlvbjogb3B0aW9ucy5vcGFjaXR5VHJhbnNpdGlvbiB9KSwKICAgICAgICAgIG5ldyBFZmZlY3QuTW92ZShlZmZlY3QuZWxlbWVudCwgeyB4OiBtb3ZlWCwgeTogbW92ZVksIHN5bmM6IHRydWUsIHRyYW5zaXRpb246IG9wdGlvbnMubW92ZVRyYW5zaXRpb24gfSksCiAgICAgICAgICBuZXcgRWZmZWN0LlNjYWxlKGVmZmVjdC5lbGVtZW50LCAxMDAsIHsKICAgICAgICAgICAgc2NhbGVNb2RlOiB7IG9yaWdpbmFsSGVpZ2h0OiBkaW1zLmhlaWdodCwgb3JpZ2luYWxXaWR0aDogZGltcy53aWR0aCB9LCAKICAgICAgICAgICAgc3luYzogdHJ1ZSwgc2NhbGVGcm9tOiB3aW5kb3cub3BlcmEgPyAxIDogMCwgdHJhbnNpdGlvbjogb3B0aW9ucy5zY2FsZVRyYW5zaXRpb24sIHJlc3RvcmVBZnRlckZpbmlzaDogdHJ1ZX0pCiAgICAgICAgXSwgT2JqZWN0LmV4dGVuZCh7CiAgICAgICAgICAgICBiZWZvcmVTZXR1cDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgICAgICAgICBzZXRTdHlsZShlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LCB7aGVpZ2h0OiAnMHB4J30pOwogICAgICAgICAgICAgICBzaG93KGVmZmVjdC5lZmZlY3RzWzBdLmVsZW1lbnQpOyB9fSwKICAgICAgICAgICAgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICAgICAgICAgW3VuZG9DbGlwcGluZywgdW5kb1Bvc2l0aW9uZWRdLmNhbGwoZWZmZWN0LmVmZmVjdHNbMF0uZWxlbWVudCk7IAogICAgICAgICAgICAgICBzZXRTdHlsZShlZmZlY3QuZWZmZWN0c1swXS5lbGVtZW50LCBvbGRTdHlsZSk7IH19CiAgICAgICAgICAgfSwgb3B0aW9ucykKICAgICAgKQogICAgfQogIH0pOwp9CgpFZmZlY3QuU2hyaW5rID0gZnVuY3Rpb24oZWxlbWVudCkgewogIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogIHZhciBvcHRpb25zID0gT2JqZWN0LmV4dGVuZCh7CiAgICBkaXJlY3Rpb246ICdjZW50ZXInLAogICAgbW92ZVRyYW5zaXN0aW9uOiBFZmZlY3QuVHJhbnNpdGlvbnMuc2lub2lkYWwsCiAgICBzY2FsZVRyYW5zaXRpb246IEVmZmVjdC5UcmFuc2l0aW9ucy5zaW5vaWRhbCwKICAgIG9wYWNpdHlUcmFuc2l0aW9uOiBFZmZlY3QuVHJhbnNpdGlvbnMubm9uZQogIH0sIGFyZ3VtZW50c1sxXSB8fCB7fSk7CiAgdmFyIG9sZFN0eWxlID0gewogICAgdG9wOiBlbGVtZW50LnN0eWxlLnRvcCwKICAgIGxlZnQ6IGVsZW1lbnQuc3R5bGUubGVmdCwKICAgIGhlaWdodDogZWxlbWVudC5zdHlsZS5oZWlnaHQsCiAgICB3aWR0aDogZWxlbWVudC5zdHlsZS53aWR0aCwKICAgIG9wYWNpdHk6IEVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0eShlbGVtZW50KSB9OwoKICB2YXIgZGltcyA9IEVsZW1lbnQuZ2V0RGltZW5zaW9ucyhlbGVtZW50KTsKICB2YXIgbW92ZVgsIG1vdmVZOwogIAogIHN3aXRjaCAob3B0aW9ucy5kaXJlY3Rpb24pIHsKICAgIGNhc2UgJ3RvcC1sZWZ0JzoKICAgICAgbW92ZVggPSBtb3ZlWSA9IDA7CiAgICAgIGJyZWFrOwogICAgY2FzZSAndG9wLXJpZ2h0JzoKICAgICAgbW92ZVggPSBkaW1zLndpZHRoOwogICAgICBtb3ZlWSA9IDA7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnYm90dG9tLWxlZnQnOgogICAgICBtb3ZlWCA9IDA7CiAgICAgIG1vdmVZID0gZGltcy5oZWlnaHQ7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnYm90dG9tLXJpZ2h0JzoKICAgICAgbW92ZVggPSBkaW1zLndpZHRoOwogICAgICBtb3ZlWSA9IGRpbXMuaGVpZ2h0OwogICAgICBicmVhazsKICAgIGNhc2UgJ2NlbnRlcic6ICAKICAgICAgbW92ZVggPSBkaW1zLndpZHRoIC8gMjsKICAgICAgbW92ZVkgPSBkaW1zLmhlaWdodCAvIDI7CiAgICAgIGJyZWFrOwogIH0KICAKICByZXR1cm4gbmV3IEVmZmVjdC5QYXJhbGxlbCgKICAgIFsgbmV3IEVmZmVjdC5PcGFjaXR5KGVsZW1lbnQsIHsgc3luYzogdHJ1ZSwgdG86IDAuMCwgZnJvbTogMS4wLCB0cmFuc2l0aW9uOiBvcHRpb25zLm9wYWNpdHlUcmFuc2l0aW9uIH0pLAogICAgICBuZXcgRWZmZWN0LlNjYWxlKGVsZW1lbnQsIHdpbmRvdy5vcGVyYSA/IDEgOiAwLCB7IHN5bmM6IHRydWUsIHRyYW5zaXRpb246IG9wdGlvbnMuc2NhbGVUcmFuc2l0aW9uLCByZXN0b3JlQWZ0ZXJGaW5pc2g6IHRydWV9KSwKICAgICAgbmV3IEVmZmVjdC5Nb3ZlKGVsZW1lbnQsIHsgeDogbW92ZVgsIHk6IG1vdmVZLCBzeW5jOiB0cnVlLCB0cmFuc2l0aW9uOiBvcHRpb25zLm1vdmVUcmFuc2l0aW9uIH0pCiAgICBdLCBPYmplY3QuZXh0ZW5kKHsgICAgICAgICAgICAKICAgICAgICAgYmVmb3JlU3RhcnRJbnRlcm5hbDogZnVuY3Rpb24oZWZmZWN0KSB7IHdpdGgoRWxlbWVudCkgewogICAgICAgICAgIFttYWtlUG9zaXRpb25lZCwgbWFrZUNsaXBwaW5nXS5jYWxsKGVmZmVjdC5lZmZlY3RzWzBdLmVsZW1lbnQpIH19LAogICAgICAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgd2l0aChFbGVtZW50KSB7CiAgICAgICAgICAgW2hpZGUsIHVuZG9DbGlwcGluZywgdW5kb1Bvc2l0aW9uZWRdLmNhbGwoZWZmZWN0LmVmZmVjdHNbMF0uZWxlbWVudCk7CiAgICAgICAgICAgc2V0U3R5bGUoZWZmZWN0LmVmZmVjdHNbMF0uZWxlbWVudCwgb2xkU3R5bGUpOyB9fQogICAgICAgfSwgb3B0aW9ucykKICApOwp9CgpFZmZlY3QuUHVsc2F0ZSA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICBlbGVtZW50ID0gJChlbGVtZW50KTsKICB2YXIgb3B0aW9ucyAgICA9IGFyZ3VtZW50c1sxXSB8fCB7fTsKICB2YXIgb2xkT3BhY2l0eSA9IEVsZW1lbnQuZ2V0SW5saW5lT3BhY2l0eShlbGVtZW50KTsKICB2YXIgdHJhbnNpdGlvbiA9IG9wdGlvbnMudHJhbnNpdGlvbiB8fCBFZmZlY3QuVHJhbnNpdGlvbnMuc2lub2lkYWw7CiAgdmFyIHJldmVyc2VyICAgPSBmdW5jdGlvbihwb3MpeyByZXR1cm4gdHJhbnNpdGlvbigxLUVmZmVjdC5UcmFuc2l0aW9ucy5wdWxzZShwb3MpKSB9OwogIHJldmVyc2VyLmJpbmQodHJhbnNpdGlvbik7CiAgcmV0dXJuIG5ldyBFZmZlY3QuT3BhY2l0eShlbGVtZW50LCAKICAgIE9iamVjdC5leHRlbmQoT2JqZWN0LmV4dGVuZCh7ICBkdXJhdGlvbjogMy4wLCBmcm9tOiAwLAogICAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsgRWxlbWVudC5zZXRTdHlsZShlZmZlY3QuZWxlbWVudCwge29wYWNpdHk6IG9sZE9wYWNpdHl9KTsgfQogICAgfSwgb3B0aW9ucyksIHt0cmFuc2l0aW9uOiByZXZlcnNlcn0pKTsKfQoKRWZmZWN0LkZvbGQgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgdmFyIG9sZFN0eWxlID0gewogICAgdG9wOiBlbGVtZW50LnN0eWxlLnRvcCwKICAgIGxlZnQ6IGVsZW1lbnQuc3R5bGUubGVmdCwKICAgIHdpZHRoOiBlbGVtZW50LnN0eWxlLndpZHRoLAogICAgaGVpZ2h0OiBlbGVtZW50LnN0eWxlLmhlaWdodCB9OwogIEVsZW1lbnQubWFrZUNsaXBwaW5nKGVsZW1lbnQpOwogIHJldHVybiBuZXcgRWZmZWN0LlNjYWxlKGVsZW1lbnQsIDUsIE9iamVjdC5leHRlbmQoeyAgIAogICAgc2NhbGVDb250ZW50OiBmYWxzZSwKICAgIHNjYWxlWDogZmFsc2UsCiAgICBhZnRlckZpbmlzaEludGVybmFsOiBmdW5jdGlvbihlZmZlY3QpIHsKICAgIG5ldyBFZmZlY3QuU2NhbGUoZWxlbWVudCwgMSwgeyAKICAgICAgc2NhbGVDb250ZW50OiBmYWxzZSwgCiAgICAgIHNjYWxlWTogZmFsc2UsCiAgICAgIGFmdGVyRmluaXNoSW50ZXJuYWw6IGZ1bmN0aW9uKGVmZmVjdCkgeyB3aXRoKEVsZW1lbnQpIHsKICAgICAgICBbaGlkZSwgdW5kb0NsaXBwaW5nXS5jYWxsKGVmZmVjdC5lbGVtZW50KTsgCiAgICAgICAgc2V0U3R5bGUoZWZmZWN0LmVsZW1lbnQsIG9sZFN0eWxlKTsKICAgICAgfX0gfSk7CiAgfX0sIGFyZ3VtZW50c1sxXSB8fCB7fSkpOwp9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/js/lightbox.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLy8KLy8JTGlnaHRib3ggdjIuMDMuMwovLwlieSBMb2tlc2ggRGhha2FyIC0gaHR0cDovL3d3dy5odWRkbGV0b2dldGhlci5jb20KLy8JNS8yMS8wNgovLwovLwlGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHNjcmlwdCwgdmlzaXQ6Ci8vCWh0dHA6Ly9odWRkbGV0b2dldGhlci5jb20vcHJvamVjdHMvbGlnaHRib3gyLwovLwovLwlMaWNlbnNlZCB1bmRlciB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiAyLjUgTGljZW5zZSAtIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzIuNS8KLy8KLy8JQ3JlZGl0IGFsc28gZHVlIHRvIHRob3NlIHdobyBoYXZlIGhlbHBlZCwgaW5zcGlyZWQsIGFuZCBtYWRlIHRoZWlyIGNvZGUgYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMuCi8vCUluY2x1ZGluZzogU2NvdHQgVXB0b24odXB0b25pYy5jb20pLCBQZXRlci1QYXVsIEtvY2gocXVpcmtzbW9kZS5jb20pLCBUaG9tYXMgRnVjaHMobWlyLmFjdWxvLnVzKSwgYW5kIG90aGVycy4KLy8KLy8KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyoKCglUYWJsZSBvZiBDb250ZW50cwoJLS0tLS0tLS0tLS0tLS0tLS0KCUNvbmZpZ3VyYXRpb24KCUdsb2JhbCBWYXJpYWJsZXMKCglFeHRlbmRpbmcgQnVpbHQtaW4gT2JqZWN0cwoJLSBPYmplY3QuZXh0ZW5kKEVsZW1lbnQpCgktIEFycmF5LnByb3RvdHlwZS5yZW1vdmVEdXBsaWNhdGVzKCkKCS0gQXJyYXkucHJvdG90eXBlLmVtcHR5KCkKCglMaWdodGJveCBDbGFzcyBEZWNsYXJhdGlvbgoJLSBpbml0aWFsaXplKCkKCS0gdXBkYXRlSW1hZ2VMaXN0KCkKCS0gc3RhcnQoKQoJLSBjaGFuZ2VJbWFnZSgpCgktIHJlc2l6ZUltYWdlQ29udGFpbmVyKCkKCS0gc2hvd0ltYWdlKCkKCS0gdXBkYXRlRGV0YWlscygpCgktIHVwZGF0ZU5hdigpCgktIGVuYWJsZUtleWJvYXJkTmF2KCkKCS0gZGlzYWJsZUtleWJvYXJkTmF2KCkKCS0ga2V5Ym9hcmRBY3Rpb24oKQoJLSBwcmVsb2FkTmVpZ2hib3JJbWFnZXMoKQoJLSBlbmQoKQoKCU1pc2NlbGxhbmVvdXMgRnVuY3Rpb25zCgktIGdldFBhZ2VTY3JvbGwoKQoJLSBnZXRQYWdlU2l6ZSgpCgktIGdldEtleSgpCgktIGxpc3RlbktleSgpCgktIHNob3dTZWxlY3RCb3hlcygpCgktIGhpZGVTZWxlY3RCb3hlcygpCgktIHNob3dGbGFzaCgpCgktIGhpZGVGbGFzaCgpCgktIHBhdXNlKCkKCS0gaW5pdExpZ2h0Ym94KCkKCglGdW5jdGlvbiBDYWxscwoJLSBhZGRMb2FkRXZlbnQoaW5pdExpZ2h0Ym94KQoKKi8KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vCUNvbmZpZ3VyYXRpb24KLy8KdmFyIGZpbGVMb2FkaW5nSW1hZ2UgPSAibW9kdWxlcy9QaWNhc2FXZWJBbGJ1bUJyb3dzZXIvdGVtcGxhdGVzL2xpZ2h0Ym94L2ltYWdlcy9sb2FkaW5nLmdpZiI7CnZhciBmaWxlQm90dG9tTmF2Q2xvc2VJbWFnZSA9ICJtb2R1bGVzL1BpY2FzYVdlYkFsYnVtQnJvd3Nlci90ZW1wbGF0ZXMvbGlnaHRib3gvaW1hZ2VzL2Nsb3NlbGFiZWwuZ2lmIjsKCnZhciBvdmVybGF5T3BhY2l0eSA9IDAuODsJLy8gY29udHJvbHMgdHJhbnNwYXJlbmN5IG9mIHNoYWRvdyBvdmVybGF5Cgp2YXIgYW5pbWF0ZSA9IHRydWU7CQkJLy8gdG9nZ2xlcyByZXNpemluZyBhbmltYXRpb25zCnZhciByZXNpemVTcGVlZCA9IDk7CQkvLyBjb250cm9scyB0aGUgc3BlZWQgb2YgdGhlIGltYWdlIHJlc2l6aW5nIGFuaW1hdGlvbnMgKDE9c2xvd2VzdCBhbmQgMTA9ZmFzdGVzdCkKCnZhciBib3JkZXJTaXplID0gMTA7CQkvL2lmIHlvdSBhZGp1c3QgdGhlIHBhZGRpbmcgaW4gdGhlIENTUywgeW91IHdpbGwgbmVlZCB0byB1cGRhdGUgdGhpcyB2YXJpYWJsZQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vCUdsb2JhbCBWYXJpYWJsZXMKLy8KdmFyIGltYWdlQXJyYXkgPSBuZXcgQXJyYXk7CnZhciBhY3RpdmVJbWFnZTsKCmlmKGFuaW1hdGUgPT0gdHJ1ZSl7CglvdmVybGF5RHVyYXRpb24gPSAwLjI7CS8vIHNoYWRvdyBmYWRlIGluL291dCBkdXJhdGlvbgoJaWYocmVzaXplU3BlZWQgPiAxMCl7IHJlc2l6ZVNwZWVkID0gMTA7fQoJaWYocmVzaXplU3BlZWQgPCAxKXsgcmVzaXplU3BlZWQgPSAxO30KCXJlc2l6ZUR1cmF0aW9uID0gKDExIC0gcmVzaXplU3BlZWQpICogMC4xNTsKfSBlbHNlIHsKCW92ZXJsYXlEdXJhdGlvbiA9IDA7CglyZXNpemVEdXJhdGlvbiA9IDA7Cn0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLwovLwlBZGRpdGlvbmFsIG1ldGhvZHMgZm9yIEVsZW1lbnQgYWRkZWQgYnkgU1UsIENvdWxvaXIKLy8JLSBmdXJ0aGVyIGFkZGl0aW9ucyBieSBMb2tlc2ggRGhha2FyIChodWRkbGV0b2dldGhlci5jb20pCi8vCk9iamVjdC5leHRlbmQoRWxlbWVudCwgewoJZ2V0V2lkdGg6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCSAgIAllbGVtZW50ID0gJChlbGVtZW50KTsKCSAgIAlyZXR1cm4gZWxlbWVudC5vZmZzZXRXaWR0aDsKCX0sCglzZXRXaWR0aDogZnVuY3Rpb24oZWxlbWVudCx3KSB7CgkgICAJZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICAJZWxlbWVudC5zdHlsZS53aWR0aCA9IHcgKyJweCI7Cgl9LAoJc2V0SGVpZ2h0OiBmdW5jdGlvbihlbGVtZW50LGgpIHsKICAgCQllbGVtZW50ID0gJChlbGVtZW50KTsKICAgIAllbGVtZW50LnN0eWxlLmhlaWdodCA9IGggKyJweCI7Cgl9LAoJc2V0VG9wOiBmdW5jdGlvbihlbGVtZW50LHQpIHsKCSAgIAllbGVtZW50ID0gJChlbGVtZW50KTsKICAgIAllbGVtZW50LnN0eWxlLnRvcCA9IHQgKyJweCI7Cgl9LAoJc2V0TGVmdDogZnVuY3Rpb24oZWxlbWVudCxsKSB7CgkgICAJZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICAJZWxlbWVudC5zdHlsZS5sZWZ0ID0gbCArInB4IjsKCX0sCglzZXRTcmM6IGZ1bmN0aW9uKGVsZW1lbnQsc3JjKSB7CiAgICAJZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICAJZWxlbWVudC5zcmMgPSBzcmM7Cgl9LAoJc2V0SHJlZjogZnVuY3Rpb24oZWxlbWVudCxocmVmKSB7CiAgICAJZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICAJZWxlbWVudC5ocmVmID0gaHJlZjsKCX0sCglzZXRJbm5lckhUTUw6IGZ1bmN0aW9uKGVsZW1lbnQsY29udGVudCkgewoJCWVsZW1lbnQgPSAkKGVsZW1lbnQpOwoJCWVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDsKCX0KfSk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8KLy8JRXh0ZW5kaW5nIGJ1aWx0LWluIEFycmF5IG9iamVjdAovLwktIGFycmF5LnJlbW92ZUR1cGxpY2F0ZXMoKQovLwktIGFycmF5LmVtcHR5KCkKLy8KQXJyYXkucHJvdG90eXBlLnJlbW92ZUR1cGxpY2F0ZXMgPSBmdW5jdGlvbiAoKSB7CiAgICBmb3IoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKXsKICAgICAgICBmb3IoaiA9IHRoaXMubGVuZ3RoLTE7IGo+aTsgai0tKXsKICAgICAgICAgICAgaWYodGhpc1tpXVswXSA9PSB0aGlzW2pdWzBdKXsKICAgICAgICAgICAgICAgIHRoaXMuc3BsaWNlKGosMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBcnJheS5wcm90b3R5cGUuZW1wdHkgPSBmdW5jdGlvbiAoKSB7Cglmb3IoaSA9IDA7IGkgPD0gdGhpcy5sZW5ndGg7IGkrKyl7CgkJdGhpcy5zaGlmdCgpOwoJfQp9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8KLy8JTGlnaHRib3ggQ2xhc3MgRGVjbGFyYXRpb24KLy8JLSBpbml0aWFsaXplKCkKLy8JLSBzdGFydCgpCi8vCS0gY2hhbmdlSW1hZ2UoKQovLwktIHJlc2l6ZUltYWdlQ29udGFpbmVyKCkKLy8JLSBzaG93SW1hZ2UoKQovLwktIHVwZGF0ZURldGFpbHMoKQovLwktIHVwZGF0ZU5hdigpCi8vCS0gZW5hYmxlS2V5Ym9hcmROYXYoKQovLwktIGRpc2FibGVLZXlib2FyZE5hdigpCi8vCS0ga2V5Ym9hcmROYXZBY3Rpb24oKQovLwktIHByZWxvYWROZWlnaGJvckltYWdlcygpCi8vCS0gZW5kKCkKLy8KLy8JU3RydWN0dXJpbmcgb2YgY29kZSBpbnNwaXJlZCBieSBTY290dCBVcHRvbiAoaHR0cDovL3d3dy51cHRvbmljLmNvbS8pCi8vCnZhciBMaWdodGJveCA9IENsYXNzLmNyZWF0ZSgpOwoKTGlnaHRib3gucHJvdG90eXBlID0gewoKCS8vIGluaXRpYWxpemUoKQoJLy8gQ29uc3RydWN0b3IgcnVucyBvbiBjb21wbGV0aW9uIG9mIHRoZSBET00gbG9hZGluZy4gQ2FsbHMgdXBkYXRlSW1hZ2VMaXN0IGFuZCB0aGVuCgkvLyB0aGUgZnVuY3Rpb24gaW5zZXJ0cyBodG1sIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2Ugd2hpY2ggaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBzaGFkb3cKCS8vIG92ZXJsYXkgYW5kIHRoZSBpbWFnZSBjb250YWluZXIuCgkvLwoJaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7CgoJCXRoaXMudXBkYXRlSW1hZ2VMaXN0KCk7CgoJCS8vIENvZGUgaW5zZXJ0cyBodG1sIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCBsb29rcyBzaW1pbGFyIHRvIHRoaXM6CgkJLy8KCQkvLwk8ZGl2IGlkPSJvdmVybGF5Ij48L2Rpdj4KCQkvLwk8ZGl2IGlkPSJsaWdodGJveCI+CgkJLy8JCTxkaXYgaWQ9Im91dGVySW1hZ2VDb250YWluZXIiPgoJCS8vCQkJPGRpdiBpZD0iaW1hZ2VDb250YWluZXIiPgoJCS8vCQkJCTxpbWcgaWQ9ImxpZ2h0Ym94SW1hZ2UiPgoJCS8vCQkJCTxkaXYgc3R5bGU9IiIgaWQ9ImhvdmVyTmF2Ij4KCQkvLwkJCQkJPGEgaHJlZj0iIyIgaWQ9InByZXZMaW5rIj48L2E+CgkJLy8JCQkJCTxhIGhyZWY9IiMiIGlkPSJuZXh0TGluayI+PC9hPgoJCS8vCQkJCTwvZGl2PgoJCS8vCQkJCTxkaXYgaWQ9ImxvYWRpbmciPgoJCS8vCQkJCQk8YSBocmVmPSIjIiBpZD0ibG9hZGluZ0xpbmsiPgoJCS8vCQkJCQkJPGltZyBzcmM9ImltYWdlcy9sb2FkaW5nLmdpZiI+CgkJLy8JCQkJCTwvYT4KCQkvLwkJCQk8L2Rpdj4KCQkvLwkJCTwvZGl2PgoJCS8vCQk8L2Rpdj4KCQkvLwkJPGRpdiBpZD0iaW1hZ2VEYXRhQ29udGFpbmVyIj4KCQkvLwkJCTxkaXYgaWQ9ImltYWdlRGF0YSI+CgkJLy8JCQkJPGRpdiBpZD0iaW1hZ2VEZXRhaWxzIj4KCQkvLwkJCQkJPHNwYW4gaWQ9ImNhcHRpb24iPjwvc3Bhbj4KCQkvLwkJCQkJPHNwYW4gaWQ9Im51bWJlckRpc3BsYXkiPjwvc3Bhbj4KCQkvLwkJCQk8L2Rpdj4KCQkvLwkJCQk8ZGl2IGlkPSJib3R0b21OYXYiPgoJCS8vCQkJCQk8YSBocmVmPSIjIiBpZD0iYm90dG9tTmF2Q2xvc2UiPgoJCS8vCQkJCQkJPGltZyBzcmM9ImltYWdlcy9jbG9zZS5naWYiPgoJCS8vCQkJCQk8L2E+CgkJLy8JCQkJPC9kaXY+CgkJLy8JCQk8L2Rpdj4KCQkvLwkJPC9kaXY+CgkJLy8JPC9kaXY+CgoKCQl2YXIgb2JqQm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IikuaXRlbSgwKTsKCgkJdmFyIG9iak92ZXJsYXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKCQlvYmpPdmVybGF5LnNldEF0dHJpYnV0ZSgnaWQnLCdvdmVybGF5Jyk7CgkJb2JqT3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwoJCW9iak92ZXJsYXkub25jbGljayA9IGZ1bmN0aW9uKCkgeyBteUxpZ2h0Ym94LmVuZCgpOyB9CgkJb2JqQm9keS5hcHBlbmRDaGlsZChvYmpPdmVybGF5KTsKCgkJdmFyIG9iakxpZ2h0Ym94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJb2JqTGlnaHRib3guc2V0QXR0cmlidXRlKCdpZCcsJ2xpZ2h0Ym94Jyk7CgkJb2JqTGlnaHRib3guc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQlvYmpMaWdodGJveC5vbmNsaWNrID0gZnVuY3Rpb24oZSkgewkvLyBjbG9zZSBMaWdodGJveCBpcyB1c2VyIGNsaWNrcyBzaGFkb3cgb3ZlcmxheQoJCQlpZiAoIWUpIHZhciBlID0gd2luZG93LmV2ZW50OwoJCQl2YXIgY2xpY2tPYmogPSBFdmVudC5lbGVtZW50KGUpLmlkOwoJCQlpZiAoIGNsaWNrT2JqID09ICdsaWdodGJveCcpIHsKCQkJCW15TGlnaHRib3guZW5kKCk7CgkJCX0KCQl9OwoJCW9iakJvZHkuYXBwZW5kQ2hpbGQob2JqTGlnaHRib3gpOwoKCQl2YXIgb2JqT3V0ZXJJbWFnZUNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwoJCW9iak91dGVySW1hZ2VDb250YWluZXIuc2V0QXR0cmlidXRlKCdpZCcsJ291dGVySW1hZ2VDb250YWluZXInKTsKCQlvYmpMaWdodGJveC5hcHBlbmRDaGlsZChvYmpPdXRlckltYWdlQ29udGFpbmVyKTsKCgkJLy8gV2hlbiBMaWdodGJveCBzdGFydHMgaXQgd2lsbCByZXNpemUgaXRzZWxmIGZyb20gMjUwIGJ5IDI1MCB0byB0aGUgY3VycmVudCBpbWFnZSBkaW1lbnNpb24uCgkJLy8gSWYgYW5pbWF0aW9ucyBhcmUgdHVybmVkIG9mZiwgaXQgd2lsbCBiZSBoaWRkZW4gYXMgdG8gcHJldmVudCBhIGZsaWNrZXIgb2YgYQoJCS8vIHdoaXRlIDI1MCBieSAyNTAgYm94LgoJCWlmKGFuaW1hdGUpewoJCQlFbGVtZW50LnNldFdpZHRoKCdvdXRlckltYWdlQ29udGFpbmVyJywgMjUwKTsKCQkJRWxlbWVudC5zZXRIZWlnaHQoJ291dGVySW1hZ2VDb250YWluZXInLCAyNTApOwoJCX0gZWxzZSB7CgkJCUVsZW1lbnQuc2V0V2lkdGgoJ291dGVySW1hZ2VDb250YWluZXInLCAxKTsKCQkJRWxlbWVudC5zZXRIZWlnaHQoJ291dGVySW1hZ2VDb250YWluZXInLCAxKTsKCQl9CgoJCXZhciBvYmpJbWFnZUNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwoJCW9iakltYWdlQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgnaWQnLCdpbWFnZUNvbnRhaW5lcicpOwoJCW9iak91dGVySW1hZ2VDb250YWluZXIuYXBwZW5kQ2hpbGQob2JqSW1hZ2VDb250YWluZXIpOwoKCQl2YXIgb2JqTGlnaHRib3hJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwoJCW9iakxpZ2h0Ym94SW1hZ2Uuc2V0QXR0cmlidXRlKCdpZCcsJ2xpZ2h0Ym94SW1hZ2UnKTsKCQlvYmpJbWFnZUNvbnRhaW5lci5hcHBlbmRDaGlsZChvYmpMaWdodGJveEltYWdlKTsKCgkJdmFyIG9iakhvdmVyTmF2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJb2JqSG92ZXJOYXYuc2V0QXR0cmlidXRlKCdpZCcsJ2hvdmVyTmF2Jyk7CgkJb2JqSW1hZ2VDb250YWluZXIuYXBwZW5kQ2hpbGQob2JqSG92ZXJOYXYpOwoKCQl2YXIgb2JqUHJldkxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CgkJb2JqUHJldkxpbmsuc2V0QXR0cmlidXRlKCdpZCcsJ3ByZXZMaW5rJyk7CgkJb2JqUHJldkxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywnIycpOwoJCW9iakhvdmVyTmF2LmFwcGVuZENoaWxkKG9ialByZXZMaW5rKTsKCgkJdmFyIG9iak5leHRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwoJCW9iak5leHRMaW5rLnNldEF0dHJpYnV0ZSgnaWQnLCduZXh0TGluaycpOwoJCW9iak5leHRMaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsJyMnKTsKCQlvYmpIb3Zlck5hdi5hcHBlbmRDaGlsZChvYmpOZXh0TGluayk7CgoJCXZhciBvYmpMb2FkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJb2JqTG9hZGluZy5zZXRBdHRyaWJ1dGUoJ2lkJywnbG9hZGluZycpOwoJCW9iakltYWdlQ29udGFpbmVyLmFwcGVuZENoaWxkKG9iakxvYWRpbmcpOwoKCQl2YXIgb2JqTG9hZGluZ0xpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CgkJb2JqTG9hZGluZ0xpbmsuc2V0QXR0cmlidXRlKCdpZCcsJ2xvYWRpbmdMaW5rJyk7CgkJb2JqTG9hZGluZ0xpbmsuc2V0QXR0cmlidXRlKCdocmVmJywnIycpOwoJCW9iakxvYWRpbmdMaW5rLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgbXlMaWdodGJveC5lbmQoKTsgcmV0dXJuIGZhbHNlOyB9CgkJb2JqTG9hZGluZy5hcHBlbmRDaGlsZChvYmpMb2FkaW5nTGluayk7CgoJCXZhciBvYmpMb2FkaW5nSW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKCQlvYmpMb2FkaW5nSW1hZ2Uuc2V0QXR0cmlidXRlKCdzcmMnLCBmaWxlTG9hZGluZ0ltYWdlKTsKCQlvYmpMb2FkaW5nTGluay5hcHBlbmRDaGlsZChvYmpMb2FkaW5nSW1hZ2UpOwoKCQl2YXIgb2JqSW1hZ2VEYXRhQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJb2JqSW1hZ2VEYXRhQ29udGFpbmVyLnNldEF0dHJpYnV0ZSgnaWQnLCdpbWFnZURhdGFDb250YWluZXInKTsKCQlvYmpMaWdodGJveC5hcHBlbmRDaGlsZChvYmpJbWFnZURhdGFDb250YWluZXIpOwoKCQl2YXIgb2JqSW1hZ2VEYXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CgkJb2JqSW1hZ2VEYXRhLnNldEF0dHJpYnV0ZSgnaWQnLCdpbWFnZURhdGEnKTsKCQlvYmpJbWFnZURhdGFDb250YWluZXIuYXBwZW5kQ2hpbGQob2JqSW1hZ2VEYXRhKTsKCgkJdmFyIG9iakltYWdlRGV0YWlscyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwoJCW9iakltYWdlRGV0YWlscy5zZXRBdHRyaWJ1dGUoJ2lkJywnaW1hZ2VEZXRhaWxzJyk7CgkJb2JqSW1hZ2VEYXRhLmFwcGVuZENoaWxkKG9iakltYWdlRGV0YWlscyk7CgoJCXZhciBvYmpDYXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwoJCW9iakNhcHRpb24uc2V0QXR0cmlidXRlKCdpZCcsJ2NhcHRpb24nKTsKCQlvYmpJbWFnZURldGFpbHMuYXBwZW5kQ2hpbGQob2JqQ2FwdGlvbik7CgoJCXZhciBvYmpOdW1iZXJEaXNwbGF5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwoJCW9iak51bWJlckRpc3BsYXkuc2V0QXR0cmlidXRlKCdpZCcsJ251bWJlckRpc3BsYXknKTsKCQlvYmpJbWFnZURldGFpbHMuYXBwZW5kQ2hpbGQob2JqTnVtYmVyRGlzcGxheSk7CgoJCXZhciBvYmpCb3R0b21OYXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKCQlvYmpCb3R0b21OYXYuc2V0QXR0cmlidXRlKCdpZCcsJ2JvdHRvbU5hdicpOwoJCW9iakltYWdlRGF0YS5hcHBlbmRDaGlsZChvYmpCb3R0b21OYXYpOwoKCQl2YXIgb2JqQm90dG9tTmF2Q2xvc2VMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwoJCW9iakJvdHRvbU5hdkNsb3NlTGluay5zZXRBdHRyaWJ1dGUoJ2lkJywnYm90dG9tTmF2Q2xvc2UnKTsKCQlvYmpCb3R0b21OYXZDbG9zZUxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywnIycpOwoJCW9iakJvdHRvbU5hdkNsb3NlTGluay5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IG15TGlnaHRib3guZW5kKCk7IHJldHVybiBmYWxzZTsgfQoJCW9iakJvdHRvbU5hdi5hcHBlbmRDaGlsZChvYmpCb3R0b21OYXZDbG9zZUxpbmspOwoKCQl2YXIgb2JqQm90dG9tTmF2Q2xvc2VJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwoJCW9iakJvdHRvbU5hdkNsb3NlSW1hZ2Uuc2V0QXR0cmlidXRlKCdzcmMnLCBmaWxlQm90dG9tTmF2Q2xvc2VJbWFnZSk7CgkJb2JqQm90dG9tTmF2Q2xvc2VMaW5rLmFwcGVuZENoaWxkKG9iakJvdHRvbU5hdkNsb3NlSW1hZ2UpOwoJfSwKCgoJLy8KCS8vIHVwZGF0ZUltYWdlTGlzdCgpCgkvLyBMb29wcyB0aHJvdWdoIGFuY2hvciB0YWdzIGxvb2tpbmcgZm9yICdsaWdodGJveCcgcmVmZXJlbmNlcyBhbmQgYXBwbGllcyBvbmNsaWNrCgkvLyBldmVudHMgdG8gYXBwcm9wcmlhdGUgbGlua3MuIFlvdSBjYW4gcmVydW4gYWZ0ZXIgZHluYW1pY2FsbHkgYWRkaW5nIGltYWdlcyB3L2FqYXguCgkvLwoJdXBkYXRlSW1hZ2VMaXN0OiBmdW5jdGlvbigpIHsKCQlpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKXsgcmV0dXJuOyB9CgkJdmFyIGFuY2hvcnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpOwoJCXZhciBhcmVhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhcmVhJyk7CgoJCS8vIGxvb3AgdGhyb3VnaCBhbGwgYW5jaG9yIHRhZ3MKCQlmb3IgKHZhciBpPTA7IGk8YW5jaG9ycy5sZW5ndGg7IGkrKyl7CgkJCXZhciBhbmNob3IgPSBhbmNob3JzW2ldOwoKCQkJdmFyIHJlbEF0dHJpYnV0ZSA9IFN0cmluZyhhbmNob3IuZ2V0QXR0cmlidXRlKCdyZWwnKSk7CgoJCQkvLyB1c2UgdGhlIHN0cmluZy5tYXRjaCgpIG1ldGhvZCB0byBjYXRjaCAnbGlnaHRib3gnIHJlZmVyZW5jZXMgaW4gdGhlIHJlbCBhdHRyaWJ1dGUKCQkJaWYgKGFuY2hvci5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSAmJiAocmVsQXR0cmlidXRlLnRvTG93ZXJDYXNlKCkubWF0Y2goJ2xpZ2h0Ym94JykpKXsKCQkJCWFuY2hvci5vbmNsaWNrID0gZnVuY3Rpb24gKCkge215TGlnaHRib3guc3RhcnQodGhpcyk7IHJldHVybiBmYWxzZTt9CgkJCX0KCQl9CgoJCS8vIGxvb3AgdGhyb3VnaCBhbGwgYXJlYSB0YWdzCgkJLy8gdG9kbzogY29tYmluZSBhbmNob3IgJiBhcmVhIHRhZyBsb29wcwoJCWZvciAodmFyIGk9MDsgaTwgYXJlYXMubGVuZ3RoOyBpKyspewoJCQl2YXIgYXJlYSA9IGFyZWFzW2ldOwoKCQkJdmFyIHJlbEF0dHJpYnV0ZSA9IFN0cmluZyhhcmVhLmdldEF0dHJpYnV0ZSgncmVsJykpOwoKCQkJLy8gdXNlIHRoZSBzdHJpbmcubWF0Y2goKSBtZXRob2QgdG8gY2F0Y2ggJ2xpZ2h0Ym94JyByZWZlcmVuY2VzIGluIHRoZSByZWwgYXR0cmlidXRlCgkJCWlmIChhcmVhLmdldEF0dHJpYnV0ZSgnaHJlZicpICYmIChyZWxBdHRyaWJ1dGUudG9Mb3dlckNhc2UoKS5tYXRjaCgnbGlnaHRib3gnKSkpewoJCQkJYXJlYS5vbmNsaWNrID0gZnVuY3Rpb24gKCkge215TGlnaHRib3guc3RhcnQodGhpcyk7IHJldHVybiBmYWxzZTt9CgkJCX0KCQl9Cgl9LAoKCgkvLwoJLy8Jc3RhcnQoKQoJLy8JRGlzcGxheSBvdmVybGF5IGFuZCBsaWdodGJveC4gSWYgaW1hZ2UgaXMgcGFydCBvZiBhIHNldCwgYWRkIHNpYmxpbmdzIHRvIGltYWdlQXJyYXkuCgkvLwoJc3RhcnQ6IGZ1bmN0aW9uKGltYWdlTGluaykgewoKCQloaWRlU2VsZWN0Qm94ZXMoKTsKCQloaWRlRmxhc2goKTsKCgkJLy8gc3RyZXRjaCBvdmVybGF5IHRvIGZpbGwgcGFnZSBhbmQgZmFkZSBpbgoJCXZhciBhcnJheVBhZ2VTaXplID0gZ2V0UGFnZVNpemUoKTsKCQlFbGVtZW50LnNldFdpZHRoKCdvdmVybGF5JywgYXJyYXlQYWdlU2l6ZVswXSk7CgkJRWxlbWVudC5zZXRIZWlnaHQoJ292ZXJsYXknLCBhcnJheVBhZ2VTaXplWzFdKTsKCgkJbmV3IEVmZmVjdC5BcHBlYXIoJ292ZXJsYXknLCB7IGR1cmF0aW9uOiBvdmVybGF5RHVyYXRpb24sIGZyb206IDAuMCwgdG86IG92ZXJsYXlPcGFjaXR5IH0pOwoKCQlpbWFnZUFycmF5ID0gW107CgkJaW1hZ2VOdW0gPSAwOwoKCQlpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKXsgcmV0dXJuOyB9CgkJdmFyIGFuY2hvcnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSggaW1hZ2VMaW5rLnRhZ05hbWUpOwoKCQkvLyBpZiBpbWFnZSBpcyBOT1QgcGFydCBvZiBhIHNldC4uCgkJaWYoKGltYWdlTGluay5nZXRBdHRyaWJ1dGUoJ3JlbCcpID09ICdsaWdodGJveCcpKXsKCQkJLy8gYWRkIHNpbmdsZSBpbWFnZSB0byBpbWFnZUFycmF5CgkJCWltYWdlQXJyYXkucHVzaChuZXcgQXJyYXkoaW1hZ2VMaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpLCBpbWFnZUxpbmsuZ2V0QXR0cmlidXRlKCd0aXRsZScpKSk7CgkJfSBlbHNlIHsKCQkvLyBpZiBpbWFnZSBpcyBwYXJ0IG9mIGEgc2V0Li4KCgkJCS8vIGxvb3AgdGhyb3VnaCBhbmNob3JzLCBmaW5kIG90aGVyIGltYWdlcyBpbiBzZXQsIGFuZCBhZGQgdGhlbSB0byBpbWFnZUFycmF5CgkJCWZvciAodmFyIGk9MDsgaTxhbmNob3JzLmxlbmd0aDsgaSsrKXsKCQkJCXZhciBhbmNob3IgPSBhbmNob3JzW2ldOwoJCQkJaWYgKGFuY2hvci5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSAmJiAoYW5jaG9yLmdldEF0dHJpYnV0ZSgncmVsJykgPT0gaW1hZ2VMaW5rLmdldEF0dHJpYnV0ZSgncmVsJykpKXsKCQkJCQlpbWFnZUFycmF5LnB1c2gobmV3IEFycmF5KGFuY2hvci5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSwgYW5jaG9yLmdldEF0dHJpYnV0ZSgndGl0bGUnKSkpOwoJCQkJfQoJCQl9CgkJCWltYWdlQXJyYXkucmVtb3ZlRHVwbGljYXRlcygpOwoJCQl3aGlsZShpbWFnZUFycmF5W2ltYWdlTnVtXVswXSAhPSBpbWFnZUxpbmsuZ2V0QXR0cmlidXRlKCdocmVmJykpIHsgaW1hZ2VOdW0rKzt9CgkJfQoKCQkvLyBjYWxjdWxhdGUgdG9wIGFuZCBsZWZ0IG9mZnNldCBmb3IgdGhlIGxpZ2h0Ym94CgkJdmFyIGFycmF5UGFnZVNjcm9sbCA9IGdldFBhZ2VTY3JvbGwoKTsKCQl2YXIgbGlnaHRib3hUb3AgPSBhcnJheVBhZ2VTY3JvbGxbMV0gKyAoYXJyYXlQYWdlU2l6ZVszXSAvIDEwKTsKCQl2YXIgbGlnaHRib3hMZWZ0ID0gYXJyYXlQYWdlU2Nyb2xsWzBdOwoJCUVsZW1lbnQuc2V0VG9wKCdsaWdodGJveCcsIGxpZ2h0Ym94VG9wKTsKCQlFbGVtZW50LnNldExlZnQoJ2xpZ2h0Ym94JywgbGlnaHRib3hMZWZ0KTsKCgkJRWxlbWVudC5zaG93KCdsaWdodGJveCcpOwoKCQl0aGlzLmNoYW5nZUltYWdlKGltYWdlTnVtKTsKCX0sCgoJLy8KCS8vCWNoYW5nZUltYWdlKCkKCS8vCUhpZGUgbW9zdCBlbGVtZW50cyBhbmQgcHJlbG9hZCBpbWFnZSBpbiBwcmVwYXJhdGlvbiBmb3IgcmVzaXppbmcgaW1hZ2UgY29udGFpbmVyLgoJLy8KCWNoYW5nZUltYWdlOiBmdW5jdGlvbihpbWFnZU51bSkgewoKCQlhY3RpdmVJbWFnZSA9IGltYWdlTnVtOwkvLyB1cGRhdGUgZ2xvYmFsIHZhcgoKCQkvLyBoaWRlIGVsZW1lbnRzIGR1cmluZyB0cmFuc2l0aW9uCgkJaWYoYW5pbWF0ZSl7IEVsZW1lbnQuc2hvdygnbG9hZGluZycpO30KCQlFbGVtZW50LmhpZGUoJ2xpZ2h0Ym94SW1hZ2UnKTsKCQlFbGVtZW50LmhpZGUoJ2hvdmVyTmF2Jyk7CgkJRWxlbWVudC5oaWRlKCdwcmV2TGluaycpOwoJCUVsZW1lbnQuaGlkZSgnbmV4dExpbmsnKTsKCQlFbGVtZW50LmhpZGUoJ2ltYWdlRGF0YUNvbnRhaW5lcicpOwoJCUVsZW1lbnQuaGlkZSgnbnVtYmVyRGlzcGxheScpOwoKCQlpbWdQcmVsb2FkZXIgPSBuZXcgSW1hZ2UoKTsKCgkJLy8gb25jZSBpbWFnZSBpcyBwcmVsb2FkZWQsIHJlc2l6ZSBpbWFnZSBjb250YWluZXIKCQlpbWdQcmVsb2FkZXIub25sb2FkPWZ1bmN0aW9uKCl7CgkJCUVsZW1lbnQuc2V0U3JjKCdsaWdodGJveEltYWdlJywgaW1hZ2VBcnJheVthY3RpdmVJbWFnZV1bMF0pOwoJCQlteUxpZ2h0Ym94LnJlc2l6ZUltYWdlQ29udGFpbmVyKGltZ1ByZWxvYWRlci53aWR0aCwgaW1nUHJlbG9hZGVyLmhlaWdodCk7CgoJCQlpbWdQcmVsb2FkZXIub25sb2FkPWZ1bmN0aW9uKCl7fTsJLy8JY2xlYXIgb25Mb2FkLCBJRSBiZWhhdmVzIGlycmF0aWNhbGx5IHdpdGggYW5pbWF0ZWQgZ2lmcyBvdGhlcndpc2UKCQl9CgkJaW1nUHJlbG9hZGVyLnNyYyA9IGltYWdlQXJyYXlbYWN0aXZlSW1hZ2VdWzBdOwoJfSwKCgkvLwoJLy8JcmVzaXplSW1hZ2VDb250YWluZXIoKQoJLy8KCXJlc2l6ZUltYWdlQ29udGFpbmVyOiBmdW5jdGlvbiggaW1nV2lkdGgsIGltZ0hlaWdodCkgewoKCQkvLyBnZXQgY3VycmVuIHdpZHRoIGFuZCBoZWlnaHQKCQl0aGlzLndpZHRoQ3VycmVudCA9IEVsZW1lbnQuZ2V0V2lkdGgoJ291dGVySW1hZ2VDb250YWluZXInKTsKCQl0aGlzLmhlaWdodEN1cnJlbnQgPSBFbGVtZW50LmdldEhlaWdodCgnb3V0ZXJJbWFnZUNvbnRhaW5lcicpOwoKCQkvLyBnZXQgbmV3IHdpZHRoIGFuZCBoZWlnaHQKCQl2YXIgd2lkdGhOZXcgPSAoaW1nV2lkdGggICsgKGJvcmRlclNpemUgKiAyKSk7CgkJdmFyIGhlaWdodE5ldyA9IChpbWdIZWlnaHQgICsgKGJvcmRlclNpemUgKiAyKSk7CgoJCS8vIHNjYWxhcnMgYmFzZWQgb24gY2hhbmdlIGZyb20gb2xkIHRvIG5ldwoJCXRoaXMueFNjYWxlID0gKCB3aWR0aE5ldyAvIHRoaXMud2lkdGhDdXJyZW50KSAqIDEwMDsKCQl0aGlzLnlTY2FsZSA9ICggaGVpZ2h0TmV3IC8gdGhpcy5oZWlnaHRDdXJyZW50KSAqIDEwMDsKCgkJLy8gY2FsY3VsYXRlIHNpemUgZGlmZmVyZW5jZSBiZXR3ZWVuIG5ldyBhbmQgb2xkIGltYWdlLCBhbmQgcmVzaXplIGlmIG5lY2Vzc2FyeQoJCXdEaWZmID0gdGhpcy53aWR0aEN1cnJlbnQgLSB3aWR0aE5ldzsKCQloRGlmZiA9IHRoaXMuaGVpZ2h0Q3VycmVudCAtIGhlaWdodE5ldzsKCgkJaWYoISggaERpZmYgPT0gMCkpeyBuZXcgRWZmZWN0LlNjYWxlKCdvdXRlckltYWdlQ29udGFpbmVyJywgdGhpcy55U2NhbGUsIHtzY2FsZVg6IGZhbHNlLCBkdXJhdGlvbjogcmVzaXplRHVyYXRpb24sIHF1ZXVlOiAnZnJvbnQnfSk7IH0KCQlpZighKCB3RGlmZiA9PSAwKSl7IG5ldyBFZmZlY3QuU2NhbGUoJ291dGVySW1hZ2VDb250YWluZXInLCB0aGlzLnhTY2FsZSwge3NjYWxlWTogZmFsc2UsIGRlbGF5OiByZXNpemVEdXJhdGlvbiwgZHVyYXRpb246IHJlc2l6ZUR1cmF0aW9ufSk7IH0KCgkJLy8gaWYgbmV3IGFuZCBvbGQgaW1hZ2UgYXJlIHNhbWUgc2l6ZSBhbmQgbm8gc2NhbGluZyB0cmFuc2l0aW9uIGlzIG5lY2Vzc2FyeSwKCQkvLyBkbyBhIHF1aWNrIHBhdXNlIHRvIHByZXZlbnQgaW1hZ2UgZmxpY2tlci4KCQlpZigoaERpZmYgPT0gMCkgJiYgKHdEaWZmID09IDApKXsKCQkJaWYgKG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoIk1TSUUiKSE9LTEpeyBwYXVzZSgyNTApOyB9IGVsc2UgeyBwYXVzZSgxMDApO30KCQl9CgoJCUVsZW1lbnQuc2V0SGVpZ2h0KCdwcmV2TGluaycsIGltZ0hlaWdodCk7CgkJRWxlbWVudC5zZXRIZWlnaHQoJ25leHRMaW5rJywgaW1nSGVpZ2h0KTsKCQlFbGVtZW50LnNldFdpZHRoKCAnaW1hZ2VEYXRhQ29udGFpbmVyJywgd2lkdGhOZXcpOwoKCQl0aGlzLnNob3dJbWFnZSgpOwoJfSwKCgkvLwoJLy8Jc2hvd0ltYWdlKCkKCS8vCURpc3BsYXkgaW1hZ2UgYW5kIGJlZ2luIHByZWxvYWRpbmcgbmVpZ2hib3JzLgoJLy8KCXNob3dJbWFnZTogZnVuY3Rpb24oKXsKCQlFbGVtZW50LmhpZGUoJ2xvYWRpbmcnKTsKCQluZXcgRWZmZWN0LkFwcGVhcignbGlnaHRib3hJbWFnZScsIHsgZHVyYXRpb246IHJlc2l6ZUR1cmF0aW9uLCBxdWV1ZTogJ2VuZCcsIGFmdGVyRmluaXNoOiBmdW5jdGlvbigpewlteUxpZ2h0Ym94LnVwZGF0ZURldGFpbHMoKTsgfSB9KTsKCQl0aGlzLnByZWxvYWROZWlnaGJvckltYWdlcygpOwoJfSwKCgkvLwoJLy8JdXBkYXRlRGV0YWlscygpCgkvLwlEaXNwbGF5IGNhcHRpb24sIGltYWdlIG51bWJlciwgYW5kIGJvdHRvbSBuYXYuCgkvLwoJdXBkYXRlRGV0YWlsczogZnVuY3Rpb24oKSB7CgoJCS8vIGlmIGNhcHRpb24gaXMgbm90IG51bGwKCQlpZihpbWFnZUFycmF5W2FjdGl2ZUltYWdlXVsxXSl7CgkJCUVsZW1lbnQuc2hvdygnY2FwdGlvbicpOwoJCQlFbGVtZW50LnNldElubmVySFRNTCggJ2NhcHRpb24nLCBpbWFnZUFycmF5W2FjdGl2ZUltYWdlXVsxXSk7CgkJfQoKCQkvLyBpZiBpbWFnZSBpcyBwYXJ0IG9mIHNldCBkaXNwbGF5ICdJbWFnZSB4IG9mIHgnCgkJaWYoaW1hZ2VBcnJheS5sZW5ndGggPiAxKXsKCQkJRWxlbWVudC5zaG93KCdudW1iZXJEaXNwbGF5Jyk7CgkJCUVsZW1lbnQuc2V0SW5uZXJIVE1MKCAnbnVtYmVyRGlzcGxheScsICJJbWFnZSAiICsgZXZhbChhY3RpdmVJbWFnZSArIDEpICsgIiBvZiAiICsgaW1hZ2VBcnJheS5sZW5ndGgpOwoJCX0KCgkJbmV3IEVmZmVjdC5QYXJhbGxlbCgKCQkJWyBuZXcgRWZmZWN0LlNsaWRlRG93biggJ2ltYWdlRGF0YUNvbnRhaW5lcicsIHsgc3luYzogdHJ1ZSwgZHVyYXRpb246IHJlc2l6ZUR1cmF0aW9uLCBmcm9tOiAwLjAsIHRvOiAxLjAgfSksCgkJCSAgbmV3IEVmZmVjdC5BcHBlYXIoJ2ltYWdlRGF0YUNvbnRhaW5lcicsIHsgc3luYzogdHJ1ZSwgZHVyYXRpb246IHJlc2l6ZUR1cmF0aW9uIH0pIF0sCgkJCXsgZHVyYXRpb246IHJlc2l6ZUR1cmF0aW9uLCBhZnRlckZpbmlzaDogZnVuY3Rpb24oKSB7CgkJCQkvLyB1cGRhdGUgb3ZlcmxheSBzaXplIGFuZCB1cGRhdGUgbmF2CgkJCQl2YXIgYXJyYXlQYWdlU2l6ZSA9IGdldFBhZ2VTaXplKCk7CgkJCQlFbGVtZW50LnNldEhlaWdodCgnb3ZlcmxheScsIGFycmF5UGFnZVNpemVbMV0pOwoJCQkJbXlMaWdodGJveC51cGRhdGVOYXYoKTsKCQkJCX0KCQkJfQoJCSk7Cgl9LAoKCS8vCgkvLwl1cGRhdGVOYXYoKQoJLy8JRGlzcGxheSBhcHByb3ByaWF0ZSBwcmV2aW91cyBhbmQgbmV4dCBob3ZlciBuYXZpZ2F0aW9uLgoJLy8KCXVwZGF0ZU5hdjogZnVuY3Rpb24oKSB7CgoJCUVsZW1lbnQuc2hvdygnaG92ZXJOYXYnKTsKCgkJLy8gaWYgbm90IGZpcnN0IGltYWdlIGluIHNldCwgZGlzcGxheSBwcmV2IGltYWdlIGJ1dHRvbgoJCWlmKGFjdGl2ZUltYWdlICE9IDApewoJCQlFbGVtZW50LnNob3coJ3ByZXZMaW5rJyk7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcmV2TGluaycpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsKCQkJCW15TGlnaHRib3guY2hhbmdlSW1hZ2UoYWN0aXZlSW1hZ2UgLSAxKTsgcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoKCQkvLyBpZiBub3QgbGFzdCBpbWFnZSBpbiBzZXQsIGRpc3BsYXkgbmV4dCBpbWFnZSBidXR0b24KCQlpZihhY3RpdmVJbWFnZSAhPSAoaW1hZ2VBcnJheS5sZW5ndGggLSAxKSl7CgkJCUVsZW1lbnQuc2hvdygnbmV4dExpbmsnKTsKCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25leHRMaW5rJykub25jbGljayA9IGZ1bmN0aW9uKCkgewoJCQkJbXlMaWdodGJveC5jaGFuZ2VJbWFnZShhY3RpdmVJbWFnZSArIDEpOyByZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoJCXRoaXMuZW5hYmxlS2V5Ym9hcmROYXYoKTsKCX0sCgoJLy8KCS8vCWVuYWJsZUtleWJvYXJkTmF2KCkKCS8vCgllbmFibGVLZXlib2FyZE5hdjogZnVuY3Rpb24oKSB7CgkJZG9jdW1lbnQub25rZXlkb3duID0gdGhpcy5rZXlib2FyZEFjdGlvbjsKCX0sCgoJLy8KCS8vCWRpc2FibGVLZXlib2FyZE5hdigpCgkvLwoJZGlzYWJsZUtleWJvYXJkTmF2OiBmdW5jdGlvbigpIHsKCQlkb2N1bWVudC5vbmtleWRvd24gPSAnJzsKCX0sCgoJLy8KCS8vCWtleWJvYXJkQWN0aW9uKCkKCS8vCglrZXlib2FyZEFjdGlvbjogZnVuY3Rpb24oZSkgewoJCWlmIChlID09IG51bGwpIHsgLy8gaWUKCQkJa2V5Y29kZSA9IGV2ZW50LmtleUNvZGU7CgkJCWVzY2FwZUtleSA9IDI3OwoJCX0gZWxzZSB7IC8vIG1vemlsbGEKCQkJa2V5Y29kZSA9IGUua2V5Q29kZTsKCQkJZXNjYXBlS2V5ID0gZS5ET01fVktfRVNDQVBFOwoJCX0KCgkJa2V5ID0gU3RyaW5nLmZyb21DaGFyQ29kZShrZXljb2RlKS50b0xvd2VyQ2FzZSgpOwoKCQlpZigoa2V5ID09ICd4JykgfHwgKGtleSA9PSAnbycpIHx8IChrZXkgPT0gJ2MnKSB8fCAoa2V5Y29kZSA9PSBlc2NhcGVLZXkpKXsJLy8gY2xvc2UgbGlnaHRib3gKCQkJbXlMaWdodGJveC5lbmQoKTsKCQl9IGVsc2UgaWYoKGtleSA9PSAncCcpIHx8IChrZXljb2RlID09IDM3KSl7CS8vIGRpc3BsYXkgcHJldmlvdXMgaW1hZ2UKCQkJaWYoYWN0aXZlSW1hZ2UgIT0gMCl7CgkJCQlteUxpZ2h0Ym94LmRpc2FibGVLZXlib2FyZE5hdigpOwoJCQkJbXlMaWdodGJveC5jaGFuZ2VJbWFnZShhY3RpdmVJbWFnZSAtIDEpOwoJCQl9CgkJfSBlbHNlIGlmKChrZXkgPT0gJ24nKSB8fCAoa2V5Y29kZSA9PSAzOSkpewkvLyBkaXNwbGF5IG5leHQgaW1hZ2UKCQkJaWYoYWN0aXZlSW1hZ2UgIT0gKGltYWdlQXJyYXkubGVuZ3RoIC0gMSkpewoJCQkJbXlMaWdodGJveC5kaXNhYmxlS2V5Ym9hcmROYXYoKTsKCQkJCW15TGlnaHRib3guY2hhbmdlSW1hZ2UoYWN0aXZlSW1hZ2UgKyAxKTsKCQkJfQoJCX0KCgl9LAoKCS8vCgkvLwlwcmVsb2FkTmVpZ2hib3JJbWFnZXMoKQoJLy8JUHJlbG9hZCBwcmV2aW91cyBhbmQgbmV4dCBpbWFnZXMuCgkvLwoJcHJlbG9hZE5laWdoYm9ySW1hZ2VzOiBmdW5jdGlvbigpewoKCQlpZigoaW1hZ2VBcnJheS5sZW5ndGggLSAxKSA+IGFjdGl2ZUltYWdlKXsKCQkJcHJlbG9hZE5leHRJbWFnZSA9IG5ldyBJbWFnZSgpOwoJCQlwcmVsb2FkTmV4dEltYWdlLnNyYyA9IGltYWdlQXJyYXlbYWN0aXZlSW1hZ2UgKyAxXVswXTsKCQl9CgkJaWYoYWN0aXZlSW1hZ2UgPiAwKXsKCQkJcHJlbG9hZFByZXZJbWFnZSA9IG5ldyBJbWFnZSgpOwoJCQlwcmVsb2FkUHJldkltYWdlLnNyYyA9IGltYWdlQXJyYXlbYWN0aXZlSW1hZ2UgLSAxXVswXTsKCQl9CgoJfSwKCgkvLwoJLy8JZW5kKCkKCS8vCgllbmQ6IGZ1bmN0aW9uKCkgewoJCXRoaXMuZGlzYWJsZUtleWJvYXJkTmF2KCk7CgkJRWxlbWVudC5oaWRlKCdsaWdodGJveCcpOwoJCW5ldyBFZmZlY3QuRmFkZSgnb3ZlcmxheScsIHsgZHVyYXRpb246IG92ZXJsYXlEdXJhdGlvbn0pOwoJCXNob3dTZWxlY3RCb3hlcygpOwoJCXNob3dGbGFzaCgpOwoJfQp9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8KLy8gZ2V0UGFnZVNjcm9sbCgpCi8vIFJldHVybnMgYXJyYXkgd2l0aCB4LHkgcGFnZSBzY3JvbGwgdmFsdWVzLgovLyBDb3JlIGNvZGUgZnJvbSAtIHF1aXJrc21vZGUuY29tCi8vCmZ1bmN0aW9uIGdldFBhZ2VTY3JvbGwoKXsKCgl2YXIgeFNjcm9sbCwgeVNjcm9sbDsKCglpZiAoc2VsZi5wYWdlWU9mZnNldCkgewoJCXlTY3JvbGwgPSBzZWxmLnBhZ2VZT2Zmc2V0OwoJCXhTY3JvbGwgPSBzZWxmLnBhZ2VYT2Zmc2V0OwoJfSBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCl7CSAvLyBFeHBsb3JlciA2IFN0cmljdAoJCXlTY3JvbGwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOwoJCXhTY3JvbGwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdDsKCX0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keSkgey8vIGFsbCBvdGhlciBFeHBsb3JlcnMKCQl5U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CgkJeFNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdDsKCX0KCglhcnJheVBhZ2VTY3JvbGwgPSBuZXcgQXJyYXkoeFNjcm9sbCx5U2Nyb2xsKQoJcmV0dXJuIGFycmF5UGFnZVNjcm9sbDsKfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vIGdldFBhZ2VTaXplKCkKLy8gUmV0dXJucyBhcnJheSB3aXRoIHBhZ2Ugd2lkdGgsIGhlaWdodCBhbmQgd2luZG93IHdpZHRoLCBoZWlnaHQKLy8gQ29yZSBjb2RlIGZyb20gLSBxdWlya3Ntb2RlLmNvbQovLyBFZGl0IGZvciBGaXJlZm94IGJ5IHBIYWV6Ci8vCmZ1bmN0aW9uIGdldFBhZ2VTaXplKCl7CgoJdmFyIHhTY3JvbGwsIHlTY3JvbGw7CgoJaWYgKHdpbmRvdy5pbm5lckhlaWdodCAmJiB3aW5kb3cuc2Nyb2xsTWF4WSkgewoJCXhTY3JvbGwgPSB3aW5kb3cuaW5uZXJXaWR0aCArIHdpbmRvdy5zY3JvbGxNYXhYOwoJCXlTY3JvbGwgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsTWF4WTsKCX0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgPiBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl7IC8vIGFsbCBidXQgRXhwbG9yZXIgTWFjCgkJeFNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGg7CgkJeVNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0OwoJfSBlbHNlIHsgLy8gRXhwbG9yZXIgTWFjLi4ud291bGQgYWxzbyB3b3JrIGluIEV4cGxvcmVyIDYgU3RyaWN0LCBNb3ppbGxhIGFuZCBTYWZhcmkKCQl4U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsKCQl5U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7Cgl9CgoJdmFyIHdpbmRvd1dpZHRoLCB3aW5kb3dIZWlnaHQ7CgovLwljb25zb2xlLmxvZyhzZWxmLmlubmVyV2lkdGgpOwovLwljb25zb2xlLmxvZyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpOwoKCWlmIChzZWxmLmlubmVySGVpZ2h0KSB7CS8vIGFsbCBleGNlcHQgRXhwbG9yZXIKCQlpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpewoJCQl3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsKCQl9IGVsc2UgewoJCQl3aW5kb3dXaWR0aCA9IHNlbGYuaW5uZXJXaWR0aDsKCQl9CgkJd2luZG93SGVpZ2h0ID0gc2VsZi5pbm5lckhlaWdodDsKCX0gZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpIHsgLy8gRXhwbG9yZXIgNiBTdHJpY3QgTW9kZQoJCXdpbmRvd1dpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOwoJCXdpbmRvd0hlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7Cgl9IGVsc2UgaWYgKGRvY3VtZW50LmJvZHkpIHsgLy8gb3RoZXIgRXhwbG9yZXJzCgkJd2luZG93V2lkdGggPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOwoJCXdpbmRvd0hlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OwoJfQoKCS8vIGZvciBzbWFsbCBwYWdlcyB3aXRoIHRvdGFsIGhlaWdodCBsZXNzIHRoZW4gaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydAoJaWYoeVNjcm9sbCA8IHdpbmRvd0hlaWdodCl7CgkJcGFnZUhlaWdodCA9IHdpbmRvd0hlaWdodDsKCX0gZWxzZSB7CgkJcGFnZUhlaWdodCA9IHlTY3JvbGw7Cgl9CgovLwljb25zb2xlLmxvZygieFNjcm9sbCAiICsgeFNjcm9sbCkKLy8JY29uc29sZS5sb2coIndpbmRvd1dpZHRoICIgKyB3aW5kb3dXaWR0aCkKCgkvLyBmb3Igc21hbGwgcGFnZXMgd2l0aCB0b3RhbCB3aWR0aCBsZXNzIHRoZW4gd2lkdGggb2YgdGhlIHZpZXdwb3J0CglpZih4U2Nyb2xsIDwgd2luZG93V2lkdGgpewoJCXBhZ2VXaWR0aCA9IHhTY3JvbGw7Cgl9IGVsc2UgewoJCXBhZ2VXaWR0aCA9IHdpbmRvd1dpZHRoOwoJfQovLwljb25zb2xlLmxvZygicGFnZVdpZHRoICIgKyBwYWdlV2lkdGgpCgoJYXJyYXlQYWdlU2l6ZSA9IG5ldyBBcnJheShwYWdlV2lkdGgscGFnZUhlaWdodCx3aW5kb3dXaWR0aCx3aW5kb3dIZWlnaHQpCglyZXR1cm4gYXJyYXlQYWdlU2l6ZTsKfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vIGdldEtleShrZXkpCi8vIEdldHMga2V5Y29kZS4gSWYgJ3gnIGlzIHByZXNzZWQgdGhlbiBpdCBoaWRlcyB0aGUgbGlnaHRib3guCi8vCmZ1bmN0aW9uIGdldEtleShlKXsKCWlmIChlID09IG51bGwpIHsgLy8gaWUKCQlrZXljb2RlID0gZXZlbnQua2V5Q29kZTsKCX0gZWxzZSB7IC8vIG1vemlsbGEKCQlrZXljb2RlID0gZS53aGljaDsKCX0KCWtleSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoa2V5Y29kZSkudG9Mb3dlckNhc2UoKTsKCglpZihrZXkgPT0gJ3gnKXsKCX0KfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vIGxpc3RlbktleSgpCi8vCmZ1bmN0aW9uIGxpc3RlbktleSAoKSB7CWRvY3VtZW50Lm9ua2V5cHJlc3MgPSBnZXRLZXk7IH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gc2hvd1NlbGVjdEJveGVzKCl7Cgl2YXIgc2VsZWN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzZWxlY3QiKTsKCWZvciAoaSA9IDA7IGkgIT0gc2VsZWN0cy5sZW5ndGg7IGkrKykgewoJCXNlbGVjdHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKCX0KfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBoaWRlU2VsZWN0Qm94ZXMoKXsKCXZhciBzZWxlY3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNlbGVjdCIpOwoJZm9yIChpID0gMDsgaSAhPSBzZWxlY3RzLmxlbmd0aDsgaSsrKSB7CgkJc2VsZWN0c1tpXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7Cgl9Cn0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gc2hvd0ZsYXNoKCl7Cgl2YXIgZmxhc2hPYmplY3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpOwoJZm9yIChpID0gMDsgaSA8IGZsYXNoT2JqZWN0cy5sZW5ndGg7IGkrKykgewoJCWZsYXNoT2JqZWN0c1tpXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwoJfQoKCXZhciBmbGFzaEVtYmVkcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJlbWJlZCIpOwoJZm9yIChpID0gMDsgaSA8IGZsYXNoRW1iZWRzLmxlbmd0aDsgaSsrKSB7CgkJZmxhc2hFbWJlZHNbaV0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKCX0KfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBoaWRlRmxhc2goKXsKCXZhciBmbGFzaE9iamVjdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iik7Cglmb3IgKGkgPSAwOyBpIDwgZmxhc2hPYmplY3RzLmxlbmd0aDsgaSsrKSB7CgkJZmxhc2hPYmplY3RzW2ldLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKCX0KCgl2YXIgZmxhc2hFbWJlZHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZW1iZWQiKTsKCWZvciAoaSA9IDA7IGkgPCBmbGFzaEVtYmVkcy5sZW5ndGg7IGkrKykgewoJCWZsYXNoRW1iZWRzW2ldLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKCX0KCn0KCgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi8vCi8vIHBhdXNlKG51bWJlck1pbGxpcykKLy8gUGF1c2VzIGNvZGUgZXhlY3V0aW9uIGZvciBzcGVjaWZpZWQgdGltZS4gVXNlcyBidXN5IGNvZGUsIG5vdCBnb29kLgovLyBIZWxwIGZyb20gUmFuIEJhci1PbiBbcmFuMjEwM0BnbWFpbC5jb21dCi8vCgpmdW5jdGlvbiBwYXVzZShtcyl7Cgl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CgljdXJEYXRlID0gbnVsbDsKCWRve3ZhciBjdXJEYXRlID0gbmV3IERhdGUoKTt9Cgl3aGlsZSggY3VyRGF0ZSAtIGRhdGUgPCBtcyk7Cn0KLyoKZnVuY3Rpb24gcGF1c2UobnVtYmVyTWlsbGlzKSB7Cgl2YXIgY3VyZW50bHkgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHNlbmRlcjsKCXdoaWxlIChuZXcgRGF0ZSgpLmdldFRpbWUoKTsKfQoqLwovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnVuY3Rpb24gaW5pdExpZ2h0Ym94KCkgeyBteUxpZ2h0Ym94ID0gbmV3IExpZ2h0Ym94KCk7IH0KRXZlbnQub2JzZXJ2ZSh3aW5kb3csICdsb2FkJywgaW5pdExpZ2h0Ym94LCBmYWxzZSk7]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/js/prototype.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogIFByb3RvdHlwZSBKYXZhU2NyaXB0IGZyYW1ld29yaywgdmVyc2lvbiAxLjQuMAogKiAgKGMpIDIwMDUgU2FtIFN0ZXBoZW5zb24gPHNhbUBjb25pby5uZXQ+CiAqCiAqICBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFdoZW4gc2VuZGluZyBwYXRjaGVzLCBwbGVhc2UgZGlmZgogKiAgYWdhaW5zdCB0aGUgc291cmNlIHRyZWUsIGF2YWlsYWJsZSBmcm9tIHRoZSBQcm90b3R5cGUgZGFyY3MgcmVwb3NpdG9yeS4KICoKICogIFByb3RvdHlwZSBpcyBmcmVlbHkgZGlzdHJpYnV0YWJsZSB1bmRlciB0aGUgdGVybXMgb2YgYW4gTUlULXN0eWxlIGxpY2Vuc2UuCiAqCiAqICBGb3IgZGV0YWlscywgc2VlIHRoZSBQcm90b3R5cGUgd2ViIHNpdGU6IGh0dHA6Ly9wcm90b3R5cGUuY29uaW8ubmV0LwogKgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCnZhciBQcm90b3R5cGUgPSB7CiAgVmVyc2lvbjogJzEuNC4wJywKICBTY3JpcHRGcmFnbWVudDogJyg/OjxzY3JpcHQuKj8+KSgoXG58XHJ8LikqPykoPzo8XC9zY3JpcHQ+KScsCgogIGVtcHR5RnVuY3Rpb246IGZ1bmN0aW9uKCkge30sCiAgSzogZnVuY3Rpb24oeCkge3JldHVybiB4fQp9Cgp2YXIgQ2xhc3MgPSB7CiAgY3JlYXRlOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgdGhpcy5pbml0aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICB9CiAgfQp9Cgp2YXIgQWJzdHJhY3QgPSBuZXcgT2JqZWN0KCk7CgpPYmplY3QuZXh0ZW5kID0gZnVuY3Rpb24oZGVzdGluYXRpb24sIHNvdXJjZSkgewogIGZvciAocHJvcGVydHkgaW4gc291cmNlKSB7CiAgICBkZXN0aW5hdGlvbltwcm9wZXJ0eV0gPSBzb3VyY2VbcHJvcGVydHldOwogIH0KICByZXR1cm4gZGVzdGluYXRpb247Cn0KCk9iamVjdC5pbnNwZWN0ID0gZnVuY3Rpb24ob2JqZWN0KSB7CiAgdHJ5IHsKICAgIGlmIChvYmplY3QgPT0gdW5kZWZpbmVkKSByZXR1cm4gJ3VuZGVmaW5lZCc7CiAgICBpZiAob2JqZWN0ID09IG51bGwpIHJldHVybiAnbnVsbCc7CiAgICByZXR1cm4gb2JqZWN0Lmluc3BlY3QgPyBvYmplY3QuaW5zcGVjdCgpIDogb2JqZWN0LnRvU3RyaW5nKCk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSByZXR1cm4gJy4uLic7CiAgICB0aHJvdyBlOwogIH0KfQoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbigpIHsKICB2YXIgX19tZXRob2QgPSB0aGlzLCBhcmdzID0gJEEoYXJndW1lbnRzKSwgb2JqZWN0ID0gYXJncy5zaGlmdCgpOwogIHJldHVybiBmdW5jdGlvbigpIHsKICAgIHJldHVybiBfX21ldGhvZC5hcHBseShvYmplY3QsIGFyZ3MuY29uY2F0KCRBKGFyZ3VtZW50cykpKTsKICB9Cn0KCkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kQXNFdmVudExpc3RlbmVyID0gZnVuY3Rpb24ob2JqZWN0KSB7CiAgdmFyIF9fbWV0aG9kID0gdGhpczsKICByZXR1cm4gZnVuY3Rpb24oZXZlbnQpIHsKICAgIHJldHVybiBfX21ldGhvZC5jYWxsKG9iamVjdCwgZXZlbnQgfHwgd2luZG93LmV2ZW50KTsKICB9Cn0KCk9iamVjdC5leHRlbmQoTnVtYmVyLnByb3RvdHlwZSwgewogIHRvQ29sb3JQYXJ0OiBmdW5jdGlvbigpIHsKICAgIHZhciBkaWdpdHMgPSB0aGlzLnRvU3RyaW5nKDE2KTsKICAgIGlmICh0aGlzIDwgMTYpIHJldHVybiAnMCcgKyBkaWdpdHM7CiAgICByZXR1cm4gZGlnaXRzOwogIH0sCgogIHN1Y2M6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMgKyAxOwogIH0sCgogIHRpbWVzOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgJFIoMCwgdGhpcywgdHJ1ZSkuZWFjaChpdGVyYXRvcik7CiAgICByZXR1cm4gdGhpczsKICB9Cn0pOwoKdmFyIFRyeSA9IHsKICB0aGVzZTogZnVuY3Rpb24oKSB7CiAgICB2YXIgcmV0dXJuVmFsdWU7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIGxhbWJkYSA9IGFyZ3VtZW50c1tpXTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm5WYWx1ZSA9IGxhbWJkYSgpOwogICAgICAgIGJyZWFrOwogICAgICB9IGNhdGNoIChlKSB7fQogICAgfQoKICAgIHJldHVybiByZXR1cm5WYWx1ZTsKICB9Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKdmFyIFBlcmlvZGljYWxFeGVjdXRlciA9IENsYXNzLmNyZWF0ZSgpOwpQZXJpb2RpY2FsRXhlY3V0ZXIucHJvdG90eXBlID0gewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGNhbGxiYWNrLCBmcmVxdWVuY3kpIHsKICAgIHRoaXMuY2FsbGJhY2sgPSBjYWxsYmFjazsKICAgIHRoaXMuZnJlcXVlbmN5ID0gZnJlcXVlbmN5OwogICAgdGhpcy5jdXJyZW50bHlFeGVjdXRpbmcgPSBmYWxzZTsKCiAgICB0aGlzLnJlZ2lzdGVyQ2FsbGJhY2soKTsKICB9LAoKICByZWdpc3RlckNhbGxiYWNrOiBmdW5jdGlvbigpIHsKICAgIHNldEludGVydmFsKHRoaXMub25UaW1lckV2ZW50LmJpbmQodGhpcyksIHRoaXMuZnJlcXVlbmN5ICogMTAwMCk7CiAgfSwKCiAgb25UaW1lckV2ZW50OiBmdW5jdGlvbigpIHsKICAgIGlmICghdGhpcy5jdXJyZW50bHlFeGVjdXRpbmcpIHsKICAgICAgdHJ5IHsKICAgICAgICB0aGlzLmN1cnJlbnRseUV4ZWN1dGluZyA9IHRydWU7CiAgICAgICAgdGhpcy5jYWxsYmFjaygpOwogICAgICB9IGZpbmFsbHkgewogICAgICAgIHRoaXMuY3VycmVudGx5RXhlY3V0aW5nID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICB9Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKZnVuY3Rpb24gJCgpIHsKICB2YXIgZWxlbWVudHMgPSBuZXcgQXJyYXkoKTsKCiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBlbGVtZW50ID0gYXJndW1lbnRzW2ldOwogICAgaWYgKHR5cGVvZiBlbGVtZW50ID09ICdzdHJpbmcnKQogICAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCk7CgogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkKICAgICAgcmV0dXJuIGVsZW1lbnQ7CgogICAgZWxlbWVudHMucHVzaChlbGVtZW50KTsKICB9CgogIHJldHVybiBlbGVtZW50czsKfQpPYmplY3QuZXh0ZW5kKFN0cmluZy5wcm90b3R5cGUsIHsKICBzdHJpcFRhZ3M6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMucmVwbGFjZSgvPFwvP1tePl0rPi9naSwgJycpOwogIH0sCgogIHN0cmlwU2NyaXB0czogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoUHJvdG90eXBlLlNjcmlwdEZyYWdtZW50LCAnaW1nJyksICcnKTsKICB9LAoKICBleHRyYWN0U2NyaXB0czogZnVuY3Rpb24oKSB7CiAgICB2YXIgbWF0Y2hBbGwgPSBuZXcgUmVnRXhwKFByb3RvdHlwZS5TY3JpcHRGcmFnbWVudCwgJ2ltZycpOwogICAgdmFyIG1hdGNoT25lID0gbmV3IFJlZ0V4cChQcm90b3R5cGUuU2NyaXB0RnJhZ21lbnQsICdpbScpOwogICAgcmV0dXJuICh0aGlzLm1hdGNoKG1hdGNoQWxsKSB8fCBbXSkubWFwKGZ1bmN0aW9uKHNjcmlwdFRhZykgewogICAgICByZXR1cm4gKHNjcmlwdFRhZy5tYXRjaChtYXRjaE9uZSkgfHwgWycnLCAnJ10pWzFdOwogICAgfSk7CiAgfSwKCiAgZXZhbFNjcmlwdHM6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMuZXh0cmFjdFNjcmlwdHMoKS5tYXAoZXZhbCk7CiAgfSwKCiAgZXNjYXBlSFRNTDogZnVuY3Rpb24oKSB7CiAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRoaXMpOwogICAgZGl2LmFwcGVuZENoaWxkKHRleHQpOwogICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7CiAgfSwKCiAgdW5lc2NhcGVIVE1MOiBmdW5jdGlvbigpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5pbm5lckhUTUwgPSB0aGlzLnN0cmlwVGFncygpOwogICAgcmV0dXJuIGRpdi5jaGlsZE5vZGVzWzBdID8gZGl2LmNoaWxkTm9kZXNbMF0ubm9kZVZhbHVlIDogJyc7CiAgfSwKCiAgdG9RdWVyeVBhcmFtczogZnVuY3Rpb24oKSB7CiAgICB2YXIgcGFpcnMgPSB0aGlzLm1hdGNoKC9eXD8/KC4qKSQvKVsxXS5zcGxpdCgnJicpOwogICAgcmV0dXJuIHBhaXJzLmluamVjdCh7fSwgZnVuY3Rpb24ocGFyYW1zLCBwYWlyU3RyaW5nKSB7CiAgICAgIHZhciBwYWlyID0gcGFpclN0cmluZy5zcGxpdCgnPScpOwogICAgICBwYXJhbXNbcGFpclswXV0gPSBwYWlyWzFdOwogICAgICByZXR1cm4gcGFyYW1zOwogICAgfSk7CiAgfSwKCiAgdG9BcnJheTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy5zcGxpdCgnJyk7CiAgfSwKCiAgY2FtZWxpemU6IGZ1bmN0aW9uKCkgewogICAgdmFyIG9TdHJpbmdMaXN0ID0gdGhpcy5zcGxpdCgnLScpOwogICAgaWYgKG9TdHJpbmdMaXN0Lmxlbmd0aCA9PSAxKSByZXR1cm4gb1N0cmluZ0xpc3RbMF07CgogICAgdmFyIGNhbWVsaXplZFN0cmluZyA9IHRoaXMuaW5kZXhPZignLScpID09IDAKICAgICAgPyBvU3RyaW5nTGlzdFswXS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG9TdHJpbmdMaXN0WzBdLnN1YnN0cmluZygxKQogICAgICA6IG9TdHJpbmdMaXN0WzBdOwoKICAgIGZvciAodmFyIGkgPSAxLCBsZW4gPSBvU3RyaW5nTGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykgewogICAgICB2YXIgcyA9IG9TdHJpbmdMaXN0W2ldOwogICAgICBjYW1lbGl6ZWRTdHJpbmcgKz0gcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHMuc3Vic3RyaW5nKDEpOwogICAgfQoKICAgIHJldHVybiBjYW1lbGl6ZWRTdHJpbmc7CiAgfSwKCiAgaW5zcGVjdDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gIiciICsgdGhpcy5yZXBsYWNlKCdcXCcsICdcXFxcJykucmVwbGFjZSgiJyIsICdcXFwnJykgKyAiJyI7CiAgfQp9KTsKClN0cmluZy5wcm90b3R5cGUucGFyc2VRdWVyeSA9IFN0cmluZy5wcm90b3R5cGUudG9RdWVyeVBhcmFtczsKCnZhciAkYnJlYWsgICAgPSBuZXcgT2JqZWN0KCk7CnZhciAkY29udGludWUgPSBuZXcgT2JqZWN0KCk7Cgp2YXIgRW51bWVyYWJsZSA9IHsKICBlYWNoOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIGluZGV4ID0gMDsKICAgIHRyeSB7CiAgICAgIHRoaXMuX2VhY2goZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICB0cnkgewogICAgICAgICAgaXRlcmF0b3IodmFsdWUsIGluZGV4KyspOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlICE9ICRjb250aW51ZSkgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSAhPSAkYnJlYWspIHRocm93IGU7CiAgICB9CiAgfSwKCiAgYWxsOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHJlc3VsdCA9IHRydWU7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAhIShpdGVyYXRvciB8fCBQcm90b3R5cGUuSykodmFsdWUsIGluZGV4KTsKICAgICAgaWYgKCFyZXN1bHQpIHRocm93ICRicmVhazsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICBhbnk6IGZ1bmN0aW9uKGl0ZXJhdG9yKSB7CiAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgaWYgKHJlc3VsdCA9ICEhKGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LKSh2YWx1ZSwgaW5kZXgpKQogICAgICAgIHRocm93ICRicmVhazsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICBjb2xsZWN0OiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgcmVzdWx0cy5wdXNoKGl0ZXJhdG9yKHZhbHVlLCBpbmRleCkpOwogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0czsKICB9LAoKICBkZXRlY3Q6IGZ1bmN0aW9uIChpdGVyYXRvcikgewogICAgdmFyIHJlc3VsdDsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgaWYgKGl0ZXJhdG9yKHZhbHVlLCBpbmRleCkpIHsKICAgICAgICByZXN1bHQgPSB2YWx1ZTsKICAgICAgICB0aHJvdyAkYnJlYWs7CiAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICBmaW5kQWxsOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgaWYgKGl0ZXJhdG9yKHZhbHVlLCBpbmRleCkpCiAgICAgICAgcmVzdWx0cy5wdXNoKHZhbHVlKTsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdHM7CiAgfSwKCiAgZ3JlcDogZnVuY3Rpb24ocGF0dGVybiwgaXRlcmF0b3IpIHsKICAgIHZhciByZXN1bHRzID0gW107CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIHZhciBzdHJpbmdWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7CiAgICAgIGlmIChzdHJpbmdWYWx1ZS5tYXRjaChwYXR0ZXJuKSkKICAgICAgICByZXN1bHRzLnB1c2goKGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LKSh2YWx1ZSwgaW5kZXgpKTsKICAgIH0pCiAgICByZXR1cm4gcmVzdWx0czsKICB9LAoKICBpbmNsdWRlOiBmdW5jdGlvbihvYmplY3QpIHsKICAgIHZhciBmb3VuZCA9IGZhbHNlOwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSA9PSBvYmplY3QpIHsKICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgdGhyb3cgJGJyZWFrOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiBmb3VuZDsKICB9LAoKICBpbmplY3Q6IGZ1bmN0aW9uKG1lbW8sIGl0ZXJhdG9yKSB7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIG1lbW8gPSBpdGVyYXRvcihtZW1vLCB2YWx1ZSwgaW5kZXgpOwogICAgfSk7CiAgICByZXR1cm4gbWVtbzsKICB9LAoKICBpbnZva2U6IGZ1bmN0aW9uKG1ldGhvZCkgewogICAgdmFyIGFyZ3MgPSAkQShhcmd1bWVudHMpLnNsaWNlKDEpOwogICAgcmV0dXJuIHRoaXMuY29sbGVjdChmdW5jdGlvbih2YWx1ZSkgewogICAgICByZXR1cm4gdmFsdWVbbWV0aG9kXS5hcHBseSh2YWx1ZSwgYXJncyk7CiAgICB9KTsKICB9LAoKICBtYXg6IGZ1bmN0aW9uKGl0ZXJhdG9yKSB7CiAgICB2YXIgcmVzdWx0OwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgewogICAgICB2YWx1ZSA9IChpdGVyYXRvciB8fCBQcm90b3R5cGUuSykodmFsdWUsIGluZGV4KTsKICAgICAgaWYgKHZhbHVlID49IChyZXN1bHQgfHwgdmFsdWUpKQogICAgICAgIHJlc3VsdCA9IHZhbHVlOwogICAgfSk7CiAgICByZXR1cm4gcmVzdWx0OwogIH0sCgogIG1pbjogZnVuY3Rpb24oaXRlcmF0b3IpIHsKICAgIHZhciByZXN1bHQ7CiAgICB0aGlzLmVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIHZhbHVlID0gKGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LKSh2YWx1ZSwgaW5kZXgpOwogICAgICBpZiAodmFsdWUgPD0gKHJlc3VsdCB8fCB2YWx1ZSkpCiAgICAgICAgcmVzdWx0ID0gdmFsdWU7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHQ7CiAgfSwKCiAgcGFydGl0aW9uOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHRydWVzID0gW10sIGZhbHNlcyA9IFtdOwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgewogICAgICAoKGl0ZXJhdG9yIHx8IFByb3RvdHlwZS5LKSh2YWx1ZSwgaW5kZXgpID8KICAgICAgICB0cnVlcyA6IGZhbHNlcykucHVzaCh2YWx1ZSk7CiAgICB9KTsKICAgIHJldHVybiBbdHJ1ZXMsIGZhbHNlc107CiAgfSwKCiAgcGx1Y2s6IGZ1bmN0aW9uKHByb3BlcnR5KSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdGhpcy5lYWNoKGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgewogICAgICByZXN1bHRzLnB1c2godmFsdWVbcHJvcGVydHldKTsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdHM7CiAgfSwKCiAgcmVqZWN0OiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHRoaXMuZWFjaChmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHsKICAgICAgaWYgKCFpdGVyYXRvcih2YWx1ZSwgaW5kZXgpKQogICAgICAgIHJlc3VsdHMucHVzaCh2YWx1ZSk7CiAgICB9KTsKICAgIHJldHVybiByZXN1bHRzOwogIH0sCgogIHNvcnRCeTogZnVuY3Rpb24oaXRlcmF0b3IpIHsKICAgIHJldHVybiB0aGlzLmNvbGxlY3QoZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIHJldHVybiB7dmFsdWU6IHZhbHVlLCBjcml0ZXJpYTogaXRlcmF0b3IodmFsdWUsIGluZGV4KX07CiAgICB9KS5zb3J0KGZ1bmN0aW9uKGxlZnQsIHJpZ2h0KSB7CiAgICAgIHZhciBhID0gbGVmdC5jcml0ZXJpYSwgYiA9IHJpZ2h0LmNyaXRlcmlhOwogICAgICByZXR1cm4gYSA8IGIgPyAtMSA6IGEgPiBiID8gMSA6IDA7CiAgICB9KS5wbHVjaygndmFsdWUnKTsKICB9LAoKICB0b0FycmF5OiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmNvbGxlY3QoUHJvdG90eXBlLkspOwogIH0sCgogIHppcDogZnVuY3Rpb24oKSB7CiAgICB2YXIgaXRlcmF0b3IgPSBQcm90b3R5cGUuSywgYXJncyA9ICRBKGFyZ3VtZW50cyk7CiAgICBpZiAodHlwZW9mIGFyZ3MubGFzdCgpID09ICdmdW5jdGlvbicpCiAgICAgIGl0ZXJhdG9yID0gYXJncy5wb3AoKTsKCiAgICB2YXIgY29sbGVjdGlvbnMgPSBbdGhpc10uY29uY2F0KGFyZ3MpLm1hcCgkQSk7CiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CiAgICAgIGl0ZXJhdG9yKHZhbHVlID0gY29sbGVjdGlvbnMucGx1Y2soaW5kZXgpKTsKICAgICAgcmV0dXJuIHZhbHVlOwogICAgfSk7CiAgfSwKCiAgaW5zcGVjdDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gJyM8RW51bWVyYWJsZTonICsgdGhpcy50b0FycmF5KCkuaW5zcGVjdCgpICsgJz4nOwogIH0KfQoKT2JqZWN0LmV4dGVuZChFbnVtZXJhYmxlLCB7CiAgbWFwOiAgICAgRW51bWVyYWJsZS5jb2xsZWN0LAogIGZpbmQ6ICAgIEVudW1lcmFibGUuZGV0ZWN0LAogIHNlbGVjdDogIEVudW1lcmFibGUuZmluZEFsbCwKICBtZW1iZXI6ICBFbnVtZXJhYmxlLmluY2x1ZGUsCiAgZW50cmllczogRW51bWVyYWJsZS50b0FycmF5Cn0pOwp2YXIgJEEgPSBBcnJheS5mcm9tID0gZnVuY3Rpb24oaXRlcmFibGUpIHsKICBpZiAoIWl0ZXJhYmxlKSByZXR1cm4gW107CiAgaWYgKGl0ZXJhYmxlLnRvQXJyYXkpIHsKICAgIHJldHVybiBpdGVyYWJsZS50b0FycmF5KCk7CiAgfSBlbHNlIHsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZXJhYmxlLmxlbmd0aDsgaSsrKQogICAgICByZXN1bHRzLnB1c2goaXRlcmFibGVbaV0pOwogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQp9CgpPYmplY3QuZXh0ZW5kKEFycmF5LnByb3RvdHlwZSwgRW51bWVyYWJsZSk7CgpBcnJheS5wcm90b3R5cGUuX3JldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCk9iamVjdC5leHRlbmQoQXJyYXkucHJvdG90eXBlLCB7CiAgX2VhY2g6IGZ1bmN0aW9uKGl0ZXJhdG9yKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspCiAgICAgIGl0ZXJhdG9yKHRoaXNbaV0pOwogIH0sCgogIGNsZWFyOiBmdW5jdGlvbigpIHsKICAgIHRoaXMubGVuZ3RoID0gMDsKICAgIHJldHVybiB0aGlzOwogIH0sCgogIGZpcnN0OiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzWzBdOwogIH0sCgogIGxhc3Q6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXNbdGhpcy5sZW5ndGggLSAxXTsKICB9LAoKICBjb21wYWN0OiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbih2YWx1ZSkgewogICAgICByZXR1cm4gdmFsdWUgIT0gdW5kZWZpbmVkIHx8IHZhbHVlICE9IG51bGw7CiAgICB9KTsKICB9LAoKICBmbGF0dGVuOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLmluamVjdChbXSwgZnVuY3Rpb24oYXJyYXksIHZhbHVlKSB7CiAgICAgIHJldHVybiBhcnJheS5jb25jYXQodmFsdWUuY29uc3RydWN0b3IgPT0gQXJyYXkgPwogICAgICAgIHZhbHVlLmZsYXR0ZW4oKSA6IFt2YWx1ZV0pOwogICAgfSk7CiAgfSwKCiAgd2l0aG91dDogZnVuY3Rpb24oKSB7CiAgICB2YXIgdmFsdWVzID0gJEEoYXJndW1lbnRzKTsKICAgIHJldHVybiB0aGlzLnNlbGVjdChmdW5jdGlvbih2YWx1ZSkgewogICAgICByZXR1cm4gIXZhbHVlcy5pbmNsdWRlKHZhbHVlKTsKICAgIH0pOwogIH0sCgogIGluZGV4T2Y6IGZ1bmN0aW9uKG9iamVjdCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKQogICAgICBpZiAodGhpc1tpXSA9PSBvYmplY3QpIHJldHVybiBpOwogICAgcmV0dXJuIC0xOwogIH0sCgogIHJldmVyc2U6IGZ1bmN0aW9uKGlubGluZSkgewogICAgcmV0dXJuIChpbmxpbmUgIT09IGZhbHNlID8gdGhpcyA6IHRoaXMudG9BcnJheSgpKS5fcmV2ZXJzZSgpOwogIH0sCgogIHNoaWZ0OiBmdW5jdGlvbigpIHsKICAgIHZhciByZXN1bHQgPSB0aGlzWzBdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAtIDE7IGkrKykKICAgICAgdGhpc1tpXSA9IHRoaXNbaSArIDFdOwogICAgdGhpcy5sZW5ndGgtLTsKICAgIHJldHVybiByZXN1bHQ7CiAgfSwKCiAgaW5zcGVjdDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gJ1snICsgdGhpcy5tYXAoT2JqZWN0Lmluc3BlY3QpLmpvaW4oJywgJykgKyAnXSc7CiAgfQp9KTsKdmFyIEhhc2ggPSB7CiAgX2VhY2g6IGZ1bmN0aW9uKGl0ZXJhdG9yKSB7CiAgICBmb3IgKGtleSBpbiB0aGlzKSB7CiAgICAgIHZhciB2YWx1ZSA9IHRoaXNba2V5XTsKICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSBjb250aW51ZTsKCiAgICAgIHZhciBwYWlyID0gW2tleSwgdmFsdWVdOwogICAgICBwYWlyLmtleSA9IGtleTsKICAgICAgcGFpci52YWx1ZSA9IHZhbHVlOwogICAgICBpdGVyYXRvcihwYWlyKTsKICAgIH0KICB9LAoKICBrZXlzOiBmdW5jdGlvbigpIHsKICAgIHJldHVybiB0aGlzLnBsdWNrKCdrZXknKTsKICB9LAoKICB2YWx1ZXM6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMucGx1Y2soJ3ZhbHVlJyk7CiAgfSwKCiAgbWVyZ2U6IGZ1bmN0aW9uKGhhc2gpIHsKICAgIHJldHVybiAkSChoYXNoKS5pbmplY3QoJEgodGhpcyksIGZ1bmN0aW9uKG1lcmdlZEhhc2gsIHBhaXIpIHsKICAgICAgbWVyZ2VkSGFzaFtwYWlyLmtleV0gPSBwYWlyLnZhbHVlOwogICAgICByZXR1cm4gbWVyZ2VkSGFzaDsKICAgIH0pOwogIH0sCgogIHRvUXVlcnlTdHJpbmc6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHBhaXIpIHsKICAgICAgcmV0dXJuIHBhaXIubWFwKGVuY29kZVVSSUNvbXBvbmVudCkuam9pbignPScpOwogICAgfSkuam9pbignJicpOwogIH0sCgogIGluc3BlY3Q6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuICcjPEhhc2g6eycgKyB0aGlzLm1hcChmdW5jdGlvbihwYWlyKSB7CiAgICAgIHJldHVybiBwYWlyLm1hcChPYmplY3QuaW5zcGVjdCkuam9pbignOiAnKTsKICAgIH0pLmpvaW4oJywgJykgKyAnfT4nOwogIH0KfQoKZnVuY3Rpb24gJEgob2JqZWN0KSB7CiAgdmFyIGhhc2ggPSBPYmplY3QuZXh0ZW5kKHt9LCBvYmplY3QgfHwge30pOwogIE9iamVjdC5leHRlbmQoaGFzaCwgRW51bWVyYWJsZSk7CiAgT2JqZWN0LmV4dGVuZChoYXNoLCBIYXNoKTsKICByZXR1cm4gaGFzaDsKfQpPYmplY3RSYW5nZSA9IENsYXNzLmNyZWF0ZSgpOwpPYmplY3QuZXh0ZW5kKE9iamVjdFJhbmdlLnByb3RvdHlwZSwgRW51bWVyYWJsZSk7Ck9iamVjdC5leHRlbmQoT2JqZWN0UmFuZ2UucHJvdG90eXBlLCB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oc3RhcnQsIGVuZCwgZXhjbHVzaXZlKSB7CiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7CiAgICB0aGlzLmVuZCA9IGVuZDsKICAgIHRoaXMuZXhjbHVzaXZlID0gZXhjbHVzaXZlOwogIH0sCgogIF9lYWNoOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdmFyIHZhbHVlID0gdGhpcy5zdGFydDsKICAgIGRvIHsKICAgICAgaXRlcmF0b3IodmFsdWUpOwogICAgICB2YWx1ZSA9IHZhbHVlLnN1Y2MoKTsKICAgIH0gd2hpbGUgKHRoaXMuaW5jbHVkZSh2YWx1ZSkpOwogIH0sCgogIGluY2x1ZGU6IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPCB0aGlzLnN0YXJ0KQogICAgICByZXR1cm4gZmFsc2U7CiAgICBpZiAodGhpcy5leGNsdXNpdmUpCiAgICAgIHJldHVybiB2YWx1ZSA8IHRoaXMuZW5kOwogICAgcmV0dXJuIHZhbHVlIDw9IHRoaXMuZW5kOwogIH0KfSk7Cgp2YXIgJFIgPSBmdW5jdGlvbihzdGFydCwgZW5kLCBleGNsdXNpdmUpIHsKICByZXR1cm4gbmV3IE9iamVjdFJhbmdlKHN0YXJ0LCBlbmQsIGV4Y2x1c2l2ZSk7Cn0KCnZhciBBamF4ID0gewogIGdldFRyYW5zcG9ydDogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gVHJ5LnRoZXNlKAogICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoJ01zeG1sMi5YTUxIVFRQJyl9LAogICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxIVFRQJyl9LAogICAgICBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IFhNTEh0dHBSZXF1ZXN0KCl9CiAgICApIHx8IGZhbHNlOwogIH0sCgogIGFjdGl2ZVJlcXVlc3RDb3VudDogMAp9CgpBamF4LlJlc3BvbmRlcnMgPSB7CiAgcmVzcG9uZGVyczogW10sCgogIF9lYWNoOiBmdW5jdGlvbihpdGVyYXRvcikgewogICAgdGhpcy5yZXNwb25kZXJzLl9lYWNoKGl0ZXJhdG9yKTsKICB9LAoKICByZWdpc3RlcjogZnVuY3Rpb24ocmVzcG9uZGVyVG9BZGQpIHsKICAgIGlmICghdGhpcy5pbmNsdWRlKHJlc3BvbmRlclRvQWRkKSkKICAgICAgdGhpcy5yZXNwb25kZXJzLnB1c2gocmVzcG9uZGVyVG9BZGQpOwogIH0sCgogIHVucmVnaXN0ZXI6IGZ1bmN0aW9uKHJlc3BvbmRlclRvUmVtb3ZlKSB7CiAgICB0aGlzLnJlc3BvbmRlcnMgPSB0aGlzLnJlc3BvbmRlcnMud2l0aG91dChyZXNwb25kZXJUb1JlbW92ZSk7CiAgfSwKCiAgZGlzcGF0Y2g6IGZ1bmN0aW9uKGNhbGxiYWNrLCByZXF1ZXN0LCB0cmFuc3BvcnQsIGpzb24pIHsKICAgIHRoaXMuZWFjaChmdW5jdGlvbihyZXNwb25kZXIpIHsKICAgICAgaWYgKHJlc3BvbmRlcltjYWxsYmFja10gJiYgdHlwZW9mIHJlc3BvbmRlcltjYWxsYmFja10gPT0gJ2Z1bmN0aW9uJykgewogICAgICAgIHRyeSB7CiAgICAgICAgICByZXNwb25kZXJbY2FsbGJhY2tdLmFwcGx5KHJlc3BvbmRlciwgW3JlcXVlc3QsIHRyYW5zcG9ydCwganNvbl0pOwogICAgICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAgIH0KICAgIH0pOwogIH0KfTsKCk9iamVjdC5leHRlbmQoQWpheC5SZXNwb25kZXJzLCBFbnVtZXJhYmxlKTsKCkFqYXguUmVzcG9uZGVycy5yZWdpc3Rlcih7CiAgb25DcmVhdGU6IGZ1bmN0aW9uKCkgewogICAgQWpheC5hY3RpdmVSZXF1ZXN0Q291bnQrKzsKICB9LAoKICBvbkNvbXBsZXRlOiBmdW5jdGlvbigpIHsKICAgIEFqYXguYWN0aXZlUmVxdWVzdENvdW50LS07CiAgfQp9KTsKCkFqYXguQmFzZSA9IGZ1bmN0aW9uKCkge307CkFqYXguQmFzZS5wcm90b3R5cGUgPSB7CiAgc2V0T3B0aW9uczogZnVuY3Rpb24ob3B0aW9ucykgewogICAgdGhpcy5vcHRpb25zID0gewogICAgICBtZXRob2Q6ICAgICAgICdwb3N0JywKICAgICAgYXN5bmNocm9ub3VzOiB0cnVlLAogICAgICBwYXJhbWV0ZXJzOiAgICcnCiAgICB9CiAgICBPYmplY3QuZXh0ZW5kKHRoaXMub3B0aW9ucywgb3B0aW9ucyB8fCB7fSk7CiAgfSwKCiAgcmVzcG9uc2VJc1N1Y2Nlc3M6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIHRoaXMudHJhbnNwb3J0LnN0YXR1cyA9PSB1bmRlZmluZWQKICAgICAgICB8fCB0aGlzLnRyYW5zcG9ydC5zdGF0dXMgPT0gMAogICAgICAgIHx8ICh0aGlzLnRyYW5zcG9ydC5zdGF0dXMgPj0gMjAwICYmIHRoaXMudHJhbnNwb3J0LnN0YXR1cyA8IDMwMCk7CiAgfSwKCiAgcmVzcG9uc2VJc0ZhaWx1cmU6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuICF0aGlzLnJlc3BvbnNlSXNTdWNjZXNzKCk7CiAgfQp9CgpBamF4LlJlcXVlc3QgPSBDbGFzcy5jcmVhdGUoKTsKQWpheC5SZXF1ZXN0LkV2ZW50cyA9CiAgWydVbmluaXRpYWxpemVkJywgJ0xvYWRpbmcnLCAnTG9hZGVkJywgJ0ludGVyYWN0aXZlJywgJ0NvbXBsZXRlJ107CgpBamF4LlJlcXVlc3QucHJvdG90eXBlID0gT2JqZWN0LmV4dGVuZChuZXcgQWpheC5CYXNlKCksIHsKICBpbml0aWFsaXplOiBmdW5jdGlvbih1cmwsIG9wdGlvbnMpIHsKICAgIHRoaXMudHJhbnNwb3J0ID0gQWpheC5nZXRUcmFuc3BvcnQoKTsKICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKTsKICAgIHRoaXMucmVxdWVzdCh1cmwpOwogIH0sCgogIHJlcXVlc3Q6IGZ1bmN0aW9uKHVybCkgewogICAgdmFyIHBhcmFtZXRlcnMgPSB0aGlzLm9wdGlvbnMucGFyYW1ldGVycyB8fCAnJzsKICAgIGlmIChwYXJhbWV0ZXJzLmxlbmd0aCA+IDApIHBhcmFtZXRlcnMgKz0gJyZfPSc7CgogICAgdHJ5IHsKICAgICAgdGhpcy51cmwgPSB1cmw7CiAgICAgIGlmICh0aGlzLm9wdGlvbnMubWV0aG9kID09ICdnZXQnICYmIHBhcmFtZXRlcnMubGVuZ3RoID4gMCkKICAgICAgICB0aGlzLnVybCArPSAodGhpcy51cmwubWF0Y2goL1w/LykgPyAnJicgOiAnPycpICsgcGFyYW1ldGVyczsKCiAgICAgIEFqYXguUmVzcG9uZGVycy5kaXNwYXRjaCgnb25DcmVhdGUnLCB0aGlzLCB0aGlzLnRyYW5zcG9ydCk7CgogICAgICB0aGlzLnRyYW5zcG9ydC5vcGVuKHRoaXMub3B0aW9ucy5tZXRob2QsIHRoaXMudXJsLAogICAgICAgIHRoaXMub3B0aW9ucy5hc3luY2hyb25vdXMpOwoKICAgICAgaWYgKHRoaXMub3B0aW9ucy5hc3luY2hyb25vdXMpIHsKICAgICAgICB0aGlzLnRyYW5zcG9ydC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSB0aGlzLm9uU3RhdGVDaGFuZ2UuYmluZCh0aGlzKTsKICAgICAgICBzZXRUaW1lb3V0KChmdW5jdGlvbigpIHt0aGlzLnJlc3BvbmRUb1JlYWR5U3RhdGUoMSl9KS5iaW5kKHRoaXMpLCAxMCk7CiAgICAgIH0KCiAgICAgIHRoaXMuc2V0UmVxdWVzdEhlYWRlcnMoKTsKCiAgICAgIHZhciBib2R5ID0gdGhpcy5vcHRpb25zLnBvc3RCb2R5ID8gdGhpcy5vcHRpb25zLnBvc3RCb2R5IDogcGFyYW1ldGVyczsKICAgICAgdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLm9wdGlvbnMubWV0aG9kID09ICdwb3N0JyA/IGJvZHkgOiBudWxsKTsKCiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHRoaXMuZGlzcGF0Y2hFeGNlcHRpb24oZSk7CiAgICB9CiAgfSwKCiAgc2V0UmVxdWVzdEhlYWRlcnM6IGZ1bmN0aW9uKCkgewogICAgdmFyIHJlcXVlc3RIZWFkZXJzID0KICAgICAgWydYLVJlcXVlc3RlZC1XaXRoJywgJ1hNTEh0dHBSZXF1ZXN0JywKICAgICAgICdYLVByb3RvdHlwZS1WZXJzaW9uJywgUHJvdG90eXBlLlZlcnNpb25dOwoKICAgIGlmICh0aGlzLm9wdGlvbnMubWV0aG9kID09ICdwb3N0JykgewogICAgICByZXF1ZXN0SGVhZGVycy5wdXNoKCdDb250ZW50LXR5cGUnLAogICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTsKCiAgICAgIC8qIEZvcmNlICJDb25uZWN0aW9uOiBjbG9zZSIgZm9yIE1vemlsbGEgYnJvd3NlcnMgdG8gd29yayBhcm91bmQKICAgICAgICogYSBidWcgd2hlcmUgWE1MSHR0cFJlcWV1ZXN0IHNlbmRzIGFuIGluY29ycmVjdCBDb250ZW50LWxlbmd0aAogICAgICAgKiBoZWFkZXIuIFNlZSBNb3ppbGxhIEJ1Z3ppbGxhICMyNDY2NTEuCiAgICAgICAqLwogICAgICBpZiAodGhpcy50cmFuc3BvcnQub3ZlcnJpZGVNaW1lVHlwZSkKICAgICAgICByZXF1ZXN0SGVhZGVycy5wdXNoKCdDb25uZWN0aW9uJywgJ2Nsb3NlJyk7CiAgICB9CgogICAgaWYgKHRoaXMub3B0aW9ucy5yZXF1ZXN0SGVhZGVycykKICAgICAgcmVxdWVzdEhlYWRlcnMucHVzaC5hcHBseShyZXF1ZXN0SGVhZGVycywgdGhpcy5vcHRpb25zLnJlcXVlc3RIZWFkZXJzKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVlc3RIZWFkZXJzLmxlbmd0aDsgaSArPSAyKQogICAgICB0aGlzLnRyYW5zcG9ydC5zZXRSZXF1ZXN0SGVhZGVyKHJlcXVlc3RIZWFkZXJzW2ldLCByZXF1ZXN0SGVhZGVyc1tpKzFdKTsKICB9LAoKICBvblN0YXRlQ2hhbmdlOiBmdW5jdGlvbigpIHsKICAgIHZhciByZWFkeVN0YXRlID0gdGhpcy50cmFuc3BvcnQucmVhZHlTdGF0ZTsKICAgIGlmIChyZWFkeVN0YXRlICE9IDEpCiAgICAgIHRoaXMucmVzcG9uZFRvUmVhZHlTdGF0ZSh0aGlzLnRyYW5zcG9ydC5yZWFkeVN0YXRlKTsKICB9LAoKICBoZWFkZXI6IGZ1bmN0aW9uKG5hbWUpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiB0aGlzLnRyYW5zcG9ydC5nZXRSZXNwb25zZUhlYWRlcihuYW1lKTsKICAgIH0gY2F0Y2ggKGUpIHt9CiAgfSwKCiAgZXZhbEpTT046IGZ1bmN0aW9uKCkgewogICAgdHJ5IHsKICAgICAgcmV0dXJuIGV2YWwodGhpcy5oZWFkZXIoJ1gtSlNPTicpKTsKICAgIH0gY2F0Y2ggKGUpIHt9CiAgfSwKCiAgZXZhbFJlc3BvbnNlOiBmdW5jdGlvbigpIHsKICAgIHRyeSB7CiAgICAgIHJldHVybiBldmFsKHRoaXMudHJhbnNwb3J0LnJlc3BvbnNlVGV4dCk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHRoaXMuZGlzcGF0Y2hFeGNlcHRpb24oZSk7CiAgICB9CiAgfSwKCiAgcmVzcG9uZFRvUmVhZHlTdGF0ZTogZnVuY3Rpb24ocmVhZHlTdGF0ZSkgewogICAgdmFyIGV2ZW50ID0gQWpheC5SZXF1ZXN0LkV2ZW50c1tyZWFkeVN0YXRlXTsKICAgIHZhciB0cmFuc3BvcnQgPSB0aGlzLnRyYW5zcG9ydCwganNvbiA9IHRoaXMuZXZhbEpTT04oKTsKCiAgICBpZiAoZXZlbnQgPT0gJ0NvbXBsZXRlJykgewogICAgICB0cnkgewogICAgICAgICh0aGlzLm9wdGlvbnNbJ29uJyArIHRoaXMudHJhbnNwb3J0LnN0YXR1c10KICAgICAgICAgfHwgdGhpcy5vcHRpb25zWydvbicgKyAodGhpcy5yZXNwb25zZUlzU3VjY2VzcygpID8gJ1N1Y2Nlc3MnIDogJ0ZhaWx1cmUnKV0KICAgICAgICAgfHwgUHJvdG90eXBlLmVtcHR5RnVuY3Rpb24pKHRyYW5zcG9ydCwganNvbik7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICB0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpOwogICAgICB9CgogICAgICBpZiAoKHRoaXMuaGVhZGVyKCdDb250ZW50LXR5cGUnKSB8fCAnJykubWF0Y2goL150ZXh0XC9qYXZhc2NyaXB0L2kpKQogICAgICAgIHRoaXMuZXZhbFJlc3BvbnNlKCk7CiAgICB9CgogICAgdHJ5IHsKICAgICAgKHRoaXMub3B0aW9uc1snb24nICsgZXZlbnRdIHx8IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uKSh0cmFuc3BvcnQsIGpzb24pOwogICAgICBBamF4LlJlc3BvbmRlcnMuZGlzcGF0Y2goJ29uJyArIGV2ZW50LCB0aGlzLCB0cmFuc3BvcnQsIGpzb24pOwogICAgfSBjYXRjaCAoZSkgewogICAgICB0aGlzLmRpc3BhdGNoRXhjZXB0aW9uKGUpOwogICAgfQoKICAgIC8qIEF2b2lkIG1lbW9yeSBsZWFrIGluIE1TSUU6IGNsZWFuIHVwIHRoZSBvbmNvbXBsZXRlIGV2ZW50IGhhbmRsZXIgKi8KICAgIGlmIChldmVudCA9PSAnQ29tcGxldGUnKQogICAgICB0aGlzLnRyYW5zcG9ydC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBQcm90b3R5cGUuZW1wdHlGdW5jdGlvbjsKICB9LAoKICBkaXNwYXRjaEV4Y2VwdGlvbjogZnVuY3Rpb24oZXhjZXB0aW9uKSB7CiAgICAodGhpcy5vcHRpb25zLm9uRXhjZXB0aW9uIHx8IFByb3RvdHlwZS5lbXB0eUZ1bmN0aW9uKSh0aGlzLCBleGNlcHRpb24pOwogICAgQWpheC5SZXNwb25kZXJzLmRpc3BhdGNoKCdvbkV4Y2VwdGlvbicsIHRoaXMsIGV4Y2VwdGlvbik7CiAgfQp9KTsKCkFqYXguVXBkYXRlciA9IENsYXNzLmNyZWF0ZSgpOwoKT2JqZWN0LmV4dGVuZChPYmplY3QuZXh0ZW5kKEFqYXguVXBkYXRlci5wcm90b3R5cGUsIEFqYXguUmVxdWVzdC5wcm90b3R5cGUpLCB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oY29udGFpbmVyLCB1cmwsIG9wdGlvbnMpIHsKICAgIHRoaXMuY29udGFpbmVycyA9IHsKICAgICAgc3VjY2VzczogY29udGFpbmVyLnN1Y2Nlc3MgPyAkKGNvbnRhaW5lci5zdWNjZXNzKSA6ICQoY29udGFpbmVyKSwKICAgICAgZmFpbHVyZTogY29udGFpbmVyLmZhaWx1cmUgPyAkKGNvbnRhaW5lci5mYWlsdXJlKSA6CiAgICAgICAgKGNvbnRhaW5lci5zdWNjZXNzID8gbnVsbCA6ICQoY29udGFpbmVyKSkKICAgIH0KCiAgICB0aGlzLnRyYW5zcG9ydCA9IEFqYXguZ2V0VHJhbnNwb3J0KCk7CiAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7CgogICAgdmFyIG9uQ29tcGxldGUgPSB0aGlzLm9wdGlvbnMub25Db21wbGV0ZSB8fCBQcm90b3R5cGUuZW1wdHlGdW5jdGlvbjsKICAgIHRoaXMub3B0aW9ucy5vbkNvbXBsZXRlID0gKGZ1bmN0aW9uKHRyYW5zcG9ydCwgb2JqZWN0KSB7CiAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpOwogICAgICBvbkNvbXBsZXRlKHRyYW5zcG9ydCwgb2JqZWN0KTsKICAgIH0pLmJpbmQodGhpcyk7CgogICAgdGhpcy5yZXF1ZXN0KHVybCk7CiAgfSwKCiAgdXBkYXRlQ29udGVudDogZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVjZWl2ZXIgPSB0aGlzLnJlc3BvbnNlSXNTdWNjZXNzKCkgPwogICAgICB0aGlzLmNvbnRhaW5lcnMuc3VjY2VzcyA6IHRoaXMuY29udGFpbmVycy5mYWlsdXJlOwogICAgdmFyIHJlc3BvbnNlID0gdGhpcy50cmFuc3BvcnQucmVzcG9uc2VUZXh0OwoKICAgIGlmICghdGhpcy5vcHRpb25zLmV2YWxTY3JpcHRzKQogICAgICByZXNwb25zZSA9IHJlc3BvbnNlLnN0cmlwU2NyaXB0cygpOwoKICAgIGlmIChyZWNlaXZlcikgewogICAgICBpZiAodGhpcy5vcHRpb25zLmluc2VydGlvbikgewogICAgICAgIG5ldyB0aGlzLm9wdGlvbnMuaW5zZXJ0aW9uKHJlY2VpdmVyLCByZXNwb25zZSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgRWxlbWVudC51cGRhdGUocmVjZWl2ZXIsIHJlc3BvbnNlKTsKICAgICAgfQogICAgfQoKICAgIGlmICh0aGlzLnJlc3BvbnNlSXNTdWNjZXNzKCkpIHsKICAgICAgaWYgKHRoaXMub25Db21wbGV0ZSkKICAgICAgICBzZXRUaW1lb3V0KHRoaXMub25Db21wbGV0ZS5iaW5kKHRoaXMpLCAxMCk7CiAgICB9CiAgfQp9KTsKCkFqYXguUGVyaW9kaWNhbFVwZGF0ZXIgPSBDbGFzcy5jcmVhdGUoKTsKQWpheC5QZXJpb2RpY2FsVXBkYXRlci5wcm90b3R5cGUgPSBPYmplY3QuZXh0ZW5kKG5ldyBBamF4LkJhc2UoKSwgewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGNvbnRhaW5lciwgdXJsLCBvcHRpb25zKSB7CiAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7CiAgICB0aGlzLm9uQ29tcGxldGUgPSB0aGlzLm9wdGlvbnMub25Db21wbGV0ZTsKCiAgICB0aGlzLmZyZXF1ZW5jeSA9ICh0aGlzLm9wdGlvbnMuZnJlcXVlbmN5IHx8IDIpOwogICAgdGhpcy5kZWNheSA9ICh0aGlzLm9wdGlvbnMuZGVjYXkgfHwgMSk7CgogICAgdGhpcy51cGRhdGVyID0ge307CiAgICB0aGlzLmNvbnRhaW5lciA9IGNvbnRhaW5lcjsKICAgIHRoaXMudXJsID0gdXJsOwoKICAgIHRoaXMuc3RhcnQoKTsKICB9LAoKICBzdGFydDogZnVuY3Rpb24oKSB7CiAgICB0aGlzLm9wdGlvbnMub25Db21wbGV0ZSA9IHRoaXMudXBkYXRlQ29tcGxldGUuYmluZCh0aGlzKTsKICAgIHRoaXMub25UaW1lckV2ZW50KCk7CiAgfSwKCiAgc3RvcDogZnVuY3Rpb24oKSB7CiAgICB0aGlzLnVwZGF0ZXIub25Db21wbGV0ZSA9IHVuZGVmaW5lZDsKICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTsKICAgICh0aGlzLm9uQ29tcGxldGUgfHwgUHJvdG90eXBlLmVtcHR5RnVuY3Rpb24pLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfSwKCiAgdXBkYXRlQ29tcGxldGU6IGZ1bmN0aW9uKHJlcXVlc3QpIHsKICAgIGlmICh0aGlzLm9wdGlvbnMuZGVjYXkpIHsKICAgICAgdGhpcy5kZWNheSA9IChyZXF1ZXN0LnJlc3BvbnNlVGV4dCA9PSB0aGlzLmxhc3RUZXh0ID8KICAgICAgICB0aGlzLmRlY2F5ICogdGhpcy5vcHRpb25zLmRlY2F5IDogMSk7CgogICAgICB0aGlzLmxhc3RUZXh0ID0gcmVxdWVzdC5yZXNwb25zZVRleHQ7CiAgICB9CiAgICB0aGlzLnRpbWVyID0gc2V0VGltZW91dCh0aGlzLm9uVGltZXJFdmVudC5iaW5kKHRoaXMpLAogICAgICB0aGlzLmRlY2F5ICogdGhpcy5mcmVxdWVuY3kgKiAxMDAwKTsKICB9LAoKICBvblRpbWVyRXZlbnQ6IGZ1bmN0aW9uKCkgewogICAgdGhpcy51cGRhdGVyID0gbmV3IEFqYXguVXBkYXRlcih0aGlzLmNvbnRhaW5lciwgdGhpcy51cmwsIHRoaXMub3B0aW9ucyk7CiAgfQp9KTsKZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IGZ1bmN0aW9uKGNsYXNzTmFtZSwgcGFyZW50RWxlbWVudCkgewogIHZhciBjaGlsZHJlbiA9ICgkKHBhcmVudEVsZW1lbnQpIHx8IGRvY3VtZW50LmJvZHkpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCcqJyk7CiAgcmV0dXJuICRBKGNoaWxkcmVuKS5pbmplY3QoW10sIGZ1bmN0aW9uKGVsZW1lbnRzLCBjaGlsZCkgewogICAgaWYgKGNoaWxkLmNsYXNzTmFtZS5tYXRjaChuZXcgUmVnRXhwKCIoXnxcXHMpIiArIGNsYXNzTmFtZSArICIoXFxzfCQpIikpKQogICAgICBlbGVtZW50cy5wdXNoKGNoaWxkKTsKICAgIHJldHVybiBlbGVtZW50czsKICB9KTsKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgppZiAoIXdpbmRvdy5FbGVtZW50KSB7CiAgdmFyIEVsZW1lbnQgPSBuZXcgT2JqZWN0KCk7Cn0KCk9iamVjdC5leHRlbmQoRWxlbWVudCwgewogIHZpc2libGU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHJldHVybiAkKGVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgIT0gJ25vbmUnOwogIH0sCgogIHRvZ2dsZTogZnVuY3Rpb24oKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgZWxlbWVudCA9ICQoYXJndW1lbnRzW2ldKTsKICAgICAgRWxlbWVudFtFbGVtZW50LnZpc2libGUoZWxlbWVudCkgPyAnaGlkZScgOiAnc2hvdyddKGVsZW1lbnQpOwogICAgfQogIH0sCgogIGhpZGU6IGZ1bmN0aW9uKCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIGVsZW1lbnQgPSAkKGFyZ3VtZW50c1tpXSk7CiAgICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIH0KICB9LAoKICBzaG93OiBmdW5jdGlvbigpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBlbGVtZW50ID0gJChhcmd1bWVudHNbaV0pOwogICAgICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnJzsKICAgIH0KICB9LAoKICByZW1vdmU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpOwogIH0sCgogIHVwZGF0ZTogZnVuY3Rpb24oZWxlbWVudCwgaHRtbCkgewogICAgJChlbGVtZW50KS5pbm5lckhUTUwgPSBodG1sLnN0cmlwU2NyaXB0cygpOwogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtodG1sLmV2YWxTY3JpcHRzKCl9LCAxMCk7CiAgfSwKCiAgZ2V0SGVpZ2h0OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIHJldHVybiBlbGVtZW50Lm9mZnNldEhlaWdodDsKICB9LAoKICBjbGFzc05hbWVzOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gbmV3IEVsZW1lbnQuQ2xhc3NOYW1lcyhlbGVtZW50KTsKICB9LAoKICBoYXNDbGFzc05hbWU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNsYXNzTmFtZSkgewogICAgaWYgKCEoZWxlbWVudCA9ICQoZWxlbWVudCkpKSByZXR1cm47CiAgICByZXR1cm4gRWxlbWVudC5jbGFzc05hbWVzKGVsZW1lbnQpLmluY2x1ZGUoY2xhc3NOYW1lKTsKICB9LAoKICBhZGRDbGFzc05hbWU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNsYXNzTmFtZSkgewogICAgaWYgKCEoZWxlbWVudCA9ICQoZWxlbWVudCkpKSByZXR1cm47CiAgICByZXR1cm4gRWxlbWVudC5jbGFzc05hbWVzKGVsZW1lbnQpLmFkZChjbGFzc05hbWUpOwogIH0sCgogIHJlbW92ZUNsYXNzTmFtZTogZnVuY3Rpb24oZWxlbWVudCwgY2xhc3NOYW1lKSB7CiAgICBpZiAoIShlbGVtZW50ID0gJChlbGVtZW50KSkpIHJldHVybjsKICAgIHJldHVybiBFbGVtZW50LmNsYXNzTmFtZXMoZWxlbWVudCkucmVtb3ZlKGNsYXNzTmFtZSk7CiAgfSwKCiAgLy8gcmVtb3ZlcyB3aGl0ZXNwYWNlLW9ubHkgdGV4dCBub2RlIGNoaWxkcmVuCiAgY2xlYW5XaGl0ZXNwYWNlOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBub2RlID0gZWxlbWVudC5jaGlsZE5vZGVzW2ldOwogICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAzICYmICEvXFMvLnRlc3Qobm9kZS5ub2RlVmFsdWUpKQogICAgICAgIEVsZW1lbnQucmVtb3ZlKG5vZGUpOwogICAgfQogIH0sCgogIGVtcHR5OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gJChlbGVtZW50KS5pbm5lckhUTUwubWF0Y2goL15ccyokLyk7CiAgfSwKCiAgc2Nyb2xsVG86IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIHggPSBlbGVtZW50LnggPyBlbGVtZW50LnggOiBlbGVtZW50Lm9mZnNldExlZnQsCiAgICAgICAgeSA9IGVsZW1lbnQueSA/IGVsZW1lbnQueSA6IGVsZW1lbnQub2Zmc2V0VG9wOwogICAgd2luZG93LnNjcm9sbFRvKHgsIHkpOwogIH0sCgogIGdldFN0eWxlOiBmdW5jdGlvbihlbGVtZW50LCBzdHlsZSkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB2YXIgdmFsdWUgPSBlbGVtZW50LnN0eWxlW3N0eWxlLmNhbWVsaXplKCldOwogICAgaWYgKCF2YWx1ZSkgewogICAgICBpZiAoZG9jdW1lbnQuZGVmYXVsdFZpZXcgJiYgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSkgewogICAgICAgIHZhciBjc3MgPSBkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwpOwogICAgICAgIHZhbHVlID0gY3NzID8gY3NzLmdldFByb3BlcnR5VmFsdWUoc3R5bGUpIDogbnVsbDsKICAgICAgfSBlbHNlIGlmIChlbGVtZW50LmN1cnJlbnRTdHlsZSkgewogICAgICAgIHZhbHVlID0gZWxlbWVudC5jdXJyZW50U3R5bGVbc3R5bGUuY2FtZWxpemUoKV07CiAgICAgIH0KICAgIH0KCiAgICBpZiAod2luZG93Lm9wZXJhICYmIFsnbGVmdCcsICd0b3AnLCAncmlnaHQnLCAnYm90dG9tJ10uaW5jbHVkZShzdHlsZSkpCiAgICAgIGlmIChFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicpID09ICdzdGF0aWMnKSB2YWx1ZSA9ICdhdXRvJzsKCiAgICByZXR1cm4gdmFsdWUgPT0gJ2F1dG8nID8gbnVsbCA6IHZhbHVlOwogIH0sCgogIHNldFN0eWxlOiBmdW5jdGlvbihlbGVtZW50LCBzdHlsZSkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICBmb3IgKG5hbWUgaW4gc3R5bGUpCiAgICAgIGVsZW1lbnQuc3R5bGVbbmFtZS5jYW1lbGl6ZSgpXSA9IHN0eWxlW25hbWVdOwogIH0sCgogIGdldERpbWVuc2lvbnM6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwgJ2Rpc3BsYXknKSAhPSAnbm9uZScpCiAgICAgIHJldHVybiB7d2lkdGg6IGVsZW1lbnQub2Zmc2V0V2lkdGgsIGhlaWdodDogZWxlbWVudC5vZmZzZXRIZWlnaHR9OwoKICAgIC8vIEFsbCAqV2lkdGggYW5kICpIZWlnaHQgcHJvcGVydGllcyBnaXZlIDAgb24gZWxlbWVudHMgd2l0aCBkaXNwbGF5IG5vbmUsCiAgICAvLyBzbyBlbmFibGUgdGhlIGVsZW1lbnQgdGVtcG9yYXJpbHkKICAgIHZhciBlbHMgPSBlbGVtZW50LnN0eWxlOwogICAgdmFyIG9yaWdpbmFsVmlzaWJpbGl0eSA9IGVscy52aXNpYmlsaXR5OwogICAgdmFyIG9yaWdpbmFsUG9zaXRpb24gPSBlbHMucG9zaXRpb247CiAgICBlbHMudmlzaWJpbGl0eSA9ICdoaWRkZW4nOwogICAgZWxzLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKICAgIGVscy5kaXNwbGF5ID0gJyc7CiAgICB2YXIgb3JpZ2luYWxXaWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICB2YXIgb3JpZ2luYWxIZWlnaHQgPSBlbGVtZW50LmNsaWVudEhlaWdodDsKICAgIGVscy5kaXNwbGF5ID0gJ25vbmUnOwogICAgZWxzLnBvc2l0aW9uID0gb3JpZ2luYWxQb3NpdGlvbjsKICAgIGVscy52aXNpYmlsaXR5ID0gb3JpZ2luYWxWaXNpYmlsaXR5OwogICAgcmV0dXJuIHt3aWR0aDogb3JpZ2luYWxXaWR0aCwgaGVpZ2h0OiBvcmlnaW5hbEhlaWdodH07CiAgfSwKCiAgbWFrZVBvc2l0aW9uZWQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIHBvcyA9IEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwgJ3Bvc2l0aW9uJyk7CiAgICBpZiAocG9zID09ICdzdGF0aWMnIHx8ICFwb3MpIHsKICAgICAgZWxlbWVudC5fbWFkZVBvc2l0aW9uZWQgPSB0cnVlOwogICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJzsKICAgICAgLy8gT3BlcmEgcmV0dXJucyB0aGUgb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBwb3NpdGlvbmluZyBjb250ZXh0LCB3aGVuIGFuCiAgICAgIC8vIGVsZW1lbnQgaXMgcG9zaXRpb24gcmVsYXRpdmUgYnV0IHRvcCBhbmQgbGVmdCBoYXZlIG5vdCBiZWVuIGRlZmluZWQKICAgICAgaWYgKHdpbmRvdy5vcGVyYSkgewogICAgICAgIGVsZW1lbnQuc3R5bGUudG9wID0gMDsKICAgICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSAwOwogICAgICB9CiAgICB9CiAgfSwKCiAgdW5kb1Bvc2l0aW9uZWQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgaWYgKGVsZW1lbnQuX21hZGVQb3NpdGlvbmVkKSB7CiAgICAgIGVsZW1lbnQuX21hZGVQb3NpdGlvbmVkID0gdW5kZWZpbmVkOwogICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0KICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9CiAgICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0KICAgICAgICBlbGVtZW50LnN0eWxlLmJvdHRvbSA9CiAgICAgICAgZWxlbWVudC5zdHlsZS5yaWdodCA9ICcnOwogICAgfQogIH0sCgogIG1ha2VDbGlwcGluZzogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICBpZiAoZWxlbWVudC5fb3ZlcmZsb3cpIHJldHVybjsKICAgIGVsZW1lbnQuX292ZXJmbG93ID0gZWxlbWVudC5zdHlsZS5vdmVyZmxvdzsKICAgIGlmICgoRWxlbWVudC5nZXRTdHlsZShlbGVtZW50LCAnb3ZlcmZsb3cnKSB8fCAndmlzaWJsZScpICE9ICdoaWRkZW4nKQogICAgICBlbGVtZW50LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7CiAgfSwKCiAgdW5kb0NsaXBwaW5nOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGlmIChlbGVtZW50Ll9vdmVyZmxvdykgcmV0dXJuOwogICAgZWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9IGVsZW1lbnQuX292ZXJmbG93OwogICAgZWxlbWVudC5fb3ZlcmZsb3cgPSB1bmRlZmluZWQ7CiAgfQp9KTsKCnZhciBUb2dnbGUgPSBuZXcgT2JqZWN0KCk7ClRvZ2dsZS5kaXNwbGF5ID0gRWxlbWVudC50b2dnbGU7CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCkFic3RyYWN0Lkluc2VydGlvbiA9IGZ1bmN0aW9uKGFkamFjZW5jeSkgewogIHRoaXMuYWRqYWNlbmN5ID0gYWRqYWNlbmN5Owp9CgpBYnN0cmFjdC5JbnNlcnRpb24ucHJvdG90eXBlID0gewogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRlbnQpIHsKICAgIHRoaXMuZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50LnN0cmlwU2NyaXB0cygpOwoKICAgIGlmICh0aGlzLmFkamFjZW5jeSAmJiB0aGlzLmVsZW1lbnQuaW5zZXJ0QWRqYWNlbnRIVE1MKSB7CiAgICAgIHRyeSB7CiAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEFkamFjZW50SFRNTCh0aGlzLmFkamFjZW5jeSwgdGhpcy5jb250ZW50KTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09ICd0Ym9keScpIHsKICAgICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudCh0aGlzLmNvbnRlbnRGcm9tQW5vbnltb3VzVGFibGUoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRocm93IGU7CiAgICAgICAgfQogICAgICB9CiAgICB9IGVsc2UgewogICAgICB0aGlzLnJhbmdlID0gdGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZVJhbmdlKSB0aGlzLmluaXRpYWxpemVSYW5nZSgpOwogICAgICB0aGlzLmluc2VydENvbnRlbnQoW3RoaXMucmFuZ2UuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHRoaXMuY29udGVudCldKTsKICAgIH0KCiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge2NvbnRlbnQuZXZhbFNjcmlwdHMoKX0sIDEwKTsKICB9LAoKICBjb250ZW50RnJvbUFub255bW91c1RhYmxlOiBmdW5jdGlvbigpIHsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5pbm5lckhUTUwgPSAnPHRhYmxlPjx0Ym9keT4nICsgdGhpcy5jb250ZW50ICsgJzwvdGJvZHk+PC90YWJsZT4nOwogICAgcmV0dXJuICRBKGRpdi5jaGlsZE5vZGVzWzBdLmNoaWxkTm9kZXNbMF0uY2hpbGROb2Rlcyk7CiAgfQp9Cgp2YXIgSW5zZXJ0aW9uID0gbmV3IE9iamVjdCgpOwoKSW5zZXJ0aW9uLkJlZm9yZSA9IENsYXNzLmNyZWF0ZSgpOwpJbnNlcnRpb24uQmVmb3JlLnByb3RvdHlwZSA9IE9iamVjdC5leHRlbmQobmV3IEFic3RyYWN0Lkluc2VydGlvbignYmVmb3JlQmVnaW4nKSwgewogIGluaXRpYWxpemVSYW5nZTogZnVuY3Rpb24oKSB7CiAgICB0aGlzLnJhbmdlLnNldFN0YXJ0QmVmb3JlKHRoaXMuZWxlbWVudCk7CiAgfSwKCiAgaW5zZXJ0Q29udGVudDogZnVuY3Rpb24oZnJhZ21lbnRzKSB7CiAgICBmcmFnbWVudHMuZWFjaCgoZnVuY3Rpb24oZnJhZ21lbnQpIHsKICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGZyYWdtZW50LCB0aGlzLmVsZW1lbnQpOwogICAgfSkuYmluZCh0aGlzKSk7CiAgfQp9KTsKCkluc2VydGlvbi5Ub3AgPSBDbGFzcy5jcmVhdGUoKTsKSW5zZXJ0aW9uLlRvcC5wcm90b3R5cGUgPSBPYmplY3QuZXh0ZW5kKG5ldyBBYnN0cmFjdC5JbnNlcnRpb24oJ2FmdGVyQmVnaW4nKSwgewogIGluaXRpYWxpemVSYW5nZTogZnVuY3Rpb24oKSB7CiAgICB0aGlzLnJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0aGlzLmVsZW1lbnQpOwogICAgdGhpcy5yYW5nZS5jb2xsYXBzZSh0cnVlKTsKICB9LAoKICBpbnNlcnRDb250ZW50OiBmdW5jdGlvbihmcmFnbWVudHMpIHsKICAgIGZyYWdtZW50cy5yZXZlcnNlKGZhbHNlKS5lYWNoKChmdW5jdGlvbihmcmFnbWVudCkgewogICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKGZyYWdtZW50LCB0aGlzLmVsZW1lbnQuZmlyc3RDaGlsZCk7CiAgICB9KS5iaW5kKHRoaXMpKTsKICB9Cn0pOwoKSW5zZXJ0aW9uLkJvdHRvbSA9IENsYXNzLmNyZWF0ZSgpOwpJbnNlcnRpb24uQm90dG9tLnByb3RvdHlwZSA9IE9iamVjdC5leHRlbmQobmV3IEFic3RyYWN0Lkluc2VydGlvbignYmVmb3JlRW5kJyksIHsKICBpbml0aWFsaXplUmFuZ2U6IGZ1bmN0aW9uKCkgewogICAgdGhpcy5yYW5nZS5zZWxlY3ROb2RlQ29udGVudHModGhpcy5lbGVtZW50KTsKICAgIHRoaXMucmFuZ2UuY29sbGFwc2UodGhpcy5lbGVtZW50KTsKICB9LAoKICBpbnNlcnRDb250ZW50OiBmdW5jdGlvbihmcmFnbWVudHMpIHsKICAgIGZyYWdtZW50cy5lYWNoKChmdW5jdGlvbihmcmFnbWVudCkgewogICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpOwogICAgfSkuYmluZCh0aGlzKSk7CiAgfQp9KTsKCkluc2VydGlvbi5BZnRlciA9IENsYXNzLmNyZWF0ZSgpOwpJbnNlcnRpb24uQWZ0ZXIucHJvdG90eXBlID0gT2JqZWN0LmV4dGVuZChuZXcgQWJzdHJhY3QuSW5zZXJ0aW9uKCdhZnRlckVuZCcpLCB7CiAgaW5pdGlhbGl6ZVJhbmdlOiBmdW5jdGlvbigpIHsKICAgIHRoaXMucmFuZ2Uuc2V0U3RhcnRBZnRlcih0aGlzLmVsZW1lbnQpOwogIH0sCgogIGluc2VydENvbnRlbnQ6IGZ1bmN0aW9uKGZyYWdtZW50cykgewogICAgZnJhZ21lbnRzLmVhY2goKGZ1bmN0aW9uKGZyYWdtZW50KSB7CiAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShmcmFnbWVudCwKICAgICAgICB0aGlzLmVsZW1lbnQubmV4dFNpYmxpbmcpOwogICAgfSkuYmluZCh0aGlzKSk7CiAgfQp9KTsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKRWxlbWVudC5DbGFzc05hbWVzID0gQ2xhc3MuY3JlYXRlKCk7CkVsZW1lbnQuQ2xhc3NOYW1lcy5wcm90b3R5cGUgPSB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgdGhpcy5lbGVtZW50ID0gJChlbGVtZW50KTsKICB9LAoKICBfZWFjaDogZnVuY3Rpb24oaXRlcmF0b3IpIHsKICAgIHRoaXMuZWxlbWVudC5jbGFzc05hbWUuc3BsaXQoL1xzKy8pLnNlbGVjdChmdW5jdGlvbihuYW1lKSB7CiAgICAgIHJldHVybiBuYW1lLmxlbmd0aCA+IDA7CiAgICB9KS5fZWFjaChpdGVyYXRvcik7CiAgfSwKCiAgc2V0OiBmdW5jdGlvbihjbGFzc05hbWUpIHsKICAgIHRoaXMuZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7CiAgfSwKCiAgYWRkOiBmdW5jdGlvbihjbGFzc05hbWVUb0FkZCkgewogICAgaWYgKHRoaXMuaW5jbHVkZShjbGFzc05hbWVUb0FkZCkpIHJldHVybjsKICAgIHRoaXMuc2V0KHRoaXMudG9BcnJheSgpLmNvbmNhdChjbGFzc05hbWVUb0FkZCkuam9pbignICcpKTsKICB9LAoKICByZW1vdmU6IGZ1bmN0aW9uKGNsYXNzTmFtZVRvUmVtb3ZlKSB7CiAgICBpZiAoIXRoaXMuaW5jbHVkZShjbGFzc05hbWVUb1JlbW92ZSkpIHJldHVybjsKICAgIHRoaXMuc2V0KHRoaXMuc2VsZWN0KGZ1bmN0aW9uKGNsYXNzTmFtZSkgewogICAgICByZXR1cm4gY2xhc3NOYW1lICE9IGNsYXNzTmFtZVRvUmVtb3ZlOwogICAgfSkuam9pbignICcpKTsKICB9LAoKICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gdGhpcy50b0FycmF5KCkuam9pbignICcpOwogIH0KfQoKT2JqZWN0LmV4dGVuZChFbGVtZW50LkNsYXNzTmFtZXMucHJvdG90eXBlLCBFbnVtZXJhYmxlKTsKdmFyIEZpZWxkID0gewogIGNsZWFyOiBmdW5jdGlvbigpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKQogICAgICAkKGFyZ3VtZW50c1tpXSkudmFsdWUgPSAnJzsKICB9LAoKICBmb2N1czogZnVuY3Rpb24oZWxlbWVudCkgewogICAgJChlbGVtZW50KS5mb2N1cygpOwogIH0sCgogIHByZXNlbnQ6IGZ1bmN0aW9uKCkgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICAgIGlmICgkKGFyZ3VtZW50c1tpXSkudmFsdWUgPT0gJycpIHJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwogIH0sCgogIHNlbGVjdDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgJChlbGVtZW50KS5zZWxlY3QoKTsKICB9LAoKICBhY3RpdmF0ZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICBlbGVtZW50LmZvY3VzKCk7CiAgICBpZiAoZWxlbWVudC5zZWxlY3QpCiAgICAgIGVsZW1lbnQuc2VsZWN0KCk7CiAgfQp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCnZhciBGb3JtID0gewogIHNlcmlhbGl6ZTogZnVuY3Rpb24oZm9ybSkgewogICAgdmFyIGVsZW1lbnRzID0gRm9ybS5nZXRFbGVtZW50cygkKGZvcm0pKTsKICAgIHZhciBxdWVyeUNvbXBvbmVudHMgPSBuZXcgQXJyYXkoKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBxdWVyeUNvbXBvbmVudCA9IEZvcm0uRWxlbWVudC5zZXJpYWxpemUoZWxlbWVudHNbaV0pOwogICAgICBpZiAocXVlcnlDb21wb25lbnQpCiAgICAgICAgcXVlcnlDb21wb25lbnRzLnB1c2gocXVlcnlDb21wb25lbnQpOwogICAgfQoKICAgIHJldHVybiBxdWVyeUNvbXBvbmVudHMuam9pbignJicpOwogIH0sCgogIGdldEVsZW1lbnRzOiBmdW5jdGlvbihmb3JtKSB7CiAgICBmb3JtID0gJChmb3JtKTsKICAgIHZhciBlbGVtZW50cyA9IG5ldyBBcnJheSgpOwoKICAgIGZvciAodGFnTmFtZSBpbiBGb3JtLkVsZW1lbnQuU2VyaWFsaXplcnMpIHsKICAgICAgdmFyIHRhZ0VsZW1lbnRzID0gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWdOYW1lKTsKICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0YWdFbGVtZW50cy5sZW5ndGg7IGorKykKICAgICAgICBlbGVtZW50cy5wdXNoKHRhZ0VsZW1lbnRzW2pdKTsKICAgIH0KICAgIHJldHVybiBlbGVtZW50czsKICB9LAoKICBnZXRJbnB1dHM6IGZ1bmN0aW9uKGZvcm0sIHR5cGVOYW1lLCBuYW1lKSB7CiAgICBmb3JtID0gJChmb3JtKTsKICAgIHZhciBpbnB1dHMgPSBmb3JtLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpOwoKICAgIGlmICghdHlwZU5hbWUgJiYgIW5hbWUpCiAgICAgIHJldHVybiBpbnB1dHM7CgogICAgdmFyIG1hdGNoaW5nSW5wdXRzID0gbmV3IEFycmF5KCk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0cy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07CiAgICAgIGlmICgodHlwZU5hbWUgJiYgaW5wdXQudHlwZSAhPSB0eXBlTmFtZSkgfHwKICAgICAgICAgIChuYW1lICYmIGlucHV0Lm5hbWUgIT0gbmFtZSkpCiAgICAgICAgY29udGludWU7CiAgICAgIG1hdGNoaW5nSW5wdXRzLnB1c2goaW5wdXQpOwogICAgfQoKICAgIHJldHVybiBtYXRjaGluZ0lucHV0czsKICB9LAoKICBkaXNhYmxlOiBmdW5jdGlvbihmb3JtKSB7CiAgICB2YXIgZWxlbWVudHMgPSBGb3JtLmdldEVsZW1lbnRzKGZvcm0pOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICB2YXIgZWxlbWVudCA9IGVsZW1lbnRzW2ldOwogICAgICBlbGVtZW50LmJsdXIoKTsKICAgICAgZWxlbWVudC5kaXNhYmxlZCA9ICd0cnVlJzsKICAgIH0KICB9LAoKICBlbmFibGU6IGZ1bmN0aW9uKGZvcm0pIHsKICAgIHZhciBlbGVtZW50cyA9IEZvcm0uZ2V0RWxlbWVudHMoZm9ybSk7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBlbGVtZW50ID0gZWxlbWVudHNbaV07CiAgICAgIGVsZW1lbnQuZGlzYWJsZWQgPSAnJzsKICAgIH0KICB9LAoKICBmaW5kRmlyc3RFbGVtZW50OiBmdW5jdGlvbihmb3JtKSB7CiAgICByZXR1cm4gRm9ybS5nZXRFbGVtZW50cyhmb3JtKS5maW5kKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgcmV0dXJuIGVsZW1lbnQudHlwZSAhPSAnaGlkZGVuJyAmJiAhZWxlbWVudC5kaXNhYmxlZCAmJgogICAgICAgIFsnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ10uaW5jbHVkZShlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSk7CiAgICB9KTsKICB9LAoKICBmb2N1c0ZpcnN0RWxlbWVudDogZnVuY3Rpb24oZm9ybSkgewogICAgRmllbGQuYWN0aXZhdGUoRm9ybS5maW5kRmlyc3RFbGVtZW50KGZvcm0pKTsKICB9LAoKICByZXNldDogZnVuY3Rpb24oZm9ybSkgewogICAgJChmb3JtKS5yZXNldCgpOwogIH0KfQoKRm9ybS5FbGVtZW50ID0gewogIHNlcmlhbGl6ZTogZnVuY3Rpb24oZWxlbWVudCkgewogICAgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB2YXIgbWV0aG9kID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7CiAgICB2YXIgcGFyYW1ldGVyID0gRm9ybS5FbGVtZW50LlNlcmlhbGl6ZXJzW21ldGhvZF0oZWxlbWVudCk7CgogICAgaWYgKHBhcmFtZXRlcikgewogICAgICB2YXIga2V5ID0gZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtZXRlclswXSk7CiAgICAgIGlmIChrZXkubGVuZ3RoID09IDApIHJldHVybjsKCiAgICAgIGlmIChwYXJhbWV0ZXJbMV0uY29uc3RydWN0b3IgIT0gQXJyYXkpCiAgICAgICAgcGFyYW1ldGVyWzFdID0gW3BhcmFtZXRlclsxXV07CgogICAgICByZXR1cm4gcGFyYW1ldGVyWzFdLm1hcChmdW5jdGlvbih2YWx1ZSkgewogICAgICAgIHJldHVybiBrZXkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpOwogICAgICB9KS5qb2luKCcmJyk7CiAgICB9CiAgfSwKCiAgZ2V0VmFsdWU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpOwogICAgdmFyIG1ldGhvZCA9IGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpOwogICAgdmFyIHBhcmFtZXRlciA9IEZvcm0uRWxlbWVudC5TZXJpYWxpemVyc1ttZXRob2RdKGVsZW1lbnQpOwoKICAgIGlmIChwYXJhbWV0ZXIpCiAgICAgIHJldHVybiBwYXJhbWV0ZXJbMV07CiAgfQp9CgpGb3JtLkVsZW1lbnQuU2VyaWFsaXplcnMgPSB7CiAgaW5wdXQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHN3aXRjaCAoZWxlbWVudC50eXBlLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgY2FzZSAnc3VibWl0JzoKICAgICAgY2FzZSAnaGlkZGVuJzoKICAgICAgY2FzZSAncGFzc3dvcmQnOgogICAgICBjYXNlICd0ZXh0JzoKICAgICAgICByZXR1cm4gRm9ybS5FbGVtZW50LlNlcmlhbGl6ZXJzLnRleHRhcmVhKGVsZW1lbnQpOwogICAgICBjYXNlICdjaGVja2JveCc6CiAgICAgIGNhc2UgJ3JhZGlvJzoKICAgICAgICByZXR1cm4gRm9ybS5FbGVtZW50LlNlcmlhbGl6ZXJzLmlucHV0U2VsZWN0b3IoZWxlbWVudCk7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7CiAgfSwKCiAgaW5wdXRTZWxlY3RvcjogZnVuY3Rpb24oZWxlbWVudCkgewogICAgaWYgKGVsZW1lbnQuY2hlY2tlZCkKICAgICAgcmV0dXJuIFtlbGVtZW50Lm5hbWUsIGVsZW1lbnQudmFsdWVdOwogIH0sCgogIHRleHRhcmVhOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gW2VsZW1lbnQubmFtZSwgZWxlbWVudC52YWx1ZV07CiAgfSwKCiAgc2VsZWN0OiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICByZXR1cm4gRm9ybS5FbGVtZW50LlNlcmlhbGl6ZXJzW2VsZW1lbnQudHlwZSA9PSAnc2VsZWN0LW9uZScgPwogICAgICAnc2VsZWN0T25lJyA6ICdzZWxlY3RNYW55J10oZWxlbWVudCk7CiAgfSwKCiAgc2VsZWN0T25lOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICB2YXIgdmFsdWUgPSAnJywgb3B0LCBpbmRleCA9IGVsZW1lbnQuc2VsZWN0ZWRJbmRleDsKICAgIGlmIChpbmRleCA+PSAwKSB7CiAgICAgIG9wdCA9IGVsZW1lbnQub3B0aW9uc1tpbmRleF07CiAgICAgIHZhbHVlID0gb3B0LnZhbHVlOwogICAgICBpZiAoIXZhbHVlICYmICEoJ3ZhbHVlJyBpbiBvcHQpKQogICAgICAgIHZhbHVlID0gb3B0LnRleHQ7CiAgICB9CiAgICByZXR1cm4gW2VsZW1lbnQubmFtZSwgdmFsdWVdOwogIH0sCgogIHNlbGVjdE1hbnk6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1ZSA9IG5ldyBBcnJheSgpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50Lmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBvcHQgPSBlbGVtZW50Lm9wdGlvbnNbaV07CiAgICAgIGlmIChvcHQuc2VsZWN0ZWQpIHsKICAgICAgICB2YXIgb3B0VmFsdWUgPSBvcHQudmFsdWU7CiAgICAgICAgaWYgKCFvcHRWYWx1ZSAmJiAhKCd2YWx1ZScgaW4gb3B0KSkKICAgICAgICAgIG9wdFZhbHVlID0gb3B0LnRleHQ7CiAgICAgICAgdmFsdWUucHVzaChvcHRWYWx1ZSk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBbZWxlbWVudC5uYW1lLCB2YWx1ZV07CiAgfQp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCnZhciAkRiA9IEZvcm0uRWxlbWVudC5nZXRWYWx1ZTsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKQWJzdHJhY3QuVGltZWRPYnNlcnZlciA9IGZ1bmN0aW9uKCkge30KQWJzdHJhY3QuVGltZWRPYnNlcnZlci5wcm90b3R5cGUgPSB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWxlbWVudCwgZnJlcXVlbmN5LCBjYWxsYmFjaykgewogICAgdGhpcy5mcmVxdWVuY3kgPSBmcmVxdWVuY3k7CiAgICB0aGlzLmVsZW1lbnQgICA9ICQoZWxlbWVudCk7CiAgICB0aGlzLmNhbGxiYWNrICA9IGNhbGxiYWNrOwoKICAgIHRoaXMubGFzdFZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpOwogICAgdGhpcy5yZWdpc3RlckNhbGxiYWNrKCk7CiAgfSwKCiAgcmVnaXN0ZXJDYWxsYmFjazogZnVuY3Rpb24oKSB7CiAgICBzZXRJbnRlcnZhbCh0aGlzLm9uVGltZXJFdmVudC5iaW5kKHRoaXMpLCB0aGlzLmZyZXF1ZW5jeSAqIDEwMDApOwogIH0sCgogIG9uVGltZXJFdmVudDogZnVuY3Rpb24oKSB7CiAgICB2YXIgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7CiAgICBpZiAodGhpcy5sYXN0VmFsdWUgIT0gdmFsdWUpIHsKICAgICAgdGhpcy5jYWxsYmFjayh0aGlzLmVsZW1lbnQsIHZhbHVlKTsKICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTsKICAgIH0KICB9Cn0KCkZvcm0uRWxlbWVudC5PYnNlcnZlciA9IENsYXNzLmNyZWF0ZSgpOwpGb3JtLkVsZW1lbnQuT2JzZXJ2ZXIucHJvdG90eXBlID0gT2JqZWN0LmV4dGVuZChuZXcgQWJzdHJhY3QuVGltZWRPYnNlcnZlcigpLCB7CiAgZ2V0VmFsdWU6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIEZvcm0uRWxlbWVudC5nZXRWYWx1ZSh0aGlzLmVsZW1lbnQpOwogIH0KfSk7CgpGb3JtLk9ic2VydmVyID0gQ2xhc3MuY3JlYXRlKCk7CkZvcm0uT2JzZXJ2ZXIucHJvdG90eXBlID0gT2JqZWN0LmV4dGVuZChuZXcgQWJzdHJhY3QuVGltZWRPYnNlcnZlcigpLCB7CiAgZ2V0VmFsdWU6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIEZvcm0uc2VyaWFsaXplKHRoaXMuZWxlbWVudCk7CiAgfQp9KTsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKQWJzdHJhY3QuRXZlbnRPYnNlcnZlciA9IGZ1bmN0aW9uKCkge30KQWJzdHJhY3QuRXZlbnRPYnNlcnZlci5wcm90b3R5cGUgPSB7CiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWxlbWVudCwgY2FsbGJhY2spIHsKICAgIHRoaXMuZWxlbWVudCAgPSAkKGVsZW1lbnQpOwogICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrOwoKICAgIHRoaXMubGFzdFZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpOwogICAgaWYgKHRoaXMuZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2Zvcm0nKQogICAgICB0aGlzLnJlZ2lzdGVyRm9ybUNhbGxiYWNrcygpOwogICAgZWxzZQogICAgICB0aGlzLnJlZ2lzdGVyQ2FsbGJhY2sodGhpcy5lbGVtZW50KTsKICB9LAoKICBvbkVsZW1lbnRFdmVudDogZnVuY3Rpb24oKSB7CiAgICB2YXIgdmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7CiAgICBpZiAodGhpcy5sYXN0VmFsdWUgIT0gdmFsdWUpIHsKICAgICAgdGhpcy5jYWxsYmFjayh0aGlzLmVsZW1lbnQsIHZhbHVlKTsKICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTsKICAgIH0KICB9LAoKICByZWdpc3RlckZvcm1DYWxsYmFja3M6IGZ1bmN0aW9uKCkgewogICAgdmFyIGVsZW1lbnRzID0gRm9ybS5nZXRFbGVtZW50cyh0aGlzLmVsZW1lbnQpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykKICAgICAgdGhpcy5yZWdpc3RlckNhbGxiYWNrKGVsZW1lbnRzW2ldKTsKICB9LAoKICByZWdpc3RlckNhbGxiYWNrOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBpZiAoZWxlbWVudC50eXBlKSB7CiAgICAgIHN3aXRjaCAoZWxlbWVudC50eXBlLnRvTG93ZXJDYXNlKCkpIHsKICAgICAgICBjYXNlICdjaGVja2JveCc6CiAgICAgICAgY2FzZSAncmFkaW8nOgogICAgICAgICAgRXZlbnQub2JzZXJ2ZShlbGVtZW50LCAnY2xpY2snLCB0aGlzLm9uRWxlbWVudEV2ZW50LmJpbmQodGhpcykpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAncGFzc3dvcmQnOgogICAgICAgIGNhc2UgJ3RleHQnOgogICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICBjYXNlICdzZWxlY3Qtb25lJzoKICAgICAgICBjYXNlICdzZWxlY3QtbXVsdGlwbGUnOgogICAgICAgICAgRXZlbnQub2JzZXJ2ZShlbGVtZW50LCAnY2hhbmdlJywgdGhpcy5vbkVsZW1lbnRFdmVudC5iaW5kKHRoaXMpKTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgfQp9CgpGb3JtLkVsZW1lbnQuRXZlbnRPYnNlcnZlciA9IENsYXNzLmNyZWF0ZSgpOwpGb3JtLkVsZW1lbnQuRXZlbnRPYnNlcnZlci5wcm90b3R5cGUgPSBPYmplY3QuZXh0ZW5kKG5ldyBBYnN0cmFjdC5FdmVudE9ic2VydmVyKCksIHsKICBnZXRWYWx1ZTogZnVuY3Rpb24oKSB7CiAgICByZXR1cm4gRm9ybS5FbGVtZW50LmdldFZhbHVlKHRoaXMuZWxlbWVudCk7CiAgfQp9KTsKCkZvcm0uRXZlbnRPYnNlcnZlciA9IENsYXNzLmNyZWF0ZSgpOwpGb3JtLkV2ZW50T2JzZXJ2ZXIucHJvdG90eXBlID0gT2JqZWN0LmV4dGVuZChuZXcgQWJzdHJhY3QuRXZlbnRPYnNlcnZlcigpLCB7CiAgZ2V0VmFsdWU6IGZ1bmN0aW9uKCkgewogICAgcmV0dXJuIEZvcm0uc2VyaWFsaXplKHRoaXMuZWxlbWVudCk7CiAgfQp9KTsKaWYgKCF3aW5kb3cuRXZlbnQpIHsKICB2YXIgRXZlbnQgPSBuZXcgT2JqZWN0KCk7Cn0KCk9iamVjdC5leHRlbmQoRXZlbnQsIHsKICBLRVlfQkFDS1NQQUNFOiA4LAogIEtFWV9UQUI6ICAgICAgIDksCiAgS0VZX1JFVFVSTjogICAxMywKICBLRVlfRVNDOiAgICAgIDI3LAogIEtFWV9MRUZUOiAgICAgMzcsCiAgS0VZX1VQOiAgICAgICAzOCwKICBLRVlfUklHSFQ6ICAgIDM5LAogIEtFWV9ET1dOOiAgICAgNDAsCiAgS0VZX0RFTEVURTogICA0NiwKCiAgZWxlbWVudDogZnVuY3Rpb24oZXZlbnQpIHsKICAgIHJldHVybiBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDsKICB9LAoKICBpc0xlZnRDbGljazogZnVuY3Rpb24oZXZlbnQpIHsKICAgIHJldHVybiAoKChldmVudC53aGljaCkgJiYgKGV2ZW50LndoaWNoID09IDEpKSB8fAogICAgICAgICAgICAoKGV2ZW50LmJ1dHRvbikgJiYgKGV2ZW50LmJ1dHRvbiA9PSAxKSkpOwogIH0sCgogIHBvaW50ZXJYOiBmdW5jdGlvbihldmVudCkgewogICAgcmV0dXJuIGV2ZW50LnBhZ2VYIHx8IChldmVudC5jbGllbnRYICsKICAgICAgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCkpOwogIH0sCgogIHBvaW50ZXJZOiBmdW5jdGlvbihldmVudCkgewogICAgcmV0dXJuIGV2ZW50LnBhZ2VZIHx8IChldmVudC5jbGllbnRZICsKICAgICAgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKTsKICB9LAoKICBzdG9wOiBmdW5jdGlvbihldmVudCkgewogICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7CiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgfSBlbHNlIHsKICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgICAgZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKICAgIH0KICB9LAoKICAvLyBmaW5kIHRoZSBmaXJzdCBub2RlIHdpdGggdGhlIGdpdmVuIHRhZ05hbWUsIHN0YXJ0aW5nIGZyb20gdGhlCiAgLy8gbm9kZSB0aGUgZXZlbnQgd2FzIHRyaWdnZXJlZCBvbjsgdHJhdmVyc2VzIHRoZSBET00gdXB3YXJkcwogIGZpbmRFbGVtZW50OiBmdW5jdGlvbihldmVudCwgdGFnTmFtZSkgewogICAgdmFyIGVsZW1lbnQgPSBFdmVudC5lbGVtZW50KGV2ZW50KTsKICAgIHdoaWxlIChlbGVtZW50LnBhcmVudE5vZGUgJiYgKCFlbGVtZW50LnRhZ05hbWUgfHwKICAgICAgICAoZWxlbWVudC50YWdOYW1lLnRvVXBwZXJDYXNlKCkgIT0gdGFnTmFtZS50b1VwcGVyQ2FzZSgpKSkpCiAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7CiAgICByZXR1cm4gZWxlbWVudDsKICB9LAoKICBvYnNlcnZlcnM6IGZhbHNlLAoKICBfb2JzZXJ2ZUFuZENhY2hlOiBmdW5jdGlvbihlbGVtZW50LCBuYW1lLCBvYnNlcnZlciwgdXNlQ2FwdHVyZSkgewogICAgaWYgKCF0aGlzLm9ic2VydmVycykgdGhpcy5vYnNlcnZlcnMgPSBbXTsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgdGhpcy5vYnNlcnZlcnMucHVzaChbZWxlbWVudCwgbmFtZSwgb2JzZXJ2ZXIsIHVzZUNhcHR1cmVdKTsKICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIG9ic2VydmVyLCB1c2VDYXB0dXJlKTsKICAgIH0gZWxzZSBpZiAoZWxlbWVudC5hdHRhY2hFdmVudCkgewogICAgICB0aGlzLm9ic2VydmVycy5wdXNoKFtlbGVtZW50LCBuYW1lLCBvYnNlcnZlciwgdXNlQ2FwdHVyZV0pOwogICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCdvbicgKyBuYW1lLCBvYnNlcnZlcik7CiAgICB9CiAgfSwKCiAgdW5sb2FkQ2FjaGU6IGZ1bmN0aW9uKCkgewogICAgaWYgKCFFdmVudC5vYnNlcnZlcnMpIHJldHVybjsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgRXZlbnQub2JzZXJ2ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgIEV2ZW50LnN0b3BPYnNlcnZpbmcuYXBwbHkodGhpcywgRXZlbnQub2JzZXJ2ZXJzW2ldKTsKICAgICAgRXZlbnQub2JzZXJ2ZXJzW2ldWzBdID0gbnVsbDsKICAgIH0KICAgIEV2ZW50Lm9ic2VydmVycyA9IGZhbHNlOwogIH0sCgogIG9ic2VydmU6IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUsIG9ic2VydmVyLCB1c2VDYXB0dXJlKSB7CiAgICB2YXIgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB1c2VDYXB0dXJlID0gdXNlQ2FwdHVyZSB8fCBmYWxzZTsKCiAgICBpZiAobmFtZSA9PSAna2V5cHJlc3MnICYmCiAgICAgICAgKG5hdmlnYXRvci5hcHBWZXJzaW9uLm1hdGNoKC9Lb25xdWVyb3J8U2FmYXJpfEtIVE1MLykKICAgICAgICB8fCBlbGVtZW50LmF0dGFjaEV2ZW50KSkKICAgICAgbmFtZSA9ICdrZXlkb3duJzsKCiAgICB0aGlzLl9vYnNlcnZlQW5kQ2FjaGUoZWxlbWVudCwgbmFtZSwgb2JzZXJ2ZXIsIHVzZUNhcHR1cmUpOwogIH0sCgogIHN0b3BPYnNlcnZpbmc6IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUsIG9ic2VydmVyLCB1c2VDYXB0dXJlKSB7CiAgICB2YXIgZWxlbWVudCA9ICQoZWxlbWVudCk7CiAgICB1c2VDYXB0dXJlID0gdXNlQ2FwdHVyZSB8fCBmYWxzZTsKCiAgICBpZiAobmFtZSA9PSAna2V5cHJlc3MnICYmCiAgICAgICAgKG5hdmlnYXRvci5hcHBWZXJzaW9uLm1hdGNoKC9Lb25xdWVyb3J8U2FmYXJpfEtIVE1MLykKICAgICAgICB8fCBlbGVtZW50LmRldGFjaEV2ZW50KSkKICAgICAgbmFtZSA9ICdrZXlkb3duJzsKCiAgICBpZiAoZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKSB7CiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBvYnNlcnZlciwgdXNlQ2FwdHVyZSk7CiAgICB9IGVsc2UgaWYgKGVsZW1lbnQuZGV0YWNoRXZlbnQpIHsKICAgICAgZWxlbWVudC5kZXRhY2hFdmVudCgnb24nICsgbmFtZSwgb2JzZXJ2ZXIpOwogICAgfQogIH0KfSk7CgovKiBwcmV2ZW50IG1lbW9yeSBsZWFrcyBpbiBJRSAqLwpFdmVudC5vYnNlcnZlKHdpbmRvdywgJ3VubG9hZCcsIEV2ZW50LnVubG9hZENhY2hlLCBmYWxzZSk7CnZhciBQb3NpdGlvbiA9IHsKICAvLyBzZXQgdG8gdHJ1ZSBpZiBuZWVkZWQsIHdhcm5pbmc6IGZpcmVmb3ggcGVyZm9ybWFuY2UgcHJvYmxlbXMKICAvLyBOT1QgbmVlZWRlZCBmb3IgcGFnZSBzY3JvbGxpbmcsIG9ubHkgaWYgZHJhZ2dhYmxlIGNvbnRhaW5lZCBpbgogIC8vIHNjcm9sbGFibGUgZWxlbWVudHMKICBpbmNsdWRlU2Nyb2xsT2Zmc2V0czogZmFsc2UsCgogIC8vIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjYWxsaW5nIHdpdGhpbkluY2x1ZGluZ1Njcm9sbG9mZnNldCwgZXZlcnkgdGltZSB0aGUKICAvLyBwYWdlIGlzIHNjcm9sbGVkCiAgcHJlcGFyZTogZnVuY3Rpb24oKSB7CiAgICB0aGlzLmRlbHRhWCA9ICB3aW5kb3cucGFnZVhPZmZzZXQKICAgICAgICAgICAgICAgIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0CiAgICAgICAgICAgICAgICB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQKICAgICAgICAgICAgICAgIHx8IDA7CiAgICB0aGlzLmRlbHRhWSA9ICB3aW5kb3cucGFnZVlPZmZzZXQKICAgICAgICAgICAgICAgIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AKICAgICAgICAgICAgICAgIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wCiAgICAgICAgICAgICAgICB8fCAwOwogIH0sCgogIHJlYWxPZmZzZXQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1ZVQgPSAwLCB2YWx1ZUwgPSAwOwogICAgZG8gewogICAgICB2YWx1ZVQgKz0gZWxlbWVudC5zY3JvbGxUb3AgIHx8IDA7CiAgICAgIHZhbHVlTCArPSBlbGVtZW50LnNjcm9sbExlZnQgfHwgMDsKICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZTsKICAgIH0gd2hpbGUgKGVsZW1lbnQpOwogICAgcmV0dXJuIFt2YWx1ZUwsIHZhbHVlVF07CiAgfSwKCiAgY3VtdWxhdGl2ZU9mZnNldDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgdmFyIHZhbHVlVCA9IDAsIHZhbHVlTCA9IDA7CiAgICBkbyB7CiAgICAgIHZhbHVlVCArPSBlbGVtZW50Lm9mZnNldFRvcCAgfHwgMDsKICAgICAgdmFsdWVMICs9IGVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwOwogICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CiAgICB9IHdoaWxlIChlbGVtZW50KTsKICAgIHJldHVybiBbdmFsdWVMLCB2YWx1ZVRdOwogIH0sCgogIHBvc2l0aW9uZWRPZmZzZXQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1ZVQgPSAwLCB2YWx1ZUwgPSAwOwogICAgZG8gewogICAgICB2YWx1ZVQgKz0gZWxlbWVudC5vZmZzZXRUb3AgIHx8IDA7CiAgICAgIHZhbHVlTCArPSBlbGVtZW50Lm9mZnNldExlZnQgfHwgMDsKICAgICAgZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50OwogICAgICBpZiAoZWxlbWVudCkgewogICAgICAgIHAgPSBFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicpOwogICAgICAgIGlmIChwID09ICdyZWxhdGl2ZScgfHwgcCA9PSAnYWJzb2x1dGUnKSBicmVhazsKICAgICAgfQogICAgfSB3aGlsZSAoZWxlbWVudCk7CiAgICByZXR1cm4gW3ZhbHVlTCwgdmFsdWVUXTsKICB9LAoKICBvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIGlmIChlbGVtZW50Lm9mZnNldFBhcmVudCkgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50OwogICAgaWYgKGVsZW1lbnQgPT0gZG9jdW1lbnQuYm9keSkgcmV0dXJuIGVsZW1lbnQ7CgogICAgd2hpbGUgKChlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKSAmJiBlbGVtZW50ICE9IGRvY3VtZW50LmJvZHkpCiAgICAgIGlmIChFbGVtZW50LmdldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicpICE9ICdzdGF0aWMnKQogICAgICAgIHJldHVybiBlbGVtZW50OwoKICAgIHJldHVybiBkb2N1bWVudC5ib2R5OwogIH0sCgogIC8vIGNhY2hlcyB4L3kgY29vcmRpbmF0ZSBwYWlyIHRvIHVzZSB3aXRoIG92ZXJsYXAKICB3aXRoaW46IGZ1bmN0aW9uKGVsZW1lbnQsIHgsIHkpIHsKICAgIGlmICh0aGlzLmluY2x1ZGVTY3JvbGxPZmZzZXRzKQogICAgICByZXR1cm4gdGhpcy53aXRoaW5JbmNsdWRpbmdTY3JvbGxvZmZzZXRzKGVsZW1lbnQsIHgsIHkpOwogICAgdGhpcy54Y29tcCA9IHg7CiAgICB0aGlzLnljb21wID0geTsKICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5jdW11bGF0aXZlT2Zmc2V0KGVsZW1lbnQpOwoKICAgIHJldHVybiAoeSA+PSB0aGlzLm9mZnNldFsxXSAmJgogICAgICAgICAgICB5IDwgIHRoaXMub2Zmc2V0WzFdICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgJiYKICAgICAgICAgICAgeCA+PSB0aGlzLm9mZnNldFswXSAmJgogICAgICAgICAgICB4IDwgIHRoaXMub2Zmc2V0WzBdICsgZWxlbWVudC5vZmZzZXRXaWR0aCk7CiAgfSwKCiAgd2l0aGluSW5jbHVkaW5nU2Nyb2xsb2Zmc2V0czogZnVuY3Rpb24oZWxlbWVudCwgeCwgeSkgewogICAgdmFyIG9mZnNldGNhY2hlID0gdGhpcy5yZWFsT2Zmc2V0KGVsZW1lbnQpOwoKICAgIHRoaXMueGNvbXAgPSB4ICsgb2Zmc2V0Y2FjaGVbMF0gLSB0aGlzLmRlbHRhWDsKICAgIHRoaXMueWNvbXAgPSB5ICsgb2Zmc2V0Y2FjaGVbMV0gLSB0aGlzLmRlbHRhWTsKICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5jdW11bGF0aXZlT2Zmc2V0KGVsZW1lbnQpOwoKICAgIHJldHVybiAodGhpcy55Y29tcCA+PSB0aGlzLm9mZnNldFsxXSAmJgogICAgICAgICAgICB0aGlzLnljb21wIDwgIHRoaXMub2Zmc2V0WzFdICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgJiYKICAgICAgICAgICAgdGhpcy54Y29tcCA+PSB0aGlzLm9mZnNldFswXSAmJgogICAgICAgICAgICB0aGlzLnhjb21wIDwgIHRoaXMub2Zmc2V0WzBdICsgZWxlbWVudC5vZmZzZXRXaWR0aCk7CiAgfSwKCiAgLy8gd2l0aGluIG11c3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJlZm9yZQogIG92ZXJsYXA6IGZ1bmN0aW9uKG1vZGUsIGVsZW1lbnQpIHsKICAgIGlmICghbW9kZSkgcmV0dXJuIDA7CiAgICBpZiAobW9kZSA9PSAndmVydGljYWwnKQogICAgICByZXR1cm4gKCh0aGlzLm9mZnNldFsxXSArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0KSAtIHRoaXMueWNvbXApIC8KICAgICAgICBlbGVtZW50Lm9mZnNldEhlaWdodDsKICAgIGlmIChtb2RlID09ICdob3Jpem9udGFsJykKICAgICAgcmV0dXJuICgodGhpcy5vZmZzZXRbMF0gKyBlbGVtZW50Lm9mZnNldFdpZHRoKSAtIHRoaXMueGNvbXApIC8KICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoOwogIH0sCgogIGNsb25lOiBmdW5jdGlvbihzb3VyY2UsIHRhcmdldCkgewogICAgc291cmNlID0gJChzb3VyY2UpOwogICAgdGFyZ2V0ID0gJCh0YXJnZXQpOwogICAgdGFyZ2V0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKICAgIHZhciBvZmZzZXRzID0gdGhpcy5jdW11bGF0aXZlT2Zmc2V0KHNvdXJjZSk7CiAgICB0YXJnZXQuc3R5bGUudG9wICAgID0gb2Zmc2V0c1sxXSArICdweCc7CiAgICB0YXJnZXQuc3R5bGUubGVmdCAgID0gb2Zmc2V0c1swXSArICdweCc7CiAgICB0YXJnZXQuc3R5bGUud2lkdGggID0gc291cmNlLm9mZnNldFdpZHRoICsgJ3B4JzsKICAgIHRhcmdldC5zdHlsZS5oZWlnaHQgPSBzb3VyY2Uub2Zmc2V0SGVpZ2h0ICsgJ3B4JzsKICB9LAoKICBwYWdlOiBmdW5jdGlvbihmb3JFbGVtZW50KSB7CiAgICB2YXIgdmFsdWVUID0gMCwgdmFsdWVMID0gMDsKCiAgICB2YXIgZWxlbWVudCA9IGZvckVsZW1lbnQ7CiAgICBkbyB7CiAgICAgIHZhbHVlVCArPSBlbGVtZW50Lm9mZnNldFRvcCAgfHwgMDsKICAgICAgdmFsdWVMICs9IGVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwOwoKICAgICAgLy8gU2FmYXJpIGZpeAogICAgICBpZiAoZWxlbWVudC5vZmZzZXRQYXJlbnQ9PWRvY3VtZW50LmJvZHkpCiAgICAgICAgaWYgKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwncG9zaXRpb24nKT09J2Fic29sdXRlJykgYnJlYWs7CgogICAgfSB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50KTsKCiAgICBlbGVtZW50ID0gZm9yRWxlbWVudDsKICAgIGRvIHsKICAgICAgdmFsdWVUIC09IGVsZW1lbnQuc2Nyb2xsVG9wICB8fCAwOwogICAgICB2YWx1ZUwgLT0gZWxlbWVudC5zY3JvbGxMZWZ0IHx8IDA7CiAgICB9IHdoaWxlIChlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKTsKCiAgICByZXR1cm4gW3ZhbHVlTCwgdmFsdWVUXTsKICB9LAoKICBjbG9uZTogZnVuY3Rpb24oc291cmNlLCB0YXJnZXQpIHsKICAgIHZhciBvcHRpb25zID0gT2JqZWN0LmV4dGVuZCh7CiAgICAgIHNldExlZnQ6ICAgIHRydWUsCiAgICAgIHNldFRvcDogICAgIHRydWUsCiAgICAgIHNldFdpZHRoOiAgIHRydWUsCiAgICAgIHNldEhlaWdodDogIHRydWUsCiAgICAgIG9mZnNldFRvcDogIDAsCiAgICAgIG9mZnNldExlZnQ6IDAKICAgIH0sIGFyZ3VtZW50c1syXSB8fCB7fSkKCiAgICAvLyBmaW5kIHBhZ2UgcG9zaXRpb24gb2Ygc291cmNlCiAgICBzb3VyY2UgPSAkKHNvdXJjZSk7CiAgICB2YXIgcCA9IFBvc2l0aW9uLnBhZ2Uoc291cmNlKTsKCiAgICAvLyBmaW5kIGNvb3JkaW5hdGUgc3lzdGVtIHRvIHVzZQogICAgdGFyZ2V0ID0gJCh0YXJnZXQpOwogICAgdmFyIGRlbHRhID0gWzAsIDBdOwogICAgdmFyIHBhcmVudCA9IG51bGw7CiAgICAvLyBkZWx0YSBbMCwwXSB3aWxsIGRvIGZpbmUgd2l0aCBwb3NpdGlvbjogZml4ZWQgZWxlbWVudHMsCiAgICAvLyBwb3NpdGlvbjphYnNvbHV0ZSBuZWVkcyBvZmZzZXRQYXJlbnQgZGVsdGFzCiAgICBpZiAoRWxlbWVudC5nZXRTdHlsZSh0YXJnZXQsJ3Bvc2l0aW9uJykgPT0gJ2Fic29sdXRlJykgewogICAgICBwYXJlbnQgPSBQb3NpdGlvbi5vZmZzZXRQYXJlbnQodGFyZ2V0KTsKICAgICAgZGVsdGEgPSBQb3NpdGlvbi5wYWdlKHBhcmVudCk7CiAgICB9CgogICAgLy8gY29ycmVjdCBieSBib2R5IG9mZnNldHMgKGZpeGVzIFNhZmFyaSkKICAgIGlmIChwYXJlbnQgPT0gZG9jdW1lbnQuYm9keSkgewogICAgICBkZWx0YVswXSAtPSBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAgICAgIGRlbHRhWzFdIC09IGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwogICAgfQoKICAgIC8vIHNldCBwb3NpdGlvbgogICAgaWYob3B0aW9ucy5zZXRMZWZ0KSAgIHRhcmdldC5zdHlsZS5sZWZ0ICA9IChwWzBdIC0gZGVsdGFbMF0gKyBvcHRpb25zLm9mZnNldExlZnQpICsgJ3B4JzsKICAgIGlmKG9wdGlvbnMuc2V0VG9wKSAgICB0YXJnZXQuc3R5bGUudG9wICAgPSAocFsxXSAtIGRlbHRhWzFdICsgb3B0aW9ucy5vZmZzZXRUb3ApICsgJ3B4JzsKICAgIGlmKG9wdGlvbnMuc2V0V2lkdGgpICB0YXJnZXQuc3R5bGUud2lkdGggPSBzb3VyY2Uub2Zmc2V0V2lkdGggKyAncHgnOwogICAgaWYob3B0aW9ucy5zZXRIZWlnaHQpIHRhcmdldC5zdHlsZS5oZWlnaHQgPSBzb3VyY2Uub2Zmc2V0SGVpZ2h0ICsgJ3B4JzsKICB9LAoKICBhYnNvbHV0aXplOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGlmIChlbGVtZW50LnN0eWxlLnBvc2l0aW9uID09ICdhYnNvbHV0ZScpIHJldHVybjsKICAgIFBvc2l0aW9uLnByZXBhcmUoKTsKCiAgICB2YXIgb2Zmc2V0cyA9IFBvc2l0aW9uLnBvc2l0aW9uZWRPZmZzZXQoZWxlbWVudCk7CiAgICB2YXIgdG9wICAgICA9IG9mZnNldHNbMV07CiAgICB2YXIgbGVmdCAgICA9IG9mZnNldHNbMF07CiAgICB2YXIgd2lkdGggICA9IGVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICB2YXIgaGVpZ2h0ICA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0OwoKICAgIGVsZW1lbnQuX29yaWdpbmFsTGVmdCAgID0gbGVmdCAtIHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS5sZWZ0ICB8fCAwKTsKICAgIGVsZW1lbnQuX29yaWdpbmFsVG9wICAgID0gdG9wICAtIHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS50b3AgfHwgMCk7CiAgICBlbGVtZW50Ll9vcmlnaW5hbFdpZHRoICA9IGVsZW1lbnQuc3R5bGUud2lkdGg7CiAgICBlbGVtZW50Ll9vcmlnaW5hbEhlaWdodCA9IGVsZW1lbnQuc3R5bGUuaGVpZ2h0OwoKICAgIGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnOwogICAgZWxlbWVudC5zdHlsZS50b3AgICAgPSB0b3AgKyAncHgnOzsKICAgIGVsZW1lbnQuc3R5bGUubGVmdCAgID0gbGVmdCArICdweCc7OwogICAgZWxlbWVudC5zdHlsZS53aWR0aCAgPSB3aWR0aCArICdweCc7OwogICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAncHgnOzsKICB9LAoKICByZWxhdGl2aXplOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICBlbGVtZW50ID0gJChlbGVtZW50KTsKICAgIGlmIChlbGVtZW50LnN0eWxlLnBvc2l0aW9uID09ICdyZWxhdGl2ZScpIHJldHVybjsKICAgIFBvc2l0aW9uLnByZXBhcmUoKTsKCiAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJzsKICAgIHZhciB0b3AgID0gcGFyc2VGbG9hdChlbGVtZW50LnN0eWxlLnRvcCAgfHwgMCkgLSAoZWxlbWVudC5fb3JpZ2luYWxUb3AgfHwgMCk7CiAgICB2YXIgbGVmdCA9IHBhcnNlRmxvYXQoZWxlbWVudC5zdHlsZS5sZWZ0IHx8IDApIC0gKGVsZW1lbnQuX29yaWdpbmFsTGVmdCB8fCAwKTsKCiAgICBlbGVtZW50LnN0eWxlLnRvcCAgICA9IHRvcCArICdweCc7CiAgICBlbGVtZW50LnN0eWxlLmxlZnQgICA9IGxlZnQgKyAncHgnOwogICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBlbGVtZW50Ll9vcmlnaW5hbEhlaWdodDsKICAgIGVsZW1lbnQuc3R5bGUud2lkdGggID0gZWxlbWVudC5fb3JpZ2luYWxXaWR0aDsKICB9Cn0KCi8vIFNhZmFyaSByZXR1cm5zIG1hcmdpbnMgb24gYm9keSB3aGljaCBpcyBpbmNvcnJlY3QgaWYgdGhlIGNoaWxkIGlzIGFic29sdXRlbHkKLy8gcG9zaXRpb25lZC4gIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCByZWRlZmluZSBQb3NpdGlvbi5jdW11bGF0aXZlT2Zmc2V0IGZvcgovLyBLSFRNTC9XZWJLaXQgb25seS4KaWYgKC9Lb25xdWVyb3J8U2FmYXJpfEtIVE1MLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7CiAgUG9zaXRpb24uY3VtdWxhdGl2ZU9mZnNldCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgIHZhciB2YWx1ZVQgPSAwLCB2YWx1ZUwgPSAwOwogICAgZG8gewogICAgICB2YWx1ZVQgKz0gZWxlbWVudC5vZmZzZXRUb3AgIHx8IDA7CiAgICAgIHZhbHVlTCArPSBlbGVtZW50Lm9mZnNldExlZnQgfHwgMDsKICAgICAgaWYgKGVsZW1lbnQub2Zmc2V0UGFyZW50ID09IGRvY3VtZW50LmJvZHkpCiAgICAgICAgaWYgKEVsZW1lbnQuZ2V0U3R5bGUoZWxlbWVudCwgJ3Bvc2l0aW9uJykgPT0gJ2Fic29sdXRlJykgYnJlYWs7CgogICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CiAgICB9IHdoaWxlIChlbGVtZW50KTsKCiAgICByZXR1cm4gW3ZhbHVlTCwgdmFsdWVUXTsKICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/templates/lightbox/js/scriptaculous.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ29weXJpZ2h0IChjKSAyMDA1IFRob21hcyBGdWNocyAoaHR0cDovL3NjcmlwdC5hY3Vsby51cywgaHR0cDovL21pci5hY3Vsby51cykKLy8gCi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwovLyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKLy8gIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwovLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwovLyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KLy8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgovLyAKLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKLy8gaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi8vCi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAovLyBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKLy8gTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRQovLyBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OCi8vIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTgovLyBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KCnZhciBTY3JpcHRhY3Vsb3VzID0gewogIFZlcnNpb246ICcxLjUuMScsCiAgcmVxdWlyZTogZnVuY3Rpb24obGlicmFyeU5hbWUpIHsKICAgIC8vIGluc2VydGluZyB2aWEgRE9NIGZhaWxzIGluIFNhZmFyaSAyLjAsIHNvIGJydXRlIGZvcmNlIGFwcHJvYWNoCiAgICBkb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJytsaWJyYXJ5TmFtZSsnIj48L3NjcmlwdD4nKTsKICB9LAogIGxvYWQ6IGZ1bmN0aW9uKCkgewogICAgaWYoKHR5cGVvZiBQcm90b3R5cGU9PSd1bmRlZmluZWQnKSB8fAogICAgICBwYXJzZUZsb2F0KFByb3RvdHlwZS5WZXJzaW9uLnNwbGl0KCIuIilbMF0gKyAiLiIgKwogICAgICAgICAgICAgICAgIFByb3RvdHlwZS5WZXJzaW9uLnNwbGl0KCIuIilbMV0pIDwgMS40KQogICAgICB0aHJvdygic2NyaXB0LmFjdWxvLnVzIHJlcXVpcmVzIHRoZSBQcm90b3R5cGUgSmF2YVNjcmlwdCBmcmFtZXdvcmsgPj0gMS40LjAiKTsKICAgIAogICAgJEEoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpKS5maW5kQWxsKCBmdW5jdGlvbihzKSB7CiAgICAgIHJldHVybiAocy5zcmMgJiYgcy5zcmMubWF0Y2goL3NjcmlwdGFjdWxvdXNcLmpzKFw/LiopPyQvKSkKICAgIH0pLmVhY2goIGZ1bmN0aW9uKHMpIHsKICAgICAgdmFyIHBhdGggPSBzLnNyYy5yZXBsYWNlKC9zY3JpcHRhY3Vsb3VzXC5qcyhcPy4qKT8kLywnJyk7CiAgICAgIHZhciBpbmNsdWRlcyA9IHMuc3JjLm1hdGNoKC9cPy4qbG9hZD0oW2EteixdKikvKTsKICAgICAgKGluY2x1ZGVzID8gaW5jbHVkZXNbMV0gOiAnYnVpbGRlcixlZmZlY3RzLGRyYWdkcm9wLGNvbnRyb2xzLHNsaWRlcicpLnNwbGl0KCcsJykuZWFjaCgKICAgICAgIGZ1bmN0aW9uKGluY2x1ZGUpIHsgU2NyaXB0YWN1bG91cy5yZXF1aXJlKHBhdGgraW5jbHVkZSsnLmpzJykgfSk7CiAgICB9KTsKICB9Cn0KClNjcmlwdGFjdWxvdXMubG9hZCgpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/original/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/original/albums.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2ZvcmVhY2ggZnJvbT0kYWxidW1zIGl0ZW09YWxidW19CiAgICA8ZGl2IGNsYXNzPSdwd2FBbGJ1bScgc3R5bGU9J3dpZHRoOjE4MHB4O2hlaWdodDoyMDBweDtmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyOyc+CiAgICAgICAgPGEgdGl0bGU9InskYWxidW0tPnRpdGxlfSIgaHJlZj0ieyRhbGJ1bS0+bGlua30iIHN0eWxlPSdkaXNwbGF5OmJsb2NrO3dpZHRoOiAxNjBweDttYXJnaW46IGF1dG8gYXV0bzsnPgogICAgICAgICAgICA8aW1nIHNyYz0neyRhbGJ1bS0+dGh1bWJ1cmx9JyBzdHlsZT0ncGFkZGluZzowcHg7JyAvPgogICAgICAgIDwvYT4KICAgICAgICA8ZGl2IHN0eWxlPSdjbGVhcjpib3RoO3dpZHRoOjE4MHB4O2Zsb2F0OmxlZnQ7dGV4dC1hbGlnbjpjZW50ZXI7Jz4KICAgICAgICB7JGFsYnVtLT50aXRsZX0KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgp7L2ZvcmVhY2h9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/original/fancybox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogRmFuY3lCb3ggdGVtcGxhdGUgKn0KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTEuNC4yLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskbW9kdWxlcGF0aH0vdGVtcGxhdGVzL2ZhbmN5Ym94L2pxdWVyeS5tb3VzZXdoZWVsLTMuMC4yLnBhY2suanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZXBhdGh9L3RlbXBsYXRlcy9mYW5jeWJveC9qcXVlcnkuZWFzaW5nLTEuMy5wYWNrLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRtb2R1bGVwYXRofS90ZW1wbGF0ZXMvZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LTEuMy4xLnBhY2suanMiPjwvc2NyaXB0PgoKPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JG1vZHVsZXBhdGh9L3RlbXBsYXRlcy9mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjEuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp7bGl0ZXJhbH0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICQoImFbcmVsPWZhbmN5Ym94XSIpLmZhbmN5Ym94KHsKICAgICd0aXRsZVBvc2l0aW9uJyAJOiAnb3ZlcicsCiAgICAndGl0bGVGb3JtYXQnICAgICAgIDogZnVuY3Rpb24odGl0bGUsIGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cykgewoJCSAgICByZXR1cm4gJzxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS1vdmVyIj5JbWFnZSAnICsgIChjdXJyZW50SW5kZXggKyAxKSArICcgLyAnICsgY3VycmVudEFycmF5Lmxlbmd0aCArICcgJyArIHRpdGxlICsgJzwvc3Bhbj4nOwogICB9KTsKfSk7CnsvbGl0ZXJhbH0KCjwvc2NyaXB0PgoKeyogSEVBRC9CT0RZIERJVklERVIgKn0KCntmb3JlYWNoIGZyb209JGltYWdlcyBpdGVtPWltYWdlfQogICAgPGRpdiBzdHlsZT0nZmxvYXQ6bGVmdDsgdGV4dC1hbGlnbjpjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IGhlaWdodDo4MHB4OyB3aWR0aDo4MHB4Oyc+CiAgICAgICAgPGEgcmVsPSJmYW5jeWJveCIgdGl0bGU9InskaW1hZ2UtPnRpdGxlfSIgaHJlZj0ieyRpbWFnZS0+dXJsfSI+CiAgICAgICAgICAgIDxpbWcgc3JjPSd7JGltYWdlLT50aHVtYnVybH0nICBzdHlsZT0ncGFkZGluZzogMHB4OycvPgogICAgICAgIDwvYT4KICAgIDwvZGl2Pgp7L2ZvcmVhY2h9CntpZiAkYWxidW1EcmlsbERvd259CiAgICA8ZGl2IHN0eWxlPSdjbGVhcjpib3RoOyB0ZXh0LWFsaWduOmNlbnRlcjsgaGVpZ2h0OjgwcHg7IHdpZHRoOjEwMCU7Jz4KICAgICAgICA8YSBocmVmPSd7JGxpbmtCYWNrfSc+eyRsaW5rQmFja1RleHR9PC9hPgogICAgPC9kaXY+CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/original/lightbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogTGlnaHRCb3ggVGVtcGxhdGUgKn0KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskbW9kdWxlcGF0aH0vdGVtcGxhdGVzL2xpZ2h0Ym94L2pzL3Byb3RvdHlwZS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskbW9kdWxlcGF0aH0vdGVtcGxhdGVzL2xpZ2h0Ym94L2pzL3NjcmlwdGFjdWxvdXMuanM/bG9hZD1lZmZlY3RzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRtb2R1bGVwYXRofS90ZW1wbGF0ZXMvbGlnaHRib3gvanMvbGlnaHRib3guanMiPjwvc2NyaXB0PgoKPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JG1vZHVsZXBhdGh9L3RlbXBsYXRlcy9saWdodGJveC9jc3MvbGlnaHRib3guY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4KCnsqIEhFQUQvQk9EWSBESVZJREVSICp9Cgp7Zm9yZWFjaCBmcm9tPSRpbWFnZXMgaXRlbT1pbWFnZX0KICAgIDxkaXYgc3R5bGU9J2Zsb2F0OmxlZnQ7IHRleHQtYWxpZ246Y2VudGVyOyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBoZWlnaHQ6ODBweDsgd2lkdGg6ODBweDsnPgogICAgICAgIDxhIHJlbD0ibGlnaHRib3hbeyRhbGJ1bX1dIiB0aXRsZT0ieyRpbWFnZS0+dGl0bGV9IiBocmVmPSJ7JGltYWdlLT51cmx9Ij4KICAgICAgICAgICAgPGltZyBzcmM9J3skaW1hZ2UtPnRodW1idXJsfScgIHN0eWxlPSdwYWRkaW5nOiAwcHg7Jy8+CiAgICAgICAgPC9hPgogICAgPC9kaXY+CnsvZm9yZWFjaH0Ke2lmICRhbGJ1bURyaWxsRG93bn0KICAgIDxkaXYgc3R5bGU9J2NsZWFyOmJvdGg7IHRleHQtYWxpZ246Y2VudGVyOyBoZWlnaHQ6ODBweDsgd2lkdGg6MTAwJTsnPgogICAgICAgIDxhIGhyZWY9J3skbGlua0JhY2t9Jz57JGxpbmtCYWNrVGV4dH08L2E+CiAgICA8L2Rpdj4Key9pZn0KCgo=]]></data>
	</file>
	<file>
	  <filename>/templates/settings.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CgkKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZHVsZS0+TGFuZygnZmlsZW5hbWVkZXNjcmlwdGlvbicpfTwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZpbGVuYW1lZGVzY3JpcHRpb25pbnB1dH08L3A+Cgk8L2Rpdj4KCXsqPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90ZW1wbGF0ZX08L3A+Cgk8L2Rpdj4qfQp7KjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kdWxlLT5MYW5nKCJkZWZhdWx0c2V0dGluZ3MiKX08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ2RlZmF1bHR1c2VyJyl9PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdHVzZXJpbnB1dH08L3A+Cgk8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2R1bGUtPkxhbmcoJ2RlZmF1bHRpbWFnZXNpemUnKX08L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkZWZhdWx0aW1hZ2VzaXplaW5wdXR9PC9wPgoJPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kdWxlLT5MYW5nKCdkZWZhdWx0dGh1bWJzaXplJyl9PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdHRodW1ic2l6ZWlucHV0fTwvcD4KCTwvZGl2Pgo8L2ZpZWxkc2V0PgoqfQoKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0KCg==]]></data>
	</file>
	<file>
	  <filename>/xmlexamples/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/xmlexamples/albums.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPGZlZWQgIHhtbG5zOmdwaG90bz0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9waG90b3MvMjAwNycgeG1sbnM6bWVkaWE9J2h0dHA6Ly9zZWFyY2gueWFob28uY29tL21yc3MvJyB4bWxuczpvcGVuU2VhcmNoPSdodHRwOi8vYTkuY29tLy0vc3BlYy9vcGVuc2VhcmNocnNzLzEuMC8nPgogIDxpZD5odHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9mZWVkL2FwaS91c2VyL2Jvc3NpbmZvNDU8L2lkPgogIDx1cGRhdGVkPjIwMTAtMDYtMjVUMjI6NTY6MzguMDM5WjwvdXBkYXRlZD4KICA8Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3I3VzZXInLz4KICA8dGl0bGUgdHlwZT0ndGV4dCc+Ym9zc2luZm80NTwvdGl0bGU+CiAgPHN1YnRpdGxlIHR5cGU9J3RleHQnLz4KICA8aWNvbj5odHRwOi8vbGg2LmdncGh0LmNvbS9fMi1mZW05Um94bWcvQUFBQUt4YVJKNHMvQUFBQUFBQUFBQUEvQWlCRE9idm9MMjgvczY0LWMvYm9zc2luZm80NS5qcGc8L2ljb24+CiAgPGxpbmsgcmVsPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNmZWVkJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZmVlZC9hcGkvdXNlci9ib3NzaW5mbzQ1Jy8+CiAgPGxpbmsgcmVsPSdhbHRlcm5hdGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2Jvc3NpbmZvNDUnLz4KICA8bGluayByZWw9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vcGhvdG9zLzIwMDcjc2xpZGVzaG93JyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL3MvYy9iaW4vc2xpZGVzaG93LnN3Zj9ob3N0PXBpY2FzYXdlYi5nb29nbGUuY29tJmFtcDtSR0I9MHgwMDAwMDAmYW1wO2ZlZWQ9aHR0cCUzQSUyRiUyRnBpY2FzYXdlYi5nb29nbGUuY29tJTJGZGF0YSUyRmZlZWQlMkZhcGklMkZ1c2VyJTJGYm9zc2luZm80NSUzRmFsdCUzRHJzcycvPgogIDxsaW5rIHJlbD0nc2VsZicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9kYXRhL2ZlZWQvYXBpL3VzZXIvYm9zc2luZm80NT9zdGFydC1pbmRleD0xJmFtcDttYXgtcmVzdWx0cz0xMDAwJmFtcDtraW5kPWFsYnVtJmFtcDt0aHVtYnNpemU9MTYwJy8+CiAgPGF1dGhvcj4KICAgIDxuYW1lPk1vZ2VuczwvbmFtZT4KICAgIDx1cmk+aHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2Jvc3NpbmZvNDU8L3VyaT4KICA8L2F1dGhvcj4KICA8Z2VuZXJhdG9yIHZlcnNpb249JzEuMDAnIHVyaT0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tLyc+UGljYXNhd2ViPC9nZW5lcmF0b3I+CiAgPG9wZW5TZWFyY2g6dG90YWxSZXN1bHRzPjIzPC9vcGVuU2VhcmNoOnRvdGFsUmVzdWx0cz4KICA8b3BlblNlYXJjaDpzdGFydEluZGV4PjE8L29wZW5TZWFyY2g6c3RhcnRJbmRleD4KICA8b3BlblNlYXJjaDppdGVtc1BlclBhZ2U+MTAwMDwvb3BlblNlYXJjaDppdGVtc1BlclBhZ2U+CiAgPGdwaG90bzp1c2VyPmJvc3NpbmZvNDU8L2dwaG90bzp1c2VyPgogIDxncGhvdG86bmlja25hbWU+TW9nZW5zPC9ncGhvdG86bmlja25hbWU+CiAgPGdwaG90bzp0aHVtYm5haWw+aHR0cDovL2xoNi5nZ3BodC5jb20vXzItZmVtOVJveG1nL0FBQUFLeGFSSjRzL0FBQUFBQUFBQUFBL0FpQkRPYnZvTDI4L3M2NC1jL2Jvc3NpbmZvNDUuanBnPC9ncGhvdG86dGh1bWJuYWlsPgogIDxlbnRyeT4KICAgIDxpZD5odHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9lbnRyeS9hcGkvdXNlci9ib3NzaW5mbzQ1L2FsYnVtaWQvNTQ4Njg0Njc3NTU2MDYzMTUzNzwvaWQ+CiAgICA8cHVibGlzaGVkPjIwMTAtMDYtMjVUMDg6MDM6MjUuMDAwWjwvcHVibGlzaGVkPgogICAgPHVwZGF0ZWQ+MjAxMC0wNi0yNVQyMjo1NjozOC4wMzlaPC91cGRhdGVkPgogICAgPGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUja2luZCcgdGVybT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9waG90b3MvMjAwNyNhbGJ1bScvPgogICAgPHRpdGxlIHR5cGU9J3RleHQnPnRyYW5zbG9rYXRpb24yMDEwPC90aXRsZT4KICAgIDxzdW1tYXJ5IHR5cGU9J3RleHQnLz4KICAgIDxyaWdodHMgdHlwZT0ndGV4dCc+cHVibGljPC9yaWdodHM+CiAgICA8bGluayByZWw9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8yMDA1I2ZlZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9mZWVkL2FwaS91c2VyL2Jvc3NpbmZvNDUvYWxidW1pZC81NDg2ODQ2Nzc1NTYwNjMxNTM3Jy8+CiAgICA8bGluayByZWw9J2FsdGVybmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vYm9zc2luZm80NS9UcmFuc2xva2F0aW9uMjAxMCcvPgogICAgPGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZW50cnkvYXBpL3VzZXIvYm9zc2luZm80NS9hbGJ1bWlkLzU0ODY4NDY3NzU1NjA2MzE1MzcnLz4KICAgIDxhdXRob3I+CiAgICAgIDxuYW1lPk1vZ2VuczwvbmFtZT4KICAgICAgPHVyaT5odHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vYm9zc2luZm80NTwvdXJpPgogICAgPC9hdXRob3I+CiAgICA8Z3Bob3RvOmlkPjU0ODY4NDY3NzU1NjA2MzE1Mzc8L2dwaG90bzppZD4KICAgIDxncGhvdG86bmFtZT5UcmFuc2xva2F0aW9uMjAxMDwvZ3Bob3RvOm5hbWU+CiAgICA8Z3Bob3RvOmxvY2F0aW9uLz4KICAgIDxncGhvdG86YWNjZXNzPnB1YmxpYzwvZ3Bob3RvOmFjY2Vzcz4KICAgIDxncGhvdG86dGltZXN0YW1wPjEyNzc0NTMwMDUwMDA8L2dwaG90bzp0aW1lc3RhbXA+CiAgICA8Z3Bob3RvOm51bXBob3Rvcz4xMjY8L2dwaG90bzpudW1waG90b3M+CiAgICA8Z3Bob3RvOnVzZXI+Ym9zc2luZm80NTwvZ3Bob3RvOnVzZXI+CiAgICA8Z3Bob3RvOm5pY2tuYW1lPk1vZ2VuczwvZ3Bob3RvOm5pY2tuYW1lPgogICAgPGdwaG90bzpjb21tZW50aW5nRW5hYmxlZD50cnVlPC9ncGhvdG86Y29tbWVudGluZ0VuYWJsZWQ+CiAgICA8Z3Bob3RvOmNvbW1lbnRDb3VudD4wPC9ncGhvdG86Y29tbWVudENvdW50PgogICAgPG1lZGlhOmdyb3VwPgogICAgICA8bWVkaWE6Y29udGVudCB1cmw9J2h0dHA6Ly9saDQuZ2dwaHQuY29tL18yLWZlbTlSb3htZy9UQ1V5RW1KSjlQRS9BQUFBQUFBQUY1dy9iZXNtWjVuMG1hby9UcmFuc2xva2F0aW9uMjAxMC5qcGcnIHR5cGU9J2ltYWdlL2pwZWcnIG1lZGl1bT0naW1hZ2UnLz4KICAgICAgPG1lZGlhOmNyZWRpdD5Nb2dlbnM8L21lZGlhOmNyZWRpdD4KICAgICAgPG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJy8+CiAgICAgIDxtZWRpYTprZXl3b3Jkcy8+CiAgICAgIDxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vbGg0LmdncGh0LmNvbS9fMi1mZW05Um94bWcvVENVeUVtSko5UEUvQUFBQUFBQUFGNXcvYmVzbVo1bjBtYW8vczE2MC1jL1RyYW5zbG9rYXRpb24yMDEwLmpwZycgaGVpZ2h0PScxNjAnIHdpZHRoPScxNjAnLz4KICAgICAgPG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz50cmFuc2xva2F0aW9uMjAxMDwvbWVkaWE6dGl0bGU+CiAgICA8L21lZGlhOmdyb3VwPgogIDwvZW50cnk+CiAgCjwvZmVlZD4=]]></data>
	</file>
	<file>
	  <filename>/xmlexamples/images.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPGZlZWQgIHhtbG5zOmV4aWY9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vcGhvdG9zL2V4aWYvMjAwNycgeG1sbnM6Z3Bob3RvPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3JyB4bWxuczptZWRpYT0naHR0cDovL3NlYXJjaC55YWhvby5jb20vbXJzcy8nIHhtbG5zOm9wZW5TZWFyY2g9J2h0dHA6Ly9hOS5jb20vLS9zcGVjL29wZW5zZWFyY2hyc3MvMS4wLyc+CiAgPGlkPmh0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9kYXRhL2ZlZWQvYXBpL3VzZXIvYm9zc2luZm80NS9hbGJ1bWlkLzU0ODY4NDY3NzU1NjA2MzE1Mzc8L2lkPgogIDx1cGRhdGVkPjIwMTAtMDYtMjVUMjI6NTY6MzguMDM5WjwvdXBkYXRlZD4KICA8Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3I2FsYnVtJy8+CiAgPHRpdGxlIHR5cGU9J3RleHQnPnRyYW5zbG9rYXRpb24yMDEwPC90aXRsZT4KICA8c3VidGl0bGUgdHlwZT0ndGV4dCcvPgogIDxyaWdodHMgdHlwZT0ndGV4dCc+cHVibGljPC9yaWdodHM+CiAgPGljb24+aHR0cDovL2xoNC5nZ3BodC5jb20vXzItZmVtOVJveG1nL1RDVXlFbUpKOVBFL0FBQUFBQUFBRjV3L2Jlc21aNW4wbWFvL3MxNjAtYy9UcmFuc2xva2F0aW9uMjAxMC5qcGc8L2ljb24+CiAgPGxpbmsgcmVsPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNmZWVkJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZmVlZC9hcGkvdXNlci9ib3NzaW5mbzQ1L2FsYnVtaWQvNTQ4Njg0Njc3NTU2MDYzMTUzNycvPgogIDxsaW5rIHJlbD0nYWx0ZXJuYXRlJyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9ib3NzaW5mbzQ1L1RyYW5zbG9rYXRpb24yMDEwJy8+CiAgPGxpbmsgcmVsPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3I3NsaWRlc2hvdycgdHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIGhyZWY9J2h0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9zL2MvYmluL3NsaWRlc2hvdy5zd2Y/aG9zdD1waWNhc2F3ZWIuZ29vZ2xlLmNvbSZhbXA7UkdCPTB4MDAwMDAwJmFtcDtmZWVkPWh0dHAlM0ElMkYlMkZwaWNhc2F3ZWIuZ29vZ2xlLmNvbSUyRmRhdGElMkZmZWVkJTJGYXBpJTJGdXNlciUyRmJvc3NpbmZvNDUlMkZhbGJ1bWlkJTJGNTQ4Njg0Njc3NTU2MDYzMTUzNyUzRmFsdCUzRHJzcycvPgogIDxsaW5rIHJlbD0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9waG90b3MvMjAwNyNyZXBvcnQnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2xoL3JlcG9ydEFidXNlP3VuYW1lPWJvc3NpbmZvNDUmYW1wO2FpZD01NDg2ODQ2Nzc1NTYwNjMxNTM3Jy8+CiAgPGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZmVlZC9hcGkvdXNlci9ib3NzaW5mbzQ1L2FsYnVtaWQvNTQ4Njg0Njc3NTU2MDYzMTUzNz9zdGFydC1pbmRleD0xJmFtcDttYXgtcmVzdWx0cz0xMDAwJmFtcDtraW5kPXBob3RvJmFtcDtpbWdtYXg9NTEyJmFtcDt0aHVtYnNpemU9NjQnLz4KICA8YXV0aG9yPgogICAgPG5hbWU+TW9nZW5zPC9uYW1lPgogICAgPHVyaT5odHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vYm9zc2luZm80NTwvdXJpPgogIDwvYXV0aG9yPgogIDxnZW5lcmF0b3IgdmVyc2lvbj0nMS4wMCcgdXJpPSdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vJz5QaWNhc2F3ZWI8L2dlbmVyYXRvcj4KICA8b3BlblNlYXJjaDp0b3RhbFJlc3VsdHM+MTI2PC9vcGVuU2VhcmNoOnRvdGFsUmVzdWx0cz4KICA8b3BlblNlYXJjaDpzdGFydEluZGV4PjE8L29wZW5TZWFyY2g6c3RhcnRJbmRleD4KICA8b3BlblNlYXJjaDppdGVtc1BlclBhZ2U+MTAwMDwvb3BlblNlYXJjaDppdGVtc1BlclBhZ2U+CiAgPGdwaG90bzppZD41NDg2ODQ2Nzc1NTYwNjMxNTM3PC9ncGhvdG86aWQ+CiAgPGdwaG90bzpuYW1lPlRyYW5zbG9rYXRpb24yMDEwPC9ncGhvdG86bmFtZT4KICA8Z3Bob3RvOmxvY2F0aW9uLz4KICA8Z3Bob3RvOmFjY2Vzcz5wdWJsaWM8L2dwaG90bzphY2Nlc3M+CiAgPGdwaG90bzp0aW1lc3RhbXA+MTI3NzQ1MzAwNTAwMDwvZ3Bob3RvOnRpbWVzdGFtcD4KICA8Z3Bob3RvOm51bXBob3Rvcz4xMjY8L2dwaG90bzpudW1waG90b3M+CiAgPGdwaG90bzp1c2VyPmJvc3NpbmZvNDU8L2dwaG90bzp1c2VyPgogIDxncGhvdG86bmlja25hbWU+TW9nZW5zPC9ncGhvdG86bmlja25hbWU+CiAgPGdwaG90bzpjb21tZW50aW5nRW5hYmxlZD50cnVlPC9ncGhvdG86Y29tbWVudGluZ0VuYWJsZWQ+CiAgPGdwaG90bzpjb21tZW50Q291bnQ+MDwvZ3Bob3RvOmNvbW1lbnRDb3VudD4KICA8Z3Bob3RvOmFsbG93UHJpbnRzPnRydWU8L2dwaG90bzphbGxvd1ByaW50cz4KICA8Z3Bob3RvOmFsbG93RG93bmxvYWRzPnRydWU8L2dwaG90bzphbGxvd0Rvd25sb2Fkcz4KICA8ZW50cnk+CiAgICA8aWQ+aHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZW50cnkvYXBpL3VzZXIvYm9zc2luZm80NS9hbGJ1bWlkLzU0ODY4NDY3NzU1NjA2MzE1MzcvcGhvdG9pZC81NDg2ODQ2Nzg1NTg2MTg4NTc4PC9pZD4KICAgIDxwdWJsaXNoZWQ+MjAxMC0wNi0yNVQyMjo0Nzo0OC4wMDBaPC9wdWJsaXNoZWQ+CiAgICA8dXBkYXRlZD4yMDEwLTA2LTI1VDIyOjQ3OjQ4LjMxOVo8L3VwZGF0ZWQ+CiAgICA8Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3I3Bob3RvJy8+CiAgICA8dGl0bGUgdHlwZT0ndGV4dCc+MDAwMDEuanBnPC90aXRsZT4KICAgIDxzdW1tYXJ5IHR5cGU9J3RleHQnLz4KICAgIDxjb250ZW50IHR5cGU9J2ltYWdlL2pwZWcnIHNyYz0naHR0cDovL2xoNS5nZ3BodC5jb20vXzItZmVtOVJveG1nL1RDVXlGTGZiMFNJL0FBQUFBQUFBRnhnL1AxV1pwbzNTSGlrL3M1MTIvMDAwMDEuanBnJy8+CiAgICA8bGluayByZWw9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8yMDA1I2ZlZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vZGF0YS9mZWVkL2FwaS91c2VyL2Jvc3NpbmZvNDUvYWxidW1pZC81NDg2ODQ2Nzc1NTYwNjMxNTM3L3Bob3RvaWQvNTQ4Njg0Njc4NTU4NjE4ODU3OCcvPgogICAgPGxpbmsgcmVsPSdhbHRlcm5hdGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2Jvc3NpbmZvNDUvVHJhbnNsb2thdGlvbjIwMTAjNTQ4Njg0Njc4NTU4NjE4ODU3OCcvPgogICAgPGxpbmsgcmVsPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL3Bob3Rvcy8yMDA3I2Nhbm9uaWNhbCcgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vcGljYXNhd2ViLmdvb2dsZS5jb20vbGgvcGhvdG8vcnZhZFhMQ0FrNFVLS1N4eFlPSFFWQScvPgogICAgPGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL3BpY2FzYXdlYi5nb29nbGUuY29tL2RhdGEvZW50cnkvYXBpL3VzZXIvYm9zc2luZm80NS9hbGJ1bWlkLzU0ODY4NDY3NzU1NjA2MzE1MzcvcGhvdG9pZC81NDg2ODQ2Nzg1NTg2MTg4NTc4Jy8+CiAgICA8bGluayByZWw9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vcGhvdG9zLzIwMDcjcmVwb3J0JyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9waWNhc2F3ZWIuZ29vZ2xlLmNvbS9saC9yZXBvcnRBYnVzZT91bmFtZT1ib3NzaW5mbzQ1JmFtcDthaWQ9NTQ4Njg0Njc3NTU2MDYzMTUzNyZhbXA7aWlkPTU0ODY4NDY3ODU1ODYxODg1NzgnLz4KICAgIDxncGhvdG86aWQ+NTQ4Njg0Njc4NTU4NjE4ODU3ODwvZ3Bob3RvOmlkPgogICAgPGdwaG90bzp2ZXJzaW9uPjE8L2dwaG90bzp2ZXJzaW9uPgogICAgPGdwaG90bzpwb3NpdGlvbj4xLjA8L2dwaG90bzpwb3NpdGlvbj4KICAgIDxncGhvdG86YWxidW1pZD41NDg2ODQ2Nzc1NTYwNjMxNTM3PC9ncGhvdG86YWxidW1pZD4KICAgIDxncGhvdG86YWNjZXNzPnB1YmxpYzwvZ3Bob3RvOmFjY2Vzcz4KICAgIDxncGhvdG86d2lkdGg+MTYwMDwvZ3Bob3RvOndpZHRoPgogICAgPGdwaG90bzpoZWlnaHQ+MTA2MzwvZ3Bob3RvOmhlaWdodD4KICAgIDxncGhvdG86c2l6ZT4xOTExMDk8L2dwaG90bzpzaXplPgogICAgPGdwaG90bzpjbGllbnQ+cGljYXNhPC9ncGhvdG86Y2xpZW50PgogICAgPGdwaG90bzpjaGVja3N1bT44ZDk2MDA0NjwvZ3Bob3RvOmNoZWNrc3VtPgogICAgPGdwaG90bzp0aW1lc3RhbXA+MTI3NzQ2NDMzMzAwMDwvZ3Bob3RvOnRpbWVzdGFtcD4KICAgIDxncGhvdG86aW1hZ2VWZXJzaW9uPjU5MTI8L2dwaG90bzppbWFnZVZlcnNpb24+CiAgICA8Z3Bob3RvOmNvbW1lbnRDb3VudD4wPC9ncGhvdG86Y29tbWVudENvdW50PgogICAgPGdwaG90bzpsaWNlbnNlIGlkPScwJyBuYW1lPSdBbGwgUmlnaHRzIFJlc2VydmVkJyB1cmw9Jyc+QUxMX1JJR0hUU19SRVNFUlZFRDwvZ3Bob3RvOmxpY2Vuc2U+CiAgICA8ZXhpZjp0YWdzPgogICAgICA8ZXhpZjpmc3RvcD43LjE8L2V4aWY6ZnN0b3A+CiAgICAgIDxleGlmOm1ha2U+TklLT04gQ09SUE9SQVRJT048L2V4aWY6bWFrZT4KICAgICAgPGV4aWY6bW9kZWw+TklLT04gRDkwPC9leGlmOm1vZGVsPgogICAgICA8ZXhpZjpleHBvc3VyZT4wLjAxNjY2NjY2ODwvZXhpZjpleHBvc3VyZT4KICAgICAgPGV4aWY6Zmxhc2g+dHJ1ZTwvZXhpZjpmbGFzaD4KICAgICAgPGV4aWY6Zm9jYWxsZW5ndGg+MTM1LjA8L2V4aWY6Zm9jYWxsZW5ndGg+CiAgICAgIDxleGlmOmlzbz4yMDAwPC9leGlmOmlzbz4KICAgICAgPGV4aWY6dGltZT4xMjc3NDY0MzMzMDAwPC9leGlmOnRpbWU+CiAgICAgIDxleGlmOmltYWdlVW5pcXVlSUQ+YThiMzM5YTQ1MDU0ODc3MWFiYmYxM2Y2ZmMyMjIyOTc8L2V4aWY6aW1hZ2VVbmlxdWVJRD4KICAgIDwvZXhpZjp0YWdzPgogICAgPG1lZGlhOmdyb3VwPgogICAgICA8bWVkaWE6Y29udGVudCB1cmw9J2h0dHA6Ly9saDUuZ2dwaHQuY29tL18yLWZlbTlSb3htZy9UQ1V5RkxmYjBTSS9BQUFBQUFBQUZ4Zy9QMVdacG8zU0hpay9zNTEyLzAwMDAxLmpwZycgaGVpZ2h0PSczNDEnIHdpZHRoPSc1MTInIHR5cGU9J2ltYWdlL2pwZWcnIG1lZGl1bT0naW1hZ2UnLz4KICAgICAgPG1lZGlhOmNyZWRpdD5Nb2dlbnM8L21lZGlhOmNyZWRpdD4KICAgICAgPG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJy8+CiAgICAgIDxtZWRpYTprZXl3b3Jkcy8+CiAgICAgIDxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vbGg1LmdncGh0LmNvbS9fMi1mZW05Um94bWcvVENVeUZMZmIwU0kvQUFBQUFBQUFGeGcvUDFXWnBvM1NIaWsvczY0LWMvMDAwMDEuanBnJyBoZWlnaHQ9JzY0JyB3aWR0aD0nNjQnLz4KICAgICAgPG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz4wMDAwMS5qcGc8L21lZGlhOnRpdGxlPgogICAgPC9tZWRpYTpncm91cD4KICA8L2VudHJ5PgogIAo8L2ZlZWQ+]]></data>
	</file>
</module>
