<?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>CMSForms</name>
	<version>0.0.24</version>
  <mincmsversion>1.9.4.2</mincmsversion>
	<help><![CDATA[PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgJmx0O2N5YmVydG90b3BoZUBnbWFpbC5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMC4wLjI0PGJyIC8+]]></about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/COMMIT_EDITMSG</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Rmlyc3QgQ01TRm9ybXMgY29tbWl0Cg==]]></data>
	</file>
	<file>
	  <filename>/.git/config</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W2NvcmVdCglyZXBvc2l0b3J5Zm9ybWF0dmVyc2lvbiA9IDAKCWZpbGVtb2RlID0gdHJ1ZQoJYmFyZSA9IGZhbHNlCglsb2dhbGxyZWZ1cGRhdGVzID0gdHJ1ZQoJaWdub3JlY2FzZSA9IHRydWUKW3JlbW90ZSAib3JpZ2luIl0KCXVybCA9IGdpdEBnaXRodWIuY29tOnRvdG9waGUvQ01TRm9ybXMuZ2l0CglmZXRjaCA9ICtyZWZzL2hlYWRzLyo6cmVmcy9yZW1vdGVzL29yaWdpbi8qClticmFuY2ggIm1hc3RlciJdCglyZW1vdGUgPSBvcmlnaW4KCW1lcmdlID0gcmVmcy9oZWFkcy9tYXN0ZXIK]]></data>
	</file>
	<file>
	  <filename>/.git/description</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VW5uYW1lZCByZXBvc2l0b3J5OyBlZGl0IHRoaXMgZmlsZSAnZGVzY3JpcHRpb24nIHRvIG5hbWUgdGhlIHJlcG9zaXRvcnkuCg==]]></data>
	</file>
	<file>
	  <filename>/.git/HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[cmVmOiByZWZzL2hlYWRzL21hc3Rlcgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/hooks/applypatch-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGNoZWNrIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UgdGFrZW4gYnkKIyBhcHBseXBhdGNoIGZyb20gYW4gZS1tYWlsIG1lc3NhZ2UuCiMKIyBUaGUgaG9vayBzaG91bGQgZXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1cyBhZnRlciBpc3N1aW5nIGFuCiMgYXBwcm9wcmlhdGUgbWVzc2FnZSBpZiBpdCB3YW50cyB0byBzdG9wIHRoZSBjb21taXQuICBUaGUgaG9vayBpcwojIGFsbG93ZWQgdG8gZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UgZmlsZS4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gImFwcGx5cGF0Y2gtbXNnIi4KCi4gZ2l0LXNoLXNldHVwCnRlc3QgLXggIiRHSVRfRElSL2hvb2tzL2NvbW1pdC1tc2ciICYmCglleGVjICIkR0lUX0RJUi9ob29rcy9jb21taXQtbXNnIiAkezErIiRAIn0KOgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/commit-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGNoZWNrIHRoZSBjb21taXQgbG9nIG1lc3NhZ2UuCiMgQ2FsbGVkIGJ5ICJnaXQgY29tbWl0IiB3aXRoIG9uZSBhcmd1bWVudCwgdGhlIG5hbWUgb2YgdGhlIGZpbGUKIyB0aGF0IGhhcyB0aGUgY29tbWl0IG1lc3NhZ2UuICBUaGUgaG9vayBzaG91bGQgZXhpdCB3aXRoIG5vbi16ZXJvCiMgc3RhdHVzIGFmdGVyIGlzc3VpbmcgYW4gYXBwcm9wcmlhdGUgbWVzc2FnZSBpZiBpdCB3YW50cyB0byBzdG9wIHRoZQojIGNvbW1pdC4gIFRoZSBob29rIGlzIGFsbG93ZWQgdG8gZWRpdCB0aGUgY29tbWl0IG1lc3NhZ2UgZmlsZS4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gImNvbW1pdC1tc2ciLgoKIyBVbmNvbW1lbnQgdGhlIGJlbG93IHRvIGFkZCBhIFNpZ25lZC1vZmYtYnkgbGluZSB0byB0aGUgbWVzc2FnZS4KIyBEb2luZyB0aGlzIGluIGEgaG9vayBpcyBhIGJhZCBpZGVhIGluIGdlbmVyYWwsIGJ1dCB0aGUgcHJlcGFyZS1jb21taXQtbXNnCiMgaG9vayBpcyBtb3JlIHN1aXRlZCB0byBpdC4KIwojIFNPQj0kKGdpdCB2YXIgR0lUX0FVVEhPUl9JREVOVCB8IHNlZCAtbiAncy9eXCguKj5cKS4qJC9TaWduZWQtb2ZmLWJ5OiBcMS9wJykKIyBncmVwIC1xcyAiXiRTT0IiICIkMSIgfHwgZWNobyAiJFNPQiIgPj4gIiQxIgoKIyBUaGlzIGV4YW1wbGUgY2F0Y2hlcyBkdXBsaWNhdGUgU2lnbmVkLW9mZi1ieSBsaW5lcy4KCnRlc3QgIiIgPSAiJChncmVwICdeU2lnbmVkLW9mZi1ieTogJyAiJDEiIHwKCSBzb3J0IHwgdW5pcSAtYyB8IHNlZCAtZSAnL15bIAldKjFbIAldL2QnKSIgfHwgewoJZWNobyA+JjIgRHVwbGljYXRlIFNpZ25lZC1vZmYtYnkgbGluZXMuCglleGl0IDEKfQo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-commit.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRoYXQgaXMgY2FsbGVkIGFmdGVyIGEgc3VjY2Vzc2Z1bAojIGNvbW1pdCBpcyBtYWRlLgojCiMgVG8gZW5hYmxlIHRoaXMgaG9vaywgcmVuYW1lIHRoaXMgZmlsZSB0byAicG9zdC1jb21taXQiLgoKOiBOb3RoaW5nCg==]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-receive.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IGZvciB0aGUgInBvc3QtcmVjZWl2ZSIgZXZlbnQuCiMKIyBUaGUgInBvc3QtcmVjZWl2ZSIgc2NyaXB0IGlzIHJ1biBhZnRlciByZWNlaXZlLXBhY2sgaGFzIGFjY2VwdGVkIGEgcGFjawojIGFuZCB0aGUgcmVwb3NpdG9yeSBoYXMgYmVlbiB1cGRhdGVkLiAgSXQgaXMgcGFzc2VkIGFyZ3VtZW50cyBpbiB0aHJvdWdoCiMgc3RkaW4gaW4gdGhlIGZvcm0KIyAgPG9sZHJldj4gPG5ld3Jldj4gPHJlZm5hbWU+CiMgRm9yIGV4YW1wbGU6CiMgIGFhNDUzMjE2ZDFiM2U0OWU3ZjZmOTg0NDFmYTU2OTQ2ZGRjZDZhMjAgNjhmN2FiZjRlNmY5MjI4MDc4ODlmNTJiYzA0M2VjZDMxYjc5ZjgxNCByZWZzL2hlYWRzL21hc3RlcgojCiMgc2VlIGNvbnRyaWIvaG9va3MvIGZvciBhIHNhbXBsZSwgb3IgdW5jb21tZW50IHRoZSBuZXh0IGxpbmUgYW5kCiMgcmVuYW1lIHRoZSBmaWxlIHRvICJwb3N0LXJlY2VpdmUiLgoKIy4gL3Vzci9zaGFyZS9kb2MvZ2l0LWNvcmUvY29udHJpYi9ob29rcy9wb3N0LXJlY2VpdmUtZW1haWwK]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/post-update.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHByZXBhcmUgYSBwYWNrZWQgcmVwb3NpdG9yeSBmb3IgdXNlIG92ZXIKIyBkdW1iIHRyYW5zcG9ydHMuCiMKIyBUbyBlbmFibGUgdGhpcyBob29rLCByZW5hbWUgdGhpcyBmaWxlIHRvICJwb3N0LXVwZGF0ZSIuCgpleGVjIGdpdCB1cGRhdGUtc2VydmVyLWluZm8K]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-applypatch.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHZlcmlmeSB3aGF0IGlzIGFib3V0IHRvIGJlIGNvbW1pdHRlZAojIGJ5IGFwcGx5cGF0Y2ggZnJvbSBhbiBlLW1haWwgbWVzc2FnZS4KIwojIFRoZSBob29rIHNob3VsZCBleGl0IHdpdGggbm9uLXplcm8gc3RhdHVzIGFmdGVyIGlzc3VpbmcgYW4KIyBhcHByb3ByaWF0ZSBtZXNzYWdlIGlmIGl0IHdhbnRzIHRvIHN0b3AgdGhlIGNvbW1pdC4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInByZS1hcHBseXBhdGNoIi4KCi4gZ2l0LXNoLXNldHVwCnRlc3QgLXggIiRHSVRfRElSL2hvb2tzL3ByZS1jb21taXQiICYmCglleGVjICIkR0lUX0RJUi9ob29rcy9wcmUtY29tbWl0IiAkezErIiRAIn0KOgo=]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-commit.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHZlcmlmeSB3aGF0IGlzIGFib3V0IHRvIGJlIGNvbW1pdHRlZC4KIyBDYWxsZWQgYnkgImdpdCBjb21taXQiIHdpdGggbm8gYXJndW1lbnRzLiAgVGhlIGhvb2sgc2hvdWxkCiMgZXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1cyBhZnRlciBpc3N1aW5nIGFuIGFwcHJvcHJpYXRlIG1lc3NhZ2UgaWYKIyBpdCB3YW50cyB0byBzdG9wIHRoZSBjb21taXQuCiMKIyBUbyBlbmFibGUgdGhpcyBob29rLCByZW5hbWUgdGhpcyBmaWxlIHRvICJwcmUtY29tbWl0Ii4KCmlmIGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgSEVBRCA+L2Rldi9udWxsIDI+JjEKdGhlbgoJYWdhaW5zdD1IRUFECmVsc2UKCSMgSW5pdGlhbCBjb21taXQ6IGRpZmYgYWdhaW5zdCBhbiBlbXB0eSB0cmVlIG9iamVjdAoJYWdhaW5zdD00YjgyNWRjNjQyY2I2ZWI5YTA2MGU1NGJmOGQ2OTI4OGZiZWU0OTA0CmZpCgojIElmIHlvdSB3YW50IHRvIGFsbG93IG5vbi1hc2NpaSBmaWxlbmFtZXMgc2V0IHRoaXMgdmFyaWFibGUgdG8gdHJ1ZS4KYWxsb3dub25hc2NpaT0kKGdpdCBjb25maWcgaG9va3MuYWxsb3dub25hc2NpaSkKCiMgQ3Jvc3MgcGxhdGZvcm0gcHJvamVjdHMgdGVuZCB0byBhdm9pZCBub24tYXNjaWkgZmlsZW5hbWVzOyBwcmV2ZW50CiMgdGhlbSBmcm9tIGJlaW5nIGFkZGVkIHRvIHRoZSByZXBvc2l0b3J5LiBXZSBleHBsb2l0IHRoZSBmYWN0IHRoYXQgdGhlCiMgcHJpbnRhYmxlIHJhbmdlIHN0YXJ0cyBhdCB0aGUgc3BhY2UgY2hhcmFjdGVyIGFuZCBlbmRzIHdpdGggdGlsZGUuCmlmIFsgIiRhbGxvd25vbmFzY2lpIiAhPSAidHJ1ZSIgXSAmJgoJIyBOb3RlIHRoYXQgdGhlIHVzZSBvZiBicmFja2V0cyBhcm91bmQgYSB0ciByYW5nZSBpcyBvayBoZXJlLCAoaXQncwoJIyBldmVuIHJlcXVpcmVkLCBmb3IgcG9ydGFiaWxpdHkgdG8gU29sYXJpcyAxMCdzIC91c3IvYmluL3RyKSwgc2luY2UKCSMgdGhlIHNxdWFyZSBicmFja2V0IGJ5dGVzIGhhcHBlbiB0byBmYWxsIGluIHRoZSBkZXNpZ25hdGVkIHJhbmdlLgoJdGVzdCAiJChnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtb25seSAtLWRpZmYtZmlsdGVyPUEgLXogJGFnYWluc3QgfAoJICBMQ19BTEw9QyB0ciAtZCAnWyAtfl1cMCcpIgp0aGVuCgllY2hvICJFcnJvcjogQXR0ZW1wdCB0byBhZGQgYSBub24tYXNjaWkgZmlsZSBuYW1lLiIKCWVjaG8KCWVjaG8gIlRoaXMgY2FuIGNhdXNlIHByb2JsZW1zIGlmIHlvdSB3YW50IHRvIHdvcmsiCgllY2hvICJ3aXRoIHBlb3BsZSBvbiBvdGhlciBwbGF0Zm9ybXMuIgoJZWNobwoJZWNobyAiVG8gYmUgcG9ydGFibGUgaXQgaXMgYWR2aXNhYmxlIHRvIHJlbmFtZSB0aGUgZmlsZSAuLi4iCgllY2hvCgllY2hvICJJZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcgeW91IGNhbiBkaXNhYmxlIHRoaXMiCgllY2hvICJjaGVjayB1c2luZzoiCgllY2hvCgllY2hvICIgIGdpdCBjb25maWcgaG9va3MuYWxsb3dub25hc2NpaSB0cnVlIgoJZWNobwoJZXhpdCAxCmZpCgpleGVjIGdpdCBkaWZmLWluZGV4IC0tY2hlY2sgLS1jYWNoZWQgJGFnYWluc3QgLS0K]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/pre-rebase.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDggSnVuaW8gQyBIYW1hbm8KIwojIFRoZSAicHJlLXJlYmFzZSIgaG9vayBpcyBydW4ganVzdCBiZWZvcmUgImdpdCByZWJhc2UiIHN0YXJ0cyBkb2luZwojIGl0cyBqb2IsIGFuZCBjYW4gcHJldmVudCB0aGUgY29tbWFuZCBmcm9tIHJ1bm5pbmcgYnkgZXhpdGluZyB3aXRoCiMgbm9uLXplcm8gc3RhdHVzLgojCiMgVGhlIGhvb2sgaXMgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgojCiMgJDEgLS0gdGhlIHVwc3RyZWFtIHRoZSBzZXJpZXMgd2FzIGZvcmtlZCBmcm9tLgojICQyIC0tIHRoZSBicmFuY2ggYmVpbmcgcmViYXNlZCAob3IgZW1wdHkgd2hlbiByZWJhc2luZyB0aGUgY3VycmVudCBicmFuY2gpLgojCiMgVGhpcyBzYW1wbGUgc2hvd3MgaG93IHRvIHByZXZlbnQgdG9waWMgYnJhbmNoZXMgdGhhdCBhcmUgYWxyZWFkeQojIG1lcmdlZCB0byAnbmV4dCcgYnJhbmNoIGZyb20gZ2V0dGluZyByZWJhc2VkLCBiZWNhdXNlIGFsbG93aW5nIGl0CiMgd291bGQgcmVzdWx0IGluIHJlYmFzaW5nIGFscmVhZHkgcHVibGlzaGVkIGhpc3RvcnkuCgpwdWJsaXNoPW5leHQKYmFzZWJyYW5jaD0iJDEiCmlmIHRlc3QgIiQjIiA9IDIKdGhlbgoJdG9waWM9InJlZnMvaGVhZHMvJDIiCmVsc2UKCXRvcGljPWBnaXQgc3ltYm9saWMtcmVmIEhFQURgIHx8CglleGl0IDAgOyMgd2UgZG8gbm90IGludGVycnVwdCByZWJhc2luZyBkZXRhY2hlZCBIRUFECmZpCgpjYXNlICIkdG9waWMiIGluCnJlZnMvaGVhZHMvPz8vKikKCTs7CiopCglleGl0IDAgOyMgd2UgZG8gbm90IGludGVycnVwdCBvdGhlcnMuCgk7Owplc2FjCgojIE5vdyB3ZSBhcmUgZGVhbGluZyB3aXRoIGEgdG9waWMgYnJhbmNoIGJlaW5nIHJlYmFzZWQKIyBvbiB0b3Agb2YgbWFzdGVyLiAgSXMgaXQgT0sgdG8gcmViYXNlIGl0PwoKIyBEb2VzIHRoZSB0b3BpYyByZWFsbHkgZXhpc3Q/CmdpdCBzaG93LXJlZiAtcSAiJHRvcGljIiB8fCB7CgllY2hvID4mMiAiTm8gc3VjaCBicmFuY2ggJHRvcGljIgoJZXhpdCAxCn0KCiMgSXMgdG9waWMgZnVsbHkgbWVyZ2VkIHRvIG1hc3Rlcj8Kbm90X2luX21hc3Rlcj1gZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgXm1hc3RlciAiJHRvcGljImAKaWYgdGVzdCAteiAiJG5vdF9pbl9tYXN0ZXIiCnRoZW4KCWVjaG8gPiYyICIkdG9waWMgaXMgZnVsbHkgbWVyZ2VkIHRvIG1hc3RlcjsgYmV0dGVyIHJlbW92ZSBpdC4iCglleGl0IDEgOyMgd2UgY291bGQgYWxsb3cgaXQsIGJ1dCB0aGVyZSBpcyBubyBwb2ludC4KZmkKCiMgSXMgdG9waWMgZXZlciBtZXJnZWQgdG8gbmV4dD8gIElmIHNvIHlvdSBzaG91bGQgbm90IGJlIHJlYmFzaW5nIGl0Lgpvbmx5X25leHRfMT1gZ2l0IHJldi1saXN0IF5tYXN0ZXIgIl4kdG9waWMiICR7cHVibGlzaH0gfCBzb3J0YApvbmx5X25leHRfMj1gZ2l0IHJldi1saXN0IF5tYXN0ZXIgICAgICAgICAgICR7cHVibGlzaH0gfCBzb3J0YAppZiB0ZXN0ICIkb25seV9uZXh0XzEiID0gIiRvbmx5X25leHRfMiIKdGhlbgoJbm90X2luX3RvcGljPWBnaXQgcmV2LWxpc3QgIl4kdG9waWMiIG1hc3RlcmAKCWlmIHRlc3QgLXogIiRub3RfaW5fdG9waWMiCgl0aGVuCgkJZWNobyA+JjIgIiR0b3BpYyBpcyBhbHJlYWR5IHVwLXRvLWRhdGUgd2l0aCBtYXN0ZXIiCgkJZXhpdCAxIDsjIHdlIGNvdWxkIGFsbG93IGl0LCBidXQgdGhlcmUgaXMgbm8gcG9pbnQuCgllbHNlCgkJZXhpdCAwCglmaQplbHNlCglub3RfaW5fbmV4dD1gZ2l0IHJldi1saXN0IC0tcHJldHR5PW9uZWxpbmUgXiR7cHVibGlzaH0gIiR0b3BpYyJgCgkvb3B0L2xvY2FsL2Jpbi9wZXJsIC1lICcKCQlteSAkdG9waWMgPSAkQVJHVlswXTsKCQlteSAkbXNnID0gIiogJHRvcGljIGhhcyBjb21taXRzIGFscmVhZHkgbWVyZ2VkIHRvIHB1YmxpYyBicmFuY2g6XG4iOwoJCW15ICglbm90X2luX25leHQpID0gbWFwIHsKCQkJL14oWzAtOWEtZl0rKSAvOwoJCQkoJDEgPT4gMSk7CgkJfSBzcGxpdCgvXG4vLCAkQVJHVlsxXSk7CgkJZm9yIG15ICRlbGVtIChtYXAgewoJCQkJL14oWzAtOWEtZl0rKSAoLiopJC87CgkJCQlbJDEgPT4gJDJdOwoJCQl9IHNwbGl0KC9cbi8sICRBUkdWWzJdKSkgewoJCQlpZiAoIWV4aXN0cyAkbm90X2luX25leHR7JGVsZW0tPlswXX0pIHsKCQkJCWlmICgkbXNnKSB7CgkJCQkJcHJpbnQgU1RERVJSICRtc2c7CgkJCQkJdW5kZWYgJG1zZzsKCQkJCX0KCQkJCXByaW50IFNUREVSUiAiICRlbGVtLT5bMV1cbiI7CgkJCX0KCQl9CgknICIkdG9waWMiICIkbm90X2luX25leHQiICIkbm90X2luX21hc3RlciIKCWV4aXQgMQpmaQoKZXhpdCAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpUaGlzIHNhbXBsZSBob29rIHNhZmVndWFyZHMgdG9waWMgYnJhbmNoZXMgdGhhdCBoYXZlIGJlZW4KcHVibGlzaGVkIGZyb20gYmVpbmcgcmV3b3VuZC4KClRoZSB3b3JrZmxvdyBhc3N1bWVkIGhlcmUgaXM6CgogKiBPbmNlIGEgdG9waWMgYnJhbmNoIGZvcmtzIGZyb20gIm1hc3RlciIsICJtYXN0ZXIiIGlzIG5ldmVyCiAgIG1lcmdlZCBpbnRvIGl0IGFnYWluIChlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkuCgogKiBPbmNlIGEgdG9waWMgYnJhbmNoIGlzIGZ1bGx5IGNvb2tlZCBhbmQgbWVyZ2VkIGludG8gIm1hc3RlciIsCiAgIGl0IGlzIGRlbGV0ZWQuICBJZiB5b3UgbmVlZCB0byBidWlsZCBvbiB0b3Agb2YgaXQgdG8gY29ycmVjdAogICBlYXJsaWVyIG1pc3Rha2VzLCBhIG5ldyB0b3BpYyBicmFuY2ggaXMgY3JlYXRlZCBieSBmb3JraW5nIGF0CiAgIHRoZSB0aXAgb2YgdGhlICJtYXN0ZXIiLiAgVGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQKICAgaXQgbWFrZXMgaXQgZWFzaWVyIHRvIGtlZXAgeW91ciBoaXN0b3J5IHNpbXBsZS4KCiAqIFdoZW5ldmVyIHlvdSBuZWVkIHRvIHRlc3Qgb3IgcHVibGlzaCB5b3VyIGNoYW5nZXMgdG8gdG9waWMKICAgYnJhbmNoZXMsIG1lcmdlIHRoZW0gaW50byAibmV4dCIgYnJhbmNoLgoKVGhlIHNjcmlwdCwgYmVpbmcgYW4gZXhhbXBsZSwgaGFyZGNvZGVzIHRoZSBwdWJsaXNoIGJyYW5jaCBuYW1lCnRvIGJlICJuZXh0IiwgYnV0IGl0IGlzIHRyaXZpYWwgdG8gbWFrZSBpdCBjb25maWd1cmFibGUgdmlhCiRHSVRfRElSL2NvbmZpZyBtZWNoYW5pc20uCgpXaXRoIHRoaXMgd29ya2Zsb3csIHlvdSB3b3VsZCB3YW50IHRvIGtub3c6CgooMSkgLi4uIGlmIGEgdG9waWMgYnJhbmNoIGhhcyBldmVyIGJlZW4gbWVyZ2VkIHRvICJuZXh0Ii4gIFlvdW5nCiAgICB0b3BpYyBicmFuY2hlcyBjYW4gaGF2ZSBzdHVwaWQgbWlzdGFrZXMgeW91IHdvdWxkIHJhdGhlcgogICAgY2xlYW4gdXAgYmVmb3JlIHB1Ymxpc2hpbmcsIGFuZCB0aGluZ3MgdGhhdCBoYXZlIG5vdCBiZWVuCiAgICBtZXJnZWQgaW50byBvdGhlciBicmFuY2hlcyBjYW4gYmUgZWFzaWx5IHJlYmFzZWQgd2l0aG91dAogICAgYWZmZWN0aW5nIG90aGVyIHBlb3BsZS4gIEJ1dCBvbmNlIGl0IGlzIHB1Ymxpc2hlZCwgeW91IHdvdWxkCiAgICBub3Qgd2FudCB0byByZXdpbmQgaXQuCgooMikgLi4uIGlmIGEgdG9waWMgYnJhbmNoIGhhcyBiZWVuIGZ1bGx5IG1lcmdlZCB0byAibWFzdGVyIi4KICAgIFRoZW4geW91IGNhbiBkZWxldGUgaXQuICBNb3JlIGltcG9ydGFudGx5LCB5b3Ugc2hvdWxkIG5vdAogICAgYnVpbGQgb24gdG9wIG9mIGl0IC0tIG90aGVyIHBlb3BsZSBtYXkgYWxyZWFkeSB3YW50IHRvCiAgICBjaGFuZ2UgdGhpbmdzIHJlbGF0ZWQgdG8gdGhlIHRvcGljIGFzIHBhdGNoZXMgYWdhaW5zdCB5b3VyCiAgICAibWFzdGVyIiwgc28gaWYgeW91IG5lZWQgZnVydGhlciBjaGFuZ2VzLCBpdCBpcyBiZXR0ZXIgdG8KICAgIGZvcmsgdGhlIHRvcGljIChwZXJoYXBzIHdpdGggdGhlIHNhbWUgbmFtZSkgYWZyZXNoIGZyb20gdGhlCiAgICB0aXAgb2YgIm1hc3RlciIuCgpMZXQncyBsb29rIGF0IHRoaXMgZXhhbXBsZToKCgkJICAgby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tbyAibmV4dCIKCQkgIC8gICAgICAgLyAgICAgICAgICAgLyAgICAgICAgICAgLwoJCSAvICAgYS0tLWEtLS1iIEEgICAgIC8gICAgICAgICAgIC8KCQkvICAgLyAgICAgICAgICAgICAgIC8gICAgICAgICAgIC8KCSAgICAgICAvICAgLyAgIGMtLS1jLS0tYy0tLWMgQiAgICAgICAgIC8KCSAgICAgIC8gICAvICAgLyAgICAgICAgICAgICBcICAgICAgICAgLwoJICAgICAvICAgLyAgIC8gICBiLS0tYiBDICAgICBcICAgICAgIC8KCSAgICAvICAgLyAgIC8gICAvICAgICAgICAgICAgIFwgICAgIC8KICAgIC0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vLS0tby0tLW8tLS1vICJtYXN0ZXIiCgoKQSwgQiBhbmQgQyBhcmUgdG9waWMgYnJhbmNoZXMuCgogKiBBIGhhcyBvbmUgZml4IHNpbmNlIGl0IHdhcyBtZXJnZWQgdXAgdG8gIm5leHQiLgoKICogQiBoYXMgZmluaXNoZWQuICBJdCBoYXMgYmVlbiBmdWxseSBtZXJnZWQgdXAgdG8gIm1hc3RlciIgYW5kICJuZXh0IiwKICAgYW5kIGlzIHJlYWR5IHRvIGJlIGRlbGV0ZWQuCgogKiBDIGhhcyBub3QgbWVyZ2VkIHRvICJuZXh0IiBhdCBhbGwuCgpXZSB3b3VsZCB3YW50IHRvIGFsbG93IEMgdG8gYmUgcmViYXNlZCwgcmVmdXNlIEEsIGFuZCBlbmNvdXJhZ2UKQiB0byBiZSBkZWxldGVkLgoKVG8gY29tcHV0ZSAoMSk6CgoJZ2l0IHJldi1saXN0IF5tYXN0ZXIgXnRvcGljIG5leHQKCWdpdCByZXYtbGlzdCBebWFzdGVyICAgICAgICBuZXh0CgoJaWYgdGhlc2UgbWF0Y2gsIHRvcGljIGhhcyBub3QgbWVyZ2VkIGluIG5leHQgYXQgYWxsLgoKVG8gY29tcHV0ZSAoMik6CgoJZ2l0IHJldi1saXN0IG1hc3Rlci4udG9waWMKCglpZiB0aGlzIGlzIGVtcHR5LCBpdCBpcyBmdWxseSBtZXJnZWQgdG8gIm1hc3RlciIuCg==]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/prepare-commit-msg.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIHByZXBhcmUgdGhlIGNvbW1pdCBsb2cgbWVzc2FnZS4KIyBDYWxsZWQgYnkgImdpdCBjb21taXQiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGZpbGUgdGhhdCBoYXMgdGhlCiMgY29tbWl0IG1lc3NhZ2UsIGZvbGxvd2VkIGJ5IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY29tbWl0CiMgbWVzc2FnZSdzIHNvdXJjZS4gIFRoZSBob29rJ3MgcHVycG9zZSBpcyB0byBlZGl0IHRoZSBjb21taXQKIyBtZXNzYWdlIGZpbGUuICBJZiB0aGUgaG9vayBmYWlscyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLAojIHRoZSBjb21taXQgaXMgYWJvcnRlZC4KIwojIFRvIGVuYWJsZSB0aGlzIGhvb2ssIHJlbmFtZSB0aGlzIGZpbGUgdG8gInByZXBhcmUtY29tbWl0LW1zZyIuCgojIFRoaXMgaG9vayBpbmNsdWRlcyB0aHJlZSBleGFtcGxlcy4gIFRoZSBmaXJzdCBjb21tZW50cyBvdXQgdGhlCiMgIkNvbmZsaWN0czoiIHBhcnQgb2YgYSBtZXJnZSBjb21taXQuCiMKIyBUaGUgc2Vjb25kIGluY2x1ZGVzIHRoZSBvdXRwdXQgb2YgImdpdCBkaWZmIC0tbmFtZS1zdGF0dXMgLXIiCiMgaW50byB0aGUgbWVzc2FnZSwganVzdCBiZWZvcmUgdGhlICJnaXQgc3RhdHVzIiBvdXRwdXQuICBJdCBpcwojIGNvbW1lbnRlZCBiZWNhdXNlIGl0IGRvZXNuJ3QgY29wZSB3aXRoIC0tYW1lbmQgb3Igd2l0aCBzcXVhc2hlZAojIGNvbW1pdHMuCiMKIyBUaGUgdGhpcmQgZXhhbXBsZSBhZGRzIGEgU2lnbmVkLW9mZi1ieSBsaW5lIHRvIHRoZSBtZXNzYWdlLCB0aGF0IGNhbgojIHN0aWxsIGJlIGVkaXRlZC4gIFRoaXMgaXMgcmFyZWx5IGEgZ29vZCBpZGVhLgoKY2FzZSAiJDIsJDMiIGluCiAgbWVyZ2UsKQogICAgL29wdC9sb2NhbC9iaW4vcGVybCAtaS5iYWsgLW5lICdzL14vIyAvLCBzL14jICMvIy8gaWYgL15Db25mbGljdHMvIC4uIC8jLzsgcHJpbnQnICIkMSIgOzsKCiMgLHx0ZW1wbGF0ZSwpCiMgICAvb3B0L2xvY2FsL2Jpbi9wZXJsIC1pLmJhayAtcGUgJwojICAgICAgcHJpbnQgIlxuIiAuIGBnaXQgZGlmZiAtLWNhY2hlZCAtLW5hbWUtc3RhdHVzIC1yYAojCSBpZiAvXiMvICYmICRmaXJzdCsrID09IDAnICIkMSIgOzsKCiAgKikgOzsKZXNhYwoKIyBTT0I9JChnaXQgdmFyIEdJVF9BVVRIT1JfSURFTlQgfCBzZWQgLW4gJ3MvXlwoLio+XCkuKiQvU2lnbmVkLW9mZi1ieTogXDEvcCcpCiMgZ3JlcCAtcXMgIl4kU09CIiAiJDEiIHx8IGVjaG8gIiRTT0IiID4+ICIkMSIK]]></data>
	</file>
	<file>
	  <filename>/.git/hooks/update.sample</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyEvYmluL3NoCiMKIyBBbiBleGFtcGxlIGhvb2sgc2NyaXB0IHRvIGJsb2NrcyB1bmFubm90YXRlZCB0YWdzIGZyb20gZW50ZXJpbmcuCiMgQ2FsbGVkIGJ5ICJnaXQgcmVjZWl2ZS1wYWNrIiB3aXRoIGFyZ3VtZW50czogcmVmbmFtZSBzaGExLW9sZCBzaGExLW5ldwojCiMgVG8gZW5hYmxlIHRoaXMgaG9vaywgcmVuYW1lIHRoaXMgZmlsZSB0byAidXBkYXRlIi4KIwojIENvbmZpZwojIC0tLS0tLQojIGhvb2tzLmFsbG93dW5hbm5vdGF0ZWQKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgdW5hbm5vdGF0ZWQgdGFncyB3aWxsIGJlIGFsbG93ZWQgaW50byB0aGUKIyAgIHJlcG9zaXRvcnkuICBCeSBkZWZhdWx0IHRoZXkgd29uJ3QgYmUuCiMgaG9va3MuYWxsb3dkZWxldGV0YWcKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgZGVsZXRpbmcgdGFncyB3aWxsIGJlIGFsbG93ZWQgaW4gdGhlCiMgICByZXBvc2l0b3J5LiAgQnkgZGVmYXVsdCB0aGV5IHdvbid0IGJlLgojIGhvb2tzLmFsbG93bW9kaWZ5dGFnCiMgICBUaGlzIGJvb2xlYW4gc2V0cyB3aGV0aGVyIGEgdGFnIG1heSBiZSBtb2RpZmllZCBhZnRlciBjcmVhdGlvbi4gQnkgZGVmYXVsdAojICAgaXQgd29uJ3QgYmUuCiMgaG9va3MuYWxsb3dkZWxldGVicmFuY2gKIyAgIFRoaXMgYm9vbGVhbiBzZXRzIHdoZXRoZXIgZGVsZXRpbmcgYnJhbmNoZXMgd2lsbCBiZSBhbGxvd2VkIGluIHRoZQojICAgcmVwb3NpdG9yeS4gIEJ5IGRlZmF1bHQgdGhleSB3b24ndCBiZS4KIyBob29rcy5kZW55Y3JlYXRlYnJhbmNoCiMgICBUaGlzIGJvb2xlYW4gc2V0cyB3aGV0aGVyIHJlbW90ZWx5IGNyZWF0aW5nIGJyYW5jaGVzIHdpbGwgYmUgZGVuaWVkCiMgICBpbiB0aGUgcmVwb3NpdG9yeS4gIEJ5IGRlZmF1bHQgdGhpcyBpcyBhbGxvd2VkLgojCgojIC0tLSBDb21tYW5kIGxpbmUKcmVmbmFtZT0iJDEiCm9sZHJldj0iJDIiCm5ld3Jldj0iJDMiCgojIC0tLSBTYWZldHkgY2hlY2sKaWYgWyAteiAiJEdJVF9ESVIiIF07IHRoZW4KCWVjaG8gIkRvbid0IHJ1biB0aGlzIHNjcmlwdCBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIiA+JjIKCWVjaG8gIiAoaWYgeW91IHdhbnQsIHlvdSBjb3VsZCBzdXBwbHkgR0lUX0RJUiB0aGVuIHJ1biIgPiYyCgllY2hvICIgICQwIDxyZWY+IDxvbGRyZXY+IDxuZXdyZXY+KSIgPiYyCglleGl0IDEKZmkKCmlmIFsgLXogIiRyZWZuYW1lIiAtbyAteiAiJG9sZHJldiIgLW8gLXogIiRuZXdyZXYiIF07IHRoZW4KCWVjaG8gIlVzYWdlOiAkMCA8cmVmPiA8b2xkcmV2PiA8bmV3cmV2PiIgPiYyCglleGl0IDEKZmkKCiMgLS0tIENvbmZpZwphbGxvd3VuYW5ub3RhdGVkPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3d1bmFubm90YXRlZCkKYWxsb3dkZWxldGVicmFuY2g9JChnaXQgY29uZmlnIC0tYm9vbCBob29rcy5hbGxvd2RlbGV0ZWJyYW5jaCkKZGVueWNyZWF0ZWJyYW5jaD0kKGdpdCBjb25maWcgLS1ib29sIGhvb2tzLmRlbnljcmVhdGVicmFuY2gpCmFsbG93ZGVsZXRldGFnPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dkZWxldGV0YWcpCmFsbG93bW9kaWZ5dGFnPSQoZ2l0IGNvbmZpZyAtLWJvb2wgaG9va3MuYWxsb3dtb2RpZnl0YWcpCgojIGNoZWNrIGZvciBubyBkZXNjcmlwdGlvbgpwcm9qZWN0ZGVzYz0kKHNlZCAtZSAnMXEnICIkR0lUX0RJUi9kZXNjcmlwdGlvbiIpCmNhc2UgIiRwcm9qZWN0ZGVzYyIgaW4KIlVubmFtZWQgcmVwb3NpdG9yeSIqIHwgIiIpCgllY2hvICIqKiogUHJvamVjdCBkZXNjcmlwdGlvbiBmaWxlIGhhc24ndCBiZWVuIHNldCIgPiYyCglleGl0IDEKCTs7CmVzYWMKCiMgLS0tIENoZWNrIHR5cGVzCiMgaWYgJG5ld3JldiBpcyAwMDAwLi4uMDAwMCwgaXQncyBhIGNvbW1pdCB0byBkZWxldGUgYSByZWYuCnplcm89IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCmlmIFsgIiRuZXdyZXYiID0gIiR6ZXJvIiBdOyB0aGVuCgluZXdyZXZfdHlwZT1kZWxldGUKZWxzZQoJbmV3cmV2X3R5cGU9JChnaXQgY2F0LWZpbGUgLXQgJG5ld3JldikKZmkKCmNhc2UgIiRyZWZuYW1lIiwiJG5ld3Jldl90eXBlIiBpbgoJcmVmcy90YWdzLyosY29tbWl0KQoJCSMgdW4tYW5ub3RhdGVkIHRhZwoJCXNob3J0X3JlZm5hbWU9JHtyZWZuYW1lIyNyZWZzL3RhZ3MvfQoJCWlmIFsgIiRhbGxvd3VuYW5ub3RhdGVkIiAhPSAidHJ1ZSIgXTsgdGhlbgoJCQllY2hvICIqKiogVGhlIHVuLWFubm90YXRlZCB0YWcsICRzaG9ydF9yZWZuYW1lLCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHJlcG9zaXRvcnkiID4mMgoJCQllY2hvICIqKiogVXNlICdnaXQgdGFnIFsgLWEgfCAtcyBdJyBmb3IgdGFncyB5b3Ugd2FudCB0byBwcm9wYWdhdGUuIiA+JjIKCQkJZXhpdCAxCgkJZmkKCQk7OwoJcmVmcy90YWdzLyosZGVsZXRlKQoJCSMgZGVsZXRlIHRhZwoJCWlmIFsgIiRhbGxvd2RlbGV0ZXRhZyIgIT0gInRydWUiIF07IHRoZW4KCQkJZWNobyAiKioqIERlbGV0aW5nIGEgdGFnIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgcmVwb3NpdG9yeSIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvdGFncy8qLHRhZykKCQkjIGFubm90YXRlZCB0YWcKCQlpZiBbICIkYWxsb3dtb2RpZnl0YWciICE9ICJ0cnVlIiBdICYmIGdpdCByZXYtcGFyc2UgJHJlZm5hbWUgPiAvZGV2L251bGwgMj4mMQoJCXRoZW4KCQkJZWNobyAiKioqIFRhZyAnJHJlZm5hbWUnIGFscmVhZHkgZXhpc3RzLiIgPiYyCgkJCWVjaG8gIioqKiBNb2RpZnlpbmcgYSB0YWcgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyByZXBvc2l0b3J5LiIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvaGVhZHMvKixjb21taXQpCgkJIyBicmFuY2gKCQlpZiBbICIkb2xkcmV2IiA9ICIkemVybyIgLWEgIiRkZW55Y3JlYXRlYnJhbmNoIiA9ICJ0cnVlIiBdOyB0aGVuCgkJCWVjaG8gIioqKiBDcmVhdGluZyBhIGJyYW5jaCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHJlcG9zaXRvcnkiID4mMgoJCQlleGl0IDEKCQlmaQoJCTs7CglyZWZzL2hlYWRzLyosZGVsZXRlKQoJCSMgZGVsZXRlIGJyYW5jaAoJCWlmIFsgIiRhbGxvd2RlbGV0ZWJyYW5jaCIgIT0gInRydWUiIF07IHRoZW4KCQkJZWNobyAiKioqIERlbGV0aW5nIGEgYnJhbmNoIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgcmVwb3NpdG9yeSIgPiYyCgkJCWV4aXQgMQoJCWZpCgkJOzsKCXJlZnMvcmVtb3Rlcy8qLGNvbW1pdCkKCQkjIHRyYWNraW5nIGJyYW5jaAoJCTs7CglyZWZzL3JlbW90ZXMvKixkZWxldGUpCgkJIyBkZWxldGUgdHJhY2tpbmcgYnJhbmNoCgkJaWYgWyAiJGFsbG93ZGVsZXRlYnJhbmNoIiAhPSAidHJ1ZSIgXTsgdGhlbgoJCQllY2hvICIqKiogRGVsZXRpbmcgYSB0cmFja2luZyBicmFuY2ggaXMgbm90IGFsbG93ZWQgaW4gdGhpcyByZXBvc2l0b3J5IiA+JjIKCQkJZXhpdCAxCgkJZmkKCQk7OwoJKikKCQkjIEFueXRoaW5nIGVsc2UgKGlzIHRoZXJlIGFueXRoaW5nIGVsc2U/KQoJCWVjaG8gIioqKiBVcGRhdGUgaG9vazogdW5rbm93biB0eXBlIG9mIHVwZGF0ZSB0byByZWYgJHJlZm5hbWUgb2YgdHlwZSAkbmV3cmV2X3R5cGUiID4mMgoJCWV4aXQgMQoJCTs7CmVzYWMKCiMgLS0tIEZpbmlzaGVkCmV4aXQgMAo=]]></data>
	</file>
	<file>
	  <filename>/.git/index</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RElSQwAAAAIAAAAGTaxQxwAAAABNrFDHAAAAAA4AAAYAAB3XAACBpAAAAfUAAAAUAAAC2L/7S6H0L2DmaJNey47jqmwACd9kABNDTVNGb3Jtcy5tb2R1bGUucGhwAAAAAAAAAE1+RlgAAAAATX5GWAAAAAAOAAAGAAAd2QAAgaQAAAH1AAAAFAAAAZ1bW4hqs+H8slqgB1a5bozZWKIXtgAObGFuZy9lbl9VUy5waHAAAAAATb6ffwAAAABNlHyBAAAAAA4AAAYAAB3cAACBpAAAAfUAAAAUAAAfnykA54hLI9ciRYeS2ZQIjyRoTmHBAB1saWIvY2xhc3Nlcy9DTVNGb3JtLmNsYXNzLnBocAAAAAAATRjNWQAAAABM5nC6AAAAAA4AAAYAAB3dAACBpAAAAfUAAAAUAAASQlI70kYeGKjQtBeak8mV9Epb2i/XACZsaWIvY2xhc3Nlcy9DTVNGb3JtVmFsaWRhdG9yLmNsYXNzLnBocAAAAABNwswDAAAAAE2sUPoAAAAADgAABgAAHd4AAIGkAAAB9QAAABQAAFzO0aqpG12T1RymUozDM0e1I6rs4hIAI2xpYi9jbGFzc2VzL0NNU0Zvcm1XaWRnZXQuY2xhc3MucGhwAAAAAAAAAE0bEp8AAAAATOUizgAAAAAOAAAGAAAd4AAAgaQAAAH1AAAAFAAAAm8mDGhHhFLDjGeju5IHN2qPJ2tEMAAYdGVtcGxhdGVzL2FkbWluLmZvcm0udHBsAAAgp/c8LALFuYzWfjl8U6iX4ajtVQ==]]></data>
	</file>
	<file>
	  <filename>/.git/info/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/info/exclude</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBnaXQgbHMtZmlsZXMgLS1vdGhlcnMgLS1leGNsdWRlLWZyb209LmdpdC9pbmZvL2V4Y2x1ZGUKIyBMaW5lcyB0aGF0IHN0YXJ0IHdpdGggJyMnIGFyZSBjb21tZW50cy4KIyBGb3IgYSBwcm9qZWN0IG1vc3RseSBpbiBDLCB0aGUgZm9sbG93aW5nIHdvdWxkIGJlIGEgZ29vZCBzZXQgb2YKIyBleGNsdWRlIHBhdHRlcm5zICh1bmNvbW1lbnQgdGhlbSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlbSk6CiMgKi5bb2FdCiMgKn4K]]></data>
	</file>
	<file>
	  <filename>/.git/logs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/HEAD</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjExMiArMDIwMAljb21taXQgKGluaXRpYWwpOiBGaXJzdCBDTVNGb3JtcyBjb21taXQK]]></data>
	</file>
	<file>
	  <filename>/.git/logs/refs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/heads/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/heads/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjExMiArMDIwMAljb21taXQgKGluaXRpYWwpOiBGaXJzdCBDTVNGb3JtcyBjb21taXQK]]></data>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/origin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/logs/refs/remotes/origin/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBjODgyMDdmM2I1N2QzMTQ5ZjMyZmFiNzY3OGUzNTA3NzlmZWU0MWU2IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4gMTMwNjMxMjMzNSArMDIwMAl1cGRhdGUgYnkgcHVzaAo=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/06/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/06/2c16b18c42a1621d7b51947e2a8d05a7a72a85</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0MWEwNDAwMzFRcPYNdssvyi3Wy81PKc1J1SvIKGDY/9t74Rf9hGcZk+NO9z1elcPAeT/FxAAIFHIS89IZbgrs0jDItVDbG+oRLWv1ahvLI8W3UOnMJIYbWloS6etfHbpbc7p3PbPKxHW7f/dAZEtScwtyEktSixkUrA7FtLA8etB5ZDKX9o4w13tN16YDADrQPSI=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/5b/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/5b/5b886ab3e1fcb25aa00756b96e8cd958a217b6</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAFtkcFOwzAMhrkuT2FNdAGpYkJw2wYnngA4V25raLTMaet0rG9Pko6tB5RL7Py/P9sprSvh+fHpZvvaNq1Stxb5G3aAfY/jnVpcznoNb6eKWm8ci1L6y5CtCyMFHVo/ati9gP5oCFIeMgEjkJ4edL74k1fI7HxR0v+uZSZLmDRQ0tw+8J7dD0/VJ9jnPAXRqvMzRyBQgLoB7bWxVBy5TlJo8EjgXcT40LXggUKjShs+ojV1YKOZmVMIK4vd4DaZrPp0iTNGUrIk+zR9zA1suoEmfNgG2p6wHoFORrwkrZClyoPjs+r9GueXtccPuN/8AruGfdA=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/20/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/20/3ac25c8404e2e089c4930a2bb85645de82d697</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTAxYjA0MDAzMVFITMnNzNNLyy/K1SspyGFQ48lwbwk63JO+ePckdvOsfvVsFwMAh2EQiQ==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/20/6a2b625e699dbd06225b2c7a84b05f36bf506d</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA0NWAwNDAwMzFRcPYNdssvytVLzkksLtYryChg0GR43uGtfF3JtX3SzSkc/SoZfokHURWHJeZkpiSW5Bch6QqyvuQmJ7HiwhbxWZNPTv3iFX1L/zqqrvDMlPTUEiQtF1etlI6dfFVmWVDPYWP3rcqr3jwSAgAx6Duz]]></data>
	</file>
	<file>
	  <filename>/.git/objects/26/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/26/0c68478452c38c67a3bb9207376a8f276b4430</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAHdUtFKwzAU9bX5ilAM6x6koODD7AIOOhwMHXXic7fcboGstyTZppT+u0mcrMjAd59yyTn3Xs45d6VwRe9v765aWVFpDNjkukK9G3bE/4T6hm9Lk2uN2iTDLhPyQI39VDCO16hQj6gG8RDz9kQ2Wzye2amj8zaVVUeiH8YG7BOUAsI8Ep0B3/ouhcNNMgiL1qo0Zhw35QbwALpSeIw5iaLfoIUPG3M2f5zkczbKwtYLNFk3e8+bPS/eloxmsONsOVu8six15R9tF1WzvCheCj/ACyXR9ztw/vV0aaid2qkEJZzD/0Nb1vgcepFO9tZi7U/Eu+DRHjhFtKe8wzF8AeywyTs=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/29/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/29/00e7884b23d722458792d994088f24684e61c1</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/52/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/52/3bd2461e18a8d0b4179a93c995f44a5bda2fd7</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/bf/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/bf/fb4ba1f42f60e668935ecb8ee3aa6c0009df64</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtks1OwzAMx7k2T+ET3SatLbuANiQ+qg2BGBfQOFZp6y0RaRKSFDFNPBCvwZORdhpsEhMSwocoseNfbP+TC5XD8eDk4PRMM01I3CPBVJW1wCGk03uYKFNZ6MMD4xaqNgAMhbZQ4gsKpdFYcAoYlaVAmLfX/QqOITcwN0o6lCV4T06Lp2ZLtRa8oI4raUlAglTppeEL5uwQbpDKfsoMt05phpDW/hGOxlcwVca74RBSRnVFJVyiWPC68qFBcpTAxzvpxYQYfK65wUzJAqHkRtIKO1k2ub4dZ1kXIghjwfO4ENRatLHvsWkxas+RH0E4+iPikZcLdP8AmlHBS+qU2WGRtsJGk7Uk+NrM1TaOtV5kRQJd5360MK9l0YwXrtDdNf13A2+rwKCrjYRwAwlHAbz9mDXzsnpApwvfFqxgA0iiJBok4WhP9kXtmDI7ybCVvU/kX3jjinLxBd3iFcscjVPtjzlfNLeiQlUt7Y18AsJD8rA=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/c8/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/c8/8207f3b57d3149f32fab7678e350779fee41e6</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAGtjkEKwjAQRV3nFLMXJTNtkwoiQqELwZUnSNPBBhoj6VTw9ga9grvPg/94PsUYBIj0RjIzaEMezYCtr8mhIRzt0OChtkyuHXXjrLNlNcqtMqUMF3aPXTflsEh6Tgzd+uI5cIajfw+cJX3x+R5dmPc+xRNgpU2FhEiw1aS1KrQkSPn8Qab6kBeB7nrrU44L/OTqA9nwSU0=]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d1/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d1/aaa91b5d93d51ca6528cc33347b523aaece212</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d8/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d8/2a2a1867afeac2dd7ccb8daf032491aebbfb8c</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2YTAxAAKF5JzE4uLUYgaFLO2kuMy5e9mUonWqWjbEm+0PyAUADcwN4A==]]></data>
	</file>
	<file>
	  <filename>/.git/objects/d9/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/d9/10ba28306d3826bd55485b1d3aeab604e221ed</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eAErKUpNVTA2ZzA0MDAzMVFIzYsPDdYryChgiI7uyNr88M+mqAXsYTvzem5GLBLfBgBSbxFu]]></data>
	</file>
	<file>
	  <filename>/.git/objects/info/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/objects/pack/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/heads/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/heads/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Yzg4MjA3ZjNiNTdkMzE0OWYzMmZhYjc2NzhlMzUwNzc5ZmVlNDFlNgo=]]></data>
	</file>
	<file>
	  <filename>/.git/refs/remotes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/remotes/origin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.git/refs/remotes/origin/master</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Yzg4MjA3ZjNiNTdkMzE0OWYzMmZhYjc2NzhlMzUwNzc5ZmVlNDFlNgo=]]></data>
	</file>
	<file>
	  <filename>/.git/refs/tags/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/CMSForms.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCglNb2R1bGU6IENNUyBGb3JtcyAtIFRoaXMgbW9kdWxlIGhlbHBzIGRldmVsb3BlcnMgdG8gaGFuZGxlIGZvcm1zIGZvciB0aGVpciBmcm9udGVuZCBvciBiYWNrZW5kIGFwcGxpY2F0aW9ucwoJCglDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwIMKpCiovCgpyZXF1aXJlX29uY2UgZGlybmFtZShfX0ZJTEVfXykgLiAnL2xpYi9jbGFzc2VzL0NNU0Zvcm0uY2xhc3MucGhwJzsKcmVxdWlyZV9vbmNlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9saWIvY2xhc3Nlcy9DTVNGb3JtV2lkZ2V0LmNsYXNzLnBocCc7CnJlcXVpcmVfb25jZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvbGliL2NsYXNzZXMvQ01TRm9ybVZhbGlkYXRvci5jbGFzcy5waHAnOwoKY2xhc3MgQ01TRm9ybXMgZXh0ZW5kcyBDTVNNb2R1bGUKewoJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUoKQkJCQl7CXJldHVybiAnQ01TRm9ybXMnOwkgfQoJcHVibGljIGZ1bmN0aW9uIEdldFZlcnNpb24oKSAgICAgICAgICAgCXsgcmV0dXJuICcwLjAuMjQnOyB9CglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkgICAgICAgICAgICAJeyByZXR1cm4gJ0plYW4tQ2hyaXN0b3BoZSBDdXZlbGllcic7IH0KCXB1YmxpYyBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpICAgICAgIAl7IHJldHVybiAnY3liZXJ0b3RvcGhlQGdtYWlsLmNvbSc7IH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiRsYW5nID0gYXJyYXkoCgkKCQoJCgkKCQovLyBFeGNlcHRpb25zCgonZmllbGRfaXNfZW1wdHknID0+ICdUaGUgZmllbGQgJXMgaXMgZW1wdHkuJywJCidmaWVsZF9jYW5ub3RfYmVfZW1wdHknID0+ICdUaGUgZmllbGQgIiVzIiBjYW5ub3QgYmUgZW1wdHkuJywJCid1bmtub3duIGZpZWxkJyA9PiAnVW5rbm93biBmaWVsZCAiJXMiJywKJ2ZpZWxkcyBub3QgZXF1YWwnID0+ICdUaGUgIiVzIiBhbmQgIiVzIiBoYXZlIHRvIGJlIHRoZSBzYW1lLicsCidpbnZhbGlkIGVtYWlsJyA9PiAnVGhlIGVtYWlsICZsYXF1bzslcyZyYXF1bzsgaXMgbm90IHZhbGlkLicsCidmaWVsZCBub3QgdW5pcXVlJyA9PiAnJXMgYWxyZWFkeSBleGlzdHMuJywKJ3NlbGVjdCBvbmUnID0+ICdTZWxlY3Qgb25lJywKCQoJCgkKCQoJCgkKKTs=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/classes/CMSForm.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCVRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU0Zvcm0JLy9leHRlbmRzCUNtc09iamVjdAp7CgkKCXByb3RlY3RlZCAkbW9kdWxlX25hbWU7Cglwcm90ZWN0ZWQgJGlkOyAvLyBUaGUgZm9ybSBJRAoJcHJvdGVjdGVkICRyZXR1cm5pZDsKCXByb3RlY3RlZCAkYWN0aW9uOwkKCXByb3RlY3RlZCAkbWV0aG9kID0gJ2dldCc7Cglwcm90ZWN0ZWQgJGVuY3R5cGU7CgkKCXByb3RlY3RlZCAkd2lkZ2V0cyA9IGFycmF5KCk7IC8vIFRoZSBmb3JtIHdpZGdldHMKCXByb3RlY3RlZCAkaGlkZGVuX3dpZGdldHMgPSBhcnJheSgpOyAvLyBTcGVjaWZpYyB3aWRnZXRzIHNob3duIG9uIHRoZSBiZWdpbjsKCXByb3RlY3RlZCAkZmllbGRzZXRzID0gYXJyYXkoKTsgLy8gU3ViIGZvcm1zIGZvciBmaWVsZHNldHMKCQoJcHJvdGVjdGVkICRsYWJlbHMgPSBhcnJheSgKCQknc3VibWl0JyA9PiAnU3VibWl0JywKCQknYXBwbHknID0+ICdBcHBseScsCgkJJ2NhbmNlbCcgPT4gJ0NhbmNlbCcsCgkJJ25leHQnID0+ICdOZXh0JywKCQkncHJldmlvdXMnID0+ICdQcmV2aW91cycKCQkpOwoJCQoJcHJvdGVjdGVkICRhY3RpdmVfYnV0dG9ucyA9IGFycmF5KCdzdWJtaXQnLCdjYW5jZWwnKTsKCXByb3RlY3RlZCAkZm9ybV9lcnJvcnMgPSBhcnJheSgpOyAKCXByb3RlY3RlZCAkc2hvd19wcmlvcml0eSA9IGZhbHNlOwoJCglwcm90ZWN0ZWQgJHRlbXBsYXRlcyA9IGFycmF5KAoJCSd3aWRnZXQnID0+ICc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4lSU5QVVQlIDxlbT4lVElQUyU8L2VtPjwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCQk8L2Rpdj4nLAoJCSdlcnJvcnMnID0+ICc8ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4nLAoJCSdidXR0b25zJyA9PiAnPHA+JUJVVFRPTlMlPC9wPicKCQkpOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZHVsZV9uYW1lLCAkaWQsICRhY3Rpb24sICRyZXR1cm5pZCkKCXsKCQkkdGhpcy0+bW9kdWxlX25hbWUgPSAkbW9kdWxlX25hbWU7CgkJJHRoaXMtPmlkID0gJGlkOwoJCSR0aGlzLT5yZXR1cm5pZCA9ICRyZXR1cm5pZDsKCQkkdGhpcy0+YWN0aW9uID0gJGFjdGlvbjsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNldE1ldGhvZCgkbWV0aG9kID0gJ2dldCcpCgl7CgkJaWYgKCRtZXRob2QgPT0gJ3Bvc3QnKQoJCXsKCQkJJHRoaXMtPm1ldGhvZCA9ICdwb3N0JzsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRNdWx0aXBhcnRGb3JtKCkKCXsKCQkkdGhpcy0+bWV0aG9kID0gJ3Bvc3QnOwoJCSR0aGlzLT5lbmN0eXBlID0gJ211bHRpcGFydC9mb3JtLWRhdGEnOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gcHJvY2VzcygpCgl7CgkJZm9yZWFjaCgkdGhpcy0+d2lkZ2V0cyBhcyAkd2lkZ2V0KQoJCXsKCQkJJHdpZGdldC0+cHJvY2VzcygpOwoJCX0KCQkKCQlmb3JlYWNoKCR0aGlzLT5oaWRkZW5fd2lkZ2V0cyBhcyAkd2lkZ2V0KQoJCXsKCQkJJHdpZGdldC0+cHJvY2VzcygpOwoJCX0JCQoJCQoJCWZvcmVhY2goJHRoaXMtPmZpZWxkc2V0cyBhcyAkZmllbGRzZXQpCgkJewoJCQkkZmllbGRzZXQtPnByb2Nlc3MoKTsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiByZW5kZXIoKQoJewkKCQkvLyBUT0RPOiBMT0FEIFRFTVBMQVRFIEZST00gRklMRS4uLgoJCSR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICd0ZW1wbGF0ZXMnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdhZG1pbi5mb3JtLnRwbCcpOwoJCQoJCSRzbWFydHkgPSBuZXcgU21hcnR5KCk7CgkJJHNtYXJ0eS0+YXNzaWduKCdmb3JtJywgJHRoaXMpOwkJCgkJJHNtYXJ0eS0+X2NvbXBpbGVfc291cmNlKCd0ZW1wb3JhcnkgdGVtcGxhdGUnLCAkdGVtcGxhdGUsICRfY29tcGlsZWQgKTsKCQlAb2Jfc3RhcnQoKTsKCQkkc21hcnR5LT5fZXZhbCgnPz4nIC4gJF9jb21waWxlZCk7CgkJJF9jb250ZW50cyA9IEBvYl9nZXRfY29udGVudHMoKTsKCQlAb2JfZW5kX2NsZWFuKCk7CgkJcmV0dXJuICRfY29udGVudHM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRUZW1wbGF0ZSgkdGVtcGxhdGVfbmFtZSwgJHRlbXBsYXRlKQoJewoJCSR0aGlzLT50ZW1wbGF0ZXNbJHRlbXBsYXRlX25hbWVdID0gJHRlbXBsYXRlOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SGVhZGVycygpCgl7CgkJaWYgKGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpKQoJCXsJCQkKCQkJJGh0bWwgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlRm9ybVN0YXJ0KCR0aGlzLT5pZCwgJHRoaXMtPmFjdGlvbiwgJHRoaXMtPnJldHVybmlkLCAkdGhpcy0+bWV0aG9kLCAkdGhpcy0+ZW5jdHlwZSk7CgkJCWZvcmVhY2goJHRoaXMtPmhpZGRlbl93aWRnZXRzIGFzICR3aWRnZXQpCgkJCXsKCQkJCSRodG1sIC49ICR3aWRnZXQtPmdldElucHV0KCk7CgkJCX0JCQkKCQkJcmV0dXJuICRodG1sOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEZvb3RlcnMoKQoJewoJCWlmICgoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSkpKQoJCXsJCQkKCQkJJGh0bWwgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlRm9ybUVuZCgpOwoJCQlyZXR1cm4gJGh0bWw7CgkJfQoJCXJldHVybiBudWxsOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0TGFiZWwoJGxhYmVsLCAkdGl0bGUpCgl7CgkJJHRoaXMtPmxhYmVsc1skbGFiZWxdID0gJHRpdGxlOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0TGFiZWxzKCRsYWJlbHMgPSBhcnJheSgpKQoJewoJCWZvcmVhY2goJGxhYmVscyBhcyAkbGFiZWwgPT4gJHRpdGxlKQoJCXsKCQkJJHRoaXMtPnNldExhYmVsKCRsYWJlbCwgJHRpdGxlKTsKCQl9Cgl9CQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0QnV0dG9ucygkYnV0dG9ucyA9IGFycmF5KCkpCgl7CgkJaWYgKGlzX2FycmF5KCRidXR0b25zKSkJJHRoaXMtPmFjdGl2ZV9idXR0b25zID0gJGJ1dHRvbnM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRCdXR0b25zKCkKCXsKCQkkaHRtbCA9ICcnOwoJCWZvcmVhY2goJHRoaXMtPmFjdGl2ZV9idXR0b25zIGFzICRidXR0b24pCgkJewoJCQkvLyAkaHRtbCAuPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRTdWJtaXQoJHRoaXMtPmlkLCAkYnV0dG9uLCAkdGhpcy0+bGFiZWxzWyRidXR0b25dKTsKCQkJJGh0bWwgLj0gIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dFN1Ym1pdCgkdGhpcy0+aWQsICRidXR0b24sICR0aGlzLT5sYWJlbHNbJGJ1dHRvbl0pOwoJCX0KCQkKCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRXaWRnZXQoJG5hbWUsJHR5cGUsJHNldHRpbmdzID0gYXJyYXkoKSkKCXsKCQkkd2lkZ2V0ID0gbmV3IENNU0Zvcm1XaWRnZXQoJHRoaXMsJHRoaXMtPmlkLCR0aGlzLT5tb2R1bGVfbmFtZSwkbmFtZSwkdHlwZSwkc2V0dGluZ3MpOwoJCWlmICgkdHlwZSA9PSAnaGlkZGVuJykKCQl7CgkJCSR0aGlzLT5oaWRkZW5fd2lkZ2V0c1skbmFtZV0gPSAkd2lkZ2V0OwoJCX0KCQllbHNlaWYgKCR0eXBlID09ICdmaWxlJykKCQl7CgkJCSR0aGlzLT5zZXRNdWx0aXBhcnRGb3JtKCk7IC8vIElmIHdlIGFkZCBmaWxlcywgd2UgaGF2ZSB0byBiZSBwb3N0ZWQgbXVsdGlwYXJ0IGZvcm1zLi4uCgkJCSR0aGlzLT53aWRnZXRzWyRuYW1lXSA9ICR3aWRnZXQ7CgkJfQkJCgkJZWxzZWlmICgkdHlwZSA9PSAncGFzc3dvcmQnKQoJCXsKCQkJJHRoaXMtPnNldE1ldGhvZCgncG9zdCcpOyAvLyBJZiB3ZSBhc2sgcGFzc3dvcmQsIHdlIHNob3VsZCBhbHdheXMgcG9zdCB0aGUgZm9ybSBmb3Igc2VjdXJpdHkgcmVhc29uICEKCQkJJHRoaXMtPndpZGdldHNbJG5hbWVdID0gJHdpZGdldDsKCQl9CQkKCQllbHNlaWYgKCgkdHlwZSA9PSAndGV4dGFyZWEnKSB8fCAoJHR5cGUgPT0gJ2NvZGVhcmVhJykpCgkJeyAKCQkJJHRoaXMtPnNldE1ldGhvZCgncG9zdCcpOyAvLyBJZiB3ZSBhc2sgcGFzc3dvcmQsIHdlIHNob3VsZCBhbHdheXMgcG9zdCB0aGUgZm9ybSBmb3Igc2VjdXJpdHkgcmVhc29uICEKCQkJJHRoaXMtPndpZGdldHNbJG5hbWVdID0gJHdpZGdldDsKCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPndpZGdldHNbJG5hbWVdID0gJHdpZGdldDsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRXaWRnZXRzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPndpZGdldHM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRXaWRnZXQoJG5hbWUpCgl7CgkJaWYgKGlzc2V0KCR0aGlzLT53aWRnZXRzWyRuYW1lXSkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPndpZGdldHNbJG5hbWVdOwoJCX0KCQllbHNlaWYgKGlzc2V0KCR0aGlzLT5oaWRkZW5fd2lkZ2V0c1skbmFtZV0pKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5oaWRkZW5fd2lkZ2V0c1skbmFtZV07CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBudWxsOwoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIGhpZGVXaWRnZXQoJG5hbWUpCgl7CgkJaWYgKGlzc2V0KCR0aGlzLT53aWRnZXRzWyRuYW1lXSkpCgkJewoJCQkkdGhpcy0+d2lkZ2V0c1skbmFtZV0tPmhpZGUoKTsKCQl9CgkJZWxzZWlmIChpc3NldCgkdGhpcy0+aGlkZGVuX3dpZGdldHNbJG5hbWVdKSkKCQl7CgkJCSR0aGlzLT5oaWRkZW5fd2lkZ2V0c1skbmFtZV0tPmhpZGUoKTsKCQl9Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiByZW1vdmVXaWRnZXQoJG5hbWUpCgl7CgkJaWYgKGlzc2V0KCR0aGlzLT53aWRnZXRzWyRuYW1lXSkpCgkJewoJCQl1bnNldCgkdGhpcy0+d2lkZ2V0c1skbmFtZV0pOwoJCX0KCQllbHNlaWYgKGlzc2V0KCR0aGlzLT5oaWRkZW5fd2lkZ2V0c1skbmFtZV0pKQoJCXsKCQkJdW5zZXQoJHRoaXMtPmhpZGRlbl93aWRnZXRzWyRuYW1lXSk7CgkJfQoJfQoJCgkKCQoJcHVibGljIGZ1bmN0aW9uIHNob3dXaWRnZXRzKCR0ZW1wbGF0ZT1udWxsLCAkZm9yY2U9ZmFsc2UpCgl7CgkJJGh0bWwgPSAnJzsJCgkJZm9yZWFjaCgkdGhpcy0+d2lkZ2V0cyBhcyAkd2lkZ2V0KQoJCXsKCQkJJGh0bWwgLj0gJHdpZGdldC0+c2hvdygkdGVtcGxhdGUsICRmb3JjZSk7CgkJfQoJCXJldHVybiAkaHRtbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGhhc0Vycm9ycygpCgl7CgkJJGhhc19lcnJvcnMgPSBmYWxzZTsKCQkKCQlmb3JlYWNoKCR0aGlzLT53aWRnZXRzIGFzICR3aWRnZXQpCgkJewoJCQlpZigkd2lkZ2V0LT5oYXNFcnJvcnMoKSkKCQkJewoJCQkJJGhhc19lcnJvcnMgPSB0cnVlOwoJCQl9CgkJfQoJCQoJCWZvcmVhY2goJHRoaXMtPmhpZGRlbl93aWRnZXRzIGFzICR3aWRnZXQpCgkJewoJCQlpZigkd2lkZ2V0LT5oYXNFcnJvcnMoKSkKCQkJewoJCQkJJGhhc19lcnJvcnMgPSB0cnVlOwoJCQl9CgkJfQoJCQoJCWZvcmVhY2goJHRoaXMtPmZpZWxkc2V0cyBhcyAkZmllbGRzZXQpCgkJewoJCQlpZigkZmllbGRzZXQtPmhhc0Vycm9ycygpKQoJCQl7CgkJCQkkaGFzX2Vycm9ycyA9IHRydWU7CgkJCX0KCQl9CgkJCgkJaWYgKGNvdW50KCR0aGlzLT5mb3JtX2Vycm9ycykgIT0gMCkKCQl7CgkJCSRoYXNfZXJyb3JzID0gdHJ1ZTsKCQl9CgkJCgkJcmV0dXJuICRoYXNfZXJyb3JzOyAKCX0KCQoJcHVibGljIGZ1bmN0aW9uIG5vRXJyb3IoKQoJewoJCXJldHVybiAhJHRoaXMtPmhhc0Vycm9ycygpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPmZvcm1fZXJyb3JzOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2hvd0Vycm9ycygpCgl7CgkJJGh0bWwgPSAnJzsKCQlpZihjb3VudCgkdGhpcy0+Zm9ybV9lcnJvcnMpID4gMCkKCQl7CgkJCSRodG1sIC49ICc8dWwgY2xhc3M9ImVycm9ycyI+JzsKCQkJZm9yZWFjaCgkdGhpcy0+Zm9ybV9lcnJvcnMgYXMgJHByaW9yaXR5ID0+ICRlcnJvcnMpCgkJCXsKCQkJCSRodG1sIC49ICc8bGk+JzsKCQkJCWlmICgkdGhpcy0+c2hvd19wcmlvcml0eSkJJGh0bWwgLj0gJzxlbSBjbGFzcz0iZm9ybV9lcnJvcl9wcmlvcml0eSI+Jy4kcHJpb3JpdHkuJzwvZW0+JzsKCQkJCSRodG1sIC49ICc8dWw+JzsKCQkJCWZvcmVhY2goJGVycm9ycyBhcyAkZXJyb3IpCgkJCQl7CgkJCQkJJGh0bWwgLj0gJzxsaT4nLiRlcnJvci4nPC9saT4nOwoJCQkJfQkJCQkKCQkJCSRodG1sIC49ICc8L3VsPjwvbGk+JzsKCQkJfQoJCQkkaHRtbCAuPSAnPC91bD4nOwoJCX0KCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcigkbWVzc2FnZSwkcHJpb3JpdHk9J2RlZmF1bHQnKQoJewoJCSR0aGlzLT5mb3JtX2Vycm9yc1skcHJpb3JpdHldW10gPSAkbWVzc2FnZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGlzU3VibWl0dGVkKCkKCXsKCQlpZiAoaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nc3VibWl0J10pKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGlzQXBwbGllZCgpCgl7CgkJaWYgKGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ2FwcGx5J10pKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBpc0NhbmNlbGxlZCgpCgl7CgkJaWYgKGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ2NhbmNlbCddKSkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzUG9zdGVkKCkKCXsKCQkvLyBBZGQgY2hlY2sgZm9yIG5leHQgYW5kIHByZXZpb3VzCgkJaWYgKCR0aGlzLT5pc1N1Ym1pdHRlZCgpIHx8ICR0aGlzLT5pc0FwcGxpZWQoKSkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBpc1B1c2hlZCgkYnV0dG9uKQoJewoJCWlmIChpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLiRidXR0b25dKSkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBpc1NlbnQoKQoJewoJCQlmb3JlYWNoKCR0aGlzLT5hY3RpdmVfYnV0dG9ucyBhcyAkYnV0dG9uKQoJCQl7CgkJCQkJaWYgKGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJGJ1dHRvbl0pKQoJCQkJCXsKCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfQoJCQl9CgkJCQoJCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0RmllbGRzZXQoJG5hbWUsICRsZWdlbmQ9JycpCgl7CgkJaWYoIWlzc2V0KCR0aGlzLT5maWVsZHNldHNbJG5hbWVdKSkKCQkkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSA9IG5ldyBDTVNGb3JtRmllbGRzZXQoJHRoaXMsJG5hbWUsJGxlZ2VuZCk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRGaWVsZHNldCgkbmFtZSkKCXsKCQlpZiAoaXNzZXQoJHRoaXMtPmZpZWxkc2V0c1skbmFtZV0pKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5maWVsZHNldHNbJG5hbWVdOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHJlbmRlckZpZWxkc2V0cygkd2lkZ2V0X3RlbXBsYXRlID0gbnVsbCkKCXsKCQkkaHRtbCA9ICcnOwoJCWZvcmVhY2goJHRoaXMtPmZpZWxkc2V0cyBhcyAkZmllbGRzZXQpCgkJewoJCQkkaHRtbCAuPSAkZmllbGRzZXQtPnJlbmRlcigkd2lkZ2V0X3RlbXBsYXRlKTsKCQl9CgkJcmV0dXJuICRodG1sOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gcmVuZGVyRmllbGRzZXQoJG5hbWUsICR3aWRnZXRfdGVtcGxhdGUgPSBudWxsKQoJewoJCWlmIChpc3NldCgkdGhpcy0+ZmllbGRzZXRzWyRuYW1lXSkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmZpZWxkc2V0c1skbmFtZV0tPnJlbmRlcigkd2lkZ2V0X3RlbXBsYXRlKTsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkKfQoKY2xhc3MgQ01TRm9ybUZpZWxkc2V0IGV4dGVuZHMgQ01TRm9ybQp7Cglwcm90ZWN0ZWQgJHBhcmVudF9mb3JtOwoJcHJvdGVjdGVkICRuYW1lOwoJcHJvdGVjdGVkICRsZWdlbmQ7Cglwcm90ZWN0ZWQgJGNsYXNzOwoJcHJvdGVjdGVkICRyZW5kZXJlZCA9IGZhbHNlOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGZvcm0sICRuYW1lLCAkbGVnZW5kID0gJycpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZm9ybS0+bW9kdWxlX25hbWUsICRmb3JtLT5pZCwgJGZvcm0tPmFjdGlvbiwgJGZvcm0tPnJldHVybmlkKTsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCWlmKCRsZWdlbmQgPT0gJycpCgkJewoJCQkkdGhpcy0+bGVnZW5kID0gJG5hbWU7CgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5sZWdlbmQgPSAkbGVnZW5kOwoJCX0KCQkkdGhpcy0+cGFyZW50X2Zvcm0gPSYgJGZvcm07Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRDbGFzcygkY2xhc3MpCgl7CgkJJHRoaXMtPmNsYXNzID0gJGNsYXNzOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gcmVuZGVyKCR3aWRnZXRfdGVtcGxhdGU9bnVsbCkKCXsKCQkkaHRtbCA9ICcnOwoJCWlmKCEkdGhpcy0+cmVuZGVyZWQpCgkJewoJCQkkaHRtbCAuPSAnPGZpZWxkc2V0JzsKCQkJJGh0bWwgLj0gKCR0aGlzLT5jbGFzcyk/JyBjbGFzcz0iJyAuICR0aGlzLT5jbGFzcyAuICciJzonJzsKCQkJJGh0bWwgLj0nPjxsZWdlbmQ+Jy4kdGhpcy0+bGVnZW5kLic8L2xlZ2VuZD4nOwoJCQkkaHRtbCAuPSAkdGhpcy0+c2hvd1dpZGdldHMoJHdpZGdldF90ZW1wbGF0ZSk7CgkJCSRodG1sIC49ICc8L2ZpZWxkc2V0Pic7CgkJCSR0aGlzLT5yZW5kZXJlZCA9IHRydWU7CgkJfQoJCXJldHVybiAkaHRtbDsKCQkKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNldFdpZGdldCgkbmFtZSwkdHlwZSwkc2V0dGluZ3MgPSBhcnJheSgpKQoJewoJCWlmICgkdHlwZSA9PSAnZmlsZScpCgkJewoJCQkkdGhpcy0+cGFyZW50X2Zvcm0tPnNldE11bHRpcGFydEZvcm0oKTsKCQl9CgkJcGFyZW50OjpzZXRXaWRnZXQoJG5hbWUsJHR5cGUsJHNldHRpbmdzKTsKCX0KCQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/classes/CMSFormValidator.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCVRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCQpjbGFzcyBDTVNGb3JtVmFsaWRhdG9yCnsKCXByb3RlY3RlZCAkd2lkZ2V0OwoJcHJvdGVjdGVkICR2YWxpZGF0b3I7Cglwcm90ZWN0ZWQgJHBhcmFtczsKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkd2lkZ2V0LCR2YWxpZGF0b3IsJHBhcmFtcykKCXsKCQkkdGhpcy0+d2lkZ2V0ID0gJHdpZGdldDsKCQkkdGhpcy0+dmFsaWRhdG9yID0gJHZhbGlkYXRvcjsKCQkkdGhpcy0+cGFyYW1zID0gJHBhcmFtczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGNoZWNrKCkKCXsKCQlzd2l0Y2goJHRoaXMtPnZhbGlkYXRvcikKCQl7CgkJCWNhc2UgJ25vdF9lbXB0eSc6CgkJCQlyZXR1cm4gJHRoaXMtPkNoZWNrTm90RW1wdHkoKTsKCQkJY2FzZSAnZXF1YWxfZmllbGQnOgoJCQkJcmV0dXJuICR0aGlzLT5DaGVja0VxdWFsRmllbGQoKTsKCQkJY2FzZSAnZW1haWwnOgoJCQkJcmV0dXJuICR0aGlzLT5DaGVja0VtYWlsKCk7CgkJCWNhc2UgJ3VuaXF1ZSc6CgkJCQlyZXR1cm4gJHRoaXMtPkNoZWNrVW5pcXVlKCk7CgkJCWRlZmF1bHQ6CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIGZvcm0gdmFsaWRhdG9yICInLiR0aGlzLT52YWxpZGF0b3IgLiciLicpOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIENoZWNrVW5pcXVlKCkKCXsKCQkkdmFsdWUgPSAkdGhpcy0+d2lkZ2V0LT5nZXRWYWx1ZSgpOwoJCWlmIChjYWxsX3VzZXJfZnVuYygkdGhpcy0+cGFyYW1zLCAkdmFsdWUpICE9PSBudWxsKQoJCXsKCQkJZ2xvYmFsICRnQ21zOwoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TRm9ybXMnKS0+bGFuZygnZmllbGQgbm90IHVuaXF1ZScsICR2YWx1ZSkpOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIENoZWNrTm90RW1wdHkoKQoJewkKCQlnbG9iYWwgJGdDbXM7CgkJJHZhbHVlcyA9ICR0aGlzLT53aWRnZXQtPmdldFZhbHVlcygpOwoJCSR2YWx1ZSA9ICR0aGlzLT53aWRnZXQtPmdldFZhbHVlKCk7CgkJaWYgKGlzX2FycmF5KCR2YWx1ZXMpICYmIGNvdW50KCR2YWx1ZXMpID09IDApCgkJewoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TRm9ybXMnKS0+bGFuZygnZmllbGRfY2Fubm90X2JlX2VtcHR5JywgJHRoaXMtPndpZGdldC0+Z2V0RnJpZW5kbHlOYW1lKCkpKTsKCQl9CgkJZWxzZWlmKGVtcHR5KCR2YWx1ZXMpKQoJCXsKCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbihjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU0Zvcm1zJyktPmxhbmcoJ2ZpZWxkX2Nhbm5vdF9iZV9lbXB0eScsICR0aGlzLT53aWRnZXQtPmdldEZyaWVuZGx5TmFtZSgpKSk7CgkJfQoJCWVsc2VpZihlbXB0eSgkdmFsdWUpKQoJCXsKCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbihjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU0Zvcm1zJyktPmxhbmcoJ2ZpZWxkX2Nhbm5vdF9iZV9lbXB0eScsICR0aGlzLT53aWRnZXQtPmdldEZyaWVuZGx5TmFtZSgpKSk7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gQ2hlY2tFcXVhbEZpZWxkKCkKCXsKCQlnbG9iYWwgJGdDbXM7CgkJCSR2YWx1ZTEgPSBzZXJpYWxpemUoJHRoaXMtPndpZGdldC0+Z2V0VmFsdWVzKCkpOwoJCQkKCQkJdHJ5CgkJCXsKCQkJCSR2YWx1ZTIgPSBzZXJpYWxpemUoJHRoaXMtPndpZGdldC0+Z2V0Rm9ybSgpLT5nZXRXaWRnZXQoJHRoaXMtPnBhcmFtcyktPmdldFZhbHVlcygpKTsKCQkJfQoJCQljYXRjaChFeGNlcHRpb24gJGUpCgkJCXsKCQkJCXRocm93IG5ldyBFeGNlcHRpb24oY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNGb3JtcycpLT5sYW5nKCd1bmtub3duIGZpZWxkJywgJHRoaXMtPnBhcmFtcykpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCQoJCQlpZiAoJHZhbHVlMSAhPSAkdmFsdWUyKQoJCQl7CgkJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TRm9ybXMnKS0+bGFuZygnZmllbGRzIG5vdCBlcXVhbCcsICR0aGlzLT53aWRnZXQtPmdldEZyaWVuZGx5TmFtZSgpLCAkdGhpcy0+d2lkZ2V0LT5nZXRGb3JtKCktPmdldFdpZGdldCgkdGhpcy0+cGFyYW1zKS0+Z2V0RnJpZW5kbHlOYW1lKCkpKTsKCQkJfQoJCQkKCQkJcmV0dXJuIHRydWU7CgkJCgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBDaGVja0VtYWlsKCkKCXsKCQkkZW1haWwgPSBpbXBsb2RlKCd8JywgJHRoaXMtPndpZGdldC0+Z2V0VmFsdWVzKCkpOwoJCWlmICghc2VsZjo6dmFsaWRFbWFpbCgkZW1haWwpKQoJCXsKCQkJZ2xvYmFsICRnQ21zOwoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ01TRm9ybXMnKS0+bGFuZygnaW52YWxpZCBlbWFpbCcsICRlbWFpbCkpOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCS8vIEV4dGVybmFsIGZ1bmN0aW9ucwoJLyoqCglWYWxpZGF0ZSBhbiBlbWFpbCBhZGRyZXNzLgoJUHJvdmlkZSBlbWFpbCBhZGRyZXNzIChyYXcgaW5wdXQpCglSZXR1cm5zIHRydWUgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaGFzIHRoZSBlbWFpbCAKCWFkZHJlc3MgZm9ybWF0IGFuZCB0aGUgZG9tYWluIGV4aXN0cy4KCSovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHZhbGlkRW1haWwoJGVtYWlsKQoJewoJICAgJGlzVmFsaWQgPSB0cnVlOwoJICAgJGF0SW5kZXggPSBzdHJycG9zKCRlbWFpbCwgIkAiKTsKCSAgIGlmIChpc19ib29sKCRhdEluZGV4KSAmJiAhJGF0SW5kZXgpCgkgICB7CgkgICAgICAkaXNWYWxpZCA9IGZhbHNlOwoJICAgfQoJICAgZWxzZQoJICAgewoJICAgICAgJGRvbWFpbiA9IHN1YnN0cigkZW1haWwsICRhdEluZGV4KzEpOwoJICAgICAgJGxvY2FsID0gc3Vic3RyKCRlbWFpbCwgMCwgJGF0SW5kZXgpOwoJICAgICAgJGxvY2FsTGVuID0gc3RybGVuKCRsb2NhbCk7CgkgICAgICAkZG9tYWluTGVuID0gc3RybGVuKCRkb21haW4pOwoJICAgICAgaWYgKCRsb2NhbExlbiA8IDEgfHwgJGxvY2FsTGVuID4gNjQpCgkgICAgICB7CgkgICAgICAgICAvLyBsb2NhbCBwYXJ0IGxlbmd0aCBleGNlZWRlZAoJICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKCSAgICAgIH0KCSAgICAgIGVsc2UgaWYgKCRkb21haW5MZW4gPCAxIHx8ICRkb21haW5MZW4gPiAyNTUpCgkgICAgICB7CgkgICAgICAgICAvLyBkb21haW4gcGFydCBsZW5ndGggZXhjZWVkZWQKCSAgICAgICAgICRpc1ZhbGlkID0gZmFsc2U7CgkgICAgICB9CgkgICAgICBlbHNlIGlmICgkbG9jYWxbMF0gPT0gJy4nIHx8ICRsb2NhbFskbG9jYWxMZW4tMV0gPT0gJy4nKQoJICAgICAgewoJICAgICAgICAgLy8gbG9jYWwgcGFydCBzdGFydHMgb3IgZW5kcyB3aXRoICcuJwoJICAgICAgICAgJGlzVmFsaWQgPSBmYWxzZTsKCSAgICAgIH0KCSAgICAgIGVsc2UgaWYgKHByZWdfbWF0Y2goJy9cXC5cXC4vJywgJGxvY2FsKSkKCSAgICAgIHsKCSAgICAgICAgIC8vIGxvY2FsIHBhcnQgaGFzIHR3byBjb25zZWN1dGl2ZSBkb3RzCgkgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwoJICAgICAgfQoJICAgICAgZWxzZSBpZiAoIXByZWdfbWF0Y2goJy9eW0EtWmEtejAtOVxcLVxcLl0rJC8nLCAkZG9tYWluKSkKCSAgICAgIHsKCSAgICAgICAgIC8vIGNoYXJhY3RlciBub3QgdmFsaWQgaW4gZG9tYWluIHBhcnQKCSAgICAgICAgICRpc1ZhbGlkID0gZmFsc2U7CgkgICAgICB9CgkgICAgICBlbHNlIGlmIChwcmVnX21hdGNoKCcvXFwuXFwuLycsICRkb21haW4pKQoJICAgICAgewoJICAgICAgICAgLy8gZG9tYWluIHBhcnQgaGFzIHR3byBjb25zZWN1dGl2ZSBkb3RzCgkgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwoJICAgICAgfQoJICAgICAgZWxzZSBpZgoJKCFwcmVnX21hdGNoKCcvXihcXFxcLnxbQS1aYS16MC05ISMlJmBfPVxcLyRcJyorP157fXx+Li1dKSskLycsCgkgICAgICAgICAgICAgICAgIHN0cl9yZXBsYWNlKCJcXFxcIiwiIiwkbG9jYWwpKSkKCSAgICAgIHsKCSAgICAgICAgIC8vIGNoYXJhY3RlciBub3QgdmFsaWQgaW4gbG9jYWwgcGFydCB1bmxlc3MgCgkgICAgICAgICAvLyBsb2NhbCBwYXJ0IGlzIHF1b3RlZAoJICAgICAgICAgaWYgKCFwcmVnX21hdGNoKCcvXiIoXFxcXCJ8W14iXSkrIiQvJywKCSAgICAgICAgICAgICBzdHJfcmVwbGFjZSgiXFxcXCIsIiIsJGxvY2FsKSkpCgkgICAgICAgICB7CgkgICAgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwoJICAgICAgICAgfQoJICAgICAgfQoJICAgICAgaWYgKCRpc1ZhbGlkICYmICEoY2hlY2tkbnNycigkZG9tYWluLCJNWCIpIHx8IAoJIGNoZWNrZG5zcnIoJGRvbWFpbiwiQSIpKSkKCSAgICAgIHsKCSAgICAgICAgIC8vIGRvbWFpbiBub3QgZm91bmQgaW4gRE5TCgkgICAgICAgICAkaXNWYWxpZCA9IGZhbHNlOwoJICAgICAgfQoJICAgfQoJICAgcmV0dXJuICRpc1ZhbGlkOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/classes/CMSFormWidget.class.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgkvKgoJCVRoaXMgY2xhc3MgYWltIHRvIGhhbmRsZSBDTVMgRm9ybXMgdmVyeSBkaWZmZXJlbnRseS4KCQkKCQlBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBDdXZlbGllciA8Y3liZXJ0b3RvcGhlQGdtYWlsLmNvbT4KCQlDb3B5cmlnaHRzOiBKZWFuLUNocmlzdG9waGUgQ3V2ZWxpZXIgLSBNb3JyaXMgJiBDaGFwbWFuIEJlbGdpdW0gLSAyMDEwCgkJTGljZW5jZTogR1BMCQkKCQoJKi8KCmNsYXNzIENNU0Zvcm1XaWRnZXQJLy9leHRlbmRzIENtc09iamVjdAp7CgkvLyBTZXR0aW5ncwoJcHJvdGVjdGVkICRpZDsgLy8gVGhlIGZvcm0gSUQKCXByb3RlY3RlZCAkbW9kdWxlX25hbWU7Cglwcm90ZWN0ZWQgJG5hbWU7IC8vIFRoZSBpbnB1dCBuYW1lCglwcm90ZWN0ZWQgJHR5cGU7Cglwcm90ZWN0ZWQgJGlucHV0OwoJcHJvdGVjdGVkICR2YWx1ZXMgPSBhcnJheSgpOwoJcHJvdGVjdGVkICRzZXR0aW5ncyA9IGFycmF5KCk7Cglwcm90ZWN0ZWQgJGZvcm1fZXJyb3JzOwoJcHJvdGVjdGVkICRzaG93X3ByaW9yaXR5ID0gZmFsc2U7Ci8vCXByb3RlY3RlZCAkdmFsaWRhdGlvbnMgPSBhcnJheSgpOwoJcHJvdGVjdGVkICRzaG93bmVkID0gZmFsc2U7Cglwcm90ZWN0ZWQgJGZvcm07CgkKCXByb3RlY3RlZCAkaXNfdmFsaWQgPSB0cnVlOwoJcHJvdGVjdGVkICR0ZW1wbGF0ZSA9ICclSU5QVVQlJzsKCQoJcHVibGljIHN0YXRpYyAkZmllbGRzID0gYXJyYXkoCgkJJ3RleHQnIAkJCT0+IGFycmF5KCd0aXRsZScgPT4gJ1RleHQgZmllbGQnLCAnYWRvJyA9PiAnQygyNTUpJyksCgkJJ3RleHRhcmVhJyAJPT4gYXJyYXkoJ3RpdGxlJyA9PiAnVGV4dCBhcmVhJywgCSdhZG8nID0+ICdYTCcpLAoJCSdjaGVja2JveCcgCT0+IGFycmF5KCd0aXRsZScgPT4gJ0NoZWNrYm94JywgCSdhZG8nID0+ICdJJyksCgkJJ3NlbGVjdCcgCQk9PiBhcnJheSgndGl0bGUnID0+ICdTZWxlY3QnLCAJCSdhZG8nID0+ICdDKDI1NSknKSwKCQkncGFzc3dvcmQnICA9PiBhcnJheSgndGl0bGUnID0+ICdQYXNzd29yZCcsIAknYWRvJyA9PiAnQygyNTUpJyksCgkJJ2RhdGUnIAkJCT0+IGFycmF5KCd0aXRsZScgPT4gJ0RhdGUnLCAJCQknYWRvJyA9PiAnRFQnKSwKCQkndGltZScgCQkJPT4gYXJyYXkoJ3RpdGxlJyA9PiAnVGltZScsIAkJCSdhZG8nID0+ICdEVCcpLAoJCSdmaWxlJyAJCQk9PiBhcnJheSgndGl0bGUnID0+ICdGaWxlJywgCQkJJ2FkbycgPT4gJ0MoMjU1KScpCgkJKTsKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRmb3JtLCAkaWQsICRtb2R1bGVfbmFtZSwgJG5hbWUsICR0eXBlLCRzZXR0aW5ncz1hcnJheSgpKQoJewoJCSR0aGlzLT5mb3JtID0gJiRmb3JtOwoJCSR0aGlzLT5pZCA9ICRpZDsKCQkkdGhpcy0+bW9kdWxlX25hbWUgPSAkbW9kdWxlX25hbWU7CgkJJHRoaXMtPm5hbWUgPSBpc3NldCgkc2V0dGluZ3NbJ25hbWUnXSk/JHNldHRpbmdzWyduYW1lJ106JG5hbWU7CgkJJHRoaXMtPnR5cGUgPSAkdHlwZTsKCQkkdGhpcy0+c2V0dGluZ3MgPSAkc2V0dGluZ3M7CgkJJHRoaXMtPmluaXQoKTsKCX0KCQoJLy8gU0VUVVAKCQoJcHVibGljIGZ1bmN0aW9uIGhpZGUoKQoJewoJCSR0aGlzLT50eXBlID0gJ2hpZGRlbic7CgkJJHRoaXMtPnNldHRpbmdzWydsYWJlbCddID0gJyc7Cgl9CgkKCS8vIEZJTEwKCQoJcHVibGljIGZ1bmN0aW9uIHJlZnJlc2goKQoJewoJCS8vIFRPRE86IENoZWNrIGNvbnNlcXVlbmNlcwoJCSR0aGlzLT5pbml0KCk7Cgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBpbml0KCkKCXsKCQkkdGhpcy0+aW5pdFZhbHVlcygpOwoJfQoJCgkJcHJvdGVjdGVkIGZ1bmN0aW9uIGluaXRWYWx1ZXMoKQoJCXsJCgkJCWdsb2JhbCAkZ0NtczsKCQkJc3dpdGNoKCR0aGlzLT50eXBlKQoJCQl7CgkJCQljYXNlICdjaGVja2JveCc6CgkJCQkJaWYoCgkJCQkJCSFpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLiR0aGlzLT5uYW1lXSkKCQkJCQkJJiYKCQkJCQkJKAoJCQkJCQkJaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nc3VibWl0J10pCgkJCQkJCQl8fAoJCQkJCQkJaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nYXBwbHknXSkKCQkJCQkJKQoKCQkJCQkpCgkJCQkJewoJCQkJCQkvLyBDYXNlIHdoZW4gY2hlY2tib3ggaXMgdW5jaGVja2VkIGFuZCBmb3JtIGlzIHN1Ym1pdHRlZCwgd2Ugc2hvdWxkIGVtcHR5IHRoZSB2YWx1ZQoJCQkJCQkkdGhpcy0+c2V0VmFsdWVzKCk7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCWRlZmF1bHQ6CgkJCQkJaWYgKGlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJHRoaXMtPm5hbWVdKSkKCQkJCQl7CgkJCQkJCWlmIChpc19hcnJheSgkX1JFUVVFU1RbJHRoaXMtPmlkLiR0aGlzLT5uYW1lXSkpCgkJCQkJCXsKCQkJCQkJCSR0aGlzLT5zZXRWYWx1ZXMoJF9SRVFVRVNUWyR0aGlzLT5pZC4kdGhpcy0+bmFtZV0pOwoJCQkJCQl9IAoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCSR0aGlzLT5zZXRWYWx1ZXMoaHRtbF9lbnRpdHlfZGVjb2RlKCRfUkVRVUVTVFskdGhpcy0+aWQuJHRoaXMtPm5hbWVdKSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWxzZWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sndmFsdWUnXSkpCgkJCQkJewoJCQkJCQkkdGhpcy0+c2V0VmFsdWVzKCR0aGlzLT5zZXR0aW5nc1sndmFsdWUnXSk7CgkJCQkJfQoJCQkJCWVsc2VpZigKCQkJCQkJaXNzZXQoJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXSkgJiYgIWlzc2V0KCRfUkVRVUVTVFskdGhpcy0+aWQuJ3N1Ym1pdCddKSAmJiAhaXNzZXQoJF9SRVFVRVNUWyR0aGlzLT5pZC4nYXBwbHknXSkpCgkJCQkJewoJCQkJCQkkdGhpcy0+c2V0VmFsdWVzKCR0aGlzLT5mZXRjaFZhbHVlcygpKTsKCQkJCQl9CgkJCQkJZWxzZWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSAmJiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Z2V0UHJlZmVyZW5jZSgkdGhpcy0+c2V0dGluZ3NbJ3ByZWZlcmVuY2UnXSkgIT0gJycpCgkJCQkJewoJCQkJCQkkdGhpcy0+c2V0VmFsdWVzKGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5nZXRQcmVmZXJlbmNlKCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddKSk7CgkJCQkJCS8vJHRoaXMtPnNldFZhbHVlcyhjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Z2V0UHJlZmVyZW5jZSgkdGhpcy0+c2V0dGluZ3NbJ3ByZWZlcmVuY2UnXSkpOwoJCQkJCX0KCgkJCQkJaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydkZWZhdWx0X3ZhbHVlJ10pICYmICEkdGhpcy0+Zm9ybS0+aXNQb3N0ZWQoKSkgCgkJCQkJewoJCQkJCQlpZiAoJHRoaXMtPmlzRW1wdHkoKSkKCQkJCQkJewoJCQkJCQkJJHRoaXMtPnNldFZhbHVlcygkdGhpcy0+c2V0dGluZ3NbJ2RlZmF1bHRfdmFsdWUnXSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJCgkJCQkJYnJlYWs7CgkJCX0KCQl9CgoKCgkJcHJvdGVjdGVkIGZ1bmN0aW9uIGZldGNoVmFsdWVzKCkKCQl7CgkJCWlmKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10pICYmIGlzX29iamVjdCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSkKCQkJewoJCQkJaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZ2V0X21ldGhvZCddKSkKCQkJCXsKCQkJCQlyZXR1cm4gJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXS0+eyR0aGlzLT5zZXR0aW5nc1snZ2V0X21ldGhvZCddfSgpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRuYW1lID0gaXNzZXQoJHRoaXMtPnNldHRpbmdzWydmaWVsZF9uYW1lJ10pPyR0aGlzLT5zZXR0aW5nc1snZmllbGRfbmFtZSddOiR0aGlzLT5uYW1lOwoJCQoJCQkJCWlmKG1ldGhvZF9leGlzdHMoJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXSwgJ2dldCcpKQoJCQkJCXsKCQkJCQkJcmV0dXJuICR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPmdldCgkbmFtZSk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCQl0cnkKCQkJCQkJCXsKCQkJCQkJCQlyZXR1cm4gJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXS0+JG5hbWU7CgkJCQkJCQl9CgkJCQkJCQljYXRjaChFeGNlcHRpb24gJGUpCgkJCQkJCQl7CgkJCQkJCQkvLwlkaWUoJ3VuYWJsZSB0byBkbycpOyAvLyBUT0RPOiBUcmVhdGggZXJyb3IKCQkJCQkJCX0KCQkJCQl9CgkJCQl9CQkJCgkJCX0KCQl9CgkKCS8vIFJFTkRFUgoJCglwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCgl7CgkJLy8gVE9ETzogUkVGQUNUT1JJTkcKCQlpZiAoJHRoaXMtPnR5cGUgPT0gJ2hpZGRlbicpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmdldElucHV0KCk7CgkJfQoJCWVsc2UKCQl7CgkJCSRodG1sID0gJwoJCQk8ZGl2IGNsYXNzPSJmb3JtX3dpZGdldCI+CgkJCQk8ZGl2IGNsYXNzPSJmb3JtX2xhYmVsIj48bGFiZWwgZm9yPSInLiR0aGlzLT5pZC4kdGhpcy0+bmFtZS4nIj4nLiR0aGlzLT5nZXRMYWJlbCgpLic8L2xhYmVsPjwvZGl2Pic7CQkJCQkJCgkJCWlmIChjb3VudCgkdGhpcy0+Zm9ybV9lcnJvcnMpKQoJCQl7CgkJCQkkaHRtbCAuPSAnPGRpdiBjbGFzcz0iZm9ybV9lcnJvcnMiPicgLiAkdGhpcy0+c2hvd0Vycm9ycygpIC4gJzwvZGl2Pic7CgkJCX0JCQkJCgkJCSRodG1sIC49ICcKCQkJCTxkaXYgY2xhc3M9ImZvcm1faW5wdXQiPicuJHRoaXMtPmdldElucHV0KCkuJzwvZGl2PgoJCQk8L2Rpdj4nOwoJCQlyZXR1cm4gJGh0bWw7CgkJfQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gc2hvdygkdGVtcGxhdGUgPSBudWxsLCAkZm9yY2UgPSBmYWxzZSkKCXsKCQkvLyBUT0RPOiBSRUZBQ1RPUklORwoJCQoJCWlmICgoISR0aGlzLT5zaG93bmVkIHx8ICRmb3JjZSkpCgkJewoJCQkkaHRtbCA9ICcnOwoJCQlpZiAoIWlzX251bGwoJHRlbXBsYXRlKSAmJiAoJHRoaXMtPnR5cGUgIT0gJ2hpZGRlbicpKQoJCQl7CgkJCQkkdGV4dCA9IHN0cl9yZXBsYWNlKCclTEFCRUwlJywgJHRoaXMtPmdldExhYmVsKCksICR0ZW1wbGF0ZSk7CgkJCQkkdGV4dCA9IHN0cl9yZXBsYWNlKCclSU5QVVQlJywgJHRoaXMtPmdldElucHV0KCksICR0ZXh0KTsKCQkJCSR0ZXh0ID0gc3RyX3JlcGxhY2UoJyVFUlJPUlMlJywgJHRoaXMtPnNob3dFcnJvcnMoKSwgJHRleHQpOwoJCQkJJHRleHQgPSBzdHJfcmVwbGFjZSgnJVRJUFMlJywgJHRoaXMtPmdldFRpcHMoKSwgJHRleHQpOwoJCQkJJGh0bWwgLj0gJHRleHQ7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkaHRtbCAuPSAkdGhpczsJCQkJCgkJCX0JCQoJCQkkdGhpcy0+c2hvd25lZCA9IHRydWU7CgkJCXJldHVybiAkaHRtbDsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXROYW1lKCkKCXsKCQlyZXR1cm4gJHRoaXMtPm5hbWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRGb3JtKCkKCXsKCQlpZighaXNfb2JqZWN0KCR0aGlzLT5mb3JtKSkKCQl7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0FuIGVycm9yIG9jY3VyZWQgcmV0cmlldmluZyB0aGUgZm9ybSBvYmplY3QuJyk7CgkJfQoJCXJldHVybiAkdGhpcy0+Zm9ybTsKCX0KCQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0RnJpZW5kbHlOYW1lKCkKCXsKCQlpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydsYWJlbCddKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+c2V0dGluZ3NbJ2xhYmVsJ107CgkJfQoJCS8vIFRyeSB0byBnZXQgaXQgZnJvbSBsYW5ndWFnZSBmaWxlCgkJZ2xvYmFsICRnQ21zOwoJCWlmIChjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKSkKCQl7CgkJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+bGFuZygnZm9ybV8nLiR0aGlzLT5uYW1lKTsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgkJCglwdWJsaWMgZnVuY3Rpb24gZ2V0TGFiZWwoKQoJewoJCXJldHVybiAkdGhpcy0+Z2V0RnJpZW5kbHlOYW1lKCk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBnZXRUaXBzKCkKCXsKCQlpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWyd0aXBzJ10pKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5zZXR0aW5nc1sndGlwcyddOwoJCX0KCQkvLyBUcnkgdG8gZ2V0IGl0IGZyb20gbGFuZ3VhZ2UgZmlsZQoJCWdsb2JhbCAkZ0NtczsKCQlpZiAoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSkpCgkJewoJCQkvLyBUT0RPOiBUaGlzIHNob3VsZCBiZSBzaG93biBvbmx5IGl0IHRoZSBsYW5nIGtleSBleGlzdHMuLi4KCQkJLy9yZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPmxhbmcoJ3RpcHNfJy4kdGhpcy0+bmFtZSk7CgkJfQoJCXJldHVybiBudWxsOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0SW5wdXQoKQoJewkKCQlpZiAoIWVtcHR5KCR0aGlzLT5pbnB1dCkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPmlucHV0OwoJCX0KCQkKCQlnbG9iYWwgJGdDbXM7CgkJaWYgKGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpKQoJCXsKCQkJc3dpdGNoKCR0aGlzLT50eXBlKQoJCQl7CgkJCQljYXNlICd0ZXh0JzoKCQkJCQlyZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCR0aGlzLT5tb2R1bGVfbmFtZSktPkNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWUoKSwgaXNzZXQoJHRoaXMtPnNldHRpbmdzWydzaXplJ10pPyR0aGlzLT5zZXR0aW5nc1snc2l6ZSddOjgwKTsJCQkJCgkJCQljYXNlICdoaWRkZW4nOgoJCQkJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRIaWRkZW4oJHRoaXMtPmlkLCAkdGhpcy0+bmFtZSwgJHRoaXMtPmdldFZhbHVlKCkpOwoJCQkJY2FzZSAnc2VsZWN0JzoKCQkJCQlyZXR1cm4gc2VsZjo6Q3JlYXRlU2VsZWN0b3IoJHRoaXMtPmlkLCAkdGhpcy0+bmFtZSwgJHRoaXMtPmdldFZhbHVlcygpLCAkdGhpcy0+c2V0dGluZ3MpOwoJCQkJY2FzZSAnY2hlY2tib3gnOgoJCQkJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAnMScsIChpbnRlZ2VyKSR0aGlzLT5nZXRWYWx1ZSgpKTsKCQkJCWNhc2UgJ3RleHRhcmVhJzoKCQkJCQlpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydzaG93X3d5c2l3eWcnXSkgJiYgJHRoaXMtPnNldHRpbmdzWydzaG93X3d5c2l3eWcnXSA9PSB0cnVlKQoJCQkJCXsKCQkJCQkJcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkdGhpcy0+aWQsICR0aGlzLT5nZXRWYWx1ZSgpLCAkdGhpcy0+bmFtZSk7CQkJCQkJCgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlVGV4dEFyZWEoCgkJCQkJCQlmYWxzZSwKCQkJCQkJCSR0aGlzLT5pZCwKCQkJCQkJCSR0aGlzLT5nZXRWYWx1ZSgpLCAKCQkJCQkJCSR0aGlzLT5uYW1lLAoJCQkJCQkJaXNzZXQoJHRoaXMtPnNldHRpbmdzWydjbGFzc25hbWUnXSk/JHRoaXMtPnNldHRpbmdzWydjbGFzc25hbWUnXTonJywKCQkJCQkJCWlzc2V0KCR0aGlzLT5zZXR0aW5nc1snaHRtbGlkJ10pPyR0aGlzLT5zZXR0aW5nc1snaHRtbGlkJ106JycsCgkJCQkJCQlpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2VuY29kaW5nJ10pPyR0aGlzLT5zZXR0aW5nc1snZW5jb2RpbmcnXTonJywKCQkJCQkJCWlzc2V0KCR0aGlzLT5zZXR0aW5nc1snc3R5bGVzaGVldCddKT8kdGhpcy0+c2V0dGluZ3NbJ3N0eWxlc2hlZXQnXTonJywKCQkJCQkJCWlzc2V0KCR0aGlzLT5zZXR0aW5nc1snY29scyddKT8kdGhpcy0+c2V0dGluZ3NbJ2NvbHMnXTonODAnLAoJCQkJCQkJaXNzZXQoJHRoaXMtPnNldHRpbmdzWydyb3dzJ10pPyR0aGlzLT5zZXR0aW5nc1sncm93cyddOicxNScsCQkJCQkJCgkJCQkJCQlpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ2ZvcmNld3lzaXd5ZyddKT8kdGhpcy0+c2V0dGluZ3NbJ2ZvcmNld3lzaXd5ZyddOicnLAkJCQkJCgkJCQkJCQlpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3dhbnRlZHN5bnRheCddKT8kdGhpcy0+c2V0dGluZ3NbJ3dhbnRlZHN5bnRheCddOicnLAkJCQkJCQoJCQkJCQkJaXNzZXQoJHRoaXMtPnNldHRpbmdzWydhZGR0ZXh0J10pPyR0aGlzLT5zZXR0aW5nc1snYWRkdGV4dCddOicnCQkKCQkJCQkJCSk7CgkJCQkJfQoJCQkJY2FzZSAnY29kZWFyZWEnOgoJCQkJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlU3ludGF4QXJlYSgkdGhpcy0+aWQsICR0aGlzLT5nZXRWYWx1ZSgpLCAkdGhpcy0+bmFtZSwncGFnZWJpZ3RleHRhcmVhJywgJycsJycsICcnLCA5MCwgMTUpOwoJCQkJY2FzZSAndGltZSc6CgkJCQkJcmV0dXJuIHNlbGY6OkNyZWF0ZVRpbWVTZWxlY3QoJHRoaXMtPmlkLCR0aGlzLT5uYW1lLCR0aGlzLT5nZXRWYWx1ZXMoKSk7CgkJCQljYXNlICdkYXRlJzoKCQkJCQlyZXR1cm4gc2VsZjo6Q3JlYXRlRGF0ZVNlbGVjdCgkdGhpcy0+aWQsJHRoaXMtPm5hbWUsJHRoaXMtPmdldFZhbHVlcygpLCAkdGhpcy0+c2V0dGluZ3MpOwoJCQkJY2FzZSAncGFnZXMnOgoJCQkJCSR0aGlzLT5zZXR0aW5nc1sndmFsdWVzJ10gPSBhcnJheSgwID0+ICcmbGFxdW87ICcgLiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU0Zvcm1zJyktPmxhbmcoJ3NlbGVjdCBvbmUnKSAuICcgJnJhcXVvOycpICsgc2VsZjo6Z2V0UGFnZXNMaXN0KCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsJHRoaXMtPmdldFZhbHVlKCksICR0aGlzLT5zZXR0aW5ncyk7OwoJCQkJCXJldHVybiBzZWxmOjpDcmVhdGVTZWxlY3RvcigkdGhpcy0+aWQsICR0aGlzLT5uYW1lLCAkdGhpcy0+Z2V0VmFsdWVzKCksICR0aGlzLT5zZXR0aW5ncyk7CgoJCQkJY2FzZSAnc3RhdGljJzoKCQkJCQlyZXR1cm4gJHRoaXMtPmdldFZhbHVlKCk7CgkJCQljYXNlICdmaWxlJzoKCQkJCQlyZXR1cm4gJHRoaXMtPmdldFVwbG9hZEZpZWxkKCk7CgkJCQljYXNlICdwYXNzd29yZCc6CgkJCQkJcmV0dXJuIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICR0aGlzLT5nZXRWYWx1ZSgpCgkJCQkJLGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snc2l6ZSddKT8kdGhpcy0+c2V0dGluZ3NbJ3NpemUnXToyMCk7CgkJCQlkZWZhdWx0OgoJCQkJCXJldHVybiBudWxsOwoJCQl9CgkJfQoJCXJldHVybiBudWxsOwoJCQoJfQoJCgkvLyBQUk9DRVNTCgkKCXB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzKCRzYXZlID0gdHJ1ZSkKCXsKCQkvLyBWYWxpZGF0ZQoJCSR0aGlzLT52YWxpZGF0ZSgpOwoJCQoJCS8vIFNhdmUgdmFsdWVzCgkJaWYgKCRzYXZlID09IHRydWUpCgkJewoJCQkkdGhpcy0+c2F2ZSgpOwoJCX0KCX0KCQoJLy8gVkFMSURBVElPTgoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gdmFsaWRhdGUoKQoJewoJCWlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXSkgJiYgaXNfYXJyYXkoJHRoaXMtPnNldHRpbmdzWyd2YWxpZGF0b3JzJ10pKQoJCXsKCQkJLy92YXJfZHVtcCgkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXSk7CgkJCS8vIENIQU5HRSBUSEFUCgkJCQoJCQlmb3JlYWNoICgkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXSBhcyAkdmFsaWRhdG9yID0+ICR2YWx1ZSkKCQkJewoJCQkJJHZhbGlkYXRlID0gbmV3IENNU0Zvcm1WYWxpZGF0b3IoJHRoaXMsJHZhbGlkYXRvciwkdmFsdWUpOwoJCQkJdHJ5CgkJCQl7CgkJCQkJaWYoJHZhbGlkYXRlLT5jaGVjaygpID09PSBmYWxzZSkgJHRoaXMtPmlzX3ZhbGlkID0gZmFsc2U7CgkJCQl9CgkJCQljYXRjaChFeGNlcHRpb24gJGUpCgkJCQl7CgkJCQkJJHRoaXMtPnNldEVycm9yKCRlLT5nZXRNZXNzYWdlKCksICdmb3JtIGVycm9yJyk7CgkJCQl9CgkJCQkKCQkJfQoJCX0KCX0KCQoJcHVibGljIGZ1bmN0aW9uIGlzVmFsaWQoKQoJewoJCWlmICgoJHRoaXMtPmlzX3ZhbGlkID09IGZhbHNlICkgfHwgJHRoaXMtPmhhc0Vycm9ycygpKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGFkZFZhbGlkYXRvcigkdmFsaWRhdG9yLCAkcGFyYW1zID0gYXJyYXkoKSkKCXsKCQkkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXVskdmFsaWRhdG9yXSA9ICRwYXJhbXM7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiByZW1vdmVWYWxpZGF0b3IoJHZhbGlkYXRvcikKCXsKCQl1bnNldCgkdGhpcy0+c2V0dGluZ3NbJ3ZhbGlkYXRvcnMnXVskdmFsaWRhdG9yXSk7Cgl9CgkKCS8vIFNBVkUKCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNhdmUoKQoJewoJCWlmKCR0aGlzLT5pc1ZhbGlkKCkgPT0gdHJ1ZSkKCQl7CgkJCWlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSkKCQkJewoJCQkJJHRoaXMtPnNhdmVPYmplY3QoKTsKCQkJfQoJCQlpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pKQoJCQl7CgkJCQkkdGhpcy0+c2F2ZVByZWZlcmVuY2UoKTsKCQkJfQoJCX0KCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNhdmVPYmplY3QoKQoJewoJCWlmKGlzX29iamVjdCgkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddKSAmJiAkdGhpcy0+dHlwZSAhPSAnZmlsZScpCgkJewoJCQkvLyBUaGlzIGRvIG5vdCBzYXZlIHRoZSBvYmplY3Qgc3RhdGUsIHNvIHdlIGhhdmUgdG8gZG8gaXQgb3V0c2lkZSB0aGUgZm9ybQoKCQkJaWYgKCR0aGlzLT50eXBlID09ICdkYXRlJykKCQkJewoJCQkJLy8kdmFsdWVzID0gJHRoaXMtPnZhbHVlczsgQWx3YXlzIHNhdmUgaXQgYXMgYSBzdHJpbmcKCQkJCWlmIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpCgkJCQl7CQkJCQkKCQkJCQkkdmFsdWVzID0gJHRoaXMtPnZhbHVlc1snMCddIC4gJy0nIC4gJHRoaXMtPnZhbHVlc1snMSddIC4gJy0nIC4gJHRoaXMtPnZhbHVlc1snMiddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSR2YWx1ZXMgPSAkdGhpcy0+Z2V0VmFsdWUoKTsKCQkJCX0KCQkJfQoJCQllbHNlaWYgKCR0aGlzLT50eXBlID09ICd0aW1lJykKCQkJewoJCQkJLy8kdmFsdWVzID0gJHRoaXMtPnZhbHVlczsgQWx3YXlzIHNhdmUgaXQgYXMgYSBzdHJpbmcKCQkJCWlmIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpCgkJCQl7CQkJCQkKCQkJCQkkdmFsdWVzID0gJHRoaXMtPnZhbHVlc1snMCddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMSddIC4gJzonIC4gJHRoaXMtPnZhbHVlc1snMiddOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSR2YWx1ZXMgPSAkdGhpcy0+Z2V0VmFsdWUoKTsKCQkJCX0KCQkJfQoJCQllbHNlCgkJCXsKCQkJCSR2YWx1ZXMgPSAkdGhpcy0+Z2V0VmFsdWUoKTsKCQkJfQkJCgkJCgkJCWlmIChpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3NldF9tZXRob2QnXSkpCgkJCXsKCQkJCSR0aGlzLT5zZXR0aW5nc1snb2JqZWN0J10tPnskdGhpcy0+c2V0dGluZ3NbJ3NldF9tZXRob2QnXX0oJHZhbHVlcyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQlpZiAoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydmaWVsZF9uYW1lJ10pKQoJCQkJewoJCQkJCSRuYW1lID0gJHRoaXMtPnNldHRpbmdzWydmaWVsZF9uYW1lJ107CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJG5hbWUgPSAkdGhpcy0+bmFtZTsKCQkJCX0KCQkJCQoJCQkJaWYobWV0aG9kX2V4aXN0cygkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddLCAnc2V0JykpCgkJCQl7CQkKCQkJCQkkdGhpcy0+c2V0dGluZ3NbJ29iamVjdCddLT5zZXQoJG5hbWUsICR2YWx1ZXMpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXRyeQoJCQkJCXsKCQkJCQkJJHRoaXMtPnNldHRpbmdzWydvYmplY3QnXS0+JG5hbWUgPSAkdmFsdWVzOwoJCQkJCX0KCQkJCQljYXRjaChFeGNlcHRpb24gJGUpCgkJCQkJewoJCQkJCQlkaWUoJ3VuYWJsZSB0byBkbycpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJCgkJCX0KCQl9Cgl9CgkKCXByb3RlY3RlZCBmdW5jdGlvbiBzYXZlUHJlZmVyZW5jZSgpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPnNldHRpbmdzWydwcmVmZXJlbmNlJ10pICYmICFpc3NldCgkX1JFUVVFU1RbJHRoaXMtPmlkLidjYW5jZWwnXSkpCgkJewoJCQkvLyBDaGVjayBpZiB0aGVyZSBpcyBubyBjYW5jZWwgYnV0dG9uIGZpcnN0IGJlY2F1c2Ugd2Ugc2F2ZSB0aGUgdmFsdWUgZGlyZWN0bHkgIQoJCQlnbG9iYWwgJGdDbXM7CgkJCWNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5zZXRQcmVmZXJlbmNlKCR0aGlzLT5zZXR0aW5nc1sncHJlZmVyZW5jZSddLCAkdGhpcy0+Z2V0VmFsdWUoKSk7CgkJfQoJfQoJCgkvLyBBQ0NFU1MKCQoJcHVibGljIGZ1bmN0aW9uIGdldFZhbHVlKCkKCXsKCQlpZiAoKCR0aGlzLT50eXBlID09ICdkYXRlJykgJiYgIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpKQoJCXsKCQkJcmV0dXJuICR0aGlzLT52YWx1ZXNbJzAnXSAuICctJyAuICR0aGlzLT52YWx1ZXNbJzEnXSAuICctJyAuICR0aGlzLT52YWx1ZXNbJzInXTsKCQl9CQoJCWVsc2VpZiAoKCR0aGlzLT50eXBlID09ICd0aW1lJykgJiYgIChjb3VudCgkdGhpcy0+dmFsdWVzKSA+IDEpKQoJCXsKCQkJcmV0dXJuICR0aGlzLT52YWx1ZXNbJzAnXSAuICc6JyAuICR0aGlzLT52YWx1ZXNbJzEnXSAuICc6JyAuICR0aGlzLT52YWx1ZXNbJzInXTsKCQl9CgkJZWxzZWlmIChjb3VudCgkdGhpcy0+dmFsdWVzKSA9PSAxKQoJCXsKCQkJcmVzZXQoJHRoaXMtPnZhbHVlcyk7CgkJCXJldHVybiAoc3RyaW5nKSBjdXJyZW50KCR0aGlzLT52YWx1ZXMpOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gKHN0cmluZykgaW1wbG9kZSgnfHx8JywkdGhpcy0+dmFsdWVzKTsKCQl9CQkKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNldFZhbHVlKCR2YWx1ZSwgJGtleSA9IDApCgl7CgkJJHRoaXMtPnZhbHVlc1ska2V5XSA9IChzdHJpbmcpJHZhbHVlOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0VmFsdWVzKCkKCXsKCQlyZXR1cm4gJHRoaXMtPnZhbHVlczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNldFZhbHVlcygkdmFsdWVzID0gYXJyYXkoKSkKCXsKCQlpZiAoaXNfYXJyYXkoJHZhbHVlcykpCgkJewoJCQkkdGhpcy0+dmFsdWVzID0gJHZhbHVlczsKCQl9CgkJZWxzZWlmIChzdHJwb3MoJHZhbHVlcywgJ3x8fCcpICE9PSBmYWxzZSkKCQl7CgkJCSR0aGlzLT52YWx1ZXMgPSBleHBsb2RlKCd8fHwnLCAkdmFsdWVzKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPnZhbHVlc1swXSA9ICR2YWx1ZXM7CgkJfQkJCgl9CQoJCglwdWJsaWMgZnVuY3Rpb24gc2V0RGVmYXVsdFZhbHVlcygkdmFsdWVzKQoJewoJCWlmIChpc19hcnJheSgkdmFsdWVzKSkKCQl7CgkJCSR0aGlzLT52YWx1ZXMgPSAkdmFsdWVzOwoJCX0KCQllbHNlCgkJewoJCQkkdGhpcy0+dmFsdWVzID0gYXJyYXkoJHZhbHVlcyk7CgkJfQoJfQoJCQoJcHVibGljIGZ1bmN0aW9uIGlzRW1wdHkoKQoJewoJCWlmICgoY291bnQoJHRoaXMtPnZhbHVlcykgPT0gMSkgJiYgKGVtcHR5KCR0aGlzLT52YWx1ZXNbMF0pKSB8fCAoY291bnQoJHRoaXMtPnZhbHVlcykgPT0gMCkpCgkJCXJldHVybiB0cnVlOwoJCQlyZXR1cm4gZmFsc2U7Cgl9CgkJCglwdWJsaWMgZnVuY3Rpb24gZ2V0U3RyaW5nVmFsdWUoKQoJewoJCS8vREVQUkVDQVRFRAoJCXJldHVybiAkdGhpcy0+Z2V0VmFsdWUoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZ2V0VmFsdWVzVG9TdHJpbmcoKQoJewoJCS8vIERFUFJFQ0FURUQKCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+Z2V0VmFsdWUoKTsKCX0KCQoJCglwdWJsaWMgZnVuY3Rpb24gaXNFbXB0eVZhbHVlcygpCgl7CgkJLy9ERVBSRUNBVEVECgkJCgkJaWYgKGlzX2FycmF5KCR0aGlzLT52YWx1ZXMpKQoJCXsKCQkJcmV0dXJuICR0aGlzLT5pc0VtcHR5KCk7CgkJfQoJCWVsc2VpZihlbXB0eSgkdGhpcy0+dmFsdWVzKSkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCQoJLy8gRElWRVJTCgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0RmllbGRzTGlzdCgpCgl7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvcmVhY2goc2VsZjo6JGZpZWxkcyBhcyAkdHlwZSA9PiAkZmllbGQpCgkJewoJCQkkbGlzdFskdHlwZV0gPSAkZmllbGRbJ3RpdGxlJ107CgkJfQoJCXJldHVybiAkbGlzdDsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRBZG9UeXBlKCR0eXBlKQoJewoJCWlmIChpc3NldChzZWxmOjokZmllbGRzWyR0eXBlXVsnYWRvJ10pKQoJCXsKCQkJcmV0dXJuIHNlbGY6OiRmaWVsZHNbJHR5cGVdWydhZG8nXTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICdDKDI1NSknOyAvLyBCZXR0ZXIgdGhhbiBub3RoaW5nLi4uCgkJfQoJfQoJCQkJCglwdWJsaWMgZnVuY3Rpb24gZ2V0VXBsb2FkRmllbGQoKQoJewoJCWdsb2JhbCAkZ0NtczsKCQkkZmllbGQgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+Q3JlYXRlSW5wdXRGaWxlKCR0aGlzLT5pZCwgJHRoaXMtPm5hbWUsICcnLCBpc3NldCgkdGhpcy0+c2V0dGluZ3NbJ3NpemUnXSk/JHRoaXMtPnNldHRpbmdzWydzaXplJ106MzApOwoJCSRodG1sID0gJzxzcGFuPic7CgkJaWYgKCEkdGhpcy0+aXNFbXB0eSgpKQoJCXsKCQkJJGZpbGVfdXJsID0gaXNzZXQoJHRoaXMtPnNldHRpbmdzWydiYXNlX3VybCddKT8kdGhpcy0+c2V0dGluZ3NbJ2Jhc2VfdXJsJ106Jyc7CgkJCWlmICgoc3Vic3RyKCRmaWxlX3VybCwgLTEpICE9ICcvJykgJiYgKHN1YnN0cigkdGhpcy0+Z2V0VmFsdWUoKSwwLDEpICE9ICcvJykpICRmaWxlX3VybCAuJy8nOwoJCQkkZmlsZV91cmwgLj0gJHRoaXMtPmdldFZhbHVlKCk7CgkJCQoJCQlpZiAoc2VsZjo6aXNJbWFnZSgkdGhpcy0+Z2V0VmFsdWUoKSkpCgkJCXsKCQkJCSR0ZXh0ID0gJzxpbWcgc3JjPSInLiRmaWxlX3VybC4nIiAvPic7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGV4dCA9IGJhc2VuYW1lKCR0aGlzLT52YWx1ZXNbMF0pOwoJCQl9CgkJCQoJCQkkaHRtbCAuPSAnPHNwYW4gc3R5bGU9ImRpc3BsYXk6YmxvY2s7IG1hcmdpbi1ib3R0b206IDdweDsiPjxhIGhyZWY9IicuJGZpbGVfdXJsLiAnIiByZWw9ImV4dGVybmFsIiA+Jy4gJHRleHQgLic8L2E+PC9zcGFuPiAnOwoJCQkKCQkJaWYgKGlzc2V0KCR0aGlzLT5zZXR0aW5nc1snZGVsZXRlX2NoZWNrYm94J10pKQoJCQl7CgkJCQkkZmllbGQgLj0gJyAnIC4gIGNtc191dGlsczo6Z2V0X21vZHVsZSgkdGhpcy0+bW9kdWxlX25hbWUpLT5DcmVhdGVJbnB1dENoZWNrYm94KCR0aGlzLT5pZCwgJHRoaXMtPnNldHRpbmdzWydkZWxldGVfY2hlY2tib3gnXSwgJzEnKSAuICcgJyAuICBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJHRoaXMtPm1vZHVsZV9uYW1lKS0+bGFuZygnZGVsZXRlJyk7CgkJCX0KCQl9CgkJCgkKCQkKCQkkaHRtbCAuPSAkZmllbGQgLiAnPC9zcGFuPic7CgkJcmV0dXJuICRodG1sOwoJfQoJCgkvLyBUb29scwoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldFBhZ2VzTGlzdCgkaWQsJG5hbWUsJHZhbHVlLCRzZXR0aW5ncyA9IGFycmF5KCkpCgl7CgkJZ2xvYmFsICRnQ21zOwoJCSRwYWdlcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXRBbGxDb250ZW50KCk7CgkJJGFycmF5ID0gYXJyYXkoKTsKCQkKCQlpZiAoaXNzZXQoJHNldHRpbmdzWydjaGlsZHJlbm9mJ10pKQoJCXsKCQkJJGNoaWxkcmVub2YgPSBzZWxmOjpnZXRQYWdlSWQoJHNldHRpbmdzWydjaGlsZHJlbm9mJ10pOwoJCX0KCQoJCWlmIChpc3NldCgkc2V0dGluZ3NbJ3N0YXJ0X3BhZ2UnXSkpCgkJewoJCQkkc3RhcnRfcGFnZSA9IHNlbGY6OmdldFBhZ2VJZCgkc2V0dGluZ3NbJ3N0YXJ0X3BhZ2UnXSk7CgkJfQoJCQoJCWZvcmVhY2goJHBhZ2VzIGFzICRwYWdlKQoJCXsKCQkJaWYgKAoJCQkJKCFpc3NldCgkc3RhcnRfcGFnZSkgJiYgIWlzc2V0KCRjaGlsZHJlbm9mKSkgCgkJCQl8fAoJCQkJKGlzc2V0KCRjaGlsZHJlbm9mKSAmJiAoJHBhZ2UtPlBhcmVudElkKCkgPT0gJGNoaWxkcmVub2YpKSAvLyBMaXN0IG9mIGFsbCBjaGlsZHJlbnMKCQkJCXx8CgkJCQkoaXNzZXQoJHN0YXJ0X3BhZ2UpICYmIChzdHJwb3MoJHBhZ2UtPklkSGllcmFyY2h5KCksICRzdGFydF9wYWdlLicuJykgPT09IDApKSAvLyBMaXN0IG9mIGFsbCBkZXNjZW5kYW50cwoJCQkJKQoJCQl7CgkJCQkkYXJyYXlbJHBhZ2UtPklkKCldID0gJHBhZ2UtPkhpZXJhcmNoeSgpLicuIC0gJy4kcGFnZS0+TmFtZSgpOwoJCQl9CgkJCQoJCX0KCQkJCQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0UGFnZUlkKCRhbGlhcykKCXsKCQlnbG9iYWwgJGdDbXM7CgkJJG1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRhbGlhcyk7CiAgICBpZiAoJG5vZGUpIHsKICAgICAgICAkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CiAgICAgICAgaWYgKCRjb250ZW50KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuICRjb250ZW50LT5JZCgpOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRhbGlhcyk7CiAgICAgICAgaWYgKCRub2RlKSB7CgkJCQkJcmV0dXJuICRhbGlhczsKICAgICAgICB9CiAgICB9CgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlUGFnZVNlbGVjdCgkaWQsJG5hbWUsJHZhbHVlLCRzZXR0aW5ncyA9IGFycmF5KCkpCgl7CgkJZ2xvYmFsICRnQ21zOwoJCSRwYWdlcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXRBbGxDb250ZW50KCk7CgkJCgkJJGh0bWwgPSAnPHNlbGVjdCBuYW1lPSInLiRpZC4kbmFtZS4nIj48b3B0aW9uPicuJGdDbXMtPm1vZHVsZXNbJ0NNU0Zvcm1zJ11bJ29iamVjdCddLT5sYW5nKCdzZWxlY3Qgb25lJykuJzwvb3B0aW9uPic7CgkJCgkJZm9yZWFjaCgkcGFnZXMgYXMgJHBhZ2UpCgkJewoJCQkkaHRtbCAuPSAnPG9wdGlvbiB2YWx1ZT0iJyAuICRwYWdlLT5JZCgpIC4gJyInOwoJCQkKCQkJaWYoJHZhbHVlID09ICRwYWdlLT5JZCgpKQoJCQl7CgkJCQkkaHRtbCAuPSAnIHNlbGVjdGVkPSJzZWxlY3RlZCInOwoJCQl9CQkJCgkJCQoJCQkkaHRtbCAuPSAnPicgLiAkcGFnZS0+SGllcmFyY2h5KCkuJy4gLSAnLiRwYWdlLT5OYW1lKCkgLiAnPC9vcHRpb24+JzsKCQl9CgkJCgkJJGh0bWwgLj0gJzwvc2VsZWN0Pic7CQkKCQkKCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlRGF0ZVNlbGVjdCgkaWQsJG5hbWUsJHZhbHVlcywkc2V0dGluZ3MpCgl7CgkJaWYgKGNvdW50KCR2YWx1ZXMpID09IDEpCgkJewoJCQlpZiAoc3RycG9zKCR2YWx1ZXNbMF0sICctJykgIT09IGZhbHNlKSAkdmFsdWVzID0gZXhwbG9kZSgnLScsJHZhbHVlc1swXSk7CgkJfQoJCSRzdGFydF95ZWFyID0gaXNzZXQoJHNldHRpbmdzWydzdGFydF95ZWFyJ10pPyRzZXR0aW5nc1snc3RhcnRfeWVhciddOmRhdGUoJ1knKTsKCQkkbnVtYmVyX3llYXJzID0gaXNzZXQoJHNldHRpbmdzWydudW1iZXJfeWVhcnMnXSk/JHNldHRpbmdzWydudW1iZXJfeWVhcnMnXToyMDsKCQkkZW5kX3llYXIgPSAkc3RhcnRfeWVhciArICRudW1iZXJfeWVhcnM7CgkJCgkJJHllYXIgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMF0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoJGVuZF95ZWFyLCRzdGFydF95ZWFyKSxhcnJheSgkdmFsdWVzWzBdKSwxLCcnLGZhbHNlKTsKCQkkbW9udGggPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMV0nLHNlbGY6OkNyZWF0ZU1vbnRoc0xpc3QoKSxhcnJheSgkdmFsdWVzWzFdKSwxLCcnLGZhbHNlKTsKCQkkZGF5ID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzJdJyxzZWxmOjpDcmVhdGVOdW1iZXJMaXN0KDMxLDEpLGFycmF5KCR2YWx1ZXNbMl0pLDEsJycsZmFsc2UpOwoJCWlmIChpc3NldCgkc2V0dGluZ3NbJ2V1cm9wZWFuX2RhdGUnXSkpCgkJewoJCQlyZXR1cm4gJGRheSAuICRtb250aCAuICR5ZWFyOwoJCX0KCQlyZXR1cm4gJHllYXIgLiAkbW9udGggLiAkZGF5OwoJfQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENyZWF0ZVRpbWVTZWxlY3QoJGlkLCRuYW1lLCR2YWx1ZXMpCgl7CgkJaWYgKGNvdW50KCR2YWx1ZXMpID09IDEpCgkJewoJCQlpZiAoc3RycG9zKCR2YWx1ZXNbMF0sICc6JykgIT09IGZhbHNlKSAkdmFsdWVzID0gZXhwbG9kZSgnOicsJHZhbHVlc1swXSk7CgkJfQoJCSRob3VycyA9IHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJG5hbWUuJ1swXScsc2VsZjo6Q3JlYXRlTnVtYmVyTGlzdCgyMyksYXJyYXkoJHZhbHVlc1swXSksMSwnJyxmYWxzZSk7CgkJJG1pbnV0ZXMgPSBzZWxmOjpDcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCRuYW1lLidbMV0nLHNlbGY6OkNyZWF0ZU51bWJlckxpc3QoNTkpLGFycmF5KCR2YWx1ZXNbMV0pLDEsJycsZmFsc2UpOwoJCSRzZWNvbmRzID0gc2VsZjo6Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwkbmFtZS4nWzJdJyxzZWxmOjpDcmVhdGVOdW1iZXJMaXN0KDU5KSxhcnJheSgkdmFsdWVzWzJdKSwxLCcnLGZhbHNlKTsKCQlyZXR1cm4gJGhvdXJzIC4gJyA6ICcgLiAkbWludXRlcyAuICcgOiAnIC4gJHNlY29uZHM7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDcmVhdGVNb250aHNMaXN0KCkKCXsKCQkkbW9udGhzID0gYXJyYXkoKTsKCQlmb3IgKCRpID0gMTsgJGkgPD0gMTI7ICsrJGkpIHsKCQkJJHQgPSBta3RpbWUoMCwgMCwgMCwgJGksIDEsIDIwMDApOwoJCQkkbW9udGhzWyRpXSA9IGRhdGUoJ00nLCAkdCk7CgkJfQoJCXJldHVybiAkbW9udGhzOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlTnVtYmVyTGlzdCgkZW5kLCAkc3RhcnQ9MCkKCXsKCQlpZiAoKCRlbmQgPCAwKXx8KCFpc19udW1lcmljKCRlbmQpKSkgJGVuZCA9IDE7CgkJJGxpc3QgPSBhcnJheSgpOwoJCWZvciAoJGkgPSAkc3RhcnQ7ICRpIDw9ICRlbmQ7ICRpKyspCgkJewoJCQkkbGlzdFskaV0gPSAoc3RyaW5nKSRpOwoJCX0KCQlyZXR1cm4gJGxpc3Q7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlU2VsZWN0b3IoJGlkLCRuYW1lLCR2YWx1ZXMsJHNldHRpbmdzKQoJewoJCWlmKGlzc2V0KCRzZXR0aW5nc1snZXhwYW5kZWQnXSkgJiYgJHNldHRpbmdzWydleHBhbmRlZCddID09IHRydWUpCgkJewoJCQlyZXR1cm4gc2VsZjo6Q3JlYXRlSW5wdXRFeHBhbmRlZExpc3QoJGlkLCAkbmFtZSwgaXNzZXQoJHNldHRpbmdzWyd2YWx1ZXMnXSk/JHNldHRpbmdzWyd2YWx1ZXMnXTphcnJheSgpLCAkdmFsdWVzLCAnJywgaXNzZXQoJHNldHRpbmdzWydtdWx0aXBsZSddKT90cnVlOmZhbHNlLCAkc2V0dGluZ3MpOwoJCX0KCQllbHNlCgkJewoJCQkkaXRlbXMgPSBpc3NldCgkc2V0dGluZ3NbJ3ZhbHVlcyddKT8kc2V0dGluZ3NbJ3ZhbHVlcyddOmFycmF5KCk7CgkJCWlmKGlzc2V0KCRzZXR0aW5nc1snaW5jbHVkZV9jdXN0b20nXSkpCgkJCXsKCQkJCSRpdGVtcyA9IGFycmF5KCcnID0+ICRzZXR0aW5nc1snaW5jbHVkZV9jdXN0b20nXSkgKyAkaXRlbXM7CgkJCX0KCQkJcmV0dXJuIHNlbGY6OkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICRuYW1lLCAkaXRlbXMsICR2YWx1ZXMsIGlzc2V0KCRzZXR0aW5nc1snc2l6ZSddKT8kc2V0dGluZ3NbJ3NpemUnXToxLCAnJywgaXNzZXQoJHNldHRpbmdzWydtdWx0aXBsZSddKT90cnVlOmZhbHNlKTsKCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gQ3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwgJG5hbWUsICRpdGVtcywgJHNlbGVjdGVkaXRlbXM9YXJyYXkoKSwgJHNpemU9MywgJGFkZHR0ZXh0PScnLCAkbXVsdGlwbGUgPSB0cnVlKQoJewoJICAkaWQgPSBjbXNfaHRtbGVudGl0aWVzKCRpZCk7CgkgICRuYW1lID0gY21zX2h0bWxlbnRpdGllcygkbmFtZSk7CgkgICRzaXplID0gY21zX2h0bWxlbnRpdGllcygkc2l6ZSk7CgkgICRtdWx0aXBsZSA9IGNtc19odG1sZW50aXRpZXMoJG11bHRpcGxlKTsKCQoJCWlmKCRtdWx0aXBsZSA9PSB0cnVlKQoJCXsKCQkJJG5hbWUgLj0gJ1tdJzsKCQl9CgkKCQkkdGV4dCA9ICc8c2VsZWN0IG5hbWU9IicuJGlkLiRuYW1lLiciIGlkPSInLiRpZC4kbmFtZS4nIic7CgkJaWYgKCRhZGR0dGV4dCAhPSAnJykKCQl7CgkJCSR0ZXh0IC49ICcgJyAuICRhZGR0dGV4dDsKCQl9CgkJaWYoICRtdWx0aXBsZSApCgkJICB7CgkJCSR0ZXh0IC49ICcgbXVsdGlwbGU9Im11bHRpcGxlIiAnOwoJCSAgfQoJCSAgCgkJICBpZiAoJHNpemUgPiAxKQoJCSAgewoJCSAgCSR0ZXh0IC49ICcgc2l6ZT0iJy4kc2l6ZS4nIic7CgkJICB9CgkJCgkJJHRleHQgLj0gJz4nOwoJCQoJCSRjb3VudCA9IDA7CgkJZm9yZWFjaCAoJGl0ZW1zIGFzICRrZXk9PiR2YWx1ZSkKCQl7CgkJICBpZiAoaXNfYXJyYXkoJHZhbHVlKSkKCQkgCXsKCQkJCSR0ZXh0IC49ICc8b3B0Z3JvdXAgbGFiZWw9IicgLiAka2V5IC4gJyI+JzsKCQkJCWZvcmVhY2ggKCR2YWx1ZSBhcyAka2V5MiA9PiAkZW50cnkpCgkJCQl7CgkJCQkJJHRleHQgLj0gc2VsZjo6Z2VuZXJhdGVPcHRpb24oJGtleTIsICRlbnRyeSwgJHNlbGVjdGVkaXRlbXMpOwoJCQkJCSRjb3VudCsrOwoJCQkJfQoJCQkJJHRleHQgLj0gJzwvb3B0Z3JvdXA+JzsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSR0ZXh0IC49IHNlbGY6OmdlbmVyYXRlT3B0aW9uKCRrZXksICR2YWx1ZSwgJHNlbGVjdGVkaXRlbXMpOwoJCQkJJGNvdW50Kys7CgkJCX0KCQl9CgkJJHRleHQgLj0gJzwvc2VsZWN0PicuIlxuIjsKCQoJCXJldHVybiAkdGV4dDsKCX0KCQoJcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZU9wdGlvbigka2V5LCAkdmFsdWUsICRzZWxlY3RlZGl0ZW1zKQoJewogIAkvLyBpZiAoaXNfYXJyYXkoJHZhbHVlKSkKICAJLy8gIAl7CiAgCS8vIAkJJGFycmF5ID0gYXJyYXlfc2hpZnQoJHZhbHVlKTsKICAJLy8gCQkka2V5ID0gaW1wbG9kZSgnfCcsYXJyYXlfa2V5cygkYXJyYXkpKTsKICAJLy8gCQkkdmFsdWUgPSBpbXBsb2RlKCd8JywgJGFycmF5KTsKICAJLy8gCX0KCgkJLy8kdmFsdWUgPSBjbXNfaHRtbGVudGl0aWVzKCR2YWx1ZSk7CgkJJHZhbHVlID0gJHZhbHVlOwoKCQkkdGV4dCA9ICc8b3B0aW9uIHZhbHVlPSInLiRrZXkuJyInOwoJCWlmIChpbl9hcnJheSgka2V5LCAkc2VsZWN0ZWRpdGVtcykpCgkJewoJCQkkdGV4dCAuPSAnICcgLiAnc2VsZWN0ZWQ9InNlbGVjdGVkIic7CgkJfQoJCSR0ZXh0IC49ICc+JzsKCQkkdGV4dCAuPSAkdmFsdWU7CgkJJHRleHQgLj0gJzwvb3B0aW9uPic7CgkJCgkJcmV0dXJuICR0ZXh0OwkKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDcmVhdGVJbnB1dEV4cGFuZGVkTGlzdCgkaWQsICRuYW1lLCAkaXRlbXMsICRzZWxlY3RlZGl0ZW1zPWFycmF5KCksICRhZGR0dGV4dD0nJywgJG11bHRpcGxlID0gdHJ1ZSwgJHBhcmFtcyA9IGFycmF5KCkpCgl7CgkJZ2xvYmFsICRnQ21zOwoJICAkaWQgPSBjbXNfaHRtbGVudGl0aWVzKCRpZCk7CgkgICRuYW1lID0gY21zX2h0bWxlbnRpdGllcygkbmFtZSk7CgkgICRtdWx0aXBsZSA9IGNtc19odG1sZW50aXRpZXMoJG11bHRpcGxlKTsKCQoJCSRsaXN0ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRpdGVtcyBhcyAka2V5ID0+ICRpdGVtKQoJCXsKCQkJaWYgKGlzX2FycmF5KCRpdGVtKSkKCQkJewoJCQkJJGxpc3RbXSA9IGFycmF5KCdsYWJlbCcgPT4gJzxzdHJvbmc+JyAuICRrZXkgLiAnPC9zdHJvbmc+JywgJ2lucHV0JyA9PiAnJyk7CgkKCQkJCWZvcmVhY2goJGl0ZW0gYXMgJGtleTIgPT4gJGVudHJ5KQoJCQkJewoJCQkJCSBzZWxmOjpnZW5lcmF0ZUV4cGFuZGVkTGlzdCgkbGlzdCwgJGlkLCAkZW50cnksICRuYW1lLCAka2V5MiwgJHNlbGVjdGVkaXRlbXMsICRtdWx0aXBsZSwgJGFkZHR0ZXh0KTsKCQkJCX0KCQkJCQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJc2VsZjo6Z2VuZXJhdGVFeHBhbmRlZExpc3QoJGxpc3QsICRpZCwgJGl0ZW0sICRuYW1lLCAka2V5LCAkc2VsZWN0ZWRpdGVtcywgJG11bHRpcGxlLCAkYWRkdHRleHQpOwoJCQl9CgkJfQoJCQoJCWlmKGlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgJiYgKCRwYXJhbXNbJ21vZGUnXSA9PSAnaHRtbCcpKQoJCXsKCQkJLy8gVE9ETwoJCQlyZXR1cm4gJ05vdCBpbXBsZW1lbnRlZCB5ZXQnOwoJCX0KCQllbHNlaWYoaXNzZXQoJHBhcmFtc1snbW9kZSddKSAmJiAoJHBhcmFtc1snbW9kZSddID09ICdhcnJheScpKQoJCXsKCQkJcmV0dXJuICRsaXN0OwoJCX0KCQllbHNlCgkJewoJCQkkaHRtbCA9ICcnOwoJCQlpZiAoY291bnQoJGxpc3QpID4gMCkKCQkJewoJCQkJJGh0bWwgLj0gJzx1bD4nOwoJCQkJZm9yZWFjaCgkbGlzdCBhcyAkaXRlbSkKCQkJCXsKCQkJCQkkaHRtbCAuPSAnPGxpPicuJGl0ZW1bJ2lucHV0J10uICcgJy4gJGl0ZW1bJ2xhYmVsJ10gLic8L2xpPic7CgkJCQl9CgkJCQkkaHRtbCAuPSAnPC91bD4nOwoJCQl9CgkJCXJldHVybiAkaHRtbDsKCQl9CgkKCX0KCQoJcHJvdGVjdGVkIHN0YXRpYyBmdW5jdGlvbiBnZW5lcmF0ZUV4cGFuZGVkTGlzdCgmJGxpc3QsICRpZCwgJGl0ZW0sICRuYW1lLCAka2V5LCAkc2VsZWN0ZWRpdGVtcywgJG11bHRpcGxlLCAkYWRkdHRleHQpCgl7CgkJaWYgKGluX2FycmF5KCRrZXksICRzZWxlY3RlZGl0ZW1zKSkKCQl7CgkJCSR0ZXh0ID0gJyBjaGVja2VkPSJjaGVja2VkIicgLiAnICcgLiAkYWRkdHRleHQ7CgkJfQoJCWVsc2UKCQl7CgkJCSR0ZXh0ID0gJyAnIC4gJGFkZHR0ZXh0OwoJCX0KCQkKCQlpZigkbXVsdGlwbGUpCgkJewkJCQkKCQkJJGxpc3RbXSA9IGFycmF5KAoJCQkJJ2xhYmVsJyA9PiAnPGxhYmVsIGZvcj0iJy4kaWQuJG5hbWUuJ1snLiRrZXkuJ10iPicgLiAkaXRlbSAuICc8L2xhYmVsPicsCgkJCQknaW5wdXQnID0+ICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IicuJGlkLiRuYW1lLidbJy4ka2V5LiddIiBpZD0iJy4kaWQuJG5hbWUuJ1snLiRrZXkuJ10iIHZhbHVlPSInLiRrZXkuJyInLiR0ZXh0LicgLz4nCgkJCQkpOwoJCX0KCQllbHNlCgkJewoJCQkkbGlzdFtdID0gYXJyYXkoCgkJCQknbGFiZWwnID0+ICc8bGFiZWwgZm9yPSInLiRpZC4kbmFtZS4ka2V5LiciPicgLiAkaXRlbSAuICc8L2xhYmVsPicsCgkJCQknaW5wdXQnID0+ICc8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IicuJGlkLiRuYW1lLiciIGlkPSInLiRpZC4kbmFtZS4ka2V5LiciIHZhbHVlPSInLiRrZXkuJyInLiR0ZXh0LicgLz4nCgkJCQkpOwoJCX0KCQlyZXR1cm4gJGxpc3Q7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNJbWFnZSgkZmlsZW5hbWUpCgl7CgkJJHZhbGlkX2V4dGVuc2lvbnMgPSBhcnJheSgnanBlZycsJ2pwZycsJ2dpZicsJ3BuZycpOwoJCWlmIChpbl9hcnJheShzZWxmOjpnZXRGaWxlRXh0ZW5zaW9uKCRmaWxlbmFtZSksJHZhbGlkX2V4dGVuc2lvbnMpKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRGaWxlRXh0ZW5zaW9uKCRmaWxlbmFtZSkKCXsKCQkkZmlsZSA9IGV4cGxvZGUoJy4nLCAkZmlsZW5hbWUpOwogIAkJaWYgKGNvdW50KCRmaWxlKSA+IDEpCgkgIAl7CgkgIAkJcmV0dXJuIHN0cnRvbG93ZXIoZW5kKCRmaWxlKSk7CgkgIAl9CgkgIAllbHNlIAoJICAJewoJICAJCXJldHVybiBudWxsOwoJICAJfQoJfQoKCS8vIEVSUk9SUwoJCQoJcHVibGljIGZ1bmN0aW9uIGhhc0Vycm9ycygpCgl7CgkJaWYgKGNvdW50KCR0aGlzLT5mb3JtX2Vycm9ycykgPT0gMCkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBub0Vycm9yKCkKCXsKCQlyZXR1cm4gISR0aGlzLT5oYXNFcnJvcnMoKTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIGdldEVycm9ycygpCgl7CgkJcmV0dXJuICR0aGlzLT5mb3JtX2Vycm9yczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHNob3dFcnJvcnMoKQoJewoJCSRodG1sID0gJyc7CgkJaWYoY291bnQoJHRoaXMtPmZvcm1fZXJyb3JzKSA+IDApCgkJewoJCQkkaHRtbCAuPSAnPHVsIGNsYXNzPSJmb3JtX3dpZGdldF9lcnJvcnMiPic7CgkJCWZvcmVhY2goJHRoaXMtPmZvcm1fZXJyb3JzIGFzICRwcmlvcml0eSA9PiAkZXJyb3JzKQoJCQl7CgkJCQkkaHRtbCAuPSAnPGxpPic7CgkJCQlpZiAoJHRoaXMtPnNob3dfcHJpb3JpdHkpICRodG1sIC49ICc8ZW0gY2xhc3M9ImZvcm1fd2lkZ2V0X2Vycm9yX3ByaW9yaXR5Ij4nLiRwcmlvcml0eS4nPC9lbT4nOwoJCQkJJGh0bWwgLj0gJzx1bD4nOwoJCQkJZm9yZWFjaCgkZXJyb3JzIGFzICRlcnJvcikKCQkJCXsKCQkJCQkkaHRtbCAuPSAnPGxpIGNsYXNzPSJmb3JtX3dpZGdldF9lcnJvcl9tZXNzYWdlIj4nLiRlcnJvci4nPC9saT4nOwoJCQkJfQkJCQkKCQkJCSRodG1sIC49ICc8L3VsPjwvbGk+JzsKCQkJfQoJCQkkaHRtbCAuPSAnPC91bD4nOwoJCX0KCQlyZXR1cm4gJGh0bWw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBzZXRFcnJvcigkbWVzc2FnZSwkcHJpb3JpdHk9J2RlZmF1bHQnKQoJewoJCSR0aGlzLT5mb3JtX2Vycm9yc1skcHJpb3JpdHldW10gPSAkbWVzc2FnZTsKCX0KCQoKCQp9]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin.form.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmb3JtKX0Ke2lmICRmb3JtLT5oYXNFcnJvcnMoKX08ZGl2IHN0eWxlPSJjb2xvcjogcmVkOyI+eyRmb3JtLT5zaG93RXJyb3JzKCl9PC9kaXY+ey9pZn0KCXskZm9ybS0+Z2V0SGVhZGVycygpfQoJCgl7JGZvcm0tPnNob3dXaWRnZXRzKCc8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4lTEFCRUwlOjwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+JUlOUFVUJSA8ZW0+JVRJUFMlPC9lbT48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiIHN0eWxlPSJjb2xvcjogcmVkOyI+JUVSUk9SUyU8L2Rpdj4KCTwvZGl2PicpfQoJCgl7JGZvcm0tPnJlbmRlckZpZWxkc2V0cygnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+JUxBQkVMJTo8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPiVJTlBVVCUgPGVtPiVUSVBTJTwvZW0+PC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZWlucHV0IiBzdHlsZT0iY29sb3I6IHJlZDsiPiVFUlJPUlMlPC9kaXY+Cgk8L2Rpdj4nKX0KCQoJPHA+CgkJeyRmb3JtLT5nZXRCdXR0b25zKCl9Cgk8L3A+Cgl7JGZvcm0tPmdldEZvb3RlcnMoKX0Key9pZn0=]]></data>
	</file>
</module>
